Version 0.4.10 merged with default stable

Fri, 01 May 2020 16:37:31 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 01 May 2020 16:37:31 +0200
branch
stable
changeset 665
4d01937ae7af
parent 521
9d1aa6f3a4da (current diff)
parent 664
17cec1b43923 (diff)

Version 0.4.10 merged with default

config.status file | annotate | diff | comparison | revisions
configure file | annotate | diff | comparison | revisions
configure.ac file | annotate | diff | comparison | revisions
www/js/global-min.js file | annotate | diff | comparison | revisions
www/js/import_ingredients-min.js file | annotate | diff | comparison | revisions
www/js/inv_equipments-min.js file | annotate | diff | comparison | revisions
www/js/inv_fermentables-min.js file | annotate | diff | comparison | revisions
www/js/inv_hops-min.js file | annotate | diff | comparison | revisions
www/js/inv_miscs-min.js file | annotate | diff | comparison | revisions
www/js/inv_suppliers-min.js file | annotate | diff | comparison | revisions
www/js/inv_waters-min.js file | annotate | diff | comparison | revisions
www/js/inv_yeasts-min.js file | annotate | diff | comparison | revisions
www/js/jquery-1.11.1-min.js file | annotate | diff | comparison | revisions
www/js/log_brew-min.js file | annotate | diff | comparison | revisions
www/js/log_co2pressure-min.js file | annotate | diff | comparison | revisions
www/js/log_fermentation-min.js file | annotate | diff | comparison | revisions
www/js/mon_co2meter-min.js file | annotate | diff | comparison | revisions
www/js/mon_fermenter-min.js file | annotate | diff | comparison | revisions
www/js/mon_node-min.js file | annotate | diff | comparison | revisions
www/js/prod_archive_code-min.js file | annotate | diff | comparison | revisions
www/js/prod_archive_date-min.js file | annotate | diff | comparison | revisions
www/js/prod_archive_name-min.js file | annotate | diff | comparison | revisions
www/js/prod_divide-min.js file | annotate | diff | comparison | revisions
www/js/prod_edit-min.js file | annotate | diff | comparison | revisions
www/js/prod_export-min.js file | annotate | diff | comparison | revisions
www/js/prod_impbrew-min.js file | annotate | diff | comparison | revisions
www/js/prod_inprod-min.js file | annotate | diff | comparison | revisions
www/js/prod_new-min.js file | annotate | diff | comparison | revisions
www/js/profile_fermentation-min.js file | annotate | diff | comparison | revisions
www/js/profile_mash-min.js file | annotate | diff | comparison | revisions
www/js/profile_setup-min.js file | annotate | diff | comparison | revisions
www/js/profile_styles-min.js file | annotate | diff | comparison | revisions
www/js/profile_water-min.js file | annotate | diff | comparison | revisions
www/js/rec_edit-min.js file | annotate | diff | comparison | revisions
www/js/rec_export-min.js file | annotate | diff | comparison | revisions
www/js/rec_import-min.js file | annotate | diff | comparison | revisions
www/js/rec_main-min.js file | annotate | diff | comparison | revisions
www/js/rec_new-min.js file | annotate | diff | comparison | revisions
--- a/.hgignore	Fri Oct 18 13:20:35 2019 +0200
+++ b/.hgignore	Fri May 01 16:37:31 2020 +0200
@@ -10,12 +10,12 @@
 www/version.php
 www/config.php
 www/thermferm
+www/website
 www/run/sequence
 
 syntax: glob
 *.o
 */filelist
 icons/*
-tools/*
 www/log/*
 Makefile.bak
--- a/README.design	Fri Oct 18 13:20:35 2019 +0200
+++ b/README.design	Fri May 01 16:37:31 2020 +0200
@@ -7,20 +7,10 @@
 
 -----------------------------------------------------------------------------
 
-TODO:
-
-Export ingredienten naar xml.
-
 Bug:
   Metingen en berekeningen met afgelezen Brix waardes kloppen niet op het eind
   van de vergisting. Gaat vooral fout met de Saison.
-  Eind SG na koken klopt niet als er suiker in de vergisting toegevoegd wordt.
-  In de js code is dit est_og3 en niet est_og, maar est_og3 is niet beschikbaar
-  in de php code.
-
-Wish:
-  Giststarter bereken gist viability. Viability zelf wordt al gebruikt.
-  Giststarter automatisch aantal regels aanpassen bij wijzigen van de hoeveelheden.
+  NOOT: experimentele wijziging is toegevoegd op 5-dec-2019. New Cubic van seanterrill.
 
 Extra:
 
@@ -30,42 +20,36 @@
   beta glucosidase
 Gist typen: Wild yeast, Spontaneous.
 
-Nieuwe velden:
-  pofpos		boolean						POF+ (Phenolic Off Flavor Positive) (Ferulic acid to 4-vinyl-guaiacol)
-  zymocide		int4		none, K1, K2, K28, Klus		zymocide+ (K1,K2,K28 or Klus)  (killer yeast gen) (Alleen in wijngist?)
-  sta1			boolean						Diastatic gen
-  harvest_top   	boolean						Kveik top/bottom harvest
-  harvest_time  	int16						Kveik harvest after nn hours
-  pitch_temperature     float						Kveik pitch temperature
-  bacteria      	boolean						Kveik has bacteria flag
-
 
 Toevoegen Barrel/Oak aging vergisting stap. Wort souring stap.
 
-Add dry-hop toevoegen moment.
-
 Split batch:
- 1. After sparge, before boil.
- 2. After boil, before primary.
- 3. After primary
- 4. After secondary (several dry-hops)
- 5. After lagering (separated packaging)
 
 Split fields:
-divide_type	0:none 1:after mash 2:after boil 3:after primary 4:after secondary 5:after tertiary
+divide_type	0:none 1:after mash 2:after boil 3:after cooling 4:after primary 5:after secondary 6:after tertiary
 divide_size	amount in liters of this part.
+divide_factor	factor size of this part or 1.0
 divide_parts	hoeveel afsplitsingen.
-divide_from	uuid
-Via Export module dialoog  maken, keuze aantal afsplitsels en grootte per stuk. 10 stuks.
-Procedure: Genereer afsplitsels met uniek uuid en moeder uuid. Pas volumes aan na splitspunt.
-Afsplitsels naam aanpassen, code een -n volgnummer toevoegen.
-Daarna, markeer master en reduceer volume na splitspunt.
+divide_part	0=hoofdbatch.
 
-Miscs type: add wood.
+Via Export module dialoog  maken, keuze aantal afsplitsels en grootte per stuk. 10 stuks.	Ok.
+Procedure: Genereer afsplitsels in db_product. Pas alle volumes aan.				Ok.
+Afsplitsels naam aanpassen, code en -n volgnummer toevoegen.					Ok.
+Daarna, markeer master en reduceer volume.							Ok.
+Tot zover werkt het. Probleem, wijzig iets aan ingredienten voor het splitspunt. Alle
+batches moeten dan ook bijgewerkt worden. Logic: in db_product.php test stage tegen divide_type.
+Zolang we wijzigen en het splitspunt is nog niet bereikt, de overige records bijwerken met de
+data tot het splitspunt. Dus check voorgaande stage in geval die ophoogt na edit.
 
-Hop types: Extract IKE.
+View - master alleen wijzigen voor splitspunt.
+     - splitsingen alleen wijzigen na splitspunt.
+
 
-Popups in de editors met rekenhulpjes.
+Hop types: Extract IKE. Tetra hop.
+
+Maischen: volledig infusie en decoctie implementeren zodat ook de Hermann methode kan.
+          Dubbel maischen?
+Stap velden: gemeten pH en SG
 
 
 https://github.com/beerjson/beerjson
--- a/bmsd/Makefile	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/Makefile	Fri May 01 16:37:31 2020 +0200
@@ -1,4 +1,4 @@
-# Makefile for the mbsePi-apps/thermferm.
+# Makefile for the bmsd/bmsd.
 
 include ../Makefile.global
 
@@ -55,11 +55,13 @@
 
 # DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT
 # Dependencies generated by make depend
-mqtt.o: bms.h xutil.h mqtt.h nodes.h fermenters.h co2meters.h
+mqtt.o: bms.h xutil.h mqtt.h nodes.h fermenters.h co2meters.h ispindels.h
 lock.o: lock.h bms.h futil.h
 nodes.o: bms.h xutil.h nodes.h mysql.h
 futil.o: bms.h futil.h
 fermenters.o: bms.h xutil.h fermenters.h mysql.h
+co2meters.o: bms.h xutil.h co2meters.h mysql.h
+ispindels.o: bms.h xutil.h ispindels.h mysql.h nodes.h
 bms.o: bms.h xutil.h futil.h rdconfig.h lock.h mqtt.h mysql.h nodes.h
 xutil.o: bms.h xutil.h
 rdconfig.o: bms.h xutil.h futil.h rdconfig.h
--- a/bmsd/bms.c	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/bms.c	Fri May 01 16:37:31 2020 +0200
@@ -32,7 +32,7 @@
 
 int			my_shutdown = FALSE;
 int			debug = FALSE;
-static pid_t		pgrp, mypid;
+static pid_t		/*pgrp, */mypid;
 char			*Private_Path = NULL;	/* Users data path		*/
 
 extern sys_config       Config;
@@ -133,8 +133,10 @@
 
     while (my_shutdown == FALSE) {
 
-	usleep(100000);
+	usleep(4000000);
 	nodes_check_online();
+	usleep(1000000);
+	ispindel_mysql_check();
     }
     if (debug)
 	fprintf(stdout, "[main] Exit from main loop\n");
@@ -217,9 +219,9 @@
 	 * if the child were to open a terminal, it would become
 	 * associated with that terminal as its control terminal.
 	 */
-	if ((pgrp = setpgid(0, 0)) == -1) {
-	    syslog(LOG_NOTICE, "setpgpid failed");
-	}
+//	if ((pgrp = setpgid(0, 0)) == -1) {
+//	    syslog(LOG_NOTICE, "setpgid failed: %s", strerror(errno));
+//	}
 
 	frk = fork();
 	switch (frk) {
--- a/bmsd/bms.h	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/bms.h	Fri May 01 16:37:31 2020 +0200
@@ -45,7 +45,12 @@
 #include <libxml/encoding.h>
 #include <libxml/xmlwriter.h>
 #include <mosquitto.h>
+#ifdef HAVE_MYSQL_MYSQL_H
 #include <mysql/mysql.h>
+#endif
+#ifdef HAVE_MARIADB_MYSQL_H
+#include <mariadb/mysql.h>
+#endif
 #include <json-c/json.h>
 
 
@@ -53,7 +58,7 @@
 
 
 #define MQTT_NODE_CONTROL	0x0001			///< Show node control
-
+#define LOWBATT			3.3			///< Low battery voltage
 
 
 /**
@@ -100,6 +105,7 @@
     char			*net_address;		///< IPv4 or IPv6 address
     char			*net_ifname;		///< Interface name
     int				net_rssi;		///< RSSI value if wireless.
+    int				interval;		///< Update interval
 } sys_node_list;
 
 
@@ -146,6 +152,7 @@
 {
     ALARM_FLAG_DOOR	= 0x0001,	///< Door open
     ALARM_FLAG_PSU	= 0x0002,	///< PSU problem
+    ALARM_FLAG_BATTERY	= 0x0004,	///< Low battery
     ALARM_FLAG_CHILLER	= 0x0100,	///< Chiller too warm
 } ALARM_FLAGS;
 
@@ -237,7 +244,7 @@
     int		fan_power;		///< Fan power 0 or 100
     uint64_t	fan_usage;		///< Fan usage counter in seconds
     float	setpoint_low;		///< Target temperature low
-    float	setpoint_high;		///< Tarhet temperature high
+    float	setpoint_high;		///< Target temperature high
     char	*mode;			///< Working mode.
     char	*stage;			///< Fermentation stage
     char	*event;			///< Optional event
@@ -275,7 +282,7 @@
 
 
 /**
- * @brief Strcuture holding a co2 pressure log entry.
+ * @brief Structure holding a co2 pressure log entry.
  */
 typedef struct co2meter_log {
     char			*datetime;		///< Date/time stamp
@@ -300,35 +307,25 @@
 } brewer_list;
 
 
-// Make it universal and make it connectable with a fermenter.
+// Make it universal and make it connectable with a beer.
 typedef struct _ispindel_list {
     struct _ispindel_list	*next;
-    char			*uuid;			///< Fixed uuid string
-    char			*name;			///< Name or description (Red iSpindle).
-    char			*beercode;		///< Beer code if in use.
-    float			temperature;		///< Temperature of the beer.
-    float			gravity;		///< Measured gravity
-    							// What nore, battery?
-} ispindel_list;
-
-
-// Hergisting meters.
+    char			*uuid;			///< Fixed uuid string.
+    char			*alias;			///< Alias name.
+    char			*node;			///< Node name received.
+    bool			online;			///< Is considered online.
+    char			*mode;			///< Working mode OFF or ON.
+    uint32_t			alarm;			///< Alarm flags.
+    char			*beercode;              ///< Beer unique code
+    char                        *beername;              ///< Beer name being measured
+    char                        *beeruuid;              ///< Beer uuid being measured
+    float			angle;			///< Tilt angle in degrees
+    float			temperature;		///< Temperature in C
+    float			battery;		///< Battery voltage
+    float			gravity;		///< Gravity in plato?
+    int				interval;		///< Measure interval
+} sys_ispindel_list;
 
-/**
- * @brief Standalone temperature loggers. (Freezers, refrigerators, chambers).
- */
-typedef struct _thb_list {
-    struct _thb_list		*next;
-    char			*uuit;			///< Fixed uuid string
-    char			*name;			///< Name or description
-    char			*beercode;		///< Beer code if needed.
-    float			temperature;		///< Temperature in Celcius
-    float			humidity;		///< Humidity in %
-    float			barometer;		///< Air pressure.
-    float			gps_latitude;		///< GPS latitude
-    float			gps_longitude;		///< GPS longitide
-    float			gps_altitude;		///< GPS altitude
-} thb_list;
 
 
 #endif
--- a/bmsd/co2meters.c	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/co2meters.c	Fri May 01 16:37:31 2020 +0200
@@ -235,9 +235,9 @@
     jobj = json_tokener_parse(payload);
 
     timestamp = time(NULL);
-    log->datetime = malloc(21);
+    log->datetime = malloc(73);
     mytime = localtime(&timestamp);
-    snprintf(log->datetime, 20, "%04d-%02d-%02d %02d:%02d:%02d", 
+    snprintf(log->datetime, 72, "%04d-%02d-%02d %02d:%02d:%02d",
 	mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
 
     if (json_object_object_get_ex(jobj, "metric", &metric)) {
@@ -267,6 +267,21 @@
             syslog(LOG_NOTICE, "MySQL: mysq_store_result error %u (%s))", mysql_errno(con), mysql_error(con));
         } else {
             if ((row = mysql_fetch_row(res_set)) != NULL) {
+		/*
+		 * Ignore when the beer_name or beer_code is not set.
+		 */
+		if ((int)strlen(row[0]) == 0 || (int)strlen(row[1]) == 0) {
+		    if (log->datetime)
+        		free(log->datetime);
+    		    if (log->uuid)
+        		free(log->uuid);
+    		    if (log->node)
+        		free(log->node);
+    		    if (log->alias)
+        		free(log->alias);
+    		    free(log);
+		    return;
+		}
 		log->product_code = xstrcpy(row[0]);
 		log->product_name = xstrcpy(row[1]);
 		log->product_uuid = xstrcpy(row[2]);
--- a/bmsd/fermenters.c	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/fermenters.c	Fri May 01 16:37:31 2020 +0200
@@ -444,9 +444,9 @@
 
     if (json_object_object_get_ex(jobj, "timestamp", &val)) {
 	timestamp = json_object_get_int(val);
-    	log->datetime = malloc(21);
+    	log->datetime = malloc(73);
     	mytime = localtime(&timestamp);
-    	snprintf(log->datetime, 20, "%04d-%02d-%02d %02d:%02d:%02d", 
+    	snprintf(log->datetime, 73, "%04d-%02d-%02d %02d:%02d:%02d",
 	    mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bmsd/ispindels.c	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,241 @@
+/**
+ * @file ispindels.c
+ * @brief Handle ispindels data
+ * @author Michiel Broek <mbroek at mbse dot eu>
+ *
+ * Copyright (C) 2019-2020
+ *
+ * This file is part of the bms (Brewery Management System)
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * bms is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with ThermFerm; see the file COPYING.  If not, write to the Free
+ * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+
+#include "bms.h"
+#include "xutil.h"
+#include "ispindels.h"
+#include "mysql.h"
+#include "nodes.h"
+
+
+sys_ispindel_list	*ispindels = NULL;
+
+extern int		debug;
+extern sys_config       Config;
+extern MYSQL		*con;
+extern MYSQL_RES	*res_set;
+extern MYSQL_ROW	row;
+
+
+
+void ispindel_set(char *node, char *payload)
+{
+    sys_ispindel_list	*ispindel, *tmpp;
+    struct json_object  *jobj, *metric, *val;
+    bool		new_ispindel = true;
+    char		*datetime, buf[65], *line, *logfile;
+    struct tm           *mytime;
+    time_t              timestamp;
+    FILE		*fp;
+
+//    if (debug)
+//    	printf("ispindel_set: %s %s\n", node, payload);
+
+    /*
+     * Search ispindel record in the memory array and use it if found.
+     */
+    if (ispindels) {
+	for (tmpp = ispindels; tmpp; tmpp = tmpp->next) {
+	    if (strcmp(tmpp->node, node) == 0) {
+		new_ispindel = false;
+		ispindel = tmpp;
+		break;
+	    }
+	}
+    }
+
+//    if (debug)
+//    	printf("new_ispindel %s\n", new_ispindel ? "true":"false");
+
+    /*
+     * Allocate new ispindel if not yet known.
+     */
+    if (new_ispindel) {
+	ispindel = (sys_ispindel_list *)malloc(sizeof(sys_ispindel_list));
+	memset(ispindel, 0, sizeof(sys_ispindel_list));
+	ispindel->node = xstrcpy(node);
+	ispindel->mode = xstrcpy((char *)"OFF");
+    }
+
+    if (! ispindel->online) {
+    	ispindel->online = true;
+    	syslog(LOG_NOTICE, "Online ispindel %s mode %s", node, ispindel->mode);
+    }
+
+    /*
+     * Process the JSON formatted payload.
+     * Update only the fields that are found in the payload.
+     */
+    jobj = json_tokener_parse(payload);
+
+    if (json_object_object_get_ex(jobj, "unit", &metric)) {
+	if (json_object_object_get_ex(metric, "uuid", &val)) {
+            if (ispindel->uuid)
+                free(ispindel->uuid);
+            ispindel->uuid = xstrcpy((char *)json_object_get_string(val));
+        }
+	if (json_object_object_get_ex(metric, "alias", &val)) {
+            if (ispindel->alias)
+                free(ispindel->alias);
+            ispindel->alias = xstrcpy((char *)json_object_get_string(val));
+        }
+	if (json_object_object_get_ex(metric, "alarm", &val)) {
+            ispindel->alarm = json_object_get_int(val);
+        }
+	if (json_object_object_get_ex(metric, "interval", &val)) {
+            ispindel->interval = json_object_get_int(val);
+        }
+	if (json_object_object_get_ex(metric, "angle", &val)) {
+            ispindel->angle = json_object_get_double(val);
+        }
+	if (json_object_object_get_ex(metric, "temperature", &val)) {
+            ispindel->temperature = json_object_get_double(val);
+        }
+	if (json_object_object_get_ex(metric, "battery", &val)) {
+            ispindel->battery = json_object_get_double(val);
+        }
+	if (json_object_object_get_ex(metric, "gravity", &val)) {
+            ispindel->gravity = json_object_get_double(val);
+        }
+    }
+
+//    ispindel_dump(ispindel);
+
+    if (new_ispindel) {
+    	if (ispindels == NULL) {
+	    ispindels = ispindel;
+	} else {
+	    for (tmpp = ispindels; tmpp; tmpp = tmpp->next) {
+		if (tmpp->next == NULL) {
+		    tmpp->next = ispindel;
+		    break;
+		}
+	    }
+	}
+	ispindel_mysql_insert(ispindel);
+    } else {
+	ispindel_mysql_update(ispindel);
+    }
+
+    /*
+     * The data is complete, see if we can write a log entry.
+     */
+    if (ispindel->beercode && strlen(ispindel->beercode) && ispindel->beername && strlen(ispindel->beername) &&
+	ispindel->online && (strcmp(ispindel->mode, (char *)"ON") == 0)) {
+	datetime = malloc(72);
+	timestamp = time(NULL);
+	mytime = localtime(&timestamp);
+    	snprintf(datetime, 72, "%04d-%02d-%02d %02d:%02d:%02d",
+        	mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
+
+	line = xstrcpy(datetime);
+    	line = xstrcat(line, (char *)",");
+	snprintf(buf, 64, "%.4f", ispindel->temperature);
+        line = xstrcat(line, buf);
+        line = xstrcat(line, (char *)",");
+	snprintf(buf, 64, "%.5f", ispindel->gravity);
+        line = xstrcat(line, buf);
+        line = xstrcat(line, (char *)",");
+//	snprintf(buf, 64, "%.5f", 1 + (ispindel->gravity / (258.6 - ((ispindel->gravity / 258.2) * 227.1))));
+	snprintf(buf, 64, "%.5f", 1.00001 + (0.0038661 * ispindel->gravity) + (1.3488e-5 * ispindel->gravity * ispindel->gravity) +
+			(4.3074e-8 * ispindel->gravity * ispindel->gravity * ispindel->gravity));
+	line = xstrcat(line, buf);
+        line = xstrcat(line, (char *)",");
+        snprintf(buf, 64, "%.6f", ispindel->battery);
+        line = xstrcat(line, buf);
+        line = xstrcat(line, (char *)",");
+        snprintf(buf, 64, "%.5f", ispindel->angle);
+        line = xstrcat(line, buf);
+        line = xstrcat(line, (char *)",");
+	snprintf(buf, 64, "%d", ispindel->interval);
+        line = xstrcat(line, buf);
+        line = xstrcat(line, (char *)",");
+	line = xstrcat(line, ispindel->uuid);
+
+	/*
+	 * Build logfile name
+	 */
+	logfile = xstrcpy(Config.web_root);
+	logfile = xstrcat(logfile, (char *)"/log/ispindel/");
+	logfile = xstrcat(logfile, ispindel->beercode);
+	logfile = xstrcat(logfile, (char *)" ");
+	logfile = xstrcat(logfile, ispindel->beername);
+	logfile = xstrcat(logfile, (char *)".log");
+
+	fp = fopen(logfile, "a");
+	if (fp) {
+	    fprintf(fp, "%s\n", line);
+	    fclose(fp);
+	} else {
+	    syslog(LOG_NOTICE, "cannot append to `%s'", logfile);
+	}
+
+	free(logfile);
+	logfile = NULL;
+	free(line);
+	line = NULL;
+	free(datetime);
+	datetime = NULL;
+    }
+}
+
+
+
+/*
+ * Process iSpindel MQTT message.
+ */
+void ispindel_birth_data(char *topic, char *payload)
+{
+    char		*message_type, *edge_node;
+
+    strtok(topic, "/"); // ignore namespace
+    strtok(NULL, "/");
+    message_type = strtok(NULL, "/");
+    edge_node = strtok(NULL, "/\0");
+
+    if (strcmp("DBIRTH", message_type) == 0) {
+	ispindel_set(edge_node, payload);
+    }
+}
+
+
+
+void ispindel_dump(sys_ispindel_list *ispindel)
+{
+    if (debug) {
+    	printf("node/alias  %s / %s\n", ispindel->node, ispindel->alias);
+	printf("uuid        %s\n", ispindel->uuid);
+	printf("online      %s\n", ispindel->online ? "yes":"no");
+	printf("mode        %s\n", ispindel->mode);
+	printf("product     %s / %s\n", ispindel->beercode, ispindel->beername);
+        printf("tilt        %.5f\n", ispindel->angle);
+	printf("temperature %.4f\n", ispindel->temperature);
+	printf("battery     %.6f\n", ispindel->battery);
+	printf("gravity     %.5f\n", ispindel->gravity);
+	printf("interval    %d\n", ispindel->interval);
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bmsd/ispindels.h	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,22 @@
+/**
+ * @file ispindels.h
+ */
+
+#ifndef _ISPINDEL_H
+#define _ISPINDEL_H
+
+void ispindel_dump(sys_ispindel_list *ispindel);
+
+/**
+ * @brief Messages received from a iSpindel using the MQTT sender.
+ *        A new node is created if this is the first message of the
+ *        iSpindel, else the last seen time is updated. Then the last
+ *        actual state is recorded. A log line is written when a beer
+ *        is assigned.
+ * @param topic The MQTT topic string, contains the ispindel type and name
+ * @param payload The value for the selected keyword.
+ */
+void ispindel_birth_data(char *topic, char *payload);
+
+
+#endif
--- a/bmsd/mqtt.c	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/mqtt.c	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2017-2019
+ * Copyright (C) 2017-2020
  *   
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -26,6 +26,7 @@
 #include "nodes.h"
 #include "fermenters.h"
 #include "co2meters.h"
+#include "ispindels.h"
 
 
 extern sys_config       Config;
@@ -102,6 +103,9 @@
 	topic = xstrcpy((char *)"mbv1.0/co2meters/#");	// Subscribe to co2meter messages.
 	mosquitto_subscribe(mosq, NULL, topic, 0);
 	free(topic);
+	topic = xstrcpy((char *)"mbv1.0/ispindels/#");  // Subscribe to ispindel messages.
+        mosquitto_subscribe(mosq, NULL, topic, 0);
+        free(topic);
 	topic = NULL;
        	mqtt_status = STATUS_CONNACK_RECVD;
     } else {
@@ -171,6 +175,9 @@
 	    fermenter_log(message->topic, (char *)message->payload);
 	    return;
 	}
+	if (strstr(message->topic, (char *)"fermenters") && strstr(message->topic, (char *)"DCMD")) {
+            return; // just ignore our own commands.
+        }
 	if (strstr(message->topic, (char *)"co2meters") &&  strstr(message->topic, (char *)"DBIRTH")) {
             co2meter_birth_data(message->topic, (char *)message->payload);
             return;
@@ -179,6 +186,10 @@
             co2meter_log(message->topic, (char *)message->payload);
             return;
         }
+	if (strstr(message->topic, (char *)"ispindels") && strstr(message->topic, (char *)"DBIRTH")) {
+	    ispindel_birth_data(message->topic, (char *)message->payload);
+	    return;
+	}
 	syslog(LOG_NOTICE, "MQTT: message callback %s :: %d", message->topic, message->payloadlen);
     } else {
 	if (strstr(message->topic, (char *)"NBIRTH")) {
--- a/bmsd/mysql.c	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/mysql.c	Fri May 01 16:37:31 2020 +0200
@@ -3,7 +3,7 @@
  * @brief MySQL/MariaDB access.
  * @author Michiel Broek <mbroek at mbse dot eu>
  *
- * Copyright (C) 2018-2019
+ * Copyright (C) 2018-2020
  *
  * This file is part of the bms (Brewery Management System)
  *
@@ -36,6 +36,7 @@
 extern sys_node_list		*nodes;
 extern sys_fermenter_list	*fermenters;
 extern sys_co2meter_list	*co2meters;
+extern sys_ispindel_list	*ispindels;
 extern int              	debug;
 
 
@@ -62,7 +63,8 @@
     sys_node_list	*node, *tmpp;
     sys_fermenter_list	*fermenter, *tmpf;
     sys_co2meter_list	*co2meter, *tmpc;
-    int			ccnt = 0, ncnt = 0, fcnt = 0;
+    sys_ispindel_list   *ispindel, *tmpi;
+    int			icnt = 0, ccnt = 0, ncnt = 0, fcnt = 0;
 
     con = mysql_init(NULL);
     if (con == NULL) {
@@ -97,7 +99,7 @@
 		node->next          = NULL;
 		node->uuid          = xstrcpy(row[1]);
 		node->node          = xstrcpy(row[2]);
-		node->online        = false;	// Will be set using MQTT
+		node->online        = atoi(row[3]);
 		node->group_id      = xstrcpy(row[4]);
 		node->hardwaremake  = xstrcpy(row[5]);
 		node->hardwaremodel = xstrcpy(row[6]);
@@ -115,6 +117,7 @@
 		node->net_address   = xstrcpy(row[18]);
 		node->net_ifname    = xstrcpy(row[19]);
 		node->net_rssi      = atoi(row[20]);
+		node->interval      = atoi(row[21]);
 
 		if (nodes == NULL) {
 		    nodes = node;
@@ -146,7 +149,7 @@
 		fermenter->uuid     = xstrcpy(row[1]);
 		fermenter->alias    = xstrcpy(row[2]);
 		fermenter->node     = xstrcpy(row[3]);
-		fermenter->online   = false;	// Will be set later
+		fermenter->online   = atoi(row[4]);
 		fermenter->beercode = xstrcpy(row[5]);
 		fermenter->beername = xstrcpy(row[6]);
 		fermenter->beeruuid = xstrcpy(row[44]);
@@ -242,7 +245,7 @@
                 co2meter->uuid                = xstrcpy(row[1]);
                 co2meter->alias               = xstrcpy(row[2]);
                 co2meter->node                = xstrcpy(row[3]);
-                co2meter->online              = 0;    // Will be set later
+                co2meter->online              = atoi(row[4]);
                 co2meter->beercode            = xstrcpy(row[5]);
                 co2meter->beername            = xstrcpy(row[6]);
                 co2meter->beeruuid            = xstrcpy(row[7]);
@@ -272,7 +275,49 @@
 	}
     }
 
-    syslog(LOG_NOTICE, "MySQL: loaded %d nodes, %d fermenters, %d co2meters", ncnt, fcnt, ccnt);
+    if (mysql_query(con, "SELECT * FROM mon_ispindels")) {
+        syslog(LOG_NOTICE, "MySQL: SELECT * FROM mon_ispindels error %u (%s))", mysql_errno(con), mysql_error(con));
+    } else {
+        res_set = mysql_store_result(con);
+        if (res_set == NULL) {
+            syslog(LOG_NOTICE, "MySQL: mysq_store_result error %u (%s))", mysql_errno(con), mysql_error(con));
+        } else {
+            while ((row = mysql_fetch_row(res_set)) != NULL) {
+                ispindel = (sys_ispindel_list *)malloc(sizeof(sys_ispindel_list));
+                memset(ispindel, 0, sizeof(sys_ispindel_list));
+                ispindel->next                = NULL;
+		ispindel->uuid		      = xstrcpy(row[1]);
+		ispindel->alias		      = xstrcpy(row[2]);
+		ispindel->node                = xstrcpy(row[3]);
+		ispindel->online              = atoi(row[4]);
+		ispindel->alarm               = atoi(row[5]);
+		ispindel->beercode            = xstrcpy(row[6]);
+                ispindel->beername            = xstrcpy(row[7]);
+                ispindel->beeruuid            = xstrcpy(row[8]);
+		ispindel->angle               = atof(row[9]);
+		ispindel->temperature         = atof(row[10]);
+                ispindel->battery             = atof(row[11]);
+		ispindel->gravity             = atof(row[12]);
+		ispindel->interval            = atoi(row[13]);
+		ispindel->mode		      = xstrcpy(row[14]);
+
+                if (ispindels == NULL) {
+                    ispindels = ispindel;
+                } else {
+                    for (tmpi = ispindels; tmpi; tmpi = tmpi->next) {
+                        if (tmpi->next == NULL) {
+                            tmpi->next = ispindel;
+                            break;
+                        }
+                    }
+                }
+                icnt++;
+            }
+            mysql_free_result(res_set);
+        }
+    }
+
+    syslog(LOG_NOTICE, "MySQL: loaded %d nodes, %d fermenters, %d co2meters %d ispindels", ncnt, fcnt, ccnt, icnt);
     return 0;
 }
 
@@ -280,6 +325,7 @@
 
 void bms_mysql_end(void)
 {
+    sys_ispindel_list	*tmpi, *oldtmpi;
     sys_co2meter_list	*tmpp, *oldtmpp;
     sys_fermenter_list	*tmpf, *oldtmpf;
     sys_node_list	*tmpn, *oldtmpn;
@@ -290,6 +336,25 @@
     if (debug)
 	fprintf(stdout, "MySQL: disconnected\n");
 
+    for (tmpi = ispindels; tmpi; tmpi = oldtmpi) {
+        oldtmpi = tmpi->next;
+	if (tmpi->uuid)
+	    free(tmpi->uuid);
+	if (tmpi->alias)
+	    free(tmpi->alias);
+	if (tmpi->node)
+            free(tmpi->node);
+        if (tmpi->beercode)
+            free(tmpi->beercode);
+        if (tmpi->beername)
+            free(tmpi->beername);
+        if (tmpi->beeruuid)
+            free(tmpi->beeruuid);
+	if (tmpi->mode)
+	    free(tmpi->mode);
+        free(tmpi);
+    }
+
     for (tmpp = co2meters; tmpp; tmpp = oldtmpp) {
         oldtmpp = tmpp->next;
         if (tmpp->uuid)
@@ -397,18 +462,20 @@
 int bms_mysql_query(const char *query)
 {
     int		rc = mysql_query(con, query);
+    int		err = mysql_errno(con);
 
     if (rc) {
-        syslog(LOG_NOTICE, "MySQL: error %u (%s)", mysql_errno(con), mysql_error(con));
+        syslog(LOG_NOTICE, "MySQL: error %u (%s)", err, mysql_error(con));
         syslog(LOG_NOTICE, query);
     } else {
 	return 0;
     }
 
     /* Any error execpt server gone away */
-    if (rc != 2006)
+    if (err != 2006)
 	return rc;
 
+    syslog(LOG_NOTICE, "Trying to reconnect");
     /* Try to reconnect and do the query again */
     mysql_close(con);
     if (mysql_real_connect(con, Config.mysql_host, Config.mysql_user, Config.mysql_pass, Config.mysql_database, Config.mysql_port, NULL, 0) == NULL) {
@@ -434,25 +501,25 @@
 
 void node_mysql_insert(sys_node_list *node)
 {
-    char	*query = malloc(1024), first[21], last[21];
+    char	*query = malloc(1024), first[73], last[73];
     struct tm	*mytime;
 
     mytime = localtime(&node->firstseen);
-    snprintf(first, 20, "%04d-%02d-%02d %02d:%02d:%02d", 
+    snprintf(first, 72, "%04d-%02d-%02d %02d:%02d:%02d",
 		    mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
     mytime = localtime(&node->lastseen);
-    snprintf(last, 20, "%04d-%02d-%02d %02d:%02d:%02d",
+    snprintf(last, 72, "%04d-%02d-%02d %02d:%02d:%02d",
 		mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
 
     snprintf(query, 1023,
-	"INSERT INTO  mon_nodes SET uuid='%s', node='%s', online='%s', group_id='%s', " \
+	"INSERT INTO  mon_nodes SET uuid='%s', node='%s', online='%d', group_id='%s', " \
         "hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', firstseen='%s', lastseen='%s', " \
 	"temperature='%.3f', humidity='%.3f', barometer='%.3f', gps_latitude='%.8f', gps_longitude='%.8f', gps_altitude='%.8f', " \
-	"net_address='%s', net_ifname='%s', net_rssi='%d'",
-	node->uuid, node->node, node->online ?"Y":"N", node->group_id, 
+	"net_address='%s', net_ifname='%s', net_rssi='%d', up_interval='%d'",
+	node->uuid, node->node, node->online ?1:0, node->group_id, 
 	node->hardwaremake, node->hardwaremodel, node->os, node->os_version, node->firmware, first, last,
 	node->temperature, node->humidity, node->barometer, node->gps_latitude, node->gps_longitude, node->gps_altitude,
-	node->net_address, node->net_ifname, node->net_rssi);
+	node->net_address, node->net_ifname, node->net_rssi, node->interval);
 
     if (bms_mysql_query(query) == 0) {
 	syslog(LOG_NOTICE,  "MySQL: insert new node %s", node->node);
@@ -465,20 +532,20 @@
 
 void node_mysql_update(sys_node_list *node)
 {
-    char        *query = malloc(1024), last[21];
+    char        *query = malloc(1024), last[65];
     struct tm   *mytime;
 
     mytime = localtime(&node->lastseen);
-    snprintf(last, 20, "%04d-%02d-%02d %02d:%02d:%02d",
+    snprintf(last, 64, "%04d-%02d-%02d %02d:%02d:%02d",
     	mytime->tm_year + 1900, mytime->tm_mon + 1, mytime->tm_mday, mytime->tm_hour, mytime->tm_min, mytime->tm_sec);
 
     snprintf(query, 1023,
-	"UPDATE mon_nodes SET online='%s', hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', lastseen='%s', " \
+	"UPDATE mon_nodes SET online='%d', hardwaremake='%s', hardwaremodel='%s', os='%s', os_version='%s', firmware='%s', lastseen='%s', " \
 	"temperature='%.3f', humidity='%.3f', barometer='%.3f', gps_latitude='%.8f', gps_longitude='%.8f', gps_altitude='%.8f', " \
-	"net_address='%s', net_ifname='%s', net_rssi='%d' WHERE uuid='%s'",
-	node->online ?"Y":"N", node->hardwaremake, node->hardwaremodel, node->os, node->os_version, node->firmware, last,
+	"net_address='%s', net_ifname='%s', net_rssi='%d', up_interval='%d' WHERE uuid='%s'",
+	node->online ? 1:0, node->hardwaremake, node->hardwaremodel, node->os, node->os_version, node->firmware, last,
 	node->temperature, node->humidity, node->barometer, node->gps_latitude, node->gps_longitude, node->gps_altitude, 
-	node->net_address, node->net_ifname, node->net_rssi, node->uuid);
+	node->net_address, node->net_ifname, node->net_rssi, node->interval, node->uuid);
 
     bms_mysql_query(query);
     free(query);
@@ -490,7 +557,7 @@
 {
     char        *query = malloc(512);
 
-    snprintf(query, 511, "UPDATE mon_nodes SET online='N' WHERE node='%s'", node);
+    snprintf(query, 511, "UPDATE mon_nodes SET online='0' WHERE node='%s'", node);
     bms_mysql_query(query);
     free(query);
 }
@@ -502,7 +569,7 @@
     char        *query = malloc(2560);
 
     snprintf(query, 2559,
-	"INSERT INTO mon_fermenters SET uuid='%s', alias='%s', node='%s', online='%s', " \
+	"INSERT INTO mon_fermenters SET uuid='%s', alias='%s', node='%s', online='%d', " \
 	"beercode='%s', beername='%s', beeruuid='%s', " \
 	"air_address='%s', air_state='%s', air_temperature='%.3f', " \
 	"beer_address='%s', beer_state='%s', beer_temperature='%.3f', " \
@@ -517,7 +584,7 @@
 	"profile_uuid='%s', profile_name='%s', profile_state='%s', profile_percent='%d', " \
 	"profile_inittemp_high='%.3f', profile_inittemp_low='%.3f', profile_steps='%s', stage='%s', " \
 	"yeast_lo='%.1f', yeast_hi='%.1f', webcam_url='%s', webcam_light='%d'",
-	fermenter->uuid, fermenter->alias, fermenter->node, fermenter->online ? "Y":"N",
+	fermenter->uuid, fermenter->alias, fermenter->node, fermenter->online ? 1:0,
 	fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "",
 	fermenter->beeruuid ? fermenter->beeruuid : "",
 	fermenter->air_address ? fermenter->air_address : "", fermenter->air_state ? fermenter->air_state : "", fermenter->air_temperature,
@@ -548,7 +615,7 @@
     char        *query = malloc(2560);
 
     snprintf(query, 2559,
-	"UPDATE mon_fermenters SET online='%s', beercode='%s', beername='%s', beeruuid='%s', " \
+	"UPDATE mon_fermenters SET online='%d', beercode='%s', beername='%s', beeruuid='%s', " \
 	"air_address='%s', air_state='%s', air_temperature='%.3f', " \
 	"beer_address='%s', beer_state='%s', beer_temperature='%.3f', " \
 	"chiller_address='%s', chiller_state='%s', chiller_temperature='%.3f', " \
@@ -562,7 +629,7 @@
 	"profile_uuid='%s', profile_name='%s', profile_state='%s', profile_percent='%d', " \
 	"profile_inittemp_high='%.3f', profile_inittemp_low='%.3f', profile_steps='%s', stage='%s', " \
         "yeast_lo='%.1f', yeast_hi='%.1f', webcam_url='%s', webcam_light='%d' WHERE uuid='%s'",
-	fermenter->online ? "Y":"N", fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "",
+	fermenter->online ? 1:0, fermenter->beercode ? fermenter->beercode : "", fermenter->beername ? fermenter->beername : "",
 	fermenter->beeruuid ? fermenter->beeruuid : "",
 	fermenter->air_address ? fermenter->air_address : "", fermenter->air_state ? fermenter->air_state : "", fermenter->air_temperature,
 	fermenter->beer_address ? fermenter->beer_address : "", fermenter->beer_state ? fermenter->beer_state : "", fermenter->beer_temperature,
@@ -591,9 +658,9 @@
     char        *query = malloc(512);
 
     if (alias)
-    	snprintf(query, 511, "UPDATE mon_fermenters SET online='N' WHERE node='%s' and alias='%s'", node, alias);
+    	snprintf(query, 511, "UPDATE mon_fermenters SET online='0' WHERE node='%s' and alias='%s'", node, alias);
     else
-	snprintf(query, 511, "UPDATE mon_fermenters SET online='N' WHERE node='%s'", node);
+	snprintf(query, 511, "UPDATE mon_fermenters SET online='0' WHERE node='%s'", node);
 
     bms_mysql_query(query);
     free(query);
@@ -655,3 +722,111 @@
 }
 
 
+
+void ispindel_mysql_insert(sys_ispindel_list *ispindel)
+{
+    char        *query = malloc(2560);
+
+    snprintf(query, 2559,
+        "INSERT INTO mon_ispindels SET uuid='%s', alias='%s', node='%s', online='%d', mode='%s', alarm='%d', " \
+        "angle='%.5f', temperature='%.4f', battery='%.6f', gravity='%.5f', up_interval='%d', og_gravity='0.0'",
+        ispindel->uuid, ispindel->alias, ispindel->node, ispindel->online ? 1:0, ispindel->mode, ispindel->alarm,
+        ispindel->angle, ispindel->temperature, ispindel->battery, ispindel->gravity, ispindel->interval);
+
+    if (bms_mysql_query(query) == 0) {
+        syslog(LOG_NOTICE,  "MySQL: insert new ispindel %s", ispindel->node);
+    }
+    free(query);
+}
+
+
+
+void ispindel_mysql_update(sys_ispindel_list *ispindel)
+{
+    char        *query = malloc(2560);
+
+    snprintf(query, 2559,
+        "UPDATE mon_ispindels SET online='%d', mode='%s', alarm='%d', " \
+	"angle='%.5f', temperature='%.4f', battery='%.6f', gravity='%.5f', up_interval='%d', og_gravity=GREATEST(og_gravity, '%.5f') WHERE uuid='%s'",
+        ispindel->online ? 1:0, ispindel->mode, ispindel->alarm,
+	ispindel->angle, ispindel->temperature, ispindel->battery, ispindel->gravity, ispindel->interval, ispindel->gravity, ispindel->uuid);
+
+    bms_mysql_query(query);
+    free(query);
+}
+
+
+
+void ispindel_mysql_death(char *node)
+{
+    char        *query = malloc(512);
+
+    snprintf(query, 511, "UPDATE mon_ispindels SET online='0' WHERE node='%s'", node);
+    bms_mysql_query(query);
+    free(query);
+}
+
+
+
+/*
+ * Check using a new MySQL connection because we are running from another thread.
+ */
+void ispindel_mysql_check(void)
+{
+    sys_ispindel_list	*tmpp;
+    MYSQL		*con2 = NULL;
+    MYSQL_RES		*res_set2;
+    MYSQL_ROW		row2;
+
+    if (ispindels == NULL)
+	return;
+
+    con2 = mysql_init(NULL);
+    if (con2 == NULL) {
+        syslog(LOG_NOTICE, "MySQL: mysql_init() failed");
+        return;
+    }
+
+    if (mysql_real_connect(con2, Config.mysql_host, Config.mysql_user, Config.mysql_pass, Config.mysql_database, Config.mysql_port, NULL, 0) == NULL) {
+        syslog(LOG_NOTICE, "MySQL: mysql_real_connect() %s", mysql_error(con2));
+        return;
+    }
+
+    if (mysql_query(con2, "SELECT uuid,alias,beercode,beername,beeruuid,mode FROM mon_ispindels;")) {
+        syslog(LOG_NOTICE, "MySQL: SELECT uuid,alias,beercode,beername,beeruuid,mode FROM mon_ispindels error %u (%s))", mysql_errno(con2), mysql_error(con2));
+    } else {
+        res_set2 = mysql_store_result(con2);
+        if (res_set2 == NULL) {
+            syslog(LOG_NOTICE, "MySQL: mysq_store_result error %u (%s))", mysql_errno(con2), mysql_error(con2));
+        } else {
+            while ((row2 = mysql_fetch_row(res_set2)) != NULL) {
+		for (tmpp = ispindels; tmpp; tmpp = tmpp->next) {
+		    if (strcmp(tmpp->uuid, row2[0]) == 0) {
+			if (strcmp(tmpp->beercode, row2[2]) || strcmp(tmpp->beername, row2[3]) || strcmp(tmpp->beeruuid, row2[4])) {
+			    syslog(LOG_NOTICE, "ispindel `%s` change beer to `%s %s`", row2[1], row2[2], row2[3]);
+			    if (tmpp->beercode)
+				free(tmpp->beercode);
+			    tmpp->beercode = xstrcpy(row2[2]);
+			    if (tmpp->beername)
+				free(tmpp->beername);
+			    tmpp->beername = xstrcpy(row2[3]);
+			    if (tmpp->beeruuid)
+				free(tmpp->beeruuid);
+			    tmpp->beeruuid = xstrcpy(row2[4]);
+			}
+			if (strcmp(tmpp->mode, row2[5])) {
+			    syslog(LOG_NOTICE, "ispindel `%s` change mode `%s`", row2[1], row2[5]);
+			    if (tmpp->mode)
+				free(tmpp->mode);
+			    tmpp->mode = xstrcpy(row2[5]);
+			}
+		    }
+		}
+	    }
+	    mysql_free_result(res_set2);
+	}
+    }
+
+    mysql_close(con2);
+}
+
--- a/bmsd/mysql.h	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/mysql.h	Fri May 01 16:37:31 2020 +0200
@@ -41,5 +41,16 @@
 void co2meter_mysql_update(sys_co2meter_list *co2meter);
 void co2meter_mysql_death(char *node, char *alias);
 
+void ispindel_mysql_insert(sys_ispindel_list *ispindel);
+void ispindel_mysql_update(sys_ispindel_list *ispindel);
+void ispindel_mysql_death(char *alias);
+
+/**
+ * @brief Check state changes in the database for all iSpindels and
+ *        update the internal memory array. Called every 5 seconds from
+ *        the main server thread.
+ */
+void ispindel_mysql_check(void);
+
 
 #endif
--- a/bmsd/nodes.c	Fri Oct 18 13:20:35 2019 +0200
+++ b/bmsd/nodes.c	Fri May 01 16:37:31 2020 +0200
@@ -3,7 +3,7 @@
  * @brief Handle nodes status
  * @author Michiel Broek <mbroek at mbse dot eu>
  *
- * Copyright (C) 2018-2019
+ * Copyright (C) 2018-2020
  *
  * This file is part of the bms (Brewery Management System)
  *
@@ -34,7 +34,7 @@
 extern int			debug;
 extern sys_fermenter_list	*fermenters;
 extern sys_co2meter_list	*co2meters;
-
+extern sys_ispindel_list	*ispindels;
 
 
 void node_birth_data(char *topic, char *payload)
@@ -82,6 +82,7 @@
     	node->gps_latitude = node->gps_longitude = node->gps_altitude = 0.0;
 	node->net_address = node->net_ifname = NULL;
 	node->net_rssi = 0;
+	node->interval = 300;
     }
 
     /*
@@ -111,6 +112,9 @@
 		free(node->uuid);
 	    node->uuid = xstrcpy((char *)json_object_get_string(val));
 	}
+	if (json_object_object_get_ex(metric, "interval", &val)) {
+	    node->interval = json_object_get_int(val);
+	}
 	if (json_object_object_get_ex(metric, "properties", &metric2)) {
 	    if (json_object_object_get_ex(metric2, "hardwaremake", &val)) {
 		if (node->hardwaremake)
@@ -214,6 +218,7 @@
     	printf("GPS       %.5f  %.5f  %.5f\n", node->gps_latitude, node->gps_longitude, node->gps_altitude);
 	printf("net       %s:%s\n", node->net_ifname, node->net_address);
 	printf("rssi      %d\n", node->net_rssi);
+	printf("interval  %d\n", node->interval);
     }
 }
 
@@ -247,11 +252,14 @@
     sys_node_list	*tmpn;
     sys_fermenter_list  *tmpf;
     sys_co2meter_list	*tmpc;
+    sys_ispindel_list	*tmpi;
     time_t		now = time(NULL);
 
     for (tmpn = nodes; tmpn; tmpn = tmpn->next) {
-	if (tmpn->online && ((now - tmpn->lastseen) > 600)) {
-	    syslog(LOG_NOTICE, "Timeout node `%s/%s'", tmpn->group_id, tmpn->node);
+//	if (debug)
+//	    printf("%-20s online %s  %ld  %d\n", tmpn->node, tmpn->online ? "yes":"no ", tmpn->lastseen, tmpn->interval);
+	if (tmpn->online && ((now - tmpn->lastseen) > (tmpn->interval * 2 + 5))) { // 2 times interval + 5 seconds
+	    syslog(LOG_NOTICE, "Timeout node `%s/%s' after %ld seconds", tmpn->group_id, tmpn->node, (now - tmpn->lastseen));
 	    tmpn->online = false;
 	    node_mysql_death(tmpn->node);
 
@@ -274,6 +282,16 @@
 		    }
 		}
 	    }
+
+	    for (tmpi = ispindels; tmpi; tmpi = tmpi->next) {
+		if (strcmp(tmpi->node, tmpn->node) == 0) {
+		    if (tmpi->online) {
+                        syslog(LOG_NOTICE, "Timeout ispindel %s", tmpi->node);
+                        tmpi->online = false;
+                        ispindel_mysql_death(tmpi->node);
+                    }
+		}
+	    }
 	}
     }
 }
--- a/config.h.in	Fri Oct 18 13:20:35 2019 +0200
+++ b/config.h.in	Fri May 01 16:37:31 2020 +0200
@@ -9,3 +9,9 @@
 /* According to Sun we MUST define this in the source */
 #define _REENTRANT 1
 
+/* Define if you have the <mysql/mysql.h> header file. */
+#undef HAVE_MYSQL_MYSQL_H
+
+/* Define if you have the <mariadb/mysql.h> header file. */
+#undef HAVE_MARIADB_MYSQL_H
+
--- a/config.status	Fri Oct 18 13:20:35 2019 +0200
+++ b/config.status	Fri May 01 16:37:31 2020 +0200
@@ -619,9 +619,9 @@
 S["CFLAGS"]="-g -O2 -fomit-frame-pointer -fno-strict-aliasing -Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -Winline -I/usr/include/libxml2 -I/usr/include/u"\
 "uid"
 S["CC"]="gcc"
-S["CYEARS"]="2016-2019"
-S["COPYRIGHT"]="Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved"
-S["VERSION"]="0.4.9"
+S["CYEARS"]="2016-2020"
+S["COPYRIGHT"]="Copyright (C) 2016-2020 Michiel Broek, All Rights Reserved"
+S["VERSION"]="0.4.10"
 S["PACKAGE"]="bms"
 S["SUBDIRS"]="bmsd doc script tools www"
 S["target_alias"]=""
@@ -710,8 +710,8 @@
 D["PACKAGE_STRING"]=" \"\""
 D["PACKAGE_BUGREPORT"]=" \"\""
 D["PACKAGE_URL"]=" \"\""
-D["VERSION"]=" \"0.4.9\""
-D["COPYRIGHT"]=" \"Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved\""
+D["VERSION"]=" \"0.4.10\""
+D["COPYRIGHT"]=" \"Copyright (C) 2016-2020 Michiel Broek, All Rights Reserved\""
 D["STDC_HEADERS"]=" 1"
 D["HAVE_SYS_TYPES_H"]=" 1"
 D["HAVE_SYS_STAT_H"]=" 1"
@@ -724,7 +724,7 @@
 D["HAVE_UNISTD_H"]=" 1"
 D["HAVE_MOSQUITTO_H"]=" 1"
 D["HAVE_JSON_C_JSON_H"]=" 1"
-D["HAVE_MYSQL_MYSQL_H"]=" 1"
+D["HAVE_MARIADB_MYSQL_H"]=" 1"
 D["HAVE_LIBXML_XMLMEMORY_H"]=" 1"
 D["HAVE_UUID_UUID_H"]=" 1"
 D["STDC_HEADERS"]=" 1"
--- a/configure	Fri Oct 18 13:20:35 2019 +0200
+++ b/configure	Fri May 01 16:37:31 2020 +0200
@@ -2043,9 +2043,9 @@
 
 
 PACKAGE="bms"
-VERSION="0.4.9"
-COPYRIGHT="Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved"
-CYEARS="2016-2019"
+VERSION="0.4.10"
+COPYRIGHT="Copyright (C) 2016-2020 Michiel Broek, All Rights Reserved"
+CYEARS="2016-2020"
 
 
 
@@ -3652,6 +3652,18 @@
 
 done
 
+  for ac_header in mariadb/mysql.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "mariadb/mysql.h" "ac_cv_header_mariadb_mysql_h" "$ac_includes_default"
+if test "x$ac_cv_header_mariadb_mysql_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MARIADB_MYSQL_H 1
+_ACEOF
+
+fi
+
+done
+
 else
   as_fn_error $? "mysqlclient not found" "$LINENO" 5
 fi
--- a/configure.ac	Fri Oct 18 13:20:35 2019 +0200
+++ b/configure.ac	Fri May 01 16:37:31 2020 +0200
@@ -8,9 +8,9 @@
 dnl General settings
 dnl After changeing the version number, run autoconf!
 PACKAGE="bms"
-VERSION="0.4.9"
-COPYRIGHT="Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved"
-CYEARS="2016-2019"
+VERSION="0.4.10"
+COPYRIGHT="Copyright (C) 2016-2020 Michiel Broek, All Rights Reserved"
+CYEARS="2016-2020"
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
 AC_SUBST(COPYRIGHT)
@@ -66,6 +66,7 @@
 if test "$result" = "yes"; then
   LIBS="$LIBS -lmysqlclient"
   AC_CHECK_HEADERS(mysql/mysql.h)
+  AC_CHECK_HEADERS(mariadb/mysql.h)
 else
   AC_MSG_ERROR(mysqlclient not found)
 fi
--- a/doc/bms-ch8.sgml	Fri Oct 18 13:20:35 2019 +0200
+++ b/doc/bms-ch8.sgml	Fri May 01 16:37:31 2020 +0200
@@ -34,6 +34,8 @@
 <listitem><para><code>fermenters</code> is voor vergisting controllers.</para></listitem>
 <listitem><para><code>co2meters</code> is een drukmeter om bijvoorbeeld hergisting op de fles
 te monitoren.</para></listitem>
+<listitem><para><code>ispindels</code> is een electronische hydrometer die in het gistvat drijft
+en de temperatuur en sg verstuurt.</para></listitem>
 </orderedlist>
 
 <para>De volgende <code>message_type</code> namen zijn gedefinieerd:</para>
@@ -81,13 +83,19 @@
 is de unix tijd sinds 1 januari 1970. Niet alle controllers sturen een timestamp,
 controllers zonder klok laten dit weg. De tijd wordt dan door <code>bmsd</code>
 ingevuld en is de tijd dat het bericht ontvangen wordt.
-Het `seq' nummer wordt met ieder bericht met 1 verhoogd.</para>
+Het `seq' nummer wordt met ieder bericht met 1 verhoogd.
+Ook dit nummer is niet altijd aanwezig.</para>
+<para>In de `metric' groep is de `interval' optioneel. Dit wordt bijvoorbeeld
+verstuurd door iSpindels en is de ingestelde update interval tijd in seconden.
+Indien dit niet aanwezig is dan wordt 300 seconden als standaard waarde gebruikt.
+Deze waarde wordt gebruikt om een apparaat als offline te markeren indien het langer
+als twee maal deze tijd niet wordt gezien.</para>
 <programlisting>
 {
   "timestamp": 1532201089,
-  "seq": 0,
   "metric": {
     "uuid": "b508f01c-1f82-4e8b-b0d2-d88ecfb53031",
+    "interval":300,
     "properties": {
       "hardwaremake": "Raspberry",
       "hardwaremodel": "Unknown",
@@ -158,7 +166,9 @@
   "product": {
     "uuid": "1eb0c7bf-bf06-491c-a086-ac5478d521b9",
     "code": "CB0001",
-    "name": "Hoppy Housebeer"
+    "name": "Hoppy Housebeer",
+    "yeast_lo": 18.0,
+    "yeast_hi": 24.0
   },
   "air": {
     "address": "70d60411-3ec8-40ab-998a-81fead83025f",
@@ -207,11 +217,7 @@
   "mode": "BEER",
   "setpoint": {
     "low": 21.0,
-    "high": 21.0
-  },
-  "webcam": {
-    "url":"https://the.webcamserver.com:8090/?action=stream",
-    "light": 1
+    "high": 21.5
   },
   "alarm": 0,
   "profile": {
@@ -223,7 +229,6 @@
       "low": 17.9,
       "high": 18.1
     },
-    "fridgemode": 0,
     "steps": [
       {
         "resttime": 2,
@@ -273,7 +278,6 @@
 <programlisting>
 {
   "timestamp": 1532201089,
-  "seq": 0,
   "metric": {
     "product": {
       "uuid": "1eb0c7bf-bf06-491c-a086-ac5478d521b9",
@@ -304,7 +308,6 @@
       "power": 100,
       "usage": 8273772
     },
-    "sg": 1.023,
     "event": "Something to mark",
     "fermenter_uuid": "48c9ae27-3f58-41c9-ae4b-1d57b249c45a"
   }
@@ -318,36 +321,95 @@
 De bestandsnamen zijn <code>product_code\ product_name.log</code>.
 Het interne formaat is:</para>
 <programlisting>
-   2014-11-15 18:39:12,BEER,PRIMARY,20.312,19.750,-1.500,20.5,18.6,18.8,35,12345,0,67890,Whatsup,Fermenter
-            |            |     |      |      |      |      |    |    |   |   |   |   |      |        |
- 0 datetime +            |     |      |      |      |      |    |    |   |   |   |   |      |        |
- 1 werkwijze ------------+     |      |      |      |      |    |    |   |   |   |   |      |        |
- 2 vergisting fase ------------+      |      |      |      |    |    |   |   |   |   |      |        |
- 3 temperatuur lucht -----------------+      |      |      |    |    |   |   |   |   |      |        |
- 4 temperatuur bier -------------------------+      |      |    |    |   |   |   |   |      |        |
- 5 temperatuur koeler ------------------------------+      |    |    |   |   |   |   |      |        |
- 6 temperatuur ruimte -------------------------------------+    |    |   |   |   |   |      |        |
- 7 instelwaarde laag -------------------------------------------+    |   |   |   |   |      |        |
- 8 instelwaarde hoog ------------------------------------------------+   |   |   |   |      |        |
- 9 verwarming vermogen --------------------------------------------------+   |   |   |      |        |
-10 verwarming verbruik ------------------------------------------------------+   |   |      |        |
-11 koeler vermogen --------------------------------------------------------------+   |      |        |
-12 koeler verbruik ------------------------------------------------------------------+      |        |
-13 gebeurtenis -----------------------------------------------------------------------------+        |
-14 vergister uuid -----------------------------------------------------------------------------------+
+2014-11-15 18:39:12,BEER,PRIMARY,20.312,19.750,-1.500,20.5,18.6,18.8,35,12345,0,67890,Whatsup,Fermenter
+            |         |     |      |      |      |      |    |    |   |   |   |   |      |        |
+ 0 datetime +         |     |      |      |      |      |    |    |   |   |   |   |      |        |
+ 1 werkwijze ---------+     |      |      |      |      |    |    |   |   |   |   |      |        |
+ 2 vergisting fase ---------+      |      |      |      |    |    |   |   |   |   |      |        |
+ 3 temperatuur lucht --------------+      |      |      |    |    |   |   |   |   |      |        |
+ 4 temperatuur bier ----------------------+      |      |    |    |   |   |   |   |      |        |
+ 5 temperatuur koeler ---------------------------+      |    |    |   |   |   |   |      |        |
+ 6 temperatuur ruimte ----------------------------------+    |    |   |   |   |   |      |        |
+ 7 instelwaarde laag ----------------------------------------+    |   |   |   |   |      |        |
+ 8 instelwaarde hoog ---------------------------------------------+   |   |   |   |      |        |
+ 9 verwarming vermogen -----------------------------------------------+   |   |   |      |        |
+10 verwarming verbruik ---------------------------------------------------+   |   |      |        |
+11 koeler vermogen -----------------------------------------------------------+   |      |        |
+12 koeler verbruik ---------------------------------------------------------------+      |        |
+13 gebeurtenis --------------------------------------------------------------------------+        |
+14 vergister uuid --------------------------------------------------------------------------------+
+</programlisting>
+</sect1>
+
+<sect1 id="payloadco2data">
+<title>Netwerk payload data formaat voor CO2 meters.</title>
+<para>
+Nog schrijven
+</para>
+<programlisting>
+{
+  "seq":228196,
+  "metric":{
+    "units":[
+      {
+        "uuid":"c0ffeeee-dead-beef-caf0-3c71bffe4054",
+        "alias":"unit1",
+        "mode":"ON",
+        "alarm":0,
+        "temperature":{
+          "state":"OK",
+          "address":"e001191420732a28",
+          "temperature":20.250
+        },
+        "pressure":{
+          "state":"OK",
+          "channel":7,
+          "voltage":0.322,
+          "zero":0.110,
+          "bar":0.00
+        }
+      },
+      {
+        "uuid":"c0ffeeee-dead-beef-caf1-3c71bffe4054",
+        "alias":"unit2",
+        "mode":"OFF",
+        "alarm":1,
+        "temperature":{
+          "state":"OK",
+          "address":"e001191420732a28",
+          "temperature":20.250
+        },
+        "pressure":{
+          "state":"OK",
+          "channel":6,
+          "voltage":0.075,
+          "zero":0.109,
+          "bar":0.00
+        }
+      }
+    ]
+  }
+}
 </programlisting>
 </sect1>
 
 <sect1 id="payloadco2log">
 <title>Netwerk payload log formaat voor CO2 meters.</title>
 <para>
-Voor iedere actieve CO2 meter wordt bij iedere systeemstart een logbericht
-gestuurd. Dit is ongeveer iedere 5 minuten. Omdat de CO2 meters eenvoudige
+Voor iedere actieve CO2 meter wordt bij iedere systeemstart en iedere vijf
+minuten  een logbericht gestuurd. Omdat de CO2 meters eenvoudige
 controllers zijn is er geen tijd en product informatie beschikbaar. Deze
 ontbrekende gegevens worden aangevuld door <command>bmsd</command>
 </para>
 <programlisting>
-
+{
+  "seq":228229,
+  "metric":{
+    "uuid":"c0ffeeee-dead-beef-caf0-3c71bffe4054",
+    "temperature":21.125,
+    "pressure":0.000
+  }
+}
 </programlisting>
 <para>
 De ontvangen CO2 log gegevens worden niet opgeslagen in de SQL database
@@ -366,4 +428,103 @@
 </programlisting>
 </sect1>
 
+
+<sect1 id="payloadispindeldata">
+<title>Netwerk payload data formaat voor iSpindels.</title>
+<para>
+Iedere actieve iSpindel stuurt bij iedere systeemstart een bericht.
+Daarna na iedere <code>interval</code> tijd in seconden een volgend bericht.
+Omdat de iSpindel eenvoudige controllers zijn is er geen tijd en product
+informatie beschikbaar. De instellingen voor <code>bmsd</code> in de iSpindel zijn:
+</para>
+
+<orderedlist>
+<listitem><para>Unit of temperature: Celsius</para></listitem>
+<listitem><para>Service Type: HTTP</para></listitem>
+<listitem><para>Token: leeg laten</para></listitem>
+<listitem><para>Server Address: het server IP adres</para></listitem>
+<listitem><para>Server Port: 80</para></listitem>
+<listitem><para>Path / URI: /ispindel/index.php</para></listitem>
+</orderedlist>
+
+<para>
+De densiteit wordt standaard door de iSpindel in graden Plato gegeven en zo worden
+de gegevens ook verwerkt. Het SG wordt door de <code>/ispindel/index.php</code>
+berekend. Dit script verzorgd de omzetting van de iSpindel POST data naar MQTT
+data.
+</para>
+
+<informaltable frame="none" rowsep="0" colsep="0">
+<tgroup cols="2">
+<tbody>
+<row>
+<entry>
+<para>
+<figure><title>iSpindel menu.</title>
+<mediaobject>
+<imageobject>
+<imagedata valign="top" fileref="bms-ispindel-1.png" scale="15" format="png">
+</imageobject>
+</mediaobject>
+</figure>
+</para>
+</entry>
+<entry>
+<para>
+<figure><title>iSpindel configuratie.</title>
+<mediaobject>
+<imageobject>
+<imagedata valign="top" fileref="bms-ispindel-2.png" scale="15" format="png">
+</imageobject>
+</mediaobject>
+</figure>
+</para>
+</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>
+De ontbrekende gegevens worden aangevuld door <command>bmsd</command>
+De volgende gegevens worden via het MQTT protocol ontvangen:
+</para>
+<programlisting>
+{
+  "unit":{
+    "uuid":"c0ffeeee-cafe-dead-bee0-2af236d50dc9",
+    "alias":"iSpindel000",
+    "alarm":0,
+    "interval":900,
+    "angle":42.96722,
+    "temperature":25.5625,
+    "battery":4.254432,
+    "gravity":9.306425
+  }
+}
+</programlisting>
+<para>
+De iSpindel stuurt geen aparte log informatie, alle informatie voor de logfile
+wordt uit het standaard bericht gehaald.
+De log gegevens worden niet opgeslagen in de SQL database
+maar weggeschreven in platte tekst bestanden. Hierdoor is de gelogde informatie sneller toegankelijk.
+Ieder brouw product heeft zijn eigen bestand.
+De bestanden staan in <code>www/logs/ispindel/</code>.
+De bestandsnamen zijn <code>product_code\ product_name.log</code>.
+Het interne formaat is:</para>
+<programlisting>
+   2020-01-05 14:01:53,19.3750,7.08093,1.02806,3.34724,38.78126,900,c0ffeeee-cafe-dead-bee0-2af236d50dc9
+            |             |       |       |       |       |      |                 |
+ 0 datetime +             |       |       |       |       |      |                 |
+ 1 temperatuur -----------+       |       |       |       |      |                 |
+ 2 densiteit plato ---------------+       |       |       |      |                 |
+ 3 densiteit SG --------------------------+       |       |      |                 |
+ 4 batterij voltage ------------------------------+       |      |                 |
+ 5 tilt hoek ---------------------------------------------+      |                 |
+ 6 update interval ----------------------------------------------+                 |
+ 7 ispindel uuid ------------------------------------------------------------------+
+</programlisting>
+</sect1>
+
+
 </chapter>
Binary file doc/bms-ispindel-1.png has changed
Binary file doc/bms-ispindel-2.png has changed
--- a/doc/bms.sgml	Fri Oct 18 13:20:35 2019 +0200
+++ b/doc/bms.sgml	Fri May 01 16:37:31 2020 +0200
@@ -1,4 +1,4 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.4//EN" [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.5//EN" [
 <!ENTITY chapter1 SYSTEM "bms-ch1.sgml">
 <!ENTITY chapter2 SYSTEM "bms-ch2.sgml">
 <!ENTITY chapter3 SYSTEM "bms-ch3.sgml">
@@ -20,7 +20,7 @@
     </authorgroup>
 
     <copyright>
-	<year>2018</year>
+	<year>2018-2020</year>
 	<holder role='mailto:mbse@mbse.eu'>M. Broek</holder>
     </copyright>
 
--- a/doc/docbook-utils.dsl	Fri Oct 18 13:20:35 2019 +0200
+++ b/doc/docbook-utils.dsl	Fri May 01 16:37:31 2020 +0200
@@ -181,7 +181,7 @@
 (define %title-font-family% "Helvetica")
 
 ;;What font would you like for the body?
-(define %body-font-family% "Palatino")
+(define %body-font-family% "Helvetica")
 
 ;;What font would you like for mono-seq?
 (define %mono-font-family% "Courier New")
@@ -207,13 +207,13 @@
 (define %left-right-margin% 6pi)
 
 ;;How much indentation for the body?
-(define %body-start-indent% 4pi)
+(define %body-start-indent% 2pi)
 
 ;;How big is the left margin? (relative to physical page)
-(define %left-margin% 8pi) ;white-paper-column
+(define %left-margin% 6pi) ;white-paper-column
 
 ;;How big is the right margin? (relative to physical page)
-(define %right-margin% 8pi) ;white-paper-column
+(define %right-margin% 6pi) ;white-paper-column
 
 ;;How big do you want the margin at the top?
 (define %top-margin%
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/Makefile	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,27 @@
+# Makefile for the mbsePi-apps/thermferm.
+
+include ../Makefile.global
+
+OTHER		= Makefile bmsd.init
+
+#############################################################################
+
+.c.o:
+		${CC} ${CFLAGS} ${INCLUDES} ${DEFINES} -c $<
+
+all:
+
+
+clean:
+		rm -f filelist Makefile.bak
+
+install:
+		${INSTALL} -c -g root -o root -m 0755 bmsd.init /etc/init.d/bmsd
+		[ -x /bin/systemctl ] && /bin/systemctl daemon-reload
+
+filelist:	Makefile
+		BASE=`pwd`; \
+		BASE=`basename $${BASE}`; \
+		(for f in ${SRCS} ${HDRS} ${OTHER} ;do echo ${PACKAGE}-${VERSION}/$${BASE}/$$f; done) >filelist
+
+depend:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/bmsd.init	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,136 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          bmsd
+# Required-Start:    $local_fs $remote_fs $network $syslog
+# Required-Stop:     $local_fs $remote_fs $network $syslog
+# Should-Start:      mosquitto
+# Should-Stop:       mosquitto
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Brewery Management Daemon
+# Description:       This program is the central daemon to collect data
+#                    from and control remote devices in a brewery. It is
+#                    the production and inventory database.
+### END INIT INFO
+
+# Author: Michiel Broek <mbroek@mbse.eu>
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Brewery Management Daemon"
+NAME=bmsd
+DAEMON=/var/lib/bms/bin/$NAME
+#DAEMON_ARGS="--options args"
+PIDFILE=/var/lib/bms/.bms/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+        #   0 if daemon has been started
+        #   1 if daemon was already running
+        #   other if daemon could not be started or a failure occured
+	start-stop-daemon --start --chuid brewery --exec $DAEMON
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+        #   0 if daemon has been stopped
+        #   1 if daemon was already stopped
+        #   other if daemon could not be stopped or a failure occurred
+	start-stop-daemon --stop --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+	#
+	# If the daemon can reload its configuration without
+	# restarting (for example, when it is sent a SIGHUP),
+	# then implement that here.
+	#
+	return 0
+}
+
+case "$1" in
+  start)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+	do_start
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  status)
+	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+	;;
+  #reload|force-reload)
+	#
+	# If do_reload() is not implemented then leave this commented out
+	# and leave 'force-reload' as an alias for 'restart'.
+	#
+	#log_daemon_msg "Reloading $DESC" "$NAME"
+	#do_reload
+	#log_end_msg $?
+	#;;
+  restart|force-reload)
+	#
+	# If the "reload" option is implemented then remove the
+	# 'force-reload' alias
+	#
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+		# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
--- a/www/Makefile	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/Makefile	Fri May 01 16:37:31 2020 +0200
@@ -3,15 +3,18 @@
 
 include ../Makefile.global
 
-SRC		= cmd_fermenter.php cmd_co2meter.php \
-		  config.php.dist crontasks.php favicon.ico gen_about.php \
+SRC		= cmd_fermenter.php cmd_co2meter.php cmd_ispindel.php config.php.dist crontasks.php \
+		  export_equipments.php export_fermentables.php export_hops.php export_mashs.php \
+		  export_miscs.php export_styles.php export_suppliers.php export_waters.php \
+		  export_yeasts.php favicon.ico gen_about.php \
 		  getbrewlog.php getco2meter.php getco2pressurelog.php getfermentablesources.php \
 		  getfermenter.php getfermentlog.php gethopsources.php getmiscsources.php getnode.php \
-		  getwatersources.php getyeastsources.php import_ingredients.php index.php \
+		  getwatersources.php getyeastsources.php getispindel.php getispindellog.php \
+		  import_ingredients.php index.php \
 		  inv_equipments.php inv_fermentables.php inv_hops.php inv_instock.php \
-		  inv_miscs.php inv_suppliers.php inv_waters.php inv_yeasts.php \
-		  log_brew.php log_co2pressure.php log_fermentation.php \
-		  mon_brewer.php mon_co2meter.php mon_fermenter.php mon_node.php \
+		  inv_miscs.php inv_suppliers.php inv_waters.php inv_yeasts.php inv_yeastlab.php \
+		  log_brew.php log_co2pressure.php log_fermentation.php log_ispindel.php \
+		  mon_brewer.php mon_co2meter.php mon_fermenter.php mon_ispindel.php mon_node.php \
 		  prod_archive_code.php prod_archive_date.php prod_archive_name.php prod_beerxml.php \
 		  prod_checklist.php prod_divide.php prod_duplicate.php prod_edit.php prod_export.php prod_forum.php \
 		  prod_impbrew.php prod_inprod.php prod_new.php prod_print.php prod_torecipe.php \
@@ -27,12 +30,10 @@
 		  includes/* fpdf/* import/*
 OTHER		= Makefile
 CSS_FILES	= $(filter-out %-min.css,$(wildcard css/*.css css/**/*.css ))
-JS_FILES	= $(filter-out %-min.js,$(wildcard js/*.js js/**/*.js ))
 YUI_COMPRESSOR	= yui-compressor
 YUI_COMPRESSOR_FLAGS	= --charset utf-8 --verbose
 
 CSS_MINIFIED = $(CSS_FILES:.css=-min.css)
-JS_MINIFIED = $(JS_FILES:.js=-min.js)
 
 
 
@@ -41,38 +42,34 @@
 .c.o:
 		${CC} ${CFLAGS} ${INCLUDES} ${DEFINES} -c $<
 
-all:		minify-css minify-js
+all:		minify-css
 
 clean:
-		rm -f version.php ${CSS_MINIFIED} ${JS_MINIFIED}
+		rm -f version.php ${CSS_MINIFIED}
 
 minify-css:	$(CSS_FILES) $(CSS_MINIFIED)
-minify-js:	$(JS_FILES) $(JS_MINIFIED)
 
 %-min.css:	%.css
 		@echo '==> Minifying $<'
 		$(YUI_COMPRESSOR) $(YUI_COMPRESSOR_FLAGS) --type css $< >$@
 		@echo
 
-%-min.js:	%.js
-		@echo '==> Minifying $<'
-		$(YUI_COMPRESSOR) $(YUI_COMPRESSOR_FLAGS) --type js $< >$@
-		@echo
-
-
 install:
 		${INSTALL} -d -g 314 -o 314 ${PREFIX} ${WWWDIR} ${WWWDIR}/css ${WWWDIR}/fpdf \
-			${WWWDIR}/fpdf/font \
+			${WWWDIR}/fpdf/font ${WWWDIR}/ispindel \
 			${WWWDIR}/jqwidgets ${WWWDIR}/js ${WWWDIR}/images/ ${WWWDIR}/includes/
 		${INSTALL} -d -g 314 -o 314 -m 0777 ${WWWDIR}/run
 		${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log
 		${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/brews
 		${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/fermentation
+		${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/co2pressure
+		${INSTALL} -d -g 314 -o 314 ${WWWDIR}/log/ispindel
 		${INSTALL} -g 314 -o 314 -m 0644 ${SRC} ${WWWDIR}/
 		${INSTALL} -g 314 -o 314 -m 0644 version.php ${WWWDIR}/
 		${INSTALL} -g 314 -o 314 -m 0644 css/* ${WWWDIR}/css/
 		${INSTALL} -g 314 -o 314 -m 0644 images/* ${WWWDIR}/images/
 		${INSTALL} -g 314 -o 314 -m 0644 includes/* ${WWWDIR}/includes/
+		${INSTALL} -g 314 -o 314 -m 0644 ispindel/* ${WWWDIR}/ispindel/
 		cp -r jqwidgets/* ${WWWDIR}/jqwidgets/
 		chown -R 314:314 ${WWWDIR}/jqwidgets
 		cp -r -p fpdf/* ${WWWDIR}/fpdf/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/cmd_ispindel.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,29 @@
+<?php
+require_once('config.php');
+
+#Connect to the database
+$connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
+if (! $connect) {
+        die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+mysqli_set_charset($connect, "utf8" );
+$sql = "";
+
+if (isset($_POST['beername']) && isset($_POST['beercode']) && isset($_POST['beeruuid'])) {
+	$sql  = "UPDATE `mon_ispindels` SET ";
+	$sql .=    "beername='" . mysqli_real_escape_string($connect, $_POST['beername']);
+	$sql .= "', beercode='" . mysqli_real_escape_string($connect, $_POST['beercode']);
+	$sql .= "', beeruuid='" . mysqli_real_escape_string($connect, $_POST['beeruuid']);
+	$sql .= "', og_gravity=0 WHERE uuid='" . $_POST['uuid'] . "';";
+} else if (isset($_POST['mode'])) {
+	$sql  = "UPDATE `mon_ispindels` SET mode='" .$_POST['mode'] . "' WHERE uuid='" . $_POST['uuid'] . "';";
+} else {
+	syslog(LOG_NOTICE, "cmd_ispindel: unknown POST");
+}
+
+$result = mysqli_query($connect, $sql);
+if (! $result) {
+	syslog(LOG_NOTICE, "cmd_ispindel: result: ".mysqli_error($connect));
+}
+echo $result;
+?>
--- a/www/crontasks.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/crontasks.php	Fri May 01 16:37:31 2020 +0200
@@ -74,9 +74,9 @@
 
 
 /*
- * Check fementation logs.
+ * Check several logs.
  */
-$query = "SELECT record,code,name,log_brew,log_fermentation FROM products;";
+$query = "SELECT record,code,name,log_brew,log_fermentation,log_ispindel,log_co2pressure FROM products;";
 $result = mysqli_query($connect, $query);
 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
 	$logfile = "log/fermentation/" . $row['code'] . " " . $row['name'] . ".log";
@@ -89,6 +89,26 @@
 		syslog(LOG_NOTICE, $query);
 		$result1 = mysqli_query($connect, $query);
 	}
+	$logfile = "log/ispindel/" . $row['code'] . " " . $row['name'] . ".log";
+	if (file_exists($logfile))
+                $ok = 1;
+        else
+                $ok = 0;
+        if ($ok != $row['log_ispindel']) {
+                $query = "UPDATE products SET log_ispindel='" . $ok . "' WHERE record='" . $row['record'] . "';";
+                syslog(LOG_NOTICE, $query);
+                $result1 = mysqli_query($connect, $query);
+        }
+	$logfile = "log/co2pressure/" . $row['code'] . " " . $row['name'] . ".log";
+        if (file_exists($logfile))
+                $ok = 1;
+        else
+                $ok = 0;
+        if ($ok != $row['log_co2pressure']) {
+                $query = "UPDATE products SET log_co2pressure='" . $ok . "' WHERE record='" . $row['record'] . "';";
+                syslog(LOG_NOTICE, $query);
+                $result1 = mysqli_query($connect, $query);
+        }
 }
 
 
--- a/www/css/style-min.css	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/css/style-min.css	Fri May 01 16:37:31 2020 +0200
@@ -1,1 +1,1 @@
-body{background:#ccc;font-family:Verdana,Arial,sans-serif;margin:0}#MainPanel,#fermenter,#co2meter{width:1278px;height:628px;border:2px solid #4297d7;background:#252526;float:left;color:#eee}#water_totals{width:960px;background:#353536;margin-top:15px;border:1px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#propagator{width:800px;background:#353536;margin-top:15px;border:1px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#export_table,#about_table{width:960px;background:#353536;margin:150px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#node_table{width:600px;background:#353536;margin:50px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_table,#co2meter_table{width:960px;height:210px;background:#252526;margin:5px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}.ebccolor{float:left;margin-left:10px;width:75px;height:23px;border:1px solid #59b4d4;border-radius:6px;moz-border-radius:6px;webkit-border-radius:6px;background:#212121}#fermenter_thermometers,#co2meter_meters{width:960px;height:390px;float:left;background-color:#252526;margin:5px;margin-top:3px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_panel_top,#co2meter_panel_top{width:290px;height:100px;float:right;margin:5px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_doorled,#fermenter_lightled,#fermenter_alarmled,#fermenter_powerled{width:50px;height:30px;float:left;text-align:center;margin-top:15px;margin-left:20px}#co2meter_alarmled,#co2meter_powerled{width:50px;height:30px;float:right;text-align:center;margin-top:15px;margin-right:20px}#co2meter_panel_display{width:290px;height:260px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_panel_display{width:290px;height:98px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_display{width:145px;height:98px;float:left;text-align:center}#fermenter_panel_control{width:290px;height:150px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_led1,#fermenter_led2,#fermenter_led3{width:96px;height:30px;float:left;text-align:center;margin-top:13px}#fermenter_toggle1{float:left;margin-left:29px;margin-top:20px}#fermenter_toggle2,#fermenter_toggle3{float:left;margin-left:60px;margin-top:20px}#fermenter_panel_buttons,#co2meter_panel_buttons{width:290px;height:227px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}.LEDred_on{margin:5px auto;width:18px;height:18px;background-color:#F40;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #C33 0 -1px 5px,#f44 0 2px 12px}.LEDred_off{margin:5px auto;width:18px;height:18px;background-color:#820;border-radius:50%;box-shadow:#400 0 0 1px 1px}.LEDyellow_on{margin:5px auto;width:18px;height:18px;background-color:#FF0;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #860 0 -1px 5px,#DD0 0 2px 12px}.LEDyellow_off{margin:5px auto;width:18px;height:18px;background-color:#A90;border-radius:50%;box-shadow:#440 0 0 1px 1px}.LEDgreen_on{margin:5px auto;width:18px;height:18px;background-color:#5E0;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #270 0 -1px 5px,#5D0 0 2px 12px}.LEDgreen_off{margin:5px auto;width:18px;height:18px;background-color:#270;border-radius:50%;box-shadow:#250 0 0 1px 1px}.LEDblue_on{margin:5px auto;width:18px;height:18px;background-color:#4AF;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #247 0 -1px 5px,#48F 0 2px 12px}.LEDblue_off{margin:5px auto;width:18px;height:18px;background-color:#137;border-radius:50%;box-shadow:#024 0 0 1px 1px}#hintBase,#hintStyle,#hintEq{float:left;margin-top:30px;margin-right:20px;padding:5px;width:600px;color:yellow}#section{margin:5px}#baseButtonsWrapper{float:right;margin-top:30px;margin-right:10px;width:160px}#styleButtonsWrapper{float:right;margin-top:30px;margin-right:10px;width:320px}#eqButtonsWrapper{float:right;margin-top:30px;margin-right:10px;width:320px}#completedButtonsWrapper{float:right;margin-right:10px;width:320px;margin-top:160px}.nextButton{float:right;margin-left:0}.backButton{float:left;margin-left:10px}
\ No newline at end of file
+body{background:#ccc;font-family:Verdana,Arial,sans-serif;margin:0}#MainPanel,#fermenter,#co2meter,#ispindel{width:1278px;height:628px;border:2px solid #4297d7;background:#252526;float:left;color:#eee}#water_totals{width:960px;background:#353536;margin-top:15px;border:1px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#propagator{width:800px;background:#353536;margin-top:15px;border:1px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#export_table,#about_table{width:960px;background:#353536;margin:150px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#node_table{width:600px;background:#353536;margin:50px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_table,#co2meter_table,#ispindel_table{width:960px;height:210px;background:#252526;margin:5px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}.ebccolor{float:left;margin-left:10px;width:75px;height:23px;border:1px solid #59b4d4;border-radius:6px;moz-border-radius:6px;webkit-border-radius:6px;background:#212121}#fermenter_thermometers,#co2meter_meters,#ispindel_meters{width:960px;height:390px;float:left;background-color:#252526;margin:5px;margin-top:3px;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_panel_top,#co2meter_panel_top,#ispindel_panel_top{width:290px;height:100px;float:right;margin:5px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_doorled,#fermenter_lightled,#fermenter_alarmled,#fermenter_powerled{width:50px;height:30px;float:left;text-align:center;margin-top:15px;margin-left:20px}#co2meter_alarmled,#co2meter_powerled,#ispindel_alarmled,#ispindel_powerled{width:50px;height:30px;float:right;text-align:center;margin-top:15px;margin-right:20px}#co2meter_panel_display,#ispindel_panel_display{width:290px;height:260px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_panel_display{width:290px;height:98px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_display{width:145px;height:98px;float:left;text-align:center}#fermenter_panel_control{width:290px;height:150px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}#fermenter_led1,#fermenter_led2,#fermenter_led3{width:96px;height:30px;float:left;text-align:center;margin-top:13px}#fermenter_toggle1{float:left;margin-left:29px;margin-top:20px}#fermenter_toggle2,#fermenter_toggle3{float:left;margin-left:60px;margin-top:20px}#fermenter_panel_buttons,#co2meter_panel_buttons,#ispindel_panel_buttons{width:290px;height:227px;float:right;margin:5px;margin-top:3px;background-color:#252526;border:2px solid;border-color:#59b4d4;border-radius:5px 5px 5px 5px}.LEDred_on{margin:5px auto;width:18px;height:18px;background-color:#F40;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #C33 0 -1px 5px,#f44 0 2px 12px}.LEDred_off{margin:5px auto;width:18px;height:18px;background-color:#820;border-radius:50%;box-shadow:#400 0 0 1px 1px}.LEDyellow_on{margin:5px auto;width:18px;height:18px;background-color:#FF0;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #860 0 -1px 5px,#DD0 0 2px 12px}.LEDyellow_off{margin:5px auto;width:18px;height:18px;background-color:#A90;border-radius:50%;box-shadow:#440 0 0 1px 1px}.LEDgreen_on{margin:5px auto;width:18px;height:18px;background-color:#5E0;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #270 0 -1px 5px,#5D0 0 2px 12px}.LEDgreen_off{margin:5px auto;width:18px;height:18px;background-color:#270;border-radius:50%;box-shadow:#250 0 0 1px 1px}.LEDblue_on{margin:5px auto;width:18px;height:18px;background-color:#4AF;border-radius:50%;box-shadow:#000 0 0 4px 1px,inset #247 0 -1px 5px,#48F 0 2px 12px}.LEDblue_off{margin:5px auto;width:18px;height:18px;background-color:#137;border-radius:50%;box-shadow:#024 0 0 1px 1px}#hintBase,#hintStyle,#hintEq{float:left;margin-top:30px;margin-right:20px;padding:5px;width:600px;color:yellow}#section{margin:5px}#baseButtonsWrapper{float:right;margin-top:30px;margin-right:10px;width:160px}#styleButtonsWrapper{float:right;margin-top:30px;margin-right:10px;width:320px}#eqButtonsWrapper{float:right;margin-top:30px;margin-right:10px;width:320px}#completedButtonsWrapper{float:right;margin-right:10px;width:320px;margin-top:160px}.nextButton{float:right;margin-left:0}.backButton{float:left;margin-left:10px}
\ No newline at end of file
--- a/www/css/style.css	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/css/style.css	Fri May 01 16:37:31 2020 +0200
@@ -10,7 +10,8 @@
 
 #MainPanel,
 #fermenter,
-#co2meter {
+#co2meter,
+#ispindel {
     width: 1278px;
     height: 628px;
     border: 2px solid #4297d7;
@@ -65,7 +66,8 @@
 
 
 #fermenter_table,
-#co2meter_table {
+#co2meter_table,
+#ispindel_table {
     width: 960px;
     height: 210px;
     background: #252526;
@@ -105,7 +107,8 @@
  */
 
 #fermenter_thermometers,
-#co2meter_meters {
+#co2meter_meters,
+#ispindel_meters {
     width: 960px;
     height: 390px;
     float: left;
@@ -140,7 +143,8 @@
  * +-------------------------------+
  */
 #fermenter_panel_top,
-#co2meter_panel_top {
+#co2meter_panel_top,
+#ispindel_panel_top {
   width: 290px;
   height: 100px;
   float: right;
@@ -164,7 +168,9 @@
 }
 
 #co2meter_alarmled,
-#co2meter_powerled {
+#co2meter_powerled,
+#ispindel_alarmled,
+#ispindel_powerled {
   width: 50px;
   height: 30px;
   float: right;
@@ -173,7 +179,8 @@
   margin-right: 20px;
 }
 
-#co2meter_panel_display {
+#co2meter_panel_display,
+#ispindel_panel_display {
   width: 290px;
   height: 260px;
   float: right;
@@ -241,7 +248,8 @@
 
 
 #fermenter_panel_buttons,
-#co2meter_panel_buttons {
+#co2meter_panel_buttons,
+#ispindel_panel_buttons {
   width: 290px;
   height: 227px;
   float: right;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_equipments.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,134 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_equipments ORDER BY name");
+$row = mysqli_fetch_array($result);
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'EQUIPMENTS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'EQUIPMENT');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NOTES');
+        xmlwriter_text($xw, $row['notes']);
+        xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'BOIL_SIZE');
+        xmlwriter_text($xw, sprintf("%.4f", floatval($row['boil_size'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'BATCH_SIZE');
+        xmlwriter_text($xw, sprintf("%.4f", floatval($row['batch_size'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TUN_VOLUME');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['tun_volume'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TUN_WEIGHT');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['tun_weight'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TUN_SPECIFIC_HEAT');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['tun_specific_heat'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TUN_HEIGHT');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['tun_height'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TRUB_CHILLER_LOSS');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['trub_chiller_loss'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'EVAP_RATE');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['evap_rate'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'BOIL_TIME');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['boil_time'])));
+        xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'CALC_BOIL_VOLUME');
+        ($row['calc_boil_volume'] > 1) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TOP_UP_KETTLE');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['top_up_kettle'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'HOP_UTILIZATION');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['hop_utilization'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'LAUTER_VOLUME');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['lauter_volume'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'LAUTER_HEIGHT');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['lauter_height'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'LAUTER_DEADSPACE');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['lauter_deadspace'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'KETTLE_VOLUME');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['kettle_volume'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'KETTLE_HEIGHT');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['kettle_height'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'MASH_VOLUME');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['mash_volume'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'EFFICIENCY');
+        xmlwriter_text($xw, sprintf("%.5f", floatval($row['efficiency'])));
+        xmlwriter_end_element($xw);
+
+	xmlwriter_end_element($xw);	// EQUIPMENT
+}
+xmlwriter_end_element($xw);	// EQUIPMENTS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="equipments.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_fermentables.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,144 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_fermentables ORDER BY supplier,name");
+$row = mysqli_fetch_array($result);
+
+
+$fermentabletype = array( 'Grain', 'Sugar', 'Extract', 'Dry extract', 'Adjunct' );
+$graintype = array( 'Base', 'Roast', 'Crystal', 'Kilned', 'Sour malt', 'Special', 'No malt' );
+$addedtype = array( 'Mash', 'Boil', 'Fermentation', 'Lagering', 'Bottle', 'Kegs' );
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'FERMENTABLES');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'FERMENTABLES');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NOTES');
+        xmlwriter_text($xw, $row['notes']);
+        xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'TYPE');
+	xmlwriter_text($xw, $fermentabletype[$row['type']]);
+	xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'YIELD');
+        xmlwriter_text($xw, sprintf("%.5f",floatval($row['yield'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'COLOR');
+        xmlwriter_text($xw, sprintf("%.3f",ebc_to_srm(floatval($row['color']))));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'ADD_AFTER_BOIL');
+        ($row['added'] > 1) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'ORIGIN');
+        xmlwriter_text($xw, $row['origin']);
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'SUPPLIER');
+        xmlwriter_text($xw, $row['supplier']);
+        xmlwriter_end_element($xw);
+
+        if (floatval($row['coarse_fine_diff'])) {
+                xmlwriter_start_element($xw, 'COARSE_FINE_DIFF');
+                xmlwriter_text($xw, sprintf("%.4f",floatval($row['coarse_fine_diff'])));
+                xmlwriter_end_element($xw);
+        }
+
+        if (floatval($row['moisture'])) {
+                xmlwriter_start_element($xw, 'MOISTURE');
+                xmlwriter_text($xw, sprintf("%.4f",floatval($row['moisture'])));
+                xmlwriter_end_element($xw);
+        }
+
+        if (floatval($row['diastatic_power'])) {
+                xmlwriter_start_element($xw, 'DIASTATIC_POWER');
+                xmlwriter_text($xw, sprintf("%.4f",floatval($row['diastatic_power'])));
+                xmlwriter_end_element($xw);
+        }
+
+        if (floatval($row['protein'])) {
+                xmlwriter_start_element($xw, 'PROTEIN');
+                xmlwriter_text($xw, sprintf("%.4f",floatval($row['protein'])));
+                xmlwriter_end_element($xw);
+        }
+
+        if (floatval($row['max_in_batch'])) {
+                xmlwriter_start_element($xw, 'MAX_IN_BATCH');
+                xmlwriter_text($xw, sprintf("%.3f",floatval($row['max_in_batch'])));
+                xmlwriter_end_element($xw);
+        }
+
+        xmlwriter_start_element($xw, 'RECOMMEND_MASH');
+        ($row['recommend_mash']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
+        xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'DISPLAY_COLOR');
+        xmlwriter_text($xw, sprintf("%.0f EBC",floatval($row['color'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'GRAINTYPE');
+        xmlwriter_text($xw, $graintype[$row['graintype']]);
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'ADDED');
+        xmlwriter_text($xw, $addedtype[$row['added']]);
+        xmlwriter_end_element($xw);
+
+	if (floatval($row['di_ph'])) {
+                xmlwriter_start_element($xw, 'DI_pH');
+                xmlwriter_text($xw, sprintf("%.5f",floatval($row['di_ph'])));
+                xmlwriter_end_element($xw);
+        }
+
+	if (floatval($row['acid_to_ph_57'])) {
+                xmlwriter_start_element($xw, 'ACID_TO_pH_5.7');
+                xmlwriter_text($xw, sprintf("%.5f",floatval($row['acid_to_ph_57'])));
+                xmlwriter_end_element($xw);
+        }
+
+	xmlwriter_end_element($xw);	// FERMENTABLE
+}
+xmlwriter_end_element($xw);	// FERMENTABLES
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="fermentables.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_hops.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,125 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_hops ORDER BY origin,name");
+$row = mysqli_fetch_array($result);
+
+
+$hoptype = array( 'Bittering', 'Aroma', 'Both' );
+$hopform = array( 'Pellet', 'Plug', 'Leaf', 'Leaf', 'Leaf' );
+
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'HOPS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'HOP');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	if (strlen($row['notes'])) {
+        	xmlwriter_start_element($xw, 'NOTES');
+        	xmlwriter_text($xw, $row['notes']);
+        	xmlwriter_end_element($xw);
+	}
+
+	xmlwriter_start_element($xw, 'ALWAYS_ON_STOCK');
+        ($row['always_on_stock']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'ALPHA');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['alpha'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'BETA');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['beta'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'HUMULENE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['humulene'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'CAROPHYLLENE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['caryophyllene'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'COHUMULONE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['cohumulone'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'MYRCENE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['myrcene'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TOTAL_OIL');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['total_oil'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'HSI');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['hsi'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TYPE');
+        xmlwriter_text($xw, $hoptype[$row['type']]);
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'FORM');
+        xmlwriter_text($xw, $hopform[$row['form']]);
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'ORIGIN');
+        xmlwriter_text($xw, $row['origin']);
+        xmlwriter_end_element($xw);
+
+	if (strlen($row['substitutes'])) {
+        	xmlwriter_start_element($xw, 'SUBSTITUTES');
+        	xmlwriter_text($xw, $row['substitutes']);
+        	xmlwriter_end_element($xw);
+	}
+
+	if (floatval($row['cost']) > 0) {
+        	xmlwriter_start_element($xw, 'COST');
+        	xmlwriter_text($xw, sprintf("%.4f",floatval($row['cost'])));
+        	xmlwriter_end_element($xw);
+	}
+
+	xmlwriter_end_element($xw);	// HOP
+}
+xmlwriter_end_element($xw);	// HOPS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="hops.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_mashs.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,100 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM profile_mash ORDER BY name");
+$row = mysqli_fetch_array($result);
+
+
+$mashsteptype = array( 'Infusion', 'Temperature', 'Decoction' );
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'MASHS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'MASH');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	if (strlen($row['notes'])) {
+        	xmlwriter_start_element($xw, 'NOTES');
+        	xmlwriter_text($xw, $row['notes']);
+        	xmlwriter_end_element($xw);
+	}
+
+	xmlwriter_start_element($xw, 'MASH_STEPS');
+	$arr = json_decode($row['steps'], true);
+	foreach($arr as $item) { //foreach element in $arr
+        	xmlwriter_start_element($xw, 'MASH_STEP');
+
+        	xmlwriter_start_element($xw, 'VERSION');
+        	xmlwriter_text($xw, '1');
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_start_element($xw, 'NAME');
+        	xmlwriter_text($xw, $item['step_name']);
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_start_element($xw, 'TYPE');
+        	xmlwriter_text($xw, $mashsteptype[$item['step_type']]);
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_start_element($xw, 'STEP_TEMP');
+        	xmlwriter_text($xw, sprintf("%.4f",floatval($item['step_temp'])));
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_start_element($xw, 'STEP_TIME');
+        	xmlwriter_text($xw, sprintf("%.3f",floatval($item['step_time'])));
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_start_element($xw, 'RAMP_TIME');
+        	xmlwriter_text($xw, sprintf("%.3f",floatval($item['ramp_time'])));
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_start_element($xw, 'END_TEMP');
+        	xmlwriter_text($xw, sprintf("%.4f",floatval($item['end_temp'])));
+        	xmlwriter_end_element($xw);
+
+        	xmlwriter_end_element($xw);     // MASH_STEP
+	}
+
+	xmlwriter_end_element($xw);     // MASH_STEPS
+	xmlwriter_end_element($xw);	// MASH
+}
+xmlwriter_end_element($xw);	// MASHS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="mashs.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_miscs.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,99 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_miscs ORDER BY name");
+$row = mysqli_fetch_array($result);
+
+
+$misctype = array( 'Spice', 'Herb', 'Flavor', 'Fining', 'Water agent', 'Yeast nutrient', 'Other' );
+$miscuse = array( 'Starter', 'Mash', 'Boil', 'Primary', 'Secondary', 'Bottling' );
+
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'MISCS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'MISC');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'TYPE');
+	xmlwriter_text($xw, $misctype[$row['type']]);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT');
+	($row['amount_is_weight']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'USE');
+	xmlwriter_text($xw, $miscuse[$row['use_use']]);
+	xmlwriter_end_element($xw);
+
+	if (floatval($row['time']) > 0) {
+		xmlwriter_start_element($xw, 'TIME');
+		xmlwriter_text($xw, sprintf("%.3f",floatval($row['time'])));
+		xmlwriter_end_element($xw);
+	}
+
+	if (floatval($row['cost']) > 0) {
+		xmlwriter_start_element($xw, 'COST');
+		xmlwriter_text($xw, sprintf("%.5f",floatval($row['cost'])));
+		xmlwriter_end_element($xw);
+	}
+
+	xmlwriter_start_element($xw, 'ALWAYS_ON_STOCK');
+	($row['always_on_stock']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
+	xmlwriter_end_element($xw);
+
+	if (strlen($row['notes'])) {
+		xmlwriter_start_element($xw, 'NOTES');
+		xmlwriter_text($xw, $row['notes']);
+		xmlwriter_end_element($xw);
+	}
+
+	if (strlen($row['use_for'])) {
+		xmlwriter_start_element($xw, 'USE_FOR');
+		xmlwriter_text($xw, $row['use_for']);
+		xmlwriter_end_element($xw);
+	}
+
+	xmlwriter_end_element($xw);	// MISC
+}
+xmlwriter_end_element($xw);	// MISCS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="miscs.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_styles.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,151 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM profile_styles ORDER BY style_guide,style_letter,name");
+$row = mysqli_fetch_array($result);
+
+
+$styletype = array( 'Lager', 'Ale', 'Mead', 'Wheat', 'Mixed', 'Cider' );
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'STYLES');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'STYLE');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	if (strlen($row['category'])) {
+		xmlwriter_start_element($xw, 'CATEGORY');
+		xmlwriter_text($xw, $row['category']);
+		xmlwriter_end_element($xw);
+
+		xmlwriter_start_element($xw, 'CATEGORY_NUMBER');
+		xmlwriter_text($xw, $row['category_number']);
+		xmlwriter_end_element($xw);
+	}
+
+	xmlwriter_start_element($xw, 'STYLE_LETTER');
+	xmlwriter_text($xw, $row['style_letter']);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'STYLE_GUIDE');
+	xmlwriter_text($xw, $row['style_guide']);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'TYPE');
+	xmlwriter_text($xw, $styletype[$row['type']]);
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'OG_MIN');
+	xmlwriter_text($xw, sprintf("%.6f",floatval($row['og_min'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'OG_MAX');
+	xmlwriter_text($xw, sprintf("%.6f",floatval($row['og_max'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'FG_MIN');
+	xmlwriter_text($xw, sprintf("%.6f",floatval($row['fg_min'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'FG_MAX');
+	xmlwriter_text($xw, sprintf("%.6f",floatval($row['fg_max'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'IBU_MIN');
+	xmlwriter_text($xw, sprintf("%.3f",floatval($row['ibu_min'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'IBU_MAX');
+	xmlwriter_text($xw, sprintf("%.3f",floatval($row['ibu_max'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'COLOR_MIN');
+	xmlwriter_text($xw, sprintf("%.3f",ebc_to_srm(floatval($row['color_min']))));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'COLOR_MAX');
+	xmlwriter_text($xw, sprintf("%.3f",ebc_to_srm(floatval($row['color_max']))));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'CARB_MIN');
+	xmlwriter_text($xw, sprintf("%.4f",floatval($row['carb_min'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'CARB_MAX');
+	xmlwriter_text($xw, sprintf("%.4f",floatval($row['carb_max'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'ABV_MIN');
+	xmlwriter_text($xw, sprintf("%.4f",floatval($row['abv_min'])));
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'ABV_MAX');
+	xmlwriter_text($xw, sprintf("%.4f",floatval($row['abv_max'])));
+	xmlwriter_end_element($xw);
+
+	if (strlen($row['notes'])) {
+		xmlwriter_start_element($xw, 'NOTES');
+        	xmlwriter_text($xw, $row['notes']);
+        	xmlwriter_end_element($xw);
+	}
+
+        if (strlen($row['profile'])) {
+                xmlwriter_start_element($xw, 'PROFILE');
+                xmlwriter_text($xw, $row['profile']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['ingredients'])) {
+                xmlwriter_start_element($xw, 'INGREDIENTS');
+                xmlwriter_text($xw, $row['ingredients']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['examples'])) {
+                xmlwriter_start_element($xw, 'EXAMPLES');
+                xmlwriter_text($xw, $row['examples']);
+                xmlwriter_end_element($xw);
+        }
+
+	xmlwriter_end_element($xw);	// STYLE
+}
+xmlwriter_end_element($xw);	// STYLES
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="styles.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_suppliers.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,103 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_suppliers ORDER BY name");
+$row = mysqli_fetch_array($result);
+
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'SUPPLIERS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'SUPPLIER');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	if (strlen($row['notes'])) {
+		xmlwriter_start_element($xw, 'NOTES');
+		xmlwriter_text($xw, $row['notes']);
+		xmlwriter_end_element($xw);
+	}
+
+        if (strlen($row['address'])) {
+                xmlwriter_start_element($xw, 'ADDRESS');
+                xmlwriter_text($xw, $row['address']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['city'])) {
+                xmlwriter_start_element($xw, 'CITY');
+                xmlwriter_text($xw, $row['city']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['zip'])) {
+                xmlwriter_start_element($xw, 'ZIP');
+                xmlwriter_text($xw, $row['zip']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['country'])) {
+                xmlwriter_start_element($xw, 'COUNTRY');
+                xmlwriter_text($xw, $row['country']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['website'])) {
+                xmlwriter_start_element($xw, 'WEBSITE');
+                xmlwriter_text($xw, $row['website']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['email'])) {
+                xmlwriter_start_element($xw, 'EMAIL');
+                xmlwriter_text($xw, $row['email']);
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['phone'])) {
+                xmlwriter_start_element($xw, 'PHONE');
+                xmlwriter_text($xw, $row['phone']);
+                xmlwriter_end_element($xw);
+        }
+
+	xmlwriter_end_element($xw);	// SUPPLIER
+}
+xmlwriter_end_element($xw);	// SUPPLIERS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="suppliers.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_waters.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,99 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_waters ORDER BY name");
+$row = mysqli_fetch_array($result);
+
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'WATERS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'WATER');
+
+	xmlwriter_start_element($xw, 'VERSION');
+	xmlwriter_text($xw, '1');
+	xmlwriter_end_element($xw);
+
+	xmlwriter_start_element($xw, 'NAME');
+	xmlwriter_text($xw, $row['name']);
+	xmlwriter_end_element($xw);
+
+	if (floatval($row['cost']) > 0) {
+                xmlwriter_start_element($xw, 'COST');
+                xmlwriter_text($xw, sprintf("%.5f",floatval($row['cost'])));
+                xmlwriter_end_element($xw);
+        }
+
+        if (strlen($row['notes'])) {
+                xmlwriter_start_element($xw, 'NOTES');
+                xmlwriter_text($xw, $row['notes']);
+                xmlwriter_end_element($xw);
+        }
+
+	xmlwriter_start_element($xw, 'CALCIUM');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['calcium'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'BICARBONATE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['bicarbonate'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'SULFATE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['sulfate'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'CHLORIDE');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['chloride'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'SODIUM');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['sodium'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'MAGNESIUM');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['magnesium'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'TOTAL_ALKALINITY');
+        xmlwriter_text($xw, sprintf("%.4f",floatval($row['total_alkalinity'])));
+        xmlwriter_end_element($xw);
+
+        xmlwriter_start_element($xw, 'PH');
+        xmlwriter_text($xw, sprintf("%.5f",floatval($row['ph'])));
+        xmlwriter_end_element($xw);
+
+	xmlwriter_end_element($xw);	// WATER
+}
+xmlwriter_end_element($xw);	// WATERS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="waters.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/export_yeasts.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,75 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+$result = mysqli_query($link, "SELECT * FROM inventory_yeasts ORDER BY laboratory,product_id,name");
+$row = mysqli_fetch_array($result);
+
+function field($x, $field, $value) {
+        xmlwriter_start_element($x, $field);
+        xmlwriter_text($x, $value);
+        xmlwriter_end_element($x);
+}
+
+$yeasttype = array( 'Lager', 'Ale', 'Wheat', 'Wine', 'Champagne', 'Other', 'Other', 'Other', 'Other', 'Other' );
+$yeastform = array( 'Liquid', 'Dry', 'Slant', 'Culture', 'Frozen', 'Bottle', 'Dry' );
+$yeastflocculation = array( 'Low', 'Medium', 'High', 'Very high' );
+
+
+/*
+ * Create beerxml output
+ */
+$xw = xmlwriter_open_memory();
+xmlwriter_set_indent($xw, 1);
+$res = xmlwriter_set_indent_string($xw, ' ');
+
+xmlwriter_start_document($xw, '1.0', 'UTF-8');
+
+
+xmlwriter_start_element($xw, 'YEASTS');
+while ($row = mysqli_fetch_array($result)) {
+
+	xmlwriter_start_element($xw, 'YEAST');
+
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $row['name']);
+	field($xw, 'TYPE', $yeasttype[$row['type']]);
+	field($xw, 'FORM', $yeastform[$row['form']]);
+	field($xw, 'AMOUNT_IS_WEIGHT', ($row['form'] == '1' || $row['form'] == '6') ? 'TRUE':'FALSE');
+	field($xw, 'LABORATORY', $row['laboratory']);
+	if (strlen($row['product_id']))
+		field($xw, 'PRODUCT_ID', $row['product_id']);
+	field($xw, 'MIN_TEMPERATURE', sprintf("%.4f",floatval($row['min_temperature'])));
+	field($xw, 'MAX_TEMPERATURE', sprintf("%.4f",floatval($row['max_temperature'])));
+	field($xw, 'ATTENUATION', sprintf("%.4f",floatval($row['attenuation'])));
+	field($xw, 'ADD_TO_SECONDARY', ($row['use'] == 0) ? 'FALSE':'TRUE');
+	field($xw, 'FLOCCULATION', $yeastflocculation[$row['flocculation']]);
+	field($xw, 'MAX_REUSE', $row['max_reuse']);
+	if (floatval($row['cost']) > 0)
+		field($xw, 'COST', sprintf("%.5f",floatval($row['cost'])));
+	if (strlen($row['notes']))
+		field($xw, 'NOTES', $row['notes']);
+
+	xmlwriter_end_element($xw);	// YEAST
+}
+xmlwriter_end_element($xw);	// YEASTS
+
+$beerxml = xmlwriter_output_memory($xw);
+
+Header('Content-type: text/xml');
+header('Content-Disposition: attachment; filename="yeasts.xml"');
+header('Content-Transfer-Encoding: binary');
+header('Expires: 0');
+header('Pragma: no-cache');
+header('Content-Length: '.strlen($beerxml));
+exit($beerxml);
--- a/www/getco2pressurelog.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/getco2pressurelog.php	Fri May 01 16:37:31 2020 +0200
@@ -5,15 +5,21 @@
 if (isset($_GET["code"]))
 	$code = $_GET["code"] . ' ' . $_GET["name"];
 else
-	$code = "TB0015 Winterbier-2";
+	$code = "CB0080 Op stoom";
 
 $filename = 'log/co2pressure/' . $code . '.log';
+if (! file_exists($filename)) {
+	header("Content-type: application/json");
+	echo '{}';
+	exit;
+}
+
+
 /*
  * From Stackoverflow, the fastest way to count the lines in a file.
  */
 $file = new \SplFileObject($filename, 'r');
 $file->seek(PHP_INT_MAX);
-// $file->key() = lines in the file.
 
 define ('MAX_INTERVALS', 10);
 $GRAPH_INTERVAL = array ( 0, 1, 5, 15, 30, 60, 120, 240, 480, 720 );
@@ -27,7 +33,6 @@
 if ($graphstep > MAX_INTERVALS)
 	$graphstep = MAX_INTERVALS;
 
-//echo $code . '.log lines=' . $file->key() . ' interval=' . $GRAPH_INTERVAL[$graphstep] . ' graphstep=' . $graphstep . PHP_EOL;
 
 /*
  * 2014-11-15 18:39:12,TEMPERATURE,PRESSURE,UUID
@@ -58,34 +63,13 @@
 		    (($graphstep == 7) && (substr($buffer, 14, 2) == '00') && (($hr % 4) == 0)) ||
 		    (($graphstep == 8) && (substr($buffer, 14, 2) == '00') && (($hr % 8) == 0)) ||
 		    (($graphstep == 9) && (substr($buffer, 14, 2) == '00') && (($hr % 12) == 0))) {
-//				echo $hr . ' ' . $row[1] . ' ' . $buffer;
 			$lines++;
-
-//			$heat_used = $cool_used = 0;
-//			if ($row[10] && ($row[10] != "NA") && ($heater_l > 0)) {
-//				$heat_used = round((intval($row[10]) - $heater_l) * 100 / ($GRAPH_INTERVAL[$graphstep] * 60));
-//			}
-//			if ($row[12] && ($row[12] != "NA") && ($cooler_l > 0)) {
-//				$cool_used = round((intval($row[12]) - $cooler_l) * 100 / ($GRAPH_INTERVAL[$graphstep] * 60));
-//			}
-
-
-//				echo $GRAPH_INTERVAL[$graphstep] . ' ' . $heat_used . ' ' . $cool_used . PHP_EOL;
-
-//			if (($heat_used <= 100) && ($cool_used <= 100)) {
 			$logs[] = array(
 				'date' => $row[0],
 				'temperature' => $row[1],
 				'pressure' => $row[2]
 			);
-//			}
-
-//				if ($row[10] && ($row[10] != "NA"))
-//					$heater_l = intval($row[10]);
-//				if ($row[12] && ($row[12] != "NA"))
-//					$cooler_l = intval($row[12]);
 		}
-
 	}
 	if (!feof($handle)) {
 		echo "Error: unexpected fgets() fail\n";
@@ -94,4 +78,3 @@
 }
 header("Content-type: application/json");
 echo json_encode($logs);
-//echo $lines . ' lines' . PHP_EOL;
--- a/www/getfermenter.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/getfermenter.php	Fri May 01 16:37:31 2020 +0200
@@ -12,10 +12,5 @@
 $query = "SELECT * FROM mon_fermenters WHERE uuid=".$uuid."";
 $result = $mysqli->query($query);
 $resultArray = $result->fetch_array(MYSQLI_ASSOC);
-if ($resultArray['online'] == 'Y') {
-  $resultArray['online'] = 1;
-} else {
-  $resultArray['online'] = 0;
-}
 header("Content-type: application/json");
 echo json_encode($resultArray);
--- a/www/getfermentlog.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/getfermentlog.php	Fri May 01 16:37:31 2020 +0200
@@ -8,12 +8,18 @@
 	$code = "TB0015 Winterbier-2";
 
 $filename = 'log/fermentation/' . $code . '.log';
+if (! file_exists($filename)) {
+        header("Content-type: application/json");
+        echo '{}';
+        exit;
+}
+
+
 /*
  * From Stackoverflow, the fastest way to count the lines in a file.
  */
 $file = new \SplFileObject($filename, 'r');
 $file->seek(PHP_INT_MAX);
-// $file->key() = lines in the file.
 
 define ('MAX_INTERVALS', 10);
 $GRAPH_INTERVAL = array ( 0, 1, 5, 15, 30, 60, 120, 240, 480, 720 );
@@ -27,8 +33,6 @@
 if ($graphstep > MAX_INTERVALS)
 	$graphstep = MAX_INTERVALS;
 
-//echo $code . '.log lines=' . $file->key() . ' interval=' . $GRAPH_INTERVAL[$graphstep] . ' graphstep=' . $graphstep . PHP_EOL;
-
 /*
  * 2014-11-15 18:39,BEER,PRIMARY,20.312,19.750,-1.500,20.5,18.6,18.8,35,12345,0,67890,Whatsup
  *          |         |     |      |      |      |      |    |    |   |   |   |   |      |
@@ -115,4 +119,3 @@
 }
 header("Content-type: application/json");
 echo json_encode($logs);
-//echo $lines . ' lines' . PHP_EOL;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/getispindel.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,16 @@
+<?php
+
+require_once('config.php');
+
+if (isset($_GET["uuid"]))
+	    $uuid = $_GET["uuid"];
+else
+	    $uuid = "'c0ffeeee-cafe-dead-bee0-2af236d50dc9'";
+
+
+$mysqli = new mysqli(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+$query = "SELECT * FROM mon_ispindels WHERE uuid=".$uuid."";
+$result = $mysqli->query($query);
+$resultArray = $result->fetch_array(MYSQLI_ASSOC);
+header("Content-type: application/json");
+echo json_encode($resultArray);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/getispindellog.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,50 @@
+<?php
+
+require_once('config.php');
+
+if (isset($_GET["code"]))
+	$code = $_GET["code"] . ' ' . $_GET["name"];
+else
+	$code = "CB0081 Keuls";
+
+$filename = 'log/ispindel/' . $code . '.log';
+if (! file_exists($filename)) {
+        header("Content-type: application/json");
+        echo '{}';
+        exit;
+}
+
+
+/*
+ * 2014-11-15 18:39:12,TEMPERATURE,PLATO,SG,BATTERY,ANGLE,INVERVAL,UUID
+ *          |              |         |    |    |
+ * datetime +              |         |    |    |
+ * temperature ------------+         |    |    |
+ * density plato --------------------+    |    |
+ * density sg ----------------------------+    |
+ * battery ------------------------------------+
+ */
+$handle = @fopen($filename, "r");
+if ($handle) {
+	$lines = 0;
+	while (($buffer = fgets($handle, 4096)) !== false) {
+
+		$buffer = preg_replace( "/\r|\n/", "", $buffer);
+		$row = explode(",", $buffer);
+		$lines++;
+
+		$logs[] = array(
+			'date' => $row[0],
+			'temperature' => $row[1],
+			'plato' => $row[2],
+			'sg' => $row[3],
+			'battery' => $row[4]
+		);
+	}
+	if (!feof($handle)) {
+		echo "Error: unexpected fgets() fail\n";
+	}
+	fclose($handle);
+}
+header("Content-type: application/json");
+echo json_encode($logs);
--- a/www/getnode.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/getnode.php	Fri May 01 16:37:31 2020 +0200
@@ -13,10 +13,5 @@
 $result = $mysqli->query($query);
 //Copy result into a associative array
 $resultArray = $result->fetch_array(MYSQLI_ASSOC);
-if ($resultArray['online'] == 'Y') {
-    $resultArray['online'] = 1;
-} else {
-    $resultArray['online'] = 0;
-}
 header("Content-type: application/json");
 echo json_encode($resultArray);
--- a/www/getyeastsources.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/getyeastsources.php	Fri May 01 16:37:31 2020 +0200
@@ -23,7 +23,14 @@
 		'cells' => $row['cells'],
 		'inventory' => $row['inventory'],
 		'cost' => $row['cost'],
-		'tolerance' => $row['tolerance']
+		'tolerance' => $row['tolerance'],
+		'sta1' => $row['sta1'],
+		'bacteria' => $row['bacteria'],
+		'harvest_top' => $row['harvest_top'],
+		'harvest_time' => $row['harvest_time'],
+		'pitch_temperature' => $row['pitch_temperature'],
+		'pofpos' => $row['pofpos'],
+		'zymocide' => $row['zymocide']
 	);
 }
 header("Content-type: application/json");
Binary file www/images/science.png has changed
--- a/www/includes/constants.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/constants.php	Fri May 01 16:37:31 2020 +0200
@@ -6,6 +6,7 @@
 $ibumethod = array( 'Tinseth', 'Rager', 'Daniels' );
 $coolingtype = array( '-', 'Dompelkoeler', 'Tegenstroomkoeler', 'Au bain marie', 'Laten afkoelen' );
 $aerationtype = array( 'Geen', 'Lucht', 'Zuurstof' );
+$splitat = array( 'Niet', 'Na maischen', 'Na koken', 'Na koelen', 'Na hoofdgisting', 'Na nagisting', 'Na lageren' );
 
 $added = array( 'Maischen', 'Koken', 'Vergisten', 'Nagisten/lageren', 'Bottelen', 'Fust' );
 $fermentabletype = array( 'Mout', 'Suiker', 'Vloeibaar extract', 'Droog extract', 'Ongemout graan' );
@@ -23,5 +24,7 @@
 $miscuse = array( 'Starter', 'Maischen', 'Koken', 'Hoofdvergisting', 'Nagisting/lagering', 'Bottelen' );
 
 $mashtype = array( 'Infusie', 'Verwarming', 'Decoctie' );
+$acidtype = array( 'Melkzuur', 'Zoutzuur', 'Fosforzuur', 'Zwavelzuur' );
+
 
 ?>
--- a/www/includes/db_divides.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/db_divides.php	Fri May 01 16:37:31 2020 +0200
@@ -4,75 +4,418 @@
 require($_SERVER['DOCUMENT_ROOT']."/version.php");
 
 #Connect to the database
-$connect = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
-if (! $connect) {
+$link = mysqli_connect(DBASE_HOST, DBASE_USER, DBASE_PASS, DBASE_NAME);
+if (! $link) {
 	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
 }
-mysqli_set_charset($connect, "utf8" );
+mysqli_set_charset($link, "utf8" );
 
+$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
+$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
+$rescapers = array("'");
+$rreplacements = array("\\'");
+$disallowed = array('visibleindex','uniqueid','boundindex','uid','h_weight','m_weight');
 
-if (isset($_POST['insert']) || isset($_POST['update'])) {
-	if (isset($_POST['insert'])) {
-		$sql  = "INSERT INTO `divides` SET ";
-	}
-	if (isset($_POST['update'])) {
-		$sql  = "UPDATE `divides` SET ";
+/*
+ * Server side split batch. Parameters:
+ * record = original record.
+ * divide_type = divide moment.
+ * divide parts = number of divisions
+ * divide_data = array with { size, factor, part, name, code } where index 0 is original
+ *
+ * generate the new records and modify the original record.
+ * rollback if something goes wrong.
+ * return ok or error
+ */
+
+if (isset($_POST['record']) && isset($_POST['divide_type']) && isset($_POST['divide_parts']) && isset($_POST['divide_data'])) {
+
+    $rc = 0;
+    $record = $_POST['record'];
+    $divide_parts = $_POST['divide_parts'];
+    $divide_type = $_POST['divide_type'];
+    $divide_data = array_reverse($_POST['divide_data'], true); // reverse the array so the master record is last.
+
+    syslog(LOG_NOTICE, "db_divide: record " . $record . "  divide_type " . $divide_type . "  parts " . $divide_parts);
+
+    foreach ($divide_data as $index => &$split) {
+	syslog(LOG_NOTICE, "db_divide: index " . $index);
+
+	foreach ($split as $key => &$value) {
+	    syslog(LOG_NOTICE, "db_divide: index " . $index . " key " . $key . " value " . $value);
 	}
 
-	$sql .= "divide_from='" . mysqli_real_escape_string($connect, $_POST['divide_from']);
-	$sql .= "', divide_type='" . $_POST['divide_type'];
-	$sql .= "', divide_size='" . $_POST['divide_size'];
-	$sql .= "', divide_part='" . $_POST['divide_part'];
-	$sql .= "', name='" . mysqli_real_escape_string($connect, $_POST['name']);
-	$sql .= "', code='" . mysqli_real_escape_string($connect, $_POST['code']);
-	if (isset($_POST['insert'])) {
-		$sql .= "';";
-	}
-	if (isset($_POST['update'])) {
-		$sql .= "' WHERE record='" . $_POST['record'] . "';";
+	$result = mysqli_query($link, "SELECT * FROM products WHERE record='" . $record . "'");
+	if (! $result) {
+            syslog(LOG_NOTICE, "db_divide: result: ".mysqli_error($link));
 	}
-	syslog(LOG_NOTICE, $sql);
+	$row = mysqli_fetch_array($result);
+	$factor = floatval($split['factor']);
 
-	$result = mysqli_query($connect, $sql);
-	if (! $result) {
-		syslog(LOG_NOTICE, "db_divides: ".$sql." result: ".mysqli_error($connect));
-	} else {
-		if (isset($_POST['update'])) {
-			syslog(LOG_NOTICE, "db_divides: updated record ".$_POST['record']);
-		} else {
-			$lastid = mysqli_insert_id($connect);
-			syslog(LOG_NOTICE, "db_divides: inserted record ".$lastid);
-		}
-	}
-	echo $result;
+	if ($index == 0) {
+	    /*
+	     * Update the main record
+	     */
+	    $sql = "UPDATE `products` SET ";
+            $sql .=    "brew_sparge_volume='" . sprintf("%.1f", $row['brew_sparge_volume'] * $factor);
+            $sql .= "', brew_sparge_est='" . sprintf("%.1f", $row['brew_sparge_est'] * $factor);
+            $sql .= "', brew_preboil_volume='" . sprintf("%.1f", $row['brew_preboil_volume'] * $factor);
+            $sql .= "', brew_aboil_volume='" . sprintf("%.1f", $row['brew_aboil_volume'] * $factor);
+            $sql .= "', brew_fermenter_volume='" . sprintf("%.1f", $row['brew_fermenter_volume'] * $factor);
+            $sql .= "', brew_fermenter_extrawater='" . sprintf("%.1f", $row['brew_fermenter_extrawater'] * $factor);
+            $sql .= "', brew_fermenter_tcloss='" . sprintf("%.1f", $row['brew_fermenter_tcloss'] * $factor);
+            $sql .= "', package_volume='" . sprintf("%.1f", $row['package_volume'] * $factor);
+            $sql .= "', package_infuse_amount='" . sprintf("%.1f", $row['package_infuse_amount'] * $factor);
+            $sql .= "', bottle_amount='" . sprintf("%.1f", $row['bottle_amount'] * $factor);
+            $sql .= "', bottle_priming_water='" . sprintf("%.3f", $row['bottle_priming_water'] * $factor);
+            $sql .= "', keg_amount='" . sprintf("%.1f", $row['keg_amount'] * $factor);
+            $sql .= "', keg_priming_water='" . sprintf("%.3f", $row['keg_priming_water'] * $factor);
+            $sql .= "', batch_size='" . sprintf("%.2f", $row['batch_size'] * $factor);
+            $sql .= "', boil_size='" . sprintf("%.2f", $row['boil_size'] * $factor);
+            $sql .= "', sparge_volume='" . sprintf("%.1f", $row['sparge_volume'] * $factor);
+            $sql .= "', sparge_acid_amount='" . sprintf("%.5f", $row['sparge_acid_amount'] * $factor);
+            $sql .= "', w1_amount='" . sprintf("%.2f", $row['w1_amount'] * $factor);
+            $sql .= "', w2_amount='" . sprintf("%.2f", $row['w2_amount'] * $factor);
+            $sql .= "', wg_amount='" . sprintf("%.2f", $row['wg_amount'] * $factor);
+            $sql .= "', prop1_volume='" . sprintf("%.3f", $row['prop1_volume'] * $factor);
+            $sql .= "', prop2_volume='" . sprintf("%.3f", $row['prop2_volume'] * $factor);
+            $sql .= "', prop3_volume='" . sprintf("%.3f", $row['prop3_volume'] * $factor);
+            $sql .= "', prop4_volume='" . sprintf("%.3f", $row['prop4_volume'] * $factor);
+            $sql .= "', divide_type='" . $divide_type;
+            $sql .= "', divide_parts='" . $divide_parts;
+            $sql .= "', divide_part='" . $index;
+            $sql .= "', divide_size='" . floatval($split['size']);
+            $sql .= "', divide_factor='". $factor;
+	    syslog(LOG_NOTICE, "db_divide: index " . $index . " " . $sql);
 
-} else if (isset($_POST['delete'])) {
-	// DELETE COMMAND
-	$sql = "DELETE FROM `divides` WHERE record='".$_POST['record']."';";
-	$result = mysqli_query($connect, $sql);
-	if (! $result) {
-		syslog(LOG_NOTICE, "db_divides: ".$sql." result: ".mysqli_error($connect));
 	} else {
-		syslog(LOG_NOTICE, "db_divides: deleted record ".$_POST['record']);
+	    /*
+	     * Insert splitted batches
+	     */
+	    $uuid = str_replace("\n", "", file_get_contents('/proc/sys/kernel/random/uuid'));
+	    $sql  = "INSERT INTO `products` SET ";
+	    $sql .= "name='" . mysqli_real_escape_string($link, $split['name']);
+	    $sql .= "', uuid='" . $uuid;
+	    $sql .= "', code='" . mysqli_real_escape_string($link, $split['code']);
+	    $sql .= "', birth='" . $row['birth'];
+	    $sql .= "', stage='" . $row['stage'];
+	    $sql .= "', notes='" . mysqli_real_escape_string($link, $row['notes']);
+	    $sql .= "', log_brew='" . $row['log_brew'];
+	    $sql .= "', log_fermentation='" . $row['log_fermentation'];
+	    $sql .= "', log_ispindel='" . $row['log_ispindel'];
+	    $sql .= "', log_co2pressure='" . $row['log_co2pressure'];
+	    $sql .= "', inventory_reduced='" . $row['inventory_reduced'];;
+	    $sql .= "', locked='" . $row['locked'];;
+	    // Equipment
+	    $sql .= "', eq_name='" . mysqli_real_escape_string($link, $row['eq_name']);
+	    $sql .= "', eq_boil_size='" . $row['eq_boil_size'];
+	    $sql .= "', eq_batch_size='" . $row['eq_batch_size'];
+	    $sql .= "', eq_tun_volume='" . $row['eq_tun_volume'];
+	    $sql .= "', eq_tun_weight='" . $row['eq_tun_weight'];
+	    $sql .= "', eq_tun_specific_heat='" . $row['eq_tun_specific_heat'];
+	    $sql .= "', eq_tun_material='" . $row['eq_tun_material'];
+	    $sql .= "', eq_tun_height='" . $row['eq_tun_height'];
+	    $sql .= "', eq_top_up_water='" . $row['eq_top_up_water'];
+	    $sql .= "', eq_trub_chiller_loss='" . $row['eq_trub_chiller_loss'];
+	    $sql .= "', eq_evap_rate='" . $row['eq_evap_rate'];
+	    $sql .= "', eq_boil_time='" . $row['eq_boil_time'];
+	    $sql .= "', eq_calc_boil_volume='" . $row['eq_calc_boil_volume'];
+	    $sql .= "', eq_top_up_kettle='" . $row['eq_top_up_kettle'];
+	    $sql .= "', eq_hop_utilization='" . $row['eq_hop_utilization'];
+	    $sql .= "', eq_notes='" . mysqli_real_escape_string($link, $row['eq_notes']);
+	    $sql .= "', eq_lauter_volume='" . $row['eq_lauter_volume'];
+	    $sql .= "', eq_lauter_height='" . $row['eq_lauter_height'];
+	    $sql .= "', eq_lauter_deadspace='" . $row['eq_lauter_deadspace'];
+	    $sql .= "', eq_kettle_volume='" . $row['eq_kettle_volume'];
+	    $sql .= "', eq_kettle_height='" . $row['eq_kettle_height'];
+	    $sql .= "', eq_mash_volume='" . $row['eq_mash_volume'];
+	    $sql .= "', eq_mash_max='" . $row['eq_mash_max'];
+	    $sql .= "', eq_efficiency='" . $row['eq_efficiency'];
+	    // brewdate
+	    if (strlen($row['brew_date_start']))
+	    	$sql .= "', brew_date_start='" . $row['brew_date_start'] . "'";
+	    else
+		$sql .= "', brew_date_start=NULL";
+            $sql .=  ", brew_mash_ph='" . $row['brew_mash_ph'];
+            $sql .= "', brew_mash_sg='" . $row['brew_mash_sg'];
+	    $sql .= "', brew_mash_efficiency='" . $row['brew_mash_efficiency'];
+	    $sql .= "', brew_sparge_temperature='" . $row['brew_sparge_temperature'];
+	    $sql .= "', brew_sparge_volume='" . sprintf("%.1f", $row['brew_sparge_volume'] * $factor);
+            $sql .= "', brew_sparge_est='" . sprintf("%.1f", $row['brew_sparge_est'] * $factor);
+            $sql .= "', brew_sparge_ph='" . $row['brew_sparge_ph'];
+            $sql .= "', brew_preboil_volume='" . sprintf("%.1f", $row['brew_preboil_volume'] * $factor);
+            $sql .= "', brew_preboil_sg='" . $row['brew_preboil_sg'];
+            $sql .= "', brew_preboil_ph='" . $row['brew_preboil_ph'];
+	    $sql .= "', brew_preboil_efficiency='" . $row['brew_preboil_efficiency'];
+            $sql .= "', brew_aboil_volume='" . sprintf("%.1f", $row['brew_aboil_volume'] * $factor);
+            $sql .= "', brew_aboil_sg='" . $row['brew_aboil_sg'];
+            $sql .= "', brew_aboil_ph='" . $row['brew_aboil_ph'];
+            $sql .= "', brew_aboil_efficiency='" . $row['brew_aboil_efficiency'];
+	    $sql .= "', brew_cooling_method='" . $row['brew_cooling_method'];
+            $sql .= "', brew_cooling_time='" . $row['brew_cooling_time'];
+	    $sql .= "', brew_cooling_to='" . $row['brew_cooling_to'];
+	    $sql .= "', brew_whirlpool9='" . $row['brew_whirlpool9'];
+	    $sql .= "', brew_whirlpool7='" . $row['brew_whirlpool7'];
+	    $sql .= "', brew_whirlpool6='" . $row['brew_whirlpool6'];
+	    $sql .= "', brew_whirlpool2='" . $row['brew_whirlpool2'];
+	    $sql .= "', brew_aeration_time='" . $row['brew_aeration_time'];
+	    $sql .= "', brew_aeration_speed='" . $row['brew_aeration_speed'];
+	    $sql .= "', brew_aeration_type='" . $row['brew_aeration_type'];
+	    $sql .= "', brew_fermenter_volume='" . sprintf("%.1f", $row['brew_fermenter_volume'] * $factor);
+	    $sql .= "', brew_fermenter_extrawater='" . sprintf("%.1f", $row['brew_fermenter_extrawater'] * $factor);
+	    $sql .= "', brew_fermenter_tcloss='" . sprintf("%.1f", $row['brew_fermenter_tcloss'] * $factor);
+            $sql .= "', brew_fermenter_sg='" . $row['brew_fermenter_sg'];
+	    $sql .= "', brew_fermenter_ibu='" . $row['brew_fermenter_ibu'];
+	    $sql .= "', brew_fermenter_color='" . $row['brew_fermenter_color'];
+	    if (strlen($row['brew_date_end']))
+		$sql .= "', brew_date_end='" . $row['brew_date_end'] . "'";
+	    else
+		$sql .= "', brew_date_end=NULL";
+	    $sql .=  ", og='" . $row['og'];
+	    $sql .= "', fg='" . $row['fg'];
+	    $sql .= "', primary_start_temp='" . $row['primary_start_temp'];
+	    $sql .= "', primary_max_temp='" . $row['primary_max_temp'];
+	    $sql .= "', primary_end_temp='" . $row['primary_end_temp'];
+	    if (strlen($row['primary_end_date']))
+		$sql .= "', primary_end_date='" . $row['primary_end_date'] . "'";
+	    else
+	    	$sql .= "', primary_end_date=NULL";
+	    $sql .=  ", primary_end_sg='" . $row['primary_end_sg'];
+	    $sql .= "', secondary_temp='" . $row['secondary_temp'];
+	    $sql .= "', secondary_end_sg='" . $row['secondary_end_sg'];
+	    if (strlen($row['secondary_end_date']))
+		$sql .= "', secondary_end_date='" . $row['secondary_end_date'] . "'";
+	    else
+	    	$sql .= "', secondary_end_date=NULL";
+	    $sql .=  ", tertiary_temp='" . $row['tertiary_temp'];
+	    if (strlen($row['package_date']))
+		$sql .= "', package_date='" . $row['package_date'] . "'";
+	    else
+		$sql .= "', package_date=NULL";
+	    $sql .=  ", package_volume='" . sprintf("%.1f", $row['package_volume'] * $factor);
+	    $sql .= "', package_infuse_amount='" . sprintf("%.1f", $row['package_infuse_amount'] * $factor);
+	    $sql .= "', package_infuse_abv='" . $row['package_infuse_abv'];
+	    $sql .= "', package_infuse_notes='" . mysqli_real_escape_string($link, $row['package_infuse_notes']);
+	    $sql .= "', package_abv='" . $row['package_abv'];
+	    $sql .= "', package_ph='" . $row['package_ph'];
+	    $sql .= "', bottle_amount='" . sprintf("%.1f", $row['bottle_amount'] * $factor);
+	    $sql .= "', bottle_carbonation='" . $row['bottle_carbonation'];
+	    $sql .= "', bottle_priming_sugar='" . $row['bottle_priming_sugar'];
+	    $sql .= "', bottle_priming_water='" . sprintf("%.3f", $row['bottle_priming_water'] * $factor);
+	    $sql .= "', bottle_priming_amount='" . $row['bottle_priming_amount'];
+	    $sql .= "', bottle_carbonation_temp='" . $row['bottle_carbonation_temp'];
+	    $sql .= "', keg_amount='" . sprintf("%.1f", $row['keg_amount'] * $factor);
+	    $sql .= "', keg_carbonation='" . $row['keg_carbonation'];
+	    $sql .= "', keg_priming_sugar='" . $row['keg_priming_sugar'];
+	    $sql .= "', keg_priming_water='" . sprintf("%.3f", $row['keg_priming_water'] * $factor);
+	    $sql .= "', keg_priming_amount='" . $row['keg_priming_amount'];
+	    $sql .= "', keg_carbonation_temp='" . $row['keg_carbonation_temp'];
+	    $sql .= "', keg_forced_carb='" . $row['keg_forced_carb'];
+	    $sql .= "', keg_pressure='" . $row['keg_pressure'];
+	    $sql .= "', taste_notes='";
+	    $sql .= "', taste_rate='0";
+	    $sql .= "', taste_date=NULL";
+	    $sql .=  ", taste_color='";
+	    $sql .= "', taste_transparency='";
+	    $sql .= "', taste_head='";
+	    $sql .= "', taste_aroma='";
+	    $sql .= "', taste_taste='";
+	    $sql .= "', taste_mouthfeel='";
+	    $sql .= "', taste_aftertaste='";
+	    // Style
+	    $sql .= "', st_name='" . mysqli_real_escape_string($link, $row['st_name']);
+	    $sql .= "', st_letter='" . mysqli_real_escape_string($link, $row['st_letter']);
+	    $sql .= "', st_guide='" . mysqli_real_escape_string($link, $row['st_guide']);
+	    $sql .= "', st_type='" . $row['st_type'];
+	    $sql .= "', st_category='" . mysqli_real_escape_string($link, $row['st_category']);
+	    $sql .= "', st_category_number='" . $row['st_category_number'];
+	    $sql .= "', st_og_min='" . $row['st_og_min'];
+	    $sql .= "', st_og_max='" . $row['st_og_max'];
+	    $sql .= "', st_fg_min='" . $row['st_fg_min'];
+	    $sql .= "', st_fg_max='" . $row['st_fg_max'];
+	    $sql .= "', st_ibu_min='" . $row['st_ibu_min'];
+	    $sql .= "', st_ibu_max='" . $row['st_ibu_max'];
+	    $sql .= "', st_color_min='" . $row['st_color_min'];
+	    $sql .= "', st_color_max='" . $row['st_color_max'];
+	    $sql .= "', st_carb_min='" . $row['st_carb_min'];
+	    $sql .= "', st_carb_max='" . $row['st_carb_max'];
+	    $sql .= "', st_abv_min='" . $row['st_abv_min'];
+	    $sql .= "', st_abv_max='" . $row['st_abv_max'];
+	    $sql .= "', type='" . $row['type'];
+            $sql .= "', batch_size='" . sprintf("%.2f", $row['batch_size'] * $factor);
+            $sql .= "', boil_size='" . sprintf("%.2f", $row['boil_size'] * $factor);
+	    $sql .= "', boil_time='" . $row['boil_time'];
+	    $sql .= "', efficiency='" . $row['efficiency'];
+	    $sql .= "', est_og='" . $row['est_og'];
+	    $sql .= "', est_og3='" . $row['est_og3'];
+	    $sql .= "', est_fg='" . $row['est_fg'];
+	    $sql .= "', est_abv='" . $row['est_abv'];
+	    $sql .= "', est_carb='" . $row['est_carb'];
+	    $sql .= "', est_color='" . $row['est_color'];
+	    $sql .= "', color_method='" . $row['color_method'];
+	    $sql .= "', est_ibu='" . $row['est_ibu'];
+	    $sql .= "', ibu_method='" . $row['ibu_method'];
+            $sql .= "', sparge_volume='" . sprintf("%.1f", $row['sparge_volume'] * $factor);
+            $sql .= "', sparge_acid_amount='" . sprintf("%.5f", $row['sparge_acid_amount'] * $factor);
+	    $sql .= "', sparge_temp='" . $row['sparge_temp'];
+	    $sql .= "', sparge_ph='" . $row['sparge_ph'];
+	    $sql .= "', sparge_source='" . $row['sparge_source'];
+	    $sql .= "', sparge_acid_type='" . $row['sparge_acid_type'];
+	    $sql .= "', sparge_acid_perc='" . $row['sparge_acid_perc'];
+	    $sql .= "', mash_ph='" . $row['mash_ph'];
+	    $sql .= "', mash_name='" . $row['mash_name'];
+	    $sql .= "', calc_acid='" . $row['calc_acid'];
+	    $sql .= "', w1_name='" . mysqli_real_escape_string($link, $row['w1_name']);
+            $sql .= "', w1_amount='" . sprintf("%.2f", $row['w1_amount'] * $factor);
+	    $sql .= "', w1_calcium='" . $row['w1_calcium'];
+	    $sql .= "', w1_sulfate='" . $row['w1_sulfate'];
+	    $sql .= "', w1_chloride='" . $row['w1_chloride'];
+	    $sql .= "', w1_sodium='" . $row['w1_sodium'];
+	    $sql .= "', w1_magnesium='" . $row['w1_magnesium'];
+	    $sql .= "', w1_total_alkalinity='" . $row['w1_total_alkalinity'];
+	    $sql .= "', w1_ph='" . $row['w1_ph'];
+            $sql .= "', w1_cost='" . $row['w1_cost'];
+	    $sql .= "', w2_name='" . mysqli_real_escape_string($link, $row['w2_name']);
+            $sql .= "', w2_amount='" . sprintf("%.2f", $row['w2_amount'] * $factor);
+	    $sql .= "', w2_calcium='" . $row['w2_calcium'];
+	    $sql .= "', w2_sulfate='" . $row['w2_sulfate'];
+	    $sql .= "', w2_chloride='" . $row['w2_chloride'];
+	    $sql .= "', w2_sodium='" . $row['w2_sodium'];
+	    $sql .= "', w2_magnesium='" . $row['w2_magnesium'];
+	    $sql .= "', w2_total_alkalinity='" . $row['w2_total_alkalinity'];
+	    $sql .= "', w2_ph='" . $row['w2_ph'];
+	    $sql .= "', w2_cost='" . $row['w2_cost'];
+            $sql .= "', wg_amount='" . sprintf("%.2f", $row['wg_amount'] * $factor);
+            $sql .= "', wg_calcium='" . $row['wg_calcium'];
+            $sql .= "', wg_sulfate='" . $row['wg_sulfate'];
+            $sql .= "', wg_chloride='" . $row['wg_chloride'];
+            $sql .= "', wg_sodium='" . $row['wg_sodium'];
+            $sql .= "', wg_magnesium='" . $row['wg_magnesium'];
+            $sql .= "', wg_total_alkalinity='" . $row['wg_total_alkalinity'];
+            $sql .= "', wg_ph='" . $row['wg_ph'];
+            $sql .= "', wb_calcium='" . $row['wb_calcium'];
+            $sql .= "', wb_sulfate='" . $row['wb_sulfate'];
+            $sql .= "', wb_chloride='" . $row['wb_chloride'];
+            $sql .= "', wb_sodium='" . $row['wb_sodium'];
+            $sql .= "', wb_magnesium='" . $row['wb_magnesium'];
+            $sql .= "', wb_total_alkalinity='" . $row['wb_total_alkalinity'];
+            $sql .= "', wb_ph='" . $row['wb_ph'];
+	    $sql .= "', wa_acid_name='" . $row['wa_acid_name'];
+	    $sql .= "', wa_acid_perc='" . $row['wa_acid_perc'];
+	    $sql .= "', wa_base_name='" . $row['wa_base_name'];
+	    $sql .= "', starter_enable='" . $row['starter_enable'];
+	    $sql .= "', starter_type='" . $row['starter_type'];
+	    $sql .= "', starter_sg='" . $row['starter_sg'];
+	    $sql .= "', starter_viability='" . $row['starter_viability'];
+	    $sql .= "', prop1_type='" . $row['prop1_type'];
+	    $sql .= "', prop2_type='" . $row['prop2_type'];
+	    $sql .= "', prop3_type='" . $row['prop3_type'];
+	    $sql .= "', prop4_type='" . $row['prop4_type'];
+            $sql .= "', prop1_volume='" . sprintf("%.3f", $row['prop1_volume'] * $factor);
+            $sql .= "', prop2_volume='" . sprintf("%.3f", $row['prop2_volume'] * $factor);
+            $sql .= "', prop3_volume='" . sprintf("%.3f", $row['prop3_volume'] * $factor);
+            $sql .= "', prop4_volume='" . sprintf("%.3f", $row['prop4_volume'] * $factor);
+	    $sql .= "', divide_type='" . $divide_type;
+	    $sql .= "', divide_parts='" . $divide_parts;
+            $sql .= "', divide_part='" . $index;
+            $sql .= "', divide_size='" . floatval($split['size']);
+	    $sql .= "', divide_factor='". $factor;
+	    syslog(LOG_NOTICE, "db_divide: index " . $index . " " . $sql);
 	}
-	echo $result;
+    
+	$fermentables = json_decode($row['json_fermentables'], true);
+    	for ($i = 0; $i < count($fermentables); $i++) {
+	    $fermentables[$i]['f_amount'] = sprintf("%.5f", $fermentables[$i]['f_amount'] * $factor);
+    	}
+    	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($fermentables, JSON_UNESCAPED_UNICODE)));
+    	$sql .= "', json_fermentables='" . str_replace($rescapers,$rreplacements,json_encode($fermentables, JSON_UNESCAPED_UNICODE));
+
+	$hops = json_decode($row['json_hops'], true);
+	for ($i = 0; $i < count($hops); $i++) {
+	    $hops[$i]['h_amount'] = sprintf("%.5f", $hops[$i]['h_amount'] * $factor);
+	}
+	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($hops, JSON_UNESCAPED_UNICODE)));
+	$sql .= "', json_hops='" . str_replace($rescapers,$rreplacements,json_encode($hops, JSON_UNESCAPED_UNICODE));
+
+	$miscs = json_decode($row['json_miscs'], true);
+	for ($i = 0; $i < count($miscs); $i++) {
+            $miscs[$i]['m_amount'] = sprintf("%.5f", $miscs[$i]['m_amount'] * $factor);
+	}
+	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($miscs, JSON_UNESCAPED_UNICODE)));
+	$sql .= "', json_miscs='" . str_replace($rescapers,$rreplacements,json_encode($miscs, JSON_UNESCAPED_UNICODE));
+
+	$yeasts = json_decode($row['json_yeasts'], true);
+	for ($i = 0; $i < count($yeasts); $i++) {
+	    $yeasts[$i]['y_amount'] = sprintf("%.5f", $yeasts[$i]['y_amount'] * $factor);
+	}
+	// syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($yeasts, JSON_UNESCAPED_UNICODE)));
+	$sql .= "', json_yeasts='" . str_replace($rescapers,$rreplacements,json_encode($yeasts, JSON_UNESCAPED_UNICODE));
+
+	$mashs = json_decode($row['json_mashs'], true);
+	for ($i = 0; $i < count($mashs); $i++) {
+	    $mashs[$i]['step_infuse_amount'] = sprintf("%.5f", $mashs[$i]['step_infuse_amount'] * $factor);
+	}
+	syslog(LOG_NOTICE, "db_divide: " . str_replace($rescapers,$rreplacements,json_encode($mashs, JSON_UNESCAPED_UNICODE)));
+	$sql .= "', json_mashs='" . str_replace($rescapers,$rreplacements,json_encode($mashs, JSON_UNESCAPED_UNICODE));
 
+	if ($index == 0) {
+	    $sql .= "' WHERE record='" . $record . "';";
+	    $result2 = mysqli_query($link, $sql);
+            if (! $result2) {
+                syslog(LOG_NOTICE, "db_divide: result: ".mysqli_error($link));
+            	$rc = 1;
+		break;
+	    } else {
+                syslog(LOG_NOTICE, "db_divide: updated record ".$record." code ".$split['code']);
+            }
+	} else {
+	    $sql .= "';";
+	    $result2 = mysqli_query($link, $sql);
+	    if (! $result2) {
+             	syslog(LOG_NOTICE, "db_divide: result: ".mysqli_error($link));
+		$rc = 1;
+		break;
+            } else {
+	     	$lastid = mysqli_insert_id($link);
+                syslog(LOG_NOTICE, "db_divide: inserted record ".$lastid." code ".$split['code']);
+		/* Copy brew log records */
+		if ($row['log_brew'] == '1') {
+		    $result3 = mysqli_query($link, "SELECT * FROM log_brews WHERE code='" . $row['code'] . "'");
+        	    if (! $result3) {
+            		syslog(LOG_NOTICE, "db_divide: result3: ".mysqli_error($link));
+        	    }
+        	    while ($row3 = mysqli_fetch_array($result3)) {
+			$sql3  = "INSERT INTO log_brews SET datetime='" . $row3['datetime'];
+			$sql3 .= "', version='" . $row3['version'];
+			$sql3 .= "', uuid='" . $uuid;
+			$sql3 .= "', code='" . mysqli_real_escape_string($link, $split['code']);
+			$sql3 .= "', name='" . mysqli_real_escape_string($link, $split['name']);
+			$sql3 .= "', pv_mlt='" . $row3['pv_mlt'];
+			$sql3 .= "', pv_hlt='" . $row3['pv_hlt'];
+			$sql3 .= "', pv_room='" . $row3['pv_room'];
+			$sql3 .= "', sp_mlt='" . $row3['sp_mlt'];
+			$sql3 .= "', sp_hlt='" . $row3['sp_hlt'];
+			$sql3 .= "', pwm_mlt='" . $row3['pwm_mlt'];
+			$sql3 .= "', pwm_hlt='" . $row3['pwm_hlt'];
+			$sql3 .= "', event='" . $row3['event'] . "';";
+			$result4 = mysqli_query($link, $sql3);
+			if (! $result4) {
+                	    syslog(LOG_NOTICE, "db_divide: result4: ".mysqli_error($link)." ".$sql3);
+			}
+		    }
+		}
+	    }
+	}
+
+    }
+    syslog(LOG_NOTICE, "db_divide: rc=".$rc);
+    echo $rc;
 } else {
-	// SELECT COMMAND
-	$query = "SELECT * FROM divides ORDER BY divide_from,divide_part";
-	$result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
-	while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
-		$divides[] = array(
-			'record' => $row['record'],
-			'divide_from' => $row['divide_from'],
-			'divide_type' => $row['divide_type'],
-			'divide_size' => $row['divide_size'],
-			'divide_part' => $row['divide_part'],
-			'name' => $row['name'],
-			'code' => $row['code']
-		);
-	}
-	header("Content-type: application/json");
-	echo json_encode($divides);
+    syslog(LOG_NOTICE, "db_divide: missing arguments");
+    echo 1;
 }
+
+
+
+
 ?>
--- a/www/includes/db_inventory_yeasts.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/db_inventory_yeasts.php	Fri May 01 16:37:31 2020 +0200
@@ -26,6 +26,7 @@
 	$sql .= "', form='" . array_search($_POST['form'], $yeastform);
 	$sql .= "', laboratory='" . mysqli_real_escape_string($connect, $_POST['laboratory']);
 	$sql .= "', product_id='" . mysqli_real_escape_string($connect, $_POST['product_id']);
+	$sql .= "', short_desc='" . mysqli_real_escape_string($connect, $_POST['short_desc']);
 	$sql .= "', min_temperature='" . $_POST['min_temperature'];
 	$sql .= "', max_temperature='" . $_POST['max_temperature'];
 	$sql .= "', flocculation='" . $_POST['flocculation'];
@@ -96,6 +97,7 @@
 			'form' => $yeastform[$row['form']],
 			'laboratory' => $row['laboratory'],
 			'product_id' => $row['product_id'],
+			'short_desc' => $row['short_desc'],
 			'min_temperature' => $row['min_temperature'],
 			'max_temperature' => $row['max_temperature'],
 			'flocculation' => $row['flocculation'],
--- a/www/includes/db_product.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/db_product.php	Fri May 01 16:37:31 2020 +0200
@@ -40,6 +40,8 @@
 	$sql .= "', notes='" . mysqli_real_escape_string($connect, $_POST['notes']);
 	$sql .= "', log_brew='" . $_POST['log_brew'];
 	$sql .= "', log_fermentation='" . $_POST['log_fermentation'];
+	$sql .= "', log_ispindel='" . $_POST['log_ispindel'];
+	$sql .= "', log_co2pressure='" . $_POST['log_co2pressure'];
 	$sql .= "', inventory_reduced='" . $_POST['inventory_reduced'];
 	$sql .= "', locked='" . $_POST['locked'];
 	// Equipment
@@ -185,6 +187,7 @@
 	$sql .= "', boil_time='" . $_POST['boil_time'];
 	$sql .= "', efficiency='" . $_POST['efficiency'];
 	$sql .= "', est_og='" . $_POST['est_og'];
+	$sql .= "', est_og3='" . $_POST['est_og3'];
 	$sql .= "', est_fg='" . $_POST['est_fg'];
 	$sql .= "', est_abv='" . $_POST['est_abv'];
 	$sql .= "', est_carb='" . $_POST['est_carb'];
@@ -262,9 +265,15 @@
 		$sql .= "', prop4_type='" . $_POST['prop4_type'];
 		$sql .= "', prop4_volume='" . $_POST['prop4_volume'];
 	}
-	$sql .= "', divide_type='" . $_POST['divide_type'];
-	$sql .= "', divide_size='" . $_POST['divide_size'];
+	if ($_POST['yeast_prod_date'] == '')
+                $sql .= "', yeast_prod_date=NULL";
+        else
+                $sql .= "', yeast_prod_date='" . $_POST['yeast_prod_date'] . "'";
+	$sql .=  ", divide_type='" . $_POST['divide_type'];
+	$sql .= "', divide_size='" . floatval($_POST['divide_size']);
+	$sql .= "', divide_factor='" . floatval($_POST['divide_factor']);
 	$sql .= "', divide_parts='" . $_POST['divide_parts'];
+	$sql .= "', divide_part='" . $_POST['divide_part'];
 	//syslog(LOG_NOTICE, $sql);
 
 	$fermentables = '[';
@@ -435,6 +444,13 @@
 			$yeast .= ',"y_tolerance":' . $item['y_tolerance'];
 			$yeast .= ',"y_inventory":' . $item['y_inventory'];
 			$yeast .= ',"y_use":' . $item['y_use'];
+			$yeast .= ',"y_sta1":' . $item['y_sta1'];
+			$yeast .= ',"y_bacteria":' . $item['y_bacteria'];
+			$yeast .= ',"y_harvest_top":' . $item['y_harvest_top'];
+			$yeast .= ',"y_harvest_time":' . $item['y_harvest_time'];
+			$yeast .= ',"y_pitch_temperature":' . $item['y_pitch_temperature'];
+			$yeast .= ',"y_pofpos":' . $item['y_pofpos'];
+			$yeast .= ',"y_zymocide":' . $item['y_zymocide'];
 			$yeast .= ',"y_cost":' . $item['y_cost'] . '}';
 			//syslog(LOG_NOTICE, $yeast);
 			$yeasts .= $yeast;
@@ -535,7 +551,7 @@
 	 * SELECT, produce a list of products that are not yet Closed.
 	 */
 	if (isset($_GET['select']) && ($_GET['select'] == "inprod")) {
-		$query = "SELECT record,name,code,birth,stage,brew_date_start,package_date FROM products WHERE stage != '11' ORDER BY birth,code;";
+		$query = "SELECT record,name,code,birth,stage,brew_date_start,package_date FROM products WHERE stage != '11' ORDER BY stage,code,birth;";
 		$result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
 		while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
 			$brews[] = array(
@@ -554,7 +570,7 @@
 	}
 
 	if (isset($_GET['select']) && ($_GET['select'] == "archname")) {
-		$query = "SELECT record,name,code,brew_date_start,st_name,og,fg,batch_size FROM products WHERE stage = '11' ORDER BY name,brew_date_start;";
+		$query = "SELECT record,name,code,brew_date_start,st_name,brew_fermenter_sg,fg,batch_size FROM products WHERE stage = '11' ORDER BY name,brew_date_start;";
 		$result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
 		while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
 			$brews[] = array(
@@ -563,7 +579,7 @@
 				'code' => $row['code'],
 				'date' => substr($row['brew_date_start'], 0, 10),
 				'style' => $row['st_name'],
-				'og' => $row['og'],
+				'og' => $row['brew_fermenter_sg'],
 				'fg' => $row['fg'],
 				'batch_size' => $row['batch_size']
 			);
@@ -574,7 +590,7 @@
 	}
 
 	if (isset($_GET['select']) && ($_GET['select'] == "archcode")) {
-		$query = "SELECT record,name,code,brew_date_start,st_name,og,fg,batch_size FROM products WHERE stage = '11' ORDER BY code;";
+		$query = "SELECT record,name,code,brew_date_start,st_name,brew_fermenter_sg,fg,batch_size FROM products WHERE stage = '11' ORDER BY code;";
 		$result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
 		while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
 			$brews[] = array(
@@ -583,7 +599,7 @@
 				'code' => $row['code'],
 				'date' => substr($row['brew_date_start'], 0, 10),
 				'style' => $row['st_name'],
-				'og' => $row['og'],
+				'og' => $row['brew_fermenter_sg'],
 				'fg' => $row['fg'],
 				'batch_size' => $row['batch_size']
 			);
@@ -594,7 +610,7 @@
 	}
 
 	if (isset($_GET['select']) && ($_GET['select'] == "archdate")) {
-		$query = "SELECT record,name,code,brew_date_start,st_name,og,fg,batch_size FROM products WHERE stage = '11' ORDER BY brew_date_start;";
+		$query = "SELECT record,name,code,brew_date_start,st_name,brew_fermenter_sg,fg,batch_size FROM products WHERE stage = '11' ORDER BY brew_date_start;";
 		$result = mysqli_query($connect, $query) or die("SQL Error 1: " . mysqli_error($connect));
 		while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
 			$brews[] = array(
@@ -604,7 +620,7 @@
 				'year' => substr($row['brew_date_start'], 0, 4),
 				'date' => substr($row['brew_date_start'], 0, 10),
 				'style' => $row['st_name'],
-				'og' => $row['og'],
+				'og' => $row['brew_fermenter_sg'],
 				'fg' => $row['fg'],
 				'batch_size' => $row['batch_size']
 			);
@@ -672,6 +688,8 @@
 		$brew .= ',"notes":"' . str_replace($escapers, $replacements, $row['notes']);
 		$brew .= '","log_brew":' . $row['log_brew'];
 		$brew .= ',"log_fermentation":' . $row['log_fermentation'];
+		$brew .= ',"log_ispindel":' . $row['log_ispindel'];
+		$brew .= ',"log_co2pressure":' . $row['log_co2pressure'];
 		$brew .= ',"inventory_reduced":' . $row['inventory_reduced'];
 		$brew .= ',"locked":' . $row['locked'];
 		$brew .= ',"eq_name":"' . str_replace($escapers, $replacements, $row['eq_name']);
@@ -795,6 +813,7 @@
 		$brew .= ',"boil_time":' . floatval($row['boil_time']);
 		$brew .= ',"efficiency":' . floatval($row['efficiency']);
 		$brew .= ',"est_og":' . floatval($row['est_og']);
+		$brew .= ',"est_og3":' . floatval($row['est_og3']);
 		$brew .= ',"est_fg":' . floatval($row['est_fg']);
 		$brew .= ',"est_abv":' . floatval($row['est_abv']);
 		$brew .= ',"est_carb":' . floatval($row['est_carb']);
@@ -854,7 +873,8 @@
 		$brew .= ',"starter_type":' . $row['starter_type'];
 		$brew .= ',"starter_sg":' . $row['starter_sg'];
 		$brew .= ',"starter_viability":' . $row['starter_viability'];
-		$brew .= ',"prop1_type":' . $row['prop1_type'];
+		$brew .= ',"yeast_prod_date":"' . $row['yeast_prod_date'];
+		$brew .= '","prop1_type":' . $row['prop1_type'];
 		$brew .= ',"prop1_volume":' . $row['prop1_volume'];
 		$brew .= ',"prop2_type":' . $row['prop2_type'];
 		$brew .= ',"prop2_volume":' . $row['prop2_volume'];
@@ -865,7 +885,9 @@
 
 		$brew .= ',"divide_type":' . $row['divide_type'];
 		$brew .= ',"divide_size":' . floatval($row['divide_size']);
+		$brew .= ',"divide_factor":' . floatval($row['divide_factor']);
 		$brew .= ',"divide_parts":' . $row['divide_parts'];
+		$brew .= ',"divide_part":' . $row['divide_part'];
 
 		if (isset($_GET['record'])) {
 			// Append stock information.
@@ -927,7 +949,8 @@
 				$yeasts[$i]['y_avail'] = 0;       // Ingredient not in db
 				if (! isset($yeasts[$i]['y_tolerance']))
                                         $yeasts[$i]['y_tolerance'] = 0;
-				$sql2 = "SELECT inventory,tolerance FROM inventory_yeasts ";
+				$sql2 = "SELECT inventory,tolerance,sta1,bacteria,harvest_top,harvest_time,pitch_temperature,pofpos,zymocide ";
+				$sql2 .= "FROM inventory_yeasts ";
 				$sql2 .= "WHERE name='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_name'])."' AND";
 				$sql2 .= " form='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_form'])."' AND";
 				$sql2 .= " laboratory='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_laboratory'])."' AND";
@@ -936,10 +959,39 @@
 					if ($obj = mysqli_fetch_object($result2)) {
 						$yeasts[$i]['y_inventory'] = floatval($obj->inventory);
 						$yeasts[$i]['y_avail'] = 1;
-						if ($yeasts[$i]['y_tolerance'] == 0) {
+						if ($yeasts[$i]['y_tolerance'] == 0)
 							$yeasts[$i]['y_tolerance'] = floatval($obj->tolerance); // Upgrade alcohol tolerance
-						}
-					}
+						// Upgrade new fields
+						if (! isset($yeasts[$i]['y_sta1']))
+                                                        $yeasts[$i]['y_sta1'] = intval($obj->sta1);
+						if (! isset($yeasts[$i]['y_bacteria']))
+                                                        $yeasts[$i]['y_bacteria'] = intval($obj->bacteria);
+						if (! isset($yeasts[$i]['y_harvest_top']))
+                                                        $yeasts[$i]['y_harvest_top'] = intval($obj->harvest_top);
+						if (! isset($yeasts[$i]['y_harvest_time']))
+                                                        $yeasts[$i]['y_harvest_time'] = intval($obj->harvest_time);
+						if (! isset($yeasts[$i]['y_pitch_temperature']))
+                                                        $yeasts[$i]['y_pitch_temperature'] = floatval($obj->pitch_temperature);
+						if (! isset($yeasts[$i]['y_pofpos']))
+                                                        $yeasts[$i]['y_pofpos'] = intval($obj->pofpos);
+						if (! isset($yeasts[$i]['y_zymocide']))
+                                                        $yeasts[$i]['y_zymocide'] = intval($obj->zymocide);
+					} else {
+                                                if (! isset($yeasts[$i]['y_sta1']))
+                                                        $yeasts[$i]['y_sta1'] = 0;
+                                                if (! isset($yeasts[$i]['y_bacteria']))
+                                                        $yeasts[$i]['y_bacteria'] = 0;
+                                                if (! isset($yeasts[$i]['y_harvest_top']))
+                                                        $yeasts[$i]['y_harvest_top'] = 0;
+                                                if (! isset($yeasts[$i]['y_harvest_time']))
+                                                        $yeasts[$i]['y_harvest_time'] = 0;
+                                                if (! isset($yeasts[$i]['y_pitch_temperature']))
+                                                        $yeasts[$i]['y_pitch_temperature'] = 0;
+                                                if (! isset($yeasts[$i]['y_pofpos']))
+                                                        $yeasts[$i]['y_pofpos'] = 0;
+                                                if (! isset($yeasts[$i]['y_zymocide']))
+                                                        $yeasts[$i]['y_zymocide'] = 0;
+                                        }
 					mysqli_free_result($result2);
 				}
 			}
--- a/www/includes/db_recipes.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/db_recipes.php	Fri May 01 16:37:31 2020 +0200
@@ -285,6 +285,13 @@
 			$yeast .= ',"y_tolerance":' . $item['y_tolerance'];
 			$yeast .= ',"y_inventory":' . $item['y_inventory'];
 			$yeast .= ',"y_use":' . $item['y_use'];
+			$yeast .= ',"y_sta1":' . $item['y_sta1'];
+                        $yeast .= ',"y_bacteria":' . $item['y_bacteria'];
+                        $yeast .= ',"y_harvest_top":' . $item['y_harvest_top'];
+                        $yeast .= ',"y_harvest_time":' . $item['y_harvest_time'];
+                        $yeast .= ',"y_pitch_temperature":' . $item['y_pitch_temperature'];
+                        $yeast .= ',"y_pofpos":' . $item['y_pofpos'];
+                        $yeast .= ',"y_zymocide":' . $item['y_zymocide'];
 			$yeast .= ',"y_cost":' . $item['y_cost'] . '}';
 			syslog(LOG_NOTICE, $yeast);
 			$yeasts .= $yeast;
@@ -518,7 +525,8 @@
 				$yeasts[$i]['y_avail'] = 0;       // Ingredient not in db
 				if (! isset($yeasts[$i]['y_tolerance']))
 					$yeasts[$i]['y_tolerance'] = 0;
-				$sql2 = "SELECT inventory,tolerance FROM inventory_yeasts ";
+				$sql2 = "SELECT inventory,tolerance,sta1,bacteria,harvest_top,harvest_time,pitch_temperature,pofpos,zymocide ";
+				$sql2 .= "FROM inventory_yeasts ";
 				$sql2 .= "WHERE name='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_name'])."' AND";
 			       	$sql2 .= " form='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_form'])."' AND";
 				$sql2 .= " laboratory='".str_replace($rescapers, $rreplacements, $yeasts[$i]['y_laboratory'])."' AND";
@@ -527,13 +535,43 @@
 					if ($obj = mysqli_fetch_object($result2)) {
 						$yeasts[$i]['y_inventory'] = floatval($obj->inventory);
 						$yeasts[$i]['y_avail'] = 1;
-						if ($yeasts[$i]['y_tolerance'] == 0) {
+						if ($yeasts[$i]['y_tolerance'] == 0)
 							$yeasts[$i]['y_tolerance'] = floatval($obj->tolerance); // Upgrade alcohol tolerance
-						}
+						// Upgrade new fields
+                                                if (! isset($yeasts[$i]['y_sta1']))
+                                                        $yeasts[$i]['y_sta1'] = intval($obj->sta1);
+                                                if (! isset($yeasts[$i]['y_bacteria']))
+                                                        $yeasts[$i]['y_bacteria'] = intval($obj->bacteria);
+                                                if (! isset($yeasts[$i]['y_harvest_top']))
+                                                        $yeasts[$i]['y_harvest_top'] = intval($obj->harvest_top);
+                                                if (! isset($yeasts[$i]['y_harvest_time']))
+                                                        $yeasts[$i]['y_harvest_time'] = intval($obj->harvest_time);
+                                                if (! isset($yeasts[$i]['y_pitch_temperature']))
+                                                        $yeasts[$i]['y_pitch_temperature'] = floatval($obj->pitch_temperature);
+                                                if (! isset($yeasts[$i]['y_pofpos']))
+                                                        $yeasts[$i]['y_pofpos'] = intval($obj->pofpos);
+                                                if (! isset($yeasts[$i]['y_zymocide']))
+                                                        $yeasts[$i]['y_zymocide'] = intval($obj->zymocide);
+					} else {
+                                                if (! isset($yeasts[$i]['y_sta1']))
+                                                        $yeasts[$i]['y_sta1'] = 0;
+                                                if (! isset($yeasts[$i]['y_bacteria']))
+                                                        $yeasts[$i]['y_bacteria'] = 0;
+                                                if (! isset($yeasts[$i]['y_harvest_top']))
+                                                        $yeasts[$i]['y_harvest_top'] = 0;
+                                                if (! isset($yeasts[$i]['y_harvest_time']))
+                                                        $yeasts[$i]['y_harvest_time'] = 0;
+                                                if (! isset($yeasts[$i]['y_pitch_temperature']))
+                                                        $yeasts[$i]['y_pitch_temperature'] = 0;
+                                                if (! isset($yeasts[$i]['y_pofpos']))
+                                                        $yeasts[$i]['y_pofpos'] = 0;
+                                                if (! isset($yeasts[$i]['y_zymocide']))
+                                                        $yeasts[$i]['y_zymocide'] = 0;
 					}
 					mysqli_free_result($result2);
 				}
 			}
+			syslog(LOG_NOTICE, json_encode($yeasts, JSON_UNESCAPED_UNICODE));
 			$recipes .= ',"yeasts":' . json_encode($yeasts, JSON_UNESCAPED_UNICODE);
 		} else {
 			// Just leave it.
--- a/www/includes/db_setup.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/db_setup.php	Fri May 01 16:37:31 2020 +0200
@@ -34,6 +34,7 @@
 	$sql .= "', brix_correction='" . $_POST['brix_correction'];
 	$sql .= "', grain_absorbtion='" . $_POST['grain_absorbtion'];
 	$sql .= "', default_water='" . $default_water;
+	$sql .= "', my_yeastlab='" . $_POST['my_yeastlab'];
 	$sql .= "' WHERE record='1';";
 	//syslog(LOG_NOTICE, $sql);
 	$result = mysqli_query($connect, $sql);
@@ -65,6 +66,7 @@
 		$data .= ',"brix_correction":' . floatval($row['brix_correction']);
 		$data .= ',"grain_absorbtion":' . floatval($row['grain_absorbtion']);
 		$data .= ',"default_water":"' . str_replace($escapers, $replacements, $default_water);
+		$data .= '","my_yeastlab":"' . str_replace($escapers, $replacements, $row['my_yeastlab']);
 		$data .= '"}';
 	}
 	header("Content-type: application/json");
--- a/www/includes/formulas.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/formulas.php	Fri May 01 16:37:31 2020 +0200
@@ -115,17 +115,27 @@
 
 
 function sg_to_plato($sg) {
-	if ($sg > 0.5)
-		return 259 - 259 / $sg;
-	return 0;
+//	if ($sg > 0.5)
+//		return 259 - 259 / $sg;
+//	return 0;
+	return -668.962 + (1262.45 * $sg) - (776.43 * $sg * $sg) + (182.94 * $sg * $sg * $sg);
 }
 
 
 
 function plato_to_sg($plato) {
-	if ($plato < 259)
-		return 259 / (259 - $plato);
-	return 1.000;
+//	if ($plato < 259)
+//		return 259 / (259 - $plato);
+//	return 1.000;
+	return 1.00001 + (0.0038661 * $plato) + (1.3488e-5 * $plato * $plato) + (4.3074e-8 * $plato * $plato * $plato);
+}
+
+
+
+function calc_svg($og, $fg) {
+	$oe = sg_to_plato($og);
+	$ae = sg_to_plato($fg);
+	return ($oe - $ae) / $oe * 100;
 }
 
 
@@ -175,9 +185,6 @@
 function abvol($og, $fg) {
 	$factor = $og * 3157 * pow(10, -5) + 9.716 * pow(10, -2);
 	return ($og * 1000 - $fg * 1000) * $factor;
-	//if ((4.749804 - $fg) <> 0)
-	//	return 486.8693 * ($og - $fg) / (4.749804 - $fg);
-	//return 0;
 }
 
 
@@ -202,7 +209,7 @@
 
 
 
-function calc_IBU($useat, $form, $sg, $volume, $mass, $boiltime, $alpha, $method)
+function calc_IBU($useat, $form, $sg, $volume, $mass, $boiltime, $alpha, $method, $whirlpool9, $whirlpool7, $whirlpool6)
 {
 	global $my_factor_mashhop;
 	global $my_factor_fwh;
@@ -234,13 +241,31 @@
                 $pfactor += $my_factor_cryohop / 100;
         }
 
+	$whirlibus = 0;
+        if ($useat == 3 || $useat == 4) { // Flameout or any whirlpool
+		if ($whirlpool9) {
+			$whirlibus += ($mass * ($alpha / 100) * 20) / $volume * $whirlpool9 / 50;
+		} else {
+			if ($useat == 3) // Flameout hops are 2 minutes in this range.
+				$whirlibus += ($mass * ($alpha / 100) * 20) / $volume * (2 / 50);
+		}
+		if ($whirlpool7) {
+			$whirlibus += ($mass * ($alpha / 100) * 6) / $volume * $whirlpool7 / 50;
+		} else {
+			if ($useat == 3) // Flameout hops are 4 minutes in this range.
+				$whirlibus += ($mass * ($alpha / 100) * 6) / $volume * (4 / 50);
+		}
+		if ($whirlpool6)
+			$whirlibus += ($mass * ($alpha / 100) * 2) / $volume * $whirlpool6 / 50;
+	}
+
 	$ibu = 0;
 	if (($method == 0) || ($method == 3)) {	// Tinseth or Garetz // For Garetz, we need the $ibu
 		$AddedAlphaAcids = (($alpha / 100) * $mass * 1000) / $volume;
 		$Bigness_factor = 1.65 * pow( 0.000125, $sg - 1);
 		$BoilTime_factor = ((1 - exp(-0.04 * $boiltime)) / 4.15);
 		$utiisation = $Bigness_factor * $BoilTime_factor;
-		$ibu = (round($utiisation * $AddedAlphaAcids * $fmoment * $pfactor * 10) / 10.0);
+		$ibu = (round(($utiisation * $AddedAlphaAcids * $fmoment * $pfactor + $whirlibus) * 10) / 10.0);
 	}
 	if ($method == 2) {	// Daniels
 
@@ -252,7 +277,7 @@
 			$sgfactor = 0;
 		else
 			$sgfactor = (($sg * 1000) - 1050) / 200;
-		$ibu = $fmoment * (($mass * $alpha * $boilfactor * 0.1) / ($volume * (1 + $sgfactor)));
+		$ibu = $fmoment * (($mass * $alpha * $boilfactor * 0.1) / ($volume * (1 + $sgfactor))) + $whirlibus;
 	}
 	if ($method == 1) {	// Rager
 		$boilfactor = $fmoment * 18.11 + 13.86 * tanh(($boiltime * 31.32) / 18.27);
@@ -260,7 +285,7 @@
 			$sgfactor = 0;
 		else
 			$sgfactor = (($sg * 1000) - 1050) / 200;
-		$ibu = ($mass * $alpha * $boilfactor * 0.1) / ($volume * (1 + $sgfactor));
+		$ibu = ($mass * $alpha * $boilfactor * 0.1) / ($volume * (1 + $sgfactor)) + $whirlibus;
 	}
 	if ($method == 3) {	// Garetz, not in use.
 		/* Something is wrong, late hops and dryhops give negative results. */
@@ -272,8 +297,6 @@
 		$tempfactor = (32.8/550)*0.02+1;
 		$ibu = ($boilfactor * $alpha * $mass * 0.1) / ($volume * $sgfactor * $hopratefactor * $tempfactor);
 	}
-	/* TODO: Noonan and Mosher */
-
 	return $ibu;
 }
 
--- a/www/includes/global.inc.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/includes/global.inc.php	Fri May 01 16:37:31 2020 +0200
@@ -142,7 +142,7 @@
 	my_color_method = "<?php echo $my_color_method; ?>", my_brix_correction = "<?php echo $my_brix_correction; ?>",
 	my_grain_absorbtion = "<?php echo $my_grain_absorbtion; ?>", my_default_water = "<?php echo $my_default_water; ?>";
   </script>
-  <script src="js/jquery-1.11.1-min.js"></script>
+  <script src="js/jquery-1.11.1.js"></script>
   <script src="jqwidgets/jqxcore.js"></script>
   <script src="jqwidgets/jqxwindow.js"></script>
   <script src="jqwidgets/jqxmenu.js"></script>
@@ -179,7 +179,7 @@
   <script src="jqwidgets/jqxfileupload.js"></script>
   <script src="jqwidgets/jqxpanel.js"></script>
   <script src="jqwidgets/globalization/globalize.js"></script>
-  <script src="js/global-min.js"></script>
+  <script src="js/global.js"></script>
 <?php
 if (strlen($loadjs))
     echo  '  <script src="js/'.$loadjs.'.js"></script>'.PHP_EOL;
@@ -205,7 +205,7 @@
 $connect = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
 $result = mysqli_query($connect, "SELECT uuid,node,online,net_address FROM mon_nodes ORDER BY node");
 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
-    if ($row['online'] == "Y")
+    if ($row['online'] == 1)
 	$img = "network-idle.png";
     else
 	$img = "network-error.png";
@@ -220,7 +220,7 @@
 <?php
 $result = mysqli_query($connect, "SELECT uuid,node,alias,online,mode FROM mon_fermenters ORDER BY node,alias");
 while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
-    if ($row['online'] == "Y")
+    if ($row['online'] == 1)
         $img = "network-idle.png";
     else
         $img = "network-error.png";
@@ -245,6 +245,21 @@
 ?>
         </ul>
        </li>
+       <li><img style='float: left; margin-right: 5px;' src='images/fermenter.png' />iSpindels
+        <ul style='width: 250px;'>
+<?php
+$result = mysqli_query($connect, "SELECT uuid,node,alias,online FROM mon_ispindels ORDER BY node,alias");
+while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
+    if ($row['online'] == 1)
+        $img = "network-idle.png";
+    else
+        $img = "network-error.png";
+    echo '         <li><img style="float: left; margin-right: 5px;" src="images/'.$img.'" /><a href="mon_ispindel.php?uuid='.$row['uuid'].'">'.$row['alias'].'</a></li>'.PHP_EOL;
+}
+mysqli_free_result($result);
+?>
+        </ul>
+       </li>
       </ul>
      </li>
      <li style='width: 80px;'>Productie
@@ -290,6 +305,7 @@
        <li><img style='float: left; margin-left: 3px; margin-right: 9px;' src='images/water.png' /><a href="inv_waters.php">Brouwwater</a></li>
        <li><img style='float: left; margin-right: 5px;' src='images/mash.png' /><a href="inv_equipments.php">Brouw apparatuur</a></li>
        <li><img style='float: left; margin-left: 3px; margin-right: 8px;' src='images/database.png' /><a href="inv_instock.php">Voorraad lijst</a></li>
+       <li><img style='float: left; margin-left: 3px; margin-right: 8px;' src='images/science.png' /><a href="inv_yeastlab.php">Gistbank lijst</a></li>
       </ul>
      </li>
      <li style='width: 80px;'>Instellingen
--- a/www/inv_waters.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/inv_waters.php	Fri May 01 16:37:31 2020 +0200
@@ -26,28 +26,37 @@
        <td colspan="4">&nbsp;</td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Calcium (Ca) mg/l:</td>
+       <td style="vertical-align: top; float: right;">Calcium (Ca) mg/L:</td>
        <td><div id="calcium"></div></td>
-       <td style="vertical-align: top; float: right;">Chloride (Cl) mg/l:</td>
+       <td style="vertical-align: top; float: right;">Sulfaat (CaSO4) mg/L:</td>
+       <td><div id="sulfate"></div></td>
+      </tr>
+      <tr>
+       <td style="vertical-align: top; float: right;">Magnesium (Mg) mg/L:</td>
+       <td><div id="magnesium"></div></td>
+       <td style="vertical-align: top; float: right;">Chloride (Cl) mg/L:</td>
        <td><div id="chloride"></div></td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Magnesium (Mg) mg/l:</td>
-       <td><div id="magnesium"></div></td>
-       <td style="vertical-align: top; float: right;">Sulfaat (CaSO4) mg/l:</td>
-       <td><div id="sulfate"></div></td>
+       <td style="vertical-align: top; float: right;">Natrium (Na) mg/L:</td>
+       <td><div id="sodium"></div></td>
+       <td style="vertical-align: top; float: right;">Bicarbonaat (HCO3) mg/L:</td> <!-- Input for total_alkalinity -->
+       <td><div id="bicarbonate"></div></td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Natrium (Na) mg/l:</td>
-       <td><div id="sodium"></div></td>
-       <td style="vertical-align: top; float: right;">Bicarbonaat (HCO3) mg/l:</td> <!-- Input for total_alkalinity -->
-       <td><div id="bicarbonate"></div></td>
+       <td></td>
+       <td></td>
+       <td style="vertical-align: top; float: right;">Totale alkaliteit (CaCO3) mg/L:</td>
+       <td><div id="total_alkalinity"></div></td>
+      </tr>
+      <tr>
+       <td colspan="4">&nbsp;</td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Zuurgraad (pH):</td>
        <td><div id="ph"></div></td>
-       <td style="vertical-align: top; float: right;">Totale alkaliteit (CaCO3) mg/l:</td>
-       <td><div id="total_alkalinity"></div></td>
+       <td style="vertical-align: top; float: right;">Ionen balans meq/L:</td>
+       <td><div style="float: left;" id="balance"></div><div style="float: left; margin-left: 10px;" id="wr_balance"></div></td>
       </tr>
       <tr>
        <td colspan="4">&nbsp;</td>
@@ -63,10 +72,10 @@
        <td><div id="cost"></div></td>
       </tr>
       <tr>
-       <td style="padding-top: 110px; float: right;"><input type="button" id="Delete" value="Verwijder" /></td>
+       <td style="padding-top: 70px; float: right;"><input type="button" id="Delete" value="Verwijder" /></td>
        <td></td>
        <td></td>
-       <td style="padding-top: 110px;"><input style="margin-right: 5px;" type="button" id="Save" value="Sla op" /><input id="Cancel" type="button" value="Annuleer" /></td>
+       <td style="padding-top: 70px;"><input style="margin-right: 5px;" type="button" id="Save" value="Sla op" /><input id="Cancel" type="button" value="Annuleer" /></td>
       </tr>
      </table>
     </div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/inv_yeastlab.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,162 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/constants.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/fpdf/fpdf.php');
+
+define('EURO', chr(128) );
+
+$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
+if (! $link) {
+	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+}
+if (! mysqli_set_charset($link, "utf8" )) {
+	echo "error";
+	return 1;
+}
+
+setlocale ( LC_ALL, 'nl_NL.UTF-8');
+date_default_timezone_set('Europe/Amsterdam');
+$prdate = date(DATE_RFC2822);
+
+$sql = "SELECT brewery_name,my_yeastlab FROM profile_setup WHERE record = '1';";
+$result = mysqli_query($link, $sql);
+if ($row=mysqli_fetch_array($result)) {
+	$my_brewery = iconv('UTF-8','windows-1252',$row['brewery_name']);
+	$my_lab = $row['my_yeastlab'];
+} else {
+	$my_brewery = $my_lab = '';
+}
+
+
+class PDF_MySQL_Table extends FPDF
+{
+	protected $ProcessingTable=false;
+	protected $aCols=array();
+	protected $TableX;
+	protected $HeaderColor;
+	protected $RowColors;
+	protected $TotalColor;
+	protected $ColorIndex;
+
+	function Header() {
+		// Print the table header if necessary
+		if ($this->ProcessingTable)
+			$this->TableHeader();
+	}
+
+	function TableHeader() {
+		$this->SetFont('Helvetica','B',9);
+		$this->SetX($this->TableX);
+		$this->SetFillColor($this->HeaderColor[0],$this->HeaderColor[1],$this->HeaderColor[2]);
+		foreach($this->aCols as $col)
+			$this->Cell($col['w'],5,$col['c'],0,0,$col['a'],true);
+		$this->Ln();
+	}
+
+	function CalcWidths($width, $align) {
+		// Compute the widths of the columns
+		$TableWidth=0;
+		foreach($this->aCols as $i=>$col) {
+			$w=$col['w'];
+			if($w==-1)
+				$w=$width/count($this->aCols);
+			elseif(substr($w,-1)=='%')
+				$w=$w/100*$width;
+			$this->aCols[$i]['w']=$w;
+			$TableWidth+=$w;
+		}
+		// Compute the abscissa of the table
+		if($align=='C')
+			$this->TableX=max(($this->w-$TableWidth)/2,0);
+		elseif($align=='R')
+			$this->TableX=max($this->w-$this->rMargin-$TableWidth,0);
+		else
+			$this->TableX=$this->lMargin;
+	}
+
+	function AddCol($width=-1, $caption='', $align='L') {
+	        $this->aCols[]=array('c'=>$caption,'w'=>$width,'a'=>$align);
+	}
+
+	function TableYeasts($link,$prop) {
+		global $yeasttype;
+		global $yeastform;
+		global $my_lab;
+		$this->AddCol( 60,'Gist','L');
+		$this->AddCol( 50,'Omschrijving','L');
+		$this->AddCol( 18,'Soort','L');
+		$this->AddCol( 18,'Vorm','L');
+		$this->AddCol( 20,'Voorraad','R');
+		$this->AddCol( 25,'Datum','L');
+		$prop['width']=$this->w-$this->lMargin-$this->rMargin;
+		$prop['align']='L';
+		$cMargin=$this->cMargin;
+		$this->cMargin=$prop['padding'];
+		$this->HeaderColor=$prop['HeaderColor'];
+                $this->TotalColor=$prop['TotalColor'];
+                $this->RowColors=array($prop['color1'],$prop['color2']);
+		$this->CalcWidths($prop['width'],$prop['align']);
+		$this->TableHeader();
+		$this->SetFont('Helvetica','',9);
+		$this->ColorIndex=0;
+		$this->ProcessingTable=true;
+
+		$sql  = "SELECT name,type,form,inventory,production_date,short_desc FROM inventory_yeasts ";
+		$sql .= "WHERE inventory > 0 AND laboratory = '".$my_lab."' ORDER BY product_id";
+		$result = mysqli_query($link, $sql);
+
+		while ($row=mysqli_fetch_array($result)) {
+			if ($row['form'] == 0)
+				$stock = floatval($row['inventory']);
+			else
+				$stock = floatval($row['inventory']) * 1000.0;
+			$form = array( 'pak', 'gr', 'ml', 'ml', 'ml', 'ml', 'gr' );
+
+			$this->SetX($this->TableX);
+			$ci=$this->ColorIndex;
+			$this->SetFillColor($this->RowColors[$ci][0],$this->RowColors[$ci][1],$this->RowColors[$ci][2]);
+			$this->Cell(60,5,iconv('UTF-8','windows-1252',$row['name']),0,0,'L',true);
+			$this->Cell(50,5,iconv('UTF-8','windows-1252',$row['short_desc']),0,0,'L',true);
+			$this->Cell(18,5,iconv('UTF-8','windows-1252',$yeasttype[$row['type']]),0,0,'L',true);
+			$this->Cell(18,5,iconv('UTF-8','windows-1252',$yeastform[$row['form']]),0,0,'L',true);
+			$this->Cell(20,5,sprintf("%10.1f ",$stock).$form[$row['form']],0,0,'R',true);
+			$this->Cell(25,5,$row['production_date'],0,0,'L',true);
+			$this->Ln();
+			$this->ColorIndex=1-$ci;
+		}
+
+		$this->ProcessingTable=false;
+		$this->cMargin=$cMargin;
+		$this->aCols=array();
+	}
+}
+
+
+
+class PDF extends PDF_MySQL_Table {
+	function Header() {
+		global $prdate;
+		global $my_brewery;
+		$this->Image('images/logo.png',10,6,30);
+		// Title
+		$this->SetFont('Helvetica','',18);
+		$this->SetX(45);
+		$this->Cell(0,10,'Gistbank van '.$my_brewery,0,1,'L');
+		$this->Ln(1);
+                $this->SetFont('Helvetica','',10);
+                $this->SetX(45);
+                $this->Cell(17,5,'Datum:',0,0,'L');
+                $this->Cell(0,5,$prdate,0,1,'L');
+		$this->Ln(18);
+		// Ensure table header is printed
+		parent::Header();
+	}
+}
+
+
+$pdf = new PDF();
+$pdf->AddPage();
+$prop = array('HeaderColor'=>array(255,150,100), 'color1'=>array(210,245,255),
+		'color2'=>array(255,255,210), 'TotalColor'=>array(255,150,100), 'padding'=>2);
+$pdf->TableYeasts($link,$prop);
+$pdf->Output();
--- a/www/inv_yeasts.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/inv_yeasts.php	Fri May 01 16:37:31 2020 +0200
@@ -65,24 +65,24 @@
        <td align="left"><div id="max_reuse"></div></td>
       </tr>
       <tr>
+       <td align="right" style="vertical-align: top;">Gistbank tekst:</td>
+       <td align="left" colspan="3" style="vertical-align: top;"><input id="short_desc" /></td>
+       <td align="right" style="vertical-align: top;">Ent temperatuur &deg;C:</td>
+       <td align="left"><div id="pitch_temperature"></div></td>
+      </tr>
+      <tr>
        <td align="right" style="vertical-align: top;">POF+:</td>
        <td align="left"><div id="pofpos"></div></td>
        <td align="right" style="vertical-align: top;">Zymocide+:</td>
        <td align="left"><div id="zymocide"></div></td>
-       <td align="right" style="vertical-align: top;">Ent temperatuur &deg;C:</td>
-       <td align="left"><div id="pitch_temperature"></div></td>
+       <td align="right" style="vertical-align: top;">Oogst tijd uren:</td>
+       <td align="left"><div id="harvest_time"></div></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">STA1 (diastatic) gen:</td>
        <td align="left"><div id="sta1"></div></td>
        <td align="right" style="vertical-align: top;">Oogst van boven:</td>
        <td align="left"><div id="harvest_top"></div></td>
-       <td align="right" style="vertical-align: top;">Oogst tijd uren:</td>
-       <td align="left"><div id="harvest_time"></div></td>
-      </tr>
-      <tr>
-       <td></td><td></td>
-       <td></td><td></td>
        <td align="right" style="vertical-align: top;">Bevat bacteri&euml;n:</td>
        <td align="left"><div id="bacteria"></div></td>
       </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/ispindel/index.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,52 @@
+<?php
+
+require($_SERVER['DOCUMENT_ROOT']."/config.php");
+
+if ($_SERVER['HTTP_USER_AGENT'] == 'ESP8266HTTPClient') {
+	//            /usr/bin/mosquitto_pub -h host] [-p port] [-u username [-P password]] -t topic -m message
+	$publisher = '/usr/bin/mosquitto_pub -h '.MQTT_HOST.' -t ';
+
+	$input = file_get_contents('php://input');
+	//syslog(LOG_NOTICE, "ispindel " . $input);
+	$data = json_decode($input, true );
+	$node = 'ispindel-' . sprintf("%06x", floatval($data['ID']));
+
+	$alarm = 0;
+	$interval = $data['interval'];
+        if (floatval($data['battery']) < 3.3) {
+                $alarm += 4;
+		if (($interval * 3) < 3600)
+			$interval = 3600; // at least 3600 seconds when the battery is low.
+		else
+			$interval = $interval * 3;
+	}
+
+	$uuid = 'c0ffeeee-cafe-dead-beef-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID']));
+	$topic = 'mbv1.0/ispindels/NBIRTH/' . $node;
+	$payload  = '{"metric":{"uuid":"' . $uuid . '","interval":' . $interval . ',';
+	$payload .= '"properties":{"hardwaremake":"Wemos","hardwaremodel":"D1 mini","os":"Unknown","os_version":"Unknown","FW":"Unknown"},';
+	$payload .= '"net":{"address":"' . $_SERVER['REMOTE_ADDR'] . '","ifname":"sta","rssi":' . $data['RSSI'] . '}}}';
+	$pub = $publisher . $topic . ' -m \'' . $payload . '\'';
+	exec($pub);
+
+	$alarm = 0;
+	if (floatval($data['battery']) < 3.3)
+		$alarm += 4;
+
+	if ($data['temp_units'] == 'K') {
+		$tempC = floatval($data['temperature']) - 273.15;
+	} else if ($data['temp_units'] == 'F') {
+		$tempC = floatval($data['temperature']) / 1.8 - 32;
+	} else {
+		$tempC = floatval($data['temperature']);
+	}
+
+	$uuid = 'c0ffeeee-cafe-dead-bee0-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID']));
+	$topic = 'mbv1.0/ispindels/DBIRTH/' . $node;
+	$payload  = '{"unit":{"uuid":"' . $uuid .'","alias":"' . $data['name'] . '","alarm":' . $alarm . ',"interval":' . $interval;
+	$payload .= ',"angle":' . $data['angle'] . ',"temperature":' . $tempC . ',"battery":' . $data['battery'] . ',"gravity":' . $data['gravity'] . '}}';
+	$pub = $publisher . $topic . ' -m \'' .$payload . '\'';
+	exec($pub);
+}
+
+?>
--- a/www/jqwidgets/jqx-all.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqx-all.js	Fri May 01 16:37:31 2020 +0200
@@ -1,18 +1,18 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-var oldBrowser=document.all&&!document.addEventListener;if(!oldBrowser){(function(bd,G){var q,an,ak=bd.document,bo=bd.location,bt=bd.navigator,ax=bd.JQXLite,X=bd.$,aR=Array.prototype.push,aD=Array.prototype.slice,aA=Array.prototype.indexOf,y=Object.prototype.toString,b=Object.prototype.hasOwnProperty,aw=String.prototype.trim,C=function(bu,bv){return new C.fn.init(bu,bv,q)},aE=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,at=/\S/,a8=/\s+/,S=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,aF=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,e=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,j=/^[\],:{}\s]*$/,t=/(?:^|:|,)(?:\s*\[)+/g,a5=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,K=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,au=/^-ms-/,aS=/-([\da-z])/gi,m=function(bu,bv){return(bv+"").toUpperCase()},a4=function(){if(ak.addEventListener){ak.removeEventListener("DOMContentLoaded",a4,false);C.ready()}else{if(ak.readyState==="complete"){ak.detachEvent("onreadystatechange",a4);C.ready()}}},a0={};C.fn=C.prototype={constructor:C,init:function(bu,bx,by){var bw,bz,bv,bA;if(!bu){return this}if(bu.nodeType){this.context=this[0]=bu;this.length=1;return this}if(typeof bu==="string"){if(bu.charAt(0)==="<"&&bu.charAt(bu.length-1)===">"&&bu.length>=3){bw=[null,bu,null]}else{bw=aF.exec(bu)}if(bw&&(bw[1]||!bx)){if(bw[1]){bx=bx instanceof C?bx[0]:bx;bA=(bx&&bx.nodeType?bx.ownerDocument||bx:ak);bu=C.parseHTML(bw[1],bA,true);if(e.test(bw[1])&&C.isPlainObject(bx)){this.attr.call(bu,bx,true)}return C.merge(this,bu)}else{bz=ak.getElementById(bw[2]);if(bz&&bz.parentNode){if(bz.id!==bw[2]){return by.find(bu)}this.length=1;this[0]=bz}this.context=ak;this.selector=bu;return this}}else{if(!bx||bx.jqx){return(bx||by).find(bu)}else{return this.constructor(bx).find(bu)}}}else{if(C.isFunction(bu)){return by.ready(bu)}}if(bu.selector!==G){this.selector=bu.selector;this.context=bu.context}return C.makeArray(bu,this)},selector:"",jqx:"4.5.0",length:0,size:function(){return this.length},toArray:function(){return aD.call(this)},get:function(bu){return bu==null?this.toArray():(bu<0?this[this.length+bu]:this[bu])},pushStack:function(bv,bx,bu){var bw=C.merge(this.constructor(),bv);bw.prevObject=this;bw.context=this.context;if(bx==="find"){bw.selector=this.selector+(this.selector?" ":"")+bu}else{if(bx){bw.selector=this.selector+"."+bx+"("+bu+")"}}return bw},each:function(bv,bu){return C.each(this,bv,bu)},ready:function(bu){C.ready.promise().done(bu);return this},eq:function(bu){bu=+bu;return bu===-1?this.slice(bu):this.slice(bu,bu+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(aD.apply(this,arguments),"slice",aD.call(arguments).join(","))},map:function(bu){return this.pushStack(C.map(this,function(bw,bv){return bu.call(bw,bv,bw)}))},end:function(){return this.prevObject||this.constructor(null)},push:aR,sort:[].sort,splice:[].splice};C.fn.init.prototype=C.fn;C.extend=C.fn.extend=function(){var bD,bw,bu,bv,bA,bB,bz=arguments[0]||{},by=1,bx=arguments.length,bC=false;if(typeof bz==="boolean"){bC=bz;bz=arguments[1]||{};by=2}if(typeof bz!=="object"&&!C.isFunction(bz)){bz={}}if(bx===by){bz=this;--by}for(;by<bx;by++){if((bD=arguments[by])!=null){for(bw in bD){bu=bz[bw];bv=bD[bw];if(bz===bv){continue}if(bC&&bv&&(C.isPlainObject(bv)||(bA=C.isArray(bv)))){if(bA){bA=false;bB=bu&&C.isArray(bu)?bu:[]}else{bB=bu&&C.isPlainObject(bu)?bu:{}}bz[bw]=C.extend(bC,bB,bv)}else{if(bv!==G){bz[bw]=bv}}}}}return bz};C.extend({noConflict:function(bu){if(bd.$===C){bd.$=X}if(bu&&bd.JQXLite===C){bd.JQXLite=ax}return C},isReady:false,readyWait:1,holdReady:function(bu){if(bu){C.readyWait++}else{C.ready(true)}},ready:function(bu){if(bu===true?--C.readyWait:C.isReady){return}if(!ak.body){return setTimeout(C.ready,1)}C.isReady=true;if(bu!==true&&--C.readyWait>0){return}an.resolveWith(ak,[C]);if(C.fn.trigger){C(ak).trigger("ready").off("ready")}},isFunction:function(bu){return C.type(bu)==="function"},isArray:Array.isArray||function(bu){return C.type(bu)==="array"},isWindow:function(bu){return bu!=null&&bu==bu.window},isNumeric:function(bu){return !isNaN(parseFloat(bu))&&isFinite(bu)},type:function(bu){return bu==null?String(bu):a0[y.call(bu)]||"object"},isPlainObject:function(bw){if(!bw||C.type(bw)!=="object"||bw.nodeType||C.isWindow(bw)){return false}try{if(bw.constructor&&!b.call(bw,"constructor")&&!b.call(bw.constructor.prototype,"isPrototypeOf")){return false}}catch(bv){return false}var bu;for(bu in bw){}return bu===G||b.call(bw,bu)},isEmptyObject:function(bv){var bu;for(bu in bv){return false}return true},error:function(bu){throw new Error(bu)},parseHTML:function(bx,bw,bu){var bv;if(!bx||typeof bx!=="string"){return null}if(typeof bw==="boolean"){bu=bw;bw=0}bw=bw||ak;if((bv=e.exec(bx))){return[bw.createElement(bv[1])]}bv=C.buildFragment([bx],bw,bu?null:[]);return C.merge([],(bv.cacheable?C.clone(bv.fragment):bv.fragment).childNodes)},parseJSON:function(bu){if(!bu||typeof bu!=="string"){return null}bu=C.trim(bu);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(bu)}if(j.test(bu.replace(a5,"@").replace(K,"]").replace(t,""))){return(new Function("return "+bu))()}C.error("Invalid JSON: "+bu)},parseXML:function(bw){var bu,bv;if(!bw||typeof bw!=="string"){return null}try{if(bd.DOMParser){bv=new DOMParser();bu=bv.parseFromString(bw,"text/xml")}else{bu=new ActiveXObject("Microsoft.XMLDOM");bu.async="false";bu.loadXML(bw)}}catch(bx){bu=G}if(!bu||!bu.documentElement||bu.getElementsByTagName("parsererror").length){C.error("Invalid XML: "+bw)}return bu},noop:function(){},globalEval:function(bu){if(bu&&at.test(bu)){(bd.execScript||function(bv){bd["eval"].call(bd,bv)})(bu)}},camelCase:function(bu){return bu.replace(au,"ms-").replace(aS,m)},nodeName:function(bv,bu){return bv.nodeName&&bv.nodeName.toLowerCase()===bu.toLowerCase()},each:function(bz,bA,bw){var bv,bx=0,by=bz.length,bu=by===G||C.isFunction(bz);if(bw){if(bu){for(bv in bz){if(bA.apply(bz[bv],bw)===false){break}}}else{for(;bx<by;){if(bA.apply(bz[bx++],bw)===false){break}}}}else{if(bu){for(bv in bz){if(bA.call(bz[bv],bv,bz[bv])===false){break}}}else{for(;bx<by;){if(bA.call(bz[bx],bx,bz[bx++])===false){break}}}}return bz},trim:aw&&!aw.call("\uFEFF\xA0")?function(bu){return bu==null?"":aw.call(bu)}:function(bu){return bu==null?"":(bu+"").replace(S,"")},makeArray:function(bu,bw){var bx,bv=bw||[];if(bu!=null){bx=C.type(bu);if(bu.length==null||bx==="string"||bx==="function"||bx==="regexp"||C.isWindow(bu)){aR.call(bv,bu)}else{C.merge(bv,bu)}}return bv},inArray:function(bx,bv,bw){var bu;if(bv){if(aA){return aA.call(bv,bx,bw)}bu=bv.length;bw=bw?bw<0?Math.max(0,bu+bw):bw:0;for(;bw<bu;bw++){if(bw in bv&&bv[bw]===bx){return bw}}}return -1},merge:function(by,bw){var bu=bw.length,bx=by.length,bv=0;if(typeof bu==="number"){for(;bv<bu;bv++){by[bx++]=bw[bv]}}else{while(bw[bv]!==G){by[bx++]=bw[bv++]}}by.length=bx;return by},grep:function(bv,bA,bu){var bz,bw=[],bx=0,by=bv.length;bu=!!bu;for(;bx<by;bx++){bz=!!bA(bv[bx],bx);if(bu!==bz){bw.push(bv[bx])}}return bw},map:function(bu,bB,bC){var bz,bA,by=[],bw=0,bv=bu.length,bx=bu instanceof C||bv!==G&&typeof bv==="number"&&((bv>0&&bu[0]&&bu[bv-1])||bv===0||C.isArray(bu));if(bx){for(;bw<bv;bw++){bz=bB(bu[bw],bw,bC);if(bz!=null){by[by.length]=bz}}}else{for(bA in bu){bz=bB(bu[bA],bA,bC);if(bz!=null){by[by.length]=bz}}}return by.concat.apply([],by)},guid:1,proxy:function(by,bx){var bw,bu,bv;if(typeof bx==="string"){bw=by[bx];bx=by;by=bw}if(!C.isFunction(by)){return G}bu=aD.call(arguments,2);bv=function(){return by.apply(bx,bu.concat(aD.call(arguments)))};bv.guid=by.guid=by.guid||C.guid++;return bv},access:function(bu,bA,bD,bB,by,bE,bC){var bw,bz=bD==null,bx=0,bv=bu.length;if(bD&&typeof bD==="object"){for(bx in bD){C.access(bu,bA,bx,bD[bx],1,bE,bB)}by=1}else{if(bB!==G){bw=bC===G&&C.isFunction(bB);if(bz){if(bw){bw=bA;bA=function(bG,bF,bH){return bw.call(C(bG),bH)}}else{bA.call(bu,bB);bA=null}}if(bA){for(;bx<bv;bx++){bA(bu[bx],bD,bw?bB.call(bu[bx],bx,bA(bu[bx],bD)):bB,bC)}}by=1}}return by?bu:bz?bA.call(bu):bv?bA(bu[0],bD):bE},now:function(){return(new Date()).getTime()}});C.ready.promise=function(bx){if(!an){an=C.Deferred();if(ak.readyState==="complete"){setTimeout(C.ready,1)}else{if(ak.addEventListener){ak.addEventListener("DOMContentLoaded",a4,false);bd.addEventListener("load",C.ready,false)}else{ak.attachEvent("onreadystatechange",a4);bd.attachEvent("onload",C.ready);var bw=false;try{bw=bd.frameElement==null&&ak.documentElement}catch(bv){}if(bw&&bw.doScroll){(function bu(){if(!C.isReady){try{bw.doScroll("left")}catch(by){return setTimeout(bu,50)}C.ready()}})()}}}}return an.promise(bx)};C.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(bv,bu){a0["[object "+bu+"]"]=bu.toLowerCase()});q=C(ak);var aX={};function B(bv){var bu=aX[bv]={};C.each(bv.split(a8),function(bx,bw){bu[bw]=true});return bu}C.Callbacks=function(bE){bE=typeof bE==="string"?(aX[bE]||B(bE)):C.extend({},bE);var bx,bu,by,bw,bz,bA,bB=[],bC=!bE.once&&[],bv=function(bF){bx=bE.memory&&bF;bu=true;bA=bw||0;bw=0;bz=bB.length;by=true;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bF[0],bF[1])===false&&bE.stopOnFalse){bx=false;break}}by=false;if(bB){if(bC){if(bC.length){bv(bC.shift())}}else{if(bx){bB=[]}else{bD.disable()}}}},bD={add:function(){if(bB){var bG=bB.length;(function bF(bH){C.each(bH,function(bJ,bI){var bK=C.type(bI);if(bK==="function"){if(!bE.unique||!bD.has(bI)){bB.push(bI)}}else{if(bI&&bI.length&&bK!=="string"){bF(bI)}}})})(arguments);if(by){bz=bB.length}else{if(bx){bw=bG;bv(bx)}}}return this},remove:function(){if(bB){C.each(arguments,function(bH,bF){var bG;while((bG=C.inArray(bF,bB,bG))>-1){bB.splice(bG,1);if(by){if(bG<=bz){bz--}if(bG<=bA){bA--}}}})}return this},has:function(bF){return C.inArray(bF,bB)>-1},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=G;return this},disabled:function(){return !bB},lock:function(){bC=G;if(!bx){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){bF=bF||[];bF=[bG,bF.slice?bF.slice():bF];if(bB&&(!bu||bC)){if(by){bC.push(bF)}else{bv(bF)}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bu}};return bD};C.extend({Deferred:function(bw){var bv=[["resolve","done",C.Callbacks("once memory"),"resolved"],["reject","fail",C.Callbacks("once memory"),"rejected"],["notify","progress",C.Callbacks("memory")]],bx="pending",by={state:function(){return bx},always:function(){bu.done(arguments).fail(arguments);return this},then:function(){var bz=arguments;return C.Deferred(function(bA){C.each(bv,function(bC,bB){var bE=bB[0],bD=bz[bC];bu[bB[1]](C.isFunction(bD)?function(){var bF=bD.apply(this,arguments);if(bF&&C.isFunction(bF.promise)){bF.promise().done(bA.resolve).fail(bA.reject).progress(bA.notify)}else{bA[bE+"With"](this===bu?bA:this,[bF])}}:bA[bE])});bz=null}).promise()},promise:function(bz){return bz!=null?C.extend(bz,by):by}},bu={};by.pipe=by.then;C.each(bv,function(bA,bz){var bC=bz[2],bB=bz[3];by[bz[1]]=bC.add;if(bB){bC.add(function(){bx=bB},bv[bA^1][2].disable,bv[2][2].lock)}bu[bz[0]]=bC.fire;bu[bz[0]+"With"]=bC.fireWith});by.promise(bu);if(bw){bw.call(bu,bu)}return bu},when:function(by){var bw=0,bA=aD.call(arguments),bu=bA.length,bv=bu!==1||(by&&C.isFunction(by.promise))?bu:0,bD=bv===1?by:C.Deferred(),bx=function(bF,bG,bE){return function(bH){bG[bF]=this;bE[bF]=arguments.length>1?aD.call(arguments):bH;if(bE===bC){bD.notifyWith(bG,bE)}else{if(!(--bv)){bD.resolveWith(bG,bE)}}}},bC,bz,bB;if(bu>1){bC=new Array(bu);bz=new Array(bu);bB=new Array(bu);for(;bw<bu;bw++){if(bA[bw]&&C.isFunction(bA[bw].promise)){bA[bw].promise().done(bx(bw,bB,bA)).fail(bD.reject).progress(bx(bw,bz,bC))}else{--bv}}}if(!bv){bD.resolveWith(bB,bA)}return bD.promise()}});C.support=(function(){var bG,bF,bD,bE,bx,bC,bB,bz,by,bw,bu,bv=ak.createElement("div");bv.setAttribute("className","t");bv.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";bF=bv.getElementsByTagName("*");bD=bv.getElementsByTagName("a")[0];if(!bF||!bD||!bF.length){return{}}bE=ak.createElement("select");bx=bE.appendChild(ak.createElement("option"));bC=bv.getElementsByTagName("input")[0];bD.style.cssText="top:1px;float:left;opacity:.5";bG={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bD.getAttribute("style")),hrefNormalized:(bD.getAttribute("href")==="/a"),opacity:/^0.5/.test(bD.style.opacity),cssFloat:!!bD.style.cssFloat,checkOn:(bC.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!ak.createElement("form").enctype,html5Clone:ak.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",boxModel:(ak.compatMode==="CSS1Compat"),submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};bC.checked=true;bG.noCloneChecked=bC.cloneNode(true).checked;bE.disabled=true;bG.optDisabled=!bx.disabled;try{delete bv.test}catch(bA){bG.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",bu=function(){bG.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick");bv.detachEvent("onclick",bu)}bC=ak.createElement("input");bC.value="t";bC.setAttribute("type","radio");bG.radioValue=bC.value==="t";bC.setAttribute("checked","checked");bC.setAttribute("name","t");bv.appendChild(bC);bB=ak.createDocumentFragment();bB.appendChild(bv.lastChild);bG.checkClone=bB.cloneNode(true).cloneNode(true).lastChild.checked;bG.appendChecked=bC.checked;bB.removeChild(bC);bB.appendChild(bv);if(bv.attachEvent){for(by in {submit:true,change:true,focusin:true}){bz="on"+by;bw=(bz in bv);if(!bw){bv.setAttribute(bz,"return;");bw=(typeof bv[bz]==="function")}bG[by+"Bubbles"]=bw}}C(function(){var bI,bM,bK,bL,bJ="padding:0;margin:0;border:0;display:block;overflow:hidden;",bH=ak.getElementsByTagName("body")[0];if(!bH){return}bI=ak.createElement("div");bI.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";bH.insertBefore(bI,bH.firstChild);bM=ak.createElement("div");bI.appendChild(bM);bM.innerHTML="<table><tr><td></td><td>t</td></tr></table>";bK=bM.getElementsByTagName("td");bK[0].style.cssText="padding:0;margin:0;border:0;display:none";bw=(bK[0].offsetHeight===0);bK[0].style.display="";bK[1].style.display="none";bG.reliableHiddenOffsets=bw&&(bK[0].offsetHeight===0);bM.innerHTML="";bM.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";bG.boxSizing=(bM.offsetWidth===4);bG.doesNotIncludeMarginInBodyOffset=(bH.offsetTop!==1);if(bd.getComputedStyle){bG.pixelPosition=(bd.getComputedStyle(bM,null)||{}).top!=="1%";bG.boxSizingReliable=(bd.getComputedStyle(bM,null)||{width:"4px"}).width==="4px";bL=ak.createElement("div");bL.style.cssText=bM.style.cssText=bJ;bL.style.marginRight=bL.style.width="0";bM.style.width="1px";bM.appendChild(bL);bG.reliableMarginRight=!parseFloat((bd.getComputedStyle(bL,null)||{}).marginRight)}if(typeof bM.style.zoom!=="undefined"){bM.innerHTML="";bM.style.cssText=bJ+"width:1px;padding:1px;display:inline;zoom:1";bG.inlineBlockNeedsLayout=(bM.offsetWidth===3);bM.style.display="block";bM.style.overflow="visible";bM.innerHTML="<div></div>";bM.firstChild.style.width="5px";bG.shrinkWrapBlocks=(bM.offsetWidth!==3);bI.style.zoom=1}bH.removeChild(bI);bI=bM=bK=bL=null});bB.removeChild(bv);bF=bD=bE=bx=bC=bB=bv=null;return bG})();var aK=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aq=/([A-Z])/g;C.extend({cache:{},deletedIds:[],uuid:0,expando:"JQXLite"+(C.fn.jqx+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(bu){bu=bu.nodeType?C.cache[bu[C.expando]]:bu[C.expando];return !!bu&&!M(bu)},data:function(bx,bv,bz,by){if(!C.acceptData(bx)){return}var bA,bC,bD=C.expando,bB=typeof bv==="string",bE=bx.nodeType,bu=bE?C.cache:bx,bw=bE?bx[bD]:bx[bD]&&bD;if((!bw||!bu[bw]||(!by&&!bu[bw].data))&&bB&&bz===G){return}if(!bw){if(bE){bx[bD]=bw=C.deletedIds.pop()||C.guid++}else{bw=bD}}if(!bu[bw]){bu[bw]={};if(!bE){bu[bw].toJSON=C.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){bu[bw]=C.extend(bu[bw],bv)}else{bu[bw].data=C.extend(bu[bw].data,bv)}}bA=bu[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==G){bA[C.camelCase(bv)]=bz}if(bB){bC=bA[bv];if(bC==null){bC=bA[C.camelCase(bv)]}}else{bC=bA}return bC},removeData:function(bx,bv,by){if(!C.acceptData(bx)){return}var bB,bA,bz,bC=bx.nodeType,bu=bC?C.cache:bx,bw=bC?bx[C.expando]:C.expando;if(!bu[bw]){return}if(bv){bB=by?bu[bw]:bu[bw].data;if(bB){if(!C.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=C.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?M:C.isEmptyObject)(bB)){return}}}if(!by){delete bu[bw].data;if(!M(bu[bw])){return}}if(bC){C.cleanData([bx],true)}else{if(C.support.deleteExpando||bu!=bu.window){delete bu[bw]}else{bu[bw]=null}}},_data:function(bv,bu,bw){return C.data(bv,bu,bw,true)},acceptData:function(bv){var bu=bv.nodeName&&C.noData[bv.nodeName.toLowerCase()];return !bu||bu!==true&&bv.getAttribute("classid")===bu}});C.fn.extend({data:function(bD,bC){var by,bv,bB,bu,bx,bw=this[0],bA=0,bz=null;if(bD===G){if(this.length){bz=C.data(bw);if(bw.nodeType===1&&!C._data(bw,"parsedAttrs")){bB=bw.attributes;for(bx=bB.length;bA<bx;bA++){bu=bB[bA].name;if(!bu.indexOf("data-")){bu=C.camelCase(bu.substring(5));a9(bw,bu,bz[bu])}}C._data(bw,"parsedAttrs",true)}}return bz}if(typeof bD==="object"){return this.each(function(){C.data(this,bD)})}by=bD.split(".",2);by[1]=by[1]?"."+by[1]:"";bv=by[1]+"!";return C.access(this,function(bE){if(bE===G){bz=this.triggerHandler("getData"+bv,[by[0]]);if(bz===G&&bw){bz=C.data(bw,bD);bz=a9(bw,bD,bz)}return bz===G&&by[1]?this.data(by[0]):bz}by[1]=bE;this.each(function(){var bF=C(this);bF.triggerHandler("setData"+bv,by);C.data(this,bD,bE);bF.triggerHandler("changeData"+bv,by)})},null,bC,arguments.length>1,null,false)},removeData:function(bu){return this.each(function(){C.removeData(this,bu)})}});function a9(bw,bv,bx){if(bx===G&&bw.nodeType===1){var bu="data-"+bv.replace(aq,"-$1").toLowerCase();bx=bw.getAttribute(bu);if(typeof bx==="string"){try{bx=bx==="true"?true:bx==="false"?false:bx==="null"?null:+bx+""===bx?+bx:aK.test(bx)?C.parseJSON(bx):bx}catch(by){}C.data(bw,bv,bx)}else{bx=G}}return bx}function M(bv){var bu;for(bu in bv){if(bu==="data"&&C.isEmptyObject(bv[bu])){continue}if(bu!=="toJSON"){return false}}return true}C.extend({queue:function(bw,bv,bx){var bu;if(bw){bv=(bv||"fx")+"queue";bu=C._data(bw,bv);if(bx){if(!bu||C.isArray(bx)){bu=C._data(bw,bv,C.makeArray(bx))}else{bu.push(bx)}}return bu||[]}},dequeue:function(bz,by){by=by||"fx";var bv=C.queue(bz,by),bA=bv.length,bx=bv.shift(),bu=C._queueHooks(bz,by),bw=function(){C.dequeue(bz,by)};if(bx==="inprogress"){bx=bv.shift();bA--}if(bx){if(by==="fx"){bv.unshift("inprogress")}delete bu.stop;bx.call(bz,bw,bu)}if(!bA&&bu){bu.empty.fire()}},_queueHooks:function(bw,bv){var bu=bv+"queueHooks";return C._data(bw,bu)||C._data(bw,bu,{empty:C.Callbacks("once memory").add(function(){C.removeData(bw,bv+"queue",true);C.removeData(bw,bu,true)})})}});C.fn.extend({queue:function(bu,bv){var bw=2;if(typeof bu!=="string"){bv=bu;bu="fx";bw--}if(arguments.length<bw){return C.queue(this[0],bu)}return bv===G?this:this.each(function(){var bx=C.queue(this,bu,bv);C._queueHooks(this,bu);if(bu==="fx"&&bx[0]!=="inprogress"){C.dequeue(this,bu)}})},dequeue:function(bu){return this.each(function(){C.dequeue(this,bu)})},delay:function(bv,bu){bv=C.fx?C.fx.speeds[bv]||bv:bv;bu=bu||"fx";return this.queue(bu,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(bu){return this.queue(bu||"fx",[])},promise:function(bw,bA){var bv,bx=1,bB=C.Deferred(),bz=this,bu=this.length,by=function(){if(!(--bx)){bB.resolveWith(bz,[bz])}};if(typeof bw!=="string"){bA=bw;bw=G}bw=bw||"fx";while(bu--){bv=C._data(bz[bu],bw+"queueHooks");if(bv&&bv.empty){bx++;bv.empty.add(by)}}by();return bB.promise(bA)}});var bh,aT,ay,aI=/[\t\r\n]/g,aP=/\r/g,d=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,h=/^a(?:rea|)$/i,ae=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,A=C.support.getSetAttribute;C.fn.extend({attr:function(bu,bv){return C.access(this,C.attr,bu,bv,arguments.length>1)},removeAttr:function(bu){return this.each(function(){C.removeAttr(this,bu)})},prop:function(bu,bv){return C.access(this,C.prop,bu,bv,arguments.length>1)},removeProp:function(bu){bu=C.propFix[bu]||bu;return this.each(function(){try{this[bu]=G;delete this[bu]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,bu;if(C.isFunction(by)){return this.each(function(bC){C(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(a8);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,bu=bA.length;bB<bu;bB++){if(bz.indexOf(" "+bA[bB]+" ")<0){bz+=bA[bB]+" "}}bx.className=C.trim(bz)}}}}return this},removeClass:function(bA){var bx,by,bz,bB,bv,bw,bu;if(C.isFunction(bA)){return this.each(function(bC){C(this).removeClass(bA.call(this,bC,this.className))})}if((bA&&typeof bA==="string")||bA===G){bx=(bA||"").split(a8);for(bw=0,bu=this.length;bw<bu;bw++){bz=this[bw];if(bz.nodeType===1&&bz.className){by=(" "+bz.className+" ").replace(aI," ");for(bB=0,bv=bx.length;bB<bv;bB++){while(by.indexOf(" "+bx[bB]+" ")>=0){by=by.replace(" "+bx[bB]+" "," ")}}bz.className=bA?C.trim(by):""}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,bu=typeof bv==="boolean";if(C.isFunction(bx)){return this.each(function(by){C(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=C(this),bB=bv,bC=bx.split(a8);while((bA=bC[bz++])){bB=bu?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){C._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":C._data(this,"__className__")||""}}})},hasClass:function(bu){var bx=" "+bu+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aI," ").indexOf(bx)>=0){return true}}return false},val:function(bx){var bu,bv,by,bw=this[0];if(!arguments.length){if(bw){bu=C.valHooks[bw.type]||C.valHooks[bw.nodeName.toLowerCase()];if(bu&&"get" in bu&&(bv=bu.get(bw,"value"))!==G){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aP,""):bv==null?"":bv}return}by=C.isFunction(bx);return this.each(function(bA){var bB,bz=C(this);if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(C.isArray(bB)){bB=C.map(bB,function(bC){return bC==null?"":bC+""})}}}bu=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()];if(!bu||!("set" in bu)||bu.set(this,bB,"value")===G){this.value=bB}})}});C.extend({valHooks:{option:{get:function(bu){var bv=bu.attributes.value;return !bv||bv.specified?bu.value:bu.text}},select:{get:function(bu){var bA,bw,bC=bu.options,by=bu.selectedIndex,bx=bu.type==="select-one"||by<0,bB=bx?null:[],bz=bx?by+1:bC.length,bv=by<0?bz:bx?by:0;for(;bv<bz;bv++){bw=bC[bv];if((bw.selected||bv===by)&&(C.support.optDisabled?!bw.disabled:bw.getAttribute("disabled")===null)&&(!bw.parentNode.disabled||!C.nodeName(bw.parentNode,"optgroup"))){bA=C(bw).val();if(bx){return bA}bB.push(bA)}}return bB},set:function(bv,bw){var bu=C.makeArray(bw);C(bv).find("option").each(function(){this.selected=C.inArray(C(this).val(),bu)>=0});if(!bu.length){bv.selectedIndex=-1}return bu}}},attrFn:{},attr:function(bA,bx,bB,bz){var bw,bu,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&C.isFunction(C.fn[bx])){return C(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return C.prop(bA,bx,bB)}by=bv!==1||!C.isXMLDoc(bA);if(by){bx=bx.toLowerCase();bu=C.attrHooks[bx]||(ae.test(bx)?aT:bh)}if(bB!==G){if(bB===null){C.removeAttr(bA,bx);return}else{if(bu&&"set" in bu&&by&&(bw=bu.set(bA,bB,bx))!==G){return bw}else{bA.setAttribute(bx,bB+"");return bB}}}else{if(bu&&"get" in bu&&by&&(bw=bu.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?G:bw}}},removeAttr:function(bx,bz){var by,bA,bv,bu,bw=0;if(bz&&bx.nodeType===1){bA=bz.split(a8);for(;bw<bA.length;bw++){bv=bA[bw];if(bv){by=C.propFix[bv]||bv;bu=ae.test(bv);if(!bu){C.attr(bx,bv,"")}bx.removeAttribute(A?bv:by);if(bu&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(bu,bv){if(d.test(bu.nodeName)&&bu.parentNode){C.error("type property can't be changed")}else{if(!C.support.radioValue&&bv==="radio"&&C.nodeName(bu,"input")){var bw=bu.value;bu.setAttribute("type",bv);if(bw){bu.value=bw}return bv}}}},value:{get:function(bv,bu){if(bh&&C.nodeName(bv,"button")){return bh.get(bv,bu)}return bu in bv?bv.value:null},set:function(bv,bw,bu){if(bh&&C.nodeName(bv,"button")){return bh.set(bv,bw,bu)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,bu,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!C.isXMLDoc(bz);if(by){bx=C.propFix[bx]||bx;bu=C.propHooks[bx]}if(bA!==G){if(bu&&"set" in bu&&(bw=bu.set(bz,bA,bx))!==G){return bw}else{return(bz[bx]=bA)}}else{if(bu&&"get" in bu&&(bw=bu.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var bu=bv.getAttributeNode("tabindex");return bu&&bu.specified?parseInt(bu.value,10):z.test(bv.nodeName)||h.test(bv.nodeName)&&bv.href?0:G}}}});aT={get:function(bv,bu){var bx,bw=C.prop(bv,bu);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(bu))&&bx.nodeValue!==false?bu.toLowerCase():G},set:function(bv,bx,bu){var bw;if(bx===false){C.removeAttr(bv,bu)}else{bw=C.propFix[bu]||bu;if(bw in bv){bv[bw]=true}bv.setAttribute(bu,bu.toLowerCase())}return bu}};if(!C.support.enctype){C.propFix.enctype="encoding"}var bf=/^(?:textarea|input|select)$/i,n=/^([^\.]*|)(?:\.(.+)|)$/,F=/(?:^|\s)hover(\.\S+|)\b/,aH=/^key/,bi=/^(?:mouse|contextmenu)|click/,N=/^(?:focusinfocus|focusoutblur)$/,bs=function(bu){return C.event.special.hover?bu:bu.replace(F,"mouseenter$1 mouseleave$1")};C.event={add:function(bx,bB,bI,bz,by){var bC,bA,bJ,bH,bG,bE,bu,bF,bv,bw,bD;if(bx.nodeType===3||bx.nodeType===8||!bB||!bI||!(bC=C._data(bx))){return}if(bI.handler){bv=bI;bI=bv.handler;by=bv.selector}if(!bI.guid){bI.guid=C.guid++}bJ=bC.events;if(!bJ){bC.events=bJ={}}bA=bC.handle;if(!bA){bC.handle=bA=function(bK){return typeof C!=="undefined"&&(!bK||C.event.triggered!==bK.type)?C.event.dispatch.apply(bA.elem,arguments):G};bA.elem=bx}bB=C.trim(bs(bB)).split(" ");for(bH=0;bH<bB.length;bH++){bG=n.exec(bB[bH])||[];bE=bG[1];bu=(bG[2]||"").split(".").sort();bD=C.event.special[bE]||{};bE=(by?bD.delegateType:bD.bindType)||bE;bD=C.event.special[bE]||{};bF=C.extend({type:bE,origType:bG[1],data:bz,handler:bI,guid:bI.guid,selector:by,needsContext:by&&C.expr.match.needsContext.test(by),namespace:bu.join(".")},bv);bw=bJ[bE];if(!bw){bw=bJ[bE]=[];bw.delegateCount=0;if(!bD.setup||bD.setup.call(bx,bz,bu,bA)===false){if(bx.addEventListener){bx.addEventListener(bE,bA,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bE,bA)}}}}if(bD.add){bD.add.call(bx,bF);if(!bF.handler.guid){bF.handler.guid=bI.guid}}if(by){bw.splice(bw.delegateCount++,0,bF)}else{bw.push(bF)}C.event.global[bE]=true}bx=null},global:{},remove:function(bx,bC,bI,by,bB){var bJ,bK,bF,bw,bv,bz,bA,bH,bE,bu,bG,bD=C.hasData(bx)&&C._data(bx);if(!bD||!(bH=bD.events)){return}bC=C.trim(bs(bC||"")).split(" ");for(bJ=0;bJ<bC.length;bJ++){bK=n.exec(bC[bJ])||[];bF=bw=bK[1];bv=bK[2];if(!bF){for(bF in bH){C.event.remove(bx,bF+bC[bJ],bI,by,true)}continue}bE=C.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bu=bH[bF]||[];bz=bu.length;bv=bv?new RegExp("(^|\\.)"+bv.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(bA=0;bA<bu.length;bA++){bG=bu[bA];if((bB||bw===bG.origType)&&(!bI||bI.guid===bG.guid)&&(!bv||bv.test(bG.namespace))&&(!by||by===bG.selector||by==="**"&&bG.selector)){bu.splice(bA--,1);if(bG.selector){bu.delegateCount--}if(bE.remove){bE.remove.call(bx,bG)}}}if(bu.length===0&&bz!==bu.length){if(!bE.teardown||bE.teardown.call(bx,bv,bD.handle)===false){C.removeEvent(bx,bF,bD.handle)}delete bH[bF]}}if(C.isEmptyObject(bH)){delete bD.handle;C.removeData(bx,"events",true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bC,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bu,bx,bD,bH,bz,by,bF,bE,bB,bI,bG=bv.type||bv,bw=[];if(N.test(bG+C.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bx=true}if(bG.indexOf(".")>=0){bw=bG.split(".");bG=bw.shift();bw.sort()}if((!bA||C.event.customEvent[bG])&&!C.event.global[bG]){return}bv=typeof bv==="object"?bv[C.expando]?bv:new C.Event(bG,bv):new C.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bx;bv.namespace=bw.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bw.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){bu=C.cache;for(bD in bu){if(bu[bD].events&&bu[bD].events[bG]){C.event.trigger(bv,bC,bu[bD].handle.elem,true)}}return}bv.result=G;if(!bv.target){bv.target=bA}bC=bC!=null?C.makeArray(bC):[];bC.unshift(bv);bF=C.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bC)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!C.isWindow(bA)){bI=bF.delegateType||bG;bH=N.test(bI+bG)?bA:bA.parentNode;for(bz=bA;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz===(bA.ownerDocument||ak)){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bD=0;bD<bB.length&&!bv.isPropagationStopped();bD++){bH=bB[bD][0];bv.type=bB[bD][1];bE=(C._data(bH,"events")||{})[bv.type]&&C._data(bH,"handle");if(bE){bE.apply(bH,bC)}bE=by&&bH[by];if(bE&&C.acceptData(bH)&&bE.apply&&bE.apply(bH,bC)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bC)===false)&&!(bG==="click"&&C.nodeName(bA,"a"))&&C.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!C.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}C.event.triggered=bG;bA[bG]();C.event.triggered=G;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(bu){bu=C.event.fix(bu||bd.event);var bB,bA,bK,bE,bD,bv,bC,bI,bx,bJ,by=((C._data(this,"events")||{})[bu.type]||[]),bz=by.delegateCount,bG=aD.call(arguments),bw=!bu.exclusive&&!bu.namespace,bF=C.event.special[bu.type]||{},bH=[];bG[0]=bu;bu.delegateTarget=this;if(bF.preDispatch&&bF.preDispatch.call(this,bu)===false){return}if(bz&&!(bu.button&&bu.type==="click")){for(bK=bu.target;bK!=this;bK=bK.parentNode||this){if(bK.disabled!==true||bu.type!=="click"){bD={};bC=[];for(bB=0;bB<bz;bB++){bI=by[bB];bx=bI.selector;if(bD[bx]===G){bD[bx]=bI.needsContext?C(bx,this).index(bK)>=0:C.find(bx,this,null,[bK]).length}if(bD[bx]){bC.push(bI)}}if(bC.length){bH.push({elem:bK,matches:bC})}}}}if(by.length>bz){bH.push({elem:this,matches:by.slice(bz)})}for(bB=0;bB<bH.length&&!bu.isPropagationStopped();bB++){bv=bH[bB];bu.currentTarget=bv.elem;for(bA=0;bA<bv.matches.length&&!bu.isImmediatePropagationStopped();bA++){bI=bv.matches[bA];if(bw||(!bu.namespace&&!bI.namespace)||bu.namespace_re&&bu.namespace_re.test(bI.namespace)){bu.data=bI.data;bu.handleObj=bI;bE=((C.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bE!==G){bu.result=bE;if(bE===false){bu.preventDefault();bu.stopPropagation()}}}}}if(bF.postDispatch){bF.postDispatch.call(this,bu)}return bu.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,bu){if(bv.which==null){bv.which=bu.charCode!=null?bu.charCode:bu.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,bu,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||ak;bz=by.documentElement;bu=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||bu&&bu.scrollLeft||0)-(bz&&bz.clientLeft||bu&&bu.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||bu&&bu.scrollTop||0)-(bz&&bz.clientTop||bu&&bu.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==G){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[C.expando]){return bw}var bv,bz,bu=bw,bx=C.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=C.Event(bu);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=bu[bz]}if(!bw.target){bw.target=bu.srcElement||ak}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}bw.metaKey=!!bw.metaKey;return bx.filter?bx.filter(bw,bu):bw},special:{load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,bu){if(C.isWindow(this)){this.onbeforeunload=bu}},teardown:function(bv,bu){if(this.onbeforeunload===bu){this.onbeforeunload=null}}}},simulate:function(bv,bx,bw,bu){var by=C.extend(new C.Event(),bw,{type:bv,isSimulated:true,originalEvent:{}});if(bu){C.event.trigger(by,null,bx)}else{C.event.dispatch.call(bx,by)}if(by.isDefaultPrevented()){bw.preventDefault()}}};C.event.handle=C.event.dispatch;C.removeEvent=ak.removeEventListener?function(bv,bu,bw){if(bv.removeEventListener){bv.removeEventListener(bu,bw,false)}}:function(bw,bv,bx){var bu="on"+bv;if(bw.detachEvent){if(typeof bw[bu]==="undefined"){bw[bu]=null}bw.detachEvent(bu,bx)}};C.Event=function(bv,bu){if(!(this instanceof C.Event)){return new C.Event(bv,bu)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?f:bn}else{this.type=bv}if(bu){C.extend(this,bu)}this.timeStamp=bv&&bv.timeStamp||C.now();this[C.expando]=true};function bn(){return false}function f(){return true}C.Event.prototype={preventDefault:function(){this.isDefaultPrevented=f;var bu=this.originalEvent;if(!bu){return}if(bu.preventDefault){bu.preventDefault()}else{bu.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=f;var bu=this.originalEvent;if(!bu){return}if(bu.stopPropagation){bu.stopPropagation()}bu.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=f;this.stopPropagation()},isDefaultPrevented:bn,isPropagationStopped:bn,isImmediatePropagationStopped:bn};C.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,bu){C.event.special[bv]={delegateType:bu,bindType:bu,handle:function(bz){var bx,bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector;if(!bA||(bA!==bB&&!C.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=bu}return bx}}});C.fn.extend({on:function(bw,bu,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof bu!=="string"){bz=bz||bu;bu=G}for(bx in bw){this.on(bx,bu,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=bu;bz=bu=G}else{if(by==null){if(typeof bu==="string"){by=bz;bz=G}else{by=bz;bz=bu;bu=G}}}if(by===false){by=bn}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){C().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=C.guid++)}return this.each(function(){C.event.add(this,bw,by,bz,bu)})},off:function(bw,bu,by){var bv,bx;if(bw&&bw.preventDefault&&bw.handleObj){bv=bw.handleObj;C(bw.delegateTarget).off(bv.namespace?bv.origType+"."+bv.namespace:bv.origType,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(bx in bw){this.off(bx,bu,bw[bx])}return this}if(bu===false||typeof bu==="function"){by=bu;bu=G}if(by===false){by=bn}return this.each(function(){C.event.remove(this,bw,by,bu)})},delegate:function(bu,bv,bx,bw){return this.on(bv,bu,bx,bw)},undelegate:function(bu,bv,bw){return arguments.length===1?this.off(bu,"**"):this.off(bv,bu||"**",bw)},trigger:function(bu,bv){return this.each(function(){C.event.trigger(bu,bv,this)})},triggerHandler:function(bu,bv){if(this[0]){return C.event.trigger(bu,bv,this[0],true)}},toggle:function(bx){var bv=arguments,bu=bx.guid||C.guid++,bw=0,by=function(bz){var bA=(C._data(this,"lastToggle"+bx.guid)||0)%bw;C._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=bu;while(bw<bv.length){bv[bw++].guid=bu}return this.click(by)},hover:function(bu,bv){return this.mouseenter(bu).mouseleave(bv||bu)}});C.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,bu){C.fn[bu]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(bu,null,bx,bw):this.trigger(bu)};if(aH.test(bu)){C.event.fixHooks[bu]=C.event.keyHooks}if(bi.test(bu)){C.event.fixHooks[bu]=C.event.mouseHooks}});
+var oldBrowser=document.all&&!document.addEventListener;if(!oldBrowser){(function(bd,G){var q,an,ak=bd.document,bo=bd.location,bt=bd.navigator,ax=bd.JQXLite,X=bd.$,aR=Array.prototype.push,aD=Array.prototype.slice,aA=Array.prototype.indexOf,y=Object.prototype.toString,b=Object.prototype.hasOwnProperty,aw=String.prototype.trim,C=function(bu,bv){return new C.fn.init(bu,bv,q)},aE=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,at=/\S/,a8=/\s+/,S=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,aF=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,e=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,j=/^[\],:{}\s]*$/,t=/(?:^|:|,)(?:\s*\[)+/g,a5=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,K=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,au=/^-ms-/,aS=/-([\da-z])/gi,m=function(bu,bv){return(bv+"").toUpperCase()},a4=function(){if(ak.addEventListener){ak.removeEventListener("DOMContentLoaded",a4,false);C.ready()}else{if(ak.readyState==="complete"){ak.detachEvent("onreadystatechange",a4);C.ready()}}},a0={};C.fn=C.prototype={constructor:C,init:function(bu,bx,by){var bw,bz,bv,bA;if(!bu){return this}if(bu.nodeType){this.context=this[0]=bu;this.length=1;return this}if(typeof bu==="string"){if(bu.charAt(0)==="<"&&bu.charAt(bu.length-1)===">"&&bu.length>=3){bw=[null,bu,null]}else{bw=aF.exec(bu)}if(bw&&(bw[1]||!bx)){if(bw[1]){bx=bx instanceof C?bx[0]:bx;bA=(bx&&bx.nodeType?bx.ownerDocument||bx:ak);bu=C.parseHTML(bw[1],bA,true);if(e.test(bw[1])&&C.isPlainObject(bx)){this.attr.call(bu,bx,true)}return C.merge(this,bu)}else{bz=ak.getElementById(bw[2]);if(bz&&bz.parentNode){if(bz.id!==bw[2]){return by.find(bu)}this.length=1;this[0]=bz}this.context=ak;this.selector=bu;return this}}else{if(!bx||bx.jqx){return(bx||by).find(bu)}else{return this.constructor(bx).find(bu)}}}else{if(C.isFunction(bu)){return by.ready(bu)}}if(bu.selector!==G){this.selector=bu.selector;this.context=bu.context}return C.makeArray(bu,this)},selector:"",jqx:"4.5.0",length:0,size:function(){return this.length},toArray:function(){return aD.call(this)},get:function(bu){return bu==null?this.toArray():(bu<0?this[this.length+bu]:this[bu])},pushStack:function(bv,bx,bu){var bw=C.merge(this.constructor(),bv);bw.prevObject=this;bw.context=this.context;if(bx==="find"){bw.selector=this.selector+(this.selector?" ":"")+bu}else{if(bx){bw.selector=this.selector+"."+bx+"("+bu+")"}}return bw},each:function(bv,bu){return C.each(this,bv,bu)},ready:function(bu){C.ready.promise().done(bu);return this},eq:function(bu){bu=+bu;return bu===-1?this.slice(bu):this.slice(bu,bu+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(aD.apply(this,arguments),"slice",aD.call(arguments).join(","))},map:function(bu){return this.pushStack(C.map(this,function(bw,bv){return bu.call(bw,bv,bw)}))},end:function(){return this.prevObject||this.constructor(null)},push:aR,sort:[].sort,splice:[].splice};C.fn.init.prototype=C.fn;C.extend=C.fn.extend=function(){var bD,bw,bu,bv,bA,bB,bz=arguments[0]||{},by=1,bx=arguments.length,bC=false;if(typeof bz==="boolean"){bC=bz;bz=arguments[1]||{};by=2}if(typeof bz!=="object"&&!C.isFunction(bz)){bz={}}if(bx===by){bz=this;--by}for(;by<bx;by++){if((bD=arguments[by])!=null){for(bw in bD){bu=bz[bw];bv=bD[bw];if(bz===bv){continue}if(bC&&bv&&(C.isPlainObject(bv)||(bA=C.isArray(bv)))){if(bA){bA=false;bB=bu&&C.isArray(bu)?bu:[]}else{bB=bu&&C.isPlainObject(bu)?bu:{}}bz[bw]=C.extend(bC,bB,bv)}else{if(bv!==G){bz[bw]=bv}}}}}return bz};C.extend({noConflict:function(bu){if(bd.$===C){bd.$=X}if(bu&&bd.JQXLite===C){bd.JQXLite=ax}return C},isReady:false,readyWait:1,holdReady:function(bu){if(bu){C.readyWait++}else{C.ready(true)}},ready:function(bu){if(bu===true?--C.readyWait:C.isReady){return}if(!ak.body){return setTimeout(C.ready,1)}C.isReady=true;if(bu!==true&&--C.readyWait>0){return}an.resolveWith(ak,[C]);if(C.fn.trigger){C(ak).trigger("ready").off("ready")}},isFunction:function(bu){return C.type(bu)==="function"},isArray:Array.isArray||function(bu){return C.type(bu)==="array"},isWindow:function(bu){return bu!=null&&bu==bu.window},isNumeric:function(bu){return !isNaN(parseFloat(bu))&&isFinite(bu)},type:function(bu){return bu==null?String(bu):a0[y.call(bu)]||"object"},isPlainObject:function(bw){if(!bw||C.type(bw)!=="object"||bw.nodeType||C.isWindow(bw)){return false}try{if(bw.constructor&&!b.call(bw,"constructor")&&!b.call(bw.constructor.prototype,"isPrototypeOf")){return false}}catch(bv){return false}var bu;for(bu in bw){}return bu===G||b.call(bw,bu)},isEmptyObject:function(bv){var bu;for(bu in bv){return false}return true},error:function(bu){throw new Error(bu)},parseHTML:function(bx,bw,bu){var bv;if(!bx||typeof bx!=="string"){return null}if(typeof bw==="boolean"){bu=bw;bw=0}bw=bw||ak;if((bv=e.exec(bx))){return[bw.createElement(bv[1])]}bv=C.buildFragment([bx],bw,bu?null:[]);return C.merge([],(bv.cacheable?C.clone(bv.fragment):bv.fragment).childNodes)},parseJSON:function(bu){if(!bu||typeof bu!=="string"){return null}bu=C.trim(bu);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(bu)}if(j.test(bu.replace(a5,"@").replace(K,"]").replace(t,""))){return(new Function("return "+bu))()}C.error("Invalid JSON: "+bu)},parseXML:function(bw){var bu,bv;if(!bw||typeof bw!=="string"){return null}try{if(bd.DOMParser){bv=new DOMParser();bu=bv.parseFromString(bw,"text/xml")}else{bu=new ActiveXObject("Microsoft.XMLDOM");bu.async="false";bu.loadXML(bw)}}catch(bx){bu=G}if(!bu||!bu.documentElement||bu.getElementsByTagName("parsererror").length){C.error("Invalid XML: "+bw)}return bu},noop:function(){},globalEval:function(bu){if(bu&&at.test(bu)){(bd.execScript||function(bv){bd["eval"].call(bd,bv)})(bu)}},camelCase:function(bu){return bu.replace(au,"ms-").replace(aS,m)},nodeName:function(bv,bu){return bv.nodeName&&bv.nodeName.toLowerCase()===bu.toLowerCase()},each:function(bz,bA,bw){var bv,bx=0,by=bz.length,bu=by===G||C.isFunction(bz);if(bw){if(bu){for(bv in bz){if(bA.apply(bz[bv],bw)===false){break}}}else{for(;bx<by;){if(bA.apply(bz[bx++],bw)===false){break}}}}else{if(bu){for(bv in bz){if(bA.call(bz[bv],bv,bz[bv])===false){break}}}else{for(;bx<by;){if(bA.call(bz[bx],bx,bz[bx++])===false){break}}}}return bz},trim:aw&&!aw.call("\uFEFF\xA0")?function(bu){return bu==null?"":aw.call(bu)}:function(bu){return bu==null?"":(bu+"").replace(S,"")},makeArray:function(bu,bw){var bx,bv=bw||[];if(bu!=null){bx=C.type(bu);if(bu.length==null||bx==="string"||bx==="function"||bx==="regexp"||C.isWindow(bu)){aR.call(bv,bu)}else{C.merge(bv,bu)}}return bv},inArray:function(bx,bv,bw){var bu;if(bv){if(aA){return aA.call(bv,bx,bw)}bu=bv.length;bw=bw?bw<0?Math.max(0,bu+bw):bw:0;for(;bw<bu;bw++){if(bw in bv&&bv[bw]===bx){return bw}}}return -1},merge:function(by,bw){var bu=bw.length,bx=by.length,bv=0;if(typeof bu==="number"){for(;bv<bu;bv++){by[bx++]=bw[bv]}}else{while(bw[bv]!==G){by[bx++]=bw[bv++]}}by.length=bx;return by},grep:function(bv,bA,bu){var bz,bw=[],bx=0,by=bv.length;bu=!!bu;for(;bx<by;bx++){bz=!!bA(bv[bx],bx);if(bu!==bz){bw.push(bv[bx])}}return bw},map:function(bu,bB,bC){var bz,bA,by=[],bw=0,bv=bu.length,bx=bu instanceof C||bv!==G&&typeof bv==="number"&&((bv>0&&bu[0]&&bu[bv-1])||bv===0||C.isArray(bu));if(bx){for(;bw<bv;bw++){bz=bB(bu[bw],bw,bC);if(bz!=null){by[by.length]=bz}}}else{for(bA in bu){bz=bB(bu[bA],bA,bC);if(bz!=null){by[by.length]=bz}}}return by.concat.apply([],by)},guid:1,proxy:function(by,bx){var bw,bu,bv;if(typeof bx==="string"){bw=by[bx];bx=by;by=bw}if(!C.isFunction(by)){return G}bu=aD.call(arguments,2);bv=function(){return by.apply(bx,bu.concat(aD.call(arguments)))};bv.guid=by.guid=by.guid||C.guid++;return bv},access:function(bu,bA,bD,bB,by,bE,bC){var bw,bz=bD==null,bx=0,bv=bu.length;if(bD&&typeof bD==="object"){for(bx in bD){C.access(bu,bA,bx,bD[bx],1,bE,bB)}by=1}else{if(bB!==G){bw=bC===G&&C.isFunction(bB);if(bz){if(bw){bw=bA;bA=function(bG,bF,bH){return bw.call(C(bG),bH)}}else{bA.call(bu,bB);bA=null}}if(bA){for(;bx<bv;bx++){bA(bu[bx],bD,bw?bB.call(bu[bx],bx,bA(bu[bx],bD)):bB,bC)}}by=1}}return by?bu:bz?bA.call(bu):bv?bA(bu[0],bD):bE},now:function(){return(new Date()).getTime()}});C.ready.promise=function(bx){if(!an){an=C.Deferred();if(ak.readyState==="complete"){setTimeout(C.ready,1)}else{if(ak.addEventListener){ak.addEventListener("DOMContentLoaded",a4,false);bd.addEventListener("load",C.ready,false)}else{ak.attachEvent("onreadystatechange",a4);bd.attachEvent("onload",C.ready);var bw=false;try{bw=bd.frameElement==null&&ak.documentElement}catch(bv){}if(bw&&bw.doScroll){(function bu(){if(!C.isReady){try{bw.doScroll("left")}catch(by){return setTimeout(bu,50)}C.ready()}})()}}}}return an.promise(bx)};C.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(bv,bu){a0["[object "+bu+"]"]=bu.toLowerCase()});q=C(ak);var aX={};function B(bv){var bu=aX[bv]={};C.each(bv.split(a8),function(bx,bw){bu[bw]=true});return bu}C.Callbacks=function(bE){bE=typeof bE==="string"?(aX[bE]||B(bE)):C.extend({},bE);var bx,bu,by,bw,bz,bA,bB=[],bC=!bE.once&&[],bv=function(bF){bx=bE.memory&&bF;bu=true;bA=bw||0;bw=0;bz=bB.length;by=true;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bF[0],bF[1])===false&&bE.stopOnFalse){bx=false;break}}by=false;if(bB){if(bC){if(bC.length){bv(bC.shift())}}else{if(bx){bB=[]}else{bD.disable()}}}},bD={add:function(){if(bB){var bG=bB.length;(function bF(bH){C.each(bH,function(bJ,bI){var bK=C.type(bI);if(bK==="function"){if(!bE.unique||!bD.has(bI)){bB.push(bI)}}else{if(bI&&bI.length&&bK!=="string"){bF(bI)}}})})(arguments);if(by){bz=bB.length}else{if(bx){bw=bG;bv(bx)}}}return this},remove:function(){if(bB){C.each(arguments,function(bH,bF){var bG;while((bG=C.inArray(bF,bB,bG))>-1){bB.splice(bG,1);if(by){if(bG<=bz){bz--}if(bG<=bA){bA--}}}})}return this},has:function(bF){return C.inArray(bF,bB)>-1},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=G;return this},disabled:function(){return !bB},lock:function(){bC=G;if(!bx){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){bF=bF||[];bF=[bG,bF.slice?bF.slice():bF];if(bB&&(!bu||bC)){if(by){bC.push(bF)}else{bv(bF)}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bu}};return bD};C.extend({Deferred:function(bw){var bv=[["resolve","done",C.Callbacks("once memory"),"resolved"],["reject","fail",C.Callbacks("once memory"),"rejected"],["notify","progress",C.Callbacks("memory")]],bx="pending",by={state:function(){return bx},always:function(){bu.done(arguments).fail(arguments);return this},then:function(){var bz=arguments;return C.Deferred(function(bA){C.each(bv,function(bC,bB){var bE=bB[0],bD=bz[bC];bu[bB[1]](C.isFunction(bD)?function(){var bF=bD.apply(this,arguments);if(bF&&C.isFunction(bF.promise)){bF.promise().done(bA.resolve).fail(bA.reject).progress(bA.notify)}else{bA[bE+"With"](this===bu?bA:this,[bF])}}:bA[bE])});bz=null}).promise()},promise:function(bz){return bz!=null?C.extend(bz,by):by}},bu={};by.pipe=by.then;C.each(bv,function(bA,bz){var bC=bz[2],bB=bz[3];by[bz[1]]=bC.add;if(bB){bC.add(function(){bx=bB},bv[bA^1][2].disable,bv[2][2].lock)}bu[bz[0]]=bC.fire;bu[bz[0]+"With"]=bC.fireWith});by.promise(bu);if(bw){bw.call(bu,bu)}return bu},when:function(by){var bw=0,bA=aD.call(arguments),bu=bA.length,bv=bu!==1||(by&&C.isFunction(by.promise))?bu:0,bD=bv===1?by:C.Deferred(),bx=function(bF,bG,bE){return function(bH){bG[bF]=this;bE[bF]=arguments.length>1?aD.call(arguments):bH;if(bE===bC){bD.notifyWith(bG,bE)}else{if(!(--bv)){bD.resolveWith(bG,bE)}}}},bC,bz,bB;if(bu>1){bC=new Array(bu);bz=new Array(bu);bB=new Array(bu);for(;bw<bu;bw++){if(bA[bw]&&C.isFunction(bA[bw].promise)){bA[bw].promise().done(bx(bw,bB,bA)).fail(bD.reject).progress(bx(bw,bz,bC))}else{--bv}}}if(!bv){bD.resolveWith(bB,bA)}return bD.promise()}});C.support=(function(){var bG,bF,bD,bE,bx,bC,bB,bz,by,bw,bu,bv=ak.createElement("div");bv.setAttribute("className","t");bv.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";bF=bv.getElementsByTagName("*");bD=bv.getElementsByTagName("a")[0];if(!bF||!bD||!bF.length){return{}}bE=ak.createElement("select");bx=bE.appendChild(ak.createElement("option"));bC=bv.getElementsByTagName("input")[0];bD.style.cssText="top:1px;float:left;opacity:.5";bG={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bD.getAttribute("style")),hrefNormalized:(bD.getAttribute("href")==="/a"),opacity:/^0.5/.test(bD.style.opacity),cssFloat:!!bD.style.cssFloat,checkOn:(bC.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!ak.createElement("form").enctype,html5Clone:ak.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",boxModel:(ak.compatMode==="CSS1Compat"),submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};bC.checked=true;bG.noCloneChecked=bC.cloneNode(true).checked;bE.disabled=true;bG.optDisabled=!bx.disabled;try{delete bv.test}catch(bA){bG.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",bu=function(){bG.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick");bv.detachEvent("onclick",bu)}bC=ak.createElement("input");bC.value="t";bC.setAttribute("type","radio");bG.radioValue=bC.value==="t";bC.setAttribute("checked","checked");bC.setAttribute("name","t");bv.appendChild(bC);bB=ak.createDocumentFragment();bB.appendChild(bv.lastChild);bG.checkClone=bB.cloneNode(true).cloneNode(true).lastChild.checked;bG.appendChecked=bC.checked;bB.removeChild(bC);bB.appendChild(bv);if(bv.attachEvent){for(by in {submit:true,change:true,focusin:true}){bz="on"+by;bw=(bz in bv);if(!bw){bv.setAttribute(bz,"return;");bw=(typeof bv[bz]==="function")}bG[by+"Bubbles"]=bw}}C(function(){var bI,bM,bK,bL,bJ="padding:0;margin:0;border:0;display:block;overflow:hidden;",bH=ak.getElementsByTagName("body")[0];if(!bH){return}bI=ak.createElement("div");bI.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";bH.insertBefore(bI,bH.firstChild);bM=ak.createElement("div");bI.appendChild(bM);bM.innerHTML="<table><tr><td></td><td>t</td></tr></table>";bK=bM.getElementsByTagName("td");bK[0].style.cssText="padding:0;margin:0;border:0;display:none";bw=(bK[0].offsetHeight===0);bK[0].style.display="";bK[1].style.display="none";bG.reliableHiddenOffsets=bw&&(bK[0].offsetHeight===0);bM.innerHTML="";bM.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";bG.boxSizing=(bM.offsetWidth===4);bG.doesNotIncludeMarginInBodyOffset=(bH.offsetTop!==1);if(bd.getComputedStyle){bG.pixelPosition=(bd.getComputedStyle(bM,null)||{}).top!=="1%";bG.boxSizingReliable=(bd.getComputedStyle(bM,null)||{width:"4px"}).width==="4px";bL=ak.createElement("div");bL.style.cssText=bM.style.cssText=bJ;bL.style.marginRight=bL.style.width="0";bM.style.width="1px";bM.appendChild(bL);bG.reliableMarginRight=!parseFloat((bd.getComputedStyle(bL,null)||{}).marginRight)}if(typeof bM.style.zoom!=="undefined"){bM.innerHTML="";bM.style.cssText=bJ+"width:1px;padding:1px;display:inline;zoom:1";bG.inlineBlockNeedsLayout=(bM.offsetWidth===3);bM.style.display="block";bM.style.overflow="visible";bM.innerHTML="<div></div>";bM.firstChild.style.width="5px";bG.shrinkWrapBlocks=(bM.offsetWidth!==3);bI.style.zoom=1}bH.removeChild(bI);bI=bM=bK=bL=null});bB.removeChild(bv);bF=bD=bE=bx=bC=bB=bv=null;return bG})();var aK=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aq=/([A-Z])/g;C.extend({cache:{},deletedIds:[],uuid:0,expando:"JQXLite"+(C.fn.jqx+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(bu){bu=bu.nodeType?C.cache[bu[C.expando]]:bu[C.expando];return !!bu&&!M(bu)},data:function(bx,bv,bz,by){if(!C.acceptData(bx)){return}var bA,bC,bD=C.expando,bB=typeof bv==="string",bE=bx.nodeType,bu=bE?C.cache:bx,bw=bE?bx[bD]:bx[bD]&&bD;if((!bw||!bu[bw]||(!by&&!bu[bw].data))&&bB&&bz===G){return}if(!bw){if(bE){bx[bD]=bw=C.deletedIds.pop()||C.guid++}else{bw=bD}}if(!bu[bw]){bu[bw]={};if(!bE){bu[bw].toJSON=C.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){bu[bw]=C.extend(bu[bw],bv)}else{bu[bw].data=C.extend(bu[bw].data,bv)}}bA=bu[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==G){bA[C.camelCase(bv)]=bz}if(bB){bC=bA[bv];if(bC==null){bC=bA[C.camelCase(bv)]}}else{bC=bA}return bC},removeData:function(bx,bv,by){if(!C.acceptData(bx)){return}var bB,bA,bz,bC=bx.nodeType,bu=bC?C.cache:bx,bw=bC?bx[C.expando]:C.expando;if(!bu[bw]){return}if(bv){bB=by?bu[bw]:bu[bw].data;if(bB){if(!C.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=C.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?M:C.isEmptyObject)(bB)){return}}}if(!by){delete bu[bw].data;if(!M(bu[bw])){return}}if(bC){C.cleanData([bx],true)}else{if(C.support.deleteExpando||bu!=bu.window){delete bu[bw]}else{bu[bw]=null}}},_data:function(bv,bu,bw){return C.data(bv,bu,bw,true)},acceptData:function(bv){var bu=bv.nodeName&&C.noData[bv.nodeName.toLowerCase()];return !bu||bu!==true&&bv.getAttribute("classid")===bu}});C.fn.extend({data:function(bD,bC){var by,bv,bB,bu,bx,bw=this[0],bA=0,bz=null;if(bD===G){if(this.length){bz=C.data(bw);if(bw.nodeType===1&&!C._data(bw,"parsedAttrs")){bB=bw.attributes;for(bx=bB.length;bA<bx;bA++){bu=bB[bA].name;if(!bu.indexOf("data-")){bu=C.camelCase(bu.substring(5));a9(bw,bu,bz[bu])}}C._data(bw,"parsedAttrs",true)}}return bz}if(typeof bD==="object"){return this.each(function(){C.data(this,bD)})}by=bD.split(".",2);by[1]=by[1]?"."+by[1]:"";bv=by[1]+"!";return C.access(this,function(bE){if(bE===G){bz=this.triggerHandler("getData"+bv,[by[0]]);if(bz===G&&bw){bz=C.data(bw,bD);bz=a9(bw,bD,bz)}return bz===G&&by[1]?this.data(by[0]):bz}by[1]=bE;this.each(function(){var bF=C(this);bF.triggerHandler("setData"+bv,by);C.data(this,bD,bE);bF.triggerHandler("changeData"+bv,by)})},null,bC,arguments.length>1,null,false)},removeData:function(bu){return this.each(function(){C.removeData(this,bu)})}});function a9(bw,bv,bx){if(bx===G&&bw.nodeType===1){var bu="data-"+bv.replace(aq,"-$1").toLowerCase();bx=bw.getAttribute(bu);if(typeof bx==="string"){try{bx=bx==="true"?true:bx==="false"?false:bx==="null"?null:+bx+""===bx?+bx:aK.test(bx)?C.parseJSON(bx):bx}catch(by){}C.data(bw,bv,bx)}else{bx=G}}return bx}function M(bv){var bu;for(bu in bv){if(bu==="data"&&C.isEmptyObject(bv[bu])){continue}if(bu!=="toJSON"){return false}}return true}C.extend({queue:function(bw,bv,bx){var bu;if(bw){bv=(bv||"fx")+"queue";bu=C._data(bw,bv);if(bx){if(!bu||C.isArray(bx)){bu=C._data(bw,bv,C.makeArray(bx))}else{bu.push(bx)}}return bu||[]}},dequeue:function(bz,by){by=by||"fx";var bv=C.queue(bz,by),bA=bv.length,bx=bv.shift(),bu=C._queueHooks(bz,by),bw=function(){C.dequeue(bz,by)};if(bx==="inprogress"){bx=bv.shift();bA--}if(bx){if(by==="fx"){bv.unshift("inprogress")}delete bu.stop;bx.call(bz,bw,bu)}if(!bA&&bu){bu.empty.fire()}},_queueHooks:function(bw,bv){var bu=bv+"queueHooks";return C._data(bw,bu)||C._data(bw,bu,{empty:C.Callbacks("once memory").add(function(){C.removeData(bw,bv+"queue",true);C.removeData(bw,bu,true)})})}});C.fn.extend({queue:function(bu,bv){var bw=2;if(typeof bu!=="string"){bv=bu;bu="fx";bw--}if(arguments.length<bw){return C.queue(this[0],bu)}return bv===G?this:this.each(function(){var bx=C.queue(this,bu,bv);C._queueHooks(this,bu);if(bu==="fx"&&bx[0]!=="inprogress"){C.dequeue(this,bu)}})},dequeue:function(bu){return this.each(function(){C.dequeue(this,bu)})},delay:function(bv,bu){bv=C.fx?C.fx.speeds[bv]||bv:bv;bu=bu||"fx";return this.queue(bu,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(bu){return this.queue(bu||"fx",[])},promise:function(bw,bA){var bv,bx=1,bB=C.Deferred(),bz=this,bu=this.length,by=function(){if(!(--bx)){bB.resolveWith(bz,[bz])}};if(typeof bw!=="string"){bA=bw;bw=G}bw=bw||"fx";while(bu--){bv=C._data(bz[bu],bw+"queueHooks");if(bv&&bv.empty){bx++;bv.empty.add(by)}}by();return bB.promise(bA)}});var bh,aT,ay,aI=/[\t\r\n]/g,aP=/\r/g,d=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,h=/^a(?:rea|)$/i,ae=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,A=C.support.getSetAttribute;C.fn.extend({attr:function(bu,bv){return C.access(this,C.attr,bu,bv,arguments.length>1)},removeAttr:function(bu){return this.each(function(){C.removeAttr(this,bu)})},prop:function(bu,bv){return C.access(this,C.prop,bu,bv,arguments.length>1)},removeProp:function(bu){bu=C.propFix[bu]||bu;return this.each(function(){try{this[bu]=G;delete this[bu]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,bu;if(C.isFunction(by)){return this.each(function(bC){C(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(a8);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,bu=bA.length;bB<bu;bB++){if(bz.indexOf(" "+bA[bB]+" ")<0){bz+=bA[bB]+" "}}bx.className=C.trim(bz)}}}}return this},removeClass:function(bA){var bx,by,bz,bB,bv,bw,bu;if(C.isFunction(bA)){return this.each(function(bC){C(this).removeClass(bA.call(this,bC,this.className))})}if((bA&&typeof bA==="string")||bA===G){bx=(bA||"").split(a8);for(bw=0,bu=this.length;bw<bu;bw++){bz=this[bw];if(bz.nodeType===1&&bz.className){by=(" "+bz.className+" ").replace(aI," ");for(bB=0,bv=bx.length;bB<bv;bB++){while(by.indexOf(" "+bx[bB]+" ")>=0){by=by.replace(" "+bx[bB]+" "," ")}}bz.className=bA?C.trim(by):""}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,bu=typeof bv==="boolean";if(C.isFunction(bx)){return this.each(function(by){C(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=C(this),bB=bv,bC=bx.split(a8);while((bA=bC[bz++])){bB=bu?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){C._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":C._data(this,"__className__")||""}}})},hasClass:function(bu){var bx=" "+bu+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aI," ").indexOf(bx)>=0){return true}}return false},val:function(bx){var bu,bv,by,bw=this[0];if(!arguments.length){if(bw){bu=C.valHooks[bw.type]||C.valHooks[bw.nodeName.toLowerCase()];if(bu&&"get" in bu&&(bv=bu.get(bw,"value"))!==G){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aP,""):bv==null?"":bv}return}by=C.isFunction(bx);return this.each(function(bA){var bB,bz=C(this);if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(C.isArray(bB)){bB=C.map(bB,function(bC){return bC==null?"":bC+""})}}}bu=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()];if(!bu||!("set" in bu)||bu.set(this,bB,"value")===G){this.value=bB}})}});C.extend({valHooks:{option:{get:function(bu){var bv=bu.attributes.value;return !bv||bv.specified?bu.value:bu.text}},select:{get:function(bu){var bA,bw,bC=bu.options,by=bu.selectedIndex,bx=bu.type==="select-one"||by<0,bB=bx?null:[],bz=bx?by+1:bC.length,bv=by<0?bz:bx?by:0;for(;bv<bz;bv++){bw=bC[bv];if((bw.selected||bv===by)&&(C.support.optDisabled?!bw.disabled:bw.getAttribute("disabled")===null)&&(!bw.parentNode.disabled||!C.nodeName(bw.parentNode,"optgroup"))){bA=C(bw).val();if(bx){return bA}bB.push(bA)}}return bB},set:function(bv,bw){var bu=C.makeArray(bw);C(bv).find("option").each(function(){this.selected=C.inArray(C(this).val(),bu)>=0});if(!bu.length){bv.selectedIndex=-1}return bu}}},attrFn:{},attr:function(bA,bx,bB,bz){var bw,bu,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&C.isFunction(C.fn[bx])){return C(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return C.prop(bA,bx,bB)}by=bv!==1||!C.isXMLDoc(bA);if(by){bx=bx.toLowerCase();bu=C.attrHooks[bx]||(ae.test(bx)?aT:bh)}if(bB!==G){if(bB===null){C.removeAttr(bA,bx);return}else{if(bu&&"set" in bu&&by&&(bw=bu.set(bA,bB,bx))!==G){return bw}else{bA.setAttribute(bx,bB+"");return bB}}}else{if(bu&&"get" in bu&&by&&(bw=bu.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?G:bw}}},removeAttr:function(bx,bz){var by,bA,bv,bu,bw=0;if(bz&&bx.nodeType===1){bA=bz.split(a8);for(;bw<bA.length;bw++){bv=bA[bw];if(bv){by=C.propFix[bv]||bv;bu=ae.test(bv);if(!bu){C.attr(bx,bv,"")}bx.removeAttribute(A?bv:by);if(bu&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(bu,bv){if(d.test(bu.nodeName)&&bu.parentNode){C.error("type property can't be changed")}else{if(!C.support.radioValue&&bv==="radio"&&C.nodeName(bu,"input")){var bw=bu.value;bu.setAttribute("type",bv);if(bw){bu.value=bw}return bv}}}},value:{get:function(bv,bu){if(bh&&C.nodeName(bv,"button")){return bh.get(bv,bu)}return bu in bv?bv.value:null},set:function(bv,bw,bu){if(bh&&C.nodeName(bv,"button")){return bh.set(bv,bw,bu)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,bu,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!C.isXMLDoc(bz);if(by){bx=C.propFix[bx]||bx;bu=C.propHooks[bx]}if(bA!==G){if(bu&&"set" in bu&&(bw=bu.set(bz,bA,bx))!==G){return bw}else{return(bz[bx]=bA)}}else{if(bu&&"get" in bu&&(bw=bu.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var bu=bv.getAttributeNode("tabindex");return bu&&bu.specified?parseInt(bu.value,10):z.test(bv.nodeName)||h.test(bv.nodeName)&&bv.href?0:G}}}});aT={get:function(bv,bu){var bx,bw=C.prop(bv,bu);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(bu))&&bx.nodeValue!==false?bu.toLowerCase():G},set:function(bv,bx,bu){var bw;if(bx===false){C.removeAttr(bv,bu)}else{bw=C.propFix[bu]||bu;if(bw in bv){bv[bw]=true}bv.setAttribute(bu,bu.toLowerCase())}return bu}};if(!C.support.enctype){C.propFix.enctype="encoding"}var bf=/^(?:textarea|input|select)$/i,n=/^([^\.]*|)(?:\.(.+)|)$/,F=/(?:^|\s)hover(\.\S+|)\b/,aH=/^key/,bi=/^(?:mouse|contextmenu)|click/,N=/^(?:focusinfocus|focusoutblur)$/,bs=function(bu){return C.event.special.hover?bu:bu.replace(F,"mouseenter$1 mouseleave$1")};C.event={add:function(bx,bB,bI,bz,by){var bC,bA,bJ,bH,bG,bE,bu,bF,bv,bw,bD;if(bx.nodeType===3||bx.nodeType===8||!bB||!bI||!(bC=C._data(bx))){return}if(bI.handler){bv=bI;bI=bv.handler;by=bv.selector}if(!bI.guid){bI.guid=C.guid++}bJ=bC.events;if(!bJ){bC.events=bJ={}}bA=bC.handle;if(!bA){bC.handle=bA=function(bK){return typeof C!=="undefined"&&(!bK||C.event.triggered!==bK.type)?C.event.dispatch.apply(bA.elem,arguments):G};bA.elem=bx}bB=C.trim(bs(bB)).split(" ");for(bH=0;bH<bB.length;bH++){bG=n.exec(bB[bH])||[];bE=bG[1];bu=(bG[2]||"").split(".").sort();bD=C.event.special[bE]||{};bE=(by?bD.delegateType:bD.bindType)||bE;bD=C.event.special[bE]||{};bF=C.extend({type:bE,origType:bG[1],data:bz,handler:bI,guid:bI.guid,selector:by,needsContext:by&&C.expr.match.needsContext.test(by),namespace:bu.join(".")},bv);bw=bJ[bE];if(!bw){bw=bJ[bE]=[];bw.delegateCount=0;if(!bD.setup||bD.setup.call(bx,bz,bu,bA)===false){if(bx.addEventListener){if(bz&&bz.passive!==G){bx.addEventListener(bE,bA,bz)}else{bx.addEventListener(bE,bA,false)}}else{if(bx.attachEvent){bx.attachEvent("on"+bE,bA)}}}}if(bD.add){bD.add.call(bx,bF);if(!bF.handler.guid){bF.handler.guid=bI.guid}}if(by){bw.splice(bw.delegateCount++,0,bF)}else{bw.push(bF)}C.event.global[bE]=true}bx=null},global:{},remove:function(bx,bC,bI,by,bB){var bJ,bK,bF,bw,bv,bz,bA,bH,bE,bu,bG,bD=C.hasData(bx)&&C._data(bx);if(!bD||!(bH=bD.events)){return}bC=C.trim(bs(bC||"")).split(" ");for(bJ=0;bJ<bC.length;bJ++){bK=n.exec(bC[bJ])||[];bF=bw=bK[1];bv=bK[2];if(!bF){for(bF in bH){C.event.remove(bx,bF+bC[bJ],bI,by,true)}continue}bE=C.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bu=bH[bF]||[];bz=bu.length;bv=bv?new RegExp("(^|\\.)"+bv.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(bA=0;bA<bu.length;bA++){bG=bu[bA];if((bB||bw===bG.origType)&&(!bI||bI.guid===bG.guid)&&(!bv||bv.test(bG.namespace))&&(!by||by===bG.selector||by==="**"&&bG.selector)){bu.splice(bA--,1);if(bG.selector){bu.delegateCount--}if(bE.remove){bE.remove.call(bx,bG)}}}if(bu.length===0&&bz!==bu.length){if(!bE.teardown||bE.teardown.call(bx,bv,bD.handle)===false){C.removeEvent(bx,bF,bD.handle)}delete bH[bF]}}if(C.isEmptyObject(bH)){delete bD.handle;C.removeData(bx,"events",true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bC,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bu,bx,bD,bH,bz,by,bF,bE,bB,bI,bG=bv.type||bv,bw=[];if(N.test(bG+C.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bx=true}if(bG.indexOf(".")>=0){bw=bG.split(".");bG=bw.shift();bw.sort()}if((!bA||C.event.customEvent[bG])&&!C.event.global[bG]){return}bv=typeof bv==="object"?bv[C.expando]?bv:new C.Event(bG,bv):new C.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bx;bv.namespace=bw.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bw.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){bu=C.cache;for(bD in bu){if(bu[bD].events&&bu[bD].events[bG]){C.event.trigger(bv,bC,bu[bD].handle.elem,true)}}return}bv.result=G;if(!bv.target){bv.target=bA}bC=bC!=null?C.makeArray(bC):[];bC.unshift(bv);bF=C.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bC)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!C.isWindow(bA)){bI=bF.delegateType||bG;bH=N.test(bI+bG)?bA:bA.parentNode;for(bz=bA;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz===(bA.ownerDocument||ak)){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bD=0;bD<bB.length&&!bv.isPropagationStopped();bD++){bH=bB[bD][0];bv.type=bB[bD][1];bE=(C._data(bH,"events")||{})[bv.type]&&C._data(bH,"handle");if(bE){bE.apply(bH,bC)}bE=by&&bH[by];if(bE&&C.acceptData(bH)&&bE.apply&&bE.apply(bH,bC)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bC)===false)&&!(bG==="click"&&C.nodeName(bA,"a"))&&C.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!C.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}C.event.triggered=bG;bA[bG]();C.event.triggered=G;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(bu){bu=C.event.fix(bu||bd.event);var bB,bA,bK,bE,bD,bv,bC,bI,bx,bJ,by=((C._data(this,"events")||{})[bu.type]||[]),bz=by.delegateCount,bG=aD.call(arguments),bw=!bu.exclusive&&!bu.namespace,bF=C.event.special[bu.type]||{},bH=[];bG[0]=bu;bu.delegateTarget=this;if(bF.preDispatch&&bF.preDispatch.call(this,bu)===false){return}if(bz&&!(bu.button&&bu.type==="click")){for(bK=bu.target;bK!=this;bK=bK.parentNode||this){if(bK.disabled!==true||bu.type!=="click"){bD={};bC=[];for(bB=0;bB<bz;bB++){bI=by[bB];bx=bI.selector;if(bD[bx]===G){bD[bx]=bI.needsContext?C(bx,this).index(bK)>=0:C.find(bx,this,null,[bK]).length}if(bD[bx]){bC.push(bI)}}if(bC.length){bH.push({elem:bK,matches:bC})}}}}if(by.length>bz){bH.push({elem:this,matches:by.slice(bz)})}for(bB=0;bB<bH.length&&!bu.isPropagationStopped();bB++){bv=bH[bB];bu.currentTarget=bv.elem;for(bA=0;bA<bv.matches.length&&!bu.isImmediatePropagationStopped();bA++){bI=bv.matches[bA];if(bw||(!bu.namespace&&!bI.namespace)||bu.namespace_re&&bu.namespace_re.test(bI.namespace)){bu.data=bI.data;bu.handleObj=bI;bE=((C.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bE!==G){bu.result=bE;if(bE===false){bu.preventDefault();bu.stopPropagation()}}}}}if(bF.postDispatch){bF.postDispatch.call(this,bu)}return bu.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,bu){if(bv.which==null){bv.which=bu.charCode!=null?bu.charCode:bu.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,bu,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||ak;bz=by.documentElement;bu=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||bu&&bu.scrollLeft||0)-(bz&&bz.clientLeft||bu&&bu.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||bu&&bu.scrollTop||0)-(bz&&bz.clientTop||bu&&bu.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==G){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[C.expando]){return bw}var bv,bz,bu=bw,bx=C.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=C.Event(bu);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=bu[bz]}if(!bw.target){bw.target=bu.srcElement||ak}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}bw.metaKey=!!bw.metaKey;return bx.filter?bx.filter(bw,bu):bw},special:{load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,bu){if(C.isWindow(this)){this.onbeforeunload=bu}},teardown:function(bv,bu){if(this.onbeforeunload===bu){this.onbeforeunload=null}}}},simulate:function(bv,bx,bw,bu){var by=C.extend(new C.Event(),bw,{type:bv,isSimulated:true,originalEvent:{}});if(bu){C.event.trigger(by,null,bx)}else{C.event.dispatch.call(bx,by)}if(by.isDefaultPrevented()){bw.preventDefault()}}};C.event.handle=C.event.dispatch;C.removeEvent=ak.removeEventListener?function(bv,bu,bw){if(bv.removeEventListener){bv.removeEventListener(bu,bw,false)}}:function(bw,bv,bx){var bu="on"+bv;if(bw.detachEvent){if(typeof bw[bu]==="undefined"){bw[bu]=null}bw.detachEvent(bu,bx)}};C.Event=function(bv,bu){if(!(this instanceof C.Event)){return new C.Event(bv,bu)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?f:bn}else{this.type=bv}if(bu){C.extend(this,bu)}this.timeStamp=bv&&bv.timeStamp||C.now();this[C.expando]=true};function bn(){return false}function f(){return true}C.Event.prototype={preventDefault:function(){this.isDefaultPrevented=f;var bu=this.originalEvent;if(!bu){return}if(bu.preventDefault){bu.preventDefault()}else{bu.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=f;var bu=this.originalEvent;if(!bu){return}if(bu.stopPropagation){bu.stopPropagation()}bu.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=f;this.stopPropagation()},isDefaultPrevented:bn,isPropagationStopped:bn,isImmediatePropagationStopped:bn};C.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,bu){C.event.special[bv]={delegateType:bu,bindType:bu,handle:function(bz){var bx,bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector;if(!bA||(bA!==bB&&!C.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=bu}return bx}}});C.fn.extend({on:function(bw,bu,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof bu!=="string"){bz=bz||bu;bu=G}for(bx in bw){this.on(bx,bu,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=bu;bz=bu=G}else{if(by==null){if(typeof bu==="string"){by=bz;bz=G}else{by=bz;bz=bu;bu=G}}}if(by===false){by=bn}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){C().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=C.guid++)}return this.each(function(){C.event.add(this,bw,by,bz,bu)})},off:function(bw,bu,by){var bv,bx;if(bw&&bw.preventDefault&&bw.handleObj){bv=bw.handleObj;C(bw.delegateTarget).off(bv.namespace?bv.origType+"."+bv.namespace:bv.origType,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(bx in bw){this.off(bx,bu,bw[bx])}return this}if(bu===false||typeof bu==="function"){by=bu;bu=G}if(by===false){by=bn}return this.each(function(){C.event.remove(this,bw,by,bu)})},delegate:function(bu,bv,bx,bw){return this.on(bv,bu,bx,bw)},undelegate:function(bu,bv,bw){return arguments.length===1?this.off(bu,"**"):this.off(bv,bu||"**",bw)},trigger:function(bu,bv){return this.each(function(){C.event.trigger(bu,bv,this)})},triggerHandler:function(bu,bv){if(this[0]){return C.event.trigger(bu,bv,this[0],true)}},toggle:function(bx){var bv=arguments,bu=bx.guid||C.guid++,bw=0,by=function(bz){var bA=(C._data(this,"lastToggle"+bx.guid)||0)%bw;C._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=bu;while(bw<bv.length){bv[bw++].guid=bu}return this.click(by)},hover:function(bu,bv){return this.mouseenter(bu).mouseleave(bv||bu)}});C.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,bu){C.fn[bu]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(bu,null,bx,bw):this.trigger(bu)};if(aH.test(bu)){C.event.fixHooks[bu]=C.event.keyHooks}if(bi.test(bu)){C.event.fixHooks[bu]=C.event.mouseHooks}});
 /*!
          * Sizzle CSS Selector Engine
          * Copyright 2012 JQXLite Foundation and other contributors
          * Released under the MIT license
          * http://sizzlejs.com/
          */
-(function(cn,bM){var cs,bF,cg,bv,bR,b5,bI,bL,bH,ce,bE=true,bZ="undefined",cu=("sizcache"+Math.random()).replace(".",""),bz=String,bD=cn.document,bG=bD.documentElement,bW=0,bK=0,b9=[].pop,cr=[].push,bQ=[].slice,bT=[].indexOf||function(cE){var cD=0,cC=this.length;for(;cD<cC;cD++){if(this[cD]===cE){return cD}}return -1},cw=function(cC,cD){cC[cu]=cD==null||cD;return cC},cA=function(){var cC={},cD=[];return cw(function(cE,cF){if(cD.push(cE)>cg.cacheLength){delete cC[cD.shift()]}return(cC[cE+" "]=cF)},cC)},cp=cA(),cq=cA(),bS=cA(),b3="[\\x20\\t\\r\\n\\f]",bP="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",bN=bP.replace("w","w#"),cz="([*^$|!~]?=)",ck="\\["+b3+"*("+bP+")"+b3+"*(?:"+cz+b3+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+bN+")|)|)"+b3+"*\\]",cB=":("+bP+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+ck+")|[^:]|\\\\.)*|.*))\\)|)",b4=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+b3+"*((?:-\\d)?\\d*)"+b3+"*\\)|)(?=[^-]|$)",co=new RegExp("^"+b3+"+|((?:^|[^\\\\])(?:\\\\.)*)"+b3+"+$","g"),bA=new RegExp("^"+b3+"*,"+b3+"*"),cc=new RegExp("^"+b3+"*([\\x20\\t\\r\\n\\f>+~])"+b3+"*"),ch=new RegExp(cB),cj=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,b8=/^:not/,cm=/[\x20\t\r\n\f]*[+~]/,cv=/:not\($/,bX=/h\d/i,ci=/input|select|textarea|button/i,bY=/\\(?!\\)/g,cb={ID:new RegExp("^#("+bP+")"),CLASS:new RegExp("^\\.("+bP+")"),NAME:new RegExp("^\\[name=['\"]?("+bP+")['\"]?\\]"),TAG:new RegExp("^("+bP.replace("w","w*")+")"),ATTR:new RegExp("^"+ck),PSEUDO:new RegExp("^"+cB),POS:new RegExp(b4,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+b3+"*(even|odd|(([+-]|)(\\d*)n|)"+b3+"*(?:([+-]|)"+b3+"*(\\d+)|))"+b3+"*\\)|)","i"),needsContext:new RegExp("^"+b3+"*[>+~]|"+b4,"i")},cf=function(cC){var cE=bD.createElement("div");try{return cC(cE)}catch(cD){return false}finally{cE=null}},bC=cf(function(cC){cC.appendChild(bD.createComment(""));return !cC.getElementsByTagName("*").length}),b7=cf(function(cC){cC.innerHTML="<a href='#'></a>";return cC.firstChild&&typeof cC.firstChild.getAttribute!==bZ&&cC.firstChild.getAttribute("href")==="#"}),bV=cf(function(cD){cD.innerHTML="<select></select>";var cC=typeof cD.lastChild.getAttribute("multiple");return cC!=="boolean"&&cC!=="string"}),b6=cf(function(cC){cC.innerHTML="<div class='hidden e'></div><div class='hidden'></div>";if(!cC.getElementsByClassName||!cC.getElementsByClassName("e").length){return false}cC.lastChild.className="e";return cC.getElementsByClassName("e").length===2}),bu=cf(function(cD){cD.id=cu+0;cD.innerHTML="<a name='"+cu+"'></a><div name='"+cu+"'></div>";bG.insertBefore(cD,bG.firstChild);var cC=bD.getElementsByName&&bD.getElementsByName(cu).length===2+bD.getElementsByName(cu+0).length;bF=!bD.getElementById(cu);bG.removeChild(cD);return cC});try{bQ.call(bG.childNodes,0)[0].nodeType}catch(cy){bQ=function(cD){var cE,cC=[];for(;(cE=this[cD]);cD++){cC.push(cE)}return cC}}function cl(cF,cC,cH,cK){cH=cH||[];cC=cC||bD;var cI,cD,cJ,cE,cG=cC.nodeType;if(!cF||typeof cF!=="string"){return cH}if(cG!==1&&cG!==9){return[]}cJ=bR(cC);if(!cJ&&!cK){if((cI=cj.exec(cF))){if((cE=cI[1])){if(cG===9){cD=cC.getElementById(cE);if(cD&&cD.parentNode){if(cD.id===cE){cH.push(cD);return cH}}else{return cH}}else{if(cC.ownerDocument&&(cD=cC.ownerDocument.getElementById(cE))&&b5(cC,cD)&&cD.id===cE){cH.push(cD);return cH}}}else{if(cI[2]){cr.apply(cH,bQ.call(cC.getElementsByTagName(cF),0));return cH}else{if((cE=cI[3])&&b6&&cC.getElementsByClassName){cr.apply(cH,bQ.call(cC.getElementsByClassName(cE),0));return cH}}}}}return ct(cF.replace(co,"$1"),cC,cH,cK,cJ)}cl.matches=function(cD,cC){return cl(cD,null,null,cC)};cl.matchesSelector=function(cC,cD){return cl(cD,null,null,[cC]).length>0};function cd(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return cD==="input"&&cE.type===cC}}function by(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return(cD==="input"||cD==="button")&&cE.type===cC}}function ca(cC){return cw(function(cD){cD=+cD;return cw(function(cE,cI){var cG,cF=cC([],cE.length,cD),cH=cF.length;while(cH--){if(cE[(cG=cF[cH])]){cE[cG]=!(cI[cG]=cE[cG])}}})})}bv=cl.getText=function(cG){var cF,cD="",cE=0,cC=cG.nodeType;if(cC){if(cC===1||cC===9||cC===11){if(typeof cG.textContent==="string"){return cG.textContent}else{for(cG=cG.firstChild;cG;cG=cG.nextSibling){cD+=bv(cG)}}}else{if(cC===3||cC===4){return cG.nodeValue}}}else{for(;(cF=cG[cE]);cE++){cD+=bv(cF)}}return cD};bR=cl.isXML=function(cC){var cD=cC&&(cC.ownerDocument||cC).documentElement;return cD?cD.nodeName!=="HTML":false};b5=cl.contains=bG.contains?function(cD,cC){var cF=cD.nodeType===9?cD.documentElement:cD,cE=cC&&cC.parentNode;return cD===cE||!!(cE&&cE.nodeType===1&&cF.contains&&cF.contains(cE))}:bG.compareDocumentPosition?function(cD,cC){return cC&&!!(cD.compareDocumentPosition(cC)&16)}:function(cD,cC){while((cC=cC.parentNode)){if(cC===cD){return true}}return false};cl.attr=function(cE,cD){var cF,cC=bR(cE);if(!cC){cD=cD.toLowerCase()}if((cF=cg.attrHandle[cD])){return cF(cE)}if(cC||bV){return cE.getAttribute(cD)}cF=cE.getAttributeNode(cD);return cF?typeof cE[cD]==="boolean"?cE[cD]?cD:null:cF.specified?cF.value:null:null};cg=cl.selectors={cacheLength:50,createPseudo:cw,match:cb,attrHandle:b7?{}:{href:function(cC){return cC.getAttribute("href",2)},type:function(cC){return cC.getAttribute("type")}},find:{ID:bF?function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC&&cC.parentNode?[cC]:[]}}:function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC?cC.id===cF||typeof cC.getAttributeNode!==bZ&&cC.getAttributeNode("id").value===cF?[cC]:bM:[]}},TAG:bC?function(cC,cD){if(typeof cD.getElementsByTagName!==bZ){return cD.getElementsByTagName(cC)}}:function(cC,cG){var cF=cG.getElementsByTagName(cC);if(cC==="*"){var cH,cE=[],cD=0;for(;(cH=cF[cD]);cD++){if(cH.nodeType===1){cE.push(cH)}}return cE}return cF},NAME:bu&&function(cC,cD){if(typeof cD.getElementsByName!==bZ){return cD.getElementsByName(name)}},CLASS:b6&&function(cE,cD,cC){if(typeof cD.getElementsByClassName!==bZ&&!cC){return cD.getElementsByClassName(cE)}}},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(cC){cC[1]=cC[1].replace(bY,"");cC[3]=(cC[4]||cC[5]||"").replace(bY,"");if(cC[2]==="~="){cC[3]=" "+cC[3]+" "}return cC.slice(0,4)},CHILD:function(cC){cC[1]=cC[1].toLowerCase();if(cC[1]==="nth"){if(!cC[2]){cl.error(cC[0])}cC[3]=+(cC[3]?cC[4]+(cC[5]||1):2*(cC[2]==="even"||cC[2]==="odd"));cC[4]=+((cC[6]+cC[7])||cC[2]==="odd")}else{if(cC[2]){cl.error(cC[0])}}return cC},PSEUDO:function(cD){var cE,cC;if(cb.CHILD.test(cD[0])){return null}if(cD[3]){cD[2]=cD[3]}else{if((cE=cD[4])){if(ch.test(cE)&&(cC=bw(cE,true))&&(cC=cE.indexOf(")",cE.length-cC)-cE.length)){cE=cE.slice(0,cC);cD[0]=cD[0].slice(0,cC)}cD[2]=cE}}return cD.slice(0,3)}},filter:{ID:bF?function(cC){cC=cC.replace(bY,"");return function(cD){return cD.getAttribute("id")===cC}}:function(cC){cC=cC.replace(bY,"");return function(cE){var cD=typeof cE.getAttributeNode!==bZ&&cE.getAttributeNode("id");return cD&&cD.value===cC}},TAG:function(cC){if(cC==="*"){return function(){return true}}cC=cC.replace(bY,"").toLowerCase();return function(cD){return cD.nodeName&&cD.nodeName.toLowerCase()===cC}},CLASS:function(cC){var cD=cp[cu][cC+" "];return cD||(cD=new RegExp("(^|"+b3+")"+cC+"("+b3+"|$)"))&&cp(cC,function(cE){return cD.test(cE.className||(typeof cE.getAttribute!==bZ&&cE.getAttribute("class"))||"")})},ATTR:function(cE,cD,cC){return function(cH,cG){var cF=cl.attr(cH,cE);if(cF==null){return cD==="!="}if(!cD){return true}cF+="";return cD==="="?cF===cC:cD==="!="?cF!==cC:cD==="^="?cC&&cF.indexOf(cC)===0:cD==="*="?cC&&cF.indexOf(cC)>-1:cD==="$="?cC&&cF.substr(cF.length-cC.length)===cC:cD==="~="?(" "+cF+" ").indexOf(cC)>-1:cD==="|="?cF===cC||cF.substr(0,cC.length+1)===cC+"-":false}},CHILD:function(cC,cE,cF,cD){if(cC==="nth"){return function(cI){var cH,cJ,cG=cI.parentNode;if(cF===1&&cD===0){return true}if(cG){cJ=0;for(cH=cG.firstChild;cH;cH=cH.nextSibling){if(cH.nodeType===1){cJ++;if(cI===cH){break}}}}cJ-=cD;return cJ===cF||(cJ%cF===0&&cJ/cF>=0)}}return function(cH){var cG=cH;switch(cC){case"only":case"first":while((cG=cG.previousSibling)){if(cG.nodeType===1){return false}}if(cC==="first"){return true}cG=cH;case"last":while((cG=cG.nextSibling)){if(cG.nodeType===1){return false}}return true}}},PSEUDO:function(cF,cE){var cC,cD=cg.pseudos[cF]||cg.setFilters[cF.toLowerCase()]||cl.error("unsupported pseudo: "+cF);if(cD[cu]){return cD(cE)}if(cD.length>1){cC=[cF,cF,"",cE];return cg.setFilters.hasOwnProperty(cF.toLowerCase())?cw(function(cI,cK){var cH,cG=cD(cI,cE),cJ=cG.length;while(cJ--){cH=bT.call(cI,cG[cJ]);cI[cH]=!(cK[cH]=cG[cJ])}}):function(cG){return cD(cG,0,cC)}}return cD}},pseudos:{not:cw(function(cC){var cD=[],cE=[],cF=bI(cC.replace(co,"$1"));return cF[cu]?cw(function(cH,cM,cK,cI){var cL,cG=cF(cH,null,cI,[]),cJ=cH.length;while(cJ--){if((cL=cG[cJ])){cH[cJ]=!(cM[cJ]=cL)}}}):function(cI,cH,cG){cD[0]=cI;cF(cD,null,cG,cE);return !cE.pop()}}),has:cw(function(cC){return function(cD){return cl(cC,cD).length>0}}),contains:cw(function(cC){return function(cD){return(cD.textContent||cD.innerText||bv(cD)).indexOf(cC)>-1}}),enabled:function(cC){return cC.disabled===false},disabled:function(cC){return cC.disabled===true},checked:function(cC){var cD=cC.nodeName.toLowerCase();return(cD==="input"&&!!cC.checked)||(cD==="option"&&!!cC.selected)},selected:function(cC){if(cC.parentNode){cC.parentNode.selectedIndex}return cC.selected===true},parent:function(cC){return !cg.pseudos.empty(cC)},empty:function(cD){var cC;cD=cD.firstChild;while(cD){if(cD.nodeName>"@"||(cC=cD.nodeType)===3||cC===4){return false}cD=cD.nextSibling}return true},header:function(cC){return bX.test(cC.nodeName)},text:function(cE){var cD,cC;return cE.nodeName.toLowerCase()==="input"&&(cD=cE.type)==="text"&&((cC=cE.getAttribute("type"))==null||cC.toLowerCase()===cD)},radio:cd("radio"),checkbox:cd("checkbox"),file:cd("file"),password:cd("password"),image:cd("image"),submit:by("submit"),reset:by("reset"),button:function(cD){var cC=cD.nodeName.toLowerCase();return cC==="input"&&cD.type==="button"||cC==="button"},input:function(cC){return ci.test(cC.nodeName)},focus:function(cC){var cD=cC.ownerDocument;return cC===cD.activeElement&&(!cD.hasFocus||cD.hasFocus())&&!!(cC.type||cC.href||~cC.tabIndex)},active:function(cC){return cC===cC.ownerDocument.activeElement},first:ca(function(){return[0]}),last:ca(function(cC,cD){return[cD-1]}),eq:ca(function(cC,cE,cD){return[cD<0?cD+cE:cD]}),even:ca(function(cC,cE){for(var cD=0;cD<cE;cD+=2){cC.push(cD)}return cC}),odd:ca(function(cC,cE){for(var cD=1;cD<cE;cD+=2){cC.push(cD)}return cC}),lt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;--cD>=0;){cC.push(cD)}return cC}),gt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;++cD<cF;){cC.push(cD)}return cC})}};function bx(cD,cC,cE){if(cD===cC){return cE}var cF=cD.nextSibling;while(cF){if(cF===cC){return -1}cF=cF.nextSibling}return 1}bL=bG.compareDocumentPosition?function(cD,cC){if(cD===cC){bH=true;return 0}return(!cD.compareDocumentPosition||!cC.compareDocumentPosition?cD.compareDocumentPosition:cD.compareDocumentPosition(cC)&4)?-1:1}:function(cK,cJ){if(cK===cJ){bH=true;return 0}else{if(cK.sourceIndex&&cJ.sourceIndex){return cK.sourceIndex-cJ.sourceIndex}}var cH,cD,cE=[],cC=[],cG=cK.parentNode,cI=cJ.parentNode,cL=cG;if(cG===cI){return bx(cK,cJ)}else{if(!cG){return -1}else{if(!cI){return 1}}}while(cL){cE.unshift(cL);cL=cL.parentNode}cL=cI;while(cL){cC.unshift(cL);cL=cL.parentNode}cH=cE.length;cD=cC.length;for(var cF=0;cF<cH&&cF<cD;cF++){if(cE[cF]!==cC[cF]){return bx(cE[cF],cC[cF])}}return cF===cH?bx(cK,cC[cF],-1):bx(cE[cF],cJ,1)};[0,0].sort(bL);bE=!bH;cl.uniqueSort=function(cE){var cF,cG=[],cD=1,cC=0;bH=bE;cE.sort(bL);if(bH){for(;(cF=cE[cD]);cD++){if(cF===cE[cD-1]){cC=cG.push(cD)}}while(cC--){cE.splice(cG[cC],1)}}return cE};cl.error=function(cC){throw new Error("Syntax error, unrecognized expression: "+cC)};function bw(cG,cL){var cD,cH,cJ,cK,cI,cE,cC,cF=cq[cu][cG+" "];if(cF){return cL?0:cF.slice(0)}cI=cG;cE=[];cC=cg.preFilter;while(cI){if(!cD||(cH=bA.exec(cI))){if(cH){cI=cI.slice(cH[0].length)||cI}cE.push(cJ=[])}cD=false;if((cH=cc.exec(cI))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cH[0].replace(co," ")}for(cK in cg.filter){if((cH=cb[cK].exec(cI))&&(!cC[cK]||(cH=cC[cK](cH)))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cK;cD.matches=cH}}if(!cD){break}}return cL?cI.length:cI?cl.error(cG):cq(cG,cE).slice(0)}function b1(cG,cE,cF){var cC=cE.dir,cH=cF&&cE.dir==="parentNode",cD=bK++;return cE.first?function(cK,cJ,cI){while((cK=cK[cC])){if(cH||cK.nodeType===1){return cG(cK,cJ,cI)}}}:function(cL,cK,cJ){if(!cJ){var cI,cM=bW+" "+cD+" ",cN=cM+cs;while((cL=cL[cC])){if(cH||cL.nodeType===1){if((cI=cL[cu])===cN){return cL.sizset}else{if(typeof cI==="string"&&cI.indexOf(cM)===0){if(cL.sizset){return cL}}else{cL[cu]=cN;if(cG(cL,cK,cJ)){cL.sizset=true;return cL}cL.sizset=false}}}}}else{while((cL=cL[cC])){if(cH||cL.nodeType===1){if(cG(cL,cK,cJ)){return cL}}}}}}function bJ(cC){return cC.length>1?function(cG,cF,cD){var cE=cC.length;while(cE--){if(!cC[cE](cG,cF,cD)){return false}}return true}:cC[0]}function b0(cC,cD,cE,cF,cI){var cG,cL=[],cH=0,cJ=cC.length,cK=cD!=null;for(;cH<cJ;cH++){if((cG=cC[cH])){if(!cE||cE(cG,cF,cI)){cL.push(cG);if(cK){cD.push(cH)}}}}return cL}function cx(cE,cD,cG,cF,cH,cC){if(cF&&!cF[cu]){cF=cx(cF)}if(cH&&!cH[cu]){cH=cx(cH,cC)}return cw(function(cS,cP,cK,cR){var cU,cQ,cM,cL=[],cT=[],cJ=cP.length,cI=cS||bU(cD||"*",cK.nodeType?[cK]:cK,[]),cN=cE&&(cS||!cD)?b0(cI,cL,cE,cK,cR):cI,cO=cG?cH||(cS?cE:cJ||cF)?[]:cP:cN;if(cG){cG(cN,cO,cK,cR)}if(cF){cU=b0(cO,cT);cF(cU,[],cK,cR);cQ=cU.length;while(cQ--){if((cM=cU[cQ])){cO[cT[cQ]]=!(cN[cT[cQ]]=cM)}}}if(cS){if(cH||cE){if(cH){cU=[];cQ=cO.length;while(cQ--){if((cM=cO[cQ])){cU.push((cN[cQ]=cM))}}cH(null,(cO=[]),cU,cR)}cQ=cO.length;while(cQ--){if((cM=cO[cQ])&&(cU=cH?bT.call(cS,cM):cL[cQ])>-1){cS[cU]=!(cP[cU]=cM)}}}}else{cO=b0(cO===cP?cO.splice(cJ,cO.length):cO);if(cH){cH(null,cP,cO,cR)}else{cr.apply(cP,cO)}}})}function b2(cI){var cD,cG,cE,cH=cI.length,cL=cg.relative[cI[0].type],cM=cL||cg.relative[" "],cF=cL?1:0,cJ=b1(function(cN){return cN===cD},cM,true),cK=b1(function(cN){return bT.call(cD,cN)>-1},cM,true),cC=[function(cP,cO,cN){return(!cL&&(cN||cO!==ce))||((cD=cO).nodeType?cJ(cP,cO,cN):cK(cP,cO,cN))}];for(;cF<cH;cF++){if((cG=cg.relative[cI[cF].type])){cC=[b1(bJ(cC),cG)]}else{cG=cg.filter[cI[cF].type].apply(null,cI[cF].matches);if(cG[cu]){cE=++cF;for(;cE<cH;cE++){if(cg.relative[cI[cE].type]){break}}return cx(cF>1&&bJ(cC),cF>1&&cI.slice(0,cF-1).join("").replace(co,"$1"),cG,cF<cE&&b2(cI.slice(cF,cE)),cE<cH&&b2((cI=cI.slice(cE))),cE<cH&&cI.join(""))}cC.push(cG)}}return bJ(cC)}function bB(cF,cE){var cC=cE.length>0,cG=cF.length>0,cD=function(cQ,cK,cP,cO,cW){var cL,cM,cR,cV=[],cU=0,cN="0",cH=cQ&&[],cS=cW!=null,cT=ce,cJ=cQ||cG&&cg.find.TAG("*",cW&&cK.parentNode||cK),cI=(bW+=cT==null?1:Math.E);if(cS){ce=cK!==bD&&cK;cs=cD.el}for(;(cL=cJ[cN])!=null;cN++){if(cG&&cL){for(cM=0;(cR=cF[cM]);cM++){if(cR(cL,cK,cP)){cO.push(cL);break}}if(cS){bW=cI;cs=++cD.el}}if(cC){if((cL=!cR&&cL)){cU--}if(cQ){cH.push(cL)}}}cU+=cN;if(cC&&cN!==cU){for(cM=0;(cR=cE[cM]);cM++){cR(cH,cV,cK,cP)}if(cQ){if(cU>0){while(cN--){if(!(cH[cN]||cV[cN])){cV[cN]=b9.call(cO)}}}cV=b0(cV)}cr.apply(cO,cV);if(cS&&!cQ&&cV.length>0&&(cU+cE.length)>1){cl.uniqueSort(cO)}}if(cS){bW=cI;ce=cT}return cH};cD.el=0;return cC?cw(cD):cD}bI=cl.compile=function(cC,cH){var cE,cD=[],cG=[],cF=bS[cu][cC+" "];if(!cF){if(!cH){cH=bw(cC)}cE=cH.length;while(cE--){cF=b2(cH[cE]);if(cF[cu]){cD.push(cF)}else{cG.push(cF)}}cF=bS(cC,bB(cG,cD))}return cF};function bU(cD,cG,cF){var cE=0,cC=cG.length;for(;cE<cC;cE++){cl(cD,cG[cE],cF)}return cF}function ct(cE,cC,cG,cK,cJ){var cH,cN,cD,cM,cL,cI=bw(cE),cF=cI.length;if(!cK){if(cI.length===1){cN=cI[0]=cI[0].slice(0);if(cN.length>2&&(cD=cN[0]).type==="ID"&&cC.nodeType===9&&!cJ&&cg.relative[cN[1].type]){cC=cg.find.ID(cD.matches[0].replace(bY,""),cC,cJ)[0];if(!cC){return cG}cE=cE.slice(cN.shift().length)}for(cH=cb.POS.test(cE)?-1:cN.length-1;cH>=0;cH--){cD=cN[cH];if(cg.relative[(cM=cD.type)]){break}if((cL=cg.find[cM])){if((cK=cL(cD.matches[0].replace(bY,""),cm.test(cN[0].type)&&cC.parentNode||cC,cJ))){cN.splice(cH,1);cE=cK.length&&cN.join("");if(!cE){cr.apply(cG,bQ.call(cK,0));return cG}break}}}}}bI(cE,cI)(cK,cC,cJ,cG,cm.test(cE));return cG}if(bD.querySelectorAll){(function(){var cH,cI=ct,cG=/'|\\/g,cE=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,cD=[":focus"],cC=[":active"],cF=bG.matchesSelector||bG.mozMatchesSelector||bG.webkitMatchesSelector||bG.oMatchesSelector||bG.msMatchesSelector;cf(function(cJ){cJ.innerHTML="<select><option selected=''></option></select>";if(!cJ.querySelectorAll("[selected]").length){cD.push("\\["+b3+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!cJ.querySelectorAll(":checked").length){cD.push(":checked")}});cf(function(cJ){cJ.innerHTML="<p test=''></p>";if(cJ.querySelectorAll("[test^='']").length){cD.push("[*^$]="+b3+"*(?:\"\"|'')")}cJ.innerHTML="<input type='hidden'/>";if(!cJ.querySelectorAll(":enabled").length){cD.push(":enabled",":disabled")}});cD=new RegExp(cD.join("|"));ct=function(cP,cK,cR,cU,cT){if(!cU&&!cT&&!cD.test(cP)){var cN,cS,cM=true,cJ=cu,cL=cK,cQ=cK.nodeType===9&&cP;if(cK.nodeType===1&&cK.nodeName.toLowerCase()!=="object"){cN=bw(cP);if((cM=cK.getAttribute("id"))){cJ=cM.replace(cG,"\\$&")}else{cK.setAttribute("id",cJ)}cJ="[id='"+cJ+"'] ";cS=cN.length;while(cS--){cN[cS]=cJ+cN[cS].join("")}cL=cm.test(cP)&&cK.parentNode||cK;cQ=cN.join(",")}if(cQ){try{cr.apply(cR,bQ.call(cL.querySelectorAll(cQ),0));return cR}catch(cO){}finally{if(!cM){cK.removeAttribute("id")}}}}return cI(cP,cK,cR,cU,cT)};if(cF){cf(function(cK){cH=cF.call(cK,"div");try{cF.call(cK,"[test!='']:sizzle");cC.push("!=",cB)}catch(cJ){}});cC=new RegExp(cC.join("|"));cl.matchesSelector=function(cK,cM){cM=cM.replace(cE,"='$1']");if(!bR(cK)&&!cC.test(cM)&&!cD.test(cM)){try{var cJ=cF.call(cK,cM);if(cJ||cH||cK.document&&cK.document.nodeType!==11){return cJ}}catch(cL){}}return cl(cM,null,null,[cK]).length>0}}})()}cg.pseudos.nth=cg.pseudos.eq;function bO(){}cg.filters=bO.prototype=cg.pseudos;cg.setFilters=new bO();cl.attr=C.attr;C.find=cl;C.expr=cl.selectors;C.expr[":"]=C.expr.pseudos;C.unique=cl.uniqueSort;C.text=cl.getText;C.isXMLDoc=cl.isXML;C.contains=cl.contains})(bd);var U=/Until$/,ag=/^(?:parents|prev(?:Until|All))/,bq=/^.[^:#\[\.,]*$/,aQ=C.expr.match.needsContext,ao={children:true,contents:true,next:true,prev:true};C.fn.extend({find:function(bu){var by,bv,bA,bB,bz,bx,bw=this;if(typeof bu!=="string"){return C(bu).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(C.contains(bw[by],this)){return true}}})}bx=this.pushStack("","find",bu);for(by=0,bv=this.length;by<bv;by++){bA=bx.length;C.find(bu,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bx){var bw,bv=C(bx,this),bu=bv.length;return this.filter(function(){for(bw=0;bw<bu;bw++){if(C.contains(this,bv[bw])){return true}}})},not:function(bu){return this.pushStack(az(this,bu,false),"not",bu)},filter:function(bu){return this.pushStack(az(this,bu,true),"filter",bu)},is:function(bu){return !!bu&&(typeof bu==="string"?aQ.test(bu)?C(bu,this.context).index(this[0])>=0:C.filter(bu,this).length>0:this.filter(bu).length>0)},closest:function(by,bx){var bz,bw=0,bu=this.length,bv=[],bA=aQ.test(by)||typeof by!=="string"?C(by,bx||this.context):0;for(;bw<bu;bw++){bz=this[bw];while(bz&&bz.ownerDocument&&bz!==bx&&bz.nodeType!==11){if(bA?bA.index(bz)>-1:C.find.matchesSelector(bz,by)){bv.push(bz);break}bz=bz.parentNode}}bv=bv.length>1?C.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(bu){if(!bu){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof bu==="string"){return C.inArray(this[0],C(bu))}return C.inArray(bu.jqx?bu[0]:bu,this)},add:function(bu,bv){var bx=typeof bu==="string"?C(bu,bv):C.makeArray(bu&&bu.nodeType?[bu]:bu),bw=C.merge(this.get(),bx);return this.pushStack(x(bx[0])||x(bw[0])?bw:C.unique(bw))},addBack:function(bu){return this.add(bu==null?this.prevObject:this.prevObject.filter(bu))}});C.fn.andSelf=C.fn.addBack;function x(bu){return !bu||!bu.parentNode||bu.parentNode.nodeType===11}function aB(bv,bu){do{bv=bv[bu]}while(bv&&bv.nodeType!==1);return bv}C.each({parent:function(bv){var bu=bv.parentNode;return bu&&bu.nodeType!==11?bu:null},parents:function(bu){return C.dir(bu,"parentNode")},parentsUntil:function(bv,bu,bw){return C.dir(bv,"parentNode",bw)},next:function(bu){return aB(bu,"nextSibling")},prev:function(bu){return aB(bu,"previousSibling")},nextAll:function(bu){return C.dir(bu,"nextSibling")},prevAll:function(bu){return C.dir(bu,"previousSibling")},nextUntil:function(bv,bu,bw){return C.dir(bv,"nextSibling",bw)},prevUntil:function(bv,bu,bw){return C.dir(bv,"previousSibling",bw)},siblings:function(bu){return C.sibling((bu.parentNode||{}).firstChild,bu)},children:function(bu){return C.sibling(bu.firstChild)},contents:function(bu){return C.nodeName(bu,"iframe")?bu.contentDocument||bu.contentWindow.document:C.merge([],bu.childNodes)}},function(bu,bv){C.fn[bu]=function(by,bw){var bx=C.map(this,bv,by);if(!U.test(bu)){bw=by}if(bw&&typeof bw==="string"){bx=C.filter(bw,bx)}bx=this.length>1&&!ao[bu]?C.unique(bx):bx;if(this.length>1&&ag.test(bu)){bx=bx.reverse()}return this.pushStack(bx,bu,aD.call(arguments).join(","))}});C.extend({filter:function(bw,bu,bv){if(bv){bw=":not("+bw+")"}return bu.length===1?C.find.matchesSelector(bu[0],bw)?[bu[0]]:[]:C.find.matches(bw,bu)},dir:function(bw,bv,by){var bu=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===G||bx.nodeType!==1||!C(bx).is(by))){if(bx.nodeType===1){bu.push(bx)}bx=bx[bv]}return bu},sibling:function(bw,bv){var bu=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){bu.push(bw)}}return bu}});function az(bx,bw,bu){bw=bw||0;if(C.isFunction(bw)){return C.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===bu})}else{if(bw.nodeType){return C.grep(bx,function(bz,by){return(bz===bw)===bu})}else{if(typeof bw==="string"){var bv=C.grep(bx,function(by){return by.nodeType===1});if(bq.test(bw)){return C.filter(bw,bv,!bu)}else{bw=C.filter(bw,bv)}}}}return C.grep(bx,function(bz,by){return(C.inArray(bz,bw)>=0)===bu})}function a(bu){var bw=aJ.split("|"),bv=bu.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aJ="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aa=/ JQXLite\d+="(?:null|\d+)"/g,ah=/^\s+/,L=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,c=/<([\w:]+)/,v=/<tbody/i,P=/<|&#?\w+;/,W=/<(?:script|style|link)/i,I=/<(?:script|object|embed|option|style)/i,ac=new RegExp("<(?:"+aJ+")[\\s/>]","i"),R=/^(?:checkbox|radio)$/,o=/checked\s*(?:[^=]|=\s*.checked.)/i,bp=/\/(java|ecma)script/i,aG=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,am={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},T=a(ak),bg=T.appendChild(ak.createElement("div"));am.optgroup=am.option;am.tbody=am.tfoot=am.colgroup=am.caption=am.thead;am.th=am.td;if(!C.support.htmlSerialize){am._default=[1,"X<div>","</div>"]}C.fn.extend({text:function(bu){return C.access(this,function(bv){return bv===G?C.text(this):this.empty().append((this[0]&&this[0].ownerDocument||ak).createTextNode(bv))},null,bu,arguments.length)},wrapAll:function(bu){if(C.isFunction(bu)){return this.each(function(bw){C(this).wrapAll(bu.call(this,bw))})}if(this[0]){var bv=C(bu,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(bu){if(C.isFunction(bu)){return this.each(function(bv){C(this).wrapInner(bu.call(this,bv))})}return this.each(function(){var bv=C(this),bw=bv.contents();if(bw.length){bw.wrapAll(bu)}else{bv.append(bu)}})},wrap:function(bu){var bv=C.isFunction(bu);return this.each(function(bw){C(this).wrapAll(bv?bu.call(this,bw):bu)})},unwrap:function(){return this.parent().each(function(){if(!C.nodeName(this,"body")){C(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.appendChild(bu)}})},prepend:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.insertBefore(bu,this.firstChild)}})},before:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(bu,this),"before",this.selector)}},after:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(this,bu),"after",this.selector)}},remove:function(bu,bx){var bw,bv=0;for(;(bw=this[bv])!=null;bv++){if(!bu||C.filter(bu,[bw]).length){if(!bx&&bw.nodeType===1){C.cleanData(bw.getElementsByTagName("*"));C.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){var bv,bu=0;for(;(bv=this[bu])!=null;bu++){if(bv.nodeType===1){C.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,bu){bv=bv==null?false:bv;bu=bu==null?bv:bu;return this.map(function(){return C.clone(this,bv,bu)})},html:function(bu){return C.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===G){return bx.nodeType===1?bx.innerHTML.replace(aa,""):G}if(typeof by==="string"&&!W.test(by)&&(C.support.htmlSerialize||!ac.test(by))&&(C.support.leadingWhitespace||!ah.test(by))&&!am[(c.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(L,"<$1></$2>");try{for(;bw<bv;bw++){bx=this[bw]||{};if(bx.nodeType===1){C.cleanData(bx.getElementsByTagName("*"));bx.innerHTML=by}}bx=0}catch(bz){}}if(bx){this.empty().append(by)}},null,bu,arguments.length)},replaceWith:function(bu){if(!x(this[0])){if(C.isFunction(bu)){return this.each(function(bx){var bw=C(this),bv=bw.html();bw.replaceWith(bu.call(this,bx,bv))})}if(typeof bu!=="string"){bu=C(bu).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;C(this).remove();if(bw){C(bw).before(bu)}else{C(bv).append(bu)}})}return this.length?this.pushStack(C(C.isFunction(bu)?bu():bu),"replaceWith",bu):this},detach:function(bu){return this.remove(bu,true)},domManip:function(bA,bE,bD){bA=[].concat.apply([],bA);var bw,by,bz,bC,bx=0,bB=bA[0],bv=[],bu=this.length;if(!C.support.checkClone&&bu>1&&typeof bB==="string"&&o.test(bB)){return this.each(function(){C(this).domManip(bA,bE,bD)})}if(C.isFunction(bB)){return this.each(function(bG){var bF=C(this);bA[0]=bB.call(this,bG,bE?bF.html():G);bF.domManip(bA,bE,bD)})}if(this[0]){bw=C.buildFragment(bA,this,bv);bz=bw.fragment;by=bz.firstChild;if(bz.childNodes.length===1){bz=by}if(by){bE=bE&&C.nodeName(by,"tr");for(bC=bw.cacheable||bu-1;bx<bu;bx++){bD.call(bE&&C.nodeName(this[bx],"table")?a3(this[bx],"tbody"):this[bx],bx===bC?bz:C.clone(bz,true,true))}}bz=by=null;if(bv.length){C.each(bv,function(bF,bG){if(bG.src){if(C.ajax){C.ajax({url:bG.src,type:"GET",dataType:"script",async:false,global:false,"throws":true})}else{C.error("no ajax")}}else{C.globalEval((bG.text||bG.textContent||bG.innerHTML||"").replace(aG,""))}if(bG.parentNode){bG.parentNode.removeChild(bG)}})}}return this}});function a3(bv,bu){return bv.getElementsByTagName(bu)[0]||bv.appendChild(bv.ownerDocument.createElement(bu))}function r(bB,bv){if(bv.nodeType!==1||!C.hasData(bB)){return}var by,bx,bu,bA=C._data(bB),bz=C._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,bu=bw[by].length;bx<bu;bx++){C.event.add(bv,by,bw[by][bx])}}}if(bz.data){bz.data=C.extend({},bz.data)}}function ab(bv,bu){var bw;if(bu.nodeType!==1){return}if(bu.clearAttributes){bu.clearAttributes()}if(bu.mergeAttributes){bu.mergeAttributes(bv)}bw=bu.nodeName.toLowerCase();if(bw==="object"){if(bu.parentNode){bu.outerHTML=bv.outerHTML}if(C.support.html5Clone&&(bv.innerHTML&&!C.trim(bu.innerHTML))){bu.innerHTML=bv.innerHTML}}else{if(bw==="input"&&R.test(bv.type)){bu.defaultChecked=bu.checked=bv.checked;if(bu.value!==bv.value){bu.value=bv.value}}else{if(bw==="option"){bu.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){bu.defaultValue=bv.defaultValue}else{if(bw==="script"&&bu.text!==bv.text){bu.text=bv.text}}}}}bu.removeAttribute(C.expando)}C.buildFragment=function(bx,by,bv){var bw,bu,bz,bA=bx[0];by=by||ak;by=!by.nodeType&&by[0]||by;by=by.ownerDocument||by;if(bx.length===1&&typeof bA==="string"&&bA.length<512&&by===ak&&bA.charAt(0)==="<"&&!I.test(bA)&&(C.support.checkClone||!o.test(bA))&&(C.support.html5Clone||!ac.test(bA))){bu=true;bw=C.fragments[bA];bz=bw!==G}if(!bw){bw=by.createDocumentFragment();C.clean(bx,by,bw,bv);if(bu){C.fragments[bA]=bz&&bw}}return{fragment:bw,cacheable:bu}};C.fragments={};C.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(bu,bv){C.fn[bu]=function(bw){var by,bA=0,bz=[],bC=C(bw),bx=bC.length,bB=this.length===1&&this[0].parentNode;if((bB==null||bB&&bB.nodeType===11&&bB.childNodes.length===1)&&bx===1){bC[bv](this[0]);return this}else{for(;bA<bx;bA++){by=(bA>0?this.clone(true):this).get();C(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,bu,bC.selector)}}});function bk(bu){if(typeof bu.getElementsByTagName!=="undefined"){return bu.getElementsByTagName("*")}else{if(typeof bu.querySelectorAll!=="undefined"){return bu.querySelectorAll("*")}else{return[]}}}function al(bu){if(R.test(bu.type)){bu.defaultChecked=bu.checked}}C.extend({clone:function(by,bA,bw){var bu,bv,bx,bz;if(C.support.html5Clone||C.isXMLDoc(by)||!ac.test("<"+by.nodeName+">")){bz=by.cloneNode(true)}else{bg.innerHTML=by.outerHTML;bg.removeChild(bz=bg.firstChild)}if((!C.support.noCloneEvent||!C.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!C.isXMLDoc(by)){ab(by,bz);bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){if(bv[bx]){ab(bu[bx],bv[bx])}}}if(bA){r(by,bz);if(bw){bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){r(bu[bx],bv[bx])}}}bu=bv=null;return bz},clean:function(bH,bw,bu,bx){var bE,bD,bG,bL,bA,bK,bB,by,bv,bF,bJ,bC,bz=bw===ak&&T,bI=[];if(!bw||typeof bw.createDocumentFragment==="undefined"){bw=ak}for(bE=0;(bG=bH[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!P.test(bG)){bG=bw.createTextNode(bG)}else{bz=bz||a(bw);bB=bw.createElement("div");bz.appendChild(bB);bG=bG.replace(L,"<$1></$2>");bL=(c.exec(bG)||["",""])[1].toLowerCase();bA=am[bL]||am._default;bK=bA[0];bB.innerHTML=bA[1]+bG+bA[2];while(bK--){bB=bB.lastChild}if(!C.support.tbody){by=v.test(bG);bv=bL==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bA[1]==="<table>"&&!by?bB.childNodes:[];for(bD=bv.length-1;bD>=0;--bD){if(C.nodeName(bv[bD],"tbody")&&!bv[bD].childNodes.length){bv[bD].parentNode.removeChild(bv[bD])}}}if(!C.support.leadingWhitespace&&ah.test(bG)){bB.insertBefore(bw.createTextNode(ah.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;bB.parentNode.removeChild(bB)}}if(bG.nodeType){bI.push(bG)}else{C.merge(bI,bG)}}if(bB){bG=bB=bz=null}if(!C.support.appendChecked){for(bE=0;(bG=bI[bE])!=null;bE++){if(C.nodeName(bG,"input")){al(bG)}else{if(typeof bG.getElementsByTagName!=="undefined"){C.grep(bG.getElementsByTagName("input"),al)}}}}if(bu){bJ=function(bM){if(!bM.type||bp.test(bM.type)){return bx?bx.push(bM.parentNode?bM.parentNode.removeChild(bM):bM):bu.appendChild(bM)}};for(bE=0;(bG=bI[bE])!=null;bE++){if(!(C.nodeName(bG,"script")&&bJ(bG))){bu.appendChild(bG);if(typeof bG.getElementsByTagName!=="undefined"){bC=C.grep(C.merge([],bG.getElementsByTagName("script")),bJ);bI.splice.apply(bI,[bE+1,0].concat(bC));bE+=bC.length}}}}return bI},cleanData:function(bv,bD){var by,bw,bx,bC,bz=0,bE=C.expando,bu=C.cache,bA=C.support.deleteExpando,bB=C.event.special;for(;(bx=bv[bz])!=null;bz++){if(bD||C.acceptData(bx)){bw=bx[bE];by=bw&&bu[bw];if(by){if(by.events){for(bC in by.events){if(bB[bC]){C.event.remove(bx,bC)}else{C.removeEvent(bx,bC,by.handle)}}}if(bu[bw]){delete bu[bw];if(bA){delete bx[bE]}else{if(bx.removeAttribute){bx.removeAttribute(bE)}else{bx[bE]=null}}C.deletedIds.push(bw)}}}}}});(function(){var bu,bv;C.uaMatch=function(bx){bx=bx.toLowerCase();var bw=/(chrome)[ \/]([\w.]+)/.exec(bx)||/(webkit)[ \/]([\w.]+)/.exec(bx)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(bx)||/(msie) ([\w.]+)/.exec(bx)||bx.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(bx)||[];return{browser:bw[1]||"",version:bw[2]||"0"}};bu=C.uaMatch(bt.userAgent);bv={};if(bu.browser){bv[bu.browser]=true;bv.version=bu.version}if(bv.chrome){bv.webkit=true}else{if(bv.webkit){bv.safari=true}}C.browser=bv;C.sub=function(){function bx(bz,bA){return new bx.fn.init(bz,bA)}C.extend(true,bx,this);bx.superclass=this;bx.fn=bx.prototype=this();bx.fn.constructor=bx;bx.sub=this.sub;bx.fn.init=function by(bz,bA){if(bA&&bA instanceof C&&!(bA instanceof bx)){bA=bx(bA)}return C.fn.init.call(this,bz,bA,bw)};bx.fn.init.prototype=bx.fn;var bw=bx(ak);return bx}})();var Q,bc,l,ad=/alpha\([^)]*\)/i,aj=/opacity=([^)]*)/,w=/^(top|right|bottom|left)$/,ai=/^(none|table(?!-c[ea]).+)/,av=/^margin/,i=new RegExp("^("+aE+")(.*)$","i"),aV=new RegExp("^("+aE+")(?!px)[a-z%]+$","i"),E=new RegExp("^([-+])=("+aE+")","i"),J={BODY:"block"},ba={position:"absolute",visibility:"hidden",display:"block"},aL={letterSpacing:0,fontWeight:400},D=["Top","Right","Bottom","Left"],O=["Webkit","O","Moz","ms"],be=C.fn.toggle;function a2(bx,bv){if(bv in bx){return bv}var by=bv.charAt(0).toUpperCase()+bv.slice(1),bu=bv,bw=O.length;while(bw--){bv=O[bw]+by;if(bv in bx){return bv}}return bu}function ap(bv,bu){bv=bu||bv;return C.css(bv,"display")==="none"||!C.contains(bv.ownerDocument,bv)}function bb(bz,bu){var by,bA,bv=[],bw=0,bx=bz.length;for(;bw<bx;bw++){by=bz[bw];if(!by.style){continue}bv[bw]=C._data(by,"olddisplay");if(bu){if(!bv[bw]&&by.style.display==="none"){by.style.display=""}if(by.style.display===""&&ap(by)){bv[bw]=C._data(by,"olddisplay",aN(by.nodeName))}}else{bA=Q(by,"display");if(!bv[bw]&&bA!=="none"){C._data(by,"olddisplay",bA)}}}for(bw=0;bw<bx;bw++){by=bz[bw];if(!by.style){continue}if(!bu||by.style.display==="none"||by.style.display===""){by.style.display=bu?bv[bw]||"":"none"}}return bz}C.fn.extend({css:function(bu,bv){return C.access(this,function(bx,bw,by){return by!==G?C.style(bx,bw,by):C.css(bx,bw)},bu,bv,arguments.length>1)},show:function(){return bb(this,true)},hide:function(){return bb(this)},toggle:function(bw,bv){var bu=typeof bw==="boolean";if(C.isFunction(bw)&&C.isFunction(bv)){return be.apply(this,arguments)}return this.each(function(){if(bu?bw:ap(this)){C(this).show()}else{C(this).hide()}})}});C.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var bu=Q(bw,"opacity");return bu===""?"1":bu}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":C.support.cssFloat?"cssFloat":"styleFloat"},style:function(bw,bv,bC,bx){if(!bw||bw.nodeType===3||bw.nodeType===8||!bw.style){return}var bA,bB,bD,by=C.camelCase(bv),bu=bw.style;bv=C.cssProps[by]||(C.cssProps[by]=a2(bu,by));bD=C.cssHooks[bv]||C.cssHooks[by];if(bC!==G){bB=typeof bC;if(bB==="string"&&(bA=E.exec(bC))){bC=(bA[1]+1)*bA[2]+parseFloat(C.css(bw,bv));bB="number"}if(bC==null||bB==="number"&&isNaN(bC)){return}if(bB==="number"&&!C.cssNumber[by]){bC+="px"}if(!bD||!("set" in bD)||(bC=bD.set(bw,bC,bx))!==G){try{bu[bv]=bC}catch(bz){}}}else{if(bD&&"get" in bD&&(bA=bD.get(bw,false,bx))!==G){return bA}return bu[bv]}},css:function(bA,by,bz,bv){var bB,bx,bu,bw=C.camelCase(by);by=C.cssProps[bw]||(C.cssProps[bw]=a2(bA.style,bw));bu=C.cssHooks[by]||C.cssHooks[bw];if(bu&&"get" in bu){bB=bu.get(bA,true,bv)}if(bB===G){bB=Q(bA,by)}if(bB==="normal"&&by in aL){bB=aL[by]}if(bz||bv!==G){bx=parseFloat(bB);return bz||C.isNumeric(bx)?bx||0:bB}return bB},swap:function(by,bx,bz){var bw,bv,bu={};for(bv in bx){bu[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=bu[bv]}return bw}});if(bd.getComputedStyle){Q=function(bB,bv){var bu,by,bx,bA,bz=bd.getComputedStyle(bB,null),bw=bB.style;if(bz){bu=bz.getPropertyValue(bv)||bz[bv];if(bu===""&&!C.contains(bB.ownerDocument,bB)){bu=C.style(bB,bv)}if(aV.test(bu)&&av.test(bv)){by=bw.width;bx=bw.minWidth;bA=bw.maxWidth;bw.minWidth=bw.maxWidth=bw.width=bu;bu=bz.width;bw.width=by;bw.minWidth=bx;bw.maxWidth=bA}}return bu}}else{if(ak.documentElement.currentStyle){Q=function(by,bw){var bz,bu,bv=by.currentStyle&&by.currentStyle[bw],bx=by.style;if(bv==null&&bx&&bx[bw]){bv=bx[bw]}if(aV.test(bv)&&!w.test(bw)){bz=bx.left;bu=by.runtimeStyle&&by.runtimeStyle.left;if(bu){by.runtimeStyle.left=by.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bz;if(bu){by.runtimeStyle.left=bu}}return bv===""?"auto":bv}}}function aO(bu,bw,bx){var bv=i.exec(bw);return bv?Math.max(0,bv[1]-(bx||0))+(bv[2]||"px"):bw}function aZ(bx,bv,bu,bz){var bw=bu===(bz?"border":"content")?4:bv==="width"?1:0,by=0;for(;bw<4;bw+=2){if(bu==="margin"){by+=C.css(bx,bu+D[bw],true)}if(bz){if(bu==="content"){by-=parseFloat(Q(bx,"padding"+D[bw]))||0}if(bu!=="margin"){by-=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}else{by+=parseFloat(Q(bx,"padding"+D[bw]))||0;if(bu!=="padding"){by+=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}}return by}function Y(bx,bv,bu){var by=bv==="width"?bx.offsetWidth:bx.offsetHeight,bw=true,bz=C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box";if(by<=0||by==null){by=Q(bx,bv);if(by<0||by==null){by=bx.style[bv]}if(aV.test(by)){return by}bw=bz&&(C.support.boxSizingReliable||by===bx.style[bv]);by=parseFloat(by)||0}return(by+aZ(bx,bv,bu||(bz?"border":"content"),bw))+"px"}function aN(bw){if(J[bw]){return J[bw]}var bu=C("<"+bw+">").appendTo(ak.body),bv=bu.css("display");bu.remove();if(bv==="none"||bv===""){bc=ak.body.appendChild(bc||C.extend(ak.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!l||!bc.createElement){l=(bc.contentWindow||bc.contentDocument).document;l.write("<!doctype html><html><body>");l.close()}bu=l.body.appendChild(l.createElement(bw));bv=Q(bu,"display");ak.body.removeChild(bc)}J[bw]=bv;return bv}C.each(["height","width"],function(bv,bu){C.cssHooks[bu]={get:function(by,bx,bw){if(bx){if(by.offsetWidth===0&&ai.test(Q(by,"display"))){return C.swap(by,ba,function(){return Y(by,bu,bw)})}else{return Y(by,bu,bw)}}},set:function(bx,by,bw){return aO(bx,by,bw?aZ(bx,bu,bw,C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box"):0)}}});if(!C.support.opacity){C.cssHooks.opacity={get:function(bv,bu){return aj.test((bu&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":bu?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,bu=C.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&C.trim(bw.replace(ad,""))===""&&bx.removeAttribute){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ad.test(bw)?bw.replace(ad,bu):bw+" "+bu}}}C(function(){if(!C.support.reliableMarginRight){C.cssHooks.marginRight={get:function(bv,bu){return C.swap(bv,{display:"inline-block"},function(){if(bu){return Q(bv,"marginRight")}})}}}if(!C.support.pixelPosition&&C.fn.position){C.each(["top","left"],function(bu,bv){C.cssHooks[bv]={get:function(by,bx){if(bx){var bw=Q(by,bv);return aV.test(bw)?C(by).position()[bv]+"px":bw}}}})}});if(C.expr&&C.expr.filters){C.expr.filters.hidden=function(bu){return(bu.offsetWidth===0&&bu.offsetHeight===0)||(!C.support.reliableHiddenOffsets&&((bu.style&&bu.style.display)||Q(bu,"display"))==="none")};C.expr.filters.visible=function(bu){return !C.expr.filters.hidden(bu)}}C.each({margin:"",padding:"",border:"Width"},function(bu,bv){C.cssHooks[bu+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[bu+D[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}};if(!av.test(bu)){C.cssHooks[bu+bv].set=aO}});var g=/%20/g,af=/\[\]$/,br=/\r?\n/g,aU=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,p=/^(?:select|textarea)/i;C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?C.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||aU.test(this.type))}).map(function(bu,bv){var bw=C(this).val();return bw==null?null:C.isArray(bw)?C.map(bw,function(by,bx){return{name:bv.name,value:by.replace(br,"\r\n")}}):{name:bv.name,value:bw.replace(br,"\r\n")}}).get()}});C.param=function(bu,bw){var bx,bv=[],by=function(bz,bA){bA=C.isFunction(bA)?bA():(bA==null?"":bA);bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===G){bw=C.ajaxSettings&&C.ajaxSettings.traditional}if(C.isArray(bu)||(bu.jqx&&!C.isPlainObject(bu))){C.each(bu,function(){by(this.name,this.value)})}else{for(bx in bu){s(bx,bu[bx],bw,by)}}return bv.join("&").replace(g,"+")};function s(bw,by,bv,bx){var bu;if(C.isArray(by)){C.each(by,function(bA,bz){if(bv||af.test(bw)){bx(bw,bz)}else{s(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&C.type(by)==="object"){for(bu in by){s(bw+"["+bu+"]",by[bu],bv,bx)}}else{bx(bw,by)}}}if(C.support.ajax){C.ajaxTransport(function(bu){if(!bu.crossDomain||C.support.cors){var bv;return{send:function(bB,bw){var bz,by,bA=bu.xhr();if(bu.username){bA.open(bu.type,bu.url,bu.async,bu.username,bu.password)}else{bA.open(bu.type,bu.url,bu.async)}if(bu.xhrFields){for(by in bu.xhrFields){bA[by]=bu.xhrFields[by]}}if(bu.mimeType&&bA.overrideMimeType){bA.overrideMimeType(bu.mimeType)}if(!bu.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((bu.hasContent&&bu.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=G;if(bz){bA.onreadystatechange=C.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}try{bI.text=bA.responseText}catch(bJ){}try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&bu.isLocal&&!bu.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!bu.async){bv()}else{if(bA.readyState===4){setTimeout(bv,0)}else{bz=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};C(bd).unload(xhrOnUnloadAbort)}xhrCallbacks[bz]=bv}bA.onreadystatechange=bv}}},abort:function(){if(bv){bv(0,1)}}}}})}var a6,a1,ar=/^(?:toggle|show|hide)$/,aM=new RegExp("^(?:([-+])=|)("+aE+")([a-z%]*)$","i"),a7=/queueHooks$/,k=[bm],H={"*":[function(bu,bB){var bx,bC,bD=this.createTween(bu,bB),by=aM.exec(bB),bz=bD.cur(),bv=+bz||0,bw=1,bA=20;if(by){bx=+by[2];bC=by[3]||(C.cssNumber[bu]?"":"px");if(bC!=="px"&&bv){bv=C.css(bD.elem,bu,true)||bx||1;do{bw=bw||".5";bv=bv/bw;C.style(bD.elem,bu,bv+bC)}while(bw!==(bw=bD.cur()/bz)&&bw!==1&&--bA)}bD.unit=bC;bD.start=bv;bD.end=by[1]?bv+(by[1]+1)*bx:bx}return bD}]};function bl(){setTimeout(function(){a6=G},0);return(a6=C.now())}function Z(bv,bu){C.each(bu,function(bA,by){var bz=(H[bA]||[]).concat(H["*"]),bw=0,bx=bz.length;for(;bw<bx;bw++){if(bz[bw].call(bv,bA,by)){return}}})}function bj(bw,bA,bD){var bE,bz=0,bu=0,bv=k.length,bC=C.Deferred().always(function(){delete by.elem}),by=function(){var bK=a6||bl(),bH=Math.max(0,bx.startTime+bx.duration-bK),bF=bH/bx.duration||0,bJ=1-bF,bG=0,bI=bx.tweens.length;for(;bG<bI;bG++){bx.tweens[bG].run(bJ)}bC.notifyWith(bw,[bx,bJ,bH]);if(bJ<1&&bI){return bH}else{bC.resolveWith(bw,[bx]);return false}},bx=bC.promise({elem:bw,props:C.extend({},bA),opts:C.extend(true,{specialEasing:{}},bD),originalProperties:bA,originalOptions:bD,startTime:a6||bl(),duration:bD.duration,tweens:[],createTween:function(bI,bF,bH){var bG=C.Tween(bw,bx.opts,bI,bF,bx.opts.specialEasing[bI]||bx.opts.easing);bx.tweens.push(bG);return bG},stop:function(bG){var bF=0,bH=bG?bx.tweens.length:0;for(;bF<bH;bF++){bx.tweens[bF].run(1)}if(bG){bC.resolveWith(bw,[bx,bG])}else{bC.rejectWith(bw,[bx,bG])}return this}}),bB=bx.props;aW(bB,bx.opts.specialEasing);for(;bz<bv;bz++){bE=k[bz].call(bx,bw,bB,bx.opts);if(bE){return bE}}Z(bx,bB);if(C.isFunction(bx.opts.start)){bx.opts.start.call(bw,bx)}C.fx.timer(C.extend(by,{anim:bx,queue:bx.opts.queue,elem:bw}));return bx.progress(bx.opts.progress).done(bx.opts.done,bx.opts.complete).fail(bx.opts.fail).always(bx.opts.always)}function aW(bx,bz){var bw,bv,bA,by,bu;for(bw in bx){bv=C.camelCase(bw);bA=bz[bv];by=bx[bw];if(C.isArray(by)){bA=by[1];by=bx[bw]=by[0]}if(bw!==bv){bx[bv]=by;delete bx[bw]}bu=C.cssHooks[bv];if(bu&&"expand" in bu){by=bu.expand(by);delete bx[bv];for(bw in by){if(!(bw in bx)){bx[bw]=by[bw];bz[bw]=bA}}}else{bz[bv]=bA}}}C.Animation=C.extend(bj,{tweener:function(bv,by){if(C.isFunction(bv)){by=bv;bv=["*"]}else{bv=bv.split(" ")}var bx,bu=0,bw=bv.length;for(;bu<bw;bu++){bx=bv[bu];H[bx]=H[bx]||[];H[bx].unshift(by)}},prefilter:function(bv,bu){if(bu){k.unshift(bv)}else{k.push(bv)}}});function bm(by,bE,bu){var bD,bw,bG,bx,bK,bA,bJ,bI,bH,bz=this,bv=by.style,bF={},bC=[],bB=by.nodeType&&ap(by);if(!bu.queue){bI=C._queueHooks(by,"fx");if(bI.unqueued==null){bI.unqueued=0;bH=bI.empty.fire;bI.empty.fire=function(){if(!bI.unqueued){bH()}}}bI.unqueued++;bz.always(function(){bz.always(function(){bI.unqueued--;if(!C.queue(by,"fx").length){bI.empty.fire()}})})}if(by.nodeType===1&&("height" in bE||"width" in bE)){bu.overflow=[bv.overflow,bv.overflowX,bv.overflowY];if(C.css(by,"display")==="inline"&&C.css(by,"float")==="none"){if(!C.support.inlineBlockNeedsLayout||aN(by.nodeName)==="inline"){bv.display="inline-block"}else{bv.zoom=1}}}if(bu.overflow){bv.overflow="hidden";if(!C.support.shrinkWrapBlocks){bz.done(function(){bv.overflow=bu.overflow[0];bv.overflowX=bu.overflow[1];bv.overflowY=bu.overflow[2]})}}for(bD in bE){bG=bE[bD];if(ar.exec(bG)){delete bE[bD];bA=bA||bG==="toggle";if(bG===(bB?"hide":"show")){continue}bC.push(bD)}}bx=bC.length;if(bx){bK=C._data(by,"fxshow")||C._data(by,"fxshow",{});if("hidden" in bK){bB=bK.hidden}if(bA){bK.hidden=!bB}if(bB){C(by).show()}else{bz.done(function(){C(by).hide()})}bz.done(function(){var bL;C.removeData(by,"fxshow",true);for(bL in bF){C.style(by,bL,bF[bL])}});for(bD=0;bD<bx;bD++){bw=bC[bD];bJ=bz.createTween(bw,bB?bK[bw]:0);bF[bw]=bK[bw]||C.style(by,bw);if(!(bw in bK)){bK[bw]=bJ.start;if(bB){bJ.end=bJ.start;bJ.start=bw==="width"||bw==="height"?1:0}}}}}function u(bw,bv,by,bu,bx){return new u.prototype.init(bw,bv,by,bu,bx)}C.Tween=u;u.prototype={constructor:u,init:function(bx,bv,bz,bu,by,bw){this.elem=bx;this.prop=bz;this.easing=by||"swing";this.options=bv;this.start=this.now=this.cur();this.end=bu;this.unit=bw||(C.cssNumber[bz]?"":"px")},cur:function(){var bu=u.propHooks[this.prop];return bu&&bu.get?bu.get(this):u.propHooks._default.get(this)},run:function(bw){var bv,bu=u.propHooks[this.prop];if(this.options.duration){this.pos=bv=C.easing[this.easing](bw,this.options.duration*bw,0,1,this.options.duration)}else{this.pos=bv=bw}this.now=(this.end-this.start)*bv+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(bu&&bu.set){bu.set(this)}else{u.propHooks._default.set(this)}return this}};u.prototype.init.prototype=u.prototype;u.propHooks={_default:{get:function(bv){var bu;if(bv.elem[bv.prop]!=null&&(!bv.elem.style||bv.elem.style[bv.prop]==null)){return bv.elem[bv.prop]}bu=C.css(bv.elem,bv.prop,false,"");return !bu||bu==="auto"?0:bu},set:function(bu){if(C.fx.step[bu.prop]){C.fx.step[bu.prop](bu)}else{if(bu.elem.style&&(bu.elem.style[C.cssProps[bu.prop]]!=null||C.cssHooks[bu.prop])){C.style(bu.elem,bu.prop,bu.now+bu.unit)}else{bu.elem[bu.prop]=bu.now}}}}};u.propHooks.scrollTop=u.propHooks.scrollLeft={set:function(bu){if(bu.elem.nodeType&&bu.elem.parentNode){bu.elem[bu.prop]=bu.now}}};C.each(["toggle","show","hide"],function(bv,bu){var bw=C.fn[bu];C.fn[bu]=function(bx,bz,by){return bx==null||typeof bx==="boolean"||(!bv&&C.isFunction(bx)&&C.isFunction(bz))?bw.apply(this,arguments):this.animate(aY(bu,true),bx,bz,by)}});C.fn.extend({fadeTo:function(bu,bx,bw,bv){return this.filter(ap).css("opacity",0).show().end().animate({opacity:bx},bu,bw,bv)},animate:function(bA,bx,bz,by){var bw=C.isEmptyObject(bA),bu=C.speed(bx,bz,by),bv=function(){var bB=bj(this,C.extend({},bA),bu);if(bw){bB.stop(true)}};return bw||bu.queue===false?this.each(bv):this.queue(bu.queue,bv)},stop:function(bw,bv,bu){var bx=function(by){var bz=by.stop;delete by.stop;bz(bu)};if(typeof bw!=="string"){bu=bv;bv=bw;bw=G}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bB=true,by=bw!=null&&bw+"queueHooks",bA=C.timers,bz=C._data(this);if(by){if(bz[by]&&bz[by].stop){bx(bz[by])}}else{for(by in bz){if(bz[by]&&bz[by].stop&&a7.test(by)){bx(bz[by])}}}for(by=bA.length;by--;){if(bA[by].elem===this&&(bw==null||bA[by].queue===bw)){bA[by].anim.stop(bu);bB=false;bA.splice(by,1)}}if(bB||!bu){C.dequeue(this,bw)}})}});function aY(bw,by){var bx,bu={height:bw},bv=0;by=by?1:0;for(;bv<4;bv+=2-by){bx=D[bv];bu["margin"+bx]=bu["padding"+bx]=bw}if(by){bu.opacity=bu.width=bw}return bu}C.each({slideDown:aY("show"),slideUp:aY("hide"),slideToggle:aY("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(bu,bv){C.fn[bu]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});C.speed=function(bw,bx,bv){var bu=bw&&typeof bw==="object"?C.extend({},bw):{complete:bv||!bv&&bx||C.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!C.isFunction(bx)&&bx};bu.duration=C.fx.off?0:typeof bu.duration==="number"?bu.duration:bu.duration in C.fx.speeds?C.fx.speeds[bu.duration]:C.fx.speeds._default;if(bu.queue==null||bu.queue===true){bu.queue="fx"}bu.old=bu.complete;bu.complete=function(){if(C.isFunction(bu.old)){bu.old.call(this)}if(bu.queue){C.dequeue(this,bu.queue)}};return bu};C.easing={linear:function(bu){return bu},swing:function(bu){return 0.5-Math.cos(bu*Math.PI)/2}};C.timers=[];C.fx=u.prototype.init;C.fx.tick=function(){var bw,bv=C.timers,bu=0;a6=C.now();for(;bu<bv.length;bu++){bw=bv[bu];if(!bw()&&bv[bu]===bw){bv.splice(bu--,1)}}if(!bv.length){C.fx.stop()}a6=G};C.fx.timer=function(bu){if(bu()&&C.timers.push(bu)&&!a1){a1=setInterval(C.fx.tick,C.fx.interval)}};C.fx.interval=13;C.fx.stop=function(){clearInterval(a1);a1=null};C.fx.speeds={slow:600,fast:200,_default:400};C.fx.step={};if(C.expr&&C.expr.filters){C.expr.filters.animated=function(bu){return C.grep(C.timers,function(bv){return bu===bv.elem}).length}}var V=/^(?:body|html)$/i;C.fn.offset=function(bE){if(arguments.length){return bE===G?this:this.each(function(bF){C.offset.setOffset(this,bE,bF)})}var bv,bA,bB,by,bC,bu,bx,bz={top:0,left:0},bw=this[0],bD=bw&&bw.ownerDocument;if(!bD){return}if((bA=bD.body)===bw){return C.offset.bodyOffset(bw)}bv=bD.documentElement;if(!C.contains(bv,bw)){return bz}if(typeof bw.getBoundingClientRect!=="undefined"){bz=bw.getBoundingClientRect()}bB=aC(bD);by=bv.clientTop||bA.clientTop||0;bC=bv.clientLeft||bA.clientLeft||0;bu=bB.pageYOffset||bv.scrollTop;bx=bB.pageXOffset||bv.scrollLeft;return{top:bz.top+bu-by,left:bz.left+bx-bC}};C.offset={bodyOffset:function(bu){var bw=bu.offsetTop,bv=bu.offsetLeft;if(C.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(C.css(bu,"marginTop"))||0;bv+=parseFloat(C.css(bu,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=C.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=C(bx),bv=bz.offset(),bu=C.css(bx,"top"),bE=C.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&C.inArray("auto",[bu,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(bu)||0;by=parseFloat(bE)||0}if(C.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};C.fn.extend({isRendered:function(){var bv=this;var bu=this[0];if(bu.parentNode==null||(bu.offsetWidth===0||bu.offsetHeight===0)){return false}return true},getSizeFromStyle:function(){var by=this;var bx=null;var bu=null;var bw=this[0];var bv;if(bw.style.width){bx=bw.style.width}if(bw.style.height){bu=bw.style.height}if(bd.getComputedStyle){bv=getComputedStyle(bw,null)}else{bv=bw.currentStyle}if(bv){if(bv.width){bx=bv.width}if(bv.height){bu=bv.height}}if(bx==="0px"){bx=0}if(bu==="0px"){bu=0}if(bx===null){bx=0}if(bu===null){bu=0}return{width:bx,height:bu}},initAnimate:function(){},sizeStyleChanged:function(bx){var bw=this;var by;var bu=function(bz){var bA=by;if(bz&&bz[0]&&bz[0].attributeName==="style"&&bz[0].type==="attributes"){if(bA.element.offsetWidth!==bA.offsetWidth||bA.element.offsetHeight!==bA.offsetHeight){bA.offsetWidth=bA.element.offsetWidth;bA.offsetHeight=bA.element.offsetHeight;if(bw.isRendered()){bA.callback()}}}};by={element:bw[0],offsetWidth:bw[0].offsetWidth,offsetHeight:bw[0].offsetHeight,callback:bx};try{if(!bw.elementStyleObserver){bw.elementStyleObserver=new MutationObserver(bu);bw.elementStyleObserver.observe(bw[0],{attributes:true,childList:false,characterData:false})}}catch(bv){}},position:function(){if(!this[0]){return}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),bu=V.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(C.css(bw,"marginTop"))||0;bx.left-=parseFloat(C.css(bw,"marginLeft"))||0;bu.top+=parseFloat(C.css(bv[0],"borderTopWidth"))||0;bu.left+=parseFloat(C.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-bu.top,left:bx.left-bu.left}},offsetParent:function(){return this.map(function(){var bu=this.offsetParent||ak.body;while(bu&&(!V.test(bu.nodeName)&&C.css(bu,"position")==="static")){bu=bu.offsetParent}return bu||ak.body})}});C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var bu=/Y/.test(bv);C.fn[bw]=function(bx){return C.access(this,function(by,bB,bA){var bz=aC(by);if(bA===G){return bz?(bv in bz)?bz[bv]:bz.document.documentElement[bB]:by[bB]}if(bz){bz.scrollTo(!bu?bA:C(bz).scrollLeft(),bu?bA:C(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aC(bu){return C.isWindow(bu)?bu:bu.nodeType===9?bu.defaultView||bu.parentWindow:false}C.each({Height:"height",Width:"width"},function(bu,bv){C.each({padding:"inner"+bu,content:bv,"":"outer"+bu},function(bw,bx){C.fn[bx]=function(bB,bA){var bz=arguments.length&&(bw||typeof bB!=="boolean"),by=bw||(bB===true||bA===true?"margin":"border");return C.access(this,function(bD,bC,bE){var bF;if(C.isWindow(bD)){return bD.document.documentElement["client"+bu]}if(bD.nodeType===9){bF=bD.documentElement;return Math.max(bD.body["scroll"+bu],bF["scroll"+bu],bD.body["offset"+bu],bF["offset"+bu],bF["client"+bu])}return bE===G?C.css(bD,bC,bE,by):C.style(bD,bC,bE,by)},bv,bz?bB:G,bz,null)}})});bd.JQXLite=bd.jqxHelper=C;if(typeof define==="function"&&define.amd&&define.amd.JQXLite){define("jqx",[],function(){return C})}})(window)}(function(a){if(a.jQuery){a.minQuery=a.JQXLite=a.jQuery;return}if(!a.$){a.$=a.minQuery=a.JQXLite}else{a.minQuery=a.JQXLite=a.$}})(window);JQXLite.generateID=function(){var a=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};var b="";do{b="jqx"+a()+a()+a()}while($("#"+b).length>0);return b};var jqxBaseFramework=window.jqxBaseFramework=window.minQuery||window.jQuery;(function(b){b.jqx=b.jqx||{};window.jqx=b.jqx;var a={createInstance:function(c,e,g){if(e=="jqxDataAdapter"){var f=g[0];var d=g[1]||{};return new b.jqx.dataAdapter(f,d)}b(c)[e](g||{});return b(c)[e]("getInstance")}};window.jqwidgets=a;b.jqx.define=function(c,d,e){c[d]=function(){if(this.baseType){this.base=new c[this.baseType]();this.base.defineInstance()}this.defineInstance();this.metaInfo()};c[d].prototype.defineInstance=function(){};c[d].prototype.metaInfo=function(){};c[d].prototype.base=null;c[d].prototype.baseType=undefined;if(e&&c[e]){c[d].prototype.baseType=e}};b.jqx.invoke=function(f,e){if(e.length==0){return}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):b({}).toArray();while(f[g]==undefined&&f.base!=null){if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}f=f.base}if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}return};b.jqx.getByPriority=function(c){var e=undefined;for(var d=0;d<c.length&&e==undefined;d++){if(e==undefined&&c[d]!=undefined){e=c[d]}}return e};b.jqx.hasProperty=function(d,c){if(typeof(c)=="object"){for(var f in c){var e=d;while(e){if(e.hasOwnProperty(f)){return true}if(e.hasOwnProperty(f.toLowerCase())){return true}e=e.base}return false}}else{while(d){if(d.hasOwnProperty(c)){return true}if(d.hasOwnProperty(c.toLowerCase())){return true}d=d.base}}return false};b.jqx.hasFunction=function(f,e){if(e.length==0){return false}if(f==undefined){return false}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):{};while(f[g]==undefined&&f.base!=null){if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}f=f.base}if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}return false};b.jqx.isPropertySetter=function(d,c){if(c.length==1&&typeof(c[0])=="object"){return true}if(c.length==2&&typeof(c[0])=="string"&&!b.jqx.hasFunction(d,c)){return true}return false};b.jqx.validatePropertySetter=function(g,e,c){if(!b.jqx.propertySetterValidation){return true}if(e.length==1&&typeof(e[0])=="object"){for(var f in e[0]){var h=g;while(!h.hasOwnProperty(f)&&h.base){h=h.base}if(!h||!h.hasOwnProperty(f)){if(!c){var d=h.hasOwnProperty(f.toString().toLowerCase());if(!d){throw"Invalid property: "+f}else{return true}}return false}}return true}if(e.length!=2){if(!c){throw"Invalid property: "+e.length>=0?e[0]:""}return false}while(!g.hasOwnProperty(e[0])&&g.base){g=g.base}if(!g||!g.hasOwnProperty(e[0])){if(!c){throw"Invalid property: "+e[0]}return false}return true};if(!Object.keys){Object.keys=(function(){var e=Object.prototype.hasOwnProperty,f=!({toString:null}).propertyIsEnumerable("toString"),d=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=d.length;return function(j){if(typeof j!=="object"&&(typeof j!=="function"||j===null)){throw new TypeError("Object.keys called on non-object")}var g=[],k,h;for(k in j){if(e.call(j,k)){g.push(k)}}if(f){for(h=0;h<c;h++){if(e.call(j,d[h])){g.push(d[h])}}}return g}}())}b.jqx.set=function(f,i){var d=0;if(i.length==1&&typeof(i[0])=="object"){if(f.isInitialized&&Object.keys&&Object.keys(i[0]).length>1){var g=!f.base?f.element:f.base.element;var c=b.data(g,f.widgetName).initArgs;if(c&&JSON&&JSON.stringify&&i[0]&&c[0]){try{if(JSON.stringify(i[0])==JSON.stringify(c[0])){var h=true;b.each(i[0],function(l,m){if(f[l]!=m){h=false;return false}});if(h){return}}}catch(e){}}f.batchUpdate=i[0];var j={};var k={};b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){if(f[l]!=m){j[l]=f[l];k[l]=m;d++}}else{if(n.hasOwnProperty(l.toLowerCase())){if(f[l.toLowerCase()]!=m){j[l.toLowerCase()]=f[l.toLowerCase()];k[l.toLowerCase()]=m;d++}}}});if(d<2){f.batchUpdate=null}}b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){b.jqx.setvalueraiseevent(n,l,m)}else{if(n.hasOwnProperty(l.toLowerCase())){b.jqx.setvalueraiseevent(n,l.toLowerCase(),m)}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+l+"'"}}}});if(f.batchUpdate!=null){f.batchUpdate=null;if(f.propertiesChangedHandler&&d>1){f.propertiesChangedHandler(f,j,k)}}}else{if(i.length==2){while(!f.hasOwnProperty(i[0])&&f.base){f=f.base}if(f.hasOwnProperty(i[0])){b.jqx.setvalueraiseevent(f,i[0],i[1])}else{if(f.hasOwnProperty(i[0].toLowerCase())){b.jqx.setvalueraiseevent(f,i[0].toLowerCase(),i[1])}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+i[0]+"'"}}}}}};b.jqx.setvalueraiseevent=function(d,e,f){var c=d[e];d[e]=f;if(!d.isInitialized){return}if(d.propertyChangedHandler!=undefined){d.propertyChangedHandler(d,e,c,f)}if(d.propertyChangeMap!=undefined&&d.propertyChangeMap[e]!=undefined){d.propertyChangeMap[e](d,e,c,f)}};b.jqx.get=function(f,e){if(e==undefined||e==null){return undefined}if(f.propertyMap){var d=f.propertyMap(e);if(d!=null){return d}}if(f.hasOwnProperty(e)){return f[e]}if(f.hasOwnProperty(e.toLowerCase())){return f[e.toLowerCase()]}var c=undefined;if(typeof(e)==Array){if(e.length!=1){return undefined}c=e[0]}else{if(typeof(e)=="string"){c=e}}while(!f.hasOwnProperty(c)&&f.base){f=f.base}if(f){return f[c]}return undefined};b.jqx.serialize=function(f){var c="";if(b.isArray(f)){c="[";for(var e=0;e<f.length;e++){if(e>0){c+=", "}c+=b.jqx.serialize(f[e])}c+="]"}else{if(typeof(f)=="object"){c="{";var d=0;for(var e in f){if(d++>0){c+=", "}c+=e+": "+b.jqx.serialize(f[e])}c+="}"}else{c=f.toString()}}return c};b.jqx.propertySetterValidation=true;b.jqx.jqxWidgetProxy=function(h,d,c){var e=b(d);var g=b.data(d,h);if(g==undefined){return undefined}var f=g.instance;if(b.jqx.hasFunction(f,c)){return b.jqx.invoke(f,c)}if(b.jqx.isPropertySetter(f,c)){if(b.jqx.validatePropertySetter(f,c)){b.jqx.set(f,c);return undefined}}else{if(typeof(c)=="object"&&c.length==0){return}else{if(typeof(c)=="object"&&c.length==1&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c[0])}else{if(typeof(c)=="string"&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c)}}}}throw"jqxCore: Invalid parameter '"+b.jqx.serialize(c)+"' does not exist."};b.jqx.applyWidget=function(d,f,l,m){var h=false;try{h=window.MSApp!=undefined}catch(g){}var n=b(d);if(!m){m=new b.jqx["_"+f]()}else{m.host=n;m.element=d}if(d.id==""){d.id=b.jqx.utilities.createId()}var k={host:n,element:d,instance:m,initArgs:l};m.widgetName=f;b.data(d,f,k);b.data(d,"jqxWidget",k.instance);var j=new Array();var m=k.instance;while(m){m.isInitialized=false;j.push(m);m=m.base}j.reverse();j[0].theme=b.jqx.theme||"";b.jqx.jqxWidgetProxy(f,d,l);for(var c in j){m=j[c];if(c==0){m.host=n;m.element=d;m.WinJS=h}if(m!=undefined){if(m.definedInstance){m.definedInstance()}if(m.createInstance!=null){if(h){MSApp.execUnsafeLocalFunction(function(){m.createInstance(l)})}else{m.createInstance(l)}}}}for(var c in j){if(j[c]!=undefined){j[c].isInitialized=true}}if(h){MSApp.execUnsafeLocalFunction(function(){k.instance.refresh(true)})}else{k.instance.refresh(true)}};b.jqx.jqxWidget=function(c,d,g){var j=false;try{var l=Array.prototype.slice.call(g,0)}catch(i){var l=""}try{j=window.MSApp!=undefined}catch(i){}var h=c;var m="";if(d){m="_"+d}b.jqx.define(b.jqx,"_"+h,m);var k=new Array();if(!window[h]){var f=function(n){if(n==null){return""}var e=b.type(n);switch(e){case"string":case"number":case"date":case"boolean":case"bool":if(n===null){return""}return n.toString()}var o="";b.each(n,function(q,r){var t=r;if(q>0){o+=", "}o+="[";var p=0;if(b.type(t)=="object"){for(var s in t){if(p>0){o+=", "}o+="{"+s+":"+t[s]+"}";p++}}else{if(p>0){o+=", "}o+="{"+q+":"+t+"}";p++}o+="]"});return o};a[h]=window[h]=function(e,s){var n=[];if(!s){s={}}n.push(s);var o=e;if(b.type(o)==="object"&&e[0]){o=e[0].id;if(o===""){o=e[0].id=b.jqx.utilities.createId()}}else{if(b.type(e)==="object"&&e&&e.nodeName){o=e.id;if(o===""){o=e.id=b.jqx.utilities.createId()}}}if(window.jqxWidgets&&window.jqxWidgets[o]){if(s){b.each(window.jqxWidgets[o],function(t){var u=b(this.element).data();if(u&&u.jqxWidget){b(this.element)[h](s)}})}if(window.jqxWidgets[o].length==1){var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o][0]}}var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o]}}var p=b(e);if(p.length===0){p=b("<div></div>");if(h==="jqxInput"||h==="jqxPasswordInput"||h==="jqxMaskedInput"){p=b("<input/>")}if(h==="jqxTextArea"){p=b("<textarea></textarea>")}if(h==="jqxButton"||h==="jqxRepeatButton"||h==="jqxToggleButton"){p=b("<button/>")}if(h==="jqxSplitter"){p=b("<div><div>Panel 1</div><div>Panel 2</div></div>")}if(h==="jqxTabs"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div>Content 1</div><div>Content 2</div></div>")}if(h==="jqxRibbon"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div><div>Content 1</div><div>Content 2</div></div></div>")}if(h==="jqxDocking"){p=b("<div><div><div><div>Title 1</div><div>Content 1</div></div></div></div>")}if(h==="jqxWindow"){p=b("<div><div>Title 1</div><div>Content 1</div></div>")}}var r=[];b.each(p,function(w){var y=p[w];b.jqx.applyWidget(y,h,n,undefined);if(!k[h]){var u=b.data(y,"jqxWidget");var x=b.jqx["_"+h].prototype.defineInstance();var v={};if(b.jqx["_"+h].prototype.metaInfo){v=b.jqx["_"+h].prototype.metaInfo()}if(h=="jqxDockingLayout"){x=b.extend(x,b.jqx._jqxLayout.prototype.defineInstance())}if(h=="jqxToggleButton"||h=="jqxRepeatButton"){x=b.extend(x,b.jqx._jqxButton.prototype.defineInstance())}if(h=="jqxTreeGrid"){x=b.extend(x,b.jqx._jqxDataTable.prototype.defineInstance())}var t=function(A){var z=b.data(A,"jqxWidget");this.widgetInstance=z;var B=b.extend(this,z);B.on=B.addEventListener=function(D,E){B.addHandler(!B.base?B.host:B.base.host,D,E)};B.off=B.removeEventListener=function(D){B.removeHandler(!B.base?B.host:B.base.host,D)};for(var C in z){if(b.type(z[C])=="function"){B[C]=b.proxy(z[C],z)}}return B};k[h]=t;b.each(x,function(A,z){Object.defineProperty(t.prototype,A,{get:function(){if(this.widgetInstance){return this.widgetInstance[A]}return z},set:function(H){if(this.widgetInstance&&(this.widgetInstance[A]!=H||A==="width"||A==="height")){var F=this.widgetInstance[A];var E=H;var D=b.type(F);var B=b.type(E);var G=false;if(D!=B||A==="source"||A==="width"||A==="height"){G=true}if(G||(f(F)!=f(E))){var C={};C[A]=H;if(this.widgetInstance.host){this.widgetInstance.host[h](C)}else{this.widgetInstance.base.host[h](C)}this.widgetInstance[A]=H;if(this.widgetInstance.propertyUpdated){this.widgetInstance.propertyUpdated(A,F,H)}}}}})})}var u=new k[h](y);r.push(u);if(!window.jqxWidgets){window.jqxWidgets=new Array()}if(!window.jqxWidgets[o]){window.jqxWidgets[o]=new Array()}window.jqxWidgets[o].push(u)});if(r.length===1){return r[0]}return r}}b.fn[h]=function(){var e=Array.prototype.slice.call(arguments,0);if(e.length==0||(e.length==1&&typeof(e[0])=="object")){if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}return this.each(function(){var q=b(this);var p=this;var r=b.data(p,h);if(r==null){b.jqx.applyWidget(p,h,e,undefined)}else{b.jqx.jqxWidgetProxy(h,this,e)}})}else{if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}var o=null;var n=0;this.each(function(){var p=b.jqx.jqxWidgetProxy(h,this,e);if(n==0){o=p;n++}else{if(n==1){var q=[];q.push(o);o=q}o.push(p)}})}return o};try{b.extend(b.jqx["_"+h].prototype,Array.prototype.slice.call(g,0)[0])}catch(i){}b.extend(b.jqx["_"+h].prototype,{toThemeProperty:function(e,n){return b.jqx.toThemeProperty(this,e,n)},isMaterialized:function(){if(!this.theme){return false}if(this.theme.indexOf("material")>=0){return true}},isModern:function(){if(!this.theme){return false}if(this.theme.indexOf("light")>=0){return true}if(this.theme==="dark"){return true}},_addBarAndLabel:function(p){var o=this;var e=b("<label></label");e[0].innerHTML=this.placeHolder;e.addClass(o.toThemeProperty("jqx-input-label"));p.after(e);o.label=e;var n=b("<span></span>");p.after(n);n.addClass(o.toThemeProperty("jqx-input-bar"));o.bar=n;o.bar.css("top",this.host.height())}});b.jqx["_"+h].prototype.refresh=function(){if(this.base){this.base.refresh(true)}};b.jqx["_"+h].prototype.createInstance=function(){};b.jqx["_"+h].prototype.addEventHandler=function(n,e){if(this.base){this.base.host.on(n,e)}else{this.host.on(n,e)}};b.jqx["_"+h].prototype.removeEventHandler=function(n,e){if(this.base){this.base.host.off(n)}else{this.host.off(n)}};b.jqx["_"+h].prototype.applyTo=function(o,n){if(!(n instanceof Array)){var e=[];e.push(n);n=e}b.jqx.applyWidget(o,h,n,this)};b.jqx["_"+h].prototype.getInstance=function(){return this};b.jqx["_"+h].prototype.propertyChangeMap={};b.jqx["_"+h].prototype.addHandler=function(p,e,n,o){b.jqx.addHandler(b(p),e,n,o)};b.jqx["_"+h].prototype.removeHandler=function(o,e,n){b.jqx.removeHandler(b(o),e,n)};b.jqx["_"+h].prototype.setOptions=function(){if(!this.host||!this.host.length||this.host.length!=1){return}return b.jqx.jqxWidgetProxy(h,this.host[0],arguments)}};b.jqx.toThemeProperty=function(d,e,j){if(d.theme==""){return e}var h=e.split(" ");var c="";for(var g=0;g<h.length;g++){if(g>0){c+=" "}var f=h[g];if(j!=null&&j){c+=f+"-"+d.theme}else{c+=f+" "+f+"-"+d.theme}}return c};b.jqx.addHandler=function(h,j,f,g){var d=j.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.addEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){h[0].addEventListener("DOMMouseScroll",f,false)}else{h[0].addEventListener("mousewheel",f,false)}continue;case"mousemove":if(!g){h[0].addEventListener("mousemove",f,false);continue}break}}if(g==undefined||g==null){if(h.on){h.on(e,f)}else{h.bind(e,f)}}else{if(h.on){h.on(e,g,f)}else{h.bind(e,g,f)}}}};b.jqx.removeHandler=function(g,h,f){if(!h){if(g.off){g.off()}else{g.unbind()}return}var d=h.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.removeEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){g[0].removeEventListener("DOMMouseScroll",f,false)}else{g[0].removeEventListener("mousewheel",f,false)}continue;case"mousemove":if(f){g[0].removeEventListener("mousemove",f,false);continue}break}}if(e==undefined){if(g.off){g.off()}else{g.unbind()}continue}if(f==undefined){if(g.off){g.off(e)}else{g.unbind(e)}}else{if(g.off){g.off(e,f)}else{g.unbind(e,f)}}}};b.jqx.credits=b.jqx.credits||"";b.jqx.theme=b.jqx.theme||"";b.jqx.scrollAnimation=b.jqx.scrollAnimation||false;b.jqx.resizeDelay=b.jqx.resizeDelay||10;b.jqx.ready=function(){b(window).trigger("jqxReady")};b.jqx.init=function(){b.each(arguments[0],function(c,d){if(c=="theme"){b.jqx.theme=d}if(c=="scrollBarSize"){b.jqx.utilities.scrollBarSize=d}if(c=="touchScrollBarSize"){b.jqx.utilities.touchScrollBarSize=d}if(c=="scrollBarButtonsVisibility"){b.jqx.utilities.scrollBarButtonsVisibility=d}})};b.jqx.utilities=b.jqx.utilities||{};b.extend(b.jqx.utilities,{scrollBarSize:13,touchScrollBarSize:8,scrollBarButtonsVisibility:"visible",createId:function(){var c=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return"jqxWidget"+c()+c()+c()},setTheme:function(g,h,f){if(typeof f==="undefined"){return}if(!f[0].className.split){return}if(g===undefined){g=""}if(h===undefined){h=""}var j=f[0].className.split(" "),c=[],k=[],e=f.children();for(var d=0;d<j.length;d+=1){if(j[d].indexOf(g)>=0){if(g.length>0){c.push(j[d]);k.push(j[d].replace(g,h))}else{k.push(j[d].replace("-"+h,"")+"-"+h)}}}this._removeOldClasses(c,f);this._addNewClasses(k,f);for(var d=0;d<e.length;d+=1){this.setTheme(g,h,b(e[d]))}},_removeOldClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.removeClass(e[c])}},_addNewClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.addClass(e[c])}},getOffset:function(c){var e=b.jqx.mobile.getLeftPos(c[0]);var d=b.jqx.mobile.getTopPos(c[0]);return{top:d,left:e}},resize:function(h,t,q,p){if(p===undefined){p=true}var m=-1;var l=this;var e=function(v){if(!l.hiddenWidgets){return -1}var w=-1;for(var u=0;u<l.hiddenWidgets.length;u++){if(v.id){if(l.hiddenWidgets[u].id==v.id){w=u;break}}else{if(l.hiddenWidgets[u].id==v[0].id){w=u;break}}}return w};if(this.resizeHandlers){for(var j=0;j<this.resizeHandlers.length;j++){if(h.id){if(this.resizeHandlers[j].id==h.id){m=j;break}}else{if(this.resizeHandlers[j].id==h[0].id){m=j;break}}}if(q===true){if(m!=-1){this.resizeHandlers.splice(m,1);if(this.watchedElementData&&this.watchedElementData.length>0){this.watchedElementData.splice(m,1)}}if(this.resizeHandlers.length==0){var o=b(window);if(o.off){o.off("resize.jqx");o.off("orientationchange.jqx");o.off("orientationchanged.jqx")}else{o.unbind("resize.jqx");o.unbind("orientationchange.jqx");o.unbind("orientationchanged.jqx")}this.resizeHandlers=null}var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}else{if(q===true){var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}var l=this;var n=function(w,F){if(!l.resizeHandlers){return}var G=function(J){var i=-1;var K=J.parentNode;while(K){i++;K=K.parentNode}return i};var v=function(L,J){if(!L.widget||!J.widget){return 0}var K=G(L.widget[0]);var i=G(J.widget[0]);try{if(K<i){return -1}if(K>i){return 1}}catch(M){var N=M}return 0};var x=function(J){if(l.hiddenWidgets.length>0){l.hiddenWidgets.sort(v);var i=function(){var L=false;var N=new Array();for(var M=0;M<l.hiddenWidgets.length;M++){var K=l.hiddenWidgets[M];if(b.jqx.isHidden(K.widget)){L=true;N.push(K)}else{if(K.callback){K.callback(F)}}}l.hiddenWidgets=N;if(!L){clearInterval(l.__resizeInterval)}};if(J==false){i();if(l.__resizeInterval){clearInterval(l.__resizeInterval)}return}if(l.__resizeInterval){clearInterval(l.__resizeInterval)}l.__resizeInterval=setInterval(function(){i()},100)}};if(l.hiddenWidgets&&l.hiddenWidgets.length>0){x(false)}l.hiddenWidgets=new Array();l.resizeHandlers.sort(v);for(var C=0;C<l.resizeHandlers.length;C++){var I=l.resizeHandlers[C];var E=I.widget;var B=I.data;if(!B){continue}if(!B.jqxWidget){continue}var u=B.jqxWidget.width;var H=B.jqxWidget.height;if(B.jqxWidget.base){if(u==undefined){u=B.jqxWidget.base.width}if(H==undefined){H=B.jqxWidget.base.height}}if(u===undefined&&H===undefined){u=B.jqxWidget.element.style.width;H=B.jqxWidget.element.style.height}var D=false;if(u!=null&&u.toString().indexOf("%")!=-1){D=true}if(H!=null&&H.toString().indexOf("%")!=-1){D=true}if(b.jqx.isHidden(E)){if(e(E)===-1){if(D||w===true){if(I.data.nestedWidget!==true){l.hiddenWidgets.push(I)}}}}else{if(w===undefined||w!==true){if(D){I.callback(F);if(l.watchedElementData){for(var z=0;z<l.watchedElementData.length;z++){if(l.watchedElementData[z].element==B.jqxWidget.element){l.watchedElementData[z].offsetWidth=B.jqxWidget.element.offsetWidth;l.watchedElementData[z].offsetHeight=B.jqxWidget.element.offsetHeight;break}}}if(l.hiddenWidgets.indexOf(I)>=0){l.hiddenWidgets.splice(l.hiddenWidgets.indexOf(I),1)}}if(B.jqxWidget.element){var y=B.jqxWidget.element.className;if(y.indexOf("dropdownlist")>=0||y.indexOf("datetimeinput")>=0||y.indexOf("combobox")>=0||y.indexOf("menu")>=0){if(B.jqxWidget.isOpened){var A=B.jqxWidget.isOpened();if(A){if(F&&F=="resize"&&b.jqx.mobile.isTouchDevice()){continue}B.jqxWidget.close()}}}}}}}x()};if(!this.resizeHandlers){this.resizeHandlers=new Array();var o=b(window);if(o.on){this._resizeTimer=null;this._initResize=null;o.on("resize.jqx",function(i){if(l._resizeTimer!=undefined){clearTimeout(l._resizeTimer)}if(!l._initResize){l._initResize=true;n(null,"resize")}else{l._resizeTimer=setTimeout(function(){n(null,"resize")},b.jqx.resizeDelay)}});o.on("orientationchange.jqx",function(i){n(null,"orientationchange")});o.on("orientationchanged.jqx",function(i){n(null,"orientationchange")})}else{o.bind("resize.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchange.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchanged.jqx",function(i){n(null,"orientationchange")})}}var f=h.data();if(p){if(m===-1){this.resizeHandlers.push({id:h[0].id,widget:h,callback:t,data:f})}}try{var d=f.jqxWidget.width;var s=f.jqxWidget.height;if(f.jqxWidget.base){if(d==undefined){d=f.jqxWidget.base.width}if(s==undefined){s=f.jqxWidget.base.height}}if(d===undefined&&s===undefined){d=f.jqxWidget.element.style.width;s=f.jqxWidget.element.style.height}var k=false;if(d!=null&&d.toString().indexOf("%")!=-1){k=true}if(s!=null&&s.toString().indexOf("%")!=-1){k=true}if(k){if(!this.watchedElementData){this.watchedElementData=[]}var l=this;var g=function(i){if(l.watchedElementData.forEach){l.watchedElementData.forEach(function(u){if(u.element.offsetWidth!==u.offsetWidth||u.element.offsetHeight!==u.offsetHeight){u.offsetWidth=u.element.offsetWidth;u.offsetHeight=u.element.offsetHeight;if(u.timer){clearTimeout(u.timer)}u.timer=setTimeout(function(){if(!b.jqx.isHidden(b(u.element))){u.callback()}else{u.timer=setInterval(function(){if(!b.jqx.isHidden(b(u.element))){clearInterval(u.timer);u.callback()}},100)}})}})}};l.watchedElementData.push({element:h[0],offsetWidth:h[0].offsetWidth,offsetHeight:h[0].offsetHeight,callback:t});if(!l.observer){l.observer=new MutationObserver(g);l.observer.observe(document.body,{attributes:true,childList:true,characterData:true})}}}catch(r){}if(b.jqx.isHidden(h)&&p===true){n(true)}b.jqx.resize=function(){n(null,"resize")}},parseJSON:function(e){if(!e||typeof e!=="string"){return null}var c=/^[\],:{}\s]*$/,g=/(?:^|:|,)(?:\s*\[)+/g,d=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,f=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g;e=b.trim(e);if(window.JSON&&window.JSON.parse){return window.JSON.parse(e)}if(c.test(e.replace(d,"@").replace(f,"]").replace(g,""))){return(new Function("return "+e))()}throw new Error("Invalid JSON: "+e)},html:function(d,e){if(!b(d).on){return b(d).html(e)}try{return b.access(d,function(s){var f=d[0]||{},m=0,j=d.length;if(s===undefined){return f.nodeType===1?f.innerHTML.replace(rinlinejQuery,""):undefined}var r=/<(?:script|style|link)/i,n="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",h=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,p=/<([\w:]+)/,g=/<(?:script|object|embed|option|style)/i,k=new RegExp("<(?:"+n+")[\\s/>]","i"),q=/^\s+/,t={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};if(typeof s==="string"&&!r.test(s)&&(b.support.htmlSerialize||!k.test(s))&&(b.support.leadingWhitespace||!q.test(s))&&!t[(p.exec(s)||["",""])[1].toLowerCase()]){s=s.replace(h,"<$1></$2>");try{for(;m<j;m++){f=this[m]||{};if(f.nodeType===1){b.cleanData(f.getElementsByTagName("*"));f.innerHTML=s}}f=0}catch(o){}}if(f){d.empty().append(s)}},null,e,arguments.length)}catch(c){return b(d).html(e)}},hasTransform:function(e){var d="";d=e.css("transform");if(d==""||d=="none"){d=e.parents().css("transform");if(d==""||d=="none"){var c=b.jqx.utilities.getBrowser();if(c.browser=="msie"){d=e.css("-ms-transform");if(d==""||d=="none"){d=e.parents().css("-ms-transform")}}else{if(c.browser=="chrome"){d=e.css("-webkit-transform");if(d==""||d=="none"){d=e.parents().css("-webkit-transform")}}else{if(c.browser=="opera"){d=e.css("-o-transform");if(d==""||d=="none"){d=e.parents().css("-o-transform")}}else{if(c.browser=="mozilla"){d=e.css("-moz-transform");if(d==""||d=="none"){d=e.parents().css("-moz-transform")}}}}}}else{return d!=""&&d!="none"}}if(d==""||d=="none"){d=b(document.body).css("transform")}return d!=""&&d!="none"&&d!=null},getBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=/(chrome)[ \/]([\w.]+)/.exec(d)||/(webkit)[ \/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||d.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[];var e={browser:c[1]||"",version:c[2]||"0"};if(d.indexOf("rv:11.0")>=0&&d.indexOf(".net4.0c")>=0){e.browser="msie";e.version="11";c[1]="msie"}if(d.indexOf("edge")>=0){e.browser="msie";e.version="12";c[1]="msie"}e[c[1]]=c[1];return e}});b.jqx.browser=b.jqx.utilities.getBrowser();b.jqx.isHidden=function(d){if(!d||!d[0]){return false}var c=d[0].offsetWidth,e=d[0].offsetHeight;if(c===0||e===0){return true}else{return false}};b.jqx.ariaEnabled=true;b.jqx.aria=function(d,f,e){if(!b.jqx.ariaEnabled){return}if(f==undefined){b.each(d.aria,function(h,i){var k=!d.base?d.host.attr(h):d.base.host.attr(h);if(k!=undefined&&!b.isFunction(k)){var j=k;switch(i.type){case"number":j=new Number(k);if(isNaN(j)){j=k}break;case"boolean":j=k=="true"?true:false;break;case"date":j=new Date(k);if(j=="Invalid Date"||isNaN(j)){j=k}break}d[i.name]=j}else{var k=d[i.name];if(b.isFunction(k)){k=d[i.name]()}if(k==undefined){k=""}try{!d.base?d.host.attr(h,k.toString()):d.base.host.attr(h,k.toString())}catch(g){}}})}else{try{if(d.host){if(!d.base){if(d.host){if(d.element.setAttribute){d.element.setAttribute(f,e.toString())}else{d.host.attr(f,e.toString())}}else{d.attr(f,e.toString())}}else{if(d.base.host){d.base.host.attr(f,e.toString())}else{d.attr(f,e.toString())}}}else{if(d.setAttribute){d.setAttribute(f,e.toString())}}}catch(c){}}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(d){var c=this.length;var e=Number(arguments[1])||0;e=(e<0)?Math.ceil(e):Math.floor(e);if(e<0){e+=c}for(;e<c;e++){if(e in this&&this[e]===d){return e}}return -1}}b.jqx.mobile=b.jqx.mobile||{};b.jqx.position=function(c){var f=parseInt(c.pageX);var e=parseInt(c.pageY);if(b.jqx.mobile.isTouchDevice()){var d=b.jqx.mobile.getTouches(c);var g=d[0];f=parseInt(g.pageX);e=parseInt(g.pageY)}return{left:f,top:e}};b.extend(b.jqx.mobile,{_touchListener:function(i,g){var c=function(j,l){var k=document.createEvent("MouseEvents");k.initMouseEvent(j,l.bubbles,l.cancelable,l.view,l.detail,l.screenX,l.screenY,l.clientX,l.clientY,l.ctrlKey,l.altKey,l.shiftKey,l.metaKey,l.button,l.relatedTarget);k._pageX=l.pageX;k._pageY=l.pageY;return k};var h={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var f=c(h[i.type],i);i.target.dispatchEvent(f);var d=i.target["on"+h[i.type]];if(typeof d==="function"){d(i)}},setMobileSimulator:function(d,f){if(this.isTouchDevice()){return}this.simulatetouches=true;if(f==false){this.simulatetouches=false}var e={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var c=this;if(window.addEventListener){var g=function(){for(var h in e){if(d.addEventListener){d.removeEventListener(h,c._touchListener);d.addEventListener(h,c._touchListener,false)}}};if(b.jqx.browser.msie){g()}else{g()}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Android")!=-1){return true}if(d.indexOf("IEMobile")!=-1){return true}if(d.indexOf("Windows Phone")!=-1){return true}if(d.indexOf("WPDesktop")!=-1){return true}if(d.indexOf("ZuneWP7")!=-1){return true}if(d.indexOf("BlackBerry")!=-1&&d.indexOf("Mobile Safari")!=-1){return true}if(d.indexOf("ipod")!=-1){return true}if(d.indexOf("nokia")!=-1||d.indexOf("Nokia")!=-1){return true}if(d.indexOf("Chrome/17")!=-1){return false}if(d.indexOf("CrOS")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")==-1&&d.indexOf("Mini")==-1&&d.indexOf("Platform: Win")!=-1){return false}if(d.indexOf("HybridDeviceTouch")!=-1){return true}if(d.indexOf("HybridDeviceMouse")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")!=-1&&d.indexOf("Opera Mobi")!=-1){return true}if(d.indexOf("Mozilla/5.0 (X11; Linux x86_64)")!=-1){return false}var f={ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"};try{if(this.touchDevice!=undefined){return this.touchDevice}this.touchDevice=false;for(var h in f){if(f.hasOwnProperty(h)){var k=f[h];var g=d.match(new RegExp("(?:"+k+")([^\\s;]+)"));if(g){if(h.toString()=="blackberry"){this.touchDevice=false;return false}this.touchDevice=true;return true}}}var j=navigator.userAgent;if(navigator.platform.toLowerCase().indexOf("win")!=-1){if(j.indexOf("Windows Phone")>=0||j.indexOf("WPDesktop")>=0||j.indexOf("IEMobile")>=0||j.indexOf("ZuneWP7")>=0){this.touchDevice=true;return true}else{if(j.indexOf("Touch")>=0){var c=("MSPointerDown" in window)||("pointerdown" in window);if(c){this.touchDevice=true;return true}if(j.indexOf("ARM")>=0){this.touchDevice=true;return true}this.touchDevice=false;return false}}}if(navigator.platform.toLowerCase().indexOf("win")!=-1){this.touchDevice=false;return false}if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){this.touchDevice=true}return this.touchDevice}catch(l){this.touchDevice=false;return false}},getLeftPos:function(c){var d=c.offsetLeft;while((c=c.offsetParent)!=null){if(c.tagName!="HTML"){d+=c.offsetLeft;if(document.all){d+=c.clientLeft}}}return d},getTopPos:function(d){var f=d.offsetTop;var c=b(d).coord();while((d=d.offsetParent)!=null){if(d.tagName!="HTML"){f+=(d.offsetTop-d.scrollTop);if(document.all){f+=d.clientTop}}}var e=navigator.userAgent.toLowerCase();var g=(e.indexOf("windows phone")!=-1||e.indexOf("WPDesktop")!=-1||e.indexOf("ZuneWP7")!=-1||e.indexOf("msie 9")!=-1||e.indexOf("msie 11")!=-1||e.indexOf("msie 10")!=-1)&&e.indexOf("touch")!=-1;if(g){return c.top}if(this.isSafariMobileBrowser()){if(this.isSafari4MobileBrowser()&&this.isIPadSafariMobileBrowser()){return f}if(e.indexOf("version/7")!=-1){return c.top}if(e.indexOf("version/6")!=-1||e.indexOf("version/5")!=-1){f=f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return f+b(window).scrollTop()}return c.top}return f},isChromeMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("android")!=-1;return c},isOperaMiniMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1||d.indexOf("opera mobi")!=-1;return c},isOperaMiniBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1;return c},isNewSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/5")!=-1);return c},isSafari4MobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/4")!=-1);return c},isWindowsPhone:function(){var d=navigator.userAgent.toLowerCase();var c=(d.indexOf("windows phone")!=-1||d.indexOf("WPDesktop")!=-1||d.indexOf("ZuneWP7")!=-1||d.indexOf("msie 9")!=-1||d.indexOf("msie 11")!=-1||d.indexOf("msie 10")!=-1&&d.indexOf("touch")!=-1);return c},isSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return true}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return true}var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1||d.indexOf("mobile safari")!=-1;return c},isIPadSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1;return c},isMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("android")!=-1;return c},getTouches:function(c){if(c.originalEvent){if(c.originalEvent.touches&&c.originalEvent.touches.length){return c.originalEvent.touches}else{if(c.originalEvent.changedTouches&&c.originalEvent.changedTouches.length){return c.originalEvent.changedTouches}}}if(!c.touches){c.touches=new Array();c.touches[0]=c.originalEvent!=undefined?c.originalEvent:c;if(c.originalEvent!=undefined&&c.pageX){c.touches[0]=c}if(c.type=="mousemove"){c.touches[0]=c}}return c.touches},getTouchEventName:function(c){if(this.isWindowsPhone()){var d=navigator.userAgent.toLowerCase();if(d.indexOf("windows phone 7")!=-1){if(c.toLowerCase().indexOf("start")!=-1){return"MSPointerDown"}if(c.toLowerCase().indexOf("move")!=-1){return"MSPointerMove"}if(c.toLowerCase().indexOf("end")!=-1){return"MSPointerUp"}}if(c.toLowerCase().indexOf("start")!=-1){return"pointerdown"}if(c.toLowerCase().indexOf("move")!=-1){return"pointermove"}if(c.toLowerCase().indexOf("end")!=-1){return"pointerup"}}else{return c}},dispatchMouseEvent:function(c,g,f){if(this.simulatetouches){return}var d=document.createEvent("MouseEvent");d.initMouseEvent(c,true,true,g.view,1,g.screenX,g.screenY,g.clientX,g.clientY,false,false,false,false,0,null);if(f!=null){f.dispatchEvent(d)}},getRootNode:function(c){while(c.nodeType!==1){c=c.parentNode}return c},setTouchScroll:function(c,d){if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[d]=c},touchScroll:function(B,M,Z,H,x,n){if(B==null){return}var G=this;var f=0;var r=0;var g=0;var i=0;var t=0;var j=0;if(!this.scrolling){this.scrolling=[]}this.scrolling[H]=false;var k=false;var p=b(B);var R=["select","input","textarea"];var X=0;var J=0;if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[H]=true;var H=H;var w=this.getTouchEventName("touchstart")+".touchScroll";var D=this.getTouchEventName("touchend")+".touchScroll";var ab=this.getTouchEventName("touchmove")+".touchScroll";var l,W,z,ah,V,Y,aj,Q,aa,d,F,ad,af,O,e,v,u,S,c,E,ag,o;Q=M;var aj=0;var aa=0;var h=0;var T=0;var ai=0;var Y=x.jqxScrollBar("max");var o=325;function A(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientY}else{if(am.originalEvent&&am.originalEvent.clientY!==undefined){return am.originalEvent.clientY}else{var al=G.getTouches(am);return al[0].clientY}}}function ae(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientX}else{if(am.originalEvent&&am.originalEvent.clientX!==undefined){return am.originalEvent.clientX}else{var al=G.getTouches(am);return al[0].clientX}}}var I=function(){var ap,am,aq,ao;ap=Date.now();am=ap-v;v=ap;aq=aa-e;var an=h-ah;e=aa;ah=h;F=true;ao=1000*aq/(1+am);var al=1000*an/(1+am);af=0.8*ao+0.2*af;O=0.8*al+0.2*O};var C=false;var X=function(am){if(!G.enableScrolling[H]){return true}if(b.inArray(am.target.tagName.toLowerCase(),R)!==-1){return}aa=n.jqxScrollBar("value");h=x.jqxScrollBar("value");var an=G.getTouches(am);var ao=an[0];if(an.length==1){G.dispatchMouseEvent("mousedown",ao,G.getRootNode(ao.target))}Y=x.jqxScrollBar("max");Q=n.jqxScrollBar("max");function al(ap){C=false;F=true;d=A(ap);ag=ae(ap);af=S=O=0;e=aa;ah=h;v=Date.now();clearInterval(u);u=setInterval(I,100);T=aa;ai=h;if(aa>0&&aa<Q&&n[0].style.visibility!="hidden"){}}al(am);k=false;r=ao.pageY;t=ao.pageX;if(G.simulatetouches){if(ao._pageY!=undefined){r=ao._pageY;t=ao._pageX}}G.scrolling[H]=true;f=0;i=0;return true};if(p.on){p.on(w,X)}else{p.bind(w,X)}var ac=function(am,al){aa=(am>Q)?Q:(am<aj)?aj:am;Z(null,am,0,0,al);return(am>Q)?"max":(am<aj)?"min":"value"};var m=function(am,al){h=(am>Y)?Y:(am<aj)?aj:am;Z(am,null,0,0,al);return(am>Y)?"max":(am<aj)?"min":"value"};function U(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){ac(c+am);requestAnimationFrame(U)}else{ac(c)}}}function N(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){m(E+am);requestAnimationFrame(N)}else{m(E)}}}var y=function(al){if(!G.enableScrolling[H]){return true}if(!G.scrolling[H]){return true}if(C){al.preventDefault();al.stopPropagation()}var aq=G.getTouches(al);if(aq.length>1){return true}var am=aq[0].pageY;var ao=aq[0].pageX;if(G.simulatetouches){if(aq[0]._pageY!=undefined){am=aq[0]._pageY;ao=aq[0]._pageX}}var au=am-r;var av=ao-t;J=am;var at=ao;g=au-f;j=av-i;k=true;f=au;i=av;var an=x!=null?x[0].style.visibility!="hidden":true;var ar=n!=null?n[0].style.visibility!="hidden":true;function ap(ay){var aA,az,ax;if(F){aA=A(ay);ax=ae(ay);az=d-aA;V=ag-ax;var aw="value";if(az>2||az<-2){d=aA;aw=ac(aa+az,ay);I();if(aw=="min"&&T===0){return true}if(aw=="max"&&T===Q){return true}if(!ar){return true}ay.preventDefault();ay.stopPropagation();C=true;return false}else{if(V>2||V<-2){ag=ax;aw=m(h+V,ay);I();if(aw=="min"&&ai===0){return true}if(aw=="max"&&ai===Y){return true}if(!an){return true}C=true;ay.preventDefault();ay.stopPropagation();return false}}ay.preventDefault()}}if(an||ar){if((an)||(ar)){ap(al)}}};if(p.on){p.on(ab,y)}else{p.bind(ab,y)}var s=function(am){if(!G.enableScrolling[H]){return true}var an=G.getTouches(am)[0];if(!G.scrolling[H]){return true}F=false;clearInterval(u);if(af>10||af<-10){S=0.8*af;c=Math.round(aa+S);v=Date.now();requestAnimationFrame(U)}else{if(O>10||O<-10){S=0.8*O;E=Math.round(h+S);v=Date.now();requestAnimationFrame(N)}else{}}G.scrolling[H]=false;if(k){G.dispatchMouseEvent("mouseup",an,am.target)}else{var an=G.getTouches(am)[0],al=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,al);G.dispatchMouseEvent("click",an,al);return true}};if(this.simulatetouches){var q=b(window).on!=undefined||b(window).bind;var P=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};b(window).on!=undefined?b(document).on("mouseup.touchScroll",P):b(document).bind("mouseup.touchScroll",P);if(window.frameElement){if(window.top!=null){var L=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};if(window.top.document){b(window.top.document).on?b(window.top.document).on("mouseup",L):b(window.top.document).bind("mouseup",L)}}}var ak=b(document).on!=undefined||b(document).bind;var K=function(al){if(!G.scrolling[H]){return true}G.scrolling[H]=false;var an=G.getTouches(al)[0],am=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,am);G.dispatchMouseEvent("click",an,am)};b(document).on!=undefined?b(document).on("touchend",K):b(document).bind("touchend",K)}if(p.on){p.on("dragstart",function(al){al.preventDefault()});p.on("selectstart",function(al){al.preventDefault()})}p.on?p.on(D+" touchcancel.touchScroll",s):p.bind(D+" touchcancel.touchScroll",s)}});b.jqx.cookie=b.jqx.cookie||{};b.extend(b.jqx.cookie,{cookie:function(f,g,d){if(arguments.length>1&&String(g)!=="[object Object]"){d=b.extend({},d);if(g===null||g===undefined){d.expires=-1}if(typeof d.expires==="number"){var i=d.expires,e=d.expires=new Date();e.setDate(e.getDate()+i)}g=String(g);return(document.cookie=[encodeURIComponent(f),"=",d.raw?g:encodeURIComponent(g),d.expires?"; expires="+d.expires.toUTCString():"",d.path?"; path="+d.path:"",d.domain?"; domain="+d.domain:"",d.secure?"; secure":""].join(""))}d=g||{};var c,h=d.raw?function(j){return j}:decodeURIComponent;return(c=new RegExp("(?:^|; )"+encodeURIComponent(f)+"=([^;]*)").exec(document.cookie))?h(c[1]):null}});b.jqx.string=b.jqx.string||{};b.extend(b.jqx.string,{replace:function(g,e,f){if(e===f){return this}var c=g;var d=c.indexOf(e);while(d!=-1){c=c.replace(e,f);d=c.indexOf(e)}return c},contains:function(c,d){if(c==null||d==null){return false}return c.indexOf(d)!=-1},containsIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toString().toUpperCase().indexOf(d.toString().toUpperCase())!=-1},equals:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.slice(0,d.length)==d}return false},equalsIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.toUpperCase().slice(0,d.length)==d.toUpperCase()}return false},startsWith:function(c,d){if(c==null||d==null){return false}return c.slice(0,d.length)==d},startsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toUpperCase().slice(0,d.length)==d.toUpperCase()},normalize:function(c){if(c.charCodeAt(c.length-1)==65279){c=c.substring(0,c.length-1)}return c},endsWith:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.slice(-d.length)==d},endsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.toUpperCase().slice(-d.length)==d.toUpperCase()}});b.extend(b.easing,{easeOutBack:function(f,g,e,j,i,h){if(h==undefined){h=1.70158}return j*((g=g/i-1)*g*((h+1)*g+h)+1)+e},easeInQuad:function(f,g,e,i,h){return i*(g/=h)*g+e},easeInOutCirc:function(f,g,e,i,h){if((g/=h/2)<1){return -i/2*(Math.sqrt(1-g*g)-1)+e}return i/2*(Math.sqrt(1-(g-=2)*g)+1)+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e},easeInCubic:function(f,g,e,i,h){return i*(g/=h)*g*g+e},easeOutCubic:function(f,g,e,i,h){return i*((g=g/h-1)*g*g+1)+e},easeInOutCubic:function(f,g,e,i,h){if((g/=h/2)<1){return i/2*g*g*g+e}return i/2*((g-=2)*g*g+2)+e},easeInSine:function(f,g,e,i,h){return -i*Math.cos(g/h*(Math.PI/2))+i+e},easeOutSine:function(f,g,e,i,h){return i*Math.sin(g/h*(Math.PI/2))+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e}})})(jqxBaseFramework);(function(b){if(b.event&&b.event.special){b.extend(b.event.special,{close:{noBubble:true},open:{noBubble:true},cellclick:{noBubble:true},rowclick:{noBubble:true},tabclick:{noBubble:true},selected:{noBubble:true},expanded:{noBubble:true},collapsed:{noBubble:true},valuechanged:{noBubble:true},expandedItem:{noBubble:true},collapsedItem:{noBubble:true},expandingItem:{noBubble:true},collapsingItem:{noBubble:true}})}if(b.fn.extend){b.fn.extend({ischildof:function(g){if(!b(this).parents){var c=g.element.contains(this.element);return c}var e=b(this).parents().get();for(var d=0;d<e.length;d++){if(typeof g!="string"){var f=e[d];if(g!==undefined){if(f==g[0]){return true}}}else{if(g!==undefined){if(b(e[d]).is(g)){return true}}}}return false}})}b.fn.jqxProxy=function(){var e=b(this).data().jqxWidget;var c=Array.prototype.slice.call(arguments,0);var d=e.element;if(!d){d=e.base.element}return b.jqx.jqxWidgetProxy(e.widgetName,d,c)};var a=b.originalVal=b.fn.val;b.fn.val=function(d){if(typeof d=="undefined"){if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){return c.val()}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){return c.val()}}return a.call(this)}else{if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}return a.call(this,d)}};if(b.fn.modal&&b.fn.modal.Constructor){b.fn.modal.Constructor.prototype.enforceFocus=function(){b(document).off("focusin.bs.modal").on("focusin.bs.modal",b.proxy(function(c){if(this.$element[0]!==c.target&&!this.$element.has(c.target).length){if(b(c.target).parents().hasClass("jqx-popup")){return true}this.$element.trigger("focus")}},this))}}b.fn.coord=function(n){var e,j,i={top:0,left:0},f=this[0],l=f&&f.ownerDocument;if(!l){return}e=l.documentElement;if(!b.contains(e,f)){return i}if(typeof f.getBoundingClientRect!==undefined){i=f.getBoundingClientRect()}var d=function(o){return b.isWindow(o)?o:o.nodeType===9?o.defaultView||o.parentWindow:false};j=d(l);var h=0;var c=0;var g=navigator.userAgent.toLowerCase();var m=g.indexOf("ipad")!=-1||g.indexOf("iphone")!=-1;if(m){h=2}if(true==n){if(document.body.style.position!="static"&&document.body.style.position!=""){var k=b(document.body).coord();h=-k.left;c=-k.top}}return{top:c+i.top+(j.pageYOffset||e.scrollTop)-(e.clientTop||0),left:h+i.left+(j.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};b.jqx.ripplers=[];b.jqx.ripple=function(f,e,o){if(!e){e=f}var h=b(f);var j=false;h.append("<span class='ink'></span>");var p=h.find(".ink");var c=false;for(var g=0;g<b.jqx.ripplers.length;g++){var k=b.jqx.ripplers[g];if(k.element[0]===f[0]){c=true;break}}if(!c){b.jqx.ripplers.push({ink:p,element:f,hostElement:e,hostElementType:o})}if(o==="checkbox"||o==="radiobutton"){var l=Math.max(h.outerWidth(),h.outerHeight());p.css({height:l,width:l});var n=h.width()/2-p.width()/2;var m=h.height()/2-p.height()/2;p.css({top:m+"px",left:n+"px"})}if(b.jqx.ripplers.length===1){b(document).on("mouseup",function(r){b.jqx.ripple.mouseCaptured=false;for(var q=0;q<b.jqx.ripplers.length;q++){var d=b.jqx.ripplers[q];d.ink.removeClass("active");d.element.removeClass("active");if(o!=="checkbox"&&o!=="radiobutton"){if(d.ink.hasClass("animate")){d.ink.removeClass("animate")}}}})}e.off("mousedown.ripple");e.on("mousedown.ripple",function(i){var d=b(f);b.jqx.ripple.mouseCaptured=true;setTimeout(function(){if(d.find(".ink").length==0){d.append("<span class='ink'></span>")}var r=d.find(".ink");r.removeClass("animate");if(!r.height()&&!r.width()){var s=Math.max(d.outerWidth(),d.outerHeight());r.css({height:s,width:s})}if(o==="checkbox"||o==="radiobutton"){if(o==="checkbox"){if(e.jqxCheckBox("disabled")){return}}if(o==="radiobutton"){if(e.jqxRadioButton("disabled")){return}}var q=d.width()/2-r.width()/2;var t=d.height()/2-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate");r.on("animationend",function(){if(b.jqx.ripple.mouseCaptured){r.removeClass("animate");r.addClass("active");f.addClass("active")}});return}var q=i.pageX-d.offset().left-r.width()/2;var t=i.pageY-d.offset().top-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate")})})}})(jqxBaseFramework);
+(function(cn,bM){var cs,bF,cg,bv,bR,b5,bI,bL,bH,ce,bE=true,bZ="undefined",cu=("sizcache"+Math.random()).replace(".",""),bz=String,bD=cn.document,bG=bD.documentElement,bW=0,bK=0,b9=[].pop,cr=[].push,bQ=[].slice,bT=[].indexOf||function(cE){var cD=0,cC=this.length;for(;cD<cC;cD++){if(this[cD]===cE){return cD}}return -1},cw=function(cC,cD){cC[cu]=cD==null||cD;return cC},cA=function(){var cC={},cD=[];return cw(function(cE,cF){if(cD.push(cE)>cg.cacheLength){delete cC[cD.shift()]}return(cC[cE+" "]=cF)},cC)},cp=cA(),cq=cA(),bS=cA(),b3="[\\x20\\t\\r\\n\\f]",bP="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",bN=bP.replace("w","w#"),cz="([*^$|!~]?=)",ck="\\["+b3+"*("+bP+")"+b3+"*(?:"+cz+b3+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+bN+")|)|)"+b3+"*\\]",cB=":("+bP+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+ck+")|[^:]|\\\\.)*|.*))\\)|)",b4=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+b3+"*((?:-\\d)?\\d*)"+b3+"*\\)|)(?=[^-]|$)",co=new RegExp("^"+b3+"+|((?:^|[^\\\\])(?:\\\\.)*)"+b3+"+$","g"),bA=new RegExp("^"+b3+"*,"+b3+"*"),cc=new RegExp("^"+b3+"*([\\x20\\t\\r\\n\\f>+~])"+b3+"*"),ch=new RegExp(cB),cj=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,b8=/^:not/,cm=/[\x20\t\r\n\f]*[+~]/,cv=/:not\($/,bX=/h\d/i,ci=/input|select|textarea|button/i,bY=/\\(?!\\)/g,cb={ID:new RegExp("^#("+bP+")"),CLASS:new RegExp("^\\.("+bP+")"),NAME:new RegExp("^\\[name=['\"]?("+bP+")['\"]?\\]"),TAG:new RegExp("^("+bP.replace("w","w*")+")"),ATTR:new RegExp("^"+ck),PSEUDO:new RegExp("^"+cB),POS:new RegExp(b4,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+b3+"*(even|odd|(([+-]|)(\\d*)n|)"+b3+"*(?:([+-]|)"+b3+"*(\\d+)|))"+b3+"*\\)|)","i"),needsContext:new RegExp("^"+b3+"*[>+~]|"+b4,"i")},cf=function(cC){var cE=bD.createElement("div");try{return cC(cE)}catch(cD){return false}finally{cE=null}},bC=cf(function(cC){cC.appendChild(bD.createComment(""));return !cC.getElementsByTagName("*").length}),b7=cf(function(cC){cC.innerHTML="<a href='#'></a>";return cC.firstChild&&typeof cC.firstChild.getAttribute!==bZ&&cC.firstChild.getAttribute("href")==="#"}),bV=cf(function(cD){cD.innerHTML="<select></select>";var cC=typeof cD.lastChild.getAttribute("multiple");return cC!=="boolean"&&cC!=="string"}),b6=cf(function(cC){cC.innerHTML="<div class='hidden e'></div><div class='hidden'></div>";if(!cC.getElementsByClassName||!cC.getElementsByClassName("e").length){return false}cC.lastChild.className="e";return cC.getElementsByClassName("e").length===2}),bu=cf(function(cD){cD.id=cu+0;cD.innerHTML="<a name='"+cu+"'></a><div name='"+cu+"'></div>";bG.insertBefore(cD,bG.firstChild);var cC=bD.getElementsByName&&bD.getElementsByName(cu).length===2+bD.getElementsByName(cu+0).length;bF=!bD.getElementById(cu);bG.removeChild(cD);return cC});try{bQ.call(bG.childNodes,0)[0].nodeType}catch(cy){bQ=function(cD){var cE,cC=[];for(;(cE=this[cD]);cD++){cC.push(cE)}return cC}}function cl(cF,cC,cH,cK){cH=cH||[];cC=cC||bD;var cI,cD,cJ,cE,cG=cC.nodeType;if(!cF||typeof cF!=="string"){return cH}if(cG!==1&&cG!==9){return[]}cJ=bR(cC);if(!cJ&&!cK){if((cI=cj.exec(cF))){if((cE=cI[1])){if(cG===9){cD=cC.getElementById(cE);if(cD&&cD.parentNode){if(cD.id===cE){cH.push(cD);return cH}}else{return cH}}else{if(cC.ownerDocument&&(cD=cC.ownerDocument.getElementById(cE))&&b5(cC,cD)&&cD.id===cE){cH.push(cD);return cH}}}else{if(cI[2]){cr.apply(cH,bQ.call(cC.getElementsByTagName(cF),0));return cH}else{if((cE=cI[3])&&b6&&cC.getElementsByClassName){cr.apply(cH,bQ.call(cC.getElementsByClassName(cE),0));return cH}}}}}return ct(cF.replace(co,"$1"),cC,cH,cK,cJ)}cl.matches=function(cD,cC){return cl(cD,null,null,cC)};cl.matchesSelector=function(cC,cD){return cl(cD,null,null,[cC]).length>0};function cd(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return cD==="input"&&cE.type===cC}}function by(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return(cD==="input"||cD==="button")&&cE.type===cC}}function ca(cC){return cw(function(cD){cD=+cD;return cw(function(cE,cI){var cG,cF=cC([],cE.length,cD),cH=cF.length;while(cH--){if(cE[(cG=cF[cH])]){cE[cG]=!(cI[cG]=cE[cG])}}})})}bv=cl.getText=function(cG){var cF,cD="",cE=0,cC=cG.nodeType;if(cC){if(cC===1||cC===9||cC===11){if(typeof cG.textContent==="string"){return cG.textContent}else{for(cG=cG.firstChild;cG;cG=cG.nextSibling){cD+=bv(cG)}}}else{if(cC===3||cC===4){return cG.nodeValue}}}else{for(;(cF=cG[cE]);cE++){cD+=bv(cF)}}return cD};bR=cl.isXML=function(cC){var cD=cC&&(cC.ownerDocument||cC).documentElement;return cD?cD.nodeName!=="HTML":false};b5=cl.contains=bG.contains?function(cD,cC){var cF=cD.nodeType===9?cD.documentElement:cD,cE=cC&&cC.parentNode;return cD===cE||!!(cE&&cE.nodeType===1&&cF.contains&&cF.contains(cE))}:bG.compareDocumentPosition?function(cD,cC){return cC&&!!(cD.compareDocumentPosition(cC)&16)}:function(cD,cC){while((cC=cC.parentNode)){if(cC===cD){return true}}return false};cl.attr=function(cE,cD){var cF,cC=bR(cE);if(!cC){cD=cD.toLowerCase()}if((cF=cg.attrHandle[cD])){return cF(cE)}if(cC||bV){return cE.getAttribute(cD)}cF=cE.getAttributeNode(cD);return cF?typeof cE[cD]==="boolean"?cE[cD]?cD:null:cF.specified?cF.value:null:null};cg=cl.selectors={cacheLength:50,createPseudo:cw,match:cb,attrHandle:b7?{}:{href:function(cC){return cC.getAttribute("href",2)},type:function(cC){return cC.getAttribute("type")}},find:{ID:bF?function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC&&cC.parentNode?[cC]:[]}}:function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC?cC.id===cF||typeof cC.getAttributeNode!==bZ&&cC.getAttributeNode("id").value===cF?[cC]:bM:[]}},TAG:bC?function(cC,cD){if(typeof cD.getElementsByTagName!==bZ){return cD.getElementsByTagName(cC)}}:function(cC,cG){var cF=cG.getElementsByTagName(cC);if(cC==="*"){var cH,cE=[],cD=0;for(;(cH=cF[cD]);cD++){if(cH.nodeType===1){cE.push(cH)}}return cE}return cF},NAME:bu&&function(cC,cD){if(typeof cD.getElementsByName!==bZ){return cD.getElementsByName(name)}},CLASS:b6&&function(cE,cD,cC){if(typeof cD.getElementsByClassName!==bZ&&!cC){return cD.getElementsByClassName(cE)}}},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(cC){cC[1]=cC[1].replace(bY,"");cC[3]=(cC[4]||cC[5]||"").replace(bY,"");if(cC[2]==="~="){cC[3]=" "+cC[3]+" "}return cC.slice(0,4)},CHILD:function(cC){cC[1]=cC[1].toLowerCase();if(cC[1]==="nth"){if(!cC[2]){cl.error(cC[0])}cC[3]=+(cC[3]?cC[4]+(cC[5]||1):2*(cC[2]==="even"||cC[2]==="odd"));cC[4]=+((cC[6]+cC[7])||cC[2]==="odd")}else{if(cC[2]){cl.error(cC[0])}}return cC},PSEUDO:function(cD){var cE,cC;if(cb.CHILD.test(cD[0])){return null}if(cD[3]){cD[2]=cD[3]}else{if((cE=cD[4])){if(ch.test(cE)&&(cC=bw(cE,true))&&(cC=cE.indexOf(")",cE.length-cC)-cE.length)){cE=cE.slice(0,cC);cD[0]=cD[0].slice(0,cC)}cD[2]=cE}}return cD.slice(0,3)}},filter:{ID:bF?function(cC){cC=cC.replace(bY,"");return function(cD){return cD.getAttribute("id")===cC}}:function(cC){cC=cC.replace(bY,"");return function(cE){var cD=typeof cE.getAttributeNode!==bZ&&cE.getAttributeNode("id");return cD&&cD.value===cC}},TAG:function(cC){if(cC==="*"){return function(){return true}}cC=cC.replace(bY,"").toLowerCase();return function(cD){return cD.nodeName&&cD.nodeName.toLowerCase()===cC}},CLASS:function(cC){var cD=cp[cu][cC+" "];return cD||(cD=new RegExp("(^|"+b3+")"+cC+"("+b3+"|$)"))&&cp(cC,function(cE){return cD.test(cE.className||(typeof cE.getAttribute!==bZ&&cE.getAttribute("class"))||"")})},ATTR:function(cE,cD,cC){return function(cH,cG){var cF=cl.attr(cH,cE);if(cF==null){return cD==="!="}if(!cD){return true}cF+="";return cD==="="?cF===cC:cD==="!="?cF!==cC:cD==="^="?cC&&cF.indexOf(cC)===0:cD==="*="?cC&&cF.indexOf(cC)>-1:cD==="$="?cC&&cF.substr(cF.length-cC.length)===cC:cD==="~="?(" "+cF+" ").indexOf(cC)>-1:cD==="|="?cF===cC||cF.substr(0,cC.length+1)===cC+"-":false}},CHILD:function(cC,cE,cF,cD){if(cC==="nth"){return function(cI){var cH,cJ,cG=cI.parentNode;if(cF===1&&cD===0){return true}if(cG){cJ=0;for(cH=cG.firstChild;cH;cH=cH.nextSibling){if(cH.nodeType===1){cJ++;if(cI===cH){break}}}}cJ-=cD;return cJ===cF||(cJ%cF===0&&cJ/cF>=0)}}return function(cH){var cG=cH;switch(cC){case"only":case"first":while((cG=cG.previousSibling)){if(cG.nodeType===1){return false}}if(cC==="first"){return true}cG=cH;case"last":while((cG=cG.nextSibling)){if(cG.nodeType===1){return false}}return true}}},PSEUDO:function(cF,cE){var cC,cD=cg.pseudos[cF]||cg.setFilters[cF.toLowerCase()]||cl.error("unsupported pseudo: "+cF);if(cD[cu]){return cD(cE)}if(cD.length>1){cC=[cF,cF,"",cE];return cg.setFilters.hasOwnProperty(cF.toLowerCase())?cw(function(cI,cK){var cH,cG=cD(cI,cE),cJ=cG.length;while(cJ--){cH=bT.call(cI,cG[cJ]);cI[cH]=!(cK[cH]=cG[cJ])}}):function(cG){return cD(cG,0,cC)}}return cD}},pseudos:{not:cw(function(cC){var cD=[],cE=[],cF=bI(cC.replace(co,"$1"));return cF[cu]?cw(function(cH,cM,cK,cI){var cL,cG=cF(cH,null,cI,[]),cJ=cH.length;while(cJ--){if((cL=cG[cJ])){cH[cJ]=!(cM[cJ]=cL)}}}):function(cI,cH,cG){cD[0]=cI;cF(cD,null,cG,cE);return !cE.pop()}}),has:cw(function(cC){return function(cD){return cl(cC,cD).length>0}}),contains:cw(function(cC){return function(cD){return(cD.textContent||cD.innerText||bv(cD)).indexOf(cC)>-1}}),enabled:function(cC){return cC.disabled===false},disabled:function(cC){return cC.disabled===true},checked:function(cC){var cD=cC.nodeName.toLowerCase();return(cD==="input"&&!!cC.checked)||(cD==="option"&&!!cC.selected)},selected:function(cC){if(cC.parentNode){cC.parentNode.selectedIndex}return cC.selected===true},parent:function(cC){return !cg.pseudos.empty(cC)},empty:function(cD){var cC;cD=cD.firstChild;while(cD){if(cD.nodeName>"@"||(cC=cD.nodeType)===3||cC===4){return false}cD=cD.nextSibling}return true},header:function(cC){return bX.test(cC.nodeName)},text:function(cE){var cD,cC;return cE.nodeName.toLowerCase()==="input"&&(cD=cE.type)==="text"&&((cC=cE.getAttribute("type"))==null||cC.toLowerCase()===cD)},radio:cd("radio"),checkbox:cd("checkbox"),file:cd("file"),password:cd("password"),image:cd("image"),submit:by("submit"),reset:by("reset"),button:function(cD){var cC=cD.nodeName.toLowerCase();return cC==="input"&&cD.type==="button"||cC==="button"},input:function(cC){return ci.test(cC.nodeName)},focus:function(cC){var cD=cC.ownerDocument;return cC===cD.activeElement&&(!cD.hasFocus||cD.hasFocus())&&!!(cC.type||cC.href||~cC.tabIndex)},active:function(cC){return cC===cC.ownerDocument.activeElement},first:ca(function(){return[0]}),last:ca(function(cC,cD){return[cD-1]}),eq:ca(function(cC,cE,cD){return[cD<0?cD+cE:cD]}),even:ca(function(cC,cE){for(var cD=0;cD<cE;cD+=2){cC.push(cD)}return cC}),odd:ca(function(cC,cE){for(var cD=1;cD<cE;cD+=2){cC.push(cD)}return cC}),lt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;--cD>=0;){cC.push(cD)}return cC}),gt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;++cD<cF;){cC.push(cD)}return cC})}};function bx(cD,cC,cE){if(cD===cC){return cE}var cF=cD.nextSibling;while(cF){if(cF===cC){return -1}cF=cF.nextSibling}return 1}bL=bG.compareDocumentPosition?function(cD,cC){if(cD===cC){bH=true;return 0}return(!cD.compareDocumentPosition||!cC.compareDocumentPosition?cD.compareDocumentPosition:cD.compareDocumentPosition(cC)&4)?-1:1}:function(cK,cJ){if(cK===cJ){bH=true;return 0}else{if(cK.sourceIndex&&cJ.sourceIndex){return cK.sourceIndex-cJ.sourceIndex}}var cH,cD,cE=[],cC=[],cG=cK.parentNode,cI=cJ.parentNode,cL=cG;if(cG===cI){return bx(cK,cJ)}else{if(!cG){return -1}else{if(!cI){return 1}}}while(cL){cE.unshift(cL);cL=cL.parentNode}cL=cI;while(cL){cC.unshift(cL);cL=cL.parentNode}cH=cE.length;cD=cC.length;for(var cF=0;cF<cH&&cF<cD;cF++){if(cE[cF]!==cC[cF]){return bx(cE[cF],cC[cF])}}return cF===cH?bx(cK,cC[cF],-1):bx(cE[cF],cJ,1)};[0,0].sort(bL);bE=!bH;cl.uniqueSort=function(cE){var cF,cG=[],cD=1,cC=0;bH=bE;cE.sort(bL);if(bH){for(;(cF=cE[cD]);cD++){if(cF===cE[cD-1]){cC=cG.push(cD)}}while(cC--){cE.splice(cG[cC],1)}}return cE};cl.error=function(cC){throw new Error("Syntax error, unrecognized expression: "+cC)};function bw(cG,cL){var cD,cH,cJ,cK,cI,cE,cC,cF=cq[cu][cG+" "];if(cF){return cL?0:cF.slice(0)}cI=cG;cE=[];cC=cg.preFilter;while(cI){if(!cD||(cH=bA.exec(cI))){if(cH){cI=cI.slice(cH[0].length)||cI}cE.push(cJ=[])}cD=false;if((cH=cc.exec(cI))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cH[0].replace(co," ")}for(cK in cg.filter){if((cH=cb[cK].exec(cI))&&(!cC[cK]||(cH=cC[cK](cH)))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cK;cD.matches=cH}}if(!cD){break}}return cL?cI.length:cI?cl.error(cG):cq(cG,cE).slice(0)}function b1(cG,cE,cF){var cC=cE.dir,cH=cF&&cE.dir==="parentNode",cD=bK++;return cE.first?function(cK,cJ,cI){while((cK=cK[cC])){if(cH||cK.nodeType===1){return cG(cK,cJ,cI)}}}:function(cL,cK,cJ){if(!cJ){var cI,cM=bW+" "+cD+" ",cN=cM+cs;while((cL=cL[cC])){if(cH||cL.nodeType===1){if((cI=cL[cu])===cN){return cL.sizset}else{if(typeof cI==="string"&&cI.indexOf(cM)===0){if(cL.sizset){return cL}}else{cL[cu]=cN;if(cG(cL,cK,cJ)){cL.sizset=true;return cL}cL.sizset=false}}}}}else{while((cL=cL[cC])){if(cH||cL.nodeType===1){if(cG(cL,cK,cJ)){return cL}}}}}}function bJ(cC){return cC.length>1?function(cG,cF,cD){var cE=cC.length;while(cE--){if(!cC[cE](cG,cF,cD)){return false}}return true}:cC[0]}function b0(cC,cD,cE,cF,cI){var cG,cL=[],cH=0,cJ=cC.length,cK=cD!=null;for(;cH<cJ;cH++){if((cG=cC[cH])){if(!cE||cE(cG,cF,cI)){cL.push(cG);if(cK){cD.push(cH)}}}}return cL}function cx(cE,cD,cG,cF,cH,cC){if(cF&&!cF[cu]){cF=cx(cF)}if(cH&&!cH[cu]){cH=cx(cH,cC)}return cw(function(cS,cP,cK,cR){var cU,cQ,cM,cL=[],cT=[],cJ=cP.length,cI=cS||bU(cD||"*",cK.nodeType?[cK]:cK,[]),cN=cE&&(cS||!cD)?b0(cI,cL,cE,cK,cR):cI,cO=cG?cH||(cS?cE:cJ||cF)?[]:cP:cN;if(cG){cG(cN,cO,cK,cR)}if(cF){cU=b0(cO,cT);cF(cU,[],cK,cR);cQ=cU.length;while(cQ--){if((cM=cU[cQ])){cO[cT[cQ]]=!(cN[cT[cQ]]=cM)}}}if(cS){if(cH||cE){if(cH){cU=[];cQ=cO.length;while(cQ--){if((cM=cO[cQ])){cU.push((cN[cQ]=cM))}}cH(null,(cO=[]),cU,cR)}cQ=cO.length;while(cQ--){if((cM=cO[cQ])&&(cU=cH?bT.call(cS,cM):cL[cQ])>-1){cS[cU]=!(cP[cU]=cM)}}}}else{cO=b0(cO===cP?cO.splice(cJ,cO.length):cO);if(cH){cH(null,cP,cO,cR)}else{cr.apply(cP,cO)}}})}function b2(cI){var cD,cG,cE,cH=cI.length,cL=cg.relative[cI[0].type],cM=cL||cg.relative[" "],cF=cL?1:0,cJ=b1(function(cN){return cN===cD},cM,true),cK=b1(function(cN){return bT.call(cD,cN)>-1},cM,true),cC=[function(cP,cO,cN){return(!cL&&(cN||cO!==ce))||((cD=cO).nodeType?cJ(cP,cO,cN):cK(cP,cO,cN))}];for(;cF<cH;cF++){if((cG=cg.relative[cI[cF].type])){cC=[b1(bJ(cC),cG)]}else{cG=cg.filter[cI[cF].type].apply(null,cI[cF].matches);if(cG[cu]){cE=++cF;for(;cE<cH;cE++){if(cg.relative[cI[cE].type]){break}}return cx(cF>1&&bJ(cC),cF>1&&cI.slice(0,cF-1).join("").replace(co,"$1"),cG,cF<cE&&b2(cI.slice(cF,cE)),cE<cH&&b2((cI=cI.slice(cE))),cE<cH&&cI.join(""))}cC.push(cG)}}return bJ(cC)}function bB(cF,cE){var cC=cE.length>0,cG=cF.length>0,cD=function(cQ,cK,cP,cO,cW){var cL,cM,cR,cV=[],cU=0,cN="0",cH=cQ&&[],cS=cW!=null,cT=ce,cJ=cQ||cG&&cg.find.TAG("*",cW&&cK.parentNode||cK),cI=(bW+=cT==null?1:Math.E);if(cS){ce=cK!==bD&&cK;cs=cD.el}for(;(cL=cJ[cN])!=null;cN++){if(cG&&cL){for(cM=0;(cR=cF[cM]);cM++){if(cR(cL,cK,cP)){cO.push(cL);break}}if(cS){bW=cI;cs=++cD.el}}if(cC){if((cL=!cR&&cL)){cU--}if(cQ){cH.push(cL)}}}cU+=cN;if(cC&&cN!==cU){for(cM=0;(cR=cE[cM]);cM++){cR(cH,cV,cK,cP)}if(cQ){if(cU>0){while(cN--){if(!(cH[cN]||cV[cN])){cV[cN]=b9.call(cO)}}}cV=b0(cV)}cr.apply(cO,cV);if(cS&&!cQ&&cV.length>0&&(cU+cE.length)>1){cl.uniqueSort(cO)}}if(cS){bW=cI;ce=cT}return cH};cD.el=0;return cC?cw(cD):cD}bI=cl.compile=function(cC,cH){var cE,cD=[],cG=[],cF=bS[cu][cC+" "];if(!cF){if(!cH){cH=bw(cC)}cE=cH.length;while(cE--){cF=b2(cH[cE]);if(cF[cu]){cD.push(cF)}else{cG.push(cF)}}cF=bS(cC,bB(cG,cD))}return cF};function bU(cD,cG,cF){var cE=0,cC=cG.length;for(;cE<cC;cE++){cl(cD,cG[cE],cF)}return cF}function ct(cE,cC,cG,cK,cJ){var cH,cN,cD,cM,cL,cI=bw(cE),cF=cI.length;if(!cK){if(cI.length===1){cN=cI[0]=cI[0].slice(0);if(cN.length>2&&(cD=cN[0]).type==="ID"&&cC.nodeType===9&&!cJ&&cg.relative[cN[1].type]){cC=cg.find.ID(cD.matches[0].replace(bY,""),cC,cJ)[0];if(!cC){return cG}cE=cE.slice(cN.shift().length)}for(cH=cb.POS.test(cE)?-1:cN.length-1;cH>=0;cH--){cD=cN[cH];if(cg.relative[(cM=cD.type)]){break}if((cL=cg.find[cM])){if((cK=cL(cD.matches[0].replace(bY,""),cm.test(cN[0].type)&&cC.parentNode||cC,cJ))){cN.splice(cH,1);cE=cK.length&&cN.join("");if(!cE){cr.apply(cG,bQ.call(cK,0));return cG}break}}}}}bI(cE,cI)(cK,cC,cJ,cG,cm.test(cE));return cG}if(bD.querySelectorAll){(function(){var cH,cI=ct,cG=/'|\\/g,cE=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,cD=[":focus"],cC=[":active"],cF=bG.matchesSelector||bG.mozMatchesSelector||bG.webkitMatchesSelector||bG.oMatchesSelector||bG.msMatchesSelector;cf(function(cJ){cJ.innerHTML="<select><option selected=''></option></select>";if(!cJ.querySelectorAll("[selected]").length){cD.push("\\["+b3+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!cJ.querySelectorAll(":checked").length){cD.push(":checked")}});cf(function(cJ){cJ.innerHTML="<p test=''></p>";if(cJ.querySelectorAll("[test^='']").length){cD.push("[*^$]="+b3+"*(?:\"\"|'')")}cJ.innerHTML="<input type='hidden'/>";if(!cJ.querySelectorAll(":enabled").length){cD.push(":enabled",":disabled")}});cD=new RegExp(cD.join("|"));ct=function(cP,cK,cR,cU,cT){if(!cU&&!cT&&!cD.test(cP)){var cN,cS,cM=true,cJ=cu,cL=cK,cQ=cK.nodeType===9&&cP;if(cK.nodeType===1&&cK.nodeName.toLowerCase()!=="object"){cN=bw(cP);if((cM=cK.getAttribute("id"))){cJ=cM.replace(cG,"\\$&")}else{cK.setAttribute("id",cJ)}cJ="[id='"+cJ+"'] ";cS=cN.length;while(cS--){cN[cS]=cJ+cN[cS].join("")}cL=cm.test(cP)&&cK.parentNode||cK;cQ=cN.join(",")}if(cQ){try{cr.apply(cR,bQ.call(cL.querySelectorAll(cQ),0));return cR}catch(cO){}finally{if(!cM){cK.removeAttribute("id")}}}}return cI(cP,cK,cR,cU,cT)};if(cF){cf(function(cK){cH=cF.call(cK,"div");try{cF.call(cK,"[test!='']:sizzle");cC.push("!=",cB)}catch(cJ){}});cC=new RegExp(cC.join("|"));cl.matchesSelector=function(cK,cM){cM=cM.replace(cE,"='$1']");if(!bR(cK)&&!cC.test(cM)&&!cD.test(cM)){try{var cJ=cF.call(cK,cM);if(cJ||cH||cK.document&&cK.document.nodeType!==11){return cJ}}catch(cL){}}return cl(cM,null,null,[cK]).length>0}}})()}cg.pseudos.nth=cg.pseudos.eq;function bO(){}cg.filters=bO.prototype=cg.pseudos;cg.setFilters=new bO();cl.attr=C.attr;C.find=cl;C.expr=cl.selectors;C.expr[":"]=C.expr.pseudos;C.unique=cl.uniqueSort;C.text=cl.getText;C.isXMLDoc=cl.isXML;C.contains=cl.contains})(bd);var U=/Until$/,ag=/^(?:parents|prev(?:Until|All))/,bq=/^.[^:#\[\.,]*$/,aQ=C.expr.match.needsContext,ao={children:true,contents:true,next:true,prev:true};C.fn.extend({find:function(bu){var by,bv,bA,bB,bz,bx,bw=this;if(typeof bu!=="string"){return C(bu).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(C.contains(bw[by],this)){return true}}})}bx=this.pushStack("","find",bu);for(by=0,bv=this.length;by<bv;by++){bA=bx.length;C.find(bu,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bx){var bw,bv=C(bx,this),bu=bv.length;return this.filter(function(){for(bw=0;bw<bu;bw++){if(C.contains(this,bv[bw])){return true}}})},not:function(bu){return this.pushStack(az(this,bu,false),"not",bu)},filter:function(bu){return this.pushStack(az(this,bu,true),"filter",bu)},is:function(bu){return !!bu&&(typeof bu==="string"?aQ.test(bu)?C(bu,this.context).index(this[0])>=0:C.filter(bu,this).length>0:this.filter(bu).length>0)},closest:function(by,bx){var bz,bw=0,bu=this.length,bv=[],bA=aQ.test(by)||typeof by!=="string"?C(by,bx||this.context):0;for(;bw<bu;bw++){bz=this[bw];while(bz&&bz.ownerDocument&&bz!==bx&&bz.nodeType!==11){if(bA?bA.index(bz)>-1:C.find.matchesSelector(bz,by)){bv.push(bz);break}bz=bz.parentNode}}bv=bv.length>1?C.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(bu){if(!bu){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof bu==="string"){return C.inArray(this[0],C(bu))}return C.inArray(bu.jqx?bu[0]:bu,this)},add:function(bu,bv){var bx=typeof bu==="string"?C(bu,bv):C.makeArray(bu&&bu.nodeType?[bu]:bu),bw=C.merge(this.get(),bx);return this.pushStack(x(bx[0])||x(bw[0])?bw:C.unique(bw))},addBack:function(bu){return this.add(bu==null?this.prevObject:this.prevObject.filter(bu))}});C.fn.andSelf=C.fn.addBack;function x(bu){return !bu||!bu.parentNode||bu.parentNode.nodeType===11}function aB(bv,bu){do{bv=bv[bu]}while(bv&&bv.nodeType!==1);return bv}C.each({parent:function(bv){var bu=bv.parentNode;return bu&&bu.nodeType!==11?bu:null},parents:function(bu){return C.dir(bu,"parentNode")},parentsUntil:function(bv,bu,bw){return C.dir(bv,"parentNode",bw)},next:function(bu){return aB(bu,"nextSibling")},prev:function(bu){return aB(bu,"previousSibling")},nextAll:function(bu){return C.dir(bu,"nextSibling")},prevAll:function(bu){return C.dir(bu,"previousSibling")},nextUntil:function(bv,bu,bw){return C.dir(bv,"nextSibling",bw)},prevUntil:function(bv,bu,bw){return C.dir(bv,"previousSibling",bw)},siblings:function(bu){return C.sibling((bu.parentNode||{}).firstChild,bu)},children:function(bu){return C.sibling(bu.firstChild)},contents:function(bu){return C.nodeName(bu,"iframe")?bu.contentDocument||bu.contentWindow.document:C.merge([],bu.childNodes)}},function(bu,bv){C.fn[bu]=function(by,bw){var bx=C.map(this,bv,by);if(!U.test(bu)){bw=by}if(bw&&typeof bw==="string"){bx=C.filter(bw,bx)}bx=this.length>1&&!ao[bu]?C.unique(bx):bx;if(this.length>1&&ag.test(bu)){bx=bx.reverse()}return this.pushStack(bx,bu,aD.call(arguments).join(","))}});C.extend({filter:function(bw,bu,bv){if(bv){bw=":not("+bw+")"}return bu.length===1?C.find.matchesSelector(bu[0],bw)?[bu[0]]:[]:C.find.matches(bw,bu)},dir:function(bw,bv,by){var bu=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===G||bx.nodeType!==1||!C(bx).is(by))){if(bx.nodeType===1){bu.push(bx)}bx=bx[bv]}return bu},sibling:function(bw,bv){var bu=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){bu.push(bw)}}return bu}});function az(bx,bw,bu){bw=bw||0;if(C.isFunction(bw)){return C.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===bu})}else{if(bw.nodeType){return C.grep(bx,function(bz,by){return(bz===bw)===bu})}else{if(typeof bw==="string"){var bv=C.grep(bx,function(by){return by.nodeType===1});if(bq.test(bw)){return C.filter(bw,bv,!bu)}else{bw=C.filter(bw,bv)}}}}return C.grep(bx,function(bz,by){return(C.inArray(bz,bw)>=0)===bu})}function a(bu){var bw=aJ.split("|"),bv=bu.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aJ="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aa=/ JQXLite\d+="(?:null|\d+)"/g,ah=/^\s+/,L=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,c=/<([\w:]+)/,v=/<tbody/i,P=/<|&#?\w+;/,W=/<(?:script|style|link)/i,I=/<(?:script|object|embed|option|style)/i,ac=new RegExp("<(?:"+aJ+")[\\s/>]","i"),R=/^(?:checkbox|radio)$/,o=/checked\s*(?:[^=]|=\s*.checked.)/i,bp=/\/(java|ecma)script/i,aG=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,am={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},T=a(ak),bg=T.appendChild(ak.createElement("div"));am.optgroup=am.option;am.tbody=am.tfoot=am.colgroup=am.caption=am.thead;am.th=am.td;if(!C.support.htmlSerialize){am._default=[1,"X<div>","</div>"]}C.fn.extend({text:function(bu){return C.access(this,function(bv){return bv===G?C.text(this):this.empty().append((this[0]&&this[0].ownerDocument||ak).createTextNode(bv))},null,bu,arguments.length)},wrapAll:function(bu){if(C.isFunction(bu)){return this.each(function(bw){C(this).wrapAll(bu.call(this,bw))})}if(this[0]){var bv=C(bu,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(bu){if(C.isFunction(bu)){return this.each(function(bv){C(this).wrapInner(bu.call(this,bv))})}return this.each(function(){var bv=C(this),bw=bv.contents();if(bw.length){bw.wrapAll(bu)}else{bv.append(bu)}})},wrap:function(bu){var bv=C.isFunction(bu);return this.each(function(bw){C(this).wrapAll(bv?bu.call(this,bw):bu)})},unwrap:function(){return this.parent().each(function(){if(!C.nodeName(this,"body")){C(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.appendChild(bu)}})},prepend:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.insertBefore(bu,this.firstChild)}})},before:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(bu,this),"before",this.selector)}},after:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(this,bu),"after",this.selector)}},remove:function(bu,bx){var bw,bv=0;for(;(bw=this[bv])!=null;bv++){if(!bu||C.filter(bu,[bw]).length){if(!bx&&bw.nodeType===1){C.cleanData(bw.getElementsByTagName("*"));C.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){var bv,bu=0;for(;(bv=this[bu])!=null;bu++){if(bv.nodeType===1){C.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,bu){bv=bv==null?false:bv;bu=bu==null?bv:bu;return this.map(function(){return C.clone(this,bv,bu)})},html:function(bu){return C.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===G){return bx.nodeType===1?bx.innerHTML.replace(aa,""):G}if(typeof by==="string"&&!W.test(by)&&(C.support.htmlSerialize||!ac.test(by))&&(C.support.leadingWhitespace||!ah.test(by))&&!am[(c.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(L,"<$1></$2>");try{for(;bw<bv;bw++){bx=this[bw]||{};if(bx.nodeType===1){C.cleanData(bx.getElementsByTagName("*"));bx.innerHTML=by}}bx=0}catch(bz){}}if(bx){this.empty().append(by)}},null,bu,arguments.length)},replaceWith:function(bu){if(!x(this[0])){if(C.isFunction(bu)){return this.each(function(bx){var bw=C(this),bv=bw.html();bw.replaceWith(bu.call(this,bx,bv))})}if(typeof bu!=="string"){bu=C(bu).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;C(this).remove();if(bw){C(bw).before(bu)}else{C(bv).append(bu)}})}return this.length?this.pushStack(C(C.isFunction(bu)?bu():bu),"replaceWith",bu):this},detach:function(bu){return this.remove(bu,true)},domManip:function(bA,bE,bD){bA=[].concat.apply([],bA);var bw,by,bz,bC,bx=0,bB=bA[0],bv=[],bu=this.length;if(!C.support.checkClone&&bu>1&&typeof bB==="string"&&o.test(bB)){return this.each(function(){C(this).domManip(bA,bE,bD)})}if(C.isFunction(bB)){return this.each(function(bG){var bF=C(this);bA[0]=bB.call(this,bG,bE?bF.html():G);bF.domManip(bA,bE,bD)})}if(this[0]){bw=C.buildFragment(bA,this,bv);bz=bw.fragment;by=bz.firstChild;if(bz.childNodes.length===1){bz=by}if(by){bE=bE&&C.nodeName(by,"tr");for(bC=bw.cacheable||bu-1;bx<bu;bx++){bD.call(bE&&C.nodeName(this[bx],"table")?a3(this[bx],"tbody"):this[bx],bx===bC?bz:C.clone(bz,true,true))}}bz=by=null;if(bv.length){C.each(bv,function(bF,bG){if(bG.src){if(C.ajax){C.ajax({url:bG.src,type:"GET",dataType:"script",async:false,global:false,"throws":true})}else{C.error("no ajax")}}else{C.globalEval((bG.text||bG.textContent||bG.innerHTML||"").replace(aG,""))}if(bG.parentNode){bG.parentNode.removeChild(bG)}})}}return this}});function a3(bv,bu){return bv.getElementsByTagName(bu)[0]||bv.appendChild(bv.ownerDocument.createElement(bu))}function r(bB,bv){if(bv.nodeType!==1||!C.hasData(bB)){return}var by,bx,bu,bA=C._data(bB),bz=C._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,bu=bw[by].length;bx<bu;bx++){C.event.add(bv,by,bw[by][bx])}}}if(bz.data){bz.data=C.extend({},bz.data)}}function ab(bv,bu){var bw;if(bu.nodeType!==1){return}if(bu.clearAttributes){bu.clearAttributes()}if(bu.mergeAttributes){bu.mergeAttributes(bv)}bw=bu.nodeName.toLowerCase();if(bw==="object"){if(bu.parentNode){bu.outerHTML=bv.outerHTML}if(C.support.html5Clone&&(bv.innerHTML&&!C.trim(bu.innerHTML))){bu.innerHTML=bv.innerHTML}}else{if(bw==="input"&&R.test(bv.type)){bu.defaultChecked=bu.checked=bv.checked;if(bu.value!==bv.value){bu.value=bv.value}}else{if(bw==="option"){bu.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){bu.defaultValue=bv.defaultValue}else{if(bw==="script"&&bu.text!==bv.text){bu.text=bv.text}}}}}bu.removeAttribute(C.expando)}C.buildFragment=function(bx,by,bv){var bw,bu,bz,bA=bx[0];by=by||ak;by=!by.nodeType&&by[0]||by;by=by.ownerDocument||by;if(bx.length===1&&typeof bA==="string"&&bA.length<512&&by===ak&&bA.charAt(0)==="<"&&!I.test(bA)&&(C.support.checkClone||!o.test(bA))&&(C.support.html5Clone||!ac.test(bA))){bu=true;bw=C.fragments[bA];bz=bw!==G}if(!bw){bw=by.createDocumentFragment();C.clean(bx,by,bw,bv);if(bu){C.fragments[bA]=bz&&bw}}return{fragment:bw,cacheable:bu}};C.fragments={};C.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(bu,bv){C.fn[bu]=function(bw){var by,bA=0,bz=[],bC=C(bw),bx=bC.length,bB=this.length===1&&this[0].parentNode;if((bB==null||bB&&bB.nodeType===11&&bB.childNodes.length===1)&&bx===1){bC[bv](this[0]);return this}else{for(;bA<bx;bA++){by=(bA>0?this.clone(true):this).get();C(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,bu,bC.selector)}}});function bk(bu){if(typeof bu.getElementsByTagName!=="undefined"){return bu.getElementsByTagName("*")}else{if(typeof bu.querySelectorAll!=="undefined"){return bu.querySelectorAll("*")}else{return[]}}}function al(bu){if(R.test(bu.type)){bu.defaultChecked=bu.checked}}C.extend({clone:function(by,bA,bw){var bu,bv,bx,bz;if(C.support.html5Clone||C.isXMLDoc(by)||!ac.test("<"+by.nodeName+">")){bz=by.cloneNode(true)}else{bg.innerHTML=by.outerHTML;bg.removeChild(bz=bg.firstChild)}if((!C.support.noCloneEvent||!C.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!C.isXMLDoc(by)){ab(by,bz);bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){if(bv[bx]){ab(bu[bx],bv[bx])}}}if(bA){r(by,bz);if(bw){bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){r(bu[bx],bv[bx])}}}bu=bv=null;return bz},clean:function(bH,bw,bu,bx){var bE,bD,bG,bL,bA,bK,bB,by,bv,bF,bJ,bC,bz=bw===ak&&T,bI=[];if(!bw||typeof bw.createDocumentFragment==="undefined"){bw=ak}for(bE=0;(bG=bH[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!P.test(bG)){bG=bw.createTextNode(bG)}else{bz=bz||a(bw);bB=bw.createElement("div");bz.appendChild(bB);bG=bG.replace(L,"<$1></$2>");bL=(c.exec(bG)||["",""])[1].toLowerCase();bA=am[bL]||am._default;bK=bA[0];bB.innerHTML=bA[1]+bG+bA[2];while(bK--){bB=bB.lastChild}if(!C.support.tbody){by=v.test(bG);bv=bL==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bA[1]==="<table>"&&!by?bB.childNodes:[];for(bD=bv.length-1;bD>=0;--bD){if(C.nodeName(bv[bD],"tbody")&&!bv[bD].childNodes.length){bv[bD].parentNode.removeChild(bv[bD])}}}if(!C.support.leadingWhitespace&&ah.test(bG)){bB.insertBefore(bw.createTextNode(ah.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;bB.parentNode.removeChild(bB)}}if(bG.nodeType){bI.push(bG)}else{C.merge(bI,bG)}}if(bB){bG=bB=bz=null}if(!C.support.appendChecked){for(bE=0;(bG=bI[bE])!=null;bE++){if(C.nodeName(bG,"input")){al(bG)}else{if(typeof bG.getElementsByTagName!=="undefined"){C.grep(bG.getElementsByTagName("input"),al)}}}}if(bu){bJ=function(bM){if(!bM.type||bp.test(bM.type)){return bx?bx.push(bM.parentNode?bM.parentNode.removeChild(bM):bM):bu.appendChild(bM)}};for(bE=0;(bG=bI[bE])!=null;bE++){if(!(C.nodeName(bG,"script")&&bJ(bG))){bu.appendChild(bG);if(typeof bG.getElementsByTagName!=="undefined"){bC=C.grep(C.merge([],bG.getElementsByTagName("script")),bJ);bI.splice.apply(bI,[bE+1,0].concat(bC));bE+=bC.length}}}}return bI},cleanData:function(bv,bD){var by,bw,bx,bC,bz=0,bE=C.expando,bu=C.cache,bA=C.support.deleteExpando,bB=C.event.special;for(;(bx=bv[bz])!=null;bz++){if(bD||C.acceptData(bx)){bw=bx[bE];by=bw&&bu[bw];if(by){if(by.events){for(bC in by.events){if(bB[bC]){C.event.remove(bx,bC)}else{C.removeEvent(bx,bC,by.handle)}}}if(bu[bw]){delete bu[bw];if(bA){delete bx[bE]}else{if(bx.removeAttribute){bx.removeAttribute(bE)}else{bx[bE]=null}}C.deletedIds.push(bw)}}}}}});(function(){var bu,bv;C.uaMatch=function(bx){bx=bx.toLowerCase();var bw=/(chrome)[ \/]([\w.]+)/.exec(bx)||/(webkit)[ \/]([\w.]+)/.exec(bx)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(bx)||/(msie) ([\w.]+)/.exec(bx)||bx.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(bx)||[];return{browser:bw[1]||"",version:bw[2]||"0"}};bu=C.uaMatch(bt.userAgent);bv={};if(bu.browser){bv[bu.browser]=true;bv.version=bu.version}if(bv.chrome){bv.webkit=true}else{if(bv.webkit){bv.safari=true}}C.browser=bv;C.sub=function(){function bx(bz,bA){return new bx.fn.init(bz,bA)}C.extend(true,bx,this);bx.superclass=this;bx.fn=bx.prototype=this();bx.fn.constructor=bx;bx.sub=this.sub;bx.fn.init=function by(bz,bA){if(bA&&bA instanceof C&&!(bA instanceof bx)){bA=bx(bA)}return C.fn.init.call(this,bz,bA,bw)};bx.fn.init.prototype=bx.fn;var bw=bx(ak);return bx}})();var Q,bc,l,ad=/alpha\([^)]*\)/i,aj=/opacity=([^)]*)/,w=/^(top|right|bottom|left)$/,ai=/^(none|table(?!-c[ea]).+)/,av=/^margin/,i=new RegExp("^("+aE+")(.*)$","i"),aV=new RegExp("^("+aE+")(?!px)[a-z%]+$","i"),E=new RegExp("^([-+])=("+aE+")","i"),J={BODY:"block"},ba={position:"absolute",visibility:"hidden",display:"block"},aL={letterSpacing:0,fontWeight:400},D=["Top","Right","Bottom","Left"],O=["Webkit","O","Moz","ms"],be=C.fn.toggle;function a2(bx,bv){if(bv in bx){return bv}var by=bv.charAt(0).toUpperCase()+bv.slice(1),bu=bv,bw=O.length;while(bw--){bv=O[bw]+by;if(bv in bx){return bv}}return bu}function ap(bv,bu){bv=bu||bv;return C.css(bv,"display")==="none"||!C.contains(bv.ownerDocument,bv)}function bb(bz,bu){var by,bA,bv=[],bw=0,bx=bz.length;for(;bw<bx;bw++){by=bz[bw];if(!by.style){continue}bv[bw]=C._data(by,"olddisplay");if(bu){if(!bv[bw]&&by.style.display==="none"){by.style.display=""}if(by.style.display===""&&ap(by)){bv[bw]=C._data(by,"olddisplay",aN(by.nodeName))}}else{bA=Q(by,"display");if(!bv[bw]&&bA!=="none"){C._data(by,"olddisplay",bA)}}}for(bw=0;bw<bx;bw++){by=bz[bw];if(!by.style){continue}if(!bu||by.style.display==="none"||by.style.display===""){by.style.display=bu?bv[bw]||"":"none"}}return bz}C.fn.extend({css:function(bu,bv){return C.access(this,function(bx,bw,by){return by!==G?C.style(bx,bw,by):C.css(bx,bw)},bu,bv,arguments.length>1)},show:function(){return bb(this,true)},hide:function(){return bb(this)},toggle:function(bw,bv){var bu=typeof bw==="boolean";if(C.isFunction(bw)&&C.isFunction(bv)){return be.apply(this,arguments)}return this.each(function(){if(bu?bw:ap(this)){C(this).show()}else{C(this).hide()}})}});C.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var bu=Q(bw,"opacity");return bu===""?"1":bu}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":C.support.cssFloat?"cssFloat":"styleFloat"},style:function(bw,bv,bC,bx){if(!bw||bw.nodeType===3||bw.nodeType===8||!bw.style){return}var bA,bB,bD,by=C.camelCase(bv),bu=bw.style;bv=C.cssProps[by]||(C.cssProps[by]=a2(bu,by));bD=C.cssHooks[bv]||C.cssHooks[by];if(bC!==G){bB=typeof bC;if(bB==="string"&&(bA=E.exec(bC))){bC=(bA[1]+1)*bA[2]+parseFloat(C.css(bw,bv));bB="number"}if(bC==null||bB==="number"&&isNaN(bC)){return}if(bB==="number"&&!C.cssNumber[by]){bC+="px"}if(!bD||!("set" in bD)||(bC=bD.set(bw,bC,bx))!==G){try{bu[bv]=bC}catch(bz){}}}else{if(bD&&"get" in bD&&(bA=bD.get(bw,false,bx))!==G){return bA}return bu[bv]}},css:function(bA,by,bz,bv){var bB,bx,bu,bw=C.camelCase(by);by=C.cssProps[bw]||(C.cssProps[bw]=a2(bA.style,bw));bu=C.cssHooks[by]||C.cssHooks[bw];if(bu&&"get" in bu){bB=bu.get(bA,true,bv)}if(bB===G){bB=Q(bA,by)}if(bB==="normal"&&by in aL){bB=aL[by]}if(bz||bv!==G){bx=parseFloat(bB);return bz||C.isNumeric(bx)?bx||0:bB}return bB},swap:function(by,bx,bz){var bw,bv,bu={};for(bv in bx){bu[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=bu[bv]}return bw}});if(bd.getComputedStyle){Q=function(bB,bv){var bu,by,bx,bA,bz=bd.getComputedStyle(bB,null),bw=bB.style;if(bz){bu=bz.getPropertyValue(bv)||bz[bv];if(bu===""&&!C.contains(bB.ownerDocument,bB)){bu=C.style(bB,bv)}if(aV.test(bu)&&av.test(bv)){by=bw.width;bx=bw.minWidth;bA=bw.maxWidth;bw.minWidth=bw.maxWidth=bw.width=bu;bu=bz.width;bw.width=by;bw.minWidth=bx;bw.maxWidth=bA}}return bu}}else{if(ak.documentElement.currentStyle){Q=function(by,bw){var bz,bu,bv=by.currentStyle&&by.currentStyle[bw],bx=by.style;if(bv==null&&bx&&bx[bw]){bv=bx[bw]}if(aV.test(bv)&&!w.test(bw)){bz=bx.left;bu=by.runtimeStyle&&by.runtimeStyle.left;if(bu){by.runtimeStyle.left=by.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bz;if(bu){by.runtimeStyle.left=bu}}return bv===""?"auto":bv}}}function aO(bu,bw,bx){var bv=i.exec(bw);return bv?Math.max(0,bv[1]-(bx||0))+(bv[2]||"px"):bw}function aZ(bx,bv,bu,bz){var bw=bu===(bz?"border":"content")?4:bv==="width"?1:0,by=0;for(;bw<4;bw+=2){if(bu==="margin"){by+=C.css(bx,bu+D[bw],true)}if(bz){if(bu==="content"){by-=parseFloat(Q(bx,"padding"+D[bw]))||0}if(bu!=="margin"){by-=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}else{by+=parseFloat(Q(bx,"padding"+D[bw]))||0;if(bu!=="padding"){by+=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}}return by}function Y(bx,bv,bu){var by=bv==="width"?bx.offsetWidth:bx.offsetHeight,bw=true,bz=C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box";if(by<=0||by==null){by=Q(bx,bv);if(by<0||by==null){by=bx.style[bv]}if(aV.test(by)){return by}bw=bz&&(C.support.boxSizingReliable||by===bx.style[bv]);by=parseFloat(by)||0}return(by+aZ(bx,bv,bu||(bz?"border":"content"),bw))+"px"}function aN(bw){if(J[bw]){return J[bw]}var bu=C("<"+bw+">").appendTo(ak.body),bv=bu.css("display");bu.remove();if(bv==="none"||bv===""){bc=ak.body.appendChild(bc||C.extend(ak.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!l||!bc.createElement){l=(bc.contentWindow||bc.contentDocument).document;l.write("<!doctype html><html><body>");l.close()}bu=l.body.appendChild(l.createElement(bw));bv=Q(bu,"display");ak.body.removeChild(bc)}J[bw]=bv;return bv}C.each(["height","width"],function(bv,bu){C.cssHooks[bu]={get:function(by,bx,bw){if(bx){if(by.offsetWidth===0&&ai.test(Q(by,"display"))){return C.swap(by,ba,function(){return Y(by,bu,bw)})}else{return Y(by,bu,bw)}}},set:function(bx,by,bw){return aO(bx,by,bw?aZ(bx,bu,bw,C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box"):0)}}});if(!C.support.opacity){C.cssHooks.opacity={get:function(bv,bu){return aj.test((bu&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":bu?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,bu=C.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&C.trim(bw.replace(ad,""))===""&&bx.removeAttribute){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ad.test(bw)?bw.replace(ad,bu):bw+" "+bu}}}C(function(){if(!C.support.reliableMarginRight){C.cssHooks.marginRight={get:function(bv,bu){return C.swap(bv,{display:"inline-block"},function(){if(bu){return Q(bv,"marginRight")}})}}}if(!C.support.pixelPosition&&C.fn.position){C.each(["top","left"],function(bu,bv){C.cssHooks[bv]={get:function(by,bx){if(bx){var bw=Q(by,bv);return aV.test(bw)?C(by).position()[bv]+"px":bw}}}})}});if(C.expr&&C.expr.filters){C.expr.filters.hidden=function(bu){return(bu.offsetWidth===0&&bu.offsetHeight===0)||(!C.support.reliableHiddenOffsets&&((bu.style&&bu.style.display)||Q(bu,"display"))==="none")};C.expr.filters.visible=function(bu){return !C.expr.filters.hidden(bu)}}C.each({margin:"",padding:"",border:"Width"},function(bu,bv){C.cssHooks[bu+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[bu+D[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}};if(!av.test(bu)){C.cssHooks[bu+bv].set=aO}});var g=/%20/g,af=/\[\]$/,br=/\r?\n/g,aU=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,p=/^(?:select|textarea)/i;C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?C.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||aU.test(this.type))}).map(function(bu,bv){var bw=C(this).val();return bw==null?null:C.isArray(bw)?C.map(bw,function(by,bx){return{name:bv.name,value:by.replace(br,"\r\n")}}):{name:bv.name,value:bw.replace(br,"\r\n")}}).get()}});C.param=function(bu,bw){var bx,bv=[],by=function(bz,bA){bA=C.isFunction(bA)?bA():(bA==null?"":bA);bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===G){bw=C.ajaxSettings&&C.ajaxSettings.traditional}if(C.isArray(bu)||(bu.jqx&&!C.isPlainObject(bu))){C.each(bu,function(){by(this.name,this.value)})}else{for(bx in bu){s(bx,bu[bx],bw,by)}}return bv.join("&").replace(g,"+")};function s(bw,by,bv,bx){var bu;if(C.isArray(by)){C.each(by,function(bA,bz){if(bv||af.test(bw)){bx(bw,bz)}else{s(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&C.type(by)==="object"){for(bu in by){s(bw+"["+bu+"]",by[bu],bv,bx)}}else{bx(bw,by)}}}if(C.support.ajax){C.ajaxTransport(function(bu){if(!bu.crossDomain||C.support.cors){var bv;return{send:function(bB,bw){var bz,by,bA=bu.xhr();if(bu.username){bA.open(bu.type,bu.url,bu.async,bu.username,bu.password)}else{bA.open(bu.type,bu.url,bu.async)}if(bu.xhrFields){for(by in bu.xhrFields){bA[by]=bu.xhrFields[by]}}if(bu.mimeType&&bA.overrideMimeType){bA.overrideMimeType(bu.mimeType)}if(!bu.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((bu.hasContent&&bu.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=G;if(bz){bA.onreadystatechange=C.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}try{bI.text=bA.responseText}catch(bJ){}try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&bu.isLocal&&!bu.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!bu.async){bv()}else{if(bA.readyState===4){setTimeout(bv,0)}else{bz=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};C(bd).unload(xhrOnUnloadAbort)}xhrCallbacks[bz]=bv}bA.onreadystatechange=bv}}},abort:function(){if(bv){bv(0,1)}}}}})}var a6,a1,ar=/^(?:toggle|show|hide)$/,aM=new RegExp("^(?:([-+])=|)("+aE+")([a-z%]*)$","i"),a7=/queueHooks$/,k=[bm],H={"*":[function(bu,bB){var bx,bC,bD=this.createTween(bu,bB),by=aM.exec(bB),bz=bD.cur(),bv=+bz||0,bw=1,bA=20;if(by){bx=+by[2];bC=by[3]||(C.cssNumber[bu]?"":"px");if(bC!=="px"&&bv){bv=C.css(bD.elem,bu,true)||bx||1;do{bw=bw||".5";bv=bv/bw;C.style(bD.elem,bu,bv+bC)}while(bw!==(bw=bD.cur()/bz)&&bw!==1&&--bA)}bD.unit=bC;bD.start=bv;bD.end=by[1]?bv+(by[1]+1)*bx:bx}return bD}]};function bl(){setTimeout(function(){a6=G},0);return(a6=C.now())}function Z(bv,bu){C.each(bu,function(bA,by){var bz=(H[bA]||[]).concat(H["*"]),bw=0,bx=bz.length;for(;bw<bx;bw++){if(bz[bw].call(bv,bA,by)){return}}})}function bj(bw,bA,bD){var bE,bz=0,bu=0,bv=k.length,bC=C.Deferred().always(function(){delete by.elem}),by=function(){var bK=a6||bl(),bH=Math.max(0,bx.startTime+bx.duration-bK),bF=bH/bx.duration||0,bJ=1-bF,bG=0,bI=bx.tweens.length;for(;bG<bI;bG++){bx.tweens[bG].run(bJ)}bC.notifyWith(bw,[bx,bJ,bH]);if(bJ<1&&bI){return bH}else{bC.resolveWith(bw,[bx]);return false}},bx=bC.promise({elem:bw,props:C.extend({},bA),opts:C.extend(true,{specialEasing:{}},bD),originalProperties:bA,originalOptions:bD,startTime:a6||bl(),duration:bD.duration,tweens:[],createTween:function(bI,bF,bH){var bG=C.Tween(bw,bx.opts,bI,bF,bx.opts.specialEasing[bI]||bx.opts.easing);bx.tweens.push(bG);return bG},stop:function(bG){var bF=0,bH=bG?bx.tweens.length:0;for(;bF<bH;bF++){bx.tweens[bF].run(1)}if(bG){bC.resolveWith(bw,[bx,bG])}else{bC.rejectWith(bw,[bx,bG])}return this}}),bB=bx.props;aW(bB,bx.opts.specialEasing);for(;bz<bv;bz++){bE=k[bz].call(bx,bw,bB,bx.opts);if(bE){return bE}}Z(bx,bB);if(C.isFunction(bx.opts.start)){bx.opts.start.call(bw,bx)}C.fx.timer(C.extend(by,{anim:bx,queue:bx.opts.queue,elem:bw}));return bx.progress(bx.opts.progress).done(bx.opts.done,bx.opts.complete).fail(bx.opts.fail).always(bx.opts.always)}function aW(bx,bz){var bw,bv,bA,by,bu;for(bw in bx){bv=C.camelCase(bw);bA=bz[bv];by=bx[bw];if(C.isArray(by)){bA=by[1];by=bx[bw]=by[0]}if(bw!==bv){bx[bv]=by;delete bx[bw]}bu=C.cssHooks[bv];if(bu&&"expand" in bu){by=bu.expand(by);delete bx[bv];for(bw in by){if(!(bw in bx)){bx[bw]=by[bw];bz[bw]=bA}}}else{bz[bv]=bA}}}C.Animation=C.extend(bj,{tweener:function(bv,by){if(C.isFunction(bv)){by=bv;bv=["*"]}else{bv=bv.split(" ")}var bx,bu=0,bw=bv.length;for(;bu<bw;bu++){bx=bv[bu];H[bx]=H[bx]||[];H[bx].unshift(by)}},prefilter:function(bv,bu){if(bu){k.unshift(bv)}else{k.push(bv)}}});function bm(by,bE,bu){var bD,bw,bG,bx,bK,bA,bJ,bI,bH,bz=this,bv=by.style,bF={},bC=[],bB=by.nodeType&&ap(by);if(!bu.queue){bI=C._queueHooks(by,"fx");if(bI.unqueued==null){bI.unqueued=0;bH=bI.empty.fire;bI.empty.fire=function(){if(!bI.unqueued){bH()}}}bI.unqueued++;bz.always(function(){bz.always(function(){bI.unqueued--;if(!C.queue(by,"fx").length){bI.empty.fire()}})})}if(by.nodeType===1&&("height" in bE||"width" in bE)){bu.overflow=[bv.overflow,bv.overflowX,bv.overflowY];if(C.css(by,"display")==="inline"&&C.css(by,"float")==="none"){if(!C.support.inlineBlockNeedsLayout||aN(by.nodeName)==="inline"){bv.display="inline-block"}else{bv.zoom=1}}}if(bu.overflow){bv.overflow="hidden";if(!C.support.shrinkWrapBlocks){bz.done(function(){bv.overflow=bu.overflow[0];bv.overflowX=bu.overflow[1];bv.overflowY=bu.overflow[2]})}}for(bD in bE){bG=bE[bD];if(ar.exec(bG)){delete bE[bD];bA=bA||bG==="toggle";if(bG===(bB?"hide":"show")){continue}bC.push(bD)}}bx=bC.length;if(bx){bK=C._data(by,"fxshow")||C._data(by,"fxshow",{});if("hidden" in bK){bB=bK.hidden}if(bA){bK.hidden=!bB}if(bB){C(by).show()}else{bz.done(function(){C(by).hide()})}bz.done(function(){var bL;C.removeData(by,"fxshow",true);for(bL in bF){C.style(by,bL,bF[bL])}});for(bD=0;bD<bx;bD++){bw=bC[bD];bJ=bz.createTween(bw,bB?bK[bw]:0);bF[bw]=bK[bw]||C.style(by,bw);if(!(bw in bK)){bK[bw]=bJ.start;if(bB){bJ.end=bJ.start;bJ.start=bw==="width"||bw==="height"?1:0}}}}}function u(bw,bv,by,bu,bx){return new u.prototype.init(bw,bv,by,bu,bx)}C.Tween=u;u.prototype={constructor:u,init:function(bx,bv,bz,bu,by,bw){this.elem=bx;this.prop=bz;this.easing=by||"swing";this.options=bv;this.start=this.now=this.cur();this.end=bu;this.unit=bw||(C.cssNumber[bz]?"":"px")},cur:function(){var bu=u.propHooks[this.prop];return bu&&bu.get?bu.get(this):u.propHooks._default.get(this)},run:function(bw){var bv,bu=u.propHooks[this.prop];if(this.options.duration){this.pos=bv=C.easing[this.easing](bw,this.options.duration*bw,0,1,this.options.duration)}else{this.pos=bv=bw}this.now=(this.end-this.start)*bv+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(bu&&bu.set){bu.set(this)}else{u.propHooks._default.set(this)}return this}};u.prototype.init.prototype=u.prototype;u.propHooks={_default:{get:function(bv){var bu;if(bv.elem[bv.prop]!=null&&(!bv.elem.style||bv.elem.style[bv.prop]==null)){return bv.elem[bv.prop]}bu=C.css(bv.elem,bv.prop,false,"");return !bu||bu==="auto"?0:bu},set:function(bu){if(C.fx.step[bu.prop]){C.fx.step[bu.prop](bu)}else{if(bu.elem.style&&(bu.elem.style[C.cssProps[bu.prop]]!=null||C.cssHooks[bu.prop])){C.style(bu.elem,bu.prop,bu.now+bu.unit)}else{bu.elem[bu.prop]=bu.now}}}}};u.propHooks.scrollTop=u.propHooks.scrollLeft={set:function(bu){if(bu.elem.nodeType&&bu.elem.parentNode){bu.elem[bu.prop]=bu.now}}};C.each(["toggle","show","hide"],function(bv,bu){var bw=C.fn[bu];C.fn[bu]=function(bx,bz,by){return bx==null||typeof bx==="boolean"||(!bv&&C.isFunction(bx)&&C.isFunction(bz))?bw.apply(this,arguments):this.animate(aY(bu,true),bx,bz,by)}});C.fn.extend({fadeTo:function(bu,bx,bw,bv){return this.filter(ap).css("opacity",0).show().end().animate({opacity:bx},bu,bw,bv)},animate:function(bA,bx,bz,by){var bw=C.isEmptyObject(bA),bu=C.speed(bx,bz,by),bv=function(){var bB=bj(this,C.extend({},bA),bu);if(bw){bB.stop(true)}};return bw||bu.queue===false?this.each(bv):this.queue(bu.queue,bv)},stop:function(bw,bv,bu){var bx=function(by){var bz=by.stop;delete by.stop;bz(bu)};if(typeof bw!=="string"){bu=bv;bv=bw;bw=G}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bB=true,by=bw!=null&&bw+"queueHooks",bA=C.timers,bz=C._data(this);if(by){if(bz[by]&&bz[by].stop){bx(bz[by])}}else{for(by in bz){if(bz[by]&&bz[by].stop&&a7.test(by)){bx(bz[by])}}}for(by=bA.length;by--;){if(bA[by].elem===this&&(bw==null||bA[by].queue===bw)){bA[by].anim.stop(bu);bB=false;bA.splice(by,1)}}if(bB||!bu){C.dequeue(this,bw)}})}});function aY(bw,by){var bx,bu={height:bw},bv=0;by=by?1:0;for(;bv<4;bv+=2-by){bx=D[bv];bu["margin"+bx]=bu["padding"+bx]=bw}if(by){bu.opacity=bu.width=bw}return bu}C.each({slideDown:aY("show"),slideUp:aY("hide"),slideToggle:aY("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(bu,bv){C.fn[bu]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});C.speed=function(bw,bx,bv){var bu=bw&&typeof bw==="object"?C.extend({},bw):{complete:bv||!bv&&bx||C.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!C.isFunction(bx)&&bx};bu.duration=C.fx.off?0:typeof bu.duration==="number"?bu.duration:bu.duration in C.fx.speeds?C.fx.speeds[bu.duration]:C.fx.speeds._default;if(bu.queue==null||bu.queue===true){bu.queue="fx"}bu.old=bu.complete;bu.complete=function(){if(C.isFunction(bu.old)){bu.old.call(this)}if(bu.queue){C.dequeue(this,bu.queue)}};return bu};C.easing={linear:function(bu){return bu},swing:function(bu){return 0.5-Math.cos(bu*Math.PI)/2}};C.timers=[];C.fx=u.prototype.init;C.fx.tick=function(){var bw,bv=C.timers,bu=0;a6=C.now();for(;bu<bv.length;bu++){bw=bv[bu];if(!bw()&&bv[bu]===bw){bv.splice(bu--,1)}}if(!bv.length){C.fx.stop()}a6=G};C.fx.timer=function(bu){if(bu()&&C.timers.push(bu)&&!a1){a1=setInterval(C.fx.tick,C.fx.interval)}};C.fx.interval=13;C.fx.stop=function(){clearInterval(a1);a1=null};C.fx.speeds={slow:600,fast:200,_default:400};C.fx.step={};if(C.expr&&C.expr.filters){C.expr.filters.animated=function(bu){return C.grep(C.timers,function(bv){return bu===bv.elem}).length}}var V=/^(?:body|html)$/i;C.fn.offset=function(bE){if(arguments.length){return bE===G?this:this.each(function(bF){C.offset.setOffset(this,bE,bF)})}var bv,bA,bB,by,bC,bu,bx,bz={top:0,left:0},bw=this[0],bD=bw&&bw.ownerDocument;if(!bD){return}if((bA=bD.body)===bw){return C.offset.bodyOffset(bw)}bv=bD.documentElement;if(!C.contains(bv,bw)){return bz}if(typeof bw.getBoundingClientRect!=="undefined"){bz=bw.getBoundingClientRect()}bB=aC(bD);by=bv.clientTop||bA.clientTop||0;bC=bv.clientLeft||bA.clientLeft||0;bu=bB.pageYOffset||bv.scrollTop;bx=bB.pageXOffset||bv.scrollLeft;return{top:bz.top+bu-by,left:bz.left+bx-bC}};C.offset={bodyOffset:function(bu){var bw=bu.offsetTop,bv=bu.offsetLeft;if(C.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(C.css(bu,"marginTop"))||0;bv+=parseFloat(C.css(bu,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=C.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=C(bx),bv=bz.offset(),bu=C.css(bx,"top"),bE=C.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&C.inArray("auto",[bu,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(bu)||0;by=parseFloat(bE)||0}if(C.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};C.fn.extend({isRendered:function(){var bv=this;var bu=this[0];if(bu.parentNode==null||(bu.offsetWidth===0||bu.offsetHeight===0)){return false}return true},getSizeFromStyle:function(){var by=this;var bx=null;var bu=null;var bw=this[0];var bv;if(bw.style.width){bx=bw.style.width}if(bw.style.height){bu=bw.style.height}if(bd.getComputedStyle){bv=getComputedStyle(bw,null)}else{bv=bw.currentStyle}if(bv){if(bv.width){bx=bv.width}if(bv.height){bu=bv.height}}if(bx==="0px"){bx=0}if(bu==="0px"){bu=0}if(bx===null){bx=0}if(bu===null){bu=0}return{width:bx,height:bu}},initAnimate:function(){},sizeStyleChanged:function(bx){var bw=this;var by;var bu=function(bz){var bA=by;if(bz&&bz[0]&&bz[0].attributeName==="style"&&bz[0].type==="attributes"){if(bA.element.offsetWidth!==bA.offsetWidth||bA.element.offsetHeight!==bA.offsetHeight){bA.offsetWidth=bA.element.offsetWidth;bA.offsetHeight=bA.element.offsetHeight;if(bw.isRendered()){bA.callback()}}}};by={element:bw[0],offsetWidth:bw[0].offsetWidth,offsetHeight:bw[0].offsetHeight,callback:bx};try{if(!bw.elementStyleObserver){bw.elementStyleObserver=new MutationObserver(bu);bw.elementStyleObserver.observe(bw[0],{attributes:true,childList:false,characterData:false})}}catch(bv){}},position:function(){if(!this[0]){return}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),bu=V.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(C.css(bw,"marginTop"))||0;bx.left-=parseFloat(C.css(bw,"marginLeft"))||0;bu.top+=parseFloat(C.css(bv[0],"borderTopWidth"))||0;bu.left+=parseFloat(C.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-bu.top,left:bx.left-bu.left}},offsetParent:function(){return this.map(function(){var bu=this.offsetParent||ak.body;while(bu&&(!V.test(bu.nodeName)&&C.css(bu,"position")==="static")){bu=bu.offsetParent}return bu||ak.body})}});C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var bu=/Y/.test(bv);C.fn[bw]=function(bx){return C.access(this,function(by,bB,bA){var bz=aC(by);if(bA===G){return bz?(bv in bz)?bz[bv]:bz.document.documentElement[bB]:by[bB]}if(bz){bz.scrollTo(!bu?bA:C(bz).scrollLeft(),bu?bA:C(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aC(bu){return C.isWindow(bu)?bu:bu.nodeType===9?bu.defaultView||bu.parentWindow:false}C.each({Height:"height",Width:"width"},function(bu,bv){C.each({padding:"inner"+bu,content:bv,"":"outer"+bu},function(bw,bx){C.fn[bx]=function(bB,bA){var bz=arguments.length&&(bw||typeof bB!=="boolean"),by=bw||(bB===true||bA===true?"margin":"border");return C.access(this,function(bD,bC,bE){var bF;if(C.isWindow(bD)){return bD.document.documentElement["client"+bu]}if(bD.nodeType===9){bF=bD.documentElement;return Math.max(bD.body["scroll"+bu],bF["scroll"+bu],bD.body["offset"+bu],bF["offset"+bu],bF["client"+bu])}return bE===G?C.css(bD,bC,bE,by):C.style(bD,bC,bE,by)},bv,bz?bB:G,bz,null)}})});bd.JQXLite=bd.jqxHelper=C;if(typeof define==="function"&&define.amd&&define.amd.JQXLite){define("jqx",[],function(){return C})}})(window)}(function(a){if(a.jQuery){a.minQuery=a.JQXLite=a.jQuery;return}if(!a.$){a.$=a.minQuery=a.JQXLite}else{a.minQuery=a.JQXLite=a.$}})(window);JQXLite.generateID=function(){var a=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};var b="";do{b="jqx"+a()+a()+a()}while($("#"+b).length>0);return b};var jqxBaseFramework=window.jqxBaseFramework=window.minQuery||window.jQuery;(function(b){b.jqx=b.jqx||{};window.jqx=b.jqx;var a={createInstance:function(c,e,g){if(e=="jqxDataAdapter"){var f=g[0];var d=g[1]||{};return new b.jqx.dataAdapter(f,d)}b(c)[e](g||{});return b(c)[e]("getInstance")}};window.jqwidgets=a;b.jqx.define=function(c,d,e){c[d]=function(){if(this.baseType){this.base=new c[this.baseType]();this.base.defineInstance()}this.defineInstance();this.metaInfo()};c[d].prototype.defineInstance=function(){};c[d].prototype.metaInfo=function(){};c[d].prototype.base=null;c[d].prototype.baseType=undefined;if(e&&c[e]){c[d].prototype.baseType=e}};b.jqx.invoke=function(f,e){if(e.length==0){return}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):b({}).toArray();while(f[g]==undefined&&f.base!=null){if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}f=f.base}if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}return};b.jqx.getByPriority=function(c){var e=undefined;for(var d=0;d<c.length&&e==undefined;d++){if(e==undefined&&c[d]!=undefined){e=c[d]}}return e};b.jqx.hasProperty=function(d,c){if(typeof(c)=="object"){for(var f in c){var e=d;while(e){if(e.hasOwnProperty(f)){return true}if(e.hasOwnProperty(f.toLowerCase())){return true}e=e.base}return false}}else{while(d){if(d.hasOwnProperty(c)){return true}if(d.hasOwnProperty(c.toLowerCase())){return true}d=d.base}}return false};b.jqx.hasFunction=function(f,e){if(e.length==0){return false}if(f==undefined){return false}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):{};while(f[g]==undefined&&f.base!=null){if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}f=f.base}if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}return false};b.jqx.isPropertySetter=function(d,c){if(c.length==1&&typeof(c[0])=="object"){return true}if(c.length==2&&typeof(c[0])=="string"&&!b.jqx.hasFunction(d,c)){return true}return false};b.jqx.validatePropertySetter=function(g,e,c){if(!b.jqx.propertySetterValidation){return true}if(e.length==1&&typeof(e[0])=="object"){for(var f in e[0]){var h=g;while(!h.hasOwnProperty(f)&&h.base){h=h.base}if(!h||!h.hasOwnProperty(f)){if(!c){var d=h.hasOwnProperty(f.toString().toLowerCase());if(!d){throw"Invalid property: "+f}else{return true}}return false}}return true}if(e.length!=2){if(!c){throw"Invalid property: "+e.length>=0?e[0]:""}return false}while(!g.hasOwnProperty(e[0])&&g.base){g=g.base}if(!g||!g.hasOwnProperty(e[0])){if(!c){throw"Invalid property: "+e[0]}return false}return true};if(!Object.keys){Object.keys=(function(){var e=Object.prototype.hasOwnProperty,f=!({toString:null}).propertyIsEnumerable("toString"),d=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=d.length;return function(j){if(typeof j!=="object"&&(typeof j!=="function"||j===null)){throw new TypeError("Object.keys called on non-object")}var g=[],k,h;for(k in j){if(e.call(j,k)){g.push(k)}}if(f){for(h=0;h<c;h++){if(e.call(j,d[h])){g.push(d[h])}}}return g}}())}b.jqx.set=function(f,i){var d=0;if(i.length==1&&typeof(i[0])=="object"){if(f.isInitialized&&Object.keys&&Object.keys(i[0]).length>1){var g=!f.base?f.element:f.base.element;var c=b.data(g,f.widgetName).initArgs;if(c&&JSON&&JSON.stringify&&i[0]&&c[0]){try{if(JSON.stringify(i[0])==JSON.stringify(c[0])){var h=true;b.each(i[0],function(l,m){if(f[l]!=m){h=false;return false}});if(h){return}}}catch(e){}}f.batchUpdate=i[0];var j={};var k={};b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){if(f[l]!=m){j[l]=f[l];k[l]=m;d++}}else{if(n.hasOwnProperty(l.toLowerCase())){if(f[l.toLowerCase()]!=m){j[l.toLowerCase()]=f[l.toLowerCase()];k[l.toLowerCase()]=m;d++}}}});if(d<2){f.batchUpdate=null}}b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){b.jqx.setvalueraiseevent(n,l,m)}else{if(n.hasOwnProperty(l.toLowerCase())){b.jqx.setvalueraiseevent(n,l.toLowerCase(),m)}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+l+"'"}}}});if(f.batchUpdate!=null){f.batchUpdate=null;if(f.propertiesChangedHandler&&d>1){f.propertiesChangedHandler(f,j,k)}}}else{if(i.length==2){while(!f.hasOwnProperty(i[0])&&f.base){f=f.base}if(f.hasOwnProperty(i[0])){b.jqx.setvalueraiseevent(f,i[0],i[1])}else{if(f.hasOwnProperty(i[0].toLowerCase())){b.jqx.setvalueraiseevent(f,i[0].toLowerCase(),i[1])}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+i[0]+"'"}}}}}};b.jqx.setvalueraiseevent=function(d,e,f){var c=d[e];d[e]=f;if(!d.isInitialized){return}if(d.propertyChangedHandler!=undefined){d.propertyChangedHandler(d,e,c,f)}if(d.propertyChangeMap!=undefined&&d.propertyChangeMap[e]!=undefined){d.propertyChangeMap[e](d,e,c,f)}};b.jqx.get=function(f,e){if(e==undefined||e==null){return undefined}if(f.propertyMap){var d=f.propertyMap(e);if(d!=null){return d}}if(f.hasOwnProperty(e)){return f[e]}if(f.hasOwnProperty(e.toLowerCase())){return f[e.toLowerCase()]}var c=undefined;if(typeof(e)==Array){if(e.length!=1){return undefined}c=e[0]}else{if(typeof(e)=="string"){c=e}}while(!f.hasOwnProperty(c)&&f.base){f=f.base}if(f){return f[c]}return undefined};b.jqx.serialize=function(f){var c="";if(b.isArray(f)){c="[";for(var e=0;e<f.length;e++){if(e>0){c+=", "}c+=b.jqx.serialize(f[e])}c+="]"}else{if(typeof(f)=="object"){c="{";var d=0;for(var e in f){if(d++>0){c+=", "}c+=e+": "+b.jqx.serialize(f[e])}c+="}"}else{c=f.toString()}}return c};b.jqx.propertySetterValidation=true;b.jqx.jqxWidgetProxy=function(h,d,c){var e=b(d);var g=b.data(d,h);if(g==undefined){return undefined}var f=g.instance;if(b.jqx.hasFunction(f,c)){return b.jqx.invoke(f,c)}if(b.jqx.isPropertySetter(f,c)){if(b.jqx.validatePropertySetter(f,c)){b.jqx.set(f,c);return undefined}}else{if(typeof(c)=="object"&&c.length==0){return}else{if(typeof(c)=="object"&&c.length==1&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c[0])}else{if(typeof(c)=="string"&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c)}}}}throw"jqxCore: Invalid parameter '"+b.jqx.serialize(c)+"' does not exist."};b.jqx.applyWidget=function(d,f,l,m){var h=false;try{h=window.MSApp!=undefined}catch(g){}var n=b(d);if(!m){m=new b.jqx["_"+f]()}else{m.host=n;m.element=d}if(d.id==""){d.id=b.jqx.utilities.createId()}var k={host:n,element:d,instance:m,initArgs:l};m.widgetName=f;b.data(d,f,k);b.data(d,"jqxWidget",k.instance);var j=new Array();var m=k.instance;while(m){m.isInitialized=false;j.push(m);m=m.base}j.reverse();j[0].theme=b.jqx.theme||"";b.jqx.jqxWidgetProxy(f,d,l);for(var c in j){m=j[c];if(c==0){m.host=n;m.element=d;m.WinJS=h}if(m!=undefined){if(m.definedInstance){m.definedInstance()}if(m.createInstance!=null){if(h){MSApp.execUnsafeLocalFunction(function(){m.createInstance(l)})}else{m.createInstance(l)}}}}for(var c in j){if(j[c]!=undefined){j[c].isInitialized=true}}if(h){MSApp.execUnsafeLocalFunction(function(){k.instance.refresh(true)})}else{k.instance.refresh(true)}};b.jqx.jqxWidget=function(c,d,g){var j=false;try{var l=Array.prototype.slice.call(g,0)}catch(i){var l=""}try{j=window.MSApp!=undefined}catch(i){}var h=c;var m="";if(d){m="_"+d}b.jqx.define(b.jqx,"_"+h,m);var k=new Array();if(!window[h]){var f=function(n){if(n==null){return""}var e=b.type(n);switch(e){case"string":case"number":case"date":case"boolean":case"bool":if(n===null){return""}return n.toString()}var o="";b.each(n,function(q,r){var t=r;if(q>0){o+=", "}o+="[";var p=0;if(b.type(t)=="object"){for(var s in t){if(p>0){o+=", "}o+="{"+s+":"+t[s]+"}";p++}}else{if(p>0){o+=", "}o+="{"+q+":"+t+"}";p++}o+="]"});return o};a[h]=window[h]=function(e,s){var n=[];if(!s){s={}}n.push(s);var o=e;if(b.type(o)==="object"&&e[0]){o=e[0].id;if(o===""){o=e[0].id=b.jqx.utilities.createId()}}else{if(b.type(e)==="object"&&e&&e.nodeName){o=e.id;if(o===""){o=e.id=b.jqx.utilities.createId()}}}if(window.jqxWidgets&&window.jqxWidgets[o]){if(s){b.each(window.jqxWidgets[o],function(t){var u=b(this.element).data();if(u&&u.jqxWidget){b(this.element)[h](s)}})}if(window.jqxWidgets[o].length==1){var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o][0]}}var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o]}}var p=b(e);if(p.length===0){p=b("<div></div>");if(h==="jqxInput"||h==="jqxPasswordInput"||h==="jqxMaskedInput"){p=b("<input/>")}if(h==="jqxTextArea"){p=b("<textarea></textarea>")}if(h==="jqxButton"||h==="jqxRepeatButton"||h==="jqxToggleButton"){p=b("<button/>")}if(h==="jqxSplitter"){p=b("<div><div>Panel 1</div><div>Panel 2</div></div>")}if(h==="jqxTabs"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div>Content 1</div><div>Content 2</div></div>")}if(h==="jqxRibbon"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div><div>Content 1</div><div>Content 2</div></div></div>")}if(h==="jqxDocking"){p=b("<div><div><div><div>Title 1</div><div>Content 1</div></div></div></div>")}if(h==="jqxWindow"){p=b("<div><div>Title 1</div><div>Content 1</div></div>")}}var r=[];b.each(p,function(w){var y=p[w];b.jqx.applyWidget(y,h,n,undefined);if(!k[h]){var u=b.data(y,"jqxWidget");var x=b.jqx["_"+h].prototype.defineInstance();var v={};if(b.jqx["_"+h].prototype.metaInfo){v=b.jqx["_"+h].prototype.metaInfo()}if(h=="jqxDockingLayout"){x=b.extend(x,b.jqx._jqxLayout.prototype.defineInstance())}if(h=="jqxToggleButton"||h=="jqxRepeatButton"){x=b.extend(x,b.jqx._jqxButton.prototype.defineInstance())}if(h=="jqxTreeGrid"){x=b.extend(x,b.jqx._jqxDataTable.prototype.defineInstance())}var t=function(A){var z=b.data(A,"jqxWidget");this.widgetInstance=z;var B=b.extend(this,z);B.on=B.addEventListener=function(D,E){B.addHandler(!B.base?B.host:B.base.host,D,E)};B.off=B.removeEventListener=function(D){B.removeHandler(!B.base?B.host:B.base.host,D)};for(var C in z){if(b.type(z[C])=="function"){B[C]=b.proxy(z[C],z)}}return B};k[h]=t;b.each(x,function(A,z){Object.defineProperty(t.prototype,A,{get:function(){if(this.widgetInstance){return this.widgetInstance[A]}return z},set:function(H){if(this.widgetInstance&&(this.widgetInstance[A]!=H||A==="width"||A==="height")){var F=this.widgetInstance[A];var E=H;var D=b.type(F);var B=b.type(E);var G=false;if(D!=B||A==="source"||A==="width"||A==="height"){G=true}if(G||(f(F)!=f(E))){var C={};C[A]=H;if(this.widgetInstance.host){this.widgetInstance.host[h](C)}else{this.widgetInstance.base.host[h](C)}this.widgetInstance[A]=H;if(this.widgetInstance.propertyUpdated){this.widgetInstance.propertyUpdated(A,F,H)}}}}})})}var u=new k[h](y);r.push(u);if(!window.jqxWidgets){window.jqxWidgets=new Array()}if(!window.jqxWidgets[o]){window.jqxWidgets[o]=new Array()}window.jqxWidgets[o].push(u)});if(r.length===1){return r[0]}return r}}b.fn[h]=function(){var e=Array.prototype.slice.call(arguments,0);if(e.length==0||(e.length==1&&typeof(e[0])=="object")){if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}return this.each(function(){var q=b(this);var p=this;var r=b.data(p,h);if(r==null){b.jqx.applyWidget(p,h,e,undefined)}else{b.jqx.jqxWidgetProxy(h,this,e)}})}else{if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}var o=null;var n=0;this.each(function(){var p=b.jqx.jqxWidgetProxy(h,this,e);if(n==0){o=p;n++}else{if(n==1){var q=[];q.push(o);o=q}o.push(p)}})}return o};try{b.extend(b.jqx["_"+h].prototype,Array.prototype.slice.call(g,0)[0])}catch(i){}b.extend(b.jqx["_"+h].prototype,{toThemeProperty:function(e,n){return b.jqx.toThemeProperty(this,e,n)},isMaterialized:function(){if(!this.theme){return false}if(this.theme.indexOf("material")>=0){return true}},isModern:function(){if(!this.theme){return false}if(this.theme.indexOf("light")>=0){return true}if(this.theme==="dark"){return true}},_addBarAndLabel:function(p){var o=this;var e=b("<label></label");e[0].innerHTML=this.placeHolder;e.addClass(o.toThemeProperty("jqx-input-label"));p.after(e);o.label=e;var n=b("<span></span>");p.after(n);n.addClass(o.toThemeProperty("jqx-input-bar"));o.bar=n;o.bar.css("top",this.host.height())}});b.jqx["_"+h].prototype.refresh=function(){if(this.base){this.base.refresh(true)}};b.jqx["_"+h].prototype.createInstance=function(){};b.jqx["_"+h].prototype.addEventHandler=function(n,e){if(this.base){this.base.host.on(n,e)}else{this.host.on(n,e)}};b.jqx["_"+h].prototype.removeEventHandler=function(n,e){if(this.base){this.base.host.off(n)}else{this.host.off(n)}};b.jqx["_"+h].prototype.applyTo=function(o,n){if(!(n instanceof Array)){var e=[];e.push(n);n=e}b.jqx.applyWidget(o,h,n,this)};b.jqx["_"+h].prototype.getInstance=function(){return this};b.jqx["_"+h].prototype.propertyChangeMap={};b.jqx["_"+h].prototype.addHandler=function(p,e,n,o){b.jqx.addHandler(b(p),e,n,o)};b.jqx["_"+h].prototype.removeHandler=function(o,e,n){b.jqx.removeHandler(b(o),e,n)};b.jqx["_"+h].prototype.setOptions=function(){if(!this.host||!this.host.length||this.host.length!=1){return}return b.jqx.jqxWidgetProxy(h,this.host[0],arguments)}};b.jqx.toThemeProperty=function(d,e,j){if(d.theme==""){return e}var h=e.split(" ");var c="";for(var g=0;g<h.length;g++){if(g>0){c+=" "}var f=h[g];if(j!=null&&j){c+=f+"-"+d.theme}else{c+=f+" "+f+"-"+d.theme}}return c};b.jqx.addHandler=function(h,j,f,g){var d=j.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.addEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){h[0].addEventListener("DOMMouseScroll",f,false)}else{h[0].addEventListener("mousewheel",f,false)}continue;case"mousemove":if(!g){h[0].addEventListener("mousemove",f,false);continue}break;case"touchmove":if(!g){h[0].addEventListener("touchmove",f,false);continue}else{if(g&&g.passive){h[0].addEventListener("touchmove",f,g);continue}}break}}if(g==undefined||g==null){if(h.on){h.on(e,f)}else{h.bind(e,f)}}else{if(h.on){h.on(e,g,f)}else{h.bind(e,g,f)}}}};b.jqx.removeHandler=function(g,h,f){if(!h){if(g.off){g.off()}else{g.unbind()}return}var d=h.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.removeEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){g[0].removeEventListener("DOMMouseScroll",f,false)}else{g[0].removeEventListener("mousewheel",f,false)}continue;case"mousemove":if(f){g[0].removeEventListener("mousemove",f,false);continue}break;case"touchmove":if(f){g[0].removeEventListener("touchmove",f,false);continue}break}}if(e==undefined){if(g.off){g.off()}else{g.unbind()}continue}if(f==undefined){if(g.off){g.off(e)}else{g.unbind(e)}}else{if(g.off){g.off(e,f)}else{g.unbind(e,f)}}}};b.jqx.credits=b.jqx.credits||"";b.jqx.theme=b.jqx.theme||"";b.jqx.scrollAnimation=b.jqx.scrollAnimation||false;b.jqx.resizeDelay=b.jqx.resizeDelay||10;b.jqx.ready=function(){b(window).trigger("jqxReady")};b.jqx.init=function(){b.each(arguments[0],function(c,d){if(c=="theme"){b.jqx.theme=d}if(c=="scrollBarSize"){b.jqx.utilities.scrollBarSize=d}if(c=="touchScrollBarSize"){b.jqx.utilities.touchScrollBarSize=d}if(c=="scrollBarButtonsVisibility"){b.jqx.utilities.scrollBarButtonsVisibility=d}})};b.jqx.utilities=b.jqx.utilities||{};b.extend(b.jqx.utilities,{scrollBarSize:13,touchScrollBarSize:8,scrollBarButtonsVisibility:"visible",createId:function(){var c=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return"jqxWidget"+c()+c()+c()},setTheme:function(g,h,f){if(typeof f==="undefined"){return}if(!f[0].className.split){return}if(g===undefined){g=""}if(h===undefined){h=""}var j=f[0].className.split(" "),c=[],k=[],e=f.children();for(var d=0;d<j.length;d+=1){if(j[d].indexOf(g)>=0){if(g.length>0){c.push(j[d]);k.push(j[d].replace(g,h))}else{k.push(j[d].replace("-"+h,"")+"-"+h)}}}this._removeOldClasses(c,f);this._addNewClasses(k,f);for(var d=0;d<e.length;d+=1){this.setTheme(g,h,b(e[d]))}},_removeOldClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.removeClass(e[c])}},_addNewClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.addClass(e[c])}},getOffset:function(c){var e=b.jqx.mobile.getLeftPos(c[0]);var d=b.jqx.mobile.getTopPos(c[0]);return{top:d,left:e}},resize:function(h,t,q,p){if(p===undefined){p=true}var m=-1;var l=this;var e=function(v){if(!l.hiddenWidgets){return -1}var w=-1;for(var u=0;u<l.hiddenWidgets.length;u++){if(v.id){if(l.hiddenWidgets[u].id==v.id){w=u;break}}else{if(l.hiddenWidgets[u].id==v[0].id){w=u;break}}}return w};if(this.resizeHandlers){for(var j=0;j<this.resizeHandlers.length;j++){if(h.id){if(this.resizeHandlers[j].id==h.id){m=j;break}}else{if(this.resizeHandlers[j].id==h[0].id){m=j;break}}}if(q===true){if(m!=-1){this.resizeHandlers.splice(m,1);if(this.watchedElementData&&this.watchedElementData.length>0){this.watchedElementData.splice(m,1)}}if(this.resizeHandlers.length==0){var o=b(window);if(o.off){o.off("resize.jqx");o.off("orientationchange.jqx");o.off("orientationchanged.jqx")}else{o.unbind("resize.jqx");o.unbind("orientationchange.jqx");o.unbind("orientationchanged.jqx")}this.resizeHandlers=null}var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}else{if(q===true){var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}var l=this;var n=function(w,F){if(!l.resizeHandlers){return}var G=function(J){var i=-1;var K=J.parentNode;while(K){i++;K=K.parentNode}return i};var v=function(L,J){if(!L.widget||!J.widget){return 0}var K=G(L.widget[0]);var i=G(J.widget[0]);try{if(K<i){return -1}if(K>i){return 1}}catch(M){var N=M}return 0};var x=function(J){if(l.hiddenWidgets.length>0){l.hiddenWidgets.sort(v);var i=function(){var L=false;var N=new Array();for(var M=0;M<l.hiddenWidgets.length;M++){var K=l.hiddenWidgets[M];if(b.jqx.isHidden(K.widget)){L=true;N.push(K)}else{if(K.callback){K.callback(F)}}}l.hiddenWidgets=N;if(!L){clearInterval(l.__resizeInterval)}};if(J==false){i();if(l.__resizeInterval){clearInterval(l.__resizeInterval)}return}if(l.__resizeInterval){clearInterval(l.__resizeInterval)}l.__resizeInterval=setInterval(function(){i()},100)}};if(l.hiddenWidgets&&l.hiddenWidgets.length>0){x(false)}l.hiddenWidgets=new Array();l.resizeHandlers.sort(v);for(var C=0;C<l.resizeHandlers.length;C++){var I=l.resizeHandlers[C];var E=I.widget;var B=I.data;if(!B){continue}if(!B.jqxWidget){continue}var u=B.jqxWidget.width;var H=B.jqxWidget.height;if(B.jqxWidget.base){if(u==undefined){u=B.jqxWidget.base.width}if(H==undefined){H=B.jqxWidget.base.height}}if(u===undefined&&H===undefined){u=B.jqxWidget.element.style.width;H=B.jqxWidget.element.style.height}var D=false;if(u!=null&&u.toString().indexOf("%")!=-1){D=true}if(H!=null&&H.toString().indexOf("%")!=-1){D=true}if(b.jqx.isHidden(E)){if(e(E)===-1){if(D||w===true){if(I.data.nestedWidget!==true){l.hiddenWidgets.push(I)}}}}else{if(w===undefined||w!==true){if(D){I.callback(F);if(l.watchedElementData){for(var z=0;z<l.watchedElementData.length;z++){if(l.watchedElementData[z].element==B.jqxWidget.element){l.watchedElementData[z].offsetWidth=B.jqxWidget.element.offsetWidth;l.watchedElementData[z].offsetHeight=B.jqxWidget.element.offsetHeight;break}}}if(l.hiddenWidgets.indexOf(I)>=0){l.hiddenWidgets.splice(l.hiddenWidgets.indexOf(I),1)}}if(B.jqxWidget.element){var y=B.jqxWidget.element.className;if(y.indexOf("dropdownlist")>=0||y.indexOf("datetimeinput")>=0||y.indexOf("combobox")>=0||y.indexOf("menu")>=0){if(B.jqxWidget.isOpened){var A=B.jqxWidget.isOpened();if(A){if(F&&F=="resize"&&b.jqx.mobile.isTouchDevice()){continue}B.jqxWidget.close()}}}}}}}x()};if(!this.resizeHandlers){this.resizeHandlers=new Array();var o=b(window);if(o.on){this._resizeTimer=null;this._initResize=null;o.on("resize.jqx",function(i){if(l._resizeTimer!=undefined){clearTimeout(l._resizeTimer)}if(!l._initResize){l._initResize=true;n(null,"resize")}else{l._resizeTimer=setTimeout(function(){n(null,"resize")},b.jqx.resizeDelay)}});o.on("orientationchange.jqx",function(i){n(null,"orientationchange")});o.on("orientationchanged.jqx",function(i){n(null,"orientationchange")})}else{o.bind("resize.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchange.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchanged.jqx",function(i){n(null,"orientationchange")})}}var f=h.data();if(p){if(m===-1){this.resizeHandlers.push({id:h[0].id,widget:h,callback:t,data:f})}}try{var d=f.jqxWidget.width;var s=f.jqxWidget.height;if(f.jqxWidget.base){if(d==undefined){d=f.jqxWidget.base.width}if(s==undefined){s=f.jqxWidget.base.height}}if(d===undefined&&s===undefined){d=f.jqxWidget.element.style.width;s=f.jqxWidget.element.style.height}var k=false;if(d!=null&&d.toString().indexOf("%")!=-1){k=true}if(s!=null&&s.toString().indexOf("%")!=-1){k=true}if(k){if(!this.watchedElementData){this.watchedElementData=[]}var l=this;var g=function(i){if(l.watchedElementData.forEach){l.watchedElementData.forEach(function(u){if(u.element.offsetWidth!==u.offsetWidth||u.element.offsetHeight!==u.offsetHeight){u.offsetWidth=u.element.offsetWidth;u.offsetHeight=u.element.offsetHeight;if(u.timer){clearTimeout(u.timer)}u.timer=setTimeout(function(){if(!b.jqx.isHidden(b(u.element))){u.callback()}else{u.timer=setInterval(function(){if(!b.jqx.isHidden(b(u.element))){clearInterval(u.timer);u.callback()}},100)}})}})}};l.watchedElementData.push({element:h[0],offsetWidth:h[0].offsetWidth,offsetHeight:h[0].offsetHeight,callback:t});if(!l.observer){l.observer=new MutationObserver(g);l.observer.observe(document.body,{attributes:true,childList:true,characterData:true})}}}catch(r){}if(b.jqx.isHidden(h)&&p===true){n(true)}b.jqx.resize=function(){n(null,"resize")}},parseJSON:function(e){if(!e||typeof e!=="string"){return null}var c=/^[\],:{}\s]*$/,g=/(?:^|:|,)(?:\s*\[)+/g,d=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,f=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g;e=b.trim(e);if(window.JSON&&window.JSON.parse){return window.JSON.parse(e)}if(c.test(e.replace(d,"@").replace(f,"]").replace(g,""))){return(new Function("return "+e))()}throw new Error("Invalid JSON: "+e)},html:function(d,e){if(!b(d).on){return b(d).html(e)}try{return b.access(d,function(s){var f=d[0]||{},m=0,j=d.length;if(s===undefined){return f.nodeType===1?f.innerHTML.replace(rinlinejQuery,""):undefined}var r=/<(?:script|style|link)/i,n="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",h=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,p=/<([\w:]+)/,g=/<(?:script|object|embed|option|style)/i,k=new RegExp("<(?:"+n+")[\\s/>]","i"),q=/^\s+/,t={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};if(typeof s==="string"&&!r.test(s)&&(b.support.htmlSerialize||!k.test(s))&&(b.support.leadingWhitespace||!q.test(s))&&!t[(p.exec(s)||["",""])[1].toLowerCase()]){s=s.replace(h,"<$1></$2>");try{for(;m<j;m++){f=this[m]||{};if(f.nodeType===1){b.cleanData(f.getElementsByTagName("*"));f.innerHTML=s}}f=0}catch(o){}}if(f){d.empty().append(s)}},null,e,arguments.length)}catch(c){return b(d).html(e)}},hasTransform:function(e){var d="";d=e.css("transform");if(d==""||d=="none"){d=e.parents().css("transform");if(d==""||d=="none"){var c=b.jqx.utilities.getBrowser();if(c.browser=="msie"){d=e.css("-ms-transform");if(d==""||d=="none"){d=e.parents().css("-ms-transform")}}else{if(c.browser=="chrome"){d=e.css("-webkit-transform");if(d==""||d=="none"){d=e.parents().css("-webkit-transform")}}else{if(c.browser=="opera"){d=e.css("-o-transform");if(d==""||d=="none"){d=e.parents().css("-o-transform")}}else{if(c.browser=="mozilla"){d=e.css("-moz-transform");if(d==""||d=="none"){d=e.parents().css("-moz-transform")}}}}}}else{return d!=""&&d!="none"}}if(d==""||d=="none"){d=b(document.body).css("transform")}return d!=""&&d!="none"&&d!=null},getBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=/(chrome)[ \/]([\w.]+)/.exec(d)||/(webkit)[ \/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||d.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[];var e={browser:c[1]||"",version:c[2]||"0"};if(d.indexOf("rv:11.0")>=0&&d.indexOf(".net4.0c")>=0){e.browser="msie";e.version="11";c[1]="msie"}if(d.indexOf("edge")>=0){e.browser="msie";e.version="12";c[1]="msie"}e[c[1]]=c[1];return e}});b.jqx.browser=b.jqx.utilities.getBrowser();b.jqx.isHidden=function(d){if(!d||!d[0]){return false}var c=d[0].offsetWidth,e=d[0].offsetHeight;if(c===0||e===0){return true}else{return false}};b.jqx.ariaEnabled=true;b.jqx.aria=function(d,f,e){if(!b.jqx.ariaEnabled){return}if(f==undefined){b.each(d.aria,function(h,i){var k=!d.base?d.host.attr(h):d.base.host.attr(h);if(k!=undefined&&!b.isFunction(k)){var j=k;switch(i.type){case"number":j=new Number(k);if(isNaN(j)){j=k}break;case"boolean":j=k=="true"?true:false;break;case"date":j=new Date(k);if(j=="Invalid Date"||isNaN(j)){j=k}break}d[i.name]=j}else{var k=d[i.name];if(b.isFunction(k)){k=d[i.name]()}if(k==undefined){k=""}try{!d.base?d.host.attr(h,k.toString()):d.base.host.attr(h,k.toString())}catch(g){}}})}else{try{if(d.host){if(!d.base){if(d.host){if(d.element.setAttribute){d.element.setAttribute(f,e.toString())}else{d.host.attr(f,e.toString())}}else{d.attr(f,e.toString())}}else{if(d.base.host){d.base.host.attr(f,e.toString())}else{d.attr(f,e.toString())}}}else{if(d.setAttribute){d.setAttribute(f,e.toString())}}}catch(c){}}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(d){var c=this.length;var e=Number(arguments[1])||0;e=(e<0)?Math.ceil(e):Math.floor(e);if(e<0){e+=c}for(;e<c;e++){if(e in this&&this[e]===d){return e}}return -1}}b.jqx.mobile=b.jqx.mobile||{};b.jqx.position=function(c){var f=parseInt(c.pageX);var e=parseInt(c.pageY);if(b.jqx.mobile.isTouchDevice()){var d=b.jqx.mobile.getTouches(c);var g=d[0];f=parseInt(g.pageX);e=parseInt(g.pageY)}return{left:f,top:e}};b.extend(b.jqx.mobile,{_touchListener:function(i,g){var c=function(j,l){var k=document.createEvent("MouseEvents");k.initMouseEvent(j,l.bubbles,l.cancelable,l.view,l.detail,l.screenX,l.screenY,l.clientX,l.clientY,l.ctrlKey,l.altKey,l.shiftKey,l.metaKey,l.button,l.relatedTarget);k._pageX=l.pageX;k._pageY=l.pageY;return k};var h={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var f=c(h[i.type],i);i.target.dispatchEvent(f);var d=i.target["on"+h[i.type]];if(typeof d==="function"){d(i)}},setMobileSimulator:function(d,f){if(this.isTouchDevice()){return}this.simulatetouches=true;if(f==false){this.simulatetouches=false}var e={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var c=this;if(window.addEventListener){var g=function(){for(var h in e){if(d.addEventListener){d.removeEventListener(h,c._touchListener);d.addEventListener(h,c._touchListener,false)}}};if(b.jqx.browser.msie){g()}else{g()}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Android")!=-1){return true}if(d.indexOf("IEMobile")!=-1){return true}if(d.indexOf("Windows Phone")!=-1){return true}if(d.indexOf("WPDesktop")!=-1){return true}if(d.indexOf("ZuneWP7")!=-1){return true}if(d.indexOf("BlackBerry")!=-1&&d.indexOf("Mobile Safari")!=-1){return true}if(d.indexOf("ipod")!=-1){return true}if(d.indexOf("nokia")!=-1||d.indexOf("Nokia")!=-1){return true}if(d.indexOf("Chrome/17")!=-1){return false}if(d.indexOf("CrOS")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")==-1&&d.indexOf("Mini")==-1&&d.indexOf("Platform: Win")!=-1){return false}if(d.indexOf("HybridDeviceTouch")!=-1){return true}if(d.indexOf("HybridDeviceMouse")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")!=-1&&d.indexOf("Opera Mobi")!=-1){return true}if(d.indexOf("Mozilla/5.0 (X11; Linux x86_64)")!=-1){return false}var f={ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"};try{if(this.touchDevice!=undefined){return this.touchDevice}this.touchDevice=false;for(var h in f){if(f.hasOwnProperty(h)){var k=f[h];var g=d.match(new RegExp("(?:"+k+")([^\\s;]+)"));if(g){if(h.toString()=="blackberry"){this.touchDevice=false;return false}this.touchDevice=true;return true}}}var j=navigator.userAgent;if(navigator.platform.toLowerCase().indexOf("win")!=-1){if(j.indexOf("Windows Phone")>=0||j.indexOf("WPDesktop")>=0||j.indexOf("IEMobile")>=0||j.indexOf("ZuneWP7")>=0){this.touchDevice=true;return true}else{if(j.indexOf("Touch")>=0){var c=("MSPointerDown" in window)||("pointerdown" in window);if(c){this.touchDevice=true;return true}if(j.indexOf("ARM")>=0){this.touchDevice=true;return true}this.touchDevice=false;return false}}}if(navigator.platform.toLowerCase().indexOf("win")!=-1){this.touchDevice=false;return false}if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){this.touchDevice=true}return this.touchDevice}catch(l){this.touchDevice=false;return false}},getLeftPos:function(c){var d=c.offsetLeft;while((c=c.offsetParent)!=null){if(c.tagName!="HTML"){d+=c.offsetLeft;if(document.all){d+=c.clientLeft}}}return d},getTopPos:function(d){var f=d.offsetTop;var c=b(d).coord();while((d=d.offsetParent)!=null){if(d.tagName!="HTML"){f+=(d.offsetTop-d.scrollTop);if(document.all){f+=d.clientTop}}}var e=navigator.userAgent.toLowerCase();var g=(e.indexOf("windows phone")!=-1||e.indexOf("WPDesktop")!=-1||e.indexOf("ZuneWP7")!=-1||e.indexOf("msie 9")!=-1||e.indexOf("msie 11")!=-1||e.indexOf("msie 10")!=-1)&&e.indexOf("touch")!=-1;if(g){return c.top}if(this.isSafariMobileBrowser()){if(this.isSafari4MobileBrowser()&&this.isIPadSafariMobileBrowser()){return f}if(e.indexOf("version/7")!=-1){return c.top}if(e.indexOf("version/6")!=-1||e.indexOf("version/5")!=-1){f=f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return f+b(window).scrollTop()}return c.top}return f},isChromeMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("android")!=-1;return c},isOperaMiniMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1||d.indexOf("opera mobi")!=-1;return c},isOperaMiniBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1;return c},isNewSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/5")!=-1);return c},isSafari4MobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/4")!=-1);return c},isWindowsPhone:function(){var d=navigator.userAgent.toLowerCase();var c=(d.indexOf("windows phone")!=-1||d.indexOf("WPDesktop")!=-1||d.indexOf("ZuneWP7")!=-1||d.indexOf("msie 9")!=-1||d.indexOf("msie 11")!=-1||d.indexOf("msie 10")!=-1&&d.indexOf("touch")!=-1);return c},isSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return true}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return true}var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1||d.indexOf("mobile safari")!=-1;return c},isIPadSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1;return c},isMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("android")!=-1;return c},getTouches:function(c){if(c.originalEvent){if(c.originalEvent.touches&&c.originalEvent.touches.length){return c.originalEvent.touches}else{if(c.originalEvent.changedTouches&&c.originalEvent.changedTouches.length){return c.originalEvent.changedTouches}}}if(!c.touches){c.touches=new Array();c.touches[0]=c.originalEvent!=undefined?c.originalEvent:c;if(c.originalEvent!=undefined&&c.pageX){c.touches[0]=c}if(c.type=="mousemove"){c.touches[0]=c}}return c.touches},getTouchEventName:function(c){if(this.isWindowsPhone()){var d=navigator.userAgent.toLowerCase();if(d.indexOf("windows phone 7")!=-1){if(c.toLowerCase().indexOf("start")!=-1){return"MSPointerDown"}if(c.toLowerCase().indexOf("move")!=-1){return"MSPointerMove"}if(c.toLowerCase().indexOf("end")!=-1){return"MSPointerUp"}}if(c.toLowerCase().indexOf("start")!=-1){return"pointerdown"}if(c.toLowerCase().indexOf("move")!=-1){return"pointermove"}if(c.toLowerCase().indexOf("end")!=-1){return"pointerup"}}else{return c}},dispatchMouseEvent:function(c,g,f){if(this.simulatetouches){return}var d=document.createEvent("MouseEvent");d.initMouseEvent(c,true,true,g.view,1,g.screenX,g.screenY,g.clientX,g.clientY,false,false,false,false,0,null);if(f!=null){f.dispatchEvent(d)}},getRootNode:function(c){while(c.nodeType!==1){c=c.parentNode}return c},setTouchScroll:function(c,d){if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[d]=c},touchScroll:function(B,M,Z,H,x,n){if(B==null){return}var G=this;var f=0;var r=0;var g=0;var i=0;var t=0;var j=0;if(!this.scrolling){this.scrolling=[]}this.scrolling[H]=false;var k=false;var p=b(B);var R=["select","input","textarea"];var X=0;var J=0;if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[H]=true;var H=H;var w=this.getTouchEventName("touchstart")+".touchScroll";var D=this.getTouchEventName("touchend")+".touchScroll";var ab=this.getTouchEventName("touchmove")+".touchScroll";var l,W,z,ah,V,Y,aj,Q,aa,d,F,ad,af,O,e,v,u,S,c,E,ag,o;Q=M;var aj=0;var aa=0;var h=0;var T=0;var ai=0;var Y=x.jqxScrollBar("max");var o=325;function A(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientY}else{if(am.originalEvent&&am.originalEvent.clientY!==undefined){return am.originalEvent.clientY}else{var al=G.getTouches(am);return al[0].clientY}}}function ae(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientX}else{if(am.originalEvent&&am.originalEvent.clientX!==undefined){return am.originalEvent.clientX}else{var al=G.getTouches(am);return al[0].clientX}}}var I=function(){var ap,am,aq,ao;ap=Date.now();am=ap-v;v=ap;aq=aa-e;var an=h-ah;e=aa;ah=h;F=true;ao=1000*aq/(1+am);var al=1000*an/(1+am);af=0.8*ao+0.2*af;O=0.8*al+0.2*O};var C=false;var X=function(am){if(!G.enableScrolling[H]){return true}if(b.inArray(am.target.tagName.toLowerCase(),R)!==-1){return}aa=n.jqxScrollBar("value");h=x.jqxScrollBar("value");var an=G.getTouches(am);var ao=an[0];if(an.length==1){G.dispatchMouseEvent("mousedown",ao,G.getRootNode(ao.target))}Y=x.jqxScrollBar("max");Q=n.jqxScrollBar("max");function al(ap){C=false;F=true;d=A(ap);ag=ae(ap);af=S=O=0;e=aa;ah=h;v=Date.now();clearInterval(u);u=setInterval(I,100);T=aa;ai=h;if(aa>0&&aa<Q&&n[0].style.visibility!="hidden"){}}al(am);k=false;r=ao.pageY;t=ao.pageX;if(G.simulatetouches){if(ao._pageY!=undefined){r=ao._pageY;t=ao._pageX}}G.scrolling[H]=true;f=0;i=0;return true};if(p.on){p.on(w,X)}else{p.bind(w,X)}var ac=function(am,al){aa=(am>Q)?Q:(am<aj)?aj:am;Z(null,am,0,0,al);return(am>Q)?"max":(am<aj)?"min":"value"};var m=function(am,al){h=(am>Y)?Y:(am<aj)?aj:am;Z(am,null,0,0,al);return(am>Y)?"max":(am<aj)?"min":"value"};function U(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){ac(c+am);requestAnimationFrame(U)}else{ac(c)}}}function N(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){m(E+am);requestAnimationFrame(N)}else{m(E)}}}var y=function(al){if(!G.enableScrolling[H]){return true}if(!G.scrolling[H]){return true}if(C){al.preventDefault();al.stopPropagation()}var aq=G.getTouches(al);if(aq.length>1){return true}var am=aq[0].pageY;var ao=aq[0].pageX;if(G.simulatetouches){if(aq[0]._pageY!=undefined){am=aq[0]._pageY;ao=aq[0]._pageX}}var au=am-r;var av=ao-t;J=am;var at=ao;g=au-f;j=av-i;k=true;f=au;i=av;var an=x!=null?x[0].style.visibility!="hidden":true;var ar=n!=null?n[0].style.visibility!="hidden":true;function ap(ay){var aA,az,ax;if(F){aA=A(ay);ax=ae(ay);az=d-aA;V=ag-ax;var aw="value";if(az>2||az<-2){d=aA;aw=ac(aa+az,ay);I();if(aw=="min"&&T===0){return true}if(aw=="max"&&T===Q){return true}if(!ar){return true}ay.preventDefault();ay.stopPropagation();C=true;return false}else{if(V>2||V<-2){ag=ax;aw=m(h+V,ay);I();if(aw=="min"&&ai===0){return true}if(aw=="max"&&ai===Y){return true}if(!an){return true}C=true;ay.preventDefault();ay.stopPropagation();return false}}ay.preventDefault()}}if(an||ar){if((an)||(ar)){ap(al)}}};if(p.on){p.on(ab,y)}else{p.bind(ab,y)}var s=function(am){if(!G.enableScrolling[H]){return true}var an=G.getTouches(am)[0];if(!G.scrolling[H]){return true}F=false;clearInterval(u);if(af>10||af<-10){S=0.8*af;c=Math.round(aa+S);v=Date.now();requestAnimationFrame(U)}else{if(O>10||O<-10){S=0.8*O;E=Math.round(h+S);v=Date.now();requestAnimationFrame(N)}else{}}G.scrolling[H]=false;if(k){G.dispatchMouseEvent("mouseup",an,am.target)}else{var an=G.getTouches(am)[0],al=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,al);G.dispatchMouseEvent("click",an,al);return true}};if(this.simulatetouches){var q=b(window).on!=undefined||b(window).bind;var P=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};b(window).on!=undefined?b(document).on("mouseup.touchScroll",P):b(document).bind("mouseup.touchScroll",P);if(window.frameElement){if(window.top!=null){var L=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};if(window.top.document){b(window.top.document).on?b(window.top.document).on("mouseup",L):b(window.top.document).bind("mouseup",L)}}}var ak=b(document).on!=undefined||b(document).bind;var K=function(al){if(!G.scrolling[H]){return true}G.scrolling[H]=false;var an=G.getTouches(al)[0],am=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,am);G.dispatchMouseEvent("click",an,am)};b(document).on!=undefined?b(document).on("touchend",K):b(document).bind("touchend",K)}if(p.on){p.on("dragstart",function(al){al.preventDefault()});p.on("selectstart",function(al){al.preventDefault()})}p.on?p.on(D+" touchcancel.touchScroll",s):p.bind(D+" touchcancel.touchScroll",s)}});b.jqx.cookie=b.jqx.cookie||{};b.extend(b.jqx.cookie,{cookie:function(f,g,d){if(arguments.length>1&&String(g)!=="[object Object]"){d=b.extend({},d);if(g===null||g===undefined){d.expires=-1}if(typeof d.expires==="number"){var i=d.expires,e=d.expires=new Date();e.setDate(e.getDate()+i)}g=String(g);return(document.cookie=[encodeURIComponent(f),"=",d.raw?g:encodeURIComponent(g),d.expires?"; expires="+d.expires.toUTCString():"",d.path?"; path="+d.path:"",d.domain?"; domain="+d.domain:"",d.secure?"; secure":""].join(""))}d=g||{};var c,h=d.raw?function(j){return j}:decodeURIComponent;return(c=new RegExp("(?:^|; )"+encodeURIComponent(f)+"=([^;]*)").exec(document.cookie))?h(c[1]):null}});b.jqx.string=b.jqx.string||{};b.extend(b.jqx.string,{replace:function(g,e,f){if(e===f){return this}var c=g;var d=c.indexOf(e);while(d!=-1){c=c.replace(e,f);d=c.indexOf(e)}return c},contains:function(c,d){if(c==null||d==null){return false}return c.indexOf(d)!=-1},containsIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toString().toUpperCase().indexOf(d.toString().toUpperCase())!=-1},equals:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.slice(0,d.length)==d}return false},equalsIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.toUpperCase().slice(0,d.length)==d.toUpperCase()}return false},startsWith:function(c,d){if(c==null||d==null){return false}return c.slice(0,d.length)==d},startsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toUpperCase().slice(0,d.length)==d.toUpperCase()},normalize:function(c){if(c.charCodeAt(c.length-1)==65279){c=c.substring(0,c.length-1)}return c},endsWith:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.slice(-d.length)==d},endsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.toUpperCase().slice(-d.length)==d.toUpperCase()}});b.extend(b.easing,{easeOutBack:function(f,g,e,j,i,h){if(h==undefined){h=1.70158}return j*((g=g/i-1)*g*((h+1)*g+h)+1)+e},easeInQuad:function(f,g,e,i,h){return i*(g/=h)*g+e},easeInOutCirc:function(f,g,e,i,h){if((g/=h/2)<1){return -i/2*(Math.sqrt(1-g*g)-1)+e}return i/2*(Math.sqrt(1-(g-=2)*g)+1)+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e},easeInCubic:function(f,g,e,i,h){return i*(g/=h)*g*g+e},easeOutCubic:function(f,g,e,i,h){return i*((g=g/h-1)*g*g+1)+e},easeInOutCubic:function(f,g,e,i,h){if((g/=h/2)<1){return i/2*g*g*g+e}return i/2*((g-=2)*g*g+2)+e},easeInSine:function(f,g,e,i,h){return -i*Math.cos(g/h*(Math.PI/2))+i+e},easeOutSine:function(f,g,e,i,h){return i*Math.sin(g/h*(Math.PI/2))+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e}})})(jqxBaseFramework);(function(b){if(b.event&&b.event.special){b.extend(b.event.special,{close:{noBubble:true},open:{noBubble:true},cellclick:{noBubble:true},rowclick:{noBubble:true},tabclick:{noBubble:true},selected:{noBubble:true},expanded:{noBubble:true},collapsed:{noBubble:true},valuechanged:{noBubble:true},expandedItem:{noBubble:true},collapsedItem:{noBubble:true},expandingItem:{noBubble:true},collapsingItem:{noBubble:true}})}if(b.fn.extend){b.fn.extend({ischildof:function(g){if(!b(this).parents){var c=g.element.contains(this.element);return c}var e=b(this).parents().get();for(var d=0;d<e.length;d++){if(typeof g!="string"){var f=e[d];if(g!==undefined){if(f==g[0]){return true}}}else{if(g!==undefined){if(b(e[d]).is(g)){return true}}}}return false}})}b.fn.jqxProxy=function(){var e=b(this).data().jqxWidget;var c=Array.prototype.slice.call(arguments,0);var d=e.element;if(!d){d=e.base.element}return b.jqx.jqxWidgetProxy(e.widgetName,d,c)};var a=b.originalVal=b.fn.val;b.fn.val=function(d){if(typeof d=="undefined"){if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){return c.val()}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){return c.val()}}return a.call(this)}else{if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}return a.call(this,d)}};if(b.fn.modal&&b.fn.modal.Constructor){b.fn.modal.Constructor.prototype.enforceFocus=function(){b(document).off("focusin.bs.modal").on("focusin.bs.modal",b.proxy(function(c){if(this.$element[0]!==c.target&&!this.$element.has(c.target).length){if(b(c.target).parents().hasClass("jqx-popup")){return true}this.$element.trigger("focus")}},this))}}b.fn.coord=function(n){var e,j,i={top:0,left:0},f=this[0],l=f&&f.ownerDocument;if(!l){return}e=l.documentElement;if(!b.contains(e,f)){return i}if(typeof f.getBoundingClientRect!==undefined){i=f.getBoundingClientRect()}var d=function(o){return b.isWindow(o)?o:o.nodeType===9?o.defaultView||o.parentWindow:false};j=d(l);var h=0;var c=0;var g=navigator.userAgent.toLowerCase();var m=g.indexOf("ipad")!=-1||g.indexOf("iphone")!=-1;if(m){h=2}if(true==n){if(document.body.style.position!="static"&&document.body.style.position!=""){var k=b(document.body).coord();h=-k.left;c=-k.top}}return{top:c+i.top+(j.pageYOffset||e.scrollTop)-(e.clientTop||0),left:h+i.left+(j.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};b.jqx.ripplers=[];b.jqx.ripple=function(f,e,o){if(!e){e=f}var h=b(f);var j=false;h.append("<span class='ink'></span>");var p=h.find(".ink");var c=false;for(var g=0;g<b.jqx.ripplers.length;g++){var k=b.jqx.ripplers[g];if(k.element[0]===f[0]){c=true;break}}if(!c){b.jqx.ripplers.push({ink:p,element:f,hostElement:e,hostElementType:o})}if(o==="checkbox"||o==="radiobutton"){var l=Math.max(h.outerWidth(),h.outerHeight());p.css({height:l,width:l});var n=h.width()/2-p.width()/2;var m=h.height()/2-p.height()/2;p.css({top:m+"px",left:n+"px"})}if(b.jqx.ripplers.length===1){b(document).on("mouseup",function(r){b.jqx.ripple.mouseCaptured=false;for(var q=0;q<b.jqx.ripplers.length;q++){var d=b.jqx.ripplers[q];d.ink.removeClass("active");d.element.removeClass("active");if(o!=="checkbox"&&o!=="radiobutton"){if(d.ink.hasClass("animate")){d.ink.removeClass("animate")}}}})}e.off("mousedown.ripple");e.on("mousedown.ripple",function(i){var d=b(f);b.jqx.ripple.mouseCaptured=true;setTimeout(function(){if(d.find(".ink").length==0){d.append("<span class='ink'></span>")}var r=d.find(".ink");r.removeClass("animate");if(!r.height()&&!r.width()){var s=Math.max(d.outerWidth(),d.outerHeight());r.css({height:s,width:s})}if(o==="checkbox"||o==="radiobutton"){if(o==="checkbox"){if(e.jqxCheckBox("disabled")){return}}if(o==="radiobutton"){if(e.jqxRadioButton("disabled")){return}}var q=d.width()/2-r.width()/2;var t=d.height()/2-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate");r.on("animationend",function(){if(b.jqx.ripple.mouseCaptured){r.removeClass("animate");r.addClass("active");f.addClass("active")}});return}var q=i.pageX-d.offset().left-r.width()/2;var t=i.pageY-d.offset().top-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate")})})}})(jqxBaseFramework);
 
 (function(i){i.jqx.observableArray=function(e,J){if(typeof(e)=="string"){e=i.parseJSON(e)}if(!Object.defineProperty||!(function(){try{Object.defineProperty({},"x",{});return true}catch(M){return false}}())){var L=Object.defineProperty;Object.defineProperty=function(O,P,N){if(L){try{return L(O,P,N)}catch(M){}}if(O!==Object(O)){throw TypeError("Object.defineProperty called on non-object")}if(Object.prototype.__defineGetter__&&("get" in N)){Object.prototype.__defineGetter__.call(O,P,N.get)}if(Object.prototype.__defineSetter__&&("set" in N)){Object.prototype.__defineSetter__.call(O,P,N.set)}if("value" in N){O[P]=N.value}else{if(!O[P]){O[P]=N}}return O}}if(!Array.prototype.forEach){Array.prototype.forEach=function(N){if(this===void 0||this===null){throw TypeError()}var Q=Object(this);var M=Q.length>>>0;if(typeof N!=="function"){throw TypeError()}var P=arguments[1],O;for(O=0;O<M;O++){if(O in Q){N.call(P,Q[O],O,Q)}}}}if(typeof Object.getOwnPropertyNames!=="function"){Object.getOwnPropertyNames=function(O){if(O!==Object(O)){throw TypeError("Object.getOwnPropertyNames called on non-object")}var M=[],N;for(N in O){if(Object.prototype.hasOwnProperty.call(O,N)){M.push(N)}}return M}}var I=this,H,K=[];I.notifier=null;I.name="observableArray";I.observing=true;I.changes=new Array();var J=J;I.observe=function(){I.observing=true;if(arguments.length==1){J=arguments[0]}};I.unobserve=function(){I.observing=false};I.toArray=function(){return K.slice(0)};I.toJSON=function(X,O){var U=K;if(O){U=O}var T=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,W={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function M(Z){return'"'+Z.replace(T,function(aa){var ab=W[aa];return typeof ab==="string"?ab:"\\u"+("0000"+aa.charCodeAt(0).toString(16)).slice(-4)})+'"'}function N(Z){return Z<10?"0"+Z:Z}function P(aa){var Z;if(isFinite(aa.valueOf())){Z=aa.getUTCFullYear()+"-"+N(aa.getUTCMonth()+1)+"-"+N(aa.getUTCDate())+"T"+N(aa.getUTCHours())+":"+N(aa.getUTCMinutes())+":"+N(aa.getUTCSeconds())+'Z"'}else{Z="null"}return Z}function Q(ac){var Z=ac.length,aa=[],ab;for(ab=0;ab<Z;ab++){aa.push(R(ab,ac)||"null")}return"["+aa.join(",")+"]"}function Y(ac){var aa=[],ab,Z;for(ab in ac){if(Object.prototype.hasOwnProperty.call(ac,ab)){if(ab!=""&&X&&X.indexOf(ab)===-1){continue}Z=R(ab,ac);if(Z){aa.push(M(ab)+":"+Z)}}}return"{"+aa.join(",")+"}"}function S(Z){switch(Object.prototype.toString.call(Z)){case"[object Date]":return P(Z);case"[object Array]":return Q(Z)}return Y(Z)}function V(aa,Z){switch(Z){case"string":return M(aa);case"number":case"float":case"integer":case"int":return isFinite(aa)?aa:"null";case"boolean":return aa}return"null"}function R(aa,Z){var ac=Z[aa],ab=typeof ac;if(ac&&typeof ac==="object"&&typeof ac.toJSON==="function"){ac=ac.toJSON(aa);ab=typeof ac}if(/(number|float|int|integer|string|boolean)/.test(ab)||(!ac&&ab==="object")){return V(ac,ab)}else{return S(ac)}}if(!X&&window.JSON&&typeof window.JSON.stringify==="function"){return window.JSON.stringify(U)}return R("",{"":U})};I.defineIndexProperty=function(O){if(!(O in I)){var M=function(V,S,U,R){var T=V[S];var Q=T;var P=function(){return Q};var W=function(ab){T=ab;if(Q!==T){var aa=Q;Q=T;if(typeof H==="function"){var Y=K.indexOf(R);var Z="";var X=function(ad,ac){Object.getOwnPropertyNames(ad).forEach(function(ae){var af=i.type(ad[ae]);if(af=="array"||af=="object"){X(ad[ae],ac+"."+ae)}else{if(S===ae){Z=ac+"."+ae}}})};X(R,Y);H({object:I,type:"update",path:Z,index:Y,name:S,newValue:T,oldValue:aa})}}Q=T;return T};if(V[S]!=undefined&&S!="length"){if(Object.defineProperty){Object.defineProperty(V,S,{get:P,set:W})}else{if(Object.prototype.__defineGetter__&&Object.prototype.__defineSetter__){Object.prototype.__defineGetter__.call(V,S,P);Object.prototype.__defineSetter__.call(V,S,W)}}}};var N=function(S,R,P){var Q=i.type(S);if(/(number|float|int|integer|string|boolean)/.test(Q)){return}if(S===undefined){return}Object.getOwnPropertyNames(S).forEach(function(T){var U=i.type(S[T]);if(U=="array"||U=="object"){M(S,T,R+"."+T,P);N(S[T],R+"."+T,P)}else{M(S,T,R+"."+T,P)}})};Object.defineProperty(I,O,{configurable:true,enumerable:true,get:function(){return K[O]},set:function(Q){var P=K[O];if(I.toJSON(null,P)!=I.toJSON(null,Q)){K[O]=Q;if(typeof H==="function"){H({object:I,type:"update",path:O.toString(),index:O,name:"index",newValue:Q,oldValue:P})}N(Q,O,Q)}}});N(I[O],O,I[O])}};I.push=function(){var M;for(var N=0,O=arguments.length;N<O;N++){M=K.length;K.push(arguments[N]);I.defineIndexProperty(M);if(typeof H==="function"){H({object:I,type:"add",name:"length",index:M,newValue:K.length,oldValue:M})}}return K.length};I.pop=function(){if(~K.length){var M=K.length-1,N=K.pop();delete I[M];if(typeof H==="function"){H({object:I,type:"delete",name:"length",index:M,newValue:K.length,oldValue:M})}return N}};I.unshift=function(){var M=K.length;for(var N=0,O=arguments.length;N<O;N++){K.splice(N,0,arguments[N]);I.defineIndexProperty(K.length-1)}if(typeof H==="function"){H({object:I,type:"add",index:0,name:"length",newValue:K.length,oldValue:M})}return K.length};I.shift=function(){var M=K.length;if(~K.length){var N=K.shift();K.length===0&&delete I[M];if(typeof H==="function"){H({object:I,type:"delete",index:M,name:"length",newValue:K.length,oldValue:M})}return N}};I.slice=function(Q,N,P){var M=K.slice(Q,N);var O=new i.jqx.observableArray(M,P);return O};I.splice=function(Q,R,M){var P=[],U,T;Q=!~Q?K.length-Q:Q;R=(R==null?K.length-Q:R)||0;while(R--){U=K.splice(Q,1)[0];P.push(U);delete I[K.length];if(typeof H==="function"){H({object:I,type:"delete",index:Q,name:"length",newValue:-1,oldValue:Q})}}for(var N=2,S=arguments.length;N<S;N++){K.splice(Q,0,arguments[N]);this.defineIndexProperty(K.length-1);if(typeof H==="function"){H({object:I,type:"add",index:Q,name:"length",newValue:K.length-1,oldValue:Q})}Q++}var O=new i.jqx.observableArray(P,M);return O};Object.defineProperty(I,"length",{configurable:false,enumerable:true,get:function(){return K.length},set:function(M){var N=Number(M);if(N%1===0&&N>=0){if(N<K.length){I.splice(N)}else{if(N>K.length){I.push.apply(I,new Array(N-K.length))}}}else{throw new RangeError("Invalid array length")}return M}});i.jqx.observableArray.prototype.fromArray=function(O,N){var M=new i.jqx.observableArray(O,N);return M};i.jqx.observableArray.prototype.clone=function(){var M=new i.jqx.observableArray(K,J);M.observing=I.observing;M.changes=I.changes;M.notifier=I.notifier;return M};I.remove=function(N){if(N<0||N>=I.length){throw new Error("Invalid index : "+N)}if(I.hasOwnProperty(N)){var M=I[N];I[N]=undefined;K[N]=undefined;if(typeof H==="function"){H({object:I,type:"delete",index:N,name:"index",newValue:undefined,oldValue:M})}return true}return false};I.concat=function(N,P){var M=K.concat(N);var O=new i.jqx.observableArray(M,P);return O};Object.getOwnPropertyNames(Array.prototype).forEach(function(M){if(!(M in I)){var N=function(){var Q=I.observing;I.observing=false;var P=K[M];var O=P.apply(K,arguments);I.observing=Q;return O};Object.defineProperty(I,M,{configurable:false,enumerable:true,writeable:false,value:N})}});I.set=function(N,P){if(i.type(N)=="string"&&N.split(".").length>1){var M=N.split(".");var Q=I;for(var O=0;O<M.length;O++){if(O===0){if(M[O]>=I.length){throw new Error("Invalid Index: "+N)}}if(O<M.length-1){Q=Q[M[O]]}else{Q[M[O]]=P}}return true}if(N>=I.length){I.push(P)}else{I[N]=P}return true};I.get=function(M){return I[M]};if(e instanceof Array){I.push.apply(I,e)}H=function(){if(!I.observing){return}if(arguments&&arguments[0]){I.changes.push(arguments[0])}if(J){J.apply(I,arguments)}if(I.notifier){I.notifier.apply(I,arguments)}};return I};i.jqx.formatDate=function(H,J,I){var e=i.jqx.dataFormat.formatdate(H,J,I);return e};i.jqx.formatNumber=function(H,J,I){var e=i.jqx.dataFormat.formatnumber(H,J,I);return e};i.jqx.dataAdapter=function(J,e){if(J!=undefined){if(J.dataFields!==undefined){J.datafields=J.dataFields}if(J.dataType!==undefined){J.datatype=J.dataType}if(J.localData!==undefined){J.localdata=J.localData}if(J.sortColumn!==undefined){J.sortcolumn=J.sortColumn}if(J.sortDirection!==undefined){J.sortdirection=J.sortDirection}if(J.sortColumns!==undefined){J.sortcolumns=J.sortColumns}if(J.sortDirections!==undefined){J.sortdirections=J.sortDirections}if(J.sortOrder!==undefined){J.sortdirection=J.sortOrder}if(J.formatData!==undefined){J.formatdata=J.formatData}if(J.processData!==undefined){J.processdata=J.processData}if(J.pageSize!==undefined){J.pagesize=J.pageSize}if(J.pageNum!==undefined){J.pagenum=J.pageNum}if(J.updateRow!==undefined){J.updaterow=J.updateRow}if(J.addRow!==undefined){J.addrow=J.addRow}if(J.deleteRow!==undefined){J.deleterow=J.deleteRow}if(J.contentType!==undefined){J.contenttype=J.contentType}if(J.totalRecords!=undefined){J.totalrecords=J.totalRecords}if(J.loadError!=undefined){J.loadError=J.loadError}if(J.sortComparer!=undefined){J.sortcomparer=J.sortComparer}}this._source=J;this._options=e||{};if(J.beforeLoadComplete!=undefined){this._options.beforeLoadComplete=this._source.beforeLoadComplete}if(J.downloadComplete!=undefined){this._options.downloadComplete=this._source.downloadComplete}if(J.loadComplete!=undefined){this._options.loadComplete=this._source.loadComplete}if(J.autoBind!=undefined){this._options.downloadComplete=this._source.autoBind}if(J.formatData!=undefined){this._options.formatData=this._source.formatData}if(J.loadError!=undefined){this._options.loadError=this._source.loadError}if(J.beforeSend!=undefined){this._options.beforeSend=this._source.beforeSend}if(J.contentType!=undefined){this._options.contentType=this._source.contentType}if(J.async!=undefined){this._options.async=this._source.async}if(J.loadServerData!=undefined){this._options.loadServerData=this._source.loadServerData}if(J.uniqueDataFields!=undefined){this._options.uniqueDataFields=this._source.uniqueDataFields}this.records=new Array();this._downloadComplete=new Array();this._bindingUpdate=new Array();if(J!=undefined&&J.localdata!=null&&typeof J.localdata=="function"){var I=J.localdata();if(I!=null){J._localdata=J.localdata;var H=this;if(J._localdata.subscribe){H._oldlocaldata=[];J._localdata.subscribe(function(K){var L=function(M){if(i.isArray(M)){return i.makeArray(L(i(M)))}return i.extend(true,{},M)};if(H.suspendKO==false||H.suspendKO==undefined||H._oldlocaldata.length==0){H._oldlocaldata=L(K)}},J._localdata,"beforeChange");J._localdata.subscribe(function(L){if(H.suspendKO==false||H.suspendKO==undefined){var K="";H._oldrecords=H.records;if(H._oldlocaldata.length==0){J.localdata=J._localdata()}if(H._oldlocaldata.length==0){K="change"}else{if(L){if(H._oldlocaldata.length==L.length){K="update"}if(H._oldlocaldata.length>L.length){K="remove"}if(H._oldlocaldata.length<L.length){K="add"}}}H.dataBind(null,K)}},J._localdata,"change");H._knockoutdatasource=true}J.localdata=I}}if(this._options.autoBind==true){this.dataBind()}};i.jqx.dataAdapter.prototype={getrecords:function(){return this.records},beginUpdate:function(){this.isUpdating=true},endUpdate:function(e){this.isUpdating=false;if(e!=false){if(this._changedrecords&&this._changedrecords.length>0){this.callBindingUpdate("update");this._changedrecords=[]}else{this.dataBind(null,"")}}},formatDate:function(H,J,I){var e=i.jqx.dataFormat.formatdate(H,J,I);return e},formatNumber:function(H,J,I){var e=i.jqx.dataFormat.formatnumber(H,J,I);return e},dataBind:function(R,aa){if(this.isUpdating==true){return}var W=this._source;if(!W){return}if(W.generatedfields){W.datafields=null;W.generatedfields=null}i.jqx.dataFormat.datescache=new Array();if(W.dataFields!=null){W.datafields=W.dataFields}if(W.recordstartindex==undefined){W.recordstartindex=0}if(W.recordendindex==undefined){W.recordendindex=0}if(W.loadallrecords==undefined){W.loadallrecords=true}if(W.root==undefined){W.root=""}if(W.record==undefined){W.record=""}if(W.sort!=undefined){this.sort=W.sort}if(W.filter!=undefined){this.filter=W.filter}else{this.filter=null}if(W.sortcolumn!=undefined){this.sortcolumn=W.sortcolumn}if(W.sortdirection!=undefined){this.sortdirection=W.sortdirection}if(W.sortcolumns!=undefined){this.sortcolumns=W.sortcolumns}if(W.sortdirections!=undefined){this.sortdirections=W.sortdirections}if(W.sortcomparer!=undefined){this.sortcomparer=W.sortcomparer}this.records=new Array();var K=this._options||{};this.virtualmode=K.virtualmode!=undefined?K.virtualmode:false;this.totalrecords=K.totalrecords!=undefined?K.totalrecords:0;this.pageable=K.pageable!=undefined?K.pageable:false;this.pagesize=K.pagesize!=undefined?K.pagesize:0;this.pagenum=K.pagenum!=undefined?K.pagenum:0;this.cachedrecords=K.cachedrecords!=undefined?K.cachedrecords:new Array();this.originaldata=new Array();this.recordids=new Array();this.updaterow=K.updaterow!=undefined?K.updaterow:null;this.addrow=K.addrow!=undefined?K.addrow:null;this.deleterow=K.deleterow!=undefined?K.deleterow:null;this.cache=K.cache!=undefined?K.cache:false;this.unboundmode=false;if(W.formatdata!=undefined){K.formatData=W.formatdata}if(W.data!=undefined){if(K.data==undefined){K.data={}}i.extend(K.data,W.data)}if(W.mapChar!=undefined){W.mapchar=W.mapChar}if(W.mapchar!=undefined){this.mapChar=W.mapchar?W.mapchar:">"}else{this.mapChar=K.mapChar?K.mapChar:">"}if(K.unboundmode||W.unboundmode){this.unboundmode=K.unboundmode||W.unboundmode}if(W.cache!=undefined){this.cache=W.cache}if(this.koSubscriptions){for(var ac=0;ac<this.koSubscriptions.length;ac++){this.koSubscriptions[ac].dispose()}}this.koSubscriptions=new Array();if(this.pagenum<0){this.pagenum=0}var ah=this;var Q=W.datatype;if(W.datatype==="csv"||W.datatype==="tab"||W.datatype==="tsv"||W.datatype=="text"){Q="text"}var N=K.async!=undefined?K.async:true;if(W.async!=undefined){N=W.async}switch(Q){case"local":case"array":case"observablearray":case"observableArray":default:if(W.localdata==undefined&&W.length){W.localdata=new Array();for(var Z=0;Z<W.length;Z++){W.localdata[W.localdata.length]=W[Z];W[Z].uid=Z}}if(W.beforeprocessing&&i.isFunction(W.beforeprocessing)){W.beforeprocessing(W.localdata)}var M=W.localdata.length;this.totalrecords=this.virtualmode?(W.totalrecords||M):M;if(this.unboundmode){this.totalrecords=this.unboundmode?(W.totalrecords||M):M;var ad=W.datafields?W.datafields.length:0;if(ad>0){for(var Z=0;Z<this.totalrecords;Z++){var I={};for(var Y=0;Y<ad;Y++){I[W.datafields[Y].name]=""}I.uid=Z;W.localdata[W.localdata.length]=I}}}if(this.totalrecords==undefined){this.totalrecords=0}var ad=W.datafields?W.datafields.length:0;var H=function(ao,aq){var ap={};for(var am=0;am<aq;am++){var al=W.datafields?W.datafields[am]:{};var ar="";if(undefined==al||al==null){continue}if(al.map){if(i.isFunction(al.map)){ar=al.map(ao)}else{var aj=al.map.split(ah.mapChar);if(aj.length>0){var an=ao;for(var ak=0;ak<aj.length;ak++){if(!an){continue}an=an[aj[ak]]}ar=an}else{ar=ao[al.map]}}if(ar!=undefined&&ar!=null){ar=ar.toString()}else{if(ar==undefined&&ar!=null){ar=""}}}var at=false;if(ar==""){at=true;ar=ao[al.name];if(ar!=undefined&&ar!=null){if(W._localdata&&ar.subscribe){ar=ar()}else{if(al.type!="array"){if(al.type==="date"){if(ar&&ar instanceof Date){ar=ar}}else{ar=ar.toString()}}}}}if(ar=="[object Object]"&&al.map&&at){ar=""}ar=ah.getvaluebytype(ar,al);if(al.displayname!=undefined){ap[al.displayname]=ar}else{ap[al.name]=ar}}return ap};if(W._localdata){this._changedrecords=[];this.records=new Array();var ag=W._localdata();i.each(ag,function(am,ap){if(typeof ap==="string"){ah.records.push(ap)}else{var ak={};var ao=0;var an=this;i.each(this,function(ay,aD){var at=null;var aE="string";var aC=ay;if(ad>0){var aG=false;var aB=false;for(var ax=0;ax<ad;ax++){var aw=W.datafields[ax];if(aw!=undefined&&(aw.name==ay)){aG=true;at=aw.map;aE=aw.type;aC=aw.name;break}else{if(aw!=undefined&&aw.map&&(aw.map.indexOf(ay)>=0)){aG=true;at=aw.map;aE=aw.type;aC=aw.name;aB=true;var aF=an[ay];if(at!=null){var ar=at.split(ah.mapChar);if(ar.length>0){var az=an;for(var au=0;au<ar.length;au++){az=az[ar[au]]}aF=az}else{aF=an[at]}}if(aE!="string"){aF=ah.getvaluebytype(aF,{type:aE})}ak[aC]=aF;if(ak[aC]!=undefined){ao+=ak[aC].toString().length+ak[aC].toString().substr(0,1)}}}}if(!aG){return true}if(aB){return true}}var av=i.isFunction(an[ay]);if(av){var aF=an[ay]();if(aE!="string"){aF=ah.getvaluebytype(aF,{type:aE})}ak[ay]=aF;if(an[ay].subscribe){var aA=am;ah.koSubscriptions[ah.koSubscriptions.length]=an[ay].subscribe(function(aI){var aH=aA;ak[ay]=aI;var aJ={index:aH,oldrecord:ak,record:ak};ah._changedrecords.push(aJ);if(ah.isUpdating){return}ah.callBindingUpdate("update");ah._changedrecords=[];return false})}}else{var aF=an[ay];if(at!=null){var ar=at.split(ah.mapChar);if(ar.length>0){var az=an;for(var au=0;au<ar.length;au++){az=az[ar[au]]}aF=az}else{aF=an[at]}}if(aE!="string"){aF=ah.getvaluebytype(aF,{type:aE})}ak[aC]=aF;if(ak[aC]!=undefined){ao+=ak[aC].toString().length+ak[aC].toString().substr(0,1)}}});var al=ah.getid(W.id,an,am);ak.uid=al;ah.records.push(ak);ak._koindex=ao;if(ah._oldrecords){var aj=ah.records.length-1;if(aa=="update"){if(ah._oldrecords[aj]._koindex!=ao){var aq={index:aj,oldrecord:ah._oldrecords[aj],record:ak};ah._changedrecords.push(aq)}}}}});if(aa=="add"){var M=ah.records.length;for(var Z=0;Z<M;Z++){var I=ah.records[Z];var L=false;for(var U=0;U<ah._oldrecords.length;U++){if(ah._oldrecords[U]._koindex===I._koindex){L=true;break}}if(!L){ah._changedrecords.push({index:Z,oldrecord:null,record:I,position:(Z!=0?"last":"first")})}}}else{if(aa=="remove"){var M=ah._oldrecords.length;for(var Z=0;Z<M;Z++){var P=ah._oldrecords[Z];if(!ah.records[Z]){ah._changedrecords.push({index:Z,oldrecord:P,record:null})}else{if(ah.records[Z]._koindex!=P._koindex){ah._changedrecords.push({index:Z,oldrecord:P,record:null})}}}}}}else{if(!i.isArray(W.localdata)){this.records=new Array();var V=0;var T=new Array();i.each(W.localdata,function(al){var ak=ah.getid(W.id,this,al);if(ad==0){if(!(typeof this==="string"||this instanceof String)){for(var an in this){V++;var ao=i.type(this[an]);T.push({name:an,type:ao})}ad=V;W.datafields=T;W.generatedfields=T}}if(ad>0){var aj=this;var am=H(aj,ad);am.uid=ak;ah.records[ah.records.length]=am}else{this.uid=ak;ah.records[ah.records.length]=this}})}else{if(ad==0){var V=0;var T=new Array();i.each(W.localdata,function(al,an){var aj=new Object(this);if(typeof an==="string"){ah.records=W.localdata;return false}else{var ak=ah.getid(W.id,aj,al);if(typeof(ak)==="object"){ak=al}aj.uid=ak;if(al==0){for(var ao in this){V++;var ap=i.type(this[ao]);T.push({name:ao,type:ap})}ad=V;W.datafields=T;W.generatedfields=T}if(ad>0){var am=H(aj,ad);am.uid=ak;ah.records[ah.records.length]=am}else{ah.records[ah.records.length]=aj}}})}else{i.each(W.localdata,function(al){var aj=this;var am=H(aj,ad);var ak=ah.getid(W.id,am,al);if(typeof(ak)==="object"){ak=al}var aj=new Object(am);aj.uid=ak;ah.records[ah.records.length]=aj})}}}this.originaldata=W.localdata;this.cachedrecords=this.records;this.addForeignValues(W);if(K.uniqueDataFields){var S=this.getUniqueRecords(this.records,K.uniqueDataFields);this.records=S;this.cachedrecords=S}if(K.beforeLoadComplete){var ae=K.beforeLoadComplete(ah.records,this.originaldata);if(ae!=undefined){ah.records=ae;ah.cachedrecords=ae}}if(K.autoSort&&K.autoSortField){var O=Object.prototype.toString;Object.prototype.toString=(typeof field=="function")?field:function(){return this[K.autoSortField]};ah.records.sort(function(ak,aj){if(ak===undefined){ak=null}if(aj===undefined){aj=null}if(ak===null&&aj===null){return 0}if(ak===null&&aj!==null){return 1}if(ak!==null&&aj===null){return -1}ak=ak.toString();aj=aj.toString();if(ak===null&&aj===null){return 0}if(ak===null&&aj!==null){return 1}if(ak!==null&&aj===null){return -1}if(i.jqx.dataFormat.isNumber(ak)&&i.jqx.dataFormat.isNumber(aj)){if(ak<aj){return -1}if(ak>aj){return 1}return 0}else{if(i.jqx.dataFormat.isDate(ak)&&i.jqx.dataFormat.isDate(aj)){if(ak<aj){return -1}if(ak>aj){return 1}return 0}else{if(!i.jqx.dataFormat.isNumber(ak)&&!i.jqx.dataFormat.isNumber(aj)){ak=String(ak).toLowerCase();aj=String(aj).toLowerCase()}}}try{if(ak<aj){return -1}if(ak>aj){return 1}}catch(al){var am=al}return 0});Object.prototype.toString=O}ah.loadedData=W.localdata;ah.buildHierarchy();if(i.isFunction(K.loadComplete)){K.loadComplete(W.localdata,ah.records)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"ics":if(W.localdata!=null&&!W.url){if(i.isFunction(W.beforeprocessing)){W.beforeprocessing(W.localdata)}if(W.datatype==="xml"){ah.loadxml(W.localdata,W.localdata,W)}else{if(Q==="text"){ah.loadtext(W.localdata,W)}else{if(Q==="ics"){ah.loadics(W.localdata,W)}else{ah.loadjson(W.localdata,W.localdata,W)}}}ah.addForeignValues(W);if(K.uniqueDataFields){var S=ah.getUniqueRecords(ah.records,K.uniqueDataFields);ah.records=S;ah.cachedrecords=S}if(K.beforeLoadComplete){var ae=K.beforeLoadComplete(ah.records,this.originaldata);if(ae!=undefined){ah.records=ae;ah.cachedrecords=ae}}ah.loadedData=W.localdata;ah.buildHierarchy.call(ah);if(i.isFunction(K.loadComplete)){K.loadComplete(W.localdata,ah.records)}ah.callBindingUpdate(aa);return}var af=K.data!=undefined?K.data:{};if(W.processdata){W.processdata(af)}if(i.isFunction(K.processData)){K.processData(af)}if(i.isFunction(K.formatData)){var e=K.formatData(af);if(e!=undefined){af=e}}var ab="application/x-www-form-urlencoded";if(K.contentType){ab=K.contentType}var J="GET";if(W.type){J=W.type}if(K.type){J=K.type}var X=Q;if(Q=="ics"){X="text"}if(W.url&&W.url.length>0){if(i.isFunction(K.loadServerData)){ah._requestData(af,W,K)}else{this.xhr=i.jqx.data.ajax({dataType:X,cache:this.cache,type:J,url:W.url,async:N,timeout:W.timeout,contentType:ab,data:af,success:function(am,aj,ap){if(i.isFunction(W.beforeprocessing)){var ao=W.beforeprocessing(am,aj,ap);if(ao!=undefined){am=ao}}if(i.isFunction(K.downloadComplete)){var ao=K.downloadComplete(am,aj,ap);if(ao!=undefined){am=ao}}if(am==null){ah.records=new Array();ah.cachedrecords=new Array();ah.originaldata=new Array();ah.callDownloadComplete();if(i.isFunction(K.loadComplete)){K.loadComplete(new Array())}return}var ak=am;if(am.records){ak=am.records}if(am.totalrecords!=undefined){W.totalrecords=am.totalrecords}else{if(am.totalRecords!=undefined){W.totalrecords=am.totalRecords}}if(W.datatype==="xml"){ah.loadxml(null,ak,W)}else{if(Q==="text"){ah.loadtext(ak,W)}else{if(Q==="ics"){ah.loadics(ak,W)}else{ah.loadjson(null,ak,W)}}}ah.addForeignValues(W);if(K.uniqueDataFields){var al=ah.getUniqueRecords(ah.records,K.uniqueDataFields);ah.records=al;ah.cachedrecords=al}if(K.beforeLoadComplete){var an=K.beforeLoadComplete(ah.records,am);if(an!=undefined){ah.records=an;ah.cachedrecords=an}}ah.loadedData=am;ah.buildHierarchy.call(ah);ah.callDownloadComplete();if(i.isFunction(K.loadComplete)){K.loadComplete(am,aj,ap,ah.records)}},error:function(al,aj,ak){if(i.isFunction(W.loaderror)){W.loaderror(al,aj,ak)}if(i.isFunction(K.loadError)){K.loadError(al,aj,ak)}al=null;ah.callDownloadComplete()},beforeSend:function(ak,aj){if(i.isFunction(K.beforeSend)){K.beforeSend(ak,aj)}if(i.isFunction(W.beforesend)){W.beforesend(ak,aj)}}})}}else{ah.buildHierarchy(new Array());ah.callDownloadComplete();if(i.isFunction(K.loadComplete)){if(!ai){var ai={}}K.loadComplete(ai)}}break}this.callBindingUpdate(aa)},buildHierarchy:function(K){var e=this._source;var P=new Array();if(!e.datafields){return}if(e.hierarchy&&!e.hierarchy.reservedNames){e.hierarchy.reservedNames={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"}}else{if(e.hierarchy){var O=e.hierarchy.reservedNames;if(!O.leaf){O.leaf="leaf"}if(!O.parent){O.parent="parent"}if(!O.expanded){O.expanded="expanded"}if(!O.checked){O.checked="checked"}if(!O.selected){O.selected="selected"}if(!O.level){O.level="level"}if(!O.data){O.data="data"}}}if(!e.hierarchy){return}var N=this;var O=e.hierarchy.reservedNames;if(e.hierarchy.root){if(e.dataType=="xml"){var P=this.getRecordsHierarchy("uid","parentuid","records",null,K);this.hierarchy=P;return P}else{this.hierarchy=this.records;var R=e.hierarchy.root;for(var L=0;L<this.records.length;L++){var M=this.records[L];if(!M){continue}var H=function(S){if(e.hierarchy.record){S.records=S[R][e.hierarchy.record]}else{var U=R.split(N.mapChar);var T=null;if(U.length>1){var W=S;for(var V=0;V<U.length;V++){if(W!=undefined){W=W[U[V]]}}T=W}else{T=S[R]}S.records=T}if(S.records==null||(S.records&&S.records.length==0)){S[O.leaf]=true}};H(M);M[O.level]=0;var I=this.getid(e.id,M,L);M.uid=I;M[O.parent]=null;M[O.data]=M;if(M[O.expanded]===undefined){M[O.expanded]=false}var Q=function(W,U){if(!U){W.records=new Array();return}for(var V=0;V<U.length;V++){var S=U[V];if(!S){continue}H(S);S[O.level]=W[O.level]+1;S[O.parent]=W;S[O.data]=S;var T=N.getid(e.id,S,V);if(T==V&&e.id==null){S.uid=W.uid+"_"+T}else{S.uid=T}if(S[O.expanded]===undefined){S[O.expanded]=false}Q(S,S.records)}};Q(M,M.records)}}return this.hierarchy}if(e.hierarchy.keyDataField&&e.hierarchy.parentDataField){var P=this.getRecordsHierarchy(e.hierarchy.keyDataField.name,e.hierarchy.parentDataField.name,"records",null,K);this.hierarchy=P;return P}if(e.hierarchy.groupingDataFields){var J=new Array();for(var L=0;L<e.hierarchy.groupingDataFields.length;L++){J.push(e.hierarchy.groupingDataFields[L].name)}var P=this.getGroupedRecords(J,"records","label",null,"data",null,"parent",K);this.hierarchy=P;return P}},addRecord:function(H,e,M,I){var J=this;var N=function(){return{leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"}};if(H!=undefined){if(M!=undefined){if(this.hierarchy.length>0){var K=function(O){if(O){for(var P=0;P<O.length;P++){var Q=O[P];if(Q.uid==M){var R=(J._source&&J._source.hierarchy)?J._source.hierarchy.reservedNames:null;if(R==null){R=N()}H[R.parent]=Q;H[R.level]=Q[R.level]+1;if(!Q.records){Q.records=new Array();Q[R.leaf]=false}else{Q[R.leaf]=false}if(e=="last"){Q.records.push(H)}else{if(typeof e==="number"&&isFinite(e)){Q.records.splice(e,0,H)}else{Q.records.splice(0,0,H)}}return true}if(Q.records){K(Q.records)}}}};K(this.hierarchy)}}else{if(this.hierarchy&&this.hierarchy.length>=0&&(this._source.hierarchy||I)){var L=(J._source&&J._source.hierarchy)?J._source.hierarchy.reservedNames:null;if(L==null){L=N()}H[L.level]=0;if(e=="last"){this.hierarchy.push(H)}else{if(typeof e==="number"&&isFinite(e)){this.hierarchy.splice(e,0,H)}else{this.hierarchy.splice(0,0,H)}}}else{if(e=="last"){this.records.push(H)}else{if(typeof e==="number"&&isFinite(e)){this.records.splice(e,0,H)}else{this.records.splice(0,0,H)}}}return true}}return false},deleteRecord:function(H){var J=this;if(this.hierarchy.length>0){var K=function(L){if(L){for(var O=0;O<L.length;O++){var P=L[O];if(P.uid==H){L.splice(O,1);if(J.recordids[H]){delete J.recordids[H]}var N=function(T){for(var Q=0;Q<T.length;Q++){var S=T[Q].uid;for(var R=0;R<J.records.length;R++){var U=J.records[R];if(U.uid==S){J.records.splice(R,1);break}}if(T[Q].records){N(T[Q].records)}}};if(P.records){N(P.records)}for(var M=0;M<J.records.length;M++){var P=J.records[M];if(P.uid==H){J.records.splice(M,1);break}}return true}if(P.records){K(P.records)}}}};K(this.hierarchy)}else{for(var e=0;e<this.records.length;e++){var I=this.records[e];if(I.uid==H){this.records.splice(e,1);return true}}}return false},addForeignValues:function(H){var Q=this;var V=H.datafields?H.datafields.length:0;for(var N=0;N<V;N++){var L=H.datafields[N];if(L!=undefined){if(L.values!=undefined){if(L.value==undefined){L.value=L.name}if(L.values.value==undefined){L.values.value=L.value}var T=new Array();var K,M;if(Q.pageable&&Q.virtualmode){K=Q.pagenum*Q.pagesize;M=K+Q.pagesize;if(M>Q.totalrecords){M=Q.totalrecords}}else{if(Q.virtualmode){K=H.recordstartindex;M=H.recordendindex;if(M>Q.totalrecords){M=Q.totalrecords}}else{K=0;M=Q.records.length}}for(var O=K;O<M;O++){var P=Q.records[O];var I=L.name;var U=P[L.value];if(T[U]!=undefined){P[I]=T[U]}else{for(var J=0;J<L.values.source.length;J++){var S=L.values.source[J];var e=S[L.values.value];if(e==undefined){e=S.uid}if(e==U){var R=S[L.values.name];P[I]=R;T[U]=R;break}}}}}else{if(L.value!=undefined){for(var O=0;O<Q.records.length;O++){var P=Q.records[O];P[L.name]=P[L.value]}}}}}},abort:function(){if(this.xhr&&this.xhr.readyState!=4){this.xhr.abort();this.callDownloadComplete()}},_requestData:function(H,J,e){var I=this;var K=function(P){if(P.totalrecords){J.totalrecords=P.totalrecords;I.totalrecords=P.totalrecords}if(P.records){I.records=P.records;I.cachedrecords=P.records}I.addForeignValues(J);if(e.uniqueDataFields){var N=I.getUniqueRecords(I.records,e.uniqueDataFields);I.records=N;I.cachedrecords=N}if(e.beforeLoadComplete){var O=e.beforeLoadComplete(I.records,P);if(O!=undefined){I.records=O;I.cachedrecords=O}}for(var M=0;M<I.records.length;M++){var L=I.records[M];if(undefined==L){continue}if(undefined==L.uid){L.uid=I.getid(J.id,L,M)}}I.buildHierarchy.call(I);if(i.isFunction(e.loadComplete)){e.loadComplete(P)}I.callDownloadComplete()};e.loadServerData(H,J,K)},getUniqueRecords:function(I,L){if(I&&L){var e=I.length;var Q=L.length;var N=new Array();var O=new Array();for(var P=0;P<e;P++){var M=I[P];var J="";if(M==undefined){continue}for(var K=0;K<Q;K++){var H=L[K];J+=M[H]+"_"}if(!O[J]){N[N.length]=M}O[J]=true}}return N},getAggregatedData:function(S,P,M,H){var L=M;if(!L){L=this.records}var Q={};var K=new Array();var J=L.length;if(J==0){return}if(J==undefined){return}for(var O=0;O<J;O++){var R=L[O];for(var N=0;N<S.length;N++){var I=S[N];var U=R[I.name];if(I.aggregates){Q[I.name]=Q[I.name]||{};K[I.name]=K[I.name]||0;K[I.name]++;var e=function(W){for(var Y in W){var X=Q[I.name][Y];if(X==null){Q[I.name][Y]=0;X=0}if(i.isFunction(W[Y])){X=W[Y](X,U,I.name,R,H)}Q[I.name][Y]=X}};var T=parseFloat(U);if(isNaN(T)){T=false}else{T=true}if(T){U=parseFloat(U)}if(typeof U==="number"&&isFinite(U)){i.each(I.aggregates,function(){var W=Q[I.name][this];if(W==null){W=0;if(this=="min"){W=9999999999999}if(this=="max"){W=-9999999999999}}if(this=="sum"||this=="avg"||this=="stdev"||this=="stdevp"||this=="var"||this=="varp"){W+=parseFloat(U)}else{if(this=="product"){if(O==0){W=parseFloat(U)}else{W*=parseFloat(U)}}else{if(this=="min"){W=Math.min(W,parseFloat(U))}else{if(this=="max"){W=Math.max(W,parseFloat(U))}else{if(this=="count"){W++}else{if(typeof(this)=="object"){e(this);return}}}}}}Q[I.name][this]=W})}else{i.each(I.aggregates,function(){if(this=="min"||this=="max"||this=="count"||this=="product"||this=="sum"||this=="avg"||this=="stdev"||this=="stdevp"||this=="var"||this=="varp"){if(U===null){return true}var W=Q[I.name][this];if(W==null){W=0}Q[I.name][this]=W;return true}if(typeof(this)=="object"){e(this)}})}}}}for(var N=0;N<S.length;N++){var I=S[N];if(!Q[I.name]){Q[I.name]={};i.each(I.aggregates,function(W){Q[I.name][this]=0})}if(Q[I.name]["avg"]!=undefined){var U=Q[I.name]["avg"];var V=K[I.name];if(V===0||V==undefined){Q[I.name]["avg"]=0}else{Q[I.name]["avg"]=U/V}}else{if(Q[I.name]["count"]!=undefined){Q[I.name]["count"]=J}}if(Q[I.name]["stdev"]||Q[I.name]["stdevp"]||Q[I.name]["var"]||Q[I.name]["varp"]){i.each(I.aggregates,function(ac){if(this=="stdev"||this=="var"||this=="varp"||this=="stdevp"){var ad=Q[I.name][this];var ab=J;var W=(ad/J);var Y=0;for(var Z=0;Z<J;Z++){var aa=L[Z];var ae=aa[I.name];Y+=(ae-W)*(ae-W)}var X=(this=="stdevp"||this=="varp")?ab:ab-1;if(X==0){X=1}if(this=="var"||this=="varp"){Q[I.name][this]=Y/X}else{if(this=="stdevp"||this=="stdev"){Q[I.name][this]=Math.sqrt(Y/X)}}}})}if(I.formatStrings){i.each(I.aggregates,function(X){var W=I.formatStrings[X];if(W){if(this=="min"||this=="max"||this=="count"||this=="product"||this=="sum"||this=="avg"||this=="stdev"||this=="stdevp"||this=="var"||this=="varp"){var Y=Q[I.name][this];Q[I.name][this]=i.jqx.dataFormat.formatnumber(Y,W,P)}else{if(typeof this=="object"){for(var Z in this){var Y=Q[I.name][Z];Q[I.name][Z]=i.jqx.dataFormat.formatnumber(Y,W,P)}}}}})}}return Q},bindDownloadComplete:function(H,e){this._downloadComplete[this._downloadComplete.length]={id:H,func:e}},unbindDownloadComplete:function(H){for(var e=0;e<this._downloadComplete.length;e++){if(this._downloadComplete[e].id==H){this._downloadComplete[e].func=null;this._downloadComplete.splice(e,1);break}}},callDownloadComplete:function(){for(var e=0;e<this._downloadComplete.length;e++){var H=this._downloadComplete[e];if(H.func!=null){H.func()}}},setSource:function(e){this._source=e},generatekey:function(){var e=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return(e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e())},getGroupedRecords:function(ak,an,W,af,al,ac,ae,ao,K){var ah=0;var aa=this;if(!K){K=0}var I=new Array();for(var N=0;N<ak.length;N++){I[N]=aa.generatekey()}if(!an){an="items"}if(!W){W="group"}if(!al){al="record"}if(!ae){ae="parentItem"}if(undefined===ac){ac="value"}var S=new Array();var L=0;var J=new Array();var R=ak.length;var am=new Array();if(!ao){var ao=this.records}var P=ao.length;var ag=function(ap){var aq=ap;if(af){i.each(af,function(){if(this.name&&this.map){aq[this.map]=aq[this.name]}})}return aq};for(var V=0;V<P;V++){var aj=ag(ao[V]);var ab=aj[aa.uniqueId];var H=new Array();var X=0;for(N=0;N<R;N++){var Q=ak[N];var ad=aj[Q];if(null==ad){continue}H[X++]={value:ad,hash:I[N]}}if(H.length!=R){break}var Y=null;var T="";var e=-1;for(var Z=0;Z<H.length;Z++){e++;var ai=H[Z].value;var M=H[Z].hash;T=T+"_"+M+"_"+ai;if(J[T]!=undefined&&J[T]!=null){Y=J[T];continue}if(Y==null){Y={level:0};Y[ae]=null;Y[W]=ai;Y[al]=aj;if(aj.expanded!==undefined){Y.expanded=aj.expanded}else{Y.expanded=false}if(ac){Y[ac]=aj[ac]}Y[an]=new Array();var O=S.length+K;if(!this._source.id||typeof aj.uid==="number"||isFinite(aj.uid)){O="Row"+O}Y.uid=O;S[L++]=Y}else{var U={level:Y.level+1};U[ae]=Y;U[W]=ai;U[an]=new Array();U[al]=aj;if(aj.expanded!==undefined){U.expanded=aj.expanded}else{U.expanded=false}if(ac){U[ac]=aj[ac]}U.uid=Y.uid+"_"+Y[an].length;Y[an][Y[an].length]=U;Y=U}J[T]=Y}if(aj){aj.leaf=true}if(Y!=null){if(this._source.id==null){if(undefined==aj.uid){aj.uid=Y.uid+"_"+Y[an].length}else{if(aj.uid.toString().indexOf(Y.uid)==-1){aj.uid=Y.uid+"_"+aj.uid}}}aj[ae]=Y;aj.level=Y.level+1;Y[an][Y[an].length]=aj}else{if(undefined==aj.uid){aj.uid=this.generatekey()}}}return S},getRecordsHierarchy:function(L,J,aa,U,H){var e=new Array();var I=this.records;if(H){I=H}if(this.records.length==0){return null}var Y=aa!=null?aa:"items";var R=[];var ab=I;var O=ab.length;var P=(this._source&&this._source.hierarchy)?this._source.hierarchy.reservedNames:null;var W=function(ac){var ad=ac;if(U){i.each(U,function(){if(this.name&&this.map){ad[this.map]=ad[this.name]}})}return ad};for(var X=0;X<O;X++){var Z=i.extend({},ab[X]);var T=Z[J];var S=Z[L];R[S]={parentid:T,item:Z}}for(var X=0;X<O;X++){var Z=i.extend({},ab[X]);var T=Z[J];var S=Z[L];if(R[T]!=undefined){var Z={parentid:T,item:R[S].item};var Q=R[T].item;if(!Q[Y]){Q[Y]=[]}var M=Q[Y].length;var K=Z.item;if(!P){if(K.parent==undefined){K.parent=Q}}else{if(K[P.parent]==undefined){K[P.parent]=Q}}var N=W(K);Q[Y][M]=N;R[T].item=Q;R[S]=Z}else{var K=R[S].item;if(!P){if(K.parent==undefined){K.parent=null}}else{if(K[P.parent]==undefined){K[P.parent]=null}}var N=W(K);if(!P){N.level=0}else{N[P.level]=0}e[e.length]=N}}if(e.length!=0){var V=function(af,ac){for(var ad=0;ad<ac.length;ad++){if(!P){ac[ad].level=af}else{ac[ad][P.level]=af}var ae=ac[ad][Y];if(ae){if(ae.length>0){V(af+1,ae)}else{if(!P){ac[ad].leaf=true}else{ac[ad][P.leaf]=true}}}else{if(!P){ac[ad].leaf=true}else{ac[ad][P.leaf]=true}}}};V(0,e)}return e},bindBindingUpdate:function(H,e){this._bindingUpdate[this._bindingUpdate.length]={id:H,func:e}},unbindBindingUpdate:function(H){for(var e=0;e<this._bindingUpdate.length;e++){if(this._bindingUpdate[e].id==H){this._bindingUpdate[e].func=null;this._bindingUpdate.splice(e,1);break}}},callBindingUpdate:function(e){for(var I=0;I<this._bindingUpdate.length;I++){var H=this._bindingUpdate[I];if(H.func!=null){H.func(e)}}},getid:function(N,H,K){if(N!=null&&N.name!=undefined){if(N.name){var e=i(H).attr(N.name);if(e!=null&&e.toString().length>0){return e}else{if(N.map){try{var e=i(H).attr(N.map);if(e!=null&&e.toString().length>0){return e}else{if(i(N.map,H).length>0){return i(N.map,H).text()}else{if(i(N.name,H).length>0){return i(N.name,H).text()}}}}catch(J){return K}}}return}}if(i(N,H).length>0){return i(N,H).text()}if(N){if(N.toString().length>0){var e=i(H).attr(N);if(e!=null&&e.toString().length>0){return i.trim(e).split(" ").join("").replace(/([ #;?%&,.+*~\':"!^$[\]()=>|\/\\@])/g,"")}else{var I=N.split(this.mapChar);if(I.length>1){var M=H;for(var L=0;L<I.length;L++){if(M!=undefined){M=M[I[L]]}}if(M!=undefined){return M}}else{if(H[N]!=undefined){return H[N]}}}}}return K},loadjson:function(af,ag,S){if(typeof(af)=="string"){af=i.parseJSON(af)}if(S.root==undefined){S.root=""}if(S.record==undefined){S.record=""}var af=af||ag;if(!af){af=[]}var ae=this;if(S.root!=""){var K=S.root.split(ae.mapChar);if(K.length>1){var ab=af;for(var R=0;R<K.length;R++){if(ab!=undefined){ab=ab[K[R]]}}af=ab}else{if(af[S.root]!==undefined){af=af[S.root]}else{if(af[0]&&af[0][S.root]!==undefined){af=af[0][S.root]}else{i.each(af,function(ai){var ah=this;if(this==S.root){af=this;return false}else{if(this[S.root]!=undefined){af=this[S.root]}}})}}if(!af){var K=S.root.split(ae.mapChar);if(K.length>0){var ab=af;for(var R=0;R<K.length;R++){if(ab!=undefined){ab=ab[K[R]]}}af=ab}}}}else{if(!af.length){for(var O in af){if(i.isArray(af[O])){af=af[O];break}}}}if(af!=null&&af.length==undefined){af=i.makeArray(af)}if(af==null||af==undefined||af=="undefined"||af.length==undefined){throw new Error("jqxDataAdapter: JSON Parse error! Invalid JSON. Please, check your JSON or your jqxDataAdapter initialization!");return}if(af.length==0){this.totalrecords=0;return}var J=af.length;this.totalrecords=this.virtualmode?(S.totalrecords||J):J;this.records=new Array();this.originaldata=new Array();var X=this.records;var U=!this.pageable?S.recordstartindex:this.pagesize*this.pagenum;this.recordids=new Array();if(S.loadallrecords){U=0;J=this.totalrecords}var Q=0;if(this.virtualmode){U=!this.pageable?S.recordstartindex:this.pagesize*this.pagenum;Q=U;U=0;J=this.totalrecords}var Z=S.datafields?S.datafields.length:0;if(Z==0){var e=af[0];var ac=new Array();for(var O in e){var H=O;ac[ac.length]={name:H}}S.datafields=ac;S.generatedfields=S.datafields;Z=ac.length}var M=U;for(var W=U;W<J;W++){var I=af[W];if(I==undefined){break}if(S.record&&S.record!=""){I=I[S.record];if(I==undefined){continue}}var ad=this.getid(S.id,I,W);if(typeof(ad)==="object"){ad=W}if(!this.recordids[ad]){this.recordids[ad]=I;var L={};for(var V=0;V<Z;V++){var N=S.datafields[V];var T="";if(undefined==N||N==null){continue}if(N.map){if(i.isFunction(N.map)){T=N.map(I)}else{var K=N.map.split(ae.mapChar);if(K.length>0){var aa=I;for(var R=0;R<K.length;R++){if(aa!=undefined){aa=aa[K[R]]}}T=aa}else{T=I[N.map]}}if(T!=undefined&&T!=null){T=this.getvaluebytype(T,N)}else{if(T==undefined&&T!=null){T=""}}}if(T==""&&!N.map){T=I[N.name];if(T==undefined&&T!=null){T=""}if(N.value!=undefined){if(T!=undefined){var Y=T[N.value];if(Y!=undefined){T=Y}}}}T=this.getvaluebytype(T,N);if(N.displayname!=undefined){L[N.displayname]=T}else{L[N.name]=T}if(N.type==="array"){var P=function(ak){if(!ak){return}for(var aq=0;aq<ak.length;aq++){var an=ak[aq];if(!an){continue}for(var ao=0;ao<Z;ao++){var aj=S.datafields[ao];var ap="";if(undefined==aj||aj==null){continue}if(aj.map){if(i.isFunction(aj.map)){ap=aj.map(an)}else{var ah=aj.map.split(ae.mapChar);if(ah.length>0){var am=an;for(var ai=0;ai<ah.length;ai++){if(am!=undefined){am=am[ah[ai]]}}ap=am}else{ap=an[aj.map]}}if(ap!=undefined&&ap!=null){ap=this.getvaluebytype(ap,aj)}else{if(ap==undefined&&ap!=null){ap=""}}}if(ap==""&&!aj.map){ap=an[aj.name];if(ap==undefined&&ap!=null){ap=""}if(aj.value!=undefined){if(ap!=undefined){var al=ap[aj.value];if(al!=undefined){ap=al}}}}ap=this.getvaluebytype(ap,aj);if(aj.displayname!=undefined){an[aj.displayname]=ap}else{an[aj.name]=ap}if(aj.type==="array"){P.call(this,ap)}}}};P.call(this,T)}}if(S.recordendindex<=0||U<S.recordendindex){X[Q+M]=new Object(L);X[Q+M].uid=ad;this.originaldata[Q+M]=new Object(X[W]);M++}}}this.records=X;this.cachedrecords=this.records},loadxml:function(K,aj,V){if(typeof(K)=="string"){K=aj=i(i.parseXML(K));K=null}if(V.root==undefined){V.root=""}if(V.record==undefined){V.record=""}var K;if(i.jqx.browser.msie&&aj){if(aj.xml!=undefined){K=i(V.root+" "+V.record,i.parseXML(aj.xml))}else{K=K||i(V.root+" "+V.record,aj)}}else{K=K||i(V.root+" "+V.record,aj)}if(!K){K=[]}var J=K.length;if(K.length==0){return}this.totalrecords=this.virtualmode?(V.totalrecords||J):J;this.records=new Array();this.originaldata=new Array();var ab=this.records;var Y=!this.pageable?V.recordstartindex:this.pagesize*this.pagenum;this.recordids=new Array();if(V.loadallrecords){Y=0;J=this.totalrecords}var T=0;if(this.virtualmode){Y=!this.pageable?V.recordstartindex:this.pagesize*this.pagenum;T=Y;Y=0;J=this.totalrecords}var ad=V.datafields?V.datafields.length:0;if(ad==0){var e=K[0];var ag=new Array();for(var S in e){var H=S;ag[ag.length]={name:H}}V.datafields=ag;V.generatedfields=V.datafields;ad=ag.length}var U=Y;var af=false;for(var aa=Y;aa<J;aa++){var I=K[aa];if(I==undefined){break}var ai=this.getid(V.id,I,aa);if(!this.recordids[ai]){this.recordids[ai]=I;var L={};var P=false;if(V.hierarchy&&V.hierarchy.root){P=true}for(var Z=0;Z<ad;Z++){var Q=V.datafields[Z];var X="";if(undefined==Q||Q==null){continue}if(Q.map){if(i.isFunction(Q.map)){X=Q.map(I)}else{var M=Q.map.indexOf("[");if(M<0){X=i(Q.map,I);if(X.length==1){X=X.text()}else{af=true;var ah=new Array();for(var ac=0;ac<X.length;ac++){ah.push(i(X[ac]).text())}X=ah;if(P&&ah.length>0){X=ah[0]}}}else{var ae=Q.map.substring(0,M-1);var O=Q.map.indexOf("]");var R=Q.map.substring(M+1,O);X=i(ae,I).attr(R);if(X==undefined){X=i(I).attr(R)}if(X==undefined){X=""}}if(X==""){X=i(I).attr(Q.map);if(X==undefined){X=""}}}}if(X==""){X=i(Q.name,I);if(X.length==1){X=X.text()}else{var ah=new Array();for(var ac=0;ac<X.length;ac++){ah.push(i(X[ac]).text())}X=ah;if(P&&ah.length>0){X=ah[0]}}if(X==""){X=i(I).attr(Q.name);if(X==undefined){X=""}}if(X==""){if(I.nodeName&&I.nodeName==Q.name&&I.firstChild){X=i(I.firstChild).text()}}}var W=X;X=this.getvaluebytype(X,Q);if(Q.displayname!=undefined){L[Q.displayname]=X}else{L[Q.name]=X}}if(V.recordendindex<=0||Y<V.recordendindex){ab[T+U]=i.extend({},L);ab[T+U].uid=ai;this.originaldata[T+U]=i.extend({},ab[aa]);U++}}}if(V.hierarchy&&V.hierarchy.root){for(var aa=Y;aa<J;aa++){var I=K[aa];var N=ab[aa];if(i(I).parent().length>0){var ai=this.getid(V.id,i(I).parents(V.hierarchy.record+":first"));N.parentuid=ai}else{N.parentuid=null}}}this.records=ab;this.cachedrecords=this.records},loadics:function(N,H){if(N==null){return}var S=H.rowDelimiter||this.rowDelimiter||"\n";var R=N.split(S);var K=R.length;var Q=N.split("\r");if(K==1&&Q.length>1){R=Q;K=R.length}this.records=new Array();this.originaldata=new Array();var L=this.records;this.recordids=new Array();var I=0;var P=function(V){var T=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/;var U=T.exec(V);if(!U){throw new Error("Invalid UNTIL value: "+V)}return new Date(Date.UTC(U[1],U[2]-1,U[3],U[5]||0,U[6]||0,U[7]||0))};for(var M=0;M<K;M++){var O=R[M];if(O=="BEGIN:VEVENT"){var e={};continue}if(O.indexOf("SUMMARY")>=0){e.SUMMARY=O.substring(O.indexOf("SUMMARY")+8);continue}if(O.indexOf("LOCATION")>=0){e.LOCATION=O.substring(O.indexOf("LOCATION")+9);continue}if(O.indexOf("DESCRIPTION")>=0){e.DESCRIPTION=O.substring(O.indexOf("DESCRIPTION")+12);continue}if(O.indexOf("RRULE")>=0){e.RRULE=O.substring(O.indexOf("RRULE")+6);continue}if(O.indexOf("EXDATE")>=0){var J=O.substring(O.indexOf("EXDATE")+7);e.EXDATE=J;continue}if(O.indexOf("DTEND")>=0){e.DTEND=P(O.substring(O.indexOf("DTEND")+6));continue}if(O.indexOf("DTSTART")>=0){e.DTSTART=P(O.substring(O.indexOf("DTSTART")+8));continue}if(O.indexOf("UID")>=0){e.uid=e.UID=O.substring(O.indexOf("UID")+4);continue}if(O.indexOf("STATUS")>=0){e.STATUS=O.substring(O.indexOf("STATUS")+7);continue}if(O=="END:VEVENT"){L.push(e);continue}}this.records=L;this.cachedrecords=this.records},loadtext:function(Y,P){if(Y==null){return}var e=P.rowDelimiter||this.rowDelimiter||"\n";var L=Y.split(e);var J=L.length;var X=Y.split("\r");if(J==1&&X.length>1){L=X;J=L.length}this.totalrecords=this.virtualmode?(P.totalrecords||J):J;this.records=new Array();this.originaldata=new Array();var U=this.records;var R=!this.pageable?P.recordstartindex:this.pagesize*this.pagenum;this.recordids=new Array();if(P.loadallrecords){R=0;J=this.totalrecords}var N=0;if(this.virtualmode){R=!this.pageable?P.recordstartindex:this.pagesize*this.pagenum;N=R;R=0;J=this.totalrecords}var V=P.datafields.length;var O=P.columnDelimiter||this.columnDelimiter;if(!O){O=(P.datatype==="tab"||P.datatype==="tsv")?"\t":","}for(var T=R;T<J;T++){var I=L[T];var W=null;if(!this.recordids[W]){if(P.id==null){W=T;this.recordids[W]=I}var K={};var H=L[T].split(O);for(var S=0;S<V;S++){if(S>=H.length){continue}var M=P.datafields[S];var Q=H[S];if(M.map&&i.isFunction(M.map)){Q=M.map(I)}if(M.type){Q=this.getvaluebytype(Q,M)}var Z=M.map||M.name||S.toString();K[Z]=Q;if(P.id!=null){if(P.id===M.name){W=Q;this.recordids[W]=I}}}if(W==null){W=T}U[N+T]=i.extend({},K);U[N+T].uid=W;this.originaldata[N+T]=i.extend({},U[T])}}this.records=U;this.cachedrecords=this.records},getvaluebytype:function(L,H){var J=L;if(L==null){return L}if(i.isArray(L)&&H.type!="array"){for(var I=0;I<L.length;I++){L[I]=this.getvaluebytype(L[I],H)}return L}if(H.type=="date"){if(L=="NaN"){L=""}else{if(L&&L instanceof Date){return L}var K=new Date(L);if(typeof L=="string"){if(H.format){var e=i.jqx.dataFormat.parsedate(L,H.format);if(e!=null){K=e}}}if(K.toString()=="NaN"||K.toString()=="Invalid Date"){if(i.jqx.dataFormat){L=i.jqx.dataFormat.tryparsedate(L)}else{L=K}}else{L=K}if(L==null){L=J}}}else{if(H.type=="float"||H.type=="number"||H.type=="decimal"){if(L=="NaN"){L=""}else{var L=parseFloat(L);if(isNaN(L)){L=J}}}else{if(H.type=="int"||H.type=="integer"){var L=parseInt(L);if(isNaN(L)){L=J}}else{if(H.type=="bool"||H.type=="boolean"){if(L!=null){if(L.toLowerCase!=undefined){if(L.toLowerCase()=="false"){L=false}else{if(L.toLowerCase()=="true"){L=true}}}}if(L==1){L=true}else{if(L==0&&L!==""){L=false}else{L=""}}}}}}return L}};i.jqx.dataFormat={};i.extend(i.jqx.dataFormat,{regexTrim:/^\s+|\s+$/g,regexInfinity:/^[+-]?infinity$/i,regexHex:/^0x[a-f0-9]+$/i,regexParseFloat:/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/,toString:Object.prototype.toString,isBoolean:function(e){return typeof e==="boolean"},isObject:function(e){return(e&&(typeof e==="object"||i.isFunction(e)))||false},isDate:function(e){return e instanceof Date},arrayIndexOf:function(J,I){if(J.indexOf){return J.indexOf(I)}for(var e=0,H=J.length;e<H;e++){if(J[e]===I){return e}}return -1},isString:function(e){return typeof e==="string"},isNumber:function(e){return typeof e==="number"&&isFinite(e)},isNull:function(e){return e===null},isUndefined:function(e){return typeof e==="undefined"},isValue:function(e){return(this.isObject(e)||this.isString(e)||this.isNumber(e)||this.isBoolean(e))},isEmpty:function(e){if(!this.isString(e)&&this.isValue(e)){return false}else{if(!this.isValue(e)){return true}}e=i.trim(e).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");return e===""},startsWith:function(H,e){return H.indexOf(e)===0},endsWith:function(H,e){return H.substr(H.length-e.length)===e},trim:function(e){return(e+"").replace(this.regexTrim,"")},isArray:function(e){return this.toString.call(e)==="[object Array]"},defaultcalendar:function(){var e={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"MM-dd-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","};return e},expandFormat:function(K,J){J=J||"F";var I,H=K.patterns,e=J.length;if(e===1){I=H[J];if(!I){throw"Invalid date format string '"+J+"'."}J=I}else{if(e===2&&J.charAt(0)==="%"){J=J.charAt(1)}}return J},getEra:function(I,H){if(!H){return 0}if(typeof I==="string"){return 0}var L,K=I.getTime();for(var J=0,e=H.length;J<e;J++){L=H[J].start;if(L===null||K>=L){return J}}return 0},toUpper:function(e){return e.split("\u00A0").join(" ").toUpperCase()},toUpperArray:function(e){var J=[];for(var I=0,H=e.length;I<H;I++){J[I]=this.toUpper(e[I])}return J},getEraYear:function(H,J,e,K){var I=H.getFullYear();if(!K&&J.eras){I-=J.eras[e].offset}return I},toUpper:function(e){if(e){return e.toUpperCase()}return""},getDayIndex:function(K,J,H){var e,L=K.days,I=K._upperDays;if(!I){K._upperDays=I=[this.toUpperArray(L.names),this.toUpperArray(L.namesAbbr),this.toUpperArray(L.namesShort)]}J=J.toUpperCase();if(H){e=this.arrayIndexOf(I[1],J);if(e===-1){e=this.arrayIndexOf(I[2],J)}}else{e=this.arrayIndexOf(I[0],J)}return e},getMonthIndex:function(N,M,I){var e=N.months,H=N.monthsGenitive||N.months,K=N._upperMonths,L=N._upperMonthsGen;if(!K){N._upperMonths=K=[this.toUpperArray(e.names),this.toUpperArray(e.namesAbbr)];N._upperMonthsGen=L=[this.toUpperArray(H.names),this.toUpperArray(H.namesAbbr)]}M=this.toUpper(M);var J=this.arrayIndexOf(I?K[1]:K[0],M);if(J<0){J=this.arrayIndexOf(I?L[1]:L[0],M)}return J},appendPreOrPostMatch:function(J,e){var I=0,L=false;for(var K=0,H=J.length;K<H;K++){var M=J.charAt(K);switch(M){case"'":if(L){e.push("'")}else{I++}L=false;break;case"\\":if(L){e.push("\\")}L=!L;break;default:e.push(M);L=false;break}}return I},getTokenRegExp:function(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g},formatlink:function(e,I){var H="";if(I&&I.target){H="target="+I.target}if(H!=""){return"<a "+H+' href="'+e+'">'+e+"</a>"}return'<a href="'+e+'">'+e+"</a>"},formatemail:function(e){return'<a href="mailto:'+e+'">'+e+"</a>"},formatNumber:function(e,I,H){return this.formatnumber(e,I,H)},formatnumber:function(T,S,O){if(O==undefined||O==null||O==""){O=this.defaultcalendar()}if(S===""||S===null){return T}if(!this.isNumber(T)){T*=1}var P;if(S.length>1){P=parseInt(S.slice(1),10)}var V={};var Q=S.charAt(0).toUpperCase();V.thousandsSeparator=O.thousandsseparator;V.decimalSeparator=O.decimalseparator;switch(Q){case"D":case"d":case"F":case"f":V.decimalPlaces=P;break;case"N":case"n":V.decimalPlaces=0;break;case"C":case"c":V.decimalPlaces=P;if(O.currencysymbolposition=="before"){V.prefix=O.currencysymbol}else{V.suffix=O.currencysymbol}break;case"P":case"p":V.suffix=O.percentsymbol;V.decimalPlaces=P;break;default:throw"Bad number format specifier: "+Q}if(this.isNumber(T)){var K=(T<0);var I=T+"";var R=(V.decimalSeparator)?V.decimalSeparator:".";var e;if(this.isNumber(V.decimalPlaces)){var L=V.decimalPlaces;var N=Math.pow(10,L);I=(T*N).toFixed(0)/N+"";e=I.lastIndexOf(".");if(L>0){if(e<0){I+=R;e=I.length-1}else{if(R!=="."){I=I.replace(".",R)}}while((I.length-1-e)<L){I+="0"}}}else{var I=T+"";e=I.lastIndexOf(".");if(e>0&&L==undefined){if(R!=="."){I=I.replace(".",R)}}}if(V.thousandsSeparator){var U=V.thousandsSeparator;e=I.lastIndexOf(R);e=(e>-1)?e:I.length;var J=I.substring(e);var H=-1;for(var M=e;M>0;M--){H++;if((H%3===0)&&(M!==e)&&(!K||(M>1))){J=U+J}J=I.charAt(M-1)+J}I=J}I=(V.prefix)?V.prefix+I:I;I=(V.suffix)?I+V.suffix:I;return I}else{return T}},tryparsedate:function(ak,al){if(al==undefined||al==null){al=this.defaultcalendar()}var P=this;if(ak==""){return null}if(ak!=null&&!ak.substring){ak=ak.toString()}if(ak!=null&&ak.substring(0,6)=="/Date("){var au=/^\/Date\((-?\d+)(\+|-)?(\d+)?\)\/$/;var ar=new Date(+ak.replace(/\/Date\((\d+)\)\//,"$1"));if(ar=="Invalid Date"){var an=ak.match(/^\/Date\((\d+)([-+]\d\d)(\d\d)\)\/$/);var ar=null;if(an){ar=new Date(1*an[1]+3600000*an[2]+60000*an[3])}}if(ar==null||ar=="Invalid Date"||isNaN(ar)){var Q=au.exec(ak);if(Q){var T=new Date(parseInt(Q[1]));if(Q[2]){var Z=parseInt(Q[3]);if(Q[2]==="-"){Z=-Z}var V=T.getUTCMinutes();T.setUTCMinutes(V-Z)}if(!isNaN(T.valueOf())){return T}}}return ar}var N=al.patterns;for(var S in N){ar=P.parsedate(ak,N[S],al);if(ar){if(S=="ISO"){var ac=P.parsedate(ak,N.ISO2,al);if(ac){return ac}}return ar}}if(ak!=null){var ac=null;var L=[":","/","-"];var ap=true;for(var O=0;O<L.length;O++){if(ak.indexOf(L[O])!=-1){ap=false}}if(ap){var av=new Number(ak);if(!isNaN(av)){return new Date(av)}}}if(i.type(ak)==="string"){var ag=P;ak=ag.trim(ak);var am=[":","/","-"," ",","];var M=function(az,ax,ay){return ay.replace(new RegExp(az,"g"),ax)};ak=M(", ",",",ak);var I="";var Y=ak;if(ak.indexOf(":")>=0){I=ak.substring(ak.indexOf(":")-2);I=ag.trim(I);Y=ak.substring(0,ak.indexOf(":")-2)}else{if(ak.toUpperCase().indexOf("AM")>=0){I=ak.substring(ak.toUpperCase().indexOf("AM")-2);I=ag.trim(I);Y=ak.substring(0,ak.toUpperCase().indexOf("AM")-2)}else{if(ak.toUpperCase().indexOf("PM")>=0){I=ak.substring(ak.toUpperCase().indexOf("PM")-2);I=ag.trim(I);Y=ak.substring(0,ak.toUpperCase().indexOf("PM")-2)}}}var e=new Date();var aj=false;if(Y){for(var aq=0;aq<am.length;aq++){if(Y.indexOf(am[aq])>=0){L=Y.split(am[aq]);break}}var H=new Array();var W=new Array();var ae=new Array();var R=null;var aw=null;for(var aq=0;aq<L.length;aq++){var O=L[aq];var ad=ag.parsedate(O,"d",al)||ag.parsedate(O,"dd",al)||ag.parsedate(O,"ddd",al)||ag.parsedate(O,"dddd",al);if(ad){if(O.length<=2){R=aq;H.push(ad.getDate());break}}}for(var aq=0;aq<L.length;aq++){var O=L[aq];var U=ag.parsedate(O,"M",al)||ag.parsedate(O,"MM",al)||ag.parsedate(O,"MMM",al)||ag.parsedate(O,"MMMM",al);if(U){if(R!=undefined&&R==aq){continue}W.push(U.getMonth());if(O.length>2){aw=aq;break}}}for(var aq=0;aq<L.length;aq++){var O=L[aq];var af=ag.parsedate(O,"yyyy",al);if(af){if(R!=undefined&&R==aq){continue}if(aw!=undefined&&aw==aq){continue}ae.push(af.getFullYear())}}var ao=new Array();for(var at=0;at<H.length;at++){for(var an=0;an<W.length;an++){for(var ai=0;ai<ae.length;ai++){var T=new Date(ae[ai],W[an],H[at]);if(ae[ai]<1970){T.setFullYear(ae[ai])}if(T.getTime()!=NaN){ao.push(T)}}}}if(ao.length>0){e=ao[0];aj=true}}if(I){var ah=I.indexOf(":")>=0?I.split(":"):I;var K=ag.parsedate(I,"h:mm tt",al)||ag.parsedate(I,"h:mm:ss tt",al)||ag.parsedate(I,"HH:mm:ss.fff",al)||ag.parsedate(I,"HH:mm:ss.ff",al)||ag.parsedate(I,"HH:mm:ss.tttt",al)||ag.parsedate(I,"HH:mm:ss",al)||ag.parsedate(I,"HH:mm",al)||ag.parsedate(I,"HH",al);var X=0,J=0,aa=0,ab=0;if(K&&K.getTime()!=NaN){X=K.getHours();J=K.getMinutes();aa=K.getSeconds();ab=K.getMilliseconds()}else{if(ah.length==1){X=parseInt(ah[0])}if(ah.length==2){X=parseInt(ah[0]);J=parseInt(ah[1])}if(ah.length==3){X=parseInt(ah[0]);J=parseInt(ah[1]);if(ah[2].indexOf(".")>=0){aa=parseInt(ah[2].toString().split(".")[0]);ab=parseInt(ah[2].toString().split(".")[1])}else{aa=parseInt(ah[2])}}if(ah.length==4){X=parseInt(ah[0]);J=parseInt(ah[1]);aa=parseInt(ah[2]);ab=parseInt(ah[3])}}if(e&&!isNaN(X)&&!isNaN(J)&&!isNaN(aa)&&!isNaN(ab)){e.setHours(X,J,aa,ab);aj=true}}if(aj){return e}}return null},getparseregexp:function(e,R){var T=e._parseRegExp;if(!T){e._parseRegExp=T={}}else{var K=T[R];if(K){return K}}var Q=this.expandFormat(e,R).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1"),O=["^"],H=[],N=0,J=0,W=this.getTokenRegExp(),L;while((L=W.exec(Q))!==null){var V=Q.slice(N,L.index);N=W.lastIndex;J+=this.appendPreOrPostMatch(V,O);if(J%2){O.push(L[0]);continue}var I=L[0],M=I.length,S;switch(I){case"dddd":case"ddd":case"MMMM":case"MMM":case"gg":case"g":S="(\\D+)";break;case"tt":case"t":S="(\\D*)";break;case"yyyy":case"fff":case"ff":case"f":S="(\\d{"+M+"})";break;case"dd":case"d":case"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm":case"m":case"ss":case"s":S="(\\d\\d?)";break;case"zzz":S="([+-]?\\d\\d?:\\d{2})";break;case"zz":case"z":S="([+-]?\\d\\d?)";break;case"/":S="(\\"+e["/"]+")";break;default:throw"Invalid date format pattern '"+I+"'.";break}if(S){O.push(S)}H.push(L[0])}this.appendPreOrPostMatch(Q.slice(N),O);O.push("$");var U=O.join("").replace(/\s+/g,"\\s+"),P={regExp:U,groups:H};return T[R]=P},outOfRange:function(I,e,H){return I<e||I>H},expandYear:function(L,J){var H=new Date(),e=this.getEra(H);if(J<100){var I=L.twoDigitYearMax;I=typeof I==="string"?new Date().getFullYear()%100+parseInt(I,10):I;var K=this.getEraYear(H,L,e);J+=K-(K%100);if(J>I){J-=100}}return J},parsedate:function(ab,ai,W){if(W==undefined||W==null){W=this.defaultcalendar()}ab=this.trim(ab);var T=W,an=this.getparseregexp(T,ai),N=new RegExp(an.regExp).exec(ab);if(N===null){return null}var aj=an.groups,Z=null,R=null,am=null,al=null,S=null,L=0,ae,ad=0,ak=0,e=0,I=null,U=false;for(var af=0,ah=aj.length;af<ah;af++){var H=N[af+1];if(H){var aa=aj[af],K=aa.length,M=parseInt(H,10);switch(aa){case"dd":case"d":al=M;if(this.outOfRange(al,1,31)){return null}break;case"MMM":case"MMMM":am=this.getMonthIndex(T,H,K===3);if(this.outOfRange(am,0,11)){return null}break;case"M":case"MM":am=M-1;if(this.outOfRange(am,0,11)){return null}break;case"y":case"yy":case"yyyy":R=K<4?this.expandYear(T,M):M;if(this.outOfRange(R,0,9999)){return null}break;case"h":case"hh":L=M;if(L===12){L=0}if(this.outOfRange(L,0,11)){return null}break;case"H":case"HH":L=M;if(this.outOfRange(L,0,23)){return null}break;case"m":case"mm":ad=M;if(this.outOfRange(ad,0,59)){return null}break;case"s":case"ss":ak=M;if(this.outOfRange(ak,0,59)){return null}break;case"tt":case"t":U=T.PM&&(H===T.PM[0]||H===T.PM[1]||H===T.PM[2]);if(!U&&(!T.AM||(H!==T.AM[0]&&H!==T.AM[1]&&H!==T.AM[2]))){return null}break;case"f":case"ff":case"fff":e=M*Math.pow(10,3-K);if(this.outOfRange(e,0,999)){return null}break;case"ddd":case"dddd":S=this.getDayIndex(T,H,K===3);if(this.outOfRange(S,0,6)){return null}break;case"zzz":var J=H.split(/:/);if(J.length!==2){return null}ae=parseInt(J[0],10);if(this.outOfRange(ae,-12,13)){return null}var P=parseInt(J[1],10);if(this.outOfRange(P,0,59)){return null}I=(ae*60)+(this.startsWith(H,"-")?-P:P);break;case"z":case"zz":ae=M;if(this.outOfRange(ae,-12,13)){return null}I=ae*60;break;case"g":case"gg":var V=H;if(!V||!T.eras){return null}V=this.trim(V.toLowerCase());for(var ag=0,ac=T.eras.length;ag<ac;ag++){if(V===T.eras[ag].name.toLowerCase()){Z=ag;break}}if(Z===null){return null}break}}}var Q=new Date(),Y,O=T.convert;Y=Q.getFullYear();if(R===null){R=Y}else{if(T.eras){R+=T.eras[(Z||0)].offset}}if(am===null){am=0}if(al===null){al=1}if(O){Q=O.toGregorian(R,am,al);if(Q===null){return null}}else{Q.setFullYear(R,am,al);if(Q.getDate()!==al){return null}if(S!==null&&Q.getDay()!==S){return null}}if(U&&L<12){L+=12}Q.setHours(L,ad,ak,e);if(I!==null){var X=Q.getMinutes()-(I+Q.getTimezoneOffset());Q.setHours(Q.getHours()+parseInt(X/60,10),X%60)}return Q},cleardatescache:function(){this.datescache=new Array()},formatDate:function(e,I,H){return this.formatdate(e,I,H)},formatdate:function(Z,ad,U){if(U==undefined||U==null){U=this.defaultcalendar()}if(typeof Z==="string"){return Z}var J=Z.toString()+"_"+ad;if(this.datescache&&this.datescache[J]){if(ad.indexOf("f")==-1){return this.datescache[J]}}if(!ad||!ad.length||ad==="i"){var af;af=this.formatDate(Z,U.patterns.F,U);return af}var aa=U.eras,H=ad==="s";ad=this.expandFormat(U,ad);af=[];var M,ab=["0","00","000"],Q,R,e=/([^d]|^)(d|dd)([^d]|$)/g,ae=0,W=this.getTokenRegExp(),I;function O(ag,aj){var ai,ah=ag+"";if(aj>1&&ah.length<aj){ai=(ab[aj-2]+ah);return ai.substr(ai.length-aj,aj)}else{ai=ah}return ai}function ac(){if(Q||R){return Q}Q=e.test(ad);R=true;return Q}function K(ah,ag){if(I){return I[ag]}if(ah.getMonth!=undefined){switch(ag){case 0:return ah.getFullYear();case 1:return ah.getMonth();case 2:return ah.getDate()}}}for(;;){var N=W.lastIndex,V=W.exec(ad);var S=ad.slice(N,V?V.index:ad.length);ae+=this.appendPreOrPostMatch(S,af);if(!V){break}if(ae%2){af.push(V[0]);continue}var X=V[0],L=X.length;switch(X){case"ddd":case"dddd":var T=(L===3)?U.days.namesAbbr:U.days.names;af.push(T[Z.getDay()]);break;case"d":case"dd":Q=true;af.push(O(K(Z,2),L));break;case"MMM":case"MMMM":var Y=K(Z,1);af.push(U.months[L===3?"namesAbbr":"names"][Y]);break;case"M":case"MM":af.push(O(K(Z,1)+1,L));break;case"y":case"yy":case"yyyy":Y=this.getEraYear(Z,U,this.getEra(Z,aa),H);if(L<4){Y=Y%100}af.push(O(Y,L));break;case"h":case"hh":M=Z.getHours()%12;if(M===0){M=12}af.push(O(M,L));break;case"H":case"HH":af.push(O(Z.getHours(),L));break;case"m":case"mm":af.push(O(Z.getMinutes(),L));break;case"s":case"ss":af.push(O(Z.getSeconds(),L));break;case"t":case"tt":Y=Z.getHours()<12?(U.AM?U.AM[0]:" "):(U.PM?U.PM[0]:" ");af.push(L===1?Y.charAt(0):Y);break;case"f":case"ff":case"fff":af.push(O(Z.getMilliseconds(),3).substr(0,L));break;case"z":case"zz":M=Z.getTimezoneOffset()/60;af.push((M<=0?"+":"-")+O(Math.floor(Math.abs(M)),L));break;case"zzz":M=Z.getTimezoneOffset()/60;af.push((M<=0?"+":"-")+O(Math.floor(Math.abs(M)),2)+":"+O(Math.abs(Z.getTimezoneOffset()%60),2));break;case"g":case"gg":if(U.eras){af.push(U.eras[this.getEra(Z,aa)].name)}break;case"/":af.push(U["/"]);break;default:throw"Invalid date format pattern '"+X+"'.";break}}var P=af.join("");if(!this.datescache){this.datescache=new Array()}this.datescache[J]=P;return P}});i.jqx.data={};var l,E,p=/#.*$/,a=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,f=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,j=/^(?:GET|HEAD)$/,o=/^\/\//,k=/\?/,b=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,d=/([?&])_=[^&]*/,h=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,t=/\s+/,F=i.fn.load,G={},C={},q=["*/"]+["*"];try{E=location.href}catch(A){E=document.createElement("a");E.href="";E=E.href}l=h.exec(E.toLowerCase())||[];function r(e){return function(K,M){if(typeof K!=="string"){M=K;K="*"}var H,N,O,J=K.toLowerCase().split(t),I=0,L=J.length;if(i.isFunction(M)){for(;I<L;I++){H=J[I];O=/^\+/.test(H);if(O){H=H.substr(1)||"*"}N=e[H]=e[H]||[];N[O?"unshift":"push"](M)}}}}function v(H,Q,L,O,N,J){N=N||Q.dataTypes[0];J=J||{};J[N]=true;var P,M=H[N],I=0,e=M?M.length:0,K=(H===G);for(;I<e&&(K||!P);I++){P=M[I](Q,L,O);if(typeof P==="string"){if(!K||J[P]){P=undefined}else{Q.dataTypes.unshift(P);P=v(H,Q,L,O,P,J)}}}if((K||!P)&&!J["*"]){P=v(H,Q,L,O,"*",J)}return P}function u(I,J){var H,e,K=i.jqx.data.ajaxSettings.flatOptions||{};for(H in J){if(J[H]!==undefined){(K[H]?I:(e||(e={})))[H]=J[H]}}if(e){i.extend(true,I,e)}}i.extend(i.jqx.data,{ajaxSetup:function(H,e){if(e){u(H,i.jqx.data.ajaxSettings)}else{e=H;H=i.jqx.data.ajaxSettings}u(H,e);return H},ajaxSettings:{url:E,isLocal:f.test(l[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":q},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":true,"text json":i.parseJSON,"text xml":i.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:r(G),ajaxTransport:r(C),ajax:function(M,J){if(typeof M==="object"){J=M;M=undefined}J=J||{};var P,ad,K,Y,R,V,I,X,Q=i.jqx.data.ajaxSetup({},J),af=Q.context||Q,T=af!==Q&&(af.nodeType||af instanceof i)?i(af):i.event,ae=i.Deferred(),aa=i.Callbacks("once memory"),N=Q.statusCode||{},U={},ab={},L=0,O="canceled",W={readyState:0,setRequestHeader:function(ag,ah){if(!L){var e=ag.toLowerCase();ag=ab[e]=ab[e]||ag;U[ag]=ah}return this},getAllResponseHeaders:function(){return L===2?ad:null},getResponseHeader:function(ag){var e;if(L===2){if(!K){K={};while((e=a.exec(ad))){K[e[1].toLowerCase()]=e[2]}}e=K[ag.toLowerCase()]}return e===undefined?null:e},overrideMimeType:function(e){if(!L){Q.mimeType=e}return this},abort:function(e){e=e||O;if(Y){Y.abort(e)}S(0,e);return this}};function S(ak,ag,al,ai){var e,ao,am,aj,an,ah=ag;if(L===2){return}L=2;if(R){clearTimeout(R)}Y=undefined;ad=ai||"";W.readyState=ak>0?4:0;if(al){aj=B(Q,W,al)}if(ak>=200&&ak<300||ak===304){if(Q.ifModified){an=W.getResponseHeader("Last-Modified");if(an){i.lastModified[P]=an}an=W.getResponseHeader("Etag");if(an){i.etag[P]=an}}if(ak===304){ah="notmodified";e=true}else{e=c(Q,aj);ah=e.state;ao=e.data;am=e.error;e=!am}}else{am=ah;if(!ah||ak){ah="error";if(ak<0){ak=0}}}W.status=ak;W.statusText=(ag||ah)+"";if(e){ae.resolveWith(af,[ao,ah,W])}else{ae.rejectWith(af,[W,ah,am])}W.statusCode(N);N=undefined;if(I){T.trigger("ajax"+(e?"Success":"Error"),[W,Q,e?ao:am])}aa.fireWith(af,[W,ah]);if(I){T.trigger("ajaxComplete",[W,Q]);if(!(--i.active)){i.event.trigger("ajaxStop")}}}ae.promise(W);W.success=W.done;W.error=W.fail;W.complete=aa.add;W.statusCode=function(ag){if(ag){var e;if(L<2){for(e in ag){N[e]=[N[e],ag[e]]}}else{e=ag[W.status];W.always(e)}}return this};Q.url=((M||Q.url)+"").replace(p,"").replace(o,l[1]+"//");Q.dataTypes=i.trim(Q.dataType||"*").toLowerCase().split(t);if(Q.crossDomain==null){V=h.exec(Q.url.toLowerCase());Q.crossDomain=!!(V&&(V[1]!==l[1]||V[2]!==l[2]||(V[3]||(V[1]==="http:"?80:443))!=(l[3]||(l[1]==="http:"?80:443))))}if(Q.data&&Q.processData&&typeof Q.data!=="string"){Q.data=i.param(Q.data,Q.traditional)}v(G,Q,J,W);if(L===2){return W}I=Q.global;Q.type=Q.type.toUpperCase();Q.hasContent=!j.test(Q.type);if(I&&i.active++===0){i.event.trigger("ajaxStart")}if(!Q.hasContent){if(Q.data){Q.url+=(k.test(Q.url)?"&":"?")+Q.data;delete Q.data}P=Q.url;if(Q.cache===false){var H=(new Date()).getTime(),ac=Q.url.replace(d,"$1_="+H);Q.url=ac+((ac===Q.url)?(k.test(Q.url)?"&":"?")+"_="+H:"")}}if(Q.data&&Q.hasContent&&Q.contentType!==false||J.contentType){W.setRequestHeader("Content-Type",Q.contentType)}if(Q.ifModified){P=P||Q.url;if(i.lastModified[P]){W.setRequestHeader("If-Modified-Since",i.lastModified[P])}if(i.etag[P]){W.setRequestHeader("If-None-Match",i.etag[P])}}W.setRequestHeader("Accept",Q.dataTypes[0]&&Q.accepts[Q.dataTypes[0]]?Q.accepts[Q.dataTypes[0]]+(Q.dataTypes[0]!=="*"?", "+q+"; q=0.01":""):Q.accepts["*"]);for(X in Q.headers){W.setRequestHeader(X,Q.headers[X])}if(Q.beforeSend&&(Q.beforeSend.call(af,W,Q)===false||L===2)){return W.abort()}O="abort";for(X in {success:1,error:1,complete:1}){W[X](Q[X])}Y=v(C,Q,J,W);if(!Y){S(-1,"No Transport")}else{W.readyState=1;if(I){T.trigger("ajaxSend",[W,Q])}if(Q.async&&Q.timeout>0){R=setTimeout(function(){W.abort("timeout")},Q.timeout)}try{L=1;Y.send(U,S)}catch(Z){if(L<2){S(-1,Z)}else{throw Z}}}return W},active:0,lastModified:{},etag:{}});function B(P,O,L){var K,M,J,e,H=P.contents,N=P.dataTypes,I=P.responseFields;for(M in I){if(M in L){O[I[M]]=L[M]}}while(N[0]==="*"){N.shift();if(K===undefined){K=P.mimeType||O.getResponseHeader("content-type")}}if(K){for(M in H){if(H[M]&&H[M].test(K)){N.unshift(M);break}}}if(N[0] in L){J=N[0]}else{for(M in L){if(!N[0]||P.converters[M+" "+N[0]]){J=M;break}if(!e){e=M}}J=J||e}if(J){if(J!==N[0]){N.unshift(J)}return L[J]}}function c(R,J){var P,H,N,L,O=R.dataTypes.slice(),I=O[0],Q={},K=0;if(R.dataFilter){J=R.dataFilter(J,R.dataType)}if(O[1]){for(P in R.converters){Q[P.toLowerCase()]=R.converters[P]}}for(;(N=O[++K]);){if(N!=="*"){if(I!=="*"&&I!==N){P=Q[I+" "+N]||Q["* "+N];if(!P){for(H in Q){L=H.split(" ");if(L[1]===N){P=Q[I+" "+L[0]]||Q["* "+L[0]];if(P){if(P===true){P=Q[H]}else{if(Q[H]!==true){N=L[0];O.splice(K--,0,N)}}break}}}}if(P!==true){if(P&&R["throws"]){J=P(J)}else{try{J=P(J)}catch(M){return{state:"parsererror",error:P?M:"No conversion from "+I+" to "+N}}}}}I=N}}return{state:"success",data:J}}var y=[],n=/\?/,D=/(=)\?(?=&|$)|\?\?/,z=(new Date()).getTime();i.jqx.data.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=y.pop()||(i.expando+"_"+(z++));this[e]=true;return e}});i.jqx.data.ajaxPrefilter("json jsonp",function(Q,L,P){var O,e,N,J=Q.data,H=Q.url,I=Q.jsonp!==false,M=I&&D.test(H),K=I&&!M&&typeof J==="string"&&!(Q.contentType||"").indexOf("application/x-www-form-urlencoded")&&D.test(J);if(Q.dataTypes[0]==="jsonp"||M||K){O=Q.jsonpCallback=i.isFunction(Q.jsonpCallback)?Q.jsonpCallback():Q.jsonpCallback;e=window[O];if(M){Q.url=H.replace(D,"$1"+O)}else{if(K){Q.data=J.replace(D,"$1"+O)}else{if(I){Q.url+=(n.test(H)?"&":"?")+Q.jsonp+"="+O}}}Q.converters["script json"]=function(){if(!N){i.error(O+" was not called")}return N[0]};Q.dataTypes[0]="json";window[O]=function(){N=arguments};P.always(function(){window[O]=e;if(Q[O]){Q.jsonpCallback=L.jsonpCallback;y.push(O)}if(N&&i.isFunction(e)){e(N[0])}N=e=undefined});return"script"}});i.jqx.data.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){i.globalEval(e);return e}}});i.jqx.data.ajaxPrefilter("script",function(e){if(e.cache===undefined){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});i.jqx.data.ajaxTransport("script",function(I){if(I.crossDomain){var e,H=document.head||document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(J,K){e=document.createElement("script");e.async="async";if(I.scriptCharset){e.charset=I.scriptCharset}e.src=I.url;e.onload=e.onreadystatechange=function(M,L){if(L||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(H&&e.parentNode){H.removeChild(e)}e=undefined;if(!L){K(200,"success")}}};H.insertBefore(e,H.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var w,x=window.ActiveXObject?function(){for(var e in w){w[e](0,1)}}:false,m=0;function g(){try{return new window.XMLHttpRequest()}catch(H){}}function s(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(H){}}i.jqx.data.ajaxSettings.xhr=window.ActiveXObject?function(){return !this.isLocal&&g()||s()}:g;(function(e){i.extend(i.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(i.jqx.data.ajaxSettings.xhr());if(!i.support){i.support={ajax:true}}if(i.support.ajax){i.jqx.data.ajaxTransport(function(e){if(!e.crossDomain||i.support.cors){var H;return{send:function(N,I){var L,K,M=e.xhr();if(e.username){M.open(e.type,e.url,e.async,e.username,e.password)}else{M.open(e.type,e.url,e.async)}if(e.xhrFields){for(K in e.xhrFields){M[K]=e.xhrFields[K]}}if(e.mimeType&&M.overrideMimeType){M.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!N["X-Requested-With"]){N["X-Requested-With"]="XMLHttpRequest"}try{for(K in N){M.setRequestHeader(K,N[K])}}catch(J){}M.send((e.hasContent&&e.data)||null);H=function(W,Q){var R,P,O,U,T;try{if(H&&(Q||M.readyState===4)){H=undefined;if(L){M.onreadystatechange=function(){};if(x){delete w[L]}}if(Q){if(M.readyState!==4){M.abort()}}else{R=M.status;O=M.getAllResponseHeaders();U={};T=M.responseXML;if(T&&T.documentElement){U.xml=T}try{U.text=M.responseText}catch(V){}try{P=M.statusText}catch(V){P=""}if(!R&&e.isLocal&&!e.crossDomain){R=U.text?200:404}else{if(R===1223){R=204}}}}}catch(S){if(!Q){I(-1,S)}}if(U){I(R,P,U,O)}};if(!e.async){H()}else{if(M.readyState===4){setTimeout(H,0)}else{L=++m;if(x){if(!w){w={};i(window).unload(x)}w[L]=H}M.onreadystatechange=H}}},abort:function(){if(H){H(0,1)}}}}})}i.jqx.filter=function(){this.operator="and";var M=0;var J=1;var P=["EMPTY","NOT_EMPTY","CONTAINS","CONTAINS_CASE_SENSITIVE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_CASE_SENSITIVE","STARTS_WITH","STARTS_WITH_CASE_SENSITIVE","ENDS_WITH","ENDS_WITH_CASE_SENSITIVE","EQUAL","EQUAL_CASE_SENSITIVE","NULL","NOT_NULL"];var R=["EQUAL","NOT_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NULL","NOT_NULL"];var S=["EQUAL","NOT_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NULL","NOT_NULL"];var L=["EQUAL","NOT_EQUAL"];var K=new Array();var Q=new Array();this.evaluate=function(X){var V=true;for(var W=0;W<K.length;W++){var U=K[W].evaluate(X);if(W==0){V=U}else{if(Q[W]==J||Q[W]=="or"){V=V||U}else{V=V&&U}}}return V};this.getfilterscount=function(){return K.length};this.setoperatorsbyfiltertype=function(U,V){switch(U){case"numericfilter":R=V;break;case"stringfilter":P=V;break;case"datefilter":S=V;break;case"booleanfilter":L=V;break}};this.getoperatorsbyfiltertype=function(U){var V=new Array();switch(U){case"numericfilter":V=R.slice(0);break;case"stringfilter":V=P.slice(0);break;case"datefilter":V=S.slice(0);break;case"booleanfilter":V=L.slice(0);break}return V};var O=function(){var U=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return(U()+"-"+U()+"-"+U())};this.createfilter=function(Y,V,X,W,U,Z){if(Y==null||Y==undefined){return null}switch(Y){case"numericfilter":return new N(V,X.toUpperCase());case"stringfilter":return new T(V,X.toUpperCase());case"datefilter":return new H(V,X.toUpperCase(),U,Z);case"booleanfilter":return new I(V,X.toUpperCase());case"custom":return new e(V,X.toUpperCase(),W)}throw new Error("jqxGrid: There is no such filter type. The available filter types are: 'numericfilter', 'stringfilter', 'datefilter' and 'booleanfilter'");return null};this.getfilters=function(){var U=new Array();for(var V=0;V<K.length;V++){var W={value:K[V].filtervalue,condition:K[V].comparisonoperator,operator:Q[V],type:K[V].type};if(K[V].data){W.id=K[V].data}U[V]=W}return U};this.addfilter=function(U,V){K[K.length]=V;V.key=O();Q[Q.length]=U};this.removefilter=function(V){for(var U=0;U<K.length;U++){if(K[U].key==V.key){K.splice(U,1);Q.splice(U,1);break}}};this.getoperatorat=function(U){if(U==undefined||U==null){return null}if(U<0||U>K.length){return null}return Q[U]};this.setoperatorat=function(V,U){if(V==undefined||V==null){return null}if(V<0||V>K.length){return null}Q[U]=U};this.getfilterat=function(U){if(U==undefined||U==null){return null}if(U<0||U>K.length){return null}return K[U]};this.setfilterat=function(U,V){if(U==undefined||U==null){return null}if(U<0||U>K.length){return null}V.key=O();K[U]=V};this.clear=function(){K=new Array();Q=new Array()};var T=function(V,U){this.filtervalue=V;this.comparisonoperator=U;this.type="stringfilter";this.evaluate=function(af){var ae=this.filtervalue;var al=this.comparisonoperator;if(af==null||af==undefined||af==""){if(al=="NULL"){return true}if(al=="NOT_NULL"){return false}if(al=="EQUAL"&&af==ae){return true}if(al=="NOT_EQUAL"&&af!=ae){return true}if(al!="EMPTY"){return false}else{if(af==""){return true}}}var an="";try{an=af.toString()}catch(ag){return true}var am=function(ap,ao){switch(al){case"EQUAL":return i.jqx.string.equalsIgnoreCase(ap,ao);case"EQUAL_CASE_SENSITIVE":return i.jqx.string.equals(ap,ao);case"NOT_EQUAL":return !i.jqx.string.equalsIgnoreCase(ap,ao);case"NOT_EQUAL_CASE_SENSITIVE":return !i.jqx.string.equals(ap,ao);case"CONTAINS":return i.jqx.string.containsIgnoreCase(ap,ao);case"CONTAINS_CASE_SENSITIVE":return i.jqx.string.contains(ap,ao);case"DOES_NOT_CONTAIN":return !i.jqx.string.containsIgnoreCase(ap,ao);case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return !i.jqx.string.contains(ap,ao);case"EMPTY":return ap=="";case"NOT_EMPTY":return ap!="";case"NOT_NULL":return ap!=null;case"STARTS_WITH":return i.jqx.string.startsWithIgnoreCase(ap,ao);case"ENDS_WITH":return i.jqx.string.endsWithIgnoreCase(ap,ao);case"ENDS_WITH_CASE_SENSITIVE":return i.jqx.string.endsWith(ap,ao);case"STARTS_WITH_CASE_SENSITIVE":return i.jqx.string.startsWith(ap,ao);default:return false}};var Z=new Array();if(ae&&ae.indexO&&al!=="NOT_EQUAL"){if(ae.indexOf("|")>=0||ae.indexOf(" AND ")>=0||ae.indexOf(" OR ")>=0||ae.indexOf(" and ")>=0||ae.indexOf(" or ")>=0){var aa=am(an,ae);if(aa){return aa}var ab=ae.indexOf(" AND ")>=0?ae.split(" AND "):new Array();var Y=ae.indexOf(" OR ")>=0?ae.split(" OR "):new Array();var X=ae.indexOf(" and ")>=0?ae.split(" and "):new Array();var ac=ae.indexOf(" or ")>=0?ae.split(" or "):new Array();var W=ae.indexOf("|")>=0?ae.split("|"):new Array();if(W.length>0){for(var ak=0;ak<W.length;ak++){W[ak]=i.trim(W[ak])}}var aj=ae.indexOf(" ")>=0?ae.split(" "):new Array();if(aj.length>0){for(var ak=0;ak<aj.length;ak++){aj[ak]=i.trim(aj[ak])}}ab=ab.concat(aj);ab=ab.concat(X);Y=Y.concat(W);Y=Y.concat(ac);if(ab.length>0){for(var ak=0;ak<ab.length;ak++){if(!ab[ak].indexOf(" OR ")>=0){Z.push(ab[ak])}}}if(Y.length>0){for(var ak=0;ak<Y.length;ak++){if(!Y[ak].indexOf(" AND ")>=0){Z.push(Y[ak])}}}var ai=undefined;for(var ah=0;ah<Z.length;ah++){var af=Z[ah];var aa=am(an,af);var ad=ah<ab.length?"and":"or";if(ai==undefined){ai=aa}else{if(ad=="or"){ai=ai||aa}else{ai=ai&&aa}}}return ai}}return am(an,ae)}};var I=function(V,U){this.filtervalue=V;this.comparisonoperator=U;this.type="booleanfilter";this.evaluate=function(Y){var X=this.filtervalue;var W=this.comparisonoperator;if(Y==null||Y==undefined){if(W=="NULL"){return true}return false}var Z=Y;switch(W){case"EQUAL":return Z==X||Z.toString()==X.toString();case"NOT_EQUAL":return Z!=X&&Z.toString()!=X.toString();default:return false}}};var N=function(V,U){this.filtervalue=V;this.comparisonoperator=U;this.type="numericfilter";this.evaluate=function(ag){var af=this.filtervalue;var al=this.comparisonoperator;if(ag===null||ag===undefined||ag===""){if(al=="NOT_NULL"){return false}if(al=="NULL"){return true}else{switch(al){case"EQUAL":return ag==af;case"NOT_EQUAL":return ag!=af}return false}}else{if(al=="NULL"){return false}if(al=="NOT_NULL"){return true}}var an=ag;try{an=parseFloat(an)}catch(ah){if(ag.toString()!=""){return false}}var am=function(ap,ao){switch(al){case"EQUAL":return ap==ao;case"NOT_EQUAL":return ap!=ao;case"GREATER_THAN":return ap>ao;case"GREATER_THAN_OR_EQUAL":return ap>=ao;case"LESS_THAN":return ap<ao;case"LESS_THAN_OR_EQUAL":return ap<=ao;case"STARTS_WITH":return i.jqx.string.startsWithIgnoreCase(ap.toString(),ao.toString());case"ENDS_WITH":return i.jqx.string.endsWithIgnoreCase(ap.toString(),ao.toString());case"ENDS_WITH_CASE_SENSITIVE":return i.jqx.string.endsWith(ap.toString(),ao.toString());case"STARTS_WITH_CASE_SENSITIVE":return i.jqx.string.startsWith(ap.toString(),ao.toString());case"CONTAINS":return i.jqx.string.containsIgnoreCase(ap.toString(),ao.toString());case"CONTAINS_CASE_SENSITIVE":return i.jqx.string.contains(ap.toString(),ao.toString());case"DOES_NOT_CONTAIN":return !i.jqx.string.containsIgnoreCase(ap.toString(),ao.toString());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return !i.jqx.string.contains(ap.toString(),ao.toString());default:return true}};var aa=new Array();if(af&&af.indexOf){af=af.replace("$","")}if(af.indexOf&&(af.indexOf("|")>=0||af.indexOf(" AND ")>=0||af.indexOf(" OR ")>=0||af.indexOf(" and ")>=0||af.indexOf(" or ")>=0)){var ab=am(an,af);if(ab){return ab}af=af.toString();var ac=af.indexOf(" AND ")>=0?af.split(" AND "):new Array();var Z=af.indexOf(" OR ")>=0?af.split(" OR "):new Array();var Y=af.indexOf(" and ")>=0?af.split(" and "):new Array();var ad=af.indexOf(" or ")>=0?af.split(" or "):new Array();ac=ac.concat(Y);Z=Z.concat(ad);var X=af.indexOf("|")>=0?af.split("|"):new Array();if(X.length>0){for(var ak=0;ak<X.length;ak++){X[ak]=i.trim(X[ak])}}Z=Z.concat(X);if(ac.length>0){for(var ak=0;ak<ac.length;ak++){if(!ac[ak].indexOf(" OR ")>=0){aa.push(ac[ak])}}}if(Z.length>0){for(var ak=0;ak<Z.length;ak++){if(!Z[ak].indexOf(" AND ")>=0){aa.push(Z[ak])}}}var aj=undefined;for(var ai=0;ai<aa.length;ai++){var ag=aa[ai];if(ag&&ag.indexOf&&ag.indexOf("..")>=0){var W=ag.toString().split("..");if(W.length==2){ab=an>=W[0]&&an<=W[1]}}else{var ab=am(an,ag)}var ae=ai<ac.length?"and":"or";if(aj==undefined){aj=ab}else{if(ae=="or"){aj=aj||ab}else{aj=aj&&ab}}}return aj}if(af&&af.indexOf&&af.indexOf("..")>=0){aa=af.toString().split("..");if(aa.length==2){return an>=aa[0]&&an<=aa[1]}}return am(an,af)}};var H=function(X,V,W,ab){this.filtervalue=X;this.type="datefilter";var Z=this;if(W!=undefined&&ab!=undefined){var Y=i.jqx.dataFormat.parsedate(X,W,ab);if(Y!=null){this.filterdate=Y}else{var U=i.jqx.dataFormat.tryparsedate(X,ab);if(U!=null){this.filterdate=U}}}else{var aa=new Date(X);if(aa.toString()=="NaN"||aa.toString()=="Invalid Date"){this.filterdate=i.jqx.dataFormat.tryparsedate(X)}else{this.filterdate=aa}}if(!this.filterdate){var aa=new Date(X);if(aa.toString()=="NaN"||aa.toString()=="Invalid Date"){this.filterdate=i.jqx.dataFormat.tryparsedate(X)}else{this.filterdate=aa}}this.comparisonoperator=V;this.evaluate=function(ao){var an=this.filtervalue;var aw=this.comparisonoperator;if(ao==null||ao==undefined||ao==""){if(aw=="NOT_NULL"){return false}if(aw=="NULL"){return true}else{switch(aw){case"EQUAL":return ao==an;case"NOT_EQUAL":return ao!=an}return false}}else{if(aw=="NULL"){return false}if(aw=="NOT_NULL"){return true}}var ay=new Date();ay.setFullYear(1900,0,1);ay.setHours(12,0,0,0);try{var av=new Date(ao);if(av.toString()=="NaN"||av.toString()=="Invalid Date"){ao=i.jqx.dataFormat.tryparsedate(ao)}else{ao=av}ay=ao;var at=false;if(W!=undefined&&ab!=undefined){if(W.indexOf("t")>=0||W.indexOf("T")>=0||W.indexOf(":")>=0||W.indexOf("f")>=0){at=true;if(an&&an.toString().indexOf(":")==-1){var aj=i.jqx.dataFormat.tryparsedate(an.toString()+":00",ab);if(aj!=null){Z.filterdate=aj}}}}if(W!=undefined){if(W.indexOf("hh")>=0||W.indexOf("t")>=0){at=true}}if(!at){ay.setHours(0);ay.setMinutes(0);ay.setSeconds(0)}}catch(ap){if(ao.toString()!=""){return false}}if(Z.filterdate!=null){an=Z.filterdate}else{if(an&&an.indexOf){if(an.indexOf(":")!=-1||!isNaN(parseInt(an))){var ai=new Date(ay);ai.setHours(12,0,0,0);var ah=an.split(":");for(var au=0;au<ah.length;au++){if(au==0){ai.setHours(ah[au])}if(au==1){ai.setMinutes(ah[au])}if(au==2){ai.setSeconds(ah[au])}}an=ai}}}if(at){if(an&&an.setFullYear){if(ay&&ay.getFullYear){if(W.indexOf("d")==-1&&W.indexOf("M")==-1&&W.indexOf("y")==-1){an.setFullYear(ay.getFullYear(),ay.getMonth(),ay.getDate())}}}}var ax=function(aA,az){if(aA==null){aA=""}switch(aw){case"EQUAL":return aA.toString()==az.toString();case"NOT_EQUAL":return aA.toString()!=az.toString();case"GREATER_THAN":return aA>az;case"GREATER_THAN_OR_EQUAL":return aA>=az;case"LESS_THAN":return aA<az;case"LESS_THAN_OR_EQUAL":return aA<=az;case"STARTS_WITH":return i.jqx.string.startsWithIgnoreCase(aA.toString(),az.toString());case"ENDS_WITH":return i.jqx.string.endsWithIgnoreCase(aA.toString(),az.toString());case"ENDS_WITH_CASE_SENSITIVE":return i.jqx.string.endsWith(aA.toString(),az.toString());case"STARTS_WITH_CASE_SENSITIVE":return i.jqx.string.startsWith(aA.toString(),az.toString());case"CONTAINS":return i.jqx.string.containsIgnoreCase(aA.toString(),az.toString());case"CONTAINS_CASE_SENSITIVE":return i.jqx.string.contains(aA.toString(),az.toString());case"DOES_NOT_CONTAIN":return !i.jqx.string.containsIgnoreCase(aA.toString(),az.toString());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return !i.jqx.string.contains(aA.toString(),az.toString());default:return true}};var ag=new Array();if(an&&an.indexOf){if(an.indexOf("|")>=0||an.indexOf(" AND ")>=0||an.indexOf(" OR ")>=0||an.indexOf(" and ")>=0||an.indexOf(" or ")>=0){var aj=ax(ay,an);if(aj){return aj}var ak=an.indexOf(" AND ")>=0?an.split(" AND "):new Array();var af=an.indexOf(" OR ")>=0?an.split(" OR "):new Array();var ae=an.indexOf(" and ")>=0?an.split(" and "):new Array();var al=an.indexOf(" or ")>=0?an.split(" or "):new Array();ak=ak.concat(ae);af=af.concat(al);var ad=an.indexOf("|")>=0?an.split("|"):new Array();if(ad.length>0){for(var au=0;au<ad.length;au++){ad[au]=i.trim(ad[au])}}af=af.concat(ad);if(ak.length>0){for(var au=0;au<ak.length;au++){if(!ak[au].indexOf(" OR ")>=0){ag.push(ak[au])}}}if(af.length>0){for(var au=0;au<af.length;au++){if(!af[au].indexOf(" AND ")>=0){ag.push(af[au])}}}var ar=undefined;for(var aq=0;aq<ag.length;aq++){var ao=ag[aq];if(ao&&ao.indexOf&&ao.indexOf("..")>=0){var ac=ao.toString().split("..");if(ac.length==2){aj=ay>=ac[0]&&ay<=ac[1]}}else{var aj=ax(ay,ao)}var am=aq<ak.length?"and":"or";if(ar==undefined){ar=aj}else{if(am=="or"){ar=ar||aj}else{ar=ar&&aj}}}return ar}}if(an&&an.indexOf&&an.indexOf("..")>=0){ag=an.toString().split("..");if(ag.length==2){return ay>=ag[0]&&ay<=ag[1]}}return ax(ay,an)}};var e=function(V,U,W){this.filtervalue=V;this.comparisonoperator=U;this.evaluate=function(Y,X){return W(this.filtervalue,Y,this.comparisonoperator)}}}})(jqxBaseFramework);
 
@@ -20,15 +20,15 @@
 
 (function(b){var a=0;b.jqx.jqxWidget("jqxTouch","",{});b.extend(b.jqx._jqxTouch.prototype,{defineInstance:function(){this.swipeMin=50;this.swipeMax=500;this.swipeDelay=1000;this.tapHoldDelay=750;this.swipeMaxVerticalDisance=100;this.swipeMaxHorizontalDisance=100;this.orientationChangeEnabled=true;this._eventsMap={mousedown:b.jqx.mobile.getTouchEventName("touchstart"),mouseup:b.jqx.mobile.getTouchEventName("touchend"),mousemove:b.jqx.mobile.getTouchEventName("touchmove")};this._swipeLocked=false;this._rotationInterval=200;this._events=["tap","taphold","swipe","swipeleft","swiperight","swipetop","swipebottom","orientationchange"];this._instanceId=-1},createInstance:function(){a+=1;this._instanceId=a;this._isTouchDevice=b.jqx.mobile.isTouchDevice();this._defineRotateHandler()},refresh:function(){this._removeEventListeners();this._addEventListeners()},_defineRotateHandler:function(){var c=this;if(!this._rotateHandler){this._rotateHandler=function(){c._checkOrientation()}}},_getEvent:function(c){if(this._isTouchDevice){c=this._eventsMap[c]}return c+this._getEventNamespace()},_getEventNamespace:function(){return".swipe"+this._instanceId},_removeEventListeners:function(){clearInterval(this._rotateInterval);this.removeHandler(b(document),this._getEvent("mouseup"));this.removeHandler(this.host,this._getEvent("mousedown"));this.removeHandler(this.host,this._getEvent("mousemove"));if(window.removeEventListener){window.removeEventListener("resize",this._rotateHandler);window.removeEventListener("orientationchange",this._rotateHandler)}},_addEventListeners:function(){var c=this;this.addHandler(this.host,this._getEvent("mouseup"),function(d){c._resetSwipe();c._resetTap()});this.addHandler(this.host,this._getEvent("mousedown"),function(d){c._initSwipe(d);c._initTap(d)});this.addHandler(this.host,this._getEvent("mousemove"),function(d){c._maxSwipeVerticalDistance=Math.max(c._maxSwipeVerticalDistance,Math.abs(c._startY-c._getCoordinates(d).y));c._maxSwipeHorizontalDistance=Math.max(c._maxSwipeHorizontalDistance,Math.abs(c._startX-c._getCoordinates(d).x));c._mouseMoved=true;return c._handleSwipeEvents(d)});this._rotationListeners()},_handleSwipeEvents:function(d){var c=true;if(this._mouseDown&&!this._tapHoldFired){c=this._handleVerticalSwipeEvents(d);c=this._handleHorizontalSwipeEvents(d)}this._lastPosition=this._getCoordinates(d);return c},_handleVerticalSwipeEvents:function(f){var d,c;d=this._getCoordinates(f).y;c=d-this._startY;if(this._maxSwipeHorizontalDistance<this.swipeMaxHorizontalDisance){return this._swiped(f,c,2)}return true},_handleHorizontalSwipeEvents:function(f){var d,c;d=this._getCoordinates(f).x;c=d-this._startX;if(this._maxSwipeVerticalDistance<this.swipeMaxVerticalDisance){return this._swiped(f,c)}return true},_swiped:function(f,d,c){c=c||0;if(Math.abs(d)>=this.swipeMin&&!this._swipeEvent&&!this._swipeLocked){this._swipeEvent=this._getSwipeEvent(d,c)}if(Math.abs(d)<=this.swipeMax){f.stopImmediatePropagation();return false}return true},_getSwipeEvent:function(e,d){var c;if(e<0){c={eventId:3+d,data:{target:this.host}}}else{c={eventId:4+d,data:{target:this.host}}}return c},_resetSwipe:function(){if(this._swipeEvent&&!this._swipeLocked){this._raiseEvent(2,this._swipeEvent.data);this._raiseEvent(this._swipeEvent.eventId,this._swipeEvent.data)}clearTimeout(this._swipeTimeout);this._mouseDown=false},_resetTap:function(){clearTimeout(this._tapHoldTimeout);if(!this._tapHoldFired&&!this._mouseMoved){this._raiseEvent(0,{target:this.host})}},_initTap:function(d){var c=this;this._mouseMoved=false;this._tapHoldFired=false;this._tapHoldTimeout=setTimeout(function(){if(!c._mouseMoved){c._raiseEvent(1,{target:this.host});c._tapHoldFired=true}},this.tapHoldDelay)},_initSwipe:function(d){var c=this;this._mouseDown=true;this._maxSwipeVerticalDistance=0;this._maxSwipeHorizontalDistance=0;this._startX=this._getCoordinates(d).x;this._startY=this._getCoordinates(d).y;this._swipeLocked=false;this._swipeEvent=null;this._swipeTimeout=setTimeout(function(){c._swipeLocked=true},this.swipeDelay)},_rotationListeners:function(){var c=this;this._previousOrientation=window.orientation;this._previousWidth=screen.width;if(this.orientationChangeEnabled){if(window.addEventListener){window.addEventListener("resize",this._rotateHandler,false);window.addEventListener("orientationchange",this._rotateHandler,false)}this._rotateInterval=setInterval(function(){c._checkOrientation()},this._rotationInterval)}},_checkOrientation:function(){var c="vertical";if(window.orientation!==this._previousOrientation||this._previousWidth!==screen.width){if(window.orientation===90||screen.width>screen.height){c="horizontal"}this._raiseEvent(7,{orientation:c})}this._previousOrientation=window.orientation;this._previousWidth=screen.width},_raiseEvent:function(d,c){var e=b.Event(this._events[d]);e.args=c;return this.host.trigger(e)},_getCoordinates:function(d){var f=b.jqx.position(d);f.x=f.left;f.y=f.top;return f},propertyChangedHandler:function(c,d,f,e){if(d==="orientationChangeEnabled"){this.refresh()}else{return}},isTouchDevice:function(){return this._isTouchDevice}})}(jqxBaseFramework));
 
-(function(b){var a=(function(){var c={},u,q,j,l,g,h,o,p;function d(B,A,x,z,y,v,w){this.hierarchy=y;this.exportFormat=v;this.filename=w;B.beginFile(w);n(B);k(B);B.endFile(w);return B.getFile()}function n(z){var x=true;b.each(q,function(){if(this.hidden){x=false;return false}});z.beginHeader(x);var w=0;for(var v in q){if(q[v].columnsDataFields){v=q[v].columnsDataFields[w].displayfield}var y=m(v,q[v]);z.appendHeaderCell(q[v],v,y,x,w);w++}z.endHeader(x)}function k(x){x.beginBody();if(this.hierarchy){var w=function(z){for(var y=0;y<z.length;y+=1){if(z[y]!==undefined){x.beginRow(z[y].level);e(x,z[y],y,true);if(z[y].records){x.beginRows(z[y].level);w(z[y].records);x.endRows(z[y].level)}x.endRow(z[y].level)}}};w(u);x.endBody();return}for(var v=0;v<u.length;v+=1){if(u[v]!==undefined){e(x,u[v],v)}}x.endBody()}function e(A,z,B,v){var x;if(v!=true){A.beginRow()}var y=0;for(var w in q){if(q[w].columnsDataFields){w=q[w].columnsDataFields[y].displayfield}x=s(B,w);if(x){if(x.level!=undefined){if(x.index-1>z.level&&x.index-1<x.maxLevel){y++;continue}}if(x.maxLevel!=undefined){if(x.index-1==x.maxLevel){x=b.extend({},x);x.merge=x.maxLevel-z.level-1}}}if(z.level!=undefined&&z.label!=undefined){if(this.exportFormat==="xml"||this.exportFormat==="json"){var C={};C.text="group";A.appendBodyCell(z.label,C,x,z,y,"group");break}}if(z.hasOwnProperty(w)){A.appendBodyCell(z[w],q[w],x,z,y)}else{A.appendBodyCell("",q[w],x,z,y)}y++}if(v!=true){A.endRow()}}function m(w,x){if(x.style){return j[x.style]}var v=t();if(v.length>0){return v[0].style}return null}function t(){if(!g){g=new Array();b.each(j,function(v,w){g[g.length]={name:v,style:w}})}return g}function s(A,z){var B=q[z];if(B){if(B.customCellStyles){var x=B.customCellStyles[A];if(x){return j[x]}}if(B.cellStyle){if(B.cellAltStyle){var w=A%2;if(w==0){return j[B.cellStyle]}return j[B.cellAltStyle]}return j[B.cellStyle]}else{var v=t();if(v.length>0){var w=A%(v.length-1);var y=v[w+1].style;return y}}}return null}function r(y,w,x){var v=document.createElement("input");v.name=w;v.value=y;v.type="hidden";x.appendChild(v);return v}function f(x,v,w){var y=document.createElement("textarea");y.name=v;y.value=x;w.appendChild(y);return y}function i(w,z,y,v,A){var x=document.createElement("form");r(w,"filename",x);r(z,"format",x);f(y,"content",x);if(v==undefined||v==""){if(window&&window.location.toString().indexOf("jqwidgets.com")>=0){v="https://jqwidgets.com/export_server/dataexport.php"}else{v="http://jquerygrid.net/export_server/dataexport.php"}}x.action=v;x.method="post";if(A){x.acceptCharset=A}document.body.appendChild(x);return x}l=function(A,y,x,w,z,v){if(!(this instanceof a)){return new a(A,y,x,z,v)}u=A;q=y;j=x;this.exportTo=function(K,H,G,B){K=K.toString().toLowerCase();var D=c[K];if(typeof D==="undefined"){throw"You can't export to "+K+" format."}if(K==="pdf"&&B==undefined){var M=this.exportTo(K,H,K,"pdf");if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var L=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);L.cellInitialize();var J=b(M).find("th");var I=b(M).find("tr");var N=0;L.setFontSize(13*72/96);var F=595;switch(b.jqx.pdfExport.paperSize){case"legal":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=1008}break;case"letter":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=792}break;case"a3":var F=841;if(b.jqx.pdfExport.orientation!=="portrait"){F=1190}break;case"a4":var F=595;if(b.jqx.pdfExport.orientation!=="portrait"){F=842}break;case"a5":var F=420;if(b.jqx.pdfExport.orientation!=="portrait"){F=595}break}F-=20;var E=0;var C=[];b.each(J,function(O){var P=parseInt(this.style.width);if(isNaN(P)){P=25}var Q=P*72/96;C[O]=Q;E+=Q});if(E>F){b.each(C,function(O){C[O]=(C[O]/E)*100;C[O]=C[O]*F/100})}b.each(J,function(P){var T=C[P];var S=25*72/96;var R=L.getTextDimensions(b(this).html());var Q=b(this).html();if(R.w+3>T){var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U.length>3){Q=U.substring(0,U.length-3)+"..."}else{Q=U.substring(0,1)+"..."}var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U!=Q){Q=U}}L.cell(10,10,T,S,Q,N)});N++;b.each(I,function(V){if(V===0){return true}var P=b(this).children();var Q=P.length>J.length;if(Q){var Y=P.length-J.length;var Z="";var X=C[0];var U=25*72/96;for(var R=0;R<=Y;R++){var O=P[R].innerHTML;if(O==="+"||O==="-"){O=O+" "}if(O==="&nbsp;"){O="   "}Z+=O}var T=L.getTextDimensions(Z);if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N);for(var R=Y+1;R<P.length;R++){var V=R-Y;var X=C[V];var U=25*72/96;var Z=b(P[R]).html();var T=L.getTextDimensions(b(P[R]).html());if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N)}N++;return true}b.each(P,function(ab){var af=C[ab];var ae=25*72/96;var ad=b(this).html();var ac=L.getTextDimensions(b(this).html());if(ac.w+3>af){var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag.length>3){ad=ag.substring(0,ag.length-3)+"..."}else{ad=ag.substring(0,1)+"..."}var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag!=ad){ad=ag}}L.cell(10,10,af,ae,ad,N)});N++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}return L}return d(D,u,q,j,H,G,B)};this.exportToFile=function(L,B,O,F,I){if(L==="pdf"){var N=this.exportTo(L,I,L,B);if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var M=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);if(F=="utf-8"||F=="UTF-8"){M.setFont("courier","normal")}M.cellInitialize();var K=b(N).find("th");var J=b(N).find("tr");var P=0;M.setFontSize(13*72/96);var G=595;switch(b.jqx.pdfExport.paperSize){case"legal":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=1008}break;case"letter":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=792}break;case"a3":var G=841;if(b.jqx.pdfExport.orientation!=="portrait"){G=1190}break;case"a4":var G=595;if(b.jqx.pdfExport.orientation!=="portrait"){G=842}break;case"a5":var G=420;if(b.jqx.pdfExport.orientation!=="portrait"){G=595}break}G-=20;var E=0;var C=[];b.each(K,function(Q){var R=parseInt(this.style.width);if(isNaN(R)){R=25}var S=R*72/96;C[Q]=S;E+=S});if(E>G){b.each(C,function(Q){C[Q]=(C[Q]/E)*100;C[Q]=C[Q]*G/100})}b.each(K,function(R){var V=C[R];var U=25*72/96;var T=M.getTextDimensions(b(this).html());var S=b(this).html();if(T.w+3>V){var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W.length>3){S=W.substring(0,W.length-3)+"..."}else{S=W.substring(0,1)+"..."}var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W!=S){S=W}}M.cell(10,10,V,U,S,P)});P++;b.each(J,function(X){if(X===0){return true}var R=b(this).children();var S=R.length>K.length;if(S){var aa=R.length-K.length;var ab="";var Z=C[0];var W=25*72/96;for(var T=0;T<=aa;T++){var Q=R[T].innerHTML;if(Q==="+"||Q==="-"){Q=Q+" "}if(Q==="&nbsp;"){Q="   "}ab+=Q}var V=M.getTextDimensions(ab);if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P);for(var T=aa+1;T<R.length;T++){var X=T-aa;var Z=C[X];var W=25*72/96;var ab=b(R[T]).html();if(ab==="&nbsp;"){ab="   "}var V=M.getTextDimensions(b(R[T]).html());if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P)}P++;return true}b.each(R,function(ad){var ah=C[ad];var ag=25*72/96;var af=b(this).html();if(af==="&nbsp;"){af="   "}var ae=M.getTextDimensions(b(this).html());if(ae.w+3>ah){var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai.length>3){af=ai.substring(0,ai.length-3)+"..."}else{af=ai.substring(0,1)+"..."}var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai!=af){af=ai}}M.cell(10,10,ah,ag,af,P)});P++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}M.save(B+".pdf");return}var H=this.exportTo(L,I,L,B),D=i(B,L,H,O,F);D.submit();document.body.removeChild(D)};this.exportToLocalFile=function(F,C,D,B){var E=this.exportTo(F,D,B);document.location.href="data:application/octet-stream;filename="+C+","+encodeURIComponent(E)}};l.extend=function(v,w){if(w instanceof b.jqx.dataAdapter.DataExportModuleBase){c[v]=w}else{throw"The module "+v+" is not instance of DataExportModuleBase."}};return l}());b.jqx.dataAdapter.ArrayExporter=a})(jqxBaseFramework);(function(b){var a=function(){this.formatData=function(f,e,c,h){if(e==="date"){var d="";if(typeof f==="string"){d=b.jqx.dataFormat.tryparsedate(f);f=d}if(f===""||f===null){return""}d=b.jqx.dataFormat.formatdate(f,c,h);if((d&&d.toString()=="NaN")||d==null){return""}f=d}else{if(e==="number"||e==="float"||e==="int"||e=="integer"){if(f===""||f===null){return""}if(!isNaN(new Number(f))){var g=b.jqx.dataFormat.formatnumber(f,c,h);if(g.toString()=="NaN"){return""}else{f=g}}}else{f=f}}if(f===null){return""}return f};this.getFormat=function(f){var c=f?f.formatString:"";var e=f?f.localization:"";var d="string";d=f?f.type:"string";if(d=="number"||d=="float"){if(!c){c="f2"}}if(d=="int"||d=="integer"){if(!c){c="n0"}}if(d=="date"){if(!c){c="d"}}return{type:d,formatString:c,localization:e}};this.beginFile=function(){throw"Not implemented!"};this.beginHeader=function(){throw"Not implemented!"};this.appendHeaderCell=function(){throw"Not implemented!"};this.endHeader=function(){throw"Not implemented!"};this.beginBody=function(){throw"Not implemented!"};this.beginRow=function(){throw"Not implemented!"};this.beginRows=function(){throw"Not implemented!"};this.endRows=function(){throw"Not implemented!"};this.appendBodyCell=function(){throw"Not implemented!"};this.endRow=function(){throw"Not implemented!"};this.endBody=function(){throw"Not implemented!"};this.endFile=function(){throw"Not implemented!"};this.getFile=function(){throw"Not implemented!"}};b.jqx.dataAdapter.DataExportModuleBase=a})(jqxBaseFramework);(function(d){var c=function(j){var e,h,g;var l=0;var i=this;this.beginFile=function(){e=""};this.beginHeader=function(){};this.appendHeaderCell=function(q,r,p,m,n){if(p){if(p.level!=undefined){if(n<p.maxLevel){return}else{if(n===p.maxLevel){if(m){k(q.text)}for(var o=0;o<p.maxLevel;o++){k("")}return}}}}g=m;if(m){k(q.text)}};this.endHeader=function(){this.endRow()};this.beginBody=function(){l=0};this.beginRow=function(){if((l>0)||(l==0&&g)){e+="\n"}l++};this.appendBodyCell=function(q,m,p,r,n){if(p){if(p.maxLevel!=undefined){if(n===p.maxLevel){k(q,m);for(var o=0;o<p.maxLevel-r.level-1;o++){k("",m)}return}}}k(q,m)};this.endRow=function(){e=e.substring(0,e.length-1)};this.endBody=function(){};this.endFile=function(){};this.getFile=function(){return e};function f(m,o){if(o){var n=i.getFormat(o);m=i.formatData(m,n.type,n.formatString,n.localization)}m='"'+m+'"';return m}function k(m,n){m=f(m,n);e+=m+j}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var a=function(){};a.prototype=new c(",");var b=function(){};b.prototype=new c("\t");d.jqx.dataAdapter.ArrayExporter.extend("csv",new a());d.jqx.dataAdapter.ArrayExporter.extend("tsv",new b())})(jqxBaseFramework);(function(d){var a=function(){var i=false;var g;var h;var j=0;this.setPDF=function(){i=true};this.beginFile=function(k){if(i||k==undefined){g='<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}else{g='<html>\n\t<head>\n\t\t<title></title>\n\t\t<meta http-equiv=Content-type content="text/html; charset=UTF-8">\n\t</head>\n\t<body>\n\t\t<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}};this.beginHeader=function(){if(i){g+="\n\t<thead><tr>"}else{g+="\n\t\t\t<thead>"}};this.appendHeaderCell=function(m,n,l,k){h=k;if(!k){return}if(i){g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}else{if(l.disabled){return}if(l.merge){if(m.width){g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="'+f(l)+'">'+m.text+"</th>"}}else{if(m.width){g+='\n\t\t\t\t<th style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}}}};this.endHeader=function(){if(i){g+="\n\t</tr></thead>"}else{g+="\n\t\t\t</thead>"}};this.beginBody=function(){if(i){g+="\n\t<tbody>"}else{g+="\n\t\t\t<tbody>"}j=0};this.beginRow=function(){if(i){g+="\n\t<tr>"}else{g+="\n\t\t\t\t<tr>"}j++};this.appendBodyCell=function(l,n,k){var m=this.getFormat(n);if(l===""){l="&nbsp;"}if(i){if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(k.merge){if(j==1&&!h){g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}}};this.endRow=function(){if(i){g+="\n\t</tr>"}else{g+="\n\t\t\t\t</tr>"}};this.endBody=function(){if(i){g+="\n\t</tbody>"}else{g+="\n\t\t\t</tbody>"}};this.endFile=function(k){if(i||k==undefined){g+="\n</table>"}else{g+="\n\t\t</table>\n\t</body>\n</html>\n"}};this.getFile=function(){return g};function f(m){var k="";for(var l in m){if(m.hasOwnProperty(l)){if(i&&l=="font-size"){m[l]="100%"}k+=l+":"+m[l]+";"}}return k}};a.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var e=function(){};e.prototype=new a();var c=function(){};c.prototype=new a();var b=new c();d.jqx.dataAdapter.ArrayExporter.extend("html",new e());d.jqx.dataAdapter.ArrayExporter.extend("pdf",b)})(jqxBaseFramework);(function(b){var a=function(){var h,l,d,i,c,j,m={style:"",stylesMap:{font:{color:"Color","font-family":"FontName","font-style":"Italic","font-weight":"Bold"},interior:{"background-color":"Color",background:"Color"},alignment:{left:"Left",center:"Center",right:"Right"}},startStyle:function(p){this.style+='\n\t\t<Style ss:ID="'+p+'" ss:Name="'+p+'">'},buildAlignment:function(q){if(q["text-align"]){var r=this.stylesMap.alignment[q["text-align"]];if(!r){r="Left"}var p='\n\t\t\t<Alignment ss:Vertical="Bottom" ss:Horizontal="'+r+'"/>';this.style+=p}},buildBorder:function(s){if(s["border-color"]){var r="\n\t\t\t<Borders>";var u='\n\t\t\t\t<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var p='\n\t\t\t\t<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var q='\n\t\t\t\t<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var t='\n\t\t\t\t<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';r+=u;r+=p;r+=q;r+=t;r+="\n\t\t\t</Borders>";this.style+=r}},buildFont:function(q){var r=this.stylesMap.font,p="\n\t\t\t<Font ";for(var s in r){if(typeof q[s]!=="undefined"){if(s==="font-style"&&q[s].toString().toLowerCase()==="italic"){p+='ss:Italic="1" '}else{if(s==="font-weight"&&q[s].toString().toLowerCase()==="bold"){p+='ss:Bold="1" '}else{if(s==="color"){p+="ss:"+r[s]+'="'+q[s]+'" '}}}}}p+="/>";this.style+=p},buildInterior:function(q){var r=this.stylesMap.interior,t="\n\t\t\t<Interior ";var p=false;for(var s in r){if(typeof q[s]!=="undefined"){t+="ss:"+r[s]+'="'+q[s]+'" ';p=true}}if(p){t+='ss:Pattern="Solid"'}t+="/>";this.style+=t},buildFormat:function(q){if(q.dataType=="number"||q.dataType=="float"||q.dataType=="int"||q.dataType=="integer"){var p=q.formatString;if(p==""||p.indexOf("n")!=-1||p.indexOf("N")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="0"/>'}else{if(p=="f"||p=="F"||p=="D"||p.indexOf("d")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="#,##0.00_);[Red](#,##0.00)"/>'}else{if(p.indexOf("p")!=-1||p.indexOf("P")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="Percent"/>'}else{if(p.indexOf("c")!=-1||p.indexOf("C")!=-1){if(q.currencysymbol&&parseInt(q.currencysymbol.charCodeAt(0))==8364){this.style+='\n\t\t\t<NumberFormat ss:Format="Euro Currency"/>'}else{this.style+='\n\t\t\t<NumberFormat ss:Format="Currency"/>'}}}}}}else{if(q.dataType=="date"){this.style+='\n\t\t\t<NumberFormat ss:Format="Short Date"/>'}}},closeStyle:function(){this.style+="\n\t\t</Style>"},toString:function(){var p=this.style;this.style="";return p}};this.beginFile=function(){c={};j=0;h='<?xml version="1.0"?>\n\t<?mso-application progid="Excel.Sheet"?> \n\t<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:o="urn:schemas-microsoft-com:office:office" \n\txmlns:x="urn:schemas-microsoft-com:office:excel" \n\txmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:html="http://www.w3.org/TR/REC-html40"> \n\t<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> \n\t<Version>12.00</Version> \n\t</DocumentProperties> \n\t<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> \n\t<WindowHeight>8130</WindowHeight> \n\t<WindowWidth>15135</WindowWidth> \n\t<WindowTopX>120</WindowTopX> \n\t<WindowTopY>45</WindowTopY> \n\t<ProtectStructure>False</ProtectStructure> \n\t<ProtectWindows>False</ProtectWindows> \n\t</ExcelWorkbook> \n\t<Styles>'};this.beginHeader=function(){l='\n\t<Worksheet ss:Name="Sheet1">\n\t\t<Table>';d=[];i=[]};this.appendHeaderCell=function(r,s,q){var p=r.width!=undefined?r.width:r.text.length*10;l+='\n\t\t\t<Column ss:Width="'+p+'"/>';d.push(r);i.push(q)};this.endHeader=function(p){if(p){this.beginRow();for(var q=0;q<d.length;q+=1){if(i[q].disabled){continue}g.call(this,d[q]["text"],null,i[q])}this.endRow()}};this.beginBody=function(){};this.beginRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="<Row>";return}l+="\n\t\t\t<Row>"};this.beginRows=function(p){l+="\n\t\t\t\t<Rows>"};this.appendBodyCell=function(r,p,q,s){g.call(this,r,p,q,s)};this.endRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Row>";return}l+="\n\t\t\t</Row>"};this.endRows=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Rows>";return}};this.endBody=function(){l+="\n\t\t</Table>"};this.endFile=function(){l+="\n\t</Worksheet>\n</Workbook>";h+="\n\t</Styles>"};this.getFile=function(){return h+l};function g(t,w,s,v){var r="String";var u=this.getFormat(w);if(t!=null&&t.toString().substring(0,3)=="_AG"){t=t.toString().substring(3);r="String"}else{if(u.type=="date"){var q=t;t=this.formatData(t,u.type,u.formatString,u.localization);if(t===null||t===""){t="";r="String"}else{t=q.toISOString();r="DateTime"}}if(u.type=="string"){if(t===null||t===undefined){t=""}else{if(t.toString().indexOf("&")>=0){t=t.toString().replace(/&/g,"&amp;")}if(t.toString().indexOf(">")>=0){t=t.toString().replace(/>/g,"&gt;")}if(t.toString().indexOf("<")>=0){t=t.toString().replace(/</g,"&lt;")}if(t.toString().indexOf('"')>=0){t=t.toString().replace(/"/g,"&quot;")}if(t.toString().indexOf("'")>=0){t=t.toString().replace(/'/g,"&apos;")}}}if(s.dataType=="number"||s.dataType=="float"||s.dataType=="int"||s.dataType=="integer"){r="Number";t=parseFloat(t);if(t===null||isNaN(t)||t===""){t="";r="String"}if(t&&r!="String"&&t!=""){if(w&&w.formatString&&w.formatString.indexOf("p")>=0){t=t/100}}s.currencysymbol=w.localization.currencysymbol}}var p=f(s);if(s.merge){l+='\n\t\t\t\t<Cell ss:MergeAcross="'+s.merge+'" ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}else{l+='\n\t\t\t\t<Cell ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}}function n(){j+=1;return"xls-style-"+j}function k(q){for(var p in c){if(o(q,c[p])&&o(c[p],q)){return p}}return undefined}function o(t,q){var s=true;for(var r in t){if(t[r]!==q[r]){s=false}}return s}function e(q,p){m.startStyle(q);m.buildAlignment(p);m.buildBorder(p);m.buildFont(p);m.buildInterior(p);m.buildFormat(p);m.closeStyle();h+=m.toString()}function f(p){if(!p){return""}var q=k(p);if(typeof q==="undefined"){q=n();c[q]=p;e(q,p)}return q}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xls",new a())})(jqxBaseFramework);(function(b){var a=function(){var e,c,d;this.beginFile=function(){e='<?xml version="1.0" encoding="UTF-8" ?>';e+="\n<table>"};this.beginHeader=function(){c=[]};this.appendHeaderCell=function(f,g){c.push(g)};this.endHeader=function(){};this.beginBody=function(g,f){};this.beginRow=function(g){if(g!=undefined){if(this.hierarchy){e+="\n\t";for(var f=0;f<g;f++){e+="\t\t"}e+="<row>";d=0;return}}e+="\n\t<row>";d=0};this.beginRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="<rows>";d=0;return}e+="\n\t\t<rows>"};this.appendBodyCell=function(j,n,g,m,h,l){var k=this.getFormat(n);j=this.formatData(j,k.type,k.formatString,k.localization);if(k.type=="string"){if(j.toString().indexOf("&")>=0){j=j.toString().replace(/&/g,"&amp;")}if(j.toString().indexOf(">")>=0){j=j.toString().replace(/>/g,"&gt;")}if(j.toString().indexOf("<")>=0){j=j.toString().replace(/</g,"&lt;")}if(j.toString().indexOf('"')>=0){j=j.toString().replace(/"/g,"&quot;")}if(j.toString().indexOf("'")>=0){j=j.toString().replace(/'/g,"&apos;")}}if(m.level!=undefined){if(this.hierarchy){e+="\n\t\t";for(var f=0;f<m.level;f++){e+="\t\t"}if(l===undefined){e+="<"+c[d]+">"+j+"</"+c[d]+">"}else{e+="<"+l+">"+j+"</"+l+">"}}else{if(l!=undefined){e+="\n\t\t<"+l+">"+j+"</"+l+">"}else{e+="\n\t\t<"+c[d]+">"+j+"</"+c[d]+">"}}}else{e+="\n\t\t<"+c[d]+">"+j+"</"+c[d]+">"}d++};this.endRow=function(g){if(g!=undefined){if(this.hierarchy){e+="\n\t";for(var f=0;f<g;f++){e+="\t\t"}e+="</row>";d=0;return}}e+="\n\t</row>";d=0};this.endRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="</rows>";d=0;return}e+="\n\t\t</rows>"};this.endBody=function(){};this.endFile=function(){e+="\n</table>"};this.getFile=function(){return e}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xml",new a())})(jqxBaseFramework);(function(d){var j=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,l={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function a(n){return'"'+n.replace(j,function(o){var p=l[o];return typeof p==="string"?p:"\\u"+("0000"+o.charCodeAt(0).toString(16)).slice(-4)})+'"'}function b(o){return o<10?"0"+o:o}function e(o){var n;if(isFinite(o.valueOf())){n=o.getUTCFullYear()+"-"+b(o.getUTCMonth()+1)+"-"+b(o.getUTCDate())+"T"+b(o.getUTCHours())+":"+b(o.getUTCMinutes())+":"+b(o.getUTCSeconds())+'Z"'}else{n="null"}return n}function g(q){var n=q.length,o=[],p;for(p=0;p<n;p++){o.push(h(p,q)||"null")}return"["+o.join(",")+"]"}function m(q){var o=[],p,n;for(p in q){if(Object.prototype.hasOwnProperty.call(q,p)){n=h(p,q);if(n){o.push(a(p)+":"+n)}}}return"{"+o.join(",")+"}"}function i(n){switch(Object.prototype.toString.call(n)){case"[object Date]":return e(n);case"[object Array]":return g(n)}return m(n)}function k(o,n){switch(n){case"string":return a(o);case"number":case"float":case"integer":case"int":return isFinite(o)?o:"null";case"boolean":return o}return"null"}function h(o,n){var q=n[o],p=typeof q;if(q&&typeof q==="object"&&typeof q.toJSON==="function"){q=q.toJSON(o);p=typeof q}if(/(number|float|int|integer|string|boolean)/.test(p)||(!q&&p==="object")){return k(q,p)}else{return i(q)}}function f(n){if(window.JSON&&typeof window.JSON.stringify==="function"){return window.JSON.stringify(n)}return h("",{"":n})}var c=function(){var q=this;this.prepareData=function(t,v){if(v){var u=q.getFormat(v);t=q.formatData(t,u.type,u.formatString,u.localization)}return t};var n,p,r,o=[],s=0;this.beginFile=function(){p=[]};this.beginHeader=function(){};this.appendHeaderCell=function(t){};this.endHeader=function(){};this.beginBody=function(u,t){};this.beginRow=function(){if(hierarchy){o[s]={}}else{r={}}};this.beginRows=function(){o[s].rows=[];s++;o[s]={}};this.endRows=function(){s--};this.appendBodyCell=function(u,t){var v=this.prepareData(u,t);if(hierarchy){o[s][t.text]=v}else{r[t.text]=v}};this.endRow=function(){if(hierarchy){if(s==0){p.push(o[s])}else{o[s-1].rows.push(o[s])}}else{p.push(r)}};this.endBody=function(){};this.endFile=function(){n=f(p)};this.getFile=function(){return n}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();d.jqx.dataAdapter.ArrayExporter.extend("json",new c())})(jqxBaseFramework);var pdfDataExport=window.jqxPdfDataExport=(function(){if(typeof btoa==="undefined"){window.btoa=function(m){var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=h.split(""),g,f,e,q,p,o,n,t,l=0,u=0,k="",j=[],d;do{g=m.charCodeAt(l++);f=m.charCodeAt(l++);e=m.charCodeAt(l++);t=g<<16|f<<8|e;q=t>>18&63;p=t>>12&63;o=t>>6&63;n=t&63;j[u++]=s[q]+s[p]+s[o]+s[n]}while(l<m.length);k=j.join("");d=m.length%3;return(d?k.slice(0,d-3):k)+"===".slice(d||3)}}if(typeof atob==="undefined"){window.atob=function(l){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f,e,d,p,o,n,m,q,k=0,r=0,h="",j=[];if(!l){return l}l+="";do{p=g.indexOf(l.charAt(k++));o=g.indexOf(l.charAt(k++));n=g.indexOf(l.charAt(k++));m=g.indexOf(l.charAt(k++));q=p<<18|o<<12|n<<6|m;f=q>>16&255;e=q>>8&255;d=q&255;if(n===64){j[r++]=String.fromCharCode(f)}else{if(m===64){j[r++]=String.fromCharCode(f,e)}else{j[r++]=String.fromCharCode(f,e,d)}}}while(k<l.length);h=j.join("");return h}}var c=typeof Object.keys==="function"?function(d){return Object.keys(d).length}:function(d){var f=0,g;for(g in d){if(d.hasOwnProperty(g)){f++}}return f},a=function(d){this.topics={};this.context=d;this.publish=function(h,m){if(this.topics[h]){var j=this.topics[h],o=[],n,g,e,f,k=function(){};m=Array.prototype.slice.call(arguments,1);for(g=0,e=j.length;g<e;g++){f=j[g];n=f[0];if(f[1]){f[0]=k;o.push(g)}n.apply(this.context,m)}for(g=0,e=o.length;g<e;g++){j.splice(o[g],1)}}};this.subscribe=function(e,g,f){if(!this.topics[e]){this.topics[e]=[[g,f]]}else{this.topics[e].push([g,f])}return{topic:e,callback:g}};this.unsubscribe=function(h){if(this.topics[h.topic]){var f=this.topics[h.topic],g,e;for(g=0,e=f.length;g<e;g++){if(f[g][0]===h.callback){f.splice(g,1)}}}}};function b(E,ae,M,V){if(typeof E==="undefined"){E="p"}else{E=E.toString().toLowerCase()}if(typeof ae==="undefined"){ae="mm"}if(typeof M==="undefined"){M="a4"}if(typeof V==="undefined"&&typeof zpipe==="undefined"){V=false}var at=M.toString().toLowerCase(),ao="0.9.0rc2",t=[],F=0,av=V,U="1.3",N={a3:[841.89,1190.55],a4:[595.28,841.89],a5:[420.94,595.28],letter:[612,792],legal:[612,1008]},ad="0 g",H="0 G",g=0,f=[],n=2,v=false,D=[],ai={},Q={},aj=16,d,z=0.200025,B,C,ak,O={title:"",subject:"",author:"",keywords:"",creator:""},R=0,T=0,P={},G=new a(P),af,aq,p=function(i){return i.toFixed(2)},o=function(i){return i.toFixed(3)},A=function(i){var k=(i).toFixed(0);if(i<10){return"0"+k}else{return k}},r=function(i){var k=(i).toFixed(0);if(k.length<10){return new Array(11-k.length).join("0")+k}else{return k}},ab=function(i){if(v){f[g].push(i)}else{t.push(i);F+=i.length+1}},w=function(){n++;D[n]=F;ab(n+" 0 obj");return n},K=function(i){ab("stream");ab(i);ab("endstream")},am,S,ap,al,aa=function(){am=C*ak;S=B*ak;var aB,aA,k,aw,ax,az,ay;for(aB=1;aB<=g;aB++){w();ab("<</Type /Page");ab("/Parent 1 0 R");ab("/Resources 2 0 R");ab("/Contents "+(n+1)+" 0 R>>");ab("endobj");aA=f[aB].join("\n");w();if(av){k=[];for(ax=0;ax<aA.length;++ax){k[ax]=aA.charCodeAt(ax)}ay=adler32cs.from(aA);az=new Deflater(6);az.append(new Uint8Array(k));aA=az.flush();k=[new Uint8Array([120,156]),new Uint8Array(aA),new Uint8Array([ay&255,(ay>>8)&255,(ay>>16)&255,(ay>>24)&255])];aA="";for(ax in k){if(k.hasOwnProperty(ax)){aA+=String.fromCharCode.apply(null,k[ax])}}ab("<</Length "+aA.length+" /Filter [/FlateDecode]>>")}else{ab("<</Length "+aA.length+">>")}K(aA);ab("endobj")}D[1]=F;ab("1 0 obj");ab("<</Type /Pages");ap="/Kids [";for(ax=0;ax<g;ax++){ap+=(3+2*ax)+" 0 R "}ab(ap+"]");ab("/Count "+g);ab("/MediaBox [0 0 "+p(am)+" "+p(S)+"]");ab(">>");ab("endobj")},X=function(i){i.objectNumber=w();ab("<</BaseFont/"+i.PostScriptName+"/Type/Font");if(typeof i.encoding==="string"){ab("/Encoding/"+i.encoding)}ab("/Subtype/Type1>>");ab("endobj")},J=function(){var i;for(i in ai){if(ai.hasOwnProperty(i)){X(ai[i])}}},L=function(){G.publish("putXobjectDict")},x=function(){ab("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");ab("/Font <<");var i;for(i in ai){if(ai.hasOwnProperty(i)){ab("/"+i+" "+ai[i].objectNumber+" 0 R")}}ab(">>");ab("/XObject <<");L();ab(">>")},h=function(){J();G.publish("putResources");D[2]=F;ab("2 0 obj");ab("<<");x();ab(">>");ab("endobj");G.publish("postPutResources")},m=function(aw,k,ax){var i;if(Q[k]===i){Q[k]={}}Q[k][ax]=aw},au={},u=function(i,ax,az,aw){var ay="F"+(c(ai)+1).toString(10),k=ai[ay]={id:ay,PostScriptName:i,fontName:ax,fontStyle:az,encoding:aw,metadata:{}};m(ay,ax,az);G.publish("addFont",k);return ay},e=function(){var k="helvetica",aG="times",aI="courier",aF="normal",aE="bold",aD="italic",aH="bolditalic",ax="StandardEncoding",aA=[["Helvetica",k,aF],["Helvetica-Bold",k,aE],["Helvetica-Oblique",k,aD],["Helvetica-BoldOblique",k,aH],["Courier",aI,aF],["Courier-Bold",aI,aE],["Courier-Oblique",aI,aD],["Courier-BoldOblique",aI,aH],["Times-Roman",aG,aF],["Times-Bold",aG,aE],["Times-Italic",aG,aD],["Times-BoldItalic",aG,aH]],aC,ay,aB,az;for(aC=0,ay=aA.length;aC<ay;aC++){var aw=ax;aB=u(aA[aC][0],aA[aC][1],aA[aC][2],aw);az=aA[aC][0].split("-");m(aB,az[0],az[1]||"")}G.publish("addFonts",{fonts:ai,dictionary:Q})},s=function(aG,ax){var aC,aA,az,ay,aE,aD,aw,aF,k,aB;if(ax===az){ax={}}ay=ax.sourceEncoding?ay:"Unicode";aD=ax.outputEncoding;if((ax.autoencode||aD)&&ai[d].metadata&&ai[d].metadata[ay]&&ai[d].metadata[ay].encoding){aE=ai[d].metadata[ay].encoding;if(!aD&&ai[d].encoding){aD=ai[d].encoding}if(!aD&&aE.codePages){aD=aE.codePages[0]}if(typeof aD==="string"){aD=aE[aD]}if(aD){aF=false;aw=[];for(aC=0,aA=aG.length;aC<aA;aC++){k=aD[aG.charCodeAt(aC)];if(k){aw.push(String.fromCharCode(k))}else{aw.push(aG[aC])}if(aw[aC].charCodeAt(0)>>8){aF=true}}aG=aw.join("")}}aC=aG.length;while(aF===az&&aC!==0){if(aG.charCodeAt(aC-1)>>8){aF=true}aC--}if(!aF){return aG}else{aw=ax.noBOM?[]:[254,255];for(aC=0,aA=aG.length;aC<aA;aC++){k=aG.charCodeAt(aC);aB=k>>8;if(aB>>8){throw new Error("Character at position "+aC.toString(10)+" of string '"+aG+"' exceeds 16bits. Cannot be encoded into UCS-2 BE")}aw.push(aB);aw.push(k-(aB<<8))}return String.fromCharCode.apply(az,aw)}},Z=function(k,i){return s(k,i).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Y=function(){ab("/Producer (pdfDataExport "+ao+")");if(O.title){ab("/Title ("+Z(O.title)+")")}if(O.subject){ab("/Subject ("+Z(O.subject)+")")}if(O.author){ab("/Author ("+Z(O.author)+")")}if(O.keywords){ab("/Keywords ("+Z(O.keywords)+")")}if(O.creator){ab("/Creator ("+Z(O.creator)+")")}var i=new Date();ab("/CreationDate (D:"+[i.getFullYear(),A(i.getMonth()+1),A(i.getDate()),A(i.getHours()),A(i.getMinutes()),A(i.getSeconds())].join("")+")")},W=function(){ab("/Type /Catalog");ab("/Pages 1 0 R");ab("/OpenAction [3 0 R /FitH null]");ab("/PageLayout /OneColumn");G.publish("putCatalog")},l=function(){ab("/Size "+(n+1));ab("/Root "+n+" 0 R");ab("/Info "+(n-1)+" 0 R")},ar=function(){g++;v=true;f[g]=[]},ah=function(){ar();ab(p(z*ak)+" w");ab(H);if(R!==0){ab(R.toString(10)+" J")}if(T!==0){ab(T.toString(10)+" j")}G.publish("addPage",{pageNumber:g})},y=function(aw,ay){var i,k;if(aw===k){aw=ai[d].fontName}if(ay===k){ay=ai[d].fontStyle}try{i=Q[aw][ay]}catch(ax){i=k}if(!i){throw new Error("Unable to look up font label for font '"+aw+"', '"+ay+"'. Refer to getFontList() for available fonts.")}return i},q=function(){v=false;t=[];D=[];ab("%PDF-"+U);aa();h();w();ab("<<");Y();ab(">>");ab("endobj");w();ab("<<");W();ab(">>");ab("endobj");var aw=F,k;ab("xref");ab("0 "+(n+1));ab("0000000000 65535 f ");for(k=1;k<=n;k++){ab(r(D[k])+" 00000 n ")}ab("trailer");ab("<<");l();ab(">>");ab("startxref");ab(aw);ab("%%EOF");v=true;return t.join("\n")},ac=function(i){var k="S";if(i==="F"){k="f"}else{if(i==="FD"||i==="DF"){k="B"}}return k},I=function(az,aw){var ay,aB,aA,aC,ax,k;switch(az){case ay:return q();case"save":if(navigator.getUserMedia){if(window.URL===undefined){return P.output("dataurlnewwindow")}else{if(window.URL.createObjectURL===undefined){return P.output("dataurlnewwindow")}}}aB=q();aA=aB.length;aC=new Uint8Array(new ArrayBuffer(aA));for(ax=0;ax<aA;ax++){aC[ax]=aB.charCodeAt(ax)}k=new Blob([aC],{type:"application/pdf"});saveAs(k,aw);break;case"datauristring":case"dataurlstring":return"data:application/pdf;base64,"+btoa(q());case"datauri":case"dataurl":document.location.href="data:application/pdf;base64,"+btoa(q());break;case"dataurlnewwindow":window.open("data:application/pdf;base64,"+btoa(q()));break;default:throw new Error('Output type "'+az+'" is not supported.')}};if(ae==="pt"){ak=1}else{if(ae==="mm"){ak=72/25.4}else{if(ae==="cm"){ak=72/2.54}else{if(ae==="in"){ak=72}else{throw ("Invalid unit: "+ae)}}}}if(N.hasOwnProperty(at)){B=N[at][1]/ak;C=N[at][0]/ak}else{try{B=M[1];C=M[0]}catch(an){throw ("Invalid format: "+M)}}if(E==="p"||E==="portrait"){E="p";if(C>B){af=C;C=B;B=af}}else{if(E==="l"||E==="landscape"){E="l";if(B>C){af=C;C=B;B=af}}else{throw ("Invalid orientation: "+E)}}P.internal={pdfEscape:Z,getStyle:ac,getFont:function(){return ai[y.apply(P,arguments)]},getFontSize:function(){return aj},btoa:btoa,write:function(i,ax,aw,k){ab(arguments.length===1?i:Array.prototype.join.call(arguments," "))},getCoordinateString:function(i){return p(i*ak)},getVerticalCoordinateString:function(i){return p((B-i)*ak)},collections:{},newObject:w,putStream:K,events:G,scaleFactor:ak,pageSize:{width:C,height:B},output:function(k,i){return I(k,i)}};P.addPage=function(){ah();return this};var ag=["","0","00","000","0000"];var j=function(aA,aw){var ax=["FEFF"];for(var az=0,k=aA.length,ay;az<k;++az){ay=aA.charCodeAt(az).toString(16).toUpperCase();ax.push(ag[4-ay.length],ay)}return ax.join("")};P.text16=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}aw.autoencode=false;if(typeof aF==="string"){aB=j(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=j(k[ay],aw)}aB=k.join("> Tj\nT* <")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n<"+aB+"> Tj\nET");return this};P.text=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}if(typeof aF==="string"){aB=Z(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=Z(k[ay],aw)}aB=k.join(") Tj\nT* (")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n("+aB+") Tj\nET");return this};P.line=function(k,ax,i,aw){ab(p(k*ak)+" "+p((B-ax)*ak)+" m "+p(i*ak)+" "+p((B-aw)*ak)+" l S");return this};P.lines=function(k,aF,aE,aO,aK){var ay,aM,aC,aD,aB,aA,aI,aG,aN,aL,az,aJ,ax,aH,aw;if(typeof k==="number"){aM=aE;aC=k;aD=aF;k=aM;aF=aC;aE=aD}aK=ac(aK);aO=aO===ay?[1,1]:aO;ab(o(aF*ak)+" "+o((B-aE)*ak)+" m ");aB=aO[0];aA=aO[1];aG=k.length;aH=aF;aw=aE;for(aI=0;aI<aG;aI++){aN=k[aI];if(aN.length===2){aH=aN[0]*aB+aH;aw=aN[1]*aA+aw;ab(o(aH*ak)+" "+o((B-aw)*ak)+" l")}else{aL=aN[0]*aB+aH;az=aN[1]*aA+aw;aJ=aN[2]*aB+aH;ax=aN[3]*aA+aw;aH=aN[4]*aB+aH;aw=aN[5]*aA+aw;ab(o(aL*ak)+" "+o((B-az)*ak)+" "+o(aJ*ak)+" "+o((B-ax)*ak)+" "+o(aH*ak)+" "+o((B-aw)*ak)+" c")}}ab(aK);return this};P.rect=function(i,az,k,ax,aw){var ay=ac(aw);ab([p(i*ak),p((B-az)*ak),p(k*ak),p(-ax*ak),"re",ay].join(" "));return this};P.triangle=function(ax,aA,k,ay,i,aw,az){this.lines([[k-ax,ay-aA],[i-k,aw-ay],[ax-i,aA-aw]],ax,aA,[1,1],az);return this};P.roundedRect=function(k,aB,aw,ay,aA,az,ax){var i=4/3*(Math.SQRT2-1);this.lines([[(aw-2*aA),0],[(aA*i),0,aA,az-(az*i),aA,az],[0,(ay-2*az)],[0,(az*i),-(aA*i),az,-aA,az],[(-aw+2*aA),0],[-(aA*i),0,-aA,-(az*i),-aA,-az],[0,(-ay+2*az)],[0,-(az*i),(aA*i),-az,aA,-az]],k+aA,aB,[1,1],ax);return this};P.ellipse=function(i,aB,az,ay,k){var aA=ac(k),ax=4/3*(Math.SQRT2-1)*az,aw=4/3*(Math.SQRT2-1)*ay;ab([p((i+az)*ak),p((B-aB)*ak),"m",p((i+az)*ak),p((B-(aB-aw))*ak),p((i+ax)*ak),p((B-(aB-ay))*ak),p(i*ak),p((B-(aB-ay))*ak),"c"].join(" "));ab([p((i-ax)*ak),p((B-(aB-ay))*ak),p((i-az)*ak),p((B-(aB-aw))*ak),p((i-az)*ak),p((B-aB)*ak),"c"].join(" "));ab([p((i-az)*ak),p((B-(aB+aw))*ak),p((i-ax)*ak),p((B-(aB+ay))*ak),p(i*ak),p((B-(aB+ay))*ak),"c"].join(" "));ab([p((i+ax)*ak),p((B-(aB+ay))*ak),p((i+az)*ak),p((B-(aB+aw))*ak),p((i+az)*ak),p((B-aB)*ak),"c",aA].join(" "));return this};P.circle=function(i,ax,aw,k){return this.ellipse(i,ax,aw,aw,k)};P.setProperties=function(i){var k;for(k in O){if(O.hasOwnProperty(k)&&i[k]){O[k]=i[k]}}return this};P.setFontSize=function(i){aj=i;return this};P.setFont=function(i,k){d=y(i,k);return this};P.setFontStyle=P.setFontType=function(k){var i;d=y(i,k);return this};P.getFontList=function(){var aw={},k,ax,i;for(k in Q){if(Q.hasOwnProperty(k)){aw[k]=i=[];for(ax in Q[k]){if(Q[k].hasOwnProperty(ax)){i.push(ax)}}}}return aw};P.setLineWidth=function(i){ab((i*ak).toFixed(2)+" w");return this};P.setDrawColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" G"}else{k=p(ay/255)+" G"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"RG"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"RG"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"K"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"K"].join(" ")}}}ab(k);return this};P.setFillColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" g"}else{k=p(ay/255)+" g"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"rg"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"rg"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"k"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"k"].join(" ")}}}ab(k);return this};P.setTextColor=function(aw,k,i){if((aw===0&&k===0&&i===0)||(typeof k==="undefined")){ad=o(aw/255)+" g"}else{ad=[o(aw/255),o(k/255),o(i/255),"rg"].join(" ")}return this};P.CapJoinStyles={0:0,butt:0,but:0,bevel:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,milter:2};P.setLineCap=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line cap style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}R=k;ab(k.toString(10)+" J");return this};P.setLineJoin=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line join style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}T=k;ab(k.toString(10)+" j");return this};P.output=I;P.save=function(i){P.output("save",i)};for(aq in b.API){if(b.API.hasOwnProperty(aq)){if(aq==="events"&&b.API.events.length){(function(ax,az){var ay,aw,k;for(k=az.length-1;k!==-1;k--){ay=az[k][0];aw=az[k][1];ax.subscribe.apply(ax,[ay].concat(typeof aw==="function"?[aw]:aw))}}(G,b.API.events))}else{P[aq]=b.API[aq]}}}e();d="F1";ah();G.publish("initialized");return P}b.API={events:[]};return b}());(function(i){var b=0,m=0,a,o,h,c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined},f=1,e=false,d=function(p,t,q,r,s){c={x:p,y:t,w:q,h:r,ln:s}},k=function(){return c},j=function(p){b=p},l=function(){return b},n=function(p){m=p},g=function(p){return m};i.getTextDimensions=function(p){a=this.internal.getFont().fontName;o=this.internal.getFontSize();h=this.internal.getFont().fontStyle;var s=0.264583*72/25.4,q,r;r=document.createElement("font");r.id="pdfDataExportCell";r.style.fontStyle=h;r.style.fontName=a;r.style.fontSize=o+"pt";r.innerHTML=p;document.body.appendChild(r);q={w:(r.offsetWidth+1)*s,h:(r.offsetHeight+1)*s};document.body.removeChild(r);return q};i.cellAddPage=function(){this.addPage();d(undefined,undefined,undefined,undefined,undefined);e=true;f+=1;n(1)};i.cellInitialize=function(){b=0;c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined};f=1;e=false;n(0)};i.cell=function(z,v,A,s,p,u){this.lnMod=this.lnMod===undefined?0:this.lnMod;if(this.printingHeaderRow!==true&&this.lnMod!==0){u=u+this.lnMod}if((((u*s)+v+(s*2))/f)>=this.internal.pageSize.height&&f===1&&!e){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}if(l()===0){j(Math.round((this.internal.pageSize.height-(s*2))/s))}}else{if(e&&k().ln!==u&&g()===l()){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}}}var B=k(),r=this.getTextDimensions(p),t=1;if(B.x!==undefined&&B.ln===u){z=B.x+B.w}if(B.y!==undefined&&B.y===v){v=B.y}if(B.h!==undefined&&B.h===s){s=B.h}if(B.ln!==undefined&&B.ln===u){u=B.ln;t=0}if(e){v=s*(g()+t)}else{v=(v+(s*Math.abs(l()*f-u-l())))}this.rect(z,v,A,s);var q=/[а-яА-ЯЁё]/.test(p);if(q){this.text16(p,z+3,v+s-3)}else{this.text(p,z+3,v+s-3)}n(g()+t);d(z,v,A,s,u);return this};i.getKeys=(typeof Object.keys==="function")?function(p){if(!p){return[]}return Object.keys(p)}:function(p){var q=[],r;for(r in p){if(p.hasOwnProperty(r)){q.push(r)}}return q};i.arrayMax=function(u,t){var p=u[0],q,s,r;for(q=0,s=u.length;q<s;q+=1){r=u[q];if(t){if(t(p,r)===-1){p=r}}else{if(r>p){p=r}}}return p};i.table=function(J,r,I){var v=[],p=[],D,z,B,x,E,y,G={},A={},u,s,H=[],C,F=[],t,q,w;this.lnMod=0;if(I){z=I.autoSize||false;B=this.printHeaders=I.printHeaders||true;x=I.autoStretch||true}if(!J){throw"No data for PDF table"}if(r===undefined||(r===null)){v=this.getKeys(J[0])}else{if(r[0]&&(typeof r[0]!=="string")){for(E=0,y=r.length;E<y;E+=1){D=r[E];v.push(D.name);p.push(D.prompt)}}else{v=r}}if(I.autoSize){w=function(K){return K[D]};for(E=0,y=v.length;E<y;E+=1){D=v[E];G[D]=J.map(w);H.push(this.getTextDimensions(p[E]||D).w);s=G[D];for(C=0,y=s.length;C<y;C+=1){u=s[C];H.push(this.getTextDimensions(u).w)}A[D]=i.arrayMax(H)}}if(I.printHeaders){for(E=0,y=v.length;E<y;E+=1){D=v[E];F.push([10,10,A[D],25,String(p.length?p[E]:D)])}this.setTableHeaderRow(F);this.printHeaderRow(1)}for(E=0,y=J.length;E<y;E+=1){t=J[E];for(C=0,q=v.length;C<q;C+=1){D=v[C];this.cell(10,10,A[D],25,String(t[D]),E+2)}}return this};i.setTableHeaderRow=function(p){this.tableHeaderRow=p};i.printHeaderRow=function(p){if(!this.tableHeaderRow){throw"Property tableHeaderRow does not exist."}var q,s,r,t;this.printingHeaderRow=true;for(r=0,t=this.tableHeaderRow.length;r<t;r+=1){q=this.tableHeaderRow[r];s=[].concat(q);this.cell.apply(this,s.concat(p))}this.printingHeaderRow=false}}(pdfDataExport.API));(function(c){var b=c.getCharWidthsArray=function(s,u){if(!u){u={}}var h=u.widths?u.widths:this.internal.getFont().metadata.Unicode.widths,r=h.fof?h.fof:1,n=u.kerning?u.kerning:this.internal.getFont().metadata.Unicode.kerning,p=n.fof?n.fof:1;var m,j,o,k,q=0,t=h[0]||r,g=[];for(m=0,j=s.length;m<j;m++){o=s.charCodeAt(m);g.push((h[o]||t)/r+(n[o]&&n[o][q]||0)/p);q=o}return g};var e=function(j){var h=j.length,g=0;while(h){h--;g+=j[h]}return g};var a=c.getStringUnitWidth=function(h,g){return e(b.call(this,h,g))};var d=function(g,n,h,j){var q=[];var m=0,k=g.length,p=0;while(m!==k&&p+n[m]<h){p+=n[m];m++}q.push(g.slice(0,m));var o=m;p=0;while(m!==k){if(p+n[m]>j){q.push(g.slice(o,m));p=0;o=m}p+=n[m];m++}if(o!==m){q.push(g.slice(o,m))}return q};var f=function(s,k,v){if(!v){v={}}var t=b(" ",v)[0];var r=s.split(" ");var w=[],x=[w],h=v.textIndent||0,u=0,p=0,g,q;var o,m,n;for(o=0,m=r.length;o<m;o++){g=r[o];q=b(g,v);p=e(q);if(h+u+p>k){if(p>k){n=d(g,q,k-(h+u),k);w.push(n.shift());w=[n.pop()];while(n.length){x.push([n.shift()])}p=e(q.slice(g.length-w[0].length))}else{w=[g]}x.push(w);h=p;u=t}else{w.push(g);h+=u+p;u=t}}var j=[];for(o=0,m=x.length;o<m;o++){j.push(x[o].join(" "))}return j};c.splitTextToSize=function(q,m,r){if(!r){r={}}var h=r.fontSize||this.internal.getFontSize(),g=(function(l){var t={0:1},i={};if(!l.widths||!l.kerning){var u=this.internal.getFont(l.fontName,l.fontStyle),s="Unicode";if(u.metadata[s]){return{widths:u.metadata[s].widths||t,kerning:u.metadata[s].kerning||i}}}else{return{widths:l.widths,kerning:l.kerning}}return{widths:t,kerning:i}}).call(this,r);var p;if(q.match(/[\n\r]/)){p=q.split(/\r\n|\r|\n/g)}else{p=[q]}var j=1*this.internal.scaleFactor*m/h;g.textIndent=r.textIndent?r.textIndent*1*this.internal.scaleFactor/h:0;var o,n,k=[];for(o=0,n=p.length;o<n;o++){k=k.concat(f(p[o],j,g))}return k}})(pdfDataExport.API);(function(c){var d="addImage_";var f=function(m){var l,h;if(!m.charCodeAt(0)===255||!m.charCodeAt(1)===216||!m.charCodeAt(2)===255||!m.charCodeAt(3)===224||!m.charCodeAt(6)==="J".charCodeAt(0)||!m.charCodeAt(7)==="F".charCodeAt(0)||!m.charCodeAt(8)==="I".charCodeAt(0)||!m.charCodeAt(9)==="F".charCodeAt(0)||!m.charCodeAt(10)===0){throw new Error("getJpegSize requires a binary jpeg file")}var j=m.charCodeAt(4)*256+m.charCodeAt(5);var k=4,g=m.length;while(k<g){k+=j;if(m.charCodeAt(k)!==255){throw new Error("getJpegSize could not find the size of the image")}if(m.charCodeAt(k+1)===192){h=m.charCodeAt(k+5)*256+m.charCodeAt(k+6);l=m.charCodeAt(k+7)*256+m.charCodeAt(k+8);return[l,h]}else{k+=2;j=m.charCodeAt(k)*256+m.charCodeAt(k+1)}}},b=function(g){var m=this.internal.newObject(),h=this.internal.write,l=this.internal.putStream;g.n=m;h("<</Type /XObject");h("/Subtype /Image");h("/Width "+g.w);h("/Height "+g.h);if(g.cs==="Indexed"){h("/ColorSpace [/Indexed /DeviceRGB "+(g.pal.length/3-1)+" "+(m+1)+" 0 R]")}else{h("/ColorSpace /"+g.cs);if(g.cs==="DeviceCMYK"){h("/Decode [1 0 1 0 1 0 1 0]")}}h("/BitsPerComponent "+g.bpc);if("f" in g){h("/Filter /"+g.f)}if("dp" in g){h("/DecodeParms <<"+g.dp+">>")}if("trns" in g&&g.trns.constructor==Array){var k="";for(var j=0;j<g.trns.length;j++){k+=(g[k][j]+" "+g.trns[j]+" ");h("/Mask ["+k+"]")}}if("smask" in g){h("/SMask "+(m+1)+" 0 R")}h("/Length "+g.data.length+">>");l(g.data);h("endobj")},e=function(){var g=this.internal.collections[d+"images"];for(var h in g){b.call(this,g[h])}},a=function(){var g=this.internal.collections[d+"images"],h=this.internal.write,k;for(var j in g){k=g[j];h("/I"+k.i,k.n,"0","R")}};c.addImage=function(g,s,q,p,t,l){if(typeof g==="object"&&g.nodeType===1){var j=document.createElement("canvas");j.width=g.clientWidth;j.height=g.clientHeight;var u=j.getContext("2d");if(!u){throw ("addImage requires canvas to be supported by browser.")}u.drawImage(g,0,0,j.width,j.height);g=j.toDataURL("image/jpeg");s="JPEG"}if(s.toUpperCase()!=="JPEG"){throw new Error("addImage currently only supports format 'JPEG', not '"+s+"'")}var i,n=this.internal.collections[d+"images"],m=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString;if(g.substring(0,23)==="data:image/jpeg;base64,"){g=atob(g.replace("data:image/jpeg;base64,",""))}if(n){i=Object.keys?Object.keys(n).length:(function(w){var h=0;for(var v in w){if(w.hasOwnProperty(v)){h++}}return h})(n)}else{i=0;this.internal.collections[d+"images"]=n={};this.internal.events.subscribe("putResources",e);this.internal.events.subscribe("putXobjectDict",a)}var r=f(g);var k={w:r[0],h:r[1],cs:"DeviceRGB",bpc:8,f:"DCTDecode",i:i,data:g};n[i]=k;if(!t&&!l){t=-96;l=-96}if(t<0){t=(-1)*k.w*72/t/this.internal.scaleFactor}if(l<0){l=(-1)*k.h*72/l/this.internal.scaleFactor}if(t===0){t=l*k.w/k.h}if(l===0){l=t*k.h/k.w}this.internal.write("q",m(t),"0 0",m(l),m(q),o(p+l),"cm /I"+k.i,"Do Q");return this}})(pdfDataExport.API);(function(a){var e=function(q){var w="0123456789abcdef",o="klmnopqrstuvwxyz",h={};for(var r=0;r<o.length;r++){h[o[r]]=w[r]}var p,m={},n=1,t,k=m,g=[],s,l="",u="",v,j=q.length-1,f;r=1;while(r!=j){f=q[r];r+=1;if(f=="'"){if(t){v=t.join("");t=p}else{t=[]}}else{if(t){t.push(f)}else{if(f=="{"){g.push([k,v]);k={};v=p}else{if(f=="}"){s=g.pop();s[0][s[1]]=k;v=p;k=s[0]}else{if(f=="-"){n=-1}else{if(v===p){if(h.hasOwnProperty(f)){l+=h[f];v=parseInt(l,16)*n;n=+1;l=""}else{l+=f}}else{if(h.hasOwnProperty(f)){u+=h[f];k[v]=parseInt(u,16)*n;n=+1;v=p;u=""}else{u+=f}}}}}}}}return m};var d={codePages:["WinAnsiEncoding"],WinAnsiEncoding:e("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")},c={Unicode:{Courier:d,"Courier-Bold":d,"Courier-BoldOblique":d,"Courier-Oblique":d,Helvetica:d,"Helvetica-Bold":d,"Helvetica-BoldOblique":d,"Helvetica-Oblique":d,"Times-Roman":d,"Times-Bold":d,"Times-BoldItalic":d,"Times-Italic":d}},b={Unicode:{"Courier-Oblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":e("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),Courier:e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-BoldOblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Bold":e("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),Helvetica:e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),"Helvetica-BoldOblique":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),"Courier-Bold":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Italic":e("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),"Times-Roman":e("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),"Helvetica-Oblique":e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")}};a.events.push(["addFonts",function(i){var f,g,h,k,j="Unicode",l;for(g in i.fonts){if(i.fonts.hasOwnProperty(g)){f=i.fonts[g];h=b[j][f.PostScriptName];if(h){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.widths=h.widths;k.kerning=h.kerning}l=c[j][f.PostScriptName];if(l){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.encoding=l;if(l.codePages&&l.codePages.length){f.encoding=l.codePages[0]}}}}}])})(pdfDataExport.API);var saveAs=window.jqxSaveAs=saveAs||(navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator))||(function(h){var r=h.document,l=function(){return h.URL||h.webkitURL||h},e=h.URL||h.webkitURL||h,n=$("<a></a>")[0],g="download" in n,j=function(t){var s=r.createEvent("MouseEvents");s.initMouseEvent("click",true,false,h,0,0,0,0,0,false,false,false,false,0,null);return t.dispatchEvent(s)},o=h.webkitRequestFileSystem,p=h.requestFileSystem||o||h.mozRequestFileSystem,m=function(s){(h.setImmediate||h.setTimeout)(function(){throw s},0)},c="application/octet-stream",k=0,b=[],i=function(){var t=b.length;while(t--){var s=b[t];if(typeof s==="string"){e.revokeObjectURL(s)}else{s.remove()}}b.length=0},q=function(t,s,w){s=[].concat(s);var v=s.length;while(v--){var x=t["on"+s[v]];if(typeof x==="function"){try{x.call(t,w||t)}catch(u){m(u)}}}},f=function(t,u){var v=this,B=t.type,E=false,x,w,s=function(){var F=l().createObjectURL(t);b.push(F);return F},A=function(){q(v,"writestart progress write writeend".split(" "))},D=function(){if(E||!x){x=s(t)}if(w){w.location.href=x}v.readyState=v.DONE;A()},z=function(F){return function(){if(v.readyState!==v.DONE){return F.apply(this,arguments)}}},y={create:true,exclusive:false},C;v.readyState=v.INIT;if(!u){u="download"}if(g){x=s(t);n.href=x;n.download=u;if(j(n)){v.readyState=v.DONE;A();return}}if(h.chrome&&B&&B!==c){C=t.slice||t.webkitSlice;t=C.call(t,0,t.size,c);E=true}if(o&&u!=="download"){u+=".download"}if(B===c||o){w=h}else{w=h.open()}if(!p){D();return}k+=t.size;p(h.TEMPORARY,k,z(function(F){F.root.getDirectory("saved",y,z(function(G){var H=function(){G.getFile(u,y,z(function(I){I.createWriter(z(function(J){J.onwriteend=function(K){w.location.href=I.toURL();b.push(I);v.readyState=v.DONE;q(v,"writeend",K)};J.onerror=function(){var K=J.error;if(K.code!==K.ABORT_ERR){D()}};"writestart progress write abort".split(" ").forEach(function(K){J["on"+K]=v["on"+K]});J.write(t);v.abort=function(){J.abort();v.readyState=v.DONE};v.readyState=v.WRITING}),D)}),D)};G.getFile(u,{create:false},z(function(I){I.remove();H()}),z(function(I){if(I.code===I.NOT_FOUND_ERR){H()}else{D()}}))}),D)}),D)},d=f.prototype,a=function(s,t){return new f(s,t)};d.abort=function(){var s=this;s.readyState=s.DONE;q(s,"abort")};d.readyState=d.INIT=0;d.WRITING=1;d.DONE=2;d.error=d.onwritestart=d.onprogress=d.onwrite=d.onabort=d.onerror=d.onwriteend=null;if(h.addEventListener){h.addEventListener("unload",i,false)}return a}(self));(function(a){var b="pdfDataExport IE Below 9 Shim plugin";a.output=function(e,d){return this.internal.output(e,d);var c="Output.pdf";switch(e){case"datauristring":case"dataurlstring":case"datauri":case"dataurl":case"dataurlnewwindow":if(console){console.log(b+": Data URIs are not supported on IE6-9.")}break;case"save":c=d;break}}})(pdfDataExport.API);
+(function(b){var a=(function(){var c={},u,q,j,l,g,h,o,p;function d(C,B,x,A,y,v,w){var z=this;if(!z){z=window.jqx}z.hierarchy=y;z.exportFormat=v;z.filename=w;C.beginFile(w);n(C);k(C);C.endFile(w);return C.getFile()}function n(z){var x=true;b.each(q,function(){if(this.hidden){x=false;return false}});z.beginHeader(x);var w=0;for(var v in q){if(q[v].columnsDataFields){v=q[v].columnsDataFields[w].displayfield}var y=m(v,q[v]);z.appendHeaderCell(q[v],v,y,x,w);w++}z.endHeader(x)}function k(y){var x=this;if(!x){x=window.jqx}y.beginBody();if(x.hierarchy){var w=function(A){for(var z=0;z<A.length;z+=1){if(A[z]!==undefined){y.hierarchy=true;y.beginRow(A[z].level);e(y,A[z],z,true);if(A[z].records){y.beginRows(A[z].level);w(A[z].records);y.endRows(A[z].level)}y.endRow(A[z].level)}}};w(u);y.endBody();return}for(var v=0;v<u.length;v+=1){if(u[v]!==undefined){e(y,u[v],v)}}y.endBody()}function e(x,A,y,D){var C=this;if(!C){C=window.jqx}var w;if(D!=true){x.beginRow()}var B=0;for(var z in q){if(q[z].columnsDataFields){z=q[z].columnsDataFields[B].displayfield}w=s(y,z);if(w){if(w.level!=undefined){if(w.index-1>A.level&&w.index-1<w.maxLevel){B++;continue}}if(w.maxLevel!=undefined){if(w.index-1==w.maxLevel){w=b.extend({},w);w.merge=w.maxLevel-A.level-1}}}if(A.level!=undefined&&A.label!=undefined){if(C.exportFormat==="xml"||C.exportFormat==="json"){var v={};v.text="group";x.appendBodyCell(A.label,v,w,A,B,"group");break}}if(A.hasOwnProperty(z)){x.appendBodyCell(A[z],q[z],w,A,B)}else{x.appendBodyCell("",q[z],w,A,B)}B++}if(D!=true){x.endRow()}}function m(w,x){if(x.style){return j[x.style]}var v=t();if(v.length>0){return v[0].style}return null}function t(){if(!g){g=new Array();b.each(j,function(v,w){g[g.length]={name:v,style:w}})}return g}function s(A,z){var B=q[z];if(B){if(B.customCellStyles){var x=B.customCellStyles[A];if(x){return j[x]}}if(B.cellStyle){if(B.cellAltStyle){var w=A%2;if(w==0){return j[B.cellStyle]}return j[B.cellAltStyle]}return j[B.cellStyle]}else{var v=t();if(v.length>0){var w=A%(v.length-1);var y=v[w+1].style;return y}}}return null}function r(y,w,x){var v=document.createElement("input");v.name=w;v.value=y;v.type="hidden";x.appendChild(v);return v}function f(x,v,w){var y=document.createElement("textarea");y.name=v;y.value=x;w.appendChild(y);return y}function i(w,z,y,v,A){var x=document.createElement("form");r(w,"filename",x);r(z,"format",x);f(y,"content",x);if(v==undefined||v==""){if(window&&window.location.toString().indexOf("jqwidgets.com")>=0){v="https://jqwidgets.com/export_server/dataexport.php"}else{v="http://jquerygrid.net/export_server/dataexport.php"}}x.action=v;x.method="post";if(A){x.acceptCharset=A}document.body.appendChild(x);return x}l=function(A,y,x,w,z,v){if(!(this instanceof a)){return new a(A,y,x,z,v)}u=A;q=y;j=x;this.exportTo=function(K,H,G,B){K=K.toString().toLowerCase();var D=c[K];if(typeof D==="undefined"){throw"You can't export to "+K+" format."}if(K==="pdf"&&B==undefined){var M=this.exportTo(K,H,K,"pdf");if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var L=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);L.cellInitialize();var J=b(M).find("th");var I=b(M).find("tr");var N=0;L.setFontSize(13*72/96);var F=595;switch(b.jqx.pdfExport.paperSize){case"legal":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=1008}break;case"letter":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=792}break;case"a3":var F=841;if(b.jqx.pdfExport.orientation!=="portrait"){F=1190}break;case"a4":var F=595;if(b.jqx.pdfExport.orientation!=="portrait"){F=842}break;case"a5":var F=420;if(b.jqx.pdfExport.orientation!=="portrait"){F=595}break}F-=20;var E=0;var C=[];b.each(J,function(O){var P=parseInt(this.style.width);if(isNaN(P)){P=25}var Q=P*72/96;C[O]=Q;E+=Q});if(J.length===0){b.each(I[0].cells,function(O){var P=parseInt(this.style.width);if(isNaN(P)){P=F/I[0].cells.length}var Q=P*72/96;C[O]=Q;E+=Q})}if(E>F){b.each(C,function(O){C[O]=(C[O]/E)*100;C[O]=C[O]*F/100})}b.each(J,function(P){var T=C[P];var S=25*72/96;var R=L.getTextDimensions(b(this).html());var Q=b(this).html();if(R.w+3>T){var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U.length>3){Q=U.substring(0,U.length-3)+"..."}else{Q=U.substring(0,1)+"..."}var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U!=Q){Q=U}}L.cell(10,10,T,S,Q,N)});N++;b.each(I,function(V){if(V===0){return true}var P=b(this).children();var Q=P.length>J.length&&J.length>0;if(Q){var Y=P.length-J.length;var Z="";var X=C[0];var U=25*72/96;for(var R=0;R<=Y;R++){var O=P[R].innerHTML;if(O==="+"||O==="-"){O=O+" "}if(O==="&nbsp;"){O="   "}Z+=O}var T=L.getTextDimensions(Z);if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N);for(var R=Y+1;R<P.length;R++){var V=R-Y;var X=C[V];var U=25*72/96;var Z=b(P[R]).html();var T=L.getTextDimensions(b(P[R]).html());if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N)}N++;return true}b.each(P,function(ab){var af=C[ab];var ae=25*72/96;var ad=b(this).html();var ac=L.getTextDimensions(b(this).html());if(ac.w+3>af){var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag.length>3){ad=ag.substring(0,ag.length-3)+"..."}else{ad=ag.substring(0,1)+"..."}var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag!=ad){ad=ag}}L.cell(10,10,af,ae,ad,N)});N++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}return L}return d(D,u,q,j,H,G,B)};this.exportToFile=function(L,B,O,F,I){if(L==="pdf"){var N=this.exportTo(L,I,L,B);if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var M=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);if(F=="utf-8"||F=="UTF-8"){M.setFont("courier","normal")}M.cellInitialize();var K=b(N).find("th");var J=b(N).find("tr");var P=0;M.setFontSize(13*72/96);var G=595;switch(b.jqx.pdfExport.paperSize){case"legal":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=1008}break;case"letter":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=792}break;case"a3":var G=841;if(b.jqx.pdfExport.orientation!=="portrait"){G=1190}break;case"a4":var G=595;if(b.jqx.pdfExport.orientation!=="portrait"){G=842}break;case"a5":var G=420;if(b.jqx.pdfExport.orientation!=="portrait"){G=595}break}G-=20;var E=0;var C=[];b.each(K,function(Q){var R=parseInt(this.style.width);if(isNaN(R)){R=25}var S=R*72/96;C[Q]=S;E+=S});if(K.length===0){b.each(J[0].cells,function(Q){var R=parseInt(this.style.width);if(isNaN(R)){R=G/J[0].cells.length}var S=R*72/96;C[Q]=S;E+=S})}if(E>G){b.each(C,function(Q){C[Q]=(C[Q]/E)*100;C[Q]=C[Q]*G/100})}b.each(K,function(R){var V=C[R];var U=25*72/96;var T=M.getTextDimensions(b(this).html());var S=b(this).html();if(T.w+3>V){var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W.length>3){S=W.substring(0,W.length-3)+"..."}else{S=W.substring(0,1)+"..."}var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W!=S){S=W}}M.cell(10,10,V,U,S,P)});P++;b.each(J,function(X){if(X===0){return true}var R=b(this).children();var S=R.length>K.length&&K.length>0;if(S){var aa=R.length-K.length;var ab="";var Z=C[0];var W=25*72/96;for(var T=0;T<=aa;T++){var Q=R[T].innerHTML;if(Q==="+"||Q==="-"){Q=Q+" "}if(Q==="&nbsp;"){Q="   "}ab+=Q}var V=M.getTextDimensions(ab);if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P);for(var T=aa+1;T<R.length;T++){var X=T-aa;var Z=C[X];var W=25*72/96;var ab=b(R[T]).html();if(ab==="&nbsp;"){ab="   "}var V=M.getTextDimensions(b(R[T]).html());if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P)}P++;return true}b.each(R,function(ad){var ah=C[ad];var ag=25*72/96;var af=b(this).html();if(af==="&nbsp;"){af="   "}var ae=M.getTextDimensions(b(this).html());if(ae.w+3>ah){var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai.length>3){af=ai.substring(0,ai.length-3)+"..."}else{af=ai.substring(0,1)+"..."}var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai!=af){af=ai}}M.cell(10,10,ah,ag,af,P)});P++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}M.save(B+".pdf");return}var H=this.exportTo(L,I,L,B),D=i(B,L,H,O,F);D.submit();document.body.removeChild(D)};this.exportToLocalFile=function(F,C,D,B){var E=this.exportTo(F,D,B);document.location.href="data:application/octet-stream;filename="+C+","+encodeURIComponent(E)}};l.extend=function(v,w){if(w instanceof b.jqx.dataAdapter.DataExportModuleBase){c[v]=w}else{throw"The module "+v+" is not instance of DataExportModuleBase."}};return l}());b.jqx.dataAdapter.ArrayExporter=a})(jqxBaseFramework);(function(b){var a=function(){this.formatData=function(f,e,c,h){if(e==="date"){var d="";if(typeof f==="string"){d=b.jqx.dataFormat.tryparsedate(f);f=d}if(f===""||f===null){return""}d=b.jqx.dataFormat.formatdate(f,c,h);if((d&&d.toString()=="NaN")||d==null){return""}f=d}else{if(e==="number"||e==="float"||e==="int"||e=="integer"){if(f===""||f===null){return""}if(!isNaN(new Number(f))){var g=b.jqx.dataFormat.formatnumber(f,c,h);if(g.toString()=="NaN"){return""}else{f=g}}}else{f=f}}if(f===null){return""}return f};this.getFormat=function(f){var c=f?f.formatString:"";var e=f?f.localization:"";var d="string";d=f?f.type:"string";if(d=="number"||d=="float"){if(!c){c="f2"}}if(d=="int"||d=="integer"){if(!c){c="n0"}}if(d=="date"){if(!c){c="d"}}return{type:d,formatString:c,localization:e}};this.beginFile=function(){throw"Not implemented!"};this.beginHeader=function(){throw"Not implemented!"};this.appendHeaderCell=function(){throw"Not implemented!"};this.endHeader=function(){throw"Not implemented!"};this.beginBody=function(){throw"Not implemented!"};this.beginRow=function(){throw"Not implemented!"};this.beginRows=function(){throw"Not implemented!"};this.endRows=function(){throw"Not implemented!"};this.appendBodyCell=function(){throw"Not implemented!"};this.endRow=function(){throw"Not implemented!"};this.endBody=function(){throw"Not implemented!"};this.endFile=function(){throw"Not implemented!"};this.getFile=function(){throw"Not implemented!"}};b.jqx.dataAdapter.DataExportModuleBase=a})(jqxBaseFramework);(function(d){var c=function(j){var e,h,g;var l=0;var i=this;this.beginFile=function(){e=""};this.beginHeader=function(){};this.appendHeaderCell=function(q,r,p,m,n){if(p){if(p.level!=undefined){if(n<p.maxLevel){return}else{if(n===p.maxLevel){if(m){k(q.text)}for(var o=0;o<p.maxLevel;o++){k("")}return}}}}g=m;if(m){k(q.text)}};this.endHeader=function(){this.endRow()};this.beginBody=function(){l=0};this.beginRow=function(){if((l>0)||(l==0&&g)){e+="\n"}l++};this.appendBodyCell=function(q,m,p,r,n){if(p){if(p.maxLevel!=undefined){if(n===p.maxLevel){k(q,m);for(var o=0;o<p.maxLevel-r.level-1;o++){k("",m)}return}}}k(q,m)};this.endRow=function(){e=e.substring(0,e.length-1)};this.endBody=function(){};this.endFile=function(){};this.getFile=function(){return e};function f(m,o){if(o){var n=i.getFormat(o);m=i.formatData(m,n.type,n.formatString,n.localization)}m='"'+m+'"';return m}function k(m,n){m=f(m,n);e+=m+j}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var a=function(){};a.prototype=new c(",");var b=function(){};b.prototype=new c("\t");d.jqx.dataAdapter.ArrayExporter.extend("csv",new a());d.jqx.dataAdapter.ArrayExporter.extend("tsv",new b())})(jqxBaseFramework);(function(d){var a=function(){var i=false;var g;var h;var j=0;this.setPDF=function(){i=true};this.beginFile=function(k){if(i||k==undefined){g='<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}else{g='<html>\n\t<head>\n\t\t<title></title>\n\t\t<meta http-equiv=Content-type content="text/html; charset=UTF-8">\n\t</head>\n\t<body>\n\t\t<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}};this.beginHeader=function(){if(i){g+="\n\t<thead><tr>"}else{g+="\n\t\t\t<thead>"}};this.appendHeaderCell=function(m,n,l,k){h=k;if(!k){return}if(i){g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}else{if(l.disabled){return}if(l.merge){if(m.width){g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="'+f(l)+'">'+m.text+"</th>"}}else{if(m.width){g+='\n\t\t\t\t<th style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}}}};this.endHeader=function(){if(i){g+="\n\t</tr></thead>"}else{g+="\n\t\t\t</thead>"}};this.beginBody=function(){if(i){g+="\n\t<tbody>"}else{g+="\n\t\t\t<tbody>"}j=0};this.beginRow=function(){if(i){g+="\n\t<tr>"}else{g+="\n\t\t\t\t<tr>"}j++};this.appendBodyCell=function(l,n,k){var m=this.getFormat(n);if(l===""){l="&nbsp;"}if(i){if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(k.merge){if(j==1&&!h){g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}}};this.endRow=function(){if(i){g+="\n\t</tr>"}else{g+="\n\t\t\t\t</tr>"}};this.endBody=function(){if(i){g+="\n\t</tbody>"}else{g+="\n\t\t\t</tbody>"}};this.endFile=function(k){if(i||k==undefined){g+="\n</table>"}else{g+="\n\t\t</table>\n\t</body>\n</html>\n"}};this.getFile=function(){return g};function f(m){var k="";for(var l in m){if(m.hasOwnProperty(l)){if(i&&l=="font-size"){m[l]="100%"}k+=l+":"+m[l]+";"}}return k}};a.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var e=function(){};e.prototype=new a();var c=function(){};c.prototype=new a();var b=new c();d.jqx.dataAdapter.ArrayExporter.extend("html",new e());d.jqx.dataAdapter.ArrayExporter.extend("pdf",b)})(jqxBaseFramework);(function(b){var a=function(){var h,l,d,i,c,j,m={style:"",stylesMap:{font:{color:"Color","font-family":"FontName","font-style":"Italic","font-weight":"Bold"},interior:{"background-color":"Color",background:"Color"},alignment:{left:"Left",center:"Center",right:"Right"}},startStyle:function(p){this.style+='\n\t\t<Style ss:ID="'+p+'" ss:Name="'+p+'">'},buildAlignment:function(q){if(q["text-align"]){var r=this.stylesMap.alignment[q["text-align"]];if(!r){r="Left"}var p='\n\t\t\t<Alignment ss:Vertical="Bottom" ss:Horizontal="'+r+'"/>';this.style+=p}},buildBorder:function(s){if(s["border-color"]){var r="\n\t\t\t<Borders>";var u='\n\t\t\t\t<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var p='\n\t\t\t\t<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var q='\n\t\t\t\t<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var t='\n\t\t\t\t<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';r+=u;r+=p;r+=q;r+=t;r+="\n\t\t\t</Borders>";this.style+=r}},buildFont:function(q){var r=this.stylesMap.font,p="\n\t\t\t<Font ";for(var s in r){if(typeof q[s]!=="undefined"){if(s==="font-style"&&q[s].toString().toLowerCase()==="italic"){p+='ss:Italic="1" '}else{if(s==="font-weight"&&q[s].toString().toLowerCase()==="bold"){p+='ss:Bold="1" '}else{if(s==="color"){p+="ss:"+r[s]+'="'+q[s]+'" '}}}}}p+="/>";this.style+=p},buildInterior:function(q){var r=this.stylesMap.interior,t="\n\t\t\t<Interior ";var p=false;for(var s in r){if(typeof q[s]!=="undefined"){t+="ss:"+r[s]+'="'+q[s]+'" ';p=true}}if(p){t+='ss:Pattern="Solid"'}t+="/>";this.style+=t},buildFormat:function(q){if(q.dataType=="number"||q.dataType=="float"||q.dataType=="int"||q.dataType=="integer"){var p=q.formatString;if(p==""||p.indexOf("n")!=-1||p.indexOf("N")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="0"/>'}else{if(p=="f"||p=="F"||p=="D"||p.indexOf("d")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="#,##0.00_);[Red](#,##0.00)"/>'}else{if(p.indexOf("p")!=-1||p.indexOf("P")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="Percent"/>'}else{if(p.indexOf("c")!=-1||p.indexOf("C")!=-1){if(q.currencysymbol&&parseInt(q.currencysymbol.charCodeAt(0))==8364){this.style+='\n\t\t\t<NumberFormat ss:Format="Euro Currency"/>'}else{this.style+='\n\t\t\t<NumberFormat ss:Format="Currency"/>'}}}}}}else{if(q.dataType=="date"){this.style+='\n\t\t\t<NumberFormat ss:Format="Short Date"/>'}}},closeStyle:function(){this.style+="\n\t\t</Style>"},toString:function(){var p=this.style;this.style="";return p}};this.beginFile=function(){c={};j=0;h='<?xml version="1.0"?>\n\t<?mso-application progid="Excel.Sheet"?> \n\t<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:o="urn:schemas-microsoft-com:office:office" \n\txmlns:x="urn:schemas-microsoft-com:office:excel" \n\txmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:html="http://www.w3.org/TR/REC-html40"> \n\t<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> \n\t<Version>12.00</Version> \n\t</DocumentProperties> \n\t<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> \n\t<WindowHeight>8130</WindowHeight> \n\t<WindowWidth>15135</WindowWidth> \n\t<WindowTopX>120</WindowTopX> \n\t<WindowTopY>45</WindowTopY> \n\t<ProtectStructure>False</ProtectStructure> \n\t<ProtectWindows>False</ProtectWindows> \n\t</ExcelWorkbook> \n\t<Styles>'};this.beginHeader=function(){l='\n\t<Worksheet ss:Name="Sheet1">\n\t\t<Table>';d=[];i=[]};this.appendHeaderCell=function(r,s,q){var p=r.width!=undefined?r.width:r.text.length*10;l+='\n\t\t\t<Column ss:Width="'+p+'"/>';d.push(r);i.push(q)};this.endHeader=function(p){if(p){this.beginRow();for(var q=0;q<d.length;q+=1){if(i[q].disabled){continue}g.call(this,d[q]["text"],null,i[q])}this.endRow()}};this.beginBody=function(){};this.beginRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="<Row>";return}l+="\n\t\t\t<Row>"};this.beginRows=function(p){l+="\n\t\t\t\t<Rows>"};this.appendBodyCell=function(r,p,q,s){g.call(this,r,p,q,s)};this.endRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Row>";return}l+="\n\t\t\t</Row>"};this.endRows=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Rows>";return}};this.endBody=function(){l+="\n\t\t</Table>"};this.endFile=function(){l+="\n\t</Worksheet>\n</Workbook>";h+="\n\t</Styles>"};this.getFile=function(){return h+l};function g(t,w,s,v){var r="String";var u=this.getFormat(w);if(t!=null&&t.toString().substring(0,3)=="_AG"){t=t.toString().substring(3);r="String"}else{if(u.type=="date"){var q=t;t=this.formatData(t,u.type,u.formatString,u.localization);if(t===null||t===""){t="";r="String"}else{t=q.toISOString();r="DateTime"}}if(u.type=="string"){if(t===null||t===undefined){t=""}else{if(t.toString().indexOf("&")>=0){t=t.toString().replace(/&/g,"&amp;")}if(t.toString().indexOf(">")>=0){t=t.toString().replace(/>/g,"&gt;")}if(t.toString().indexOf("<")>=0){t=t.toString().replace(/</g,"&lt;")}if(t.toString().indexOf('"')>=0){t=t.toString().replace(/"/g,"&quot;")}if(t.toString().indexOf("'")>=0){t=t.toString().replace(/'/g,"&apos;")}}}if(s.dataType=="number"||s.dataType=="float"||s.dataType=="int"||s.dataType=="integer"){r="Number";t=parseFloat(t);if(t===null||isNaN(t)||t===""){t="";r="String"}if(t&&r!="String"&&t!=""){if(w&&w.formatString&&w.formatString.indexOf("p")>=0){t=t/100}}s.currencysymbol=w.localization.currencysymbol}}var p=f(s);if(s.merge){l+='\n\t\t\t\t<Cell ss:MergeAcross="'+s.merge+'" ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}else{l+='\n\t\t\t\t<Cell ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}}function n(){j+=1;return"xls-style-"+j}function k(q){for(var p in c){if(o(q,c[p])&&o(c[p],q)){return p}}return undefined}function o(t,q){var s=true;for(var r in t){if(t[r]!==q[r]){s=false}}return s}function e(q,p){m.startStyle(q);m.buildAlignment(p);m.buildBorder(p);m.buildFont(p);m.buildInterior(p);m.buildFormat(p);m.closeStyle();h+=m.toString()}function f(p){if(!p){return""}var q=k(p);if(typeof q==="undefined"){q=n();c[q]=p;e(q,p)}return q}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xls",new a())})(jqxBaseFramework);(function(b){var a=function(){var e,c,d;this.beginFile=function(){e='<?xml version="1.0" encoding="UTF-8" ?>';e+="\n<table>"};this.beginHeader=function(){c=[]};this.appendHeaderCell=function(f,g){c.push(g)};this.endHeader=function(){};this.beginBody=function(g,f){};this.beginRow=function(h){var g=this;if(!g){g=window.jqx}if(h!=undefined){if(g.hierarchy){e+="\n\t";for(var f=0;f<h;f++){e+="\t\t"}e+="<row>";d=0;return}}e+="\n\t<row>";d=0};this.beginRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="<rows>";d=0;return}e+="\n\t\t<rows>"};this.appendBodyCell=function(h,n,f,o,j,m){var k=this;if(!k){k=window.jqx}var l=this.getFormat(n);h=this.formatData(h,l.type,l.formatString,l.localization);if(l.type=="string"){if(h.toString().indexOf("&")>=0){h=h.toString().replace(/&/g,"&amp;")}if(h.toString().indexOf(">")>=0){h=h.toString().replace(/>/g,"&gt;")}if(h.toString().indexOf("<")>=0){h=h.toString().replace(/</g,"&lt;")}if(h.toString().indexOf('"')>=0){h=h.toString().replace(/"/g,"&quot;")}if(h.toString().indexOf("'")>=0){h=h.toString().replace(/'/g,"&apos;")}}if(o.level!=undefined){if(k.hierarchy){e+="\n\t\t";for(var g=0;g<o.level;g++){e+="\t\t"}if(m===undefined){e+="<"+c[d]+">"+h+"</"+c[d]+">"}else{e+="<"+m+">"+h+"</"+m+">"}}else{if(m!=undefined){e+="\n\t\t<"+m+">"+h+"</"+m+">"}else{e+="\n\t\t<"+c[d]+">"+h+"</"+c[d]+">"}}}else{e+="\n\t\t<"+c[d]+">"+h+"</"+c[d]+">"}d++};this.endRow=function(h){var g=this;if(!g){g=window.jqx}if(h!=undefined){if(g.hierarchy){e+="\n\t";for(var f=0;f<h;f++){e+="\t\t"}e+="</row>";d=0;return}}e+="\n\t</row>";d=0};this.endRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="</rows>";d=0;return}e+="\n\t\t</rows>"};this.endBody=function(){};this.endFile=function(){e+="\n</table>"};this.getFile=function(){return e}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xml",new a())})(jqxBaseFramework);(function(d){var j=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,l={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function a(n){return'"'+n.replace(j,function(o){var p=l[o];return typeof p==="string"?p:"\\u"+("0000"+o.charCodeAt(0).toString(16)).slice(-4)})+'"'}function b(o){return o<10?"0"+o:o}function e(o){var n;if(isFinite(o.valueOf())){n=o.getUTCFullYear()+"-"+b(o.getUTCMonth()+1)+"-"+b(o.getUTCDate())+"T"+b(o.getUTCHours())+":"+b(o.getUTCMinutes())+":"+b(o.getUTCSeconds())+'Z"'}else{n="null"}return n}function g(q){var n=q.length,o=[],p;for(p=0;p<n;p++){o.push(h(p,q)||"null")}return"["+o.join(",")+"]"}function m(q){var o=[],p,n;for(p in q){if(Object.prototype.hasOwnProperty.call(q,p)){n=h(p,q);if(n){o.push(a(p)+":"+n)}}}return"{"+o.join(",")+"}"}function i(n){switch(Object.prototype.toString.call(n)){case"[object Date]":return e(n);case"[object Array]":return g(n)}return m(n)}function k(o,n){switch(n){case"string":return a(o);case"number":case"float":case"integer":case"int":return isFinite(o)?o:"null";case"boolean":return o}return"null"}function h(o,n){var q=n[o],p=typeof q;if(q&&typeof q==="object"&&typeof q.toJSON==="function"){q=q.toJSON(o);p=typeof q}if(/(number|float|int|integer|string|boolean)/.test(p)||(!q&&p==="object")){return k(q,p)}else{return i(q)}}function f(n){if(window.JSON&&typeof window.JSON.stringify==="function"){return window.JSON.stringify(n)}return h("",{"":n})}var c=function(){var q=this;this.prepareData=function(t,v){if(v){var u=q.getFormat(v);t=q.formatData(t,u.type,u.formatString,u.localization)}return t};var n,p,r,o=[],s=0;this.beginFile=function(){p=[]};this.beginHeader=function(){};this.appendHeaderCell=function(t){};this.endHeader=function(){};this.beginBody=function(u,t){};this.beginRow=function(){var t=this;if(!t){t=window.jqx}if(t.hierarchy||window.jqx.hierarchy){o[s]={}}else{r={}}};this.beginRows=function(){o[s].rows=[];s++;o[s]={}};this.endRows=function(){s--};this.appendBodyCell=function(v,t){var u=this;if(!u){u=window.jqx}var w=this.prepareData(v,t);if(u.hierarchy||window.jqx.hierarchy){o[s][t.text]=w}else{r[t.text]=w}};this.endRow=function(){var t=this;if(!t){t=window.jqx}if(t.hierarchy||window.jqx.hierarchy){if(s==0){p.push(o[s])}else{o[s-1].rows.push(o[s])}}else{p.push(r)}};this.endBody=function(){};this.endFile=function(){n=f(p)};this.getFile=function(){return n}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();d.jqx.dataAdapter.ArrayExporter.extend("json",new c())})(jqxBaseFramework);var pdfDataExport=window.jqxPdfDataExport=(function(){if(typeof btoa==="undefined"){window.btoa=function(m){var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=h.split(""),g,f,e,q,p,o,n,t,l=0,u=0,k="",j=[],d;do{g=m.charCodeAt(l++);f=m.charCodeAt(l++);e=m.charCodeAt(l++);t=g<<16|f<<8|e;q=t>>18&63;p=t>>12&63;o=t>>6&63;n=t&63;j[u++]=s[q]+s[p]+s[o]+s[n]}while(l<m.length);k=j.join("");d=m.length%3;return(d?k.slice(0,d-3):k)+"===".slice(d||3)}}if(typeof atob==="undefined"){window.atob=function(l){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f,e,d,p,o,n,m,q,k=0,r=0,h="",j=[];if(!l){return l}l+="";do{p=g.indexOf(l.charAt(k++));o=g.indexOf(l.charAt(k++));n=g.indexOf(l.charAt(k++));m=g.indexOf(l.charAt(k++));q=p<<18|o<<12|n<<6|m;f=q>>16&255;e=q>>8&255;d=q&255;if(n===64){j[r++]=String.fromCharCode(f)}else{if(m===64){j[r++]=String.fromCharCode(f,e)}else{j[r++]=String.fromCharCode(f,e,d)}}}while(k<l.length);h=j.join("");return h}}var c=typeof Object.keys==="function"?function(d){return Object.keys(d).length}:function(d){var f=0,g;for(g in d){if(d.hasOwnProperty(g)){f++}}return f},a=function(d){this.topics={};this.context=d;this.publish=function(h,m){if(this.topics[h]){var j=this.topics[h],o=[],n,g,e,f,k=function(){};m=Array.prototype.slice.call(arguments,1);for(g=0,e=j.length;g<e;g++){f=j[g];n=f[0];if(f[1]){f[0]=k;o.push(g)}n.apply(this.context,m)}for(g=0,e=o.length;g<e;g++){j.splice(o[g],1)}}};this.subscribe=function(e,g,f){if(!this.topics[e]){this.topics[e]=[[g,f]]}else{this.topics[e].push([g,f])}return{topic:e,callback:g}};this.unsubscribe=function(h){if(this.topics[h.topic]){var f=this.topics[h.topic],g,e;for(g=0,e=f.length;g<e;g++){if(f[g][0]===h.callback){f.splice(g,1)}}}}};function b(E,ae,M,V){if(typeof E==="undefined"){E="p"}else{E=E.toString().toLowerCase()}if(typeof ae==="undefined"){ae="mm"}if(typeof M==="undefined"){M="a4"}if(typeof V==="undefined"&&typeof zpipe==="undefined"){V=false}var at=M.toString().toLowerCase(),ao="0.9.0rc2",t=[],F=0,av=V,U="1.3",N={a3:[841.89,1190.55],a4:[595.28,841.89],a5:[420.94,595.28],letter:[612,792],legal:[612,1008]},ad="0 g",H="0 G",g=0,f=[],n=2,v=false,D=[],ai={},Q={},aj=16,d,z=0.200025,B,C,ak,O={title:"",subject:"",author:"",keywords:"",creator:""},R=0,T=0,P={},G=new a(P),af,aq,p=function(i){return i.toFixed(2)},o=function(i){return i.toFixed(3)},A=function(i){var k=(i).toFixed(0);if(i<10){return"0"+k}else{return k}},r=function(i){var k=(i).toFixed(0);if(k.length<10){return new Array(11-k.length).join("0")+k}else{return k}},ab=function(i){if(v){f[g].push(i)}else{t.push(i);F+=i.length+1}},w=function(){n++;D[n]=F;ab(n+" 0 obj");return n},K=function(i){ab("stream");ab(i);ab("endstream")},am,S,ap,al,aa=function(){am=C*ak;S=B*ak;var aB,aA,k,aw,ax,az,ay;for(aB=1;aB<=g;aB++){w();ab("<</Type /Page");ab("/Parent 1 0 R");ab("/Resources 2 0 R");ab("/Contents "+(n+1)+" 0 R>>");ab("endobj");aA=f[aB].join("\n");w();if(av){k=[];for(ax=0;ax<aA.length;++ax){k[ax]=aA.charCodeAt(ax)}ay=adler32cs.from(aA);az=new Deflater(6);az.append(new Uint8Array(k));aA=az.flush();k=[new Uint8Array([120,156]),new Uint8Array(aA),new Uint8Array([ay&255,(ay>>8)&255,(ay>>16)&255,(ay>>24)&255])];aA="";for(ax in k){if(k.hasOwnProperty(ax)){aA+=String.fromCharCode.apply(null,k[ax])}}ab("<</Length "+aA.length+" /Filter [/FlateDecode]>>")}else{ab("<</Length "+aA.length+">>")}K(aA);ab("endobj")}D[1]=F;ab("1 0 obj");ab("<</Type /Pages");ap="/Kids [";for(ax=0;ax<g;ax++){ap+=(3+2*ax)+" 0 R "}ab(ap+"]");ab("/Count "+g);ab("/MediaBox [0 0 "+p(am)+" "+p(S)+"]");ab(">>");ab("endobj")},X=function(i){i.objectNumber=w();ab("<</BaseFont/"+i.PostScriptName+"/Type/Font");if(typeof i.encoding==="string"){ab("/Encoding/"+i.encoding)}ab("/Subtype/Type1>>");ab("endobj")},J=function(){var i;for(i in ai){if(ai.hasOwnProperty(i)){X(ai[i])}}},L=function(){G.publish("putXobjectDict")},x=function(){ab("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");ab("/Font <<");var i;for(i in ai){if(ai.hasOwnProperty(i)){ab("/"+i+" "+ai[i].objectNumber+" 0 R")}}ab(">>");ab("/XObject <<");L();ab(">>")},h=function(){J();G.publish("putResources");D[2]=F;ab("2 0 obj");ab("<<");x();ab(">>");ab("endobj");G.publish("postPutResources")},m=function(aw,k,ax){var i;if(Q[k]===i){Q[k]={}}Q[k][ax]=aw},au={},u=function(i,ax,az,aw){var ay="F"+(c(ai)+1).toString(10),k=ai[ay]={id:ay,PostScriptName:i,fontName:ax,fontStyle:az,encoding:aw,metadata:{}};m(ay,ax,az);G.publish("addFont",k);return ay},e=function(){var k="helvetica",aG="times",aI="courier",aF="normal",aE="bold",aD="italic",aH="bolditalic",ax="StandardEncoding",aA=[["Helvetica",k,aF],["Helvetica-Bold",k,aE],["Helvetica-Oblique",k,aD],["Helvetica-BoldOblique",k,aH],["Courier",aI,aF],["Courier-Bold",aI,aE],["Courier-Oblique",aI,aD],["Courier-BoldOblique",aI,aH],["Times-Roman",aG,aF],["Times-Bold",aG,aE],["Times-Italic",aG,aD],["Times-BoldItalic",aG,aH]],aC,ay,aB,az;for(aC=0,ay=aA.length;aC<ay;aC++){var aw=ax;aB=u(aA[aC][0],aA[aC][1],aA[aC][2],aw);az=aA[aC][0].split("-");m(aB,az[0],az[1]||"")}G.publish("addFonts",{fonts:ai,dictionary:Q})},s=function(aG,ax){var aC,aA,az,ay,aE,aD,aw,aF,k,aB;if(ax===az){ax={}}ay=ax.sourceEncoding?ay:"Unicode";aD=ax.outputEncoding;if((ax.autoencode||aD)&&ai[d].metadata&&ai[d].metadata[ay]&&ai[d].metadata[ay].encoding){aE=ai[d].metadata[ay].encoding;if(!aD&&ai[d].encoding){aD=ai[d].encoding}if(!aD&&aE.codePages){aD=aE.codePages[0]}if(typeof aD==="string"){aD=aE[aD]}if(aD){aF=false;aw=[];for(aC=0,aA=aG.length;aC<aA;aC++){k=aD[aG.charCodeAt(aC)];if(k){aw.push(String.fromCharCode(k))}else{aw.push(aG[aC])}if(aw[aC].charCodeAt(0)>>8){aF=true}}aG=aw.join("")}}aC=aG.length;while(aF===az&&aC!==0){if(aG.charCodeAt(aC-1)>>8){aF=true}aC--}if(!aF){return aG}else{aw=ax.noBOM?[]:[254,255];for(aC=0,aA=aG.length;aC<aA;aC++){k=aG.charCodeAt(aC);aB=k>>8;if(aB>>8){throw new Error("Character at position "+aC.toString(10)+" of string '"+aG+"' exceeds 16bits. Cannot be encoded into UCS-2 BE")}aw.push(aB);aw.push(k-(aB<<8))}return String.fromCharCode.apply(az,aw)}},Z=function(k,i){return s(k,i).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Y=function(){ab("/Producer (pdfDataExport "+ao+")");if(O.title){ab("/Title ("+Z(O.title)+")")}if(O.subject){ab("/Subject ("+Z(O.subject)+")")}if(O.author){ab("/Author ("+Z(O.author)+")")}if(O.keywords){ab("/Keywords ("+Z(O.keywords)+")")}if(O.creator){ab("/Creator ("+Z(O.creator)+")")}var i=new Date();ab("/CreationDate (D:"+[i.getFullYear(),A(i.getMonth()+1),A(i.getDate()),A(i.getHours()),A(i.getMinutes()),A(i.getSeconds())].join("")+")")},W=function(){ab("/Type /Catalog");ab("/Pages 1 0 R");ab("/OpenAction [3 0 R /FitH null]");ab("/PageLayout /OneColumn");G.publish("putCatalog")},l=function(){ab("/Size "+(n+1));ab("/Root "+n+" 0 R");ab("/Info "+(n-1)+" 0 R")},ar=function(){g++;v=true;f[g]=[]},ah=function(){ar();ab(p(z*ak)+" w");ab(H);if(R!==0){ab(R.toString(10)+" J")}if(T!==0){ab(T.toString(10)+" j")}G.publish("addPage",{pageNumber:g})},y=function(aw,ay){var i,k;if(aw===k){aw=ai[d].fontName}if(ay===k){ay=ai[d].fontStyle}try{i=Q[aw][ay]}catch(ax){i=k}if(!i){throw new Error("Unable to look up font label for font '"+aw+"', '"+ay+"'. Refer to getFontList() for available fonts.")}return i},q=function(){v=false;t=[];D=[];ab("%PDF-"+U);aa();h();w();ab("<<");Y();ab(">>");ab("endobj");w();ab("<<");W();ab(">>");ab("endobj");var aw=F,k;ab("xref");ab("0 "+(n+1));ab("0000000000 65535 f ");for(k=1;k<=n;k++){ab(r(D[k])+" 00000 n ")}ab("trailer");ab("<<");l();ab(">>");ab("startxref");ab(aw);ab("%%EOF");v=true;return t.join("\n")},ac=function(i){var k="S";if(i==="F"){k="f"}else{if(i==="FD"||i==="DF"){k="B"}}return k},I=function(az,aw){var ay,aB,aA,aC,ax,k;switch(az){case ay:return q();case"save":if(navigator.getUserMedia){if(window.URL===undefined){return P.output("dataurlnewwindow")}else{if(window.URL.createObjectURL===undefined){return P.output("dataurlnewwindow")}}}aB=q();aA=aB.length;aC=new Uint8Array(new ArrayBuffer(aA));for(ax=0;ax<aA;ax++){aC[ax]=aB.charCodeAt(ax)}k=new Blob([aC],{type:"application/pdf"});saveAs(k,aw);break;case"datauristring":case"dataurlstring":return"data:application/pdf;base64,"+btoa(q());case"datauri":case"dataurl":document.location.href="data:application/pdf;base64,"+btoa(q());break;case"dataurlnewwindow":window.open("data:application/pdf;base64,"+btoa(q()));break;default:throw new Error('Output type "'+az+'" is not supported.')}};if(ae==="pt"){ak=1}else{if(ae==="mm"){ak=72/25.4}else{if(ae==="cm"){ak=72/2.54}else{if(ae==="in"){ak=72}else{throw ("Invalid unit: "+ae)}}}}if(N.hasOwnProperty(at)){B=N[at][1]/ak;C=N[at][0]/ak}else{try{B=M[1];C=M[0]}catch(an){throw ("Invalid format: "+M)}}if(E==="p"||E==="portrait"){E="p";if(C>B){af=C;C=B;B=af}}else{if(E==="l"||E==="landscape"){E="l";if(B>C){af=C;C=B;B=af}}else{throw ("Invalid orientation: "+E)}}P.internal={pdfEscape:Z,getStyle:ac,getFont:function(){return ai[y.apply(P,arguments)]},getFontSize:function(){return aj},btoa:btoa,write:function(i,ax,aw,k){ab(arguments.length===1?i:Array.prototype.join.call(arguments," "))},getCoordinateString:function(i){return p(i*ak)},getVerticalCoordinateString:function(i){return p((B-i)*ak)},collections:{},newObject:w,putStream:K,events:G,scaleFactor:ak,pageSize:{width:C,height:B},output:function(k,i){return I(k,i)}};P.addPage=function(){ah();return this};var ag=["","0","00","000","0000"];var j=function(aA,aw){var ax=["FEFF"];for(var az=0,k=aA.length,ay;az<k;++az){ay=aA.charCodeAt(az).toString(16).toUpperCase();ax.push(ag[4-ay.length],ay)}return ax.join("")};P.text16=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}aw.autoencode=false;if(typeof aF==="string"){aB=j(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=j(k[ay],aw)}aB=k.join("> Tj\nT* <")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n<"+aB+"> Tj\nET");return this};P.text=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}if(typeof aF==="string"){aB=Z(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=Z(k[ay],aw)}aB=k.join(") Tj\nT* (")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n("+aB+") Tj\nET");return this};P.line=function(k,ax,i,aw){ab(p(k*ak)+" "+p((B-ax)*ak)+" m "+p(i*ak)+" "+p((B-aw)*ak)+" l S");return this};P.lines=function(k,aF,aE,aO,aK){var ay,aM,aC,aD,aB,aA,aI,aG,aN,aL,az,aJ,ax,aH,aw;if(typeof k==="number"){aM=aE;aC=k;aD=aF;k=aM;aF=aC;aE=aD}aK=ac(aK);aO=aO===ay?[1,1]:aO;ab(o(aF*ak)+" "+o((B-aE)*ak)+" m ");aB=aO[0];aA=aO[1];aG=k.length;aH=aF;aw=aE;for(aI=0;aI<aG;aI++){aN=k[aI];if(aN.length===2){aH=aN[0]*aB+aH;aw=aN[1]*aA+aw;ab(o(aH*ak)+" "+o((B-aw)*ak)+" l")}else{aL=aN[0]*aB+aH;az=aN[1]*aA+aw;aJ=aN[2]*aB+aH;ax=aN[3]*aA+aw;aH=aN[4]*aB+aH;aw=aN[5]*aA+aw;ab(o(aL*ak)+" "+o((B-az)*ak)+" "+o(aJ*ak)+" "+o((B-ax)*ak)+" "+o(aH*ak)+" "+o((B-aw)*ak)+" c")}}ab(aK);return this};P.rect=function(i,az,k,ax,aw){var ay=ac(aw);ab([p(i*ak),p((B-az)*ak),p(k*ak),p(-ax*ak),"re",ay].join(" "));return this};P.triangle=function(ax,aA,k,ay,i,aw,az){this.lines([[k-ax,ay-aA],[i-k,aw-ay],[ax-i,aA-aw]],ax,aA,[1,1],az);return this};P.roundedRect=function(k,aB,aw,ay,aA,az,ax){var i=4/3*(Math.SQRT2-1);this.lines([[(aw-2*aA),0],[(aA*i),0,aA,az-(az*i),aA,az],[0,(ay-2*az)],[0,(az*i),-(aA*i),az,-aA,az],[(-aw+2*aA),0],[-(aA*i),0,-aA,-(az*i),-aA,-az],[0,(-ay+2*az)],[0,-(az*i),(aA*i),-az,aA,-az]],k+aA,aB,[1,1],ax);return this};P.ellipse=function(i,aB,az,ay,k){var aA=ac(k),ax=4/3*(Math.SQRT2-1)*az,aw=4/3*(Math.SQRT2-1)*ay;ab([p((i+az)*ak),p((B-aB)*ak),"m",p((i+az)*ak),p((B-(aB-aw))*ak),p((i+ax)*ak),p((B-(aB-ay))*ak),p(i*ak),p((B-(aB-ay))*ak),"c"].join(" "));ab([p((i-ax)*ak),p((B-(aB-ay))*ak),p((i-az)*ak),p((B-(aB-aw))*ak),p((i-az)*ak),p((B-aB)*ak),"c"].join(" "));ab([p((i-az)*ak),p((B-(aB+aw))*ak),p((i-ax)*ak),p((B-(aB+ay))*ak),p(i*ak),p((B-(aB+ay))*ak),"c"].join(" "));ab([p((i+ax)*ak),p((B-(aB+ay))*ak),p((i+az)*ak),p((B-(aB+aw))*ak),p((i+az)*ak),p((B-aB)*ak),"c",aA].join(" "));return this};P.circle=function(i,ax,aw,k){return this.ellipse(i,ax,aw,aw,k)};P.setProperties=function(i){var k;for(k in O){if(O.hasOwnProperty(k)&&i[k]){O[k]=i[k]}}return this};P.setFontSize=function(i){aj=i;return this};P.setFont=function(i,k){d=y(i,k);return this};P.setFontStyle=P.setFontType=function(k){var i;d=y(i,k);return this};P.getFontList=function(){var aw={},k,ax,i;for(k in Q){if(Q.hasOwnProperty(k)){aw[k]=i=[];for(ax in Q[k]){if(Q[k].hasOwnProperty(ax)){i.push(ax)}}}}return aw};P.setLineWidth=function(i){ab((i*ak).toFixed(2)+" w");return this};P.setDrawColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" G"}else{k=p(ay/255)+" G"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"RG"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"RG"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"K"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"K"].join(" ")}}}ab(k);return this};P.setFillColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" g"}else{k=p(ay/255)+" g"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"rg"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"rg"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"k"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"k"].join(" ")}}}ab(k);return this};P.setTextColor=function(aw,k,i){if((aw===0&&k===0&&i===0)||(typeof k==="undefined")){ad=o(aw/255)+" g"}else{ad=[o(aw/255),o(k/255),o(i/255),"rg"].join(" ")}return this};P.CapJoinStyles={0:0,butt:0,but:0,bevel:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,milter:2};P.setLineCap=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line cap style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}R=k;ab(k.toString(10)+" J");return this};P.setLineJoin=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line join style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}T=k;ab(k.toString(10)+" j");return this};P.output=I;P.save=function(i){P.output("save",i)};for(aq in b.API){if(b.API.hasOwnProperty(aq)){if(aq==="events"&&b.API.events.length){(function(ax,az){var ay,aw,k;for(k=az.length-1;k!==-1;k--){ay=az[k][0];aw=az[k][1];ax.subscribe.apply(ax,[ay].concat(typeof aw==="function"?[aw]:aw))}}(G,b.API.events))}else{P[aq]=b.API[aq]}}}e();d="F1";ah();G.publish("initialized");return P}b.API={events:[]};return b}());(function(i){var b=0,m=0,a,o,h,c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined},f=1,e=false,d=function(p,t,q,r,s){c={x:p,y:t,w:q,h:r,ln:s}},k=function(){return c},j=function(p){b=p},l=function(){return b},n=function(p){m=p},g=function(p){return m};i.getTextDimensions=function(p){a=this.internal.getFont().fontName;o=this.internal.getFontSize();h=this.internal.getFont().fontStyle;var s=0.264583*72/25.4,q,r;r=document.createElement("font");r.id="pdfDataExportCell";r.style.fontStyle=h;r.style.fontName=a;r.style.fontSize=o+"pt";r.innerHTML=p;document.body.appendChild(r);q={w:(r.offsetWidth+1)*s,h:(r.offsetHeight+1)*s};document.body.removeChild(r);return q};i.cellAddPage=function(){this.addPage();d(undefined,undefined,undefined,undefined,undefined);e=true;f+=1;n(1)};i.cellInitialize=function(){b=0;c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined};f=1;e=false;n(0)};i.cell=function(z,v,A,s,p,u){this.lnMod=this.lnMod===undefined?0:this.lnMod;if(this.printingHeaderRow!==true&&this.lnMod!==0){u=u+this.lnMod}if((((u*s)+v+(s*2))/f)>=this.internal.pageSize.height&&f===1&&!e){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}if(l()===0){j(Math.round((this.internal.pageSize.height-(s*2))/s))}}else{if(e&&k().ln!==u&&g()===l()){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}}}var B=k(),r=this.getTextDimensions(p),t=1;if(B.x!==undefined&&B.ln===u){z=B.x+B.w}if(B.y!==undefined&&B.y===v){v=B.y}if(B.h!==undefined&&B.h===s){s=B.h}if(B.ln!==undefined&&B.ln===u){u=B.ln;t=0}if(e){v=s*(g()+t)}else{v=(v+(s*Math.abs(l()*f-u-l())))}this.rect(z,v,A,s);var q=/[а-яА-ЯЁё]/.test(p);if(q){this.text16(p,z+3,v+s-3)}else{this.text(p,z+3,v+s-3)}n(g()+t);d(z,v,A,s,u);return this};i.getKeys=(typeof Object.keys==="function")?function(p){if(!p){return[]}return Object.keys(p)}:function(p){var q=[],r;for(r in p){if(p.hasOwnProperty(r)){q.push(r)}}return q};i.arrayMax=function(u,t){var p=u[0],q,s,r;for(q=0,s=u.length;q<s;q+=1){r=u[q];if(t){if(t(p,r)===-1){p=r}}else{if(r>p){p=r}}}return p};i.table=function(J,r,I){var v=[],p=[],D,z,B,x,E,y,G={},A={},u,s,H=[],C,F=[],t,q,w;this.lnMod=0;if(I){z=I.autoSize||false;B=this.printHeaders=I.printHeaders||true;x=I.autoStretch||true}if(!J){throw"No data for PDF table"}if(r===undefined||(r===null)){v=this.getKeys(J[0])}else{if(r[0]&&(typeof r[0]!=="string")){for(E=0,y=r.length;E<y;E+=1){D=r[E];v.push(D.name);p.push(D.prompt)}}else{v=r}}if(I.autoSize){w=function(K){return K[D]};for(E=0,y=v.length;E<y;E+=1){D=v[E];G[D]=J.map(w);H.push(this.getTextDimensions(p[E]||D).w);s=G[D];for(C=0,y=s.length;C<y;C+=1){u=s[C];H.push(this.getTextDimensions(u).w)}A[D]=i.arrayMax(H)}}if(I.printHeaders){for(E=0,y=v.length;E<y;E+=1){D=v[E];F.push([10,10,A[D],25,String(p.length?p[E]:D)])}this.setTableHeaderRow(F);this.printHeaderRow(1)}for(E=0,y=J.length;E<y;E+=1){t=J[E];for(C=0,q=v.length;C<q;C+=1){D=v[C];this.cell(10,10,A[D],25,String(t[D]),E+2)}}return this};i.setTableHeaderRow=function(p){this.tableHeaderRow=p};i.printHeaderRow=function(p){if(!this.tableHeaderRow){throw"Property tableHeaderRow does not exist."}var q,s,r,t;this.printingHeaderRow=true;for(r=0,t=this.tableHeaderRow.length;r<t;r+=1){q=this.tableHeaderRow[r];s=[].concat(q);this.cell.apply(this,s.concat(p))}this.printingHeaderRow=false}}(pdfDataExport.API));(function(c){var b=c.getCharWidthsArray=function(s,u){if(!u){u={}}var h=u.widths?u.widths:this.internal.getFont().metadata.Unicode.widths,r=h.fof?h.fof:1,n=u.kerning?u.kerning:this.internal.getFont().metadata.Unicode.kerning,p=n.fof?n.fof:1;var m,j,o,k,q=0,t=h[0]||r,g=[];for(m=0,j=s.length;m<j;m++){o=s.charCodeAt(m);g.push((h[o]||t)/r+(n[o]&&n[o][q]||0)/p);q=o}return g};var e=function(j){var h=j.length,g=0;while(h){h--;g+=j[h]}return g};var a=c.getStringUnitWidth=function(h,g){return e(b.call(this,h,g))};var d=function(g,n,h,j){var q=[];var m=0,k=g.length,p=0;while(m!==k&&p+n[m]<h){p+=n[m];m++}q.push(g.slice(0,m));var o=m;p=0;while(m!==k){if(p+n[m]>j){q.push(g.slice(o,m));p=0;o=m}p+=n[m];m++}if(o!==m){q.push(g.slice(o,m))}return q};var f=function(s,k,v){if(!v){v={}}var t=b(" ",v)[0];var r=s.split(" ");var w=[],x=[w],h=v.textIndent||0,u=0,p=0,g,q;var o,m,n;for(o=0,m=r.length;o<m;o++){g=r[o];q=b(g,v);p=e(q);if(h+u+p>k){if(p>k){n=d(g,q,k-(h+u),k);w.push(n.shift());w=[n.pop()];while(n.length){x.push([n.shift()])}p=e(q.slice(g.length-w[0].length))}else{w=[g]}x.push(w);h=p;u=t}else{w.push(g);h+=u+p;u=t}}var j=[];for(o=0,m=x.length;o<m;o++){j.push(x[o].join(" "))}return j};c.splitTextToSize=function(q,m,r){if(!r){r={}}var h=r.fontSize||this.internal.getFontSize(),g=(function(l){var t={0:1},i={};if(!l.widths||!l.kerning){var u=this.internal.getFont(l.fontName,l.fontStyle),s="Unicode";if(u.metadata[s]){return{widths:u.metadata[s].widths||t,kerning:u.metadata[s].kerning||i}}}else{return{widths:l.widths,kerning:l.kerning}}return{widths:t,kerning:i}}).call(this,r);var p;if(q.match(/[\n\r]/)){p=q.split(/\r\n|\r|\n/g)}else{p=[q]}var j=1*this.internal.scaleFactor*m/h;g.textIndent=r.textIndent?r.textIndent*1*this.internal.scaleFactor/h:0;var o,n,k=[];for(o=0,n=p.length;o<n;o++){k=k.concat(f(p[o],j,g))}return k}})(pdfDataExport.API);(function(c){var d="addImage_";var f=function(m){var l,h;if(!m.charCodeAt(0)===255||!m.charCodeAt(1)===216||!m.charCodeAt(2)===255||!m.charCodeAt(3)===224||!m.charCodeAt(6)==="J".charCodeAt(0)||!m.charCodeAt(7)==="F".charCodeAt(0)||!m.charCodeAt(8)==="I".charCodeAt(0)||!m.charCodeAt(9)==="F".charCodeAt(0)||!m.charCodeAt(10)===0){throw new Error("getJpegSize requires a binary jpeg file")}var j=m.charCodeAt(4)*256+m.charCodeAt(5);var k=4,g=m.length;while(k<g){k+=j;if(m.charCodeAt(k)!==255){throw new Error("getJpegSize could not find the size of the image")}if(m.charCodeAt(k+1)===192){h=m.charCodeAt(k+5)*256+m.charCodeAt(k+6);l=m.charCodeAt(k+7)*256+m.charCodeAt(k+8);return[l,h]}else{k+=2;j=m.charCodeAt(k)*256+m.charCodeAt(k+1)}}},b=function(g){var m=this.internal.newObject(),h=this.internal.write,l=this.internal.putStream;g.n=m;h("<</Type /XObject");h("/Subtype /Image");h("/Width "+g.w);h("/Height "+g.h);if(g.cs==="Indexed"){h("/ColorSpace [/Indexed /DeviceRGB "+(g.pal.length/3-1)+" "+(m+1)+" 0 R]")}else{h("/ColorSpace /"+g.cs);if(g.cs==="DeviceCMYK"){h("/Decode [1 0 1 0 1 0 1 0]")}}h("/BitsPerComponent "+g.bpc);if("f" in g){h("/Filter /"+g.f)}if("dp" in g){h("/DecodeParms <<"+g.dp+">>")}if("trns" in g&&g.trns.constructor==Array){var k="";for(var j=0;j<g.trns.length;j++){k+=(g[k][j]+" "+g.trns[j]+" ");h("/Mask ["+k+"]")}}if("smask" in g){h("/SMask "+(m+1)+" 0 R")}h("/Length "+g.data.length+">>");l(g.data);h("endobj")},e=function(){var g=this.internal.collections[d+"images"];for(var h in g){b.call(this,g[h])}},a=function(){var g=this.internal.collections[d+"images"],h=this.internal.write,k;for(var j in g){k=g[j];h("/I"+k.i,k.n,"0","R")}};c.addImage=function(g,s,q,p,t,l){if(typeof g==="object"&&g.nodeType===1){var j=document.createElement("canvas");j.width=g.clientWidth;j.height=g.clientHeight;var u=j.getContext("2d");if(!u){throw ("addImage requires canvas to be supported by browser.")}u.drawImage(g,0,0,j.width,j.height);g=j.toDataURL("image/jpeg");s="JPEG"}if(s.toUpperCase()!=="JPEG"){throw new Error("addImage currently only supports format 'JPEG', not '"+s+"'")}var i,n=this.internal.collections[d+"images"],m=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString;if(g.substring(0,23)==="data:image/jpeg;base64,"){g=atob(g.replace("data:image/jpeg;base64,",""))}if(n){i=Object.keys?Object.keys(n).length:(function(w){var h=0;for(var v in w){if(w.hasOwnProperty(v)){h++}}return h})(n)}else{i=0;this.internal.collections[d+"images"]=n={};this.internal.events.subscribe("putResources",e);this.internal.events.subscribe("putXobjectDict",a)}var r=f(g);var k={w:r[0],h:r[1],cs:"DeviceRGB",bpc:8,f:"DCTDecode",i:i,data:g};n[i]=k;if(!t&&!l){t=-96;l=-96}if(t<0){t=(-1)*k.w*72/t/this.internal.scaleFactor}if(l<0){l=(-1)*k.h*72/l/this.internal.scaleFactor}if(t===0){t=l*k.w/k.h}if(l===0){l=t*k.h/k.w}this.internal.write("q",m(t),"0 0",m(l),m(q),o(p+l),"cm /I"+k.i,"Do Q");return this}})(pdfDataExport.API);(function(a){var e=function(q){var w="0123456789abcdef",o="klmnopqrstuvwxyz",h={};for(var r=0;r<o.length;r++){h[o[r]]=w[r]}var p,m={},n=1,t,k=m,g=[],s,l="",u="",v,j=q.length-1,f;r=1;while(r!=j){f=q[r];r+=1;if(f=="'"){if(t){v=t.join("");t=p}else{t=[]}}else{if(t){t.push(f)}else{if(f=="{"){g.push([k,v]);k={};v=p}else{if(f=="}"){s=g.pop();s[0][s[1]]=k;v=p;k=s[0]}else{if(f=="-"){n=-1}else{if(v===p){if(h.hasOwnProperty(f)){l+=h[f];v=parseInt(l,16)*n;n=+1;l=""}else{l+=f}}else{if(h.hasOwnProperty(f)){u+=h[f];k[v]=parseInt(u,16)*n;n=+1;v=p;u=""}else{u+=f}}}}}}}}return m};var d={codePages:["WinAnsiEncoding"],WinAnsiEncoding:e("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")},c={Unicode:{Courier:d,"Courier-Bold":d,"Courier-BoldOblique":d,"Courier-Oblique":d,Helvetica:d,"Helvetica-Bold":d,"Helvetica-BoldOblique":d,"Helvetica-Oblique":d,"Times-Roman":d,"Times-Bold":d,"Times-BoldItalic":d,"Times-Italic":d}},b={Unicode:{"Courier-Oblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":e("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),Courier:e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-BoldOblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Bold":e("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),Helvetica:e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),"Helvetica-BoldOblique":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),"Courier-Bold":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Italic":e("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),"Times-Roman":e("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),"Helvetica-Oblique":e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")}};a.events.push(["addFonts",function(i){var f,g,h,k,j="Unicode",l;for(g in i.fonts){if(i.fonts.hasOwnProperty(g)){f=i.fonts[g];h=b[j][f.PostScriptName];if(h){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.widths=h.widths;k.kerning=h.kerning}l=c[j][f.PostScriptName];if(l){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.encoding=l;if(l.codePages&&l.codePages.length){f.encoding=l.codePages[0]}}}}}])})(pdfDataExport.API);var saveAs=window.jqxSaveAs=saveAs||(navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator))||(function(h){var r=h.document,l=function(){return h.URL||h.webkitURL||h},e=h.URL||h.webkitURL||h,n=$("<a></a>")[0],g="download" in n,j=function(t){var s=r.createEvent("MouseEvents");s.initMouseEvent("click",true,false,h,0,0,0,0,0,false,false,false,false,0,null);return t.dispatchEvent(s)},o=h.webkitRequestFileSystem,p=h.requestFileSystem||o||h.mozRequestFileSystem,m=function(s){(h.setImmediate||h.setTimeout)(function(){throw s},0)},c="application/octet-stream",k=0,b=[],i=function(){var t=b.length;while(t--){var s=b[t];if(typeof s==="string"){e.revokeObjectURL(s)}else{s.remove()}}b.length=0},q=function(t,s,w){s=[].concat(s);var v=s.length;while(v--){var x=t["on"+s[v]];if(typeof x==="function"){try{x.call(t,w||t)}catch(u){m(u)}}}},f=function(t,u){var v=this,B=t.type,E=false,x,w,s=function(){var F=l().createObjectURL(t);b.push(F);return F},A=function(){q(v,"writestart progress write writeend".split(" "))},D=function(){if(E||!x){x=s(t)}if(w){w.location.href=x}v.readyState=v.DONE;A()},z=function(F){return function(){if(v.readyState!==v.DONE){return F.apply(this,arguments)}}},y={create:true,exclusive:false},C;v.readyState=v.INIT;if(!u){u="download"}if(g){x=s(t);n.href=x;n.download=u;if(j(n)){v.readyState=v.DONE;A();return}}if(h.chrome&&B&&B!==c){C=t.slice||t.webkitSlice;t=C.call(t,0,t.size,c);E=true}if(o&&u!=="download"){u+=".download"}if(B===c||o){w=h}else{w=h.open()}if(!p){D();return}k+=t.size;p(h.TEMPORARY,k,z(function(F){F.root.getDirectory("saved",y,z(function(G){var H=function(){G.getFile(u,y,z(function(I){I.createWriter(z(function(J){J.onwriteend=function(K){w.location.href=I.toURL();b.push(I);v.readyState=v.DONE;q(v,"writeend",K)};J.onerror=function(){var K=J.error;if(K.code!==K.ABORT_ERR){D()}};"writestart progress write abort".split(" ").forEach(function(K){J["on"+K]=v["on"+K]});J.write(t);v.abort=function(){J.abort();v.readyState=v.DONE};v.readyState=v.WRITING}),D)}),D)};G.getFile(u,{create:false},z(function(I){I.remove();H()}),z(function(I){if(I.code===I.NOT_FOUND_ERR){H()}else{D()}}))}),D)}),D)},d=f.prototype,a=function(s,t){return new f(s,t)};d.abort=function(){var s=this;s.readyState=s.DONE;q(s,"abort")};d.readyState=d.INIT=0;d.WRITING=1;d.DONE=2;d.error=d.onwritestart=d.onprogress=d.onwrite=d.onabort=d.onerror=d.onwriteend=null;if(h.addEventListener){h.addEventListener("unload",i,false)}return a}(self));(function(a){var b="pdfDataExport IE Below 9 Shim plugin";a.output=function(e,d){return this.internal.output(e,d);var c="Output.pdf";switch(e){case"datauristring":case"dataurlstring":case"datauri":case"dataurl":case"dataurlnewwindow":if(console){console.log(b+": Data URIs are not supported on IE6-9.")}break;case"save":c=d;break}}})(pdfDataExport.API);
 
 (function($){$.jqx.jqxWidget("jqxBarGauge","",{});$.extend($.jqx._jqxBarGauge.prototype,{defineInstance:function(){var settings={animationDuration:300,backgroundColor:"#e0e0e0",barSpacing:4,baseValue:null,colorScheme:"scheme01",customColorScheme:null,endAngle:-45,disabled:false,formatFunction:null,geometry:{startAngle:225,endAngle:-45},height:400,labels:null,min:0,max:100,rendered:null,relativeInnerRadius:0.3,startAngle:225,title:null,tooltip:null,values:[],width:400,useGradient:true,_intervalArray:[],_drawnValues:[],_drawnSlices:[],_titleTemplate:{text:"",font:{color:"#232323",family:"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana",opacity:1,size:28,weight:100},horizontalAlignment:"center",verticalAlignment:"top",placeholderSize:null,margin:{bottom:0,left:0,right:0,top:0},subtitle:{text:"",font:{color:"#232323",family:"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana",opacity:1,size:16,weight:100}}},_labelTemplate:{connectorColor:null,connectorWidth:1,formatFunction:function(value){return value},font:{color:null,family:"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana",size:16,weight:400},indent:20,precision:2,visible:true},_tooltipTemplate:{classname:"",formatFunction:function(value){return value},visible:false,precision:0},_colorSchemes:[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]}],_colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"],_colorNames:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},_dimensions:{},_ie:$.jqx.browser.msie,_oldIEbrowser:($.jqx.browser.msie&&$.jqx.browser.version<=8),_ie8:($.jqx.browser.msie&&$.jqx.browser.version==8),_ie7:($.jqx.browser.msie&&$.jqx.browser.version<8),_centerX:null,_centerY:null,_coordinatePlane:null,_geometry:{startAngle:-45,baseAngle:-45,fix:0,endAngle:225},_userValues:[],_valuesToDegrees:[],_oldValues:[],_oldValuesToDegrees:[],_temporaryValuesToDegrees:[],_temporaryValues:[],_temporaryOldAngle:[],_valuesLength:0,_oldValuesLength:0,_alignmentIE:null,_title:{},_backgroundColor:"#e0e0e0",_label:{},_tooltip:{},_renderedValues:0,_barWidth:35,_barStartAt:30,_barGaugeSlices:[],_barGaugeBackgroundSlices:[],_barGaugeSlicesStrokeWidth:0,_barGaugeLabelLines:[],_barGaugeLabelText:[],_barGaugeTitle:null,_barGaugeSubTitle:null,_barGaugeTooltip:$("<div></div>"),_measuredText:$("<div class='jqx-bar-gauge-measure-text'></div>"),_measuredTextId:"",renderer:null,_barGaugeRadius:null,_barGaugeFigureRadius:null,_labelPositioningRadius:null,_placeholderSize:50,_rendering:false,_titleLines:0,_subTitleLines:0,_initialized:false,_events:["initialized","valueChanged","tooltipOpen","tooltipClose","drawStart","drawEnd"]};if(this===$.jqx._jqxBarGauge.prototype){return settings}$.extend(true,this,settings);return settings},createInstance:function(){var that=this;that._createBarGauge()},_createBarGauge:function(){var that=this;that._getLiquidDimensions();that._addIEPolyfills();that._barGaugeTooltip.css({display:"none"});$(that.host).empty();that._attachCustomColors();that.geometry.startAngle=that.startAngle;that.geometry.endAngle=that.endAngle;that._validateGeometry();that._validateTitle();that._validateLabel();that._validateValues();that._validateTooltip();that._validateAnimationDuration();that._transformValuesToAngles();that._getColorScheme();if((that.animationDuration===0)||(that._ie8)||(that._ie7)){that._drawStaticBarGauge()}else{that._drawDynamicBarGauge()}that._raiseEvent("4");that._createTooltip();that._addCSS();if(that._ie){that._removeBarGaugeTitle();that._removeBarGaugeSubTitle();that._drawBarGaugeTitle()}that._addEventHandlers()},_initRenderer:function(host){if(!$.jqx.createRenderer){throw"jqxBarGauge: Please include a reference to jqxdraw.js"}return $.jqx.createRenderer(this,host)},_validateValues:function(){var that=this;var valuesLength,maxBarSpacing;if(that._userValues.length===0){that._userValues=that.values.slice()}if(that._oldValues.length===0){that._oldValues=that.values.slice()}that._valuesLength=that.values.length;for(var i=0;i<that._valuesLength;i++){that.values[i]=parseFloat(that.values[i]);if((that.values[i]<that.startValue)||(isNaN(that.values[i]))){that.values[i]=that.startValue}else{if(that.values[i]>that.max){that.values[i]=that.max}}that._drawnValues[i]=false;that._drawnSlices[i]=false}if((that.baseValue<=that.startValue)||(that.baseValue===null)){that.baseValue=that.min}else{if(that.baseValue>that.max){that.baseValue=that.max}}if(that.relativeInnerRadius>=1){that.relativeInnerRadius=0.99}else{if(that.relativeInnerRadius<0){that.relativeInnerRadius=0}}that._calculateBarGaugeRadius();valuesLength=that._valuesLength||1;maxBarSpacing=that._barGaugeRadius*(1-that.relativeInnerRadius)/valuesLength-0.01;if(that.barSpacing>maxBarSpacing){that.barSpacing=maxBarSpacing}that._backgroundColor=that._validateColor(that.backgroundColor,that._backgroundColor)},_attachCustomColors:function(){var that=this;var colorSchemesLength=that._colorSchemes.length;var colorSchemeInSchemes=false;if((that.customColorScheme!==null)&&(that.customColorScheme.colors!==null)&&(that.customColorScheme.name!==null)){for(var i=0;i<colorSchemesLength;i++){if(that.customColorScheme.name===that._colorSchemes[i].name){that._colorSchemes[i].colors=that.customColorScheme.colors.slice();colorSchemeInSchemes=true}}if(!colorSchemeInSchemes){that._colorSchemes.push(that.customColorScheme)}}},_getLiquidDimensions:function(){var that=this;if($.isEmptyObject(that._dimensions)){that._dimensions.width=that.width;that._dimensions.height=that.height}if(typeof that._dimensions.width==="string"&&that._dimensions.width.indexOf("%")!==-1){that.width=(parseInt(that._dimensions.width,10)/100)*$("#"+that.element.id).parent().width()}if(typeof that._dimensions.height==="string"&&that._dimensions.height.indexOf("%")!==-1){that.height=(parseInt(that._dimensions.height,10)/100)*$("#"+that.element.id).parent().height()}},_getLongestValue:function(){var that=this;var valuesCount=that.values.length,longestValue="",longestValueLength=0;for(var i=0;i<valuesCount;i++){if(that.values[i].toString().length>longestValueLength){longestValue=that.values[i];longestValueLength=longestValue.toString().length}}longestValue=that._calculatePrecision(that._label.precision,longestValue);if((that._label.formatFunction!==undefined)&&(that._label.formatFunction!==null)&&(typeof that._label.formatFunction==="function")){longestValue=that._label.formatFunction(longestValue)}longestValue=longestValue.toUpperCase();return longestValue},_validateGeometry:function(){var that=this;var startAngle=parseFloat(that.geometry.startAngle);var endAngle=parseFloat(that.geometry.endAngle);if(Math.abs(startAngle)>=360){startAngle=startAngle%360}if(startAngle<0){startAngle=360+startAngle}if(Math.abs(endAngle)>=360){endAngle=endAngle%360}if(endAngle<0){endAngle=360+endAngle}that.geometry.startAngle=startAngle;that.geometry.endAngle=endAngle},_validateColor:function(color,defaultColor){var that=this;var validatedColor;if((color===undefined)||(color===null)){validatedColor=defaultColor}else{if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color)){validatedColor=color}else{if(/(^[0-9A-F]{6}$)|(^[0-9A-F]{3}$)/i.test(color)){validatedColor="#"+color}else{if(typeof that._colorNames[color.toLowerCase()]!=="undefined"){validatedColor=that._colorNames[color.toLowerCase()]}else{validatedColor="transparent"}}}}return validatedColor},_validateTooltip:function(){var that=this;if((that.tooltip===undefined)||(that.tooltip===null)||(typeof that.tooltip!=="object")){that._tooltip=that._tooltipTemplate}else{that._tooltip.visible=(that.tooltip.visible===false)?false:(that.tooltip.visible||that._tooltipTemplate.visible);that._tooltip.classname=that.tooltip.classname||that._tooltipTemplate.classname;if(typeof that.tooltip.formatFunction==="function"){that._tooltip.formatFunction=that.tooltip.formatFunction}else{that._tooltip.formatFunction=that._tooltipTemplate.formatFunction}if(that.tooltip.precision===null||that.tooltip.precision===undefined){that._tooltip.precision=that._tooltipTemplate.precision}else{if(parseInt(that.tooltip.precision,10)<=0){that._tooltip.precision=0}else{that._tooltip.precision=parseInt(that.tooltip.precision,10)}}}},_validateTitle:function(){var that=this;that._title=that._titleTemplate;that._measuredTextId=that.element.id+"measuredText";if(typeof that.title==="string"){that._title.text=that.title}else{if(typeof that.title==="number"){that._title.text=String(that.title)}else{if((typeof that.title==="object")&&(that.title!==undefined)&&(that.title!==null)){that._title.text=that.title.text||that._titleTemplate.text;that._title.horizontalAlignment=that.title.horizontalAlignment||that._titleTemplate.horizontalAlignment;that._title.verticalAlignment=that.title.verticalAlignment||that._titleTemplate.verticalAlignment}}}if((that.title===undefined)||(that.title===null)||(that.title.font===undefined)||(that.title.font===null)){that._title.font=that._titleTemplate.font}else{that._title.font.family=that.title.font.family||that._titleTemplate.font.family;that._title.font.opacity=that.title.font.opacity||that._titleTemplate.font.opacity;that._title.font.size=that.title.font.size||that._titleTemplate.font.size;that._title.font.weight=that.title.font.weight||that._titleTemplate.font.weight;if((that._ie7||that._ie8)&&(that._title.font.weight>100)){that._title.font.weight="bold"}that._title.font.color=that._validateColor(that.title.font.color,that._titleTemplate.font.color)}if((that.title===undefined)||(that.title===null)||(that.title.margin===undefined)||(that.title.margin===null)){that._title.margin=that._titleTemplate.margin}else{if(typeof that.title.margin!=="object"){var margin=parseInt(that.title.margin,10);that._title.margin.top=margin;that._title.margin.right=margin;that._title.margin.bottom=margin;that._title.margin.left=margin}else{that._title.margin.top=that.title.margin.top===0?0:(that.title.margin.top||that._titleTemplate.margin.top);that._title.margin.right=that.title.margin.right===0?0:(that.title.margin.right||that._titleTemplate.margin.right);that._title.margin.bottom=that.title.margin.bottom===0?0:(that.title.margin.bottom||that._titleTemplate.margin.bottom);that._title.margin.left=that.title.margin.left===0?0:(that.title.margin.left||that._titleTemplate.margin.left)}}if((that.title===undefined)||(that.title===null)||(that.title.subtitle===undefined)||(that.title.subtitle===null)){that._title.subtitle.text=that._titleTemplate.subtitle.text;that._title.subtitle.font=that._titleTemplate.subtitle.font}else{if(typeof that.title.subtitle!=="object"){that._title.subtitle.text=String(that.title.subtitle);that._title.subtitle.font=that._titleTemplate.subtitle.font}else{if((typeof that.title.subtitle.font==="undefined")||(that.title.subtitle.font===null)){that._title.subtitle.text=String(that.title.subtitle.text);that._title.subtitle.font=that._titleTemplate.subtitle.font}else{that._title.subtitle.text=String(that.title.subtitle.text);that._title.subtitle.font.color=that.title.subtitle.font.color||that._titleTemplate.subtitle.font.color;that._title.subtitle.font.family=that.title.subtitle.font.family||that._titleTemplate.subtitle.font.family;that._title.subtitle.font.opacity=that.title.subtitle.font.opacity||that._titleTemplate.subtitle.font.opacity;that._title.subtitle.font.size=that.title.subtitle.font.size||that._titleTemplate.subtitle.font.size;that._title.subtitle.font.weight=that.title.subtitle.font.weight||that._titleTemplate.subtitle.font.weight;if((that._ie7||that._ie8)&&(that._title.subtitle.font.weight>100)){that._title.subtitle.font.weight="bold"}}}}var calculatedPlaceholderSize;if(that._title.text===""){calculatedPlaceholderSize=0}else{if((that._title.subtitle.text==="")||(that._title.subtitle.text===undefined)||(that._title.subtitle.text===null)){that._titleLines=that._title.text.match(/<br>/g)!==null?(that._title.text.match(/<br>/g).length+1):1;calculatedPlaceholderSize=that._title.font.size*that._titleLines+that._title.margin.top+that._title.margin.bottom}else{that._titleLines=that._title.text.match(/<br>/g)!==null?(that._title.text.match(/<br>/g).length+1):1;that._subTitleLines=that._title.subtitle.text.match(/<br>/g)!==null?(that._title.text.match(/<br>/g).length+1):1;calculatedPlaceholderSize=that._title.font.size*that._titleLines+that._title.subtitle.font.size*that._subTitleLines+that._title.margin.top+that._title.margin.bottom}}if((that.title===undefined)||(that.title===null)||(that.title.placeholderSize===null)||(that.title.placeholderSize===undefined)){that._title.placeholderSize=calculatedPlaceholderSize||that.height*0.05}else{that._title.placeholderSize=that.title.placeholderSize}},_validateLabel:function(){var that=this;if((that.labels===null)||(that.labels===undefined)||(typeof that.labels!=="object")){that._label=that._labelTemplate}else{that._label.connectorColor=that._validateColor(that.labels.connectorColor,that._labelTemplate.connectorColor);that._label.connectorWidth=that.labels.connectorWidth||that._labelTemplate.connectorWidth;that._label.formatFunction=that.labels.formatFunction||that._labelTemplate.formatFunction;if((that.labels.precision===undefined)||(that.labels.precision===null)||(typeof that.labels.precision!=="number")){that._label.precision=that._labelTemplate.precision}else{that._label.precision=that.labels.precision}if(that._label.precision>15){that._label.precision=15}else{if(that._label.precision<0){that._label.precision=0}}if((that.labels.visible===undefined)||(that.labels.visible===null)){that._label.visible=that._labelTemplate.visible}else{if(that.labels.visible===false){that._label.visible=false}else{that._label.visible=true}}if(((typeof that.labels.indent!=="number")&&(typeof that.labels.indent!=="string"))||(that.labels.indent<=0)){that._label.indent=0}else{if(((typeof that.labels.indent!=="number")&&(typeof that.labels.indent!=="string"))||(that.labels.indent<=0)){that._label.indent=0}else{that._label.indent=that.labels.indent}}if((that.labels.font===null)||(that.labels.font===undefined)||(typeof that.labels.font!=="object")){that._label.font=that._labelTemplate.font}else{that._label.font={};that._label.font.color=that._validateColor(that.labels.font.color,that._labelTemplate.font.color);that._label.font.family=that.labels.font.family||that._labelTemplate.font.family;that._label.font.size=that.labels.font.size||that._labelTemplate.font.size;that._label.font.weight=that.labels.font.weight||that._labelTemplate.font.weight;if((that._ie7||that._ie8)&&(that._label.font.weight>100)){that._label.font.weight="bold"}}}},_validateAnimationDuration:function(){var that=this;var animationDurationToInt=parseInt(that.animationDuration,10);var animationDuration=animationDurationToInt>0?animationDurationToInt:0;if(that._oldIEbrowser){that.animationDuration=0}else{that.animationDuration=animationDuration}},_transformValuesToAngles:function(){var that=this;var barGaugeAngle,longestValue,textSize,barGaugeFigureRadius;that._placeholderSize=that._title.placeholderSize||that._placeholderSize;if(that.geometry.endAngle<that.geometry.startAngle){that._geometry.startAngle=parseFloat(that.geometry.endAngle)%360;that._geometry.endAngle=parseFloat(that.geometry.startAngle)%360}else{that._geometry.startAngle=parseFloat(that.geometry.endAngle)%360-360;that._geometry.endAngle=parseFloat(that.geometry.startAngle)%360}barGaugeAngle=that._geometry.endAngle-that._geometry.startAngle;if(barGaugeAngle>360){that._geometry.startAngle=that._geometry.startAngle+(barGaugeAngle-360)}if((that.baseValue!==undefined)&&(that.baseValue!==null)&&(that.baseValue>=that.min)&&(that.baseValue<=that.max)){that._geometry.baseAngle=((that.baseValue-that.min)*(that._geometry.endAngle-that._geometry.startAngle)/(that.max-that.min))+that._geometry.startAngle;that._geometry.fix=that.geometry.startAngle+that.geometry.endAngle-180}longestValue=that._getLongestValue();textSize=that._measureText(longestValue,that._label.font.size,that._label.font.family,that._label.font.weight);barGaugeFigureRadius=that._barGaugeRadius-that._label.indent*1.2-textSize.height*1.2;if((barGaugeFigureRadius+textSize.width+that._label.indent*1.2)>that.width/2){barGaugeFigureRadius=that._barGaugeRadius-that._label.indent*1.2-textSize.width}if(that._label.visible===false){barGaugeFigureRadius=that._barGaugeRadius}barGaugeFigureRadius=barGaugeFigureRadius*0.98;if(barGaugeFigureRadius<0){barGaugeFigureRadius=0}that._barGaugeFigureRadius=barGaugeFigureRadius;that._barWidth=barGaugeFigureRadius*(1-that.relativeInnerRadius)/that._valuesLength-that.barSpacing;that._barStartAt=barGaugeFigureRadius*that.relativeInnerRadius;that._labelPositioningRadius=that._barStartAt+that._valuesLength*(that._barWidth+that.barSpacing)-that.barSpacing+that._label.indent;for(var i=0;i<that._valuesLength;i++){that._valuesToDegrees[i]=((that.values[i]-that.min)/(that.max-that.min))*(that._geometry.endAngle-that._geometry.startAngle)+that._geometry.startAngle}$(that.host).width(that.width);$(that.host).height(that.height);if(!that._initialized){that._initRenderer(that.host);that._initialized=true}},_measureRadius:function(){var that=this;var longestValue=that._getLongestValue();var textSize=that._measureText(longestValue,that._label.font.size,that._label.font.family,that._label.font.weight);var barGaugeFigureRadius=that._barGaugeRadius-that._label.indent*1.2-textSize.height*1.2;if((barGaugeFigureRadius+textSize.width+that._label.indent*1.2)>that.width/2){barGaugeFigureRadius=that._barGaugeRadius-that._label.indent*1.2-textSize.width}if(that._label.visible===false){barGaugeFigureRadius=that._barGaugeRadius}barGaugeFigureRadius=barGaugeFigureRadius*0.98;if(barGaugeFigureRadius<0){barGaugeFigureRadius=0}that._barWidth=barGaugeFigureRadius*(1-that.relativeInnerRadius)/that._valuesLength-that.barSpacing;that._barStartAt=barGaugeFigureRadius*that.relativeInnerRadius;that._labelPositioningRadius=that._barStartAt+that._valuesLength*(that._barWidth+that.barSpacing)-that.barSpacing+that._label.indent},_drawEmptyBarGauge:function(){var that=this;var emptyBarGaugeRadius,backgroundSliceId;var gaugeLayerStart=that._barStartAt;var gaugeLayerEnd=gaugeLayerStart+that._barWidth;if(that._title.text===""){emptyBarGaugeRadius=that._barGaugeRadius}else{emptyBarGaugeRadius=that._barGaugeFigureRadius}gaugeLayerStart=that.relativeInnerRadius*emptyBarGaugeRadius;gaugeLayerEnd=emptyBarGaugeRadius;that._barGaugeBackgroundSlices[0]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,that._geometry.startAngle,that._geometry.endAngle,0,{fill:that._backgroundColor,stroke:that._backgroundColor,"stroke-width":that._barGaugeSlicesStrokeWidth});backgroundSliceId=that.element.id+"BackgroundSlice0";that.renderer.attr(that._barGaugeBackgroundSlices[0],{id:backgroundSliceId});that.renderer.attr(that._barGaugeBackgroundSlices[0],{"class":"jqx-bar-gauge-background-slice"});that._rendered();that._oldValuesLength=0;that._oldValues.length=0},_drawBarGaugeLayout:function(){var that=this;var backgroundSliceId;var gaugeLayerStart=that._barStartAt;var gaugeLayerEnd=gaugeLayerStart+that._barWidth;that._barGaugeSlicesStrokeWidth=0;that._centerX=that.width/2;if(that._title.text===""){that._centerY=that.height/2}else{if(that._title.verticalAlignment==="top"){that._centerY=(that.height+that._title.placeholderSize)/2}else{that._centerY=(that.height-that._title.placeholderSize)/2}}if(that._valuesLength>0){for(var i=0;i<that._valuesLength;i++){that._barGaugeBackgroundSlices[i]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,that._geometry.startAngle,that._geometry.endAngle,0,{fill:that._backgroundColor,stroke:that._backgroundColor,"stroke-width":that._barGaugeSlicesStrokeWidth});backgroundSliceId=that.element.id+"BackgroundSlice"+i;that.renderer.attr(that._barGaugeBackgroundSlices[i],{id:backgroundSliceId});that.renderer.attr(that._barGaugeBackgroundSlices[i],{"class":"jqx-bar-gauge-background-slice"});gaugeLayerStart=gaugeLayerEnd+that.barSpacing;gaugeLayerEnd=gaugeLayerStart+that._barWidth}}else{that._drawEmptyBarGauge()}},_drawBarGaugeElementsWithBase:function(){var that=this;var sliceId,gaugeLayerStart,gaugeLayerEnd,changeContition;var change=180-that._geometry.baseAngle+that._geometry.fix;that._renderedValues=0;gaugeLayerStart=that._barStartAt;gaugeLayerEnd=gaugeLayerStart+that._barWidth;var baseValues=[];for(var i=0;i<that._valuesLength;i++){baseValues[i]=that.baseValue;var drawColor=that._colors[i];if(that.formatFunction){drawColor=that.formatFunction(that.values[i],i,drawColor)}if(that._ie7||that._ie8){var updatedAngle=that._valuesToDegrees[i];change=180-updatedAngle+that._geometry.fix;if(that._valuesToDegrees[i]>that._geometry.baseAngle){that._barGaugeSlices[i]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,(180-that._geometry.baseAngle+that._geometry.fix),change,0,{fill:drawColor,stroke:drawColor,"stroke-width":that._barGaugeSlicesStrokeWidth})}else{that._barGaugeSlices[i]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,change,(180-that._geometry.baseAngle+that._geometry.fix),0,{fill:drawColor,stroke:drawColor,"stroke-width":that._barGaugeSlicesStrokeWidth})}sliceId=that.element.id+"Slice"+i;that.renderer.attr(that._barGaugeSlices[i],{id:sliceId});that.renderer.attr(that._barGaugeSlices[i],{"class":"jqx-bar-gauge-slice"});that._drawnSlices[i]=true;if(that._label.visible===true){that._drawLabelsLine(gaugeLayerStart,change,i);that._drawLabelsText(change,i)}that._rendered()}else{if(that.useGradient){var stops=[[0,1.4],[100,1]];drawColor=that.renderer._toLinearGradient(drawColor,true,stops)}that._barGaugeSlices[i]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,change+0.01,change,0,{fill:drawColor,stroke:drawColor,"stroke-width":that._barGaugeSlicesStrokeWidth});sliceId=that.element.id+"Slice"+i;that.renderer.attr(that._barGaugeSlices[i],{id:sliceId});that.renderer.attr(that._barGaugeSlices[i],{"class":"jqx-bar-gauge-slice"});that._drawnSlices[i]=true}that.renderer.attr(that._barGaugeSlices[i],{id:that.element.id+"Slice"+i});that.renderer.attr(that._barGaugeSlices[i],{"class":"jqx-bar-gauge-slice"});gaugeLayerStart=gaugeLayerEnd+that.barSpacing;gaugeLayerEnd=gaugeLayerStart+that._barWidth}that._oldValues=baseValues;that._temporaryValues=baseValues.slice(0);that._oldValuesToDegrees.length=0;for(var i=0;i<that.values.length;i++){that._oldValuesToDegrees[i]=that._geometry.baseAngle;that._temporaryValuesToDegrees[i]=that._geometry.baseAngle}that._rendering=true;that._redrawWithNewValuesArray(that.values,that._oldValues)},_drawBarGaugeElementWithBase:function(gaugeLayerStart,change,amount,changeContition,valueIndex){var that=this;var newPieSlicePath,angleStepPercent,angleDiff,valueStep;var animation=that._calculateAnimationInterval(valueIndex,false);var gaugeLayerEnd=gaugeLayerStart+that._barWidth;var updatedItem=that._barGaugeSlices[valueIndex];var updatedAngle=that._valuesToDegrees[valueIndex];if(that.animationDuration===0){change=180-updatedAngle+that._geometry.fix}angleDiff=Math.abs(that._geometry.baseAngle-updatedAngle);if(angleDiff===0){angleDiff=0.01}angleStepPercent=Math.abs((amount/animation.smoothCoef)/angleDiff);valueStep=angleStepPercent*Math.abs(that.baseValue-that.values[valueIndex]);if(isNaN(that._temporaryValues[valueIndex])){that._temporaryValues[valueIndex]=that.values[valueIndex]}if(isNaN(that._temporaryValuesToDegrees[valueIndex])){that._temporaryValuesToDegrees[valueIndex]=that._valuesToDegrees[valueIndex]}that._intervalArray[valueIndex]=setInterval(function(){calculateNewPieSlicePath();if(eval(changeContition)&&!that.disabled){that.renderer.attr(updatedItem,{d:newPieSlicePath});change+=amount/animation.smoothCoef;that._temporaryValuesToDegrees[valueIndex]=(180-change+that._geometry.fix)%360;that._temporaryValues[valueIndex]=that._temporaryValues[valueIndex]+amount*valueStep}else{change=180-updatedAngle+that._geometry.fix;that._temporaryValuesToDegrees[valueIndex]=updatedAngle%360;that._temporaryValues[valueIndex]=that.values[valueIndex];calculateNewPieSlicePath();that.renderer.attr(updatedItem,{d:newPieSlicePath});clearInterval(that._intervalArray[valueIndex]);that._renderedValues++;if(that._renderedValues===that.values.length){that._rendered()}}},animation.interval/animation.smoothCoef);function calculateNewPieSlicePath(){if(amount===-1){newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,change,(180-that._geometry.baseAngle+that._geometry.fix),0)}else{newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,(180-that._geometry.baseAngle+that._geometry.fix),change,0)}}},_drawStaticBarGaugeElementsWithBase:function(){var that=this;var gaugeLayerStart,gaugeLayerEnd,change,updatedAngle,sliceId;gaugeLayerStart=that._barStartAt;gaugeLayerEnd=gaugeLayerStart+that._barWidth;for(var i=0;i<that._valuesLength;i++){updatedAngle=that._valuesToDegrees[i]||(that._geometry.baseAngle);that._oldValues[i]=that.values[i]||that.baseValue;change=180-updatedAngle+that._geometry.fix;var drawColor=that._colors[i];if(that.useGradient){var stops=[[0,1.4],[100,1]];drawColor=that.renderer._toLinearGradient(drawColor,true,stops)}if(that._valuesToDegrees[i]<that._geometry.baseAngle){that._barGaugeSlices[i]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,(180-that._geometry.baseAngle+that._geometry.fix),change,0,{fill:drawColor,stroke:drawColor,"stroke-width":that._barGaugeSlicesStrokeWidth})}else{that._barGaugeSlices[i]=that.renderer.pieslice(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,change,(180-that._geometry.baseAngle+that._geometry.fix),0,{fill:drawColor,stroke:drawColor,"stroke-width":that._barGaugeSlicesStrokeWidth})}sliceId=that.element.id+"Slice"+i;that.renderer.attr(that._barGaugeSlices[i],{id:sliceId});that.renderer.attr(that._barGaugeSlices[i],{"class":"jqx-bar-gauge-slice"});that._drawnSlices[i]=true;gaugeLayerStart=gaugeLayerEnd+that.barSpacing;gaugeLayerEnd=gaugeLayerStart+that._barWidth}that._removeLabels();that._addLabels()},_addLabels:function(valuesToDegrees,values,index){var that=this;var change,valueIndex,i;var gaugeLayerStart=that._barStartAt;var gaugeLayerEnd=gaugeLayerStart+that._barWidth;if(!valuesToDegrees){valuesToDegrees=that._valuesToDegrees}for(i=0;i<that._valuesLength;i++){valueIndex=i;if(index!=undefined&&i!==index){gaugeLayerStart=gaugeLayerEnd+that.barSpacing;gaugeLayerEnd=gaugeLayerStart+that._barWidth;continue}change=180-valuesToDegrees[valueIndex]+that._geometry.fix;if(that._label.visible===true&&that.disabled===false){that._drawLabelsLine(gaugeLayerStart,change,valueIndex);if(values&&values[valueIndex]!==undefined){that._drawLabelsText(change,valueIndex,values[valueIndex])}else{that._drawLabelsText(change,valueIndex)}}gaugeLayerStart=gaugeLayerEnd+that.barSpacing;gaugeLayerEnd=gaugeLayerStart+that._barWidth}},_removeLabels:function(index){var that=this;for(var i=0;i<that._barGaugeLabelText.length;i++){if(index!=undefined&&i!=index){continue}$(that._barGaugeLabelLines[i]).remove();$(that._barGaugeLabelText[i]).remove();that._barGaugeLabelLines[i]=null;that._barGaugeLabelText[i]=null}},_removeBarGaugeSlices:function(){var that=this;that._removeBarGaugeBackgroundSlices();that._removeBarGaugeForegroundSlices()},_removeBarGaugeBackgroundSlices:function(){var that=this;var valuesToRemoveCount=Math.max(that._valuesLength,that._oldValuesLength);for(var i=0;i<valuesToRemoveCount;i++){if(that._oldIEbrowser){$(that._barGaugeBackgroundSlices[i]).remove()}that._barGaugeBackgroundSlices[i]=null;that._drawnSlices[i]=false}$("#"+that.element.id+" .jqx-bar-gauge-background-slice").remove()},_removeBarGaugeForegroundSlices:function(){var that=this;var valuesToRemoveCount=Math.max(that._valuesLength,that._oldValuesLength);for(var i=0;i<valuesToRemoveCount;i++){if(that._drawnSlices[i]===true){if(that._oldIEbrowser){$(that._barGaugeSlices[i]).remove()}that._barGaugeSlices[i]=null;that._drawnSlices[i]=false}}$("#"+that.element.id+" .jqx-bar-gauge-slice").remove()},_removeBarGaugeTitle:function(){var that=this;if(that._oldIEbrowser&&!!that._barGaugeTitle){$(that._barGaugeTitle).remove()}$("#"+that.element.id+" .jqx-bar-gauge-title").remove()},_removeBarGaugeSubTitle:function(){var that=this;if(that._oldIEbrowser&&!!that._barGaugeSubTitle){$(that._barGaugeSubTitle).remove()}$("#"+that.element.id+" .jqx-bar-gauge-subtitle").remove()},_renderElements:function(){var that=this;var gaugeLayerStart,gaugeLayerEnd,sliceId,condition,updatedAngle,change,i;var afterZeroBaseAngle=(180-that._geometry.baseAngle+that._geometry.fix);gaugeLayerStart=that._barStartAt;gaugeLayerEnd=gaugeLayerStart+that._barWidth;that._rendering=true;that._renderedValues=0;that._renderingValues=0;var rendering=false;if(!that.disabled){gaugeLayerStart=that._barStartAt;gaugeLayerEnd=gaugeLayerStart+that._barWidth;for(i=0;i<that._valuesLength;i++){if(that.values[i]>=that.baseValue){if(that.values[i]>that._oldValues[i]){condition="(oldAngle < newAngle)";that._renderElement(gaugeLayerStart,gaugeLayerEnd,1,condition,i,true);rendering=true}else{if(that.values[i]<that._oldValues[i]){condition="(oldAngle > newAngle)";that._renderElement(gaugeLayerStart,gaugeLayerEnd,-1,condition,i,false);rendering=true}}}else{if(that.values[i]>that._oldValues[i]){condition="(oldAngle < newAngle)";that._renderElement(gaugeLayerStart,gaugeLayerEnd,1,condition,i,true);rendering=true}else{if(that.values[i]<that._oldValues[i]){condition="(oldAngle > newAngle)";that._renderElement(gaugeLayerStart,gaugeLayerEnd,-1,condition,i,false);rendering=true}}}gaugeLayerStart=gaugeLayerEnd+that.barSpacing;gaugeLayerEnd=gaugeLayerStart+that._barWidth}}if(!rendering){that._rendered()}},clearIntervals:function(){var that=this;var intervalsArrayLength=that._intervalArray.length;for(var i=0;i<intervalsArrayLength;i++){clearInterval(that._intervalArray[i])}that._intervalArray.length=0},_renderElement:function(gaugeLayerStart,gaugeLayerEnd,amount,condition,valueIndex,lessThan){var that=this;that._renderingValues++;var newPieSlicePath,angleTo;var oldValue=that._oldValues[valueIndex];var newValue=that.values[valueIndex];var newAngle=that._valuesToDegrees[valueIndex];var oldAngle=that._oldValuesToDegrees[valueIndex];var updatedItem=that._barGaugeSlices[valueIndex];var animation=that._calculateAnimationInterval(valueIndex,true);var angleDiff=Math.abs(newAngle-oldAngle);var angleStepPercent=Math.abs((amount/animation.smoothCoef)/angleDiff);var valueStep=angleStepPercent*Math.abs(newValue-oldValue);var animationInterval=animation.interval/animation.smoothCoef;if(isNaN(that._temporaryValues[valueIndex])){that._temporaryValues[valueIndex]=oldValue}if(isNaN(that._temporaryValuesToDegrees[valueIndex])){that._temporaryValuesToDegrees[valueIndex]=(180-oldAngle+that._geometry.fix)%360}if(isNaN(that._temporaryOldAngle[valueIndex])){that._temporaryOldAngle[valueIndex]=oldAngle}var update=function(){var newValue=that.values[valueIndex];var newAngle=that._valuesToDegrees[valueIndex];angleTo=(180-oldAngle+that._geometry.fix);calculateNewPieSlicePath();var newCondition=false;if(lessThan&&oldAngle<newAngle){newCondition=true}if(!lessThan&&oldAngle>newAngle){newCondition=true}var updateLabels=function(){that._removeLabels(valueIndex);var degrees=[];for(var m=0;m<that._valuesToDegrees.length;m++){if(that._temporaryOldAngle[m]!=undefined){degrees[m]=that._temporaryOldAngle[m]}else{degrees[m]=that._valuesToDegrees[m]}}that._addLabels(degrees,that._temporaryValues,valueIndex)};if(newCondition&&(that.disabled===false)&&that.animationDuration!=0){updateLabels();that.renderer.attr(updatedItem,{d:newPieSlicePath});if(that.formatFunction){var drawColor=that._colors[valueIndex];drawColor=that.formatFunction(that.values[valueIndex],valueIndex,drawColor);that.renderer.attr(updatedItem,{fill:drawColor,stroke:drawColor})}oldAngle+=amount/animation.smoothCoef;that._temporaryOldAngle[valueIndex]=oldAngle;that._temporaryValuesToDegrees[valueIndex]=(180-oldAngle+that._geometry.fix)%360;that._temporaryValues[valueIndex]=that._temporaryValues[valueIndex]+amount*valueStep;return false}else{oldAngle=newAngle;angleTo=180-newAngle+that._geometry.fix;that._temporaryOldAngle[valueIndex]=newAngle;that._temporaryValuesToDegrees[valueIndex]=newAngle%360;that._temporaryValues[valueIndex]=that.values[valueIndex];updateLabels();createFinalPieSlicePath(angleTo,(180-that._geometry.baseAngle+that._geometry.fix));that.renderer.attr(updatedItem,{d:newPieSlicePath});if(that.formatFunction){var drawColor=that._colors[valueIndex];drawColor=that.formatFunction(that.values[valueIndex],valueIndex,drawColor);that.renderer.attr(updatedItem,{fill:drawColor,stroke:drawColor})}clearInterval(that._intervalArray[valueIndex]);that._renderedValues++;if(that._renderedValues===that._renderingValues){that._rendered()}return true}};if(that.animationDuration==0){update()}else{var intervalFunction=function(){clearInterval(that._intervalArray[valueIndex]);var result=update();if(!that._rendering||result){return}var oldValue=that._oldValues[valueIndex];var newValue=that.values[valueIndex];var newAngle=that._valuesToDegrees[valueIndex];var oldAngle=that._oldValuesToDegrees[valueIndex];var updatedItem=that._barGaugeSlices[valueIndex];var animation=that._calculateAnimationInterval(valueIndex,true);var angleDiff=Math.abs(newAngle-oldAngle);var angleStepPercent=Math.abs((amount/animation.smoothCoef)/angleDiff);var valueStep=angleStepPercent*Math.abs(newValue-oldValue);var animationInterval=animation.interval/animation.smoothCoef;that._intervalArray[valueIndex]=setInterval(intervalFunction,animationInterval)};if(!that._intervalArray[valueIndex]){that._intervalArray[valueIndex]=setInterval(intervalFunction,animationInterval)}}function calculateNewPieSlicePath(){var angleA=angleTo;var angleB=(180-that._geometry.baseAngle+that._geometry.fix);if(amount===1){if(lessThan){if(that._geometry.baseAngle<oldAngle){newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,angleA,angleB,0)}else{newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,angleB,angleA,0)}}}else{if(!lessThan){if(that._geometry.baseAngle<oldAngle){newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,angleA,angleB,0)}else{newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,angleB,angleA,0)}}}}function createFinalPieSlicePath(angleA,angleB){if(angleA<=angleB){newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,angleA-0.0001,angleB,0)}else{newPieSlicePath=$.jqx.commonRenderer.pieSlicePath(that._centerX,that._centerY,gaugeLayerStart,gaugeLayerEnd,angleB,angleA,0)}}},_calculateAnimationInterval:function(valueIndex,redraw){var that=this;var animation={};var duration=that.animationDuration;var animationISeconds=duration/1000;var intervalPer1000ms=0;var easeInOutSine=function(t,b,c,d){return -c/2*(Math.cos(Math.PI*t/d)-1)+b};if(redraw){if((that._oldValues[valueIndex]-that.values[valueIndex])!==0){intervalPer1000ms=1000/(Math.abs((that._oldValues[valueIndex]-that.values[valueIndex])/(that.max-that.min)*(that._geometry.endAngle-that._geometry.startAngle)))}}else{if((that.baseValue-that.values[valueIndex])!==0){intervalPer1000ms=1000/(Math.abs((that.baseValue-that.values[valueIndex])/(that.max-that.min)*(that._geometry.endAngle-that._geometry.startAngle)))}}animation.smoothCoef=animationISeconds||1;animation.interval=intervalPer1000ms*animationISeconds;return animation},_calculateLabelOffset:function(angle,fontSize,textWidth){var koefX,koefY;var offset={};if(angle>=270){koefY=-(270-angle)/180}else{if(angle<=90){koefY=(90+angle)/180}else{koefY=(270-angle)/180}}if(angle<=180){koefX=angle/180}else{koefX=(360-angle)/180}offset.y=koefY*fontSize;offset.x=koefX*textWidth;return offset},_drawCoordinatePlane:function(){var that=this;var startY,endY;if(that._title.verticalAlignment==="top"){startY=that._title.placeholderSize;endY=that.height}else{startY=0;endY=that.height-that._title.placeholderSize}if(that._coordinatePlane!==null){$("#"+that.element.id+" .jqx-bar-gauge-coordinate-plane").remove()}that._coordinatePlane={};that._coordinatePlane.x=that.renderer.line(0,that._centerY,that.width,that._centerY,{fill:"gray",stroke:"gray","stroke-width":1,"stroke-opacity":0.1});that._coordinatePlane.y=that.renderer.line(that._centerX,startY,that._centerX,endY,{fill:"gray",stroke:"gray","stroke-width":1,"stroke-opacity":0.1});that.renderer.attr(that._coordinatePlane.x,{"class":"jqx-bar-gauge-coordinate-plane"});that.renderer.attr(that._coordinatePlane.y,{"class":"jqx-bar-gauge-coordinate-plane"})},_getColorScheme:function(){var that=this;var newColorSchemeIndex,i;var colorSchemesLength=that._colorSchemes.length;var totalColors=that.values.length||1;var colorSchemesCombinations=Math.floor(totalColors/that._colorSchemes[0].colors.length);var colorSchemeIndex=0;for(i=0;i<colorSchemesLength;i++){if(that.colorScheme===that._colorSchemes[i].name){colorSchemeIndex=i}}that._colors=that._colorSchemes[colorSchemeIndex].colors;if(colorSchemesCombinations>0){for(i=0;i<colorSchemesCombinations;i++){newColorSchemeIndex=(colorSchemeIndex+i+1)%colorSchemesLength;that._colors=that._colors.concat(that._colorSchemes[newColorSchemeIndex].colors)}}},_drawLabelsLine:function(radiusXY1,angle,valueIndex){var that=this;var x1,y1,x2,y2,angleInRad,radiusXY2,color,labelLineId;if(angle<0){angle=360+angle}else{if(angle>360){angle=angle%360}}angleInRad=(360-angle)*Math.PI/180;radiusXY2=radiusXY1+that._barWidth+(that._valuesLength-valueIndex-1)*(that._barWidth+that.barSpacing)+that._label.indent;x1=that._centerX+radiusXY1*Math.cos(angleInRad);y1=that._centerY+radiusXY1*Math.sin(angleInRad);x2=that._centerX+radiusXY2*Math.cos(angleInRad);y2=that._centerY+radiusXY2*Math.sin(angleInRad);color=that._label.connectorColor||that._colors[valueIndex];if(that.formatFunction){color=that.formatFunction(that.values[valueIndex],valueIndex,color)}if(that._ie7||that._ie8){x1=parseInt(x1,10);y1=parseInt(y1,10);x2=parseInt(x2,10);y2=parseInt(y2,10)}if(that._label.visible===true&&that.disabled===false){that._barGaugeLabelLines[valueIndex]=that.renderer.line(x1,y1,x2,y2,{fill:color,stroke:color,"stroke-width":that._label.connectorWidth})}labelLineId=that.element.id+"LabelLine"+valueIndex;that.renderer.attr(that._barGaugeLabelLines[valueIndex],{id:labelLineId});that.renderer.attr(that._barGaugeLabelLines[valueIndex],{"class":"jqx-bar-gauge-label-line"})},_drawLabelsText:function(angle,valueIndex,text){var that=this;var textSize,angleInRadians,xText,yText,offset,labelId;var color=that._label.font.color||that._colors[valueIndex];if(that.formatFunction){color=that.formatFunction(that.values[valueIndex],valueIndex,color)}var value=that._calculatePrecision(that._label.precision,that.values[valueIndex]);if(text!==undefined){value=new Number(text).toFixed(that._label.precision);value=that._calculatePrecision(that._label.precision,value)}if((that._label.formatFunction!==undefined)&&(that._label.formatFunction!==null)&&(typeof that._label.formatFunction==="function")){value=that._label.formatFunction(value,valueIndex)}if(!that._cachedMeasurements){that._cachedMeasurements=[]}if(!that._cachedMeasurements[value.length]){textSize=that._measureText(value,that._label.font.size,that._label.font.family,that._label.font.weight);that._cachedMeasurements[value.length]=textSize}else{textSize=that._cachedMeasurements[value.length]}if(angle<0){angle=360+angle}else{if(angle>360){angle=angle%360}}angleInRadians=(360-angle)*Math.PI/180;xText=that._centerX+(that._labelPositioningRadius+textSize.height*0.3)*Math.cos(angleInRadians);yText=that._centerY+(that._labelPositioningRadius+textSize.height*0.3)*Math.sin(angleInRadians);offset=that._calculateLabelOffset(angle,textSize.height,textSize.width);if(that._label.visible===true&&that.disabled===false){that._barGaugeLabelText[valueIndex]=that.renderer.text(value,xText-offset.x,(yText-offset.y),undefined,undefined,0,{"class":"jqx-bargauge-label",fill:color,"font-size":that._label.font.size+"px","font-family":that._label.font.family,"font-weight":that._label.font.weight},false,"left","top","lefttop")}labelId=that.element.id+"Label"+valueIndex;that.renderer.attr(that._barGaugeLabelText[valueIndex],{id:labelId});that.renderer.attr(that._barGaugeLabelText[valueIndex],{"class":"jqx-bar-gauge-label-text"});if((that._ie7)||(that._ie8)){$("#"+labelId+" .jqx-bargauge-label").css({color:color,"white-space":"nowrap","font-size":that._label.font.size+"px","font-family":that._label.font.family,"font-weight":that._label.font.weight})}},_calculatePrecision:function(precisionBase,value){var precision;precision=precisionBase+Math.abs(value).toString().split(".")[0].length;precision=(precision>15)?15:precision;value=parseFloat(value).toPrecision(precision);return value},_createTooltip:function(){var that=this;var tooltipId=that.element.id+"tooltip";that._barGaugeTooltip.attr("id",tooltipId);$(that._barGaugeTooltip).addClass(that.toThemeProperty("jqx-bar-gauge-tooltip"));if(that._tooltip.classname.length>0){$(that._barGaugeTooltip).addClass(that.toThemeProperty(that._tooltip.classname))}$(document.body).append(that._barGaugeTooltip);if((that._tooltip.visible===true)&&(that.disabled===false)&&(that._valuesLength>0)){that._addTooltipHandlers()}},_refreshTooltipHandlers:function(){var that=this;if(that._tooltip.visible===true&&that.disabled===false){that._removeTooltipHandlers();that._addTooltipHandlers()}},_addTooltipHandlers:function(){var that=this;var id,tooltipText;that.addHandler($("#"+that.element.id+" .jqx-bar-gauge-slice"),"mouseenter",function(){if((that._tooltip.visible===true)&&(that._valuesLength>0)){id=that.renderer.getAttr(this,"id").substr(that.element.id.length+5);tooltipText=that._calculatePrecision(that._tooltip.precision,that.values[id]);that._barGaugeTooltip.css({display:"block",color:that._colors[id],"border-color":that._colors[id]});if((that._tooltip.formatFunction!==undefined)&&(that._tooltip.formatFunction!==null)&&(typeof that._tooltip.formatFunction==="function")){tooltipText=that._tooltip.formatFunction(tooltipText,parseInt(id))}that._barGaugeTooltip.html(tooltipText);that._raiseEvent("2",{layer:id})}});that.addHandler($("#"+that.element.id+" .jqx-bar-gauge-slice"),"mouseleave",function(){that._barGaugeTooltip.css({display:"none"});that._raiseEvent("3",{layer:id})});that.addHandler($("#"+that.element.id+" .jqx-bar-gauge-slice"),"mouseup",function(){that._barGaugeTooltip.css({display:"none"})});if($("#"+that.element.id+" .jqx-bar-gauge-slice").length>0){that.addHandler($("#"+that.element.id+" .jqx-bar-gauge-slice"),"mousemove",function(){if((that._tooltip.visible===true)&&(that._valuesLength>0)){id=that.renderer.getAttr(this,"id").substr(that.element.id.length+5);tooltipText=that._calculatePrecision(that._tooltip.precision,that.values[id]);that._barGaugeTooltip.css({display:"block",color:that._colors[id],"border-color":that._colors[id]});if((that._tooltip.formatFunction!==undefined)&&(that._tooltip.formatFunction!==null)&&(typeof that._tooltip.formatFunction==="function")){tooltipText=that._tooltip.formatFunction(tooltipText,parseInt(id))}that._barGaugeTooltip.html(tooltipText)}})}that.addHandler($(that.host),"mousemove",function(event){that._barGaugeTooltip.css({top:(event.pageY-10)+"px",left:(event.pageX+15)+"px"})})},_removeTooltipHandlers:function(){var that=this;if(that._barGaugeSlices.length>0){that.removeHandler($(that._barGaugeSlices),"mouseenter");that.removeHandler($(that._barGaugeSlices),"mouseleave");that.removeHandler($(that._barGaugeSlices),"mouseup");that.removeHandler($(that._barGaugeSlices),"mousemove");that.removeHandler($("#"+that.element.id+" .jqx-bar-gauge-slice"),"mouseenter mouseleave mouseup mousemove")}that.removeHandler($(that.host),"mousemove")},_drawBarGaugeTitle:function(){var that=this;that._alignmentIE=that._alignmentIE||that._title.horizontalAlignment;var drawn=0;var coefY=0;var titleParts,subTitleParts,titleTextSize,subTitleTextSize,subTitleText,titleText,subTitleId,titleId,i;if(that._ie7||that._ie8){that._title.horizontalAlignment="left"}if(that._titleLines>1){titleParts=that._title.text.split("<br>");for(i=0;i<that._titleLines;i++){titleTextSize=that._measureText(titleParts[i]+"_",that._title.font.size,that._title.font.family,that._title.font.weight);titleText=titleParts[i];while(titleTextSize.width>that.width){titleText=titleText.slice(0,-1);titleParts[i]=titleText+"...";titleTextSize=that._measureText(titleParts[i]+"_",that._title.font.size,that._title.font.family,that._title.font.weight)}}that._title.text=titleParts.join("<br>")}else{titleTextSize=that._measureText(that._title.text+"_",that._title.font.size,that._title.font.family,that._title.font.weight);titleText=that._title.text;while(titleTextSize.width>that.width){titleText=titleText.slice(0,-1);that._title.text=titleText+"...";titleTextSize=that._measureText(that._title.text+"_",that._title.font.size,that._title.font.family,that._title.font.weight)}}if(that._title.verticalAlignment==="bottom"){coefY=that.height-that._title.placeholderSize}if((that.title!==null)&&(that.title!==undefined)&&(that._title.text!=="")){that._barGaugeTitle=that.renderer.text(that._title.text,that._title.margin.left,(coefY+that._title.margin.top),(that.width-that._title.margin.right),0,undefined,{fill:that._title.font.color,"fill-opacity":that._title.font.opacity,"font-size":that._title.font.size,"font-family":that._title.font.family,"font-weight":that._title.font.weight},false,that._title.horizontalAlignment,that._title.verticalAlignment,"centertop");titleId=that.element.id+"Title";that.renderer.attr(that._barGaugeTitle,{id:titleId});that.renderer.attr(that._barGaugeTitle,{"class":"jqx-bar-gauge-title"});if((that._ie7)||(that._ie8)){$("#"+titleId+" textbox").css({width:that.width+"px !important","padding-left":"10px",position:"relative"});var titleLeftMargin=0;if(titleTextSize.width<that.width){if(that._alignmentIE==="center"){titleLeftMargin=(that.width-titleTextSize.width)/2}else{if(that._alignmentIE==="right"){titleLeftMargin=that.width-titleTextSize.width}}}$("#"+titleId+" span").css({color:that._title.font.color,"margin-left":titleLeftMargin+"px","white-space":"nowrap","text-align":"center","font-size":that._title.font.size+"px","font-family":that._title.font.family,"font-weight":that._title.font.weight});drawn++}if((that._title.subtitle.text!=="")&&(that._title.subtitle.text!==undefined)){if(that._subTitleLines>1){subTitleParts=that._title.subtitle.text.split("<br>");for(i=0;i<that._subTitleLines;i++){subTitleTextSize=that._measureText(subTitleParts[i]+"_",that._title.subtitle.font.size,that._title.subtitle.font.family,that._title.subtitle.font.weight);subTitleText=subTitleParts[i];while(subTitleTextSize.width>that.width){subTitleText=subTitleText.slice(0,-1);subTitleParts[i]=subTitleText+"...";subTitleTextSize=that._measureText(subTitleParts[i]+"_",that._title.subtitle.font.size,that._title.subtitle.font.family,that._title.subtitle.font.weight)}}that._title.subtitle.text=subTitleParts.join("<br>")}else{subTitleTextSize=that._measureText(that._title.subtitle.text+"_",that._title.subtitle.font.size,that._title.subtitle.font.family,that._title.subtitle.font.weight);subTitleText=that._title.subtitle.text;while(subTitleTextSize.width>that.width){subTitleText=subTitleText.slice(0,-1);that._title.subtitle.text=subTitleText+"...";subTitleTextSize=that._measureText(that._title.subtitle.text+"_",that._title.subtitle.font.size,that._title.subtitle.font.family,that._title.subtitle.font.weight)}}that._barGaugeSubTitle=that.renderer.text(that._title.subtitle.text,that._title.margin.left,(coefY+that._title.font.size*that._titleLines+that._title.margin.top),that.width-that._title.margin.right,0,undefined,{fill:that._title.subtitle.font.color,"fill-opacity":that._title.subtitle.font.opacity,"font-size":that._title.subtitle.font.size,"font-family":that._title.subtitle.font.family,"font-weight":that._title.subtitle.font.weight,"margin-top":that._title.margin.top},false,that._title.horizontalAlignment,that._title.verticalAlignment,"centertop");subTitleId=that.element.id+"SubTitle";that.renderer.attr(that._barGaugeSubTitle,{id:subTitleId});that.renderer.attr(that._barGaugeSubTitle,{"class":"jqx-bar-gauge-subtitle"});if((that._ie7)||(that._ie8)){var subTitleLeftMargin=0;if(subTitleTextSize.width<that.width){if(that._alignmentIE==="center"){subTitleLeftMargin=(that.width-subTitleTextSize.width)/2}else{if(that._alignmentIE==="right"){subTitleLeftMargin=that.width-subTitleTextSize.width}}}$("#"+subTitleId+" textbox").css({width:that.width+"px !important",left:subTitleLeftMargin+"px !important",position:"relative"});$("#"+subTitleId+" span").css({width:"100%",color:that._title.subtitle.font.color,"margin-left":subTitleLeftMargin+"px","white-space":"nowrap","text-align":"center","font-size":that._title.subtitle.font.size+"px","font-family":that._title.subtitle.font.family,"font-weight":that._title.subtitle.font.weight})}}}},_measureText:function(text,fontSize,fontFamily,fontWeight){var that=this;var measuredTextProperties={};if(!$("#"+that._measuredTextId).length){that._measuredText.attr("id",that._measuredTextId);$(that.host).append(that._measuredText);that._measuredText.css({"z-index":-999999,"white-space":"nowrap","font-size":fontSize+"px","font-family":fontFamily,"font-weight":fontWeight})}if(that._measuredText[0].style.fontSize!=fontSize+"px"){that._measuredText[0].style.fontSize=fontSize+"px"}if(that._measuredText[0].style.fontFamily!=fontFamily+"px"){that._measuredText[0].style.fontFamily=fontFamily}if(that._measuredText[0].style.fontWeight!=fontWeight){that._measuredText[0].style.fontWeight=fontWeight+"px"}that._measuredText.text(text);measuredTextProperties.width=that._measuredText[0].offsetWidth;measuredTextProperties.height=that._measuredText[0].offsetHeight;return measuredTextProperties},_calculateBarGaugeRadius:function(){var that=this;if(that.width>(that.height-that._title.placeholderSize)){that._barGaugeRadius=(that.height-that._title.placeholderSize)/2}else{that._barGaugeRadius=that.width/2}},_addCSS:function(){var that=this;$(that.host).addClass(that.toThemeProperty("jqx-widget"));$(that.host).addClass(that.toThemeProperty("jqx-bar-gauge"));$(that.host).addClass(that.toThemeProperty("jqx-widget-content"));if(that.disabled){$(that.host).addClass(that.toThemeProperty("jqx-fill-state-disabled"))}},_rendered:function(){var that=this;if((that._rendering===true)){if((that.rendered!==null)&&(typeof that.rendered==="function")){that.rendered()}that._rendering=false;that.clearIntervals();that._temporaryOldAngle.length=0;that._temporaryValuesToDegrees.length=0;that._temporaryValues.length=0;that._raiseEvent("0");that._raiseEvent("5")}},_render:function(){var that=this;that._removeAllGraphicElements();if(that.values.length>0){if((that.animationDuration===0)||(that._ie8)||(that._ie7)){that._drawStaticBarGauge()}else{that._drawDynamicBarGauge()}}else{that._getLiquidDimensions();that.host.width(that.width);that.host.height(that.height);that._validateValues();that._transformValuesToAngles();that._drawStaticBarGauge()}},render:function(){var that=this;that.clearIntervals();that._getLiquidDimensions();that.host.width(that.width);that.host.height(that.height);that._validateValues();that._transformValuesToAngles();that._getColorScheme();if(that._rendering!==true){that._render()}else{that._staticRefresh();that._render()}},refresh:function(initialRefresh){var that=this;if(initialRefresh!==true){that.render()}},_removeAllGraphicElements:function(){var that=this;that._removeLabels();that._removeBarGaugeSlices();that._removeBarGaugeTitle();that._removeBarGaugeSubTitle()},_drawStaticBarGauge:function(){var that=this;that._rendering=true;that._drawBarGaugeTitle();that._drawBarGaugeLayout();if(!that.disabled){that._getLiquidDimensions();that.host.width(that.width);that.host.height(that.height);that._validateValues();that._measureRadius();that._drawStaticBarGaugeElementsWithBase();that._rendered()}else{that._rendered()}},_drawDynamicBarGauge:function(){var that=this;that._drawBarGaugeTitle();that._drawBarGaugeLayout();if(!that.disabled){that._drawBarGaugeElementsWithBase()}else{that._rendered()}},val:function(newValues){var that=this;if((newValues!==null)&&(newValues!==undefined)&&(typeof newValues==="object")&&(Object.keys(newValues).length>0)){that._raiseEvent("4","api");if(newValues.length!=that.values.length){that.values=newValues;that.render()}else{that._redrawWithNewValuesArray(newValues,that.values)}}else{if((newValues!==null)&&(newValues!==undefined)&&(typeof newValues==="object")&&(newValues.length===0)){that._raiseEvent("4");that._removeLabels();that._removeBarGaugeSlices();that._transformValuesToAngles();that._drawEmptyBarGauge();that._removeLabels();that.values.length=0;that._refreshTooltipHandlers()}}return that.values},_redrawWithNewValuesArray:function(newValues,oldValues){var that=this;var val,i;if(that._rendering===false){that._userValues=newValues.slice();if(!!oldValues){that._oldValues=oldValues.slice()}else{that._oldValues=that.values.slice()}that._oldValuesToDegrees=that._valuesToDegrees.slice();that._oldValuesLength=that._valuesLength;if(Object.keys(newValues).length>1){that.values=newValues.slice()}else{if((newValues[0]===null)||(newValues[0]===undefined)){that.values=[]}else{that.values=[];that.values[0]=parseFloat(newValues)}}that._lastChange=new Date()}else{if(that._rendering===true){that._userValues=newValues.slice();that._oldValues.length=0;that._oldValuesToDegrees.length=0;for(i=0;i<that.values.length;i++){that._oldValues[i]=that._temporaryValues[i]!=undefined?that._temporaryValues[i]:that.values[i];that._oldValuesToDegrees[i]=that._temporaryValuesToDegrees[i]!=undefined?that._temporaryValuesToDegrees[i]:that._valuesToDegrees[i]}that._oldValuesLength=that.values.length;if(newValues.length>1){that.values=newValues.slice()}else{if((newValues[0]===null)||(newValues[0]===undefined)){that.values=[]}else{that.values=[];that.values[0]=parseFloat(newValues)}}}else{if((newValues===null)||(newValues===undefined)){that.values=[]}else{if((typeof newValues==="string")||(typeof newValues==="number")){that.values=[];that.values[0]=parseFloat(newValues)}else{return that.values}}}}that._valuesLength=that.values.length;that._getColorScheme();if(that._valuesLength>that._oldValuesLength){for(var v=that._oldValuesLength;v<that._valuesLength;v++){that._oldValuesToDegrees[v]=that._geometry.baseAngle;that._oldValues[v]=that.baseValue}}for(i=0;i<that._valuesLength;i++){if(that.values[i]<that.min){that.values[i]=that.min}else{if(that.values[i]>that.max){that.values[i]=that.max}}var res=that.values[i];if(res==0){res=0.03}val=((res-that.min)/(that.max-that.min))*(that._geometry.endAngle-that._geometry.startAngle)+that._geometry.startAngle;that._valuesToDegrees[i]=val%360}that._renderElements();that._refreshTooltipHandlers();that._raiseEvent("1")},_staticRefresh:function(){var that=this;var animationDuration=that.animationDuration;if(typeof that.width==="string"&&that.width.indexOf("%")!==-1){that._dimensions.width=that.width}if(typeof that.height==="string"&&that.height.indexOf("%")!==-1){that._dimensions.height=that.height}that._getLiquidDimensions();that.host.width(that.width);that.host.height(that.height);$("#"+that.element.id+" .chartContainer").width(that.width);$("#"+that.element.id+" .chartContainer").height(that.height);that._removeBarGaugeTitle();that._removeBarGaugeSubTitle();that._validateGeometry();that._validateTitle();that._validateLabel();that._validateValues();that._validateTooltip();that._measureRadius();that.animationDuration=0;that._render();that.animationDuration=animationDuration},propertyChangedHandler:function(object,key,oldvalue,value){var that=object;var animationDuration,i;that._cachedMeasurements=[];if(object.isInitialized===undefined||object.isInitialized===null||object.isInitialized===false){return}if(!that.ie7&&object.batchUpdate&&object.batchUpdate.width&&object.batchUpdate.height&&Object.keys(object.batchUpdate).length===2){return}if((value!==oldvalue)||(key==="colorScheme"||key==="tooltip")){animationDuration=that.animationDuration;that._titleTemplate=that._title;that._labelTemplate=that._label;that._tooltipTemplate=that._tooltip;switch(key){case"width":case"height":that._staticRefresh();break;case"values":that.values=oldvalue;that.val(value);break;case"animationDuration":break;case"disabled":if(that.disabled){$(that.host).addClass(that.toThemeProperty("jqx-fill-state-disabled"))}else{$(that.host).removeClass(that.toThemeProperty("jqx-fill-state-disabled"))}that._render();break;case"geometry":case"min":case"baseValue":case"max":case"barSpacing":case"startAngle":case"endAngle":case"relativeInnerRadius":that.geometry.startAngle=that.startAngle;that.geometry.endAngle=that.endAngle;that.values=that._userValues.slice();that._validateValues();that._transformValuesToAngles();that._render();break;case"tooltip":that._validateTooltip();break;case"rendered":break;case"backgroundColor":that._backgroundColor=that._validateColor(that.backgroundColor,that._backgroundColor);if(that._ie7||that._ie8){for(i=0;i<that._valuesLength;i++){that.renderer.attr(that._barGaugeBackgroundSlices[i],{fillcolor:that._backgroundColor,strokecolor:that._backgroundColor,"stroke-width":that._barGaugeSlicesStrokeWidth})}}else{$("#"+that.element.id+" .jqx-bar-gauge-background-slice").attr({fill:that._backgroundColor,stroke:that._backgroundColor,"stroke-width":that._barGaugeSlicesStrokeWidth})}break;case"customColorScheme":that._attachCustomColors();break;case"colorScheme":var connectorColor,labelColor;that._getColorScheme();for(i=0;i<that._valuesLength;i++){connectorColor=that._label.connectorColor||that._colors[i];labelColor=that._label.font.color||that._colors[i];var drawColor=that._colors[i];if(that.useGradient){var stops=[[0,1.4],[100,1]];drawColor=that.renderer._toLinearGradient(drawColor,true,stops)}that.renderer.attr(that._barGaugeSlices[i],{fill:drawColor});that.renderer.attr(that._barGaugeLabelLines[i],{fill:connectorColor,stroke:connectorColor});that.renderer.attr(that._barGaugeLabelText[i],{fill:labelColor});if(that._ie7||that._ie8){that.renderer.attr(that._barGaugeSlices[i],{fillcolor:that._colors[i],strokecolor:that._colors[i],"stroke-width":that._barGaugeSlicesStrokeWidth});that.renderer.attr(that._barGaugeLabelLines[i],{fillcolor:connectorColor,strokecolor:connectorColor});var labelId=that.element.id+"Label"+i;$("#"+labelId+" .jqx-bargauge-label").css({color:labelColor})}}break;default:that._staticRefresh();break}}},_compareArrays:function(arr1,arr2){var arr1Length=arr1.length,arr2Length=arr2.length;if(arr1Length!==arr2Length){return false}else{for(var i=0;i<arr1Length;i++){if(arr1[i]!==arr2[i]){return false}}}return true},_addIEPolyfills:function(){if(!Object.keys){Object.keys=(function(){var hasOwnPropertyLocal=Object.prototype.hasOwnProperty,hasDontEnumBug=!({toString:null}).propertyIsEnumerable("toString"),dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;return function(obj){if(typeof obj!=="object"&&(typeof obj!=="function"||obj===null)){throw new TypeError("Object.keys called on non-object")}var result=[],prop,i;for(prop in obj){if(hasOwnPropertyLocal.call(obj,prop)){result.push(prop)}}if(hasDontEnumBug){for(i=0;i<dontEnumsLength;i++){if(hasOwnPropertyLocal.call(obj,dontEnums[i])){result.push(dontEnums[i])}}}return result}}())}},destroy:function(){var that=this;$("#"+that._measuredTextId).remove();that.renderer.clear();that.renderer=null;that._removeEventHandlers();that._removeTooltipHandlers();that.host.children().remove();that.host.removeData();that.host.removeClass();that.host.remove();that.host=null;that.element=null;delete that.element;delete that.host},_addEventHandlers:function(){var that=this;that.addHandler($(that.host),"drawStart",function(){});that.addHandler($(that.host),"drawEnd",function(){that._refreshTooltipHandlers()});that.addHandler($(window),"resize.jqxBarGauge"+that.host[0].id,function(){var isPercentage=false;if(that._dimensions.width&&that._dimensions.width.toString().indexOf("%")>=0){isPercentage=true}if(that._dimensions.height&&that._dimensions.height.toString().indexOf("%")>=0){isPercentage=true}if(isPercentage){that._staticRefresh()}})},_removeEventHandlers:function(){var that=this;that.removeHandler($(that.host),"drawStart");that.removeHandler($(that.host),"drawEnd");that.removeHandler($(window),"resize.jqxBarGauge"+that.host[0].id)},_refreshEventHandlers:function(){var that=this;that._removeEventHandlers();that._addEventHandlers()},_raiseEvent:function(eventId,data){var that=this;var event=$.Event(that._events[eventId]);event.args=data;return that.host.trigger(event)},_getEvent:function(event){var that=this;if(that._isTouchDevice){return that._touchEvents[event]}else{return event}}})})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxBulletChart","",{});a.extend(a.jqx._jqxBulletChart.prototype,{defineInstance:function(){var b={width:500,height:100,barSize:"50%",ranges:[{startValue:0,endValue:50,color:"#000000",opacity:0.7},{startValue:50,endValue:80,color:"#000000",opacity:0.5},{startValue:80,endValue:100,color:"#000000",opacity:0.3}],pointer:{value:65,label:"Value",size:"25%",color:""},target:{value:85,label:"Target",size:4,color:""},ticks:{position:"far",interval:20,size:10},title:"Title",description:"Description",orientation:"horizontal",labelsFormat:null,labelsFormatFunction:null,animationDuration:400,showTooltip:true,tooltipFormatFunction:null,disabled:false,rtl:false,events:["change"]};if(this===a.jqx._jqxBulletChart.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){if(!a.jqx.dataAdapter){throw new Error("jqxBulletChart: Missing reference to the following module: 'jqxdata.js'.")}this._setDefaultValues();this.render();var c=this;a.jqx.utilities.resize(this.host,function(){if(c._timer){clearTimeout(c._timer)}c._timer=setTimeout(function(){var d=c.animationDuration;c.animationDuration=0;c.render();setTimeout(function(){c.animationDuration=d},0)},10)},false,true)},render:function(){if(this.host.children().length>0){this._removeHandlers();if(this.showTooltip==true){this.host.jqxTooltip("destroy")}this.host.empty()}this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-bulletchart"));this.host.width(this.width);this.host.height(this.height);var n=this.host.width();var d=this.host.height();var l;var j=this.rtl?"rtl":"ltr";if(this.orientation=="horizontal"){l=a("<div style='position: absolute; visibility: hidden; padding: 5px;'><div class='"+this.toThemeProperty("jqx-bulletchart-title")+"' style='direction: "+j+";'>"+this.title+"</div><div class='"+this.toThemeProperty("jqx-bulletchart-description")+"' style='direction: "+j+";'>"+this.description+"</div></div>")}else{if(this.orientation=="vertical"){l=a("<div style='position: absolute; visibility: hidden; padding-bottom: 15px;'><div class='"+this.toThemeProperty("jqx-bulletchart-title")+"' style='width: "+n+"px; direction: "+j+";'>"+this.title+"</div><div class='"+this.toThemeProperty("jqx-bulletchart-description")+"' style='direction: "+j+";'>"+this.description+"</div></div>")}}this.host.append(l);var k=l.outerWidth();var g=l.outerHeight();l.remove();var e,h,i,b,o,m,f,c;if(this.orientation=="horizontal"){e="jqx-bulletchart-title-container-horizontal";h="jqx-bulletchart-chart-container-horizontal";i=this._checkPercentage(this.barSize,this.host);b=k;o=this.barSize;m=0;f=n-b;c=o;if(this.width&&this.width.toString().indexOf("%")>=0){var f=parseFloat(parseFloat(f*100)/n).toString()+"%";var b=parseFloat(parseFloat(b*100)/n).toString()+"%";this._percentageWidth=true}}else{if(this.orientation=="vertical"){e="jqx-bulletchart-title-container-vertical";h="jqx-bulletchart-chart-container-vertical";i=0;b="100%";o=g;m=this._checkPercentage(this.barSize,this.host);f=this.barSize;c=d-o}}if(this.rtl==false||(this.rtl==true&&this.orientation=="vertical")){this.host.append("<div id='"+this.element.id+"titleContainer' class='"+e+"' style='top: "+i+";'></div>")}this.host.append("<div id='"+this.element.id+"ChartContainer' class='"+h+"' style='top: "+i+"; left: "+m+";'></div>");if(this.rtl==true&&this.orientation=="horizontal"){this.host.append("<div id='"+this.element.id+"titleContainer' class='"+e+"' style='top: "+i+";'></div>")}this._titleContainer=a("#"+this.element.id+"titleContainer");this._chartContainer=a("#"+this.element.id+"ChartContainer");this._titleContainer.css({width:b,height:o});this._chartContainer.css({width:f,height:c});this._min=this.ranges[0].startValue;this._max=this.ranges[this.ranges.length-1].endValue;this._interval=this._max-this._min;this._valueToPixelsHorizontal=this._chartContainer.width()/this._interval;this._valueToPixelsVertical=this._chartContainer.height()/this._interval;this._checkValues();this._appendRanges();this._appendPointerAndTarget();this._appendTitleAndDescription();if(this.ticks.position!="none"){this._appendTicksAndLabels()}if(this.disabled==true){this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(this.showTooltip==true){if(this.host.jqxTooltip!=undefined){this._initializeTooltip();this.host.data().jqxWidget=this}else{throw new Error("jqxBulletChart: Missing reference to the following module: 'jqxtooltip.js'.")}}this._updateValue(this.pointer.value,0,true)},refresh:function(b){if(!b){this.render()}},val:function(b){if(arguments.length==0||(b!=null&&typeof(b)=="object")){return this.pointer.value}else{if(b>this._max){b=this._max}else{if(b<this._min){b=this._min}}if(b!=this.pointer.value){this._updateValue(b,this.pointer.value);this.pointer.value=b;if(this.showTooltip==true){this._updateTooltip()}}}},destroy:function(){a.jqx.utilities.resize(this.host,null,true);this._removeHandlers();if(this.showTooltip==true){this.host.jqxTooltip("destroy")}this.host.remove()},propertyChangedHandler:function(c,d,g,e){if(g!=e||e instanceof Object){var b=true;var f=function(){a.each(g,function(i,h){if(e[i]==undefined){c[d][i]=h}})};switch(d){case"barSize":break;case"ranges":a.each(g,function(i,h){a.each(h,function(k,j){if(e[i]===undefined){return}if(e[i][k]==undefined){c[d][i][k]=j}})});this._setDefaultValues();break;case"pointer":f();this._updatePointer(e,g);return;case"target":f();this._updateTarget(e,g);return;case"ticks":b=false;f();a.each(g,function(i,h){if(g[i]!=c[d][i]){b=!(b&&false)}});break;case"showTooltip":if(e==true){if(this.host.jqxTooltip!=undefined){this._initializeTooltip()}else{throw new Error("jqxBulletChart: Missing reference to the following module: 'jqxtooltip.js'.")}}else{this._removeHandlers();this.host.jqxTooltip("destroy")}break;case"animationDuration":return;case"tooltipFormatFunction":this._updateTooltip();return;case"disabled":if(e==true){this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}return}if(b==true){this.render()}}},_raiseEvent:function(g,e){var c=this.events[g];var f=new a.Event(c);f.owner=this;f.args=e;try{var b=this.host.trigger(f)}catch(d){}return b},_removeHandlers:function(){var b=a("#"+this.element.id+"Pointer, #"+this.element.id+"Target");this.removeHandler(b,"mouseenter.bulletchart"+this.element.id);this.removeHandler(b,"mouseleave.bulletchart"+this.element.id)},_setDefaultValues:function(){var b=this.ranges;var c=this.ranges.length;for(var d=0;d<c;d++){if(b[d].startValue==undefined||b[d].endValue==undefined){throw new Error("jqxBulletChart: Each range must have its startValue and endValue set.")}if(b[d].color==undefined){this.ranges[d].color="#000000"}if(b[d].opacity==undefined){this.ranges[d].opacity=1-(1/c)*d}}var g=this.pointer;if(g.value==undefined){this.pointer.value=65}if(g.label==undefined){this.pointer.label="Value"}if(g.size==undefined){this.pointer.size="25%"}if(g.color==undefined){this.pointer.color=""}var f=this.target;if(f.value==undefined){this.target.value=85}if(f.label==undefined){this.target.label="Target"}if(f.size==undefined){this.target.size=5}if(f.color==undefined){this.target.color=""}var e=this.ticks;if(e.position==undefined){this.ticks.position="near"}if(e.interval==undefined){this.ticks.interval=20}if(e.size==undefined){this.ticks.size=10}},_checkValues:function(){if(this.pointer.value>this._max){this.pointer.value=this._max}else{if(this.pointer.value<this._min){this.pointer.value=this._min}}if(this.target.value>this._max){this.target.value=this._max}else{if(this.target.value<this._min){this.target.value=this._min}}},_appendRanges:function(){var e="";var g=this.ranges.length;for(var d=0;d<g;d++){var f=this.ranges[d];var l;if(this.orientation=="horizontal"){var h=this.rtl?"right":"left";var c=(f.startValue-this._min)*this._valueToPixelsHorizontal;var j=(f.endValue-f.startValue)*this._valueToPixelsHorizontal;l="<div class='"+this.toThemeProperty("jqx-bulletchart-range")+" "+this.toThemeProperty("jqx-bulletchart-range-horizontal")+"' style='"+h+": "+c+"px; width: "+j+"px; background-color: "+f.color+"; opacity: "+f.opacity+"'></div>"}else{if(this.orientation=="vertical"){var b=(f.startValue-this._min)*this._valueToPixelsVertical;var k=(f.endValue-f.startValue)*this._valueToPixelsVertical;l="<div class='"+this.toThemeProperty("jqx-bulletchart-range")+" "+this.toThemeProperty("jqx-bulletchart-range-vertical")+"' style='bottom: "+b+"px; height: "+k+"px; background-color: "+f.color+"; opacity: "+f.opacity+"'></div>"}}e+=l}this._chartContainer.append(e)},_appendPointerAndTarget:function(){var o="";var m=this.element.id+"Pointer";var f=this.element.id+"Target";var l=this.pointer.size;var k=this.target.value;var e=this.target.size;var j=k>0?0:parseInt(e);var p=this.pointer.color.length>0?"":this.toThemeProperty("jqx-fill-state-pressed");var g=this.target.color.length>0?"":this.toThemeProperty("jqx-fill-state-pressed");if(this.orientation=="horizontal"){var c=this._normaliseValue(l);var n=this._checkPercentage(l,this._chartContainer);var d=this.rtl?"right":"left";var t=(k-this._min)*this._valueToPixelsHorizontal-j;var u=t+parseInt(e)-this._chartContainer.width();if(t<0){t=0}else{if(u>0){t-=u}}var i=this._normaliseValue(e);o+="<div class='"+g+" "+this.toThemeProperty("jqx-bulletchart-target")+" "+this.toThemeProperty("jqx-bulletchart-target-horizontal")+"' id='"+f+"' style='"+d+": "+t+"px; width: "+i+"; background-color: "+this.target.color+"'></div>";o+="<div class='"+p+" "+this.toThemeProperty("jqx-bulletchart-pointer")+"' id='"+m+"' style='top: "+n+"; height: "+c+"; background-color: "+this.pointer.color+"'></div>"}else{if(this.orientation=="vertical"){var r=this._chartContainer.width();var q=this._normaliseValue(l);var s=this._checkPercentage(l,this._chartContainer);var b=(k-this._min)*this._valueToPixelsVertical-j;var u=b+parseInt(e)-this._chartContainer.height();if(b<0){b=0}else{if(u>0){b-=u}}var h=this._normaliseValue(e);o+="<div class='"+g+" "+this.toThemeProperty("jqx-bulletchart-target")+" "+this.toThemeProperty("jqx-bulletchart-target-vertical")+"' id='"+f+"' style='bottom: "+b+"px; height: "+h+"; background-color: "+this.target.color+"'></div>";o+="<div class='"+p+" "+this.toThemeProperty("jqx-bulletchart-pointer")+"' id='"+m+"' style='left: "+s+"; width: "+q+"; background-color: "+this.pointer.color+"'></div>"}}this._chartContainer.append(o)},_updatePointer:function(c,i){var h=a("#"+this.element.id+"Pointer");if(c.value>this._max){this.pointer.value=this._max}else{if(c.value<this._min){this.pointer.value=this._min}}if(c.value!=i.value){this._updateValue(c.value,i.value);if(this.showTooltip==true){this._updateTooltip()}}if(c.label!=i.label){if(this.showTooltip==true){this._updateTooltip()}}if(c.size!=i.size){var d=c.size;if(this.orientation=="horizontal"){var g=this._checkPercentage(d,this._chartContainer);var b=this._normaliseValue(d);h.css({top:g,height:b})}else{if(this.orientation=="vertical"){var f=this._checkPercentage(d,this._chartContainer);var e=this._normaliseValue(d);h.css({left:f,width:e})}}}if(c.color!=i.color){if(c.color==""){h.css("background-color","");h.addClass(this.toThemeProperty("jqx-fill-state-pressed"))}else{h.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));h.css("background-color",c.color)}}},_updateTarget:function(b,d){var e=a("#"+this.element.id+"Target");if(b.value>this._max){this.target.value=this._max}else{if(b.value<this._min){this.target.value=this._min}}if(b.value!=d.value||b.size!=d.size){var h=b.value;var k=parseInt(b.size);var c=h>0?0:k;if(this.orientation=="horizontal"){var i=this.rtl?"right":"left";var j=(h-this._min)*this._valueToPixelsHorizontal-c;var g=j+k-this._chartContainer.width();if(j<0){j=0}else{if(g>0){j-=g}}if(this.rtl==false){e.css("left",j)}else{e.css("right",j)}e.width(k)}else{if(this.orientation=="vertical"){var f=(h-this._min)*this._valueToPixelsVertical-c;var g=f+k-this._chartContainer.height();if(f<0){f=0}else{if(g>0){f-=g}}e.css({bottom:f,height:k})}}if(this.showTooltip==true){this._updateTooltip()}}if(b.label!=d.label){if(this.showTooltip==true){this._updateTooltip()}}if(b.color!=d.color){if(b.color==""){e.css("background-color","");e.addClass(this.toThemeProperty("jqx-fill-state-pressed"))}else{e.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));e.css("background-color",b.color)}}},_appendTitleAndDescription:function(){var d;if(this.orientation=="horizontal"){if(this.rtl==true){d=this.toThemeProperty("jqx-bulletchart-title-description-rtl")}else{d=this.toThemeProperty("jqx-bulletchart-title-description-ltr")}}else{d=this.toThemeProperty("jqx-bulletchart-title-description-vertical")}var g=this.rtl?"rtl":"ltr";var b="<div id='"+this.element.id+"Title' class='"+this.toThemeProperty("jqx-bulletchart-title")+" "+d+"' style='direction: "+g+";'>"+this.title+"</div><div id='"+this.element.id+"Description' class='"+this.toThemeProperty("jqx-bulletchart-description")+" "+d+"' style='direction: "+g+";'>"+this.description+"</div>";var e=a("<div style='position: absolute; visibility: hidden;'>"+b+"</div>");this._titleContainer.append(e);var h=e.children();var c=a(h[0]).height()+a(h[1]).height();e.remove();var f;if(this.orientation=="horizontal"){if(this.rtl==false){f=this.toThemeProperty("jqx-bulletchart-title-inner-container")+" "+this.toThemeProperty("jqx-bulletchart-title-inner-container-ltr")}else{f=this.toThemeProperty("jqx-bulletchart-title-inner-container")+" "+this.toThemeProperty("jqx-bulletchart-title-inner-container-rtl")}}else{f=""}this._titleContainer.append("<div class='"+f+"' style='height: "+c+"px;'>"+b+"</div>")},_appendTicksAndLabels:function(){var o=a("<div style='position: absolute; visibility: hidden;'></div>");this._chartContainer.append(o);var j="";var e=this._min<0?true:false;var b=this.ticks.size;if(this.orientation=="horizontal"){var k=this._titleContainer.width();var r=this._chartContainer.offset().top-this.host.offset().top;if(this.ticks.position=="both"||this.ticks.position=="far"){var l=this._chartContainer.height()+r}for(var h=0;h<=this._interval;h+=this.ticks.interval){var c=h*this._valueToPixelsHorizontal+k;if(h+this.ticks.interval>this._interval){c-=1}if(e){var d=(h+this._min)==0?true:false;if(d){j+="<div class='"+this.toThemeProperty("jqx-bulletchart-ticks")+" "+this.toThemeProperty("jqx-bulletchart-ticks-horizontal")+" "+this.toThemeProperty("jqx-bulletchart-zero-tick")+"' style='top: "+r+"px; "+m+": "+c+"px; height: "+this._chartContainer.height()+"px;'></div>";e=false}}var n=this._labelValue(h);o.html(n);var p=c-o.width()/2;var m=this.rtl?"right":"left";if(this.ticks.position=="both"||this.ticks.position=="far"){j+="<div class='"+this.toThemeProperty("jqx-bulletchart-ticks")+" "+this.toThemeProperty("jqx-bulletchart-ticks-horizontal")+"' style='top: "+l+"px; "+m+": "+c+"px; height: "+b+"px;'></div>";j+="<div class='"+this.toThemeProperty("jqx-bulletchart-labels")+"' style='top: "+(l+b+2)+"px; "+m+": "+p+"px;'>"+n+"</div>"}if(this.ticks.position=="both"||this.ticks.position=="near"){j+="<div class='"+this.toThemeProperty("jqx-bulletchart-ticks")+" "+this.toThemeProperty("jqx-bulletchart-ticks-horizontal")+"' style='top: "+(r-b)+"px; "+m+": "+c+"px; height: "+b+"px;'></div>";j+="<div class='"+this.toThemeProperty("jqx-bulletchart-labels")+"' style='top: "+(r-(b+o.height()+2))+"px; "+m+": "+p+"px;'>"+n+"</div>"}}}else{if(this.orientation=="vertical"){var g=this._chartContainer.offset().left-this.host.offset().left;if(this.ticks.position=="both"||this.ticks.position=="far"){var q=this._chartContainer.width()}for(var h=0;h<=this._interval;h+=this.ticks.interval){var f=h*this._valueToPixelsVertical;if(h+this.ticks.interval>this._interval){f-=1}if(e){var d=(h+this._min)==0?true:false;if(d){j+="<div class='"+this.toThemeProperty("jqx-bulletchart-ticks")+" "+this.toThemeProperty("jqx-bulletchart-ticks-vertical")+" "+this.toThemeProperty("jqx-bulletchart-zero-tick")+"' style='left: "+g+"px; bottom: "+f+"px; width: "+q+"px;'></div>";e=false}}if(this.ticks.position=="both"||this.ticks.position=="near"){j+="<div class='"+this.toThemeProperty("jqx-bulletchart-ticks")+" "+this.toThemeProperty("jqx-bulletchart-ticks-vertical")+"' style='left: "+(g-b)+"px; bottom: "+f+"px; width: "+b+"px;'></div>";var n=this._labelValue(h,"near");o.html(n);var p=o.height()/2-1;j+="<div class='"+this.toThemeProperty("jqx-bulletchart-labels")+"' style='left: "+(g-(b+o.width()+2))+"px; bottom: "+(f-p)+"px;'>"+n+"</div>"}if(this.ticks.position=="both"||this.ticks.position=="far"){j+="<div class='"+this.toThemeProperty("jqx-bulletchart-ticks")+" "+this.toThemeProperty("jqx-bulletchart-ticks-vertical")+"' style='left: "+(q+g)+"px; bottom: "+f+"px; width: "+b+"px;'></div>";var n=this._labelValue(h,"far");o.html(n);var p=o.height()/2-1;j+="<div class='"+this.toThemeProperty("jqx-bulletchart-labels")+"' style='left: "+(q+g+b+2)+"px; bottom: "+(f-p)+"px;'>"+n+"</div>"}}}}this.host.append(j);o.remove()},_labelValue:function(d,b){var e=d+this._min;var c;if(this.labelsFormatFunction){c=this.labelsFormatFunction(e,b)}else{c=a.jqx.dataFormat.formatnumber(e,this.labelsFormat)}return c},_initializeTooltip:function(){var c=this;var d=this._tooltipContent();this.host.jqxTooltip({theme:this.theme,position:"mouse",content:d,trigger:"none",autoHide:false,rtl:this.rtl});this.host.jqxTooltip("getInstance").val=a.proxy(this.val,this);var b=a("#"+this.element.id+"Pointer, #"+this.element.id+"Target");this.addHandler(b,"mouseenter.bulletchart"+this.element.id,function(e){if(c.disabled==false){c.host.jqxTooltip("open",e.pageX,e.pageY);if(e.target.id==c.element.id+"Pointer"&&c.pointer.color==""||e.target.id==c.element.id+"Target"&&c.target.color==""){a(e.target).removeClass(c.toThemeProperty("jqx-fill-state-pressed"));a(e.target).addClass(c.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(b,"mouseleave.bulletchart"+this.element.id,function(e){if(c.disabled==false){c.host.jqxTooltip("close");if(e.target.id==c.element.id+"Pointer"&&c.pointer.color==""||e.target.id==c.element.id+"Target"&&c.target.color==""){a(e.target).removeClass(c.toThemeProperty("jqx-fill-state-hover"));a(e.target).addClass(c.toThemeProperty("jqx-fill-state-pressed"))}}})},_updateTooltip:function(){this.host.jqxTooltip({content:this._tooltipContent()})},_tooltipContent:function(){var c;if(this.tooltipFormatFunction){c=this.tooltipFormatFunction(this.pointer.value,this.target.value)}else{var b=a.jqx.dataFormat.formatnumber(this.pointer.value,this.labelsFormat);var d=a.jqx.dataFormat.formatnumber(this.target.value,this.labelsFormat);c="<div>"+this.pointer.label+": "+b+"</div><div>"+this.target.label+": "+d+"</div>"}return c},_updateValue:function(m,d,k){var j=this;var c=a("#"+this.element.id+"Pointer");var g,h,l,n;var f=function(p,r,q){if(j._min>=0){if(p=="vertical"){c.css("bottom",0)}else{if(j.rtl==true&&p=="horizontal"){c.css("right",0)}}g=(m-j._min)*r}else{if(m>=0){if(p=="horizontal"){if(j.rtl==true){h="right";l="left"}else{h="left"}}else{if(p=="vertical"){h="bottom";l="top"}}var o=-j._min*r}else{if(p=="horizontal"){if(j.rtl==true){h="left"}else{h="right";l="left"}}else{if(p=="vertical"){h="top"}}var o=q+j._min*r}c.css(h,o);if(l){c.css(l,"")}if(m*d<0){if(p=="horizontal"){c.width(0)}else{if(p=="vertical"){c.height(0)}}}g=Math.abs(m*r)}return g};var i=function(){if(!k){j._raiseEvent("0")}};if(this.orientation=="horizontal"){var e=f("horizontal",this._valueToPixelsHorizontal,this._chartContainer.width());setTimeout(function(){c.animate({width:e},j.animationDuration,i)},0)}else{if(this.orientation=="vertical"){var b=f("vertical",this._valueToPixelsVertical,this._chartContainer.height());setTimeout(function(){c.animate({height:b},j.animationDuration,i)},0)}}},_checkPercentage:function(f,d){var c=-1;if(f.indexOf){c=f.indexOf("%")}var g=function(h){if(!f.indexOf||f.indexOf("px")==-1){return h}else{return parseFloat(h.slice(0,f.indexOf("px")))}};var e=function(h){return parseFloat(h.slice(0,c))};if(c==-1){var b;if(this.orientation=="horizontal"){b=d.height()}else{if(this.orientation=="vertical"){b=d.width()}}return((b-g(f))/2)+"px"}else{return((100-e(f))/2)+"%"}},_normaliseValue:function(b){if(!b.indexOf||(b.indexOf("px")==-1&&b.indexOf("%")==-1)){return b+"px"}else{return b}}})})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxButtonGroup","",{});a.extend(a.jqx._jqxButtonGroup.prototype,{defineInstance:function(){var b={mode:"default",roundedCorners:true,disabled:false,enableHover:false,orientation:"horizontal",width:null,height:null,_eventsMap:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend")},_events:["selected","unselected","buttonclick"],_buttonId:{},_selected:null,_pressed:null,rtl:false,template:"",_baseId:"group_button",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButtonGroup.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(c);c._baseId=c._baseId+c.element.id;c.addHandler(c.host,"selectstart",function(d){if(!c.disabled){d.preventDefault()}})},refresh:function(){var b=this;if(b.width){if(b.width.toString()&&b.width.toString().indexOf("%")>=0){b.element.style.width=b.width}else{b.host.width(b.width)}}if(b.height){b.host.height(b.height)}b._refreshButtons()},render:function(){this.refresh()},resize:function(){this.refresh()},_getEvent:function(c){var b=this;if(b._isTouchDevice){var d=b._eventsMap[c]||c;d+="."+b.element.id;return d}c+="."+b.element.id;return c},_refreshButtons:function(){var f=this;if(f.lastElement){f.lastElement.remove()}f.lastElement=a("<div style='clear: both;'></div>");var c=f.host.children(),e=c.length,g;switch(f.mode){case"radio":f.host.attr("role","radiogroup");break;case"checkbox":case"default":f.host.attr("role","group");break}var d=new Number(100/e).toFixed(2);for(var b=0;b<e;b+=1){g=a(c[b]);if(f.width){if(f.orientation==="horizontal"){g.css("width",d+"%");g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("white-space","nowrap");g.css("text-overflow","ellipsis");g.css("overflow","hidden")}else{g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("width","100%")}}f._refreshButton(g,b,e)}f.lastElement.appendTo(f.host)},_refreshButton:function(c,b,d){(function(e){var f=this;e=f._render(e);f._removeStyles(e);f._addStyles(e,b,d);f._performLayout(e);f._removeButtonListeners(e);f._addButtonListeners(e);f._handleButtonId(e,b);if(f.mode==="radio"){e.attr("role","radio")}else{e.attr("role","button")}e.attr("disabled",f.disabled);if(f.disabled){e.addClass(f.toThemeProperty("jqx-fill-state-disabled"))}else{e.removeClass(f.toThemeProperty("jqx-fill-state-disabled"))}}).apply(this,[c])},destroy:function(b){var f=this;var d=f.host.children(),e=d.length,g;for(var c=0;c<e;c+=1){g=a(d[c]);f._removeStyles(g);f._removeButtonListeners(g)}if(b!==false){f.host.remove()}},_render:function(b){var c=this;if(b[0].tagName.toLowerCase()==="button"){return c._renderFromButton(b)}else{return c._renderButton(b)}},_renderButton:function(b){var c;b.wrapInner("<div/>");return b},_removeStyles:function(b){var c=this;var d=c.toThemeProperty;c.host.removeClass("jqx-widget");c.host.removeClass("jqx-rc-all");b.removeClass(d.call(this,"jqx-fill-state-normal"));b.removeClass(d.call(this,"jqx-group-button-normal"));b.removeClass(d.call(this,"jqx-rc-tl"));b.removeClass(d.call(this,"jqx-rc-bl"));b.removeClass(d.call(this,"jqx-rc-tr"));b.removeClass(d.call(this,"jqx-rc-br"));b.css("margin-left",0)},_addStyles:function(c,b,e){var d=this;var f=this.toThemeProperty;d.host.addClass(f.call(this,"jqx-widget"));d.host.addClass(f.call(this,"jqx-rc-all"));d.host.addClass(f.call(this,"jqx-buttongroup"));c.addClass(f.call(this,"jqx-button"));c.addClass(f.call(this,"jqx-group-button-normal"));c.addClass(f.call(this,"jqx-fill-state-normal"));if(d.template){c.addClass(f.call(this,"jqx-"+d.template))}if(d.roundedCorners){if(b===0){d._addRoundedCorners(c,true)}else{if(b===e-1){d._addRoundedCorners(c,false)}}}if(d.orientation==="horizontal"){c.css("margin-left",-parseInt(c.css("border-left-width"),10))}else{c.css("margin-top",-parseInt(c.css("border-left-width"),10))}},_addRoundedCorners:function(b,d){var c=this;var e=c.toThemeProperty;if(c.orientation==="horizontal"){if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-bl"))}else{b.addClass(e.call(this,"jqx-rc-tr"));b.addClass(e.call(this,"jqx-rc-br"))}}else{if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-tr"))}else{b.addClass(e.call(this,"jqx-rc-bl"));b.addClass(e.call(this,"jqx-rc-br"))}}},_centerContent:function(c,b){c.css({"margin-top":(b.height()-c.height())/2,"margin-left":(b.width()-c.width())/2});return c},_renderFromButton:function(b){var c=b.val();if(c===""){c=b.html()}var e;var d=b[0].id;b.wrap("<div/>");e=b.parent();e.attr("style",b.attr("style"));b.remove();a.jqx.utilities.html(e,c);e[0].id=d;return e},_performLayout:function(b){if(this.orientation==="horizontal"){if(this.rtl){b.css("float","right")}else{b.css("float","left")}}else{b.css("float","none")}this._centerContent(a(b.children()),b)},_mouseEnterHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-hover"));c.addClass(f.call(b,"jqx-fill-state-hover"))},_mouseLeaveHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.removeClass(f.call(b,"jqx-group-button-hover"));c.removeClass(f.call(b,"jqx-fill-state-hover"))},_mouseDownHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._pressed=c;var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-pressed"));c.addClass(f.call(b,"jqx-fill-state-pressed"))},_mouseUpHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._handleSelection(c);b._pressed=null;c=b._buttonId[c[0].id];b._raiseEvent(2,{index:c.num,button:c.btn})},_isDisabled:function(b){if(!b||!b[0]){return false}return this._buttonId[b[0].id].disabled},_documentUpHandler:function(d){var b=d.data.self,c=b._pressed;if(c&&!b._buttonId[c[0].id].selected){c.removeClass(b.toThemeProperty("jqx-fill-state-pressed"));b._pressed=null}},_addButtonListeners:function(c){var e=this;var b=e.addHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler,{self:e});b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler,{self:e});b(c,d.call(e,"mousedown"),e._mouseDownHandler,{self:e});b(c,d.call(e,"mouseup"),e._mouseUpHandler,{self:e});b(a(document),d.call(e,"mouseup"),e._documentUpHandler,{self:e})},_removeButtonListeners:function(c){var e=this;var b=e.removeHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler);b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler);b(c,d.call(e,"mousedown"),e._mouseDownHandler);b(c,d.call(e,"mouseup"),e._mouseUpHandler);b(a(document),d.call(e,"mouseup"),e._documentUpHandler)},_handleSelection:function(b){var c=this;if(c.mode==="radio"){c._handleRadio(b)}else{if(c.mode==="checkbox"){c._handleCheckbox(b)}else{c._handleDefault(b)}}},_handleRadio:function(b){var d=this;var c=d._getSelectedButton();if(c&&c.btn[0].id!==b[0].id){d._unselectButton(c.btn,true)}for(var e in d._buttonId){d._buttonId[e].selected=true;d._unselectButton(d._buttonId[e].btn,false)}d._selectButton(b,true)},_handleCheckbox:function(c){var d=this;var b=d._buttonId[c[0].id];if(b.selected){d._unselectButton(b.btn,true)}else{d._selectButton(c,true)}},_handleDefault:function(b){var c=this;c._selectButton(b,false);for(var d in c._buttonId){c._buttonId[d].selected=true;c._unselectButton(c._buttonId[d].btn,false)}},_getSelectedButton:function(){var b=this;for(var c in b._buttonId){if(b._buttonId[c].selected){return b._buttonId[c]}}return null},_getSelectedButtons:function(){var c=this;var b=[];for(var d in c._buttonId){if(c._buttonId[d].selected){b.push(c._buttonId[d].num)}}return b},_getButtonByIndex:function(b){var c=this;var e;for(var d in c._buttonId){if(c._buttonId[d].num===b){return c._buttonId[d]}}return null},_selectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(b.selected){return}var f=d.toThemeProperty;b.btn.addClass(f.call(this,"jqx-group-button-pressed"));b.btn.addClass(f.call(this,"jqx-fill-state-pressed"));b.selected=true;if(e){d._raiseEvent(0,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",true)},_unselectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(!b.selected){return}var f=d.toThemeProperty;b.btn.removeClass(f.call(this,"jqx-group-button-pressed"));b.btn.removeClass(f.call(this,"jqx-fill-state-pressed"));b.selected=false;if(e){d._raiseEvent(1,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",false)},setSelection:function(b){var d=this;if(b===-1){d.clearSelection();return}if(d.mode==="checkbox"){if(typeof b==="number"){d._setSelection(b)}else{for(var c=0;c<b.length;c+=1){d._setSelection(b[c])}}}else{if(typeof b==="number"&&d.mode==="radio"){d._setSelection(b)}}},_setSelection:function(b){var d=this;var c=d._getButtonByIndex(b);if(c){d._handleSelection(c.btn)}},getSelection:function(){var b=this;if(b.mode==="radio"){if(b._getSelectedButton()){return b._getSelectedButton().num}}else{if(b.mode==="checkbox"){return b._getSelectedButtons()}}return undefined},disable:function(){var c=this;c.disabled=true;var d;for(var b in c._buttonId){d=c._buttonId[b];c.disableAt(d.num)}a.jqx.aria(c,"aria-disabled",true)},enable:function(){var c=this;c.disabled=false;var d;for(var b in c._buttonId){d=c._buttonId[b];c.enableAt(d.num)}a.jqx.aria(c,"aria-disabled",false)},disableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(!c.disabled){c.disabled=true;c.btn.addClass(d.toThemeProperty("jqx-fill-state-disabled"))}},enableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(c.disabled){c.disabled=false;c.btn.removeClass(d.toThemeProperty("jqx-fill-state-disabled"))}},_handleButtonId:function(b,d){var f=b[0].id,e={btn:b,num:d,selected:false},c;if(!f){f=this._baseId+b.index()}b[0].id=f;this._buttonId[f]=e;return f},_raiseEvent:function(d,c){var b=a.Event(this._events[d]);b.args=c;return this.host.trigger(b)},_unselectAll:function(){for(var b in this._buttonId){this._unselectButton(this._buttonId[b].btn,false)}},clearSelection:function(){this._unselectAll()},propertyChangedHandler:function(b,c,e,d){if(c==="theme"&&d!==null){a.jqx.utilities.setTheme(e,d,b.host)}if(c==="template"){b.refresh()}if(c==="mode"){b._unselectAll();b.refresh();return}else{if(c==="disabled"){if(d){b.disable()}else{b.enable()}}else{b.refresh()}}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxButtonGroup","",{});a.extend(a.jqx._jqxButtonGroup.prototype,{defineInstance:function(){var b={mode:"default",roundedCorners:true,disabled:false,enableHover:false,orientation:"horizontal",width:null,height:null,_eventsMap:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend")},_events:["selected","unselected","buttonclick"],_buttonId:{},_selected:null,_pressed:null,rtl:false,template:"",_baseId:"group_button",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButtonGroup.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(c);c._baseId=c._baseId+c.element.id;c.addHandler(c.host,"selectstart",function(d){if(!c.disabled){d.preventDefault()}})},refresh:function(){var b=this;if(b.width){if(b.width.toString()&&b.width.toString().indexOf("%")>=0){b.element.style.width=b.width}else{b.host.width(b.width)}}if(b.height){b.host.height(b.height)}b._refreshButtons()},render:function(){this.refresh()},resize:function(){this.refresh()},_getEvent:function(c){var b=this;if(b._isTouchDevice){var d=b._eventsMap[c]||c;d+="."+b.element.id;return d}c+="."+b.element.id;return c},_refreshButtons:function(){var f=this;if(f.lastElement){f.lastElement.remove()}f.lastElement=a("<div style='clear: both;'></div>");var c=f.host.children(),e=c.length,g;switch(f.mode){case"radio":f.host.attr("role","radiogroup");break;case"checkbox":case"default":f.host.attr("role","group");break}var d=new Number(100/e).toFixed(2);for(var b=0;b<e;b+=1){g=a(c[b]);if(f.width){if(f.orientation==="horizontal"){g.css("width",d+"%");g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("white-space","nowrap");g.css("text-overflow","ellipsis");g.css("overflow","hidden")}else{g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("width","100%")}}f._refreshButton(g,b,e)}f.lastElement.appendTo(f.host)},_refreshButton:function(c,b,d){(function(e){var f=this;e=f._render(e);f._removeStyles(e);f._addStyles(e,b,d);f._performLayout(e);f._removeButtonListeners(e);f._addButtonListeners(e);f._handleButtonId(e,b);if(f.mode==="radio"){e.attr("role","radio")}else{e.attr("role","button")}e.attr("disabled",f.disabled);if(f.disabled){e.addClass(f.toThemeProperty("jqx-fill-state-disabled"))}else{e.removeClass(f.toThemeProperty("jqx-fill-state-disabled"))}}).apply(this,[c])},destroy:function(b){var f=this;var d=f.host.children(),e=d.length,g;for(var c=0;c<e;c+=1){g=a(d[c]);f._removeStyles(g);f._removeButtonListeners(g)}if(b!==false){f.host.remove()}},_render:function(b){var c=this;if(b[0].tagName.toLowerCase()==="button"){return c._renderFromButton(b)}else{return c._renderButton(b)}},_renderButton:function(b){var c;b.wrapInner("<div/>");return b},_removeStyles:function(b){var c=this;var d=c.toThemeProperty;c.host.removeClass("jqx-widget");c.host.removeClass("jqx-rc-all");b.removeClass(d.call(this,"jqx-fill-state-normal"));b.removeClass(d.call(this,"jqx-group-button-normal"));b.removeClass(d.call(this,"jqx-rc-tl"));b.removeClass(d.call(this,"jqx-rc-bl"));b.removeClass(d.call(this,"jqx-rc-tr"));b.removeClass(d.call(this,"jqx-rc-br"));b.css("margin-left",0)},_addStyles:function(c,b,e){var d=this;var f=this.toThemeProperty;d.host.addClass(f.call(this,"jqx-widget"));d.host.addClass(f.call(this,"jqx-rc-all"));d.host.addClass(f.call(this,"jqx-buttongroup"));c.addClass(f.call(this,"jqx-button"));c.addClass(f.call(this,"jqx-group-button-normal"));c.addClass(f.call(this,"jqx-fill-state-normal"));if(d.template){c.addClass(f.call(this,"jqx-"+d.template))}if(d.roundedCorners){if(b===0){d._addRoundedCorners(c,true)}else{if(b===e-1){d._addRoundedCorners(c,false)}}}if(d.orientation==="horizontal"){c.css("margin-left",-parseInt(c.css("border-left-width"),10))}else{c.css("margin-top",-parseInt(c.css("border-left-width"),10))}},_addRoundedCorners:function(b,d){var c=this;var e=c.toThemeProperty;if(c.orientation==="horizontal"){if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-bl"))}else{b.addClass(e.call(this,"jqx-rc-tr"));b.addClass(e.call(this,"jqx-rc-br"))}}else{if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-tr"))}else{b.addClass(e.call(this,"jqx-rc-bl"));b.addClass(e.call(this,"jqx-rc-br"))}}},_centerContent:function(c,b){c.css({"margin-top":(b.height()-c.height())/2,"margin-left":(b.width()-c.width())/2});return c},_renderFromButton:function(b){var c=b.val();if(c===""){c=b.html()}var e;var d=b[0].id;b.wrap("<div/>");e=b.parent();e.attr("style",b.attr("style"));b.remove();a.jqx.utilities.html(e,c);e[0].id=d;return e},_performLayout:function(b){if(this.orientation==="horizontal"){if(this.rtl){b.css("float","right")}else{b.css("float","left")}}else{b.css("float","none")}this._centerContent(a(b.children()),b)},_mouseEnterHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-hover"));c.addClass(f.call(b,"jqx-fill-state-hover"))},_mouseLeaveHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.removeClass(f.call(b,"jqx-group-button-hover"));c.removeClass(f.call(b,"jqx-fill-state-hover"))},_mouseDownHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._pressed=c;var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-pressed"));c.addClass(f.call(b,"jqx-fill-state-pressed"))},_mouseUpHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._handleSelection(c);b._pressed=null;c=b._buttonId[c[0].id];b._raiseEvent(2,{index:c.num,button:c.btn})},_isDisabled:function(b){if(!b||!b[0]){return false}return this._buttonId[b[0].id].disabled},_documentUpHandler:function(d){var b=d.data.self,c=b._pressed;if(c&&!b._buttonId[c[0].id].selected){c.removeClass(b.toThemeProperty("jqx-fill-state-pressed"));b._pressed=null}},_addButtonListeners:function(c){var e=this;var b=e.addHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler,{self:e});b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler,{self:e});b(c,d.call(e,"mousedown"),e._mouseDownHandler,{self:e});b(c,d.call(e,"mouseup"),e._mouseUpHandler,{self:e});b(a(document),d.call(e,"mouseup"),e._documentUpHandler,{self:e})},_removeButtonListeners:function(c){var e=this;var b=e.removeHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler);b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler);b(c,d.call(e,"mousedown"),e._mouseDownHandler);b(c,d.call(e,"mouseup"),e._mouseUpHandler);b(a(document),d.call(e,"mouseup"),e._documentUpHandler)},_handleSelection:function(b){var c=this;if(c.mode==="radio"){c._handleRadio(b)}else{if(c.mode==="checkbox"){c._handleCheckbox(b)}else{c._handleDefault(b)}}},_handleRadio:function(b){var d=this;var c=d._getSelectedButton();if(c&&c.btn[0].id!==b[0].id){d._unselectButton(c.btn,true)}for(var e in d._buttonId){d._buttonId[e].selected=true;d._unselectButton(d._buttonId[e].btn,false)}d._selectButton(b,true)},_handleCheckbox:function(c){var d=this;var b=d._buttonId[c[0].id];if(b.selected){d._unselectButton(b.btn,true)}else{d._selectButton(c,true)}},_handleDefault:function(b){var c=this;c._selectButton(b,false);for(var d in c._buttonId){c._buttonId[d].selected=true;c._unselectButton(c._buttonId[d].btn,false)}},_getSelectedButton:function(){var b=this;for(var c in b._buttonId){if(b._buttonId[c].selected){return b._buttonId[c]}}return null},_getSelectedButtons:function(){var c=this;var b=[];for(var d in c._buttonId){if(c._buttonId[d].selected){b.push(c._buttonId[d].num)}}return b},_getButtonByIndex:function(b){var c=this;var e;for(var d in c._buttonId){if(c._buttonId[d].num===b){return c._buttonId[d]}}return null},_selectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(b.selected){return}var f=d.toThemeProperty;b.btn.addClass(f.call(this,"jqx-group-button-pressed"));b.btn.addClass(f.call(this,"jqx-fill-state-pressed"));b.selected=true;if(e){d._raiseEvent(0,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",true)},_unselectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(!b.selected){return}var f=d.toThemeProperty;b.btn.removeClass(f.call(this,"jqx-group-button-pressed"));b.btn.removeClass(f.call(this,"jqx-fill-state-pressed"));b.selected=false;if(e){d._raiseEvent(1,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",false)},setSelection:function(b){var d=this;if(b===-1){d.clearSelection();return}if(d.mode==="checkbox"){if(typeof b==="number"){d._setSelection(b)}else{for(var c=0;c<b.length;c+=1){d._setSelection(b[c])}}}else{if(typeof b==="number"&&d.mode==="radio"){d._setSelection(b)}}},_setSelection:function(b){var d=this;var c=d._getButtonByIndex(b);if(c){d._handleSelection(c.btn)}},getSelection:function(){var b=this;if(b.mode==="radio"){if(b._getSelectedButton()){return b._getSelectedButton().num}}else{if(b.mode==="checkbox"){return b._getSelectedButtons()}}return undefined},disable:function(){var c=this;c.disabled=true;var d;for(var b in c._buttonId){d=c._buttonId[b];c.disableAt(d.num)}a.jqx.aria(c,"aria-disabled",true)},enable:function(){var c=this;c.disabled=false;var d;for(var b in c._buttonId){d=c._buttonId[b];c.enableAt(d.num)}a.jqx.aria(c,"aria-disabled",false)},disableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(!c.disabled){c.disabled=true;c.btn.addClass(d.toThemeProperty("jqx-fill-state-disabled"))}},enableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(c.disabled){c.disabled=false;c.btn.removeClass(d.toThemeProperty("jqx-fill-state-disabled"))}},_handleButtonId:function(b,d){var f=b[0].id,e={btn:b,num:d,selected:false},c;if(!f){f=this._baseId+b.index()}b[0].id=f;this._buttonId[f]=e;return f},_raiseEvent:function(d,c){var b=a.Event(this._events[d]);b.args=c;return this.host.trigger(b)},_unselectAll:function(){for(var b in this._buttonId){this._unselectButton(this._buttonId[b].btn,false)}},clearSelection:function(){this._unselectAll()},propertyChangedHandler:function(b,c,e,d){if(c==="theme"&&d!==null){a.jqx.utilities.setTheme(e,d,b.host)}if(c==="rtl"){b.refresh()}if(c==="template"){b.refresh()}if(c==="mode"){b._unselectAll();b.refresh();return}else{if(c==="disabled"){if(d){b.disable()}else{b.enable()}}else{b.refresh()}}}})})(jqxBaseFramework);
 
-(function(a){a.jqx.cssroundedcorners=function(b){var d={all:"jqx-rc-all",top:"jqx-rc-t",bottom:"jqx-rc-b",left:"jqx-rc-l",right:"jqx-rc-r","top-right":"jqx-rc-tr","top-left":"jqx-rc-tl","bottom-right":"jqx-rc-br","bottom-left":"jqx-rc-bl"};for(var c in d){if(!d.hasOwnProperty(c)){continue}if(b==c){return d[c]}}};a.jqx.jqxWidget("jqxButton","",{});a.extend(a.jqx._jqxButton.prototype,{defineInstance:function(){var b={type:"",cursor:"arrow",roundedCorners:"all",disabled:false,height:null,width:null,overrideTheme:false,enableHover:true,enableDefault:true,enablePressed:true,imgPosition:"center",imgSrc:"",imgWidth:16,imgHeight:16,value:null,textPosition:"",textImageRelation:"overlay",rtl:false,_ariaDisabled:false,_scrollAreaButton:false,template:"default",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButton.prototype){return b}a.extend(true,this,b);return b},_addImage:function(c){var g=this;if(g.element.nodeName.toLowerCase()=="input"||g.element.nodeName.toLowerCase()=="button"||g.element.nodeName.toLowerCase()=="div"){if(!g._img){g.field=g.element;if(g.field.className){g._className=g.field.className}var i={title:g.field.title};var j=null;if(g.field.getAttribute("value")){var j=g.field.getAttribute("value")}else{if(g.element.nodeName.toLowerCase()!="input"){var j=g.element.innerHTML}}if(g.value){j=g.value}if(g.field.id.length){i.id=g.field.id.replace(/[^\w]/g,"_")+"_"+c}else{i.id=a.jqx.utilities.createId()+"_"+c}var b=document.createElement("div");b.id=i.id;b.title=i.title;b.style.cssText=g.field.style.cssText;b.style.boxSizing="border-box";var f=document.createElement("img");f.setAttribute("src",g.imgSrc);f.setAttribute("width",g.imgWidth);f.setAttribute("height",g.imgHeight);b.appendChild(f);g._img=f;var l=document.createElement("span");if(j){l.innerHTML=j;g.value=j}b.appendChild(l);g._text=l;g.field.style.display="none";if(g.field.parentNode){g.field.parentNode.insertBefore(b,g.field.nextSibling)}var e=g.host.data();g.host=a(b);g.host.data(e);g.element=b;g.element.id=g.field.id;g.field.id=i.id;var k=new a(g.element);var h=new a(g.field);if(g._className){k.addClass(g._className);h.removeClass(g._className)}if(g.field.tabIndex){var d=g.field.tabIndex;g.field.tabIndex=-1;g.element.tabIndex=d}}else{g._img.setAttribute("src",g.imgSrc);g._img.setAttribute("width",g.imgWidth);g._img.setAttribute("height",g.imgHeight);g._text.innerHTML=g.value}if(!g.imgSrc){g._img.style.display="none"}else{g._img.style.display="inline"}if(!g.value){g._text.style.display="none"}else{g._text.style.display="inline"}g._positionTextAndImage()}},_positionTextAndImage:function(){var k=this;var r=k.element.offsetWidth;var q=k.element.offsetHeight;var m=k.imgWidth;var v=k.imgHeight;if(k.imgSrc==""){m=0;v=0}var f=k._text.offsetWidth;var b=k._text.offsetHeight;var i=4;var c=4;var l=4;var n=0;var u=0;switch(k.textImageRelation){case"imageBeforeText":case"textBeforeImage":n=m+f+2*l+i+2*c;u=Math.max(v,b)+2*l+i+2*c;break;case"imageAboveText":case"textAboveImage":n=Math.max(m,f)+2*l;u=v+b+i+2*l+2*c;break;case"overlay":n=Math.max(m,f)+2*l;u=Math.max(v,b)+2*l;break}if(!k.width){k.element.style.width=n+"px";r=n}if(!k.height){k.element.style.height=u+"px";q=u}k._img.style.position="absolute";k._text.style.position="absolute";k.element.style.position="relative";k.element.style.overflow="hidden";var e={};var z={};var s=function(E,D,G,C,F){if(D.width<C){D.width=C}if(D.height<F){D.height=F}switch(G){case"left":E.style.left=D.left+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topLeft":E.style.left=D.left+"px";E.style.top=D.top+"px";break;case"bottomLeft":E.style.left=D.left+"px";E.style.top=D.top+D.height-F+"px";break;default:case"center":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"top":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+"px";break;case"bottom":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height-F+"px";break;case"right":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+"px";break;case"bottomRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height-F+"px";break}};var g=0;var p=0;var x=r;var j=q;var A=(x-g)/2;var y=(j-p)/2;var B=k._img;var o=k._text;var t=j-p;var d=x-g;g+=c;p+=c;x=x-c-2;d=d-2*c-2;t=t-2*c-2;switch(k.textImageRelation){case"imageBeforeText":switch(k.imgPosition){case"left":case"topLeft":case"bottomLeft":z={left:g,top:p,width:g+m,height:t};e={left:g+m+i,top:p,width:d-m-i,height:t};break;case"center":case"top":case"bottom":z={left:A-f/2-m/2-i/2,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break;case"right":case"topRight":case"bottomRight":z={left:x-f-m-i,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textBeforeImage":switch(k.textPosition){case"left":case"topLeft":case"bottomLeft":e={left:g,top:p,width:g+f,height:t};z={left:g+f+i,top:p,width:d-f-i,height:t};break;case"center":case"top":case"bottom":e={left:A-f/2-m/2-i/2,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break;case"right":case"topRight":case"bottomRight":e={left:x-f-m-i,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"imageAboveText":switch(k.imgPosition){case"topRight":case"top":case"topLeft":z={left:g,top:p,width:d,height:v};e={left:g,top:p+v+i,width:d,height:t-v-i};break;case"left":case"center":case"right":z={left:g,top:y-v/2-b/2-i/2,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:t-z.top-i-v};break;case"bottomLeft":case"bottom":case"bottomRight":z={left:g,top:j-v-b-i,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:b};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textAboveImage":switch(k.textPosition){case"topRight":case"top":case"topLeft":e={left:g,top:p,width:d,height:b};z={left:g,top:p+b+i,width:d,height:t-b-i};break;case"left":case"center":case"right":e={left:g,top:y-v/2-b/2-i/2,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:t-e.top-i-b};break;case"bottomLeft":case"bottom":case"bottomRight":e={left:g,top:j-v-b-i,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:v};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"overlay":default:e={left:g,top:p,width:d,height:t};z={left:g,top:p,width:d,height:t};s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break}},createInstance:function(d){var e=this;e._setSize();var b=e.isMaterialized();e.buttonObj=new a(e.element);if(e.imgSrc!=""||e.textPosition!=""||(e.element.value&&e.element.value.indexOf("<")>=0)||e.value!=null){e.refresh();e._addImage("jqxButton");e.buttonObj=new a(e.element)}if(!e._ariaDisabled){e.element.setAttribute("role","button")}if(e.type!==""){e.element.setAttribute("type",e.type)}if(!e.overrideTheme){e.buttonObj.addClass(e.toThemeProperty(a.jqx.cssroundedcorners(e.roundedCorners)));if(e.enableDefault){e.buttonObj.addClass(e.toThemeProperty("jqx-button"))}e.buttonObj.addClass(e.toThemeProperty("jqx-widget"))}e.isTouchDevice=a.jqx.mobile.isTouchDevice();if(!e._ariaDisabled){a.jqx.aria(this)}if(e.cursor!="arrow"){if(!e.disabled){e.element.style.cursor=e.cursor}else{e.element.style.cursor="arrow"}}var g="mouseenter mouseleave mousedown focus blur";if(e._scrollAreaButton){var g="mousedown"}if(e.isTouchDevice){e.addHandler(e.host,a.jqx.mobile.getTouchEventName("touchstart"),function(h){e.isPressed=true;e.refresh()});e.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+e.element.id,function(h){e.isPressed=false;e.refresh()})}e.addHandler(e.host,g,function(h){switch(h.type){case"mouseenter":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=true;e.refresh()}}break;case"mouseleave":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=false;e.refresh()}}break;case"mousedown":if(!e.disabled){e.isPressed=true;e.refresh()}break;case"focus":if(!e.disabled){e.isFocused=true;e.refresh()}break;case"blur":if(!e.disabled){e.isFocused=false;e.refresh()}break}});e.mouseupfunc=function(h){if(!e.disabled){if(e.isPressed||e.isMouseOver){e.isPressed=false;e.refresh()}}};e.addHandler(document,"mouseup.button"+e.element.id,e.mouseupfunc);try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.that){var f="";if(window.parent&&document.referrer){f=document.referrer}if(f.indexOf(document.location.host)!=-1){if(window.top.document){window.top.document.addEventListener("mouseup",e._topDocumentMouseupHandler)}}}}}catch(c){}e.propertyChangeMap.roundedCorners=function(h,j,i,k){h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(i)));h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(k)))};e.propertyChangeMap.disabled=function(h,j,i,k){if(i!=k){h.refresh();h.element.setAttribute("disabled",k);h.element.disabled=k;if(!k){h.element.style.cursor=h.cursor}else{h.element.style.cursor="default"}a.jqx.aria(h,"aria-disabled",h.disabled)}};e.propertyChangeMap.rtl=function(h,j,i,k){if(i!=k){h.refresh()}};e.propertyChangeMap.template=function(h,j,i,k){if(i!=k){h.buttonObj.removeClass(h.toThemeProperty("jqx-"+i));h.refresh()}};e.propertyChangeMap.theme=function(h,j,i,k){h.buttonObj.removeClass(h.element);if(i){h.buttonObj.removeClass("jqx-button-"+i);h.buttonObj.removeClass("jqx-widget-"+i);h.buttonObj.removeClass("jqx-fill-state-normal-"+i);h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners))+"-"+i)}if(h.enableDefault){h.buttonObj.addClass(h.toThemeProperty("jqx-button"))}h.buttonObj.addClass(h.toThemeProperty("jqx-widget"));if(!h.overrideTheme){h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners)))}h._oldCSSCurrent=null;h.refresh()};if(e.disabled){e.element.disabled=true;e.element.setAttribute("disabled","true")}},resize:function(c,b){this.width=c;this.height=b;this._setSize()},val:function(d){var c=this;var b=c.host.find("input");if(b.length>0){if(arguments.length==0||typeof(d)=="object"){return b.val()}b.val(d);c.refresh();return b.val()}if(arguments.length==0||typeof(d)=="object"){if(c.element.nodeName.toLowerCase()=="button"){return a(c.element).text()}return c.element.value}if(arguments.length>0&&c._text){c._text.innerHTML=arguments[0];c.refresh();return}else{if(arguments.length>0&&c.element.nodeName==="DIV"){c.element.innerHTML=arguments[0];c.refresh()}}c.element.value=arguments[0];if(c.element.nodeName.toLowerCase()=="button"){a(c.element).html(arguments[0])}c.refresh()},_setSize:function(){var d=this;var b=d.height;var c=d.width;if(b){if(!isNaN(b)){b=b+"px"}d.element.style.height=b}if(c){if(!isNaN(c)){c=c+"px"}d.element.style.width=c}},_removeHandlers:function(){var b=this;b.removeHandler(b.host,"selectstart");b.removeHandler(b.host,"click");b.removeHandler(b.host,"focus");b.removeHandler(b.host,"blur");b.removeHandler(b.host,"mouseenter");b.removeHandler(b.host,"mouseleave");b.removeHandler(b.host,"mousedown");b.removeHandler(a(document),"mouseup.button"+b.element.id,b.mouseupfunc);window.top.document.removeEventListener("mouseup",b._topDocumentMouseupHandler);if(b.isTouchDevice){b.removeHandler(b.host,a.jqx.mobile.getTouchEventName("touchstart"));b.removeHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+b.element.id)}b.mouseupfunc=null;delete b.mouseupfunc},focus:function(){this.host.focus()},destroy:function(){var b=this;b._removeHandlers();var c=a.data(b.element,"jqxButton");if(c){delete c.instance}b.host.removeClass();b.host.removeData();b.host.remove();delete b.set;delete b.get;delete b.call;delete b.element;delete b.host},render:function(){this.refresh()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d._setSize();d.refresh()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(d==e){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c==="type"){b.element.setAttribute("type",d)}if(c=="textImageRelation"||c=="textPosition"||c=="imgPosition"){if(b._img){b._positionTextAndImage()}else{b._addImage("jqxButton")}}if(c=="imgSrc"||c=="imgWidth"||c=="imgHeight"){b._addImage("jqxButton")}if(c==="value"){b.val(d)}if(c=="width"||c=="height"){b._setSize();b.refresh()}},refresh:function(){var c=this;if(c.overrideTheme){return}var e=c.toThemeProperty("jqx-fill-state-focus");var i=c.toThemeProperty("jqx-fill-state-disabled");var b=c.toThemeProperty("jqx-fill-state-normal");if(!c.enableDefault){b=""}var h=c.toThemeProperty("jqx-fill-state-hover");var f=c.toThemeProperty("jqx-fill-state-pressed");var g=c.toThemeProperty("jqx-fill-state-pressed");if(!c.enablePressed){f=""}var d="";if(!c.host){return}c.element.disabled=c.disabled;if(c.disabled){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}d=b+" "+i;if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}c.buttonObj.addClass(d);c._oldCSSCurrent=d;return}else{if(c.isMouseOver&&!c.isTouchDevice){if(c.isPressed){d=g}else{d=h}}else{if(c.isPressed){d=f}else{d=b}}}if(c.isFocused){d+=" "+e}if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}if(d!=c._oldCSSCurrent){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}c.buttonObj.addClass(d);c._oldCSSCurrent=d}if(c.rtl){c.buttonObj.addClass(c.toThemeProperty("jqx-rtl"));c.element.style.direction="rtl"}if(c.isMaterialized()){c.host.addClass("buttonRipple")}}});a.jqx.jqxWidget("jqxLinkButton","",{});a.extend(a.jqx._jqxLinkButton.prototype,{defineInstance:function(){this.disabled=false;this.height=null;this.width=null;this.rtl=false;this.href=null},createInstance:function(c){var f=this;this.host.onselectstart=function(){return false};this.host.attr("role","button");var b=this.height||this.element.offsetHeight;var d=this.width||this.element.offsetWidth;this.href=this.element.getAttribute("href");this.target=this.element.getAttribute("target");this.content=this.host.text();this.element.innerHTML="";var g=document.createElement("input");g.type="button";g.className="jqx-wrapper "+this.toThemeProperty("jqx-reset");this._setSize(g,d,b);g.value=this.content;var e=new a(this.element);e.addClass(this.toThemeProperty("jqx-link"));this.element.style.color="inherit";this.element.appendChild(g);this._setSize(g,d,b);var h=c==undefined?{}:c[0]||{};a(g).jqxButton(h);this.wrapElement=g;if(this.disabled){this.element.disabled=true}this.propertyChangeMap.disabled=function(i,k,j,l){i.element.disabled=l;i.wrapElement.jqxButton({disabled:l})};this.addHandler(a(g),"click",function(i){if(!this.disabled){f.onclick(i)}return false})},_setSize:function(c,d,b){var e=this;if(b){if(!isNaN(b)){b=b+"px"}c.style.height=b}if(d){if(!isNaN(d)){d=d+"px"}c.style.width=d}},onclick:function(b){if(this.target!=null){window.open(this.href,this.target)}else{window.location=this.href}}});a.jqx.jqxWidget("jqxRepeatButton","jqxButton",{});a.extend(a.jqx._jqxRepeatButton.prototype,{defineInstance:function(){this.delay=50},createInstance:function(d){var e=this;var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var f=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.addHandler(a(document),b,function(g){if(e.timeout!=null){clearTimeout(e.timeout);e.timeout=null;e.refresh()}if(e.timer!=undefined){clearInterval(e.timer);e.timer=null;e.refresh()}});this.addHandler(this.base.host,f,function(g){if(e.timer!=null){clearInterval(e.timer)}e.timeout=setTimeout(function(){clearInterval(e.timer);e.timer=setInterval(function(h){e.ontimer(h)},e.delay)},150)});this.mousemovefunc=function(g){if(!c){if(g.which==0){if(e.timer!=null){clearInterval(e.timer);e.timer=null}}}};this.addHandler(this.base.host,"mousemove",this.mousemovefunc)},destroy:function(){var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var e=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.removeHandler(this.base.host,"mousemove",this.mousemovefunc);this.removeHandler(this.base.host,e);this.removeHandler(a(document),b);this.timer=null;delete this.mousemovefunc;delete this.timer;var d=a.data(this.base.element,"jqxRepeatButton");if(d){delete d.instance}a(this.base.element).removeData();this.base.destroy();delete this.base},stop:function(){clearInterval(this.timer);this.timer=null},ontimer:function(b){var b=new a.Event("click");if(this.base!=null&&this.base.host!=null){this.base.host.trigger(b)}}});a.jqx.jqxWidget("jqxToggleButton","jqxButton",{});a.extend(a.jqx._jqxToggleButton.prototype,{defineInstance:function(){this.toggled=false;this.uiToggle=true;this.aria={"aria-checked":{name:"toggled",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}}},createInstance:function(b){var c=this;c.base.overrideTheme=true;c.isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(this);c.propertyChangeMap.roundedCorners=function(d,f,e,g){d.base.buttonObj.removeClass(d.toThemeProperty(a.jqx.cssroundedcorners(e)));d.base.buttonObj.addClass(d.toThemeProperty(a.jqx.cssroundedcorners(g)))};c.propertyChangeMap.toggled=function(d,f,e,g){d.refresh()};c.propertyChangeMap.disabled=function(d,f,e,g){d.base.disabled=g;d.refresh()};c.addHandler(c.base.host,"click",function(d){if(!c.base.disabled&&c.uiToggle){c.toggle()}});if(!c.isTouchDevice){c.addHandler(c.base.host,"mouseenter",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(c.base.host,"mouseleave",function(d){if(!c.base.disabled){c.refresh()}})}c.addHandler(c.base.host,"mousedown",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(a(document),"mouseup.togglebutton"+c.base.element.id,function(d){if(!c.base.disabled){c.refresh()}})},destroy:function(){this._removeHandlers();this.base.destroy()},_removeHandlers:function(){this.removeHandler(this.base.host,"click");this.removeHandler(this.base.host,"mouseenter");this.removeHandler(this.base.host,"mouseleave");this.removeHandler(this.base.host,"mousedown");this.removeHandler(a(document),"mouseup.togglebutton"+this.base.element.id)},toggle:function(){this.toggled=!this.toggled;this.refresh();a.jqx.aria(this,"aria-checked",this.toggled)},unCheck:function(){this.toggled=false;this.refresh()},check:function(){this.toggled=true;this.refresh()},refresh:function(){var c=this;var h=c.base.toThemeProperty("jqx-fill-state-disabled");var b=c.base.toThemeProperty("jqx-fill-state-normal");if(!c.base.enableDefault){b=""}var g=c.base.toThemeProperty("jqx-fill-state-hover");var e=c.base.toThemeProperty("jqx-fill-state-pressed");var f=c.base.toThemeProperty("jqx-fill-state-pressed");var d="";c.base.element.disabled=c.base.disabled;if(c.base.disabled){d=b+" "+h;c.base.buttonObj.addClass(d);return}else{if(c.base.isMouseOver&&!c.isTouchDevice){if(c.base.isPressed||c.toggled){d=f}else{d=g}}else{if(c.base.isPressed||c.toggled){d=e}else{d=b}}}if(c.base.template!=="default"&&c.base.template!==""){d+=" jqx-"+c.base.template;if(c.base.theme!=""){d+=" jqx-"+c.template+"-"+c.base.theme}}if(c.base.buttonObj.hasClass(h)&&h!=d){c.base.buttonObj.removeClass(h)}if(c.base.buttonObj.hasClass(b)&&b!=d){c.base.buttonObj.removeClass(b)}if(c.base.buttonObj.hasClass(g)&&g!=d){c.base.buttonObj.removeClass(g)}if(c.base.buttonObj.hasClass(e)&&e!=d){c.base.buttonObj.removeClass(e)}if(c.base.buttonObj.hasClass(f)&&f!=d){c.base.buttonObj.removeClass(f)}if(!c.base.buttonObj.hasClass(d)){c.base.buttonObj.addClass(d)}},_topDocumentMouseupHandler:function(c){var b=this;b.isPressed=false;b.refresh()}})})(jqxBaseFramework);
+(function(a){a.jqx.cssroundedcorners=function(b){var d={all:"jqx-rc-all",top:"jqx-rc-t",bottom:"jqx-rc-b",left:"jqx-rc-l",right:"jqx-rc-r","top-right":"jqx-rc-tr","top-left":"jqx-rc-tl","bottom-right":"jqx-rc-br","bottom-left":"jqx-rc-bl"};for(var c in d){if(!d.hasOwnProperty(c)){continue}if(b==c){return d[c]}}};a.jqx.jqxWidget("jqxButton","",{});a.extend(a.jqx._jqxButton.prototype,{defineInstance:function(){var b={type:"",cursor:"arrow",roundedCorners:"all",disabled:false,height:null,width:null,overrideTheme:false,enableHover:true,enableDefault:true,enablePressed:true,imgPosition:"center",imgSrc:"",imgWidth:16,imgHeight:16,value:null,textPosition:"",textImageRelation:"overlay",rtl:false,_ariaDisabled:false,_scrollAreaButton:false,template:"default",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButton.prototype){return b}a.extend(true,this,b);return b},_addImage:function(c){var g=this;if(g.element.nodeName.toLowerCase()=="input"||g.element.nodeName.toLowerCase()=="button"||g.element.nodeName.toLowerCase()=="div"){if(!g._img){g.field=g.element;if(g.field.className){g._className=g.field.className}var i={title:g.field.title};var j=null;if(g.field.getAttribute("value")){var j=g.field.getAttribute("value")}else{if(g.element.nodeName.toLowerCase()!="input"){var j=g.element.innerHTML}}if(g.value){j=g.value}if(g.field.id.length){i.id=g.field.id.replace(/[^\w]/g,"_")+"_"+c}else{i.id=a.jqx.utilities.createId()+"_"+c}var b=document.createElement("div");b.id=i.id;b.title=i.title;b.style.cssText=g.field.style.cssText;b.style.boxSizing="border-box";var f=document.createElement("img");f.setAttribute("src",g.imgSrc);f.setAttribute("width",g.imgWidth);f.setAttribute("height",g.imgHeight);b.appendChild(f);g._img=f;var l=document.createElement("span");if(j){l.innerHTML=j;g.value=j}b.appendChild(l);g._text=l;g.field.style.display="none";if(g.field.parentNode){g.field.parentNode.insertBefore(b,g.field.nextSibling)}var e=g.host.data();g.host=a(b);g.host.data(e);g.element=b;g.element.id=g.field.id;g.field.id=i.id;var k=new a(g.element);var h=new a(g.field);if(g._className){k.addClass(g._className);h.removeClass(g._className)}if(g.field.tabIndex){var d=g.field.tabIndex;g.field.tabIndex=-1;g.element.tabIndex=d}}else{g._img.setAttribute("src",g.imgSrc);g._img.setAttribute("width",g.imgWidth);g._img.setAttribute("height",g.imgHeight);g._text.innerHTML=g.value}if(!g.imgSrc){g._img.style.display="none"}else{g._img.style.display="inline"}if(!g.value){g._text.style.display="none"}else{g._text.style.display="inline"}g._positionTextAndImage()}},_positionTextAndImage:function(){var k=this;var r=k.element.offsetWidth;var q=k.element.offsetHeight;var m=k.imgWidth;var v=k.imgHeight;if(k.imgSrc==""){m=0;v=0}var f=k._text.offsetWidth;var b=k._text.offsetHeight;var i=4;var c=4;var l=4;var n=0;var u=0;switch(k.textImageRelation){case"imageBeforeText":case"textBeforeImage":n=m+f+2*l+i+2*c;u=Math.max(v,b)+2*l+i+2*c;break;case"imageAboveText":case"textAboveImage":n=Math.max(m,f)+2*l;u=v+b+i+2*l+2*c;break;case"overlay":n=Math.max(m,f)+2*l;u=Math.max(v,b)+2*l;break}if(!k.width){k.element.style.width=n+"px";r=n}if(!k.height){k.element.style.height=u+"px";q=u}k._img.style.position="absolute";k._text.style.position="absolute";k.element.style.position="relative";k.element.style.overflow="hidden";var e={};var z={};var s=function(E,D,G,C,F){if(D.width<C){D.width=C}if(D.height<F){D.height=F}switch(G){case"left":E.style.left=D.left+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topLeft":E.style.left=D.left+"px";E.style.top=D.top+"px";break;case"bottomLeft":E.style.left=D.left+"px";E.style.top=D.top+D.height-F+"px";break;default:case"center":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"top":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+"px";break;case"bottom":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height-F+"px";break;case"right":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+"px";break;case"bottomRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height-F+"px";break}};var g=0;var p=0;var x=r;var j=q;var A=(x-g)/2;var y=(j-p)/2;var B=k._img;var o=k._text;var t=j-p;var d=x-g;g+=c;p+=c;x=x-c-2;d=d-2*c-2;t=t-2*c-2;switch(k.textImageRelation){case"imageBeforeText":switch(k.imgPosition){case"left":case"topLeft":case"bottomLeft":z={left:g,top:p,width:g+m,height:t};e={left:g+m+i,top:p,width:d-m-i,height:t};break;case"center":case"top":case"bottom":z={left:A-f/2-m/2-i/2,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break;case"right":case"topRight":case"bottomRight":z={left:x-f-m-i,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textBeforeImage":switch(k.textPosition){case"left":case"topLeft":case"bottomLeft":e={left:g,top:p,width:g+f,height:t};z={left:g+f+i,top:p,width:d-f-i,height:t};break;case"center":case"top":case"bottom":e={left:A-f/2-m/2-i/2,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break;case"right":case"topRight":case"bottomRight":e={left:x-f-m-i,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"imageAboveText":switch(k.imgPosition){case"topRight":case"top":case"topLeft":z={left:g,top:p,width:d,height:v};e={left:g,top:p+v+i,width:d,height:t-v-i};break;case"left":case"center":case"right":z={left:g,top:y-v/2-b/2-i/2,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:t-z.top-i-v};break;case"bottomLeft":case"bottom":case"bottomRight":z={left:g,top:j-v-b-i,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:b};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textAboveImage":switch(k.textPosition){case"topRight":case"top":case"topLeft":e={left:g,top:p,width:d,height:b};z={left:g,top:p+b+i,width:d,height:t-b-i};break;case"left":case"center":case"right":e={left:g,top:y-v/2-b/2-i/2,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:t-e.top-i-b};break;case"bottomLeft":case"bottom":case"bottomRight":e={left:g,top:j-v-b-i,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:v};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"overlay":default:e={left:g,top:p,width:d,height:t};z={left:g,top:p,width:d,height:t};s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break}},createInstance:function(d){var e=this;e._setSize();var b=e.isMaterialized();e.buttonObj=new a(e.element);if(e.imgSrc!=""||e.textPosition!=""||(e.element.value&&e.element.value.indexOf("<")>=0)||e.value!=null){e.refresh();e._addImage("jqxButton");e.buttonObj=new a(e.element)}if(!e._ariaDisabled){e.element.setAttribute("role","button")}if(e.type!==""){e.element.setAttribute("type",e.type)}if(!e.overrideTheme){e.buttonObj.addClass(e.toThemeProperty(a.jqx.cssroundedcorners(e.roundedCorners)));if(e.enableDefault){e.buttonObj.addClass(e.toThemeProperty("jqx-button"))}e.buttonObj.addClass(e.toThemeProperty("jqx-widget"))}e.isTouchDevice=a.jqx.mobile.isTouchDevice();if(!e._ariaDisabled){a.jqx.aria(this)}if(e.cursor!="arrow"){if(!e.disabled){e.element.style.cursor=e.cursor}else{e.element.style.cursor="arrow"}}var g="mouseenter mouseleave mousedown focus blur";if(e._scrollAreaButton){var g="mousedown"}if(e.isTouchDevice){e.addHandler(e.host,a.jqx.mobile.getTouchEventName("touchstart"),function(h){e.isPressed=true;e.refresh()});e.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+e.element.id,function(h){e.isPressed=false;e.refresh()})}e.addHandler(e.host,g,function(h){switch(h.type){case"mouseenter":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=true;e.refresh()}}break;case"mouseleave":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=false;e.refresh()}}break;case"mousedown":if(!e.disabled){e.isPressed=true;e.refresh()}break;case"focus":if(!e.disabled){e.isFocused=true;e.refresh()}break;case"blur":if(!e.disabled){e.isFocused=false;e.refresh()}break}});e.mouseupfunc=function(h){if(!e.disabled){if(e.isPressed||e.isMouseOver){e.isPressed=false;e.refresh()}}};e.addHandler(document,"mouseup.button"+e.element.id,e.mouseupfunc);try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.that){var f="";if(window.parent&&document.referrer){f=document.referrer}if(f.indexOf(document.location.host)!=-1){if(window.top.document){window.top.document.addEventListener("mouseup",e._topDocumentMouseupHandler)}}}}}catch(c){}e.propertyChangeMap.roundedCorners=function(h,j,i,k){h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(i)));h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(k)))};e.propertyChangeMap.disabled=function(h,j,i,k){if(i!=k){h.refresh();h.element.setAttribute("disabled",k);h.element.disabled=k;if(!k){h.element.style.cursor=h.cursor}else{h.element.style.cursor="default"}a.jqx.aria(h,"aria-disabled",h.disabled)}};e.propertyChangeMap.rtl=function(h,j,i,k){if(i!=k){h.refresh()}};e.propertyChangeMap.template=function(h,j,i,k){if(i!=k){h.buttonObj.removeClass(h.toThemeProperty("jqx-"+i));h.refresh()}};e.propertyChangeMap.theme=function(h,j,i,k){h.buttonObj.removeClass(h.element);if(i){h.buttonObj.removeClass("jqx-button-"+i);h.buttonObj.removeClass("jqx-widget-"+i);h.buttonObj.removeClass("jqx-fill-state-normal-"+i);h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners))+"-"+i)}if(h.enableDefault){h.buttonObj.addClass(h.toThemeProperty("jqx-button"))}h.buttonObj.addClass(h.toThemeProperty("jqx-widget"));if(!h.overrideTheme){h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners)))}h._oldCSSCurrent=null;h.refresh()};if(e.disabled){e.element.disabled=true;e.element.setAttribute("disabled","true")}},resize:function(c,b){this.width=c;this.height=b;this._setSize()},val:function(d){var c=this;var b=c.host.find("input");if(b.length>0){if(arguments.length==0||typeof(d)=="object"){return b.val()}b.val(d);c.refresh();return b.val()}if(arguments.length==0||typeof(d)=="object"){if(c.element.nodeName.toLowerCase()=="button"){return a(c.element).text()}return c.element.value}if(arguments.length>0&&c._text){c._text.innerHTML=arguments[0];c.refresh();return}else{if(arguments.length>0&&c.element.nodeName==="DIV"){c.element.innerHTML=arguments[0];c.refresh()}}c.element.value=arguments[0];if(c.element.nodeName.toLowerCase()=="button"){a(c.element).html(arguments[0])}c.refresh()},_setSize:function(){var d=this;var b=d.height;var c=d.width;if(b){if(!isNaN(b)){b=b+"px"}d.element.style.height=b}if(c){if(!isNaN(c)){c=c+"px"}d.element.style.width=c}},_removeHandlers:function(){var b=this;b.removeHandler(b.host,"selectstart");b.removeHandler(b.host,"click");b.removeHandler(b.host,"focus");b.removeHandler(b.host,"blur");b.removeHandler(b.host,"mouseenter");b.removeHandler(b.host,"mouseleave");b.removeHandler(b.host,"mousedown");b.removeHandler(a(document),"mouseup.button"+b.element.id,b.mouseupfunc);if(b.isTouchDevice){b.removeHandler(b.host,a.jqx.mobile.getTouchEventName("touchstart"));b.removeHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+b.element.id)}b.mouseupfunc=null;delete b.mouseupfunc},focus:function(){this.host.focus()},destroy:function(){var b=this;b._removeHandlers();var c=a.data(b.element,"jqxButton");if(c){delete c.instance}b.host.removeClass();b.host.removeData();b.host.remove();delete b.set;delete b.get;delete b.call;delete b.element;delete b.host},render:function(){this.refresh()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d._setSize();d.refresh()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(d==e){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c==="type"){b.element.setAttribute("type",d)}if(c=="textImageRelation"||c=="textPosition"||c=="imgPosition"){if(b._img){b._positionTextAndImage()}else{b._addImage("jqxButton")}}if(c=="imgSrc"||c=="imgWidth"||c=="imgHeight"){b._addImage("jqxButton")}if(c==="value"){b.val(d)}if(c=="width"||c=="height"){b._setSize();b.refresh()}},refresh:function(){var c=this;if(c.overrideTheme){return}var e=c.toThemeProperty("jqx-fill-state-focus");var i=c.toThemeProperty("jqx-fill-state-disabled");var b=c.toThemeProperty("jqx-fill-state-normal");if(!c.enableDefault){b=""}var h=c.toThemeProperty("jqx-fill-state-hover");var f=c.toThemeProperty("jqx-fill-state-pressed");var g=c.toThemeProperty("jqx-fill-state-pressed");if(!c.enablePressed){f=""}var d="";if(!c.host){return}c.element.disabled=c.disabled;if(c.disabled){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}d=b+" "+i;if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}c.buttonObj.addClass(d);c._oldCSSCurrent=d;return}else{if(c.isMouseOver&&!c.isTouchDevice){if(c.isPressed){d=g}else{d=h}}else{if(c.isPressed){d=f}else{d=b}}}if(c.isFocused){d+=" "+e}if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}if(d!=c._oldCSSCurrent){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}c.buttonObj.addClass(d);c._oldCSSCurrent=d}if(c.rtl){c.buttonObj.addClass(c.toThemeProperty("jqx-rtl"));c.element.style.direction="rtl"}if(c.isMaterialized()){c.host.addClass("buttonRipple")}}});a.jqx.jqxWidget("jqxLinkButton","",{});a.extend(a.jqx._jqxLinkButton.prototype,{defineInstance:function(){this.disabled=false;this.height=null;this.width=null;this.rtl=false;this.href=null},createInstance:function(c){var f=this;this.host.onselectstart=function(){return false};this.host.attr("role","button");var b=this.height||this.element.offsetHeight;var d=this.width||this.element.offsetWidth;this.href=this.element.getAttribute("href");this.target=this.element.getAttribute("target");this.content=this.host.text();this.element.innerHTML="";var g=document.createElement("input");g.type="button";g.className="jqx-wrapper "+this.toThemeProperty("jqx-reset");this._setSize(g,d,b);g.value=this.content;var e=new a(this.element);e.addClass(this.toThemeProperty("jqx-link"));this.element.style.color="inherit";this.element.appendChild(g);this._setSize(g,d,b);var h=c==undefined?{}:c[0]||{};a(g).jqxButton(h);this.wrapElement=g;if(this.disabled){this.element.disabled=true}this.propertyChangeMap.disabled=function(i,k,j,l){i.element.disabled=l;i.wrapElement.jqxButton({disabled:l})};this.addHandler(a(g),"click",function(i){if(!this.disabled){f.onclick(i)}return false})},_setSize:function(c,d,b){var e=this;if(b){if(!isNaN(b)){b=b+"px"}c.style.height=b}if(d){if(!isNaN(d)){d=d+"px"}c.style.width=d}},onclick:function(b){if(this.target!=null){window.open(this.href,this.target)}else{window.location=this.href}}});a.jqx.jqxWidget("jqxRepeatButton","jqxButton",{});a.extend(a.jqx._jqxRepeatButton.prototype,{defineInstance:function(){this.delay=50},createInstance:function(d){var e=this;var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var f=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.addHandler(a(document),b,function(g){if(e.timeout!=null){clearTimeout(e.timeout);e.timeout=null;e.refresh()}if(e.timer!=undefined){clearInterval(e.timer);e.timer=null;e.refresh()}});this.addHandler(this.base.host,f,function(g){if(e.timer!=null){clearInterval(e.timer)}e.timeout=setTimeout(function(){clearInterval(e.timer);e.timer=setInterval(function(h){e.ontimer(h)},e.delay)},150)});this.mousemovefunc=function(g){if(!c){if(g.which==0){if(e.timer!=null){clearInterval(e.timer);e.timer=null}}}};this.addHandler(this.base.host,"mousemove",this.mousemovefunc)},destroy:function(){var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var e=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.removeHandler(this.base.host,"mousemove",this.mousemovefunc);this.removeHandler(this.base.host,e);this.removeHandler(a(document),b);this.timer=null;delete this.mousemovefunc;delete this.timer;var d=a.data(this.base.element,"jqxRepeatButton");if(d){delete d.instance}a(this.base.element).removeData();this.base.destroy();delete this.base},stop:function(){clearInterval(this.timer);this.timer=null},ontimer:function(b){var b=new a.Event("click");if(this.base!=null&&this.base.host!=null){this.base.host.trigger(b)}}});a.jqx.jqxWidget("jqxToggleButton","jqxButton",{});a.extend(a.jqx._jqxToggleButton.prototype,{defineInstance:function(){this.toggled=false;this.uiToggle=true;this.aria={"aria-checked":{name:"toggled",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}}},createInstance:function(b){var c=this;c.base.overrideTheme=true;c.isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(this);c.propertyChangeMap.roundedCorners=function(d,f,e,g){d.base.buttonObj.removeClass(d.toThemeProperty(a.jqx.cssroundedcorners(e)));d.base.buttonObj.addClass(d.toThemeProperty(a.jqx.cssroundedcorners(g)))};c.propertyChangeMap.toggled=function(d,f,e,g){d.refresh()};c.propertyChangeMap.disabled=function(d,f,e,g){d.base.disabled=g;d.refresh()};c.addHandler(c.base.host,"click",function(d){if(!c.base.disabled&&c.uiToggle){c.toggle()}});if(!c.isTouchDevice){c.addHandler(c.base.host,"mouseenter",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(c.base.host,"mouseleave",function(d){if(!c.base.disabled){c.refresh()}})}c.addHandler(c.base.host,"mousedown",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(a(document),"mouseup.togglebutton"+c.base.element.id,function(d){if(!c.base.disabled){c.refresh()}})},destroy:function(){this._removeHandlers();this.base.destroy()},_removeHandlers:function(){this.removeHandler(this.base.host,"click");this.removeHandler(this.base.host,"mouseenter");this.removeHandler(this.base.host,"mouseleave");this.removeHandler(this.base.host,"mousedown");this.removeHandler(a(document),"mouseup.togglebutton"+this.base.element.id)},toggle:function(){this.toggled=!this.toggled;this.refresh();a.jqx.aria(this,"aria-checked",this.toggled)},unCheck:function(){this.toggled=false;this.refresh()},check:function(){this.toggled=true;this.refresh()},refresh:function(){var c=this;var h=c.base.toThemeProperty("jqx-fill-state-disabled");var b=c.base.toThemeProperty("jqx-fill-state-normal");if(!c.base.enableDefault){b=""}var g=c.base.toThemeProperty("jqx-fill-state-hover");var e=c.base.toThemeProperty("jqx-fill-state-pressed");var f=c.base.toThemeProperty("jqx-fill-state-pressed");var d="";c.base.element.disabled=c.base.disabled;if(c.base.disabled){d=b+" "+h;c.base.buttonObj.addClass(d);return}else{if(c.base.isMouseOver&&!c.isTouchDevice){if(c.base.isPressed||c.toggled){d=f}else{d=g}}else{if(c.base.isPressed||c.toggled){d=e}else{d=b}}}if(c.base.template!=="default"&&c.base.template!==""){d+=" jqx-"+c.base.template;if(c.base.theme!=""){d+=" jqx-"+c.template+"-"+c.base.theme}}if(c.base.buttonObj.hasClass(h)&&h!=d){c.base.buttonObj.removeClass(h)}if(c.base.buttonObj.hasClass(b)&&b!=d){c.base.buttonObj.removeClass(b)}if(c.base.buttonObj.hasClass(g)&&g!=d){c.base.buttonObj.removeClass(g)}if(c.base.buttonObj.hasClass(e)&&e!=d){c.base.buttonObj.removeClass(e)}if(c.base.buttonObj.hasClass(f)&&f!=d){c.base.buttonObj.removeClass(f)}if(!c.base.buttonObj.hasClass(d)){c.base.buttonObj.addClass(d)}},_topDocumentMouseupHandler:function(c){var b=this;b.isPressed=false;b.refresh()}})})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxCalendar","",{});a.extend(a.jqx._jqxCalendar.prototype,{defineInstance:function(){var b={disabled:false,restrictedDates:new Array(),multipleMonthRows:1,multipleMonthColumns:1,minDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),maxDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),min:new Date(1900,0,1),max:new Date(2100,0,1),navigationDelay:400,stepMonths:1,width:null,height:null,value:a.jqx._jqxDateTimeInput.getDateTime(new Date()),firstDayOfWeek:0,showWeekNumbers:false,showDayNames:true,enableWeekend:false,enableOtherMonthDays:true,showOtherMonthDays:true,rowHeaderWidth:25,columnHeaderHeight:25,titleHeight:30,dayNameFormat:"firstTwoLetters",monthNameFormat:"default",titleFormat:["MMMM yyyy","yyyy","yyyy","yyyy"],enableViews:true,readOnly:false,culture:"default",enableFastNavigation:true,enableHover:true,enableAutoNavigation:true,enableTooltips:false,backText:"Back",forwardText:"Forward",specialDates:new Array(),keyboardNavigation:true,selectionMode:"default",selectableDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],todayString:"Today",clearString:"Clear",showFooter:false,selection:{from:null,to:null},canRender:true,_checkForHiddenParent:true,height:null,rtl:false,view:"month",views:["month","year","decade"],changing:null,change:null,localization:{backString:"Back",forwardString:"Forward",todayString:"Today",clearString:"Clear",calendar:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss"}}},events:["backButtonClick","nextButtonClick","valuechanged","cellMouseDown","cellMouseUp","cellSelected","cellUnselected","change","viewChange"]};if(this===a.jqx._jqxCalendar.prototype){return b}a.extend(true,this,b);this.minDate._setYear(1900);this.minDate._setMonth(1);this.minDate._setDay(1);this.minDate._setHours(0);this.minDate._setMinutes(0);this.minDate._setSeconds(0);this.minDate._setMilliseconds(0);this.maxDate._setYear(2100);this.maxDate._setMonth(1);this.maxDate._setDay(1);this.maxDate._setHours(0);this.maxDate._setMinutes(0);this.maxDate._setSeconds(0);this.maxDate._setMilliseconds(0);this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0);return b},_createFromInput:function(d){var g=this;if(g.element.nodeName.toLowerCase()=="input"){g.field=g.element;if(g.field.className){g._className=g.field.className}var f={title:g.field.title};if(g.field.value){f.value=g.field.value}if(g.field.checked){f.checked=true}if(g.field.id.length){f.id=g.field.id.replace(/[^\w]/g,"_")+"_"+d}else{f.id=a.jqx.utilities.createId()+"_"+d}if(g.field.getAttribute("min")){var e=new Date(g.field.getAttribute("min"));if(e!="Invalid Date"){g.min=e}}if(g.field.getAttribute("max")){var c=new Date(g.field.getAttribute("max"));if(c!="Invalid Date"){g.max=c}}var i=a("<div></div>",f);i[0].style.cssText=g.field.style.cssText;if(!g.width){g.width=a(g.field).width()}if(!g.height){g.height=a(g.field).outerHeight()}a(g.field).hide().after(i);var h=g.host.data();g.host=i;g.host.data(h);g.element=i[0];g.element.id=g.field.id;g.field.id=f.id;if(g._className){g.host.addClass(g._className);a(g.field).removeClass(g._className)}if(g.field.tabIndex){var b=g.field.tabIndex;g.field.tabIndex=-1;g.element.tabIndex=b}}},createInstance:function(i){var h=this;h._createFromInput("jqxCalendar");this.setCalendarSize();if(this.element.id===""){this.element.id=a.jqx.utilities.createId()}if(a.type(this.value)=="date"){this.value=a.jqx._jqxDateTimeInput.getDateTime(this.value)}this.element.innerHTML="";this.host.attr("data-role","calendar");var b=this.element.id;var j=this;this.propertyChangeMap.width=function(k,m,l,n){j.setCalendarSize()};this.propertyChangeMap.height=function(k,m,l,n){j.setCalendarSize()};if(a.global){a.global.preferCulture(this.culture)}if(this.culture!="default"){if(a.global){a.global.preferCulture(this.culture);this.localization.calendar=a.global.culture.calendar}else{if(window.Globalize){var d=window.Globalize.culture(this.culture);this.localization.calendar=d.calendar}}this.firstDayOfWeek=this.localization.calendar.firstDay}if(this.localization.backString!="Back"){this.backText=this.localization.backString}if(this.localization.forwardString!="Forward"){this.forwardText=this.localization.forwardString}if(this.localization.todayString!="Today"&&this.localization.todayString){this.todayString=this.localization.todayString}if(this.localization.clearString!="Clear"&&this.localization.clearString){this.clearString=this.localization.clearString}if(this.localization.calendar&&this.localization.calendar.firstDay!=undefined&&this.culture!="default"){this.firstDayOfWeek=this.localization.calendar.firstDay}this.setMaxDate(this.max,false);this.setMinDate(this.min,false);if(!this.host.attr("tabIndex")){this.host.attr("tabIndex",0)}this.host.css("outline","none");this.host.addClass(this.toThemeProperty("jqx-calendar"));this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));this.host.addClass(this.toThemeProperty("jqx-rc-all"));this._addInput();if(this.views.indexOf("month")==-1){this.view="year"}if(this.views.indexOf("year")==-1&&this.views.indexOf("month")==-1){this.view="decade"}this.addHandler(this.host,"keydown",function(l){var k=true;if(j.keyboardNavigation){if(j._handleKey!=undefined){k=j._handleKey(l);if(!k){if(l.stopPropagation){l.stopPropagation()}if(l.preventDefault){l.preventDefault()}}}}return k});var e=false;var g=this;var f=false;if(j.width!=null&&j.width.toString().indexOf("%")!=-1){f=true}if(j.height!=null&&j.height.toString().indexOf("%")!=-1){f=true}a.jqx.utilities.resize(this.host,function(){var k=g.host.find("#View"+j.element.id);if(!e){e=true;g.render()}else{g.refreshTitle(k)}if(f){if(j.refreshTimer){clearTimeout(j.refreshTimer)}j.refreshTimer=setTimeout(function(){j.refreshControl()},1)}},false,this._checkForHiddenParent);var c="View";this.propertyChangeMap.disabled=function(k,m,l,n){if(n){k.host.addClass(j.toThemeProperty("jqx-fill-state-disabled"))}else{k.host.removeClass(j.toThemeProperty("jqx-fill-state-disabled"))}j.refreshControl()}},_addInput:function(){var b=this.host.attr("name");this.input=a("<input type='hidden'/>");this.host.append(this.input);if(b){this.input.attr("name",b)}this.input.val(this.getDate().toString())},setCalendarSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.css("width",this.width)}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.css("height",this.height)}},_getYearAndMonthPart:function(c){if(!c){return new Date(1900,0,1)}var b=new Date(c.getFullYear(),c.getMonth(),1);return b},_handleKey:function(p){if(this.readOnly){return true}var A=p.keyCode;var y=this;var b=this._getSelectedDate();if(b==undefined){if(this.view=="month"&&(A==37||A==38||A==39||A==40)){this.selectedDate=new Date(this.value.year,this.value.month-1,1);this._selectDate(this.selectedDate,"key");b=this.selectedDate}else{return true}}if(p.altKey){return true}if(this._animating){return false}if(this.view!="month"&&A==13){var d=this._getSelectedCell();this._setDateAndSwitchViews(d,p,"keyboard")}if(this.view=="year"){var w=b.getMonth();var j=this._getYearAndMonthPart(this.getMinDate());var m=this._getYearAndMonthPart(this.getMaxDate());switch(A){case 37:if(w==0){var h=new Date(b.getFullYear()-1,11,1);if(h>=j){this.selectedDate=h;this.navigateBackward()}else{if(this.selectedDate!=j){this.selectedDate=j;this.navigateBackward()}}}else{var h=new Date(b.getFullYear(),w-1,1);if(h>=j){this._selectDate(h,"key")}}return false;case 38:var h=new Date(b.getFullYear(),w-4,1);if(h<j){h=j}if(w-4<0){this.selectedDate=h;this.navigateBackward()}else{this._selectDate(h,"key")}return false;case 40:var h=new Date(b.getFullYear(),w+4,1);if(h>m){h=m}if(w+4>11){this.selectedDate=h;this.navigateForward()}else{this._selectDate(h,"key")}return false;case 39:if(w==11){var h=new Date(b.getFullYear()+1,0,1);if(h<=m){this.selectedDate=h;this.navigateForward()}else{if(this.selectedDate!=m){this.selectedDate=m;this.navigateForward()}}}else{var h=new Date(b.getFullYear(),w+1,1);if(h<=m){this._selectDate(h,"key")}}return false}return true}if(this.view=="decade"){var o=this._renderStartDate.getFullYear();var k=this._renderEndDate.getFullYear();var n=b.getFullYear();var v=this.getMinDate().getFullYear();var c=this.getMaxDate().getFullYear();switch(A){case 37:if(n-1>=v){if(n<=o){this.selectedDate=new Date(n-1,b.getMonth(),1);this.navigateBackward()}else{this._selectDate(new Date(n-1,b.getMonth(),1),"key")}}return false;case 38:var x=n-4;if(n-4<v){x=v}if(x<o){this.selectedDate=new Date(x,b.getMonth(),1);this.navigateBackward()}else{this._selectDate(new Date(x,b.getMonth(),1),"key")}return false;case 40:var x=n+4;if(x>c){x=c}if(x>k){this.selectedDate=new Date(x,b.getMonth(),1);this.navigateForward()}else{this._selectDate(new Date(x,b.getMonth(),1),"key")}return false;case 39:if(n+1<=c){if(n==k){this.selectedDate=new Date(n+1,b.getMonth(),1);this.navigateForward()}else{this._selectDate(new Date(n+1,b.getMonth(),1),"key")}}return false}return true}var u=new a.jqx._jqxDateTimeInput.getDateTime(b);var f=this.getViewStart();var e=this.getViewEnd();var t=u;var s=a.data(this.element,"View"+this.element.id);if(s==undefined||s==null){return true}if(A==36){u._setDay(1);if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key");return false}if(A==35){var r=this.value._daysInMonth(this.value.year,this.value.month);u._setDay(r);if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key");return false}var g=1;if(p.ctrlKey){g=12}if(A==34){var z=this.navigateForward(g);if(z){u._addMonths(g);if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key")}return false}if(A==33){var z=this.navigateBackward(g);if(z){u._addMonths(-g);if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key")}return false}if(A==38){u._addDays(-7);if(u.dateTime<this.getMinDate()){return false}if(u.dateTime<f){var z=this.navigateBackward();if(!z){return false}}if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key");for(var q=0;q<s.cells.length;q++){var d=s.cells[q];var l=d.getDate();if(d.isOtherMonth&&d.isSelected&&l<=u.dateTime){this.value.day=l.getDate();this.navigateBackward();this._selectDate(u.dateTime,"key");break}}return false}else{if(A==40){u._addDays(7);if(u.dateTime>this.getMaxDate()){return false}if(u.dateTime>e){var z=this.navigateForward();if(!z){return false}}if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key");for(var q=0;q<s.cells.length;q++){var d=s.cells[q];var l=d.getDate();if(d.isOtherMonth&&d.isSelected&&l>=u.dateTime){this.value.day=l.getDate();this.navigateForward();this._selectDate(u.dateTime,"key");break}}return false}}if(A==37){u._addDays(-1);if(u.dateTime<this.getMinDate()){return false}if(u.dateTime<f){var z=this.navigateBackward();if(!z){return false}}if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key");for(var q=0;q<s.cells.length;q++){var d=s.cells[q];var l=d.getDate();if(d.isOtherMonth&&d.isSelected&&l<=u.dateTime){if(u.dateTime<this.getMinDate()||u.dateTime>this.getMaxDate()){return false}if(this._isDisabled(u.dateTime)){return false}this.navigateBackward();this._selectDate(u.dateTime,"key");break}}return false}else{if(A==39){u._addDays(1);if(u.dateTime>this.getMaxDate()){return false}if(u.dateTime>e){var z=this.navigateForward();if(!z){return false}}if(this._isDisabled(u.dateTime)){return false}this._selectDate(u.dateTime,"key");for(var q=0;q<s.cells.length;q++){var d=s.cells[q];var l=d.getDate();if(d.isOtherMonth&&d.isSelected&&l>=u.dateTime){if(u.dateTime<this.getMinDate()||u.dateTime>this.getMaxDate()){return false}this.navigateForward();this._selectDate(u.dateTime,"key");break}}return false}}return true},render:function(){if(!this.canRender){return}this.host.children().remove();var c=this._renderSingleCalendar("View"+this.element.id);var b=this;this.host.append(c)},addSpecialDate:function(b,c,d){if(this.multipleMonthRows==1&&this.multipleMonthColumns==1){var e=this.specialDates.length;this.specialDates[e]={Date:b,Class:c,Tooltip:d};this.refreshControl()}},refresh:function(c){var b=this;this.render();setTimeout(function(){b.refreshControl()})},invalidate:function(){this.refreshControl()},refreshControl:function(){if(this.multipleMonthRows==1&&this.multipleMonthColumns==1){this.refreshSingleCalendar("View"+this.element.id,null)}},getViewStart:function(){var c=this.getVisibleDate();var b=this.getFirstDayOfWeek(c);return b.dateTime},getViewEnd:function(){var c=this.getViewStart();var b=new a.jqx._jqxDateTimeInput.getDateTime(c);b._addDays(41);return b.dateTime},refreshSingleCalendar:function(e,l){if(!this.canRender){return}var j=this.host.find("#"+e);var f=this.getVisibleDate();var c=this.getFirstDayOfWeek(f);this.refreshCalendarCells(j,c,e);this.refreshTitle(j);this.refreshRowHeader(j,e);if(this.selectedDate!=undefined){this._selectDate(this.selectedDate)}var b=parseInt(this.month.css("padding-top"));var g=this.host.height()-2*b;var k=g-this.titleHeight-this.columnHeaderHeight;if(!this.showDayNames){k=this.month.height()-this.titleHeight}if(this.showFooter){k-=20}var d=j.find("#cellsTable"+e);var i=j.find("#calendarRowHeader"+e);d.height(k);i.height(k)},refreshRowHeader:function(s,m){if(!this.showWeekNumbers){return}var c=this.getVisibleDate();var h=this.getFirstDayOfWeek(c);var n=h.dayOfWeek;var t=this.getWeekOfYear(h);var f=new a.jqx._jqxDateTimeInput.getDateTime(new Date(h.dateTime));f._addDays(5);f.dayOfWeek=f.dateTime.getDay();var k=this.getWeekOfYear(f);var e=this.rowHeader.find("table");e.width(this.rowHeaderWidth);var g=h;var q=new Array();for(var p=0;p<6;p++){var o=t.toString();var b=new a.jqx._jqxCalendar.cell(g.dateTime);var l=p+1+this.element.id;var j=a(e[0].rows[p].cells[0]);b.element=j;b.row=p;b.column=0;var d=j.find("#headerCellContent"+l);d.addClass(this.toThemeProperty("jqx-calendar-row-cell"));d[0].innerHTML=t;q[p]=b;g=new a.jqx._jqxDateTimeInput.getDateTime(new Date(g._addWeeks(1)));t=this.getWeekOfYear(g)}var r=a.data(this.element,s[0].id);r.rowCells=q;this._refreshOtherMonthRows(r,m)},_refreshOtherMonthRows:function(f,e){if(this.showOtherMonthDays){return}this._displayLastRow(true,e);this._displayFirstRow(true,e);var d=false;var g=false;for(var c=0;c<f.cells.length;c++){var b=f.cells[c];if(b.isVisible&&c<7){d=true}else{if(b.isVisible&&c>=f.cells.length-7){g=true}}}if(!d){this._displayFirstRow(false,e)}if(!g){this._displayLastRow(false,e)}},_displayLastRow:function(b,c){var g=this.host.find("#"+c);var f=g.find("#calendarRowHeader"+g[0].id).find("table");var d=null;if(this.showWeekNumbers){if(f[0].cells){var d=a(f[0].rows[5])}}var e=a(g.find("#cellTable"+g[0].id)[0].rows[5]);if(b){if(this.showWeekNumbers&&d){d.css("display","table-row")}e.css("display","table-row")}else{if(this.showWeekNumbers&&d){d.css("display","none")}e.css("display","none")}},_displayFirstRow:function(b,c){var e=this.host.find("#"+c);var d=e.find("#calendarRowHeader"+e[0].id).find("table");var f=null;if(this.showWeekNumbers){if(d[0].cells){var f=a(d[0].rows[0])}}var g=a(e.find("#cellTable"+e[0].id)[0].rows[0]);if(b){if(this.showWeekNumbers&&f){f.css("display","table-row")}g.css("display","table-row")}else{if(this.showWeekNumbers&&f){f.css("display","none")}g.css("display","none")}},_renderSingleCalendar:function(q,l){if(!this.canRender){return}var n=this.host.find("#"+q.toString());if(n!=null){n.remove()}var v=a("<div id='"+q.toString()+"'></div>");var b=this.getVisibleDate();var m=this.getFirstDayOfWeek(b);var e=new a.jqx._jqxDateTimeInput.getDateTime(m.dateTime);e._addMonths(1);var u=a.jqx._jqxCalendar.monthView(m,e,null,null,null,v);if(l==undefined||l==null){this.host.append(v);v[0].style.width="100%";v[0].style.height="100%"}else{l.append(v)}a.data(this.element,q,u);var t=parseInt(v.css("padding-top"));var s=this.host.height()-2*t;var r=s-this.titleHeight-this.columnHeaderHeight;if(!this.showDayNames){r=s-this.titleHeight}if(this.showFooter){r-=20}if(this.rowHeaderWidth<0){this.rowHeaderWidth=0}if(this.columnHeaderHeight<0){this.columnHeaderHeight=0}if(this.titleHeight<0){this.titleHeight=0}var g=this.rowHeaderWidth;var k=this.columnHeaderHeight;if(!this.showWeekNumbers){g=0}if(!this.showDayNames){k=0}var x="<div style='height:"+this.titleHeight+"px;'><table role='grid' style='margin: 0px; width: 100%; height: 100%; border-spacing: 0px;' cellspacing='0' cellpadding='0'><tr role='row' id='calendarTitle' width='100%'><td role='gridcell' NOWRAP id='leftNavigationArrow'></td><td aria-live='assertive' aria-atomic='true' role='gridcell' align='center' NOWRAP id='calendarTitleHeader'></td><td role='gridcell' NOWRAP id='rightNavigationArrow'></td></tr></table></div>";var c="<table role='grid' class='"+this.toThemeProperty("jqx-calendar-month")+"' style='margin: 0px; border-spacing: 0px;' cellspacing='0' cellpadding='0'><tr role='row' id='calendarHeader' height='"+k+"'><td role='gridcell' id='selectCell' width='"+g+"'></td><td role='gridcell' colspan='2' style='border: none; padding-left: 2px; padding-right: 2px' id='calendarColumnHeader'></td></tr><tr role='row' id='calendarContent'><td role='gridcell' id='calendarRowHeader' valign='top' height='"+r+"' width='"+g+"'></td><td role='gridcell' valign='top' colspan='2' style='padding-left: 2px; padding-right: 2px' id='cellsTable' height='"+r+"'></td></tr></table>";var p="<div id='footer' style='margin: 0px; display: none; height:"+d+"px;'><table style='width: 100%; height: 100%; border-spacing: 0px;' cellspacing='0' cellpadding='0'><tr id='calendarFooter'><td align='right' id='todayButton'></td><td align='left' colspan='2' id=doneButton></td></tr></table></div>";v[0].innerHTML=x+c+p;this.header=v.find("#calendarHeader");this.header[0].id="calendarHeader"+q;this.header.addClass(this.toThemeProperty("calendar-header"));this.columnHeader=v.find("#calendarColumnHeader");this.columnHeader[0].id="calendarColumnHeader"+q;this.table=v.find("#cellsTable");this.table[0].id="cellsTable"+q;this.rowHeader=v.find("#calendarRowHeader");this.rowHeader[0].id="calendarRowHeader"+q;this.selectCell=v.find("#selectCell");this.selectCell[0].id="selectCell"+q;this.title=v.find("#calendarTitle");this.title[0].id="calendarTitle"+q;this.leftButton=v.find("#leftNavigationArrow");this.leftButton[0].id="leftNavigationArrow"+q;this.titleHeader=v.find("#calendarTitleHeader");this.titleHeader[0].id="calendarTitleHeader"+q;this.rightButton=v.find("#rightNavigationArrow");this.rightButton[0].id="rightNavigationArrow"+q;this.footer=v.find("#calendarFooter");this._footer=v.find("#footer");this._footer[0].id="footer"+q;this.footer[0].id="calendarFooter"+q;this.todayButton=v.find("#todayButton");this.todayButton[0].id="todayButton"+q;this.doneButton=v.find("#doneButton");this.doneButton[0].id="doneButton"+q;this.title.addClass(this.toThemeProperty("jqx-calendar-title-container"));var d=20;if(this.showFooter){this._footer.css("display","block")}v.find("tr").addClass(this.toThemeProperty("jqx-reset"));v.addClass(this.toThemeProperty("jqx-widget-content"));v.addClass(this.toThemeProperty("jqx-calendar-month-container"));this.month=v;this.selectCell.addClass(this.toThemeProperty("jqx-reset"));this.selectCell.addClass(this.toThemeProperty("jqx-calendar-top-left-header"));if(this.showWeekNumbers){this._renderRowHeader(v)}else{this.table[0].colSpan=3;this.columnHeader[0].colSpan=3;this.rowHeader.css("display","none");this.selectCell.css("display","none")}if(this.showFooter){this.footer.height(20);var j=a("<a href='javascript:;'>"+this.todayString+"</a>");j.appendTo(this.todayButton);var i=a("<a href='javascript:;'>"+this.clearString+"</a>");i.appendTo(this.doneButton);i.addClass(this.toThemeProperty("jqx-calendar-footer"));j.addClass(this.toThemeProperty("jqx-calendar-footer"));var o=this;var f="mousedown";if(a.jqx.mobile.isTouchDevice()){f=a.jqx.mobile.getTouchEventName("touchstart")}this.addHandler(j,f,function(){if(o.today){o.today()}else{o.setDate(new Date(),"mouse")}return false});this.addHandler(i,f,function(){if(o.clear){o.clear()}else{o.setDate(null,"mouse")}return false})}if(this.view!="month"){this.header.hide()}if(this.showDayNames&&this.view=="month"){this.renderColumnHeader(v)}this.oldView=this.view;this.renderCalendarCells(v,m,q);if(l==undefined||l==null){this.renderTitle(v)}this._refreshOtherMonthRows(u,q);v.find("tbody").css({border:"none",background:"transparent"});if(this.selectedDate!=undefined){this._selectDate(this.selectedDate)}var w=this;this.addHandler(this.host,"focus",function(){w.focus()});return v},_getTitleFormat:function(){switch(this.view){case"month":return this.titleFormat[0];case"year":return this.titleFormat[1];case"decade":return this.titleFormat[2];case"centuries":return this.titleFormat[3]}},renderTitle:function(t){var k=a("<div role='button' style='float: left;'></div>");var l=a("<div role='button' style='float: right;'></div>");var o=this.title;o.addClass(this.toThemeProperty("jqx-reset"));o.addClass(this.toThemeProperty("jqx-widget-header"));o.addClass(this.toThemeProperty("jqx-calendar-title-header"));var e=o.find("td");if(a.jqx.browser.msie&&a.jqx.browser.version<8){if(e.css("background-color")!="transparent"){var g=o.css("background-color");e.css("background-color",g)}if(e.css("background-image")!="transparent"){var d=o.css("background-image");var p=o.css("background-repeat");var c=o.css("background-position");e.css("background-image",d);e.css("background-repeat",p);e.css("background-position","left center scroll")}}else{e.css("background-color","transparent")}if(this.disabled){o.addClass(this.toThemeProperty("jqx-calendar-title-header-disabled"))}k.addClass(this.toThemeProperty("jqx-calendar-title-navigation"));k.addClass(this.toThemeProperty("jqx-icon-arrow-left"));k.appendTo(this.leftButton);var m=this.leftButton;l.addClass(this.toThemeProperty("jqx-calendar-title-navigation"));l.addClass(this.toThemeProperty("jqx-icon-arrow-right"));l.appendTo(this.rightButton);var b=this.rightButton;if(this.enableTooltips){if(a(m).jqxTooltip){a(m).jqxTooltip({name:this.element.id,position:"mouse",theme:this.theme,content:this.backText});a(b).jqxTooltip({name:this.element.id,position:"mouse",theme:this.theme,content:this.forwardText})}}var n=this.titleHeader;var v=this._format(this.value.dateTime,this._getTitleFormat(),this.culture);if(this.view=="decade"){var q=this._format(this._renderStartDate,this._getTitleFormat(),this.culture);var j=this._format(this._renderEndDate,this._getTitleFormat(),this.culture);v=q+" - "+j}else{if(this.view=="centuries"){var q=this._format(this._renderCenturyStartDate,this._getTitleFormat(),this.culture);var j=this._format(this._renderCenturyEndDate,this._getTitleFormat(),this.culture);v=q+" - "+j}}var f=a("<div style='background: transparent; margin: 0; padding: 0; border: none;'>"+v+"</div>");n.append(f);f.addClass(this.toThemeProperty("jqx-calendar-title-content"));var s=parseInt(k.width());var i=t.width()-2*s;var r=n.find(".jqx-calendar-title-content").width(i);a.data(k,"navigateLeft",this);a.data(l,"navigateRight",this);var h=a.jqx.mobile.isTouchDevice();if(!this.disabled){var u=this;this.addHandler(n,"mousedown",function(A){if(u.enableViews){if(!u._viewAnimating&&!u._animating){var x=u.view;u.oldView=x;switch(u.view){case"month":u.view="year";break;case"year":u.view="decade";break}if(u.views.indexOf("year")==-1&&u.view=="year"){u.view="decade"}if(u.views.indexOf("decade")==-1&&u.view=="decade"){u.view=x}if(x!=u.view){var z="View"+u.element.id;var B=u.host.find("#"+z);var y=u.getVisibleDate();var w=u.getFirstDayOfWeek(y);u.renderCalendarCells(B,w,z,true);u.refreshTitle(B);u._raiseEvent("8")}}return false}});this.addHandler(k,"mousedown",function(x){if(!u._animating){a.data(k,"navigateLeftRepeat",true);var w=a.data(k,"navigateLeft");if(w.enableFastNavigation&&!h){w.startRepeat(w,k,true,u.navigationDelay+200)}w.navigateBackward(u.stepMonths,"arrow");x.stopPropagation();x.preventDefault();return w._raiseEvent(0,x)}else{return false}});this.addHandler(k,"mouseup",function(w){a.data(k,"navigateLeftRepeat",false)});this.addHandler(k,"mouseleave",function(w){a.data(k,"navigateLeftRepeat",false)});this.addHandler(l,"mousedown",function(x){if(!u._animating){a.data(l,"navigateRightRepeat",true);var w=a.data(l,"navigateRight");if(w.enableFastNavigation&&!h){w.startRepeat(w,l,false,u.navigationDelay+200)}w.navigateForward(u.stepMonths,"arrow");x.stopPropagation();x.preventDefault();return w._raiseEvent(1,x)}else{return false}});this.addHandler(l,"mouseup",function(w){a.data(l,"navigateRightRepeat",false)});this.addHandler(l,"mouseleave",function(w){a.data(l,"navigateRightRepeat",false)})}},refreshTitle:function(f){var g=this._format(this.value.dateTime,this._getTitleFormat(),this.culture);if(this.view=="decade"){var d=this._format(this._renderStartDate,this._getTitleFormat(),this.culture);var b=this._format(this._renderEndDate,this._getTitleFormat(),this.culture);g=d+" - "+b}else{if(this.view=="centuries"){var d=this._format(this._renderCenturyStartDate,this._getTitleFormat(),this.culture);var b=this._format(this._renderCenturyEndDate,this._getTitleFormat(),this.culture);g=d+" - "+b}}var e=this.titleHeader;if(this.titleHeader){var c=e.find(".jqx-calendar-title-content");var h=a("<div style='background: transparent; margin: 0; padding: 0; border: none;'>"+g+"</div>");e.append(h);h.addClass(this.toThemeProperty("jqx-calendar-title-content"));if(c!=null){c.remove()}}},startRepeat:function(d,b,f,e){var c=window.setTimeout(function(){var g=a.data(b,"navigateLeftRepeat");if(!f){g=a.data(b,"navigateRightRepeat")}if(g){if(e<25){e=25}if(f){d.navigateBackward(1,"arrow");d.startRepeat(d,b,true,e)}else{d.navigateForward(1,"arrow");c=d.startRepeat(d,b,false,e)}}else{window.clearTimeout(c);return}},e)},navigateForward:function(h,g){if(h==undefined||h==null){h=this.stepMonths}var f=this.value.year;if(this.view=="decade"){f=this._renderStartDate.getFullYear()+12;if(this._renderEndDate.getFullYear()>=this.getMaxDate().getFullYear()){return}}else{if(this.view=="year"){f=this.value.year+1}else{if(this.view=="centuries"){f=this.value.year+100}}}if(this.view!="month"){var b=this.getMaxDate().getFullYear();if(b<f||f>b){f=b}if(this.value.year==f){if(this.view==="decade"){if(this.value.year>this._renderEndDate.getFullYear()){this.value.year=f;this.value.month=1;this.value.day=1}else{return}}else{return}}this.value.year=f;this.value.month=1;this.value.day=1}var c=this.value.day;var i=this.value.month;if(i+h<=12){var e=this.value._daysInMonth(this.value.year,this.value.month+h);if(c>e){c=e}}if(this.view=="month"){var d=new Date(this.value.year,this.value.month-1+h,c);if(g=="arrow"&&this.selectableDays.length==7&&this.selectionMode!="range"){this.selectedDate=new Date(this.value.year,this.value.month-1+h,1)}}else{var d=new Date(this.value.year,this.value.month-1,c)}return this.navigateTo(d)},navigateBackward:function(g,f){if(g==undefined||g==null){g=this.stepMonths}var e=this.value.year;if(this.view=="decade"){e=this._renderStartDate.getFullYear()-12}else{if(this.view=="year"){e=this.value.year-1}else{if(this.view=="centuries"){e=this.value.year-100}}}if(this.view!="month"){var i=this.getMinDate().getFullYear();if(e<i){e=i}if(this.view=="decade"){if(this._renderStartDate){if(this._renderStartDate.getFullYear()==e){return}}}this.value.year=e;this.value.month=1;this.value.day=1}var b=this.value.day;var h=this.value.month;if(h-g>=1){var d=this.value._daysInMonth(this.value.year,this.value.month-g);if(b>d){b=d}}if(this.view=="month"){var c=new Date(this.value.year,this.value.month-1-g,b);if(f=="arrow"&&this.selectableDays.length==7&&this.selectionMode!="range"){this.selectedDate=new Date(this.value.year,this.value.month-1-g,1)}}else{var c=new Date(this.value.year,this.value.month-1,b)}return this.navigateTo(c)},_isRestrictedRange:function(d,c){if(d>c){return true}var b=d;while(b.valueOf()<=c.valueOf()){if(this._isRestrictedDate(b)){return true}b.setDate(b.getDate()+1)}return false},_hasUnrestrictedRanges:function(d,c){if(d>c){return false}var b=d;while(b.valueOf()<=c.valueOf()){if(!this._isRestrictedDate(b)){return true}b.setDate(b.getDate()+1)}return false},_getNextUnrestrictedDay:function(d,c){if(d>c){return null}var b=d;while(b.valueOf()<=c.valueOf()){if(!this._isRestrictedDate(b)){return b}b.setDate(b.getDate()+1)}return null},_isRestrictedDate:function(d){var c=this;if(!a.isArray(c.restrictedDates)){return false}for(var g=0;g<c.restrictedDates.length;g++){var b=c.restrictedDates[g];if(typeof(b)=="object"&&b.from!=undefined&&b.to!=undefined){var f=b.from;var e=b.to;if(d.valueOf()>=f.valueOf()&&d.valueOf()<=e.valueOf()){return true}}else{if(b.getMonth()==d.getMonth()&&b.getDate()==d.getDate()&&b.getFullYear()==d.getFullYear()){return true}}}return false},_isDisabled:function(d){var e=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var b=d.getDay();var c=e[b];if(this.selectableDays.indexOf(c)==-1){return true}if(this._isRestrictedDate(d)){return true}return false},refreshCalendarCells:function(x,f,m){if(this.view=="year"||this.view=="decade"||this.view=="centuries"){this.refreshViews(x,f,m);return}var s=this.table;var q=s.find("#cellTable"+m.toString());var e=f;var c=new Array();var n=0;var u=new a.jqx._jqxDateTimeInput.getDateTime(new Date());for(var p=0;p<6;p++){for(var o=0;o<7;o++){var d=p+1;var h=o;if(this.rtl){h=6-h}var t=h+1;var l="#cell"+d+t+this.element.id;var w=new Date(e.dateTime.getFullYear(),e.dateTime.getMonth(),e.dateTime.getDate());var b=new a.jqx._jqxCalendar.cell(w);var g=a(q[0].rows[p].cells[t-1]);g[0].id=l.substring(1);b.element=g;b.row=p;b.column=o;b.isVisible=true;b.isOtherMonth=false;b.isToday=false;b.isWeekend=false;b.isHighlighted=false;b.isSelected=false;if(e.month!=this.value.month){b.isOtherMonth=true;b.isVisible=this.showOtherMonthDays}if(this._isRestrictedDate(w)){b.isRestricted=true;b.isDisabled=true}if(!b.isDisabled){if(w<this.getMinDate()||w>this.getMaxDate()||this._isDisabled(w)){b.isDisabled=true}}if(e.month==u.month&&e.day==u.day&&e.year==u.year){b.isToday=true}if(e.isWeekend()){b.isWeekend=true}a.data(this.element,"cellContent"+l.substring(1),b);a.data(this.element,l.substring(1),b);c[n]=b;n++;a.jqx.utilities.html(g,e.day);this._applyCellStyle(b,g,g);e=new a.jqx._jqxDateTimeInput.getDateTime(new Date(e._addDays(1)))}}var v=a.data(this.element,x[0].id);if(v!=undefined&&v!=null){v.cells=c}this.renderedCells=c;this._refreshOtherMonthRows(v,m)},_getDecadeAndCenturiesData:function(){var k=new Array();var p=new Array();var c=this.getMaxDate().getFullYear()-this.getMinDate().getFullYear();if(c<12){c=12}var f=this.getMinDate();var b=this.getMaxDate();var l=this.value.dateTime.getFullYear();if(this.view=="decade"){if(l+12>b.getFullYear()){l=b.getFullYear()-11}if(l<f.getFullYear()){l=f.getFullYear()}for(var h=0;h<c;h++){var d=new Date(f.getFullYear()+h,0,1);if(f.getFullYear()<=l&&l<=d.getFullYear()){var g=new Date(d.getFullYear(),d.getMonth(),1);for(var e=0;e<12;e++){var o=new Date(g.getFullYear()+e,this.value.dateTime.getMonth(),this.value.dateTime.getDate());var m=o.getFullYear();if(f.getFullYear()<=m&&m<=b.getFullYear()){k.push(m);p.push(o);if(e==0){this._renderStartDate=o}this._renderEndDate=o}else{k.push(m);p.push(o)}}break}}}else{if(this.view=="centuries"){for(var h=0;h<c;h+=120){var d=new Date(f.getFullYear()+h+120,0,1);if(f.getFullYear()<=l&&l<=d.getFullYear()){var g=new Date(d.getFullYear()-130,d.getMonth(),1);if(g<f){g=f}for(var e=0;e<12;e++){var n=new Date(g.getFullYear()+e*10,g.getMonth(),1);if(g.getFullYear()>=f.getFullYear()&&n.getFullYear()<=b.getFullYear()){k.push("<span style='visibility: hidden;'>-</span>"+n.getFullYear()+"-"+(n.getFullYear()+9));p.push(n);if(e==0){this._renderCenturyStartDate=n}this._renderCenturyEndDate=new Date(n.getFullYear()+9,0,1)}}break}}}}return{years:k,dates:p}},refreshViews:function(A,m,s){var B=this;var c=new Array();var w=A.find("#cellTable"+s.toString());var D=this._getDecadeAndCenturiesData();var l=D.years;var C=D.dates;var t=0;var f=this.getMinDate();var n=this.getMaxDate();for(var v=0;v<3;v++){for(var u=0;u<4;u++){var d=v+1;var q=u;if(this.rtl){q=3-q}var x=q+1;var z=new Date(this.value.dateTime);z.setDate(1);z.setMonth(v*4+q);var b=new a.jqx._jqxCalendar.cell(z);var e=w[0].rows["row"+(1+v)+this.element.id];var o=a(e.cells[u]);b.isSelected=false;b.isVisible=true;b.element=o;b.row=v;b.column=u;b.index=c.length;var p="";if(this.view=="year"){var h=this.localization.calendar.months.names;var g=h[v*4+q];switch(this.monthNameFormat){case"default":g=this.localization.calendar.months.namesAbbr[v*4+q];break;case"shortest":g=this.localization.calendar.months.namesShort[v*4+q];break;case"firstTwoLetters":g=g.substring(0,2);break;case"firstLetter":g=g.substring(0,1);break}p=g}else{if(this.view=="decade"||this.view=="centuries"){p=l[v*4+q];if(undefined==p){p="<span style='cursor: default; visibility: hidden;'>2013</span>"}b.setDate(C[v*4+q])}}var z=b.getDate();if(this.view=="year"){if(z.getMonth()==this.getDate().getMonth()&&z.getFullYear()==this.getDate().getFullYear()){b.isSelected=true}}else{if(z.getFullYear()==this.getDate().getFullYear()){b.isSelected=true}}if(this.view=="year"){if(this._getYearAndMonthPart(z)<this._getYearAndMonthPart(f)){b.isDisabled=true}if(this._getYearAndMonthPart(z)>this._getYearAndMonthPart(n)){b.isDisabled=true}}else{if(z.getFullYear()<f.getFullYear()){b.isDisabled=true}if(z.getFullYear()>n.getFullYear()){b.isDisabled=true}}a.jqx.utilities.html(o,p);c[t]=b;t++}}var y=a.data(this.element,A[0].id);if(y!=undefined&&y!=null){y.cells=c}this.renderedCells=c;this._applyCellStyles()},_createViewClone:function(){var b=this.host.find(".jqx-calendar-month");var c=b.clone();c.css("position","absolute");c.css("top",b.position().top);c.width(this.month.width());return c},_addCellsTable:function(h,g){var e=this;var c=this.showFooter?20:0;if(this.view!="month"){g.height(this.month.height()-this.titleHeight)}else{g.height(this.month.height()-this.titleHeight-this.columnHeaderHeight-c)}this._viewAnimating=true;var b=this.host.find(".jqx-calendar-month-container");b.css("position","relative");var d=this.host.find(".jqx-calendar-month");var f=this._createViewClone();b.append(f);if(this.view!="month"){this.header.fadeOut(0);if(this.showWeekNumbers){this.rowHeader.fadeOut(0)}if(this.showFooter){this._footer.fadeOut(0)}}else{this.header.fadeIn(this.navigationDelay+200);if(this.showWeekNumbers){this.rowHeader.fadeIn(this.navigationDelay+200)}if(this.showFooter){this._footer.fadeIn(this.navigationDelay+200)}}h.children().remove();h.append(g);this._animateViews(f,g,function(){if(!e.selectedDate&&e.selectionMode!="range"){e.selectedDate=e.renderedCells[0].getDate()}try{e.renderedCells[0].element.focus();setTimeout(function(){e.renderedCells[0].element.focus()},10)}catch(i){}e._viewAnimating=false});g.addClass(this.toThemeProperty("jqx-calendar-view"))},_animateViews:function(c,b,e){var d=this;d._viewAnimating=true;if(d.oldView==d.view){c.remove();b.fadeOut(0);b.fadeIn(0);e();return}c.fadeOut(this.navigationDelay+100,function(){c.remove()});b.fadeOut(0);b.fadeIn(this.navigationDelay+200,function(){e()})},focus:function(){if(this.disabled){return}try{if(this.renderedCells&&this.renderedCells.length>0){var d=this;var c=false;if(!d.selectedDate&&d.selectionMode!="range"){this.setDate(new Date(),"mouse")}this.element.focus()}}catch(b){}},renderViews:function(E,n,v){var F=this;var e=new Array();var z=a("<table role='grid' style='border-color: transparent; width: 100%; height: 100%;' cellspacing='2' cellpadding='0' id=cellTable"+v.toString()+"><tr role='row' id='row1"+this.element.id+"'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row' id='row2"+this.element.id+"'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row' id='row3"+this.element.id+"'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr></table>");var q=this.host.find(".jqx-calendar-month-container");q.css("position","relative");var A=E.find("#cellsTable"+E[0].id);A[0].style.borderColor="transparent";var I=this._getDecadeAndCenturiesData();var m=I.years;var H=I.dates;var w=0;var g=this.getMinDate();var o=this.getMaxDate();var t=new Date(this.value.dateTime);t.setDate(1);for(var y=0;y<3;y++){for(var x=0;x<4;x++){var d=y+1;var u=x;if(this.rtl){u=3-u}var B=u+1;var f=z[0].rows["row"+(1+y)+this.element.id];var D=new Date(t);D.setMonth(y*4+u);var c=new a.jqx._jqxCalendar.cell(D);var p=a(f.cells[x]);c.isVisible=true;c.element=p;c.row=y;c.column=x;c.index=e.length;c.isSelected=false;var s="";if(this.view=="year"){if(D.getMonth()==this.getDate().getMonth()&&D.getFullYear()==this.getDate().getFullYear()){c.isSelected=true}var l=this.localization.calendar.months.names;var h=l[y*4+u];switch(this.monthNameFormat){case"default":h=this.localization.calendar.months.namesAbbr[y*4+u];break;case"shortest":h=this.localization.calendar.months.namesShort[y*4+u];break;case"firstTwoLetters":h=h.substring(0,2);break;case"firstLetter":h=h.substring(0,1);break}s=h}else{if(this.view=="decade"||this.view=="centuries"){s=m[y*4+u];c.setDate(H[y*4+u]);if(c.getDate().getFullYear()==this.getDate().getFullYear()){c.isSelected=true}if(undefined==s){s="<span style='cursor: default; visibility: hidden;'>2013</span>"}}}var D=c.getDate();if(this.view=="year"){var b=new Date(D);b.setDate(1);b.setHours(0,0,0,0);b.setMonth(D.getMonth()+1);b=new Date(b.valueOf()-1);if(this._getYearAndMonthPart(D)<this._getYearAndMonthPart(g)||this._getYearAndMonthPart(D)>this._getYearAndMonthPart(o)||!this._hasUnrestrictedRanges(D,b)){c.isDisabled=true}}else{var G=new Date(D);G.setMonth(0);G.setDate(1);G.setHours(0,0,0,0);G.setFullYear(D.getFullYear()+1);G=new Date(G.valueOf()-1);if(D.getFullYear()<g.getFullYear()||D.getFullYear()>o.getFullYear()||!this._hasUnrestrictedRanges(D,G)){c.isDisabled=true}}a.jqx.utilities.html(p,s);e[w]=c;w++}}a.each(e,function(){var j=this.element;var i=this;if(!F.disabled){F.addHandler(j,"mousedown",function(k){F._setDateAndSwitchViews(i,k,"mouse")});F.addHandler(j,"mouseover",function(r){var k=F.renderedCells[i.index];if(F.view!="centuries"&&k.element.html().toLowerCase().indexOf("span")!=-1){return}k.isHighlighted=true;F._applyCellStyle(k,k.element,k.element)});F.addHandler(j,"mouseout",function(r){var k=F.renderedCells[i.index];if(F.view!="centuries"&&k.element.html().toLowerCase().indexOf("span")!=-1){return}k.isHighlighted=false;F._applyCellStyle(k,k.element,k.element)})}});var C=a.data(this.element,E[0].id);if(C!=undefined&&C!=null){C.cells=e}this.renderedCells=e;this._addCellsTable(A,z);this._applyCellStyles()},_setDateAndSwitchViews:function(m,d,j){if(!this._viewAnimating&&!this._animating){var g=this.getDate();var e=this.renderedCells[m.index].getDate();var k=this.value.dateTime.getDate();var l=new Date(e);if(this.views.indexOf("month")!=-1){l.setDate(k)}else{l.setDate(1);e.setDate(1)}if(l.getMonth()==e.getMonth()){e=l}var i=this.getMinDate();var c=this.getMaxDate();if(this.view=="year"){if(this._getYearAndMonthPart(e)<this._getYearAndMonthPart(i)){return}if(this._getYearAndMonthPart(e)>this._getYearAndMonthPart(c)){return}}else{if(e.getFullYear()<i.getFullYear()){return}if(e.getFullYear()>c.getFullYear()){return}}if(this.selectionMode!="range"){this._selectDate(e,j)}this.oldView=this.view;switch(this.view){case"year":this.view="month";break;case"decade":this.view="year";break}if(this.views.indexOf("month")==-1){this.view="year"}if(this.views.indexOf("year")==-1){this.view="decade"}if(this.view=="year"){if(this._getYearAndMonthPart(e)<this._getYearAndMonthPart(i)){e=i}if(this._getYearAndMonthPart(e)>this._getYearAndMonthPart(c)){e=c}}else{if(e.getFullYear()<i.getFullYear()){e=i}if(e.getFullYear()>c.getFullYear()){e=c}}if(this.changing&&(this.selectedDate&&(this.selectedDate.getFullYear()!=e.getFullYear()||this.selectedDate.getMonth()!=e.getMonth()||this.selectedDate.getDate()!=e.getDate()))){e=this.selectedDate}this.value._setYear(e.getFullYear());this.value._setDay(e.getDate());this.value._setMonth(e.getMonth()+1);this.value._setDay(e.getDate());var h=this.getVisibleDate();var b=this.getFirstDayOfWeek(h);var f="View"+this.element.id;this.renderCalendarCells(this.month,b,f,true);this.refreshTitle(this.month);if(this.showWeekNumbers){this.refreshRowHeader(this.month,f)}if(this.views.length==3){if(this.view=="month"){if(this.selectionMode!="range"){this._selectDate(this.selectedDate,"view")}else{var n=this;a.each(this.renderedCells,function(r){var o=this;var t=o.getDate();var p=a(o.element);var q=p;if(p.length==0){return false}var s=function(v){if(v==null){return new Date()}var u=new Date();u.setHours(0,0,0,0);u.setFullYear(v.getFullYear(),v.getMonth(),v.getDate());return u};if(!o.isOtherMonth&&s(t).toString()==s(e).toString()){n.value._setMonth(e.getMonth()+1);n.value._setDay(e.getDate());n.value._setYear(e.getFullYear())}o.isSelected=false;o.isDisabled=false;if(s(t)<s(n.selection.from)&&n._clicks==1){o.isDisabled=true}if(n.getMaxDate()<t){o.isDisabled=true}if(n.getMinDate()>t){o.isDisabled=true}if(n._isDisabled(t)){o.isDisabled=true}if(!o.isDisabled){if(s(t)>=s(n.selection.from)&&s(t)<=s(n.selection.to)){o.isSelected=true}}});this._applyCellStyles()}}}if(this.view!="month"){if(this.oldView=="year"||(this.views.indexOf("year")==-1&&this.view=="decade")){if(j!="keyboard"){this._raiseEvent("3")}this._raiseEvent("5",{selectionType:"mouse"})}}this._raiseEvent("8")}},renderCalendarCells:function(D,m,s,q){if(this.view=="year"||this.view=="decade"||this.view=="centuries"){this.renderViews(D,m,s);return}var x=a("<table role='grid' style='width: 100%; height: 100%; border-color: transparent;' cellspacing='2' cellpadding='1' id=cellTable"+s.toString()+"><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr></table>");var y=this.table;y[0].style.borderColor="transparent";if(q==undefined){var g=y.find("#cellTable"+s.toString());if(g!=null){g.remove()}y.append(x)}var l=m;var b=this.showDayNames?1:0;var f=this.showWeekNumbers?1:0;var d=new Array();var t=0;var v=(D.width()-this.rowHeaderWidth-2)/7;if(!this.showWeekNumbers){v=(D.width()-2)/7}v=parseInt(v);var A=new a.jqx._jqxDateTimeInput.getDateTime(new Date());for(var w=0;w<6;w++){for(var u=0;u<7;u++){var e=w+1;var o=u;if(this.rtl){o=6-o}var z=o+1;var p="#cell"+e+z+this.element.id;var C=new Date(l.dateTime.getFullYear(),l.dateTime.getMonth(),l.dateTime.getDate());var c=new a.jqx._jqxCalendar.cell(C);var n=a(x[0].rows[w].cells[z-1]);n[0].id=p.substring(1);c.isVisible=true;c.isDisabled=false;if(l.month!=this.value.month){c.isOtherMonth=true;c.isVisible=this.showOtherMonthDays}if(this._isRestrictedDate(C)){c.isRestricted=true;c.isDisabled=true}if(!c.isDisabled){if(C<this.getMinDate()||C>this.getMaxDate()||this._isDisabled(C)){c.isDisabled=true}}if(l.month==A.month&&l.day==A.day&&l.year==A.year){c.isToday=true}if(l.isWeekend()){c.isWeekend=true}c.element=n;c.row=b;c.column=f;a.jqx.utilities.html(n,l.day);l=new a.jqx._jqxDateTimeInput.getDateTime(new Date(l._addDays(1)));a.data(this.element,"cellContent"+p.substring(1),c);a.data(this.element,""+p.substring(1),c);var E=this;if(E.isMaterialized()){a(n).addClass("ripple");a.jqx.ripple(a(n))}this.addHandler(n,"mousedown",function(I){if(!E.readOnly&&!E.disabled){var H=a(I.target);var j=a.data(E.element,H[0].id);var i=E._raiseEvent(3,I);if(j!=null&&j!=undefined){var r=j.getDate();if(E.getMinDate()<=r&&r<=E.getMaxDate()){if(!j.isDisabled){if(j.isOtherMonth&&E.enableAutoNavigation){if(j.row<2){E.navigateBackward()}else{E.navigateForward()}E._selectDate(j.getDate(),"mouse",I.shiftKey)}else{var F=new Date(E.getDate());E._selectDate(j.getDate(),"mouse",I.shiftKey);E.value._setYear(r.getFullYear());E.value._setDay(1);E.value._setMonth(r.getMonth()+1);E.value._setDay(r.getDate());var G=E.host.find(".jqx-calendar-month");G.stop();G.css("margin-left","0px");var k=E.getDate();E._raiseEvent("2");if(j.isOtherMonth){E._raiseEvent("5",{selectionType:"mouse"})}}}}}return false}});if(!E.disabled){var h=function(F,j){if(!E.readOnly){var r=a(F.target);var i=a.data(E.element,r[0].id);if(i!=null&&i!=undefined){var k=i.getDate();if(E.getMinDate()<=k&&k<=E.getMaxDate()){i.isHighlighted=j;E._applyCellStyle(i,i.element,r)}}}};this.addHandler(n,"mouseenter",function(i){h(i,true);return false});this.addHandler(n,"mouseleave",function(i){h(i,false);return false})}f++;d[t]=c;t++}f=0;b++}var B=a.data(this.element,D[0].id);if(B!=undefined&&B!=null){B.cells=d}this.renderedCells=d;if(q!=undefined){this._addCellsTable(y,x)}this._applyCellStyles();this._refreshOtherMonthRows(B,s)},setMaxDate:function(b,c){if(b!=null&&typeof(b)=="string"){b=new Date(b);if(b=="Invalid Date"){return}}this.maxDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(c!==false){this.render()}},getMaxDate:function(){if(this.maxDate!=null&&this.maxDate!=undefined){return this.maxDate.dateTime}return null},setMinDate:function(b,c){if(b!=null&&typeof(b)=="string"){b=new Date(b);if(b=="Invalid Date"){return}}this.minDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(c!==false){this.render()}},getMinDate:function(){if(this.minDate!=null&&this.minDate!=undefined){return this.minDate.dateTime}return null},navigateTo:function(g,i){if(this.view=="month"){var h=this.getMinDate();var d=new Date(this.getMaxDate().getFullYear(),this.getMaxDate().getMonth()+1,this.getMaxDate().getDate());if((g<this._getYearAndMonthPart(h))||(g>this._getYearAndMonthPart(d))){return false}}else{if(g&&(g.getFullYear()<this.getMinDate().getFullYear()||g.getFullYear()>this.getMaxDate().getFullYear())){return false}}if(g==null){return false}if(i==undefined){var j=this;if(this._animating){return}this._animating=true;var e=this.host.find(".jqx-calendar-month-container");var k=a("<div></div>");k[0].style.width="100%";k[0].style.height="100%";k[0].style.overflow="hidden";k[0].style.position="relative";k[0].style.left="0px";k[0].style.top="-100%";e.append(k);if(this._viewClone){this._viewClone.stop();this._viewClone.remove()}if(this._newViewClone){this._newViewClone.stop();this._newViewClone.remove()}var m=this.host.find(".jqx-calendar-month");m.stop();m.css("margin-left","0px");var b=m.clone();this._viewClone=b;var l=new Date(this.value.dateTime);this.value._setYear(g.getFullYear());this.value._setDay(g.getDate());this.value._setMonth(g.getMonth()+1);var c=parseInt(this.month.css("padding-top"));j.refreshControl();k.css("overflow","hidden");e.css("position","relative");e.css("overflow","hidden");b.css("position","absolute");b.css("top",m.position().top-c);k.append(b);if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.month.css("position","relative");this.month.css("overflow","hidden");this.table.css("position","relative");this.table.css("overflow","hidden")}var f=-this.month.width();if(g<l){if(this.view=="month"&&g.getMonth()!=l.getMonth()){f=this.month.width()}else{if(g.getFullYear()!=l.getFullYear()){f=this.month.width()}}}b.animate({marginLeft:parseInt(f)+"px"},this.navigationDelay,function(){b.remove()});var n=m.clone();this._newViewClone=n;n.css("position","absolute");n.css("top",m.position().top-c);k.append(n);n.css("margin-left",-f);m.css("visibility","hidden");n.animate({marginLeft:"0px"},this.navigationDelay,function(){n.remove();m.css("visibility","inherit");k.remove();j._animating=false})}else{this.value._setYear(g.getFullYear());this.value._setDay(g.getDate());this.value._setMonth(g.getMonth()+1);var m=this.host.find(".jqx-calendar-month");m.stop();m.css("margin-left","0px");this.refreshControl()}this._raiseEvent("2");this._raiseEvent("8");return true},setDate:function(b){if(b!=null&&typeof(b)=="string"){b=new Date(b)}if(this.canRender==false){this.canRender=true;this.render()}this.navigateTo(b,"api");this._selectDate(b);if(this.selectionMode=="range"){this._selectDate(b,"mouse")}return true},val:function(b){if(arguments.length!=0){if(b==null){this.setDate(null)}if(b instanceof Date){this.setDate(b)}if(typeof(b)=="string"){this.setDate(b)}}return this.getDate()},getDate:function(){if(this.selectedDate==undefined){return new Date()}return this.selectedDate},getValue:function(){if(this.value==undefined){return new Date()}return this.value.dateTime},setRange:function(c,b){if(this.canRender==false){this.canRender=true;this.render()}this.navigateTo(c,"api");this._selectDate(c,"mouse");this._selectDate(b,"mouse")},getRange:function(){return this.selection},_selectDate:function(d,g,c){if(this.selectionMode=="none"){return}if(g==null||g==undefined){g="none"}if(c==null||c==undefined){c=false}var i=a.data(this.element,"View"+this.element.id);if(i==undefined||i==null){return}if(this.changing){if(d&&this.selectedDate){if(this.selectedDate.getFullYear()!=d.getFullYear()||this.selectedDate.getDate()!=d.getDate()||this.selectedDate.getMonth()!=d.getMonth()){var j=this.changing(this.selectedDate,d)}if(j){d=j}}}var k=this;if(this.input){if(d!=null){this.input.val(d.toString())}else{this.input.val("")}}var e=this.selectedDate;this.selectedDate=d;if(this.view!="month"){if(e!=d){this._raiseEvent(7,{selectionType:g})}a.each(this.renderedCells,function(p){var l=this;var q=l.getDate();var m=a(l.element);var o=m.find("#cellContent"+m[0].id);if(d==null){l.isSelected=false;l.isDisabled=false}else{l.isSelected=false;if(q){if((q.getMonth()==d.getMonth()&&k.view=="year"&&q.getFullYear()==d.getFullYear())||(k.view=="decade"&&q.getFullYear()==d.getFullYear())){l.isSelected=true;try{if(g!="none"){l.element.focus()}}catch(n){}}}}k._applyCellStyle(l,m,m)});if(this.change){this.change(d)}return}if(this.view=="month"){if(this.selectionMode=="range"&&g=="key"){var f=this.getVisibleDate();var b=this.getFirstDayOfWeek(f);this.refreshCalendarCells(this.month,b,"View"+this.element.id)}}var h=false;a.each(this.renderedCells,function(r){var w=this;var o=w.getDate();var v=a(w.element);var l=v;if(v.length==0){return false}if(d==null){w.isSelected=false;w.isDisabled=false;if(r==0){k.selection={from:null,to:null};k._raiseEvent("2");k._raiseEvent("5",{selectionType:g})}}else{if(k.selectionMode!="range"||g=="key"){if(o.getDate()==d.getDate()&&o.getMonth()==d.getMonth()&&o.getFullYear()==d.getFullYear()&&w.isSelected){k._applyCellStyle(w,v,l);k._raiseEvent("5",{selectionType:g});return}if(w.isSelected){k._raiseEvent("6",{selectionType:g})}w.isSelected=false;if(o.getDate()==d.getDate()&&o.getMonth()==d.getMonth()&&o.getFullYear()==d.getFullYear()){w.isSelected=true;if(r==0){k.selection={date:d}}try{if(g!="none"){w.element.focus();k.host.focus()}}catch(s){}if(!w.isOtherMonth){k.value._setMonth(d.getMonth()+1);k.value._setDay(d.getDate());k.value._setYear(d.getFullYear());k._raiseEvent("2");k._raiseEvent("5",{selectionType:g})}}if(k.selectionMode=="range"){k._clicks=0;k.selection={from:d,to:d}}}else{if(k.selectionMode=="range"){if(g=="view"){w.isSelected=false;w.isDisabled=false;if(k.getMaxDate()<o){w.isDisabled=true}if(k.getMinDate()>o){w.isDisabled=true}if(k._isRestrictedDate(o)){w.isDisabled=true;w.isRestricted=true}if(!w.isDisabled&&k._isDisabled(o)){w.isDisabled=true}k._applyCellStyle(w,v,l);return true}if(r==0){if(g!="none"){if(k._clicks==undefined){k._clicks=0}k._clicks++;if(c){k._clicks++}if(k._clicks==1){k.selection={from:d,to:d}}else{var u=k.selection.from;var q=u<=d?u:d;var t=u<=d?d:u;if(q){var m=new Date(q.getFullYear(),q.getMonth(),q.getDate())}if(t){var n=new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,59)}k.selection={from:m,to:n};k._clicks=0}}else{if(k.selection==null||k.selection.from==null){k.selection={from:d,to:d};if(k._clicks==undefined){k._clicks=0}k._clicks++;if(k._clicks==2){k._clicks=0}}}}var p=function(y){if(y==null){return new Date()}var x=new Date();x.setHours(0,0,0,0);x.setFullYear(y.getFullYear(),y.getMonth(),y.getDate());return x};if(!w.isOtherMonth&&p(o).toString()==p(d).toString()){k.value._setMonth(d.getMonth()+1);k.value._setDay(d.getDate());k.value._setYear(d.getFullYear());k._raiseEvent("2");k._raiseEvent("5",{selectionType:g})}w.isSelected=false;w.isDisabled=h;if(p(o)<p(k.selection.from)&&k._clicks==1){w.isDisabled=true}if(k.getMaxDate()<o){w.isDisabled=true}if(k.getMinDate()>o){w.isDisabled=true}if(k._isRestrictedDate(o)){w.isRestricted=true;w.isDisabled=true}if(!w.isDisabled&&k._isDisabled(o)){w.isDisabled=true}if(!w.isDisabled){if(p(o)>=p(k.selection.from)&&p(o)<=p(k.selection.to)){w.isSelected=true}}else{if(!k.allowRestrictedDaysInRange&&p(o)>=p(k.selection.from)&&k.selection.to==k.selection.from){h=true}}}}}k._applyCellStyle(w,v,l)});if(k.selectionMode=="range"&&k._clicks==0){k._raiseEvent(7,{selectionType:g});return}else{if(k.selectionMode=="range"){return}}if(e!=d){k._raiseEvent(7,{selectionType:g});if(this.change){this.change(d)}}},_getSelectedDate:function(){var d=a.data(this.element,"View"+this.element.id);if(d==undefined||d==null){return}if(this.view!="month"){return this.selectedDate}for(var c=0;c<d.cells.length;c++){var b=d.cells[c];var e=b.getDate();if(b.isSelected){return e}}if(this.selectedDate){return this.selectedDate}},_getSelectedCell:function(){var d=a.data(this.element,"View"+this.element.id);if(d==undefined||d==null){return}for(var c=0;c<d.cells.length;c++){var b=d.cells[c];var e=b.getDate();if(b.isSelected){return b}}},_applyCellStyle:function(c,d,g){var e=this;if(g==null||(g!=null&&g.length==0)){g=d}var b="";b=this.toThemeProperty("jqx-rc-all");b+=" "+this.toThemeProperty("jqx-item");if(this.disabled||(c.isDisabled&&!c.isRestricted)){b+=" "+this.toThemeProperty("jqx-calendar-cell-disabled");b+=" "+this.toThemeProperty("jqx-fill-state-disabled")}if(!this.disabled&&c.isRestricted){b+=" "+this.toThemeProperty("jqx-calendar-cell-restrictedDate")}if(c.isOtherMonth&&this.enableOtherMonthDays&&c.isVisible){b+=" "+this.toThemeProperty("jqx-calendar-cell-othermonth")}if(c.isWeekend&&this.enableWeekend&&c.isVisible&&c.isVisible){b+=" "+this.toThemeProperty("jqx-calendar-cell-weekend")}if(this.isMaterialized()){b+=" ripple"}if(!c.isVisible){b+=" "+this.toThemeProperty("jqx-calendar-cell-hidden")}else{b+=" "+this.toThemeProperty("jqx-calendar-cell");if(this.view!="month"){if(g.length>0&&g.html().toLowerCase().indexOf("span")!=-1){g.css("cursor","default")}}}g.removeAttr("aria-selected");if(c.isSelected&&c.isVisible){b+=" "+this.toThemeProperty("jqx-calendar-cell-selected");b+=" "+this.toThemeProperty("jqx-fill-state-pressed");g.attr("aria-selected",true);this.host.removeAttr("aria-activedescendant").attr("aria-activedescendant",g[0].id);var f=c.getDate();if(this._isDisabled(f)){b+=" "+this.toThemeProperty("jqx-calendar-cell-selected-invalid")}}if(c.isHighlighted&&c.isVisible&&this.enableHover){if(!c.isDisabled){b+=" "+this.toThemeProperty("jqx-calendar-cell-hover");b+=" "+this.toThemeProperty("jqx-fill-state-hover")}}b+=" "+this.toThemeProperty("jqx-calendar-cell-"+this.view);if(c.isToday&&c.isVisible){b+=" "+this.toThemeProperty("jqx-calendar-cell-today")}g[0].className=b;if(this.specialDates.length>0){var h=this;a.each(this.specialDates,function(){if(this.Class!=undefined&&this.Class!=null&&this.Class!=""){g.removeClass(this.Class)}else{g.removeClass(e.toThemeProperty("jqx-calendar-cell-specialDate"))}var i=c.getDate();if(i.getFullYear()==this.Date.getFullYear()&&i.getMonth()==this.Date.getMonth()&&i.getDate()==this.Date.getDate()){if(c.tooltip==null&&this.Tooltip!=null){c.tooltip=this.Tooltip;if(a(g).jqxTooltip){var j=this.Class;a(g).jqxTooltip({value:{cell:c,specialDate:this.Date},name:h.element.id,content:this.Tooltip,position:"mouse",theme:h.theme,opening:function(k){if(g.hasClass(e.toThemeProperty("jqx-calendar-cell-specialDate"))){return true}if(g.hasClass(j)){return true}return false}})}}g.removeClass(e.toThemeProperty("jqx-calendar-cell-othermonth"));g.removeClass(e.toThemeProperty("jqx-calendar-cell-weekend"));if(this.Class==undefined||this.Class==""){g.addClass(e.toThemeProperty("jqx-calendar-cell-specialDate"));return false}else{g.addClass(this.Class);return false}}})}},_applyCellStyles:function(){var f=a.data(this.element,"View"+this.element.id);if(f==undefined||f==null){return}for(var e=0;e<f.cells.length;e++){var b=f.cells[e];var c=a(b.element);var d=c.find("#cellContent"+c[0].id);if(d.length==0){d=c}this._applyCellStyle(b,c,d)}},getWeekOfYear:function(d){var j=new Date(d.dateTime);var h=this.firstDayOfWeek;var e=new Date(j.getFullYear(),0,1);var i=e.getDay()-h;i=(i>=0?i:i+7);var c=Math.floor((j.getTime()-e.getTime()-(j.getTimezoneOffset()-e.getTimezoneOffset())*60000)/86400000)+1;var f;if(i<4){f=Math.floor((c+i-1)/7)+1;if(f>52){var g=new Date(j.getFullYear()+1,0,1);var b=g.getDay()-h;b=b>=0?b:b+7;f=b<4?1:53}}else{f=Math.floor((c+i-1)/7)}return f},renderColumnHeader:function(w){if(!this.showDayNames){return}var t=a("<table role='grid' style='border-spacing: 0px; border-collapse: collapse; width: 100%; height: 100%;' cellspacing='0' cellpadding='1'><tr role='row'><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td><td role='gridcell'></td></tr></table>");t.find("table").addClass(this.toThemeProperty("jqx-reset"));t.find("tr").addClass(this.toThemeProperty("jqx-reset"));t.find("td").css({background:"transparent",padding:1,margin:0,border:"none"});t.addClass(this.toThemeProperty("jqx-reset"));t.addClass(this.toThemeProperty("jqx-widget-content"));t.addClass(this.toThemeProperty("jqx-calendar-column-header"));this.columnHeader.append(t);var d=this.getVisibleDate();var h=this.getFirstDayOfWeek(d);var m=h.dayOfWeek;var x=this.getWeekOfYear(h);var q=this.firstDayOfWeek;var v=this.localization.calendar.days.names;var n=new Array();var g=h;var o=(w.width()-this.rowHeaderWidth-2)/7;if(!this.showWeekNumbers){o=(w.width()-2)/7}for(var s=0;s<7;s++){var f=v[q];if(this.rtl){f=v[6-q]}switch(this.dayNameFormat){case"default":f=this.localization.calendar.days.namesAbbr[q];if(this.rtl){f=this.localization.calendar.days.namesAbbr[6-q]}break;case"shortest":f=this.localization.calendar.days.namesShort[q];if(this.rtl){f=this.localization.calendar.days.namesShort[6-q]}break;case"firstTwoLetters":f=f.substring(0,2);break;case"firstLetter":f=f.substring(0,1);break}var b=new a.jqx._jqxCalendar.cell(g.dateTime);var k=s+1;var l=k+this.element.id;var j=a(t[0].rows[0].cells[s]);var p=s;if(this.enableTooltips){if(a(j).jqxTooltip){a(j).jqxTooltip({name:this.element.id,content:v[q],theme:this.theme,position:"mouse"})}}if(q>=6){q=0}else{q++}s=p;b.element=j;b.row=0;b.column=s+1;var e=this._textwidth(f);var c="<div style='padding: 0; margin: 0; border: none; background: transparent;' id='columnCell"+l+"'>"+f+"</div>";j.append(c);j.find("#columnCell"+l).addClass(this.toThemeProperty("jqx-calendar-column-cell"));j.width(o);if(this.disabled){j.find("#columnCell"+l).addClass(this.toThemeProperty("jqx-calendar-column-cell-disabled"))}if(e>0&&o>0){while(e>j.width()){if(f.length==0){break}f=f.substring(0,f.length-1);a.jqx.utilities.html(j.find("#columnCell"+l),f);e=this._textwidth(f)}}n[s]=b;g=new a.jqx._jqxDateTimeInput.getDateTime(new Date(g._addDays(1)))}if(parseInt(this.columnHeader.width())>parseInt(this.month.width())){this.columnHeader.width(this.month.width())}var u=a.data(this.element,w[0].id);u.columnCells=n},_format:function(d,e,b){var f=false;try{if(window.Globalize!=undefined){f=true}else{if(document.Globalize){window.Globalize=document.Globalize;f=true}}}catch(c){if(document.Globalize){window.Globalize=document.Globalize;f=true}}if(document.Globalize){window.Globalize=document.Globalize;f=true}if(a.global){a.global.culture.calendar=this.localization.calendar;return a.global.format(d,e,this.culture)}else{if(f){try{if(window.Globalize.cultures[this.culture]){window.Globalize.cultures[this.culture].calendar=this.localization.calendar;return window.Globalize.format(d,e,this.culture)}else{return window.Globalize.format(d,e,this.culture)}}catch(c){return window.Globalize.format(d,e)}}else{if(a.jqx.dataFormat){return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}}}},_textwidth:function(d){var c=a("<span>"+d+"</span>");c.addClass(this.toThemeProperty("jqx-calendar-column-cell"));a(this.host).append(c);var b=c.width();c.remove();return b},_textheight:function(d){var c=a("<span>"+d+"</span>");a(this.host).append(c);var b=c.height();c.remove();return b},_renderRowHeader:function(k){var g=this.getVisibleDate();var c=this.getFirstDayOfWeek(g);var f=c.dayOfWeek;var s=this.getWeekOfYear(c);var o=new a.jqx._jqxDateTimeInput.getDateTime(new Date(c.dateTime));o._addDays(5);o.dayOfWeek=o.dateTime.getDay();var m=this.getWeekOfYear(o);if(53==s&&o.dateTime.getMonth()==0){s=1}var l=a("<table style='overflow: hidden; width: 100%; height: 100%;' cellspacing='0' cellpadding='1'><tr><td></td></tr><tr><td/></tr><tr><td/></tr><tr><td/></tr><tr><td/></tr><tr><td/></tr></table>");l.find("table").addClass(this.toThemeProperty("jqx-reset"));l.find("td").addClass(this.toThemeProperty("jqx-reset"));l.find("tr").addClass(this.toThemeProperty("jqx-reset"));l.addClass(this.toThemeProperty("jqx-calendar-row-header"));l.width(this.rowHeaderWidth);this.rowHeader.append(l);var d=c;var r=new Array();for(var h=0;h<6;h++){var e=s.toString();var q=new a.jqx._jqxCalendar.cell(d.dateTime);var j=h+1+this.element.id;var p=a(l[0].rows[h].cells[0]);q.element=p;q.row=h;q.column=0;var b="<div style='background: transparent; border: none; padding: 0; margin: 0;' id ='headerCellContent"+j+"'>"+e+"</div>";p.append(b);p.find("#headerCellContent"+j).addClass(this.toThemeProperty("jqx-calendar-row-cell"));r[h]=q;d=new a.jqx._jqxDateTimeInput.getDateTime(new Date(d._addWeeks(1)));s=this.getWeekOfYear(d)}var n=a.data(this.element,k[0].id);n.rowCells=r},getFirstDayOfWeek:function(e){var d=e;if(this.firstDayOfWeek<0||this.firstDayOfWeek>6){this.firstDayOfWeek=6}var c=d.dayOfWeek-this.firstDayOfWeek;if(c<=0){c+=7}var b=a.jqx._jqxDateTimeInput.getDateTime(d._addDays(-c));return b},getVisibleDate:function(){var c=new a.jqx._jqxDateTimeInput.getDateTime(new Date(this.value.dateTime));if(c<this.minDate){c=this.minDate}if(c>this.maxDate){this.visibleDate=this.maxDate}c.dateTime.setHours(0);var d=c.day;var b=a.jqx._jqxDateTimeInput.getDateTime(c._addDays(-d+1));c=b;return c},destroy:function(b){a.jqx.utilities.resize(this.host,null,true);this.host.removeClass();if(b!=false){this.host.remove()}},_raiseEvent:function(d,i){if(i==undefined){i={owner:null}}var h=this.events[d];var g=i?i:{};g.owner=this;var c=new a.Event(h);c.owner=this;c.args=g;if(d==0||d==1||d==2||d==3||d==4||d==5||d==6||d==7||d==8){c.args.date=c.args.selectedDate=this.getDate();c.args.range=this.getRange();var e=this.getViewStart();var f=this.getViewEnd();c.args.view={from:e,to:f}}if(d==7){var b=g.selectionType;if(!b){b=null}if(b=="key"){b="keyboard"}if(b=="none"){b=null}g.type=b}var j=this.host.trigger(c);if(d==0||d==1){j=false}return j},propertyMap:function(b){if(b=="value"){if(this.selectionMode!="range"){return this.getDate()}else{return this.getRange()}}return null},_setSize:function(){var d=this.host.find("#View"+this.element.id);if(d.length>0){this.setCalendarSize();d[0].style.height="100%";d[0].style.width="100%";var c=this.month.height()-this.titleHeight-this.columnHeaderHeight;var b="View"+this.element.id;d.find("#cellsTable"+b).height(c);d.find("#calendarRowHeader"+b).height(c);this.refreshControl()}},resize:function(){this._setSize()},clear:function(){if(this.selectionMode=="range"){this._clicks=1;this.setRange(null,null);this._raiseEvent(7)}else{this.setDate(null,"mouse")}this._clicks=0;this.selection={from:null,to:null}},today:function(){if(this.selectionMode=="range"){this.setRange(new Date(),new Date())}else{this.setDate(new Date(),"mouse")}},propertiesChangedHandler:function(b,c,d){if(d.width&&d.height&&Object.keys(d).length==2){b._setSize()}},propertyChangedHandler:function(d,e,g,f){if(this.isInitialized==undefined||this.isInitialized==false){return}if(d.batchUpdate&&d.batchUpdate.width&&d.batchUpdate.height&&Object.keys(d.batchUpdate).length==2){return}if(e=="enableHover"){return}if(e=="keyboardNavigation"){return}if(e=="localization"){if(this.localization){if(this.localization.backString){this.backText=this.localization.backString}if(this.localization.forwardString){this.forwardText=this.localization.forwardString}if(this.localization.todayString){this.todayString=this.localization.todayString}if(this.localization.clearString){this.clearString=this.localization.clearString}this.firstDayOfWeek=this.localization.calendar.firstDay}}if(e=="culture"){try{if(a.global){a.global.preferCulture(d.culture);d.localization.calendar=a.global.culture.calendar}else{if(window.Globalize){var b=window.Globalize.culture(d.culture);d.localization.calendar=b.calendar}}if(d.localization.calendar&&d.localization.calendar.firstDay!=undefined&&d.culture!="default"){d.firstDayOfWeek=d.localization.calendar.firstDay}}catch(c){}}if(e=="views"){if(d.views.indexOf("month")==-1){d.view="year"}if(d.views.indexOf("year")==-1&&d.views.indexOf("month")==-1){d.view="decade"}d.render();return}if(e=="showFooter"){d.render()}if(e=="width"||e=="height"){d._setSize();return}else{if(e=="theme"){a.jqx.utilities.setTheme(g,f,d.host)}else{if(e=="rowHeaderWidth"||e=="showWeekNumbers"){d.render()}else{d.view="month";d.render();d.refreshControl()}}}if(e==="firstDayOfWeek"){d.refreshControl()}}})})(jqxBaseFramework);(function(a){a.jqx._jqxCalendar.cell=function(c){var b={dateTime:new a.jqx._jqxDateTimeInput.getDateTime(c),_date:c,getDate:function(){return this._date},setDate:function(d){this.dateTime=new a.jqx._jqxDateTimeInput.getDateTime(d);this._date=d},isToday:false,isWeekend:false,isOtherMonth:false,isVisible:true,isSelected:false,isHighlighted:false,element:null,row:-1,column:-1,tooltip:null};return b};a.jqx._jqxCalendar.monthView=function(c,h,d,b,f,e){var g={start:c,end:h,cells:d,rowCells:b,columnCells:f,element:e};return g}})(jqxBaseFramework);
 
@@ -42,7 +42,7 @@
 
 (function(a){a.extend(a.jqx._jqxChart.prototype,{_moduleWaterfall:true,_isSummary:function(e,c){var f=this.seriesGroups[e];for(var d=0;d<f.series.length;d++){if(undefined===f.series[d].summary){continue}var b=this._getDataValue(c,f.series[d].summary,e);if(undefined!==b){return true}}return false},_applyWaterfall:function(x,z,g,f,A,h,C,e,p){var o=this.seriesGroups[g];if(x.length==0){return x}var t=f;var b={};var c=[];var d=undefined;var D=[];for(var v=0;v<o.series.length;v++){D.push(this._isSerieVisible(g,v))}var r={};for(var w=0;w<z;w++){var m=f;var n=0;var l=this._isSummary(g,w);for(var v=0;v<x.length;v++){if(!D[v]){continue}var B=0;if(l){B=m==f?A:0;x[v][w].value=b[v];x[v][w].summary=true;d=x[v][w].value<B;if(e){d=!d}var s=0;if(!isNaN(h)){s=this._getDataPointOffsetDiff(x[v][w].value+n,n==0?A:n,B||A,h,C,f,e)}else{s=this._getDataPointOffsetDiff(x[v][w].value,B,B,NaN,C,f,e)}x[v][w].to=m+(d?s:-s);x[v][w].from=m;if(p){n+=x[v][w].value;m=x[v][w].to}continue}var u=p?-1:v;if(isNaN(x[v][w].value)){continue}if(undefined===r[u]){B=A;r[u]=true}d=x[v][w].value<B;if(e){d=!d}var q=NaN,s=NaN;if(!p){q=w==0?f:x[v][c[v]].to}else{q=t}var s=0;if(!isNaN(h)){s=this._getDataPointOffsetDiff(x[v][w].value+(isNaN(b[u])?0:b[u]),isNaN(b[u])?A:b[u],B||A,h,C,q,e)}else{s=this._getDataPointOffsetDiff(x[v][w].value,B,B,NaN,C,f,e)}x[v][w].to=t=q+(d?s:-s);x[v][w].from=q;if(isNaN(b[u])){b[u]=x[v][w].value}else{b[u]+=x[v][w].value}if(u==-1){if(isNaN(b[v])){b[v]=x[v][w].value}else{b[v]+=x[v][w].value}}if(!p){c[v]=w}}}return x}})})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxCheckBox","",{});a.extend(a.jqx._jqxCheckBox.prototype,{defineInstance:function(){var b={animationShowDelay:300,animationHideDelay:300,width:null,height:null,boxSize:"16px",checked:false,hasThreeStates:false,disabled:false,enableContainerClick:true,locked:false,groupName:"",keyboardCheck:true,enableHover:true,hasInput:true,rtl:false,updated:null,disabledContainer:false,changeType:null,_canFocus:true,aria:{"aria-checked":{name:"checked",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}},events:["checked","unchecked","indeterminate","change"]};if(this===a.jqx._jqxCheckBox.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._createFromInput("CheckBox");c.render()},_createFromInput:function(c){var j=this;if(j.element.nodeName.toLowerCase()=="input"){j.field=j.element;if(j.field.className){j._className=j.field.className}var l={title:j.field.title};if(j.field.value){l.value=j.field.value}if(j.field.checked){l.checked=true}if(j.field.id.length){l.id=j.field.id.replace(/[^\w]/g,"_")+"_"+c}else{l.id=a.jqx.utilities.createId()+"_"+c}var e=j.element.nextSibling;var h=false;if(e&&(e.nodeName=="#text"||e.nodeName=="span")){h=true}var k=0;var b=a("<div></div>",l);if(h){b.append(e);var i=a("<span>"+a(e).text()+"</span>");i.appendTo(a(document.body));k+=i.width();i.remove()}b[0].style.cssText=j.field.style.cssText;if(!j.width){j.width=a(j.field).width()+k+10}if(!j.height){j.height=a(j.field).outerHeight()+10}a(j.field).hide().after(b);var g=j.host.data();j.host=b;j.host.data(g);j.element=b[0];j.element.id=j.field.id;j.field.id=l.id;if(j._className){j.host.addClass(j._className);a(j.field).removeClass(j._className)}if(j.field.tabIndex){var d=j.field.tabIndex;j.field.tabIndex=-1;j.element.tabIndex=d}}},_addInput:function(){if(this.hasInput){if(this.input){this.input.remove()}var b=this.host.attr("name");this.input=a("<input type='hidden'/>");this.host.append(this.input);if(b){this.input.attr("name",b)}this.input.val(this.checked);this.host.attr("role","checkbox");a.jqx.aria(this)}},render:function(){this.init=true;var d=this;this.setSize();this.propertyChangeMap.width=function(h,j,i,k){d.setSize()};this.propertyChangeMap.height=function(h,j,i,k){d.setSize()};this._removeHandlers();if(!this.width){this.host.css("overflow-x","visible")}if(!this.height){this.host.css("overflow-y","visible")}if(this.checkbox){this.checkbox.remove();this.checkbox=null}if(this.checkMark){this.checkMark.remove();this.checkMark=null}if(this.box){this.box.remove();this.box=null}if(this.clear){this.clear.remove();this.clear=null}if(this.boxSize==null){this.boxSize=16}var g=parseInt(this.boxSize)+"px";var f="16px";var e=Math.floor((parseInt(this.boxSize)-16)/2);var b=e;e+="px";b+="px";if(parseInt(this.boxSize)!=16){this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="position: relative; left: '+e+"; top: "+b+"; width: "+f+"; height: "+f+';"></span></div></div>')}else{this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="width: '+g+"; height: "+g+';"></span></div></div>')}this.host.prepend(this.checkbox);if(!this.disabledContainer){if(!this.host.attr("tabIndex")){this.host.attr("tabIndex",0)}this.clear=a('<div style="clear: both;"></div>');this.host.append(this.clear)}this.checkMark=a(this.checkbox[0].firstChild.firstChild);this.box=this.checkbox;this.box.addClass(this.toThemeProperty("jqx-checkbox-default")+" "+this.toThemeProperty("jqx-fill-state-normal")+" "+this.toThemeProperty("jqx-rc-all"));if(this.disabled){this.disable()}if(!this.disabledContainer){this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-checkbox"))}if(this.locked&&!this.disabledContainer){this.host.css("cursor","auto")}var c=this.element.getAttribute("checked");if(c=="checked"||c=="true"||c==true){this.checked=true}this._addInput();this._render();this._addHandlers();this.init=false;this._centerBox();if(this.isMaterialized()){a(this.checkbox).addClass("ripple");a.jqx.ripple(a(this.checkbox),this.host,"checkbox")}},_centerBox:function(){if(this.height&&this.height.toString().indexOf("%")==-1&&this.box){var b=parseInt(this.height);this.host.css("line-height",b+"px");var c=b-parseInt(this.boxSize)-1;c/=2;this.box.css("margin-top",parseInt(c))}},refresh:function(b){if(!b){this.setSize();this._render()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},setSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}else{if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.element.style.width=this.width}}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}else{if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.element.style.height=this.height}}}this._centerBox()},_addHandlers:function(){var d=this;var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b=a.jqx.mobile.getTouchEventName("touchend")}this.addHandler(this.box,b,function(e){if(!d.disabled&&!d.enableContainerClick&&!d.locked){d.changeType="mouse";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}});if(!this.disabledContainer){this.addHandler(this.host,"keydown",function(e){if(!d.disabled&&!d.locked&&d.keyboardCheck){if(e.keyCode==32){if(!d._canFocus){return true}d.changeType="keyboard";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}}});this.addHandler(this.host,b,function(e){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.clickTime=new Date();d.changeType="mouse";d.toggle();if(e.preventDefault){e.preventDefault()}if(d._canFocus){d.focus()}return false}});this.addHandler(this.host,"selectstart",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}return false}});this.addHandler(this.host,"mouseup",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}}});this.addHandler(this.host,"focus",function(e){if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.addClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}a(d.checkbox).removeClass("active");if(!d.clickTime||(d.clickTime&&(new Date()-d.clickTime>300))){a(d.checkbox).addClass("active")}d.hovered=true;return false}});this.addHandler(this.host,"blur",function(e){a(d.checkbox).removeClass("active");if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.removeClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}});this.addHandler(this.host,"mouseenter",function(e){if(d.locked){d.host.css("cursor","arrow")}if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=true;return false}}});this.addHandler(this.host,"mouseleave",function(e){if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}}});this.addHandler(this.box,"mouseenter",function(){if(d.locked){return}if(!d.disabled&&!d.enableContainerClick){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"))}});this.addHandler(this.box,"mouseleave",function(){if(!d.disabled&&!d.enableContainerClick){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}})}},focus:function(){try{this.host.focus()}catch(b){}},_removeHandlers:function(){var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b="touchend"}if(this.box){this.removeHandler(this.box,b);this.removeHandler(this.box,"mouseenter");this.removeHandler(this.box,"mouseleave")}this.removeHandler(this.host,b);this.removeHandler(this.host,"mouseup");this.removeHandler(this.host,"selectstart");this.removeHandler(this.host,"mouseenter");this.removeHandler(this.host,"mouseleave");this.removeHandler(this.host,"keydown");this.removeHandler(this.host,"blur");this.removeHandler(this.host,"focus")},_render:function(){if(!this.disabled){if(this.enableContainerClick){this.host.css("cursor","pointer")}else{if(!this.init){this.host.css("cursor","auto")}}}else{this.disable()}if(this.rtl){this.box.addClass(this.toThemeProperty("jqx-checkbox-rtl"));this.host.addClass(this.toThemeProperty("jqx-rtl"))}this.updateStates();this.host.attr("checked",this.checked)},_setState:function(c,b){if(this.checked!=c){this.checked=c;if(this.checked){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-checked")}else{if(this.checked==null){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-indeterminate")}else{this.checkMark[0].className=""}}}if(b===false||b===true){this.locked=b}if(c){this.element.setAttribute("checked",true)}else{this.element.removeAttribute("checked")}},val:function(b){if(arguments.length==0||(b!=null&&typeof(b)=="object")){return this.checked}if(typeof b=="string"){if(b=="true"){this.check()}if(b=="false"){this.uncheck()}if(b==""){this.indeterminate()}}else{if(b==true){this.check()}if(b==false){this.uncheck()}if(b==null){this.indeterminate()}}return this.checked},check:function(){this.checked=true;var c=this;this.checkMark.removeClass();this.element.setAttribute("checked",true);if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}if(this.groupName!=null&&this.groupName.length>0){var d=a.find(this.toThemeProperty(".jqx-checkbox",true));a.each(d,function(){var e=a(this).jqxCheckBox("groupName");if(e==c.groupName&&this!=c.element){a(this).jqxCheckBox("uncheck")}})}var b=this.changeType;this._raiseEvent("0",true);this.changeType=b;this._raiseEvent("3",{checked:true});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},uncheck:function(){this.checked=false;var c=this;this.element.removeAttribute("checked");if(a.jqx.browser.msie||this.animationHideDelay==0){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}}else{this.checkMark.css("opacity",1);this.checkMark.stop().animate({opacity:0},this.animationHideDelay,function(){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}})}var b=this.changeType;this._raiseEvent("1");this.changeType=b;this._raiseEvent("3",{checked:false});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},indeterminate:function(){this.checked=null;this.checkMark.removeClass();if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}var b=this.changeType;this._raiseEvent("2");this._raiseEvent("3",{checked:null});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked","undefined");this.host.attr("checked","undefined")}},toggle:function(){if(this.disabled){return}if(this.locked){return}if(this.groupName!=null&&this.groupName.length>0){if(this.checked!=true){this.checked=true;this.updateStates()}return}this.oldChecked=this.checked;if(this.checked==true){this.checked=this.hasThreeStates?null:false}else{this.checked=this.checked!=null}this.updateStates();if(this.input!=undefined){this.input.val(this.checked)}},updateStates:function(){if(this.checked){this.check()}else{if(this.checked==false){this.uncheck()}else{if(this.checked==null){this.indeterminate()}}}},disable:function(){this.disabled=true;if(this.checked==true){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.addClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled"));a.jqx.aria(this,"aria-disabled",this.disabled)},enable:function(){if(this.checked==true){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.disabled=false;a.jqx.aria(this,"aria-disabled",this.disabled)},destroy:function(){this.host.remove()},_raiseEvent:function(g,e){if(this.init){return}var c=this.events[g];var f=new a.Event(c);f.owner=this;if(!e){e={}}e.type=this.changeType;this.changeType=null;f.args=e;try{var b=this.host.trigger(f)}catch(d){}return b},propertiesChangedHandler:function(b,c,d){if(d.width&&d.height&&Object.keys(d).length==2){b.setSize()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c=="enableContainerClick"&&!b.disabled&&!b.locked){if(d){b.host.css("cursor","pointer")}else{b.host.css("cursor","auto")}}if(c=="rtl"){if(d){b.box.addClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.addClass(b.toThemeProperty("jqx-rtl"))}else{b.box.removeClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.removeClass(b.toThemeProperty("jqx-rtl"))}}if(c=="boxSize"){b.render()}if(c=="theme"){a.jqx.utilities.setTheme(e,d,b.host)}if(c=="checked"){if(d!=e){switch(d){case true:b.check();break;case false:b.uncheck();break;case null:b.indeterminate();break}}}if(c=="disabled"){if(d!=e){if(d){b.disable()}else{b.enable()}}}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxCheckBox","",{});a.extend(a.jqx._jqxCheckBox.prototype,{defineInstance:function(){var b={animationShowDelay:300,animationHideDelay:300,width:null,height:null,boxSize:"16px",checked:false,hasThreeStates:false,disabled:false,enableContainerClick:true,locked:false,groupName:"",keyboardCheck:true,enableHover:true,hasInput:true,rtl:false,updated:null,disabledContainer:false,changeType:null,_canFocus:true,aria:{"aria-checked":{name:"checked",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}},events:["checked","unchecked","indeterminate","change"]};if(this===a.jqx._jqxCheckBox.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._createFromInput("CheckBox");c.render()},_createFromInput:function(c){var j=this;if(j.element.nodeName.toLowerCase()=="input"){j.field=j.element;if(j.field.className){j._className=j.field.className}var l={title:j.field.title};if(j.field.value){l.value=j.field.value}if(j.field.checked){l.checked=true}if(j.field.id.length){l.id=j.field.id.replace(/[^\w]/g,"_")+"_"+c}else{l.id=a.jqx.utilities.createId()+"_"+c}var e=j.element.nextSibling;var h=false;if(e&&(e.nodeName=="#text"||e.nodeName=="span")){h=true}var k=0;var b=a("<div></div>",l);if(h){b.append(e);var i=a("<span>"+a(e).text()+"</span>");i.appendTo(a(document.body));k+=i.width();i.remove()}b[0].style.cssText=j.field.style.cssText;if(!j.width){j.width=a(j.field).width()+k+10}if(!j.height){j.height=a(j.field).outerHeight()+10}a(j.field).hide().after(b);var g=j.host.data();j.host=b;j.host.data(g);j.element=b[0];j.element.id=j.field.id;j.field.id=l.id;if(j._className){j.host.addClass(j._className);a(j.field).removeClass(j._className)}if(j.field.tabIndex){var d=j.field.tabIndex;j.field.tabIndex=-1;j.element.tabIndex=d}}},_addInput:function(){if(this.hasInput){if(this.input){this.input.remove()}var b=this.host.attr("name");this.input=a("<input type='hidden'/>");this.host.append(this.input);if(b){this.input.attr("name",b)}this.input.val(this.checked);this.host.attr("role","checkbox");a.jqx.aria(this)}},render:function(){this.init=true;var d=this;this.setSize();this.propertyChangeMap.width=function(h,j,i,k){d.setSize()};this.propertyChangeMap.height=function(h,j,i,k){d.setSize()};this._removeHandlers();if(!this.width){this.host.css("overflow-x","visible")}if(!this.height){this.host.css("overflow-y","visible")}if(this.checkbox){this.checkbox.remove();this.checkbox=null}if(this.checkMark){this.checkMark.remove();this.checkMark=null}if(this.box){this.box.remove();this.box=null}if(this.clear){this.clear.remove();this.clear=null}if(this.boxSize==null){this.boxSize=16}var g=parseInt(this.boxSize)+"px";var f="16px";var e=Math.floor((parseInt(this.boxSize)-16)/2);var b=e;e+="px";b+="px";if(parseInt(this.boxSize)!=16){this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="position: relative; left: '+e+"; top: "+b+"; width: "+f+"; height: "+f+';"></span></div></div>')}else{this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="width: '+g+"; height: "+g+';"></span></div></div>')}this.host.prepend(this.checkbox);if(!this.disabledContainer){if(!this.host.attr("tabIndex")){this.host.attr("tabIndex",0)}this.clear=a('<div style="clear: both;"></div>');this.host.append(this.clear)}this.checkMark=a(this.checkbox[0].firstChild.firstChild);this.box=this.checkbox;this.box.addClass(this.toThemeProperty("jqx-checkbox-default")+" "+this.toThemeProperty("jqx-fill-state-normal")+" "+this.toThemeProperty("jqx-rc-all"));if(this.disabled){this.disable()}if(!this.disabledContainer){this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-checkbox"))}if(this.locked&&!this.disabledContainer){this.host.css("cursor","auto")}var c=this.element.getAttribute("checked");if(c=="checked"||c=="true"||c==true){this.checked=true}this._addInput();this._render();this._addHandlers();this.init=false;this._centerBox();if(this.isMaterialized()){a(this.checkbox).addClass("ripple");a.jqx.ripple(a(this.checkbox),this.host,"checkbox")}},_centerBox:function(){if(this.height&&this.height.toString().indexOf("%")==-1&&this.box){var b=parseInt(this.height);this.host.css("line-height",b+"px");var c=b-parseInt(this.boxSize)-1;c/=2;this.box.css("margin-top",parseInt(c))}},refresh:function(b){if(!b){this.setSize();this._render()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},setSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}else{if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.element.style.width=this.width}}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}else{if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.element.style.height=this.height}}}this._centerBox()},_addHandlers:function(){var d=this;var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b=a.jqx.mobile.getTouchEventName("touchend")}this.addHandler(this.box,b,function(e){if(!d.disabled&&!d.enableContainerClick&&!d.locked){d.changeType="mouse";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}});if(!this.disabledContainer){this.addHandler(this.host,"keydown",function(e){if(!d.disabled&&!d.locked&&d.keyboardCheck){if(e.keyCode==32){if(!d._canFocus){return true}d.changeType="keyboard";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}}});this.addHandler(this.host,b,function(e){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.clickTime=new Date();d.changeType="mouse";d.toggle();if(e.preventDefault){e.preventDefault()}if(d._canFocus){d.focus()}return false}});this.addHandler(this.host,"selectstart",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}return false}});this.addHandler(this.host,"mouseup",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}}});this.addHandler(this.host,"focus",function(e){if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.addClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}a(d.checkbox).removeClass("active");if(!d.clickTime||(d.clickTime&&(new Date()-d.clickTime>300))){a(d.checkbox).addClass("active")}d.hovered=true;return false}});this.addHandler(this.host,"blur",function(e){a(d.checkbox).removeClass("active");if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.removeClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}});this.addHandler(this.host,"mouseenter",function(e){if(d.locked){d.host.css("cursor","arrow")}if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=true;return false}}});this.addHandler(this.host,"mouseleave",function(e){if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}}});this.addHandler(this.box,"mouseenter",function(){if(d.locked){return}if(!d.disabled&&!d.enableContainerClick){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"))}});this.addHandler(this.box,"mouseleave",function(){if(!d.disabled&&!d.enableContainerClick){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}})}},focus:function(){try{this.host.focus()}catch(b){}},_removeHandlers:function(){var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b="touchend"}if(this.box){this.removeHandler(this.box,b);this.removeHandler(this.box,"mouseenter");this.removeHandler(this.box,"mouseleave")}this.removeHandler(this.host,b);this.removeHandler(this.host,"mouseup");this.removeHandler(this.host,"selectstart");this.removeHandler(this.host,"mouseenter");this.removeHandler(this.host,"mouseleave");this.removeHandler(this.host,"keydown");this.removeHandler(this.host,"blur");this.removeHandler(this.host,"focus")},_render:function(){if(!this.disabled){if(this.enableContainerClick){this.host.css("cursor","pointer")}else{if(!this.init){this.host.css("cursor","auto")}}}else{this.disable()}if(this.rtl){this.box.addClass(this.toThemeProperty("jqx-checkbox-rtl"));this.host.addClass(this.toThemeProperty("jqx-rtl"))}this.updateStates();this.host.attr("checked",this.checked)},_setState:function(c,b){if(this.checked!=c){this.checked=c;if(this.checked){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-checked")}else{if(this.checked==null){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-indeterminate")}else{this.checkMark[0].className=""}}}if(b===false||b===true){this.locked=b}if(c){this.element.setAttribute("checked",true)}else{this.element.removeAttribute("checked")}},val:function(b){if(arguments.length==0||(b!=null&&typeof(b)=="object")){return this.checked}if(typeof b=="string"){if(b=="true"){this.check()}if(b=="false"){this.uncheck()}if(b==""){this.indeterminate()}}else{if(b==true){this.check()}if(b==false){this.uncheck()}if(b==null){this.indeterminate()}}return this.checked},check:function(){this.checked=true;var c=this;this.checkMark.removeClass();this.element.setAttribute("checked",true);if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}if(this.groupName!=null&&this.groupName.length>0){var d=a.find(this.toThemeProperty(".jqx-checkbox",true));a.each(d,function(){var e=a(this).jqxCheckBox("groupName");if(e==c.groupName&&this!=c.element){a(this).jqxCheckBox("uncheck")}})}var b=this.changeType;this._raiseEvent("0",{checked:true});this.changeType=b;this._raiseEvent("3",{checked:true});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},uncheck:function(){this.checked=false;var c=this;this.element.removeAttribute("checked");if(a.jqx.browser.msie||this.animationHideDelay==0){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}}else{this.checkMark.css("opacity",1);this.checkMark.stop().animate({opacity:0},this.animationHideDelay,function(){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}})}var b=this.changeType;this._raiseEvent("1");this.changeType=b;this._raiseEvent("3",{checked:false});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},indeterminate:function(){this.checked=null;this.checkMark.removeClass();if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}var b=this.changeType;this._raiseEvent("2");this._raiseEvent("3",{checked:null});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked","undefined");this.host.attr("checked","undefined")}},toggle:function(){if(this.disabled){return}if(this.locked){return}if(this.groupName!=null&&this.groupName.length>0){if(this.checked!=true){this.checked=true;this.updateStates()}return}this.oldChecked=this.checked;if(this.checked==true){this.checked=this.hasThreeStates?null:false}else{this.checked=this.checked!=null}this.updateStates();if(this.input!=undefined){this.input.val(this.checked)}},updateStates:function(){if(this.checked){this.check()}else{if(this.checked==false){this.uncheck()}else{if(this.checked==null){this.indeterminate()}}}},disable:function(){this.disabled=true;if(this.checked==true){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.addClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled"));a.jqx.aria(this,"aria-disabled",this.disabled)},enable:function(){if(this.checked==true){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.disabled=false;a.jqx.aria(this,"aria-disabled",this.disabled)},destroy:function(){this.host.remove()},_raiseEvent:function(g,e){if(this.init){return}var c=this.events[g];var f=new a.Event(c);f.owner=this;if(!e){e={}}e.type=this.changeType;this.changeType=null;f.args=e;try{var b=this.host.trigger(f)}catch(d){}return b},propertiesChangedHandler:function(b,c,d){if(d.width&&d.height&&Object.keys(d).length==2){b.setSize()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c=="enableContainerClick"&&!b.disabled&&!b.locked){if(d){b.host.css("cursor","pointer")}else{b.host.css("cursor","auto")}}if(c=="rtl"){if(d){b.box.addClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.addClass(b.toThemeProperty("jqx-rtl"))}else{b.box.removeClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.removeClass(b.toThemeProperty("jqx-rtl"))}}if(c=="boxSize"){b.render()}if(c=="theme"){a.jqx.utilities.setTheme(e,d,b.host)}if(c=="checked"){if(d!=e){switch(d){case true:b.check();break;case false:b.uncheck();break;case null:b.indeterminate();break}}}if(c=="disabled"){if(d!=e){if(d){b.disable()}else{b.enable()}}}}})})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxColorPicker","",{});a.extend(a.jqx._jqxColorPicker.prototype,{defineInstance:function(){var b={disabled:false,height:null,width:null,color:new a.jqx.color({hex:"ff0000"}),redString:"R:",greenString:"G:",blueString:"B:",showTransparent:false,colorMode:"saturation",_delayLoading:false,events:["colorchange"]};if(this===a.jqx._jqxColorPicker.prototype){return b}a.extend(true,this,b);return b},_createFromInput:function(c){var e=this;if(e.element.nodeName.toLowerCase()=="input"){e.field=e.element;if(e.field.className){e._className=e.field.className}var d={title:e.field.title};if(e.field.getAttribute("value")){var g=e.field.getAttribute("value");e.color=new a.jqx.color({hex:g})}if(e.field.id.length){d.id=e.field.id.replace(/[^\w]/g,"_")+"_"+c}else{d.id=a.jqx.utilities.createId()+"_"+c}var h=a("<div></div>",d);h[0].style.cssText=e.field.style.cssText;if(!e.width){e.width=a(e.field).width()}if(!e.height){e.height=a(e.field).outerHeight()}a(e.field).hide().after(h);var f=e.host.data();e.host=h;e.host.data(f);e.element=h[0];e.element.id=e.field.id;e.field.id=d.id;if(e._className){e.host.addClass(e._className);a(e.field).removeClass(e._className)}if(e.field.tabIndex){var b=e.field.tabIndex;e.field.tabIndex=-1;e.element.tabIndex=b}}},createInstance:function(c){this._createFromInput("jqxColorPicker");this.render();var b=this;a.jqx.utilities.resize(this.host,function(){b._setSize();b.refresh()},false,!this._delayLoading)},render:function(){this.element.innerHTML="";var b=this;this._isTouchDevice=a.jqx.mobile.isTouchDevice();if(typeof this.color=="string"){this.color=new a.jqx.color({hex:this.color})}this._setSize();this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-reset"));this.host.addClass(this.toThemeProperty("jqx-color-picker"));this.container=a("<div style='width: 100%; height: 100%; position: relative;'></div>");this.container.appendTo(this.host);this.colorMap=a("<div style='left: 0; top: 0; position: absolute;'></div>");this.colorMap.appendTo(this.container);this.colorBar=a("<div style='left: 0; top: 0; position: absolute;'></div>");this.colorBar.appendTo(this.container);this.colorPanel=a("<div style='left: 0; top: 0; position: absolute;'></div>");this.colorPanel.appendTo(this.container);this.hexPanel=a("<div style='float: left;'></div>");this.hexPanel.appendTo(this.colorPanel);this.hexPanel.append('<span style="text-align: left;" >#</span>');this.hex=a("<input maxlength='6' style='height: 18px;'/>");this.hex.addClass(this.toThemeProperty("jqx-input"));this.hex.addClass(this.toThemeProperty("jqx-widget-content"));this.hex.appendTo(this.hexPanel);this.colorPanel.append('<div style="font-size: 1px; clear: both;"></div>');this.rgb=a("<div style='margin-top: 2px;'></div>");this.rgb.appendTo(this.colorPanel);this.red=a("<input style='width: 25px; height: 18px;' maxlength='3'/>");this.red.addClass(this.toThemeProperty("jqx-input"));this.red.addClass(this.toThemeProperty("jqx-widget-content"));this.rgb.append('<span style="text-align: left;">'+this.redString+"</span>");this.red.appendTo(this.rgb);this.green=a("<input style='margin-right: 2px; height: 18px; width: 25px;' maxlength='3'/>");this.green.addClass(this.toThemeProperty("jqx-input"));this.green.addClass(this.toThemeProperty("jqx-widget-content"));this.rgb.append('<span style="text-align: left;">'+this.greenString+"</span>");this.green.appendTo(this.rgb);this.colorPanel.addClass(this.toThemeProperty("jqx-color-picker-map-overlay"));this._mapImageOverlayURL=this._getImageUrl(this.colorPanel);this.colorPanel.removeClass(this.toThemeProperty("jqx-color-picker-map-overlay"));this.blue=a("<input style='height: 18px; width: 25px;' maxlength='3'/>");this.blue.addClass(this.toThemeProperty("jqx-input"));this.blue.addClass(this.toThemeProperty("jqx-widget-content"));this.rgb.append('<span style="text-align: left;">'+this.blueString+"</span>");this.blue.appendTo(this.rgb);this.preview=a("<div style='background: red; position: absolute;'></div>");this.preview.addClass(this.toThemeProperty("jqx-widget-content"));this.preview.appendTo(this.colorPanel);this.colorBarPointer=a("<div style='top: 0; left: 0; position: absolute; width: 100%;'></div>");this.colorBarPointer.addClass(this.toThemeProperty("jqx-color-picker-bar-pointer"));this.colorMapPointer=a("<div style='top: 0; left: 0; position: absolute; width: 100%;'></div>");this.colorMapPointer.addClass(this.toThemeProperty("jqx-color-picker-pointer"));this.transparent=a("<div style='text-align: center; clear: both;'><a style='text-align: center;' href='#'>transparent</a></div>");if(this.disabled){this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.element.disabled=true}this._addHandlers()},val:function(b){if(arguments.length==0){return"#"+this.color.hex}this.setColor(b);return this.color.hex},_setPositionFromValue:function(){var d=this;var c=d.color.h;var i=100-d.color.v;var b=d.colorMap.height();var e=d.colorMap.width();var h=c*e/360;var g=i*b/100;if(this.colorMode=="saturation"){var f=100-d.color.s;f=f*b/100;d._saturation=100-d.color.s;d.colorMapPointer.css("margin-left",h-8);d.colorMapPointer.css("margin-top",g-8);d.colorBarPointer.css("margin-top",f-8);d.colorMapImageOverlay.css("opacity",(100-d.color.s)/100)}else{var c=d.color.s;var h=c*e/100;var g=i*b/100;var f=360-d.color.h;f=f*b/360;d._hue=d.color.h;d.colorMapPointer.css("margin-left",h-8);d.colorMapPointer.css("margin-top",g-8);d.colorBarPointer.css("margin-top",f-8)}},updateRGB:function(){var b=this;b.color.setRgb(b.red.val(),b.green.val(),b.blue.val());b._updateUI();b._raiseEvent("0",{color:b.color});b.color.transparent=false},_setPosition:function(f,c,h){var e=parseInt(f.pageX);var g=parseInt(c.offset().left);var b=parseInt(f.pageY);var d=parseInt(c.offset().top);if(this._isTouchDevice){var i=a.jqx.position(f);e=i.left;b=i.top}if(h[0].className.indexOf("jqx-color-picker-bar")==-1){h.css("margin-left",e-8-g)}if(b>=d&&b<=d+c.height()){h.css("margin-top",b-8-d)}},_handleKeyInput:function(c,d,b){if(c.disabled){return}if(!c._validateKey(d)){return d}b.val(c._setValueInRange(b.val(),0,255));this.updateRGB();this._setPositionFromValue()},_addHandlers:function(){var d=this;this.addHandler(this.colorMapPointer,"dragStart",function(j){j.preventDefault();return false});this.addHandler(this.colorBarPointer,"dragStart",function(j){j.preventDefault();return false});this.addHandler(this.transparent,"click",function(j){d._raiseEvent("0",{color:"transparent"});j.preventDefault();d.color.transparent=true});this.addHandler(this.host,"selectionstart",function(j){j.preventDefault();return false});this.addHandler(this.blue,"keyup blur",function(j){d._handleKeyInput(d,j,d.blue)});this.addHandler(this.green,"keyup blur",function(j){d._handleKeyInput(d,j,d.green)});this.addHandler(this.red,"keyup blur",function(j){d._handleKeyInput(d,j,d.red)});this.addHandler(this.hex,"keyup blur",function(j){if(d.disabled){return}if(!d._validateKey(j)){return j}if(d.hex.val().toString().length==6){d.hex.val(d.color.validateHex(d.hex.val()));d.color.setHex(d.hex.val());d._updateUI();d._setPositionFromValue();d._raiseEvent("0",{color:d.color})}});this.addHandler(this.colorMap,"dragstart",function(j){j.preventDefault();return false});var f=function(k){d._setPosition(k,d.colorMap,d.colorMapPointer);if(d.colorMode=="saturation"){var j=d._valuesFromMouse(k,d.colorMap,360,100);if(j.x>360){j.x=360}d.color.setHsv(j.x,d._saturation!=null?100-d._saturation:100,100-j.y)}else{var j=d._valuesFromMouse(k,d.colorMap,100,100);if(j.x>100){j.x=100}d.color.setHsv(d._hue!=null?d._hue:360,j.x,100-j.y)}d._updateUI();d._raiseEvent("0",{color:d.color});d.color.transparent=false};var c="mousedown.picker"+this.element.id;if(this._isTouchDevice){c=a.jqx.mobile.getTouchEventName("touchstart")+".picker"+this.element.id}this.addHandler(this.colorMap,c,function(j){if(d.disabled){return}d.beginDrag=true;f(j)});var b="mousemove.picker"+this.element.id;if(this._isTouchDevice){b=a.jqx.mobile.getTouchEventName("touchmove")+".picker"+this.element.id}this.addHandler(a(document),b,function(j){if(d.disabled){return}if(d.beginDrag==true){f(j);if(d._isTouchDevice){j.preventDefault()}}});if(!this._isTouchDevice){this.addHandler(this.colorBar,"dragstart",function(j){j.preventDefault();return false})}var e=function(k){d._setPosition(k,d.colorBar,d.colorBarPointer);if(d.colorMode=="saturation"){var j=d._valuesFromMouse(k,d.colorBar,100,100);d.color.s=j.y;d._saturation=j.y;d.colorMapImageOverlay.css("opacity",(d.color.s)/100);d.color.setHsv(d.color.h,100-d.color.s,d.color.v)}else{var j=d._valuesFromMouse(k,d.colorBar,100,360);d.color.h=360-j.y;d._hue=d.color.h;d.color.setHsv(d.color.h,d.color.s,d.color.v)}d._updateUI();d._raiseEvent("0",{color:d.color});d.color.transparent=false};var h="mousemove.colorBar"+this.element.id;var g="mousedown.colorBar"+this.element.id;var i="mouseup.colorBar"+this.element.id;if(this._isTouchDevice){h=a.jqx.mobile.getTouchEventName("touchmove")+".colorBar"+this.element.id;g=a.jqx.mobile.getTouchEventName("touchstart")+".colorBar"+this.element.id;i=a.jqx.mobile.getTouchEventName("touchend")+".colorBar"+this.element.id}this.addHandler(this.colorBar,g,function(j){if(d.disabled){return}d.beginDragBar=true;e(j)});this.addHandler(a(document),h,function(j){if(d.disabled){return}if(d.beginDragBar==true){e(j);if(d._isTouchDevice){j.preventDefault()}}});this.addHandler(a(document),i,function(j){if(d.disabled){return}d.beginDrag=false;d.beginDragBar=false})},_removeHandlers:function(){this.removeHandler(this.transparent,"click");this.removeHandler(this.host,"selectionstart");this.removeHandler(this.blue,"keyup blur");this.removeHandler(this.green,"keyup blur");this.removeHandler(this.red,"keyup blur");this.removeHandler(this.hex,"keyup blur");this.removeHandler(this.colorMap,"dragstart");this.removeHandler(this.colorBar,"dragstart");this.removeHandler(this.colorMapPointer,"dragStart");this.removeHandler(this.colorBarPointer,"dragStart");var g=this.element.id;var e="mousemove.colorBar"+g;var d="mousedown.colorBar"+g;var f="mouseup.colorBar"+g;var c="mousedown.picker"+g;var b="mousemove.picker"+g;if(this._isTouchDevice){e=a.jqx.mobile.getTouchEventName("touchmove")+".colorBar"+g;d=a.jqx.mobile.getTouchEventName("touchstart")+".colorBar"+g;f=a.jqx.mobile.getTouchEventName("touchend")+".colorBar"+g;c=a.jqx.mobile.getTouchEventName("touchstart")+".picker"+g;b=a.jqx.mobile.getTouchEventName("touchmove")+".picker"+g}this.removeHandler(this.colorMap,c);this.removeHandler(this.colorMap,b);this.removeHandler(this.colorBar,d);this.removeHandler(this.colorBar,e);this.removeHandler(a(document),b);this.removeHandler(a(document),e);this.removeHandler(a(document),f)},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=this.events[g];var e=c?c:{};e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);return b},setColor:function(b){if(!b){return}if(b=="transparent"){this.color.transparent=true;this.color.hex="000";this.color.r=0;this.color.g=0;this.color.b=0}else{if(b.r){this.color=new a.jqx.color({rgb:b})}else{if(b.substring(0,1)=="#"){this.color=new a.jqx.color({hex:b.substring(1)})}else{this.color=new a.jqx.color({hex:b})}}}this._updateUI();this._setPositionFromValue();this._raiseEvent("0",{color:this.color})},getColor:function(){return this.color},resize:function(c,b){this.width=c;this.height=b;this._setSize();this.refresh()},propertyChangedHandler:function(b,c,e,d){if(b.isInitialized==undefined||b.isInitialized==false){return}if(c=="colorMode"){b.refresh()}if(c=="color"){b._updateUI();b._setPositionFromValue();b._raiseEvent("0",{color:d})}if(c=="width"||c=="height"){b._setSize();b.refresh()}if(c=="showTransparent"){b.refresh()}if(c=="disabled"){this.element.disabled=d;if(d){b.host.addClass(b.toThemeProperty("jqx-fill-state-disabled"))}else{b.host.removeClass(b.toThemeProperty("jqx-fill-state-disabled"))}}},_valuesFromMouse:function(j,g,c,b){var k=0;var i=0;var f=g.offset();var p=g.height();var d=g.width();var n=j.pageX;var m=j.pageY;if(this._isTouchDevice){var l=a.jqx.position(j);n=l.left;m=l.top}if(n<f.left){k=0}else{if(n>f.left+d){k=d}else{k=n-f.left+1}}if(m<f.top){i=0}else{if(m>f.top+p){i=p}else{i=m-f.top+1}}var h=parseInt(k/d*c);var o=parseInt(i/p*b);return{x:h,y:o}},_validateKey:function(b){if(b.keyCode==9||b.keyCode==16||b.keyCode==38||b.keyCode==29||b.keyCode==40||b.keyCode==17||b.keyCode==37||(b.ctrlKey&&(b.keyCode=="c".charCodeAt()||b.keyCode=="v".charCodeAt()))||(b.ctrlKey&&(b.keyCode=="C".charCodeAt()||b.keyCode=="V".charCodeAt()))){return false}if(b.ctrlKey||b.shiftKey){return false}return true},_setValueInRange:function(d,c,b){if(d==""||isNaN(d)){return c}d=parseInt(d);if(d>b){return b}if(d<c){return c}return d},destroy:function(){a.jqx.utilities.resize(this.host,null,true);this.host.removeClass();this._removeHandlers();this.host.remove()},setPointerStyle:function(c){this.colorMapPointer.removeClass();if(c=="transparent"||c.hex==""){this.colorMapPointer.addClass(this.toThemeProperty("jqx-color-picker-pointer"))}var b=105;var d=(c.r*0.299)+(c.g*0.587)+(c.b*0.114);var e=(255-d<b)?"Black":"White";if(e=="Black"){this.colorMapPointer.addClass(this.toThemeProperty("jqx-color-picker-pointer"))}else{this.colorMapPointer.addClass(this.toThemeProperty("jqx-color-picker-pointer-alt"))}},_updateUI:function(){var c=this;c.red.val(c.color.r);c.green.val(c.color.g);c.blue.val(c.color.b);c.hex.val(c.color.hex);var b=new a.jqx.color({hex:"fff"});if(this.colorMode=="saturation"){b.setHsv(this.color.h,100,this.color.v);c.colorBar.css("background","#"+b.hex)}else{b.setHsv(this.color.h,100,100);c.colorMap.css("background-color","#"+b.hex)}c.preview.css("background","#"+this.color.hex);c.setPointerStyle(this.color)},_setSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}if(this.host.width()<130){this.host.width(150)}if(this.host.height()<70){this.host.height(70)}if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.width(this.width)}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.height(this.height)}},_arrange:function(){var d=this.host.height();var g=this.host.width();var b=d-44;if(this.showTransparent){b=d-64}if(b<=0){return}this.colorMap.width(85*g/100);this.colorMap.height(b);this.colorBar.height(b);this.colorBar.css("left",this.colorMap.width()+4);this.colorBar.width(8*g/100);this.colorBarPointer.width(this.colorBar.width());this.colorPanel.width(g);this.colorPanel.height(40);if(this.showTransparent){this.colorPanel.height(60)}this.colorPanel.css("top",b+4);this.colorPanel.css("text-align","left");this.hex.width(this.colorMap.width()-this.colorBar.width()-4);var c=this.red.prev().outerWidth()-this.hex.prev().outerWidth();if(c<4){c=4}this.hex.css("margin-left",c+"px");this.preview.width(this.colorBar.width()+7);this.preview.height(25);this.preview.addClass(this.toThemeProperty("jqx-rc-all"));this.preview.addClass(this.toThemeProperty("jqx-color-picker-preview"));this.preview.css("left",this.colorMap.width()-2);this.preview.css("top","5px");var e=this.hex.width();var f=e-this.blue.prev().outerWidth()-this.green.prev().outerWidth()-6;if(f>0){this.blue.width(f/3);this.green.width(f/3);this.red.width(f/3);return}},_getColorPointer:function(){var b=a("<div></div>");b.addClass(this.toThemeProperty("jqx-color-picker-pointer"));return b},_getImageUrl:function(c){var b=c.css("backgroundImage");b=b.replace('url("',"");b=b.replace('")',"");b=b.replace("url(","");b=b.replace(")","");return b},refresh:function(){if(this._delayLoading){return}this._saturation=null;this._hue=null;this.colorMap.removeClass();this.colorBar.removeClass();this.colorMap.addClass(this.toThemeProperty("jqx-disableselect"));this.colorBar.addClass(this.toThemeProperty("jqx-disableselect"));this.colorPanel.addClass(this.toThemeProperty("jqx-color-picker-panel"));this.colorBar.css("background-image","");this.colorMap.css("background-image","");if(this.colorMode=="saturation"){this.colorMap.addClass(this.toThemeProperty("jqx-color-picker-map"));this.colorBar.addClass(this.toThemeProperty("jqx-color-picker-bar"))}else{this.colorMap.addClass(this.toThemeProperty("jqx-color-picker-map-hue"));this.colorBar.addClass(this.toThemeProperty("jqx-color-picker-bar-hue"))}this._barImageURL=this._getImageUrl(this.colorBar);this._mapImageURL=this._getImageUrl(this.colorMap);this._arrange();this.colorBar.children().remove();this.colorBarImageContainer=a("<div style='overflow: hidden;'></div>");this.colorBarImageContainer.width(this.colorBar.width());this.colorBarImageContainer.height(this.colorBar.height());this.colorBarImageContainer.appendTo(this.colorBar);this.colorBarImage=a("<img/>");this.colorBarImage.appendTo(this.colorBarImageContainer);this.colorBarImage.attr("src",this._barImageURL);this.colorBar.css("background-image","none");this.colorBarImage.attr("width",this.colorBar.width());this.colorBarImage.attr("height",this.colorBar.height());this.colorBarPointer.appendTo(this.colorBar);this.colorMap.children().remove();this.colorMapImage=a("<img/>");this.colorMapImage.appendTo(this.colorMap);this.colorMapImage.attr("src",this._mapImageURL);this.colorMap.css("background-image","none");this.colorMapImage.attr("width",this.colorMap.width());this.colorMapImage.attr("height",this.colorMap.height());this.colorMapImageOverlay=a("<img style='position: absolute; left: 0; top: 0;'/>");this.colorMapImageOverlay.prependTo(this.colorMap);this.colorMapImageOverlay.attr("src",this._mapImageOverlayURL);this.colorMapImageOverlay.attr("width",this.colorMap.width());this.colorMapImageOverlay.attr("height",this.colorMap.height());this.colorMapImageOverlay.css("opacity",0);this.colorMapPointer.appendTo(this.colorMap);if(this.showTransparent){this.transparent.appendTo(this.colorPanel)}this._updateUI();this._setPositionFromValue()}});a.jqx.color=function(d){var b={r:0,g:0,b:0,h:0,s:0,v:0,hex:"",hexToRgb:function(i){i=this.validateHex(i);var h="00",f="00",e="00";if(i.length==6){h=i.substring(0,2);f=i.substring(2,4);e=i.substring(4,6)}else{if(i.length>4){h=i.substring(4,i.length);i=i.substring(0,4)}if(i.length>2){f=i.substring(2,i.length);i=i.substring(0,2)}if(i.length>0){e=i.substring(0,i.length)}}return{r:this.hexToInt(h),g:this.hexToInt(f),b:this.hexToInt(e)}},validateHex:function(e){e=new String(e).toUpperCase();e=e.replace(/[^A-F0-9]/g,"0");if(e.length>6){e=e.substring(0,6)}return e},webSafeDec:function(e){e=Math.round(e/51);e*=51;return e},hexToWebSafe:function(i){var h,f,e;if(i.length==3){h=i.substring(0,1);f=i.substring(1,1);e=i.substring(2,1)}else{h=i.substring(0,2);f=i.substring(2,4);e=i.substring(4,6)}return this.intToHex(this.webSafeDec(this.hexToInt(h)))+this.intToHex(this.webSafeDec(this.hexToInt(f)))+this.intToHex(this.webSafeDec(this.hexToInt(e)))},rgbToWebSafe:function(e){return{r:this.webSafeDec(e.r),g:this.webSafeDec(e.g),b:this.webSafeDec(e.b)}},rgbToHex:function(e){return this.intToHex(e.r)+this.intToHex(e.g)+this.intToHex(e.b)},intToHex:function(f){var e=(parseInt(f).toString(16));if(e.length==1){e=("0"+e)}return e.toUpperCase()},hexToInt:function(e){return(parseInt(e,16))},hslToRgb:function(v){var n=parseInt(v.h)/360;var w=parseInt(v.s)/100;var k=parseInt(v.l)/100;if(k<=0.5){var f=k*(1+w)}else{var f=k+w-(k*w)}var i=2*k-f;var t=n+(1/3);var j=n;var m=n-(1/3);var e=Math.round(this.hueToRgb(i,f,t)*255);var o=Math.round(this.hueToRgb(i,f,j)*255);var u=Math.round(this.hueToRgb(i,f,m)*255);return{r:e,g:o,b:u}},hueToRgb:function(g,f,e){if(e<0){e+=1}else{if(e>1){e-=1}}if((e*6)<1){return g+(f-g)*e*6}else{if((e*2)<1){return f}else{if((e*3)<2){return g+(f-g)*((2/3)-e)*6}else{return g}}}},rgbToHsv:function(i){var l=i.r/255;var k=i.g/255;var f=i.b/255;var h={h:0,s:0,v:0};var j=0;var e=0;if(l>=k&&l>=f){e=l;j=(k>f)?f:k}else{if(k>=f&&k>=l){e=k;j=(l>f)?f:l}else{e=f;j=(k>l)?l:k}}h.v=e;h.s=(e)?((e-j)/e):0;if(!h.s){h.h=0}else{var m=e-j;if(l==e){h.h=(k-f)/m}else{if(k==e){h.h=2+(f-l)/m}else{h.h=4+(l-k)/m}}h.h=parseInt(h.h*60);if(h.h<0){h.h+=360}}h.s=parseInt(h.s*100);h.v=parseInt(h.v*100);return h},hsvToRgb:function(l){var n={r:0,g:0,b:0};var k=l.h;var u=l.s;var o=l.v;if(u==0){if(o==0){n.r=n.g=n.b=0}else{n.r=n.g=n.b=parseInt(o*255/100)}}else{if(k==360){k=0}k/=60;u=u/100;o=o/100;var j=parseInt(k);var m=k-j;var g=o*(1-u);var e=o*(1-(u*m));var r=o*(1-(u*(1-m)));switch(j){case 0:n.r=o;n.g=r;n.b=g;break;case 1:n.r=e;n.g=o;n.b=g;break;case 2:n.r=g;n.g=o;n.b=r;break;case 3:n.r=g;n.g=e;n.b=o;break;case 4:n.r=r;n.g=g;n.b=o;break;case 5:n.r=o;n.g=g;n.b=e;break}n.r=parseInt(n.r*255);n.g=parseInt(n.g*255);n.b=parseInt(n.b*255)}return n},setRgb:function(h,f,e){var j=function(g){if(g<0||g>255){return 0}if(isNaN(parseInt(g))){return 0}return g};this.r=j(h);this.g=j(f);this.b=j(e);var i=this.rgbToHsv(this);this.h=i.h;this.s=i.s;this.v=i.v;this.hex=this.rgbToHex(this)},setHsl:function(g,f,e){this.h=g;this.s=f;this.l=e;var i=this.hslToRgb(this);this.r=i.r;this.g=i.g;this.b=i.b;this.hex=this.rgbToHex(i)},setHsv:function(g,f,e){this.h=g;this.s=f;this.v=e;var i=this.hsvToRgb(this);this.r=i.r;this.g=i.g;this.b=i.b;this.hex=this.rgbToHex(i)},setHex:function(e){this.hex=e;var g=this.hexToRgb(this.hex);this.r=g.r;this.g=g.g;this.b=g.b;var f=this.rgbToHsv(g);this.h=f.h;this.s=f.s;this.v=f.v}};if(d){if(d.hex){var c=b.validateHex(d.hex);b.setHex(c)}else{if(d.r){b.setRgb(d.r,d.g,d.b)}else{if(d.h){b.setHsv(d.h,d.s,d.v)}else{if(d.rgb){b.setRgb(d.rgb.r,d.rgb.g,d.rgb.b)}}}}}return b}})(jqxBaseFramework);(function(a){a.jqx.jqxWidget("jqxMaterialColorPicker","",{});a.extend(a.jqx._jqxMaterialColorPicker.prototype,{defineInstance:function(){var b={events:["colorchange"]};if(this===a.jqx._jqxMaterialColorPicker.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._renderGrid();b._addHandlers()},_renderGrid:function(){var c=this;var b=document.createElement("div");c._renderShades();c._renderColorPalette();c._renderColorLabels();b.classList="jqx-labels-and-palette";b.appendChild(c._colorLabelsContainer);b.appendChild(c._paletteContainer);c.element.appendChild(b)},_renderColorPalette:function(){var h=this;var b=[["#ffebee","#ffcdd2","#ef9a9a","#e57373","#ef5350","#f44336","#e53935","#d32f2f","#c62828","#b71c1c","#ff8a80","#ff5252","#ff1744","#d50000"],["#fce4ec","#f8bbd0","#f48fb1","#f06292","#ec407a","#e91e63","#d81b60","#c2185b","#ad1457","#880e4f","#ff80ab","#ff4081","#f50057","#c51162"],["#f3e5f5","#e1bee7","#ce93d8","#ba68c8","#ab47bc","#9c27b0","#8e24aa","#7b1fa2","#6a1b9a","#4a148c","#ea80fc","#e040fb","#d500f9","#aa00ff"],["#ede7f6","#d1c4e9","#b39ddb","#9575cd","#7e57c2","#673ab7","#5e35b1","#512da8","#4527a0","#311b92","#b388ff","#7c4dff","#651fff","#6200ea"],["#e8eaf6","#c5cae9","#9fa8da","#7986cb","#5c6bc0","#3f51b5","#3949ab","#303f9f","#283593","#1a237e","#8c9eff","#536dfe","#3d5afe","#304ffe"],["#e3f2fd","#bbdefb","#90caf9","#64b5f6","#42a5f5","#2196f3","#1e88e5","#1976d2","#1565c0","#0d47a1","#82b1ff","#448aff","#2979ff","#2962ff"],["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b","#80d8ff","#40c4ff","#00b0ff","#0091ea"],["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064","#84ffff","#18ffff","#00e5ff","#00b8d4"],["#e0f2f1","#b2dfdb","#80cbc4","#4db6ac","#26a69a","#009688","#00897b","#00796b","#00695c","#004d40","#a7ffeb","#64ffda","#1de9b6","#00bfa5"],["#e8f5e9","#c8e6c9","#a5d6a7","#81c784","#66bb6a","#4caf50","#43a047","#388e3c","#2e7d32","#1b5e20","#b9f6ca","#69f0ae","#00e676","#00c853"],["#f1f8e9","#dcedc8","#c5e1a5","#aed581","#9ccc65","#8bc34a","#7cb342","#689f38","#558b2f","#33691e","#ccff90","#b2ff59","#76ff03","#64dd17"],["#f9fbe7","#f0f4c3","#e6ee9c","#dce775","#d4e157","#cddc39","#c0ca33","#afb42b","#9e9d24","#827717","#f4ff81","#eeff41","#c6ff00","#aeea00"],["#fffde7","#fff9c4","#fff59d","#fff176","#ffee58","#ffeb3b","#fdd835","#fbc02d","#f9a825","#f57f17","#ffff8d","#ffff00","#ffea00","#ffd600"],["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00","#ffe57f","#ffd740","#ffc400","#ffab00"],["#fff3e0","#ffe0b2","#ffcc80","#ffb74d","#ffa726","#ff9800","#fb8c00","#f57c00","#ef6c00","#e65100","#ffd180","#ffab40","#ff9100","#ff6d00"],["#fbe9e7","#ffccbc","#ffab91","#ff8a65","#ff7043","#ff5722","#f4511e","#e64a19","#d84315","#bf360c","#ff9e80","#ff6e40","#ff3d00","#dd2c00"],["#efebe9","#d7ccc8","#bcaaa4","#a1887f","#8d6e63","#795548","#6d4c41","#5d4037","#4e342e","#3e2723"],["#fafafa","#f5f5f5","#eeeeee","#e0e0e0","#bdbdbd","#9e9e9e","#757575","#616161","#424242","#212121"],["#eceff1","#cfd8dc","#b0bec5","#90a4ae","#78909c","#607d8b","#546e7a","#455a64","#37474f","#263238"],];var g=document.createElement("div");for(var d=0,f=b.length;d<f;d++){var c=b[d];var e=h._renderRow(c,"jqx-color-cell",false);g.appendChild(e)}g.className="jqx-palette";h._paletteContainer=g},_renderShades:function(){var d=this;var e=document.createElement("div");var b=[50,100,200,300,400,500,600,700,800,900,"A 100","A 200","A 400","A 700"];var c=d._renderRow(b,"jqx-shade-cell",true);e.className="jqx-shades";e.appendChild(c);d.element.appendChild(e)},_renderColorLabels:function(){var d=this;var c=document.createElement("div");var e=["Red","Pink","Purple","Deep Purple","Indigo","Blue","Light Blue","Cyan","Teal","Green","Light Green","Lime","Yellow","Amber","Orange","Deep Orange","Brown","Grey","Blue Grey"];var b=d._renderRow(e,"jqx-color-label",true);c.className="jqx-color-labels";c.appendChild(b);d._colorLabelsContainer=c},_renderRow:function(i,h,c){var f=document.createElement("ul");for(var e=0,g=i.length;e<g;e++){var d=i[e];var b=document.createElement("li");if(c){b.innerHTML=d}else{b.style.background=d;b.setAttribute("data-color",d)}b.className=h;f.appendChild(b)}return f},_addHandlers:function(){var b=this;this.host.find(".jqx-color-cell").on("click",function(){b._currentColorHex=event.target.getAttribute("data-color");b._currentColorRgb=event.target.style.background;b._raiseEvent(0,{color:b.getColor()})})},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=this.events[g];var e=c?c:{};e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);return b},getColor:function(){var c=this;var b=c._currentColorRgb.match(/\d+/g);return{hex:c._currentColorHex.substring(1),r:parseInt(b[0]),g:parseInt(b[1]),b:parseInt(b[2])}},destroy:function(){var b=this;b.host.remove()}})})(jqxBaseFramework);
 
@@ -50,9 +50,9 @@
 
 (function(a){a.jqx.jqxWidget("jqxComplexInput","",{});a.extend(a.jqx._jqxComplexInput.prototype,{defineInstance:function(){var b={width:null,height:null,decimalNotation:"default",value:"",spinButtons:false,spinButtonsStep:1,placeHolder:"",roundedCorners:true,disabled:false,rtl:false,changeType:null,hint:true,template:"",events:["change"]};if(this===a.jqx._jqxComplexInput.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._firefox=a.jqx.browser.browser==="mozilla";b._currentNumber={};b._allowedCharacters=new RegExp(/([\+\-\.0-9i])/i);b.render()},render:function(){var e=this;if(e.isMaterialized()){var i=a("<label></label");if(this.hint){i[0].innerHTML=this.placeHolder}i.addClass(e.toThemeProperty("jqx-input-label"));var f=a("<span></span>");f.addClass(e.toThemeProperty("jqx-input-bar"));if(e.element.nodeName.toUpperCase()==="INPUT"){var l=a("<div></div>");l.addClass(e.toThemeProperty("jqx-input-group jqx-complex-input-group"));this.host.after(l);var j=this.element;var d=this.host.data();l.append(j);l.append(i);l.append(f)}else{this.host.append(i);this.host.append(f);this.host.addClass(e.toThemeProperty("jqx-input-group jqx-complex-input-group"));f.css("top",6+this.element.offsetHeight)}e.bar=f;e.label=i}if(e.element.nodeName.toUpperCase()==="DIV"){e.baseHost=e.host;var d=e.host.data();e.host=e.baseHost.children("input");e.element=e.host[0];e.host.data(d)}if(e.spinButtons===true){if(!e.baseHost){throw new Error("jqxComplexInput: Invalid HTML structure. Please initialize the complex input from a div with an input and another div inside.")}e._appendSpinButtons()}e._addClasses();e._setSize();e._removeHandlers();e._addHandlers();if(e.decimalNotation==="exponential"&&e.value.toLowerCase().indexOf("e")!==-1){var g=e._exponentialToDecimal(e.value);var h=g.realPart;var c=g.imaginaryPart;var b=c<0?"-":"+";var k=h+" "+b+" "+Math.abs(c)+"i";e._currentNumber={value:k,realPart:h,imaginaryPart:c}}else{e._currentNumber={value:e.value,realPart:e._getReal(e.value),imaginaryPart:e._getImaginary(e.value)}}if(e.decimalNotation==="default"){e.element.value=e.value}else{e._setNotation()}e._refreshPlaceHolder()},refresh:function(b){if(b!==true){this.render()}},destroy:function(){var b=this;b._removeHandlers();b.host.destroy()},val:function(e){var d=this;if(typeof e==="string"||typeof e==="object"&&a.isEmptyObject(e)===false){var h,c;if(typeof e==="string"){e=e.toLowerCase();if(e.indexOf("e")===-1){h=d._getReal(e);c=d._getImaginary(e)}else{var g=d._exponentialToDecimal(e);h=g.realPart*1;c=g.imaginaryPart*1}}else{if(typeof e==="object"&&a.isEmptyObject(e)===false){h=e.real;c=e.imaginary}}var b=c>=0?"+":"-";var f=h+" "+b+" "+Math.abs(c)+"i";if(f!==d._currentNumber.value){d.element.value=f;d._onChange(d.value);if(d.decimalNotation!=="default"){d._setNotation()}}}else{return d.element.value}},getReal:function(){return this._currentNumber.realPart},_getReal:function(f){if(!f||(typeof f==="object"&&a.isEmptyObject(f)===true)){f=this.element.value}var c=a.trim(f),e="";if((f.match(/i/g)||[]).length===0){return parseFloat(c)}if(f.charAt(0)==="+"){c=c.slice(1,f.length)}else{if(f.charAt(0)==="-"){c=c.slice(1,f.length);e="-"}}function g(h){c=c.slice(0,h);c=a.trim(c);return parseFloat(e+""+c)}var b=c.indexOf("+");if(b!==-1){return g(b)}var d=c.indexOf("-");if(d!==-1){return g(d)}return 0},getImaginary:function(){return this._currentNumber.imaginaryPart},_getImaginary:function(f){if(!f||(typeof f==="object"&&a.isEmptyObject(f)===true)){f=this.element.value}if((f.match(/i/g)||[]).length===0){return 0}var e=a.trim(f),d="";if(e.charAt(0)==="-"||e.charAt(0)==="+"){d=e.charAt(0)==="-"?"-":"+";e=a.trim(e.slice(1,f.length))}function g(i,h){e=e.slice(i+1,e.indexOf("i"));e=a.trim(e);if(e===""){e=1}return parseFloat(h+""+e)}var b=e.indexOf("+");if(b!==-1){return g(b,"+")}var c=e.indexOf("-");if(c!==-1){return g(c,"-")}e=d+""+e.slice(0,e.indexOf("i"));if(e===""||e==="+"){return 1}else{if(e==="-"){return -1}else{return parseFloat(e)}}},getDecimalNotation:function(f,c){var e=this;function d(k){var j=k.indexOf("e");var i=k.slice(j+1);var h=k.slice(0,j+1);h=h.replace("e","×10");h+=e._toSuperScript(i);h=h.replace("+","");return h}function b(n){var m=n.indexOf("e");var l=n.slice(m+1);var j=n.slice(0,m);var k=parseInt(l,10)%3;j=j*Math.pow(10,k);var i=n.slice(0,m).length-k-2;if(i>=0){j=j.toFixed(i)}var h=j+"×10"+e._toSuperScript((parseInt(l,10)-k).toString());return h}if(f==="real"){f=e._currentNumber.realPart}else{if(f==="imaginary"){f=e._currentNumber.imaginaryPart}}var g=f.toExponential();if(c==="scientific"){return d(g)}else{if(c==="engineering"){return b(g)}else{return g}}},propertyChangedHandler:function(e,j,d,h){var g=this;if(h!==d){switch(j){case"template":if(e.template){e._upbutton.removeClass(g.toThemeProperty("jqx-"+d));e._downbutton.removeClass(g.toThemeProperty("jqx-"+d));e._upbutton.addClass(g.toThemeProperty("jqx-"+e.template));e._downbutton.addClass(g.toThemeProperty("jqx-"+e.template))}break;case"width":case"height":e._setSize();break;case"decimalNotation":if(h==="default"){e.element.value=e._currentNumber.value}else{e._setNotation()}break;case"value":e.element.value=h;e._onChange(d);break;case"spinButtons":var l=function(){e.host.removeClass(e.toThemeProperty("jqx-rc-all"));if(e.rtl===false){e.host.addClass(e.toThemeProperty("jqx-rc-l"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r"))}else{e.host.addClass(e.toThemeProperty("jqx-rc-r"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l"))}};if(e._spinButtonsContainer){var k=e.host.width();var i=e._spinButtonsContainer.outerWidth();if(h===false){e.host.width(k+i);e._spinButtonsContainer.hide();e.host.addClass(e.toThemeProperty("jqx-rc-all"))}else{e.host.width(k-i);e._spinButtonsContainer.show();l()}}else{if(h===true){var m=a("<div></div>");if(e.baseHost){e.host.after(m);e.render()}else{var c=e.element.id;e.host.removeAttr("id");e.host.wrap('<div id="'+c+'" style="display: inline-block;"></div>');var b=a("#"+c);b.append(m);var f=e.host.data();f.jqxComplexInput.host=b;f.jqxComplexInput.element=b[0];e.baseHost=b;e.baseHost.data(f);e.render()}l()}}break;case"placeHolder":e._refreshPlaceHolder(d);break;case"roundedCorners":if(e._spinButtonsContainer){if(h===true){if(e.rtl===false){e.host.addClass(e.toThemeProperty("jqx-rc-l"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r"))}else{e.host.addClass(e.toThemeProperty("jqx-rc-r"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l"))}}else{if(e.rtl===false){e.host.removeClass(e.toThemeProperty("jqx-rc-l"));e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-r"))}else{e.host.removeClass(e.toThemeProperty("jqx-rc-r"));e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-l"))}}}else{if(h===true){e.host.addClass(e.toThemeProperty("jqx-rc-all"))}else{e.host.removeClass(e.toThemeProperty("jqx-rc-all"))}}break;case"disabled":if(h===true){e.host.attr("disabled",true);e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled jqx-input-disabled"));if(e._spinButtonsContainer){e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}}else{e.host.removeAttr("disabled");e.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled jqx-input-disabled"));if(e._spinButtonsContainer){e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-fill-state-disabled"))}}break;case"rtl":if(e._spinButtonsContainer){if(h===true){e.host.addClass(e.toThemeProperty("jqx-complex-input-child-rtl"));e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-complex-input-spin-buttons-container-ltr"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-complex-input-child-rtl jqx-complex-input-spin-buttons-container-rtl"));if(e.roundedCorners===true){e.host.removeClass(e.toThemeProperty("jqx-rc-l"));e.host.addClass(e.toThemeProperty("jqx-rc-r"));e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-r"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-l"))}}else{e.host.removeClass(e.toThemeProperty("jqx-complex-input-child-rtl"));e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-complex-input-child-rtl jqx-complex-input-spin-buttons-container-rtl"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-complex-input-spin-buttons-container-ltr"));if(e.roundedCorners===true){e.host.removeClass(e.toThemeProperty("jqx-rc-r"));e.host.addClass(e.toThemeProperty("jqx-rc-l"));e._spinButtonsContainer.removeClass(e.toThemeProperty("jqx-rc-l"));e._spinButtonsContainer.addClass(e.toThemeProperty("jqx-rc-r"))}}}break;case"theme":a.jqx.utilities.setTheme(d,h,e.host);break}}},_raiseEvent:function(f,c){if(c===undefined){c={owner:null}}var d=this.events[f];c.owner=this;var e=new a.Event(d);e.owner=this;c.type=this.changeType;this.changeType=null;e.args=c;if(e.preventDefault){e.preventDefault()}var b=this.host.trigger(e);return b},_appendSpinButtons:function(){var b=this;b._spinButtonsContainer=a(b.baseHost.children("div"));b._spinButtonsContainer.attr("unselectable","on");b._spinButtonsContainer.addClass(b.toThemeProperty("jqx-fill-state-normal jqx-complex-input-child jqx-formatted-input-spin-buttons-container jqx-complex-input-spin-buttons-container"));if(b.rtl===false){b._spinButtonsContainer.addClass(b.toThemeProperty("jqx-complex-input-spin-buttons-container-ltr"))}else{b._spinButtonsContainer.addClass(b.toThemeProperty("jqx-complex-input-child-rtl jqx-complex-input-spin-buttons-container-rtl"))}var c='<div unselectable="on" class="'+b.toThemeProperty("jqx-fill-state-normal jqx-formatted-input-spin-button")+'"><div class="'+b.toThemeProperty("jqx-input-icon")+'"></div></div>';b._upbutton=a(c);b._spinButtonsContainer.append(b._upbutton);b._downbutton=a(c);b._spinButtonsContainer.append(b._downbutton);b._upArrow=b._upbutton.find("div");b._upArrow.addClass(b.toThemeProperty("jqx-icon-arrow-up"));b._downArrow=b._downbutton.find("div");b._downArrow.addClass(b.toThemeProperty("jqx-icon-arrow-down"));b._upArrow.add(b._downArrow).attr("unselectable","on");if(b.template){b._upbutton.addClass(b.toThemeProperty("jqx-"+b.template));b._downbutton.addClass(b.toThemeProperty("jqx-"+b.template))}},_addClasses:function(){var b=this;b.host.addClass(b.toThemeProperty("jqx-widget jqx-input jqx-complex-input jqx-widget-content"));if(b.baseHost){b.baseHost.addClass(b.toThemeProperty("jqx-widget jqx-complex-input-parent"));b.host.addClass(b.toThemeProperty("jqx-complex-input-child"))}if(b.roundedCorners===true){if(b._spinButtonsContainer){if(b.rtl===false){b.host.addClass(b.toThemeProperty("jqx-rc-l"));b._spinButtonsContainer.addClass(b.toThemeProperty("jqx-rc-r"))}else{b.host.addClass(b.toThemeProperty("jqx-rc-r"));b._spinButtonsContainer.addClass(b.toThemeProperty("jqx-rc-l"))}}else{b.host.addClass(b.toThemeProperty("jqx-rc-all"))}}if(b.disabled===true){b.host.attr("disabled",true);b.host.addClass(b.toThemeProperty("jqx-fill-state-disabled jqx-input-disabled"));if(b._spinButtonsContainer){b._spinButtonsContainer.addClass(b.toThemeProperty("jqx-fill-state-disabled"))}}if(b.rtl===true){b.host.add(b._spinButtonsContainer).addClass(b.toThemeProperty("jqx-complex-input-child-rtl"))}},_refreshPlaceHolder:function(c){var b=this;if("placeholder" in b.element){b.host.attr("placeHolder",b.placeHolder)}else{if(b.element.value===""||b.element.value===c){b.element.value=b.placeHolder}}},_setSize:function(){var d=this;function b(){var h=d.baseHost.height();var e=parseInt(d.host.css("border-left-width"),10)+parseInt(d.host.css("border-right-width"),10)+parseInt(d.host.css("padding-left"),10)+parseInt(d.host.css("padding-right"),10);var f=0;if(a.jqx.browser.msie&&a.jqx.browser.version<8){f=e;d.host.height(d.baseHost.height()-(parseInt(d.host.css("border-top-width"),10)+parseInt(d.host.css("border-bottom-width"),10)+parseInt(d.host.css("padding-top"),10)+parseInt(d.host.css("padding-bottom"),10))*2)}if(d._spinButtonsContainer){var g=typeof d.width==="string"&&d.width.charAt(d.width.length-1)==="%"?1:0;d.host.width(d.baseHost.width()-e-d._spinButtonsContainer.outerWidth()-f-g);if(a.jqx.browser.msie&&a.jqx.browser.version<8){d._spinButtonsContainer.height(h-(parseInt(d._spinButtonsContainer.css("border-top-width"),10)+parseInt(d._spinButtonsContainer.css("border-bottom-width"),10)+parseInt(d._spinButtonsContainer.css("padding-top"),10)+parseInt(d._spinButtonsContainer.css("padding-bottom"),10))*2)}}else{d.host.width(d.baseHost.width()-e-f)}}if(d.baseHost){d.baseHost.width(d.width);d.baseHost.height(d.height);b()}else{d.host.width(d.width);d.host.height(d.height)}if(a.jqx.browser.msie&&a.jqx.browser.version<9){d.host.css("line-height",d.host.height()+"px")}var c=d.baseHost||d.host;a.jqx.utilities.resize(c,function(){b();if((a.jqx.browser.msie&&a.jqx.browser.version<9||!a.jqx.browser.msie)&&typeof d.height==="string"&&d.height.charAt(d.height.length-1)==="%"){d.host.css("line-height",d.host.height()+"px")}})},_addHandlers:function(){var d=this,e;if(d.baseHost){e=d.baseHost[0].id}else{e=d.element.id}var b=[8,9,13,32,35,36,37,38,39,40,46];d.addHandler(d.host,"focus.jqxComplexInput"+e,function(){d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"));if(d._spinButtonsContainer){d._spinButtonsContainer.addClass(d.toThemeProperty("jqx-fill-state-focus"))}if(d.bar){d.bar.addClass("focused")}if(d.label){d.label.addClass("focused")}if(!("placeholder" in d.element)&&(d.element.value===d.placeHolder)){d.element.value=""}if(d.decimalNotation!=="default"){var f=d._getCaretPosition();d.element.value=d._currentNumber.value;d._setCaretPosition(f)}});d.addHandler(d.host,"blur.jqxComplexInput"+e,function(){d.host.removeClass(d.toThemeProperty("jqx-fill-state-focus"));if(d._spinButtonsContainer){d._spinButtonsContainer.removeClass(d.toThemeProperty("jqx-fill-state-focus"))}if(d.bar){d.bar.removeClass("focused")}if(d.label){d.label.removeClass("focused")}if(d.element.value!==d.value||(("placeholder" in d.element)||(!("placeholder" in d.element)&&d.element.value===""))){d._onChange(d.value)}if(!("placeholder" in d.element)&&(d.element.value===""||d.element.value===d.placeHolder)){d.element.value=d.placeHolder}if(d.decimalNotation!=="default"){d._setNotation()}});d.addHandler(d.host,"keydown.jqxComplexInput"+e,function(h){var i=!h.charCode?h.which:h.charCode;d.changeType="keyboard";if(h.ctrlKey===true&&(i===67||i===86||i===88)){return}var g=String.fromCharCode(i);if(i>=96&&i<=105){g=(i-96).toString();i=i-48}if((!d._firefox&&i===187||d._firefox&&i===61)&&h.shiftKey===true){g="+"}else{if((!d._firefox&&i===189||d._firefox&&i===173)&&h.shiftKey===false){g="-"}else{if(i===190&&h.shiftKey===false){g="."}}}var k=d._allowedCharacters.test(g);if(k===true){if(g==="+"||g==="-"){var f=(d.element.value.match(/-/g)||[]).length+(d.element.value.match(/\+/g)||[]).length;if(f>1){return false}}else{if(g==="."){var j=(d.element.value.match(/\./g)||[]).length;if(j>1){return false}}else{if(g.toLowerCase()==="i"){if(d.element.value.indexOf(g.toLowerCase())!==-1){return false}}}}}else{if(b.indexOf(i)!==-1){return}else{return false}}});d.addHandler(d.host,"keypress.jqxComplexInput"+e,function(f){var g=!f.charCode?f.which:f.charCode;if(g===13){if(d.element.value!==d.value){d._onChange(d.value)}}});if(d._spinButtonsContainer){var c=d._upbutton.add(d._downbutton);d.addHandler(d._upbutton,"mousedown.jqxComplexInputSpinButtonUp"+e,function(){if(!d.disabled&&d.value!==""&&d.value!==null){d._upbutton.addClass(d.toThemeProperty("jqx-fill-state-pressed"));d.changeType="mouse";d._incrementOrDecrement(true)}});d.addHandler(d._upbutton,"mouseup.jqxComplexInputSpinButtonUp"+e,function(){if(!d.disabled&&d.value!==""&&d.value!==null){d._upbutton.removeClass(d.toThemeProperty("jqx-fill-state-pressed"))}});d.addHandler(d._downbutton,"mousedown.jqxComplexInputSpinButtonDown"+e,function(){if(!d.disabled&&d.value!==""&&d.value!==null){d._downbutton.addClass(d.toThemeProperty("jqx-fill-state-pressed"));d.changeType="mouse";d._incrementOrDecrement(false)}});d.addHandler(d._downbutton,"mouseup.jqxComplexInputSpinButtonDown"+e,function(){if(!d.disabled&&d.value!==""&&d.value!==null){d._downbutton.removeClass(d.toThemeProperty("jqx-fill-state-pressed"))}});d.addHandler(c,"mouseenter.jqxComplexInputSpinButtons"+e,function(g){if(!d.disabled&&d.value!==""&&d.value!==null){var f=a(g.target);if(f.hasClass("jqx-icon-arrow-up")||f.children().hasClass("jqx-icon-arrow-up")){d._upbutton.addClass(d.toThemeProperty("jqx-fill-state-hover"));d._upArrow.addClass(d.toThemeProperty("jqx-icon-arrow-up-hover"))}else{d._downbutton.addClass(d.toThemeProperty("jqx-fill-state-hover"));d._downArrow.addClass(d.toThemeProperty("jqx-icon-arrow-down-hover"))}}});d.addHandler(c,"mouseleave.jqxComplexInputSpinButtons"+e,function(g){if(!d.disabled&&d.value!==""&&d.value!==null){var f=a(g.target);if(f.hasClass("jqx-icon-arrow-up")||f.children().hasClass("jqx-icon-arrow-up")){d._upbutton.removeClass(d.toThemeProperty("jqx-fill-state-hover"));d._upArrow.removeClass(d.toThemeProperty("jqx-icon-arrow-up-hover"))}else{d._downbutton.removeClass(d.toThemeProperty("jqx-fill-state-hover"));d._downArrow.removeClass(d.toThemeProperty("jqx-icon-arrow-down-hover"))}}});d.addHandler(a("body"),"mouseup.jqxComplexInputSpinButtons"+e,function(){d._upbutton.add(d._downbutton).removeClass(d.toThemeProperty("jqx-fill-state-pressed"))})}},_removeHandlers:function(){var c=this,d;if(c.baseHost){d=c.baseHost[0].id}else{d=c.element.id}c.removeHandler(c.host,"focus.jqxComplexInput"+d);c.removeHandler(c.host,"blur.jqxComplexInput"+d);c.removeHandler(c.host,"keydown.jqxComplexInput"+d);c.removeHandler(c.host,"keypress.jqxComplexInput"+d);if(c._spinButtonsContainer){var b=c._upbutton.add(c._downbutton);c.removeHandler(c._upbutton,"mousedown.jqxComplexInputSpinButtonUp"+d);c.removeHandler(c._upbutton,"mouseup.jqxComplexInputSpinButtonUp"+d);c.removeHandler(c._downbutton,"mousedown.jqxComplexInputSpinButtonDown"+d);c.removeHandler(c._downbutton,"mouseup.jqxComplexInputSpinButtonDown"+d);c.removeHandler(b,"mouseenter.jqxComplexInputSpinButtons"+d);c.removeHandler(b,"mouseleave.jqxComplexInputSpinButtons"+d);c.removeHandler(a("body"),"mouseup.jqxComplexInputSpinButtons"+d)}},_onChange:function(c){var l=this,k,o;var n=l.element.value.toLowerCase();if(a.trim(n)!==""&&a.trim(n)!==l.placeHolder){if(n.indexOf("++")!==-1||n.indexOf("+-")!==-1){var f=n.indexOf("+");n=n.slice(0,f+1)+""+n.slice(f+2,n.length)}else{if(n.indexOf("--")!==-1||n.indexOf("-+")!==-1){var j=n.indexOf("-");n=n.slice(0,j+1)+""+n.slice(j+2,n.length)}}if(n.indexOf("..")!==-1){var d=n.indexOf(".");n=n.slice(0,d+1)+""+n.slice(d+2,n.length)}var m=l._getReal(n);var g=l._getImaginary(n);var b=" ";var e=g>=0?"+":"-";var h="i";k=m;o=g;if(isNaN(k)||isNaN(o)){l.element.value=c;return}l.element.value=m+""+b+""+e+""+b+""+Math.abs(g)+""+h;l.value=l.element.value}else{k=0;o=0;l.value=""}if(l.value!==c){l._currentNumber={value:l.value,realPart:k,imaginaryPart:o};l._raiseEvent("0",{value:l.value,oldValue:c,realPart:k,imaginaryPart:o})}},_incrementOrDecrement:function(j){var e=this,g,l,h=e.host.is(":focus"),k=e.element.value,i=e._currentNumber.realPart,d=e._currentNumber.imaginaryPart;if(h){g=e._getCaretPosition()}if(d>=0){l=k.indexOf("+")}else{if(k.charAt(0)==="-"){k=k.slice(1,k.length)}l=k.indexOf("-")}function f(o){var m=o.toString(),r=m.indexOf("."),q,p,n;if(r!==-1){p=parseInt(m.slice(0,r),10);n=m.slice(m.indexOf(".")+1);q="."}else{p=o;n="";q=""}if(j===true){o=p+e.spinButtonsStep}else{o=p-e.spinButtonsStep}o=parseFloat(o+""+q+""+n);return o}if(g===undefined||g<=l){i=f(i)}else{d=f(d)}var c=d>=0?"+":"-";var b=i+" "+c+" "+Math.abs(d)+"i";e.element.value=b;e._onChange(e.value);if(h){e._setCaretPosition(g)}else{if(e.decimalNotation!=="default"){e._setNotation()}}},_getCaretPosition:function(){var c=this.element;if("selectionStart" in c){return c.selectionStart}else{if(document.selection){c.focus();var d=document.selection.createRange();var b=document.selection.createRange().text.length;d.moveStart("character",-c.value.length);return d.text.length-b}}},_setCaretPosition:function(c){var b=this.element;setTimeout(function(){if("selectionStart" in b){b.focus();b.setSelectionRange(c,c)}else{var d=b.createTextRange();d.collapse(true);d.moveEnd("character",c);d.moveStart("character",c);d.select()}},10)},_exponentialToDecimal:function(h){var f=h.indexOf("e")+2;var e=h.slice(f);var b=e.indexOf("+");var g=e.indexOf("-");if(b!==-1&&(b<g||g===-1)){f=b}else{f=g}var d=e.slice(f);var i=h.replace(d,"");d=d.slice(0,d.length-1);var c=d.charAt(0);d=a.trim(d.slice(1));if(c==="-"){d="-"+d}i=parseFloat(i).toFixed(20)*1;d=parseFloat(d).toFixed(20)*1;return{realPart:i,imaginaryPart:d}},_setNotation:function(){var d=this;var e=d.getDecimalNotation(d._currentNumber.realPart,d.decimalNotation);var c=d.getDecimalNotation(Math.abs(d._currentNumber.imaginaryPart),d.decimalNotation);var b=d._currentNumber.imaginaryPart>=0?"+":"-";d.element.value=e+" "+b+" "+c+"i"},_toSuperScript:function(h,g){var f="-0123456789";var d="⁻⁰¹²³⁴⁵⁶⁷⁸⁹";var c="";for(var e=0;e<h.length;e++){if(g===true){var b=d.indexOf(h.charAt(e));c+=(b!==-1?f[b]:h[e])}else{var j=f.indexOf(h.charAt(e));c+=(j!==-1?d[j]:h[e])}}return c}})})(jqxBaseFramework);
 
-(function(b){b.jqx.jqxWidget("jqxDataTable","",{});b.extend(b.jqx._jqxDataTable.prototype,{defineInstance:function(){var c={altRows:false,aggregatesHeight:34,autoShowLoadElement:true,autoRowHeight:true,columnsHeight:30,columns:[],columnGroups:null,columnsResize:false,columnsReorder:false,dataview:null,disabled:false,editable:false,editSettings:{saveOnPageChange:true,saveOnBlur:true,saveOnSelectionChange:true,cancelOnEsc:true,saveOnEnter:true,editSingleCell:false,editOnDoubleClick:true,editOnF2:true},enableHover:true,enableBrowserSelection:false,filterHeight:35,filterable:false,filterMode:"default",groupsRenderer:null,groups:new Array(),headerZIndex:359,height:null,handleKeyboardNavigation:null,indentWidth:25,initRowDetails:false,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed.",localization:null,pagerHeight:40,pageSize:10,pageSizeOptions:["5","10","20"],pageable:false,pagerPosition:"bottom",pagerMode:"default",pageSizeMode:"default",pagerButtonsCount:5,pagerRenderer:null,ready:null,rendertoolbar:null,rowDetails:false,renderStatusBar:null,rendered:null,rendering:null,rtl:false,sortable:false,showtoolbar:false,showstatusbar:false,statusBarHeight:34,serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:b.jqx.utilities.scrollBarSize,touchScrollBarSize:b.jqx.utilities.touchScrollBarSize,showAggregates:false,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,beginEdit:null,endEdit:null,autokoupdates:true,columnsVirtualization:false,exportSettings:{columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,recordsInView:true,fileName:"jqxDataTable"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},toolbarHeight:34,tableZIndex:369,_updating:false,touchmode:"auto",width:null,that:this,incrementalSearch:true,events:["bindingComplete","sort","filter","pageChanged","pageSizeChanged","rowClick","rowDoubleClick","cellValueChanged","rowBeginEdit","rowEndEdit","rowSelect","rowUnselect","rowCheck","rowUncheck","columnResized","columnReordered","rowExpand","rowCollapse","cellBeginEdit","cellEndEdit"]};if(this===b.jqx._jqxDataTable.prototype){return c}b.extend(true,this,c);this.that=this;return c},createInstance:function(e){var l=this;if(b.jqx.utilities.scrollBarSize!=13){l.scrollBarSize=b.jqx.utilities.scrollBarSize}if((l.element.nodeName.toLowerCase()=="table")||b(l.element).children("table").length>0){var n=l.host.find("tbody tr");var d=l.host.find("th");var w=new Array();if(d.length===0){d=n[0];n.splice(0,1)}if(l.localizestrings){l.localizestrings();if(l.localization!=null){l.localizestrings(l.localization,false)}}var z=[];for(var u=0;u<n.length;u++){var k=n[u];var h={};for(var t=0;t<d.length;t++){var g=b.trim(b(d[t]).text());if(u===0){var s={name:g};if(l.columns[t]&&l.columns[t].cellsFormat){var v=l.columns[t].cellsFormat.toLowerCase();if(v.indexOf("p")!=-1||v.indexOf("c")!=-1||v.indexOf("n")!=-1||v.indexOf("f")!=-1){s.type="number"}if(v.indexOf("d")!=-1||v.indexOf("m")!=-1||v.indexOf("y")!=-1||v.indexOf("h")!=-1||v.indexOf("m")!=-1||v.indexOf("s")!=-1||v.indexOf("t")!=-1){s.type="date"}}w.push(s)}var c=b(k).find("td:eq("+t+")");var f=w[t].type;if(f){var p=l.getvaluebytype(b.trim(c.text()),w[t]);h[g]=p}else{h[g]=b.trim(c.text())}}z[z.length]=h}l.host.wrap("<div></div>");var m=l.host.parent();var q=l.host.data();q.jqxDataTable.host=m;q.jqxDataTable.element=m[0];l.host.parent()[0].id=l.element.id;try{l.host.parent()[0].style=l.element.style}catch(r){}l.element=m[0];l.host=m;l.host.data(q);var o={dataFields:w,localdata:z,datatype:"array"};var y=new b.jqx.dataAdapter(o);l.source=y}if(l.source&&!l.source.dataBind){l.source=new b.jqx.dataAdapter(l.source)}var x=l.source._source.datafields;if(x&&x.length>0){l._camelCase=l.source._source.dataFields!==undefined;l.selectionMode=l.selectionMode.toLowerCase()}if(l.host.attr("tabindex")==null){l.host.attr("tabindex","0")}l.host.attr("role","grid");l.host.attr("align","left");l.host.addClass(l.toTP("jqx-grid"));l.host.addClass(l.toTP("jqx-reset"));l.host.addClass(l.toTP("jqx-rc-all"));l.host.addClass(l.toTP("jqx-widget"));l.host.addClass(l.toTP("jqx-widget-content"));if(l._testmodules()){return}l.render(true);b.jqx.utilities.resize(l.host,function(){var A=b(window).width();var i=b(window).height();var j=l.host.width();var B=l.host.height();if(l._lastHostWidth!=j||l._lastHostHeight!=B){l._updatesize(l._lastHostWidth!=j,l._lastHostHeight!=B)}l._lastWidth=A;l._lastHeight=i;l._lastHostWidth=j;l._lastHostHeight=B})},getvaluebytype:function(h,d){var f=h;if(h==null){return h}if(this.gridlocalization.decimalseparator==","){if(h.indexOf(this.gridlocalization.decimalseparator)>=0){h=h.replace(this.gridlocalization.decimalseparator,".")}}if(h.indexOf(this.gridlocalization.currencysymbol)>=0){h=h.replace(this.gridlocalization.currencysymbol,"")}if(h.indexOf(this.gridlocalization.percentagesymbol)>=0){h=h.replace(this.gridlocalization.percentagesymbol,"")}if(b.isArray(h)&&d.type!="array"){for(var e=0;e<h.length;e++){h[e]=this.getvaluebytype(h[e],d)}return h}if(d.type=="date"){if(h=="NaN"){h=""}else{var g=new Date(h);if(typeof h=="string"){if(d.format){var c=b.jqx.dataFormat.parsedate(h,d.format);if(c!=null){g=c}}}if(g.toString()=="NaN"||g.toString()=="Invalid Date"){if(b.jqx.dataFormat){h=b.jqx.dataFormat.tryparsedate(h)}else{h=g}}else{h=g}if(h==null){h=f}}}else{if(d.type=="float"||d.type=="number"||d.type=="decimal"){if(h=="NaN"){h=""}else{var h=parseFloat(h);if(isNaN(h)){h=f}}}else{if(d.type=="int"||d.type=="integer"){var h=parseInt(h);if(isNaN(h)){h=f}}else{if(d.type=="bool"||d.type=="boolean"){if(h!=null){if(h.toLowerCase!=undefined){if(h.toLowerCase()=="false"){h=false}else{if(h.toLowerCase()=="true"){h=true}}}}if(h==1){h=true}else{if(h==0&&h!==""){h=false}else{h=""}}}}}}return h},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var d=b('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var c=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){c=true}}if(c){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var e=false;if(this.width==="auto"||this.width===null||this.autoWidth){e=true}if(e){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(d){var c=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");c.addClass(this.toTP("jqx-widget"));b(document.body).append(c);if(d=="cell"){this._cellheight=c.height()}else{this._columnheight=c.height()}c.remove()},_testmodules:function(){var g="";var e=this;var c=function(){if(g.length!=""){g+=","}};if(!this.host.jqxScrollBar){c();g+=" jqxscrollbar.js"}if(!this.host.jqxButton){c();g+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){c();g+=" jqxdata.js"}if(g!=""||this.editable||this.filterable||this.pageable){var d=[];var f=function(h){switch(h){case"checkbox":if(!e.host.jqxCheckBox&&!d.checkbox){d.checkbox=true;c();g+=" jqxcheckbox.js"}break;case"dropdownlist":if(!e.host.jqxDropDownList&&!d.dropdownlist){c();d.dropdownlist=true;g+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!e.host.jqxListBox&&!d.listbox){c();d.listbox=true;g+=" jqxlistbox.js"}}break}};if((this.filterable&&this.filterMode!="simple")||(this.pagerMode=="advanced"&&this.pageable)){f("dropdownlist")}if(g!=""){throw new Error("jqxDataTable: Missing references to the following module(s): "+g);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();this.host.focus();var d=this;setTimeout(function(){d.wrapper.focus();d.host.focus()},25);this.focused=true}catch(c){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},isBindingCompleted:function(){return !this._loading},_updatesize:function(i,h){if(this._loading){return}var f=this;var g=f.host.width();var e=f.host.height();if(!f._oldWidth){f._oldWidth=g}if(!f._oldHeight){f._oldHeight=e}if(f._resizeTimer!=undefined){clearTimeout(f._resizeTimer);f._resizeTimer=null}var d=300;var c=function(){if(f._resizeTimer){clearTimeout(f._resizeTimer)}f.resizingGrid=true;if(b.jqx.isHidden(f.host)){return}f._updatecolumnwidths();f.refresh();f._oldWidth=g;f._oldHeight=e;f.resizingGrid=false};c();f._resizeTimer=setTimeout(function(){var k=f.host.width();var j=f.host.height();if(f._oldWidth!=k||f._oldHeight!=j){c()}},d)},resize:function(d,c){if(d!=undefined){this.width=d}if(c!=undefined){this.height=c}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var c=b.jqx.mobile.isTouchDevice();this.touchDevice=c;if(this.touchmode==true){c=true;b.jqx.mobile.setMobileSimulator(this.table[0]);this.touchDevice=c}else{if(this.touchmode==false){c=false}}if(c){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return c},toTP:function(c){return this.toThemeProperty(c)},localizestrings:function(c,f){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(c!=null){for(var h in c){if(h.toLowerCase()!==h){c[h.toLowerCase()]=c[h]}}var j=["pagergotopagestring","pagershowrowsstring","pagerrangestring","pagernextbuttonstring","pagerpreviousbuttonstring","pagerfirstbuttonstring","pagerlastbuttonstring","toppagerstring","firstDay","days","months","AM","PM","patterns","percentsymbol","currencysymbol","currencysymbolposition","decimalseparator","thousandsseparator","filterapplystring","filteraddnew","filtercancelstring","filterclearstring","filterstring","filterstringcomparisonoperators","filternumericcomparisonoperators","filterdatecomparisonoperators","filterbooleancomparisonoperators","emptydatastring","filterselectstring","todaystring","clearstring","validationstring","loadtext","filtersearchstring","loadingErrorMessage"];var g=this;for(var e=0;e<j.length;e++){var d=j[e];if(c[d]!==undefined){g.gridlocalization[d]=c[d]}}if(c.loadingErrorMessage){this.loadingErrorMessage=c.loadingErrorMessage}if(f!==false){this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",filterapplystring:"Apply",filtercancelstring:"Cancel",filterclearstring:"Clear Filter",filterstring:"advanced",filtersearchstring:"Search:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed."}}},_updateScrollbars:function(m){var p=false;if(this.width==="auto"||this.width===null||this.autowidth){if(this.maxWidth==999999){p=true}}var d=parseInt(this.scrollBarSize);var j=this.table?this.table.height():0;var n=0;var e="inherit";var h=this.vScrollBar[0].style.visibility;var l=this.hScrollBar[0].style.visibility;if(!m){var g=this.host.height()}else{var g=m}if(!this.columnGroups){g-=this.showHeader?this.columnsHeight:0}else{g-=this.showHeader?this.columnsheader.height():0}if(this.filterable){g-=this.filter.height()}if(this.pageable){g-=this.pagerHeight;if(this.pagerPosition==="both"){g-=this.pagerHeight}}if(this.showtoolbar){g-=this.toolbarHeight}if(this.showstatusbar){g-=this.statusBarHeight}if(this.showAggregates){g-=this.aggregatesHeight}var q=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){q=true}}if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}else{this.vScrollBar[0].style.visibility="hidden"}if((h!=this.vScrollBar[0].style.visibility)){this._updatecolumnwidths();var i=this.table.height();if(j!=i){j=i;if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}}}if(this.scrollBarSize==0){n=0}var o=this.table?this.table.width():0;if(o>3){o-=3}var c=parseInt(this.host.css("border-left-width"))+parseInt(this.host.css("border-right-width"));var r=c+this.host.width()-n;if(o>r&&!p){this.hScrollBar[0].style.visibility=e;this.hScrollBar.jqxScrollBar({max:o-r});n=4+parseInt(d);if(d==0){n=0}if(!q){if(j>g-n+4&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.hScrollBar.jqxScrollBar({max:c+o-r});var f=this.vScrollBar[0].style.visibility==="hidden";this.vScrollBar[0].style.visibility=e;this._updatecolumnwidths();if(f){this.hScrollBar.jqxScrollBar({max:o-r+n+c})}var k=this.table?this.table.width():0;if(k>3){k-=3}if(k!=o){if(k<r){this.hScrollBar.jqxScrollBar({max:c+k-r});this.hScrollBar[0].style.visibility="hidden";n=0}}}this.vScrollBar.jqxScrollBar({max:j-g+n})}}else{this.hScrollBar[0].style.visibility="hidden"}if(this.source.records.length===0&&(this.source.hierarchy&&this.source.hierarchy.length===0)){this.vScrollBar[0].style.visibility="hidden";this.bottomRight[0].style.visibility="hidden"}if(this.vScrollBar[0].style.visibility=="hidden"){if(this.vScrollInstance.value!=0){this.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>"+e+"</span>");d.addClass(this.toTP("jqx-widget"));d.addClass(this.toTP("jqx-grid"));d.addClass(this.toTP("jqx-grid-column-header"));d.addClass(this.toTP("jqx-widget-header"));b(document.body).append(d);var c=d.outerWidth()+20;d.remove();return c},_arrangeAutoHeight:function(e){if(!e){e=0}if(this.height==="auto"||this.height===null||this.autoheight){var h=this.table.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:-1}else{g+=this.showHeader?this.columnsheader.height():-1}g+=this.showstatusbar?this.statusBarHeight:0;g+=this.showAggregates?this.aggregatesHeight:0;g+=this.showtoolbar?this.toolbarHeight:0;g+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){g+=this.pageable?this.pagerHeight:0}g+=h;if(this.filterable){var f=this.filter.find(".filterrow");var c=this.filter.find(".filterrow-hidden");var d=1;if(c.length>0){d=0}g+=this.filterHeight-1+this.filterHeight*f.length*d}if(g+e>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(g+e)}return true}return false},_arrangeAutoWidth:function(e){if(!e){e=0}if(this.width==="auto"||this.width===null||this.autowidth){var d=0;for(var f=0;f<this.columns.records.length;f++){var c=this.columns.records[f].width;if(this.columns.records[f].hidden){continue}if(c=="auto"){c=this._measureElementWidth(this.columns.records[f].text);d+=c}else{d+=c}}var g=d;if(g+e>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(g+e)}return true}return false},_measureTopAndHeight:function(){var d=this.host.height();var h=0;if(this.showtoolbar){h+=this.toolbarHeight;d-=parseInt(this.toolbarHeight)}if(this.filterable){var g=this.filter.find(".filterrow");var e=this.filter.find(".filterrow-hidden");var f=1;if(e.length>0){f=0}h+=this.filterHeight;d-=parseInt(this.filterHeight);var c=f==1?g.length:0;h+=this.filterHeight*c;d-=this.filterHeight*c}if(this.pageable&&this.pagerPosition!="bottom"){h+=parseInt(this.pagerHeight)+1;if(d>this.pagerHeight&&this.pagerPosition==="both"){d-=parseInt(this.pagerHeight)}}return{top:h,height:d}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var v=this.host.width();var r=this.host.height();var j=r;var i=this;if(this.pageable){if(this.pagerPosition==="bottom"){this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="both"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="top"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="hidden"}}}}else{this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="hidden"}var q=0;if(this.showtoolbar){this.toolbar.width(v);this.toolbar.height(this.toolbarHeight-1);this.toolbar.css("top",0);q+=this.toolbarHeight;r-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.filterable){this.filter.width(v);this.filter.css("top",q);var t=this.filter.find(".filterrow");var h=this.filter.find(".filterrow-hidden");var A=1;if(h.length>0){A=0}this.filter.height(this.filterHeight-1+this.filterHeight*t.length*A);q+=this.filterHeight;r-=parseInt(this.filterHeight);var x=A==1?t.length:0;q+=this.filterHeight*x;r-=this.filterHeight*x}if(this.showstatusbar){this.statusbar.width(!this.table?v:Math.max(v,this.table.width()));this.statusbar.height(this.statusBarHeight-1)}else{this.statusbar[0].style.height="0px"}if(this.showAggregates){this.aggregates.height(this.aggregatesHeight-1)}else{this.aggregates[0].style.height="0px"}if(this.pageable&&this.pagerPosition!="bottom"){this.toppager[0].style.width=v+"px";this.toppager[0].style.height=parseInt(this.pagerHeight)+"px";this.toppager[0].style.top=parseInt(q)+"px";q+=parseInt(this.pagerHeight)+1;if(r>this.pagerHeight){r-=parseInt(this.pagerHeight)}}else{if(this.toppager[0].style.width!=v+"px"){this.toppager[0].style.width=parseInt(v)+"px"}if(this.toppager[0].style.height!=this.pagerHeight+"px"){this.toppager[0].style.height=parseInt(this.pagerHeight)+"px"}if(this.toppager[0].style.top!=q+"px"){this.toppager[0].style.top=q+"px"}var y=this.pagerPosition!="bottom"?this.pagerHeight:0;var d=q+y+"px";if(this.content[0].style.top!=d){this.content[0].style.top=q+this.pagerHeight+"px"}}this._updateScrollbars(j);var c=parseInt(this.scrollBarSize);var n=4;var e=2;var f=0;if(this.vScrollBar[0].style.visibility!="hidden"){f=c+n}if(this.hScrollBar[0].style.visibility!="hidden"){e=c+n+2}if(c==0){f=0;e=0}if(this.showAggregates){if(this.hScrollBar[0].style.visibility==="hidden"){this.aggregates.width(!this.table?v:Math.max(v,this.table.width())+4)}else{this.aggregates.width("auto")}}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var w=this._arrangeAutoHeight(e-2);var s=this._arrangeAutoWidth(f+1);if(w||s){var v=this.host.width();this.toppager[0].style.width=parseInt(v)+"px";this.toolbar[0].style.width=parseInt(v)+"px";this.statusbar[0].style.width=parseInt(v)+"px";this.filter[0].style.width=parseInt(v)+"px"}if(w){var B=this._measureTopAndHeight();q=B.top;r=B.height}}var m=0;if(this.pageable){m=this.pagerHeight;if(this.pagerPosition!="top"){e+=this.pagerHeight}}if(this.showAggregates){e+=this.aggregatesHeight;m+=this.aggregatesHeight}if(this.showstatusbar){e+=this.statusBarHeight;m+=this.statusBarHeight}if(this.hScrollBar[0].style.height!=c+"px"){this.hScrollBar[0].style.height=parseInt(c)+"px"}if(this.hScrollBar[0].style.top!=q+r-n-c-m+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=q+r-n-c-m-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var g=false;var z=false;if(f==0){if(l!=(v-2)+"px"){this.hScrollBar[0].style.width=(v-2)+"px";g=true}}else{if(l!=(v-c-n)+"px"){this.hScrollBar[0].style.width=(v-c-n+"px");g=true}}if(this.vScrollBar[0].style.width!=c+"px"){this.vScrollBar[0].style.width=c+"px";z=true}if(this.vScrollBar[0].style.height!=parseInt(r)-e+"px"){this.vScrollBar[0].style.height=(parseInt(r)-e+"px");z=true}if(this.vScrollBar[0].style.left!=parseInt(v)-parseInt(c)-n+"px"||this.vScrollBar[0].style.top!=q+"px"){this.vScrollBar[0].style.top=q+"px";this.vScrollBar[0].style.left=parseInt(v)-parseInt(c)-n+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:q});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:c+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var u=this.hScrollInstance;u.disabled=this.disabled;if(g){u.refresh()}if(z){k.refresh()}var o=function(C){if((C.vScrollBar[0].style.visibility!="hidden")&&(C.hScrollBar[0].style.visibility!="hidden")){C.bottomRight[0].style.visibility="inherit";C.bottomRight[0].style.left=1+parseInt(C.vScrollBar.css("left"))+"px";C.bottomRight[0].style.top=parseInt(C.hScrollBar.css("top"))+"px";if(C.rtl){C.bottomRight.css("left","0px")}C.bottomRight[0].style.width=parseInt(c)+3+"px";C.bottomRight[0].style.height=parseInt(c)+4+"px";if(C.showAggregates){C.bottomRight.css("z-index",99);C.bottomRight.height(parseInt(c)+4+C.aggregatesHeight);C.bottomRight.css({top:parseInt(C.hScrollBar.css("top"))-C.aggregatesHeight})}}else{C.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=v-f+"px"){this.content[0].style.width=v-f+"px"}if(this.content[0].style.height!=r-e+3+"px"){this.content[0].style.height=r-e+3+"px"}if(this.content[0].style.top!=q+"px"){this.content[0].style.top=parseInt(q)+"px"}if(this.rtl){this.content.css("left",f);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",f)}if(this.table){var p=this.table.width();if(p<v-f){this.content.css("left",v-p+2);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",v-p+2)}}}}if(this.showAggregates){this.aggregates.css("top",q+r-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0));if(this.rtl){this.aggregates.css("left","0px")}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({top:q+r-n-c-m+this.aggregatesHeight+"px"});this.aggregates.css("top",1+q+r-c-5-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0))}o(this)}if(this.showstatusbar){this.statusbar.css("top",q+r-this.statusBarHeight-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.statusbar.css("left",this.content.css("left"))}else{this.statusbar.css("left","0px")}}}if(this.pageable){this.pager[0].style.width=v+"px";this.pager[0].style.height=this.pagerHeight+"px";this.pager[0].style.top=parseInt(q)+parseInt(r)-parseInt(this.pagerHeight)-1+"px"}else{this.pager[0].style.height="0px"}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(v!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(r!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostwidth=v},scrollOffset:function(e,d){if(arguments.length==0||(e!=null&&typeof(e)=="object"&&!e.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(e!=null&&typeof(e)=="object"){var d=e.left;var c=e.top;var e=c}if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(c){if(c==null||c==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",c)}},scrolltop:function(c){if(c==null||c==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",c)}},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(c){this._updating=false;if(c===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(h,j,c){if(this.loadingstate===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}var g=this;if(h==null){h={}}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataView();this.dataview.pageable=this.pageable;this.dataview.grid=this;if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pageSize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pageSize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}}this._loading=true;this.dataview.update=function(y){g._loading=false;g.rowsByKey=new Array();var C=g.source._source.datafields;if(g.groups&&g.groups.length>0){var s=Object.prototype.toString;var m=g.groups[0];Object.prototype.toString=(typeof m=="function")?m:function(){return this[m]};if(!g.source.records.sort){var u=new Array();var q=0;var E=0;var D={};b.each(D,function(){u[E+q++]=this});D=u}g.source.records.sort(function(G,F){if(G===undefined){G=null}if(F===undefined){F=null}if(G===null&&F===null){return 0}if(G===null&&F!==null){return -1}if(G!==null&&F===null){return 1}var J=0;var I=0;if(G&&G.uid){J=G.uid}if(F&&F.uid){I=F.uid}G=G.toString();F=F.toString();if(b.jqx.dataFormat.isNumber(G)&&b.jqx.dataFormat.isNumber(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(b.jqx.dataFormat.isDate(G)&&b.jqx.dataFormat.isDate(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(G)&&!b.jqx.dataFormat.isNumber(F)){G=String(G).toLowerCase();F=String(F).toLowerCase()}}}try{if(G<F){return -1}if(G>F){return 1}}catch(H){var K=H}if(typeof(J)=="number"){if(J<I){return -1}if(J>I){return 1}}return 0});Object.prototype.toString=s}for(var A=0;A<g.source.records.length;A++){var p=g.source.records[A];g.rowsByKey[p.uid]=p;if(p.records&&p.records.length>0){var t=function(F){for(var G=0;G<F.length;G++){if(!F[G]){continue}g.rowsByKey[F[G].uid]=F[G];if(F[G].records&&F[G].records.length>0){t(F[G].records)}}};t(p.records)}if(A===0){var n=false;if(C){for(var z=0;z<C.length;z++){if(!C[z]){continue}if(!C[z].type){n=true;C[z].type="string";var l=p[C[z].name];if(l==undefined){continue}if(l===true||l===false){C[z].type="boolean"}if(l!=null&&l.toString().indexOf(g.gridlocalization.currencysymbol)>-1||l.toString().indexOf(g.gridlocalization.percentsymbol)>-1){var v=l.toString().split(" ").length;var k=new Number(g._toNumber(l.toString()));if(!isNaN(k)&&v==1){C[z].type="number"}}if(b.jqx.dataFormat.isNumber(l)||(!isNaN(parseFloat(l))&&isFinite(l))){C[z].type="number"}if(b.jqx.dataFormat.isDate(l)){C[z].type="date"}}}}if(n){for(var z=0;z<C.length;z++){var w=g.source.getvaluebytype(p[C[z].name],C[z]);if(w!=null&&C[z].type=="number"){var B=w;B=new Number(g._toNumber(B.toString()));if(!isNaN(B)){w=B}}p[C[z].name]=w}}}}if(j==="pager"||j==="filter"||j==="sort"){g.refresh()}else{g._render()}if(g.autoShowLoadElement&&!g._loading){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(!g.disabled){if(g.pagernexttop){g.pagerfirsttop.jqxButton({disabled:false});g.pagerfirstbottom.jqxButton({disabled:false});g.pagerlasttop.jqxButton({disabled:false});g.pagerlastbottom.jqxButton({disabled:false});g.pagernexttop.jqxButton({disabled:false});g.pagerprevioustop.jqxButton({disabled:false});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({disabled:false});g.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}g.pagernextbottom.jqxButton({disabled:false});g.pagerpreviousbottom.jqxButton({disabled:false})}}}g._updateTouchScrolling();g._raiseEvent("bindingComplete");if(c){c()}if(!g.initializedcall){g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){g._updatesize(true)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var r=6000+Math.floor((Math.random()*4000)+1);var x=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(x)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},r)}if(g.host.css("visibility")=="hidden"){var o=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}};this.dataview.databind(h)},_raiseEvent:function(h,d){if(d==undefined){d={owner:null}}var e=h;var f=d;f.owner=this;var g=new b.Event(e);g.owner=this;g.args=f;var c=this.host.trigger(g);d=g.args;return c},ensureColumnVisible:function(d){var g=0;var c=0;for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield!=d){g+=this.columns.records[f].width}else{g+=this.columns.records[f].width;c=this.columns.records[f].width;break}}if(this.hScrollBar.css("visibility")!="hidden"){var h=this.hScrollBar.jqxScrollBar("value");var e=h+this.host.width();if(h>g-c){this.hScrollBar.jqxScrollBar("setPosition",g-c)}else{if(g>e){this.hScrollBar.jqxScrollBar("setPosition",h+g-e)}}}},ensurerowvisiblebykey:function(o){if(this.vScrollBar[0].style.visibility==="hidden"){return false}var p=this._getuirow(o);if(!p){return}var m=this.vScrollBar.jqxScrollBar("value");var e=this.host.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:0}else{g+=this.showHeader?this.columnsheader.height():0}if(this.filterable){g+=this.filter.height()}if(this.pageable){if(this.pagerPosition==="top"){g+=this.pagerHeight}}if(this.showtoolbar){g+=this.toolbarHeight}e-=g;if(this.pageable&&this.pagerPosition!=="top"){e-=this.pagerHeight}if(this.showstatusbar){e-=this.statusBarHeight}if(this.showAggregates){e-=this.aggregatesHeight}if(this.hScrollBar.css("visibility")!="hidden"){e-=20}var n=this.host.coord().top+g;var f=m;var c=e+f;var i=p.coord().top+m-n;i=Math.round(i);var l=i+p.outerHeight();l=Math.round(l);if(Math.round(p.position().top)===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var j=b(this._table.children()[1]).children().length-1;var d=this._getuikey(j);var k=this._getuirow(d);if(k){if(k[0]===p[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}}if(i<f){var h=i-p.height();if(h<0){h=0}return this.vScrollBar.jqxScrollBar("setPosition",h)}if(l>c){return this.vScrollBar.jqxScrollBar("setPosition",4+l-e)}},ensureRowVisible:function(c){var d=this._getkey(c);this.ensurerowvisiblebykey(d)},getColumn:function(c){var d=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==c||this.displayfield==c){d=this;return false}})}return d},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}var d=g;g=g.toLowerCase();var f=this.getColumn(e);if(f==null){return}var i=f[g];f[g]=h;f[d]=h;var c=this.getColumn(e);if(c!=null){c[g]=h}switch(g){case"filteritems":case"text":case"editable":case"resizable":case"draggable":case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(g=="align"){this._rendercolumnheaders();this.refresh()}else{if(g=="text"||g=="class"||g=="hidden"||g=="pinned"||g=="resizable"||g=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(g=="width"||g=="maxwidth"||g=="minwidth"){f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(c,e){if(c==null||e==null){return null}e=e.toLowerCase();var d=this.getColumn(c);return d[e]},setColumnProperty:function(c,d,e){this._setcolumnproperty(c,d,e)},hideColumn:function(c){this._setcolumnproperty(c,"hidden",true)},showColumn:function(c){this._setcolumnproperty(c,"hidden",false)},updateBoundData:function(d,c){this.databind(this.source,d,c)},refresh:function(c){if(c!=true){if(b.jqx.isHidden(this.host)){return}this.vScrollInstance.setPosition(0);this._renderrows();this.updatepagerdetails();this._arrange();if(this._arrangeFilterRow){this._arrangeFilterRow()}this._renderhorizontalscroll();this._showicons();if(this.showAggregates){this._updateaggregates()}this._updateTouchScrolling()}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var d="www.jqwidgets.com";if(location.hostname.indexOf(d.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var e=String.fromCharCode(83,80,65,78);var c=String.fromCharCode(72,84,84,80,58,47,47);var f=document.createElement(e);f.id=b.jqx.utilities.createId();f.innerHTML=d;f.style.position="absolute";f.style.right="5px";f.style.bottom="5px";f.style.color="#909090";f.style.cursor="pointer";f.style.zIndex="999999";f.style.display="none";f.style.fontSize="9px";f.onmousedown=function(){open(c+d)};this.content[0].appendChild(f);this._gridRenderElement=f}}},_updateTouchScrolling:function(){var d=this.that;if(d.isTouchDevice()){var f=b.jqx.mobile.getTouchEventName("touchstart");var e=b.jqx.mobile.getTouchEventName("touchend");var c=b.jqx.mobile.getTouchEventName("touchmove");if(d.table){d.removeHandler(d.table,f+".touchScroll");d.removeHandler(d.table,c+".touchScroll");d.removeHandler(d.table,e+".touchScroll");d.removeHandler(d.table,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(d.table[0],Math.max(d.vScrollInstance.max,d.hScrollInstance.max),function(i,h){if(h!=null&&d.vScrollBar.css("visibility")!="hidden"){var g=d.vScrollInstance.value;d.vScrollInstance.setPosition(h)}if(i!=null&&d.hScrollBar.css("visibility")!="hidden"){var g=d.hScrollInstance.value;d.hScrollInstance.setPosition(i)}d.scrolled=new Date();d.vScrollInstance.thumbCapture=true},this.element.id,this.hScrollBar,this.vScrollBar)}}},_showicons:function(){if(!this.table){return}for(var e=0;e<this.columns.records.length;e++){var g=this.columns.records[e];b(g.filtericon).hide();b(g.sortasc).hide();b(g.sortdesc).hide();if(this.filterMode!=="simple"){for(var d=0;d<this.dataview.filters.length;d++){var f=this.dataview.filters[d];if(f.datafield===g.displayfield){b(g.filtericon).show();break}}}if(this.sortcolumn!==null){if(this.sortcolumn===g.displayfield){if(this.sortdirection!=null){if(this.sortdirection.ascending){b(g.sortasc).show()}else{b(g.sortdesc).show()}}}}if((g.align!="left"&&g.align!="center"&&!this.rtl)||(this.rtl&&g.align!="right"&&g.align!="center")){var h=b.jqx.isHidden(b(g.filtericon))?0:16;h+=b.jqx.isHidden(b(g.sortasc))?0:16;h+=b.jqx.isHidden(b(g.sortdesc))?0:16;var c=b(b(b(g.element).children()[0]).children()[0]);if(!this.rtl){if(h>0){c.css("margin-right",4+h+"px")}else{c.css("margin-right","4px")}}else{if(h>0){c.css("margin-left",4+h+"px")}else{c.css("margin-left","4px")}}}}},render:function(j){var f="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='toppager' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='statusbar' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerText="";this.element.innerHTML=f;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var h=this.host.find("#verticalScrollBar"+this.element.id);var l=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=h.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=l.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=b.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=b.data(this.hScrollBar[0],"jqxScrollBar").instance;this.filter=this.host.find("#filter");this.filter[0].id="filter"+this.element.id;this.filter.addClass(this.toTP("jqx-widget-header"));this.filter.addClass(this.toTP("jqx-grid-toolbar"));this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-grid-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.aggregates=this.host.find("#aggregates");this.aggregates[0].id="aggregates"+this.element.id;this.aggregates.addClass(this.toTP("jqx-grid-statusbar"));this.aggregates.addClass(this.toTP("jqx-widget-header"));this.statusbar=this.host.find("#statusbar");this.statusbar[0].id="statusbar"+this.element.id;this.statusbar.addClass(this.toTP("jqx-grid-statusbar"));this.statusbar.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.toppager=this.host.find("#toppager");this.toppager.addClass(this.toTP("jqx-grid-pager-top"));this.toppager.addClass(this.toTP("jqx-widget-header"));this.gridtable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var c=this.source.datafields;if(c==null&&this.source._source){c=this.source._source.datafields}if(c){for(var d=0;d<this.columns.length;d++){var e=this.columns[d];if(e&&e.cellsFormat&&e.cellsFormat.length>2){for(var k=0;k<c.length;k++){if(c[k].name==e.datafield&&!c[k].format){c[k].format=e.cellsFormat;break}}}}}this.databind(this.source);if(this.showtoolbar){this.toolbar.css("visibility","inherit")}if(this.showstatusbar){this.statusbar.css("visibility","inherit")}if(this.showAggregates){this.aggregates.css("visibility","inherit")}this.tableheight=null;var g=this;var i=function(){if(g.content){g.content[0].scrollTop=0;g.content[0].scrollLeft=0}if(g.gridcontent){g.gridcontent[0].scrollLeft=0;g.gridcontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(m){i();return false});if(j!==true){this._render()}},_render:function(){var e=this;if(e.dataview==null){return}if(e._loading){return}if(e.columnsHeight!=25||e.columnGroups){e._measureElement("column")}if(e.filterable){e.filter[0].style.visibility="inherit"}else{e.filter[0].style.visibility="hidden"}e.rowinfo=new Array();e._removeHandlers();if(e.columns==null){e.columns=new b.jqx.dataCollection(e.element)}else{e._initializeColumns()}var c=false;var f=false;if(e.width!=null&&e.width.toString().indexOf("%")!=-1){c=true}if(c){e.element.style.width=e.width}else{e.host.width(e.width)}if(e.height!=null&&e.height.toString().indexOf("%")!=-1){f=true}if(f){e.element.style.height=e.height}else{e.host.height(e.height)}e._lastHostWidth=e.host.width();e._lastHostHeight=e.host.height();b.jqx.utilities.html(e.content,"");e.columnsheader=e.columnsheader||b('<div style="overflow: hidden;"></div>');e.columnsheader.remove();e.columnsheader.addClass(e.toTP("jqx-widget-header"));e.columnsheader.addClass(e.toTP("jqx-grid-header"));if(!e.showHeader){e.columnsheader.css("display","none")}else{if(e.columnsheader){e.columnsheader.css("display","block")}}e.gridcontent=e.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');e.gridcontent.remove();var d=e.columnsHeight;d=e._preparecolumnGroups();e.columnsheader.height(d);e.content.append(e.columnsheader);e.content.append(e.gridcontent);e._rendercolumnheaders();e.tableheight=null;e.gridcontent.find("#contenttable"+e.element.id).remove();if(e.table!=null){e.table.remove();e.table=null}e.table=b('<div id="contenttable'+e.element.id+'" style="overflow: hidden; position: relative;"></div>');e.gridcontent.addClass(e.toTP("jqx-grid-content"));e.gridcontent.addClass(e.toTP("jqx-widget-content"));e.gridcontent.append(e.table);e._renderrows();if(e.filterable){e._renderfilter()}if(e.pageable){e._initpager()}e._arrange();if(e.renderStatusBar){e.renderStatusBar(e.statusbar)}if(e.rendertoolbar){e.rendertoolbar(e.toolbar)}if(e.showAggregates){e._updateaggregates()}if(e.disabled){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}e._renderhorizontalscroll();e._showicons();e._addHandlers()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},_initpager:function(){var g=this;var c=this.gridlocalization.pagergotopagestring;var i=this.gridlocalization.pagerrangestring;var d=this.gridlocalization.pagershowrowsstring;var h=(this.pagerHeight-28)/2;this.pagerdiv=this.pagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');this.toppagerdiv=this.toppagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.toppagerdiv.remove();return}if(!this.pagerRenderer){this.pagerdiv.css("top",h);this.toppagerdiv.css("top",h);var f=function(s,E){var n=this;var r=b('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');var D=b('<div style="float: right; margin-right: 7px;"></div>');var t=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var j=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var m=b('<div type="button" style="margin-left: 3px; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var q=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var z=b('<div style="margin-right: 7px; float: right;"></div>');var x=b('<div style="margin-right: 7px; float: right;"></div>');var p=b('<div style="padding-bottom: 3px; margin-right: 3px; float: right;"></div>');r.attr("disabled",n.disabled);var A=b('<div id="gridpagerlist" style="margin-top: 0px; margin-right: 7px; float: right;"></div>');A[0].id="gridpagerlist"+E+n.element.id;n.removeHandler(t,"mousedown");n.removeHandler(t,"mouseup");n.removeHandler(t,"click");n.removeHandler(j,"mousedown");n.removeHandler(j,"mouseup");n.removeHandler(j,"click");n.removeHandler(m,"mousedown");n.removeHandler(m,"mouseup");n.removeHandler(m,"click");n.removeHandler(q,"mousedown");n.removeHandler(q,"mouseup");n.removeHandler(q,"click");if(!n.rtl){j.attr("title",n.gridlocalization.pagerpreviousbuttonstring);t.attr("title",n.gridlocalization.pagernextbuttonstring)}else{t.attr("title",n.gridlocalization.pagerpreviousbuttonstring);j.attr("title",n.gridlocalization.pagernextbuttonstring)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){p.css("padding-top","3px")}this["pagerfirst"+E]=m;this["pagerlast"+E]=q;this["pagernext"+E]=t;this["pagerprevious"+E]=j;this["pagergotoinput"+E]=r;this["pagerdetails"+E]=z;this["pagershowrows"+E]=x;this["pagergotolabel"+E]=D;this["pagershowrowscombo"+E]=A;this["pagerbuttons"+E]=p;if(n.pagerMode=="default"){if(!n.rtl){m.attr("title",n.gridlocalization.pagerfirstbuttonstring);q.attr("title",n.gridlocalization.pagerlastbuttonstring)}else{q.attr("title",n.gridlocalization.pagerfirstbuttonstring);m.attr("title",n.gridlocalization.pagerlastbuttonstring)}var v=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");v.addClass(n.toThemeProperty("jqx-icon-arrow-first"));m.wrapInner(v);var o=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");o.addClass(n.toThemeProperty("jqx-icon-arrow-last"));q.wrapInner(o);if(!n.rtl){s.append(m);s.append(j);s.append(p);s.append(t);s.append(q)}else{s.append(q);s.append(t);s.append(p);s.append(j);s.append(m)}q.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});m.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var C=!n.rtl?"left":"right";p.css("float",C);q.css("float",C);m.css("float",C);t.css("float",C);j.css("float",C);z.css("float",n.rtl?"left":"right");if(n.rtl){z.css("margin-left","7px");z.css("margin-right","0px")}else{z.css("margin-left","0px");z.css("margin-right","7px")}}else{if(!n.rtl){s.append(t);s.append(j)}}t.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});j.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var k=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");k.addClass(n.toThemeProperty("jqx-icon-arrow-left"));j.wrapInner(k);var l=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");l.addClass(n.toThemeProperty("jqx-icon-arrow-right"));t.wrapInner(l);if(!n.rtl){s.append(z)}if(n.pagerMode!="default"){if(!n.rtl){s.append(A);s.append(x);s.append(r);s.append(D)}else{s.append(D);s.append(r);s.append(x);s.append(A);s.append(z);s.append(t);s.append(j)}var u=n.pageSizeOptions;A.jqxDropDownList({_checkForHiddenParent:false,rtl:n.rtl,disabled:n.disabled,source:u,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:n.theme});var B=0;for(var y=0;y<u.length;y++){if(this.pageSize>=u[y]){B=y}}D[0].innerHTML=c;A.jqxDropDownList({selectedIndex:B});var w=r.find("input");w.addClass(n.toThemeProperty("jqx-input"));w.addClass(n.toThemeProperty("jqx-widget-content"));if(this.rtl){w.css("direction","rtl")}var n=this;this.removeHandler(A,"select");this.addHandler(A,"select",function(K){if(K.args){if(n.vScrollInstance){n.vScrollInstance.setPosition(0)}var I=K.args.index;n.pagershowrowscombotop.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.renderSelection("mouse");n.pagershowrowscombotop.data().jqxDropDownList.instance.renderSelection("mouse");var L=n.dataview.pagenum*n.dataview.pagesize;var H=u[I];var J=n.pageSize;n.pageSize=parseInt(H);if(isNaN(n.pageSize)){n.pageSize=10}if(H>=100){n.pagershowrowscombotop.jqxDropDownList({width:55});n.pagershowrowscombobottom.jqxDropDownList({width:55})}else{n.pagershowrowscombotop.jqxDropDownList({width:44});n.pagershowrowscombobottom.jqxDropDownList({width:44})}n.dataview.pagesize=n.pageSize;var G=Math.floor(L/n.dataview.pagesize);if(G!==n.dataview.pagenum||parseInt(H)!==parseInt(J)){n._raiseEvent("pageSizeChanged",{pagenum:G,oldpageSize:J,pageSize:n.dataview.pagesize});var F=n.goToPage(G);if(!F){if(!n.serverProcessing){n.refresh()}else{n.updateBoundData("pager")}}}}});var r=r.find("input");r.addClass(n.toThemeProperty("jqx-grid-pager-input"));r.addClass(n.toThemeProperty("jqx-rc-all"));this.removeHandler(r,"keydown");this.removeHandler(r,"change");n.addHandler(r,"keydown",function(F){if(F.keyCode>=65&&F.keyCode<=90){return false}if(F.keyCode=="13"){var G=r.val();G=parseInt(G);if(!isNaN(G)){n.goToPage(G-1)}return false}});n.addHandler(r,"change",function(){var F=r.val();F=parseInt(F);if(!isNaN(F)){n.goToPage(F-1)}})}x[0].innerHTML=d;n.addHandler(t,"mouseenter",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseenter",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mouseleave",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseleave",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mousedown",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(t,"mouseup",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(j,"mousedown",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});n.addHandler(j,"mouseup",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});if(n.pagerMode==="default"){n.addHandler(q,"mouseenter",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseenter",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mouseleave",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseleave",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mousedown",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mousedown",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))});n.addHandler(q,"mouseup",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mouseup",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))})}n.addHandler(b(document),"mouseup.pagerbuttons"+E+this.element.id,function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"));k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"));if(o){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"));v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))}});n.addHandler(t,"click",function(){if(!t.jqxButton("disabled")){if(!n.rtl){n.goToNextPage()}else{n.goToPrevPage()}}});n.addHandler(j,"click",function(){if(!j.jqxButton("disabled")){if(!n.rtl){n.goToPrevPage()}else{n.goToNextPage()}}});if(this.pagerMode==="default"){n.addHandler(m,"click",function(){if(!m.jqxButton("disabled")){if(!n.rtl){n.goToPage(0)}else{var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}}});n.addHandler(q,"click",function(){if(!q.jqxButton("disabled")){if(!n.rtl){var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}else{n.goToPage(0)}}})}};this.pagerdiv.children().remove();this.toppagerdiv.children().remove();f.call(this,this.pagerdiv,"bottom");f.call(this,this.toppagerdiv,"top");this.pager.append(this.pagerdiv);this.toppager.append(this.toppagerdiv);this.updatepagerdetails()}else{this.pagerdiv.children().remove();this.toppager.children().remove();var e=this.pagerRenderer();if(e!=null){this.pagerdiv.append(b(e))}this.pager.append(this.pagerdiv);var e=this.pagerRenderer();if(e!=null){this.toppagerdiv.append(b(e))}this.toppager.append(this.toppagerdiv)}},_updatepagertheme:function(){},goToPage:function(f,h){if(this._loading){return false}if(this.editKey!=undefined){if(this.editSettings.saveOnPageChange){var e=this.endroweditbykey(this.editKey);if(!e){return false}}else{return false}}if(f==null||f==undefined){f=0}if(f==-1){f=0}if(f<0){return false}var d=this.dataview.totalrecords;var g=this.dataview.pagenum;var c=Math.ceil(d/this.pageSize);if(f>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(f>0){f=c-1}}if(this.dataview.pagenum!=f){if(this.pageable){this.dataview.pagenum=f;this._raiseEvent("pageChanged",{pagenum:f,oldpagenum:g,pageSize:this.dataview.pagesize})}if(!this.serverProcessing){this.refresh();if(h){if(b.isFunction(h)){h()}}}else{this.updateBoundData("pager",h)}return true}return false},goToPrevPage:function(e){if(this.dataview.pagenum>0){return this.goToPage(this.dataview.pagenum-1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){var d=this.dataview.totalrecords;var c=Math.ceil(d/this.pageSize);return this.goToPage(c-1,e)}}return false},goToNextPage:function(e){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var c=Math.ceil(d/this.pageSize);if(this.dataview.pagenum<c-1){return this.goToPage(this.dataview.pagenum+1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){return this.goToPage(0,e)}}return false},updatepagerdetails:function(){if(!this.pageable){return}var j=this;if(!this.serverProcessing){if(this.source.hierarchy){var m=j._names();var g=0;var r=function(y,w){for(var x=0;x<w.length;x++){if(j.dataview.filters.length==0){w[x]._visible=true}if(w[x]._visible!==false){g++}if(j.treeGrid&&j.treeGrid.pageSizeMode=="root"){continue}if(w[x].records&&(w[x][m.expanded]||w[x][m.leaf])){if(w[x]._visible!==false){r(y+1,w[x].records);if(this.treeGrid&&b(this.treeGrid).jqxTreeGrid("showSubAggregates")){if(y!=0){g--}}}}}};r(0,this.dataview.rows);this.dataview.totalrecords=g}else{this.dataview.totalrecords=this.dataview.rows.length}}var d=this.dataview.pagenum*this.pageSize;var u=(this.dataview.pagenum+1)*this.pageSize;if(u>=this.dataview.totalrecords){u=this.dataview.totalrecords}var v=this.dataview.totalrecords;d++;var t=Math.ceil(v/this.dataview.pagesize);if(t>=1){t--}t++;if(this.pageSizeMode=="root"){t=Math.ceil(this.rootRecordsLength/this.dataview.pagesize);if(t>=1){t--}t++;v=this.rootRecordsLength;this.dataview.totalrecords=this.rootRecordsLength}if(this.pagerMode!="default"){if(this["pagergotoinputbottom"]){var k=this["pagergotoinputbottom"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t);k=this["pagergotoinputtop"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t)}}else{var o="";var n=this.pagerButtonsCount;if(n==0||!n){n=5}var s=0;if(this.rtl){s=n-1}while((this.rtl&&s>=0)||(!this.rtl&&s<n)){var e=1+s;var p=this.dataview.pagenum/n;var f=Math.floor(p);e+=f*n;var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(e>t&&!this.rtl){break}else{if(this.rtl&&e>t){s--;continue}}if(!this.rtl){if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>";if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}}else{if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>"}if(this.rtl){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(!this.rtl){s++}else{s--}}if(!this["pagerbuttonsbottom"]){return}var h=this["pagerbuttonsbottom"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");var h=this["pagerbuttonstop"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");this["pagerbuttonsbottom"][0].innerHTML=o;this["pagerbuttonstop"][0].innerHTML=o;if(this.disabled){this.host.find(".jqx-grid-pager-number").css("cursor","default")}var q=function(){h.click(function(i){if(j.disabled){return}var w=b(i.target).attr("data-page");j.goToPage(parseInt(w)-1)});h.mouseenter(function(i){if(j.disabled){return}b(i.target).addClass(j.toTP("jqx-fill-state-hover"))});h.mouseleave(function(i){if(j.disabled){return}b(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};if(this.pagerPosition==="both"||this.pagerPosition==="bottom"){var h=this["pagerbuttonsbottom"].find("a");q(h)}if(this.pagerPosition==="both"||this.pagerPosition==="top"){var h=this["pagerbuttonstop"].find("a");q(h)}}if(u==0&&u<d){d=0}if(this["pagerdetailsbottom"]){if(!this.rtl){this["pagerdetailsbottom"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v;this["pagerdetailstop"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v}else{this["pagerdetailsbottom"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d;this["pagerdetailstop"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d}}if(this.pagerMode=="default"){var l=this["pagerbuttonsbottom"].width()+b(this["pagerdetailsbottom"]).width()+160;this.pagerdiv.css("min-width",l);this.toppagerdiv.css("min-width",l)}if(d>u){this.goToPrevPage()}},_preparecolumnGroups:function(){var o=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var m=this;for(var g=0;g<this.columnGroups.length;g++){this.columnGroups[g].parent=null;this.columnGroups[g].groups=null}for(var g=0;g<this.columns.records.length;g++){this.columns.records[g].parent=null;this.columns.records[g].groups=null}var n=function(j){for(var t=0;t<m.columnGroups.length;t++){var u=m.columnGroups[t];if(u.name===j){return u}}return null};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];if(!p.groups){p.groups=null}if(p.parentGroup){p.parentgroup=p.parentGroup}if(p.parentgroup){var r=n(p.parentgroup);if(r){p.parent=r;if(!r.groups){r.groups=new Array()}if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];if(p.columngroup){var r=n(p.columngroup);if(r){if(!r.groups){r.groups=new Array()}p.parent=r;if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}var q=0;for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];var d=p;p.level=0;while(d.parent){d=d.parent;p.level++}var d=p;var c=p.level;q=Math.max(q,p.level);while(d.parent){d=d.parent;if(d){d.level=--c}}}var l=function(x){var w=new Array();if(x.columngroup){w.push(x)}if(!x.groups){return new Array()}for(var v=0;v<x.groups.length;v++){if(x.groups[v].columngroup){w.push(x.groups[v])}else{if(x.groups[v].groups){var u=l(x.groups[v]);for(var t=0;t<u.length;t++){w.push(u[t])}}}}return w};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];var e=l(p);p.columns=e;var h=new Array();var s=0;for(var f=0;f<e.length;f++){h.push(this.columns.records.indexOf(e[f]));if(e[f].pinned){s++}}if(s!=0){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group cannot be pinned.")}h.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var k=1;k<h.length;k++){if(h[k]!=h[k-1]+1){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+q;o=this.columnGroupslevel*this.columnsHeight}return o},wheel:function(e,d){if(d.autoheight&&d.hScrollBar.css("visibility")=="hidden"){e.returnValue=true;return true}var f=0;if(!e){e=window.event}if(e.originalEvent&&e.originalEvent.wheelDelta){e.wheelDelta=e.originalEvent.wheelDelta}if(e.wheelDelta){f=e.wheelDelta/120}else{if(e.detail){f=-e.detail/3}}if(f){var c=d._handleDelta(f);if(c){if(e.preventDefault){e.preventDefault()}if(e.originalEvent!=null){e.originalEvent.mouseHandled=true}if(e.stopPropagation!=undefined){e.stopPropagation()}}if(c){c=false;e.returnValue=c;return c}else{return false}}if(e.preventDefault){e.preventDefault()}e.returnValue=false},_handleDelta:function(e){if(this.vScrollBar.css("visibility")!="hidden"){var d=this.vScrollInstance.value;if(e<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var c=this.vScrollInstance.value;if(d!=c){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var d=this.hScrollInstance.value;if(e>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var c=this.hScrollInstance.value;if(d!=c){return true}}}return false},_removeHandlers:function(){this.removeHandler(this.host,"focus");this.removeHandler(b(window),"jqxReady."+this.element.id);if(this._mousewheelfunc){this.removeHandler(this.host,"mousewheel",this._mousewheelfunc)}var c="mousedown";if(this.isTouchDevice()){c=b.jqx.mobile.getTouchEventName("touchstart")}this.removeHandler(this.host,"dragstart."+this.element.id);this.removeHandler(this.host,"keydown");if(this.table){this.removeHandler(this.table,"mouseleave");this.removeHandler(this.table,"mousemove");this.removeHandler(this.table,c);this.removeHandler(this.table,"selectstart."+this.element.id);if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.removeHandler(this.table,"dblclick")}}},_addHandlers:function(){var f=this;this._mousewheelfunc=this._mousewheelfunc||function(i){f.wheel(i,f);return false};this.addHandler(this.host,"dragstart."+this.element.id,function(i){return false});this.addHandler(this.table,"selectstart."+this.element.id,function(i){if(f.enableBrowserSelection){return true}if(f.filterable){if(b(i.target).ischildof(f.filterrow)){return true}}if(f.rowDetails){if(b(i.target).parents("[data-role=details]").length>0){return true}}if(undefined==f.editKey){return false}});this.addHandler(b(window),"jqxReady."+this.element.id,function(){f._updatecolumnwidths();f.refresh()});if(this.editable){this.addHandler(b(document),"mousedown.gridedit"+this.element.id,function(k){if(f.editable&&f.editSettings.saveOnBlur){if(f.editKey!=null){if(!f.vScrollInstance.isScrolling()&&!f.vScrollInstance.isScrolling()){var s=f.host.coord();var p=f.host.width();var l=f.host.height();var u=false;var j=false;var t=false;if(k.pageY<s.top||k.pageY>s.top+l){u=true;j=true}if(k.pageX<s.left||k.pageX>s.left+p){u=true;t=true}if(u){var m=function(y){var x=b(y.children()[0]).data();if(x&&!x.jqxWidget){x=y.data()}if(!x){x=y.data()}if(x.jqxWidget&&x.jqxWidget.container&&x.jqxWidget.container[0].style.display=="block"){var i=x.jqxWidget;var z=i.container.coord().top;var w=i.container.coord().top+i.container.height();if(j&&(k.pageY<z||k.pageY>w)){u=true;i.close();return true}else{return false}}};var r=f._editors;if(r){for(var n=0;n<r.length;n++){var o=r[n].editor;var v=m(o);var q=o.attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}else{q=o.children().attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}}if(v===false){return}}}}if(u){f.endroweditbykey(f.editKey)}}}}})}this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"focus",function(i){if(i.preventDefault){}});var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}}else{f._timer=setTimeout(function(){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}},5)}};this.hScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f._renderhorizontalscroll()}}else{f._timer=setTimeout(function(){if(f.table){f._renderhorizontalscroll()}},5)}};var e="mousedown";if(this.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend");if(b.jqx.browser.msie&&b.jqx.browser.version<10){e="mousedown"}}var h=function(s,r){var m=null;var n=f._table.coord();var u=n.top;var A=n.left;var B=f._table[0].rows;for(var o=0;o<B.length;o++){var z=B[o];var w=z.cells;for(var p=0;p<w.length;p++){var t=w[p];var l=t.offsetLeft+A;var q=t.offsetTop+u;var k=t.offsetWidth;var v=t.offsetHeight;if(k===0||v===0){continue}if(q<=r&&r<q+v){if(l<=s&&s<l+k){m=t;break}}else{break}}}return m};var c=function(){if(f.hoveredRow){var j=f.hoveredRow[0].cells;var i=function(m){for(var n=0;n<m.length;n++){var l=m[n];var o=l.className;o=o.replace(" "+f.toTP("jqx-fill-state-hover"),"");o=o.replace(" "+f.toTP("jqx-grid-cell-hover"),"");l.className=o}};i(j);if(f._pinnedTable&&j.length>0){var k=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;i(k)}}f.hoveredRow=null};this.addHandler(this.table,"mouseleave",function(i){c();if(f.wrapper){f.wrapper.parent().removeAttr("tabindex",0);f.wrapper.removeAttr("tabindex",1);f.content.removeAttr("tabindex",2)}});var g=function(o){if(!f.enableHover){return true}f.hoveredRow=o;if(!o){return true}var l=o[0].cells;var n=f.rowDetails&&!f.treeGrid;var q=n&&!f.treeGrid?1:0;var k=0;if(q>0&&f.rtl){q=0;k=1}for(var m=q;m<l.length-k;m++){var j=l[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}if(f._pinnedTable){if(f._pinnedTable[0].rows.length){var p=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;for(var m=q;m<p.length-k;m++){var j=p[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}}}};if(f.isTouchDevice()){f.enableHover=false}this.addHandler(this.table,"mousemove",function(j){var i=j.pageX;var m=j.pageY;if(f.disabled){return true}if(!f.enableHover){return true}if(f.hScrollInstance.isScrolling()||f.vScrollInstance.isScrolling()){return true}var l=h(i,m);if(!l){return true}var k=b(l).parent();c();if(f.rowDetails&&f.treeGrid){if(k.attr("data-role")=="row-details"){return true}}if(f.renderedRecords&&f.renderedRecords.length===0){return true}if(f.editKey!=null){if(f.editKey===k.attr("data-key")){return true}}g(k);return true});this.addHandler(this.host,"keydown",function(i){return f._handleKey(i)});if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(i){f.table.trigger("mousedown",i)})}this.addHandler(this.table,e,function(B){var D=B.target;var q=null;if(f.disabled){return true}if(f.touchmode&&B.originalEvent&&B.originalEvent._pageX){return}var i=f.table.coord();var s=B.pageX;var r=B.pageY;if(b.jqx.browser.msie&&b.jqx.browser.version<9){if(arguments&&arguments.length==2){s=arguments[1].pageX;r=arguments[1].pageY}}if(f.isTouchDevice()){var E=b.jqx.position(B);s=E.left;r=E.top;if(isNaN(s)||isNaN(r)){var E=b.jqx.position(B.originalEvent);s=E.left;r=E.top}}q=h(s,r);var p=b(q).parent();var F=p.attr("data-key");if(f.rowDetails&&f.treeGrid){if(p.attr("data-role")=="row-details"){return true}}var v=function(){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}B.stopPropagation()}f.host.focus()};if(F!==undefined){var m=b(q).index();var k=f.columns.records[m];if(F==f.editKey){if(f.editSettings.editSingleCell){if(f.clickedTD==q){return true}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}}else{return true}}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}f.clickedTD=q;var l=f.rowinfo[F];if(l&&l.group){return true}var A=false;if(l){var C=f.getrowdisplayindex(l.row);var t=f.getrowindex(l.row);f._raiseEvent("rowClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});var o=new Date().getTime();var w=300;if(!f.clickTime){f.clickTime=new Date()}if(f._lastSelectedKey==F&&(o-f.clickTime.getTime()<w)){f._raiseEvent("rowDoubleClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});A=true;if(B.preventDefault){B.preventDefault()}}}f.clickTime=new Date();if(q.className.indexOf("jqx-grid-group")>=0){if(!l.expanded){f.showdetailsbykey(F)}else{f.hidedetailsbykey(F)}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("jqx-grid-group")>=0&&f.treeGrid){if(!l.expanded){f.treeGrid.expandRow(F)}else{f.treeGrid.collapseRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}if(B.preventDefault){B.preventDefault()}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("checkbox")>=0&&f.treeGrid){if(!l.checked){f.treeGrid.checkRow(F)}else{f.treeGrid.uncheckRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}}else{var m=b(q).index();var k=f.columns.records[m];if(B.stopPropagation){B.stopPropagation()}if(f.editable&&f.editKey==null){if(f._lastSelectedKey==F&&f.editSettings.editOnDoubleClick&&A){var u=f.beginroweditbykey(F,k);return true}}if(f.isTouchDevice()){if(f.scrolled&&new Date()-f.scrolled<500){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return false}}if(f.selectionMode==="singlerow"&&f.selectionMode!=="custom"){f.selectrowbykey(F,"mouse",false);f._lastSelectedKey=F;f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}else{if(f.selectionMode!=="custom"){if(!B.ctrlKey&&!B.metaKey){f.clearSelection(false)}if(B.shiftKey){if(f._lastSelectedKey){var l=f.rowinfo[f._lastSelectedKey];f._doSelection(f._lastSelectedKey,true,false);var j=b(f._table.children()[1]).children(("[data-key="+f._lastSelectedKey+"]"));var n=j.index();var z=p.index();f._selectRange(z,n);f.selectrowbykey(F,"mouse",false);f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}}}f._lastSelectedKey=F;f.clickTime=new Date();if(f.selectionMode!=="custom"){if(l){if(l.selected){f.unselectrowbykey(F,"mouse",false)}else{f.selectrowbykey(F,"mouse",false)}v()}}else{return true}f._updateSelection();if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return true}}}}}})},_updateSelection:function(){var l=this;var r=b(l._table.children()[1]).children();var n=l._pinnedTable?b(l._pinnedTable.children()[1]).children():null;var e=l.rowDetails&&!l.treeGrid;var d=e?1:0;var f=0;if(d>0&&l.rtl){d=0;f=1}for(var h=0;h<r.length;h++){var q=r[h].cells;if(n){var c=n[h].cells}var p=null;if(r[h].getAttribute){p=r[h].getAttribute("data-key")}if(l.rowinfo[p]&&l.selectionMode!=="none"){if(l.rowinfo[p].selected){for(var g=d;g<q.length-f;g++){var o=q[g];b(o).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"));if(c){b(c[g]).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"))}}}else{for(var g=d;g<q.length-f;g++){var o=q[g];if(c){var k=c[g]}var m=o.className;m=m.replace(" jqx-fill-state-pressed","");m=m.replace(" jqx-fill-state-pressed-"+l.theme,"");m=m.replace(" jqx-grid-cell-selected","");m=m.replace(" jqx-grid-cell-selected-"+l.theme,"");o.className=m;if(k){k.className=m}}}}}},_selectRange:function(f,e){var c=b(b(this._table.children()[1]).children()[e]);var j=this;if(f>e){var h=e;var d=c;while(h<f){var d=d.next();var g=d.attr("data-key");j._doSelection(g,true,false);h++}}else{if(f<e){var h=e;var d=c;while(h>f){var d=d.prev();var g=d.attr("data-key");this._doSelection(g,true,false);h--}}}},_getuikey:function(d,g){var f=null;var e=b(this._table.children()[1]).children();f=b(e[d]).attr("data-key");if(b(e[d]).attr("data-role")){var c=b(e[d]);if(g=="next"){while(c){c=c.next();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}else{if(g=="prev"){while(c){c=c.prev();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}}return null}return f},getRows:function(){return this.source.records},getView:function(){var d=this;var e=this._names();var f=new Array();var c=function(k,h){if(!h){return}for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j]._visible!==false){var g=b.extend({},h[j]);k.push(g);if(h[j][e.expanded]){g.records=new Array();c(g.records,h[j].records)}else{if(d.dataview.filters.length>0){g.records=new Array();c(g.records,h[j].records)}}}}};c(f,this.dataViewRecords);return f},getKeys:function(){var d=new Array();var e=this.source.records;for(var c=0;c<e.length;c++){d.push(e[c].uid)}return d},getKey:function(c){var d=this.getRows();if(d){return d[c].uid}else{return -1}},_getkey:function(e){if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}var f=null;var d=function(){var l=b(this._table.children()[1]).children();var k=null;var n=0;if(this.pageable){n-=this.dataview.pagenum*this.dataview.pagesize}if(this.groups.length>0){var h=0;for(var j=0;j<l.length;j++){var o=b(l[j]);var m=o.children()[0].getAttribute("colspan");if(m>0){continue}if(h===n+e){k=o.attr("data-key");return k}h++}return k}if(this.rowDetails){var h=0;for(var j=0;j<l.length;j++){if(h===e+n){k=b(l[j]).attr("data-key");return k}if(j%2==1){h++}}}else{k=b(l[n+e]).attr("data-key")}return k};f=d.call(this);if(f==null){if(this.pageable){var c=Math.floor(e/this.dataview.pagesize);if(this.dataview.pagenum!=c){var g=this.getRows()[e];if(g&&g.uid!=null){return g.uid}else{if(isNaN(c)){return null}this.goToPage(c);f=d.call(this)}}}}return f},_getuirow:function(g){try{var c=b(this._table.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._table.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_getpinneduirow:function(g){if(!this._pinnedTable){return null}try{var c=b(this._pinnedTable.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._pinnedTable.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_names:function(){var d={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"};if(!this.source||(this.source&&!this.source._source.hierarchy)){return d}var c=this.source._source.hierarchy.reservedNames;if(!c){return d}return c},_getMatches:function(f,g){if(f==undefined||f.length==0){return -1}var c=this.renderedRecords;if(g!=undefined){c=c.slice(g)}var e=0;if(this.rowDetails&&!this.treeGrid){e++}if(e<this.columns.records.length){var d=this.columns.records[e].datafield}else{new Array()}var h=new Array();b.each(c,function(k){var l=this[d];if(!l){l=""}var j=b.jqx.string.startsWithIgnoreCase(l.toString(),f);if(j){h.push(this.uid)}});return h},_handleKey:function(X){if(this._loading){return true}if(b(X.target).ischildof(this.filter)){return true}if(b(X.target).ischildof(this.toolbar)){return true}if(b(X.target).ischildof(this.statusbar)){return true}var T=this._names();var I=this;var s=X.charCode?X.charCode:X.keyCode?X.keyCode:0;var n=this._lastSelectedKey;var V=this.rowinfo[n];var v=this._getuirow(n);var x=X.shiftKey&&this.selectionMode!="singlerow";var Q=X.ctrlKey||X.metaKey;if(!v){return}if(this.handleKeyboardNavigation){var u=this.handleKeyboardNavigation(s);if(u){return true}}if(this.editable&&this.editKey==undefined&&s===113&&this.editSettings.editOnF2){this.beginroweditbykey(v.attr("data-key"))}if(this.editKey==undefined){if(!Q&&!x&&this.incrementalSearch&&(!(s>=33&&s<=40))){var z=-1;if(!this._searchString){this._searchString=""}if((s==8||s==46)&&this._searchString.length>=1){this._searchString=this._searchString.substr(0,this._searchString.length-1)}var e=String.fromCharCode(s);var H=(!isNaN(parseInt(e)));var J=false;if((s>=65&&s<=97)||H||s==8||s==32||s==46){if(!X.shiftKey){e=e.toLocaleLowerCase()}if(s!=8&&s!=32&&s!=46){if(!(this._searchString.length>0&&this._searchString.substr(0,1)==e)){this._searchString+=e}}if(s==32){this._searchString+=" "}this._searchTime=new Date();var n=this.getSelection();if(n.length>=1){var t=n[0].uid;var C=-1;for(var S=0;S<this.renderedRecords.length;S++){if(this.renderedRecords[S].uid==t){C=S;break}}var B=this._getMatches(this._searchString,C);if(B.length==0||(B.length>0&&B[0]==t)){var B=this._getMatches(this._searchString)}}else{var B=this._getMatches(this._searchString)}if(B.length>0){var n=this.getSelection();if(n.length>=1){var c=B.indexOf(n[0].uid);if(c==-1){this.clearSelection(false);this.selectrowbykey(B[0])}else{var h=c+1;if(h>=B.length){h=0}this.clearSelection(false);this.selectrowbykey(B[h])}}else{this.clearSelection(false);this.selectrowbykey(B[0])}this._lastSearchString=this._searchString}}if(this._searchTimer!=undefined){clearTimeout(this._searchTimer)}if(s==27||s==13){this._searchString="";this._lastSearchString=""}this._searchTimer=setTimeout(function(){I._searchString="";I._lastSearchString=""},500);if(z>=0){return}if(J){return false}}}if(this.editKey!=undefined){if(s===27&&this.editSettings.cancelOnEsc){this.endroweditbykey(this.editKey,true)}else{if(s===13&&this.editSettings.saveOnEnter){if(X.target&&X.target.nodeName.toLowerCase()!="div"&&X.target.nodeName.toLowerCase()!="input"){return true}this.endroweditbykey(this.editKey,false)}else{if(this.editSettings.editSingleCell){if(this.editColumn){var P=this.columns.records.indexOf(this.editColumn);if(s==9&&P<this.columns.records.length-1&&!X.shiftKey){var M=this.editKey;var y=null;for(var S=P+1;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){y=this.columns.records[S];break}}if(y){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,y)}}else{if(s==9&&X.shiftKey&&P>0){var M=this.editKey;var E=null;for(var S=P-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){E=this.columns.records[S];break}}if(E){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,E)}}}if(s==9){var o=this.rowinfo[this.editKey];var C=this.getrowindex(o);var v=this._getuirow(this.editKey);if(!X.shiftKey&&!y){var N=null;for(var S=0;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});var q=this.endroweditbykey(this.editKey,false);if(q){this._doSelection(F,true,true);this.beginroweditbykey(F,N)}else{this.beginroweditbykey(this.editKey,N)}}}}else{if(!E&&X.shiftKey){var N=null;for(var S=this.columns.records.length-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});this.endroweditbykey(this.editKey,false);this._doSelection(F,true,true);this.beginroweditbykey(F,N)}}}}return false}}}}}return true}if(X.ctrlKey||X.metaKey){var f=String.fromCharCode(s).toLowerCase();if(f=="c"||f=="x"){var n=this.getSelection();if(n.length>=1){var w="";for(var K=0;K<this.renderedRecords.length;K++){var Y=this.renderedRecords[K];for(var S=0;S<n.length;S++){var o=n[S];if(o.uid===Y.uid){for(var R=0;R<this.columns.records.length;R++){var A=this.getCellTextByKey(o.uid,this.columns.records[R].displayfield);w+=A;if(R<this.columns.records.length-1){w+="\t"}}w+="\r\n";break}}}if(w!=""){w=w.substring(0,w.length-1)}if(window.clipboardData){window.clipboardData.setData("Text",w)}else{var O=b('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');O.val(w);b("body").append(O);O.select();setTimeout(function(){document.designMode="off";O.select();O.remove()},100)}}}}if(s===32&&this.treeGrid){if(this.treeGrid.checkboxes){var n=this.getSelection();if(n.length>1){for(var S=0;S<n.length;S++){var G=n[S].uid;if(this.rowinfo[G].checked){this.treeGrid.uncheckRow(G,false)}else{this.treeGrid.checkRow(G,false)}}this._renderrows();return false}else{var t=v.attr("data-key");if(t){if(this.rowinfo[t].checked){this.treeGrid.uncheckRow(t)}else{this.treeGrid.checkRow(t)}return false}}}}var d=v.index();var W=function(Z){var j=null;var p=b(I._table.children()[1]).children().length-1;var i=b(b(I._table.children()[1]).children()[p]);var aa=i.attr("data-role");if(!aa){j=i.attr("data-key")}else{while(i){i=i.prev();if(i){var aa=i.attr("data-role");if(!aa){j=i.attr("data-key");break}}}}if(Z=="all"){return{row:i,key:j}}return j};var g=function(p){var j=null;var i=b(b(I._table.children()[1]).children()[0]);var Z=i.attr("data-role");if(!Z){j=i.attr("data-key")}else{while(i){i=i.next();if(i){var Z=i.attr("data-role");if(!Z){j=i.attr("data-key");break}}}}if(p=="all"){return{row:i,key:j}}return j};var t=null;var l=function(){if(!Q&&!x){I.clearSelection(false)}if(s==33||s==37){var j=d;t=I._getuikey(j,"prev");if(!t){t=g()}}else{if(s==34||s==39){var j=d;t=I._getuikey(j,"next");if(!t){t=W()}}else{if(s==38){t=W()}else{if(s==40){t=g()}}}}I._lastSelectedKey=t;var p=I.rowsByKey[t];var j=I.getrowindex(p);var i=I.getrowdisplayindex(p);I._raiseEvent("rowSelect",{key:t,index:i,boundIndex:j,row:I.rowsByKey[t]});I._doSelection(t,true,true);I.host.focus()};var k=function(){I.clearSelection(false);var i=g();if(x||Q){I._selectRange(v.index(),0)}else{I._lastSelectedKey=i}I.selectrowbykey(i,"keyboard")};var r=function(){I.clearSelection(false);var i=W("all");var j=i.key;if(x||Q){I._selectRange(v.index(),i.row.index())}else{I._lastSelectedKey=j}I.selectrowbykey(j,"keyboard")};if(this.treeGrid&&this.rtl){if(s==37){s=39}else{if(s==39){s=37}}}if(s==36||(Q&&s==38)){k();return false}else{if(s==35||(Q&&s==40)){r();return false}else{if(s==33||s==37){var t=v.attr("data-key");if(this.rowDetails&&s==37&&!this.treeGrid){this.hidedetailsbykey(t);return false}else{if(this.treeGrid&&s==37){if(this.rowinfo[t].row&&!this.rowinfo[t].row[T.parent]&&!this.rowinfo[t][T.leaf]&&!this.rowinfo[t].expanded){return false}if(this.rowinfo[t].expanded&&!this.rowinfo[t][T.leaf]){this.treeGrid.collapseRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row[T.parent]){t=this.rowinfo[t].row[T.parent].uid}}if(this.rowinfo[t][T.leaf]){return false}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToPrevPage(l)}else{this.goToNextPage(l)}return false}if(this.treeGrid&&this.pageable&&s==33){this.goToPrevPage(l);return false}}else{if(s==34||s==39){var t=v.attr("data-key");if(this.rowDetails&&s==39&&!this.treeGrid){this.showdetailsbykey(t);return false}else{if(this.treeGrid&&s==39){if(this.rowinfo[t][T.leaf]){return false}if(!this.rowinfo[t].expanded){this.treeGrid.expandRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row.records&&this.rowinfo[t].row.records.length>0){if(this.dataview.filters.length>0){var m=this.rowinfo[t].row.records;for(var S=0;S<m.length;S++){if(m[S]._visible){t=m[S].uid;break}}}else{t=this.rowinfo[t].row.records[0].uid}}}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToNextPage(l)}else{this.goToPrevPage(l)}return false}if(this.treeGrid&&this.pageable&&s==34){this.goToNextPage(l);return false}}else{if(s==38){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToPrevPage(l);return false}}else{if(s==40){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToNextPage(l);return false}}}}}}}if(t!=null){if(!Q&&!x){this.clearSelection(false)}if(this.rowinfo[t]){if(this.rowinfo[t].selected&&(Q||x)){this._doSelection(this._lastSelectedKey,false,false);this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowUnselect",{key:t,index:L,boundIndex:C,row:o});return false}}this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);this._doSelection(t,true,false);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:t,index:L,boundIndex:C,row:o});if(this.treeGrid){if(s==37){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null&&this.dataview.pagenum>0){while(this._getuirow(t)==null&&this.dataview.pagenum>0){this.goToPrevPage()}}}else{if(s==39){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null){this.goToNextPage()}}}}return false}},_selection:function(c){if("selectionStart" in c[0]){var h=c[0];var i=h.selectionEnd-h.selectionStart;return{start:h.selectionStart,end:h.selectionEnd,length:i,text:h.value}}else{var f=document.selection.createRange();if(f==null){return{start:0,end:h.value.length,length:0}}var d=c[0].createTextRange();var g=d.duplicate();d.moveToBookmark(f.getBookmark());g.setEndPoint("EndToStart",d);var i=f.text.length;return{start:g.text.length,end:g.text.length+f.text.length,length:i,text:f.text}}},_doSelection:function(c,e,d){if(c==null){this.clearSelection();return}if(this.selectionMode==="singlerow"){this.clearSelection(false)}var f=this.rowinfo[c];if(f){f.selected=e;this.ensurerowvisiblebykey(c)}else{this.ensurerowvisiblebykey(c);var f=this.rowinfo[c];if(f){f.selected=e}else{this.rowinfo[c]={selected:e}}}if(this.selectionMode!="none"){if(d!==false){this._renderrows()}}},clearSelection:function(e){if(this.rowinfo){var f=this.getRows();for(var h in this.rowinfo){var g=this.rowinfo[h];if(g.selected){g.selected=false;var d=f.indexOf(g.row);var c=this.getrowdisplayindex(g.row);this._raiseEvent("rowUnselect",{key:h,index:c,boundIndex:d,row:g.row})}}}if(e!==false){this._renderrows()}},exportData:function(t){if(!b.jqx.dataAdapter.ArrayExporter){if(!this.treeGrid){throw"jqxDataTable: Missing reference to jqxdata.export.js!"}throw"jqxTreeGrid: Missing reference to jqxdata.export.js!"}var h=this.exportSettings.columnsHeader;if(h==undefined){h=true}var w=this.exportSettings.hiddenColumns;if(w==undefined){w=false}var P=this.exportSettings.serverURL;var I=this.exportSettings.characterSet;var ac=this.exportSettings.collapsedRecords;if(ac==undefined){ac=false}var F=this.exportSettings.fileName;if(F===undefined){F=this.treeGrid?"jqxTreeGrid_Data":"jqxDataTable_Data"}var s=this;var Y=this.getRows();if(this.exportSettings.recordsInView==true){Y=this.getView()}if(this.treeGrid&&this.treeGrid.virtualModeCreateRecords){var Y=this.treeGrid.getRows()}if(this.groups&&this.groups.length>0){var k=this.source.getGroupedRecords(this.groups,"records","label",null,"data",null,"parent",Y);var m=function(o,ae){for(var ag=0;ag<o.length;ag++){var j=b.extend({},o[ag]);ae.push(j);if(j.records&&j.records.length>0){var ah=m(j.records,new Array());for(var af=0;af<ah.length;af++){if(ah[af].leaf){ae.push(ah[af])}else{ae.push(ah[af])}}}}return ae};var S=m.call(this,k,new Array());Y=S}if(Y.length==0){throw"No data to export."}this.exporting=true;if(this.altRows){this._renderrows()}var p=new Array();for(var X=0;X<this.columns.records.length;X++){if(!w&&this.columns.records[X].hidden){continue}p.push(b.extend({},this.columns.records[X]))}if(this.groups&&this.groups.length>0){if(p.length>0){var aa=this._names();for(var X=0;X<Y.length;X++){if(!Y[X][aa.leaf]){if(!s.rtl){Y[X][p[0].displayfield]=Y[X].label}else{Y[X][p[p.length-1].displayfield]=Y[X].label}}}}}var g=0;if(this.treeGrid){var L=this.treeGrid.getRows();if(this.exportSettings.recordsInView==true){L=this.getView()}var aa=this._names();var d=function(ae){for(var af=0;af<ae.length;af++){var j=ae[af];var o=j[aa.expanded]||(!j[aa.expanded]&&ac);g=Math.max(g,1+j[aa.level]);if(j.records&&j.records.length>0&&o){d(ae[af].records)}}};d(L);if(t!="xml"&&t!="json"){var u=p.length;for(var X=0;X<g;X++){var Q=new a(this,this);Q.width=this.indentWidth;Q.datafield="Level"+X;Q.displayfield="Level"+X;Q.align="center";Q.cellsalign="center";Q.text="";if(!this.rtl){p.splice(X,0,Q)}else{p.splice(u,0,Q)}}var y=new Array();var x=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?true:false;var U=function(af){for(var ah=0;ah<af.length;ah++){var o=b.extend({},af[ah]);for(var ag=0;ag<o[aa.level];ag++){o["Level"+ag]=""}var ae=o[aa.expanded]||(!o[aa.expanded]&&ac);if(t=="xls"||t=="html"||t=="pdf"){if(o.records&&o.records.length>0){o["Level"+o[aa.level]]=ae?"-":"+"}else{o["Level"+o[aa.level]]=""}}else{o["Level"+o[aa.level]]=""}if(o[aa.leaf]){o["Level"+o[aa.level]]=""}for(var ag=o[aa.level]+1;ag<g;ag++){o["Level"+ag]=""}if(x&&!o[aa.leaf]){if(!s.rtl){o[p[g].displayfield]=o.label}else{o[p[p.length-g-1].displayfield]=o.label}}if(o.aggregate){var aj=t=="xls"?"_AG":"";for(var ag=g;ag<p.length;ag++){var ai=ag;if(s.rtl){ai=p.length-ag-1}if(o[p[ai].displayfield]!=undefined){o[p[ai].displayfield]=aj+o[p[ai].displayfield]}}}y.push(o);if(ae&&!o[aa.leaf]){U(o.records)}}};U(L);Y=y}else{Y=L}}var f=w!=undefined?w:false;var Z={};var C={};var l=[];var M=this.host.find(".jqx-grid-cell:first");var n=this.host.find(".jqx-grid-cell-alt:first");var ad=this.toThemeProperty;M.removeClass(ad("jqx-grid-cell-selected"));M.removeClass(ad("jqx-fill-state-pressed"));n.removeClass(ad("jqx-grid-cell-selected"));n.removeClass(ad("jqx-fill-state-pressed"));M.removeClass(ad("jqx-grid-cell-hover"));M.removeClass(ad("jqx-fill-state-hover"));n.removeClass(ad("jqx-grid-cell-hover"));n.removeClass(ad("jqx-fill-state-hover"));var E="cell";var B=1;var K="column";var z=1;var A=[];for(var V=0;V<p.length;V++){var Q=p[V];if(Q.cellclassname!=""){Q.customCellStyles=new Array();if(typeof Q.cellclassname=="string"){Q.customCellStyles.push(Q.cellclassname)}else{for(var X=0;X<Y.length;X++){var c=X;var W=Q.cellclassname(c,Q.displayfield,Y[X][Q.displayfield],Y[X]);if(W){Q.customCellStyles[X]=W}}}}}b.each(p,function(ag){var aj=ag;if(s.treeGrid){if(ag>=g){aj=p.length-g-1}else{if(g>0&&ag<g){aj=0}}}var ak=b(s._table[0].rows[0].cells[aj]);if(s._table[0].rows.length>1){var j=b(s._table[0].rows[1].cells[aj]);if(j.length==0){var j=b(s._table[0].rows[1].cells[0])}}if(ak.length==0){var ak=b(s._table[0].rows[0].cells[0])}var af=this;var ah=function(an){var ap=s.toThemeProperty;an.removeClass(ap("jqx-cell"));an.removeClass(ap("jqx-grid-cell-selected"));an.removeClass(ap("jqx-fill-state-pressed"));an.removeClass(ap("jqx-grid-cell-hover"));an.removeClass(ap("jqx-fill-state-hover"));if(af.customCellStyles){for(var ao in af.customCellStyles){an.removeClass(af.customCellStyles[ao])}}};ah(ak);if(j){ah(j)}if(this.displayfield==null){return true}if(s.showAggregates){if(s.getcolumnaggregateddata){if(s.treeGrid){var am=function(an,ao){for(var ap=0;ap<an.length;ap++){var o=an[ap];if(o.level===0){ao.push(o)}}return ao};A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,am(Y,[])))}else{A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,Y))}}}var ai=s._getexportcolumntype(this);if(this.exportable&&(!this.hidden||f)){Z[this.displayfield]={};Z[this.displayfield].text=this.text;Z[this.displayfield].width=parseInt(this.width);if(isNaN(Z[this.displayfield].width)){Z[this.displayfield].width=60}if(Z[this.displayfield].width>500){Z[this.displayfield].width=500}Z[this.displayfield].formatString=this.cellsFormat;Z[this.displayfield].localization=s.gridlocalization;Z[this.displayfield].type=ai;Z[this.displayfield].cellsAlign=this.cellsalign;Z[this.displayfield].hidden=!h;Z[this.displayfield].index=aj;Z[this.displayfield].maxIndex=p.length}E="cell"+B;var al=this.element;if(t!="json"&&t!="xml"){K="column"+z;var i=function(o,av,au,an,at,ap,ao,aq,ar){C[o]={index:1+ao,maxIndex:p.length};if(ap.rtl){C[o].index=p.length-ao}if(t=="html"||t=="xls"||t=="pdf"){if(av){C[o]["font-size"]=av.css("font-size");C[o]["font-weight"]=av.css("font-weight");C[o]["font-style"]=av.css("font-style");C[o]["background-color"]=ap._getexportcolor(av.css("background-color"));C[o]["color"]=ap._getexportcolor(av.css("color"));C[o]["border-color"]=ap._getexportcolor(av.css("border-top-color"))}if(au){C[o]["text-align"]=at.align}else{C[o]["text-align"]=at.cellsalign;C[o]["formatString"]=at.cellsFormat;C[o]["dataType"]=ai}if(t=="html"||t=="pdf"){C[o]["border-top-width"]="0px";if(!ap.rtl){C[o]["border-left-width"]="0px";C[o]["border-right-width"]="1px"}else{C[o]["border-left-width"]="1px";C[o]["border-right-width"]="0px";if(ao==p.length-g-1&&au){C[o]["border-right-width"]="1px"}}C[o]["border-bottom-width"]="1px";if(av){C[o]["border-top-style"]=av.css("border-top-style");C[o]["border-left-style"]=av.css("border-left-style");C[o]["border-right-style"]=av.css("border-right-style");C[o]["border-bottom-style"]=av.css("border-bottom-style")}if(au){if(ao==0&&!ap.rtl){C[o]["border-left-width"]="1px"}else{if(ao==p.length-1&&ap.rtl){C[o]["border-right-width"]="1px"}}if(av){C[o]["border-top-width"]="1px";C[o]["border-bottom-width"]=av.css("border-bottom-width")}}else{if(ao==0&&!ap.rtl){C[o]["border-left-width"]="1px"}else{if(ao==p.length-1&&ap.rtl){C[o]["border-right-width"]="1px"}}}if(av){C[o]["height"]=av.css("height")}if(ap.treeGrid&&!au){if(C[o].index-1<g){if(ap.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}else{if(C[o].index-1==g){if(!ap.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}}}}}if(at.exportable&&(!at.hidden||f)){if(aq==true){if(!Z[at.displayfield].customCellStyles){Z[at.displayfield].customCellStyles=new Array()}Z[at.displayfield].customCellStyles[ar]=o}else{if(au){Z[at.displayfield].style=o}else{if(!an){Z[at.displayfield].cellStyle=o}else{Z[at.displayfield].cellAltStyle=o}}}}};i(K,al,true,false,this,s,ag);z++;i(E,ak,false,false,this,s,ag);if(s.altRows){E="cellalt"+B;i(E,j,false,true,this,s,ag)}if(this.customCellStyles){for(var ae in af.customCellStyles){ak.removeClass(af.customCellStyles[ae])}for(var ae in af.customCellStyles){ak.addClass(af.customCellStyles[ae]);i(E+af.customCellStyles[ae],ak,false,false,this,s,ag,true,ae);ak.removeClass(af.customCellStyles[ae])}}B++}});if(t!="json"&&t!="xml"){if(g>0&&this.treeGrid){var ab=g+1;if(this.rtl){ab=p.length-g}if(C["column"+ab]){var e=C["column"+ab];e.merge=g;e["border-left-width"]="1px";var H=C["cell"+ab];for(var X=0;X<p.length;X++){var ab=X+1;if(this.rtl){ab=p.length-X}C["column"+ab].level=X;C["column"+ab].maxLevel=g;C["cell"+ab].maxLevel=g;var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g}}}if(C["cellalt"+ab]){C["cellalt"+ab].maxLevel=g}}for(var X=0;X<g;X++){var ab=X+1;var D=X;if(this.rtl){ab=p.length-X}var r=C["column"+ab];r.disabled=true;C["cell"+ab].level=D;C["cell"+ab].maxLevel=g;C["column"+ab].level=D;if(C["cellalt"+ab]){C["cellalt"+ab].level=D;C["cellalt"+ab].maxLevel=g}var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g;C["cell"+ab+Q.customCellStyles[R]].level=D}}}if(t=="html"||t=="pdf"||t=="xls"){r["font-size"]=e["font-size"];r["font-weight"]=e["font-weight"];r["font-style"]=e["font-style"];r["background-color"]=e["background-color"];r.color=e.color;r["border-color"]=e["border-color"];if(t=="html"||t=="pdf"){r["border-top-width"]=e["border-top-width"];r["border-left-width"]=e["border-left-width"];if(this.rtl){r["border-right-width"]=e["border-right-width"];if(X==0){r["border-right-width"]="1px"}}if(X==0&&!this.rtl){r["border-left-width"]="0px"}else{if(X==0&&this.rtl){r["border-left-width"]="0px"}}if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}r["border-bottom-width"]="0px";var r=C["cell"+ab];if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}}}}}}}if(this.showAggregates){var G=[];var N=t=="xls"?"_AG":"";var O=0;if(this.rowDetails&&!this.treeGrid){O++}if(A.length>0){b.each(p,function(j){if(this.aggregates){for(var ae=0;ae<this.aggregates.length;ae++){if(!G[ae]){G[ae]={}}if(G[ae]){var af=s._getaggregatename(this.aggregates[ae]);var ag=s._getaggregatetype(this.aggregates[ae]);var o=A[j-O];if(o){G[ae][this.displayfield]=N+af+": "+o[ag]}}}}});b.each(p,function(j){for(var o=0;o<G.length;o++){if(G[o][this.displayfield]==undefined){G[o][this.displayfield]=N}}})}b.each(G,function(){Y.push(this)})}var J=this;var T=b.jqx.dataAdapter.ArrayExporter(Y,Z,C,P,this.treeGrid&&(t=="xml"||t=="json"));if(F==undefined){this._renderrows();var q=this.treeGrid&&(t=="xml"||t=="json");var v=T.exportTo(t,this.treeGrid&&(t=="xml"||t=="json"));if(this.showAggregates){b.each(G,function(){Y.pop(this)})}setTimeout(function(){J.exporting=false},50);return v}else{var q=this.treeGrid&&(t=="xml"||t=="json");T.exportToFile(t,F,P,I,q)}if(this.showAggregates){b.each(G,function(){Y.pop(this)})}this._renderrows();setTimeout(function(){J.exporting=false},50)},_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(c){return this._intToHex(c.r)+this._intToHex(c.g)+this._intToHex(c.b)},_intToHex:function(d){var c=(parseInt(d).toString(16));if(c.length==1){c=("0"+c)}return c.toUpperCase()},_getexportcolumntype:function(g){var h=this;var f="string";var e=h.source.datafields||((h.source._source)?h.source._source.datafields:null);if(e){var j="";b.each(e,function(){if(this.name==g.displayfield){if(this.type){j=this.type}return false}});if(j){return j}}if(g!=null){if(this.dataview.cachedrecords==undefined){return f}var c=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return f}c=this.dataview.cachedrecords[0][g.displayfield];if(c!=null&&c.toString()==""){return"string"}}else{b.each(this.dataview.cachedrecords,function(){c=this[g.displayfield];return false})}if(c!=null){if(g.cellsFormat.indexOf("c")!=-1){return"number"}if(g.cellsFormat.indexOf("n")!=-1){return"number"}if(g.cellsFormat.indexOf("p")!=-1){return"number"}if(g.cellsFormat.indexOf("d")!=-1){return"date"}if(g.cellsFormat.indexOf("y")!=-1){return"date"}if(g.cellsFormat.indexOf("M")!=-1){return"date"}if(g.cellsFormat.indexOf("m")!=-1){return"date"}if(g.cellsFormat.indexOf("t")!=-1){return"date"}if(typeof c=="boolean"){f="boolean"}else{if(b.jqx.dataFormat.isNumber(c)){f="number"}else{var i=new Date(c);if(i.toString()=="NaN"||i.toString()=="Invalid Date"){if(b.jqx.dataFormat){i=b.jqx.dataFormat.tryparsedate(c);if(i!=null){if(i&&i.getFullYear()){if(i.getFullYear()==1970&&i.getMonth()==0&&i.getDate()==1){var d=new Number(c);if(!isNaN(d)){return"number"}return"string"}}return"date"}else{f="string"}}else{f="string"}}else{f="date"}}}}}return f},showDetails:function(c){var d=this._getkey(c);this.showdetailsbykey(d)},hideDetails:function(c){var d=this._getkey(c);this.hidedetailsbykey(d)},setCellValueByKey:function(E,t,x){var o=this;var j=this.rowsByKey[E];var k=this.getrowindex(j);var h=j;if(h!=null&&h[t]==x){return false}if(h!=null&&h[t]===null&&x===""){return}var n="";if(h!=null&&h[t]!==x){var e=this.getColumn(t);var f="string";var B=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(B){var u="";b.each(B,function(){if(this.name==e.displayfield){if(this.type){u=this.type}return false}});if(u){f=u}}n=h[t];if(!e.nullable||(x!=null&&x!==""&&e.nullable&&x.label===undefined)){if(b.jqx.dataFormat.isNumber(n)||f=="number"||f=="float"||f=="int"||f=="decimal"&&f!="date"){x=new Number(x);x=parseFloat(x);if(isNaN(x)){x=0}}else{if(b.jqx.dataFormat.isDate(n)||f=="date"){if(x!=""){var A=x;A=new Date(A);if(A!="Invalid Date"&&A!=null){x=A}else{if(A=="Invalid Date"){A=new Date();x=A}}}}}if(h[t]===x){return}}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;h[t]=x;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[t]=x}}if(x!=null&&x.label!=null){var e=this.getColumn(t);h[e.displayfield]=x.label;h[t]=x.value;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[e.displayfield]=x.label;s[t]=x.value}}}}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var z=k;var w=this.source._source._localdata()[z];this.source.suspendKO=true;var l=w;if(l[t]&&l[t].subscribe){if(x!=null&&x.label!=null){l[e.displayfield](x.label);l[t](x.value)}else{l[t](x)}}else{var B=this.source._source.datafields;var d=null;var C=null;if(B){b.each(B,function(){if(this.name==t){C=this.map;return false}})}if(C==null){if(x!=null&&x.label!=null){l[t]=x.value;l[e.displayfield]=x.label}else{l[t]=x}}else{var g=C.split(this.source.mapChar);if(g.length>0){var c=l;for(var v=0;v<g.length-1;v++){c=c[g[v]]}c[g[g.length-1]]=x}}this.source._source._localdata.replace(w,b.extend({},l))}this.source.suspendKO=false}}var q;if(this.source.updaterow&&(q==undefined||q==true)){var m=false;var r=function(p){if(false==p){this.setCellValue(j,t,n,true,false)}};try{var i=E;m=this.source.updaterow(i,h,r);if(m==undefined){m=true}}catch(y){m=false;this.setCellValue(j,t,n);return}}var D=this.getrowdisplayindex(j);var e=this.getColumn(t);this._raiseEvent("cellValueChanged",{value:x,oldValue:n,dataField:t,displayField:e.displayfield,key:E,boundIndex:k,index:D,row:this.rowsByKey[E]});if(this.editable){if(this.editKey!=null){return}}this._renderrows()},setCellValue:function(g,d,f){if(g==null||d==null){return false}var c=parseInt(g);var e=this._getkey(c);this.setCellValueByKey(e,d,f)},getCellText:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellTextByKey(e,d)},getCellTextByKey:function(e,d){if(e==null||d==null){return null}var c=this.getCellValueByKey(e,d);var f=this.getColumn(d);if(f&&f.cellsFormat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(c)){c=b.jqx.dataFormat.formatdate(c,f.cellsFormat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(c)||(!isNaN(parseFloat(c))&&isFinite(c))){c=b.jqx.dataFormat.formatnumber(c,f.cellsFormat,this.gridlocalization)}}}}return c},getCellValue:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellValueByKey(e,d)},getCellValueByKey:function(e,d){var h=this.rowsByKey[e];if(!h&&this.treeGrid){h=this.treeGrid.getRow(e)}var c=this.getrowindex(h);var f=h;var g="";if(f!=null){return f[d]}return null},beginRowEdit:function(c){var d=this._getkey(c);this.beginroweditbykey(d)},beginCellEdit:function(d,c){var e=this._getkey(d);var f=this.getColumn(c);this.beginroweditbykey(e,f)},endCellEdit:function(d,c,e){this.endRowEdit(d,e)},endRowEdit:function(c,e){var d=this._getkey(c);this.endroweditbykey(d,e)},getrowindex:function(f){var d=this.getRows().indexOf(f);if(d!=-1){return d}if(this.groups&&this.groups.length>0){var c=this.getRows();for(var e=0;e<c.length;e++){if(f.originalRecord){if(c[e].uid==f.originalRecord.uid){d=e;break}}else{if(c[e].uid==f.uid){d=e;break}}}}return d},getrowdisplayindex:function(g){if(this.treeGrid){return -1}var c=this.getView();var e=c.indexOf(g);if(e!=-1){return e}if(g==undefined){return e}var d=c;for(var f=0;f<d.length;f++){if(d[f].uid==g.uid||(g.originalRecord&&d[f].uid==g.originalRecord.uid)){e=f;break}}return e},beginroweditbykey:function(H,r){if(this.beginEdit){var B=this.beginEdit(H,r);if(B===false){return false}}var E=!this.treeGrid?this.groups.length:this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(E>0){var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}if(n.level<E){return false}}if(this._lastSelectedKey==null){this.selectrowbykey(H)}if(this.editKey===H&&this.editKey!=undefined){return false}if(this.rowinfo[H]&&this.rowinfo[H].locked){return false}if(this.editKey!=null){this.endroweditbykey(H,true);return false}var F=this.editSettings.editSingleCell;if(!r&&F&&this.columns.records&&this.columns.records.length>0){for(var z=0;z<this.columns.records.length;z++){r=this.columns.records[z];if(r.editable&&!r.hidden){break}}if(!r){return false}}if(F&&r&&!r.editable){this.editKey=null;return false}if(F){this.editColumn=r}var p=this;var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}var o=this.getrowindex(n);var D=this._getuirow(H);var t=this._getpinneduirow(H);this._editors=new Array();var q=false;if(D){var j=D[0].cells;var u=0;for(var z=0;z<j.length;z++){var h=this.columns.records[z];var d=j[z];if(h.rowDetailscolumn){continue}if(h.checkboxcolumn){continue}if(h.pinned){d=t[0].cells[z]}if(F&&r&&h.datafield!=r.datafield){continue}b(d).removeClass(this.toTP("jqx-grid-cell-selected"));b(d).removeClass(this.toTP("jqx-fill-state-pressed"));b(d).removeClass(this.toTP("jqx-grid-cell-hover"));b(d).removeClass(this.toTP("jqx-fill-state-hover"));if(h.columntype=="none"){continue}var v=b(d).outerWidth();var x=b(d).width();if(u===0){u=b(d).outerHeight()-1}b(d).css("padding","0px");var e="<div style='height:"+u+"px; width: 100%; overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 9999;'></div>";var s=this.getCellTextByKey(H,h.displayfield);d.innerHTML=e;var f=b(d.firstChild);switch(h.columntype){case"textbox":case"default":var k=b("<input style='border: none;' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox'/>").appendTo(f);if(this.rtl){k.css("direction","rtl")}k.addClass(this.toThemeProperty("jqx-input"));k.addClass(this.toThemeProperty("jqx-widget-content"));k.addClass(this.toThemeProperty("jqx-cell-editor"));k[0].onfocus=function(i){setTimeout(function(){if(i){var I=b(i.target).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}else{var I=b(document.activeElement).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}if(p.content){p.content[0].scrollTop=0;p.content[0].scrollLeft=0}if(p.gridcontent){p.gridcontent[0].scrollLeft=0;p.gridcontent[0].scrollTop=0}},10)};if(!h.editable){k.attr("disabled",true);k.attr("readOnly",true);k.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{if(!q){q=true;var g=b.jqx.browser.msie&&b.jqx.browser.version>10;if(!g){k.focus()}var c=k;setTimeout(function(){var J=c.val().length;if(!g){c.focus()}try{if("selectionStart" in c[0]){c[0].setSelectionRange(0,J)}else{var i=c[0].createTextRange();i.collapse(true);i.moveEnd("character",J);i.moveStart("character",0);i.select()}}catch(I){var K=I}},10)}}k.width(x);k.height(u);if(b.jqx.browser.msie&&b.jqx.browser.version<9){k.css("line-height",parseInt(u)+"px")}k.css("text-align",h.cellsalign);if(s===null){s=""}if(s==undefined){s=""}k.val(s);if(h.createeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.createeditor(!this.treeGrid?o:H,s,k,C,x,u)}this._editors.push({column:h,editor:k});if(h.cellsFormat!=""){if(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1){k.keydown(function(I){var O=I.charCode?I.charCode:I.keyCode?I.keyCode:0;var L=String.fromCharCode(O);var M=parseInt(L);if(isNaN(M)){return true}if(p._selection(k).length>0){return true}var K="";var J=k.val();if(h.cellsFormat.length>1){var N=parseInt(h.cellsFormat.substring(1));if(isNaN(N)){N=0}}else{var N=0}if(N>0){if(J.indexOf(p.gridlocalization.decimalseparator)!=-1){if(p._selection(k).start>J.indexOf(p.gridlocalization.decimalseparator)){return true}}}for(var P=0;P<J.length-N;P++){var i=J.substring(P,P+1);if(i.match(/^[0-9]+$/)!=null){K+=i}}if(K.length>=11){return false}})}}if(h.initeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.initeditor(!this.treeGrid?o:H,s,k,C,x,u)}break;case"custom":case"template":if(!this.editorsCache){this.editorsCache=new Array()}var l=b("<div style='width: 100%; height: 100%; border: none;'></div>").appendTo(f);var y=b.trim(h.datafield).split(" ").join("");if(y.indexOf(".")!=-1){y=y.replace(".","")}var A=this.editorsCache["templateeditor_"+y];if(h.columntype=="custom"){var A=this.editorsCache["customeditor_"+y+"_"+H]}var C=s;var s=this.getCellValueByKey(H,h.displayfield);if(!A){var k=b("<div style='border: none;'></div>");k.width(v);k.height(u);A=k;if(s===null){s=""}if(h.columntype!="custom"){this.editorsCache["templateeditor_"+y]=k}else{this.editorsCache["customeditor_"+y+"_"+H]=k}k.appendTo(l);if(h.createeditor){h.createeditor(!this.treeGrid?o:H,s,k,C,v,u)}}else{var k=A;k.width(v);k.height(u);k.appendTo(l)}if(h.initeditor){h.initeditor(!this.treeGrid?o:H,s,k,C,v,u)}this._editors.push({column:h,editor:k});break}}}this.editKey=H;this.beginUpdate();var G=this.getrowdisplayindex(n);this._raiseEvent("rowBeginEdit",{key:H,index:G,boundIndex:o,row:this.rowsByKey[H]});if(F){var n=this.rowsByKey[H];var w=null;var m=null;if(n){w=n[r.datafield];m=n[r.displayfield]}this._raiseEvent("cellBeginEdit",{value:w,displayValue:m,key:H,index:G,dataField:r.datafield,displayField:r.displayfield,boundIndex:o,row:this.rowsByKey[H]})}this.endUpdate(false)},_toNumber:function(f){if(!f.indexOf&&f!=undefined){f=f.toString()}if(f.indexOf(this.gridlocalization.currencysymbol)>-1){f=f.replace(this.gridlocalization.currencysymbol,"")}var c=function(l,j,k){var h=l;if(j==k){return l}var i=h.indexOf(j);while(i!=-1){h=h.replace(j,k);i=h.indexOf(j)}return h};f=c(f,this.gridlocalization.thousandsseparator,"");f=f.replace(this.gridlocalization.decimalseparator,".");if(f.indexOf(this.gridlocalization.percentsymbol)>-1){f=f.replace(this.gridlocalization.percentsymbol,"")}var g="";for(var d=0;d<f.length;d++){var e=f.substring(d,d+1);if(e==="-"){g+="-"}if(e==="."){g+="."}if(e.match(/^[0-9]+$/)!=null){g+=e}}f=g;f=f.replace(/ /g,"");return f},_geteditorvalue:function(h,j,k,d){var m=new String();if(j){if(!h.geteditorvalue){switch(h.columntype){case"textbox":default:m=j.val();if(h.cellsFormat!=""){var l="string";var g=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(g){var n="";b.each(g,function(){if(this.name==h.displayfield){if(this.type){n=this.type}return false}});if(n){l=n}}var i=l==="number"||l==="float"||l==="int"||l==="integer";var f=l==="date"||l==="time";if(i||(l==="string"&&(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1))){if(m===""&&h.nullable){return""}m=this._toNumber(m);m=new Number(m);if(isNaN(m)){m=""}}if(f||(l==="string"&&(h.cellsFormat.indexOf("H")!=-1||h.cellsFormat.indexOf("m")!=-1||h.cellsFormat.indexOf("M")!=-1||h.cellsFormat.indexOf("y")!=-1||h.cellsFormat.indexOf("h")!=-1||h.cellsFormat.indexOf("d")!=-1))){if(m===""&&h.nullable){return""}var e=m;m=new Date(m);if(m=="Invalid Date"||m==null||h.cellsFormat.length>1){if(b.jqx.dataFormat){m=b.jqx.dataFormat.parsedate(e,h.cellsFormat,this.gridlocalization)}if(m=="Invalid Date"||m==null){m=""}}}}if(h.displayfield!=h.datafield){m={label:m,value:m}}break}}if(h.geteditorvalue){var c=this.getCellValueByKey(d,h.displayfield);m=h.geteditorvalue(!this.treeGrid?k:d,c,j)}}return m},_validateEditors:function(c){var k=this;var d=true;var s=k.rowsByKey[c];var l=k.getrowindex(s);var m=k._editors;var c=k.editKey;var p=k._getuirow(c);for(var h=0;h<m.length;h++){var j=m[h].editor;var f=m[h].column;var o=k._geteditorvalue(f,j,l,c);if(f.validation){j.removeClass(k.toThemeProperty("jqx-grid-validation-label"));var e=f.datafield;try{var r=f.validation({value:o,row:c,datafield:f.datafield,displayfield:f.displayfield,column:f},o);var g=k.gridlocalization.validationstring;if(r.message!=undefined){g=r.message}var q=typeof r=="boolean"?r:r.result;if(!q){if(r.showmessage==undefined||r.showmessage==true){k._showvalidationpopup(p,e,g,j)}d=false}}catch(n){k._showvalidationpopup(p,e,k.gridlocalization.validationstring,j);d=false}}}return d},endroweditbykey:function(p,r){var k=this;if(k.editKey===null){return}if(this.endEdit){var n=this.endEdit(p);if(n===false){return}}var t=k.rowsByKey[p];var l=k.getrowindex(t);var m=k._editors;var e=k.editKey;var q=k._getuirow(e);if(r!==true){var d=true;if(m){d=k._validateEditors(e);if(d){var h=b.extend({},t);var c=b.extend({},t);for(var g=0;g<m.length;g++){var j=m[g].editor;var f=m[g].column;var o=k._geteditorvalue(f,j,l,e);if(o&&o.label!=undefined){h[f.displayfield]=o.label;h[f.datafield]=o.value}else{h[f.displayfield]=o}}var s=function(){k.dataview._sortHierarchyData=null;k.dataview._sortData=null;for(var x=0;x<m.length;x++){var B=m[x].editor;var v=m[x].column;var C=k._geteditorvalue(v,B,l,e);var u=c[v.displayfield];if(C&&C.label!=undefined){t[v.displayfield]=C.label;t[v.datafield]=C.value}else{t[v.displayfield]=C}if(k.treeGrid){var D=k.treeGrid.getRow(e);if(D){D[v.displayfield]=C}}if(k.editorsCache){var E=function(i){if(i&&i.jqxWidget){var G=i.jqxWidget.element.className;if(G.indexOf("dropdownlist")>=0||G.indexOf("datetimeinput")>=0||G.indexOf("combobox")>=0||G.indexOf("menu")>=0){if(i.jqxWidget.isOpened){var F=i.jqxWidget.isOpened();if(F){i.jqxWidget.close()}}}}};var z="customeditor_"+v.displayfield+"_"+p;var y="templateeditor_"+v.displayfield;if(k.editorsCache[z]){var w=b(k.editorsCache[z]).data();var A=k.editorsCache[z];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w);k.editorsCache[z].detach()}if(k.editorsCache[y]){k.editorsCache[y].detach();var w=b(k.editorsCache[y]).data();var A=k.editorsCache[y];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w)}}if(C!=u){k.beginUpdate();k._raiseEvent("cellValueChanged",{value:C,oldValue:u,dataField:v.datafield,displayField:v.displayfield,key:p,index:l,row:t});k.endUpdate(false)}}};k.updaterowbykey(k.editKey,h,false,s)}}if(!d){return false}}k._detachEditors(e);return true},_detachEditors:function(l){var g=this;var m=g.rowsByKey[l];var i=g.getrowindex(m);if(g.editorsCache){for(var h in g.editorsCache){var f=b(g.editorsCache[h]).data();if(f&&f.jqxWidget){var c=f.jqxWidget.element.className;if(c.indexOf("dropdownlist")>=0||c.indexOf("datetimeinput")>=0||c.indexOf("combobox")>=0||c.indexOf("menu")>=0){if(f.jqxWidget.isOpened){var e=f.jqxWidget.isOpened();if(e){f.jqxWidget.close()}}}}b(g.editorsCache[h]).detach()}}g.beginUpdate();var d=g.getrowdisplayindex(m);if(g.editSettings.editSingleCell){var m=g.rowsByKey[l];var k=null;var j=null;if(m){k=m[g.editColumn.datafield];j=m[g.editColumn.displayfield]}g._raiseEvent("cellEndEdit",{value:k,displayValue:j,key:l,index:d,dataField:g.editColumn.datafield,displayField:g.editColumn.displayfield,boundIndex:i,row:g.rowsByKey[l]})}g._raiseEvent("rowEndEdit",{key:l,index:d,boundIndex:i,row:g.rowsByKey[l]});g.endUpdate(false);g.editColumn=null;g.editKey=null;g._renderrows();g._renderhorizontalscroll();g.host.focus();setTimeout(function(){g.host.focus()},10)},_showvalidationpopup:function(r,e,s,m){if(s==undefined){var s=this.gridlocalization.validationstring}m.addClass(this.toThemeProperty("jqx-grid-validation-label"));var p=b("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var o=b("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");p.html(s);o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));p.addClass(this.toThemeProperty("jqx-grid-validation"));p.addClass(this.toThemeProperty("jqx-rc-all"));p.hide();o.hide();p.prependTo(this.table);o.prependTo(this.table);var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);var l=this.getColumn(e).uielement;if(!r){return}var k=r;p.css("top",parseInt(k.position().top)+30+"px");var c=parseInt(p.css("top"));o.css("top",c-11);o.removeClass();o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var f=false;if(c>=this._table.height()){o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));c=parseInt(k.position().top)-k.outerHeight()-5;if(c<0){c=0;o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}p.css("top",c+"px");o.css("top",c+p.outerHeight()-9)}var n=-g+parseInt(b(l).position().left);var q=parseInt(this._table.css("left"));if(isNaN(q)){q=0}if(q!=0){g=0}o.css("left",g+n+30);var d=p.width();if(d+n>this.host.width()-20){var i=d+n-this.host.width()+40;n-=i}if(!f){p.css("left",g+n)}else{p.css("left",g+parseInt(b(l).position().left)-p.outerWidth())}m.mouseenter(function(){if(m.hasClass("jqx-grid-validation-label")){p.show();o.show()}});m.mouseleave(function(){p.hide();o.hide()});if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:p,validationrow:o}},addRow:function(d,p,j,n){if(p!=undefined){this._datachanged=true;if(j==undefined){j="last"}var o=false;var k=this.that;if(d==null){var f=this.dataview.filters&&this.dataview.filters.length>0;var m=!f?this.dataview.totalrecords:this.source.records.length;if(!this.pageable){if(this.source._source.totalrecords){this.dataview.totalrecords=this.source._source.totalrecords}else{if(this.source._source.totalRecords){this.dataview.totalrecords=this.source._source.totalRecords}else{if(this.source.hierarchy.length!==0){this.dataview.totalrecords=this.source.hierarchy.length}else{this.dataview.totalrecords=this.source.records.length}}}var m=!f?this.dataview.totalrecords:this.source.records.length}if(!b.isArray(p)){d=this.dataview.getid(this.dataview.source.id,p,m);if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{var c=new Array();b.each(p,function(e,q){var r=k.dataview.getid(k.dataview.source.id,p[e],m+e);c.push(r);if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}});d=c}}else{if(!b.isArray(p)){if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{b.each(p,function(e,q){var r=d[e];if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}})}}var i=this.treeGrid?(this.treeGrid.virtualModeCreateRecords?true:false):false;var g=function(v,q,A,t){if(v._loading){throw new Error("jqxDataTable: "+v.loadingErrorMessage);return false}var r=v.vScrollInstance.value;var z=false;if(!b.isArray(A)){A.uid=q;v.rowsByKey[q]=A;if(q==n){n=null}z=v.source.addRecord(A,t,n,i)}else{b.each(A,function(B,C){var D=null;if(q!=null&&q[B]!=null){D=q[B]}this.uid=D;v.rowsByKey[D]=this;if(q==n){n=null}z=v.source.addRecord(this,t,n,i)})}if(v.groups&&v.groups.length>0){var w=Object.prototype.toString;var y=v.groups[0];Object.prototype.toString=(typeof y=="function")?y:function(){return this[y]};if(!v.source.records.sort){var x=new Array();var u=0;var e=0;var s=[];b.each(s,function(){x[e+u++]=this});s=x}v.source.records.sort(function(C,B){if(C===undefined){C=null}if(B===undefined){B=null}if(C===null&&B===null){return 0}if(C===null&&B!==null){return -1}if(C!==null&&B===null){return 1}var F=0;var E=0;if(C&&C.uid){F=C.uid}if(B&&B.uid){E=B.uid}C=C.toString();B=B.toString();if(b.jqx.dataFormat.isNumber(C)&&b.jqx.dataFormat.isNumber(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(b.jqx.dataFormat.isDate(C)&&b.jqx.dataFormat.isDate(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(C)&&!b.jqx.dataFormat.isNumber(B)){C=String(C).toLowerCase();B=String(B).toLowerCase()}}}try{if(C<B){return -1}if(C>B){return 1}}catch(D){var G=D}if(typeof(F)=="number"){if(F<E){return -1}if(F>E){return 1}}return 0});Object.prototype.toString=w}v.dataview._filteredData=null;v.dataview._sortData=null;v.dataview._sortHierarchyData=null;if(v._updating==undefined||v._updating==false){v.refresh()}if(v.source&&v.source._knockoutdatasource&&!v._updateFromAdapter&&v.autokoupdates){if(v.source._source._localdata){v.source.suspendKO=true;v.source._source._localdata.push(A);v.source.suspendKO=false}}v.vScrollInstance.setPosition(r);return z};if(this.source.addrow){var h=function(e,q){if(e==true||e==undefined){if(q!=undefined){d=q}g(k,d,p,j)}};try{if(!k.treeGrid){o=this.source.addrow(d,p,j,h)}else{o=this.source.addrow(d,p,j,n,h)}if(o==undefined){o=true}}catch(l){o=false}if(o==false){return false}}else{g(this,d,p,j)}return o}return false},deleteRow:function(c){var d=this._getkey(c);this.deleterowbykey(d)},deleterowbykey:function(g){if(g!=undefined){this._datachanged=true;var h=false;var f=this.that;var d=function(m,l){if(m._loading){throw new Error("jqxDataTable: "+m.loadingErrorMessage);return false}m.dataview._filteredData=null;m.dataview._sortData=null;m.dataview._sortHierarchyData=null;var o=false;var p=m.vScrollInstance.value;if(!b.isArray(l)){var o=false;if(m.rowsByKey[l]){o=true;if(m.rowinfo[l]&&m.rowinfo[l].selected){m.unselectrowbykey(l,false)}if(m.treeGrid){var n=m._names();var k=m.rowsByKey[l][n.parent]}delete m.rowsByKey[l];if(m.treeGrid){if(m.rowinfo[l]){var i=m.rowinfo[l].row.records;var j=function(q){for(var r=0;r<q.length;r++){var s=q[r].uid;delete m.rowsByKey[s];delete m.rowinfo[s];if(q[r].records){j(q[r].records)}}};if(i){j(i)}}}delete m.rowinfo[l];m.source.deleteRecord(l);if(k){if(n&&k.records&&k.records.length==0){k[n.leaf]=true;m.rowinfo[k.uid][n.leaf]=true}}}}else{b.each(l,function(){var t=this;if(m.rowsByKey[t]){o=true;if(m.rowinfo[t].selected){m.unselectrowbykey(t,false)}if(m.treeGrid){var u=m._names();var s=m.rowsByKey[t][u.parent]}delete m.rowsByKey[t];if(m.treeGrid){if(m.rowinfo[t]){var q=m.rowinfo[t].row.records;var r=function(v){for(var w=0;w<v.length;w++){var x=v[w].uid;delete m.rowsByKey[x];delete m.rowinfo[x];if(v[w].records){r(v[w].records)}}};if(q){r(q);delete m.rowinfo[t]}}}m.source.deleteRecord(t);if(s){if(u&&s.records&&s.records.length==0){s[u.leaf]=true;m.rowinfo[s.uid][u.leaf]=true}}}})}m.refresh();if(m.source&&m.source._knockoutdatasource&&!m._updateFromAdapter&&m.autokoupdates){if(m.source._source._localdata){m.source.suspendKO=true;m.source._source._localdata.pop();m.source.suspendKO=false}}m.vScrollInstance.setPosition(p);return o};if(this.source.deleterow){var c=function(i){if(i==true||i==undefined){d(f,g)}};try{this.source.deleterow(g,c);if(h==undefined){h=true}}catch(e){h=false}}else{h=d(f,g)}return h}return false},updateRow:function(c,e){var d=this._getkey(c);this.updaterowbykey(d,e)},updaterowbykey:function(c,k,g,i){if(c!=undefined&&k!=undefined){var f=this.that;var j=false;var d=function(o,l,t){if(o._loading){throw new Error("jqxDataTable: "+o.loadingErrorMessage);return false}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;var r=false;if(!b.isArray(l)){var n=o.rowsByKey[l];var s=function(v){if(!v){r=false}else{for(var u=0;u<o.columns.records.length;u++){v[o.columns.records[u].datafield]=t[o.columns.records[u].datafield];if(o.groups.length>0&&v.originalRecord){v.originalRecord[o.columns.records[u].datafield]=t[o.columns.records[u].datafield]}}r=true}};s(n);if(o.treeGrid){n=o.treeGrid.getRow(l);s(n)}}else{b.each(l,function(w,x){var v=o.rowsByKey[this];var u=function(z,y){if(!v){r=false}else{v[this]=t[w]}r=true};u(this,v);if(o.treeGrid){v=o.treeGrid.getRow(this);u(this,v)}})}var m=o.vScrollInstance.value;if(g==undefined||g==true){if(o._updating==undefined||o._updating==false){o._renderrows()}}if(o.showAggregates&&o._updatecolumnsaggregates){o._updatecolumnsaggregates()}if(o.source&&o.source._knockoutdatasource&&!o._updateFromAdapter&&o.autokoupdates){if(o.source._source._localdata){var n=o.rowsByKey[l];var p=o.getrowindex(n);var q=o.source._source._localdata()[p];o.source.suspendKO=true;o.source._source._localdata.replace(q,b.extend({},n));o.source.suspendKO=false}}o.vScrollInstance.setPosition(m);return r};if(this.source.updaterow){var e=function(l){if(l==true||l==undefined){d(f,c,k);if(i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}};try{j=this.source.updaterow(c,k,e);if(j==undefined){j=true}}catch(h){j=false}}else{j=d(f,c,k);if(j&&i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}return j}return false},lockRow:function(c){var d=this._getkey(c);this.lockrowbykey(d)},unlockRow:function(c){var d=this._getkey(c);this.unlockrowbykey(d)},lockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=true}else{this.rowinfo[c]={locked:true}}this._renderrows()},unlockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=false}else{this.rowinfo[c]={locked:false}}this._renderrows()},selectRow:function(c){var d=this._getkey(c);this.selectrowbykey(d)},unselectRow:function(c){var d=this._getkey(c);this.unselectrowbykey(d)},selectrowbykey:function(e,h,f){if(h!="keyboard"&&h!="mouse"){this._lastSelectedKey=e}var g=f!==false?true:false;this._doSelection(e,true,g);var i=this.rowsByKey[e];var d=this.getrowindex(i);var c=this.getrowdisplayindex(i);this._raiseEvent("rowSelect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},unselectrowbykey:function(e,f){var g=f!==false?true:false;this._doSelection(e,false,g);var h=this.rowsByKey[e];var d=this.getrowindex(h);var c=this.getrowdisplayindex(h);this._raiseEvent("rowUnselect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},getSelection:function(){var c=new Array();if(this.rowinfo){for(var e in this.rowinfo){var d=this.rowinfo[e];if(d.selected){c.push(d.row)}}}return c},showdetailsbykey:function(k){if(!this.rowDetails){return}var l=this.rowinfo[k];if(l){l.expanded=true;var f=b(this._table.children()[1]).children(("[data-key="+k+"]"));var i=b(this._pinnedTable.children()[1]).children(("[data-key="+k+"]"));if(f){var c=i.children();var h=b(c[0]);if(this.rtl){var h=b(c[c.length-1])}if(!this.rtl){h.removeClass(this.toThemeProperty("jqx-grid-group-collapse"));h.addClass(this.toThemeProperty("jqx-grid-group-expand"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-right"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{h.removeClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));h.addClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-left"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}f.next().show();var d=i.next();d.show();if(b.jqx.browser.msie&&b.jqx.browser.version<8){f.next().children().show();i.next().children().show()}if(!l.initialized){var j=l.detailsHeight;var m=this.initRowDetails(k,l.row,b(b(d).children().children().children()[0]),l);l.details=b(d).children().children().children()[0];l.initialized=true;if(m===false||l.detailsHeight!=j){if(m===false){l.expanded=false;l.nodetails=true;d.hide()}this._renderrows()}}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var g=this.getrowindex(l.row);var e=this.getrowdisplayindex(l.row);this._raiseEvent("rowExpand",{row:l.row,index:e,boundIndex:g,rowKey:k})}}},hidedetailsbykey:function(h){if(!this.rowDetails){return}var j=this.rowinfo[h];if(j){j.expanded=false;var d=b(this._table.children()[1]).children(("[data-key="+h+"]"));var e=b(this._pinnedTable.children()[1]).children(("[data-key="+h+"]"));if(d){var g=e.children();var i=b(g[0]);if(this.rtl){var i=b(g[g.length-1])}if(!this.rtl){i.addClass(this.toThemeProperty("jqx-grid-group-collapse"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand"));i.addClass(this.toThemeProperty("jqx-icon-arrow-right"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{i.addClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));i.addClass(this.toThemeProperty("jqx-icon-arrow-left"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}d.next().hide();e.next().hide();if(b.jqx.browser.msie&&b.jqx.browser.version<8){d.next().children().hide();e.next().children().hide()}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var f=this.getrowindex(j.row);var c=this.getrowdisplayindex(j.row);this._raiseEvent("rowCollapse",{row:j.row,index:c,boundIndex:f,rowKey:h})}}},_getvirtualcolumnsindexes:function(d,l,h,k,c){if(this.rowDetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:h+k}}var e=0;var i=-1;var f=h+k;if(this.autorowheight){return{start:0,end:h+k}}if(!c){for(var g=0;g<h+k;g++){var m=g;if(!this.columns.records[g].hidden){e+=this.columns.records[g].width}if(e>=d&&i==-1){i=g}if(e>l+d){f=g;break}}}f++;if(f>h+k){f=h+k}if(i==-1){i=0}return{start:i,end:f}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var h=parseInt(u);if(this.table==null){return}var q=this.columnsrow;var r=0;var i=this.columns.records.length-r;var e=this.columns.records;var l=this.source.records.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){h=t.max-h}}if(l&&!this._haspinned){this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<r+i;w++){var f=e[w];if(f.pinned){var g=null;if(this.showAggregates){if(this.statusbar[0].cells){g=this.statusbar[0].cells[w]}}if(this.filterrow){if(this.filterrow[0].cells){var x=this.filterrow[0].cells[w]}}if(!this.rtl){var c=q[0].cells[w];c.style.marginLeft=h+"px";if(g){g.style.marginLeft=h+"px"}if(this.filterrow&&x){x.style.marginLeft=h+"px"}}else{var c=q[0].cells[w];c.style.marginLeft=-parseInt(u)+"px";if(g){g.style.marginLeft=-parseInt(u)+"px"}if(this.filterrow&&x){x.style.marginLeft=-parseInt(u)+"px"}}}}if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this._table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned==false){if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}}if(this.filterrow){this.filterrow[0].style.left=-h+"px";if(this.rtl){this.filterrow[0].style.left=-h+parseInt(this.content.css("left"))+"px"}}}if(this.showAggregates){if(this.aggregates[0].cells){var k=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){k=2+parseInt(this.hScrollBar.css("left"))}else{k=3+parseInt(this.vScrollBar.width())}}}this.aggregates[0].style.marginLeft=-h+k+"px"}}},_initializeColumns:function(){var d=this.source.datafields;if(d==null&&this.source._source){d=this.source._source.datafields}var k=d?d.length>0:false;if(this.columns&&this.columns.records){for(var e=0;e<this.columns.records.length;e++){this._removecolumnhandlers(this.columns.records[e])}}var j=this;var c=new b.jqx.dataCollection(this.element);var h=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.selectionMode=="checkbox"){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.checkboxcolumn=true;f.editable=false;f.columntype="checkbox";f.groupable=false;f.draggable=false;f.filterable=false;f.resizable=false;f.datafield="_checkboxcolumn";c.add(f)}if(this.rowDetails&&!this.treeGrid){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.editable=false;f.rowDetailscolumn=true;f.groupable=false;f.draggable=false;f.pinned=true;f.filterable=false;f.resizable=false;f.text="";c.add(f)}var g=new Array();b.each(this.columns,function(i){if(j.columns[i]!=undefined){var l=new a(j,this);l.visibleindex=h++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){j._haspinned=true}if(this.datafield==null){if(j.source&&j.source._source&&(j.source._source.datatype=="array")){if(!k){if(!j.source._source.datafields){j.source._source.datafields=new Array();j.source._source.datafields.push({name:i.toString()})}else{j.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();l.datafield=this.datafield;l.displayfield=this.displayfield}}else{if(g[this.datafield]){throw new Error("jqxDataTable: Invalid column 'dataField' setting. jqxDataTable's columns should be initialized with unique data fields.");j.host.remove();return false}else{g[this.datafield]=true}}c.add(l)}});if(this.rtl){c.records.reverse()}this.columns=c},addFilter:function(c,e){var d=this.getColumn(c);if(!d){return}this.dataview.addFilter(c,e)},removeFilter:function(c){var d=this.getColumn(c);if(!d){return}this.dataview.removeFilter(c)},clearFilters:function(d,c){this.dataview.filters=new Array();this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(c!==false){this.resetfilter()}if(d===false){return}this.applyFilters()},resetfilter:function(){if(this.filterinput){this.filterinput.val("")}if(this.filterrow){for(var f=0;f<this.filterrow[0].cells.length;f++){var m=this.filterrow[0].cells[f];var l=b(m).find("input:first");var j=b(m).find(".filterconditions");var e=this.columns.records[f];var d="";if(!e.filterable){continue}l.val("");var g=this.getcolumntypebydatafield(e);var c=new b.jqx.filter();var h,k;switch(g){case"number":case"int":case"float":case"decimal":h="numericfilter";k=c.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":h="booleanfilter";k=c.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":h="datefilter";k=c.getoperatorsbyfiltertype("datefilter");break;case"string":h="stringfilter";k=c.getoperatorsbyfiltertype("stringfilter");break}if(j.length>0){if(h==="stringfilter"){j.jqxDropDownList({selectedIndex:2})}else{j.jqxDropDownList({selectedIndex:0})}}}}},applyFilters:function(){if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this.serverProcessing){this.dataview.pagenum=0;this.updateBoundData("filter")}else{this.goToPage(0);this.refresh()}if(arguments&&arguments.length>0){if(this._updateSimpleFilter){if(this.filtercolumnsList){var d=this.filtercolumnsList.jqxDropDownList("getSelectedItem").value;this._updateSimpleFilter(d)}}if(this._updateFilterRow){this._updateFilterRow()}}this._raiseEvent("filter",{filters:this.dataview.filters})},sortBy:function(d,g){this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}if(d==null){g=null;d=this.sortcolumn}if(d){var f=this;var e;if(g=="a"||g=="asc"||g=="ascending"||g==true){e=true}else{e=false}if(g!=null){f.sortdirection={ascending:e,descending:!e}}else{f.sortdirection={ascending:false,descending:false}}if(g!=null){f.sortcolumn=d}else{f.sortcolumn=null}if(f.source.sort){f.dataview.sortfield=d;if(g==null){f.dataview.sortfielddirection=""}else{f.dataview.sortfielddirection=e?"asc":"desc"}if(f.source.sort&&!this._loading){f.source.sort(d,g)}}f.dataview.sortBy(d,g);f._raiseEvent("sort",{sortcolumn:this.sortcolumn,sortdirection:this.sortdirection})}if(!this.serverProcessing){this.refresh()}else{this.updateBoundData("sort")}},_togglesort:function(d){var f=this;if(this.disabled){return}if(d.sortable&&f.sortable){var c={sortcolumn:this.sortcolumn,sortdirection:this.sortdirection};var e=null;if(c.sortcolumn!=null&&c.sortcolumn==d.displayfield){e=c.sortdirection.ascending;if(e==true){e=false}else{e=null}}else{e=true}f.sortBy(d.displayfield,e)}},_renderfilter:function(){var h=this;var j=b("<div style='position: relative; margin: 4px;'><input style='width: 200px; height: 22px; direction: ltr;' role='textbox' type='text'/><div style='cursor: pointer; height: 100%;'><div></div></div></div>");j.height(22);var o=j.find("input");var g=j.find("div:first");j.addClass(this.toThemeProperty("jqx-rc-all"));j.addClass(this.toThemeProperty("jqx-widget"));j.addClass(this.toThemeProperty("jqx-input-group"));o.addClass(this.toThemeProperty("jqx-input"));o.addClass(this.toThemeProperty("jqx-rc-l"));o.addClass(this.toThemeProperty("jqx-input-group-addon"));o.addClass(this.toThemeProperty("jqx-widget"));o.addClass(this.toThemeProperty("jqx-widget-content"));g.addClass(this.toThemeProperty("jqx-fill-state-normal"));g.addClass(this.toThemeProperty("jqx-rc-r"));g.addClass(this.toThemeProperty("jqx-input-group-addon"));g.find("div").addClass(this.toThemeProperty("jqx-icon-search"));if(this.rtl){o.addClass(this.toThemeProperty("jqx-rtl"));o.css("direction","rtl")}this.filter.children().remove();this.filterbutton=g;var d=new Array();for(var f=0;f<h.columns.records.length;f++){if(h.columns.records[f].datafield&&h.columns.records[f].filterable){d.push({label:h.columns.records[f].text,value:h.columns.records[f].displayfield})}}var p=d.length<10?true:false;var l=b("<div style='position: relative; top: 50%; display: none; margin-right: 4px; margin-left: 4px; float: left;'>"+this.gridlocalization.filtersearchstring+"</div>");this.filter.append(l);var c=b("<div class='filtercolumns' style='position: relative; margin: 4px; float: left;'></div>");this.filter.append(c);if(c.jqxDropDownList){c.jqxDropDownList({theme:this.theme,enableBrowserBoundsDetection:true,autoDropDownHeight:p,rtl:h.rtl,dropDownWidth:220,selectedIndex:0,width:"auto",height:20,source:d,displayMember:"label",valueMember:"value"})}this.filtercolumnsList=c;var n=function(q){h.filterinput.val("");for(var r=0;r<h.dataview.filters.length;r++){var s=h.dataview.filters[r];if(s.datafield===q){h.filterinput.val(s.filter.getfilterat(0).filtervalue)}}};if(h.filterHeight!==35){h.filtercolumnsList.css("margin-top",h.filterHeight/2-10);j.css("margin-top",h.filterHeight/2-10)}h._updateSimpleFilter=n;this.addHandler(c,"select",function(q){var i=q.args.item.value;n(i)});if(this.filterMode==="simple"){this.filtercolumnsList.hide();l.show();l.css("margin-top",-this.filter.height()/2);j.css("float","left")}else{this.filtercolumnsList.show();l.hide()}var m=function(){if(!g.hasClass("jqx-fill-state-disabled")){var r=o.val();if(c.jqxDropDownList){var u=c.jqxDropDownList("getSelectedItem")}var w=function(B,x,i){var A=new b.jqx.filter();var z=h.getcolumntypebydatafield(B);var C=h._getfiltertype(z);if(C=="datefilter"){var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{if(C=="numericfilter"||C=="booleanfilter"){if(C=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(x.indexOf(h.gridlocalization.decimalseparator)>=0){x=x.replace(h.gridlocalization.decimalseparator,".")}}if(x.indexOf(h.gridlocalization.currencysymbol)>=0){x=x.replace(h.gridlocalization.currencysymbol,"")}if(x.indexOf(h.gridlocalization.percentagesymbol)>=0){x=x.replace(h.gridlocalization.percentagesymbol,"")}}var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{var y=A.createfilter(C,x,"CONTAINS")}}A.operator=i;A.addfilter(0,y);return A};if(h.filterMode!=="simple"){if(u){var v=u.value;var t=h.getColumn(v);var s=w(t,r,"and");if(r.length>0){h.removeFilter(v);h.addFilter(v,s);h.applyFilters()}else{h.removeFilter(v);h.applyFilters()}if(h.filterMode==="advanced"){if(h._updateFilterRow){h._updateFilterRow(true)}}}}else{h.clearFilters(false,false);if(r.length>0){for(var q=0;q<h.columns.records.length;q++){var t=h.columns.records[q];var s=w(t,r,"or");h.addFilter(t.datafield,s)}}h.applyFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}}};o.keydown(function(i){if(i.keyCode===13){m();if(i.preventDefault){i.preventDefault()}return false}});g.click(function(){m()});this.filterinput=o;this.filter.append(j);if(this.filterMode=="advanced"){var e=b("<a style='float: left; position: relative; margin: 2px; margin-left: 10px;' href='#'>"+this.gridlocalization.filterstring+"</a>");j.append(e);this.addHandler(e,"click",function(q){var i=function(u){if(h.filterrow){for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var v=b(t).find("input:first");var z=h.columns.records[x];if(!z.filterable){continue}if(u===true){v.val("")}for(var w=0;w<h.dataview.filters.length;w++){var y=h.dataview.filters[w];if(y.datafield===z.displayfield){v.val(y.filter.getfilterat(0).filtervalue);break}}}}};var s=function(v){if(h.filterrow){var u=0;for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var w=b(t).find("input:first");var y=h.columns.records[x];if(y.hidden){t.style.visibility="hidden"}else{t.style.visibility="inherit"}if(!y.filterable){continue}t.style.left=parseInt(u)+parseInt(y.uielement[0].style.left)+"px";t.style.width=6+y.width+"px";if(w[0]){w[0].style.width=y.width-6-22+"px"}}}};h._updateFilterRow=i;h._arrangeFilterRow=s;var r=function(){h.filtercolumnsList.jqxDropDownList({disabled:true});h.filterinput.addClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",true);h.filterbutton.addClass(h.toThemeProperty("jqx-fill-state-disabled"))};if(h.filter.find(".filterrow").length===0){h._renderadvancedfilter();r();i();h._arrange();s()}else{if(h.filter.find(".filterrow").css("display")==="none"){r();h.filter.find(".filterrow").removeClass("filterrow-hidden");i();h.filter.find(".filterrow").show();s()}else{h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));n(h.filtercolumnsList.jqxDropDownList("getSelectedItem").value);h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide()}h._arrange()}return false})}var k=b("<div style='float: left; width: 16px; height: 16px; position: relative; margin: 3px;'></div>");k.attr("title",h.gridlocalization.filterclearstring);k.addClass(h.toThemeProperty("jqx-icon-close"));j.append(k);k.hide();h.filtericon=k;k.click(function(){h.clearFilters();h.filtericon.fadeOut(200)});if(h.dataview.filters.length>0){if(h.filterMode!="advanced"){n(h.dataview.filters[0].datafield)}else{if(h._updateFilterRow){h._updateFilterRow()}}}},_renderadvancedfilter:function(){var h=this;var c=function(){h.clearFilters(false,false);var n=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var p=h.filterinput.val();for(var m=0;m<h.filterrow[0].cells.length;m++){var v=h.filterrow[0].cells[m];var u=b(v).find("input:first");var r=b(v).find(".filterconditions");var l=h.columns.records[m];var k="";if(!l.filterable){continue}if(l.displayfield===n){h.filterinput.val(u.val())}var q,t;var o=h.getcolumntypebydatafield(l);var j=new b.jqx.filter();switch(o){case"number":case"int":case"float":case"decimal":q="numericfilter";t=j.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":q="booleanfilter";t=j.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":q="datefilter";t=j.getoperatorsbyfiltertype("datefilter");break;case"string":q="stringfilter";t=j.getoperatorsbyfiltertype("stringfilter");break}if(r.length==0){if(q==="stringfilter"){k=t[2]}else{k=t[0]}}else{var y=r.jqxDropDownList("getSelectedItem");if(y){k=t[y.index]}else{if(q==="stringfilter"){k=t[2]}else{k=t[0]}}}var w=u.val();if(w.length>0||(w.length==0&&k=="NOT_NULL")||(w.length==0&&k=="NOT_EMPTY")||(w.length==0&&k=="EMPTY")||(w.length==0&&k=="NULL")){var s=l.displayfield;var x=new b.jqx.filter();if(q=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(w.indexOf(h.gridlocalization.decimalseparator)>=0){w=w.replace(h.gridlocalization.decimalseparator,".")}}if(w.indexOf(h.gridlocalization.currencysymbol)>=0){w=w.replace(h.gridlocalization.currencysymbol,"")}if(w.indexOf(h.gridlocalization.percentagesymbol)>=0){w=w.replace(h.gridlocalization.percentagesymbol,"")}}var j=x.createfilter(q,w,k,null,l.cellsFormat,h.gridlocalization);x.addfilter(0,j);h.addFilter(s,x)}}if(h.dataview.filters.length>0){h.applyFilters()}else{h.clearFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}};var e=function(){var m=b("<div style='position: relative;' class='filterrow'></div>").appendTo(h.filter);h.filterrow=m;m[0].cells=new Array();m.height(24);m.width(h.table.width());var k=0;var j=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var l=h.filterinput.val();b.each(h.columns.records,function(){var p=this;var n=b("<div></div>").appendTo(m);n.css("position","absolute");n.css("left",k+parseInt(p.uielement[0].style.left));if(p.pinned){n.css("z-index",h.tableZIndex+h.columns.records.length);n.addClass(h.toThemeProperty("jqx-widget-header"))}m[0].cells.push(n[0]);if(!this.filterable){return true}var o=b("<input style='margin-left: 4px; height: 20px; float: left;' role='textbox' type='text'/>").appendTo(n);o.keydown(function(r){if(r.keyCode===13){c()}});if(p.displayfield===j){o.val(l)}o.addClass(h.toThemeProperty("jqx-input"));o.addClass(h.toThemeProperty("jqx-rc-all"));o.addClass(h.toThemeProperty("jqx-widget"));o.addClass(h.toThemeProperty("jqx-widget-content"));var q=b("<div style='cursor: pointer; margin-left: 4px; margin-bottom: 4px; margin-top: 6px; width: 18px; position: relative; margin-top: 4px; float: left;'></div>").appendTo(n);q.append(b("<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"));o.focus(function(){h.ensureColumnVisible(p.displayfield);h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield);setTimeout(function(){h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield)},10)});q.click(function(){var u=b("<div class='filterconditions' style='position: relative; margin-top: 1px; float: left;'></div>");u.insertAfter(q);q.remove();var s=h.getcolumntypebydatafield(p);var t=h._getfiltersbytype(s);var r;if(s==="string"){r=2}else{r=0}u.jqxDropDownList({theme:h.theme,enableBrowserBoundsDetection:true,renderMode:"simple",arrowSize:0,selectedIndex:r,rtl:h.rtl,dropDownWidth:230,dropDownHeight:180,width:20,height:20,source:t,selectionRenderer:function(){return"<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"}});h.addHandler(u,"close",function(v){o.focus();setTimeout(function(){o.focus()},10)});u.removeAttr("tabindex");u.find("div").removeAttr("tabindex");u.jqxDropDownList("open")});o[0].style.width=p.width-6-22+"px"});b("<div style='clear: both;'></div>").appendTo(m)};e();var i=b("<div style='position:relative;' class='filterrow'></div>").appendTo(h.filter);var f=b("<input type='button' style='position: relative; float: left; margin-top: 4px; margin-left: 4px;' value='"+h.gridlocalization.filterapplystring+"'/>").appendTo(i);var g=b("<input type='button' style='position: relative; float: left; margin-top: 4px;  margin-left: 4px;' value='"+h.gridlocalization.filtercancelstring+"'/>").appendTo(i);var d=0;f.css("left",d);g.css("left",d);f.css("top","4px");g.css("top","4px");f.jqxButton({theme:h.theme});g.jqxButton({theme:h.theme});g.click(function(){h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide();h._arrange()});f.click(function(){c()});h._renderhorizontalscroll()},_getfiltertype:function(c){var d="stringfilter";switch(c){case"number":case"int":case"float":case"decimal":d="numericfilter";break;case"boolean":case"bool":d="booleanfilter";break;case"date":case"time":d="datefilter";break;case"string":d="stringfilter";break}return d},getcolumntypebydatafield:function(e){var f=this;var d="string";var c=f.source.datafields||((f.source._source)?f.source._source.datafields:null);if(c){var g="";b.each(c,function(){if(this.name==e.displayfield){if(this.type){g=this.type}return false}});if(g){return g}}return d},_getfiltersbytype:function(c){var d=this;var e="";switch(c){case"number":case"float":case"int":e=d.gridlocalization.filternumericcomparisonoperators;break;case"date":e=d.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":e=d.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:e=d.gridlocalization.filterstringcomparisonoperators;break}return e},_getcellvalue:function(c,e){var d=null;d=e[c.datafield];if(c.displayfield!=null){d=e[c.displayfield]}if(d==null){d=""}return d},_renderrows:function(ap){if(this.editable){if(this.editKey!=null){if(ap!==false){var M=this.endroweditbykey(this.editKey)}}}if(this.treeGrid){this.treeGrid._renderrows();return}if(this._loading){return}if(this._updating){return}if(this.rendering){this.rendering()}var ab=this;var T=0;this.table[0].rows=new Array();var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-widget-content");if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var K=this.columns.records.length;var ao=b.jqx.browser.msie&&b.jqx.browser.version<8;if(ao){this.host.attr("hideFocus","true")}var R=ab.groups.length;var ai=new Array();var k=this.source.records;k=this.dataview.evaluate(k);this.dataViewRecords=k;if(this.dataview.pagesize=="all"||!this.pageable||this.serverProcessing){var u=k;if(this.pageable&&this.serverProcessing&&k.length>this.dataview.pagesize){var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}}else{var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}if(ab.groups&&ab.groups.length>0){var P=this.pageable?this.dataview.pagesize*this.dataview.pagenum:0;var z=function(w){var au=0;var i=new Array();for(var c=0;c<w.length;c++){var j=w[c];if(j.level==0){au++}if(au>ab.dataview.pagesize*ab.dataview.pagenum&&au<=ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){i.push(j)}if(au>ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){break}}return i};if(this.pageSizeMode==="root"){var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",k,0);ab.rootRecordsLength=v.length;v=z(v)}else{var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",u,P)}var y=function(j,w){for(var av=0;av<j.length;av++){var c=j[av];w.push(c);if(c.records&&c.records.length>0){var aw=y(c.records,new Array());for(var au=0;au<aw.length;au++){if(aw[au].leaf){w.push(aw[au])}else{w.push(aw[au])}}}}return w};var ai=y.call(ab,v,new Array());u=ai;this.rowsByKey=new Array();for(var am=0;am<u.length;am++){var G=u[am];this.rowsByKey[G.uid]=G}}var ai=u;this.renderedRecords=ai;var U=ai.length;var V=this.tableZIndex;var aq=0;var aa=0;if(ao){for(var al=0;al<K;al++){var Z=this.columns.records[al];var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}var l=b('<table><tr><td role="gridcell" style="max-width: '+e+"px; width:"+e+'px;" class="'+H+'"></td></tr></table>');b(document.body).append(l);var n=l.find("td");aq=1+parseInt(n.css("padding-left"))+parseInt(n.css("padding-right"));l.remove();break}}var ak=this.rtl?" "+this.toTP("jqx-grid-table-rtl"):"";var B="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='table"+this.element.id+"'><colgroup>";var ar="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='pinnedtable"+this.element.id+"'><colgroup>";var I=0;var s=K;for(var al=0;al<K;al++){var Z=this.columns.records[al];if(Z.hidden){I++;s--;continue}var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}e-=aq;if(e<0){e=0}if(ao){var ac=e;if(al==I){ac++}if(Z.rowDetailscolumn){var ac=ac+4;ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}else{ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}}else{ar+="<col style='max-width: "+e+"px; width: "+e+"px;'>";B+="<col style='max-width: "+e+"px; width: "+e+"px;'>"}aa+=e}B+="</colgroup>";ar+="</colgroup>";this._hiddencolumns=false;var g=false;if(this.rowDetails&&this._pinnedTable){this._pinnedTable.find("[data-role=details]").detach();this._table.find("[data-role=details]").detach()}if(U===0){var o='<tr role="row">';var m=this.host.height();if(this.pageable){m-=this.pagerHeight;if(this.pagerPosition==="both"){m-=this.pagerHeight}}m-=this.columnsHeight;if(this.filterable){var ag=this.filter.find(".filterrow");var D=this.filter.find(".filterrow-hidden");var C=1;if(D.length>0){C=0}m-=this.filterHeight+this.filterHeight*ag.length*C}if(this.showstatusbar){m-=this.statusBarHeight}if(this.showAggregates){m-=this.aggregatesHeight}if(m<25){m=25}if(this.hScrollBar[0].style.visibility!="hidden"){m-=this.hScrollBar.outerHeight()}if(this.height==="auto"||this.height===null||this.autoheight){m=300}var l='<td colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+m+"px; height: "+m+"px; max-width:"+aa+"px; width:"+aa+"px;";var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-center-align");l+='" class="'+H+'">';l+=this.gridlocalization.emptydatastring;l+="</td>";o+=l;B+=o;ar+=o;this.table[0].style.width=aa+2+"px";T=aa}var q=this.getRows();var x=new Array();for(var am=0;am<ai.length;am++){var G=ai[am];var L=G.uid;if(undefined===G.uid){G.uid=this.dataview.generatekey()}var o='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';if(R>0){if(G.level<R){var o='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">'}}var p=0;var S=0;for(var al=0;al<K;al++){var ae=this.columns.records[al];if(ae.pinned||(this.rtl&&this.columns.records[K-1].pinned)){g=true}var e=ae.width;if(e<ae.minwidth){e=ae.minwidth}if(e>ae.maxwidth){e=ae.maxwidth}e-=aq;if(e<0){e=0}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(ae.pinned){H+=" "+this.toTP("jqx-grid-cell-pinned")}if(this.sortcolumn===ae.displayfield){H+=" "+this.toTP("jqx-grid-cell-sort")}if(this.altRows&&am%2!=0){H+=" "+this.toTP("jqx-grid-cell-alt")}if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var O="";if(R>0){if(G.level<R){if(!ao){H+=" "+this.toTP("jqx-grid-cell-pinned");O+=' colspan="'+K+'"';var ac=0;for(var ad=0;ad<K;ad++){var at=ab.columns.records[ad];var A=at.width;if(A<at.minwidth){e=at.minwidth}if(A>at.maxwidth){e=at.maxwidth}A-=aq;if(A<0){A=0}if(!at.hidden){ac+=A}}e=ac}else{H+=" "+this.toTP("jqx-grid-cell-pinned")}}}var l='<td role="gridcell" '+O+' style="max-width:'+e+"px; width:"+e+"px;";var af='<td role="gridcell" '+O+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+e+"px; width:"+e+"px;";if(al==K-1&&K==1){l+="border-right-color: transparent;";af+="border-right-color: transparent;"}var Y=false;if(R>0){if(G.level<R){Y=true}}if(!Y){if(ae.cellsalign!="left"){if(ae.cellsalign==="right"){H+=" "+this.toTP("jqx-right-align")}else{H+=" "+this.toTP("jqx-center-align")}}}else{if(this.rtl){H+=" "+this.toTP("jqx-right-align")}}if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].selected&&!ae.rowDetailscolumn){if(this.editKey!==G.uid){if(this.selectionMode!=="none"){H+=" "+this.toTP("jqx-grid-cell-selected");H+=" "+this.toTP("jqx-fill-state-pressed")}}}if(this.rowinfo[G.uid].locked){H+=" "+this.toTP("jqx-grid-cell-locked")}}if(!(ae.hidden)){p+=aq+e;if(S==0){l+="border-left-width: 0px;";af+="border-left-width: 0px;"}S++}else{if(!Y){l+="display: none;";af+="display: none;";this._hiddencolumns=true}}if(R>0&&ao&&Y&&al>=R){l+="font-size: 1px; border-color: transparent;  color: transparent;";af+="font-size: 1px; border-color: transparent; color: transparent;"}if(ae.pinned){l+="pointer-events: auto;";af+="pointer-events: auto;"}if(!Y&&ae.rowDetailscolumn){if(this.rowinfo[G.uid]){if(!this.rowinfo[G.uid].nodetails){if(this.rowinfo[G.uid].expanded){if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-expand")}else{H+=" "+this.toTP("jqx-grid-group-expand-rtl")}H+=" "+this.toTP("jqx-icon-arrow-down")}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}if(!this.autoRowHeight||(this.autoRowHeight&&!ae.autoCellHeight)){H+=" "+this.toTP("jqx-grid-cell-nowrap ")}var aj=ab._getcellvalue(ae,G);var f=ae.cellsFormat;if(R>0){if(G.level<R){aj=G.label;f=ab.getColumn(ab.groups[G.level]).cellsFormat}}if(f!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(aj)){aj=b.jqx.dataFormat.formatdate(aj,f,ab.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(aj)||(!isNaN(parseFloat(aj))&&isFinite(aj))){aj=b.jqx.dataFormat.formatnumber(aj,f,ab.gridlocalization)}}}}if(!Y){if(ae.cellclassname!=""&&ae.cellclassname){if(typeof ae.cellclassname=="string"){H+=" "+ae.cellclassname}else{var r=ae.cellclassname(am,ae.datafield,aj,G);if(r){H+=" "+r}}}if(ae.cellsRenderer!=""&&ae.cellsRenderer){var d=q.indexOf(G);if(d===-1){if(G.originalRecord){var d=q.indexOf(G.originalRecord)}}aj=ae.cellsRenderer(d,ae.datafield,aj,G);if(aj&&(aj.indexOf("<jqx-")>=0||aj.indexOf(" ng-")>=0)){x.push({rowKey:G.uid,row:d,column:ae.datafield,value:aj,columnIndex:al})}}}else{if(this.groupsRenderer){aj=this.groupsRenderer(aj,G,G.level)}}l+='" class="'+H+'">';l+=aj;l+="</td>";af+='" class="'+H+'">';af+=aj;af+="</td>";if(!ae.pinned){o+=l;if(g){E+=af}}else{E+=l;o+=l}if(R>0&&!ao){if(G.level<R){break}}}if(T==0){this.table[0].style.width=p+2+"px";T=p}o+="</tr>";E+="</tr>";B+=o;ar+=E;if(!this.rowinfo[G.uid]){this.rowinfo[G.uid]={group:Y,row:G,details:null,detailsHeight:200,initialized:false,expanded:false}}else{if(!("group" in this.rowinfo[G.uid])){this.rowinfo[G.uid].group=Y}if(!("row" in this.rowinfo[G.uid])){this.rowinfo[G.uid].row=G}if(!("details" in this.rowinfo[G.uid])){this.rowinfo[G.uid].details=null}if(!("detailsHeight" in this.rowinfo[G.uid])){this.rowinfo[G.uid].detailsHeight=200}if(!("initialized" in this.rowinfo[G.uid])){this.rowinfo[G.uid].initialized=false}if(!("expanded" in this.rowinfo[G.uid])){this.rowinfo[G.uid].expanded=false}}if(this.serverProcessing){this.rowinfo[G.uid].row=G}if(this.rowDetails){var F=this.rowinfo[G.uid].detailsHeight;if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].expanded){var ah='<tr data-role="row-details"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-details");H+=" "+this.toTP("jqx-reset");ah+='" class="'+H+'"><div style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px;"><div data-role="details"></div></div></td></tr>';B+=ah;ar+=ah}}B+="</table>";ar+="</table>";if(g){if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(ar+B)})}else{ab.table[0].innerHTML=ar+B}var W=this.table.find("#table"+this.element.id);var X=this.table.find("#pinnedtable"+this.element.id);X.css("float","left");X.css("pointer-events","none");W.css("float","left");X[0].style.position="absolute";W[0].style.position="relative";W[0].style.zIndex=V-10;X[0].style.zIndex=V+10;this._table=W;this._table[0].style.left="0px";this._pinnedTable=X;this._pinnedTable[0].style.left="0px";this._pinnedTable[0].style.width=T+"px";this._table[0].style.width=T+"px";if(this.rtl){if(T>parseInt(this.element.style.width)&&this._haspinned){this._pinnedTable[0].style.left=3-T+parseInt(this.element.style.width)+"px"}}if(this.rowDetails){for(var am=0;am<U;am++){var G=ai[am];var L=G.uid;if(this.rowinfo[L].details){var N=b(this._table.children()[1]).children(("[data-key="+L+"]"));var Q=b(this._pinnedTable.children()[1]).children(("[data-key="+L+"]"));if(N){var h=Q.next();var J=b(b(h).children().children());J.children().detach();J.append(this.rowinfo[G.uid].details)}}}}}else{if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(B)})}else{ab.table[0].innerHTML=B}var ad=this.table.find("#table"+this.element.id);this._table=ad;if(b.jqx.browser.msie&&b.jqx.browser.version<10){this._table[0].style.width=T+"px"}if(U===0){this._table[0].style.width=(2+T)+"px"}}if(U===0){this._table[0].style.tableLayout="auto";if(this._pinnedTable){this._pinnedTable[0].style.tableLayout="auto"}}if(x&&x.length>0){var an=this._table[0].rows;b.each(x,function(){var w=this.row;var au=this.rowKey;var j=this.column;var i=this.columnIndex;var t=ab._getuirow(au);if(t){var c=t[0].cells[i];if(b.jqx.angularCompile){b.jqx.angularCompile(c,"<div>"+c.innerHTML+"</div>")}}})}if(this.rendered){this.rendered()}},getcolumnindex:function(c){var d=this.getColumn(c);var e=this.columns.records.indexOf(d);return e},setcolumnindex:function(e,i,j){var h=this.getColumn(e);if(h.pinned){return}if(h.hidden){return}if(h.checkboxcolumn){return}if(h.grouped){return}var l=this.columns.records.indexOf(h);this.columns.records.splice(l,1);this.columns.records.splice(i,0,h);var f=0;var n=this.headerZIndex;this.columnsrow.children().detach();var k=this.toThemeProperty("jqx-grid-cell");k+=" "+this.toThemeProperty("jqx-grid-cell-pinned");k+=" "+this.toThemeProperty("jqx-item");var m=this;var c=null;if(m.filterrow!=undefined){var c=b(m.filterrow.children()[0])}this.columnsrow[0].cells=[];var g=false;b.each(this.columns.records,function(p,s){var q=this.uielement;m.columnsrow.append(q);if(!m.rtl){q.css("z-index",n--)}else{q.css("z-index",n++)}var o=!m.rtl?250+n-1:250+n+1;if(this.pinned){q.css("z-index",o)}var r=this.width;q.css("left",f);m.columnsrow[0].cells[m.columnsrow[0].cells.length]=q[0];if(this.hidden){g=true}if(!(this.hidden&&this.hideable)){f+=r}});if(this.groupable){var d=this.groups.length;if(d>0){if(l-d>=0){l-=d;i-=d}}}if(this.rowDetails){if(l-1>=0){l--;i--}}if(this.selectionMode=="checkbox"){if(l-1>=0){l--;i--}}var h=this._columns[l];this._columns.splice(l,1);this._columns.splice(i,0,h);this.resize();this._rendercolumnGroups();this._raiseEvent("columnReordered",{dataField:h.datafield,oldIndex:l,newIndex:i})},_pinnedColumnsLength:function(){var c=0;b.each(this.columns.records,function(){if(this.pinned){c++}if(this.grouped){c++}});if(this.rowDetails){c++}if(this.selectionMode=="checkbox"){c++}return c},_handlecolumnsReorder:function(){var g=this;var h=-1;var d=false;if(!g.columnsReorder){return}var f="mousemove.reorder"+this.element.id;var e="mousedown.reorder"+this.element.id;var i="mouseup.reorder"+this.element.id;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true;f=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;e=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;i=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id}this.removeHandler(b(document),f);this.addHandler(b(document),f,function(x){if(g.resizing){return true}if(g.reordercolumn!=null){var m=parseInt(x.pageX);var u=parseInt(x.pageY);if(c){var t=g.getTouches(x);var p=t[0];if(p!=undefined){m=parseInt(p.pageX);u=parseInt(p.pageY)}}var j=g.host.coord();var w=parseInt(j.left);var k=parseInt(j.top);if(g.dragmousedownoffset==undefined||g.dragmousedownoffset==null){g.dragmousedownoffset={left:0,top:0}}var B=parseInt(m)-parseInt(g.dragmousedownoffset.left);var s=parseInt(u)-parseInt(g.dragmousedownoffset.top);g.reordercolumn.css({left:B+"px",top:s+"px"});d=false;if(m>=w&&m<=w+g.host.width()){if(u>=k&&u<=k+g.host.height()){d=true}}h=-1;if(d){g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-dragcancel-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-drag-icon"));var n=g.columnsheader.coord();var q=n.top+g.columnsheader.height();if(g.columnsdropline!=null){if(u>=n.top&&u<=q){h=g._handlereordercolumnsdroplines(m);if(g.columnGroups){if(h!=-1){var l=0;l+=g._pinnedColumnsLength();var o=h.index;if(o>=l){var y=g.columns.records[o];if(y!=undefined){var v=g.columns.records.indexOf(g.getColumn(y.datafield));if(y.datafield==null){var v=g.columns.records.indexOf(g.getcolumnbytext(y.text))}var r=b.data(g.reordercolumn[0],"reorderrecord");var A=g.columns.records.indexOf(g.getColumn(r));var z=y;if(A<v){if(h.position=="before"){z=g.columns.records[v-1]}}if(z.columngroup!=g.getColumn(r).columngroup){g.columnsdropline.hide();return}}}}}}else{g.columnsdropline.fadeOut("slow")}}}else{if(g.columnsdropline!=null){g.columnsdropline.fadeOut("slow")}g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-drag-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-dragcancel-icon"))}if(x.preventDefault){x.preventDefault();x.stopPropagation()}if(c){x.preventDefault();x.stopPropagation();return false}}});this.columnsbounds=new Array();this.removeHandler(b(document),e);this.addHandler(b(document),e,function(k){if(g.resizing){return true}g.columnsbounds=new Array();var m=g.host.coord().left;var l=g.host.coord().top;if(g.showtoolbar){l+=g.toolbarHeight}if(g.filter){l+=g.filter.height()}var j=0;b.each(g.columns.records,function(o){var p=this;if(p.hidden){g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:0,height:2};return true}if(j==0){if(!g.rtl){m=parseInt(g.host.coord().left)-g.hScrollInstance.value}else{m=parseInt(g.host.coord().left)-g.hScrollInstance.max+g.hScrollInstance.value}}j++;var n=2+g.columnsHeight;if(g.columnshierarchy){l=b(p.uielement).coord().top;n=b(p.uielement).height()}g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:p.width,height:n};m+=p.width})});this.removeHandler(b(document),i);this.addHandler(b(document),i,function(j){if(g.resizing){return true}g.__drag=false;b(document.body).removeClass("jqx-disableselect");var l=parseInt(j.pageX);var t=parseInt(j.pageY);if(c){var o=g.getTouches(j);var n=o[0];l=parseInt(n.pageX);t=parseInt(n.pageY)}var m=g.host.coord();var v=parseInt(m.left);var w=parseInt(m.top);if(g.showtoolbar){w+=g.toolbarHeight}g.columndragstarted=false;g.dragmousedown=null;if(g.reordercolumn!=null){var k=b.data(g.reordercolumn[0],"reorderrecord");var x=g.columns.records.indexOf(g.getColumn(k));g.reordercolumn.remove();g.reordercolumn=null;var p=0;p+=g._pinnedColumnsLength();if(k!=null){if(d){if(h!=-1){var q=h.index;if(q>=p){var s=g.columns.records[q];if(s!=undefined){var u=g.columns.records.indexOf(g.getColumn(s.datafield));if(s.datafield==null){var u=g.columns.records.indexOf(g.getcolumnbytext(s.text))}if(g.columnGroups){var r=s;if(x<u){if(h.position=="before"){r=g.columns.records[u-1]}}if(r.columngroup!=g.getColumn(k).columngroup){if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}return}}if(x<u){if(h.position=="before"){g.setcolumnindex(k,u-1)}else{g.setcolumnindex(k,u)}}else{if(x>u){g.setcolumnindex(k,u)}}}}}}if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}}}})},getcolumnbytext:function(d){var c=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.text==d){c=this;return false}})}return c},_handlereordercolumnsdroplines:function(i){var c=this;var h=-1;var e=c._pinnedColumnsLength();var g=parseInt(c.host.coord().left);var d=g+c.host.width();var f=c.vScrollBar.css("visibility")!="hidden"?19:0;if(!c.rtl){f=0}b.each(c.columnsbounds,function(j){if(j>=e){if(this.width==0){return true}if(i<=this.left+this.width/2){if(i>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+parseInt(this.left)+"px");c.columnsdropline.css("top",parseInt(this.top)+"px");c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"before"};return false}else{if(i>=this.left+this.width/2){if(this.left+this.width>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+1+this.left+this.width);c.columnsdropline.css("top",this.top);c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"after"}}}}});return h},_createreordercolumn:function(d,f,i){var h=this;var g=f;if(h.reordercolumn){h.reordercolumn.remove()}if(h.columnsdropline){h.columnsdropline.remove()}h.reordercolumn=b("<div></div>");var k=d.clone();h.reordercolumn.css("z-index",999999);k.css("border-width","1px");k.css("opacity","0.4");var j=b(k.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(j.length>0){j.css("display","none")}var c=b(k.find(".jqx-icon-close"));if(c.length>0){c.css("display","none")}h.reordercolumnicon=b('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.reordercolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.reordercolumn.css("float","left");h.reordercolumn.css("position","absolute");var e=h.host.coord();k.width(d.width()+16);h.reordercolumn.append(k);h.reordercolumn.height(d.height());h.reordercolumn.width(k.width());h.reordercolumn.append(h.reordercolumnicon);b(document.body).append(h.reordercolumn);k.css("margin-left",0);k.css("left",0);k.css("top",0);h.reordercolumn.css("left",g.left+h.dragmousedown.left);h.reordercolumn.css("top",g.top+h.dragmousedown.top);if(i!=undefined&&i){h.columnsdropline=b('<div style="z-index: 9999; display: none; position: absolute;"></div>');h.columnsdropline.width(2);h.columnsdropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));b(document.body).append(h.columnsdropline)}},_handlecolumnsdragreorder:function(d,g){if(this.reordercolumn){this.reordercolumn.remove()}if(this.columnsdropline){this.columnsdropline.remove()}this.dragmousedown=null;this.dragmousedownoffset=null;this.columndragstarted=false;this.reordercolumn=null;var h=this;var f;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true}var e="mousedown.drag";var f="mousemove.drag";if(c){e=b.jqx.mobile.getTouchEventName("touchstart")+".drag";f=b.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(g,"dragstart",function(i){return false})}this.addHandler(g,e,function(k){if(false==d.draggable){return true}if(h.resizing){return true}h.__drag=true;var j=k.pageX;var i=k.pageY;if(c){var l=h.getTouches(k);var n=l[0];j=n.pageX;i=n.pageY}h.dragmousedown={left:j,top:i};var m=b(k.target).coord();h.dragmousedownoffset={left:parseInt(j)-parseInt(m.left),top:parseInt(i-m.top)};if(k.preventDefault){k.preventDefault()}return true});this.addHandler(g,f,function(k){if(!d.draggable){return true}if(undefined==d.datafield){return true}if(d.pinned){return true}if(h.resizing){return true}if(h.dragmousedown){var j=k.pageX;var i=k.pageY;if(c){var m=h.getTouches(k);var o=m[0];if(o!=undefined){j=o.pageX;i=o.pageY}}f={left:j,top:i};if(!h.columndragstarted&&h.reordercolumn==null){var l=Math.abs(f.left-h.dragmousedown.left);var n=Math.abs(f.top-h.dragmousedown.top);if(l>3||n>3){h._createreordercolumn(g,f,true);b(document.body).addClass("jqx-disableselect");b.data(h.reordercolumn[0],"reorderrecord",d.datafield)}}}})},getTouches:function(c){return b.jqx.mobile.getTouches(c)},_handlecolumnsResize:function(){var i=this;if(this.columnsResize){var k=false;if(i.isTouchDevice()){k=true}var g="mousemove.resize"+this.element.id;var d="mousedown.resize"+this.element.id;var e="mouseup.resize"+this.element.id;if(k){var g=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var e=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id}this.removeHandler(b(document),g);this.addHandler(b(document),g,function(n){if(i.resizablecolumn!=null&&!i.disabled&&i.resizing){if(i.resizeline!=null){var s=i.resizablecolumn.columnelement;var p=i.host.coord();var v=parseInt(i.resizestartline.coord().left);var l=v-i._startcolumnwidth;var w=i.resizablecolumn.column.minwidth;if(w=="auto"){w=0}else{w=parseInt(w)}var m=i.resizablecolumn.column.maxwidth;if(m=="auto"){m=0}else{m=parseInt(m)}var q=n.pageX;if(k){var t=b.jqx.mobile.getTouches(n);var r=t[0];q=r.pageX}l+=w;var u=m>0?v+m:0;var o=m==0?true:i._startcolumnwidth+q-v<m?true:false;if(i.rtl){var o=true}if(o){if(!i.rtl){if(q>=p.left&&q>=l){if(u!=0&&n.pageX<u){i.resizeline.css("left",q)}else{if(u==0){i.resizeline.css("left",q)}}if(k){return false}}}else{if(q>=p.left&&q<=p.left+i.host.width()){i.resizeline.css("left",q);if(k){return false}}}}}}if(!k&&i.resizablecolumn!=null){return false}});this.removeHandler(b(document),d);this.addHandler(b(document),d,function(m){if(i.resizablecolumn!=null&&!i.disabled){var l=i.resizablecolumn.columnelement;if(l.coord().top+l.height()+5<m.pageY){i.resizablecolumn=null;return}if(l.coord().top-5>m.pageY){i.resizablecolumn=null;return}i._startcolumnwidth=i.resizablecolumn.column.width;i.resizablecolumn.column._width=null;b(document.body).addClass("jqx-disableselect");b(document.body).addClass("jqx-position-reset");i._mouseDownResize=new Date();i.resizing=true;i._resizecolumn=i.resizablecolumn.column;i.resizeline=i.resizeline||b('<div style="position: absolute;"></div>');i.resizestartline=i.resizestartline||b('<div style="position: absolute;"></div>');i.resizebackground=i.resizebackground||b('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>');i.resizebackground.css("opacity",0.01);i.resizebackground.css("cursor","col-resize");i.resizeline.css("cursor","col-resize");i.resizestartline.css("cursor","col-resize");i.resizeline.addClass(i.toThemeProperty("jqx-grid-column-resizeline"));i.resizestartline.addClass(i.toThemeProperty("jqx-grid-column-resizestartline"));b(document.body).append(i.resizeline);b(document.body).append(i.resizestartline);b(document.body).append(i.resizebackground);var n=i.resizablecolumn.columnelement.coord();i.resizebackground.css("left",i.host.coord().left);i.resizebackground.css("top",i.host.coord().top);i.resizebackground.width(i.host.width());i.resizebackground.height(i.host.height());i.resizebackground.css("z-index",999999999);var o=function(q){if(!i.rtl){q.css("left",parseInt(n.left)+i._startcolumnwidth)}else{q.css("left",parseInt(n.left))}var s=0;var t=i.showtoolbar?i.toolbarHeight:0;s+=t;var v=i.showstatusbar?i.statusBarHeight:0;s+=v;var r=i.showAggregates?i.aggregatesHeight:0;s+=r;if(i.pageable&&i.pagerPosition!="bottom"){s+=i.pagerHeight}if(i.filterable){s+=i.filter.height()}var p=0;if(i.pageable&&i.pagerPosition!="top"){p=i.pagerHeight}var u=i.hScrollBar.css("visibility")!="hidden"?i.scrollBarSize:0;q.css("top",parseInt(n.top));q.css("z-index",9999999999);if(i.columnGroups){q.height(i.host.height()+i.resizablecolumn.columnelement.height()-p-s-u-i.columnGroupslevel*i.columnsHeight)}else{q.height(i.host.height()-p-s-u)}q.show("fast")};o(i.resizeline);o(i.resizestartline);i.dragmousedown=null}});var f=function(){b(document.body).removeClass("jqx-disableselect");b(document.body).removeClass("jqx-position-reset");if(!i.resizing){return}i._mouseUpResize=new Date();var t=i._mouseUpResize-i._mouseDownResize;if(t<200){i.resizing=false;if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove()}return}i.resizing=false;if(i.disabled){return}var n=i.host.width();if(i.vScrollBar[0].style.visibility!="hidden"){n-=20}if(n<0){n=0}if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){var u=parseInt(i.resizeline.css("left"));var o=parseInt(i.resizestartline.css("left"));var s=i._startcolumnwidth+u-o;if(i.rtl){var s=i._startcolumnwidth-u+o}var r=i._resizecolumn.width;i._resizecolumn.width=s;if(i._resizecolumn._percentagewidth!=undefined){i._resizecolumn._percentagewidth=(s/n)*100}for(var q=0;q<i._columns.length;q++){if(i._columns[q].datafield===i._resizecolumn.datafield){i._columns[q].width=i._resizecolumn.width;break}}var l=i.hScrollBar[0].style.visibility;var p=i._resizecolumn.displayfield;i._updatecolumnwidths();i.refresh();i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove();i.resizablecolumn=null;i._raiseEvent("columnResized",{dataField:p,oldWidth:r,newWidth:s})}else{i.resizablecolumn=null}};try{if(document.referrer!=""||window.frameElement){var c=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){c=document.referrer}}if(c&&c.indexOf(document.location.host)!=-1){var h=function(l){f()};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",h,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",h)}}}}}catch(j){}this.removeHandler(b(document),e);this.addHandler(b(document),e,function(m){var l=b.data(document.body,"contextmenu"+i.element.id);if(l!=null&&i.autoshowcolumnsmenubutton){return true}f()})}},_updatecolumnwidths:function(){var k=this.host.width();var c=k;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){k-=parseInt(this.scrollBarSize)+6;c=k}var j="";if(this.columns==undefined||this.columns.records==undefined){return}var i=this;var h=false;b.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=i.vScrollBar[0].style.visibility=="hidden"?0:i.scrollBarSize+5;if(i.scrollBarSize==0){n=0}m=parseFloat(this.width)*c/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(c)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}k-=Math.round(m)}else{if(this.width!="auto"&&!this._width){k-=this.width}else{j+=this.text}}}});var f=this.columnsheader.find("#columntable"+this.element.id);if(f.length==0){return}var d=0;var g=f.find(".jqx-grid-column-header");var e=0;b.each(this.columns.records,function(n,q){var m=b(g[n]);var t=false;var s=this.width;var o=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){s=parseFloat(this._percentagewidth)*c/100}else{s=parseFloat(this.width)*c/100}s=Math.round(s);t=true}if(this.width!="auto"&&!this._width&&!t){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(t){if(s<this.minwidth&&this.minwidth!="auto"){s=this.minwidth;this.width=s}if(s>this.maxwidth&&this.maxwidth!="auto"){s=this.maxwidth;this.width=s}if(parseInt(m[0].style.width)!=s){m.width(s);this.width=s}}else{var l=Math.floor(k*(this.text.length/j.length));if(isNaN(l)){l=this.minwidth}var p=(k*(this.text.length/j.length))-l;d+=p;if(d>=1){d-=1;l++}if(d>=0.5&&n==i.columns.records.length-1){l++}if(l<0){var r=b("<span>"+this.text+"</span>");b(document.body).append(r);l=10+r.width();r.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=l;m.width(this.width)}}if(parseInt(m[0].style.left)!=e){m.css("left",e)}if(!(this.hidden)){e+=this.width}this._requirewidthupdate=true;if(o!==this.width){h=true}});this.columnsheader.width(2+e);f.width(this.columnsheader.width());this._resizecolumnGroups();if(h){this._renderrows()}if(this.showAggregates){this._refreshcolumnsaggregates()}},_rendercolumnheaders:function(){var r=this;if(this._updating){return}if(r.columns.records.length>r.headerZIndex){r.headerZIndex=r.columns.records.length+10}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var g=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');g[0].cells=new Array();var l=0;var h=0;var s="";var u=this.host.width();var f=u;var w=new Array();var t=new Array();b.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){u-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){u-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*f/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}u-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}u-=this.width}}}}else{s+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(r._haspinned){this.pinned=true}w[w.length]=this}else{t[t.length]=this}});if(!this.rtl){for(var o=0;o<w.length;o++){this.columns.replace(o,w[o])}for(var m=0;m<t.length;m++){this.columns.replace(w.length+m,t[m])}}else{var e=0;w.reverse();for(var o=this.columns.records.length-1;o>=this.columns.records.length-w.length;o--){this.columns.replace(o,w[e++])}for(var m=0;m<t.length;m++){this.columns.replace(m,t[m])}}var v=this.headerZIndex;var d=0;var n=r.columnsHeight;var q=function(j,k){var i=r.columnGroupslevel*r.columnsHeight;i=i-(k.level*r.columnsHeight);return i};var c=0;b.each(this.columns.records,function(K,I){this.height=r.columnsHeight;if(r.columnGroups){if(r.columnGroups.length){this.height=q(this.datafield,this);n=this.height}}var N=r.toTP("jqx-grid-column-header")+" "+r.toTP("jqx-widget-header");if(r.rtl){N+=" "+r.toTP("jqx-grid-column-header-rtl")}if(!r.enableBrowserSelection){N+=" "+r.toTP("jqx-disableselect")}var L=!r.rtl?250+v-1:250+v+1;var G=!r.rtl?v--:v++;var x=b('<div role="columnheader" style="z-index: '+G+';position: absolute; height: 100%;" class="'+N+'"><div style="height: 100%; width: 100%;"></div></div>');if(r.rtl&&K===0){x[0].style.borderLeftColor="transparent"}if(r.columnGroups){x[0].style.height=n+"px";x[0].style.bottom="0px";if(this.pinned){x[0].style.zIndex=L}}this.uielement=x;this.element=x;if(this.classname!=""&&this.classname){x.addClass(this.classname)}var C=this.width;var D=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){C=parseFloat(this._percentagewidth)*f/100}else{C=parseFloat(this.width)*f/100}C=Math.round(C);D=true}if(this.width!="auto"&&!this._width&&!D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}x[0].style.width=parseInt(C)+"px"}else{if(D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}x.width(C);this.width=C}else{var H=Math.floor(u*(this.text.length/s.length));var E=(u*(this.text.length/s.length))-H;c+=E;if(c>=1){c-=1;H++}if(c>=0.5&&K==r.columns.records.length-1){H++}if(isNaN(H)){H=this.minwidth}if(H<0){var F=b("<span>"+this.text+"</span>");b(document.body).append(F);H=10+F.width();F.remove()}if(H<this.minwidth){H=this.minwidth}if(H>this.maxwidth){H=this.maxwidth}this._width="auto";this.width=parseInt(H);C=this.width;x.width(this.width)}}if(this.hidden){x.css("display","none")}var k=b(x.children()[0]);g[0].cells[K]=x[0];var p=false;var J=false;var z=this.renderer!=null?this.renderer(this.text,this.align,n):r._rendercolumnheader(this.text,this.align,n,r);if(z==null){z=r._rendercolumnheader(this.text,this.align,n,r)}if(this.renderer!=null){z=b(z)}p=true;if(r.WinJS){MSApp.execUnsafeLocalFunction(function(){k.append(b(z))})}else{if(this.renderer){k.append(b(z))}else{if(z){k[0].innerHTML=z}}}if(z!=null){var B=b('<div class="iconscontainer" style="height: '+n+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortascbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortdescbutton")+'" style="width: 100%; height:100%;"></div></div></div>');k.append(B);var O=B.children();this.sortasc=O[1];this.sortdesc=O[2];this.filtericon=O[0];this.iconscontainer=B;if(r.rtl){B.css("margin-left","0px");B.css("left","0px");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}}g.append(x);if(r.columnsReorder&&this.draggable&&r._handlecolumnsdragreorder){r._handlecolumnsdragreorder(this,x)}var M=this;r.addHandler(x,"click",function(i){if(M.checkboxcolumn){return true}if(r._togglesort){if(!r._loading){r._togglesort(M)}}i.preventDefault()});if(r.columnsResize&&!J){var y=false;var j="mousemove";if(r.isTouchDevice()){y=true;j=b.jqx.mobile.getTouchEventName("touchstart")}r.addHandler(x,j,function(P){if(!M.resizable){r.resizablecolumn=null;return true}var i=parseInt(P.pageX);var R=5;var U=parseInt(x.coord().left);if(r.hasTransform){U=b.jqx.utilities.getOffset(x).left}if(r._handlecolumnsResize){if(y){var Q=b.jqx.mobile.getTouches(P);var T=Q[0];i=T.pageX;R=40;if(i>=U+M.width-R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize")}else{x.css("cursor","");r.resizablecolumn=null}return true}var S=M.width;if(r.rtl){S=0}if(i>=U+S-R){if(i<=U+S+R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize");return false}else{x.css("cursor","");r.resizablecolumn=null}}else{x.css("cursor","");if(i<U+S-R){if(!M._animating&&!M._menuvisible){x.mouseenter()}}r.resizablecolumn=null}}})}x.css("left",h);if(!(this.hidden)){h+=C}if(M.rendered){var A=M.rendered(b(k[0].firstChild),M.align,n);if(A&&B!=null){B.hide()}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}this.columnsrow=g;r.columnsheader.append(g);g.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsReorder){this._handlecolumnsReorder()}if(this._handlecolumnsResize){this._handlecolumnsResize()}if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var o=0;for(var l=0;l<this.columns.records.length;l++){if(this.columns.records[l].pinned){o++}}var t=this.headerZIndex-o+this.columns.records.length;var n=this;var g=n.toTP("jqx-grid-column-header")+" "+n.toTP("jqx-grid-columngroup-header")+" "+n.toTP("jqx-widget-header");if(n.rtl){g+=" "+n.toTP("jqx-grid-columngroup-header-rtl")}var e=this.columnsheader.find("#columntable"+this.element.id);e.find("jqx-grid-columngroup-header").remove();for(var h=0;h<this.columnGroupslevel-1;h++){for(var l=0;l<this.columnGroups.length;l++){var q=this.columnGroups[l];var c=q.level;if(c!==h){continue}var p=c*this.columnsHeight;var d=99999;if(q.groups){var s=function(w){var v=0;for(var u=0;u<w.groups.length;u++){var i=w.groups[u];if(!i.groups){if(!i.hidden){v+=i.width;d=Math.min(parseInt(i.element[0].style.left),d)}}else{v+=s(i)}}return v};q.width=s(q);q.left=d;var r=this.columnsHeight;var m=t--;var f=b('<div role="columnheader" style="z-index: '+m+';position: absolute;" class="'+g+'"></div>');var k=b(this._rendercolumnheader(q.text,q.align,this.columnsHeight,this));f.append(k);f[0].style.left=d+"px";if(d===0){f[0].style.borderLeftColor="transparent"}f[0].style.top=p+"px";f[0].style.height=r+"px";f[0].style.width=-1+q.width+"px";e.append(f);q.element=f}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var d=0;d<this.columnGroups.length;d++){var j=this.columnGroups[d];var k=j.level;var h=k*this.columnsHeight;var g=99999;if(j.groups){var f=function(n){var m=0;for(var l=0;l<n.groups.length;l++){var i=n.groups[l];if(!i.groups){if(!i.hidden){m+=i.width;g=Math.min(parseInt(i.element[0].style.left),g)}}else{m+=f(i)}}return m};j.width=f(j);j.left=g;var c=this.columnsHeight;var e=j.element;e[0].style.left=g+"px";e[0].style.top=h+"px";e[0].style.height=c+"px";e[0].style.width=-1+j.width+"px"}}},_removecolumnhandlers:function(f){var d=this;var c=b(f.element);if(c.length>0){d.removeHandler(c,"mouseenter");d.removeHandler(c,"mouseleave");var e=b(f.filtericon);d.removeHandler(e,"mousedown");d.removeHandler(e,"click");d.removeHandler(c,"click")}},_calculateaggregate:function(k,o,d,h){if(!k.datafield){return null}var e=k.aggregates;if(!e){e=o}if(e){var f=new Array();for(var n=0;n<e.length;n++){if(e[n]=="count"){continue}f[f.length]=k.cellsFormat}if(this.source&&this.source.getAggregatedData){if(h==undefined){h=this.getRows();if(this.dataViewRecords){h=this.dataViewRecords}}var s=h;var c=-1;if(this.treeGrid){var q=new Array();var r=function(u){for(var t=0;t<u.length;t++){if(u[t]==undefined){continue}if(c==-1){c=u[t].level}if(!u[t].aggregate){q.push(u[t])}if(!u[t].leaf&&u[t].records&&u[t].records.length>0){r(u[t].records)}}};r(h);h=q}if(this.treeGrid&&this.filterable&&this.dataview.filters.length>0){var p=new Array();for(var n=0;n<h.length;n++){if(h[n]&&h[n]._visible!==false){p.push(h[n])}}h=p;var l=new Array();for(var n=0;n<s.length;n++){if(s[n]&&s[n]._visible!==false){l.push(s[n])}}s=l}if(d==undefined||d==true){var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,h,c);if(this.treeGrid){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){if(m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}}return m}else{var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,h,c);if(this.treeGrid&&m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}return m}}}return null},getcolumnaggregateddata:function(d,h,i,e){var f=this.getColumn(d);if(!f){return""}var k=(i==undefined||i==false)?false:i;if(h==null){return""}var c=f.aggregates;f.aggregates=null;var j=this._calculateaggregate(f,h,k,e);var g={};if(j){g=j[d];f.aggregates=c}return g},_updatecolumnaggregates:function(e,h,c){var f=this;if(!h){c.children().remove();c.html("");if(e.aggregatesRenderer){var g={};if(e.aggregates){g=this.getcolumnaggregateddata(e.datafield,e.aggregates)}var d=e.aggregatesRenderer({},e,c,null);c.html(d)}return}c.children().remove();c.html("");if(e.aggregatesRenderer){if(h){var d=e.aggregatesRenderer(h[e.datafield],e,c,this.getcolumnaggregateddata(e.datafield,e.aggregates),"aggregates");c.html(d)}}else{b.each(h,function(){var j=this;for(g in j){var k=b('<div style="position: relative; margin: 4px; overflow: hidden;"></div>');var i=g;i=f._getaggregatename(i);k.html(i+":"+j[g]);if(f.rtl){k.addClass(f.toThemeProperty("jqx-rtl"))}c.append(k)}})}},_getaggregatetype:function(d){switch(d){case"min":case"max":case"count":case"avg":case"product":case"var":case"varp":case"stdev":case"stdevp":case"sum":return d}var c=d;for(var e in d){c=e;break}return c},_getaggregatename:function(d){var c=d;switch(d){case"min":c="Min";break;case"max":c="Max";break;case"count":c="Count";break;case"avg":c="Avg";break;case"product":c="Product";break;case"var":c="Var";break;case"stdevp":c="StDevP";break;case"stdev":c="StDev";break;case"varp":c="VarP";case"sum":c="Sum";break}if(d===c&&typeof(c)!="string"){for(var e in d){c=e;break}}return c},_updatecolumnsaggregates:function(){var g=this.getRows();if(this.dataViewRecords){g=this.dataViewRecords}var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){for(var f=0;f<c;f++){var h=b(this.aggregates[0].cells[f]);var e=this.columns.records[f];var d=this._calculateaggregate(e,null,true,g);this._updatecolumnaggregates(e,d,h)}}},_refreshcolumnsaggregates:function(){var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){var f=0;for(var e=0;e<c;e++){var g=b(this.aggregates[0].cells[e]);var d=this.columns.records[e];if(g){g.width(d.width);g[0].style.left=f+"px";if(!(d.hidden&&d.hideable)){f+=d.width}else{g.css("display","none")}}}}},_updateaggregates:function(){var c=b('<div style="position: relative;" id="statusrow'+this.element.id+'"></div>');var f=0;var m=this.columns.records.length;var l=this.toThemeProperty("jqx-grid-cell");if(this.rtl){l+=" "+this.toThemeProperty("jqx-grid-cell-rtl");f=0;c.css("border-left-width","0px");this.aggregates.css("border-left-color","transparent")}l+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var n=m+10;var o=new Array();this.aggregates[0].cells=o;for(var h=0;h<m;h++){var g=this.columns.records[h];var i=this._calculateaggregate(g);var d=g.width;if(d<g.minwidth){d=g.minwidth}if(d>g.maxwidth){d=g.maxwidth}var e=l;if(g.cellsalign){e+=" "+this.toThemeProperty("jqx-"+g.cellsalign+"-align")}var k=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+e+'"></div>');c.append(k);k.css("left",f);if(!this.rtl){k.css("z-index",n--)}else{k.css("z-index",n++);if(h==0){k.css("border-left-width","0px")}}k.width(d);k[0].style.left=f+"px";if(!(g.hidden&&g.hideable)){f+=d}else{k.css("display","none")}o[o.length]=k[0];this._updatecolumnaggregates(g,i,k)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){c.css("z-index",n--)}c.width(parseInt(f)+2);c.height(this.aggregatesHeight);this.aggregates.children().remove();this.aggregates.append(c);this.aggregates.removeClass(this.toThemeProperty("jqx-widget-header"));this.aggregates.addClass(l);this.aggregates.css("border-bottom-color","transparent");this.aggregates.css("border-top-width","1px");if(this.rtl&&this.hScrollBar.css("visibility")!="hidden"){this._renderhorizontalscroll()}},destroy:function(){var h=this;if(h.columns&&h.columns.records){for(var f=0;f<h.columns.records.length;f++){h._removecolumnhandlers(h.columns.records[f])}}h.removeHandler(b(document),"mouseup.pagerbuttonstop");h.removeHandler(b(document),"mouseup.pagerbuttonsbottom");h.removeHandler(h.content,"scroll");h.removeHandler(h.content,"mousedown");h.removeHandler(b(document),"mousedown.gridedit"+h.element.id);var g="mousemove.resize"+h.element.id;var c="mousedown.resize"+h.element.id;var e="mouseup.resize"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);var g="mousemove.reorder"+h.element.id;var c="mousedown.reorder"+h.element.id;var e="mouseup.reorder"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);if(h.filterable){if(h.filterrow){for(var f=0;f<h.filterrow[0].cells.length;f++){var k=h.filterrow[0].cells[f];var j=b(k).find(".filterconditions");var d=h.columns.records[f];if(j.length>0){j.jqxDropDownList("destroy")}}}if(h.filtercolumnsList){h.filtercolumnsList.jqxDropDownList("destroy")}}if(h.pageable){if(h.pagershowrowscombotop&&h.pagershowrowscombotop.jqxDropDownList){h.pagershowrowscombotop.jqxDropDownList("destroy")}if(h.pagershowrowscombobottom&&h.pagershowrowscombobottom.jqxDropDownList){h.pagershowrowscombobottom.jqxDropDownList("destroy")}var l=h.pagerbuttonsbottom.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();var l=h.pagerbuttonstop.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();if(h.pagernexttop){h.pagernexttop.jqxButton("destroy");h.pagerprevioustop.jqxButton("destroy");h.pagernextbottom.jqxButton("destroy");h.pagerpreviousbottom.jqxButton("destroy");h.pagerfirsttop.jqxButton("destroy");h.pagerfirstbottom.jqxButton("destroy");h.pagerlasttop.jqxButton("destroy");h.pagerlastbottom.jqxButton("destroy")}}h._removeHandlers();h.vScrollBar.jqxScrollBar("destroy");h.hScrollBar.jqxScrollBar("destroy");delete h.vScrollBar;delete h.hScrollBar;delete h._mousewheelfunc;b.jqx.utilities.resize(h.host,null,true);h.host.remove()},propertiesChangedHandler:function(c,d,e){if(e.width&&e.height&&Object.keys(e).length==2){c.refresh()}},propertyChangedHandler:function(e,l,d,k){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}if(k!==d){if(l=="filterable"){e._render()}else{if(l==="height"){e.host.height(e.height);e.host.width(e.width);e._updatesize(false,true)}else{if(l==="width"){e.host.height(e.height);e.host.width(e.width);e._updatesize(true,false)}else{if(l==="source"){e.updateBoundData()}else{if(l==="columns"||l==="columnGroups"){e._columns=null;e._render()}else{if(l==="rtl"){e.content.css("left","");e.columns=e._columns;e.vScrollBar.jqxScrollBar({rtl:k});e.hScrollBar.jqxScrollBar({rtl:k});e._render()}else{if(l==="pagerMode"){e.pagerMode=k;e._initpager()}else{if(l=="pageSizeOptions"){e._initpager();var j=false;for(var f=0;f<k.length;f++){if(parseInt(k[f])==e.pageSize){j=true;break}}if(!j){b.jqx.set(e,[{pageSize:k[0]}])}}else{if(l=="pageSize"){var g=e.dataview.pagenum*e.dataview.pagesize;e.dataview.pagesize=e.pageSize;var h=Math.floor(g/e.dataview.pagesize);if(h!==e.dataview.pagenum||parseInt(k)!==parseInt(d)){e._raiseEvent("pageSizeChanged",{pagenum:k,oldpageSize:d,pageSize:e.dataview.pagesize});var m=e.goToPage(h);if(!m){if(!e.serverProcessing){e.refresh()}else{e.updateBoundData("pager")}}}}else{if(l==="pagerPosition"){e.refresh()}else{if(l==="selectionMode"){e.selectionMode=k.toLowerCase()}else{if(l=="touchmode"){e.touchDevice=null;e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:k});e.hScrollBar.jqxScrollBar({touchMode:k});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._renderrows();e._addHandlers()}else{if(l=="enableHover"){return}else{if(l=="disabled"){if(k){e.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(e.pageable){if(e.pagernexttop){e.pagernexttop.jqxButton({disabled:k});e.pagerprevioustop.jqxButton({disabled:k});e.pagernextbottom.jqxButton({disabled:k});e.pagerpreviousbottom.jqxButton({disabled:k});e.pagerfirsttop.jqxButton({disabled:k});e.pagerfirstbottom.jqxButton({disabled:k});e.pagerlasttop.jqxButton({disabled:k});e.pagerlastbottom.jqxButton({disabled:k});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({disabled:false});e.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}e.host.find(".jqx-grid-pager-number").css("cursor",k?"default":"pointer")}e.host.find(".jqx-grid-group-collapse").css("cursor",k?"default":"pointer");e.host.find(".jqx-grid-group-expand").css("cursor",k?"default":"pointer")}else{if(l=="columnsHeight"){e._render()}else{if(l=="theme"){b.jqx.utilities.setTheme(d,k,e.host);e.vScrollBar.jqxScrollBar({theme:e.theme});e.hScrollBar.jqxScrollBar({theme:e.theme});if(e.pageable&&e.pagernexttop){e.pagernexttop.jqxButton({theme:e.theme});e.pagerprevioustop.jqxButton({theme:e.theme});e.pagernextbottom.jqxButton({theme:e.theme});e.pagerpreviousbottom.jqxButton({theme:e.theme});e.pagerfirsttop.jqxButton({theme:e.theme});e.pagerfirstbottom.jqxButton({theme:e.theme});e.pagerlasttop.jqxButton({theme:e.theme});e.pagerlastbottom.jqxButton({theme:e.theme});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({theme:e.theme});e.pagershowrowscombobottom.jqxDropDownList({theme:e.theme})}}}if(e.filterable){var c=b(".filterconditions");if(c.length>0){c.jqxDropDownList({theme:e.theme})}if(e.filtercolumnsList){e.filtercolumnsList.jqxDropDownList({theme:e.theme})}}e.refresh()}else{e.refresh()}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(f,g,c,d){var e="4px";if(d.columnGroups){e=(c/2-this._columnheight/2);if(e<0){e=4}e+="px"}else{if(this.columnsHeight!=25){e=(this.columnsHeight/2-this._columnheight/2);if(e<0){e=4}e+="px"}}return'<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+g+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+e+"; margin-top: "+e+';"><span style="text-overflow: ellipsis; cursor: default;">'+f+"</span></div>"}});function a(c,d){this.owner=c;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.aggregates=null;this.aggregatesRenderer=null;this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(e,f){if(this[e]){var g=this[e];this[e]=f;this.owner._columnPropertyChanged(this,e,f,g)}else{if(this[e.toLowerCase()]){var g=this[e.toLowerCase()];this[e.toLowerCase()]=f;this.owner._columnPropertyChanged(this,e.toLowerCase(),f,g)}}};this._initfields=function(f){if(f!=null){var e=this;if(b.jqx.hasProperty(f,"dataField")){this.datafield=b.jqx.get(f,"dataField")}if(b.jqx.hasProperty(f,"displayField")){this.displayfield=b.jqx.get(f,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"validation")){this.validation=b.jqx.get(f,"validation")}if(b.jqx.hasProperty(f,"autoCellHeight")){this.autoCellHeight=b.jqx.get(f,"autoCellHeight")}if(b.jqx.hasProperty(f,"text")){this.text=b.jqx.get(f,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(f,"sortable")){this.sortable=b.jqx.get(f,"sortable")}if(b.jqx.hasProperty(f,"hidden")){this.hidden=b.jqx.get(f,"hidden")}if(b.jqx.hasProperty(f,"groupable")){this.groupable=b.jqx.get(f,"groupable")}if(b.jqx.hasProperty(f,"renderer")){this.renderer=b.jqx.get(f,"renderer")}if(b.jqx.hasProperty(f,"align")){this.align=b.jqx.get(f,"align")}if(b.jqx.hasProperty(f,"cellsAlign")){this.cellsalign=b.jqx.get(f,"cellsAlign")}if(b.jqx.hasProperty(f,"cellsFormat")){this.cellsFormat=b.jqx.get(f,"cellsFormat")}if(b.jqx.hasProperty(f,"width")){this.width=b.jqx.get(f,"width")}if(b.jqx.hasProperty(f,"minWidth")){this.minwidth=b.jqx.get(f,"minWidth")}if(b.jqx.hasProperty(f,"maxWidth")){this.maxwidth=b.jqx.get(f,"maxWidth")}if(b.jqx.hasProperty(f,"cellsRenderer")){this.cellsRenderer=b.jqx.get(f,"cellsRenderer")}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"pinned")){this.pinned=b.jqx.get(f,"pinned")}if(b.jqx.hasProperty(f,"filterable")){this.filterable=b.jqx.get(f,"filterable")}if(b.jqx.hasProperty(f,"filter")){this.filter=b.jqx.get(f,"filter")}if(b.jqx.hasProperty(f,"resizable")){this.resizable=b.jqx.get(f,"resizable")}if(b.jqx.hasProperty(f,"draggable")){this.draggable=b.jqx.get(f,"draggable")}if(b.jqx.hasProperty(f,"editable")){this.editable=b.jqx.get(f,"editable")}if(b.jqx.hasProperty(f,"initEditor")){this.initeditor=b.jqx.get(f,"initEditor")}if(b.jqx.hasProperty(f,"createEditor")){this.createeditor=b.jqx.get(f,"createEditor")}if(b.jqx.hasProperty(f,"destroyEditor")){this.destroyeditor=b.jqx.get(f,"destroyEditor")}if(b.jqx.hasProperty(f,"getEditorValue")){this.geteditorvalue=b.jqx.get(f,"getEditorValue")}if(b.jqx.hasProperty(f,"className")){this.classname=b.jqx.get(f,"className")}if(b.jqx.hasProperty(f,"cellClassName")){this.cellclassname=b.jqx.get(f,"cellClassName")}if(b.jqx.hasProperty(f,"aggregates")){this.aggregates=b.jqx.get(f,"aggregates")}if(b.jqx.hasProperty(f,"aggregatesRenderer")){this.aggregatesRenderer=b.jqx.get(f,"aggregatesRenderer")}if(b.jqx.hasProperty(f,"rendered")){this.rendered=b.jqx.get(f,"rendered")}if(b.jqx.hasProperty(f,"exportable")){this.exportable=b.jqx.get(f,"exportable")}if(b.jqx.hasProperty(f,"nullable")){this.nullable=b.jqx.get(f,"nullable")}if(b.jqx.hasProperty(f,"columnGroup")){this.columngroup=b.jqx.get(f,"columnGroup")}if(!f instanceof String&&!(typeof f=="string")){for(var g in f){if(!e.hasOwnProperty(g)){if(!e.hasOwnProperty(g.toLowerCase())){c.host.remove();throw new Error("jqxDataTable: Invalid property name - "+g+".")}}}}}};this._initfields(d);return this}b.jqx.dataCollection=function(c){this.records=new Array();this.owner=c;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(e,d){this.records[e]=d};this.isempty=function(d){if(this.records[d]==undefined){return true}return false};this.initialize=function(d){if(d<1){d=1}this.records[d-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(d){return this.records.indexOf(d)};this.add=function(d){if(d==null){return false}this.records[this.records.length]=d;return true};this.insertAt=function(e,d){if(e==null||e==undefined){return false}if(d==null){return false}if(e>=0){if(e<this.records.length){this.records.splice(e,0,d);return true}else{return this.add(d)}}return false};this.remove=function(e){if(e==null||e==undefined){return false}var d=this.records.indexOf(e);if(d!=-1){this.records.splice(d,1);return true}return false};this.removeAt=function(e){if(e==null||e==undefined){return false}if(e<0){return false}if(e<this.records.length){var d=this.records[e];this.records.splice(e,1);return true}return false};return this};b.jqx.dataView=function(){this.that=this;this.grid=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(y,p){var w=y._source?true:false;var g=null;this._sortData=null;this._sortHierarchyData=null;if(w){g=y;y=y._source}else{g=new b.jqx.dataAdapter(y,{autoBind:false})}var e=function(m){g.recordids=[];g.records=new Array();g.cachedrecords=new Array();g.originaldata=new Array();g._options.totalrecords=m.totalrecords;g._options.originaldata=m.originaldata;g._options.recordids=m.recordids;g._options.cachedrecords=new Array();g._options.pagenum=m.pagenum;g._options.pageable=m.pageable;if(y.type!=undefined){g._options.type=y.type}if(y.formatdata!=undefined){g._options.formatData=y.formatdata}if(y.contenttype!=undefined){g._options.contentType=y.contenttype}if(y.async!=undefined){g._options.async=y.async}if(y.updaterow!=undefined){g._options.updaterow=y.updaterow}if(y.addrow!=undefined){g._options.addrow=y.addrow}if(y.deleterow!=undefined){g._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}g._options.pagesize=m.pagesize};var B=function(m){m.originaldata=g.originaldata;m.records=g.records;m.hierarchy=g.hierarchy;if(!m.grid.serverProcessing){m._sortData=null;m._sortfield=null;m._filteredData=null;m._sortHierarchyData=null}if(!m.hierarchy){m.hierarchy=new Array();g.hierarchy=new Array()}if(g._source.totalrecords){m.totalrecords=g._source.totalrecords}else{if(g._source.totalRecords){m.totalrecords=g._source.totalRecords}else{if(m.hierarchy.length!==0){m.totalrecords=m.hierarchy.length}else{m.totalrecords=m.records.length}}}m.cachedrecords=g.cachedrecords};e(this);this.source=y;if(p!==undefined){var k=p}var h=this;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(m){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<this.filters.length;j++){var f=this.filters[j].datafield;var l=this.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[f+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=f;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var c=this.grid.getColumn(i[A].datafield);if(c&&c.cellsformat){var z=this.grid.source.formatDate(i[A].value,c.cellsformat,this.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=f;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=f;t.type=i[A].type;var d=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==f){r.filters.push(t);d=true;break}}}if(!d){C.push({field:f,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterslength=v;b.extend(E,{sortdatafield:h.sortfield,sortorder:h.sortfielddirection,pagenum:h.pagenum,pagesize:h.grid.pageSize});var F=g._options.data;if(g._options.data){b.extend(g._options.data,E)}else{if(y.data){b.extend(E,y.data)}g._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){B(h);h.update()};if(o){try{q()}catch(m){}}else{q()}};g.unbindDownloadComplete(h.grid.element.id);g.bindDownloadComplete(h.grid.element.id,n);g._source.loaderror=function(q,m,o){n()};if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}g._options.data=F}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this.sortBy=function(e,c){var d=this;if(c==null){this.sortfield="";this.sortfielddirection="";return}if(c==undefined){c=true}if(c=="a"||c=="asc"||c=="ascending"||c==true){c=true}else{c=false}if(e=="constructor"){e=""}this.sortfield=e;this.sortfielddirection=c?"asc":"desc"};this._sort=function(d){if(!this.sortfield||!this.sortfielddirection){return d}if(this._sortfield==this.sortfield&&this._sortfielddirection==this.sortfielddirection&&this._sortData){return this._sortData}var g=this;var j=Object.prototype.toString;Object.prototype.toString=(typeof g.sortfield=="function")?g.sortfield:function(){return this[g.sortfield]};var f="";if(this.source.datafields){b.each(this.source.datafields,function(){if(this.name==g.sortfield){if(this.type){f=this.type}return false}})}var c=new Array();for(var e=0;e<d.length;e++){c.push(b.extend({originalRecord:d[e]},d[e]))}this._sortfield=this.sortfield;this._sortfielddirection=this.sortfielddirection;if(this.sortfielddirection==="desc"){var h=c.sort(function(k,i){return g._compare(k,i,f)}).reverse()}else{var h=c.sort(function(k,i){return g._compare(k,i,f)})}this._sortData=h;Object.prototype.toString=j;return h};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(b.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(b.jqx.dataFormat.isNumber(d)&&b.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(b.jqx.dataFormat.isDate(d)&&b.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(d)&&!b.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(p){if(this.grid.serverProcessing){if(p){if(this.grid.source._source.id==""||this.grid.source._source.id==null){if(this.grid.pageable){var c=this.grid.pageSize*this.pagenum;this.grid.rowsByKey=new Array();var h=this;b.each(p,function(i){this.uid=c;h.grid.rowsByKey[this.uid]=this;c++})}}}return p}var d=new Array();if(this.filters.length){var j=new Array();var o=function(s,w){for(var u=0;u<s.length;u++){var v=s[u];v._visible=true;var q=undefined;for(var t=0;t<this.filters.length;t++){var r=this.filters[t].filter;var x=v[this.filters[t].datafield];var y=r.evaluate(x);if(q==undefined){q=y}else{if(r.operator=="or"){q=q||y}else{q=q&&y}}}v._visible=false;if(q||v.aggregate){v._visible=true;w.push(v);j[v.uid]=v}}};if(!this._filteredData){if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var n=new Array();var k=function(r,s){for(var q=0;q<s.length;q++){var t=s[q];n.push(t);if(t.records&&t.records.length>0){k(t,t.records)}}};k(null,p);o.call(this,n,d);for(var e=0;e<d.length;e++){var g=d[e];while(g.parent){var m=g.parent;if(!j[m.uid]){m._visible=true;j[m.uid]=m}g=m}}d=p}else{o.call(this,p,d)}this._filteredData=d;this.rows=d}else{this.rows=this._filteredData}}else{this.rows=p}if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var h=this;var l=new Array();this._sortData=null;var f=function(t,q){h._sortData=null;var r=null;if(h.source.hierarchy.groupingDataFields){if(q&&q.length>0&&q[0].level<h.source.hierarchy.groupingDataFields.length){r=new Array();for(var s=0;s<q.length;s++){r.push(b.extend({originalRecord:q[s]},q[s]))}}else{r=h._sort(q)}}else{r=h._sort(q)}if(t.records){t.records=r}else{t=t.concat(r)}for(var s=0;s<r.length;s++){if(r[s].records&&r[s].records.length){f(r[s],r[s].records)}}return t};if(this.sortfield||this.sortfielddirection){if(this._sortHierarchyData){l=this._sortHierarchyData}else{l=f(l,p)}this.rows=l;this._sortHierarchyData=l}}else{this.rows=this._sort(this.rows)}return this.rows};this.getid=function(j,d,e){if(b(j,d).length>0){return b(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=b(d).attr(j);if(c!=null&&c.toString().length>0){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.grid.rowsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.grid.rowsByKey["jqx"+f];if(!g){var g=this.grid.rowsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
+(function(b){b.jqx.jqxWidget("jqxDataTable","",{});b.extend(b.jqx._jqxDataTable.prototype,{defineInstance:function(){var c={altRows:false,aggregatesHeight:34,autoShowLoadElement:true,autoRowHeight:true,columnsHeight:30,columns:[],columnGroups:null,columnsResize:false,columnsReorder:false,dataview:null,disabled:false,editable:false,editSettings:{saveOnPageChange:true,saveOnBlur:true,saveOnSelectionChange:true,cancelOnEsc:true,saveOnEnter:true,editSingleCell:false,editOnDoubleClick:true,editOnF2:true},enableHover:true,enableBrowserSelection:false,filterHeight:35,filterable:false,filterMode:"default",groupsRenderer:null,groups:new Array(),headerZIndex:359,height:null,handleKeyboardNavigation:null,indentWidth:25,initRowDetails:false,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed.",localization:null,pagerHeight:40,pageSize:10,pageSizeOptions:["5","10","20"],pageable:false,pagerPosition:"bottom",pagerMode:"default",pageSizeMode:"default",pagerButtonsCount:5,pagerRenderer:null,ready:null,rendertoolbar:null,rowDetails:false,renderStatusBar:null,rendered:null,rendering:null,rtl:false,sortable:false,showtoolbar:false,showstatusbar:false,statusBarHeight:34,serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:b.jqx.utilities.scrollBarSize,touchScrollBarSize:b.jqx.utilities.touchScrollBarSize,showAggregates:false,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,beginEdit:null,endEdit:null,autokoupdates:true,columnsVirtualization:false,exportSettings:{columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,recordsInView:true,fileName:"jqxDataTable"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},toolbarHeight:34,tableZIndex:369,_updating:false,touchmode:"auto",width:null,that:this,incrementalSearch:true,events:["bindingComplete","sort","filter","pageChanged","pageSizeChanged","rowClick","rowDoubleClick","cellValueChanged","rowBeginEdit","rowEndEdit","rowSelect","rowUnselect","rowCheck","rowUncheck","columnResized","columnReordered","rowExpand","rowCollapse","cellBeginEdit","cellEndEdit"]};if(this===b.jqx._jqxDataTable.prototype){return c}b.extend(true,this,c);this.that=this;return c},createInstance:function(e){var l=this;if(b.jqx.utilities.scrollBarSize!=13){l.scrollBarSize=b.jqx.utilities.scrollBarSize}if((l.element.nodeName.toLowerCase()=="table")||b(l.element).children("table").length>0){var n=l.host.find("tbody tr");var d=l.host.find("th");var w=new Array();if(d.length===0){d=n[0];n.splice(0,1)}if(l.localizestrings){l.localizestrings();if(l.localization!=null){l.localizestrings(l.localization,false)}}var z=[];for(var u=0;u<n.length;u++){var k=n[u];var h={};for(var t=0;t<d.length;t++){var g=b.trim(b(d[t]).text());if(u===0){var s={name:g};if(l.columns[t]&&l.columns[t].cellsFormat){var v=l.columns[t].cellsFormat.toLowerCase();if(v.indexOf("p")!=-1||v.indexOf("c")!=-1||v.indexOf("n")!=-1||v.indexOf("f")!=-1){s.type="number"}if(v.indexOf("d")!=-1||v.indexOf("m")!=-1||v.indexOf("y")!=-1||v.indexOf("h")!=-1||v.indexOf("m")!=-1||v.indexOf("s")!=-1||v.indexOf("t")!=-1){s.type="date"}}w.push(s)}var c=b(k).find("td:eq("+t+")");var f=w[t].type;if(f){var p=l.getvaluebytype(b.trim(c.text()),w[t]);h[g]=p}else{h[g]=b.trim(c.text())}}z[z.length]=h}l.host.wrap("<div></div>");var m=l.host.parent();var q=l.host.data();q.jqxDataTable.host=m;q.jqxDataTable.element=m[0];l.host.parent()[0].id=l.element.id;try{l.host.parent()[0].style=l.element.style}catch(r){}l.element=m[0];l.host=m;l.host.data(q);var o={dataFields:w,localdata:z,datatype:"array"};var y=new b.jqx.dataAdapter(o);l.source=y}if(l.source&&!l.source.dataBind){l.source=new b.jqx.dataAdapter(l.source)}var x=l.source._source.datafields;if(x&&x.length>0){l._camelCase=l.source._source.dataFields!==undefined;l.selectionMode=l.selectionMode.toLowerCase()}if(l.host.attr("tabindex")==null){l.host.attr("tabindex","0")}l.host.attr("role","grid");l.host.attr("align","left");l.host.addClass(l.toTP("jqx-grid"));l.host.addClass(l.toTP("jqx-reset"));l.host.addClass(l.toTP("jqx-rc-all"));l.host.addClass(l.toTP("jqx-widget"));l.host.addClass(l.toTP("jqx-widget-content"));if(l._testmodules()){return}l.render(true);b.jqx.utilities.resize(l.host,function(){var A=b(window).width();var i=b(window).height();var j=l.host.width();var B=l.host.height();if(l._lastHostWidth!=j||l._lastHostHeight!=B){l._updatesize(l._lastHostWidth!=j,l._lastHostHeight!=B)}l._lastWidth=A;l._lastHeight=i;l._lastHostWidth=j;l._lastHostHeight=B})},getvaluebytype:function(h,d){var f=h;if(h==null){return h}if(this.gridlocalization.decimalseparator==","){if(h.indexOf(this.gridlocalization.decimalseparator)>=0){h=h.replace(this.gridlocalization.decimalseparator,".")}}if(h.indexOf(this.gridlocalization.currencysymbol)>=0){h=h.replace(this.gridlocalization.currencysymbol,"")}if(h.indexOf(this.gridlocalization.percentagesymbol)>=0){h=h.replace(this.gridlocalization.percentagesymbol,"")}if(b.isArray(h)&&d.type!="array"){for(var e=0;e<h.length;e++){h[e]=this.getvaluebytype(h[e],d)}return h}if(d.type=="date"){if(h=="NaN"){h=""}else{var g=new Date(h);if(typeof h=="string"){if(d.format){var c=b.jqx.dataFormat.parsedate(h,d.format);if(c!=null){g=c}}}if(g.toString()=="NaN"||g.toString()=="Invalid Date"){if(b.jqx.dataFormat){h=b.jqx.dataFormat.tryparsedate(h)}else{h=g}}else{h=g}if(h==null){h=f}}}else{if(d.type=="float"||d.type=="number"||d.type=="decimal"){if(h=="NaN"){h=""}else{var h=parseFloat(h);if(isNaN(h)){h=f}}}else{if(d.type=="int"||d.type=="integer"){var h=parseInt(h);if(isNaN(h)){h=f}}else{if(d.type=="bool"||d.type=="boolean"){if(h!=null){if(h.toLowerCase!=undefined){if(h.toLowerCase()=="false"){h=false}else{if(h.toLowerCase()=="true"){h=true}}}}if(h==1){h=true}else{if(h==0&&h!==""){h=false}else{h=""}}}}}}return h},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var d=b('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var c=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){c=true}}if(c){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var e=false;if(this.width==="auto"||this.width===null||this.autoWidth){e=true}if(e){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(d){var c=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");c.addClass(this.toTP("jqx-widget"));b(document.body).append(c);if(d=="cell"){this._cellheight=c.height()}else{this._columnheight=c.height()}c.remove()},_testmodules:function(){var g="";var e=this;var c=function(){if(g.length!=""){g+=","}};if(!this.host.jqxScrollBar){c();g+=" jqxscrollbar.js"}if(!this.host.jqxButton){c();g+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){c();g+=" jqxdata.js"}if(g!=""||this.editable||this.filterable||this.pageable){var d=[];var f=function(h){switch(h){case"checkbox":if(!e.host.jqxCheckBox&&!d.checkbox){d.checkbox=true;c();g+=" jqxcheckbox.js"}break;case"dropdownlist":if(!e.host.jqxDropDownList&&!d.dropdownlist){c();d.dropdownlist=true;g+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!e.host.jqxListBox&&!d.listbox){c();d.listbox=true;g+=" jqxlistbox.js"}}break}};if((this.filterable&&this.filterMode!="simple")||(this.pagerMode=="advanced"&&this.pageable)){f("dropdownlist")}if(g!=""){throw new Error("jqxDataTable: Missing references to the following module(s): "+g);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();this.host.focus();var d=this;setTimeout(function(){d.wrapper.focus();d.host.focus()},25);this.focused=true}catch(c){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},isBindingCompleted:function(){return !this._loading},_updatesize:function(i,h){if(this._loading){return}var f=this;var g=f.host.width();var e=f.host.height();if(!f._oldWidth){f._oldWidth=g}if(!f._oldHeight){f._oldHeight=e}if(f._resizeTimer!=undefined){clearTimeout(f._resizeTimer);f._resizeTimer=null}var d=300;var c=function(){if(f._resizeTimer){clearTimeout(f._resizeTimer)}f.resizingGrid=true;if(b.jqx.isHidden(f.host)){return}f._updatecolumnwidths();f.refresh();f._oldWidth=g;f._oldHeight=e;f.resizingGrid=false};c();f._resizeTimer=setTimeout(function(){var k=f.host.width();var j=f.host.height();if(f._oldWidth!=k||f._oldHeight!=j){c()}},d)},resize:function(d,c){if(d!=undefined){this.width=d}if(c!=undefined){this.height=c}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var c=b.jqx.mobile.isTouchDevice();this.touchDevice=c;if(this.touchmode==true){c=true;b.jqx.mobile.setMobileSimulator(this.table[0]);this.touchDevice=c}else{if(this.touchmode==false){c=false}}if(c){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return c},toTP:function(c){return this.toThemeProperty(c)},localizestrings:function(c,f){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(c!=null){for(var h in c){if(h.toLowerCase()!==h){c[h.toLowerCase()]=c[h]}}var j=["pagergotopagestring","pagershowrowsstring","pagerrangestring","pagernextbuttonstring","pagerpreviousbuttonstring","pagerfirstbuttonstring","pagerlastbuttonstring","toppagerstring","firstDay","days","months","AM","PM","patterns","percentsymbol","currencysymbol","currencysymbolposition","decimalseparator","thousandsseparator","filterapplystring","filteraddnew","filtercancelstring","filterclearstring","filterstring","filterstringcomparisonoperators","filternumericcomparisonoperators","filterdatecomparisonoperators","filterbooleancomparisonoperators","emptydatastring","filterselectstring","todaystring","clearstring","validationstring","loadtext","filtersearchstring","loadingErrorMessage"];var g=this;for(var e=0;e<j.length;e++){var d=j[e];if(c[d]!==undefined){g.gridlocalization[d]=c[d]}}if(c.loadingErrorMessage){this.loadingErrorMessage=c.loadingErrorMessage}if(f!==false){this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",filterapplystring:"Apply",filtercancelstring:"Cancel",filterclearstring:"Clear Filter",filterstring:"advanced",filtersearchstring:"Search:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed."}}},_updateScrollbars:function(m){var p=false;if(this.width==="auto"||this.width===null||this.autowidth){if(this.maxWidth==999999){p=true}}var d=parseInt(this.scrollBarSize);var j=this.table?this.table.height():0;var n=0;var e="inherit";var h=this.vScrollBar[0].style.visibility;var l=this.hScrollBar[0].style.visibility;if(!m){var g=this.host.height()}else{var g=m}if(!this.columnGroups){g-=this.showHeader?this.columnsHeight:0}else{g-=this.showHeader?this.columnsheader.height():0}if(this.filterable){g-=this.filter.height()}if(this.pageable){g-=this.pagerHeight;if(this.pagerPosition==="both"){g-=this.pagerHeight}}if(this.showtoolbar){g-=this.toolbarHeight}if(this.showstatusbar){g-=this.statusBarHeight}if(this.showAggregates){g-=this.aggregatesHeight}var q=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){q=true}}if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}else{this.vScrollBar[0].style.visibility="hidden"}if((h!=this.vScrollBar[0].style.visibility)){this._updatecolumnwidths();var i=this.table.height();if(j!=i){j=i;if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}}}if(this.scrollBarSize==0){n=0}var o=this.table?this.table.width():0;if(o>3){o-=3}var c=parseInt(this.host.css("border-left-width"))+parseInt(this.host.css("border-right-width"));var r=c+this.host.width()-n;if(o>r&&!p){this.hScrollBar[0].style.visibility=e;this.hScrollBar.jqxScrollBar({max:o-r});n=4+parseInt(d);if(d==0){n=0}if(!q){if(j>g-n+4&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.hScrollBar.jqxScrollBar({max:c+o-r});var f=this.vScrollBar[0].style.visibility==="hidden";this.vScrollBar[0].style.visibility=e;this._updatecolumnwidths();if(f){this.hScrollBar.jqxScrollBar({max:o-r+n+c})}var k=this.table?this.table.width():0;if(k>3){k-=3}if(k!=o){if(k<r){this.hScrollBar.jqxScrollBar({max:c+k-r});this.hScrollBar[0].style.visibility="hidden";n=0}}}this.vScrollBar.jqxScrollBar({max:j-g+n})}}else{this.hScrollBar[0].style.visibility="hidden"}if(this.source.records.length===0&&(this.source.hierarchy&&this.source.hierarchy.length===0)){this.vScrollBar[0].style.visibility="hidden";this.bottomRight[0].style.visibility="hidden"}if(this.vScrollBar[0].style.visibility=="hidden"){if(this.vScrollInstance.value!=0){this.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>"+e+"</span>");d.addClass(this.toTP("jqx-widget"));d.addClass(this.toTP("jqx-grid"));d.addClass(this.toTP("jqx-grid-column-header"));d.addClass(this.toTP("jqx-widget-header"));b(document.body).append(d);var c=d.outerWidth()+20;d.remove();return c},_arrangeAutoHeight:function(e){if(!e){e=0}if(this.height==="auto"||this.height===null||this.autoheight){var h=this.table.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:-1}else{g+=this.showHeader?this.columnsheader.height():-1}g+=this.showstatusbar?this.statusBarHeight:0;g+=this.showAggregates?this.aggregatesHeight:0;g+=this.showtoolbar?this.toolbarHeight:0;g+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){g+=this.pageable?this.pagerHeight:0}g+=h;if(this.filterable){var f=this.filter.find(".filterrow");var c=this.filter.find(".filterrow-hidden");var d=1;if(c.length>0){d=0}g+=this.filterHeight-1+this.filterHeight*f.length*d}if(g+e>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(g+e)}return true}return false},_arrangeAutoWidth:function(e){if(!e){e=0}if(this.width==="auto"||this.width===null||this.autowidth){var d=0;for(var f=0;f<this.columns.records.length;f++){var c=this.columns.records[f].width;if(this.columns.records[f].hidden){continue}if(c=="auto"){c=this._measureElementWidth(this.columns.records[f].text);d+=c}else{d+=c}}var g=d;if(g+e>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(g+e)}return true}return false},_measureTopAndHeight:function(){var d=this.host.height();var h=0;if(this.showtoolbar){h+=this.toolbarHeight;d-=parseInt(this.toolbarHeight)}if(this.filterable){var g=this.filter.find(".filterrow");var e=this.filter.find(".filterrow-hidden");var f=1;if(e.length>0){f=0}h+=this.filterHeight;d-=parseInt(this.filterHeight);var c=f==1?g.length:0;h+=this.filterHeight*c;d-=this.filterHeight*c}if(this.pageable&&this.pagerPosition!="bottom"){h+=parseInt(this.pagerHeight)+1;if(d>this.pagerHeight&&this.pagerPosition==="both"){d-=parseInt(this.pagerHeight)}}return{top:h,height:d}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var v=this.host.width();var r=this.host.height();var j=r;var i=this;if(this.pageable){if(this.pagerPosition==="bottom"){this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="both"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="top"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="hidden"}}}}else{this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="hidden"}var q=0;if(this.showtoolbar){this.toolbar.width(v);this.toolbar.height(this.toolbarHeight-1);this.toolbar.css("top",0);q+=this.toolbarHeight;r-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.filterable){this.filter.width(v);this.filter.css("top",q);var t=this.filter.find(".filterrow");var h=this.filter.find(".filterrow-hidden");var A=1;if(h.length>0){A=0}this.filter.height(this.filterHeight-1+this.filterHeight*t.length*A);q+=this.filterHeight;r-=parseInt(this.filterHeight);var x=A==1?t.length:0;q+=this.filterHeight*x;r-=this.filterHeight*x}if(this.showstatusbar){this.statusbar.width(!this.table?v:Math.max(v,this.table.width()));this.statusbar.height(this.statusBarHeight-1)}else{this.statusbar[0].style.height="0px"}if(this.showAggregates){this.aggregates.height(this.aggregatesHeight-1)}else{this.aggregates[0].style.height="0px"}if(this.pageable&&this.pagerPosition!="bottom"){this.toppager[0].style.width=v+"px";this.toppager[0].style.height=parseInt(this.pagerHeight)+"px";this.toppager[0].style.top=parseInt(q)+"px";q+=parseInt(this.pagerHeight)+1;if(r>this.pagerHeight){r-=parseInt(this.pagerHeight)}}else{if(this.toppager[0].style.width!=v+"px"){this.toppager[0].style.width=parseInt(v)+"px"}if(this.toppager[0].style.height!=this.pagerHeight+"px"){this.toppager[0].style.height=parseInt(this.pagerHeight)+"px"}if(this.toppager[0].style.top!=q+"px"){this.toppager[0].style.top=q+"px"}var y=this.pagerPosition!="bottom"?this.pagerHeight:0;var d=q+y+"px";if(this.content[0].style.top!=d){this.content[0].style.top=q+this.pagerHeight+"px"}}this._updateScrollbars(j);var c=parseInt(this.scrollBarSize);var n=4;var e=2;var f=0;if(this.vScrollBar[0].style.visibility!="hidden"){f=c+n}if(this.hScrollBar[0].style.visibility!="hidden"){e=c+n+2}if(c==0){f=0;e=0}if(this.showAggregates){if(this.hScrollBar[0].style.visibility==="hidden"){this.aggregates.width(!this.table?v:Math.max(v,this.table.width())+4)}else{this.aggregates.width("auto")}}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var w=this._arrangeAutoHeight(e-2);var s=this._arrangeAutoWidth(f+1);if(w||s){var v=this.host.width();this.toppager[0].style.width=parseInt(v)+"px";this.toolbar[0].style.width=parseInt(v)+"px";this.statusbar[0].style.width=parseInt(v)+"px";this.filter[0].style.width=parseInt(v)+"px"}if(w){var B=this._measureTopAndHeight();q=B.top;r=B.height}}var m=0;if(this.pageable){m=this.pagerHeight;if(this.pagerPosition!="top"){e+=this.pagerHeight}}if(this.showAggregates){e+=this.aggregatesHeight;m+=this.aggregatesHeight}if(this.showstatusbar){e+=this.statusBarHeight;m+=this.statusBarHeight}if(this.hScrollBar[0].style.height!=c+"px"){this.hScrollBar[0].style.height=parseInt(c)+"px"}if(this.hScrollBar[0].style.top!=q+r-n-c-m+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=q+r-n-c-m-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var g=false;var z=false;if(f==0){if(l!=(v-2)+"px"){this.hScrollBar[0].style.width=(v-2)+"px";g=true}}else{if(l!=(v-c-n)+"px"){this.hScrollBar[0].style.width=(v-c-n+"px");g=true}}if(this.vScrollBar[0].style.width!=c+"px"){this.vScrollBar[0].style.width=c+"px";z=true}if(this.vScrollBar[0].style.height!=parseInt(r)-e+"px"){this.vScrollBar[0].style.height=(parseInt(r)-e+"px");z=true}if(this.vScrollBar[0].style.left!=parseInt(v)-parseInt(c)-n+"px"||this.vScrollBar[0].style.top!=q+"px"){this.vScrollBar[0].style.top=q+"px";this.vScrollBar[0].style.left=parseInt(v)-parseInt(c)-n+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:q});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:c+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var u=this.hScrollInstance;u.disabled=this.disabled;if(g){u.refresh()}if(z){k.refresh()}var o=function(C){if((C.vScrollBar[0].style.visibility!="hidden")&&(C.hScrollBar[0].style.visibility!="hidden")){C.bottomRight[0].style.visibility="inherit";C.bottomRight[0].style.left=1+parseInt(C.vScrollBar.css("left"))+"px";C.bottomRight[0].style.top=parseInt(C.hScrollBar.css("top"))+"px";if(C.rtl){C.bottomRight.css("left","0px")}C.bottomRight[0].style.width=parseInt(c)+3+"px";C.bottomRight[0].style.height=parseInt(c)+4+"px";if(C.showAggregates){C.bottomRight.css("z-index",99);C.bottomRight.height(parseInt(c)+4+C.aggregatesHeight);C.bottomRight.css({top:parseInt(C.hScrollBar.css("top"))-C.aggregatesHeight})}}else{C.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=v-f+"px"){this.content[0].style.width=v-f+"px"}if(this.content[0].style.height!=r-e+3+"px"){this.content[0].style.height=r-e+3+"px"}if(this.content[0].style.top!=q+"px"){this.content[0].style.top=parseInt(q)+"px"}if(this.rtl){this.content.css("left",f);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",f)}if(this.table){var p=this.table.width();if(p<v-f){this.content.css("left",v-p+2);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",v-p+2)}}}}if(this.showAggregates){this.aggregates.css("top",q+r-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0));if(this.rtl){this.aggregates.css("left","0px")}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({top:q+r-n-c-m+this.aggregatesHeight+"px"});this.aggregates.css("top",1+q+r-c-5-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0))}o(this)}if(this.showstatusbar){this.statusbar.css("top",q+r-this.statusBarHeight-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.statusbar.css("left",this.content.css("left"))}else{this.statusbar.css("left","0px")}}}if(this.pageable){this.pager[0].style.width=v+"px";this.pager[0].style.height=this.pagerHeight+"px";this.pager[0].style.top=parseInt(q)+parseInt(r)-parseInt(this.pagerHeight)-1+"px"}else{this.pager[0].style.height="0px"}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(v!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(r!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostwidth=v},scrollOffset:function(e,d){if(arguments.length==0||(e!=null&&typeof(e)=="object"&&!e.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(e!=null&&typeof(e)=="object"){var d=e.left;var c=e.top;var e=c}if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(c){if(c==null||c==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",c)}},scrolltop:function(c){if(c==null||c==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",c)}},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(c){this._updating=false;if(c===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(h,j,c){if(this.loadingstate===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}var g=this;if(h==null){h={}}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataView();this.dataview.pageable=this.pageable;this.dataview.grid=this;if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pageSize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pageSize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}}this._loading=true;this.dataview.update=function(y){g._loading=false;g.rowsByKey=new Array();var C=g.source._source.datafields;if(g.groups&&g.groups.length>0){var s=Object.prototype.toString;var m=g.groups[0];Object.prototype.toString=(typeof m=="function")?m:function(){return this[m]};if(!g.source.records.sort){var u=new Array();var q=0;var E=0;var D={};b.each(D,function(){u[E+q++]=this});D=u}g.source.records.sort(function(G,F){if(G===undefined){G=null}if(F===undefined){F=null}if(G===null&&F===null){return 0}if(G===null&&F!==null){return -1}if(G!==null&&F===null){return 1}var J=0;var I=0;if(G&&G.uid){J=G.uid}if(F&&F.uid){I=F.uid}G=G.toString();F=F.toString();if(b.jqx.dataFormat.isNumber(G)&&b.jqx.dataFormat.isNumber(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(b.jqx.dataFormat.isDate(G)&&b.jqx.dataFormat.isDate(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(G)&&!b.jqx.dataFormat.isNumber(F)){G=String(G).toLowerCase();F=String(F).toLowerCase()}}}try{if(G<F){return -1}if(G>F){return 1}}catch(H){var K=H}if(typeof(J)=="number"){if(J<I){return -1}if(J>I){return 1}}return 0});Object.prototype.toString=s}for(var A=0;A<g.source.records.length;A++){var p=g.source.records[A];g.rowsByKey[p.uid]=p;if(p.records&&p.records.length>0){var t=function(F){for(var G=0;G<F.length;G++){if(!F[G]){continue}g.rowsByKey[F[G].uid]=F[G];if(F[G].records&&F[G].records.length>0){t(F[G].records)}}};t(p.records)}if(A===0){var n=false;if(C){for(var z=0;z<C.length;z++){if(!C[z]){continue}if(!C[z].type){n=true;C[z].type="string";var l=p[C[z].name];if(l==undefined){continue}if(l===true||l===false){C[z].type="boolean"}if(l!=null&&l.toString().indexOf(g.gridlocalization.currencysymbol)>-1||l.toString().indexOf(g.gridlocalization.percentsymbol)>-1){var v=l.toString().split(" ").length;var k=new Number(g._toNumber(l.toString()));if(!isNaN(k)&&v==1){C[z].type="number"}}if(b.jqx.dataFormat.isNumber(l)||(!isNaN(parseFloat(l))&&isFinite(l))){C[z].type="number"}if(b.jqx.dataFormat.isDate(l)){C[z].type="date"}}}}if(n){for(var z=0;z<C.length;z++){var w=g.source.getvaluebytype(p[C[z].name],C[z]);if(w!=null&&C[z].type=="number"){var B=w;B=new Number(g._toNumber(B.toString()));if(!isNaN(B)){w=B}}p[C[z].name]=w}}}}if(j==="pager"||j==="filter"||j==="sort"){g.refresh()}else{g._render()}if(g.autoShowLoadElement&&!g._loading){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(!g.disabled){if(g.pagernexttop){g.pagerfirsttop.jqxButton({disabled:false});g.pagerfirstbottom.jqxButton({disabled:false});g.pagerlasttop.jqxButton({disabled:false});g.pagerlastbottom.jqxButton({disabled:false});g.pagernexttop.jqxButton({disabled:false});g.pagerprevioustop.jqxButton({disabled:false});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({disabled:false});g.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}g.pagernextbottom.jqxButton({disabled:false});g.pagerpreviousbottom.jqxButton({disabled:false})}}}g._updateTouchScrolling();g._raiseEvent("bindingComplete");if(c){c()}if(!g.initializedcall){g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){g._updatesize(true)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var r=6000+Math.floor((Math.random()*4000)+1);var x=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(x)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},r)}if(g.host.css("visibility")=="hidden"){var o=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}};this.dataview.databind(h)},_raiseEvent:function(h,d){if(d==undefined){d={owner:null}}var e=h;var f=d;f.owner=this;var g=new b.Event(e);g.owner=this;g.args=f;var c=this.host.trigger(g);d=g.args;return c},ensureColumnVisible:function(d){var g=0;var c=0;for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield!=d){g+=this.columns.records[f].width}else{g+=this.columns.records[f].width;c=this.columns.records[f].width;break}}if(this.hScrollBar.css("visibility")!="hidden"){var h=this.hScrollBar.jqxScrollBar("value");var e=h+this.host.width();if(h>g-c){this.hScrollBar.jqxScrollBar("setPosition",g-c)}else{if(g>e){this.hScrollBar.jqxScrollBar("setPosition",h+g-e)}}}},ensurerowvisiblebykey:function(o){if(this.vScrollBar[0].style.visibility==="hidden"){return false}var p=this._getuirow(o);if(!p){return}var m=this.vScrollBar.jqxScrollBar("value");var e=this.host.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:0}else{g+=this.showHeader?this.columnsheader.height():0}if(this.filterable){g+=this.filter.height()}if(this.pageable){if(this.pagerPosition==="top"){g+=this.pagerHeight}}if(this.showtoolbar){g+=this.toolbarHeight}e-=g;if(this.pageable&&this.pagerPosition!=="top"){e-=this.pagerHeight}if(this.showstatusbar){e-=this.statusBarHeight}if(this.showAggregates){e-=this.aggregatesHeight}if(this.hScrollBar.css("visibility")!="hidden"){e-=20}var n=this.host.coord().top+g;var f=m;var c=e+f;var i=p.coord().top+m-n;i=Math.round(i);var l=i+p.outerHeight();l=Math.round(l);if(Math.round(p.position().top)===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var j=b(this._table.children()[1]).children().length-1;var d=this._getuikey(j);var k=this._getuirow(d);if(k){if(k[0]===p[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}}if(i<f){var h=i-p.height();if(h<0){h=0}return this.vScrollBar.jqxScrollBar("setPosition",h)}if(l>c){return this.vScrollBar.jqxScrollBar("setPosition",4+l-e)}},ensureRowVisible:function(c){var d=this._getkey(c);this.ensurerowvisiblebykey(d)},getColumn:function(c){var d=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==c||this.displayfield==c){d=this;return false}})}return d},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}var d=g;g=g.toLowerCase();var f=this.getColumn(e);if(f==null){return}var i=f[g];f[g]=h;f[d]=h;var c=this.getColumn(e);if(c!=null){c[g]=h}switch(g){case"filteritems":case"text":case"editable":case"resizable":case"draggable":case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(g=="align"){this._rendercolumnheaders();this.refresh()}else{if(g=="text"||g=="class"||g=="hidden"||g=="pinned"||g=="resizable"||g=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(g=="width"||g=="maxwidth"||g=="minwidth"){f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(c,e){if(c==null||e==null){return null}e=e.toLowerCase();var d=this.getColumn(c);return d[e]},setColumnProperty:function(c,d,e){this._setcolumnproperty(c,d,e)},hideColumn:function(c){this._setcolumnproperty(c,"hidden",true)},showColumn:function(c){this._setcolumnproperty(c,"hidden",false)},updateBoundData:function(d,c){this.databind(this.source,d,c)},refresh:function(c){if(c!=true){if(b.jqx.isHidden(this.host)){return}this.vScrollInstance.setPosition(0);this._renderrows();this.updatepagerdetails();this._arrange();if(this._arrangeFilterRow){this._arrangeFilterRow()}this._renderhorizontalscroll();this._showicons();if(this.showAggregates){this._updateaggregates()}this._updateTouchScrolling()}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var d="www.jqwidgets.com";if(location.hostname.indexOf(d.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var e=String.fromCharCode(83,80,65,78);var c=String.fromCharCode(72,84,84,80,58,47,47);var f=document.createElement(e);f.id=b.jqx.utilities.createId();f.innerHTML=d;f.style.position="absolute";f.style.right="5px";f.style.bottom="5px";f.style.color="#909090";f.style.cursor="pointer";f.style.zIndex="999999";f.style.display="none";f.style.fontSize="9px";f.onmousedown=function(){open(c+d)};this.content[0].appendChild(f);this._gridRenderElement=f}}},_updateTouchScrolling:function(){var d=this.that;if(d.isTouchDevice()){var f=b.jqx.mobile.getTouchEventName("touchstart");var e=b.jqx.mobile.getTouchEventName("touchend");var c=b.jqx.mobile.getTouchEventName("touchmove");if(d.table){d.removeHandler(d.table,f+".touchScroll");d.removeHandler(d.table,c+".touchScroll");d.removeHandler(d.table,e+".touchScroll");d.removeHandler(d.table,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(d.table[0],Math.max(d.vScrollInstance.max,d.hScrollInstance.max),function(i,h){if(h!=null&&d.vScrollBar.css("visibility")!="hidden"){var g=d.vScrollInstance.value;d.vScrollInstance.setPosition(h)}if(i!=null&&d.hScrollBar.css("visibility")!="hidden"){var g=d.hScrollInstance.value;d.hScrollInstance.setPosition(i)}d.scrolled=new Date();d.vScrollInstance.thumbCapture=true},this.element.id,this.hScrollBar,this.vScrollBar)}}},_showicons:function(){if(!this.table){return}for(var e=0;e<this.columns.records.length;e++){var g=this.columns.records[e];b(g.filtericon).hide();b(g.sortasc).hide();b(g.sortdesc).hide();if(this.filterMode!=="simple"){for(var d=0;d<this.dataview.filters.length;d++){var f=this.dataview.filters[d];if(f.datafield===g.displayfield){b(g.filtericon).show();break}}}if(this.sortcolumn!==null){if(this.sortcolumn===g.displayfield){if(this.sortdirection!=null){if(this.sortdirection.ascending){b(g.sortasc).show()}else{b(g.sortdesc).show()}}}}if((g.align!="left"&&g.align!="center"&&!this.rtl)||(this.rtl&&g.align!="right"&&g.align!="center")){var h=b.jqx.isHidden(b(g.filtericon))?0:16;h+=b.jqx.isHidden(b(g.sortasc))?0:16;h+=b.jqx.isHidden(b(g.sortdesc))?0:16;var c=b(b(b(g.element).children()[0]).children()[0]);if(!this.rtl){if(h>0){c.css("margin-right",4+h+"px")}else{c.css("margin-right","4px")}}else{if(h>0){c.css("margin-left",4+h+"px")}else{c.css("margin-left","4px")}}}}},render:function(j){var f="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='toppager' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='statusbar' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerText="";this.element.innerHTML=f;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var h=this.host.find("#verticalScrollBar"+this.element.id);var l=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=h.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=l.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=b.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=b.data(this.hScrollBar[0],"jqxScrollBar").instance;this.filter=this.host.find("#filter");this.filter[0].id="filter"+this.element.id;this.filter.addClass(this.toTP("jqx-widget-header"));this.filter.addClass(this.toTP("jqx-grid-toolbar"));this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-grid-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.aggregates=this.host.find("#aggregates");this.aggregates[0].id="aggregates"+this.element.id;this.aggregates.addClass(this.toTP("jqx-grid-statusbar"));this.aggregates.addClass(this.toTP("jqx-widget-header"));this.statusbar=this.host.find("#statusbar");this.statusbar[0].id="statusbar"+this.element.id;this.statusbar.addClass(this.toTP("jqx-grid-statusbar"));this.statusbar.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.toppager=this.host.find("#toppager");this.toppager.addClass(this.toTP("jqx-grid-pager-top"));this.toppager.addClass(this.toTP("jqx-widget-header"));this.gridtable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var c=this.source.datafields;if(c==null&&this.source._source){c=this.source._source.datafields}if(c){for(var d=0;d<this.columns.length;d++){var e=this.columns[d];if(e&&e.cellsFormat&&e.cellsFormat.length>2){for(var k=0;k<c.length;k++){if(c[k].name==e.datafield&&!c[k].format){c[k].format=e.cellsFormat;break}}}}}this.databind(this.source);if(this.showtoolbar){this.toolbar.css("visibility","inherit")}if(this.showstatusbar){this.statusbar.css("visibility","inherit")}if(this.showAggregates){this.aggregates.css("visibility","inherit")}this.tableheight=null;var g=this;var i=function(){if(g.content){g.content[0].scrollTop=0;g.content[0].scrollLeft=0}if(g.gridcontent){g.gridcontent[0].scrollLeft=0;g.gridcontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(m){i();return false});if(j!==true){this._render()}},_render:function(){var e=this;if(e.dataview==null){return}if(e._loading){return}if(e.columnsHeight!=25||e.columnGroups){e._measureElement("column")}if(e.filterable){e.filter[0].style.visibility="inherit"}else{e.filter[0].style.visibility="hidden"}e.rowinfo=new Array();e._removeHandlers();if(e.columns==null){e.columns=new b.jqx.dataCollection(e.element)}else{e._initializeColumns()}var c=false;var f=false;if(e.width!=null&&e.width.toString().indexOf("%")!=-1){c=true}if(c){e.element.style.width=e.width}else{e.host.width(e.width)}if(e.height!=null&&e.height.toString().indexOf("%")!=-1){f=true}if(f){e.element.style.height=e.height}else{e.host.height(e.height)}e._lastHostWidth=e.host.width();e._lastHostHeight=e.host.height();b.jqx.utilities.html(e.content,"");e.columnsheader=e.columnsheader||b('<div style="overflow: hidden;"></div>');e.columnsheader.remove();e.columnsheader.addClass(e.toTP("jqx-widget-header"));e.columnsheader.addClass(e.toTP("jqx-grid-header"));if(!e.showHeader){e.columnsheader.css("display","none")}else{if(e.columnsheader){e.columnsheader.css("display","block")}}e.gridcontent=e.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');e.gridcontent.remove();var d=e.columnsHeight;d=e._preparecolumnGroups();e.columnsheader.height(d);e.content.append(e.columnsheader);e.content.append(e.gridcontent);e._rendercolumnheaders();e.tableheight=null;e.gridcontent.find("#contenttable"+e.element.id).remove();if(e.table!=null){e.table.remove();e.table=null}e.table=b('<div id="contenttable'+e.element.id+'" style="overflow: hidden; position: relative;"></div>');e.gridcontent.addClass(e.toTP("jqx-grid-content"));e.gridcontent.addClass(e.toTP("jqx-widget-content"));e.gridcontent.append(e.table);e._renderrows();if(e.filterable){e._renderfilter()}if(e.pageable){e._initpager()}e._arrange();if(e.renderStatusBar){e.renderStatusBar(e.statusbar)}if(e.rendertoolbar){e.rendertoolbar(e.toolbar)}if(e.showAggregates){e._updateaggregates()}if(e.disabled){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}e._renderhorizontalscroll();e._showicons();e._addHandlers()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},_initpager:function(){var g=this;var c=this.gridlocalization.pagergotopagestring;var i=this.gridlocalization.pagerrangestring;var d=this.gridlocalization.pagershowrowsstring;var h=(this.pagerHeight-28)/2;this.pagerdiv=this.pagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');this.toppagerdiv=this.toppagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.toppagerdiv.remove();return}if(!this.pagerRenderer){this.pagerdiv.css("top",h);this.toppagerdiv.css("top",h);var f=function(s,E){var n=this;var r=b('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');var D=b('<div style="float: right; margin-right: 7px;"></div>');var t=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var j=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var m=b('<div type="button" style="margin-left: 3px; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var q=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var z=b('<div style="margin-right: 7px; float: right;"></div>');var x=b('<div style="margin-right: 7px; float: right;"></div>');var p=b('<div style="padding-bottom: 3px; margin-right: 3px; float: right;"></div>');r.attr("disabled",n.disabled);var A=b('<div id="gridpagerlist" style="margin-top: 0px; margin-right: 7px; float: right;"></div>');A[0].id="gridpagerlist"+E+n.element.id;n.removeHandler(t,"mousedown");n.removeHandler(t,"mouseup");n.removeHandler(t,"click");n.removeHandler(j,"mousedown");n.removeHandler(j,"mouseup");n.removeHandler(j,"click");n.removeHandler(m,"mousedown");n.removeHandler(m,"mouseup");n.removeHandler(m,"click");n.removeHandler(q,"mousedown");n.removeHandler(q,"mouseup");n.removeHandler(q,"click");if(!n.rtl){j.attr("title",n.gridlocalization.pagerpreviousbuttonstring);t.attr("title",n.gridlocalization.pagernextbuttonstring)}else{t.attr("title",n.gridlocalization.pagerpreviousbuttonstring);j.attr("title",n.gridlocalization.pagernextbuttonstring)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){p.css("padding-top","3px")}this["pagerfirst"+E]=m;this["pagerlast"+E]=q;this["pagernext"+E]=t;this["pagerprevious"+E]=j;this["pagergotoinput"+E]=r;this["pagerdetails"+E]=z;this["pagershowrows"+E]=x;this["pagergotolabel"+E]=D;this["pagershowrowscombo"+E]=A;this["pagerbuttons"+E]=p;if(n.pagerMode=="default"){if(!n.rtl){m.attr("title",n.gridlocalization.pagerfirstbuttonstring);q.attr("title",n.gridlocalization.pagerlastbuttonstring)}else{q.attr("title",n.gridlocalization.pagerfirstbuttonstring);m.attr("title",n.gridlocalization.pagerlastbuttonstring)}var v=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");v.addClass(n.toThemeProperty("jqx-icon-arrow-first"));m.wrapInner(v);var o=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");o.addClass(n.toThemeProperty("jqx-icon-arrow-last"));q.wrapInner(o);if(!n.rtl){s.append(m);s.append(j);s.append(p);s.append(t);s.append(q)}else{s.append(q);s.append(t);s.append(p);s.append(j);s.append(m)}q.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});m.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var C=!n.rtl?"left":"right";p.css("float",C);q.css("float",C);m.css("float",C);t.css("float",C);j.css("float",C);z.css("float",n.rtl?"left":"right");if(n.rtl){z.css("margin-left","7px");z.css("margin-right","0px")}else{z.css("margin-left","0px");z.css("margin-right","7px")}}else{if(!n.rtl){s.append(t);s.append(j)}}t.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});j.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var k=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");k.addClass(n.toThemeProperty("jqx-icon-arrow-left"));j.wrapInner(k);var l=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");l.addClass(n.toThemeProperty("jqx-icon-arrow-right"));t.wrapInner(l);if(!n.rtl){s.append(z)}if(n.pagerMode!="default"){if(!n.rtl){s.append(A);s.append(x);s.append(r);s.append(D)}else{s.append(D);s.append(r);s.append(x);s.append(A);s.append(z);s.append(t);s.append(j)}var u=n.pageSizeOptions;A.jqxDropDownList({_checkForHiddenParent:false,rtl:n.rtl,disabled:n.disabled,source:u,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:n.theme});var B=0;for(var y=0;y<u.length;y++){if(this.pageSize>=u[y]){B=y}}D[0].innerHTML=c;A.jqxDropDownList({selectedIndex:B});var w=r.find("input");w.addClass(n.toThemeProperty("jqx-input"));w.addClass(n.toThemeProperty("jqx-widget-content"));if(this.rtl){w.css("direction","rtl")}var n=this;this.removeHandler(A,"select");this.addHandler(A,"select",function(K){if(K.args){if(n.vScrollInstance){n.vScrollInstance.setPosition(0)}var I=K.args.index;n.pagershowrowscombotop.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.renderSelection("mouse");n.pagershowrowscombotop.data().jqxDropDownList.instance.renderSelection("mouse");var L=n.dataview.pagenum*n.dataview.pagesize;var H=u[I];var J=n.pageSize;n.pageSize=parseInt(H);if(isNaN(n.pageSize)){n.pageSize=10}if(H>=100){n.pagershowrowscombotop.jqxDropDownList({width:55});n.pagershowrowscombobottom.jqxDropDownList({width:55})}else{n.pagershowrowscombotop.jqxDropDownList({width:44});n.pagershowrowscombobottom.jqxDropDownList({width:44})}n.dataview.pagesize=n.pageSize;var G=Math.floor(L/n.dataview.pagesize);if(G!==n.dataview.pagenum||parseInt(H)!==parseInt(J)){n._raiseEvent("pageSizeChanged",{pagenum:G,oldpageSize:J,pageSize:n.dataview.pagesize});var F=n.goToPage(G);if(!F){if(!n.serverProcessing){n.refresh()}else{n.updateBoundData("pager")}}}}});var r=r.find("input");r.addClass(n.toThemeProperty("jqx-grid-pager-input"));r.addClass(n.toThemeProperty("jqx-rc-all"));this.removeHandler(r,"keydown");this.removeHandler(r,"change");n.addHandler(r,"keydown",function(F){if(F.keyCode>=65&&F.keyCode<=90){return false}if(F.keyCode=="13"){var G=r.val();G=parseInt(G);if(!isNaN(G)){n.goToPage(G-1)}return false}});n.addHandler(r,"change",function(){var F=r.val();F=parseInt(F);if(!isNaN(F)){n.goToPage(F-1)}})}x[0].innerHTML=d;n.addHandler(t,"mouseenter",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseenter",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mouseleave",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseleave",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mousedown",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(t,"mouseup",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(j,"mousedown",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});n.addHandler(j,"mouseup",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});if(n.pagerMode==="default"){n.addHandler(q,"mouseenter",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseenter",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mouseleave",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseleave",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mousedown",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mousedown",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))});n.addHandler(q,"mouseup",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mouseup",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))})}n.addHandler(b(document),"mouseup.pagerbuttons"+E+this.element.id,function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"));k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"));if(o){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"));v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))}});n.addHandler(t,"click",function(){if(!t.jqxButton("disabled")){if(!n.rtl){n.goToNextPage()}else{n.goToPrevPage()}}});n.addHandler(j,"click",function(){if(!j.jqxButton("disabled")){if(!n.rtl){n.goToPrevPage()}else{n.goToNextPage()}}});if(this.pagerMode==="default"){n.addHandler(m,"click",function(){if(!m.jqxButton("disabled")){if(!n.rtl){n.goToPage(0)}else{var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}}});n.addHandler(q,"click",function(){if(!q.jqxButton("disabled")){if(!n.rtl){var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}else{n.goToPage(0)}}})}};this.pagerdiv.children().remove();this.toppagerdiv.children().remove();f.call(this,this.pagerdiv,"bottom");f.call(this,this.toppagerdiv,"top");this.pager.append(this.pagerdiv);this.toppager.append(this.toppagerdiv);this.updatepagerdetails()}else{this.pagerdiv.children().remove();this.toppager.children().remove();var e=this.pagerRenderer();if(e!=null){this.pagerdiv.append(b(e))}this.pager.append(this.pagerdiv);var e=this.pagerRenderer();if(e!=null){this.toppagerdiv.append(b(e))}this.toppager.append(this.toppagerdiv)}},_updatepagertheme:function(){},goToPage:function(f,h){if(this._loading){return false}if(this.editKey!=undefined){if(this.editSettings.saveOnPageChange){var e=this.endroweditbykey(this.editKey);if(!e){return false}}else{return false}}if(f==null||f==undefined){f=0}if(f==-1){f=0}if(f<0){return false}var d=this.dataview.totalrecords;var g=this.dataview.pagenum;var c=Math.ceil(d/this.pageSize);if(f>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(f>0){f=c-1}}if(this.dataview.pagenum!=f){if(this.pageable){this.dataview.pagenum=f;this._raiseEvent("pageChanged",{pagenum:f,oldpagenum:g,pageSize:this.dataview.pagesize})}if(!this.serverProcessing){this.refresh();if(h){if(b.isFunction(h)){h()}}}else{this.updateBoundData("pager",h)}return true}return false},goToPrevPage:function(e){if(this.dataview.pagenum>0){return this.goToPage(this.dataview.pagenum-1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){var d=this.dataview.totalrecords;var c=Math.ceil(d/this.pageSize);return this.goToPage(c-1,e)}}return false},goToNextPage:function(e){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var c=Math.ceil(d/this.pageSize);if(this.dataview.pagenum<c-1){return this.goToPage(this.dataview.pagenum+1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){return this.goToPage(0,e)}}return false},updatepagerdetails:function(){if(!this.pageable){return}var j=this;if(!this.serverProcessing){if(this.source.hierarchy){var m=j._names();var g=0;var r=function(y,w){for(var x=0;x<w.length;x++){if(j.dataview.filters.length==0){w[x]._visible=true}if(w[x]._visible!==false){g++}if(j.treeGrid&&j.treeGrid.pageSizeMode=="root"){continue}if(w[x].records&&(w[x][m.expanded]||w[x][m.leaf])){if(w[x]._visible!==false){r(y+1,w[x].records);if(j.treeGrid&&b(j.treeGrid).jqxTreeGrid("showSubAggregates")){if(y!=0){g--}}}}}};r(0,this.dataview.rows);this.dataview.totalrecords=g}else{this.dataview.totalrecords=this.dataview.rows.length}}var d=this.dataview.pagenum*this.pageSize;var u=(this.dataview.pagenum+1)*this.pageSize;if(u>=this.dataview.totalrecords){u=this.dataview.totalrecords}var v=this.dataview.totalrecords;d++;var t=Math.ceil(v/this.dataview.pagesize);if(t>=1){t--}t++;if(this.pageSizeMode=="root"){t=Math.ceil(this.rootRecordsLength/this.dataview.pagesize);if(t>=1){t--}t++;v=this.rootRecordsLength;this.dataview.totalrecords=this.rootRecordsLength}if(this.pagerMode!="default"){if(this["pagergotoinputbottom"]){var k=this["pagergotoinputbottom"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t);k=this["pagergotoinputtop"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t)}}else{var o="";var n=this.pagerButtonsCount;if(n==0||!n){n=5}var s=0;if(this.rtl){s=n-1}while((this.rtl&&s>=0)||(!this.rtl&&s<n)){var e=1+s;var p=this.dataview.pagenum/n;var f=Math.floor(p);e+=f*n;var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(e>t&&!this.rtl){break}else{if(this.rtl&&e>t){s--;continue}}if(!this.rtl){if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>";if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}}else{if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>"}if(this.rtl){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(!this.rtl){s++}else{s--}}if(!this["pagerbuttonsbottom"]){return}var h=this["pagerbuttonsbottom"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");var h=this["pagerbuttonstop"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");this["pagerbuttonsbottom"][0].innerHTML=o;this["pagerbuttonstop"][0].innerHTML=o;if(this.disabled){this.host.find(".jqx-grid-pager-number").css("cursor","default")}var q=function(){h.click(function(i){if(j.disabled){return}var w=b(i.target).attr("data-page");j.goToPage(parseInt(w)-1)});h.mouseenter(function(i){if(j.disabled){return}b(i.target).addClass(j.toTP("jqx-fill-state-hover"))});h.mouseleave(function(i){if(j.disabled){return}b(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};if(this.pagerPosition==="both"||this.pagerPosition==="bottom"){var h=this["pagerbuttonsbottom"].find("a");q(h)}if(this.pagerPosition==="both"||this.pagerPosition==="top"){var h=this["pagerbuttonstop"].find("a");q(h)}}if(u==0&&u<d){d=0}if(this["pagerdetailsbottom"]){if(!this.rtl){this["pagerdetailsbottom"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v;this["pagerdetailstop"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v}else{this["pagerdetailsbottom"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d;this["pagerdetailstop"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d}}if(this.pagerMode=="default"){var l=this["pagerbuttonsbottom"].width()+b(this["pagerdetailsbottom"]).width()+160;this.pagerdiv.css("min-width",l);this.toppagerdiv.css("min-width",l)}if(d>u){this.goToPrevPage()}},_preparecolumnGroups:function(){var o=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var m=this;for(var g=0;g<this.columnGroups.length;g++){this.columnGroups[g].parent=null;this.columnGroups[g].groups=null}for(var g=0;g<this.columns.records.length;g++){this.columns.records[g].parent=null;this.columns.records[g].groups=null}var n=function(j){for(var t=0;t<m.columnGroups.length;t++){var u=m.columnGroups[t];if(u.name===j){return u}}return null};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];if(!p.groups){p.groups=null}if(p.parentGroup){p.parentgroup=p.parentGroup}if(p.parentgroup){var r=n(p.parentgroup);if(r){p.parent=r;if(!r.groups){r.groups=new Array()}if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];if(p.columngroup){var r=n(p.columngroup);if(r){if(!r.groups){r.groups=new Array()}p.parent=r;if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}var q=0;for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];var d=p;p.level=0;while(d.parent){d=d.parent;p.level++}var d=p;var c=p.level;q=Math.max(q,p.level);while(d.parent){d=d.parent;if(d){d.level=--c}}}var l=function(x){var w=new Array();if(x.columngroup){w.push(x)}if(!x.groups){return new Array()}for(var v=0;v<x.groups.length;v++){if(x.groups[v].columngroup){w.push(x.groups[v])}else{if(x.groups[v].groups){var u=l(x.groups[v]);for(var t=0;t<u.length;t++){w.push(u[t])}}}}return w};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];var e=l(p);p.columns=e;var h=new Array();var s=0;for(var f=0;f<e.length;f++){h.push(this.columns.records.indexOf(e[f]));if(e[f].pinned){s++}}if(s!=0){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group cannot be pinned.")}h.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var k=1;k<h.length;k++){if(h[k]!=h[k-1]+1){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+q;o=this.columnGroupslevel*this.columnsHeight}return o},wheel:function(e,d){if(d.autoheight&&d.hScrollBar.css("visibility")=="hidden"){e.returnValue=true;return true}var f=0;if(!e){e=window.event}if(e.originalEvent&&e.originalEvent.wheelDelta){e.wheelDelta=e.originalEvent.wheelDelta}if(e.wheelDelta){f=e.wheelDelta/120}else{if(e.detail){f=-e.detail/3}}if(f){var c=d._handleDelta(f);if(c){if(e.preventDefault){e.preventDefault()}if(e.originalEvent!=null){e.originalEvent.mouseHandled=true}if(e.stopPropagation!=undefined){e.stopPropagation()}}if(c){c=false;e.returnValue=c;return c}else{return false}}if(e.preventDefault){e.preventDefault()}e.returnValue=false},_handleDelta:function(e){if(this.vScrollBar.css("visibility")!="hidden"){var d=this.vScrollInstance.value;if(e<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var c=this.vScrollInstance.value;if(d!=c){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var d=this.hScrollInstance.value;if(e>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var c=this.hScrollInstance.value;if(d!=c){return true}}}return false},_removeHandlers:function(){this.removeHandler(this.host,"focus");this.removeHandler(b(window),"jqxReady."+this.element.id);if(this._mousewheelfunc){this.removeHandler(this.host,"mousewheel",this._mousewheelfunc)}var c="mousedown";if(this.isTouchDevice()){c=b.jqx.mobile.getTouchEventName("touchstart")}this.removeHandler(this.host,"dragstart."+this.element.id);this.removeHandler(this.host,"keydown");if(this.table){this.removeHandler(this.table,"mouseleave");this.removeHandler(this.table,"mousemove");this.removeHandler(this.table,c);this.removeHandler(this.table,"selectstart."+this.element.id);if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.removeHandler(this.table,"dblclick")}}},_addHandlers:function(){var f=this;this._mousewheelfunc=this._mousewheelfunc||function(i){f.wheel(i,f);return false};this.addHandler(this.host,"dragstart."+this.element.id,function(i){return false});this.addHandler(this.table,"selectstart."+this.element.id,function(i){if(f.enableBrowserSelection){return true}if(f.filterable){if(b(i.target).ischildof(f.filterrow)){return true}}if(f.rowDetails){if(b(i.target).parents("[data-role=details]").length>0){return true}}if(undefined==f.editKey){return false}});this.addHandler(b(window),"jqxReady."+this.element.id,function(){f._updatecolumnwidths();f.refresh()});if(this.editable){this.addHandler(b(document),"mousedown.gridedit"+this.element.id,function(k){if(f.editable&&f.editSettings.saveOnBlur){if(f.editKey!=null){if(!f.vScrollInstance.isScrolling()&&!f.vScrollInstance.isScrolling()){var s=f.host.coord();var p=f.host.width();var l=f.host.height();var u=false;var j=false;var t=false;if(k.pageY<s.top||k.pageY>s.top+l){u=true;j=true}if(k.pageX<s.left||k.pageX>s.left+p){u=true;t=true}if(u){var m=function(y){var x=b(y.children()[0]).data();if(x&&!x.jqxWidget){x=y.data()}if(!x){x=y.data()}if(x.jqxWidget&&x.jqxWidget.container&&x.jqxWidget.container[0].style.display=="block"){var i=x.jqxWidget;var z=i.container.coord().top;var w=i.container.coord().top+i.container.height();if(j&&(k.pageY<z||k.pageY>w)){u=true;i.close();return true}else{return false}}};var r=f._editors;if(r){for(var n=0;n<r.length;n++){var o=r[n].editor;var v=m(o);var q=o.attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}else{q=o.children().attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}}if(v===false){return}}}}if(u){f.endroweditbykey(f.editKey)}}}}})}this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"focus",function(i){if(i.preventDefault){}});var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}}else{f._timer=setTimeout(function(){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}},5)}};this.hScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f._renderhorizontalscroll()}}else{f._timer=setTimeout(function(){if(f.table){f._renderhorizontalscroll()}},5)}};var e="mousedown";if(this.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend");if(b.jqx.browser.msie&&b.jqx.browser.version<10){e="mousedown"}}var h=function(s,r){var m=null;var n=f._table.coord();var u=n.top;var A=n.left;var B=f._table[0].rows;for(var o=0;o<B.length;o++){var z=B[o];var w=z.cells;for(var p=0;p<w.length;p++){var t=w[p];var l=t.offsetLeft+A;var q=t.offsetTop+u;var k=t.offsetWidth;var v=t.offsetHeight;if(k===0||v===0){continue}if(q<=r&&r<q+v){if(l<=s&&s<l+k){m=t;break}}else{break}}}return m};var c=function(){if(f.hoveredRow){var j=f.hoveredRow[0].cells;var i=function(m){for(var n=0;n<m.length;n++){var l=m[n];var o=l.className;o=o.replace(" "+f.toTP("jqx-fill-state-hover"),"");o=o.replace(" "+f.toTP("jqx-grid-cell-hover"),"");l.className=o}};i(j);if(f._pinnedTable&&j.length>0){var k=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;i(k)}}f.hoveredRow=null};this.addHandler(this.table,"mouseleave",function(i){c();if(f.wrapper){f.wrapper.parent().removeAttr("tabindex",0);f.wrapper.removeAttr("tabindex",1);f.content.removeAttr("tabindex",2)}});var g=function(o){if(!f.enableHover){return true}f.hoveredRow=o;if(!o){return true}var l=o[0].cells;var n=f.rowDetails&&!f.treeGrid;var q=n&&!f.treeGrid?1:0;var k=0;if(q>0&&f.rtl){q=0;k=1}for(var m=q;m<l.length-k;m++){var j=l[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}if(f._pinnedTable){if(f._pinnedTable[0].rows.length){var p=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;for(var m=q;m<p.length-k;m++){var j=p[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}}}};if(f.isTouchDevice()){f.enableHover=false}this.addHandler(this.table,"mousemove",function(j){var i=j.pageX;var m=j.pageY;if(f.disabled){return true}if(!f.enableHover){return true}if(f.hScrollInstance.isScrolling()||f.vScrollInstance.isScrolling()){return true}var l=h(i,m);if(!l){return true}var k=b(l).parent();c();if(f.rowDetails&&f.treeGrid){if(k.attr("data-role")=="row-details"){return true}}if(f.renderedRecords&&f.renderedRecords.length===0){return true}if(f.editKey!=null){if(f.editKey===k.attr("data-key")){return true}}g(k);return true});this.addHandler(this.host,"keydown",function(i){return f._handleKey(i)});if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(i){f.table.trigger("mousedown",i)})}this.addHandler(this.table,e,function(B){var D=B.target;var q=null;if(f.disabled){return true}if(f.touchmode&&B.originalEvent&&B.originalEvent._pageX){return}var i=f.table.coord();var s=B.pageX;var r=B.pageY;if(b.jqx.browser.msie&&b.jqx.browser.version<9){if(arguments&&arguments.length==2){s=arguments[1].pageX;r=arguments[1].pageY}}if(f.isTouchDevice()){var E=b.jqx.position(B);s=E.left;r=E.top;if(isNaN(s)||isNaN(r)){var E=b.jqx.position(B.originalEvent);s=E.left;r=E.top}}q=h(s,r);var p=b(q).parent();var F=p.attr("data-key");if(f.rowDetails&&f.treeGrid){if(p.attr("data-role")=="row-details"){return true}}var v=function(){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}B.stopPropagation()}f.host.focus()};if(F!==undefined){var m=b(q).index();var k=f.columns.records[m];if(F==f.editKey){if(f.editSettings.editSingleCell){if(f.clickedTD==q){return true}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}}else{return true}}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}f.clickedTD=q;var l=f.rowinfo[F];if(l&&l.group){return true}var A=false;if(l){var C=f.getrowdisplayindex(l.row);var t=f.getrowindex(l.row);f._raiseEvent("rowClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});var o=new Date().getTime();var w=300;if(!f.clickTime){f.clickTime=new Date()}if(f._lastSelectedKey==F&&(o-f.clickTime.getTime()<w)){f._raiseEvent("rowDoubleClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});A=true;if(B.preventDefault){B.preventDefault()}}}f.clickTime=new Date();if(q.className.indexOf("jqx-grid-group")>=0){if(!l.expanded){f.showdetailsbykey(F)}else{f.hidedetailsbykey(F)}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("jqx-grid-group")>=0&&f.treeGrid){if(!l.expanded){f.treeGrid.expandRow(F)}else{f.treeGrid.collapseRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}if(B.preventDefault){B.preventDefault()}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("checkbox")>=0&&f.treeGrid){if(!l.checked){f.treeGrid.checkRow(F)}else{f.treeGrid.uncheckRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}}else{var m=b(q).index();var k=f.columns.records[m];if(B.stopPropagation){B.stopPropagation()}if(f.editable&&f.editKey==null){if(f._lastSelectedKey==F&&f.editSettings.editOnDoubleClick&&A){var u=f.beginroweditbykey(F,k);return true}}if(f.isTouchDevice()){if(f.scrolled&&new Date()-f.scrolled<500){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return false}}if(f.selectionMode==="singlerow"&&f.selectionMode!=="custom"){f.selectrowbykey(F,"mouse",false);f._lastSelectedKey=F;f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}else{if(f.selectionMode!=="custom"){if(!B.ctrlKey&&!B.metaKey){f.clearSelection(false)}if(B.shiftKey){if(f._lastSelectedKey){var l=f.rowinfo[f._lastSelectedKey];f._doSelection(f._lastSelectedKey,true,false);var j=b(f._table.children()[1]).children(("[data-key="+f._lastSelectedKey+"]"));var n=j.index();var z=p.index();f._selectRange(z,n);f.selectrowbykey(F,"mouse",false);f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}}}f._lastSelectedKey=F;f.clickTime=new Date();if(f.selectionMode!=="custom"){if(l){if(l.selected){f.unselectrowbykey(F,"mouse",false)}else{f.selectrowbykey(F,"mouse",false)}v()}}else{return true}f._updateSelection();if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return true}}}}}})},_updateSelection:function(){var l=this;var r=b(l._table.children()[1]).children();var n=l._pinnedTable?b(l._pinnedTable.children()[1]).children():null;var e=l.rowDetails&&!l.treeGrid;var d=e?1:0;var f=0;if(d>0&&l.rtl){d=0;f=1}for(var h=0;h<r.length;h++){var q=r[h].cells;if(n){var c=n[h].cells}var p=null;if(r[h].getAttribute){p=r[h].getAttribute("data-key")}if(l.rowinfo[p]&&l.selectionMode!=="none"){if(l.rowinfo[p].selected){for(var g=d;g<q.length-f;g++){var o=q[g];b(o).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"));if(c){b(c[g]).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"))}}}else{for(var g=d;g<q.length-f;g++){var o=q[g];if(c){var k=c[g]}var m=o.className;m=m.replace(" jqx-fill-state-pressed","");m=m.replace(" jqx-fill-state-pressed-"+l.theme,"");m=m.replace(" jqx-grid-cell-selected","");m=m.replace(" jqx-grid-cell-selected-"+l.theme,"");o.className=m;if(k){k.className=m}}}}}},_selectRange:function(f,e){var c=b(b(this._table.children()[1]).children()[e]);var j=this;if(f>e){var h=e;var d=c;while(h<f){var d=d.next();var g=d.attr("data-key");j._doSelection(g,true,false);h++}}else{if(f<e){var h=e;var d=c;while(h>f){var d=d.prev();var g=d.attr("data-key");this._doSelection(g,true,false);h--}}}},_getuikey:function(d,g){var f=null;var e=b(this._table.children()[1]).children();f=b(e[d]).attr("data-key");if(b(e[d]).attr("data-role")){var c=b(e[d]);if(g=="next"){while(c){c=c.next();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}else{if(g=="prev"){while(c){c=c.prev();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}}return null}return f},getRows:function(){return this.source.records},getView:function(){var d=this;var e=this._names();var f=new Array();var c=function(k,h){if(!h){return}for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j]._visible!==false){var g=b.extend({},h[j]);k.push(g);if(h[j][e.expanded]){g.records=new Array();c(g.records,h[j].records)}else{if(d.dataview.filters.length>0){g.records=new Array();c(g.records,h[j].records)}}}}};c(f,this.dataViewRecords);return f},getKeys:function(){var d=new Array();var e=this.source.records;for(var c=0;c<e.length;c++){d.push(e[c].uid)}return d},getKey:function(c){var d=this.getRows();if(d){return d[c].uid}else{return -1}},_getkey:function(e){if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}var f=null;var d=function(){var l=b(this._table.children()[1]).children();var k=null;var n=0;if(this.pageable){n-=this.dataview.pagenum*this.dataview.pagesize}if(this.groups.length>0){var h=0;for(var j=0;j<l.length;j++){var o=b(l[j]);var m=o.children()[0].getAttribute("colspan");if(m>0){continue}if(h===n+e){k=o.attr("data-key");return k}h++}return k}if(this.rowDetails){var h=0;for(var j=0;j<l.length;j++){if(h===e+n){k=b(l[j]).attr("data-key");return k}if(j%2==1){h++}}}else{k=b(l[n+e]).attr("data-key")}return k};f=d.call(this);if(f==null){if(this.pageable){var c=Math.floor(e/this.dataview.pagesize);if(this.dataview.pagenum!=c){var g=this.getRows()[e];if(g&&g.uid!=null){return g.uid}else{if(isNaN(c)){return null}this.goToPage(c);f=d.call(this)}}}}return f},_getuirow:function(g){try{var c=b(this._table.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._table.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_getpinneduirow:function(g){if(!this._pinnedTable){return null}try{var c=b(this._pinnedTable.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._pinnedTable.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_names:function(){var d={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"};if(!this.source||(this.source&&!this.source._source.hierarchy)){return d}var c=this.source._source.hierarchy.reservedNames;if(!c){return d}return c},_getMatches:function(f,g){if(f==undefined||f.length==0){return -1}var c=this.renderedRecords;if(g!=undefined){c=c.slice(g)}var e=0;if(this.rowDetails&&!this.treeGrid){e++}if(e<this.columns.records.length){var d=this.columns.records[e].datafield}else{new Array()}var h=new Array();b.each(c,function(k){var l=this[d];if(!l){l=""}var j=b.jqx.string.startsWithIgnoreCase(l.toString(),f);if(j){h.push(this.uid)}});return h},_handleKey:function(X){if(this._loading){return true}if(b(X.target).ischildof(this.filter)){return true}if(b(X.target).ischildof(this.toolbar)){return true}if(b(X.target).ischildof(this.statusbar)){return true}var T=this._names();var I=this;var s=X.charCode?X.charCode:X.keyCode?X.keyCode:0;var n=this._lastSelectedKey;var V=this.rowinfo[n];var v=this._getuirow(n);var x=X.shiftKey&&this.selectionMode!="singlerow";var Q=X.ctrlKey||X.metaKey;if(!v){return}if(this.handleKeyboardNavigation){var u=this.handleKeyboardNavigation(s);if(u){return true}}if(this.editable&&this.editKey==undefined&&s===113&&this.editSettings.editOnF2){this.beginroweditbykey(v.attr("data-key"))}if(this.editKey==undefined){if(!Q&&!x&&this.incrementalSearch&&(!(s>=33&&s<=40))){var z=-1;if(!this._searchString){this._searchString=""}if((s==8||s==46)&&this._searchString.length>=1){this._searchString=this._searchString.substr(0,this._searchString.length-1)}var e=String.fromCharCode(s);var H=(!isNaN(parseInt(e)));var J=false;if((s>=65&&s<=97)||H||s==8||s==32||s==46){if(!X.shiftKey){e=e.toLocaleLowerCase()}if(s!=8&&s!=32&&s!=46){if(!(this._searchString.length>0&&this._searchString.substr(0,1)==e)){this._searchString+=e}}if(s==32){this._searchString+=" "}this._searchTime=new Date();var n=this.getSelection();if(n.length>=1){var t=n[0].uid;var C=-1;for(var S=0;S<this.renderedRecords.length;S++){if(this.renderedRecords[S].uid==t){C=S;break}}var B=this._getMatches(this._searchString,C);if(B.length==0||(B.length>0&&B[0]==t)){var B=this._getMatches(this._searchString)}}else{var B=this._getMatches(this._searchString)}if(B.length>0){var n=this.getSelection();if(n.length>=1){var c=B.indexOf(n[0].uid);if(c==-1){this.clearSelection(false);this.selectrowbykey(B[0])}else{var h=c+1;if(h>=B.length){h=0}this.clearSelection(false);this.selectrowbykey(B[h])}}else{this.clearSelection(false);this.selectrowbykey(B[0])}this._lastSearchString=this._searchString}}if(this._searchTimer!=undefined){clearTimeout(this._searchTimer)}if(s==27||s==13){this._searchString="";this._lastSearchString=""}this._searchTimer=setTimeout(function(){I._searchString="";I._lastSearchString=""},500);if(z>=0){return}if(J){return false}}}if(this.editKey!=undefined){if(s===27&&this.editSettings.cancelOnEsc){this.endroweditbykey(this.editKey,true)}else{if(s===13&&this.editSettings.saveOnEnter){if(X.target&&X.target.nodeName.toLowerCase()!="div"&&X.target.nodeName.toLowerCase()!="input"){return true}this.endroweditbykey(this.editKey,false)}else{if(this.editSettings.editSingleCell){if(this.editColumn){var P=this.columns.records.indexOf(this.editColumn);if(s==9&&P<this.columns.records.length-1&&!X.shiftKey){var M=this.editKey;var y=null;for(var S=P+1;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){y=this.columns.records[S];break}}if(y){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,y)}}else{if(s==9&&X.shiftKey&&P>0){var M=this.editKey;var E=null;for(var S=P-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){E=this.columns.records[S];break}}if(E){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,E)}}}if(s==9){var o=this.rowinfo[this.editKey];var C=this.getrowindex(o);var v=this._getuirow(this.editKey);if(!X.shiftKey&&!y){var N=null;for(var S=0;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});var q=this.endroweditbykey(this.editKey,false);if(q){this._doSelection(F,true,true);this.beginroweditbykey(F,N)}else{this.beginroweditbykey(this.editKey,N)}}}}else{if(!E&&X.shiftKey){var N=null;for(var S=this.columns.records.length-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});this.endroweditbykey(this.editKey,false);this._doSelection(F,true,true);this.beginroweditbykey(F,N)}}}}return false}}}}}return true}if(X.ctrlKey||X.metaKey){var f=String.fromCharCode(s).toLowerCase();if(f=="c"||f=="x"){var n=this.getSelection();if(n.length>=1){var w="";for(var K=0;K<this.renderedRecords.length;K++){var Y=this.renderedRecords[K];for(var S=0;S<n.length;S++){var o=n[S];if(o.uid===Y.uid){for(var R=0;R<this.columns.records.length;R++){var A=this.getCellTextByKey(o.uid,this.columns.records[R].displayfield);w+=A;if(R<this.columns.records.length-1){w+="\t"}}w+="\r\n";break}}}if(w!=""){w=w.substring(0,w.length-1)}if(window.clipboardData){window.clipboardData.setData("Text",w)}else{var O=b('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');O.val(w);b("body").append(O);O.select();setTimeout(function(){document.designMode="off";O.select();O.remove()},100)}}}}if(s===32&&this.treeGrid){if(this.treeGrid.checkboxes){var n=this.getSelection();if(n.length>1){for(var S=0;S<n.length;S++){var G=n[S].uid;if(this.rowinfo[G].checked){this.treeGrid.uncheckRow(G,false)}else{this.treeGrid.checkRow(G,false)}}this._renderrows();return false}else{var t=v.attr("data-key");if(t){if(this.rowinfo[t].checked){this.treeGrid.uncheckRow(t)}else{this.treeGrid.checkRow(t)}return false}}}}var d=v.index();var W=function(Z){var j=null;var p=b(I._table.children()[1]).children().length-1;var i=b(b(I._table.children()[1]).children()[p]);var aa=i.attr("data-role");if(!aa){j=i.attr("data-key")}else{while(i){i=i.prev();if(i){var aa=i.attr("data-role");if(!aa){j=i.attr("data-key");break}}}}if(Z=="all"){return{row:i,key:j}}return j};var g=function(p){var j=null;var i=b(b(I._table.children()[1]).children()[0]);var Z=i.attr("data-role");if(!Z){j=i.attr("data-key")}else{while(i){i=i.next();if(i){var Z=i.attr("data-role");if(!Z){j=i.attr("data-key");break}}}}if(p=="all"){return{row:i,key:j}}return j};var t=null;var l=function(){if(!Q&&!x){I.clearSelection(false)}if(s==33||s==37){var j=d;t=I._getuikey(j,"prev");if(!t){t=g()}}else{if(s==34||s==39){var j=d;t=I._getuikey(j,"next");if(!t){t=W()}}else{if(s==38){t=W()}else{if(s==40){t=g()}}}}I._lastSelectedKey=t;var p=I.rowsByKey[t];var j=I.getrowindex(p);var i=I.getrowdisplayindex(p);I._raiseEvent("rowSelect",{key:t,index:i,boundIndex:j,row:I.rowsByKey[t]});I._doSelection(t,true,true);I.host.focus()};var k=function(){I.clearSelection(false);var i=g();if(x||Q){I._selectRange(v.index(),0)}else{I._lastSelectedKey=i}I.selectrowbykey(i,"keyboard")};var r=function(){I.clearSelection(false);var i=W("all");var j=i.key;if(x||Q){I._selectRange(v.index(),i.row.index())}else{I._lastSelectedKey=j}I.selectrowbykey(j,"keyboard")};if(this.treeGrid&&this.rtl){if(s==37){s=39}else{if(s==39){s=37}}}if(s==36||(Q&&s==38)){k();return false}else{if(s==35||(Q&&s==40)){r();return false}else{if(s==33||s==37){var t=v.attr("data-key");if(this.rowDetails&&s==37&&!this.treeGrid){this.hidedetailsbykey(t);return false}else{if(this.treeGrid&&s==37){if(this.rowinfo[t].row&&!this.rowinfo[t].row[T.parent]&&!this.rowinfo[t][T.leaf]&&!this.rowinfo[t].expanded){return false}if(this.rowinfo[t].expanded&&!this.rowinfo[t][T.leaf]){this.treeGrid.collapseRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row[T.parent]){t=this.rowinfo[t].row[T.parent].uid}}if(this.rowinfo[t][T.leaf]){return false}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToPrevPage(l)}else{this.goToNextPage(l)}return false}if(this.treeGrid&&this.pageable&&s==33){this.goToPrevPage(l);return false}}else{if(s==34||s==39){var t=v.attr("data-key");if(this.rowDetails&&s==39&&!this.treeGrid){this.showdetailsbykey(t);return false}else{if(this.treeGrid&&s==39){if(this.rowinfo[t][T.leaf]){return false}if(!this.rowinfo[t].expanded){this.treeGrid.expandRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row.records&&this.rowinfo[t].row.records.length>0){if(this.dataview.filters.length>0){var m=this.rowinfo[t].row.records;for(var S=0;S<m.length;S++){if(m[S]._visible){t=m[S].uid;break}}}else{t=this.rowinfo[t].row.records[0].uid}}}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToNextPage(l)}else{this.goToPrevPage(l)}return false}if(this.treeGrid&&this.pageable&&s==34){this.goToNextPage(l);return false}}else{if(s==38){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToPrevPage(l);return false}}else{if(s==40){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToNextPage(l);return false}}}}}}}if(t!=null){if(!Q&&!x){this.clearSelection(false)}if(this.rowinfo[t]){if(this.rowinfo[t].selected&&(Q||x)){this._doSelection(this._lastSelectedKey,false,false);this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowUnselect",{key:t,index:L,boundIndex:C,row:o});return false}}this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);this._doSelection(t,true,false);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:t,index:L,boundIndex:C,row:o});if(this.treeGrid){if(s==37){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null&&this.dataview.pagenum>0){while(this._getuirow(t)==null&&this.dataview.pagenum>0){this.goToPrevPage()}}}else{if(s==39){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null){this.goToNextPage()}}}}return false}},_selection:function(c){if("selectionStart" in c[0]){var h=c[0];var i=h.selectionEnd-h.selectionStart;return{start:h.selectionStart,end:h.selectionEnd,length:i,text:h.value}}else{var f=document.selection.createRange();if(f==null){return{start:0,end:h.value.length,length:0}}var d=c[0].createTextRange();var g=d.duplicate();d.moveToBookmark(f.getBookmark());g.setEndPoint("EndToStart",d);var i=f.text.length;return{start:g.text.length,end:g.text.length+f.text.length,length:i,text:f.text}}},_doSelection:function(c,e,d){if(c==null){this.clearSelection();return}if(this.selectionMode==="singlerow"){this.clearSelection(false)}var f=this.rowinfo[c];if(f){f.selected=e;this.ensurerowvisiblebykey(c)}else{this.ensurerowvisiblebykey(c);var f=this.rowinfo[c];if(f){f.selected=e}else{this.rowinfo[c]={selected:e}}}if(this.selectionMode!="none"){if(d!==false){this._renderrows()}}},clearSelection:function(e){if(this.rowinfo){var f=this.getRows();for(var h in this.rowinfo){var g=this.rowinfo[h];if(g.selected){g.selected=false;var d=f.indexOf(g.row);var c=this.getrowdisplayindex(g.row);this._raiseEvent("rowUnselect",{key:h,index:c,boundIndex:d,row:g.row})}}}if(e!==false){this._renderrows()}},exportData:function(t){if(!b.jqx.dataAdapter.ArrayExporter){if(!this.treeGrid){throw"jqxDataTable: Missing reference to jqxdata.export.js!"}throw"jqxTreeGrid: Missing reference to jqxdata.export.js!"}var h=this.exportSettings.columnsHeader;if(h==undefined){h=true}var w=this.exportSettings.hiddenColumns;if(w==undefined){w=false}var P=this.exportSettings.serverURL;var I=this.exportSettings.characterSet;var ac=this.exportSettings.collapsedRecords;if(ac==undefined){ac=false}var F=this.exportSettings.fileName;if(F===undefined){F=this.treeGrid?"jqxTreeGrid_Data":"jqxDataTable_Data"}var s=this;var Y=this.getRows();if(this.exportSettings.recordsInView==true){Y=this.getView()}if(this.treeGrid&&this.treeGrid.virtualModeCreateRecords){var Y=this.treeGrid.getRows()}if(this.groups&&this.groups.length>0){var k=this.source.getGroupedRecords(this.groups,"records","label",null,"data",null,"parent",Y);var m=function(o,ad){for(var af=0;af<o.length;af++){var j=b.extend({},o[af]);ad.push(j);if(j.records&&j.records.length>0){var ag=m(j.records,new Array());for(var ae=0;ae<ag.length;ae++){if(ag[ae].leaf){ad.push(ag[ae])}else{ad.push(ag[ae])}}}}return ad};var S=m.call(this,k,new Array());Y=S}if(Y.length==0){throw"No data to export."}this.exporting=true;if(this.altRows){this._renderrows()}var p=new Array();for(var X=0;X<this.columns.records.length;X++){if(!w&&this.columns.records[X].hidden){continue}p.push(b.extend({},this.columns.records[X]))}if(this.groups&&this.groups.length>0){if(p.length>0){var aa=this._names();for(var X=0;X<Y.length;X++){if(!Y[X][aa.leaf]){if(!s.rtl){Y[X][p[0].displayfield]=Y[X].label}else{Y[X][p[p.length-1].displayfield]=Y[X].label}}}}}var g=0;if(this.treeGrid){var L=this.treeGrid.getRows();if(this.exportSettings.recordsInView==true){L=this.getView()}var aa=this._names();var d=function(ad){for(var ae=0;ae<ad.length;ae++){var j=ad[ae];var o=j[aa.expanded]||(!j[aa.expanded]&&ac);g=Math.max(g,1+j[aa.level]);if(j.records&&j.records.length>0&&o){d(ad[ae].records)}}};d(L);if(t!="xml"&&t!="json"){var u=p.length;for(var X=0;X<g;X++){var Q=new a(this,this);Q.width=this.indentWidth;Q.datafield="Level"+X;Q.displayfield="Level"+X;Q.align="center";Q.cellsalign="center";Q.text="";if(!this.rtl){p.splice(X,0,Q)}else{p.splice(u,0,Q)}}var y=new Array();var x=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?true:false;var U=function(ae){for(var ag=0;ag<ae.length;ag++){var o=b.extend({},ae[ag]);for(var af=0;af<o[aa.level];af++){o["Level"+af]=""}var ad=o[aa.expanded]||(!o[aa.expanded]&&ac);if(t=="xls"||t=="html"||t=="pdf"){if(o.records&&o.records.length>0){o["Level"+o[aa.level]]=ad?"-":"+"}else{o["Level"+o[aa.level]]=""}}else{o["Level"+o[aa.level]]=""}if(o[aa.leaf]){o["Level"+o[aa.level]]=""}for(var af=o[aa.level]+1;af<g;af++){o["Level"+af]=""}if(x&&!o[aa.leaf]){if(!s.rtl){o[p[g].displayfield]=o.label}else{o[p[p.length-g-1].displayfield]=o.label}}if(o.aggregate){var ai=t=="xls"?"_AG":"";for(var af=g;af<p.length;af++){var ah=af;if(s.rtl){ah=p.length-af-1}if(o[p[ah].displayfield]!=undefined){o[p[ah].displayfield]=ai+o[p[ah].displayfield]}}}y.push(o);if(ad&&!o[aa.leaf]){U(o.records)}}};U(L);Y=y}else{Y=L}}var f=w!=undefined?w:false;var Z={};var C={};var l=[];var M=this.host.find(".jqx-grid-cell:first");var n=this.host.find(".jqx-grid-cell-alt:first");var K=this;M.removeClass(K.toThemeProperty("jqx-grid-cell-selected"));M.removeClass(K.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(K.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(K.toThemeProperty("jqx-fill-state-pressed"));M.removeClass(K.toThemeProperty("jqx-grid-cell-hover"));M.removeClass(K.toThemeProperty("jqx-fill-state-hover"));n.removeClass(K.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(K.toThemeProperty("jqx-fill-state-hover"));var E="cell";var B=1;var J="column";var z=1;var A=[];for(var V=0;V<p.length;V++){var Q=p[V];if(Q.cellclassname!=""){Q.customCellStyles=new Array();if(typeof Q.cellclassname=="string"){Q.customCellStyles.push(Q.cellclassname)}else{for(var X=0;X<Y.length;X++){var c=X;var W=Q.cellclassname(c,Q.displayfield,Y[X][Q.displayfield],Y[X]);if(W){Q.customCellStyles[X]=W}}}}}b.each(p,function(af){var ai=af;if(s.treeGrid){if(af>=g){ai=p.length-g-1}else{if(g>0&&af<g){ai=0}}}var aj=b(s._table[0].rows[0].cells[ai]);if(s._table[0].rows.length>1){var j=b(s._table[0].rows[1].cells[ai]);if(j.length==0){var j=b(s._table[0].rows[1].cells[0])}}if(aj.length==0){var aj=b(s._table[0].rows[0].cells[0])}var ae=this;var ag=function(am){am.removeClass(K.toThemeProperty("jqx-cell"));am.removeClass(K.toThemeProperty("jqx-grid-cell-selected"));am.removeClass(K.toThemeProperty("jqx-fill-state-pressed"));am.removeClass(K.toThemeProperty("jqx-grid-cell-hover"));am.removeClass(K.toThemeProperty("jqx-fill-state-hover"));if(ae.customCellStyles){for(var an in ae.customCellStyles){am.removeClass(ae.customCellStyles[an])}}};ag(aj);if(j){ag(j)}if(this.displayfield==null){return true}if(s.showAggregates){if(s.getcolumnaggregateddata){if(s.treeGrid){var al=function(am,an){for(var ao=0;ao<am.length;ao++){var o=am[ao];if(o.level===0){an.push(o)}}return an};A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,al(Y,[])))}else{A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,Y))}}}var ah=s._getexportcolumntype(this);if(this.exportable&&(!this.hidden||f)){Z[this.displayfield]={};Z[this.displayfield].text=this.text;Z[this.displayfield].width=parseInt(this.width);if(isNaN(Z[this.displayfield].width)){Z[this.displayfield].width=60}if(Z[this.displayfield].width>500){Z[this.displayfield].width=500}Z[this.displayfield].formatString=this.cellsFormat;Z[this.displayfield].localization=s.gridlocalization;Z[this.displayfield].type=ah;Z[this.displayfield].cellsAlign=this.cellsalign;Z[this.displayfield].hidden=!h;Z[this.displayfield].index=ai;Z[this.displayfield].maxIndex=p.length}E="cell"+B;var ak=this.element;if(t!="json"&&t!="xml"){J="column"+z;var i=function(o,au,at,am,ar,ao,an,ap,aq){C[o]={index:1+an,maxIndex:p.length};if(ao.rtl){C[o].index=p.length-an}if(t=="html"||t=="xls"||t=="pdf"){if(au){C[o]["font-size"]=au.css("font-size");C[o]["font-weight"]=au.css("font-weight");C[o]["font-style"]=au.css("font-style");C[o]["background-color"]=ao._getexportcolor(au.css("background-color"));C[o]["color"]=ao._getexportcolor(au.css("color"));C[o]["border-color"]=ao._getexportcolor(au.css("border-top-color"))}if(at){C[o]["text-align"]=ar.align}else{C[o]["text-align"]=ar.cellsalign;C[o]["formatString"]=ar.cellsFormat;C[o]["dataType"]=ah}if(t=="html"||t=="pdf"){C[o]["border-top-width"]="0px";if(!ao.rtl){C[o]["border-left-width"]="0px";C[o]["border-right-width"]="1px"}else{C[o]["border-left-width"]="1px";C[o]["border-right-width"]="0px";if(an==p.length-g-1&&at){C[o]["border-right-width"]="1px"}}C[o]["border-bottom-width"]="1px";if(au){C[o]["border-top-style"]=au.css("border-top-style");C[o]["border-left-style"]=au.css("border-left-style");C[o]["border-right-style"]=au.css("border-right-style");C[o]["border-bottom-style"]=au.css("border-bottom-style")}if(at){if(an==0&&!ao.rtl){C[o]["border-left-width"]="1px"}else{if(an==p.length-1&&ao.rtl){C[o]["border-right-width"]="1px"}}if(au){C[o]["border-top-width"]="1px";C[o]["border-bottom-width"]=au.css("border-bottom-width")}}else{if(an==0&&!ao.rtl){C[o]["border-left-width"]="1px"}else{if(an==p.length-1&&ao.rtl){C[o]["border-right-width"]="1px"}}}if(au){C[o]["height"]=au.css("height")}if(ao.treeGrid&&!at){if(C[o].index-1<g){if(ao.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}else{if(C[o].index-1==g){if(!ao.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}}}}}if(ar.exportable&&(!ar.hidden||f)){if(ap==true){if(!Z[ar.displayfield].customCellStyles){Z[ar.displayfield].customCellStyles=new Array()}Z[ar.displayfield].customCellStyles[aq]=o}else{if(at){Z[ar.displayfield].style=o}else{if(!am){Z[ar.displayfield].cellStyle=o}else{Z[ar.displayfield].cellAltStyle=o}}}}};i(J,ak,true,false,this,s,af);z++;i(E,aj,false,false,this,s,af);if(s.altRows){E="cellalt"+B;i(E,j,false,true,this,s,af)}if(this.customCellStyles){for(var ad in ae.customCellStyles){aj.removeClass(ae.customCellStyles[ad])}for(var ad in ae.customCellStyles){aj.addClass(ae.customCellStyles[ad]);i(E+ae.customCellStyles[ad],aj,false,false,this,s,af,true,ad);aj.removeClass(ae.customCellStyles[ad])}}B++}});if(t!="json"&&t!="xml"){if(g>0&&this.treeGrid){var ab=g+1;if(this.rtl){ab=p.length-g}if(C["column"+ab]){var e=C["column"+ab];e.merge=g;e["border-left-width"]="1px";var H=C["cell"+ab];for(var X=0;X<p.length;X++){var ab=X+1;if(this.rtl){ab=p.length-X}C["column"+ab].level=X;C["column"+ab].maxLevel=g;C["cell"+ab].maxLevel=g;var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g}}}if(C["cellalt"+ab]){C["cellalt"+ab].maxLevel=g}}for(var X=0;X<g;X++){var ab=X+1;var D=X;if(this.rtl){ab=p.length-X}var r=C["column"+ab];r.disabled=true;C["cell"+ab].level=D;C["cell"+ab].maxLevel=g;C["column"+ab].level=D;if(C["cellalt"+ab]){C["cellalt"+ab].level=D;C["cellalt"+ab].maxLevel=g}var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g;C["cell"+ab+Q.customCellStyles[R]].level=D}}}if(t=="html"||t=="pdf"||t=="xls"){r["font-size"]=e["font-size"];r["font-weight"]=e["font-weight"];r["font-style"]=e["font-style"];r["background-color"]=e["background-color"];r.color=e.color;r["border-color"]=e["border-color"];if(t=="html"||t=="pdf"){r["border-top-width"]=e["border-top-width"];r["border-left-width"]=e["border-left-width"];if(this.rtl){r["border-right-width"]=e["border-right-width"];if(X==0){r["border-right-width"]="1px"}}if(X==0&&!this.rtl){r["border-left-width"]="0px"}else{if(X==0&&this.rtl){r["border-left-width"]="0px"}}if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}r["border-bottom-width"]="0px";var r=C["cell"+ab];if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}}}}}}}if(this.showAggregates){var G=[];var N=t=="xls"?"_AG":"";var O=0;if(this.rowDetails&&!this.treeGrid){O++}if(A.length>0){b.each(p,function(j){if(this.aggregates){for(var ad=0;ad<this.aggregates.length;ad++){if(!G[ad]){G[ad]={}}if(G[ad]){var ae=s._getaggregatename(this.aggregates[ad]);var af=s._getaggregatetype(this.aggregates[ad]);var o=A[j-O];if(o){G[ad][this.displayfield]=N+ae+": "+o[af]}}}}});b.each(p,function(j){for(var o=0;o<G.length;o++){if(G[o][this.displayfield]==undefined){G[o][this.displayfield]=N}}})}b.each(G,function(){Y.push(this)})}var K=this;var T=b.jqx.dataAdapter.ArrayExporter(Y,Z,C,P,this.treeGrid&&(t=="xml"||t=="json"));if(F==undefined){this._renderrows();var q=this.treeGrid&&(t=="xml"||t=="json");var v=T.exportTo(t,this.treeGrid&&(t=="xml"||t=="json"));if(this.showAggregates){b.each(G,function(){Y.pop(this)})}setTimeout(function(){K.exporting=false},50);return v}else{var q=this.treeGrid&&(t=="xml"||t=="json");T.exportToFile(t,F,P,I,q)}if(this.showAggregates){b.each(G,function(){Y.pop(this)})}this._renderrows();setTimeout(function(){K.exporting=false},50)},_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(c){return this._intToHex(c.r)+this._intToHex(c.g)+this._intToHex(c.b)},_intToHex:function(d){var c=(parseInt(d).toString(16));if(c.length==1){c=("0"+c)}return c.toUpperCase()},_getexportcolumntype:function(g){var h=this;var f="string";var e=h.source.datafields||((h.source._source)?h.source._source.datafields:null);if(e){var j="";b.each(e,function(){if(this.name==g.displayfield){if(this.type){j=this.type}return false}});if(j){return j}}if(g!=null){if(this.dataview.cachedrecords==undefined){return f}var c=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return f}c=this.dataview.cachedrecords[0][g.displayfield];if(c!=null&&c.toString()==""){return"string"}}else{b.each(this.dataview.cachedrecords,function(){c=this[g.displayfield];return false})}if(c!=null){if(g.cellsFormat.indexOf("c")!=-1){return"number"}if(g.cellsFormat.indexOf("n")!=-1){return"number"}if(g.cellsFormat.indexOf("p")!=-1){return"number"}if(g.cellsFormat.indexOf("d")!=-1){return"date"}if(g.cellsFormat.indexOf("y")!=-1){return"date"}if(g.cellsFormat.indexOf("M")!=-1){return"date"}if(g.cellsFormat.indexOf("m")!=-1){return"date"}if(g.cellsFormat.indexOf("t")!=-1){return"date"}if(typeof c=="boolean"){f="boolean"}else{if(b.jqx.dataFormat.isNumber(c)){f="number"}else{var i=new Date(c);if(i.toString()=="NaN"||i.toString()=="Invalid Date"){if(b.jqx.dataFormat){i=b.jqx.dataFormat.tryparsedate(c);if(i!=null){if(i&&i.getFullYear()){if(i.getFullYear()==1970&&i.getMonth()==0&&i.getDate()==1){var d=new Number(c);if(!isNaN(d)){return"number"}return"string"}}return"date"}else{f="string"}}else{f="string"}}else{f="date"}}}}}return f},showDetails:function(c){var d=this._getkey(c);this.showdetailsbykey(d)},hideDetails:function(c){var d=this._getkey(c);this.hidedetailsbykey(d)},setCellValueByKey:function(E,t,x){var o=this;var j=this.rowsByKey[E];var k=this.getrowindex(j);var h=j;if(h!=null&&h[t]==x){return false}if(h!=null&&h[t]===null&&x===""){return}var n="";if(h!=null&&h[t]!==x){var e=this.getColumn(t);var f="string";var B=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(B){var u="";b.each(B,function(){if(this.name==e.displayfield){if(this.type){u=this.type}return false}});if(u){f=u}}n=h[t];if(!e.nullable||(x!=null&&x!==""&&e.nullable&&x.label===undefined)){if(b.jqx.dataFormat.isNumber(n)||f=="number"||f=="float"||f=="int"||f=="decimal"&&f!="date"){x=new Number(x);x=parseFloat(x);if(isNaN(x)){x=0}}else{if(b.jqx.dataFormat.isDate(n)||f=="date"){if(x!=""){var A=x;A=new Date(A);if(A!="Invalid Date"&&A!=null){x=A}else{if(A=="Invalid Date"){A=new Date();x=A}}}}}if(h[t]===x){return}}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;h[t]=x;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[t]=x}}if(x!=null&&x.label!=null){var e=this.getColumn(t);h[e.displayfield]=x.label;h[t]=x.value;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[e.displayfield]=x.label;s[t]=x.value}}}}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var z=k;var w=this.source._source._localdata()[z];this.source.suspendKO=true;var l=w;if(l[t]&&l[t].subscribe){if(x!=null&&x.label!=null){l[e.displayfield](x.label);l[t](x.value)}else{l[t](x)}}else{var B=this.source._source.datafields;var d=null;var C=null;if(B){b.each(B,function(){if(this.name==t){C=this.map;return false}})}if(C==null){if(x!=null&&x.label!=null){l[t]=x.value;l[e.displayfield]=x.label}else{l[t]=x}}else{var g=C.split(this.source.mapChar);if(g.length>0){var c=l;for(var v=0;v<g.length-1;v++){c=c[g[v]]}c[g[g.length-1]]=x}}this.source._source._localdata.replace(w,b.extend({},l))}this.source.suspendKO=false}}var q;if(this.source.updaterow&&(q==undefined||q==true)){var m=false;var r=function(p){if(false==p){this.setCellValue(j,t,n,true,false)}};try{var i=E;m=this.source.updaterow(i,h,r);if(m==undefined){m=true}}catch(y){m=false;this.setCellValue(j,t,n);return}}var D=this.getrowdisplayindex(j);var e=this.getColumn(t);this._raiseEvent("cellValueChanged",{value:x,oldValue:n,dataField:t,displayField:e.displayfield,key:E,boundIndex:k,index:D,row:this.rowsByKey[E]});if(this.editable){if(this.editKey!=null){return}}this._renderrows()},setCellValue:function(g,d,f){if(g==null||d==null){return false}var c=parseInt(g);var e=this._getkey(c);this.setCellValueByKey(e,d,f)},getCellText:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellTextByKey(e,d)},getCellTextByKey:function(e,d){if(e==null||d==null){return null}var c=this.getCellValueByKey(e,d);var f=this.getColumn(d);if(f&&f.cellsFormat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(c)){c=b.jqx.dataFormat.formatdate(c,f.cellsFormat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(c)||(!isNaN(parseFloat(c))&&isFinite(c))){c=b.jqx.dataFormat.formatnumber(c,f.cellsFormat,this.gridlocalization)}}}}return c},getCellValue:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellValueByKey(e,d)},getCellValueByKey:function(e,d){var h=this.rowsByKey[e];if(!h&&this.treeGrid){h=this.treeGrid.getRow(e)}var c=this.getrowindex(h);var f=h;var g="";if(f!=null){return f[d]}return null},beginRowEdit:function(c){var d=this._getkey(c);this.beginroweditbykey(d)},beginCellEdit:function(d,c){var e=this._getkey(d);var f=this.getColumn(c);this.beginroweditbykey(e,f)},endCellEdit:function(d,c,e){this.endRowEdit(d,e)},endRowEdit:function(c,e){var d=this._getkey(c);this.endroweditbykey(d,e)},getrowindex:function(f){var d=this.getRows().indexOf(f);if(d!=-1){return d}if(this.groups&&this.groups.length>0){var c=this.getRows();for(var e=0;e<c.length;e++){if(f.originalRecord){if(c[e].uid==f.originalRecord.uid){d=e;break}}else{if(c[e].uid==f.uid){d=e;break}}}}return d},getrowdisplayindex:function(g){if(this.treeGrid){return -1}var c=this.getView();var e=c.indexOf(g);if(e!=-1){return e}if(g==undefined){return e}var d=c;for(var f=0;f<d.length;f++){if(d[f].uid==g.uid||(g.originalRecord&&d[f].uid==g.originalRecord.uid)){e=f;break}}return e},beginroweditbykey:function(H,r){if(this.beginEdit){var B=this.beginEdit(H,r);if(B===false){return false}}var E=!this.treeGrid?this.groups.length:this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(E>0){var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}if(n.level<E){return false}}if(this._lastSelectedKey==null){this.selectrowbykey(H)}if(this.editKey===H&&this.editKey!=undefined){return false}if(this.rowinfo[H]&&this.rowinfo[H].locked){return false}if(this.editKey!=null){this.endroweditbykey(H,true);return false}var F=this.editSettings.editSingleCell;if(!r&&F&&this.columns.records&&this.columns.records.length>0){for(var z=0;z<this.columns.records.length;z++){r=this.columns.records[z];if(r.editable&&!r.hidden){break}}if(!r){return false}}if(F&&r&&!r.editable){this.editKey=null;return false}if(F){this.editColumn=r}var p=this;var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}var o=this.getrowindex(n);var D=this._getuirow(H);var t=this._getpinneduirow(H);this._editors=new Array();var q=false;if(D){var j=D[0].cells;var u=0;for(var z=0;z<j.length;z++){var h=this.columns.records[z];var d=j[z];if(h.rowDetailscolumn){continue}if(h.checkboxcolumn){continue}if(h.pinned){d=t[0].cells[z]}if(F&&r&&h.datafield!=r.datafield){continue}b(d).removeClass(this.toTP("jqx-grid-cell-selected"));b(d).removeClass(this.toTP("jqx-fill-state-pressed"));b(d).removeClass(this.toTP("jqx-grid-cell-hover"));b(d).removeClass(this.toTP("jqx-fill-state-hover"));if(h.columntype=="none"){continue}var v=b(d).outerWidth();var x=b(d).width();if(u===0){u=b(d).outerHeight()-1}b(d).css("padding","0px");var e="<div style='height:"+u+"px; width: 100%; overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 9999;'></div>";var s=this.getCellTextByKey(H,h.displayfield);d.innerHTML=e;var f=b(d.firstChild);switch(h.columntype){case"textbox":case"default":var k=b("<input style='border: none;' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox'/>").appendTo(f);if(this.rtl){k.css("direction","rtl")}k.addClass(this.toThemeProperty("jqx-input"));k.addClass(this.toThemeProperty("jqx-widget-content"));k.addClass(this.toThemeProperty("jqx-cell-editor"));k[0].onfocus=function(i){setTimeout(function(){if(i){var I=b(i.target).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}else{var I=b(document.activeElement).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}if(p.content){p.content[0].scrollTop=0;p.content[0].scrollLeft=0}if(p.gridcontent){p.gridcontent[0].scrollLeft=0;p.gridcontent[0].scrollTop=0}},10)};if(!h.editable){k.attr("disabled",true);k.attr("readOnly",true);k.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{if(!q){q=true;var g=b.jqx.browser.msie&&b.jqx.browser.version>10;if(!g){k.focus()}var c=k;setTimeout(function(){var J=c.val().length;if(!g){c.focus()}try{if("selectionStart" in c[0]){c[0].setSelectionRange(0,J)}else{var i=c[0].createTextRange();i.collapse(true);i.moveEnd("character",J);i.moveStart("character",0);i.select()}}catch(I){var K=I}},10)}}k.width(x);k.height(u);if(b.jqx.browser.msie&&b.jqx.browser.version<9){k.css("line-height",parseInt(u)+"px")}k.css("text-align",h.cellsalign);if(s===null){s=""}if(s==undefined){s=""}k.val(s);if(h.createeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.createeditor(!this.treeGrid?o:H,s,k,C,x,u)}this._editors.push({column:h,editor:k});if(h.cellsFormat!=""){if(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1){k.keydown(function(I){var O=I.charCode?I.charCode:I.keyCode?I.keyCode:0;var L=String.fromCharCode(O);var M=parseInt(L);if(isNaN(M)){return true}if(p._selection(k).length>0){return true}var K="";var J=k.val();if(h.cellsFormat.length>1){var N=parseInt(h.cellsFormat.substring(1));if(isNaN(N)){N=0}}else{var N=0}if(N>0){if(J.indexOf(p.gridlocalization.decimalseparator)!=-1){if(p._selection(k).start>J.indexOf(p.gridlocalization.decimalseparator)){return true}}}for(var P=0;P<J.length-N;P++){var i=J.substring(P,P+1);if(i.match(/^[0-9]+$/)!=null){K+=i}}if(K.length>=11){return false}})}}if(h.initeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.initeditor(!this.treeGrid?o:H,s,k,C,x,u)}break;case"custom":case"template":if(!this.editorsCache){this.editorsCache=new Array()}var l=b("<div style='width: 100%; height: 100%; border: none;'></div>").appendTo(f);var y=b.trim(h.datafield).split(" ").join("");if(y.indexOf(".")!=-1){y=y.replace(".","")}var A=this.editorsCache["templateeditor_"+y];if(h.columntype=="custom"){var A=this.editorsCache["customeditor_"+y+"_"+H]}var C=s;var s=this.getCellValueByKey(H,h.displayfield);if(!A){var k=b("<div style='border: none;'></div>");k.width(v);k.height(u);A=k;if(s===null){s=""}if(h.columntype!="custom"){this.editorsCache["templateeditor_"+y]=k}else{this.editorsCache["customeditor_"+y+"_"+H]=k}k.appendTo(l);if(h.createeditor){h.createeditor(!this.treeGrid?o:H,s,k,C,v,u)}}else{var k=A;k.width(v);k.height(u);k.appendTo(l)}if(h.initeditor){h.initeditor(!this.treeGrid?o:H,s,k,C,v,u)}this._editors.push({column:h,editor:k});break}}}this.editKey=H;this.beginUpdate();var G=this.getrowdisplayindex(n);this._raiseEvent("rowBeginEdit",{key:H,index:G,boundIndex:o,row:this.rowsByKey[H]});if(F){var n=this.rowsByKey[H];var w=null;var m=null;if(n){w=n[r.datafield];m=n[r.displayfield]}this._raiseEvent("cellBeginEdit",{value:w,displayValue:m,key:H,index:G,dataField:r.datafield,displayField:r.displayfield,boundIndex:o,row:this.rowsByKey[H]})}this.endUpdate(false)},_toNumber:function(f){if(!f.indexOf&&f!=undefined){f=f.toString()}if(f.indexOf(this.gridlocalization.currencysymbol)>-1){f=f.replace(this.gridlocalization.currencysymbol,"")}var c=function(l,j,k){var h=l;if(j==k){return l}var i=h.indexOf(j);while(i!=-1){h=h.replace(j,k);i=h.indexOf(j)}return h};f=c(f,this.gridlocalization.thousandsseparator,"");f=f.replace(this.gridlocalization.decimalseparator,".");if(f.indexOf(this.gridlocalization.percentsymbol)>-1){f=f.replace(this.gridlocalization.percentsymbol,"")}var g="";for(var d=0;d<f.length;d++){var e=f.substring(d,d+1);if(e==="-"){g+="-"}if(e==="."){g+="."}if(e.match(/^[0-9]+$/)!=null){g+=e}}f=g;f=f.replace(/ /g,"");return f},_geteditorvalue:function(h,j,k,d){var m=new String();if(j){if(!h.geteditorvalue){switch(h.columntype){case"textbox":default:m=j.val();if(h.cellsFormat!=""){var l="string";var g=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(g){var n="";b.each(g,function(){if(this.name==h.displayfield){if(this.type){n=this.type}return false}});if(n){l=n}}var i=l==="number"||l==="float"||l==="int"||l==="integer";var f=l==="date"||l==="time";if(i||(l==="string"&&(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1))){if(m===""&&h.nullable){return""}m=this._toNumber(m);m=new Number(m);if(isNaN(m)){m=""}}if(f||(l==="string"&&(h.cellsFormat.indexOf("H")!=-1||h.cellsFormat.indexOf("m")!=-1||h.cellsFormat.indexOf("M")!=-1||h.cellsFormat.indexOf("y")!=-1||h.cellsFormat.indexOf("h")!=-1||h.cellsFormat.indexOf("d")!=-1))){if(m===""&&h.nullable){return""}var e=m;m=new Date(m);if(m=="Invalid Date"||m==null||h.cellsFormat.length>1){if(b.jqx.dataFormat){m=b.jqx.dataFormat.parsedate(e,h.cellsFormat,this.gridlocalization)}if(m=="Invalid Date"||m==null){m=""}}}}if(h.displayfield!=h.datafield){m={label:m,value:m}}break}}if(h.geteditorvalue){var c=this.getCellValueByKey(d,h.displayfield);m=h.geteditorvalue(!this.treeGrid?k:d,c,j)}}return m},_validateEditors:function(c){var k=this;var d=true;var s=k.rowsByKey[c];var l=k.getrowindex(s);var m=k._editors;var c=k.editKey;var p=k._getuirow(c);for(var h=0;h<m.length;h++){var j=m[h].editor;var f=m[h].column;var o=k._geteditorvalue(f,j,l,c);if(f.validation){j.removeClass(k.toThemeProperty("jqx-grid-validation-label"));var e=f.datafield;try{var r=f.validation({value:o,row:c,datafield:f.datafield,displayfield:f.displayfield,column:f},o);var g=k.gridlocalization.validationstring;if(r.message!=undefined){g=r.message}var q=typeof r=="boolean"?r:r.result;if(!q){if(r.showmessage==undefined||r.showmessage==true){k._showvalidationpopup(p,e,g,j)}d=false}}catch(n){k._showvalidationpopup(p,e,k.gridlocalization.validationstring,j);d=false}}}return d},endroweditbykey:function(p,r){var k=this;if(k.editKey===null){return}if(this.endEdit){var n=this.endEdit(p);if(n===false){return}}var t=k.rowsByKey[p];var l=k.getrowindex(t);var m=k._editors;var e=k.editKey;var q=k._getuirow(e);if(r!==true){var d=true;if(m){d=k._validateEditors(e);if(d){var h=b.extend({},t);var c=b.extend({},t);for(var g=0;g<m.length;g++){var j=m[g].editor;var f=m[g].column;var o=k._geteditorvalue(f,j,l,e);if(o&&o.label!=undefined){h[f.displayfield]=o.label;h[f.datafield]=o.value}else{h[f.displayfield]=o}}var s=function(){k.dataview._sortHierarchyData=null;k.dataview._sortData=null;for(var x=0;x<m.length;x++){var B=m[x].editor;var v=m[x].column;var C=k._geteditorvalue(v,B,l,e);var u=c[v.displayfield];if(C&&C.label!=undefined){t[v.displayfield]=C.label;t[v.datafield]=C.value}else{t[v.displayfield]=C}if(k.treeGrid){var D=k.treeGrid.getRow(e);if(D){D[v.displayfield]=C}}if(k.editorsCache){var E=function(i){if(i&&i.jqxWidget){var G=i.jqxWidget.element.className;if(G.indexOf("dropdownlist")>=0||G.indexOf("datetimeinput")>=0||G.indexOf("combobox")>=0||G.indexOf("menu")>=0){if(i.jqxWidget.isOpened){var F=i.jqxWidget.isOpened();if(F){i.jqxWidget.close()}}}}};var z="customeditor_"+v.displayfield+"_"+p;var y="templateeditor_"+v.displayfield;if(k.editorsCache[z]){var w=b(k.editorsCache[z]).data();var A=k.editorsCache[z];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w);k.editorsCache[z].detach()}if(k.editorsCache[y]){k.editorsCache[y].detach();var w=b(k.editorsCache[y]).data();var A=k.editorsCache[y];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w)}}if(C!=u){k.beginUpdate();k._raiseEvent("cellValueChanged",{value:C,oldValue:u,dataField:v.datafield,displayField:v.displayfield,key:p,index:l,row:t});k.endUpdate(false)}}};k.updaterowbykey(k.editKey,h,false,s)}}if(!d){return false}}k._detachEditors(e);return true},_detachEditors:function(l){var g=this;var m=g.rowsByKey[l];var i=g.getrowindex(m);if(g.editorsCache){for(var h in g.editorsCache){var f=b(g.editorsCache[h]).data();if(f&&f.jqxWidget){var c=f.jqxWidget.element.className;if(c.indexOf("dropdownlist")>=0||c.indexOf("datetimeinput")>=0||c.indexOf("combobox")>=0||c.indexOf("menu")>=0){if(f.jqxWidget.isOpened){var e=f.jqxWidget.isOpened();if(e){f.jqxWidget.close()}}}}b(g.editorsCache[h]).detach()}}g.beginUpdate();var d=g.getrowdisplayindex(m);if(g.editSettings.editSingleCell){var m=g.rowsByKey[l];var k=null;var j=null;if(m){k=m[g.editColumn.datafield];j=m[g.editColumn.displayfield]}g._raiseEvent("cellEndEdit",{value:k,displayValue:j,key:l,index:d,dataField:g.editColumn.datafield,displayField:g.editColumn.displayfield,boundIndex:i,row:g.rowsByKey[l]})}g._raiseEvent("rowEndEdit",{key:l,index:d,boundIndex:i,row:g.rowsByKey[l]});g.endUpdate(false);g.editColumn=null;g.editKey=null;g._renderrows();g._renderhorizontalscroll();g.host.focus();setTimeout(function(){g.host.focus()},10)},_showvalidationpopup:function(r,e,s,m){if(s==undefined){var s=this.gridlocalization.validationstring}m.addClass(this.toThemeProperty("jqx-grid-validation-label"));var p=b("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var o=b("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");p.html(s);o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));p.addClass(this.toThemeProperty("jqx-grid-validation"));p.addClass(this.toThemeProperty("jqx-rc-all"));p.hide();o.hide();p.prependTo(this.table);o.prependTo(this.table);var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);var l=this.getColumn(e).uielement;if(!r){return}var k=r;p.css("top",parseInt(k.position().top)+30+"px");var c=parseInt(p.css("top"));o.css("top",c-11);o.removeClass();o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var f=false;if(c>=this._table.height()){o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));c=parseInt(k.position().top)-k.outerHeight()-5;if(c<0){c=0;o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}p.css("top",c+"px");o.css("top",c+p.outerHeight()-9)}var n=-g+parseInt(b(l).position().left);var q=parseInt(this._table.css("left"));if(isNaN(q)){q=0}if(q!=0){g=0}o.css("left",g+n+30);var d=p.width();if(d+n>this.host.width()-20){var i=d+n-this.host.width()+40;n-=i}if(!f){p.css("left",g+n)}else{p.css("left",g+parseInt(b(l).position().left)-p.outerWidth())}m.mouseenter(function(){if(m.hasClass("jqx-grid-validation-label")){p.show();o.show()}});m.mouseleave(function(){p.hide();o.hide()});if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:p,validationrow:o}},addRow:function(d,p,j,n){if(p!=undefined){this._datachanged=true;if(j==undefined){j="last"}var o=false;var k=this.that;if(d==null){var f=this.dataview.filters&&this.dataview.filters.length>0;var m=!f?this.dataview.totalrecords:this.source.records.length;if(!this.pageable){if(this.source._source.totalrecords){this.dataview.totalrecords=this.source._source.totalrecords}else{if(this.source._source.totalRecords){this.dataview.totalrecords=this.source._source.totalRecords}else{if(this.source.hierarchy.length!==0){this.dataview.totalrecords=this.source.hierarchy.length}else{this.dataview.totalrecords=this.source.records.length}}}var m=!f?this.dataview.totalrecords:this.source.records.length}if(!b.isArray(p)){d=this.dataview.getid(this.dataview.source.id,p,m);if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{var c=new Array();b.each(p,function(e,q){var r=k.dataview.getid(k.dataview.source.id,p[e],m+e);c.push(r);if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}});d=c}}else{if(!b.isArray(p)){if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{b.each(p,function(e,q){var r=d[e];if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}})}}var i=this.treeGrid?(this.treeGrid.virtualModeCreateRecords?true:false):false;var g=function(v,q,A,t){if(v._loading){throw new Error("jqxDataTable: "+v.loadingErrorMessage);return false}var r=v.vScrollInstance.value;var z=false;if(!b.isArray(A)){A.uid=q;v.rowsByKey[q]=A;if(q==n){n=null}z=v.source.addRecord(A,t,n,i)}else{b.each(A,function(B,C){var D=null;if(q!=null&&q[B]!=null){D=q[B]}this.uid=D;v.rowsByKey[D]=this;if(q==n){n=null}z=v.source.addRecord(this,t,n,i)})}if(v.groups&&v.groups.length>0){var w=Object.prototype.toString;var y=v.groups[0];Object.prototype.toString=(typeof y=="function")?y:function(){return this[y]};if(!v.source.records.sort){var x=new Array();var u=0;var e=0;var s=[];b.each(s,function(){x[e+u++]=this});s=x}v.source.records.sort(function(C,B){if(C===undefined){C=null}if(B===undefined){B=null}if(C===null&&B===null){return 0}if(C===null&&B!==null){return -1}if(C!==null&&B===null){return 1}var F=0;var E=0;if(C&&C.uid){F=C.uid}if(B&&B.uid){E=B.uid}C=C.toString();B=B.toString();if(b.jqx.dataFormat.isNumber(C)&&b.jqx.dataFormat.isNumber(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(b.jqx.dataFormat.isDate(C)&&b.jqx.dataFormat.isDate(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(C)&&!b.jqx.dataFormat.isNumber(B)){C=String(C).toLowerCase();B=String(B).toLowerCase()}}}try{if(C<B){return -1}if(C>B){return 1}}catch(D){var G=D}if(typeof(F)=="number"){if(F<E){return -1}if(F>E){return 1}}return 0});Object.prototype.toString=w}v.dataview._filteredData=null;v.dataview._sortData=null;v.dataview._sortHierarchyData=null;if(v._updating==undefined||v._updating==false){v.refresh()}if(v.source&&v.source._knockoutdatasource&&!v._updateFromAdapter&&v.autokoupdates){if(v.source._source._localdata){v.source.suspendKO=true;v.source._source._localdata.push(A);v.source.suspendKO=false}}v.vScrollInstance.setPosition(r);return z};if(this.source.addrow){var h=function(e,q){if(e==true||e==undefined){if(q!=undefined){d=q}g(k,d,p,j)}};try{if(!k.treeGrid){o=this.source.addrow(d,p,j,h)}else{o=this.source.addrow(d,p,j,n,h)}if(o==undefined){o=true}}catch(l){o=false}if(o==false){return false}}else{g(this,d,p,j)}return o}return false},deleteRow:function(c){var d=this._getkey(c);this.deleterowbykey(d)},deleterowbykey:function(g){if(g!=undefined){this._datachanged=true;var h=false;var f=this.that;var d=function(m,l){if(m._loading){throw new Error("jqxDataTable: "+m.loadingErrorMessage);return false}m.dataview._filteredData=null;m.dataview._sortData=null;m.dataview._sortHierarchyData=null;var o=false;var p=m.vScrollInstance.value;if(!b.isArray(l)){var o=false;if(m.rowsByKey[l]){o=true;if(m.rowinfo[l]&&m.rowinfo[l].selected){m.unselectrowbykey(l,false)}if(m.treeGrid){var n=m._names();var k=m.rowsByKey[l][n.parent]}delete m.rowsByKey[l];if(m.treeGrid){if(m.rowinfo[l]){var i=m.rowinfo[l].row.records;var j=function(q){for(var r=0;r<q.length;r++){var s=q[r].uid;delete m.rowsByKey[s];delete m.rowinfo[s];if(q[r].records){j(q[r].records)}}};if(i){j(i)}}}delete m.rowinfo[l];m.source.deleteRecord(l);if(k){if(n&&k.records&&k.records.length==0){k[n.leaf]=true;m.rowinfo[k.uid][n.leaf]=true}}}}else{b.each(l,function(){var t=this;if(m.rowsByKey[t]){o=true;if(m.rowinfo[t].selected){m.unselectrowbykey(t,false)}if(m.treeGrid){var u=m._names();var s=m.rowsByKey[t][u.parent]}delete m.rowsByKey[t];if(m.treeGrid){if(m.rowinfo[t]){var q=m.rowinfo[t].row.records;var r=function(v){for(var w=0;w<v.length;w++){var x=v[w].uid;delete m.rowsByKey[x];delete m.rowinfo[x];if(v[w].records){r(v[w].records)}}};if(q){r(q);delete m.rowinfo[t]}}}m.source.deleteRecord(t);if(s){if(u&&s.records&&s.records.length==0){s[u.leaf]=true;m.rowinfo[s.uid][u.leaf]=true}}}})}m.refresh();if(m.source&&m.source._knockoutdatasource&&!m._updateFromAdapter&&m.autokoupdates){if(m.source._source._localdata){m.source.suspendKO=true;m.source._source._localdata.pop();m.source.suspendKO=false}}m.vScrollInstance.setPosition(p);return o};if(this.source.deleterow){var c=function(i){if(i==true||i==undefined){d(f,g)}};try{this.source.deleterow(g,c);if(h==undefined){h=true}}catch(e){h=false}}else{h=d(f,g)}return h}return false},updateRow:function(c,e){var d=this._getkey(c);this.updaterowbykey(d,e)},updaterowbykey:function(c,k,g,i){if(c!=undefined&&k!=undefined){var f=this.that;var j=false;var d=function(o,l,t){if(o._loading){throw new Error("jqxDataTable: "+o.loadingErrorMessage);return false}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;var r=false;if(!b.isArray(l)){var n=o.rowsByKey[l];var s=function(v){if(!v){r=false}else{for(var u=0;u<o.columns.records.length;u++){v[o.columns.records[u].datafield]=t[o.columns.records[u].datafield];if(o.groups.length>0&&v.originalRecord){v.originalRecord[o.columns.records[u].datafield]=t[o.columns.records[u].datafield]}}r=true}};s(n);if(o.treeGrid){n=o.treeGrid.getRow(l);s(n)}}else{b.each(l,function(w,x){var v=o.rowsByKey[this];var u=function(z,y){if(!v){r=false}else{v[this]=t[w]}r=true};u(this,v);if(o.treeGrid){v=o.treeGrid.getRow(this);u(this,v)}})}var m=o.vScrollInstance.value;if(g==undefined||g==true){if(o._updating==undefined||o._updating==false){o._renderrows()}}if(o.showAggregates&&o._updatecolumnsaggregates){o._updatecolumnsaggregates()}if(o.source&&o.source._knockoutdatasource&&!o._updateFromAdapter&&o.autokoupdates){if(o.source._source._localdata){var n=o.rowsByKey[l];var p=o.getrowindex(n);var q=o.source._source._localdata()[p];o.source.suspendKO=true;o.source._source._localdata.replace(q,b.extend({},n));o.source.suspendKO=false}}o.vScrollInstance.setPosition(m);return r};if(this.source.updaterow){var e=function(l){if(l==true||l==undefined){d(f,c,k);if(i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}};try{j=this.source.updaterow(c,k,e);if(j==undefined){j=true}}catch(h){j=false}}else{j=d(f,c,k);if(j&&i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}return j}return false},lockRow:function(c){var d=this._getkey(c);this.lockrowbykey(d)},unlockRow:function(c){var d=this._getkey(c);this.unlockrowbykey(d)},lockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=true}else{this.rowinfo[c]={locked:true}}this._renderrows()},unlockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=false}else{this.rowinfo[c]={locked:false}}this._renderrows()},selectRow:function(c){var d=this._getkey(c);this.selectrowbykey(d)},unselectRow:function(c){var d=this._getkey(c);this.unselectrowbykey(d)},selectrowbykey:function(e,h,f){if(h!="keyboard"&&h!="mouse"){this._lastSelectedKey=e}var g=f!==false?true:false;this._doSelection(e,true,g);var i=this.rowsByKey[e];var d=this.getrowindex(i);var c=this.getrowdisplayindex(i);this._raiseEvent("rowSelect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},unselectrowbykey:function(e,f){var g=f!==false?true:false;this._doSelection(e,false,g);var h=this.rowsByKey[e];var d=this.getrowindex(h);var c=this.getrowdisplayindex(h);this._raiseEvent("rowUnselect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},getSelection:function(){var c=new Array();if(this.rowinfo){for(var e in this.rowinfo){var d=this.rowinfo[e];if(d.selected){c.push(d.row)}}}return c},showdetailsbykey:function(k){if(!this.rowDetails){return}var l=this.rowinfo[k];if(l){l.expanded=true;var f=b(this._table.children()[1]).children(("[data-key="+k+"]"));var i=b(this._pinnedTable.children()[1]).children(("[data-key="+k+"]"));if(f){var c=i.children();var h=b(c[0]);if(this.rtl){var h=b(c[c.length-1])}if(!this.rtl){h.removeClass(this.toThemeProperty("jqx-grid-group-collapse"));h.addClass(this.toThemeProperty("jqx-grid-group-expand"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-right"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{h.removeClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));h.addClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-left"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}f.next().show();var d=i.next();d.show();if(b.jqx.browser.msie&&b.jqx.browser.version<8){f.next().children().show();i.next().children().show()}if(!l.initialized){var j=l.detailsHeight;var m=this.initRowDetails(k,l.row,b(b(d).children().children().children()[0]),l);l.details=b(d).children().children().children()[0];l.initialized=true;if(m===false||l.detailsHeight!=j){if(m===false){l.expanded=false;l.nodetails=true;d.hide()}this._renderrows()}}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var g=this.getrowindex(l.row);var e=this.getrowdisplayindex(l.row);this._raiseEvent("rowExpand",{row:l.row,index:e,boundIndex:g,rowKey:k})}}},hidedetailsbykey:function(h){if(!this.rowDetails){return}var j=this.rowinfo[h];if(j){j.expanded=false;var d=b(this._table.children()[1]).children(("[data-key="+h+"]"));var e=b(this._pinnedTable.children()[1]).children(("[data-key="+h+"]"));if(d){var g=e.children();var i=b(g[0]);if(this.rtl){var i=b(g[g.length-1])}if(!this.rtl){i.addClass(this.toThemeProperty("jqx-grid-group-collapse"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand"));i.addClass(this.toThemeProperty("jqx-icon-arrow-right"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{i.addClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));i.addClass(this.toThemeProperty("jqx-icon-arrow-left"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}d.next().hide();e.next().hide();if(b.jqx.browser.msie&&b.jqx.browser.version<8){d.next().children().hide();e.next().children().hide()}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var f=this.getrowindex(j.row);var c=this.getrowdisplayindex(j.row);this._raiseEvent("rowCollapse",{row:j.row,index:c,boundIndex:f,rowKey:h})}}},_getvirtualcolumnsindexes:function(d,l,h,k,c){if(this.rowDetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:h+k}}var e=0;var i=-1;var f=h+k;if(this.autorowheight){return{start:0,end:h+k}}if(!c){for(var g=0;g<h+k;g++){var m=g;if(!this.columns.records[g].hidden){e+=this.columns.records[g].width}if(e>=d&&i==-1){i=g}if(e>l+d){f=g;break}}}f++;if(f>h+k){f=h+k}if(i==-1){i=0}return{start:i,end:f}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var h=parseInt(u);if(this.table==null){return}var q=this.columnsrow;var r=0;var i=this.columns.records.length-r;var e=this.columns.records;var l=this.source.records.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){h=t.max-h}}if(l&&!this._haspinned){this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<r+i;w++){var f=e[w];if(f.pinned){var g=null;if(this.showAggregates){if(this.statusbar[0].cells){g=this.statusbar[0].cells[w]}}if(this.filterrow){if(this.filterrow[0].cells){var x=this.filterrow[0].cells[w]}}if(!this.rtl){var c=q[0].cells[w];c.style.marginLeft=h+"px";if(g){g.style.marginLeft=h+"px"}if(this.filterrow&&x){x.style.marginLeft=h+"px"}}else{var c=q[0].cells[w];c.style.marginLeft=-parseInt(u)+"px";if(g){g.style.marginLeft=-parseInt(u)+"px"}if(this.filterrow&&x){x.style.marginLeft=-parseInt(u)+"px"}}}}if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this._table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned==false){if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}}if(this.filterrow){this.filterrow[0].style.left=-h+"px";if(this.rtl){this.filterrow[0].style.left=-h+parseInt(this.content.css("left"))+"px"}}}if(this.showAggregates){if(this.aggregates[0].cells){var k=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){k=2+parseInt(this.hScrollBar.css("left"))}else{k=3+parseInt(this.vScrollBar.width())}}}this.aggregates[0].style.marginLeft=-h+k+"px"}}},_initializeColumns:function(){var d=this.source.datafields;if(d==null&&this.source._source){d=this.source._source.datafields}var k=d?d.length>0:false;if(this.columns&&this.columns.records){for(var e=0;e<this.columns.records.length;e++){this._removecolumnhandlers(this.columns.records[e])}}var j=this;var c=new b.jqx.dataCollection(this.element);var h=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.selectionMode=="checkbox"){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.checkboxcolumn=true;f.editable=false;f.columntype="checkbox";f.groupable=false;f.draggable=false;f.filterable=false;f.resizable=false;f.datafield="_checkboxcolumn";c.add(f)}if(this.rowDetails&&!this.treeGrid){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.editable=false;f.rowDetailscolumn=true;f.groupable=false;f.draggable=false;f.pinned=true;f.filterable=false;f.resizable=false;f.text="";c.add(f)}var g=new Array();b.each(this.columns,function(i){if(j.columns[i]!=undefined){var l=new a(j,this);l.visibleindex=h++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){j._haspinned=true}if(this.datafield==null){if(j.source&&j.source._source&&(j.source._source.datatype=="array")){if(!k){if(!j.source._source.datafields){j.source._source.datafields=new Array();j.source._source.datafields.push({name:i.toString()})}else{j.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();l.datafield=this.datafield;l.displayfield=this.displayfield}}else{if(g[this.datafield]){throw new Error("jqxDataTable: Invalid column 'dataField' setting. jqxDataTable's columns should be initialized with unique data fields.");j.host.remove();return false}else{g[this.datafield]=true}}c.add(l)}});if(this.rtl){c.records.reverse()}this.columns=c},addFilter:function(c,e){var d=this.getColumn(c);if(!d){return}this.dataview.addFilter(c,e)},removeFilter:function(c){var d=this.getColumn(c);if(!d){return}this.dataview.removeFilter(c)},clearFilters:function(d,c){this.dataview.filters=new Array();this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(c!==false){this.resetfilter()}if(d===false){return}this.applyFilters()},resetfilter:function(){if(this.filterinput){this.filterinput.val("")}if(this.filterrow){for(var f=0;f<this.filterrow[0].cells.length;f++){var m=this.filterrow[0].cells[f];var l=b(m).find("input:first");var j=b(m).find(".filterconditions");var e=this.columns.records[f];var d="";if(!e.filterable){continue}l.val("");var g=this.getcolumntypebydatafield(e);var c=new b.jqx.filter();var h,k;switch(g){case"number":case"int":case"float":case"decimal":h="numericfilter";k=c.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":h="booleanfilter";k=c.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":h="datefilter";k=c.getoperatorsbyfiltertype("datefilter");break;case"string":h="stringfilter";k=c.getoperatorsbyfiltertype("stringfilter");break}if(j.length>0){if(h==="stringfilter"){j.jqxDropDownList({selectedIndex:2})}else{j.jqxDropDownList({selectedIndex:0})}}}}},applyFilters:function(){if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this.serverProcessing){this.dataview.pagenum=0;this.updateBoundData("filter")}else{this.goToPage(0);this.refresh()}if(arguments&&arguments.length>0){if(this._updateSimpleFilter){if(this.filtercolumnsList){var d=this.filtercolumnsList.jqxDropDownList("getSelectedItem").value;this._updateSimpleFilter(d)}}if(this._updateFilterRow){this._updateFilterRow()}}this._raiseEvent("filter",{filters:this.dataview.filters})},sortBy:function(d,g){this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}if(d==null){g=null;d=this.sortcolumn}if(d){var f=this;var e;if(g=="a"||g=="asc"||g=="ascending"||g==true){e=true}else{e=false}if(g!=null){f.sortdirection={ascending:e,descending:!e}}else{f.sortdirection={ascending:false,descending:false}}if(g!=null){f.sortcolumn=d}else{f.sortcolumn=null}if(f.source.sort){f.dataview.sortfield=d;if(g==null){f.dataview.sortfielddirection=""}else{f.dataview.sortfielddirection=e?"asc":"desc"}if(f.source.sort&&!this._loading){f.source.sort(d,g)}}f.dataview.sortBy(d,g);f._raiseEvent("sort",{sortcolumn:this.sortcolumn,sortdirection:this.sortdirection})}if(!this.serverProcessing){this.refresh()}else{this.updateBoundData("sort")}},_togglesort:function(d){var f=this;if(this.disabled){return}if(d.sortable&&f.sortable){var c={sortcolumn:this.sortcolumn,sortdirection:this.sortdirection};var e=null;if(c.sortcolumn!=null&&c.sortcolumn==d.displayfield){e=c.sortdirection.ascending;if(e==true){e=false}else{e=null}}else{e=true}f.sortBy(d.displayfield,e)}},_renderfilter:function(){var h=this;var j=b("<div style='position: relative; margin: 4px;'><input style='width: 200px; height: 22px; direction: ltr;' role='textbox' type='text'/><div style='cursor: pointer; height: 100%;'><div></div></div></div>");j.height(22);var o=j.find("input");var g=j.find("div:first");j.addClass(this.toThemeProperty("jqx-rc-all"));j.addClass(this.toThemeProperty("jqx-widget"));j.addClass(this.toThemeProperty("jqx-input-group"));o.addClass(this.toThemeProperty("jqx-input"));o.addClass(this.toThemeProperty("jqx-rc-l"));o.addClass(this.toThemeProperty("jqx-input-group-addon"));o.addClass(this.toThemeProperty("jqx-widget"));o.addClass(this.toThemeProperty("jqx-widget-content"));g.addClass(this.toThemeProperty("jqx-fill-state-normal"));g.addClass(this.toThemeProperty("jqx-rc-r"));g.addClass(this.toThemeProperty("jqx-input-group-addon"));g.find("div").addClass(this.toThemeProperty("jqx-icon-search"));if(this.rtl){o.addClass(this.toThemeProperty("jqx-rtl"));o.css("direction","rtl")}this.filter.children().remove();this.filterbutton=g;var d=new Array();for(var f=0;f<h.columns.records.length;f++){if(h.columns.records[f].datafield&&h.columns.records[f].filterable){d.push({label:h.columns.records[f].text,value:h.columns.records[f].displayfield})}}var p=d.length<10?true:false;var l=b("<div style='position: relative; top: 50%; display: none; margin-right: 4px; margin-left: 4px; float: left;'>"+this.gridlocalization.filtersearchstring+"</div>");this.filter.append(l);var c=b("<div class='filtercolumns' style='position: relative; margin: 4px; float: left;'></div>");this.filter.append(c);if(c.jqxDropDownList){c.jqxDropDownList({theme:this.theme,enableBrowserBoundsDetection:true,autoDropDownHeight:p,rtl:h.rtl,dropDownWidth:220,selectedIndex:0,width:"auto",height:20,source:d,displayMember:"label",valueMember:"value"})}this.filtercolumnsList=c;var n=function(q){h.filterinput.val("");for(var r=0;r<h.dataview.filters.length;r++){var s=h.dataview.filters[r];if(s.datafield===q){h.filterinput.val(s.filter.getfilterat(0).filtervalue)}}};if(h.filterHeight!==35){h.filtercolumnsList.css("margin-top",h.filterHeight/2-10);j.css("margin-top",h.filterHeight/2-10)}h._updateSimpleFilter=n;this.addHandler(c,"select",function(q){var i=q.args.item.value;n(i)});if(this.filterMode==="simple"){this.filtercolumnsList.hide();l.show();l.css("margin-top",-this.filter.height()/2);j.css("float","left")}else{this.filtercolumnsList.show();l.hide()}var m=function(){if(!g.hasClass("jqx-fill-state-disabled")){var r=o.val();if(c.jqxDropDownList){var u=c.jqxDropDownList("getSelectedItem")}var w=function(B,x,i){var A=new b.jqx.filter();var z=h.getcolumntypebydatafield(B);var C=h._getfiltertype(z);if(C=="datefilter"){var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{if(C=="numericfilter"||C=="booleanfilter"){if(C=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(x.indexOf(h.gridlocalization.decimalseparator)>=0){x=x.replace(h.gridlocalization.decimalseparator,".")}}if(x.indexOf(h.gridlocalization.currencysymbol)>=0){x=x.replace(h.gridlocalization.currencysymbol,"")}if(x.indexOf(h.gridlocalization.percentagesymbol)>=0){x=x.replace(h.gridlocalization.percentagesymbol,"")}}var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{var y=A.createfilter(C,x,"CONTAINS")}}A.operator=i;A.addfilter(0,y);return A};if(h.filterMode!=="simple"){if(u){var v=u.value;var t=h.getColumn(v);var s=w(t,r,"and");if(r.length>0){h.removeFilter(v);h.addFilter(v,s);h.applyFilters()}else{h.removeFilter(v);h.applyFilters()}if(h.filterMode==="advanced"){if(h._updateFilterRow){h._updateFilterRow(true)}}}}else{h.clearFilters(false,false);if(r.length>0){for(var q=0;q<h.columns.records.length;q++){var t=h.columns.records[q];var s=w(t,r,"or");h.addFilter(t.datafield,s)}}h.applyFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}}};o.keydown(function(i){if(i.keyCode===13){m();if(i.preventDefault){i.preventDefault()}return false}});g.click(function(){m()});this.filterinput=o;this.filter.append(j);if(this.filterMode=="advanced"){var e=b("<a style='float: left; position: relative; margin: 2px; margin-left: 10px;' href='#'>"+this.gridlocalization.filterstring+"</a>");j.append(e);this.addHandler(e,"click",function(q){var i=function(u){if(h.filterrow){for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var v=b(t).find("input:first");var z=h.columns.records[x];if(!z.filterable){continue}if(u===true){v.val("")}for(var w=0;w<h.dataview.filters.length;w++){var y=h.dataview.filters[w];if(y.datafield===z.displayfield){v.val(y.filter.getfilterat(0).filtervalue);break}}}}};var s=function(v){if(h.filterrow){var u=0;for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var w=b(t).find("input:first");var y=h.columns.records[x];if(y.hidden){t.style.visibility="hidden"}else{t.style.visibility="inherit"}if(!y.filterable){continue}t.style.left=parseInt(u)+parseInt(y.uielement[0].style.left)+"px";t.style.width=6+y.width+"px";if(w[0]){w[0].style.width=y.width-6-22+"px"}}}};h._updateFilterRow=i;h._arrangeFilterRow=s;var r=function(){h.filtercolumnsList.jqxDropDownList({disabled:true});h.filterinput.addClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",true);h.filterbutton.addClass(h.toThemeProperty("jqx-fill-state-disabled"))};if(h.filter.find(".filterrow").length===0){h._renderadvancedfilter();r();i();h._arrange();s()}else{if(h.filter.find(".filterrow").css("display")==="none"){r();h.filter.find(".filterrow").removeClass("filterrow-hidden");i();h.filter.find(".filterrow").show();s()}else{h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));n(h.filtercolumnsList.jqxDropDownList("getSelectedItem").value);h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide()}h._arrange()}return false})}var k=b("<div style='float: left; width: 16px; height: 16px; position: relative; margin: 3px;'></div>");k.attr("title",h.gridlocalization.filterclearstring);k.addClass(h.toThemeProperty("jqx-icon-close"));j.append(k);k.hide();h.filtericon=k;k.click(function(){h.clearFilters();h.filtericon.fadeOut(200)});if(h.dataview.filters.length>0){if(h.filterMode!="advanced"){n(h.dataview.filters[0].datafield)}else{if(h._updateFilterRow){h._updateFilterRow()}}}},_renderadvancedfilter:function(){var h=this;var c=function(){h.clearFilters(false,false);var n=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var p=h.filterinput.val();for(var m=0;m<h.filterrow[0].cells.length;m++){var v=h.filterrow[0].cells[m];var u=b(v).find("input:first");var r=b(v).find(".filterconditions");var l=h.columns.records[m];var k="";if(!l.filterable){continue}if(l.displayfield===n){h.filterinput.val(u.val())}var q,t;var o=h.getcolumntypebydatafield(l);var j=new b.jqx.filter();switch(o){case"number":case"int":case"float":case"decimal":q="numericfilter";t=j.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":q="booleanfilter";t=j.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":q="datefilter";t=j.getoperatorsbyfiltertype("datefilter");break;case"string":q="stringfilter";t=j.getoperatorsbyfiltertype("stringfilter");break}if(r.length==0){if(q==="stringfilter"){k=t[2]}else{k=t[0]}}else{var y=r.jqxDropDownList("getSelectedItem");if(y){k=t[y.index]}else{if(q==="stringfilter"){k=t[2]}else{k=t[0]}}}var w=u.val();if(w.length>0||(w.length==0&&k=="NOT_NULL")||(w.length==0&&k=="NOT_EMPTY")||(w.length==0&&k=="EMPTY")||(w.length==0&&k=="NULL")){var s=l.displayfield;var x=new b.jqx.filter();if(q=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(w.indexOf(h.gridlocalization.decimalseparator)>=0){w=w.replace(h.gridlocalization.decimalseparator,".")}}if(w.indexOf(h.gridlocalization.currencysymbol)>=0){w=w.replace(h.gridlocalization.currencysymbol,"")}if(w.indexOf(h.gridlocalization.percentagesymbol)>=0){w=w.replace(h.gridlocalization.percentagesymbol,"")}}var j=x.createfilter(q,w,k,null,l.cellsFormat,h.gridlocalization);x.addfilter(0,j);h.addFilter(s,x)}}if(h.dataview.filters.length>0){h.applyFilters()}else{h.clearFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}};var e=function(){var m=b("<div style='position: relative;' class='filterrow'></div>").appendTo(h.filter);h.filterrow=m;m[0].cells=new Array();m.height(24);m.width(h.table.width());var k=0;var j=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var l=h.filterinput.val();b.each(h.columns.records,function(){var p=this;var n=b("<div></div>").appendTo(m);n.css("position","absolute");n.css("left",k+parseInt(p.uielement[0].style.left));if(p.pinned){n.css("z-index",h.tableZIndex+h.columns.records.length);n.addClass(h.toThemeProperty("jqx-widget-header"))}m[0].cells.push(n[0]);if(!this.filterable){return true}var o=b("<input style='margin-left: 4px; height: 20px; float: left;' role='textbox' type='text'/>").appendTo(n);o.keydown(function(r){if(r.keyCode===13){c()}});if(p.displayfield===j){o.val(l)}o.addClass(h.toThemeProperty("jqx-input"));o.addClass(h.toThemeProperty("jqx-rc-all"));o.addClass(h.toThemeProperty("jqx-widget"));o.addClass(h.toThemeProperty("jqx-widget-content"));var q=b("<div style='cursor: pointer; margin-left: 4px; margin-bottom: 4px; margin-top: 6px; width: 18px; position: relative; margin-top: 4px; float: left;'></div>").appendTo(n);q.append(b("<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"));o.focus(function(){h.ensureColumnVisible(p.displayfield);h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield);setTimeout(function(){h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield)},10)});q.click(function(){var u=b("<div class='filterconditions' style='position: relative; margin-top: 1px; float: left;'></div>");u.insertAfter(q);q.remove();var s=h.getcolumntypebydatafield(p);var t=h._getfiltersbytype(s);var r;if(s==="string"){r=2}else{r=0}u.jqxDropDownList({theme:h.theme,enableBrowserBoundsDetection:true,renderMode:"simple",arrowSize:0,selectedIndex:r,rtl:h.rtl,dropDownWidth:230,dropDownHeight:180,width:20,height:20,source:t,selectionRenderer:function(){return"<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"}});h.addHandler(u,"close",function(v){o.focus();setTimeout(function(){o.focus()},10)});u.removeAttr("tabindex");u.find("div").removeAttr("tabindex");u.jqxDropDownList("open")});o[0].style.width=p.width-6-22+"px"});b("<div style='clear: both;'></div>").appendTo(m)};e();var i=b("<div style='position:relative;' class='filterrow'></div>").appendTo(h.filter);var f=b("<input type='button' style='position: relative; float: left; margin-top: 4px; margin-left: 4px;' value='"+h.gridlocalization.filterapplystring+"'/>").appendTo(i);var g=b("<input type='button' style='position: relative; float: left; margin-top: 4px;  margin-left: 4px;' value='"+h.gridlocalization.filtercancelstring+"'/>").appendTo(i);var d=0;f.css("left",d);g.css("left",d);f.css("top","4px");g.css("top","4px");f.jqxButton({theme:h.theme});g.jqxButton({theme:h.theme});g.click(function(){h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide();h._arrange()});f.click(function(){c()});h._renderhorizontalscroll()},_getfiltertype:function(c){var d="stringfilter";switch(c){case"number":case"int":case"float":case"decimal":d="numericfilter";break;case"boolean":case"bool":d="booleanfilter";break;case"date":case"time":d="datefilter";break;case"string":d="stringfilter";break}return d},getcolumntypebydatafield:function(e){var f=this;var d="string";var c=f.source.datafields||((f.source._source)?f.source._source.datafields:null);if(c){var g="";b.each(c,function(){if(this.name==e.displayfield){if(this.type){g=this.type}return false}});if(g){return g}}return d},_getfiltersbytype:function(c){var d=this;var e="";switch(c){case"number":case"float":case"int":e=d.gridlocalization.filternumericcomparisonoperators;break;case"date":e=d.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":e=d.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:e=d.gridlocalization.filterstringcomparisonoperators;break}return e},_getcellvalue:function(c,e){var d=null;d=e[c.datafield];if(c.displayfield!=null){d=e[c.displayfield]}if(d==null){d=""}return d},_renderrows:function(ap){if(this.editable){if(this.editKey!=null){if(ap!==false){var M=this.endroweditbykey(this.editKey)}}}if(this.treeGrid){this.treeGrid._renderrows();return}if(this._loading){return}if(this._updating){return}if(this.rendering){this.rendering()}var ab=this;var T=0;this.table[0].rows=new Array();var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-widget-content");if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var K=this.columns.records.length;var ao=b.jqx.browser.msie&&b.jqx.browser.version<8;if(ao){this.host.attr("hideFocus","true")}var R=ab.groups.length;var ai=new Array();var k=this.source.records;k=this.dataview.evaluate(k);this.dataViewRecords=k;if(this.dataview.pagesize=="all"||!this.pageable||this.serverProcessing){var u=k;if(this.pageable&&this.serverProcessing&&k.length>this.dataview.pagesize){var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}}else{var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}if(ab.groups&&ab.groups.length>0){var P=this.pageable?this.dataview.pagesize*this.dataview.pagenum:0;var z=function(w){var au=0;var i=new Array();for(var c=0;c<w.length;c++){var j=w[c];if(j.level==0){au++}if(au>ab.dataview.pagesize*ab.dataview.pagenum&&au<=ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){i.push(j)}if(au>ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){break}}return i};if(this.pageSizeMode==="root"){var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",k,0);ab.rootRecordsLength=v.length;v=z(v)}else{var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",u,P)}var y=function(j,w){for(var av=0;av<j.length;av++){var c=j[av];w.push(c);if(c.records&&c.records.length>0){var aw=y(c.records,new Array());for(var au=0;au<aw.length;au++){if(aw[au].leaf){w.push(aw[au])}else{w.push(aw[au])}}}}return w};var ai=y.call(ab,v,new Array());u=ai;this.rowsByKey=new Array();for(var am=0;am<u.length;am++){var G=u[am];this.rowsByKey[G.uid]=G}}var ai=u;this.renderedRecords=ai;var U=ai.length;var V=this.tableZIndex;var aq=0;var aa=0;if(ao){for(var al=0;al<K;al++){var Z=this.columns.records[al];var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}var l=b('<table><tr><td role="gridcell" style="max-width: '+e+"px; width:"+e+'px;" class="'+H+'"></td></tr></table>');b(document.body).append(l);var n=l.find("td");aq=1+parseInt(n.css("padding-left"))+parseInt(n.css("padding-right"));l.remove();break}}var ak=this.rtl?" "+this.toTP("jqx-grid-table-rtl"):"";var B="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='table"+this.element.id+"'><colgroup>";var ar="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='pinnedtable"+this.element.id+"'><colgroup>";var I=0;var s=K;for(var al=0;al<K;al++){var Z=this.columns.records[al];if(Z.hidden){I++;s--;continue}var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}e-=aq;if(e<0){e=0}if(ao){var ac=e;if(al==I){ac++}if(Z.rowDetailscolumn){var ac=ac+4;ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}else{ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}}else{ar+="<col style='max-width: "+e+"px; width: "+e+"px;'>";B+="<col style='max-width: "+e+"px; width: "+e+"px;'>"}aa+=e}B+="</colgroup>";ar+="</colgroup>";this._hiddencolumns=false;var g=false;if(this.rowDetails&&this._pinnedTable){this._pinnedTable.find("[data-role=details]").detach();this._table.find("[data-role=details]").detach()}if(U===0){var o='<tr role="row">';var m=this.host.height();if(this.pageable){m-=this.pagerHeight;if(this.pagerPosition==="both"){m-=this.pagerHeight}}m-=this.columnsHeight;if(this.filterable){var ag=this.filter.find(".filterrow");var D=this.filter.find(".filterrow-hidden");var C=1;if(D.length>0){C=0}m-=this.filterHeight+this.filterHeight*ag.length*C}if(this.showstatusbar){m-=this.statusBarHeight}if(this.showAggregates){m-=this.aggregatesHeight}if(m<25){m=25}if(this.hScrollBar[0].style.visibility!="hidden"){m-=this.hScrollBar.outerHeight()}if(this.height==="auto"||this.height===null||this.autoheight){m=300}var l='<td colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+m+"px; height: "+m+"px; max-width:"+aa+"px; width:"+aa+"px;";var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-center-align");l+='" class="'+H+'">';l+=this.gridlocalization.emptydatastring;l+="</td>";o+=l;B+=o;ar+=o;this.table[0].style.width=aa+2+"px";T=aa}var q=this.getRows();var x=new Array();for(var am=0;am<ai.length;am++){var G=ai[am];var L=G.uid;if(undefined===G.uid){G.uid=this.dataview.generatekey()}var o='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';if(R>0){if(G.level<R){var o='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">'}}var p=0;var S=0;for(var al=0;al<K;al++){var ae=this.columns.records[al];if(ae.pinned||(this.rtl&&this.columns.records[K-1].pinned)){g=true}var e=ae.width;if(e<ae.minwidth){e=ae.minwidth}if(e>ae.maxwidth){e=ae.maxwidth}e-=aq;if(e<0){e=0}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(ae.pinned){H+=" "+this.toTP("jqx-grid-cell-pinned")}if(this.sortcolumn===ae.displayfield){H+=" "+this.toTP("jqx-grid-cell-sort")}if(this.altRows&&am%2!=0){H+=" "+this.toTP("jqx-grid-cell-alt")}if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var O="";if(R>0){if(G.level<R){if(!ao){H+=" "+this.toTP("jqx-grid-cell-pinned");O+=' colspan="'+K+'"';var ac=0;for(var ad=0;ad<K;ad++){var at=ab.columns.records[ad];var A=at.width;if(A<at.minwidth){e=at.minwidth}if(A>at.maxwidth){e=at.maxwidth}A-=aq;if(A<0){A=0}if(!at.hidden){ac+=A}}e=ac}else{H+=" "+this.toTP("jqx-grid-cell-pinned")}}}var l='<td role="gridcell" '+O+' style="max-width:'+e+"px; width:"+e+"px;";var af='<td role="gridcell" '+O+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+e+"px; width:"+e+"px;";if(al==K-1&&K==1){l+="border-right-color: transparent;";af+="border-right-color: transparent;"}var Y=false;if(R>0){if(G.level<R){Y=true}}if(!Y){if(ae.cellsalign!="left"){if(ae.cellsalign==="right"){H+=" "+this.toTP("jqx-right-align")}else{H+=" "+this.toTP("jqx-center-align")}}}else{if(this.rtl){H+=" "+this.toTP("jqx-right-align")}}if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].selected&&!ae.rowDetailscolumn){if(this.editKey!==G.uid){if(this.selectionMode!=="none"){H+=" "+this.toTP("jqx-grid-cell-selected");H+=" "+this.toTP("jqx-fill-state-pressed")}}}if(this.rowinfo[G.uid].locked){H+=" "+this.toTP("jqx-grid-cell-locked")}}if(!(ae.hidden)){p+=aq+e;if(S==0){l+="border-left-width: 0px;";af+="border-left-width: 0px;"}S++}else{if(!Y){l+="display: none;";af+="display: none;";this._hiddencolumns=true}}if(R>0&&ao&&Y&&al>=R){l+="font-size: 1px; border-color: transparent;  color: transparent;";af+="font-size: 1px; border-color: transparent; color: transparent;"}if(ae.pinned){l+="pointer-events: auto;";af+="pointer-events: auto;"}if(!Y&&ae.rowDetailscolumn){if(this.rowinfo[G.uid]){if(!this.rowinfo[G.uid].nodetails){if(this.rowinfo[G.uid].expanded){if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-expand")}else{H+=" "+this.toTP("jqx-grid-group-expand-rtl")}H+=" "+this.toTP("jqx-icon-arrow-down")}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}if(!this.autoRowHeight||(this.autoRowHeight&&!ae.autoCellHeight)){H+=" "+this.toTP("jqx-grid-cell-nowrap ")}var aj=ab._getcellvalue(ae,G);var f=ae.cellsFormat;if(R>0){if(G.level<R){aj=G.label;f=ab.getColumn(ab.groups[G.level]).cellsFormat}}if(f!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(aj)){aj=b.jqx.dataFormat.formatdate(aj,f,ab.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(aj)||(!isNaN(parseFloat(aj))&&isFinite(aj))){aj=b.jqx.dataFormat.formatnumber(aj,f,ab.gridlocalization)}}}}if(!Y){if(ae.cellclassname!=""&&ae.cellclassname){if(typeof ae.cellclassname=="string"){H+=" "+ae.cellclassname}else{var r=ae.cellclassname(am,ae.datafield,aj,G);if(r){H+=" "+r}}}if(ae.cellsRenderer!=""&&ae.cellsRenderer){var d=q.indexOf(G);if(d===-1){if(G.originalRecord){var d=q.indexOf(G.originalRecord)}}aj=ae.cellsRenderer(d,ae.datafield,aj,G);if(aj&&(aj.indexOf("<jqx-")>=0||aj.indexOf(" ng-")>=0)){x.push({rowKey:G.uid,row:d,column:ae.datafield,value:aj,columnIndex:al})}}}else{if(this.groupsRenderer){aj=this.groupsRenderer(aj,G,G.level)}}l+='" class="'+H+'">';l+=aj;l+="</td>";af+='" class="'+H+'">';af+=aj;af+="</td>";if(!ae.pinned){o+=l;if(g){E+=af}}else{E+=l;o+=l}if(R>0&&!ao){if(G.level<R){break}}}if(T==0){this.table[0].style.width=p+2+"px";T=p}o+="</tr>";E+="</tr>";B+=o;ar+=E;if(!this.rowinfo[G.uid]){this.rowinfo[G.uid]={group:Y,row:G,details:null,detailsHeight:200,initialized:false,expanded:false}}else{if(!("group" in this.rowinfo[G.uid])){this.rowinfo[G.uid].group=Y}if(!("row" in this.rowinfo[G.uid])){this.rowinfo[G.uid].row=G}if(!("details" in this.rowinfo[G.uid])){this.rowinfo[G.uid].details=null}if(!("detailsHeight" in this.rowinfo[G.uid])){this.rowinfo[G.uid].detailsHeight=200}if(!("initialized" in this.rowinfo[G.uid])){this.rowinfo[G.uid].initialized=false}if(!("expanded" in this.rowinfo[G.uid])){this.rowinfo[G.uid].expanded=false}}if(this.serverProcessing){this.rowinfo[G.uid].row=G}if(this.rowDetails){var F=this.rowinfo[G.uid].detailsHeight;if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].expanded){var ah='<tr data-role="row-details"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-details");H+=" "+this.toTP("jqx-reset");ah+='" class="'+H+'"><div style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px;"><div data-role="details"></div></div></td></tr>';B+=ah;ar+=ah}}B+="</table>";ar+="</table>";if(g){if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(ar+B)})}else{ab.table[0].innerHTML=ar+B}var W=this.table.find("#table"+this.element.id);var X=this.table.find("#pinnedtable"+this.element.id);X.css("float","left");X.css("pointer-events","none");W.css("float","left");X[0].style.position="absolute";W[0].style.position="relative";W[0].style.zIndex=V-10;X[0].style.zIndex=V+10;this._table=W;this._table[0].style.left="0px";this._pinnedTable=X;this._pinnedTable[0].style.left="0px";this._pinnedTable[0].style.width=T+"px";this._table[0].style.width=T+"px";if(this.rtl){if(T>parseInt(this.element.style.width)&&this._haspinned){this._pinnedTable[0].style.left=3-T+parseInt(this.element.style.width)+"px"}}if(this.rowDetails){for(var am=0;am<U;am++){var G=ai[am];var L=G.uid;if(this.rowinfo[L].details){var N=b(this._table.children()[1]).children(("[data-key="+L+"]"));var Q=b(this._pinnedTable.children()[1]).children(("[data-key="+L+"]"));if(N){var h=Q.next();var J=b(b(h).children().children());J.children().detach();J.append(this.rowinfo[G.uid].details)}}}}}else{if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(B)})}else{ab.table[0].innerHTML=B}var ad=this.table.find("#table"+this.element.id);this._table=ad;if(b.jqx.browser.msie&&b.jqx.browser.version<10){this._table[0].style.width=T+"px"}if(U===0){this._table[0].style.width=(2+T)+"px"}}if(U===0){this._table[0].style.tableLayout="auto";if(this._pinnedTable){this._pinnedTable[0].style.tableLayout="auto"}}if(x&&x.length>0){var an=this._table[0].rows;b.each(x,function(){var w=this.row;var au=this.rowKey;var j=this.column;var i=this.columnIndex;var t=ab._getuirow(au);if(t){var c=t[0].cells[i];if(b.jqx.angularCompile){b.jqx.angularCompile(c,"<div>"+c.innerHTML+"</div>")}}})}if(this.rendered){this.rendered()}},getcolumnindex:function(c){var d=this.getColumn(c);var e=this.columns.records.indexOf(d);return e},setcolumnindex:function(e,i,j){var h=this.getColumn(e);if(h.pinned){return}if(h.hidden){return}if(h.checkboxcolumn){return}if(h.grouped){return}var l=this.columns.records.indexOf(h);this.columns.records.splice(l,1);this.columns.records.splice(i,0,h);var f=0;var n=this.headerZIndex;this.columnsrow.children().detach();var k=this.toThemeProperty("jqx-grid-cell");k+=" "+this.toThemeProperty("jqx-grid-cell-pinned");k+=" "+this.toThemeProperty("jqx-item");var m=this;var c=null;if(m.filterrow!=undefined){var c=b(m.filterrow.children()[0])}this.columnsrow[0].cells=[];var g=false;b.each(this.columns.records,function(p,s){var q=this.uielement;m.columnsrow.append(q);if(!m.rtl){q.css("z-index",n--)}else{q.css("z-index",n++)}var o=!m.rtl?250+n-1:250+n+1;if(this.pinned){q.css("z-index",o)}var r=this.width;q.css("left",f);m.columnsrow[0].cells[m.columnsrow[0].cells.length]=q[0];if(this.hidden){g=true}if(!(this.hidden&&this.hideable)){f+=r}});if(this.groupable){var d=this.groups.length;if(d>0){if(l-d>=0){l-=d;i-=d}}}if(this.rowDetails){if(l-1>=0){l--;i--}}if(this.selectionMode=="checkbox"){if(l-1>=0){l--;i--}}var h=this._columns[l];this._columns.splice(l,1);this._columns.splice(i,0,h);this.resize();this._rendercolumnGroups();this._raiseEvent("columnReordered",{dataField:h.datafield,oldIndex:l,newIndex:i})},_pinnedColumnsLength:function(){var c=0;b.each(this.columns.records,function(){if(this.pinned){c++}if(this.grouped){c++}});if(this.rowDetails){c++}if(this.selectionMode=="checkbox"){c++}return c},_handlecolumnsReorder:function(){var g=this;var h=-1;var d=false;if(!g.columnsReorder){return}var f="mousemove.reorder"+this.element.id;var e="mousedown.reorder"+this.element.id;var i="mouseup.reorder"+this.element.id;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true;f=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;e=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;i=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id}this.removeHandler(b(document),f);this.addHandler(b(document),f,function(x){if(g.resizing){return true}if(g.reordercolumn!=null){var m=parseInt(x.pageX);var u=parseInt(x.pageY);if(c){var t=g.getTouches(x);var p=t[0];if(p!=undefined){m=parseInt(p.pageX);u=parseInt(p.pageY)}}var j=g.host.coord();var w=parseInt(j.left);var k=parseInt(j.top);if(g.dragmousedownoffset==undefined||g.dragmousedownoffset==null){g.dragmousedownoffset={left:0,top:0}}var B=parseInt(m)-parseInt(g.dragmousedownoffset.left);var s=parseInt(u)-parseInt(g.dragmousedownoffset.top);g.reordercolumn.css({left:B+"px",top:s+"px"});d=false;if(m>=w&&m<=w+g.host.width()){if(u>=k&&u<=k+g.host.height()){d=true}}h=-1;if(d){g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-dragcancel-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-drag-icon"));var n=g.columnsheader.coord();var q=n.top+g.columnsheader.height();if(g.columnsdropline!=null){if(u>=n.top&&u<=q){h=g._handlereordercolumnsdroplines(m);if(g.columnGroups){if(h!=-1){var l=0;l+=g._pinnedColumnsLength();var o=h.index;if(o>=l){var y=g.columns.records[o];if(y!=undefined){var v=g.columns.records.indexOf(g.getColumn(y.datafield));if(y.datafield==null){var v=g.columns.records.indexOf(g.getcolumnbytext(y.text))}var r=b.data(g.reordercolumn[0],"reorderrecord");var A=g.columns.records.indexOf(g.getColumn(r));var z=y;if(A<v){if(h.position=="before"){z=g.columns.records[v-1]}}if(z.columngroup!=g.getColumn(r).columngroup){g.columnsdropline.hide();return}}}}}}else{g.columnsdropline.fadeOut("slow")}}}else{if(g.columnsdropline!=null){g.columnsdropline.fadeOut("slow")}g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-drag-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-dragcancel-icon"))}if(x.preventDefault){x.preventDefault();x.stopPropagation()}if(c){x.preventDefault();x.stopPropagation();return false}}});this.columnsbounds=new Array();this.removeHandler(b(document),e);this.addHandler(b(document),e,function(k){if(g.resizing){return true}g.columnsbounds=new Array();var m=g.host.coord().left;var l=g.host.coord().top;if(g.showtoolbar){l+=g.toolbarHeight}if(g.filter){l+=g.filter.height()}var j=0;b.each(g.columns.records,function(o){var p=this;if(p.hidden){g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:0,height:2};return true}if(j==0){if(!g.rtl){m=parseInt(g.host.coord().left)-g.hScrollInstance.value}else{m=parseInt(g.host.coord().left)-g.hScrollInstance.max+g.hScrollInstance.value}}j++;var n=2+g.columnsHeight;if(g.columnshierarchy){l=b(p.uielement).coord().top;n=b(p.uielement).height()}g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:p.width,height:n};m+=p.width})});this.removeHandler(b(document),i);this.addHandler(b(document),i,function(j){if(g.resizing){return true}g.__drag=false;b(document.body).removeClass("jqx-disableselect");var l=parseInt(j.pageX);var t=parseInt(j.pageY);if(c){var o=g.getTouches(j);var n=o[0];l=parseInt(n.pageX);t=parseInt(n.pageY)}var m=g.host.coord();var v=parseInt(m.left);var w=parseInt(m.top);if(g.showtoolbar){w+=g.toolbarHeight}g.columndragstarted=false;g.dragmousedown=null;if(g.reordercolumn!=null){var k=b.data(g.reordercolumn[0],"reorderrecord");var x=g.columns.records.indexOf(g.getColumn(k));g.reordercolumn.remove();g.reordercolumn=null;var p=0;p+=g._pinnedColumnsLength();if(k!=null){if(d){if(h!=-1){var q=h.index;if(q>=p){var s=g.columns.records[q];if(s!=undefined){var u=g.columns.records.indexOf(g.getColumn(s.datafield));if(s.datafield==null){var u=g.columns.records.indexOf(g.getcolumnbytext(s.text))}if(g.columnGroups){var r=s;if(x<u){if(h.position=="before"){r=g.columns.records[u-1]}}if(r.columngroup!=g.getColumn(k).columngroup){if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}return}}if(x<u){if(h.position=="before"){g.setcolumnindex(k,u-1)}else{g.setcolumnindex(k,u)}}else{if(x>u){g.setcolumnindex(k,u)}}}}}}if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}}}})},getcolumnbytext:function(d){var c=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.text==d){c=this;return false}})}return c},_handlereordercolumnsdroplines:function(i){var c=this;var h=-1;var e=c._pinnedColumnsLength();var g=parseInt(c.host.coord().left);var d=g+c.host.width();var f=c.vScrollBar.css("visibility")!="hidden"?19:0;if(!c.rtl){f=0}b.each(c.columnsbounds,function(j){if(j>=e){if(this.width==0){return true}if(i<=this.left+this.width/2){if(i>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+parseInt(this.left)+"px");c.columnsdropline.css("top",parseInt(this.top)+"px");c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"before"};return false}else{if(i>=this.left+this.width/2){if(this.left+this.width>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+1+this.left+this.width);c.columnsdropline.css("top",this.top);c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"after"}}}}});return h},_createreordercolumn:function(d,f,i){var h=this;var g=f;if(h.reordercolumn){h.reordercolumn.remove()}if(h.columnsdropline){h.columnsdropline.remove()}h.reordercolumn=b("<div></div>");var k=d.clone();h.reordercolumn.css("z-index",999999);k.css("border-width","1px");k.css("opacity","0.4");var j=b(k.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(j.length>0){j.css("display","none")}var c=b(k.find(".jqx-icon-close"));if(c.length>0){c.css("display","none")}h.reordercolumnicon=b('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.reordercolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.reordercolumn.css("float","left");h.reordercolumn.css("position","absolute");var e=h.host.coord();k.width(d.width()+16);h.reordercolumn.append(k);h.reordercolumn.height(d.height());h.reordercolumn.width(k.width());h.reordercolumn.append(h.reordercolumnicon);b(document.body).append(h.reordercolumn);k.css("margin-left",0);k.css("left",0);k.css("top",0);h.reordercolumn.css("left",g.left+h.dragmousedown.left);h.reordercolumn.css("top",g.top+h.dragmousedown.top);if(i!=undefined&&i){h.columnsdropline=b('<div style="z-index: 9999; display: none; position: absolute;"></div>');h.columnsdropline.width(2);h.columnsdropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));b(document.body).append(h.columnsdropline)}},_handlecolumnsdragreorder:function(d,g){if(this.reordercolumn){this.reordercolumn.remove()}if(this.columnsdropline){this.columnsdropline.remove()}this.dragmousedown=null;this.dragmousedownoffset=null;this.columndragstarted=false;this.reordercolumn=null;var h=this;var f;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true}var e="mousedown.drag";var f="mousemove.drag";if(c){e=b.jqx.mobile.getTouchEventName("touchstart")+".drag";f=b.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(g,"dragstart",function(i){return false})}this.addHandler(g,e,function(k){if(false==d.draggable){return true}if(h.resizing){return true}h.__drag=true;var j=k.pageX;var i=k.pageY;if(c){var l=h.getTouches(k);var n=l[0];j=n.pageX;i=n.pageY}h.dragmousedown={left:j,top:i};var m=b(k.target).coord();h.dragmousedownoffset={left:parseInt(j)-parseInt(m.left),top:parseInt(i-m.top)};if(k.preventDefault){k.preventDefault()}return true});this.addHandler(g,f,function(k){if(!d.draggable){return true}if(undefined==d.datafield){return true}if(d.pinned){return true}if(h.resizing){return true}if(h.dragmousedown){var j=k.pageX;var i=k.pageY;if(c){var m=h.getTouches(k);var o=m[0];if(o!=undefined){j=o.pageX;i=o.pageY}}f={left:j,top:i};if(!h.columndragstarted&&h.reordercolumn==null){var l=Math.abs(f.left-h.dragmousedown.left);var n=Math.abs(f.top-h.dragmousedown.top);if(l>3||n>3){h._createreordercolumn(g,f,true);b(document.body).addClass("jqx-disableselect");b.data(h.reordercolumn[0],"reorderrecord",d.datafield)}}}})},getTouches:function(c){return b.jqx.mobile.getTouches(c)},_handlecolumnsResize:function(){var i=this;if(this.columnsResize){var k=false;if(i.isTouchDevice()){k=true}var g="mousemove.resize"+this.element.id;var d="mousedown.resize"+this.element.id;var e="mouseup.resize"+this.element.id;if(k){var g=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var e=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id}this.removeHandler(b(document),g);this.addHandler(b(document),g,function(n){if(i.resizablecolumn!=null&&!i.disabled&&i.resizing){if(i.resizeline!=null){var s=i.resizablecolumn.columnelement;var p=i.host.coord();var v=parseInt(i.resizestartline.coord().left);var l=v-i._startcolumnwidth;var w=i.resizablecolumn.column.minwidth;if(w=="auto"){w=0}else{w=parseInt(w)}var m=i.resizablecolumn.column.maxwidth;if(m=="auto"){m=0}else{m=parseInt(m)}var q=n.pageX;if(k){var t=b.jqx.mobile.getTouches(n);var r=t[0];q=r.pageX}l+=w;var u=m>0?v+m:0;var o=m==0?true:i._startcolumnwidth+q-v<m?true:false;if(i.rtl){var o=true}if(o){if(!i.rtl){if(q>=p.left&&q>=l){if(u!=0&&n.pageX<u){i.resizeline.css("left",q)}else{if(u==0){i.resizeline.css("left",q)}}if(k){return false}}}else{if(q>=p.left&&q<=p.left+i.host.width()){i.resizeline.css("left",q);if(k){return false}}}}}}if(!k&&i.resizablecolumn!=null){return false}});this.removeHandler(b(document),d);this.addHandler(b(document),d,function(m){if(i.resizablecolumn!=null&&!i.disabled){var l=i.resizablecolumn.columnelement;if(l.coord().top+l.height()+5<m.pageY){i.resizablecolumn=null;return}if(l.coord().top-5>m.pageY){i.resizablecolumn=null;return}i._startcolumnwidth=i.resizablecolumn.column.width;i.resizablecolumn.column._width=null;b(document.body).addClass("jqx-disableselect");b(document.body).addClass("jqx-position-reset");i._mouseDownResize=new Date();i.resizing=true;i._resizecolumn=i.resizablecolumn.column;i.resizeline=i.resizeline||b('<div style="position: absolute;"></div>');i.resizestartline=i.resizestartline||b('<div style="position: absolute;"></div>');i.resizebackground=i.resizebackground||b('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>');i.resizebackground.css("opacity",0.01);i.resizebackground.css("cursor","col-resize");i.resizeline.css("cursor","col-resize");i.resizestartline.css("cursor","col-resize");i.resizeline.addClass(i.toThemeProperty("jqx-grid-column-resizeline"));i.resizestartline.addClass(i.toThemeProperty("jqx-grid-column-resizestartline"));b(document.body).append(i.resizeline);b(document.body).append(i.resizestartline);b(document.body).append(i.resizebackground);var n=i.resizablecolumn.columnelement.coord();i.resizebackground.css("left",i.host.coord().left);i.resizebackground.css("top",i.host.coord().top);i.resizebackground.width(i.host.width());i.resizebackground.height(i.host.height());i.resizebackground.css("z-index",999999999);var o=function(q){if(!i.rtl){q.css("left",parseInt(n.left)+i._startcolumnwidth)}else{q.css("left",parseInt(n.left))}var s=0;var t=i.showtoolbar?i.toolbarHeight:0;s+=t;var v=i.showstatusbar?i.statusBarHeight:0;s+=v;var r=i.showAggregates?i.aggregatesHeight:0;s+=r;if(i.pageable&&i.pagerPosition!="bottom"){s+=i.pagerHeight}if(i.filterable){s+=i.filter.height()}var p=0;if(i.pageable&&i.pagerPosition!="top"){p=i.pagerHeight}var u=i.hScrollBar.css("visibility")!="hidden"?i.scrollBarSize:0;q.css("top",parseInt(n.top));q.css("z-index",9999999999);if(i.columnGroups){q.height(i.host.height()+i.resizablecolumn.columnelement.height()-p-s-u-i.columnGroupslevel*i.columnsHeight)}else{q.height(i.host.height()-p-s-u)}q.show("fast")};o(i.resizeline);o(i.resizestartline);i.dragmousedown=null}});var f=function(){b(document.body).removeClass("jqx-disableselect");b(document.body).removeClass("jqx-position-reset");if(!i.resizing){return}i._mouseUpResize=new Date();var t=i._mouseUpResize-i._mouseDownResize;if(t<200){i.resizing=false;if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove()}return}i.resizing=false;if(i.disabled){return}var n=i.host.width();if(i.vScrollBar[0].style.visibility!="hidden"){n-=20}if(n<0){n=0}if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){var u=parseInt(i.resizeline.css("left"));var o=parseInt(i.resizestartline.css("left"));var s=i._startcolumnwidth+u-o;if(i.rtl){var s=i._startcolumnwidth-u+o}var r=i._resizecolumn.width;i._resizecolumn.width=s;if(i._resizecolumn._percentagewidth!=undefined){i._resizecolumn._percentagewidth=(s/n)*100}for(var q=0;q<i._columns.length;q++){if(i._columns[q].datafield===i._resizecolumn.datafield){i._columns[q].width=i._resizecolumn.width;break}}var l=i.hScrollBar[0].style.visibility;var p=i._resizecolumn.displayfield;i._updatecolumnwidths();i.refresh();i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove();i.resizablecolumn=null;i._raiseEvent("columnResized",{dataField:p,oldWidth:r,newWidth:s})}else{i.resizablecolumn=null}};try{if(document.referrer!=""||window.frameElement){var c=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){c=document.referrer}}if(c&&c.indexOf(document.location.host)!=-1){var h=function(l){f()};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",h,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",h)}}}}}catch(j){}this.removeHandler(b(document),e);this.addHandler(b(document),e,function(m){var l=b.data(document.body,"contextmenu"+i.element.id);if(l!=null&&i.autoshowcolumnsmenubutton){return true}f()})}},_updatecolumnwidths:function(){var k=this.host.width();var c=k;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){k-=parseInt(this.scrollBarSize)+6;c=k}var j="";if(this.columns==undefined||this.columns.records==undefined){return}var i=this;var h=false;b.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=i.vScrollBar[0].style.visibility=="hidden"?0:i.scrollBarSize+5;if(i.scrollBarSize==0){n=0}m=parseFloat(this.width)*c/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(c)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}k-=Math.round(m)}else{if(this.width!="auto"&&!this._width){k-=this.width}else{j+=this.text}}}});var f=this.columnsheader.find("#columntable"+this.element.id);if(f.length==0){return}var d=0;var g=f.find(".jqx-grid-column-header");var e=0;b.each(this.columns.records,function(n,q){var m=b(g[n]);var t=false;var s=this.width;var o=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){s=parseFloat(this._percentagewidth)*c/100}else{s=parseFloat(this.width)*c/100}s=Math.round(s);t=true}if(this.width!="auto"&&!this._width&&!t){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(t){if(s<this.minwidth&&this.minwidth!="auto"){s=this.minwidth;this.width=s}if(s>this.maxwidth&&this.maxwidth!="auto"){s=this.maxwidth;this.width=s}if(parseInt(m[0].style.width)!=s){m.width(s);this.width=s}}else{var l=Math.floor(k*(this.text.length/j.length));if(isNaN(l)){l=this.minwidth}var p=(k*(this.text.length/j.length))-l;d+=p;if(d>=1){d-=1;l++}if(d>=0.5&&n==i.columns.records.length-1){l++}if(l<0){var r=b("<span>"+this.text+"</span>");b(document.body).append(r);l=10+r.width();r.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=l;m.width(this.width)}}if(parseInt(m[0].style.left)!=e){m.css("left",e)}if(!(this.hidden)){e+=this.width}this._requirewidthupdate=true;if(o!==this.width){h=true}});this.columnsheader.width(2+e);f.width(this.columnsheader.width());this._resizecolumnGroups();if(h){this._renderrows()}if(this.showAggregates){this._refreshcolumnsaggregates()}},_rendercolumnheaders:function(){var r=this;if(this._updating){return}if(r.columns.records.length>r.headerZIndex){r.headerZIndex=r.columns.records.length+10}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var g=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');g[0].cells=new Array();var l=0;var h=0;var s="";var u=this.host.width();var f=u;var w=new Array();var t=new Array();b.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){u-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){u-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*f/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}u-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}u-=this.width}}}}else{s+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(r._haspinned){this.pinned=true}w[w.length]=this}else{t[t.length]=this}});if(!this.rtl){for(var o=0;o<w.length;o++){this.columns.replace(o,w[o])}for(var m=0;m<t.length;m++){this.columns.replace(w.length+m,t[m])}}else{var e=0;w.reverse();for(var o=this.columns.records.length-1;o>=this.columns.records.length-w.length;o--){this.columns.replace(o,w[e++])}for(var m=0;m<t.length;m++){this.columns.replace(m,t[m])}}var v=this.headerZIndex;var d=0;var n=r.columnsHeight;var q=function(j,k){var i=r.columnGroupslevel*r.columnsHeight;i=i-(k.level*r.columnsHeight);return i};var c=0;b.each(this.columns.records,function(K,I){this.height=r.columnsHeight;if(r.columnGroups){if(r.columnGroups.length){this.height=q(this.datafield,this);n=this.height}}var N=r.toTP("jqx-grid-column-header")+" "+r.toTP("jqx-widget-header");if(r.rtl){N+=" "+r.toTP("jqx-grid-column-header-rtl")}if(!r.enableBrowserSelection){N+=" "+r.toTP("jqx-disableselect")}var L=!r.rtl?250+v-1:250+v+1;var G=!r.rtl?v--:v++;var x=b('<div role="columnheader" style="z-index: '+G+';position: absolute; height: 100%;" class="'+N+'"><div style="height: 100%; width: 100%;"></div></div>');if(r.rtl&&K===0){x[0].style.borderLeftColor="transparent"}if(r.columnGroups){x[0].style.height=n+"px";x[0].style.bottom="0px";if(this.pinned){x[0].style.zIndex=L}}this.uielement=x;this.element=x;if(this.classname!=""&&this.classname){x.addClass(this.classname)}var C=this.width;var D=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){C=parseFloat(this._percentagewidth)*f/100}else{C=parseFloat(this.width)*f/100}C=Math.round(C);D=true}if(this.width!="auto"&&!this._width&&!D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}x[0].style.width=parseInt(C)+"px"}else{if(D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}x.width(C);this.width=C}else{var H=Math.floor(u*(this.text.length/s.length));var E=(u*(this.text.length/s.length))-H;c+=E;if(c>=1){c-=1;H++}if(c>=0.5&&K==r.columns.records.length-1){H++}if(isNaN(H)){H=this.minwidth}if(H<0){var F=b("<span>"+this.text+"</span>");b(document.body).append(F);H=10+F.width();F.remove()}if(H<this.minwidth){H=this.minwidth}if(H>this.maxwidth){H=this.maxwidth}this._width="auto";this.width=parseInt(H);C=this.width;x.width(this.width)}}if(this.hidden){x.css("display","none")}var k=b(x.children()[0]);g[0].cells[K]=x[0];var p=false;var J=false;var z=this.renderer!=null?this.renderer(this.text,this.align,n):r._rendercolumnheader(this.text,this.align,n,r);if(z==null){z=r._rendercolumnheader(this.text,this.align,n,r)}if(this.renderer!=null){z=b(z)}p=true;if(r.WinJS){MSApp.execUnsafeLocalFunction(function(){k.append(b(z))})}else{if(this.renderer){k.append(b(z))}else{if(z){k[0].innerHTML=z}}}if(z!=null){var B=b('<div class="iconscontainer" style="height: '+n+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortascbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortdescbutton")+'" style="width: 100%; height:100%;"></div></div></div>');k.append(B);var O=B.children();this.sortasc=O[1];this.sortdesc=O[2];this.filtericon=O[0];this.iconscontainer=B;if(r.rtl){B.css("margin-left","0px");B.css("left","0px");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}}g.append(x);if(r.columnsReorder&&this.draggable&&r._handlecolumnsdragreorder){r._handlecolumnsdragreorder(this,x)}var M=this;r.addHandler(x,"click",function(i){if(M.checkboxcolumn){return true}if(r._togglesort){if(!r._loading){r._togglesort(M)}}i.preventDefault()});if(r.columnsResize&&!J){var y=false;var j="mousemove";if(r.isTouchDevice()){y=true;j=b.jqx.mobile.getTouchEventName("touchstart")}r.addHandler(x,j,function(P){if(!M.resizable){r.resizablecolumn=null;return true}var i=parseInt(P.pageX);var R=5;var U=parseInt(x.coord().left);if(r.hasTransform){U=b.jqx.utilities.getOffset(x).left}if(r._handlecolumnsResize){if(y){var Q=b.jqx.mobile.getTouches(P);var T=Q[0];i=T.pageX;R=40;if(i>=U+M.width-R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize")}else{x.css("cursor","");r.resizablecolumn=null}return true}var S=M.width;if(r.rtl){S=0}if(i>=U+S-R){if(i<=U+S+R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize");return false}else{x.css("cursor","");r.resizablecolumn=null}}else{x.css("cursor","");if(i<U+S-R){if(!M._animating&&!M._menuvisible){x.mouseenter()}}r.resizablecolumn=null}}})}x.css("left",h);if(!(this.hidden)){h+=C}if(M.rendered){var A=M.rendered(b(k[0].firstChild),M.align,n);if(A&&B!=null){B.hide()}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}this.columnsrow=g;r.columnsheader.append(g);g.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsReorder){this._handlecolumnsReorder()}if(this._handlecolumnsResize){this._handlecolumnsResize()}if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var o=0;for(var l=0;l<this.columns.records.length;l++){if(this.columns.records[l].pinned){o++}}var t=this.headerZIndex-o+this.columns.records.length;var n=this;var g=n.toTP("jqx-grid-column-header")+" "+n.toTP("jqx-grid-columngroup-header")+" "+n.toTP("jqx-widget-header");if(n.rtl){g+=" "+n.toTP("jqx-grid-columngroup-header-rtl")}var e=this.columnsheader.find("#columntable"+this.element.id);e.find("jqx-grid-columngroup-header").remove();for(var h=0;h<this.columnGroupslevel-1;h++){for(var l=0;l<this.columnGroups.length;l++){var q=this.columnGroups[l];var c=q.level;if(c!==h){continue}var p=c*this.columnsHeight;var d=99999;if(q.groups){var s=function(w){var v=0;for(var u=0;u<w.groups.length;u++){var i=w.groups[u];if(!i.groups){if(!i.hidden){v+=i.width;d=Math.min(parseInt(i.element[0].style.left),d)}}else{v+=s(i)}}return v};q.width=s(q);q.left=d;var r=this.columnsHeight;var m=t--;var f=b('<div role="columnheader" style="z-index: '+m+';position: absolute;" class="'+g+'"></div>');var k=b(this._rendercolumnheader(q.text,q.align,this.columnsHeight,this));f.append(k);f[0].style.left=d+"px";if(d===0){f[0].style.borderLeftColor="transparent"}f[0].style.top=p+"px";f[0].style.height=r+"px";f[0].style.width=-1+q.width+"px";e.append(f);q.element=f}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var d=0;d<this.columnGroups.length;d++){var j=this.columnGroups[d];var k=j.level;var h=k*this.columnsHeight;var g=99999;if(j.groups){var f=function(n){var m=0;for(var l=0;l<n.groups.length;l++){var i=n.groups[l];if(!i.groups){if(!i.hidden){m+=i.width;g=Math.min(parseInt(i.element[0].style.left),g)}}else{m+=f(i)}}return m};j.width=f(j);j.left=g;var c=this.columnsHeight;var e=j.element;e[0].style.left=g+"px";e[0].style.top=h+"px";e[0].style.height=c+"px";e[0].style.width=-1+j.width+"px"}}},_removecolumnhandlers:function(f){var d=this;var c=b(f.element);if(c.length>0){d.removeHandler(c,"mouseenter");d.removeHandler(c,"mouseleave");var e=b(f.filtericon);d.removeHandler(e,"mousedown");d.removeHandler(e,"click");d.removeHandler(c,"click")}},_calculateaggregate:function(k,o,d,h){if(!k.datafield){return null}var e=k.aggregates;if(!e){e=o}if(e){var f=new Array();for(var n=0;n<e.length;n++){if(e[n]=="count"){continue}f[f.length]=k.cellsFormat}if(this.source&&this.source.getAggregatedData){if(h==undefined){h=this.getRows();if(this.dataViewRecords){h=this.dataViewRecords}}var s=h;var c=-1;if(this.treeGrid){var q=new Array();var r=function(u){for(var t=0;t<u.length;t++){if(u[t]==undefined){continue}if(c==-1){c=u[t].level}if(!u[t].aggregate){q.push(u[t])}if(!u[t].leaf&&u[t].records&&u[t].records.length>0){r(u[t].records)}}};r(h);h=q}if(this.treeGrid&&this.filterable&&this.dataview.filters.length>0){var p=new Array();for(var n=0;n<h.length;n++){if(h[n]&&h[n]._visible!==false){p.push(h[n])}}h=p;var l=new Array();for(var n=0;n<s.length;n++){if(s[n]&&s[n]._visible!==false){l.push(s[n])}}s=l}if(d==undefined||d==true){var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,h,c);if(this.treeGrid){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){if(m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}}return m}else{var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,h,c);if(this.treeGrid&&m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}return m}}}return null},getcolumnaggregateddata:function(d,h,i,e){var f=this.getColumn(d);if(!f){return""}var k=(i==undefined||i==false)?false:i;if(h==null){return""}var c=f.aggregates;f.aggregates=null;var j=this._calculateaggregate(f,h,k,e);var g={};if(j){g=j[d];f.aggregates=c}return g},_updatecolumnaggregates:function(e,h,c){var f=this;if(!h){c.children().remove();c.html("");if(e.aggregatesRenderer){var g={};if(e.aggregates){g=this.getcolumnaggregateddata(e.datafield,e.aggregates)}var d=e.aggregatesRenderer({},e,c,null);c.html(d)}return}c.children().remove();c.html("");if(e.aggregatesRenderer){if(h){var d=e.aggregatesRenderer(h[e.datafield],e,c,this.getcolumnaggregateddata(e.datafield,e.aggregates),"aggregates");c.html(d)}}else{b.each(h,function(){var j=this;for(g in j){var k=b('<div style="position: relative; margin: 4px; overflow: hidden;"></div>');var i=g;i=f._getaggregatename(i);k.html(i+":"+j[g]);if(f.rtl){k.addClass(f.toThemeProperty("jqx-rtl"))}c.append(k)}})}},_getaggregatetype:function(d){switch(d){case"min":case"max":case"count":case"avg":case"product":case"var":case"varp":case"stdev":case"stdevp":case"sum":return d}var c=d;for(var e in d){c=e;break}return c},_getaggregatename:function(d){var c=d;switch(d){case"min":c="Min";break;case"max":c="Max";break;case"count":c="Count";break;case"avg":c="Avg";break;case"product":c="Product";break;case"var":c="Var";break;case"stdevp":c="StDevP";break;case"stdev":c="StDev";break;case"varp":c="VarP";case"sum":c="Sum";break}if(d===c&&typeof(c)!="string"){for(var e in d){c=e;break}}return c},_updatecolumnsaggregates:function(){var g=this.getRows();if(this.dataViewRecords){g=this.dataViewRecords}var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){for(var f=0;f<c;f++){var h=b(this.aggregates[0].cells[f]);var e=this.columns.records[f];var d=this._calculateaggregate(e,null,true,g);this._updatecolumnaggregates(e,d,h)}}},_refreshcolumnsaggregates:function(){var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){var f=0;for(var e=0;e<c;e++){var g=b(this.aggregates[0].cells[e]);var d=this.columns.records[e];if(g){g.width(d.width);g[0].style.left=f+"px";if(!(d.hidden&&d.hideable)){f+=d.width}else{g.css("display","none")}}}}},_updateaggregates:function(){var c=b('<div style="position: relative;" id="statusrow'+this.element.id+'"></div>');var f=0;var m=this.columns.records.length;var l=this.toThemeProperty("jqx-grid-cell");if(this.rtl){l+=" "+this.toThemeProperty("jqx-grid-cell-rtl");f=0;c.css("border-left-width","0px");this.aggregates.css("border-left-color","transparent")}l+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var n=m+10;var o=new Array();this.aggregates[0].cells=o;for(var h=0;h<m;h++){var g=this.columns.records[h];var i=this._calculateaggregate(g);var d=g.width;if(d<g.minwidth){d=g.minwidth}if(d>g.maxwidth){d=g.maxwidth}var e=l;if(g.cellsalign){e+=" "+this.toThemeProperty("jqx-"+g.cellsalign+"-align")}var k=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+e+'"></div>');c.append(k);k.css("left",f);if(!this.rtl){k.css("z-index",n--)}else{k.css("z-index",n++);if(h==0){k.css("border-left-width","0px")}}k.width(d);k[0].style.left=f+"px";if(!(g.hidden&&g.hideable)){f+=d}else{k.css("display","none")}o[o.length]=k[0];this._updatecolumnaggregates(g,i,k)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){c.css("z-index",n--)}c.width(parseInt(f)+2);c.height(this.aggregatesHeight);this.aggregates.children().remove();this.aggregates.append(c);this.aggregates.removeClass(this.toThemeProperty("jqx-widget-header"));this.aggregates.addClass(l);this.aggregates.css("border-bottom-color","transparent");this.aggregates.css("border-top-width","1px");if(this.rtl&&this.hScrollBar.css("visibility")!="hidden"){this._renderhorizontalscroll()}},destroy:function(){var h=this;if(h.columns&&h.columns.records){for(var f=0;f<h.columns.records.length;f++){h._removecolumnhandlers(h.columns.records[f])}}h.removeHandler(b(document),"mouseup.pagerbuttonstop");h.removeHandler(b(document),"mouseup.pagerbuttonsbottom");h.removeHandler(h.content,"scroll");h.removeHandler(h.content,"mousedown");h.removeHandler(b(document),"mousedown.gridedit"+h.element.id);var g="mousemove.resize"+h.element.id;var c="mousedown.resize"+h.element.id;var e="mouseup.resize"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);var g="mousemove.reorder"+h.element.id;var c="mousedown.reorder"+h.element.id;var e="mouseup.reorder"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);if(h.filterable){if(h.filterrow){for(var f=0;f<h.filterrow[0].cells.length;f++){var k=h.filterrow[0].cells[f];var j=b(k).find(".filterconditions");var d=h.columns.records[f];if(j.length>0){j.jqxDropDownList("destroy")}}}if(h.filtercolumnsList){h.filtercolumnsList.jqxDropDownList("destroy")}}if(h.pageable){if(h.pagershowrowscombotop&&h.pagershowrowscombotop.jqxDropDownList){h.pagershowrowscombotop.jqxDropDownList("destroy")}if(h.pagershowrowscombobottom&&h.pagershowrowscombobottom.jqxDropDownList){h.pagershowrowscombobottom.jqxDropDownList("destroy")}var l=h.pagerbuttonsbottom.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();var l=h.pagerbuttonstop.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();if(h.pagernexttop){h.pagernexttop.jqxButton("destroy");h.pagerprevioustop.jqxButton("destroy");h.pagernextbottom.jqxButton("destroy");h.pagerpreviousbottom.jqxButton("destroy");h.pagerfirsttop.jqxButton("destroy");h.pagerfirstbottom.jqxButton("destroy");h.pagerlasttop.jqxButton("destroy");h.pagerlastbottom.jqxButton("destroy")}}h._removeHandlers();h.vScrollBar.jqxScrollBar("destroy");h.hScrollBar.jqxScrollBar("destroy");delete h.vScrollBar;delete h.hScrollBar;delete h._mousewheelfunc;b.jqx.utilities.resize(h.host,null,true);h.host.remove()},propertiesChangedHandler:function(c,d,e){if(e.width&&e.height&&Object.keys(e).length==2){c.refresh()}},propertyChangedHandler:function(e,l,d,k){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}if(k!==d){if(l=="filterable"){e._render()}else{if(l==="height"){e.host.height(e.height);e.host.width(e.width);e._updatesize(false,true)}else{if(l==="width"){e.host.height(e.height);e.host.width(e.width);e._updatesize(true,false)}else{if(l==="source"){e.updateBoundData()}else{if(l==="columnGroups"){e._render()}else{if(l==="columns"){e._columns=null;e._render()}else{if(l==="rtl"){e.content.css("left","");e.columns=e._columns;e.vScrollBar.jqxScrollBar({rtl:k});e.hScrollBar.jqxScrollBar({rtl:k});e._render()}else{if(l==="pagerMode"){e.pagerMode=k;e._initpager()}else{if(l=="pageSizeOptions"){e._initpager();var j=false;for(var f=0;f<k.length;f++){if(parseInt(k[f])==e.pageSize){j=true;break}}if(!j){b.jqx.set(e,[{pageSize:k[0]}])}}else{if(l=="pageSize"){var g=e.dataview.pagenum*e.dataview.pagesize;e.dataview.pagesize=e.pageSize;var h=Math.floor(g/e.dataview.pagesize);if(h!==e.dataview.pagenum||parseInt(k)!==parseInt(d)){e._raiseEvent("pageSizeChanged",{pagenum:k,oldpageSize:d,pageSize:e.dataview.pagesize});var m=e.goToPage(h);if(!m){if(!e.serverProcessing){e.refresh()}else{e.updateBoundData("pager")}}}}else{if(l==="pagerPosition"){e.refresh()}else{if(l==="selectionMode"){e.selectionMode=k.toLowerCase()}else{if(l=="touchmode"){e.touchDevice=null;e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:k});e.hScrollBar.jqxScrollBar({touchMode:k});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._renderrows();e._addHandlers()}else{if(l=="enableHover"){return}else{if(l=="disabled"){if(k){e.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(e.pageable){if(e.pagernexttop){e.pagernexttop.jqxButton({disabled:k});e.pagerprevioustop.jqxButton({disabled:k});e.pagernextbottom.jqxButton({disabled:k});e.pagerpreviousbottom.jqxButton({disabled:k});e.pagerfirsttop.jqxButton({disabled:k});e.pagerfirstbottom.jqxButton({disabled:k});e.pagerlasttop.jqxButton({disabled:k});e.pagerlastbottom.jqxButton({disabled:k});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({disabled:false});e.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}e.host.find(".jqx-grid-pager-number").css("cursor",k?"default":"pointer")}e.host.find(".jqx-grid-group-collapse").css("cursor",k?"default":"pointer");e.host.find(".jqx-grid-group-expand").css("cursor",k?"default":"pointer")}else{if(l=="columnsHeight"){e._render()}else{if(l=="theme"){b.jqx.utilities.setTheme(d,k,e.host);e.vScrollBar.jqxScrollBar({theme:e.theme});e.hScrollBar.jqxScrollBar({theme:e.theme});if(e.pageable&&e.pagernexttop){e.pagernexttop.jqxButton({theme:e.theme});e.pagerprevioustop.jqxButton({theme:e.theme});e.pagernextbottom.jqxButton({theme:e.theme});e.pagerpreviousbottom.jqxButton({theme:e.theme});e.pagerfirsttop.jqxButton({theme:e.theme});e.pagerfirstbottom.jqxButton({theme:e.theme});e.pagerlasttop.jqxButton({theme:e.theme});e.pagerlastbottom.jqxButton({theme:e.theme});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({theme:e.theme});e.pagershowrowscombobottom.jqxDropDownList({theme:e.theme})}}}if(e.filterable){var c=b(".filterconditions");if(c.length>0){c.jqxDropDownList({theme:e.theme})}if(e.filtercolumnsList){e.filtercolumnsList.jqxDropDownList({theme:e.theme})}}e.refresh()}else{e.refresh()}}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(f,g,c,d){var e="4px";if(d.columnGroups){e=(c/2-this._columnheight/2);if(e<0){e=4}e+="px"}else{if(this.columnsHeight!=25){e=(this.columnsHeight/2-this._columnheight/2);if(e<0){e=4}e+="px"}}return'<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+g+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+e+"; margin-top: "+e+';"><span style="text-overflow: ellipsis; cursor: default;">'+f+"</span></div>"}});function a(c,d){this.owner=c;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.aggregates=null;this.aggregatesRenderer=null;this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(e,f){if(this[e]){var g=this[e];this[e]=f;this.owner._columnPropertyChanged(this,e,f,g)}else{if(this[e.toLowerCase()]){var g=this[e.toLowerCase()];this[e.toLowerCase()]=f;this.owner._columnPropertyChanged(this,e.toLowerCase(),f,g)}}};this._initfields=function(f){if(f!=null){var e=this;if(b.jqx.hasProperty(f,"dataField")){this.datafield=b.jqx.get(f,"dataField")}if(b.jqx.hasProperty(f,"displayField")){this.displayfield=b.jqx.get(f,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"validation")){this.validation=b.jqx.get(f,"validation")}if(b.jqx.hasProperty(f,"autoCellHeight")){this.autoCellHeight=b.jqx.get(f,"autoCellHeight")}if(b.jqx.hasProperty(f,"text")){this.text=b.jqx.get(f,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(f,"sortable")){this.sortable=b.jqx.get(f,"sortable")}if(b.jqx.hasProperty(f,"hidden")){this.hidden=b.jqx.get(f,"hidden")}if(b.jqx.hasProperty(f,"groupable")){this.groupable=b.jqx.get(f,"groupable")}if(b.jqx.hasProperty(f,"renderer")){this.renderer=b.jqx.get(f,"renderer")}if(b.jqx.hasProperty(f,"align")){this.align=b.jqx.get(f,"align")}if(b.jqx.hasProperty(f,"cellsAlign")){this.cellsalign=b.jqx.get(f,"cellsAlign")}if(b.jqx.hasProperty(f,"cellsFormat")){this.cellsFormat=b.jqx.get(f,"cellsFormat")}if(b.jqx.hasProperty(f,"width")){this.width=b.jqx.get(f,"width")}if(b.jqx.hasProperty(f,"minWidth")){this.minwidth=b.jqx.get(f,"minWidth")}if(b.jqx.hasProperty(f,"maxWidth")){this.maxwidth=b.jqx.get(f,"maxWidth")}if(b.jqx.hasProperty(f,"cellsRenderer")){this.cellsRenderer=b.jqx.get(f,"cellsRenderer")}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"pinned")){this.pinned=b.jqx.get(f,"pinned")}if(b.jqx.hasProperty(f,"filterable")){this.filterable=b.jqx.get(f,"filterable")}if(b.jqx.hasProperty(f,"filter")){this.filter=b.jqx.get(f,"filter")}if(b.jqx.hasProperty(f,"resizable")){this.resizable=b.jqx.get(f,"resizable")}if(b.jqx.hasProperty(f,"draggable")){this.draggable=b.jqx.get(f,"draggable")}if(b.jqx.hasProperty(f,"editable")){this.editable=b.jqx.get(f,"editable")}if(b.jqx.hasProperty(f,"initEditor")){this.initeditor=b.jqx.get(f,"initEditor")}if(b.jqx.hasProperty(f,"createEditor")){this.createeditor=b.jqx.get(f,"createEditor")}if(b.jqx.hasProperty(f,"destroyEditor")){this.destroyeditor=b.jqx.get(f,"destroyEditor")}if(b.jqx.hasProperty(f,"getEditorValue")){this.geteditorvalue=b.jqx.get(f,"getEditorValue")}if(b.jqx.hasProperty(f,"className")){this.classname=b.jqx.get(f,"className")}if(b.jqx.hasProperty(f,"cellClassName")){this.cellclassname=b.jqx.get(f,"cellClassName")}if(b.jqx.hasProperty(f,"aggregates")){this.aggregates=b.jqx.get(f,"aggregates")}if(b.jqx.hasProperty(f,"aggregatesRenderer")){this.aggregatesRenderer=b.jqx.get(f,"aggregatesRenderer")}if(b.jqx.hasProperty(f,"rendered")){this.rendered=b.jqx.get(f,"rendered")}if(b.jqx.hasProperty(f,"exportable")){this.exportable=b.jqx.get(f,"exportable")}if(b.jqx.hasProperty(f,"nullable")){this.nullable=b.jqx.get(f,"nullable")}if(b.jqx.hasProperty(f,"columnGroup")){this.columngroup=b.jqx.get(f,"columnGroup")}if(!f instanceof String&&!(typeof f=="string")){for(var g in f){if(!e.hasOwnProperty(g)){if(!e.hasOwnProperty(g.toLowerCase())){c.host.remove();throw new Error("jqxDataTable: Invalid property name - "+g+".")}}}}}};this._initfields(d);return this}b.jqx.dataCollection=function(c){this.records=new Array();this.owner=c;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(e,d){this.records[e]=d};this.isempty=function(d){if(this.records[d]==undefined){return true}return false};this.initialize=function(d){if(d<1){d=1}this.records[d-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(d){return this.records.indexOf(d)};this.add=function(d){if(d==null){return false}this.records[this.records.length]=d;return true};this.insertAt=function(e,d){if(e==null||e==undefined){return false}if(d==null){return false}if(e>=0){if(e<this.records.length){this.records.splice(e,0,d);return true}else{return this.add(d)}}return false};this.remove=function(e){if(e==null||e==undefined){return false}var d=this.records.indexOf(e);if(d!=-1){this.records.splice(d,1);return true}return false};this.removeAt=function(e){if(e==null||e==undefined){return false}if(e<0){return false}if(e<this.records.length){var d=this.records[e];this.records.splice(e,1);return true}return false};return this};b.jqx.dataView=function(){this.that=this;this.grid=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(y,p){var w=y._source?true:false;var g=null;this._sortData=null;this._sortHierarchyData=null;if(w){g=y;y=y._source}else{g=new b.jqx.dataAdapter(y,{autoBind:false})}var e=function(m){g.recordids=[];g.records=new Array();g.cachedrecords=new Array();g.originaldata=new Array();g._options.totalrecords=m.totalrecords;g._options.originaldata=m.originaldata;g._options.recordids=m.recordids;g._options.cachedrecords=new Array();g._options.pagenum=m.pagenum;g._options.pageable=m.pageable;if(y.type!=undefined){g._options.type=y.type}if(y.formatdata!=undefined){g._options.formatData=y.formatdata}if(y.contenttype!=undefined){g._options.contentType=y.contenttype}if(y.async!=undefined){g._options.async=y.async}if(y.updaterow!=undefined){g._options.updaterow=y.updaterow}if(y.addrow!=undefined){g._options.addrow=y.addrow}if(y.deleterow!=undefined){g._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}g._options.pagesize=m.pagesize};var B=function(m){m.originaldata=g.originaldata;m.records=g.records;m.hierarchy=g.hierarchy;if(!m.grid.serverProcessing){m._sortData=null;m._sortfield=null;m._filteredData=null;m._sortHierarchyData=null}if(!m.hierarchy){m.hierarchy=new Array();g.hierarchy=new Array()}if(g._source.totalrecords){m.totalrecords=g._source.totalrecords}else{if(g._source.totalRecords){m.totalrecords=g._source.totalRecords}else{if(m.hierarchy.length!==0){m.totalrecords=m.hierarchy.length}else{m.totalrecords=m.records.length}}}m.cachedrecords=g.cachedrecords};e(this);this.source=y;if(p!==undefined){var k=p}var h=this;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(m){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<this.filters.length;j++){var f=this.filters[j].datafield;var l=this.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[f+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=f;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var c=this.grid.getColumn(i[A].datafield);if(c&&c.cellsformat){var z=this.grid.source.formatDate(i[A].value,c.cellsformat,this.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=f;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=f;t.type=i[A].type;var d=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==f){r.filters.push(t);d=true;break}}}if(!d){C.push({field:f,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterslength=v;b.extend(E,{sortdatafield:h.sortfield,sortorder:h.sortfielddirection,pagenum:h.pagenum,pagesize:h.grid.pageSize});var F=g._options.data;if(g._options.data){b.extend(g._options.data,E)}else{if(y.data){b.extend(E,y.data)}g._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){B(h);h.update()};if(o){try{q()}catch(m){}}else{q()}};g.unbindDownloadComplete(h.grid.element.id);g.bindDownloadComplete(h.grid.element.id,n);g._source.loaderror=function(q,m,o){n()};if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}g._options.data=F}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this.sortBy=function(e,c){var d=this;if(c==null){this.sortfield="";this.sortfielddirection="";return}if(c==undefined){c=true}if(c=="a"||c=="asc"||c=="ascending"||c==true){c=true}else{c=false}if(e=="constructor"){e=""}this.sortfield=e;this.sortfielddirection=c?"asc":"desc"};this._sort=function(d){if(!this.sortfield||!this.sortfielddirection){return d}if(this._sortfield==this.sortfield&&this._sortfielddirection==this.sortfielddirection&&this._sortData){return this._sortData}var g=this;var j=Object.prototype.toString;Object.prototype.toString=(typeof g.sortfield=="function")?g.sortfield:function(){return this[g.sortfield]};var f="";if(this.source.datafields){b.each(this.source.datafields,function(){if(this.name==g.sortfield){if(this.type){f=this.type}return false}})}var c=new Array();for(var e=0;e<d.length;e++){c.push(b.extend({originalRecord:d[e]},d[e]))}this._sortfield=this.sortfield;this._sortfielddirection=this.sortfielddirection;if(this.sortfielddirection==="desc"){var h=c.sort(function(k,i){return g._compare(k,i,f)}).reverse()}else{var h=c.sort(function(k,i){return g._compare(k,i,f)})}this._sortData=h;Object.prototype.toString=j;return h};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(b.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(b.jqx.dataFormat.isNumber(d)&&b.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(b.jqx.dataFormat.isDate(d)&&b.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(d)&&!b.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(p){if(this.grid.serverProcessing){if(p){if(this.grid.source._source.id==""||this.grid.source._source.id==null){if(this.grid.pageable){var c=this.grid.pageSize*this.pagenum;this.grid.rowsByKey=new Array();var h=this;b.each(p,function(i){this.uid=c;h.grid.rowsByKey[this.uid]=this;c++})}}}return p}var d=new Array();if(this.filters.length){var j=new Array();var o=function(s,w){for(var u=0;u<s.length;u++){var v=s[u];v._visible=true;var q=undefined;for(var t=0;t<this.filters.length;t++){var r=this.filters[t].filter;var x=v[this.filters[t].datafield];var y=r.evaluate(x);if(q==undefined){q=y}else{if(r.operator=="or"){q=q||y}else{q=q&&y}}}v._visible=false;if(q||v.aggregate){v._visible=true;w.push(v);j[v.uid]=v}}};if(!this._filteredData){if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var n=new Array();var k=function(r,s){for(var q=0;q<s.length;q++){var t=s[q];n.push(t);if(t.records&&t.records.length>0){k(t,t.records)}}};k(null,p);o.call(this,n,d);for(var e=0;e<d.length;e++){var g=d[e];while(g.parent){var m=g.parent;if(!j[m.uid]){m._visible=true;j[m.uid]=m}g=m}}d=p}else{o.call(this,p,d)}this._filteredData=d;this.rows=d}else{this.rows=this._filteredData}}else{this.rows=p}if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var h=this;var l=new Array();this._sortData=null;var f=function(t,q){h._sortData=null;var r=null;if(h.source.hierarchy.groupingDataFields){if(q&&q.length>0&&q[0].level<h.source.hierarchy.groupingDataFields.length){r=new Array();for(var s=0;s<q.length;s++){r.push(b.extend({originalRecord:q[s]},q[s]))}}else{r=h._sort(q)}}else{r=h._sort(q)}if(t.records){t.records=r}else{t=t.concat(r)}for(var s=0;s<r.length;s++){if(r[s].records&&r[s].records.length){f(r[s],r[s].records)}}return t};if(this.sortfield||this.sortfielddirection){if(this._sortHierarchyData){l=this._sortHierarchyData}else{l=f(l,p)}this.rows=l;this._sortHierarchyData=l}}else{this.rows=this._sort(this.rows)}return this.rows};this.getid=function(j,d,e){if(b(j,d).length>0){return b(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=b(d).attr(j);if(c!=null&&c.toString().length>0){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.grid.rowsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.grid.rowsByKey["jqx"+f];if(!g){var g=this.grid.rowsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxDateTimeInput","",{});a.extend(a.jqx._jqxDateTimeInput.prototype,{defineInstance:function(){var b={value:a.jqx._jqxDateTimeInput.getDateTime(new Date()),minDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),maxDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),min:new Date(1900,0,1),max:new Date(2100,0,1),rowHeaderWidth:25,enableViews:true,views:["month","year","decade"],selectableDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],change:null,changing:null,titleFormat:["MMMM yyyy","yyyy","yyyy","yyyy"],template:"default",columnHeaderHeight:20,titleHeight:30,firstDayOfWeek:0,showWeekNumbers:false,showTimeButton:false,cookies:false,cookieoptions:null,showFooter:false,formatString:"dd/MM/yyyy",width:200,height:25,dayNameFormat:"firstTwoLetters",textAlign:"left",readonly:false,culture:"default",activeEditor:null,showCalendarButton:true,openDelay:250,closeDelay:300,closeCalendarAfterSelection:true,isEditing:false,enableBrowserBoundsDetection:false,dropDownHorizontalAlignment:"left",dropDownVerticalAlignment:"bottom",enableAbsoluteSelection:false,disabled:false,buttonSize:21,animationType:"slide",dropDownWidth:"200px",restrictedDates:new Array(),dropDownHeight:"205px",dropDownContainer:"default",selectionMode:"default",renderMode:"full",rtl:false,timeRange:null,_editor:false,todayString:"Today",clearString:"Clear",popupZIndex:2000,allowNullDate:true,changeType:null,placeHolder:"",enableHover:true,hint:true,allowKeyboardDelete:true,localization:{backString:"Back",forwardString:"Forward",todayString:"Today",clearString:"Clear",calendar:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss"}}},events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","open","close","change"],aria:{"aria-valuenow":{name:"getDate",type:"date"},"aria-valuetext":{name:"getText",type:"string"},"aria-valuemin":{name:"min",type:"date"},"aria-valuemax":{name:"max",type:"date"},"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxDateTimeInput.prototype){return b}a.extend(true,this,b);this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0);this.minDate._setYear(1900);this.minDate._setMonth(1);this.minDate._setDay(1);this.minDate._setHours(1);this.minDate._setMinutes(1);this.minDate._setSeconds(1);this.minDate._setMilliseconds(1);this.maxDate._setYear(2100);this.maxDate._setMonth(1);this.maxDate._setDay(1);this.maxDate._setHours(1);this.maxDate._setMinutes(1);this.maxDate._setSeconds(1);this.maxDate._setMilliseconds(1);this.defaultMinDate=this.minDate;this.defaultMaxDate=this.maxDate;return b},createInstance:function(d){var l="";var k=this;if(!k.host.jqxCalendar){throw new Error("jqxDateTimeInput: Missing reference to jqxcalendar.js.")}if(k.formatString!="dd/MM/yyyy"){var g=k.formatString.split(" ");if(g&&g.length>1){var c="";for(var q=0;q<g.length;q++){if(g[q].length=="1"){c+=k._getFormatValue(g[q])}else{c+=g[q]}if(q<g.length-1){c+=" "}}k.formatString=c}}if(k.element.nodeName.toLowerCase()=="input"){var m=k.element.getAttribute("type");if(m){if(k.formatString=="dd/MM/yyyy"){if(m=="date"){k.formatString="d"}if(m=="datetime"){var h=k._getFormatValue("d")+" "+k._getFormatValue("t");k.formatString=h;k.showTimeButton=true}if(m=="time"){k.formatString="t";k.showTimeButton=true;k.showCalendarButton=false}}}k.field=k.element;if(k.field.getAttribute("min")){var n=new Date(k.field.getAttribute("min"));if(k._isValidDate(n)){k.min=n}}if(k.field.getAttribute("max")){var p=new Date(k.field.getAttribute("max"));if(k._isValidDate(p)){k.max=p}}if(k.field.className){k._className=k.field.className}var j={title:k.field.title};if(k.field.value){j.value=k.field.value}if(k.field.id.length){j.id=k.field.id.replace(/[^\w]/g,"_")+"_jqxDateTimeInput"}else{j.id=a.jqx.utilities.createId()+"_jqxDateTimeInput"}var f=a("<div></div>",j);f[0].style.cssText=k.field.style.cssText;if(!k.width){k.width=a(k.field).width()}if(!k.height){k.height=a(k.field).outerHeight()}a(k.field).hide().after(f);var u=k.host.data();k.host=f;k.host.data(u);k.element=f[0];k.element.id=k.field.id;k.field.id=j.id;if(k._className){k.host.addClass(k._className);a(k.field).removeClass(k._className)}if(k.field.tabIndex){var e=k.field.tabIndex;k.field.tabIndex=-1;k.element.tabIndex=e}}if(k.host.attr("value")){l=true;var v=k.host.attr("value");if(k.selectionMode!="range"){var r=new Date(v);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}if(k.value!=null&&k.value instanceof Date){k.value=a.jqx._jqxDateTimeInput.getDateTime(k.value)}else{if(k.value!=null&&typeof(k.value)=="string"){var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}else{if(k.value.indexOf(",")>=0){k.value=k.value.replace(/\,/g,"/");var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}}}this._initTimeRange();this._validateTimeRange();k.host.attr("data-role","input");k.render();a.jqx.aria(this);if(k.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+k.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}if(k.minDate!==k.defaultMinDate){k.min=k.minDate}if(k.maxDate!==k.defaultMaxDate){k.max=k.maxDate}k.setMaxDate(k.max,false);k.setMinDate(k.min,false);if(k.selectionMode!=="range"&&k.value&&k.value.dateTime&&k.min&&k.max&&(k.value.dateTime<k.min||k.value.dateTime>k.max)){if(k.value.dateTime<k.min){k.value.dateTime=k.min}if(k.value.dateTime>k.max){k.value.dateTime=k.max}k._updateText()}if(k.selectionMode=="range"){if(l){var v=k.host.attr("value");var t=v.substring(0,v.indexOf("-"));var s=v.substring(v.indexOf("-")+1);var o=new Date(t);var b=new Date(s);if(o!=undefined&&!isNaN(o)){if(b!=undefined&&!isNaN(b)){k.setRange(o,b)}}}else{if(k.getDate()!=null){k.setRange(k.getDate(),k.getDate())}}}},_validateTimeRange:function(){if(this.timeRange){var b=this.value.dateTime.getHours();var c=this.value.dateTime.getMinutes();if(b<=this.timeRange.minHour){this.value._setHours(this.timeRange.minHour);if(c<this.timeRange.minMinute){this.value._setMinutes(this.timeRange.minMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}if(b>=this.timeRange.maxHour){this.value._setHours(this.timeRange.maxHour);if(c>this.timeRange.maxMinute){this.value._setMinutes(this.timeRange.maxMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}}},_initTimeRange:function(){if(this.timeRange){if(this.timeRange.min){var c=null;if(this.timeRange.min.indexOf("AM")>=0||this.timeRange.min.indexOf("PM")>=0){c=this.timeRange.min.indexOf("AM")>=0?"AM":"PM"}var d=this.timeRange.min.split(":");var b=parseInt(d[0]);var f=parseInt(d[1]);if(c){this.timeRange.minDefaultHour=b;this.timeRange.minMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.minHour=b;this.timeRange.minMinute=f}if(this.timeRange.max){var c=null;if(this.timeRange.max.indexOf("AM")>=0||this.timeRange.max.indexOf("PM")>=0){c=this.timeRange.max.indexOf("AM")>=0?"AM":"PM"}var e=this.timeRange.max.split(":");var b=parseInt(e[0]);var f=parseInt(e[1]);if(c){this.timeRange.maxDefaultHour=b;this.timeRange.maxMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.maxHour=b;this.timeRange.maxMinute=f}}},_format:function(d,e,b){var f=false;try{if(window.Globalize!=undefined){f=true}if(document.Globalize){window.Globalize=document.Globalize;f=true}}catch(c){if(document.Globalize){window.Globalize=document.Globalize;f=true}}if(document.Globalize){window.Globalize=document.Globalize;f=true}if(a.global){return a.global.format(d,e,this.culture)}else{if(f){try{var e=window.Globalize.format(d,e,this.culture);return e}catch(c){return window.Globalize.format(d,e)}}else{if(a.jqx.dataFormat){if(d instanceof Date){return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}else{if(typeof d==="number"){return a.jqx.dataFormat.formatnumber(d,e,this.localization.calendar)}else{return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}}}else{throw new Error("jqxDateTimeInput: Missing reference to globalize.js.")}}}},render:function(){var k=this;k._removeHandlers();k.element.innerHTML="";k.host.attr({role:"textbox"});k.id=a.jqx.utilities.createId();var f=a.jqx.utilities.createId();var j=a.jqx.utilities.createId();k._setSize();if(k.width==null){k.width=k.host.width();k.host.width(k.width)}k.touch=a.jqx.mobile.isTouchDevice();var c=a("<div class='jqx-max-size jqx-position-relative'></div>").appendTo(k.host);k.dateTimeInput=a("<input style='border: none; padding-left: 3px; padding-right: 3px;' class='jqx-position-absolute' id='input"+k.element.id+"' autocomplete='off' type='textarea'/>").appendTo(c);k.dateTimeInput.addClass(k.toThemeProperty("jqx-reset"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-clear"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-widget-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-rc-all"));if(!k.isMaterialized()){k.dateTimeInput.attr("placeHolder",k.placeHolder)}if(k.renderMode!="full"){k.dateTimeInput.remove()}var d=k.host.attr("name");if(d){k.dateTimeInput.attr("name",d)}if(k.host.attr("tabindex")){k.dateTimeInput.attr("tabindex",k.host.attr("tabindex"));k.host.removeAttr("tabindex")}if(k.rtl){k.dateTimeInput.css("direction","rtl");k.dateTimeInput.addClass("jqx-rtl")}k.calendarButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.calendarButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.calendarButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.calendarButtonIcon=a(k.calendarButton.children()[0]);k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon-calendar"));k.calendarButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){if(!k.showTimeButton){k.calendarButton.addClass(k.toThemeProperty("jqx-rc-r"))}}else{k.calendarButton.addClass(k.toThemeProperty("jqx-rc-l"))}k.timeButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.timeButtonIcon=a(k.timeButton.children()[0]);k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon-time"));k.timeButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-rc-r"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-rc-l"))}var m=this;k._arrange();if(a.jqx._jqxCalendar!=null&&a.jqx._jqxCalendar!=undefined){try{var i="calendar"+k.id;var h=a(a.find("#"+i));if(h.length>0){h.remove()}a.jqx.aria(this,"aria-owns",i);a.jqx.aria(this,"aria-haspopup",true);a.jqx.aria(this,"aria-readonly",k.selectionMode=="range"?true:false);var b=a("<div style='overflow: hidden; background: transparent; position: absolute;' id='calendar"+k.id+"'><div id='innerCalendar"+k.id+"'></div><div id='innerTime"+k.id+"'></div></div>");if(a.jqx.utilities.getBrowser().browser=="opera"){b.hide()}if(k.dropDownContainer=="element"){b.appendTo(k.host)}else{b.appendTo(document.body)}k.container=b;k.calendarContainer=a(a.find("#innerCalendar"+k.id)).jqxCalendar({titleFormat:this.titleFormat,restrictedDates:this.restrictedDates,changing:k.changing,change:k.change,enableViews:k.enableViews,selectableDays:k.selectableDays,views:k.views,rowHeaderWidth:k.rowHeaderWidth,titleHeight:k.titleHeight,columnHeaderHeight:k.columnHeaderHeight,_checkForHiddenParent:false,enableAutoNavigation:false,canRender:false,localization:k.localization,todayString:k.todayString,clearString:k.clearString,dayNameFormat:k.dayNameFormat,rtl:k.rtl,culture:k.culture,showFooter:k.showFooter,selectionMode:k.selectionMode,firstDayOfWeek:k.firstDayOfWeek,showWeekNumbers:k.showWeekNumbers,width:k.dropDownWidth,height:k.dropDownHeight,theme:k.theme});if(k.dropDownContainer=="element"){k.calendarContainer.css({position:"absolute",top:0,left:0})}else{k.calendarContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0})}k.calendarContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.calendarContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k.timeContainer=a(a.find("#innerTime"+k.id));k.timeContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0});k.timeContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.timeContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k._calendar=a.data(k.calendarContainer[0],"jqxCalendar").instance;var m=this;k._calendar.today=function(){m.today()};k._calendar.clear=function(){m.clear()};if(a.jqx.utilities.getBrowser().browser=="opera"){b.show()}b.height(parseInt(k.calendarContainer.height())+25);b.width(parseInt(k.calendarContainer.width())+25);if(k.selectionMode=="range"){k.readonly=true}if(k.animationType=="none"){k.container.css("display","none")}else{k.container.hide()}}catch(l){}}if(a.global){a.global.preferCulture(k.culture)}k.selectedText="";k._addHandlers();k.self=this;k.oldValue=k.getDate();k.items=new Array();k.editors=new Array();k._loadItems();k.editorText="";if(k.readonly==true){k.dateTimeInput.css("readonly",k.readonly)}k.dateTimeInput.css("text-align",k.textAlign);k.host.addClass(k.toThemeProperty("jqx-widget"));k.host.addClass(k.toThemeProperty("jqx-datetimeinput"));k.host.addClass(k.toThemeProperty("jqx-input"));k.host.addClass(k.toThemeProperty("jqx-overflow-hidden"));k.host.addClass(k.toThemeProperty("jqx-rc-all"));k.host.addClass(k.toThemeProperty("jqx-reset"));k.host.addClass(k.toThemeProperty("jqx-clear"));k.host.addClass(k.toThemeProperty("jqx-widget-content"));k.propertyChangeMap.disabled=function(e,p,o,q){if(q){e.host.addClass(m.toThemeProperty("jqx-input-disabled"));e.host.addClass(m.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(m.toThemeProperty("jqx-fill-state-disabled"));e.host.removeClass(m.toThemeProperty("jqx-input-disabled"))}a.jqx.aria(e,"aria-disabled",q)};if(k.disabled){k.host.addClass(k.toThemeProperty("jqx-input-disabled"));k.host.addClass(k.toThemeProperty("jqx-fill-state-disabled"));k.dateTimeInput.attr("disabled",true)}if(k.host.parents("form").length>0){k.addHandler(k.host.parents("form"),"reset",function(){setTimeout(function(){m.setDate(new Date())},10)})}if(k.cookies){var g=a.jqx.cookie.cookie("jqxDateTimeInput"+k.element.id);if(g!=null){k.setDate(new Date(g))}}if(a.jqx.browser.msie&&a.jqx.browser.version<8){if(k.host.parents(".jqx-window").length>0){var n=k.host.parents(".jqx-window").css("z-index");k.container.css("z-index",n+10);k.calendarContainer.css("z-index",n+10)}}if(k.culture!="default"){k._applyCulture()}if(k.value){if(k.calendarContainer.jqxCalendar("_isDisabled",k.value.dateTime)){k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-invalid"))}else{k.dateTimeInput.removeClass(k.toThemeProperty("jqx-input-invalid"))}}this._addBarAndLabel(this.dateTimeInput);this._updateHint(true);if(k.template){k.bar.addClass(k.toThemeProperty("jqx-"+k.template));k.label.addClass(k.toThemeProperty("jqx-"+k.template));k.timeButton.addClass(k.toThemeProperty("jqx-"+k.template));k.calendarButton.addClass(k.toThemeProperty("jqx-"+k.template))}this._setSize();this._arrange()},val:function(c){var b=this;if(arguments.length!=0){if(c==null){b.setDate(null)}if(b.selectionMode=="range"){b.setRange(arguments[0],arguments[1]);return b.getText()}if(c instanceof Date){b.setDate(c)}if(typeof(c)=="string"){if(c=="date"){return b.getDate()}b.setDate(c)}if(b._calendar.getDate()!=b.getDate()){b._calendar.setDate(b.getDate())}}return b.getText()},_setSize:function(){var b=window.getComputedStyle(this.element);var c=parseInt(b.borderLeftWidth)*2;var h=b.boxSizing;if(this.element.offsetWidth===0){c=2}if(h==="border-box"||isNaN(c)){c=0}if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.element.style.width=parseInt(this.width)-c+"px"}else{if(this.width!=undefined&&!isNaN(this.width)){this.element.style.width=parseInt(this.width)-c+"px"}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.element.style.height=parseInt(this.height)-c+"px"}else{if(this.height!=undefined&&!isNaN(this.height)){this.element.style.height=parseInt(this.height)-c+"px"}}var g=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){g=true;this.host.width(this.width);if(c>0){this.host.css("box-sizing","border-box")}}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){g=true;this.host.height(this.height)}var e=this;var f=function(){if(e.calendarContainer){e._arrange()}};if(g){if(this.calendarContainer){this._arrange();var d=this.host.width();if(this.dropDownWidth!="auto"){d=this.dropDownWidth}this.calendarContainer.jqxCalendar({width:d});this.container.width(parseInt(d)+25)}}a.jqx.utilities.resize(this.host,function(){f()})},_arrange:function(){if(this.height==null){this.height=27;this.host.height(27)}var e=parseInt(this.host.width());var m=parseInt(this.host.height());var i=window.getComputedStyle(this.element);var g=parseInt(i.borderLeftWidth)*2;var f=i.boxSizing;if(f==="border-box"||isNaN(g)){g=0}var k=this.buttonSize;var h=2;if(!this.showCalendarButton&&!this.showTimeButton){k=0;var l=0;this.calendarButton.hide();h=0}if(!this.showCalendarButton){this.calendarButton.hide()}else{this.calendarButton.show()}if(!this.showTimeButton){this.timeButton.hide()}else{this.timeButton.show()}var b=e-k-1*h;if(this.showTimeButton&&this.showCalendarButton){var b=e-2*k-1*h}else{if(this.showTimeButton||this.showCalendarButton){var b=e-k-1*h}}if(b>0){this.dateTimeInput[0].style.width=b+"px"}if(this.rtl){this.dateTimeInput[0].style.width=(-1+b+"px")}this.dateTimeInput[0].style.left="0px";this.dateTimeInput[0].style.top="0px";this.calendarButton[0].style.width=k+1+"px";this.calendarButton[0].style.left=1+b+"px";this.timeButton[0].style.width=k+1+"px";if(this.showCalendarButton){this.timeButton[0].style.left=1+this.calendarButton.width()+b+"px"}else{this.timeButton[0].style.left=1+b+"px"}if(this.renderMode!="full"){this.calendarButton[0].style.width="100%";this.calendarButton[0].style.left="0px";this.calendarButton.css("border","none");this.timeButton[0].style.width="100%";this.timeButton[0].style.left="0px";this.timeButton.css("border","none")}var d=this.dateTimeInput.height();if(d==0&&this.renderMode!="full"){d=parseInt(this.dateTimeInput.css("font-size"))+3;this.calendarButton.addClass(this.toThemeProperty("jqx-rc-all"));this.timeButton.addClass(this.toThemeProperty("jqx-rc-all"))}else{d=17}if(this.dateTimeInput[0].className.indexOf("jqx-rc-all")==-1){this.dateTimeInput.addClass(this.toThemeProperty("jqx-rc-all"))}var j=parseInt(m)/2-parseInt(d)/2;if(j>0){var n=this.dateTimeInput.css("font-size");if(""==n){n=13}var j=m-2-parseInt(n)-2;if(isNaN(j)){j=0}if(j<0){j=0}var c=j/2;if(a.jqx.browser.msie&&a.jqx.browser.version<8){c=j/4}this.dateTimeInput[0].style.paddingTop=Math.round(c)+"px";this.dateTimeInput[0].style.paddingBottom=Math.round(c)+"px"}if(this.rtl){this.calendarButton[0].style.width=k+"px";this.timeButton[0].style.width=k+"px";this.calendarButton.css("left","0px");if(this.showCalendarButton){this.timeButton.css("left",k+"px")}else{this.timeButton.css("left","0px")}this.dateTimeInput.css("left",this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",this.timeButton.width()+this.calendarButton.width())}if(a.jqx.browser.msie&&a.jqx.browser.version<=8){this.dateTimeInput.css("left",1+this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",1+this.timeButton.width()+this.calendarButton.width())}}}},_removeHandlers:function(){var b=this;this.removeHandler(a(document),"mousedown."+this.id);if(this.dateTimeInput){this.removeHandler(this.dateTimeInput,"keydown."+this.id);this.removeHandler(this.dateTimeInput,"blur");this.removeHandler(this.dateTimeInput,"focus");this.removeHandler(this.host,"focus");this.removeHandler(this.dateTimeInput,"mousedown");this.removeHandler(this.dateTimeInput,"mouseup");this.removeHandler(this.dateTimeInput,"keydown");this.removeHandler(this.dateTimeInput,"keyup");this.removeHandler(this.dateTimeInput,"keypress")}if(this.calendarButton!=null){this.removeHandler(this.calendarButton,"mousedown")}if(this.timeButton!=null){this.removeHandler(this.timeButton,"mousedown")}if(this.calendarContainer!=null){this.removeHandler(this.calendarContainer,"cellSelected");this.removeHandler(this.calendarContainer,"cellMouseDown")}this.removeHandler(a(window),"resize."+this.id)},isOpened:function(){var c=this;var b=a.data(document.body,"openedJQXCalendar"+this.id);if(b!=null&&b==c.calendarContainer){return true}return false},wheel:function(d,c){if(!c.isEditing){return}c.changeType="mouse";var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(!b){if(d.preventDefault){d.preventDefault()}d.returnValue=false;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(b){if(b<0){this.spinDown()}else{this.spinUp()}return false},focus:function(){try{var c=this;c._firstFocusDate=c.getDate();this._setSelectionStart(0);this._selectGroup(-1);this.dateTimeInput.focus();setTimeout(function(){c._setSelectionStart(0);c._selectGroup(-1);c.dateTimeInput.focus()},25)}catch(b){}},_addHandlers:function(){var e=this.element.id;var c=this.element;var d=this;if(this.host.parents()){this.addHandler(this.host.parents(),"scroll.datetimeinput"+this.element.id,function(f){var g=d.isOpened();if(g){d.close()}})}this.addHandler(this.host,"mouseenter",function(){if(!d.disabled&&d.enableHover){var f=true;d.calendarButtonIcon.addClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.addClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.addClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mouseleave",function(){if(!d.disabled&&d.enableHover){d.calendarButtonIcon.removeClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.removeClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mousewheel",function(f){d.wheel(f,d)});this.addHandler(a(document),"mousedown."+this.id,this._closeOpenedCalendar,{me:this});if(a.jqx.mobile.isTouchDevice()){this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id,this._closeOpenedCalendar,{me:this})}this.addHandler(this.dateTimeInput,"keydown."+this.id,function(h){var g=a.data(document.body,"openedJQXCalendar"+d.id);if(g!=null&&g==d.calendarContainer){var f=d.handleCalendarKey(h,d);return f}});if(this.calendarContainer!=null){this.addHandler(this.calendarContainer,"keydown",function(f){if(f.keyCode==13){if(d.isOpened()){if(!d._calendar._viewAnimating&&d._calendar.view=="month"){d.hideCalendar("selected","keyboard");d.dateTimeInput.focus();return false}}return true}else{if(f.keyCode==9){if(d.isOpened()){d.hideCalendar("selected","keyboard");return true}}else{if(f.keyCode==27){if(d.isOpened()){d.hideCalendar(null,"keyboard");d.dateTimeInput.focus();return false}return true}}}d.timePopup=false;if(f.keyCode==84){d.timePopup=true}if(f.keyCode==115){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}else{if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}if(f.altKey){if(f.keyCode==38){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}else{if(f.keyCode==40){if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}}});this.addHandler(this.calendarContainer,"cellSelected",function(g){if(d.closeCalendarAfterSelection){var f=a.data(document.body,"openedJQXCalendarValue");if(g.args.selectionType=="mouse"){if(d.selectionMode!="range"){d.hideCalendar("selected","mouse")}else{if(d._calendar._clicks==0){d.hideCalendar("selected","mouse")}}}}});this.addHandler(this.calendarContainer,"cellMouseDown",function(f){if(d.closeCalendarAfterSelection){if(d._calendar.value){a.data(document.body,"openedJQXCalendarValue",new a.jqx._jqxDateTimeInput.getDateTime(d._calendar.value.dateTime))}}})}this.addHandler(this.dateTimeInput,"blur",function(h){d.bar.removeClass("focused");d.label.removeClass("focused");if(d.value!=null){d.isEditing=false;var g=d.value.dateTime.getDay();var f=d._oldDT;d._validateValue(true);if(h.stopPropagation){h.stopPropagation()}d._updateText();d._raiseEvent(9,h)}if(!d.isOpened()){d.host.removeClass(d.toThemeProperty("jqx-fill-state-focus"))}});this.addHandler(this.host,"focus",function(f){d.focus()});this.addHandler(this.dateTimeInput,"focus",function(f){d._firstFocusDate=d.getDate();if(d.value!=null){if(d.selectionMode!="range"){d._oldDT=new Date(d.value.dateTime)}else{d._oldDT=d.getRange()}setTimeout(function(){var g=d._selection();d.isEditing=true;d._validateValue();d._updateText();d._setSelectionStart(0);d._selectGroup(-1,g);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))})}else{d._setSelectionStart(0);d._selectGroup(-1);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))}if(f.stopPropagation){f.stopPropagation()}d.bar.addClass("focused");d.label.addClass("focused");if(f.preventDefault){f.preventDefault();return false}});var b="mousedown";if(this.touch){b=a.jqx.mobile.getTouchEventName("touchstart")}this.addHandler(this.calendarButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=false;d.calendarPopup=true;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar();return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.timeButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=true;d.calendarPopup=false;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar("mouse","mouse");return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.dateTimeInput,"mousedown",function(f){return d._raiseEvent(2,f)});this.addHandler(this.dateTimeInput,"mouseup",function(f){return d._raiseEvent(3,f)});this.addHandler(this.dateTimeInput,"keydown",function(f){return d._raiseEvent(4,f)});this.addHandler(this.dateTimeInput,"keyup",function(f){return d._raiseEvent(5,f)});this.addHandler(this.dateTimeInput,"keypress",function(f){return d._raiseEvent(6,f)})},createID:function(){var b=Math.random()+"";b=b.replace(".","");b="99"+b;b=b/1;return"dateTimeInput"+b},setMaxDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.maxDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMaxDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()>b){this.setDate(b)}a.jqx.aria(this,"aria-valuemax",b);this._refreshValue();this._updateText()}},getMaxDate:function(){if(this.maxDate!=null&&this.maxDate!=undefined){return this.maxDate.dateTime}return null},setMinDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.minDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMinDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()<b){this.setDate(b)}a.jqx.aria(this,"aria-valuemin",b);this._refreshValue();this._updateText()}},getMinDate:function(){if(this.minDate!=null&&this.minDate!=undefined){return this.minDate.dateTime}return null},_applyCulture:function(){var d=false;try{if(window.Globalize!=undefined){d=true}}catch(c){}try{if(a.global){a.global.preferCulture(this.culture);this.localization.calendar=a.global.culture.calendar}else{if(d){var b=window.Globalize.culture(this.culture);this.localization.calendar=b.calendar}}this._loadItems();if(this._calendar!=null){this._calendar.culture=this.culture;this._calendar.localization=this.localization;this._calendar.render()}}catch(c){}},propertyMap:function(b){if(b=="value"){if(this.selectionMode!="range"){return this.getDate()}else{return this.getRange()}}return null},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.refresh();d.close()}},propertyChangedHandler:function(c,d,f,e){if(c.isInitialized==undefined||c.isInitialized==false){return}if(c.batchUpdate&&c.batchUpdate.width&&c.batchUpdate.height&&Object.keys(c.batchUpdate).length==2){return}if(d=="dropDownVerticalAlignment"){c.close()}if(d=="template"){c.bar.removeClass(c.toThemeProperty("jqx-"+f));c.label.removeClass(c.toThemeProperty("jqx-"+f));c.timeButton.removeClass(c.toThemeProperty("jqx-"+f));c.calendarButton.removeClass(c.toThemeProperty("jqx-"+f));c.bar.addClass(c.toThemeProperty("jqx-"+c.template));c.label.addClass(c.toThemeProperty("jqx-"+c.template));c.timeButton.addClass(c.toThemeProperty("jqx-"+c.template));c.calendarButton.addClass(c.toThemeProperty("jqx-"+c.template))}if(d=="restrictedDates"){c.calendarContainer.css({restrictedDates:e})}if(d=="popupZIndex"){c.calendarContainer.css({zIndex:e})}if(d=="showCalendarButton"){c._arrange()}if(d=="showTimeButton"){c._arrange();if(c.timePopupElement){c.timePopupElement.remove();c.timePopupElement=null}}if(d=="selectionMode"){c._calendar.selectionMode=e;c.refreshValue()}if(d=="min"){if(typeof(e)=="string"){c.setMinDate(new Date(e))}else{c.setMinDate(e)}}if(d=="max"){if(typeof(e)=="string"){c.setMaxDate(new Date(e))}else{c.setMaxDate(e)}}if(d=="value"){if(e!=null&&e instanceof Date){if(isNaN(e.getFullYear())||isNaN(e.getMonth())||isNaN(e.getDate())){this.value=f;return}e=a.jqx._jqxDateTimeInput.getDateTime(e)}else{if(e!=null&&typeof(e)=="string"){var b=new Date(e);if(b!=undefined&&!isNaN(b)){this.value=a.jqx._jqxDateTimeInput.getDateTime(b)}}}}if(d=="views"){c.calendarContainer.jqxCalendar({views:e})}if(d=="enableViews"){c.calendarContainer.jqxCalendar({enableViews:e})}if(d=="selectableDays"){c.calendarContainer.jqxCalendar({selectableDays:e})}if(d=="showFooter"){c.calendarContainer.jqxCalendar({showFooter:e})}if(d=="rtl"){c.calendarContainer.jqxCalendar({rtl:e});if(e){c.dateTimeInput.css("direction","rtl");c.dateTimeInput.addClass("jqx-rtl")}else{c.dateTimeInput.css("direction","ltr");c.dateTimeInput.removeClass("jqx-rtl")}}if(d=="todayString"||d=="clearString"){c.calendarContainer.jqxCalendar({clearString:c.clearString,todayString:c.todayString})}if(d=="dayNameFormat"){c.calendarContainer.jqxCalendar({dayNameFormat:e})}if(d=="firstDayOfWeek"){c.calendarContainer.jqxCalendar({firstDayOfWeek:e})}if(d=="showWeekNumbers"){c.calendarContainer.jqxCalendar({showWeekNumbers:e})}if(d=="culture"||d=="localization"){c._applyCulture()}else{if(d=="formatString"){c.items=new Array();c._loadItems()}}if(d=="theme"){a.jqx.utilities.setTheme(f,e,c.host);c.calendarContainer.jqxCalendar({theme:e})}if(d=="width"||d=="height"){c.close();c.refresh();return}c._setOption(d,e,f);if(d=="dropDownWidth"||d=="dropDownHeight"){c.calendarContainer.jqxCalendar({width:c.dropDownWidth,height:c.dropDownHeight});c._calendar.render();c.container.height(c.calendarContainer.height());c.container.width(c.calendarContainer.width())}},clear:function(){if(this.allowNullDate){if(this.selectionMode!="range"){this.setDate(null)}else{this._calendar._clicks=1;this.setRange(null,null)}this._calendar._clicks=0}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this._calendar._clicks=1;this.setRange(this.getMinDate(),this.getMinDate());this._calendar._clicks=0}}this.hideCalendar()},today:function(){var c=new Date();c.setHours(0,0,0,0);if(this.selectionMode!="range"){this.setDate(c)}else{this._calendar._clicks=0;var b=new Date();b.setHours(23,59,59,0);this.setRange(c,b);this._calendar._clicks=0}this.hideCalendar()},_isValidDate:function(b){if(b==null){return true}if(typeof(b)!=="object"){return false}if(b!==null&&b.getFullYear){return true}if(b=="Invalid Date"||b.valueOf()<0||isNaN(b.valueOf())){return false}return true},setDate:function(d){var e=this.getDate();if(d!=null&&typeof(d)=="string"){var f=d;if(d.toString().indexOf(",")>=0){d=d.replace(/\,/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}}if(d.toString().indexOf("-")>=0){d=d.replace(/\-/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}}if(d!=""){var c=d;if(window.Globalize!=undefined){d=window.Globalize.parseDate(c,this.formatString,this.culture)}else{if(a.jqx.dataFormat){d=a.jqx.dataFormat.parsedate(c,this.formatString,this.localization.calendar)}else{d=new Date(d)}}if(d===null&&c!==null){if(this._isValidDate(c)){d=c}}if(!this._isValidDate(d)){return}}}if(d==null||d=="null"||d=="undefined"){if(!this.allowNullDate){d=this.min}}if(!this._isValidDate(d)){d=null}if(d==null||d=="null"||d=="undefined"||d===""){if(this.value!=null){this.value=null;this._calendar.setDate(null);this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}this._setSelectionStart(0);this._selectGroup(-1);this._raiseEvent("0",d,e);this._raiseEvent("9",d,e)}return}if(d<this.getMinDate()||d>this.getMaxDate()){return}if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}if(d.getFullYear){this.value._setYear(d.getFullYear());this.value._setDay(1);this.value._setMonth(d.getMonth()+1);this.value._setHours(d.getHours());this.value._setMinutes(d.getMinutes());this.value._setSeconds(d.getSeconds());this.value._setMilliseconds(d.getMilliseconds());this.value._setDay(d.getDate())}this._validateTimeRange();this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}var b=this.getDate();var g=(b-e);if(g!=0){this._raiseEvent("0",d,e);this._raiseEvent("9",d,e);return true}},getDate:function(){if(this.value==undefined){return null}return new Date(this.value.dateTime)},getText:function(){return this.dateTimeInput.val()},setRange:function(d,c){if(typeof(d)=="object"&&!this._isValidDate(d)){d=null}if(typeof(c)=="object"&&!this._isValidDate(c)){c=null}if(d!=null&&typeof(d)=="string"){d=new Date(d);if(!this._isValidDate(d)){return}}if(c!=null&&typeof(c)=="string"){c=new Date(c);if(!this._isValidDate(c)){return}}if(d&&isNaN(d)&&d.toString()=="NaN"&&typeof(d)!="string"){return}if(c&&isNaN(c)&&c.toString()=="NaN"&&typeof(c)!="string"){return}this._calendar.setRange(d,c);if(c&&d&&(c.valueOf()!=d.valueOf())){this._range={from:d,to:c}}else{this._range=this._calendar.getRange()}var b=d;if(b!=null&&b.getFullYear){if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}this.value._setYear(b.getFullYear());this.value._setMonth(b.getMonth()+1);this.value._setHours(b.getHours());this.value._setMinutes(b.getMinutes());this.value._setSeconds(b.getSeconds());this.value._setMilliseconds(b.getMilliseconds());this.value._setDay(b.getDate())}this._refreshValue();if(this.value){this._raiseEvent("0",this.value.dateTime)}else{this._raiseEvent("0",null)}},getRange:function(){var b=this._calendar.getRange();if(this._range){var d=this._range.from;var c=this._range.to;if(c&&d&&(c.valueOf()!=d.valueOf())){if(b.from){b.from.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds())}if(b.to){b.to.setHours(c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds())}}}return b},_validateValue:function(e){var b=false;for(var d=0;d<this.items.length;d++){var c=this.editors[d].value;switch(this.items[d].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>999){c=999}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(this.editors[d].value!=c){this.editors[d].value=c;b=true}}this.updateValue(e);if(this.value!=null&&e===true){if(this.value.dateTime>this.maxDate.dateTime){this._internalSetValue(this.maxDate);this._updateEditorsValue()}else{if(this.value.dateTime<this.minDate.dateTime){this._internalSetValue(this.minDate);this._updateEditorsValue()}}this._updateText()}},spinUp:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.increaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},spinDown:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.decreaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},_passKeyToCalendar:function(c){if(c.keyCode==13||c.keyCode==9){this.hideCalendar("selected","keyboard");return true}else{if(c.keyCode==27){var e=this.calendarContainer;var d=this._calendar;var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;d.setDate(this.value.dateTime);this.closeCalendarAfterSelection=f;this.hideCalendar()}}var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;var b=this._calendar._handleKey(c);this.closeCalendarAfterSelection=f;return b},handleCalendarKey:function(f,e){var c=a(f.target);var d=a.data(document.body,"openedJQXCalendar"+this.id);if(d!=null){if(d.length>0){var b=e._passKeyToCalendar(f);return b}}return true},_findPos:function(c){if(c==null){return}while(c&&(c.type=="hidden"||c.nodeType!=1||a.expr.filters.hidden(c))){c=c.nextSibling}var b=a(c).coord(true);return[b.left,b.top]},testOffset:function(h,f,c){var g=h.outerWidth();var j=h.outerHeight();var i=a(window).width()+a(window).scrollLeft();var e=a(window).height()+a(window).scrollTop();if(f.left+g>i){if(g>this.host.width()){var d=this.host.coord().left;var b=g-this.host.width();f.left=d-b+2}}if(f.left<0){f.left=parseInt(this.host.coord().left)+"px"}f.top-=Math.min(f.top,(f.top+j>e&&e>j)?Math.abs(j+c+23):0);return f},open:function(b){if(b=="time"){this.timePopup=true}else{this.timePopup=false}this.showCalendar()},close:function(b){this.hideCalendar()},_getBodyOffset:function(){var c=0;var b=0;if(a("body").css("border-top-width")!="0px"){c=parseInt(a("body").css("border-top-width"));if(isNaN(c)){c=0}}if(a("body").css("border-left-width")!="0px"){b=parseInt(a("body").css("border-left-width"));if(isNaN(b)){b=0}}return{left:b,top:c}},initTimePopup:function(){this.timePopupElement=a("<div style='border-style: solid; border-width: 0px;'></div>").appendTo(this.timeContainer);this.timePopupElement.addClass(this.toThemeProperty("jqx-widget-content jqx-widget jqx-date-time-input-popup"));var s="";s+="<table><tbody><tr><td><a class='increment-hour-column' href='javascript:;' data-action='incrementHour'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-minute-column' href='javascript:;' data-action='incrementMinute'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-second-column' href='javascript:;' data-action='incrementSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-millisecond-column' href='javascript:;' data-action='incrementMSSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td class='increment-meridian-column'><a href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-up'></div></a></td></tr><tr><td><input type='text' class='jqx-timepicker-hour' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-minute' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-second' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-millisecond' maxlength='3'></td><td class='separator'>&nbsp;</td><td><input type='text' class='jqx-timepicker-meridian' maxlength='2'></td></tr><tr><td><a class='decrement-hour-column' href='javascript:;' data-action='decrementHour'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-minute-column' href='javascript:;' data-action='decrementMinute'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-second-column' href='javascript:;' data-action='decrementSecond'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-millisecond-column' href='javascript:;' data-action='decrementMillisecond'><div class='jqx-icon-down'></div></a></td><td class='separator'>&nbsp;</td><td><a class='decrement-meridian-column' href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-down'></div></a></td></tr></tbody></table>";var l=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){this.timePopupElement[0].innerHTML=s}else{this.timePopupElement[0].innerHTML="<table><tr><td>"+s+"</td><td>-</td><td>"+s+"</td></tr></table>"}this.timePopupElement.find(".jqx-icon-down").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-down"));this.timePopupElement.find(".jqx-icon-up").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-up"));var g=this.timePopupElement.find("input");g.addClass(this.toThemeProperty("jqx-input"));g.addClass(this.toThemeProperty("jqx-rc-all"));this.addHandler(g,"mousedown",function(u){u.stopPropagation()});var e=function(u){if(u.target.className.indexOf("hour")>=0){m._decrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._decrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._decrementMeridian(a(u.target))}};var k=function(u){if(u.target.className.indexOf("hour")>=0){m._incrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._incrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._incrementMeridian(a(u.target))}};var r=function(v,u){if(!u.isEditing){return}var w=0;if(!v){v=window.event}if(v.originalEvent&&v.originalEvent.wheelDelta){v.wheelDelta=v.originalEvent.wheelDelta}if(v.originalEvent&&v.originalEvent.deltaY!=undefined){w=-v.originalEvent.deltaY}if(v.wheelDelta){w=v.wheelDelta/120}else{if(v.detail){w=-v.detail/3}}if(w){if(document.activeElement==v.target&&v.target.nodeName.toLowerCase()=="input"){if(w<0){e(v)}else{k(v)}}if(v.preventDefault){v.preventDefault()}v.returnValue=false}if(v.preventDefault){v.preventDefault()}v.returnValue=false};this.addHandler(g,"wheel",function(u){r(u,m)});this.addHandler(g,"keydown",function(v){var u=a(v.target);if(v.ctrlKey){if(v.keyCode==38){if(m.isOpened()){m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}else{if(v.keyCode==40){if(!m.isOpened()){m.showCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}}}if(v.keyCode==40){e(v);v.preventDefault()}else{if(v.keyCode==38){k(v);v.preventDefault()}else{if(v.keyCode==13){v.preventDefault();m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus()}else{if(v.keyCode==27){v.preventDefault();m.hideCalendar("cancel");m.dateTimeInput.focus()}}}}});this.hourInput=a(g[0]);this.minuteInput=a(g[1]);this.secondInput=a(g[2]);this.mssecondInput=a(g[3]);this.meridianInput=a(g[4]);this.hourInput2=a(g[5]);this.minuteInput2=a(g[6]);this.secondInput2=a(g[7]);this.mssecondInput2=a(g[8]);this.meridianInput2=a(g[9]);var m=this;var o=this.timePopupElement.find(".increment-hour-column");this.hourIncrement=a(o[0]);this.hourIncrement2=a(o[1]);this.addHandler(g,"change",function(v){var u=a(v.target);if(u.val().length<=1){u.val("0"+a(v.target).val())}if(v.target.className.indexOf("hour")>=0){var w=parseInt(a(v.target).val());if(l.indexOf("HH")>=0){while(w>24){w=w-24}}else{while(w>12){w=w-12}}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}if(v.target.className.indexOf("minute")>=0||v.target.className.indexOf("second")>=0){var w=parseInt(a(v.target).val());while(w>59){w--}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}});this._incrementHour=function(u){var v=parseInt(u.val());v++;if(l.indexOf("HH")>=0){if(v>23){v=0}}else{if(v>12){v=1}}if(v<10){v="0"+v}u.val(v)};this._incrementMinuteSecond=function(u){var v=parseInt(u.val());v++;if(v>59){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMillisecond=function(u){var v=parseInt(u.val());v++;if(v>999){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this._decrementHour=function(u){var v=parseInt(u.val());v--;if(l.indexOf("HH")>=0){if(v<0){v=23}}else{if(v<1){v=12}}if(v<10){v="0"+v}u.val(v)};this._decrementMinuteSecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=59}if(v<10){v="0"+v}u.val(v)};this._decrementMillisecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=999}if(v<10){v="0"+v}u.val(v)};this._decrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this.addHandler(this.hourIncrement,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput)});this.addHandler(this.hourIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput2)});var p=this.timePopupElement.find(".increment-minute-column");this.minuteIncrement=a(p[0]);this.minuteIncrement2=a(p[1]);this.addHandler(this.minuteIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput2)});var c=this.timePopupElement.find(".increment-second-column");this.secondIncrement=a(c[0]);this.secondIncrement2=a(c[1]);this.addHandler(this.secondIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput)});this.addHandler(this.secondIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput2)});var d=this.timePopupElement.find(".increment-millisecond-column");this.millisecondsIncrement=a(d[0]);this.millisecondsIncrement2=a(d[1]);this.addHandler(this.millisecondsIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput2)});var i=this.timePopupElement.find(".increment-meridian-column");this.meridianIncrement=a(i[0]);this.meridianIncrement2=a(i[1]);this.addHandler(this.meridianIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput)});this.addHandler(this.meridianIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput2)});var n=this.timePopupElement.find(".decrement-hour-column");this.hourDecrement=a(n[0]);this.hourDecrement2=a(n[1]);this.addHandler(this.hourDecrement,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput)});this.addHandler(this.hourDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput2)});var j=this.timePopupElement.find(".decrement-minute-column");this.minuteDecrement=a(j[0]);this.minuteDecrement2=a(j[1]);this.addHandler(this.minuteDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput2)});var t=this.timePopupElement.find(".decrement-second-column");this.secondDecrement=a(t[0]);this.secondDecrement2=a(t[1]);this.addHandler(this.secondDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput)});this.addHandler(this.secondDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput2)});var b=this.timePopupElement.find(".decrement-millisecond-column");this.millisecondsDecrement=a(b[0]);this.millisecondsDecrement2=a(b[1]);this.addHandler(this.millisecondsDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput2)});var f=this.timePopupElement.find(".decrement-meridian-column");this.meridianDecrement=a(f[0]);this.meridianDecrement2=a(f[1]);this.addHandler(this.meridianDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput)});this.addHandler(this.meridianDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput2)});var q=this.timePopupElement.find("table");this.addHandler(this.timePopupElement,"mousedown",function(u){u.stopPropagation()});var h=function(u){var v=u.find("tr");if(l.indexOf("mm")==-1){m.minuteInput.hide();m.minuteInput2.hide();a(a(v[0]).children()[1]).hide();a(a(v[0]).children()[2]).hide();a(a(v[1]).children()[1]).hide();a(a(v[1]).children()[2]).hide();a(a(v[2]).children()[1]).hide();a(a(v[2]).children()[2]).hide()}if(l.indexOf("ss")==-1){m.secondInput.hide();m.secondInput2.hide();a(a(v[0]).children()[3]).hide();a(a(v[0]).children()[4]).hide();a(a(v[1]).children()[3]).hide();a(a(v[1]).children()[4]).hide();a(a(v[2]).children()[3]).hide();a(a(v[2]).children()[4]).hide()}if(l.indexOf("tt")==-1&&l.indexOf("hh")==-1){m.meridianInput.hide();m.meridianInput2.hide();a(a(v[0]).children()[7]).hide();a(a(v[0]).children()[8]).hide();a(a(v[1]).children()[7]).hide();a(a(v[1]).children()[8]).hide();a(a(v[2]).children()[7]).hide();a(a(v[2]).children()[8]).hide()}if(l.indexOf("zz")==-1){m.mssecondInput.hide();m.mssecondInput2.hide();a(a(v[0]).children()[5]).hide();a(a(v[0]).children()[6]).hide();a(a(v[1]).children()[5]).hide();a(a(v[1]).children()[6]).hide();a(a(v[2]).children()[5]).hide();a(a(v[2]).children()[6]).hide()}};if(q.length==1){h(q)}else{h(a(a(q)[1]));h(a(a(q)[2]))}},updateTimePopup:function(){var b=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){var f=this.getDate();if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}}else{var f=this.getRange().from;if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}var f=this.getRange().to;if(this.hourInput2){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput2.val(c);this.minuteInput2.val(h);this.secondInput2.val(e);this.mssecondInput2.val(d);this.meridianInput2.val(g)}}},showCalendar:function(){var o=this.calendarContainer;var s=this._calendar;a.jqx.aria(this,"aria-expanded",true);if(this.showTimeButton){if(this.timePopup){if(!this.timePopupElement){this.initTimePopup()}this.calendarContainer.css("visibility","hidden");this.timeContainer.css("visibility","visible");this.updateTimePopup();var d=this.timeContainer.find("input");var v=0;for(var z=0;z<d.length;z++){if(d[z].style.display!="none"){v+=50}}this.container.width(parseInt(v));if(!this.touch){setTimeout(function(){d[0].focus();a(d[0]).select()},150+this.openDelay)}}else{this.container.width(parseInt(this.calendarContainer.width())+25);this.timeContainer.css("visibility","hidden");this.calendarContainer.css("visibility","visible")}}if(this.value!=null){if(this.selectionMode!="range"){this._oldDT=new Date(this.value.dateTime)}else{this._oldDT=this.getRange()}}else{this._oldDT=null}if(!s.canRender){s.canRender=true;s.render()}var l=this.container;var r=this;var g=a(window).scrollTop();var h=a(window).scrollLeft();var p=parseInt(this._findPos(this.host[0])[1])+parseInt(this.host.outerHeight())-1+"px";var e,u=parseInt(Math.round(this.host.coord(true).left));if(this.dropDownContainer==="element"){p=parseInt(this.host.outerHeight())-1+"px";e=0}e=u+"px";var A=false;if((A!=null&&A)){e=a.jqx.mobile.getLeftPos(this.element);p=a.jqx.mobile.getTopPos(this.element)+parseInt(this.host.outerHeight());if(a("body").css("border-top-width")!="0px"){p=parseInt(p)-this._getBodyOffset().top+"px"}if(a("body").css("border-left-width")!="0px"){e=parseInt(e)-this._getBodyOffset().left+"px"}}this.container.css("left",e);this.container.css("top",p);var c=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;this.isEditing=false;if(r.selectionMode=="default"){this._validateValue();this._updateText();var w=this.value!=null?this.value.dateTime:new Date();s.setDate(w)}this.closeCalendarAfterSelection=c;var b=false;if(this.dropDownHorizontalAlignment=="right"||this.rtl){var k=this.container.outerWidth();var x=Math.abs(k-this.host.outerWidth()+2);if(!this.rtl){x-=2}if(k>this.host.width()){var f=23;this.container.css("left",f+parseInt(Math.round(u))-x+"px")}else{this.container.css("left",25+parseInt(Math.round(u))+x+"px")}}if(this.dropDownVerticalAlignment=="top"){var y=o.height();if(this.timePopup){this.timeContainer.css("top",this.container.height()-75)}b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"));var n=parseInt(this.host.outerHeight());var m=parseInt(p)-Math.abs(y+n+23);this.container.css("top",m)}if(this.enableBrowserBoundsDetection){var j=this.testOffset(o,{left:parseInt(this.container.css("left")),top:parseInt(p)},parseInt(this.host.outerHeight()));if(parseInt(this.container.css("top"))!=j.top){b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"))}else{o.css("top",0)}this.container.css("top",j.top);if(parseInt(this.container.css("left"))!=j.left){this.container.css("left",j.left)}}this._raiseEvent(7,o);if(this.animationType!="none"){this.container.css("display","block");var q=parseInt(o.outerHeight());o.stop();this.isanimating=true;this.opening=true;if(this.animationType=="fade"){o.css("margin-top",0);o.css("opacity",0);o.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()});if(this.timePopup){this.timeContainer.css("margin-top",0);this.timeContainer.css("opacity",0);this.timeContainer.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}}else{o.css("opacity",1);if(this.timePopup){this.timeContainer.css("opacity",1)}if(b){o.css("margin-top",q)}else{o.css("margin-top",-q)}if(this.timePopup){if(b){this.timeContainer.css("margin-top",q)}else{this.timeContainer.css("margin-top",-q)}this.timeContainer.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}o.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()})}}else{o.stop();r.isanimating=false;r.opening=false;o.css("opacity",1);o.css("margin-top",0);this.container.css("display","block");a.data(document.body,"openedJQXCalendar"+r.id,o);this.calendarContainer.focus();if(this.timePopup){this.timeContainer.stop();this.timeContainer.css("opacity",1);this.timeContainer.css("margin-top",0);this.timeContainer.focus()}}if(this.value==null){if(this._calendar&&this._calendar._getSelectedCell()){this._calendar._getSelectedCell().isSelected=false}}if(this.timePopup){this.timeButtonIcon.addClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.timeContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}else{this.calendarButtonIcon.addClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}this.host.addClass(this.toThemeProperty("jqx-fill-state-focus"))},hideCalendar:function(j,o){if(o){this.changeType=o}var h=this.calendarContainer;var b=this.container;var p=this;a.jqx.aria(this,"aria-expanded",false);if(this.showTimeButton){if(this.timeContainer.css("visibility")!="hidden"&&j!="cancel"){if(this.selectionMode!="range"&&this.hourInput){var e=this.getDate();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}if(!e){e=new Date()}e.setHours(g,f,c,q);this.setDate(e)}else{if(this.hourInput&&j!="selected"){var i=this.getRange();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var l=i.from;if(!l){l=new Date()}l.setHours(g,f,c,q);var g=parseInt(this.hourInput2.val());var f=parseInt(this.minuteInput2.val());var c=parseInt(this.secondInput2.val());var q=parseInt(this.mssecondInput2.val());var d=this.meridianInput2.val();if(f==""){f=0}if(c==""){c=0}if(q==""){q=0}if(this.meridianInput2.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var k=i.to;if(!k){k=new Date()}k.setHours(g,f,c,q);if(k.valueOf()<l.valueOf()){return false}this.setRange(l,k)}else{if(j=="selected"){return}}}}}a.data(document.body,"openedJQXCalendar"+this.id,null);if(this.animationType!="none"){var n=h.outerHeight();h.css("margin-top",0);if(this.showTimeButton){this.timeContainer.css("margin-top",0)}this.isanimating=true;var m=-n;if(parseInt(this.container.coord().top)<parseInt(this.host.coord().top)){m=n}if(this.animationType=="fade"){h.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{h.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}if(this.showTimeButton){if(this.animationType=="fade"){this.timeContainer.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{this.timeContainer.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}}}else{b.css("display","none")}if(j!=undefined){this._updateSelectedDate(j)}this.timeButtonIcon.removeClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarButtonIcon.removeClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.timeContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.calendarContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this._raiseEvent(8,h)},_updateSelectedDate:function(){var l=this.value;if(l==null){l=new a.jqx._jqxDateTimeInput.getDateTime(new Date());l._setHours(0);l._setMinutes(0);l._setSeconds(0);l._setMilliseconds(0)}var g=l.hour;var f=l.minute;var c=l.second;var b=l.millisecond;if(this.selectionMode=="range"&&this._calendar.getRange().from==null){this.setDate(null);return}var d=new a.jqx._jqxDateTimeInput.getDateTime(this._calendar.value.dateTime);d._setHours(g);d._setMinutes(f);d._setSeconds(c);d._setMilliseconds(b);var m=this.setDate(d.dateTime);if(this.selectionMode=="range"&&!m&&this._oldDT){var h=this.getRange();var i=this._oldDT;var k=false;var j=false;var e=this._oldDT.from;var d=h.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){k=true}}var d=h.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}}if(k&&j){return true}this._raiseEvent(0,{});this._raiseEvent(9,{})}},_closeOpenedCalendar:function(b){var e=a(b.target);var j=a.data(document.body,"openedJQXCalendar"+b.data.me.id);var d=false;a.each(e.parents(),function(){if(this.className&&this.className.indexOf){if(this.className.indexOf("jqx-calendar")!=-1){d=true;return false}if(this.className.indexOf("jqx-date-time-input-popup")!=-1){d=true;return false}if(this.className.indexOf("jqx-input")!=-1){return false}}});if(a(b.target).ischildof(b.data.me.host)){return true}if(b.target!=null&&(b.target.tagName=="B"||b.target.tagName=="b")){var k=b.data.me.host.coord();var m=b.data.me.host.width();var c=b.data.me.host.height();var l=parseInt(k.top);var g=parseInt(k.left);if(l<=b.pageY&&b.pageY<=l+c){if(g<=b.pageX&&b.pageX<=g+m){return true}}}if(j!=null&&!d){if(j.length>0){var h=j[0].id.toString();var f=h.toString().substring(13);var i=a(document).find("#"+f);var n=b.data.me.hideCalendar();if(n!==false){a.data(document.body,"openedJQXCalendar"+b.data.me.id,null)}}}},_loadItems:function(){if(this.value!=null){this.items=new Array();var d=this._getFormatValue(this.formatString);this.items=this._parseFormatValue(d);this.editors=new Array();for(var b=0;b<this.items.length;b++){var c=this.items[b].getDateTimeEditorByItemType(this.value,this);this.editors[b]=c}}this._updateEditorsValue();this._updateText()},_updateText:function(){var d=this;var f="";if(d.items.length==0&&d.value!=null){d._loadItems()}if(d.value!=null){if(d.items.length>=1){f=d.format(d.value,0,d.items.length)}var b=d.dateTimeInput.val();if(b!=f){d._raiseEvent(1,d.value)}}if(d.selectionMode=="range"){var c=d.getRange();var i=d.format(d.value,0,d.items.length);if(c.to){var h=a.jqx._jqxDateTimeInput.getDateTime(c.from);i=d.format(h,0,d.items.length);var g=a.jqx._jqxDateTimeInput.getDateTime(c.to);var e=d.format(g,0,d.items.length);var f=i+" - "+e;if(f==" - "){f=""}}else{f=""}}d.dateTimeInput.val(f)},format:function(g,h,f){var b="";for(var e=h;e<f;++e){var c=this.items[e].dateParser(g,this);if(this.isEditing&&this.items[e].type!="ReadOnly"){if(this.selectionMode!="range"){var d=this.items[e].type=="Day"&&this.items[e].format.length>2;if(this.items[e].type=="FORMAT_AMPM"){d=true;if(this.editors[e].value==0){c=this.editors[e].amString}else{c=this.editors[e].pmString}}if(!d){c=this.items[e].dateParserInEditMode(new Number(this.editors[e].value),"d"+this.editors[e].maxEditPositions,this);while(c.length<this.editors[e].maxEditPositions){c="0"+c}}}}b+=c}return b},_getFormatValueGroupLength:function(c){for(var b=1;b<c.toString().length;++b){if(c.substring(b,b+1)!=c.substring(0,1)){return b}}return c.length},_parseFormatValue:function(h){var c=new Array();var f=h.toString();var e=0;while(f.length>0){var d=this._getFormatValueGroupLength(f);var g=null;switch(f.substring(0,1)){case":":case"/":d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break;case'"':case"'":var b=f.indexOf(f[0],1);g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1+Math.max(1,b-1)),"ReadOnly",this.culture);d=Math.max(1,b+1);break;case"\\":if(f.length>=2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1),"ReadOnly",this.culture);d=2}break;case"d":case"D":if(d>2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}break;case"f":case"F":if(d>7){d=7}if(d>3){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Millisecond",this.culture)}break;case"g":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;case"h":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_hh",this.culture);break;case"H":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_HH",this.culture);break;case"m":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Minute",this.culture);break;case"M":if(d>4){d=4}g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Month",this.culture);break;case"s":case"S":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Second",this.culture);break;case"t":case"T":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_AMPM",this.culture);break;case"y":case"Y":if(d>1){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Year",this.culture)}else{d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),null,"ReadOnly",this.culture)}break;case"z":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;default:d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break}c[e]=a.extend(true,{},g);f=f.substring(d);e++}return c},_getFormatValue:function(b){if(b==null||b.length==0){b="d"}if(b.length==1){switch(b.substring(0,1)){case"d":return this.localization.calendar.patterns.d;case"D":return this.localization.calendar.patterns.D;case"t":return this.localization.calendar.patterns.t;case"T":return this.localization.calendar.patterns.T;case"f":return this.localization.calendar.patterns.f;case"F":return this.localization.calendar.patterns.F;case"M":return this.localization.calendar.patterns.M;case"Y":return this.localization.calendar.patterns.Y;case"S":return this.localization.calendar.patterns.S}}if(b.length==2&&b.substring(0,1)=="%"){b=b.substring(1)}return b},_updateEditorsValue:function(){var j=this.value;if(j==null){return}var g=j.year;var h=j.day;var d=j.hour;var l=j.millisecond;var b=j.second;var c=j.minute;var f=j.month;if(this.items==null){return}for(var e=0;e<this.items.length;e++){switch(this.items[e].type){case"FORMAT_AMPM":var k=d%12;if(k==0){k=12}if(d>=0&&d<12){this.editors[e].value=0}else{this.editors[e].value=1}break;case"Day":this.editors[e].value=h;break;case"FORMAT_hh":var k=d%12;if(k==0){k=12}this.editors[e].value=k;break;case"FORMAT_HH":this.editors[e].value=d;break;case"Millisecond":this.editors[e].value=l;break;case"Minute":this.editors[e].value=c;break;case"Month":this.editors[e].value=f;break;case"Second":this.editors[e].value=b;break;case"Year":this.editors[e].value=g;break}}},updateValue:function(z){if(this.isEditing){return}if(this.items&&this.items.length==0){return}var o=0;var s=1;var C=1;var l=0;var d=0;var J=0;var u=0;var I=1;var h=0;var m=false;var r=false;var D=false;var c=false;var b=false;var q=false;var x=false;var t=new Array();var e=null;var y=0;for(var B=0;B<this.items.length;B++){switch(this.items[B].type){case"FORMAT_AMPM":h=this.editors[B].value;e=this.editors[B];break;case"Character":break;case"Day":if(this.items[B].format.length<3){C=this.editors[B].value;t[y++]=this.editors[B];if(C==0){C=1}D=true}break;case"FORMAT_hh":var F=this.editors[B];l=F.value;c=true;break;case"FORMAT_HH":l=this.editors[B].value;c=true;break;case"Millisecond":d=this.editors[B].value;x=true;break;case"Minute":u=this.editors[B].value;b=true;break;case"Month":I=this.editors[B].value;r=true;if(I==0){I=1}break;case"ReadOnly":break;case"Second":J=this.editors[B].value;q=true;break;case"Year":m=true;s=this.editors[B].value;var H=this.editors[B].getDateTimeItem().format;if(H.length<3){var w="1900";if(w.Length==4){var v=""+w[0]+w[1];var E;E=parseInt(v);s=s+(E*100)}}if(s==0){s=1}break}}var G=this.value!=null?new Date(this.value.dateTime):null;if(s>0&&I>0&&C>0&&u>=0&&l>=0&&J>=0&&d>=0){var K=this.value;if(K!=null){if(!m){s=K.year}if(!r){I=K.month}if(!D){C=K.day}}try{if(I>12){I=12}if(I<1){I=1}if(z&&K._daysInMonth(s,I)<=C){C=K._daysInMonth(s,I);if(t!=null&&t.length>0){for(B=0;B<t.length;B++){t[B].value=C}}}if(e!=null){if(e.value==0){if(l>=12){l-=12}}else{if(l+12<24){l+=12}}}var g=this.value.dateTime.getDate();this.value._setYear(parseInt(s));this.value._setDay(C);this.value._setMonth(I);if(c){this.value._setHours(l)}if(b){this.value._setMinutes(u)}if(q){this.value._setSeconds(J)}if(x){this.value._setMilliseconds(d)}this._validateTimeRange()}catch(j){this.value=K}if(G!=null){var A=this.value.dateTime.getFullYear()==G.getFullYear()&&this.value.dateTime.getDate()==G.getDate()&&this.value.dateTime.getMonth()==G.getMonth()&&this.value.dateTime.getHours()==G.getHours()&&this.value.dateTime.getMinutes()==G.getMinutes()&&this.value.dateTime.getSeconds()==G.getSeconds();if(!A){if(this.changing){var n=this.changing(G,this.value.dateTime);if(n){this.value=a.jqx._jqxDateTimeInput.getDateTime(n)}}this._raiseEvent("0",this.value.dateTime);if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}if(this.change){this.change(this.value.dateTime)}}}}var f=this.editors.indexOf(this.activeEditor);var p=this.items[f];if(this.value){if(this.calendarContainer.jqxCalendar("_isDisabled",this.value.dateTime)){this.dateTimeInput.addClass(this.toThemeProperty("jqx-input-invalid"))}else{this.dateTimeInput.removeClass(this.toThemeProperty("jqx-input-invalid"))}}},_internalSetValue:function(b){this.value._setYear(parseInt(b.year));this.value._setDay(b.day);this.value._setMonth(b.month);this.value._setHours(b.hour);this.value._setMinutes(b.minute);this.value._setSeconds(b.second);this.value._setMilliseconds(b.milisecond)},_raiseEvent:function(c,n,f){var m=this.events[c];var g={};g.owner=this;if(n==null){n={}}if(f==null){f=n}var l=n.charCode?n.charCode:n.keyCode?n.keyCode:0;var o=true;var k=this.readonly;var b=new a.Event(m);b.owner=this;b.args=g;b.args.date=this.getDate();if(c==9){b.args.type=this.changeType;this.changeType=null}this.element.value=this.dateTimeInput.val();if(c==9&&this.selectionMode!="range"){var d=b.args.date;if(this._oldDT){if(d!=null){if(!(d.getFullYear()!=this._oldDT.getFullYear()||d.getMonth()!=this._oldDT.getMonth()||d.getDate()!=this._oldDT.getDate()||d.getHours()!=this._oldDT.getHours()||d.getMinutes()!=this._oldDT.getMinutes()||d.getSeconds()!=this._oldDT.getSeconds())){return true}}a.jqx.aria(this,"aria-valuenow",this.getDate());a.jqx.aria(this,"aria-valuetext",this.getText());if(this.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+this.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.selectionMode=="range"){b.args.date=this.getRange();if(this._oldDT){var d=b.args.date.from;if(c==9){var j=false;var i=false;var e=this._oldDT.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}var d=b.args.date.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){i=true}}}if(j&&i){return true}var j=b.args.date.from;if(j==null){j=""}else{j=j.toString()}var i=b.args.date.to;if(i==null){i=""}else{i=i.toString()}a.jqx.aria(this,"aria-valuenow",j+"-"+i);a.jqx.aria(this,"aria-valuetext",this.getText());if(j&&i){a.jqx.aria(this,"aria-label","Current focused range is "+j.toLocaleString()+"-"+i.toLocaleString())}}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.host.css("display")=="none"){return true}if(c!=2&&c!=3&&c!=4&&c!=5&&c!=6){o=this.host.trigger(b);if(b.stopPropagation){b.stopPropagation()}}var h=this;if(!k){if(c==2&&!this.disabled){setTimeout(function(){h.isEditing=true;if(this.selectionMode=="range"){h._selectGroup(-1)}else{h._selectGroup(-1)}},25)}}if(c==4){if(k||this.disabled){if(l==8||l==46){this.isEditing=false;if(this.allowKeyboardDelete){if(this.allowNullDate){this.setDate(null)}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this.setRange(this.getMinDate(),this.getMinDate())}}}}if(l==9){return true}if(!n.altKey){return false}}o=this._handleKeyDown(n,l)}else{if(c==5){if(l==9){return true}if(k||this.disabled){return false}}else{if(c==6){if(l==9){return true}if(k||this.disabled){return false}o=this._handleKeyPress(n,l)}}}return o},_doLeftKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions>0){this.activeEditor.positions--;this._selectGroup(e);return}}while(e>0){this.activeEditor=this.editors[--e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&b!=this.activeEditor){if(this.items[e].type!="ReadOnly"){if(this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_doRightKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions<this.activeEditor.maxEditPositions-1){this.activeEditor.positions++;this._selectGroup(e);return}}while(e<=this.editors.length-2){this.activeEditor=this.editors[++e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){if(this.items[e].type=="Day"&&this.items[e].format.length>2){break}d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&this.activeEditor!=b){if(this.items[e].type!="ReadOnly"){this.activeEditor.positions=0}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_saveSelectedText:function(){var c=this._selection();var e="";var d=this.dateTimeInput.val();if(c.start>0||c.length>0){for(var b=c.start;b<c.end;b++){e+=d[b]}}if(window.clipboardData){window.clipboardData.setData("Text",e)}return e},_selectWithAdvancePattern:function(){var f=this.editors.indexOf(this.activeEditor);var g=false;if(this.items[f].type!="ReadOnly"){g=true}if(!g){return}var d=this.activeEditor;if(d!=null){var e=d.positions==d.maxEditPositions;if(e){this.editorText="";var c=d.value;var b=false;switch(this.items[f].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>99){c=99}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(d.value!=c){b=true}if(!b){this.isEditing=false;this._validateValue();this._updateText();this.isEditing=true;this._doRightKey();return true}return false}}},_handleKeyPress:function(j,n){var m=this._selection();var b=this;var d=j.ctrlKey||j.metaKey;if((d&&n==97)||(d&&n==65)){return true}if(n==8){if(m.start>0){b._setSelectionStart(m.start)}return false}if(n==46){if(m.start<this.items.length){b._setSelectionStart(m.start)}return false}if(n===27){if(this._firstFocusDate){this.setDate(this._firstFocusDate);this._setSelectionStart(0);this._selectGroup(-1)}return false}if(m.start>=0){this.changeType="keyboard";var f=String.fromCharCode(n);var k=parseInt(f);if(f=="p"||f=="a"||f=="A"||f=="P"){if(this.activeEditor&&this.activeEditor.item.type=="FORMAT_AMPM"){if(this.activeEditor.value==0&&(f=="p"||f=="P")){this.spinUp()}else{if(this.activeEditor.value==1&&(f=="a"||f=="A")){this.spinDown()}}}}if(!isNaN(k)){if(this.container.css("display")=="block"){this.hideCalendar()}this.updateValue();this._updateText();var h=false;var i=this.editors.indexOf(this.activeEditor);var c=null;this.isEditing=true;if(i.type!="ReadOnly"){c=this.activeEditor}if(c!=null&&c.positions==0){this.editorText=""}if(this.activeEditor==null){this.activeEditor=this.editors[0]}if(this.activeEditor==null){return false}this.activeEditor.insert(f);if(c!=null&&this.editorText.length>=c.maxEditPositions){this.editorText=""}this.editorText+=f;var o=this._selectWithAdvancePattern();if(this.activeEditor.positions==this.activeEditor.maxEditPositions){var g=this._getLastEditableEditorIndex();if(this.editors.indexOf(this.activeEditor)==g&&o&&this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}h=true;this.updateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return false}}var l=this._isSpecialKey(n);return l},_getLastEditableEditorIndex:function(){var b=0;var d=this;for(var c=this.items.length-1;c>=0;c--){if(this.items[c].type!="ReadOnly"){return c}}return -1},_handleKeyDown:function(i,o){var h=this;this.timePopup=false;if(o==84){this.timePopup=true}if(i.keyCode==115){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}else{if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}if(i.altKey){if(i.keyCode==38){if(h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.showCalendar("keyboard","keyboard");return false}}}}else{if(i.ctrlKey){this.timePopup=true;if(i.keyCode==38){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}}}if(h.isOpened()){if(i.keyCode==9){h.hideCalendar("selected","keyboard");return true}return}var m=h._selection();var b=i.ctrlKey||i.metaKey;if((b&&o==99)||(b&&o==67)){h._saveSelectedText(i);return true}if((b&&o==122)||(b&&o==90)){return false}if((b&&o==118)||(b&&o==86)||(i.shiftKey&&o==45)){var l=h.val();var j=this;var c=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(c);c.select();setTimeout(function(){var e=c.val();j.setDate(e);c.remove()},100);return true}if(o==8||o==46){if(!i.altKey&&!b&&o==46){h.isEditing=false;if(h.allowKeyboardDelete){h.changeType="keyboard";if(h.allowNullDate){h.setDate(null)}else{if(h.selectionMode!="range"){h.setDate(h.getMinDate())}else{h.setRange(h.getMinDate(),h.getMinDate())}}}}else{if(h.activeEditor!=null){var g=h.editors.indexOf(h.activeEditor);if(h.activeEditor.positions>=0){var f=h._format(Number(h.activeEditor.value),"d"+h.activeEditor.maxEditPositions,h.culture);var d=f;d=d.substring(0,h.activeEditor.positions)+"0"+d.substring(h.activeEditor.positions+1);if(parseInt(d)<h.activeEditor.minValue){d=h._format(Number(h.activeEditor.minValue),"d"+h.activeEditor.maxEditPositions,h.culture)}if(h.enableAbsoluteSelection){h.activeEditor.value=d}else{h.activeEditor.value=h.activeEditor.minValue}h._validateValue();h._updateText();h.changeType="keyboard";if(o==8){var n=this;if(h.enableAbsoluteSelection&&h.activeEditor.positions>0){setTimeout(function(){n.activeEditor.positions=n.activeEditor.positions-1;n._selectGroup(g)},10)}else{setTimeout(function(){n._doLeftKey()},10)}}else{h._selectGroup(g)}}else{h._doLeftKey()}}}return false}if(o==38){this.spinUp();h.changeType="keyboard";return false}else{if(o==40){this.spinDown();h.changeType="keyboard";return false}}if(o==9){if(h.value==null){return true}if(i.shiftKey){var p=this._doLeftKey()}else{var p=this._doRightKey()}if(!p){return true}else{return false}}if(o==37){if(this._editor){var p=this._doLeftKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doLeftKey();return false}}else{if(o==39||o==191){if(this._editor){var p=this._doRightKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doRightKey();return false}}}var k=this._isSpecialKey(o);if(this.value==null&&(o>=48&&o<=57||o>=96&&o<=105)){h.changeType="keyboard";if(new Date()>=this.getMinDate()&&new Date()<=this.getMaxDate()){this.setDate(new Date())}else{this.setDate(this.getMaxDate())}}if(!a.jqx.browser.mozilla){return true}if(a.jqx.browser.mozilla&&a.jqx.browser.version>24){return true}return k},_isSpecialKey:function(b){if(b!=8&&b!=9&&b!=13&&b!=35&&b!=36&&b!=37&&b!=39&&b!=27&&b!=46){return false}return true},_selection:function(){if("selectionStart" in this.dateTimeInput[0]){var f=this.dateTimeInput[0];var g=f.selectionEnd-f.selectionStart;return{start:f.selectionStart,end:f.selectionEnd,length:g,text:f.value}}else{var c=document.selection.createRange();if(c==null){return{start:0,end:f.value.length,length:0}}var b=this.dateTimeInput[0].createTextRange();var d=b.duplicate();b.moveToBookmark(c.getBookmark());d.setEndPoint("EndToStart",b);var g=c.text.length;return{start:d.text.length,end:d.text.length+c.text.length,length:g,text:c.text}}},_selectGroup:function(k,m){if(this.host.css("display")=="none"){return}if(this.readonly){return}if(!m){var m=this._selection()}var f="";var b="";var c=null;for(var d=0;d<this.items.length;d++){b=this.items[d].dateParser(this.value,this);if(this.isEditing&&this.items[d].type!="ReadOnly"){var j=this.items[d].type=="Day"&&this.items[d].format.length>2;if(!j&&this.items[d].type!="FORMAT_AMPM"){b=this.items[d].dateParserInEditMode(new Number(this.editors[d].value),"d"+this.editors[d].maxEditPositions,this);while(b.length<this.editors[d].maxEditPositions){b="0"+b}}}f+=b;if(this.items[d].type=="ReadOnly"){continue}if(this.items[d].type=="Day"&&this.items[d].format.length>2){continue}if(k!=undefined&&k!=-1){if(d>=k){var l=f.length-b.length;var e=b.length;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}if(l==this.dateTimeInput.val().length){l--}this._setSelection(l,l+e);c=this.editors[d];this.activeEditor=c;break}}else{if(f.length>=m.start){c=this.editors[d];this.activeEditor=c;var l=f.length-b.length;var e=1;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}else{e=b.length}this._setSelection(l,l+e);break}}}if(d<this.items.length&&k==-1){if(this.items[d].type!="ReadOnly"){this.activeEditor.positions=0}}var h=this._selection();if(h.length==0){if(h.start>0){var g=this._getLastEditableEditorIndex();if(g>=0){}}}},_getLastEditableEditorIndex:function(){var c=-1;for(var b=0;b<this.editors.length;b++){if(this.items[b].type=="ReadOnly"){continue}if(this.items[b].type=="Day"&&this.items[b].format.length>2){continue}c=b}return c},_setSelection:function(e,b){try{if("selectionStart" in this.dateTimeInput[0]){this.dateTimeInput[0].setSelectionRange(e,b)}else{var c=this.dateTimeInput[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}}catch(d){}},_setSelectionStart:function(b){this._setSelection(b,b)},destroy:function(){a.jqx.utilities.resize(this.host,null,true);this.host.removeClass("jqx-rc-all");if(this.timePopupElement){this.timePopupElement.remove()}this._calendar.destroy();this.container.remove();this._removeHandlers();this.dateTimeInput.remove();this.host.remove()},refreshValue:function(){this._refreshValue()},refresh:function(b){if(b!=true){this._setSize();this._arrange()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},_setOption:function(b,c,d){if(b==="value"){if(this.selectionMode!="range"){this._oldDT=null}else{this._oldDT=null}this.value=c;this._refreshValue();this._raiseEvent(9,{type:null})}if(b=="maxDate"){this._calendar.maxDate=c;this._raiseEvent(9,{type:null})}if(b=="minDate"){this._calendar.minDate=c;this._raiseEvent(9,{type:null})}if(b=="showCalendarButton"){if(c){this.calendarButton.css("display","block")}else{this.calendarButton.css("display","none")}}if(b=="disabled"){this.dateTimeInput.attr("disabled",c)}if(b=="readonly"){this.readonly=c;this.dateTimeInput.css("readonly",c)}if(b=="textAlign"){this.dateTimeInput.css("text-align",c);this.textAlign=c}if(b=="width"){this.width=c;this.width=parseInt(this.width);this._arrange()}else{if(b=="height"){this.height=c;this.height=parseInt(this.height);this._arrange()}}},_updateHint:function(){var b=this;if(!b.hint){return}if(b.isMaterialized()){setTimeout(function(){if(b.dateTimeInput[0].value.length===0){b.element.removeAttribute("hint");b.label[0].innerHTML=b.placeHolder}else{b.label[0].innerHTML="";if(b.hint){b.element.setAttribute("hint",true)}}})}},_refreshValue:function(){this._updateEditorsValue();this.updateValue();this._validateValue();this._updateText();this._updateHint()}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateTimeFormatItem={};a.extend(a.jqx._jqxDateTimeInput.DateTimeFormatItem,{_create:function(d,c,b){this.format=d;this.type=c;this.culture=b;return this},_itemValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},_maximumValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},dateParser:function(b,c){if(b==null){return""}var d=c._format(b.dateTime,this.format.length==1?"%"+this.format:this.format,this.culture);return d},dateParserInEditMode:function(e,d,b){if(e==null){return""}var c=b._format(e.toString(),d.length==1?"%"+d:d,this.culture);return c},getDateTimeEditorByItemType:function(m,e){switch(this.type){case"FORMAT_AMPM":var f=a.jqx._jqxDateTimeInput.AmPmEditor._createAmPmEditor(this.format,m.hour/12,e.localization.calendar.AM[0],e.localization.calendar.PM[0],this,e);var d=a.extend({},f);return d;case"Character":return null;case"Day":var j=m.year;var r=m.month;var q;if(this.format.length==3){q=e.localization.calendar.days.namesAbbr}else{if(this.format.length>3){q=e.localization.calendar.days.names}else{q=null}}var s=m.day;if(q!=null){s=m.dayOfWeek+1}var g=a.jqx._jqxDateTimeInput.DateEditor._createDayEditor(m,m.day,1,m._daysInMonth(j,r),this.format.length==1?1:2,2,q,this,e);var d=a.extend({},g);return d;case"FORMAT_hh":var c=m.hour%12;if(c==0){c=12}var p=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(c,1,12,this.format.length==1?1:2,2,this,e);var d=a.extend({},p);return d;case"FORMAT_HH":var h=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.hour,0,23,this.format.length==1?1:2,2,this,e);var d=a.extend({},h);return d;case"Millisecond":var k=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.millisecond/this._itemValue(),0,this._maximumValue(),this.format.length,this.format.length,this,e);var d=a.extend({},k);return d;case"Minute":var n=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.minute,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},n);return d;case"Month":var i;if(this.format.length==3){i=e.localization.calendar.months.namesAbbr}else{if(this.format.length>3){i=e.localization.calendar.months.names}else{i=null}}var l=a.jqx._jqxDateTimeInput.DateEditor._createMonthEditor(m.month,this.format.length==2?2:1,i,this,e);var d=a.extend({},l);return d;case"ReadOnly":return a.jqx._jqxDateTimeInput.DisabledEditor._create(this.format.length,m.day,this,e);case"Second":var b=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.second,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},b);return d;case"Year":var o=a.jqx._jqxDateTimeInput.DateEditor._createYearEditor(m.year,4,this,e);var d=a.extend({},o);return d}return null}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateEditor=a.extend(a.jqx._jqxDateTimeInput.DateEditor,{formatValueLength:0,handleYears:false,handleDays:false,handleMonths:false,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,dateTimeFormatInfo:null,days:null,dateTimeMonths:null,lastDayInput:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},_createYearEditor:function(e,d,c,b){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(d<=4?0:0,d<4?99:9999,(d==2)?2:1,d>3?4:2,c);this.initializeYearEditor(e,d,c.culture);this.handleYears=true;this.that=b;return this},initializeYearEditor:function(d,c,e){this.formatValueLength=c;this.dateTimeFormatInfo=e;var b=d;b=Math.min(b,9999);b=Math.max(b,1);b=this.formatValueLength<4?b%100:b;this.updateActiveEditor(b);this.value=b},updateActiveEditor:function(b){this.value=b;this.positions=0},_createDayEditor:function(b,i,h,e,c,f,g,j,d){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(h,e,1,f,j);this.currentValue=b;this.value=i;this.days=g;this.handleDays=true;this.that=d;return this},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},defaultTextValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},textValue:function(){if(this.handleDays){if(this.days==null){return this.defaultTextValue()}else{var b=(this.value%7)+1;b=this.getDayOfWeek(b);return this.days[b]}}else{if(this.handleMonths){if(this.dateTimeMonths==null||this.value<1||this.value>12){return this.defaultTextValue()}else{return this.dateTimeMonths[this.value-1]}}}return this.defaultTextValue()},defaultInsertString:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},insert:function(b){if(this.handleDays){if(this.days!=null){var c=false;c=this.insertLongString(b,c);if(c){return c}c=this.insertShortString(b,c);if(c){return c}}if(this.value==1&&this.lastDayInput!=null&&this.lastDayInput.toString().length>0&&this.lastDayInput.toString()=="0"){this.value=0}this.lastDayInput=b;return this.defaultInsertString(b)}else{if(this.handleMonths){if(this.dateTimeMonths!=null){var c=false;c=this.insertLongString2(b,c);if(c){return c}c=this.insertShortString2(b,c);if(c){return c}}}}return this.defaultInsertString(b)},insertShortString:function(d,f){if(d.length==1){for(var e=0;e<6;++e){var c=(this.value+e)%7+1;var b=this.days[c-1];if(b.substring(0,1)==d){this.updateActiveEditor(c);f=true;return f}}}return f},insertLongString:function(c,e){if(c.length>0){for(var d=0;d<6;++d){var b=(this.value+d)%7+1;if(this.days[b-1]==c){this.updateActiveEditor(b);e=true;return e}}}return e},_createMonthEditor:function(d,c,b,f,e){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(1,12,c,2,f);this.dateTimeMonths=b;this.value=d;if(this.dateTimeMonths!=null&&this.dateTimeMonths[12]!=null&&this.dateTimeMonths[12].length>0){this.dateTimeMonths=null}this.handleMonths=true;this.that=e;return this},insertLongString2:function(b,d){if(b.length>0){for(var c=0;c<11;++c){var e=(this.value+c)%12+1;if(this.dateTimeMonths[e-1]==b){this.updateActiveEditor(e);d=true;return d}}}return d},insertShortString2:function(c,e){if(c.length==1){for(var d=0;d<11;++d){var f=(this.value+d)%12+1;var b=this.dateTimeMonths[f-1];if(b.substring(0,1)==c){this.updateActiveEditor(f);e=true;return e}}}return e},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.NumberEditor={};a.extend(a.jqx._jqxDateTimeInput.NumberEditor,{formatValueLength:0,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},_createNumberEditor:function(g,f,h,b,e,d,c){a.jqx._jqxDateTimeInput.NumberEditor=a.extend(true,{},this);this.initializeFields(f,h,b,e,d);this.that=c;return this},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},updateActiveEditor:function(b){this.value=b;this.positions=0},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},textValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},insert:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DisabledEditor={};a.extend(a.jqx._jqxDateTimeInput.DisabledEditor,{_create:function(g,c,f,b,e,d){this.format=g;this.value=-1;this.item=e;this.that=d;return this},textValue:function(){return""},insert:function(b){return false},deleteValue:function(){return false},increaseValue:function(){return false},decreaseValue:function(){return false},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.AmPmEditor={};a.extend(a.jqx._jqxDateTimeInput.AmPmEditor,{_createAmPmEditor:function(g,c,f,b,e,d){this.format=g;this.value=c;this.minValue=0;this.amString=f;this.pmString=b;this.item=e;this.that=d;if(f==b){this.amString="<"+f;this.pmString=">"+b}return this},textValue:function(){var b=this.amString;if(this.value!=0){b=this.pmString}if(this.format.length==1&&b.length>1){b=b.substring(0,1)}return b},insert:function(f){var d=f.toString();if(d.Length==0){return this.deleteValue()}var c=false;if(this.amString.Length>0&&this.pmString.Length>0){var g=this.amString[0];var b=d[0];var e=this.pmString[0];if(g.toString()==b.toString()){this.value=0;c=true}else{if(e.toString()==b.toString()){this.value=1;c=true}}}else{if(this.pmString.Length>0){this.value=1;c=true}else{if(this.amString.Length>0){this.value=0;c=true}}}return c},deleteValue:function(){var b=true;if(this.amString.Length==0&&this.pmString.Length!=0){if(this.value==0){return false}this.value=0}else{if(this.value==1){return false}this.value=1}return b},increaseValue:function(){this.value=1-this.value;return true},decreaseValue:function(){this.increaseValue();return true},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.getDateTime=function(c){var b={dateTime:new Date(c),daysPer4Years:1461,daysPerYear:365,daysToMonth365:{0:0,1:31,2:59,3:90,4:120,5:151,6:181,7:212,8:243,9:273,10:304,11:334,12:365},daysToMonth366:{0:0,1:31,2:60,3:91,4:121,5:152,6:182,7:213,8:244,9:274,10:305,11:335,12:366},maxValue:3155378976000000000,millisPerDay:86400000,millisPerHour:3600000,millisPerMinute:60000,millisPerSecond:1000,minTicks:0,minValue:0,ticksPerDay:864000000000,ticksPerHour:36000000000,ticksPerMillisecond:10000,ticksPerMinute:600000000,ticksPerSecond:10000000,hour:c.getHours(),minute:c.getMinutes(),day:c.getDate(),second:c.getSeconds(),month:1+c.getMonth(),year:c.getFullYear(),millisecond:c.getMilliseconds(),dayOfWeek:c.getDay(),isWeekend:function(d){if(d==undefined||d==null){d=this.dateTime}var e=d.getDay()%6==0;return e},dayOfYear:function(e){if(e==undefined||e==null){e=this.dateTime}var d=new Date(e.getFullYear(),0,1);return Math.ceil((e-d)/86400000)},_setDay:function(d){if(d==undefined||d==null){d=0}this.dateTime.setDate(d);this.day=this.dateTime.getDate()},_setMonth:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMonth(d-1);this.month=1+this.dateTime.getMonth()},_setYear:function(d){if(d==undefined||d==null){d=0}this.dateTime.setFullYear(d);this.year=this.dateTime.getFullYear()},_setHours:function(d){if(d==undefined||d==null){d=0}this.dateTime.setHours(d);this.hour=this.dateTime.getHours()},_setMinutes:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMinutes(d);this.minute=this.dateTime.getMinutes()},_setSeconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setSeconds(d);this.second=this.dateTime.getSeconds()},_setMilliseconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMilliseconds(d);this.millisecond=this.dateTime.getMilliseconds()},_addDays:function(f){var d=this.dateTime;var e=d.getDate();d.setDate(d.getDate()+f);if(e===d.getDate()){d.setHours(d.getHours()+d.getTimezoneOffset()/60)}return d},_addWeeks:function(e){var d=this.dateTime;d.setDate(d.getDate()+7*e);return d},_addMonths:function(e){var d=this.dateTime;d.setMonth(d.getMonth()+e);return d},_addYears:function(e){var d=this.dateTime;d.setFullYear(d.getFullYear()+e);return d},_addHours:function(e){var d=this.dateTime;d.setHours(d.getHours()+e);return d},_addMinutes:function(e){var d=this.dateTime;d.setMinutes(d.getMinutes()+e);return d},_addSeconds:function(e){var d=this.dateTime;d.setSeconds(d.getSeconds()+e);return d},_addMilliseconds:function(e){var d=this.dateTime;d.setMilliseconds(d.getMilliseconds()+e);return d},_isLeapYear:function(d){if((d<1)||(d>9999)){throw"invalid year"}if((d%4)!=0){return false}if((d%100)==0){return((d%400)==0)}return true},_dateToTicks:function(f,h,e){if(((f>=1)&&(f<=9999))&&((h>=1)&&(h<=12))){var d=this._isLeapYear(f)?this.daysToMonth366:this.daysToMonth365;if((e>=1)&&(e<=(d[h]-d[h-1]))){var f=f-1;var g=((((((f*365)+(f/4))-(f/100))+(f/400))+d[h-1])+e)-1;return(g*864000000000)}}},_daysInMonth:function(e,f){if((f<1)||(f>12)){throw ("Invalid month.")}var d=this._isLeapYear(e)?this.daysToMonth366:this.daysToMonth365;return(d[f]-d[f-1])},_timeToTicks:function(d,g,e){var f=((d*3600)+(g*60))+e;return(f*10000000)},_equalDate:function(d){if(this.year==d.getFullYear()&&this.day==d.getDate()&&this.month==d.getMonth()+1){return true}return false}};return b}})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxDateTimeInput","",{});a.extend(a.jqx._jqxDateTimeInput.prototype,{defineInstance:function(){var b={value:a.jqx._jqxDateTimeInput.getDateTime(new Date()),minDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),maxDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),min:new Date(1900,0,1),max:new Date(2100,0,1),rowHeaderWidth:25,enableViews:true,views:["month","year","decade"],selectableDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],change:null,changing:null,titleFormat:["MMMM yyyy","yyyy","yyyy","yyyy"],template:"default",columnHeaderHeight:20,titleHeight:30,firstDayOfWeek:0,showWeekNumbers:false,showTimeButton:false,cookies:false,cookieoptions:null,showFooter:false,formatString:"dd/MM/yyyy",width:200,height:25,dayNameFormat:"firstTwoLetters",textAlign:"left",readonly:false,culture:"default",activeEditor:null,showCalendarButton:true,openDelay:250,closeDelay:300,closeCalendarAfterSelection:true,isEditing:false,enableBrowserBoundsDetection:false,dropDownHorizontalAlignment:"left",dropDownVerticalAlignment:"bottom",enableAbsoluteSelection:false,disabled:false,buttonSize:21,animationType:"slide",dropDownWidth:"200px",restrictedDates:new Array(),dropDownHeight:"205px",dropDownContainer:"default",selectionMode:"default",renderMode:"full",rtl:false,timeRange:null,_editor:false,todayString:"Today",clearString:"Clear",popupZIndex:2000,allowNullDate:true,changeType:null,placeHolder:"",enableHover:true,hint:true,allowKeyboardDelete:true,localization:{backString:"Back",forwardString:"Forward",todayString:"Today",clearString:"Clear",calendar:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss"}}},events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","open","close","change"],aria:{"aria-valuenow":{name:"getDate",type:"date"},"aria-valuetext":{name:"getText",type:"string"},"aria-valuemin":{name:"min",type:"date"},"aria-valuemax":{name:"max",type:"date"},"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxDateTimeInput.prototype){return b}a.extend(true,this,b);this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0);this.minDate._setYear(1900);this.minDate._setMonth(1);this.minDate._setDay(1);this.minDate._setHours(1);this.minDate._setMinutes(1);this.minDate._setSeconds(1);this.minDate._setMilliseconds(1);this.maxDate._setYear(2100);this.maxDate._setMonth(1);this.maxDate._setDay(1);this.maxDate._setHours(1);this.maxDate._setMinutes(1);this.maxDate._setSeconds(1);this.maxDate._setMilliseconds(1);this.defaultMinDate=this.minDate;this.defaultMaxDate=this.maxDate;return b},createInstance:function(d){var l="";var k=this;if(!k.host.jqxCalendar){throw new Error("jqxDateTimeInput: Missing reference to jqxcalendar.js.")}if(k.formatString!="dd/MM/yyyy"){var g=k.formatString.split(" ");if(g&&g.length>1){var c="";for(var q=0;q<g.length;q++){if(g[q].length=="1"){c+=k._getFormatValue(g[q])}else{c+=g[q]}if(q<g.length-1){c+=" "}}k.formatString=c}}if(k.element.nodeName.toLowerCase()=="input"){var m=k.element.getAttribute("type");if(m){if(k.formatString=="dd/MM/yyyy"){if(m=="date"){k.formatString="d"}if(m=="datetime"){var h=k._getFormatValue("d")+" "+k._getFormatValue("t");k.formatString=h;k.showTimeButton=true}if(m=="time"){k.formatString="t";k.showTimeButton=true;k.showCalendarButton=false}}}k.field=k.element;if(k.field.getAttribute("min")){var n=new Date(k.field.getAttribute("min"));if(k._isValidDate(n)){k.min=n}}if(k.field.getAttribute("max")){var p=new Date(k.field.getAttribute("max"));if(k._isValidDate(p)){k.max=p}}if(k.field.className){k._className=k.field.className}var j={title:k.field.title};if(k.field.value){j.value=k.field.value}if(k.field.id.length){j.id=k.field.id.replace(/[^\w]/g,"_")+"_jqxDateTimeInput"}else{j.id=a.jqx.utilities.createId()+"_jqxDateTimeInput"}var f=a("<div></div>",j);f[0].style.cssText=k.field.style.cssText;if(!k.width){k.width=a(k.field).width()}if(!k.height){k.height=a(k.field).outerHeight()}a(k.field).hide().after(f);var u=k.host.data();k.host=f;k.host.data(u);k.element=f[0];k.element.id=k.field.id;k.field.id=j.id;if(k._className){k.host.addClass(k._className);a(k.field).removeClass(k._className)}if(k.field.tabIndex){var e=k.field.tabIndex;k.field.tabIndex=-1;k.element.tabIndex=e}}if(k.host.attr("value")){l=true;var v=k.host.attr("value");if(k.selectionMode!="range"){var r=new Date(v);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}if(k.value!=null&&k.value instanceof Date){k.value=a.jqx._jqxDateTimeInput.getDateTime(k.value)}else{if(k.value!=null&&typeof(k.value)=="string"){var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}else{if(k.value.indexOf(",")>=0){k.value=k.value.replace(/\,/g,"/");var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}}}this._initTimeRange();this._validateTimeRange();k.host.attr("data-role","input");k.render();a.jqx.aria(this);if(k.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+k.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}if(k.minDate!==k.defaultMinDate){k.min=k.minDate}if(k.maxDate!==k.defaultMaxDate){k.max=k.maxDate}k.setMaxDate(k.max,false);k.setMinDate(k.min,false);if(k.selectionMode!=="range"&&k.value&&k.value.dateTime&&k.min&&k.max&&(k.value.dateTime<k.min||k.value.dateTime>k.max)){if(k.value.dateTime<k.min){k.value.dateTime=k.min}if(k.value.dateTime>k.max){k.value.dateTime=k.max}k._updateText()}if(k.selectionMode=="range"){if(l){var v=k.host.attr("value");var t=v.substring(0,v.indexOf("-"));var s=v.substring(v.indexOf("-")+1);var o=new Date(t);var b=new Date(s);if(o!=undefined&&!isNaN(o)){if(b!=undefined&&!isNaN(b)){k.setRange(o,b)}}}else{if(k.getDate()!=null){k.setRange(k.getDate(),k.getDate())}}}},_validateTimeRange:function(){if(this.timeRange){var b=this.value.dateTime.getHours();var c=this.value.dateTime.getMinutes();if(b<=this.timeRange.minHour){this.value._setHours(this.timeRange.minHour);if(c<this.timeRange.minMinute){this.value._setMinutes(this.timeRange.minMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}if(b>=this.timeRange.maxHour){this.value._setHours(this.timeRange.maxHour);if(c>this.timeRange.maxMinute){this.value._setMinutes(this.timeRange.maxMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}}},_initTimeRange:function(){if(this.timeRange){if(this.timeRange.min){var c=null;if(this.timeRange.min.indexOf("AM")>=0||this.timeRange.min.indexOf("PM")>=0){c=this.timeRange.min.indexOf("AM")>=0?"AM":"PM"}var d=this.timeRange.min.split(":");var b=parseInt(d[0]);var f=parseInt(d[1]);if(c){this.timeRange.minDefaultHour=b;this.timeRange.minMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.minHour=b;this.timeRange.minMinute=f}if(this.timeRange.max){var c=null;if(this.timeRange.max.indexOf("AM")>=0||this.timeRange.max.indexOf("PM")>=0){c=this.timeRange.max.indexOf("AM")>=0?"AM":"PM"}var e=this.timeRange.max.split(":");var b=parseInt(e[0]);var f=parseInt(e[1]);if(c){this.timeRange.maxDefaultHour=b;this.timeRange.maxMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.maxHour=b;this.timeRange.maxMinute=f}}},_format:function(d,e,b){var f=false;try{if(window.Globalize!=undefined){f=true}if(document.Globalize){window.Globalize=document.Globalize;f=true}}catch(c){if(document.Globalize){window.Globalize=document.Globalize;f=true}}if(document.Globalize){window.Globalize=document.Globalize;f=true}if(a.global){return a.global.format(d,e,this.culture)}else{if(f){try{var e=window.Globalize.format(d,e,this.culture);return e}catch(c){return window.Globalize.format(d,e)}}else{if(a.jqx.dataFormat){if(d instanceof Date){return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}else{if(typeof d==="number"){return a.jqx.dataFormat.formatnumber(d,e,this.localization.calendar)}else{return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}}}else{throw new Error("jqxDateTimeInput: Missing reference to globalize.js.")}}}},render:function(){var k=this;k._removeHandlers();k.element.innerHTML="";k.host.attr({role:"textbox"});k.id=a.jqx.utilities.createId();var f=a.jqx.utilities.createId();var j=a.jqx.utilities.createId();k._setSize();if(k.width==null){k.width=k.host.width();k.host.width(k.width)}k.touch=a.jqx.mobile.isTouchDevice();var c=a("<div class='jqx-max-size jqx-position-relative'></div>").appendTo(k.host);k.dateTimeInput=a("<input style='border: none; padding-left: 3px; padding-right: 3px;' class='jqx-position-absolute' id='input"+k.element.id+"' autocomplete='off' type='textarea'/>").appendTo(c);k.dateTimeInput.addClass(k.toThemeProperty("jqx-reset"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-clear"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-widget-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-rc-all"));if(!k.isMaterialized()){k.dateTimeInput.attr("placeHolder",k.placeHolder)}if(k.renderMode!="full"){k.dateTimeInput.remove()}var d=k.host.attr("name");if(d){k.dateTimeInput.attr("name",d)}if(k.host.attr("tabindex")){k.dateTimeInput.attr("tabindex",k.host.attr("tabindex"));k.host.removeAttr("tabindex")}if(k.rtl){k.dateTimeInput.css("direction","rtl");k.dateTimeInput.addClass("jqx-rtl")}k.calendarButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.calendarButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.calendarButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.calendarButtonIcon=a(k.calendarButton.children()[0]);k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon-calendar"));k.calendarButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){if(!k.showTimeButton){k.calendarButton.addClass(k.toThemeProperty("jqx-rc-r"))}}else{k.calendarButton.addClass(k.toThemeProperty("jqx-rc-l"))}k.timeButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.timeButtonIcon=a(k.timeButton.children()[0]);k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon-time"));k.timeButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-rc-r"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-rc-l"))}var m=this;k._arrange();if(a.jqx._jqxCalendar!=null&&a.jqx._jqxCalendar!=undefined){try{var i="calendar"+k.id;var h=a(a.find("#"+i));if(h.length>0){h.remove()}a.jqx.aria(this,"aria-owns",i);a.jqx.aria(this,"aria-haspopup",true);a.jqx.aria(this,"aria-readonly",k.selectionMode=="range"?true:false);var b=a("<div style='overflow: hidden; background: transparent; position: absolute;' id='calendar"+k.id+"'><div id='innerCalendar"+k.id+"'></div><div id='innerTime"+k.id+"'></div></div>");if(a.jqx.utilities.getBrowser().browser=="opera"){b.hide()}if(k.dropDownContainer=="element"){b.appendTo(k.host)}else{b.appendTo(document.body)}k.container=b;k.calendarContainer=a(a.find("#innerCalendar"+k.id)).jqxCalendar({titleFormat:this.titleFormat,restrictedDates:this.restrictedDates,changing:k.changing,change:k.change,enableViews:k.enableViews,selectableDays:k.selectableDays,views:k.views,rowHeaderWidth:k.rowHeaderWidth,titleHeight:k.titleHeight,columnHeaderHeight:k.columnHeaderHeight,_checkForHiddenParent:false,enableAutoNavigation:false,canRender:false,localization:k.localization,todayString:k.todayString,clearString:k.clearString,dayNameFormat:k.dayNameFormat,rtl:k.rtl,culture:k.culture,showFooter:k.showFooter,selectionMode:k.selectionMode,firstDayOfWeek:k.firstDayOfWeek,showWeekNumbers:k.showWeekNumbers,width:k.dropDownWidth,height:k.dropDownHeight,theme:k.theme});if(k.dropDownContainer=="element"){k.calendarContainer.css({position:"absolute",top:0,left:0})}else{k.calendarContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0})}k.calendarContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.calendarContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k.timeContainer=a(a.find("#innerTime"+k.id));k.timeContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0});k.timeContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.timeContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k._calendar=a.data(k.calendarContainer[0],"jqxCalendar").instance;var m=this;k._calendar.today=function(){m.today()};k._calendar.clear=function(){m.clear()};if(a.jqx.utilities.getBrowser().browser=="opera"){b.show()}b.height(parseInt(k.calendarContainer.height())+25);b.width(parseInt(k.calendarContainer.width())+25);if(k.selectionMode=="range"){k.readonly=true}if(k.animationType=="none"){k.container.css("display","none")}else{k.container.hide()}}catch(l){}}if(a.global){a.global.preferCulture(k.culture)}k.selectedText="";k._addHandlers();k.self=this;k.oldValue=k.getDate();k.items=new Array();k.editors=new Array();k._loadItems();k.editorText="";if(k.readonly==true){k.dateTimeInput.css("readonly",k.readonly)}k.dateTimeInput.css("text-align",k.textAlign);k.host.addClass(k.toThemeProperty("jqx-widget"));k.host.addClass(k.toThemeProperty("jqx-datetimeinput"));k.host.addClass(k.toThemeProperty("jqx-input"));k.host.addClass(k.toThemeProperty("jqx-overflow-hidden"));k.host.addClass(k.toThemeProperty("jqx-rc-all"));k.host.addClass(k.toThemeProperty("jqx-reset"));k.host.addClass(k.toThemeProperty("jqx-clear"));k.host.addClass(k.toThemeProperty("jqx-widget-content"));k.propertyChangeMap.disabled=function(e,p,o,q){if(q){e.host.addClass(m.toThemeProperty("jqx-input-disabled"));e.host.addClass(m.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(m.toThemeProperty("jqx-fill-state-disabled"));e.host.removeClass(m.toThemeProperty("jqx-input-disabled"))}a.jqx.aria(e,"aria-disabled",q)};if(k.disabled){k.host.addClass(k.toThemeProperty("jqx-input-disabled"));k.host.addClass(k.toThemeProperty("jqx-fill-state-disabled"));k.dateTimeInput.attr("disabled",true)}if(k.host.parents("form").length>0){k.addHandler(k.host.parents("form"),"reset",function(){setTimeout(function(){m.setDate(new Date())},10)})}if(k.cookies){var g=a.jqx.cookie.cookie("jqxDateTimeInput"+k.element.id);if(g!=null){k.setDate(new Date(g))}}if(a.jqx.browser.msie&&a.jqx.browser.version<8){if(k.host.parents(".jqx-window").length>0){var n=k.host.parents(".jqx-window").css("z-index");k.container.css("z-index",n+10);k.calendarContainer.css("z-index",n+10)}}if(k.culture!="default"){k._applyCulture()}if(k.value){if(k.calendarContainer.jqxCalendar("_isDisabled",k.value.dateTime)){k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-invalid"))}else{k.dateTimeInput.removeClass(k.toThemeProperty("jqx-input-invalid"))}}this._addBarAndLabel(this.dateTimeInput);this._updateHint(true);if(k.template){k.bar.addClass(k.toThemeProperty("jqx-"+k.template));k.label.addClass(k.toThemeProperty("jqx-"+k.template));k.timeButton.addClass(k.toThemeProperty("jqx-"+k.template));k.calendarButton.addClass(k.toThemeProperty("jqx-"+k.template))}this._setSize();this._arrange()},val:function(c){var b=this;if(arguments.length!=0){if(c==null){b.setDate(null)}if(b.selectionMode=="range"){b.setRange(arguments[0],arguments[1]);return b.getText()}if(c instanceof Date){b.setDate(c)}if(typeof(c)=="string"){if(c=="date"){return b.getDate()}b.setDate(c)}if(b._calendar.getDate()!=b.getDate()){b._calendar.setDate(b.getDate())}}return b.getText()},_setSize:function(){var b=window.getComputedStyle(this.element);var c=parseInt(b.borderLeftWidth)*2;var h=b.boxSizing;if(this.element.offsetWidth===0){c=2}if(h==="border-box"||isNaN(c)){c=0}if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.element.style.width=parseInt(this.width)-c+"px"}else{if(this.width!=undefined&&!isNaN(this.width)){this.element.style.width=parseInt(this.width)-c+"px"}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.element.style.height=parseInt(this.height)-c+"px"}else{if(this.height!=undefined&&!isNaN(this.height)){this.element.style.height=parseInt(this.height)-c+"px"}}var g=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){g=true;this.host.width(this.width);if(c>0){this.host.css("box-sizing","border-box")}}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){g=true;this.host.height(this.height)}var e=this;var f=function(){if(e.calendarContainer){e._arrange()}};if(g){if(this.calendarContainer){this._arrange();var d=this.host.width();if(this.dropDownWidth!="auto"){d=this.dropDownWidth}this.calendarContainer.jqxCalendar({width:d});this.container.width(parseInt(d)+25)}}a.jqx.utilities.resize(this.host,function(){f()})},_arrange:function(){if(this.height==null){this.height=27;this.host.height(27)}var e=parseInt(this.host.width());var m=parseInt(this.host.height());var i=window.getComputedStyle(this.element);var g=parseInt(i.borderLeftWidth)*2;var f=i.boxSizing;if(f==="border-box"||isNaN(g)){g=0}var k=this.buttonSize;var h=2;if(!this.showCalendarButton&&!this.showTimeButton){k=0;var l=0;this.calendarButton.hide();h=0}if(!this.showCalendarButton){this.calendarButton.hide()}else{this.calendarButton.show()}if(!this.showTimeButton){this.timeButton.hide()}else{this.timeButton.show()}var b=e-k-1*h;if(this.showTimeButton&&this.showCalendarButton){var b=e-2*k-1*h}else{if(this.showTimeButton||this.showCalendarButton){var b=e-k-1*h}}if(b>0){this.dateTimeInput[0].style.width=b+"px"}if(this.rtl){this.dateTimeInput[0].style.width=(-1+b+"px")}this.dateTimeInput[0].style.left="0px";this.dateTimeInput[0].style.top="0px";this.calendarButton[0].style.width=k+1+"px";this.calendarButton[0].style.left=1+b+"px";this.timeButton[0].style.width=k+1+"px";if(this.showCalendarButton){this.timeButton[0].style.left=1+this.calendarButton.width()+b+"px"}else{this.timeButton[0].style.left=1+b+"px"}if(this.renderMode!="full"){this.calendarButton[0].style.width="100%";this.calendarButton[0].style.left="0px";this.calendarButton.css("border","none");this.timeButton[0].style.width="100%";this.timeButton[0].style.left="0px";this.timeButton.css("border","none")}var d=this.dateTimeInput.height();if(d==0&&this.renderMode!="full"){d=parseInt(this.dateTimeInput.css("font-size"))+3;this.calendarButton.addClass(this.toThemeProperty("jqx-rc-all"));this.timeButton.addClass(this.toThemeProperty("jqx-rc-all"))}else{d=17}if(this.dateTimeInput[0].className.indexOf("jqx-rc-all")==-1){this.dateTimeInput.addClass(this.toThemeProperty("jqx-rc-all"))}var j=parseInt(m)/2-parseInt(d)/2;if(j>0){var n=this.dateTimeInput.css("font-size");if(""==n){n=13}var j=m-2-parseInt(n)-2;if(isNaN(j)){j=0}if(j<0){j=0}var c=j/2;if(a.jqx.browser.msie&&a.jqx.browser.version<8){c=j/4}this.dateTimeInput[0].style.paddingTop=Math.round(c)+"px";this.dateTimeInput[0].style.paddingBottom=Math.round(c)+"px"}if(this.rtl){this.calendarButton[0].style.width=k+"px";this.timeButton[0].style.width=k+"px";this.calendarButton.css("left","0px");if(this.showCalendarButton){this.timeButton.css("left",k+"px")}else{this.timeButton.css("left","0px")}this.dateTimeInput.css("left",this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",this.timeButton.width()+this.calendarButton.width())}if(a.jqx.browser.msie&&a.jqx.browser.version<=8){this.dateTimeInput.css("left",1+this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",1+this.timeButton.width()+this.calendarButton.width())}}}},_removeHandlers:function(){var b=this;this.removeHandler(a(document),"mousedown."+this.id);if(this.dateTimeInput){this.removeHandler(this.dateTimeInput,"keydown."+this.id);this.removeHandler(this.dateTimeInput,"blur");this.removeHandler(this.dateTimeInput,"focus");this.removeHandler(this.host,"focus");this.removeHandler(this.dateTimeInput,"mousedown");this.removeHandler(this.dateTimeInput,"mouseup");this.removeHandler(this.dateTimeInput,"keydown");this.removeHandler(this.dateTimeInput,"keyup");this.removeHandler(this.dateTimeInput,"keypress")}if(this.calendarButton!=null){this.removeHandler(this.calendarButton,"mousedown")}if(this.timeButton!=null){this.removeHandler(this.timeButton,"mousedown")}if(this.calendarContainer!=null){this.removeHandler(this.calendarContainer,"cellSelected");this.removeHandler(this.calendarContainer,"cellMouseDown")}this.removeHandler(a(window),"resize."+this.id)},isOpened:function(){var c=this;var b=a.data(document.body,"openedJQXCalendar"+this.id);if(b!=null&&b==c.calendarContainer){return true}return false},wheel:function(d,c){if(!c.isEditing){return}c.changeType="mouse";var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(!b){if(d.preventDefault){d.preventDefault()}d.returnValue=false;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(b){if(b<0){this.spinDown()}else{this.spinUp()}return false},focus:function(){try{var c=this;c._firstFocusDate=c.getDate();this._setSelectionStart(0);this._selectGroup(-1);this.dateTimeInput.focus();setTimeout(function(){c._setSelectionStart(0);c._selectGroup(-1);c.dateTimeInput.focus()},25)}catch(b){}},_addHandlers:function(){var e=this.element.id;var c=this.element;var d=this;if(this.host.parents()){this.addHandler(this.host.parents(),"scroll.datetimeinput"+this.element.id,function(f){var g=d.isOpened();if(g){d.close()}})}this.addHandler(this.host,"mouseenter",function(){if(!d.disabled&&d.enableHover){var f=true;d.calendarButtonIcon.addClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.addClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.addClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mouseleave",function(){if(!d.disabled&&d.enableHover){d.calendarButtonIcon.removeClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.removeClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mousewheel",function(f){d.wheel(f,d)});this.addHandler(a(document),"mousedown."+this.id,this._closeOpenedCalendar,{me:this});if(a.jqx.mobile.isTouchDevice()){this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id,this._closeOpenedCalendar,{me:this})}this.addHandler(this.dateTimeInput,"keydown."+this.id,function(h){var g=a.data(document.body,"openedJQXCalendar"+d.id);if(g!=null&&g==d.calendarContainer){var f=d.handleCalendarKey(h,d);return f}});if(this.calendarContainer!=null){this.addHandler(this.calendarContainer,"keydown",function(f){if(f.keyCode==13){if(d.isOpened()){if(!d._calendar._viewAnimating&&d._calendar.view=="month"){d.hideCalendar("selected","keyboard");d.dateTimeInput.focus();return false}}return true}else{if(f.keyCode==9){if(d.isOpened()){d.hideCalendar("selected","keyboard");return true}}else{if(f.keyCode==27){if(d.isOpened()){d.hideCalendar(null,"keyboard");d.dateTimeInput.focus();return false}return true}}}d.timePopup=false;if(f.keyCode==84){d.timePopup=true}if(f.keyCode==115){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}else{if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}if(f.altKey){if(f.keyCode==38){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}else{if(f.keyCode==40){if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}}});this.addHandler(this.calendarContainer,"cellSelected",function(g){if(d.closeCalendarAfterSelection){var f=a.data(document.body,"openedJQXCalendarValue");if(g.args.selectionType=="mouse"){if(d.selectionMode!="range"){d.hideCalendar("selected","mouse")}else{if(d._calendar._clicks==0){d.hideCalendar("selected","mouse")}}}}});this.addHandler(this.calendarContainer,"cellMouseDown",function(f){if(d.closeCalendarAfterSelection){if(d._calendar.value){a.data(document.body,"openedJQXCalendarValue",new a.jqx._jqxDateTimeInput.getDateTime(d._calendar.value.dateTime))}}})}this.addHandler(this.dateTimeInput,"blur",function(h){d.bar.removeClass("focused");d.label.removeClass("focused");if(d.value!=null){d.isEditing=false;var g=d.value.dateTime.getDay();var f=d._oldDT;d._validateValue(true);if(h.stopPropagation){h.stopPropagation()}d._updateText();d._raiseEvent(9,h)}if(!d.isOpened()){d.host.removeClass(d.toThemeProperty("jqx-fill-state-focus"))}});this.addHandler(this.host,"focus",function(f){d.focus()});this.addHandler(this.dateTimeInput,"focus",function(f){d._firstFocusDate=d.getDate();if(d.value!=null){if(d.selectionMode!="range"){d._oldDT=new Date(d.value.dateTime)}else{d._oldDT=d.getRange()}setTimeout(function(){var g=d._selection();d.isEditing=true;d._validateValue();d._updateText();d._setSelectionStart(0);d._selectGroup(-1,g);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))})}else{d._setSelectionStart(0);d._selectGroup(-1);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))}if(f.stopPropagation){f.stopPropagation()}d.bar.addClass("focused");d.label.addClass("focused");if(f.preventDefault){f.preventDefault();return false}});var b="mousedown";if(this.touch){b=a.jqx.mobile.getTouchEventName("touchstart")}this.addHandler(this.calendarButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=false;d.calendarPopup=true;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar();return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.timeButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=true;d.calendarPopup=false;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar("mouse","mouse");return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.dateTimeInput,"mousedown",function(f){return d._raiseEvent(2,f)});this.addHandler(this.dateTimeInput,"mouseup",function(f){return d._raiseEvent(3,f)});this.addHandler(this.dateTimeInput,"keydown",function(f){return d._raiseEvent(4,f)});this.addHandler(this.dateTimeInput,"keyup",function(f){return d._raiseEvent(5,f)});this.addHandler(this.dateTimeInput,"keypress",function(f){return d._raiseEvent(6,f)})},createID:function(){var b=Math.random()+"";b=b.replace(".","");b="99"+b;b=b/1;return"dateTimeInput"+b},setMaxDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.maxDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMaxDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()>b){this.setDate(b)}a.jqx.aria(this,"aria-valuemax",b);this._refreshValue();this._updateText()}},getMaxDate:function(){if(this.maxDate!=null&&this.maxDate!=undefined){return this.maxDate.dateTime}return null},setMinDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.minDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMinDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()<b){this.setDate(b)}a.jqx.aria(this,"aria-valuemin",b);this._refreshValue();this._updateText()}},getMinDate:function(){if(this.minDate!=null&&this.minDate!=undefined){return this.minDate.dateTime}return null},_applyCulture:function(){var d=false;try{if(window.Globalize!=undefined){d=true}}catch(c){}try{if(a.global){a.global.preferCulture(this.culture);this.localization.calendar=a.global.culture.calendar}else{if(d){var b=Globalize.culture(this.culture);this.localization.calendar=b.calendar}}this._loadItems();if(this._calendar!=null){this._calendar.culture=this.culture;this._calendar.localization=this.localization;this._calendar.render()}}catch(c){}},propertyMap:function(b){if(b=="value"){if(this.selectionMode!="range"){return this.getDate()}else{return this.getRange()}}return null},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.refresh();d.close()}},propertyChangedHandler:function(c,d,f,e){if(c.isInitialized==undefined||c.isInitialized==false){return}if(c.batchUpdate&&c.batchUpdate.width&&c.batchUpdate.height&&Object.keys(c.batchUpdate).length==2){return}if(d=="dropDownVerticalAlignment"){c.close()}if(d=="template"){c.bar.removeClass(c.toThemeProperty("jqx-"+f));c.label.removeClass(c.toThemeProperty("jqx-"+f));c.timeButton.removeClass(c.toThemeProperty("jqx-"+f));c.calendarButton.removeClass(c.toThemeProperty("jqx-"+f));c.bar.addClass(c.toThemeProperty("jqx-"+c.template));c.label.addClass(c.toThemeProperty("jqx-"+c.template));c.timeButton.addClass(c.toThemeProperty("jqx-"+c.template));c.calendarButton.addClass(c.toThemeProperty("jqx-"+c.template))}if(d=="restrictedDates"){c.calendarContainer.css({restrictedDates:e})}if(d=="popupZIndex"){c.calendarContainer.css({zIndex:e})}if(d=="showCalendarButton"){c._arrange()}if(d=="showTimeButton"){c._arrange();if(c.timePopupElement){c.timePopupElement.remove();c.timePopupElement=null}}if(d=="selectionMode"){c._calendar.selectionMode=e;c.refreshValue()}if(d=="min"){if(typeof(e)=="string"){c.setMinDate(new Date(e))}else{c.setMinDate(e)}}if(d=="max"){if(typeof(e)=="string"){c.setMaxDate(new Date(e))}else{c.setMaxDate(e)}}if(d=="value"){if(e!=null&&e instanceof Date){if(isNaN(e.getFullYear())||isNaN(e.getMonth())||isNaN(e.getDate())){this.value=f;return}e=a.jqx._jqxDateTimeInput.getDateTime(e)}else{if(e!=null&&typeof(e)=="string"){var b=new Date(e);if(b!=undefined&&!isNaN(b)){this.value=a.jqx._jqxDateTimeInput.getDateTime(b)}}}}if(d=="views"){c.calendarContainer.jqxCalendar({views:e})}if(d=="enableViews"){c.calendarContainer.jqxCalendar({enableViews:e})}if(d=="selectableDays"){c.calendarContainer.jqxCalendar({selectableDays:e})}if(d=="showFooter"){c.calendarContainer.jqxCalendar({showFooter:e})}if(d=="rtl"){c.calendarContainer.jqxCalendar({rtl:e});if(e){c.dateTimeInput.css("direction","rtl");c.dateTimeInput.addClass("jqx-rtl")}else{c.dateTimeInput.css("direction","ltr");c.dateTimeInput.removeClass("jqx-rtl")}}if(d=="todayString"||d=="clearString"){c.calendarContainer.jqxCalendar({clearString:c.clearString,todayString:c.todayString})}if(d=="dayNameFormat"){c.calendarContainer.jqxCalendar({dayNameFormat:e})}if(d=="firstDayOfWeek"){c.calendarContainer.jqxCalendar({firstDayOfWeek:e})}if(d=="showWeekNumbers"){c.calendarContainer.jqxCalendar({showWeekNumbers:e})}if(d=="culture"||d=="localization"){c._applyCulture()}else{if(d=="formatString"){c.items=new Array();c._loadItems()}}if(d=="theme"){a.jqx.utilities.setTheme(f,e,c.host);c.calendarContainer.jqxCalendar({theme:e})}if(d=="width"||d=="height"){c.close();c.refresh();return}c._setOption(d,e,f);if(d=="dropDownWidth"||d=="dropDownHeight"){c.calendarContainer.jqxCalendar({width:c.dropDownWidth,height:c.dropDownHeight});c._calendar.render();c.container.height(c.calendarContainer.height());c.container.width(c.calendarContainer.width())}},clear:function(){if(this.allowNullDate){if(this.selectionMode!="range"){this.setDate(null)}else{this._calendar._clicks=1;this.setRange(null,null)}this._calendar._clicks=0}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this._calendar._clicks=1;this.setRange(this.getMinDate(),this.getMinDate());this._calendar._clicks=0}}this.hideCalendar()},today:function(){var c=new Date();c.setHours(0,0,0,0);if(this.selectionMode!="range"){this.setDate(c)}else{this._calendar._clicks=0;var b=new Date();b.setHours(23,59,59,0);this.setRange(c,b);this._calendar._clicks=0}this.hideCalendar()},_isValidDate:function(b){if(b==null){return true}if(typeof(b)!=="object"){return false}if(b!==null&&b.getFullYear){return true}if(b=="Invalid Date"||b.valueOf()<0||isNaN(b.valueOf())){return false}return true},setDate:function(d){var e=this.getDate();if(d!=null&&typeof(d)=="string"){var f=d;if(d.toString().indexOf(",")>=0){d=d.replace(/\,/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}}if(d.toString().indexOf("-")>=0){d=d.replace(/\-/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}if(d.getFullYear&&isNaN(d.getFullYear)){d=f}}if(d!=""){var c=d;if(window.Globalize!=undefined){d=window.Globalize.parseDate(c,this.formatString,this.culture)}else{if(a.jqx.dataFormat){d=a.jqx.dataFormat.parsedate(c,this.formatString,this.localization.calendar)}else{d=new Date(d)}}if(d===null&&c!==null){if(this._isValidDate(c)){d=c}}if(!this._isValidDate(d)){return}}}if(d==null||d=="null"||d=="undefined"){if(!this.allowNullDate){d=this.min}}if(!this._isValidDate(d)){d=null}if(d==null||d=="null"||d=="undefined"||d===""){if(this.value!=null){this.value=null;this._calendar.setDate(null);this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}this._setSelectionStart(0);this._selectGroup(-1);this._raiseEvent("0",d,e);this._raiseEvent("9",d,e)}return}if(d<this.getMinDate()||d>this.getMaxDate()){return}if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}if(d.getFullYear){this.value._setYear(d.getFullYear());this.value._setDay(1);this.value._setMonth(d.getMonth()+1);this.value._setHours(d.getHours());this.value._setMinutes(d.getMinutes());this.value._setSeconds(d.getSeconds());this.value._setMilliseconds(d.getMilliseconds());this.value._setDay(d.getDate())}this._validateTimeRange();this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}var b=this.getDate();var g=(b-e);if(g!=0){this._raiseEvent("0",d,e);this._raiseEvent("9",d,e);return true}},getDate:function(){if(this.value==undefined){return null}return new Date(this.value.dateTime)},getText:function(){return this.dateTimeInput.val()},setRange:function(d,c){if(typeof(d)=="object"&&!this._isValidDate(d)){d=null}if(typeof(c)=="object"&&!this._isValidDate(c)){c=null}if(d!=null&&typeof(d)=="string"){d=new Date(d);if(!this._isValidDate(d)){return}}if(c!=null&&typeof(c)=="string"){c=new Date(c);if(!this._isValidDate(c)){return}}if(d&&isNaN(d)&&d.toString()=="NaN"&&typeof(d)!="string"){return}if(c&&isNaN(c)&&c.toString()=="NaN"&&typeof(c)!="string"){return}this._calendar.setRange(d,c);if(c&&d&&(c.valueOf()!=d.valueOf())){this._range={from:d,to:c}}else{this._range=this._calendar.getRange()}var b=d;if(b!=null&&b.getFullYear){if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}this.value._setYear(b.getFullYear());this.value._setMonth(b.getMonth()+1);this.value._setHours(b.getHours());this.value._setMinutes(b.getMinutes());this.value._setSeconds(b.getSeconds());this.value._setMilliseconds(b.getMilliseconds());this.value._setDay(b.getDate())}this._refreshValue();if(this.value){this._raiseEvent("0",this.value.dateTime)}else{this._raiseEvent("0",null)}},getRange:function(){var b=this._calendar.getRange();if(this._range){var d=this._range.from;var c=this._range.to;if(c&&d&&(c.valueOf()!=d.valueOf())){if(b.from){b.from.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds())}if(b.to){b.to.setHours(c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds())}}}return b},_validateValue:function(e){var b=false;for(var d=0;d<this.items.length;d++){var c=this.editors[d].value;switch(this.items[d].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>999){c=999}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(this.editors[d].value!=c){this.editors[d].value=c;b=true}}this.updateValue(e);if(this.value!=null&&e===true){if(this.value.dateTime>this.maxDate.dateTime){this._internalSetValue(this.maxDate);this._updateEditorsValue()}else{if(this.value.dateTime<this.minDate.dateTime){this._internalSetValue(this.minDate);this._updateEditorsValue()}}this._updateText()}},spinUp:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.increaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},spinDown:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.decreaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},_passKeyToCalendar:function(c){if(c.keyCode==13||c.keyCode==9){this.hideCalendar("selected","keyboard");return true}else{if(c.keyCode==27){var e=this.calendarContainer;var d=this._calendar;var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;d.setDate(this.value.dateTime);this.closeCalendarAfterSelection=f;this.hideCalendar()}}var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;var b=this._calendar._handleKey(c);this.closeCalendarAfterSelection=f;return b},handleCalendarKey:function(f,e){var c=a(f.target);var d=a.data(document.body,"openedJQXCalendar"+this.id);if(d!=null){if(d.length>0){var b=e._passKeyToCalendar(f);return b}}return true},_findPos:function(c){if(c==null){return}while(c&&(c.type=="hidden"||c.nodeType!=1||a.expr.filters.hidden(c))){c=c.nextSibling}var b=a(c).coord(true);return[b.left,b.top]},testOffset:function(h,f,c){var g=h.outerWidth();var j=h.outerHeight();var i=a(window).width()+a(window).scrollLeft();var e=a(window).height()+a(window).scrollTop();if(f.left+g>i){if(g>this.host.width()){var d=this.host.coord().left;var b=g-this.host.width();f.left=d-b+2}}if(f.left<0){f.left=parseInt(this.host.coord().left)+"px"}f.top-=Math.min(f.top,(f.top+j>e&&e>j)?Math.abs(j+c+23):0);return f},open:function(b){if(b=="time"){this.timePopup=true}else{this.timePopup=false}this.showCalendar()},close:function(b){this.hideCalendar()},_getBodyOffset:function(){var c=0;var b=0;if(a("body").css("border-top-width")!="0px"){c=parseInt(a("body").css("border-top-width"));if(isNaN(c)){c=0}}if(a("body").css("border-left-width")!="0px"){b=parseInt(a("body").css("border-left-width"));if(isNaN(b)){b=0}}return{left:b,top:c}},initTimePopup:function(){this.timePopupElement=a("<div style='border-style: solid; border-width: 0px;'></div>").appendTo(this.timeContainer);this.timePopupElement.addClass(this.toThemeProperty("jqx-widget-content jqx-widget jqx-date-time-input-popup"));var s="";s+="<table><tbody><tr><td><a class='increment-hour-column' href='javascript:;' data-action='incrementHour'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-minute-column' href='javascript:;' data-action='incrementMinute'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-second-column' href='javascript:;' data-action='incrementSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-millisecond-column' href='javascript:;' data-action='incrementMSSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td class='increment-meridian-column'><a href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-up'></div></a></td></tr><tr><td><input type='text' class='jqx-timepicker-hour' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-minute' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-second' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-millisecond' maxlength='3'></td><td class='separator'>&nbsp;</td><td><input type='text' class='jqx-timepicker-meridian' maxlength='2'></td></tr><tr><td><a class='decrement-hour-column' href='javascript:;' data-action='decrementHour'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-minute-column' href='javascript:;' data-action='decrementMinute'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-second-column' href='javascript:;' data-action='decrementSecond'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-millisecond-column' href='javascript:;' data-action='decrementMillisecond'><div class='jqx-icon-down'></div></a></td><td class='separator'>&nbsp;</td><td><a class='decrement-meridian-column' href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-down'></div></a></td></tr></tbody></table>";var l=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){this.timePopupElement[0].innerHTML=s}else{this.timePopupElement[0].innerHTML="<table><tr><td>"+s+"</td><td>-</td><td>"+s+"</td></tr></table>"}this.timePopupElement.find(".jqx-icon-down").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-down"));this.timePopupElement.find(".jqx-icon-up").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-up"));var g=this.timePopupElement.find("input");g.addClass(this.toThemeProperty("jqx-input"));g.addClass(this.toThemeProperty("jqx-rc-all"));this.addHandler(g,"mousedown",function(u){u.stopPropagation()});var e=function(u){if(u.target.className.indexOf("hour")>=0){m._decrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._decrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._decrementMeridian(a(u.target))}};var k=function(u){if(u.target.className.indexOf("hour")>=0){m._incrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._incrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._incrementMeridian(a(u.target))}};var r=function(v,u){if(!u.isEditing){return}var w=0;if(!v){v=window.event}if(v.originalEvent&&v.originalEvent.wheelDelta){v.wheelDelta=v.originalEvent.wheelDelta}if(v.originalEvent&&v.originalEvent.deltaY!=undefined){w=-v.originalEvent.deltaY}if(v.wheelDelta){w=v.wheelDelta/120}else{if(v.detail){w=-v.detail/3}}if(w){if(document.activeElement==v.target&&v.target.nodeName.toLowerCase()=="input"){if(w<0){e(v)}else{k(v)}}if(v.preventDefault){v.preventDefault()}v.returnValue=false}if(v.preventDefault){v.preventDefault()}v.returnValue=false};this.addHandler(g,"wheel",function(u){r(u,m)});this.addHandler(g,"keydown",function(v){var u=a(v.target);if(v.ctrlKey){if(v.keyCode==38){if(m.isOpened()){m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}else{if(v.keyCode==40){if(!m.isOpened()){m.showCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}}}if(v.keyCode==40){e(v);v.preventDefault()}else{if(v.keyCode==38){k(v);v.preventDefault()}else{if(v.keyCode==13){v.preventDefault();m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus()}else{if(v.keyCode==27){v.preventDefault();m.hideCalendar("cancel");m.dateTimeInput.focus()}}}}});this.hourInput=a(g[0]);this.minuteInput=a(g[1]);this.secondInput=a(g[2]);this.mssecondInput=a(g[3]);this.meridianInput=a(g[4]);this.hourInput2=a(g[5]);this.minuteInput2=a(g[6]);this.secondInput2=a(g[7]);this.mssecondInput2=a(g[8]);this.meridianInput2=a(g[9]);var m=this;var o=this.timePopupElement.find(".increment-hour-column");this.hourIncrement=a(o[0]);this.hourIncrement2=a(o[1]);this.addHandler(g,"change",function(v){var u=a(v.target);if(u.val().length<=1){u.val("0"+a(v.target).val())}if(v.target.className.indexOf("hour")>=0){var w=parseInt(a(v.target).val());if(l.indexOf("HH")>=0){while(w>24){w=w-24}}else{while(w>12){w=w-12}}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}if(v.target.className.indexOf("minute")>=0||v.target.className.indexOf("second")>=0){var w=parseInt(a(v.target).val());while(w>59){w--}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}});this._incrementHour=function(u){var v=parseInt(u.val());v++;if(l.indexOf("HH")>=0){if(v>23){v=0}}else{if(v>12){v=1}}if(v<10){v="0"+v}u.val(v)};this._incrementMinuteSecond=function(u){var v=parseInt(u.val());v++;if(v>59){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMillisecond=function(u){var v=parseInt(u.val());v++;if(v>999){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this._decrementHour=function(u){var v=parseInt(u.val());v--;if(l.indexOf("HH")>=0){if(v<0){v=23}}else{if(v<1){v=12}}if(v<10){v="0"+v}u.val(v)};this._decrementMinuteSecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=59}if(v<10){v="0"+v}u.val(v)};this._decrementMillisecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=999}if(v<10){v="0"+v}u.val(v)};this._decrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this.addHandler(this.hourIncrement,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput)});this.addHandler(this.hourIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput2)});var p=this.timePopupElement.find(".increment-minute-column");this.minuteIncrement=a(p[0]);this.minuteIncrement2=a(p[1]);this.addHandler(this.minuteIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput2)});var c=this.timePopupElement.find(".increment-second-column");this.secondIncrement=a(c[0]);this.secondIncrement2=a(c[1]);this.addHandler(this.secondIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput)});this.addHandler(this.secondIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput2)});var d=this.timePopupElement.find(".increment-millisecond-column");this.millisecondsIncrement=a(d[0]);this.millisecondsIncrement2=a(d[1]);this.addHandler(this.millisecondsIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput2)});var i=this.timePopupElement.find(".increment-meridian-column");this.meridianIncrement=a(i[0]);this.meridianIncrement2=a(i[1]);this.addHandler(this.meridianIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput)});this.addHandler(this.meridianIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput2)});var n=this.timePopupElement.find(".decrement-hour-column");this.hourDecrement=a(n[0]);this.hourDecrement2=a(n[1]);this.addHandler(this.hourDecrement,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput)});this.addHandler(this.hourDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput2)});var j=this.timePopupElement.find(".decrement-minute-column");this.minuteDecrement=a(j[0]);this.minuteDecrement2=a(j[1]);this.addHandler(this.minuteDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput2)});var t=this.timePopupElement.find(".decrement-second-column");this.secondDecrement=a(t[0]);this.secondDecrement2=a(t[1]);this.addHandler(this.secondDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput)});this.addHandler(this.secondDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput2)});var b=this.timePopupElement.find(".decrement-millisecond-column");this.millisecondsDecrement=a(b[0]);this.millisecondsDecrement2=a(b[1]);this.addHandler(this.millisecondsDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput2)});var f=this.timePopupElement.find(".decrement-meridian-column");this.meridianDecrement=a(f[0]);this.meridianDecrement2=a(f[1]);this.addHandler(this.meridianDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput)});this.addHandler(this.meridianDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput2)});var q=this.timePopupElement.find("table");this.addHandler(this.timePopupElement,"mousedown",function(u){u.stopPropagation()});var h=function(u){var v=u.find("tr");if(l.indexOf("mm")==-1){m.minuteInput.hide();m.minuteInput2.hide();a(a(v[0]).children()[1]).hide();a(a(v[0]).children()[2]).hide();a(a(v[1]).children()[1]).hide();a(a(v[1]).children()[2]).hide();a(a(v[2]).children()[1]).hide();a(a(v[2]).children()[2]).hide()}if(l.indexOf("ss")==-1){m.secondInput.hide();m.secondInput2.hide();a(a(v[0]).children()[3]).hide();a(a(v[0]).children()[4]).hide();a(a(v[1]).children()[3]).hide();a(a(v[1]).children()[4]).hide();a(a(v[2]).children()[3]).hide();a(a(v[2]).children()[4]).hide()}if(l.indexOf("tt")==-1&&l.indexOf("hh")==-1){m.meridianInput.hide();m.meridianInput2.hide();a(a(v[0]).children()[7]).hide();a(a(v[0]).children()[8]).hide();a(a(v[1]).children()[7]).hide();a(a(v[1]).children()[8]).hide();a(a(v[2]).children()[7]).hide();a(a(v[2]).children()[8]).hide()}if(l.indexOf("zz")==-1){m.mssecondInput.hide();m.mssecondInput2.hide();a(a(v[0]).children()[5]).hide();a(a(v[0]).children()[6]).hide();a(a(v[1]).children()[5]).hide();a(a(v[1]).children()[6]).hide();a(a(v[2]).children()[5]).hide();a(a(v[2]).children()[6]).hide()}};if(q.length==1){h(q)}else{h(a(a(q)[1]));h(a(a(q)[2]))}},updateTimePopup:function(){var b=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){var f=this.getDate();if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}}else{var f=this.getRange().from;if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}var f=this.getRange().to;if(this.hourInput2){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput2.val(c);this.minuteInput2.val(h);this.secondInput2.val(e);this.mssecondInput2.val(d);this.meridianInput2.val(g)}}},showCalendar:function(){var o=this.calendarContainer;var s=this._calendar;a.jqx.aria(this,"aria-expanded",true);if(this.showTimeButton){if(this.timePopup){if(!this.timePopupElement){this.initTimePopup()}this.calendarContainer.css("visibility","hidden");this.timeContainer.css("visibility","visible");this.updateTimePopup();var d=this.timeContainer.find("input");var v=0;for(var z=0;z<d.length;z++){if(d[z].style.display!="none"){v+=50}}this.container.width(parseInt(v));if(!this.touch){setTimeout(function(){d[0].focus();a(d[0]).select()},150+this.openDelay)}}else{this.container.width(parseInt(this.calendarContainer.width())+25);this.timeContainer.css("visibility","hidden");this.calendarContainer.css("visibility","visible")}}if(this.value!=null){if(this.selectionMode!="range"){this._oldDT=new Date(this.value.dateTime)}else{this._oldDT=this.getRange()}}else{this._oldDT=null}if(!s.canRender){s.canRender=true;s.render()}var l=this.container;var r=this;var g=a(window).scrollTop();var h=a(window).scrollLeft();var p=parseInt(this._findPos(this.host[0])[1])+parseInt(this.host.outerHeight())-1+"px";var e,u=parseInt(Math.round(this.host.coord(true).left));if(this.dropDownContainer==="element"){p=parseInt(this.host.outerHeight())-1+"px";e=0}e=u+"px";var A=false;if((A!=null&&A)){e=a.jqx.mobile.getLeftPos(this.element);p=a.jqx.mobile.getTopPos(this.element)+parseInt(this.host.outerHeight());if(a("body").css("border-top-width")!="0px"){p=parseInt(p)-this._getBodyOffset().top+"px"}if(a("body").css("border-left-width")!="0px"){e=parseInt(e)-this._getBodyOffset().left+"px"}}this.container.css("left",e);this.container.css("top",p);var c=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;this.isEditing=false;if(r.selectionMode=="default"){this._validateValue();this._updateText();var w=this.value!=null?this.value.dateTime:new Date();s.setDate(w)}this.closeCalendarAfterSelection=c;var b=false;if(this.dropDownHorizontalAlignment=="right"||this.rtl){var k=this.container.outerWidth();var x=Math.abs(k-this.host.outerWidth()+2);if(!this.rtl){x-=2}if(k>this.host.width()){var f=23;this.container.css("left",f+parseInt(Math.round(u))-x+"px")}else{this.container.css("left",25+parseInt(Math.round(u))+x+"px")}}if(this.dropDownVerticalAlignment=="top"){var y=o.height();if(this.timePopup){this.timeContainer.css("top",this.container.height()-75)}b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"));var n=parseInt(this.host.outerHeight());var m=parseInt(p)-Math.abs(y+n+23);this.container.css("top",m)}if(this.enableBrowserBoundsDetection){var j=this.testOffset(o,{left:parseInt(this.container.css("left")),top:parseInt(p)},parseInt(this.host.outerHeight()));if(parseInt(this.container.css("top"))!=j.top){b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"))}else{o.css("top",0)}this.container.css("top",j.top);if(parseInt(this.container.css("left"))!=j.left){this.container.css("left",j.left)}}this._raiseEvent(7,o);if(this.animationType!="none"){this.container.css("display","block");var q=parseInt(o.outerHeight());o.stop();this.isanimating=true;this.opening=true;if(this.animationType=="fade"){o.css("margin-top",0);o.css("opacity",0);o.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()});if(this.timePopup){this.timeContainer.css("margin-top",0);this.timeContainer.css("opacity",0);this.timeContainer.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}}else{o.css("opacity",1);if(this.timePopup){this.timeContainer.css("opacity",1)}if(b){o.css("margin-top",q)}else{o.css("margin-top",-q)}if(this.timePopup){if(b){this.timeContainer.css("margin-top",q)}else{this.timeContainer.css("margin-top",-q)}this.timeContainer.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}o.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()})}}else{o.stop();r.isanimating=false;r.opening=false;o.css("opacity",1);o.css("margin-top",0);this.container.css("display","block");a.data(document.body,"openedJQXCalendar"+r.id,o);this.calendarContainer.focus();if(this.timePopup){this.timeContainer.stop();this.timeContainer.css("opacity",1);this.timeContainer.css("margin-top",0);this.timeContainer.focus()}}if(this.value==null){if(this._calendar&&this._calendar._getSelectedCell()){this._calendar._getSelectedCell().isSelected=false}}if(this.timePopup){this.timeButtonIcon.addClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.timeContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}else{this.calendarButtonIcon.addClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}this.host.addClass(this.toThemeProperty("jqx-fill-state-focus"))},hideCalendar:function(j,o){if(o){this.changeType=o}var h=this.calendarContainer;var b=this.container;var p=this;a.jqx.aria(this,"aria-expanded",false);if(this.showTimeButton){if(this.timeContainer.css("visibility")!="hidden"&&j!="cancel"){if(this.selectionMode!="range"&&this.hourInput){var e=this.getDate();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}if(!e){e=new Date()}e.setHours(g,f,c,q);this.setDate(e)}else{if(this.hourInput&&j!="selected"){var i=this.getRange();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var l=i.from;if(!l){l=new Date()}l.setHours(g,f,c,q);var g=parseInt(this.hourInput2.val());var f=parseInt(this.minuteInput2.val());var c=parseInt(this.secondInput2.val());var q=parseInt(this.mssecondInput2.val());var d=this.meridianInput2.val();if(f==""){f=0}if(c==""){c=0}if(q==""){q=0}if(this.meridianInput2.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var k=i.to;if(!k){k=new Date()}k.setHours(g,f,c,q);if(k.valueOf()<l.valueOf()){return false}this.setRange(l,k)}else{if(j=="selected"){return}}}}}a.data(document.body,"openedJQXCalendar"+this.id,null);if(this.animationType!="none"){var n=h.outerHeight();h.css("margin-top",0);if(this.showTimeButton){this.timeContainer.css("margin-top",0)}this.isanimating=true;var m=-n;if(parseInt(this.container.coord().top)<parseInt(this.host.coord().top)){m=n}if(this.animationType=="fade"){h.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{h.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}if(this.showTimeButton){if(this.animationType=="fade"){this.timeContainer.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{this.timeContainer.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}}}else{b.css("display","none")}if(j!=undefined){this._updateSelectedDate(j)}this.timeButtonIcon.removeClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarButtonIcon.removeClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.timeContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.calendarContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this._raiseEvent(8,h)},_updateSelectedDate:function(){var l=this.value;if(l==null){l=new a.jqx._jqxDateTimeInput.getDateTime(new Date());l._setHours(0);l._setMinutes(0);l._setSeconds(0);l._setMilliseconds(0)}var g=l.hour;var f=l.minute;var c=l.second;var b=l.millisecond;if(this.selectionMode=="range"&&this._calendar.getRange().from==null){this.setDate(null);return}var d=new a.jqx._jqxDateTimeInput.getDateTime(this._calendar.value.dateTime);d._setHours(g);d._setMinutes(f);d._setSeconds(c);d._setMilliseconds(b);var m=this.setDate(d.dateTime);if(this.selectionMode=="range"&&!m&&this._oldDT){var h=this.getRange();var i=this._oldDT;var k=false;var j=false;var e=this._oldDT.from;var d=h.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){k=true}}var d=h.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}}if(k&&j){return true}this._raiseEvent(0,{});this._raiseEvent(9,{})}},_closeOpenedCalendar:function(b){var e=a(b.target);var j=a.data(document.body,"openedJQXCalendar"+b.data.me.id);var d=false;a.each(e.parents(),function(){if(this.className&&this.className.indexOf){if(this.className.indexOf("jqx-calendar")!=-1){d=true;return false}if(this.className.indexOf("jqx-date-time-input-popup")!=-1){d=true;return false}if(this.className.indexOf("jqx-input")!=-1){return false}}});if(a(b.target).ischildof(b.data.me.host)){return true}if(b.target!=null&&(b.target.tagName=="B"||b.target.tagName=="b")){var k=b.data.me.host.coord();var m=b.data.me.host.width();var c=b.data.me.host.height();var l=parseInt(k.top);var g=parseInt(k.left);if(l<=b.pageY&&b.pageY<=l+c){if(g<=b.pageX&&b.pageX<=g+m){return true}}}if(j!=null&&!d){if(j.length>0){var h=j[0].id.toString();var f=h.toString().substring(13);var i=a(document).find("#"+f);var n=b.data.me.hideCalendar();if(n!==false){a.data(document.body,"openedJQXCalendar"+b.data.me.id,null)}}}},_loadItems:function(){if(this.value!=null){this.items=new Array();var d=this._getFormatValue(this.formatString);this.items=this._parseFormatValue(d);this.editors=new Array();for(var b=0;b<this.items.length;b++){var c=this.items[b].getDateTimeEditorByItemType(this.value,this);this.editors[b]=c}}this._updateEditorsValue();this._updateText()},_updateText:function(){var d=this;var f="";if(d.items.length==0&&d.value!=null){d._loadItems()}if(d.value!=null){if(d.items.length>=1){f=d.format(d.value,0,d.items.length)}var b=d.dateTimeInput.val();if(b!=f){d._raiseEvent(1,d.value)}}if(d.selectionMode=="range"){var c=d.getRange();var i=d.format(d.value,0,d.items.length);if(c.to){var h=a.jqx._jqxDateTimeInput.getDateTime(c.from);i=d.format(h,0,d.items.length);var g=a.jqx._jqxDateTimeInput.getDateTime(c.to);var e=d.format(g,0,d.items.length);var f=i+" - "+e;if(f==" - "){f=""}}else{f=""}}d.dateTimeInput.val(f)},format:function(g,h,f){var b="";for(var e=h;e<f;++e){var c=this.items[e].dateParser(g,this);if(this.isEditing&&this.items[e].type!="ReadOnly"){if(this.selectionMode!="range"){var d=this.items[e].type=="Day"&&this.items[e].format.length>2;if(this.items[e].type=="FORMAT_AMPM"){d=true;if(this.editors[e].value==0){c=this.editors[e].amString}else{c=this.editors[e].pmString}}if(!d){c=this.items[e].dateParserInEditMode(new Number(this.editors[e].value),"d"+this.editors[e].maxEditPositions,this);while(c.length<this.editors[e].maxEditPositions){c="0"+c}}}}b+=c}return b},_getFormatValueGroupLength:function(c){for(var b=1;b<c.toString().length;++b){if(c.substring(b,b+1)!=c.substring(0,1)){return b}}return c.length},_parseFormatValue:function(h){var c=new Array();var f=h.toString();var e=0;while(f.length>0){var d=this._getFormatValueGroupLength(f);var g=null;switch(f.substring(0,1)){case":":case"/":d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break;case'"':case"'":var b=f.indexOf(f[0],1);g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1+Math.max(1,b-1)),"ReadOnly",this.culture);d=Math.max(1,b+1);break;case"\\":if(f.length>=2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1),"ReadOnly",this.culture);d=2}break;case"d":case"D":if(d>2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}break;case"f":case"F":if(d>7){d=7}if(d>3){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Millisecond",this.culture)}break;case"g":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;case"h":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_hh",this.culture);break;case"H":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_HH",this.culture);break;case"m":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Minute",this.culture);break;case"M":if(d>4){d=4}g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Month",this.culture);break;case"s":case"S":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Second",this.culture);break;case"t":case"T":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_AMPM",this.culture);break;case"y":case"Y":if(d>1){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Year",this.culture)}else{d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),null,"ReadOnly",this.culture)}break;case"z":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;default:d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break}c[e]=a.extend(true,{},g);f=f.substring(d);e++}return c},_getFormatValue:function(b){if(b==null||b.length==0){b="d"}if(b.length==1){switch(b.substring(0,1)){case"d":return this.localization.calendar.patterns.d;case"D":return this.localization.calendar.patterns.D;case"t":return this.localization.calendar.patterns.t;case"T":return this.localization.calendar.patterns.T;case"f":return this.localization.calendar.patterns.f;case"F":return this.localization.calendar.patterns.F;case"M":return this.localization.calendar.patterns.M;case"Y":return this.localization.calendar.patterns.Y;case"S":return this.localization.calendar.patterns.S}}if(b.length==2&&b.substring(0,1)=="%"){b=b.substring(1)}return b},_updateEditorsValue:function(){var j=this.value;if(j==null){return}var g=j.year;var h=j.day;var d=j.hour;var l=j.millisecond;var b=j.second;var c=j.minute;var f=j.month;if(this.items==null){return}for(var e=0;e<this.items.length;e++){switch(this.items[e].type){case"FORMAT_AMPM":var k=d%12;if(k==0){k=12}if(d>=0&&d<12){this.editors[e].value=0}else{this.editors[e].value=1}break;case"Day":this.editors[e].value=h;break;case"FORMAT_hh":var k=d%12;if(k==0){k=12}this.editors[e].value=k;break;case"FORMAT_HH":this.editors[e].value=d;break;case"Millisecond":this.editors[e].value=l;break;case"Minute":this.editors[e].value=c;break;case"Month":this.editors[e].value=f;break;case"Second":this.editors[e].value=b;break;case"Year":this.editors[e].value=g;break}}},updateValue:function(z){if(this.isEditing){return}if(this.items&&this.items.length==0){return}var o=0;var s=1;var C=1;var l=0;var d=0;var J=0;var u=0;var I=1;var h=0;var m=false;var r=false;var D=false;var c=false;var b=false;var q=false;var x=false;var t=new Array();var e=null;var y=0;for(var B=0;B<this.items.length;B++){switch(this.items[B].type){case"FORMAT_AMPM":h=this.editors[B].value;e=this.editors[B];break;case"Character":break;case"Day":if(this.items[B].format.length<3){C=this.editors[B].value;t[y++]=this.editors[B];if(C==0){C=1}D=true}break;case"FORMAT_hh":var F=this.editors[B];l=F.value;c=true;break;case"FORMAT_HH":l=this.editors[B].value;c=true;break;case"Millisecond":d=this.editors[B].value;x=true;break;case"Minute":u=this.editors[B].value;b=true;break;case"Month":I=this.editors[B].value;r=true;if(I==0){I=1}break;case"ReadOnly":break;case"Second":J=this.editors[B].value;q=true;break;case"Year":m=true;s=this.editors[B].value;var H=this.editors[B].getDateTimeItem().format;if(H.length<3){var w="1900";if(w.Length==4){var v=""+w[0]+w[1];var E;E=parseInt(v);s=s+(E*100)}}if(s==0){s=1}break}}var G=this.value!=null?new Date(this.value.dateTime):null;if(s>0&&I>0&&C>0&&u>=0&&l>=0&&J>=0&&d>=0){var K=this.value;if(K!=null){if(!m){s=K.year}if(!r){I=K.month}if(!D){C=K.day}}try{if(I>12){I=12}if(I<1){I=1}if(z&&K._daysInMonth(s,I)<=C){C=K._daysInMonth(s,I);if(t!=null&&t.length>0){for(B=0;B<t.length;B++){t[B].value=C}}}if(e!=null){if(e.value==0){if(l>=12){l-=12}}else{if(l+12<24){l+=12}}}var g=this.value.dateTime.getDate();this.value._setYear(parseInt(s));this.value._setDay(C);this.value._setMonth(I);if(c){this.value._setHours(l)}if(b){this.value._setMinutes(u)}if(q){this.value._setSeconds(J)}if(x){this.value._setMilliseconds(d)}this._validateTimeRange()}catch(j){this.value=K}if(G!=null){var A=this.value.dateTime.getFullYear()==G.getFullYear()&&this.value.dateTime.getDate()==G.getDate()&&this.value.dateTime.getMonth()==G.getMonth()&&this.value.dateTime.getHours()==G.getHours()&&this.value.dateTime.getMinutes()==G.getMinutes()&&this.value.dateTime.getSeconds()==G.getSeconds();if(!A){if(this.changing){var n=this.changing(G,this.value.dateTime);if(n){this.value=a.jqx._jqxDateTimeInput.getDateTime(n)}}this._raiseEvent("0",this.value.dateTime);if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}if(this.change){this.change(this.value.dateTime)}}}}var f=this.editors.indexOf(this.activeEditor);var p=this.items[f];if(this.value){if(this.calendarContainer.jqxCalendar("_isDisabled",this.value.dateTime)){this.dateTimeInput.addClass(this.toThemeProperty("jqx-input-invalid"))}else{this.dateTimeInput.removeClass(this.toThemeProperty("jqx-input-invalid"))}}},_internalSetValue:function(b){this.value._setYear(parseInt(b.year));this.value._setDay(b.day);this.value._setMonth(b.month);this.value._setHours(b.hour);this.value._setMinutes(b.minute);this.value._setSeconds(b.second);this.value._setMilliseconds(b.milisecond)},_raiseEvent:function(c,n,f){var m=this.events[c];var g={};g.owner=this;if(n==null){n={}}if(f==null){f=n}var l=n.charCode?n.charCode:n.keyCode?n.keyCode:0;var o=true;var k=this.readonly;var b=new a.Event(m);b.owner=this;b.args=g;b.args.date=this.getDate();if(c==9){b.args.type=this.changeType;this.changeType=null}this.element.value=this.dateTimeInput.val();if(c==9&&this.selectionMode!="range"){var d=b.args.date;if(this._oldDT){if(d!=null){if(!(d.getFullYear()!=this._oldDT.getFullYear()||d.getMonth()!=this._oldDT.getMonth()||d.getDate()!=this._oldDT.getDate()||d.getHours()!=this._oldDT.getHours()||d.getMinutes()!=this._oldDT.getMinutes()||d.getSeconds()!=this._oldDT.getSeconds())){return true}}a.jqx.aria(this,"aria-valuenow",this.getDate());a.jqx.aria(this,"aria-valuetext",this.getText());if(this.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+this.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.selectionMode=="range"){b.args.date=this.getRange();if(this._oldDT){var d=b.args.date.from;if(c==9){var j=false;var i=false;var e=this._oldDT.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}var d=b.args.date.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){i=true}}}if(j&&i){return true}var j=b.args.date.from;if(j==null){j=""}else{j=j.toString()}var i=b.args.date.to;if(i==null){i=""}else{i=i.toString()}a.jqx.aria(this,"aria-valuenow",j+"-"+i);a.jqx.aria(this,"aria-valuetext",this.getText());if(j&&i){a.jqx.aria(this,"aria-label","Current focused range is "+j.toLocaleString()+"-"+i.toLocaleString())}}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.host.css("display")=="none"){return true}if(c!=2&&c!=3&&c!=4&&c!=5&&c!=6){o=this.host.trigger(b);if(b.stopPropagation){b.stopPropagation()}}var h=this;if(!k){if(c==2&&!this.disabled){setTimeout(function(){h.isEditing=true;if(this.selectionMode=="range"){h._selectGroup(-1)}else{h._selectGroup(-1)}},25)}}if(c==4){if(k||this.disabled){if(l==8||l==46){this.isEditing=false;if(this.allowKeyboardDelete){if(this.allowNullDate){this.setDate(null)}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this.setRange(this.getMinDate(),this.getMinDate())}}}}if(l==9){return true}if(!n.altKey){return false}}o=this._handleKeyDown(n,l)}else{if(c==5){if(l==9){return true}if(k||this.disabled){return false}}else{if(c==6){if(l==9){return true}if(k||this.disabled){return false}o=this._handleKeyPress(n,l)}}}return o},_doLeftKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions>0){this.activeEditor.positions--;this._selectGroup(e);return}}while(e>0){this.activeEditor=this.editors[--e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&b!=this.activeEditor){if(this.items[e].type!="ReadOnly"){if(this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_doRightKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions<this.activeEditor.maxEditPositions-1){this.activeEditor.positions++;this._selectGroup(e);return}}while(e<=this.editors.length-2){this.activeEditor=this.editors[++e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){if(this.items[e].type=="Day"&&this.items[e].format.length>2){break}d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&this.activeEditor!=b){if(this.items[e].type!="ReadOnly"){this.activeEditor.positions=0}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_saveSelectedText:function(){var c=this._selection();var e="";var d=this.dateTimeInput.val();if(c.start>0||c.length>0){for(var b=c.start;b<c.end;b++){e+=d[b]}}if(window.clipboardData){window.clipboardData.setData("Text",e)}return e},_selectWithAdvancePattern:function(){var f=this.editors.indexOf(this.activeEditor);var g=false;if(this.items[f].type!="ReadOnly"){g=true}if(!g){return}var d=this.activeEditor;if(d!=null){var e=d.positions==d.maxEditPositions;if(e){this.editorText="";var c=d.value;var b=false;switch(this.items[f].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>99){c=99}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(d.value!=c){b=true}if(!b){this.isEditing=false;this._validateValue();this._updateText();this.isEditing=true;this._doRightKey();return true}return false}}},_handleKeyPress:function(j,n){var m=this._selection();var b=this;var d=j.ctrlKey||j.metaKey;if((d&&n==97)||(d&&n==65)){return true}if(n==8){if(m.start>0){b._setSelectionStart(m.start)}return false}if(n==46){if(m.start<this.items.length){b._setSelectionStart(m.start)}return false}if(n===27){if(this._firstFocusDate){this.setDate(this._firstFocusDate);this._setSelectionStart(0);this._selectGroup(-1)}return false}if(m.start>=0){this.changeType="keyboard";var f=String.fromCharCode(n);var k=parseInt(f);if(f=="p"||f=="a"||f=="A"||f=="P"){if(this.activeEditor&&this.activeEditor.item.type=="FORMAT_AMPM"){if(this.activeEditor.value==0&&(f=="p"||f=="P")){this.spinUp()}else{if(this.activeEditor.value==1&&(f=="a"||f=="A")){this.spinDown()}}}}if(!isNaN(k)){if(this.container.css("display")=="block"){this.hideCalendar()}this.updateValue();this._updateText();var h=false;var i=this.editors.indexOf(this.activeEditor);var c=null;this.isEditing=true;if(i.type!="ReadOnly"){c=this.activeEditor}if(c!=null&&c.positions==0){this.editorText=""}if(this.activeEditor==null){this.activeEditor=this.editors[0]}if(this.activeEditor==null){return false}this.activeEditor.insert(f);if(c!=null&&this.editorText.length>=c.maxEditPositions){this.editorText=""}this.editorText+=f;var o=this._selectWithAdvancePattern();if(this.activeEditor.positions==this.activeEditor.maxEditPositions){var g=this._getLastEditableEditorIndex();if(this.editors.indexOf(this.activeEditor)==g&&o&&this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}h=true;this.updateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return false}}var l=this._isSpecialKey(n);return l},_getLastEditableEditorIndex:function(){var b=0;var d=this;for(var c=this.items.length-1;c>=0;c--){if(this.items[c].type!="ReadOnly"){return c}}return -1},_handleKeyDown:function(i,o){var h=this;this.timePopup=false;if(o==84){this.timePopup=true}if(i.keyCode==115){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}else{if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}if(i.altKey){if(i.keyCode==38){if(h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.showCalendar("keyboard","keyboard");return false}}}}else{if(i.ctrlKey){this.timePopup=true;if(i.keyCode==38){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}}}if(h.isOpened()){if(i.keyCode==9){h.hideCalendar("selected","keyboard");return true}return}var m=h._selection();var b=i.ctrlKey||i.metaKey;if((b&&o==99)||(b&&o==67)){h._saveSelectedText(i);return true}if((b&&o==122)||(b&&o==90)){return false}if((b&&o==118)||(b&&o==86)||(i.shiftKey&&o==45)){var l=h.val();var j=this;var c=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(c);c.select();setTimeout(function(){var e=c.val();j.setDate(e);c.remove()},100);return true}if(o==8||o==46){if(!i.altKey&&!b&&o==46){h.isEditing=false;if(h.allowKeyboardDelete){h.changeType="keyboard";if(h.allowNullDate){h.setDate(null)}else{if(h.selectionMode!="range"){h.setDate(h.getMinDate())}else{h.setRange(h.getMinDate(),h.getMinDate())}}}}else{if(h.activeEditor!=null){var g=h.editors.indexOf(h.activeEditor);if(h.activeEditor.positions>=0){var f=h._format(Number(h.activeEditor.value),"d"+h.activeEditor.maxEditPositions,h.culture);var d=f;d=d.substring(0,h.activeEditor.positions)+"0"+d.substring(h.activeEditor.positions+1);if(parseInt(d)<h.activeEditor.minValue){d=h._format(Number(h.activeEditor.minValue),"d"+h.activeEditor.maxEditPositions,h.culture)}if(h.enableAbsoluteSelection){h.activeEditor.value=d}else{h.activeEditor.value=h.activeEditor.minValue}h._validateValue();h._updateText();h.changeType="keyboard";if(o==8){var n=this;if(h.enableAbsoluteSelection&&h.activeEditor.positions>0){setTimeout(function(){n.activeEditor.positions=n.activeEditor.positions-1;n._selectGroup(g)},10)}else{setTimeout(function(){n._doLeftKey()},10)}}else{h._selectGroup(g)}}else{h._doLeftKey()}}}return false}if(o==38){this.spinUp();h.changeType="keyboard";return false}else{if(o==40){this.spinDown();h.changeType="keyboard";return false}}if(o==9){if(h.value==null){return true}if(i.shiftKey){var p=this._doLeftKey()}else{var p=this._doRightKey()}if(!p){return true}else{return false}}if(o==37){if(this._editor){var p=this._doLeftKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doLeftKey();return false}}else{if(o==39||o==191){if(this._editor){var p=this._doRightKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doRightKey();return false}}}var k=this._isSpecialKey(o);if(this.value==null&&(o>=48&&o<=57||o>=96&&o<=105)){h.changeType="keyboard";if(new Date()>=this.getMinDate()&&new Date()<=this.getMaxDate()){this.setDate(new Date())}else{this.setDate(this.getMaxDate())}}if(!a.jqx.browser.mozilla){return true}if(a.jqx.browser.mozilla&&a.jqx.browser.version>24){return true}return k},_isSpecialKey:function(b){if(b!=8&&b!=9&&b!=13&&b!=35&&b!=36&&b!=37&&b!=39&&b!=27&&b!=46){return false}return true},_selection:function(){if("selectionStart" in this.dateTimeInput[0]){var f=this.dateTimeInput[0];var g=f.selectionEnd-f.selectionStart;return{start:f.selectionStart,end:f.selectionEnd,length:g,text:f.value}}else{var c=document.selection.createRange();if(c==null){return{start:0,end:f.value.length,length:0}}var b=this.dateTimeInput[0].createTextRange();var d=b.duplicate();b.moveToBookmark(c.getBookmark());d.setEndPoint("EndToStart",b);var g=c.text.length;return{start:d.text.length,end:d.text.length+c.text.length,length:g,text:c.text}}},_selectGroup:function(k,m){if(this.host.css("display")=="none"){return}if(this.readonly){return}if(!m){var m=this._selection()}var f="";var b="";var c=null;for(var d=0;d<this.items.length;d++){b=this.items[d].dateParser(this.value,this);if(this.isEditing&&this.items[d].type!="ReadOnly"){var j=this.items[d].type=="Day"&&this.items[d].format.length>2;if(!j&&this.items[d].type!="FORMAT_AMPM"){b=this.items[d].dateParserInEditMode(new Number(this.editors[d].value),"d"+this.editors[d].maxEditPositions,this);while(b.length<this.editors[d].maxEditPositions){b="0"+b}}}f+=b;if(this.items[d].type=="ReadOnly"){continue}if(this.items[d].type=="Day"&&this.items[d].format.length>2){continue}if(k!=undefined&&k!=-1){if(d>=k){var l=f.length-b.length;var e=b.length;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}if(l==this.dateTimeInput.val().length){l--}this._setSelection(l,l+e);c=this.editors[d];this.activeEditor=c;break}}else{if(f.length>=m.start){c=this.editors[d];this.activeEditor=c;var l=f.length-b.length;var e=1;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}else{e=b.length}this._setSelection(l,l+e);break}}}if(d<this.items.length&&k==-1){if(this.items[d].type!="ReadOnly"){this.activeEditor.positions=0}}var h=this._selection();if(h.length==0){if(h.start>0){var g=this._getLastEditableEditorIndex();if(g>=0){}}}},_getLastEditableEditorIndex:function(){var c=-1;for(var b=0;b<this.editors.length;b++){if(this.items[b].type=="ReadOnly"){continue}if(this.items[b].type=="Day"&&this.items[b].format.length>2){continue}c=b}return c},_setSelection:function(e,b){try{if("selectionStart" in this.dateTimeInput[0]){this.dateTimeInput[0].setSelectionRange(e,b)}else{var c=this.dateTimeInput[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}}catch(d){}},_setSelectionStart:function(b){this._setSelection(b,b)},destroy:function(){a.jqx.utilities.resize(this.host,null,true);this.host.removeClass("jqx-rc-all");if(this.timePopupElement){this.timePopupElement.remove()}this._calendar.destroy();this.container.remove();this._removeHandlers();this.dateTimeInput.remove();this.host.remove()},refreshValue:function(){this._refreshValue()},refresh:function(b){if(b!=true){this._setSize();this._arrange()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},_setOption:function(b,c,d){if(b==="value"){if(this.selectionMode!="range"){this._oldDT=null}else{this._oldDT=null}this.value=c;this._refreshValue();this._raiseEvent(9,{type:null})}if(b=="maxDate"){this._calendar.maxDate=c;this._raiseEvent(9,{type:null})}if(b=="minDate"){this._calendar.minDate=c;this._raiseEvent(9,{type:null})}if(b=="showCalendarButton"){if(c){this.calendarButton.css("display","block")}else{this.calendarButton.css("display","none")}}if(b=="disabled"){this.dateTimeInput.attr("disabled",c)}if(b=="readonly"){this.readonly=c;this.dateTimeInput.css("readonly",c)}if(b=="textAlign"){this.dateTimeInput.css("text-align",c);this.textAlign=c}if(b=="width"){this.width=c;this.width=parseInt(this.width);this._arrange()}else{if(b=="height"){this.height=c;this.height=parseInt(this.height);this._arrange()}}},_updateHint:function(){var b=this;if(!b.hint){return}if(b.isMaterialized()){setTimeout(function(){if(b.dateTimeInput[0].value.length===0){b.element.removeAttribute("hint");b.label[0].innerHTML=b.placeHolder}else{b.label[0].innerHTML="";if(b.hint){b.element.setAttribute("hint",true)}}})}},_refreshValue:function(){this._updateEditorsValue();this.updateValue();this._validateValue();this._updateText();this._updateHint()}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateTimeFormatItem={};a.extend(a.jqx._jqxDateTimeInput.DateTimeFormatItem,{_create:function(d,c,b){this.format=d;this.type=c;this.culture=b;return this},_itemValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},_maximumValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},dateParser:function(b,c){if(b==null){return""}var d=c._format(b.dateTime,this.format.length==1?"%"+this.format:this.format,this.culture);return d},dateParserInEditMode:function(e,d,b){if(e==null){return""}var c=b._format(e.toString(),d.length==1?"%"+d:d,this.culture);return c},getDateTimeEditorByItemType:function(m,e){switch(this.type){case"FORMAT_AMPM":var f=a.jqx._jqxDateTimeInput.AmPmEditor._createAmPmEditor(this.format,m.hour/12,e.localization.calendar.AM[0],e.localization.calendar.PM[0],this,e);var d=a.extend({},f);return d;case"Character":return null;case"Day":var j=m.year;var r=m.month;var q;if(this.format.length==3){q=e.localization.calendar.days.namesAbbr}else{if(this.format.length>3){q=e.localization.calendar.days.names}else{q=null}}var s=m.day;if(q!=null){s=m.dayOfWeek+1}var g=a.jqx._jqxDateTimeInput.DateEditor._createDayEditor(m,m.day,1,m._daysInMonth(j,r),this.format.length==1?1:2,2,q,this,e);var d=a.extend({},g);return d;case"FORMAT_hh":var c=m.hour%12;if(c==0){c=12}var p=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(c,1,12,this.format.length==1?1:2,2,this,e);var d=a.extend({},p);return d;case"FORMAT_HH":var h=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.hour,0,23,this.format.length==1?1:2,2,this,e);var d=a.extend({},h);return d;case"Millisecond":var k=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.millisecond/this._itemValue(),0,this._maximumValue(),this.format.length,this.format.length,this,e);var d=a.extend({},k);return d;case"Minute":var n=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.minute,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},n);return d;case"Month":var i;if(this.format.length==3){i=e.localization.calendar.months.namesAbbr}else{if(this.format.length>3){i=e.localization.calendar.months.names}else{i=null}}var l=a.jqx._jqxDateTimeInput.DateEditor._createMonthEditor(m.month,this.format.length==2?2:1,i,this,e);var d=a.extend({},l);return d;case"ReadOnly":return a.jqx._jqxDateTimeInput.DisabledEditor._create(this.format.length,m.day,this,e);case"Second":var b=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.second,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},b);return d;case"Year":var o=a.jqx._jqxDateTimeInput.DateEditor._createYearEditor(m.year,4,this,e);var d=a.extend({},o);return d}return null}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateEditor=a.extend(a.jqx._jqxDateTimeInput.DateEditor,{formatValueLength:0,handleYears:false,handleDays:false,handleMonths:false,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,dateTimeFormatInfo:null,days:null,dateTimeMonths:null,lastDayInput:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},_createYearEditor:function(e,d,c,b){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(d<=4?0:0,d<4?99:9999,(d==2)?2:1,d>3?4:2,c);this.initializeYearEditor(e,d,c.culture);this.handleYears=true;this.that=b;return this},initializeYearEditor:function(d,c,e){this.formatValueLength=c;this.dateTimeFormatInfo=e;var b=d;b=Math.min(b,9999);b=Math.max(b,1);b=this.formatValueLength<4?b%100:b;this.updateActiveEditor(b);this.value=b},updateActiveEditor:function(b){this.value=b;this.positions=0},_createDayEditor:function(b,i,h,e,c,f,g,j,d){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(h,e,1,f,j);this.currentValue=b;this.value=i;this.days=g;this.handleDays=true;this.that=d;return this},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},defaultTextValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},textValue:function(){if(this.handleDays){if(this.days==null){return this.defaultTextValue()}else{var b=(this.value%7)+1;b=this.getDayOfWeek(b);return this.days[b]}}else{if(this.handleMonths){if(this.dateTimeMonths==null||this.value<1||this.value>12){return this.defaultTextValue()}else{return this.dateTimeMonths[this.value-1]}}}return this.defaultTextValue()},defaultInsertString:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},insert:function(b){if(this.handleDays){if(this.days!=null){var c=false;c=this.insertLongString(b,c);if(c){return c}c=this.insertShortString(b,c);if(c){return c}}if(this.value==1&&this.lastDayInput!=null&&this.lastDayInput.toString().length>0&&this.lastDayInput.toString()=="0"){this.value=0}this.lastDayInput=b;return this.defaultInsertString(b)}else{if(this.handleMonths){if(this.dateTimeMonths!=null){var c=false;c=this.insertLongString2(b,c);if(c){return c}c=this.insertShortString2(b,c);if(c){return c}}}}return this.defaultInsertString(b)},insertShortString:function(d,f){if(d.length==1){for(var e=0;e<6;++e){var c=(this.value+e)%7+1;var b=this.days[c-1];if(b.substring(0,1)==d){this.updateActiveEditor(c);f=true;return f}}}return f},insertLongString:function(c,e){if(c.length>0){for(var d=0;d<6;++d){var b=(this.value+d)%7+1;if(this.days[b-1]==c){this.updateActiveEditor(b);e=true;return e}}}return e},_createMonthEditor:function(d,c,b,f,e){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(1,12,c,2,f);this.dateTimeMonths=b;this.value=d;if(this.dateTimeMonths!=null&&this.dateTimeMonths[12]!=null&&this.dateTimeMonths[12].length>0){this.dateTimeMonths=null}this.handleMonths=true;this.that=e;return this},insertLongString2:function(b,d){if(b.length>0){for(var c=0;c<11;++c){var e=(this.value+c)%12+1;if(this.dateTimeMonths[e-1]==b){this.updateActiveEditor(e);d=true;return d}}}return d},insertShortString2:function(c,e){if(c.length==1){for(var d=0;d<11;++d){var f=(this.value+d)%12+1;var b=this.dateTimeMonths[f-1];if(b.substring(0,1)==c){this.updateActiveEditor(f);e=true;return e}}}return e},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.NumberEditor={};a.extend(a.jqx._jqxDateTimeInput.NumberEditor,{formatValueLength:0,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},_createNumberEditor:function(g,f,h,b,e,d,c){a.jqx._jqxDateTimeInput.NumberEditor=a.extend(true,{},this);this.initializeFields(f,h,b,e,d);this.that=c;return this},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},updateActiveEditor:function(b){this.value=b;this.positions=0},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},textValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},insert:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DisabledEditor={};a.extend(a.jqx._jqxDateTimeInput.DisabledEditor,{_create:function(g,c,f,b,e,d){this.format=g;this.value=-1;this.item=e;this.that=d;return this},textValue:function(){return""},insert:function(b){return false},deleteValue:function(){return false},increaseValue:function(){return false},decreaseValue:function(){return false},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.AmPmEditor={};a.extend(a.jqx._jqxDateTimeInput.AmPmEditor,{_createAmPmEditor:function(g,c,f,b,e,d){this.format=g;this.value=c;this.minValue=0;this.amString=f;this.pmString=b;this.item=e;this.that=d;if(f==b){this.amString="<"+f;this.pmString=">"+b}return this},textValue:function(){var b=this.amString;if(this.value!=0){b=this.pmString}if(this.format.length==1&&b.length>1){b=b.substring(0,1)}return b},insert:function(f){var d=f.toString();if(d.Length==0){return this.deleteValue()}var c=false;if(this.amString.Length>0&&this.pmString.Length>0){var g=this.amString[0];var b=d[0];var e=this.pmString[0];if(g.toString()==b.toString()){this.value=0;c=true}else{if(e.toString()==b.toString()){this.value=1;c=true}}}else{if(this.pmString.Length>0){this.value=1;c=true}else{if(this.amString.Length>0){this.value=0;c=true}}}return c},deleteValue:function(){var b=true;if(this.amString.Length==0&&this.pmString.Length!=0){if(this.value==0){return false}this.value=0}else{if(this.value==1){return false}this.value=1}return b},increaseValue:function(){this.value=1-this.value;return true},decreaseValue:function(){this.increaseValue();return true},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.getDateTime=function(c){var b={dateTime:new Date(c),daysPer4Years:1461,daysPerYear:365,daysToMonth365:{0:0,1:31,2:59,3:90,4:120,5:151,6:181,7:212,8:243,9:273,10:304,11:334,12:365},daysToMonth366:{0:0,1:31,2:60,3:91,4:121,5:152,6:182,7:213,8:244,9:274,10:305,11:335,12:366},maxValue:3155378976000000000,millisPerDay:86400000,millisPerHour:3600000,millisPerMinute:60000,millisPerSecond:1000,minTicks:0,minValue:0,ticksPerDay:864000000000,ticksPerHour:36000000000,ticksPerMillisecond:10000,ticksPerMinute:600000000,ticksPerSecond:10000000,hour:c.getHours(),minute:c.getMinutes(),day:c.getDate(),second:c.getSeconds(),month:1+c.getMonth(),year:c.getFullYear(),millisecond:c.getMilliseconds(),dayOfWeek:c.getDay(),isWeekend:function(d){if(d==undefined||d==null){d=this.dateTime}var e=d.getDay()%6==0;return e},dayOfYear:function(e){if(e==undefined||e==null){e=this.dateTime}var d=new Date(e.getFullYear(),0,1);return Math.ceil((e-d)/86400000)},_setDay:function(d){if(d==undefined||d==null){d=0}this.dateTime.setDate(d);this.day=this.dateTime.getDate()},_setMonth:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMonth(d-1);this.month=1+this.dateTime.getMonth()},_setYear:function(d){if(d==undefined||d==null){d=0}this.dateTime.setFullYear(d);this.year=this.dateTime.getFullYear()},_setHours:function(d){if(d==undefined||d==null){d=0}this.dateTime.setHours(d);this.hour=this.dateTime.getHours()},_setMinutes:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMinutes(d);this.minute=this.dateTime.getMinutes()},_setSeconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setSeconds(d);this.second=this.dateTime.getSeconds()},_setMilliseconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMilliseconds(d);this.millisecond=this.dateTime.getMilliseconds()},_addDays:function(f){var d=this.dateTime;var e=d.getDate();d.setDate(d.getDate()+f);if(e===d.getDate()){d.setHours(d.getHours()+d.getTimezoneOffset()/60)}return d},_addWeeks:function(e){var d=this.dateTime;d.setDate(d.getDate()+7*e);return d},_addMonths:function(e){var d=this.dateTime;d.setMonth(d.getMonth()+e);return d},_addYears:function(e){var d=this.dateTime;d.setFullYear(d.getFullYear()+e);return d},_addHours:function(e){var d=this.dateTime;d.setHours(d.getHours()+e);return d},_addMinutes:function(e){var d=this.dateTime;d.setMinutes(d.getMinutes()+e);return d},_addSeconds:function(e){var d=this.dateTime;d.setSeconds(d.getSeconds()+e);return d},_addMilliseconds:function(e){var d=this.dateTime;d.setMilliseconds(d.getMilliseconds()+e);return d},_isLeapYear:function(d){if((d<1)||(d>9999)){throw"invalid year"}if((d%4)!=0){return false}if((d%100)==0){return((d%400)==0)}return true},_dateToTicks:function(f,h,e){if(((f>=1)&&(f<=9999))&&((h>=1)&&(h<=12))){var d=this._isLeapYear(f)?this.daysToMonth366:this.daysToMonth365;if((e>=1)&&(e<=(d[h]-d[h-1]))){var f=f-1;var g=((((((f*365)+(f/4))-(f/100))+(f/400))+d[h-1])+e)-1;return(g*864000000000)}}},_daysInMonth:function(e,f){if((f<1)||(f>12)){throw ("Invalid month.")}var d=this._isLeapYear(e)?this.daysToMonth366:this.daysToMonth365;return(d[f]-d[f-1])},_timeToTicks:function(d,g,e){var f=((d*3600)+(g*60))+e;return(f*10000000)},_equalDate:function(d){if(this.year==d.getFullYear()&&this.day==d.getDate()&&this.month==d.getMonth()+1){return true}return false}};return b}})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxDocking","",{});a.extend(a.jqx._jqxDocking.prototype,{defineInstance:function(){var b={orientation:"horizontal",mode:"default",floatingWindowOpacity:0.3,panelsRoundedCorners:true,disabled:false,width:"auto",height:"auto",windowsMode:null,cookies:false,cookieOptions:{},windowsOffset:5,rtl:false,keyboardNavigation:false,_windowOptions:{},_draggedFired:false,_dragging:false,_draggingItem:null,_panels:[],_windows:[],_indicator:null,_events:["dragEnd","dragStart"]};if(this===a.jqx._jqxDocking.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){if(!this.host.jqxWindow){throw new Error("jqxDocking: Missing reference to jqxwindow.js.")}this._refresh(true);if(this.disabled){this.disabled=false;this.disable()}},refresh:function(b){if(b==true){return}this._performLayout()},_refresh:function(c){this._render();this._removeClasses();this._addClasses();this._setWindowsOptions(true);this._performLayout();this._cookieHandler();this._cookieExporter();this._removeEventListeners();this._addEventListeners();var b=a.Event("resize");this.host.trigger(b)},resize:function(){this._refresh()},_addClasses:function(){this.host.addClass("jqx-docking");for(var b=0;b<this._panels.length;b+=1){this._panels[b].addClass(this.toThemeProperty("jqx-docking-panel"));if(this.panelsRoundedCorners){this._panels[b].addClass(this.toThemeProperty("jqx-rc-all"))}}for(var b=0;b<this._windows.length;b+=1){this._windows[b].addClass(this.toThemeProperty("jqx-docking-window"))}},_removeClasses:function(){this.host.removeClass("jqx-docking");for(var b=0;b<this._panels.length;b+=1){this._panels[b].removeClass(this.toThemeProperty("jqx-docking-panel"));this._panels[b].removeClass(this.toThemeProperty("jqx-rc-all"))}for(var b=0;b<this._windows.length;b+=1){this._windows[b].removeClass(this.toThemeProperty("jqx-docking-window"))}},_render:function(){var b=this.host.children("div"),d;for(var c=0;c<b.length;c+=1){this._panels.push(a(b[c]));this._renderWindows(a(b[c]))}},focus:function(b){if(this.focusedWindow){a(this.focusedWindow).removeClass(this.toThemeProperty("jqx-fill-state-focus"))}if(!a.isEmptyObject(b)&&a.type(b)==="string"&&a("#"+b).length>0){this.focusedWindow=a("#"+b)[0]}else{this.focusedWindow=this._windows[0][0]}a(this.focusedWindow).addClass(this.toThemeProperty("jqx-fill-state-focus"));this.host.focus()},_renderWindows:function(b){var f=b.children("div");for(var d=0;d<f.length;d+=1){this._windows.push(a(f[d]));a(f[d]).jqxWindow({keyboardNavigation:false,rtl:this.rtl,theme:this.theme,enableResize:false,width:a(f[d]).css("width"),maxWidth:Number.MAX_VALUE});a(f[d]).detach();b.append(a(f[d]))}b.append('<div class="spacer" style="clear: both;"></div>');var e=this;if(this.keyboardNavigation){var c=function(i){if(i.keyCode===13){if(e.focusedWindow&&a(e.focusedWindow).jqxWindow("showCollapseButton")){a(e.focusedWindow).jqxWindow("_collapseButton").trigger("click")}}else{if((e.focusedWindow&&i.keyCode===27&&a(e.focusedWindow).jqxWindow("keyboardCloseKey")==="esc")||(e.focusedWindow&&a(e.focusedWindow).jqxWindow("keyboardCloseKey")==i.keyCode)){a(e.focusedWindow).jqxWindow("closeWindow",i)}}if(i.keyCode===9){if(e.focusedWindow==null){e.focusedWindow=e._windows[0];a(e.focusedWindow).focus();i.stopPropagation()}else{var g=-1;a.each(e._windows,function(j,k){if(this[0]==e.focusedWindow){g=j}});if(i.shiftKey){g--}else{g++}if(g>=e._windows.length||g<0){a(e.focusedWindow).removeClass(e.toThemeProperty("jqx-fill-state-focus"));e.focusedWindow=null;i.stopPropagation();return true}var h=e._windows[g];if(!h){h=e._windows[0]}a(e.focusedWindow).removeClass(e.toThemeProperty("jqx-fill-state-focus"));e.focusedWindow=h[0];a(e.focusedWindow).focus()}a(e.focusedWindow).addClass(e.toThemeProperty("jqx-fill-state-focus"));if(i.preventDefault){i.preventDefault();i.stopPropagation()}}};a.each(e._windows,function(h,i){var g=a(this);e.removeHandler(g,"focus");e.removeHandler(g,"blur");e.removeHandler(g,"mousedown");e.addHandler(g,"mousedown",function(j){if(e.focusedWindow){a(e.focusedWindow).removeClass(e.toThemeProperty("jqx-fill-state-focus"))}e.focusedWindow=g[0];a(e.focusedWindow).addClass(e.toThemeProperty("jqx-fill-state-focus"));a(e.focusedWindow).focus()});e.addHandler(g,"focus",function(j){if(e.focusedWindow){a(e.focusedWindow).removeClass(e.toThemeProperty("jqx-fill-state-focus"))}e.focusedWindow=g[0];a(e.focusedWindow).addClass(e.toThemeProperty("jqx-fill-state-focus"))});e.addHandler(g,"blur",function(j){if(a(document.activeElement).ischildof(a(g))){return true}a(g).removeClass(e.toThemeProperty("jqx-fill-state-focus"))});e.removeHandler(g,"keydown");e.addHandler(g,"keydown",function(j){c(j)})});this.removeHandler(this.host,"keydown");this.addHandler(this.host,"keydown",function(g){c(g)});this.removeHandler(this.host,"blur");this.addHandler(this.host,"blur",function(g){if(e.focusedWindow){a(e.focusedWindow).removeClass(e.toThemeProperty("jqx-fill-state-focus"));e.focusedWindow=null}})}},_performLayout:function(){this.host.css("width",this.width);this.host.css("height",this.height);this._performWindowsLayout();this._performPanelsLayout();this._performWindowsLayout()},_performPanelsLayout:function(){this.host.css("overflow","hidden");var b,e=this.host.width(),c=0;for(var d=0;d<this._panels.length;d+=1){b=this._panels[d];b.css("height","auto");b.css("min-width","auto");b[0].style.width="auto";if(this.orientation==="vertical"){b.css("width","auto");b.css("float","none")}else{c+=this._handleHorizontalSize(b,c,e);if(d>0){b.css("margin-left",-this.windowsOffset)}}}if(this.orientation==="horizontal"){if(c<e){this._fillContainer(e,c)}}},_handleHorizontalSize:function(c,d,i){var f=i/this._panels.length,e,h=(c.outerWidth()-c.width());c.css("float","left");if(c[0].style.width==="auto"||parseInt(c.css("width"),10)===0){var g=h/i*100;var b=99.99/this._panels.length;c[0].style.width=b+"%";return c.outerWidth()}if(d+c.outerWidth()>=i){if(d+f<i){e=f-h;c.css("min-width",e);c.width(e)}else{e=c.width()-((d+c.outerWidth())-i);c.css("min-width",e);c.width(e)}}return c.outerWidth()},_fillContainer:function(f,b){var d=this._panels.length,e=this._panels[d-1],c=f-b+e.width();if(a.jqx.browser.msie&&a.jqx.browser.version<9){c-=this._panels.length}return;e.width(c)},_performWindowsLayout:function(){var b;for(var c=0;c<this._windows.length;c+=1){b=this._getWindowOptions(this._windows[c]);if(this._windows[c].ischildof(this.host)){if(b){if(b.mode!=="floating"){this._windows[c].css("margin",this.windowsOffset);this._windows[c].css("position","static")}}else{if(this.mode!=="floating"){this._windows[c].css("position","static");this._windows[c].css("margin",this.windowsOffset)}}}this._setWindowSize(this._windows[c],b)}},_setWindowSize:function(d,c){if(c.mode!=="floating"){if(d.ischildof(this.host)){var b=d.parent().width()-(d.outerWidth()-d.width())-2*this.windowsOffset;if(this.orientation==="vertical"){d.jqxWindow("width",b)}else{d.jqxWindow("width",b)}}}this._setWindowOption(d,"size",{width:d.width(),height:d.height()})},_setWindowsOptions:function(b){for(var f=0;f<this._windows.length;f+=1){var g,c=this._windows[f].attr("id"),d=this._getWindowOptions(c);if(!b){var e="TEDX"}g=null;if(this.windowsMode&&this.windowsMode.hasOwnProperty(c)){g=this.windowsMode[c];this._setWindowOption(this._windows[f],"mode",g)}else{if(typeof d!=="undefined"&&typeof d.mode==="undefined"){g=this.mode;this._setWindowOption(this._windows[f],"mode",g)}}if(b){this._setWindowOption(this._windows[f],"resizable",true);if(g=="floating"){this._windows[f].jqxWindow({enableResize:true})}else{this._windows[f].jqxWindow({enableResize:false})}this._setWindowOption(this._windows[f],"size",{height:this._windows[f].height(),width:this._windows[f].width()})}}},_removeEventListeners:function(){for(var b=0;b<this._windows.length;b+=1){this.removeHandler(this._windows[b],"moving",this._itemDragging);this.removeHandler(this._windows[b],"moved",this._itemDrop);this.removeHandler(this._windows[b],"resized",this._itemResized);this.removeHandler(this._windows[b],"collapse",this._collapsed);this.removeHandler(this._windows[b],"expand",this._expanded)}},_addEventListeners:function(){for(var b=0;b<this._windows.length;b+=1){this._addEventListenersTo(this._windows[b])}var c=this;a.jqx.utilities.resize(this.host,function(){c._performLayout()})},_addEventListenersTo:function(b){this.addHandler(b,"moving",this._itemDragging,{self:this});this.addHandler(b,"moved",this._itemDrop,{self:this});this.addHandler(b,"resized",this._itemResized,{self:this});this.addHandler(b,"collapse",this._collapsed,{self:this});this.addHandler(b,"expand",this._expanded,{self:this})},_itemDragging:function(g){var d=g.data.self,f=a(g.target),e=d._getWindowOptions(f);f.removeClass(d.toThemeProperty("jqx-docking-window"));f.css("margin","0px");if(!d._dragging){d._prepareForDragging(f)}if(e.mode==="floating"){return}var b={x:g.args.pageX,y:g.args.pageY},c=d._getMouseOverPanel(b);if(c){d._mouseOverPanel(c,b)}else{d._mouseLeavePanel()}if(!d._draggedFired){d._raiseEvent(1,{window:a(f).attr("id")});d._draggedFired=true}return true},_prepareForDragging:function(c){this._dragging=true;var b={parent:c.parent(),next:c.next(),prev:c.prev()};this._setWindowOption(c,"lastPosition",b);c.detach();a(document.body).append(c);this._setDraggingStyles(c);this._draggingItem=c},_setDraggingStyles:function(b){b.css({position:"absolute",left:b.offset().left,top:b.offset().top});b.fadeTo(0,this.floatingWindowOpacity)},_getMouseOverPanel:function(c){var e,b,g,f;for(var d=0;d<this._panels.length;d+=1){if(this._isMouseOverItem(this._panels[d],c,false)){return this._panels[d]}}return null},_mouseOverPanel:function(c,b){if(this._dragging){var e=c.children("div"),d=this._getHoverWindow(b,e);if(d==="indicator"){return}var f=this._centerOffset(d,b);this._handleIndicator(c,d,f)}},_getHoverWindow:function(c,f){var e,b,h,g;if(this._isMouseOverItem(this._indicator,c,true)){return"indicator"}for(var d=0;d<f.length;d+=1){if(this._isMouseOverItem(a(f[d]),c,true)){return a(f[d])}}return null},_centerOffset:function(f,b){if(f){var e={x:f.offset().left,y:f.offset().top},g=f.height(),d=f.width(),c;c=e.y+g/2;if(b.y>c){return"next"}return"prev"}return"all"},_handleIndicator:function(c,d,e){var b=this._getIndicator(d);if(e==="all"){if(this.orientation==="vertical"){b.insertBefore(c.children(".spacer"))}else{c.append(b)}}else{if(e==="prev"){b.insertBefore(d)}else{b.insertAfter(d)}}this._resizeIndicator(b,c)},_getIndicator:function(){var b=this._indicator;if(!b){b=a('<div class="'+this.toThemeProperty("jqx-docking-drop-indicator")+'"></div>')}this._indicator=b;this._indicator.css("margin",this.windowsOffset);if(this.orientation==="vertical"){this._indicator.css("float","left")}return b},_resizeIndicator:function(c,b){if(this.orientation==="horizontal"){c.width(b.width()-(c.outerWidth(true)-c.width()));c.height(this._draggingItem.height())}else{c.width(this._draggingItem.width());c.height(this._draggingItem.height())}},_mouseLeavePanel:function(b){if(this._indicator){this._indicator.remove();this._indicator=null}},_itemDrop:function(d){var b=d.data.self,c=a(d.currentTarget);b._dragging=false;if(b._indicator){c.detach();c.insertAfter(b._indicator);b._indicator.remove();b._dropFixer(c)}else{b._dropHandler(c)}c.fadeTo(0,1);c.focus();b._indicator=null;b._cookieExporter();b._draggedFired=false;b._raiseEvent(0,{window:c.attr("id")})},_dropFixer:function(b){b.css("position","static");b.addClass(this.toThemeProperty("jqx-docking-window"));b.css("margin",this.windowsOffset);b.jqxWindow("enableResize",false);if(this.orientation==="horizontal"){this._fixWindowSize(b)}},_dropHandler:function(c){var b=this._getWindowOptions(c);if(this.mode==="docked"){this._dropDocked(c)}else{this._dropFloating(c)}},_dropDocked:function(d){var c=this._getWindowOptions(d),b=c.lastPosition;d.detach();if(b.next[0]){d.insertBefore(b.next)}else{if(b.prev[0]){d.insertAfter(b.prev)}else{b.parent.append(d)}}this._dropFixer(d)},_fixWindowSize:function(b){a(b).jqxWindow({width:b.parent().width()-(b.outerWidth()-b.width())-2*parseInt(this.windowsOffset,10)})},_itemResized:function(d){var b=d.data.self,c=a(d.currentTarget);b._setWindowOption(c,"size",{width:d.args.width,height:d.args.height});b._cookieExporter()},_dropFloating:function(c){var b;if(!a(c).jqxWindow("collapsed")){b=this._getWindowOptions(c);a(c).jqxWindow("enableResize",b.resizable)}a(document.body).append(c);this._restoreWindowSize(c)},_restoreWindowSize:function(c){var b=this._getWindowOptions(c);a(c).jqxWindow({width:b.size.width})},_isMouseOverItem:function(i,e,d){if(!i){return false}var j=i.outerWidth(true),g=i.outerHeight(true),b=i.width(),h=i.height(),f=i.offset().top,c=i.offset().left;if(d){f-=(g-h)/2;c-=(j-b)/2;b=j;h=g}if((c<=e.x&&c+b>=e.x)&&(f<=e.y&&f+h+2*this._draggingItem.height()/3>=e.y)){return true}return false},_cookieHandler:function(){if(this.cookies){var b=a.jqx.cookie.cookie("jqxDocking"+this.element.id);if(b!==null){this.importLayout(b);this.layoutImported=true}}},_cookieExporter:function(){if(this.cookies){a.jqx.cookie.cookie("jqxDocking"+this.element.id,this.exportLayout(),this.cookieOptions)}},_indexOf:function(c,d){for(var b=0;b<d.length;b+=1){if(c[0]===d[b][0]){return b}}return -1},_exportFixed:function(){var e=[],g="",b,f;for(var d=0;d<this._panels.length;d+=1){g+='"panel'+d+'": {';b=this._panels[d].children();for(var c=0;c<b.length;c+=1){f=a(b[c]);if(f.attr("id")){e.push(f);g+='"'+f.attr("id")+'":{"collapsed":'+f.jqxWindow("collapsed")+"},"}}if(b.length>1){g=g.substring(0,g.length-1)}g+="},"}g=g.substring(0,g.length-1);return{JSON:g,children:e}},_exportFloating:function(c){var e="",d;e+='"floating":{';for(var b=0;b<this._windows.length;b+=1){d=a(this._windows[b]);if(this._indexOf(d,c)===-1){e+='"'+d.attr("id")+'":{"x":"'+d.css("left")+'","y":"'+d.css("top")+'","width":"'+d.jqxWindow("width")+'","height":"'+d.jqxWindow("height")+'","collapsed":'+d.jqxWindow("collapsed")+"},"}}if(e.substring(e.length-1,e.length)===","){e=e.substring(0,e.length-1)}e+="}";return e},_importFixed:function(d){for(var e in d){if(e!=="orientation"&&e!=="floating"&&d.hasOwnProperty(e)){var b=e.substring(e.length-1,e.length);b=parseInt(b,10);var c=d[e];for(var e in c){a("#"+e).css("position","static");if(c[e].collapsed){(function(f){setTimeout(function(){a("#"+f).jqxWindow("collapsed",true)},0)}(e))}this._panels[b].append(a("#"+e));if(this.orientation==="horizontal"){this._fixWindowSize(a("#"+e))}}}}},_importFloating:function(d){var f=d.floating,c,b;for(var e in f){if(f.hasOwnProperty(e)){a("#"+e).css("position","absolute");a(document.body).append(a("#"+e));b=this._dragging;a("#"+e).jqxWindow("move",f[e].x,f[e].y);this._dragging=b;a("#"+e).jqxWindow("width",f[e].width);a("#"+e).jqxWindow("height",f[e].height);a("#"+e).jqxWindow("enableResize",true);this._setWindowsOptions(true);(function(g){setTimeout(function(){a("#"+g).jqxWindow("collapsed",f[g].collapsed)},0)}(e));a("#"+e).fadeTo(0,1)}}},_getWindowOptions:function(b){if(typeof b==="object"&&b!==null){if(b.length>0){b=b.attr("id")}else{b=b.id}}return this._windowOptions[b]},_setWindowOption:function(c,b,d){if(typeof c==="object"&&c!==null){if(c.length>0){c=c.attr("id")}else{c=c.id}}if(typeof this._windowOptions[c]==="undefined"){this._windowOptions[c]={}}this._windowOptions[c][b]=d;if(b==="mode"){this.setWindowMode(c,d)}},_expanded:function(c){var b=c.data.self;b._cookieExporter()},_collapsed:function(c){var b=c.data.self;b._cookieExporter()},_raiseEvent:function(b){var c=a.Event(this._events[b]);c.args=arguments[1];return this.host.trigger(c)},_moveWindow:function(e,c,b){var d=c.children();var g=null;var f=0;a.each(d,function(h){if(a(this).css("position")=="static"){if(f==b&&this!=e[0]){g=this}f++}});if(f<=b){e.appendTo(c)}else{if(g!=null){e.insertBefore(g)}}e.css("position","static")},propertyChangedHandler:function(b,c,e,d){switch(c){case"rtl":a.each(b._windows,function(){this.jqxWindow({rtl:d})});break;case"theme":a.each(b._windows,function(){this.jqxWindow({theme:d})});break;case"orientation":case"height":case"width":b._performLayout();b._cookieExporter();break;case"panelsRoundedCorners":b._removeClasses();b._addClasses();break;case"disabled":if(d){b.disabled=false;b.disable()}else{b.disabled=true;b.enable()}break;case"windowsMode":case"mode":b._setWindowsOptions(false);break;case"cookies":b._cookieExporter();break;case"windowsOffset":b._performLayout();break}},destroy:function(){this._removeEventListeners();this.host.remove();this.windowsMode=null;this.cookieOptions=null;this._windowOptions=null;this._panels=null;this._windows=null;this._events=null},disable:function(){if(!this.disabled){this.disabled=true;this._removeEventListeners();for(var b=0;b<this._windows.length;b+=1){this._windows[b][0].style.opacity="";a(this._windows[b]).jqxWindow("disable")}}},enable:function(){if(this.disabled){this.disabled=false;this._addEventListeners();for(var b=0;b<this._windows.length;b+=1){a(this._windows[b]).jqxWindow("enable")}}},move:function(f,c,b){var c=this._panels[c];if(!c){return}var e=a(c.children(".spacer")),d;e.detach();f=a("#"+f);d=this._getWindowOptions(f);if(d.mode==="floating"){return}else{this._moveWindow(f,c,b)}c.append(e);this._cookieExporter();this._dropFixer(f)},exportLayout:function(){var c="{",b=this._exportFixed();c+=b.JSON+","+this._exportFloating(b.children)+',"orientation": "'+this.orientation+'"';c+="}";return c},importLayout:function(g){try{var f=a.parseJSON(g),b,c;this.orientation=f.orientation;this._performLayout();this._importFixed(f);this._importFloating(f)}catch(d){alert("Invalid JSON string.")}},setWindowMode:function(c,d){var c=a("#"+c),b=this._getWindowOptions(c);if(d==="floating"){c.css("position","absolute");this._windowOptions[c.attr("id")]["mode"]=d}else{if(b.mode==="floating"&&c.css("position")==="absolute"){if(b.lastPosition){this._dropDocked(c)}else{this._panels[0].append(c);this._dropFixer(c)}}}this._windowOptions[c.attr("id")]["mode"]=d},hideCloseButton:function(b){a("#"+b).jqxWindow("showCloseButton",false)},showCloseButton:function(b){a("#"+b).jqxWindow("showCloseButton",true)},hideCollapseButton:function(b){a("#"+b).jqxWindow("showCollapseButton",false)},showCollapseButton:function(b){a("#"+b).jqxWindow("showCollapseButton",true)},expandWindow:function(b,c){a("#"+b).jqxWindow("expand",c)},collapseWindow:function(b,c){a("#"+b).jqxWindow("collapse",c)},setWindowProperty:function(c,b,d){a("#"+c).jqxWindow(b,d)},getWindowProperty:function(c,b){return a("#"+c).jqxWindow(b)},setWindowPosition:function(d,b,e){var d=a("#"+d),c=this._getWindowOptions(d);if(c.mode==="floating"){d.css("position","absolute");a(d).jqxWindow("move",b,e,null,false)}},hideAllCloseButtons:function(){for(var b=0;b<this._windows.length;b+=1){this._windows[b].jqxWindow("showCloseButton",false)}},hideAllCollapseButtons:function(){for(var b=0;b<this._windows.length;b+=1){this._windows[b].jqxWindow("showCollapseButton",false)}},showAllCloseButtons:function(){for(var b=0;b<this._windows.length;b+=1){this._windows[b].jqxWindow("showCloseButton",true)}},showAllCollapseButtons:function(){for(var b=0;b<this._windows.length;b+=1){this._windows[b].jqxWindow("showCollapseButton",true)}},pinWindow:function(b){a("#"+b).jqxWindow("draggable",false)},unpinWindow:function(b){a("#"+b).jqxWindow("draggable",true)},setDraggingMode:function(c){var b=a("#"+c);this._prepareForDragging(b);b.fadeTo(0,1)},enableWindowResize:function(b){b=a("#"+b);if(b.css("position")==="absolute"){this._setWindowOption(b,"resizable",true);b.jqxWindow("enableResize",true)}},disableWindowResize:function(b){b=a("#"+b);this._setWindowOption(b,"resizable",false);b.jqxWindow("enableResize",false)},addWindow:function(e,f,d,c){var b="#"+e;a(b).jqxWindow({keyboardNavigation:false,rtl:this.rtl,theme:this.theme,enableResize:false,width:a(b).css("width"),maxWidth:Number.MAX_VALUE});this._panels[0].append(a(b));this._windows.push(a(b));if(f){this._setWindowOption(a(b),"mode",f)}else{this._setWindowOption(a(b),"mode",this.mode)}this._setWindowOption(a(b),"resizable",true);this._setWindowOption(a(b),"size",{width:a(b).width(),height:a(b).height()});if(f=="floating"){a(b).jqxWindow({enableResize:true})}else{a(b).jqxWindow({enableResize:false})}if(this._panels[d]!=null){this._setWindowOption(a(b),"size",{width:this._panels[d].width(),height:this._panels[d].height()})}this._addEventListenersTo(a(b));if(typeof d!=="undefined"&&typeof c!=="undefined"){this.move(e,d,c)}this._dropFixer(a(b))},closeWindow:function(b){a("#"+b).jqxWindow("closeWindow")}})})(jqxBaseFramework);
 
@@ -80,27 +80,27 @@
 
 (function(d){var b={defineInstance:function(){var e={width:350,height:350,radius:"50%",endAngle:270,startAngle:30,int64:false,editableLabels:false,value:0,min:0,max:220,disabled:false,ticksDistance:"20%",colorScheme:"scheme01",animationDuration:400,showRanges:true,easing:"easeOutCubic",labels:null,pointer:null,cap:null,caption:null,border:null,ticksMinor:null,ticksMajor:null,tickMode:"default",niceInterval:false,style:null,ranges:[],_radius:100,_border:null,_radiusDifference:2,_pointer:null,_labels:[],_cap:null,_ticks:[],_ranges:[],_gauge:null,_caption:null,_animationTimeout:10,renderer:null,_animations:[],aria:{"aria-valuenow":{name:"value",type:"number"},"aria-valuemin":{name:"min",type:"number"},"aria-valuemax":{name:"max",type:"number"},"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===d.jqx._jqxGauge.prototype){return e}d.extend(true,this,e);return e},createInstance:function(f){var e=this;e.that=this;d.jqx.aria(e);e._radius=e.radius;e.endAngle=e.endAngle*Math.PI/180+Math.PI/2;e.startAngle=e.startAngle*Math.PI/180+Math.PI/2;if(e.int64==="s"){if(!d.jqx.longInt){throw new Error("jqxGauge: Missing reference to jqxmath.js")}d.jqx.longInt(e);e._value64=new d.jqx.math().fromString(e.value.toString(),10);e._min64=new d.jqx.math().fromString(e.min.toString(),10);e._max64=new d.jqx.math().fromString(e.max.toString(),10)}else{if(e.int64==="u"){try{BigNumber}catch(g){throw new Error("jqxGauge: Missing reference to jqxmath.js")}e._value64=new BigNumber(e.value);e._min64=new BigNumber(e.min);e._max64=new BigNumber(e.max)}else{e.value=new Number(e.value)}}e._refresh();e.renderer.getContainer().css("overflow","hidden");if(e.int64!==false){e.setValue(e._value64,0)}else{e.setValue(e.value,0)}d.jqx.utilities.resize(e.host,function(){e._refresh(true)});e.host.addClass(e.toThemeProperty("jqx-widget"))},_validateEasing:function(){return !!d.easing[this.easing]},_validateProperties:function(){if(this.startAngle===this.endAngle){throw new Error("The end angle can not be equal to the start angle!")}if(!this._validateEasing()){this.easing="linear"}this.ticksDistance=this._validatePercentage(this.ticksDistance,"20%");this.border=this._borderConstructor(this.border,this);this.style=this.style||{fill:"#ffffff",stroke:"#E0E0E0"};this.ticksMinor=new this._tickConstructor(this.ticksMinor,this);this.ticksMajor=new this._tickConstructor(this.ticksMajor,this);this.cap=new this._capConstructor(this.cap,this);this.pointer=new this._pointerConstructor(this.pointer,this);this.labels=new this._labelsConstructor(this.labels,this);this.caption=new this._captionConstructor(this.caption,this);for(var e=0;e<this.ranges.length;e+=1){this.ranges[e]=new this._rangeConstructor(this.ranges[e],this)}},_hostInit:function(f){var e=this._getScale(this.width,"width",this.host.parent()),l=this._getScale(this.height,"height",this.host.parent()),g=this._outerBorderOffset(),m=this.host,i;m.width(e);m.height(l);this.radius=i=0;var k=(this._getScale(this._radius,"width",this.host)||e/2)-g;var j=(this._getScale(this._radius,"height",this.host)||l/2)-g;this.radius=i=Math.min(k,j);this._originalRadius=parseInt(this.radius,10)-this._radiusDifference;this._innerRadius=this._originalRadius;if(this.border){this._innerRadius-=this._getSize(this.border.size)}if(!f){m[0].innerHTML="<div />"}this._gaugeParent=m.children();this._gaugeParent.width(e);this._gaugeParent.height(l);if(!f){this.renderer.init(this._gaugeParent)}else{var h=this.renderer.getContainer();h[0].style.width=e+"px";h[0].style.height=l+"px"}},_initRenderer:function(e){if(!d.jqx.createRenderer){throw"Please include a reference to jqxdraw.js"}return d.jqx.createRenderer(this,e)},_refresh:function(f){var e=this;if(f){e._ticksIterator=0;e._labelsIterator=0;if(e._ranges){d(e._ranges).remove()}if(e._pointer){d(e._pointer).remove()}e._pointer=null;e._ranges=[];if(e.niceInterval){if(e._labels){d(e._labels).remove()}e._labels=[];if(e._ticks){d(e._ticks).remove();e._ticks=[]}}e._hostInit(f);e._render(f);return}if(!e.renderer){e._isVML=false;e.host.empty();e._initRenderer(e.host)}var g=e.renderer;if(!g){return}if(e._ranges){d(e._ranges).remove()}if(e._pointer){d(e._pointer).remove()}if(e._labels){d(e._labels).remove()}if(e._cap){d(e._cap).remove()}if(e._ticks){d(e._ticks).remove()}if(e._border){d(e._border).remove()}if(e._caption){d(e._caption).remove()}e._caption=null;e._labels=[];e._cap=null;e._ticks=[];e._ranges=[];e._border=null;e._pointer=null;e._validateProperties();e._removeElements();e._hostInit();e._render();e.setValue(this.value,0);e._editableLabels()},val:function(e){if(arguments.length==0||typeof(e)=="object"){return this.value}this.setValue(e,0)},refresh:function(e){if(e===true){return}this._refresh.apply(this,Array.prototype.slice(arguments))},_outerBorderOffset:function(){var e=parseInt(this.border.style["stroke-width"],10)||1;return e/2},_removeCollection:function(f){for(var e=0;e<f.length;e+=1){d(f[e]).remove()}f=[]},_render:function(e){this._addBorder(e);this._addGauge(e);this._addRanges(e);if(!this.niceInterval){this._addTicks(e);this._addLabels(e)}else{this._addTicks()}this._styleLabels();this._addCaption(e);this._addPointer(e);this._addCap(e)},_addBorder:function(g){if(!this.border.visible){return}if(g){var f=this._outerBorderOffset();this._border.setAttribute("cx",this._originalRadius+f);this._border.setAttribute("cy",this._originalRadius+f);this._border.setAttribute("r",this._originalRadius);return}var e=this.border.style.fill,f=this._outerBorderOffset();if(!e){e="#BABABA"}if(this.border.showGradient){if(e.indexOf("url")<0&&e.indexOf("#grd")<0){this._originalColor=e}else{e=this._originalColor}e=this.renderer._toLinearGradient(e,true,[[0,1],[25,1.1],[50,1.5],[100,1]])}this._border=this.renderer.circle(this._originalRadius+f,this._originalRadius+f,this._originalRadius);this.border.style.fill=e;this.renderer.attr(this._border,this.border.style)},_addGauge:function(g){var h=this._originalRadius,e=this.renderer._toLinearGradient("#ffffff",[[3,2],[100,1]],true),f=this._outerBorderOffset();if(g){this._gauge.setAttribute("cx",h+f);this._gauge.setAttribute("cy",h+f);this._gauge.setAttribute("r",this._innerRadius)}else{this._gauge=this.renderer.circle(h+f,h+f,this._innerRadius);this.renderer.attr(this._gauge,this.style)}},_addCap:function(h){var e="visible",g=this._outerBorderOffset();if(!this.cap.visible){e="hidden"}var i=this._originalRadius,f=this._getSize(this.cap.size),j;if(h){this._cap.setAttribute("cx",i+g);this._cap.setAttribute("cy",i+g);this._cap.setAttribute("r",f);this._capCenter=[i,i]}else{j=this.renderer.circle(i+g,i+g,f);this._capCenter=[i,i];this.renderer.attr(j,this.cap.style);d(j).css("visibility",e);this._cap=j}},_addTicks:function(k){var u=this;var w=this.ticksMinor,g=this.ticksMajor,q,v,p,s={};if(g.visible===false&&w.visible===false&&this.labels.visible===false){return}function o(i){if(g.visible){u._drawTick({angle:u._getAngleByValue(i),distance:u._getDistance(u.ticksDistance),style:g.style,size:u._getSize(g.size),type:"major"},k)}}function h(j){if(w.visible){u._drawTick({angle:u._getAngleByValue(j),distance:u._getDistance(u.ticksDistance),style:w.style,size:u._getSize(w.size),type:"minor"},k)}}function e(i){if(u.labels.visible){u._addLabel({angle:u._getAngleByValue(i),value:v>=1?i:new Number(i).toFixed(2),distance:u._getDistance(u._getLabelsDistance()),style:u.labels.className},k)}}var n=0;if(u.int64==="s"){if(this.tickMode==="default"){if(this.niceInterval){v=this._getNiceInterval("radial");q=this._getNiceInterval("radial",true)}else{v=new d.jqx.math().fromString((g.interval).toString(),10);q=new d.jqx.math().fromString((w.interval).toString(),10)}}else{p=this._max64.subtract(this._min64);q=p.div(new d.jqx.math().fromString((w.number).toString(),10));v=p.div(new d.jqx.math().fromString((g.number).toString(),10))}if(this.niceInterval){o(this._min64);e(this._min64);var f=this._min64.subtract(this._min64.modulo(v)).add(v),t;for(var r=f;r.greaterThanOrEqual(this._min64);r=r.subtract(q)){t=r}for(var m=t,l=f;m.lessThan(this._max64)||l.lessThan(this._max64);m=m.add(q),l=l.add(v)){n+=1;if(n>250){break}if(l.lessThanOrEqual(this._max64)){o(l);s[l.toString()]=true;if(m.equals(f)){if(Math.abs(this._getAngleByValue(l)-this._getAngleByValue(this.min))*this._innerRadius>this._getMaxLabelSize()["height"]){e(l)}}else{if((l.add(v)).lessThan(this._max64)){e(l)}else{if(Math.abs(this._getAngleByValue(l)-this._getAngleByValue(this.max))*this._innerRadius>this._getMaxLabelSize()["height"]){e(l)}}}}if(!s[m.toString()]&&m.lessThanOrEqual(u._max64)){h(m)}if(u._checkForOverflow(m,q)||u._checkForOverflow(l,v)){break}}o(this._max64);e(this._max64)}else{for(var m=new d.jqx.math().fromString((u.min).toString(),10),l=new d.jqx.math().fromString((u.min).toString(),10);m.lessThanOrEqual(u._max64)||l.lessThanOrEqual(u._max64);m=m.add(q),l=l.add(v)){n+=1;if(n>250){break}if(l.lessThanOrEqual(u._max64)&&g.visible){o(l);s[l.toString()]=true}if(!s[m.toString()]&&w.visible&&m.lessThanOrEqual(u._max64)){h(m)}}}}else{if(u.int64==="u"){if(this.tickMode==="default"){if(this.niceInterval){v=this._getNiceInterval("radial");q=this._getNiceInterval("radial",true)}else{v=new BigNumber(g.interval);q=new BigNumber(w.interval)}}else{p=this._max64.subtract(this._min64);q=p.divide(new BigNumber(w.number));v=p.divide(new BigNumber(g.number))}if(this.niceInterval){o(this._min64);e(this._min64);var f=this._min64.subtract(this._min64.mod(v)).add(v),t;for(var r=f;r.compare(this._min64)!==-1;r=r.subtract(q)){t=r}for(var m=t,l=f;m.compare(this._max64)===-1||l.compare(this._max64)===-1;m=m.add(q),l=l.add(v)){n+=1;if(n>250){break}if(l.compare(this._max64)!==1){o(l);s[l.toString()]=true;if(m.compare(f)===0){if(Math.abs(this._getAngleByValue(l)-this._getAngleByValue(this.min))*this._innerRadius>this._getMaxLabelSize()["height"]){e(l)}}else{if((l.add(v)).compare(this._max64)===-1){e(l)}else{if(Math.abs(this._getAngleByValue(l)-this._getAngleByValue(this.max))*this._innerRadius>this._getMaxLabelSize()["height"]){e(l)}}}}if(!s[m.toString()]&&(m.compare(u._max64)!==1)){h(m)}}o(this._max64);e(this._max64)}else{for(var m=new BigNumber(u.min),l=new BigNumber(u.min);(m.compare(u._max64)!==1)||(l.compare(u._max64)!==1);m=m.add(q),l=l.add(v)){n+=1;if(n>250){break}if((l.compare(u._max64)!==1)&&g.visible){o(l);s[l.toString()]=true}if(!s[m.toString()]&&w.visible&&(m.compare(u._max64)!==1)){h(m)}}}}else{if(this.tickMode==="default"){if(this.niceInterval){v=this._getNiceInterval("radial");q=this._getNiceInterval("radial",true)}else{v=g.interval;q=w.interval}}else{p=this.max-this.min;q=p/w.number;v=p/g.number}if(this.niceInterval){o(this.min);e(this.min);var f=this.min-(this.min%v)+v,t;for(var r=f;r>=this.min;r=r-q){t=r}for(var m=t,l=f;m<this.max||l<this.max;m+=q,l+=v){n+=1;if(n>250){break}if(l<=this.max){o(l);s[l.toFixed(5)]=true;if(m===f){if(Math.abs(this._getAngleByValue(l)-this._getAngleByValue(this.min))*this._innerRadius>this._getMaxLabelSize()["height"]){e(l)}}else{if(l+v<this.max){e(l)}else{if(Math.abs(this._getAngleByValue(l)-this._getAngleByValue(this.max))*this._innerRadius>this._getMaxLabelSize()["height"]){e(l)}}}}if(!s[m.toFixed(5)]&&m<=this.max){h(m)}}o(this.max);e(this.max)}else{for(var m=this.min,l=this.min;m<=this.max||l<=this.max;m+=q,l+=v){n+=1;if(n>250){break}if(l<=this.max&&g.visible){o(l);s[l.toFixed(5)]=true}if(!s[m.toFixed(5)]&&w.visible&&m<=this.max){h(m)}}}}}this._handleTicksVisibility()},_handleTicksVisibility:function(){if(!this.ticksMinor.visible){this.host.children(".jqx-gauge-tick-minor").css("visibility","hidden")}else{this.host.children(".jqx-gauge-tick-minor").css("visibility","visible")}if(!this.ticksMajor.visible){this.host.children(".jqx-gauge-tick-major").css("visibility","hidden")}else{this.host.children(".jqx-gauge-tick-major").css("visibility","visible")}},_getSize:function(e){if(e.toString().indexOf("%")>=0){e=(parseInt(e,10)/100)*this._innerRadius}e=parseInt(e,10);return e},_getDistance:function(e){return this._getSize(e)+(this._originalRadius-this._innerRadius)},_drawTick:function(t,k){var m=this.that;var j=t.angle,g=t.distance,s=t.size,l=m._outerBorderOffset(),e=m._originalRadius,i=e-g,n=i-s,h=e+l+i*Math.sin(j),p=e+l+i*Math.cos(j),f=e+l+n*Math.sin(j),o=e+l+n*Math.cos(j),q;t.style["class"]=m.toThemeProperty("jqx-gauge-tick-"+t.type);if(m._isVML){h=Math.round(h);f=Math.round(f);p=Math.round(p);o=Math.round(o)}if(k&&!m.niceInterval){var q=m._ticks[m._ticksIterator];q.setAttribute("x1",h);q.setAttribute("x2",f);q.setAttribute("y1",p);q.setAttribute("y2",o);m._ticksIterator++}else{q=m.renderer.line(h,p,f,o,t.style);m._ticks.push(q)}},_addRanges:function(h){var f="visible";if(!this.showRanges){f="hidden"}else{var e=this.ranges;for(var g=0;g<e.length;g+=1){this._addRange(e[g],f,h)}}},_getMaxRangeSize:function(){var f,h=-1,j,e;for(var g=0;g<this.ranges.length;g+=1){j=this.ranges[g].startWidth;e=this.ranges[g].endWidth;if(j>h){h=j}if(e>h){h=e}}return h},_getRangeDistance:function(i,e){var h=this._getLabelsDistance(),f=this._getDistance(i),g=this._getMaxRangeSize();if(this.labels.position==="outside"){if(h<f+this._getMaxTickSize()){return this._getDistance(this.ticksDistance)+g/2+this._getSize(this.ticksMajor.size)}}else{if(this.labels.position==="inside"){if(h+this._getMaxTickSize()<f){return this._getSize(this.border.size)+this._originalRadius/20}}}return f},_addRange:function(m,u,i){var h=this.that;if((h.int64==="s"&&(m._startValue64.lessThan(h._min64)||m._endValue64.greaterThan(h._max64)))||(h.int64==="u"&&((m._startValue64.compare(h._min64)===-1)||(m._endValue64.compare(h._max64)===1)))||(h.int64===false&&(m.startValue<h.min||m.endValue>h.max))){return}var s=h.int64?h._getAngleByValue(m._startValue64):h._getAngleByValue(m.startValue),q=h.int64?h._getAngleByValue(m._endValue64):h._getAngleByValue(m.endValue);var f=h._originalRadius,r=f-h._getRangeDistance(m.startDistance,m.startWidth),t=f-h._getRangeDistance(m.endDistance,m.endWidth),n=m.startWidth,k=m.endWidth,j=h._outerBorderOffset(),p={x:f+j+r*Math.sin(s),y:f+j+r*Math.cos(s)},l={x:f+j+t*Math.sin(q),y:f+j+t*Math.cos(q)},v=h._getProjectionPoint(s,f+j,r,n),g=h._getProjectionPoint(q,f+j,t,k),e="default",o,m;if(Math.abs(q-s)>Math.PI){e="opposite"}if(h._isVML){o=h._rangeVMLRender(p,l,f,v,g,k,n,r,t,e)}else{o=h._rangeSVGRender(p,l,f,v,g,k,n,r,t,e)}m.style.visibility=u;m.style["class"]=h.toThemeProperty("jqx-gauge-range");m=h.renderer.path(o,m.style);h._ranges.push(m)},_rangeSVGRender:function(i,m,k,o,l,e,j,f,n,h){var p="",f=k-f,n=k-n,g=["0,1","0,0"];if(h==="opposite"){g=["1,1","1,0"]}p="M"+i.x+","+i.y+" ";p+="A"+(k-f)+","+(k-f)+" 100 "+g[0]+" "+m.x+","+m.y+" ";p+="L "+(l.x)+","+(l.y)+" ";p+="A"+(k-e-f)+","+(k-e-f)+" 100 "+g[1]+" "+(o.x)+","+(o.y)+" ";p+="L "+(i.x)+","+(i.y)+" ";p+="z";return p},_rangeVMLRender:function(p,m,h,w,i,l,n,q,s,f){h-=h-q+10;var o="",r=Math.floor(h+(n+l)/2),q=Math.floor(h-q),s=Math.floor(s),t={x:(w.x+i.x)/2,y:(w.y+i.y)/2},e=Math.sqrt((i.x-w.x)*(i.x-w.x)+(i.y-w.y)*(i.y-w.y)),v=Math.floor(t.x+Math.sqrt(h*h-(e/2)*(e/2))*(w.y-i.y)/e),u=Math.floor(t.y+Math.sqrt(h*h-(e/2)*(e/2))*(i.x-w.x)/e),x={x:(p.x+m.x)/2,y:(p.y+m.y)/2},g=Math.sqrt((m.x-p.x)*(m.x-p.x)+(m.y-p.y)*(m.y-p.y)),k=Math.floor(x.x+Math.sqrt(Math.abs(r*r-(g/2)*(g/2)))*(p.y-m.y)/g),j=Math.floor(x.y+Math.sqrt(Math.abs(r*r-(g/2)*(g/2)))*(m.x-p.x)/g);if(f==="opposite"){v=Math.floor(t.x-Math.sqrt(h*h-(e/2)*(e/2))*(w.y-i.y)/e);u=Math.floor(t.y-Math.sqrt(h*h-(e/2)*(e/2))*(i.x-w.x)/e);k=Math.floor(x.x-Math.sqrt(Math.abs(r*r-(g/2)*(g/2)))*(p.y-m.y)/g);j=Math.floor(x.y-Math.sqrt(Math.abs(r*r-(g/2)*(g/2)))*(m.x-p.x)/g)}h=Math.floor(h);m={x:Math.floor(m.x),y:Math.floor(m.y)};p={x:Math.floor(p.x),y:Math.floor(p.y)};w={x:Math.floor(w.x),y:Math.floor(w.y)};i={x:Math.floor(i.x),y:Math.floor(i.y)};o="m "+m.x+","+m.y;o+="at "+(k-r)+" "+(j-r)+" "+(r+k)+" "+(r+j)+" "+m.x+","+m.y+" "+p.x+","+p.y;o+="l "+w.x+","+w.y;o+="m "+m.x+","+m.y;o+="l "+i.x+","+i.y;o+="at "+(v-h)+" "+(u-h)+" "+(h+v)+" "+(h+u)+" "+i.x+","+i.y+" "+w.x+","+w.y;o+="qx "+w.x+" "+w.y;return o},_getProjectionPoint:function(i,f,h,g){var e={x:f+(h-g)*Math.sin(i),y:f+(h-g)*Math.cos(i)};return e},_addLabels:function(i){var g=this,f=g._getLabelInterval();if(g.labels.visible&&g.labels.interval.toString()!=="0"){var k=this._getDistance(this._getLabelsDistance()),j;var h=0;if(g.int64==="s"){for(var e=new d.jqx.math().fromNumber(g.min.toString(),10);e.lessThanOrEqual(g._max64);e=e.add(f)){h+=1;if(h>250){break}if(e.lessThan(g._min64)||e.greaterThan(g._max64)){break}this._addLabel({angle:this._getAngleByValue(e),value:e.toString(),distance:k,style:this.labels.className})}}else{if(g.int64==="u"){for(var e=new BigNumber(g.min);e.compare(g._max64)!==1;e=e.add(f)){h+=1;if(h>250){break}if((e.compare(g._min64)===-1)||(e.compare(g._max64)===1)){break}this._addLabel({angle:this._getAngleByValue(e),value:e.toString(),distance:k,style:this.labels.className})}}else{for(var e=this.min;e<=this.max;e+=f){h+=1;if(h>250){break}this._addLabel({angle:this._getAngleByValue(e),value:f>=1?e:new Number(e).toFixed(2),distance:k,style:this.labels.className},i)}}}}},_getLabelsDistance:function(){var g=this._getMaxLabelSize(),f=this._getDistance(this.labels.distance),e=this._getDistance(this.ticksDistance);g=g.width;if(this.labels.position==="inside"){return e+g-5}else{if(this.labels.position==="outside"){if(f<(e-g*1.5)){return f}return Math.max(e-g*1.5,0.6*g)}}return this.labels.distance},_addLabel:function(k,p){var n=this.that;var C=k.angle,z=n._originalRadius,t=z-k.distance,m=n.labels.offset,u=n._outerBorderOffset(),s=z+u+t*Math.sin(C)+m[0],q=z+u+t*Math.cos(C)+m[1],B=k.value,f=k.style||"",A,o,h=n.labels.fontSize;B=n._formatLabel(B.toString());var i={"class":f};if(h){i["font-size"]=h}if(n.labels.fontFamily){i["font-family"]=n.labels.fontFamily}if(n.labels.fontWeight){i["font-weight"]=n.labels.fontWeight}if(n.labels.fontStyle){i["font-style"]=n.labels.fontStyle}if(p&&!n.niceInterval){var o=n._labels[n._labelsIterator];var v=n.renderer._measureText(B,0,i,true);var j=v.textPartsInfo;var g=j.parts;var D=j.width;var l=j.height;o.setAttribute("x",Math.round(s)-v.width/2+(v.width-j.width)/2);o.setAttribute("y",Math.round(q)+l+(v.height-l)/2);n._labelsIterator++}else{var A=n.renderer.measureText(B,0,i);var e=0;if(h!==undefined&&Math.PI>C){e=(-A.width/2)*(parseInt(h)/25);if(parseInt(h)<=10){e*=-1}}i["class"]=this.toThemeProperty("jqx-gauge-label");o=n.renderer.text(B,Math.round(s)-A.width/2+e,Math.round(q),A.width,A.height,0,i);n._labels.push(o)}},_addCaption:function(g){if(this.caption.visible!==false){var j=this.that;var l=j.caption.value,k=j.toThemeProperty("jqx-gauge-caption"),h=j.caption.offset,n=j.renderer.measureText(l,0,{"class":k}),i=j._getPosition(this.caption.position,n,h),e=j.caption.style,f=j._outerBorderOffset();if(!g){var m=j.renderer.text(l,i.left+f,i.top+f,n.width,n.height,0,{"class":k});this._caption=m}else{this._caption.setAttribute("x",i.left+f);this._caption.setAttribute("y",i.top+f)}}},_getPosition:function(e,f,j){var i=0,h=0,g=this._originalRadius;switch(e){case"left":i=(g-f.width)/2;h=g-f.height/2;break;case"right":i=g+(g-f.width)/2;h=g-f.height/2;break;case"bottom":i=(2*g-f.width)/2;h=(g+2*g-f.height)/2;break;default:i=(2*g-f.width)/2;h=(g+f.height)/2;break}return{left:i+j[0],top:h+j[1]}},_addPointer:function(i){var g="visible";if(!this.pointer.visible){g="hidden"}var f=this._originalRadius,j=this._getSize(this.pointer.length),k=j*0.9,l=this._getAngleByValue(this.value),e=this.pointer.pointerType,h;h=this._computePointerPoints(this._getSize(this.pointer.width),l,j,e!=="default");this._pointer=this.renderer.path(h,this.pointer.style);d(this._pointer).css("visibility",g)},_computePointerPoints:function(e,g,h,f){if(!f){return this._computeArrowPoints(e,g,h)}else{return this._computeRectPoints(e,g,h)}},_computeArrowPoints:function(n,g,k){var f=this._originalRadius-0.5,l=Math.sin(g),q=Math.cos(g),j=this._outerBorderOffset(),o=f+j+k*l,m=f+j+k*q,i=f+j+n*q,e=f+j-n*l,h=f+j-n*q,s=f+j+n*l,p;if(this._isVML){i=Math.round(i);h=Math.round(h);e=Math.round(e);s=Math.round(s);o=Math.round(o);m=Math.round(m)}p="M "+i+","+e+" L "+h+","+s+" L "+o+","+m+"";return p},_computeRectPoints:function(q,i,o){var f=this._originalRadius,p=Math.sin(i),t=Math.cos(i),u=o,l=this._outerBorderOffset(),n=f+l-q*t+o*p,h=f+l+q*p+o*t,m=f+l+q*t+o*p,g=f+l-q*p+o*t,k=f+l+q*t,e=f+l-q*p,j=f+l-q*t,v=f+l+q*p,s;if(this._isVML){k=Math.round(k);j=Math.round(j);e=Math.round(e);v=Math.round(v);n=Math.round(n);h=Math.round(h);m=Math.round(m);g=Math.round(g)}s="M "+k+","+e+" L "+j+","+v+" L "+n+","+h+" "+m+","+g;return s},_getAngleByValue:function(s){var v=this,p=v.startAngle,t=p-v.endAngle,e,k,o,n,h;if(v.int64!==false){if(v.int64==="s"){s=new d.jqx.math().fromString(s.toString(),10)}else{s=new BigNumber(s)}e=v._min64;k=v._max64;o=k.subtract(e);n=s.subtract(e);if(v.int64==="u"){n=n.intPart()}var f=o.toString(),j,r=n.toString(),g;if(f.length>15){var u=f.length-15;f=f.slice(0,15)+"."+f.slice(15);j=parseFloat(f);if(r.length>u){var q=r.length-u;r=r.slice(0,q)+"."+r.slice(q)}else{if(r.length===u){r="0."+r}else{var m="0.";for(var l=0;l<u-r.length;l++){m+="0"}r=m+""+r}}g=parseFloat(r)}else{j=parseFloat(o.toString());g=parseFloat(n.toString())}h=t*g/j+p+Math.PI}else{e=v.min;k=v.max;o=k-e;n=s-e;h=t*n/o+p+Math.PI}return h},_setValue:function(h){var f=this;if((f.int64==="s"&&h.lessThanOrEqual(f._max64)&&h.greaterThanOrEqual(f._min64))||(f.int64==="u"&&h.compare(f._max64)!==1&&h.compare(f._min64)!==-1)||(f.int64===false&&h<=f.max&&h>=f.min)){var i=f._getAngleByValue(h),e=f.pointer.pointerType,g=f._computePointerPoints(f._getSize(f.pointer.width),i,f._getSize(f.pointer.length),e!=="default");if(f._isVML){if(f._pointer){d(f._pointer).remove()}f._pointer=f.renderer.path(g,f.pointer.style)}else{f.renderer.attr(f._pointer,{d:g})}if(f.int64!==false){f.value=h.toString();if(f.int64==="s"){f._value64=new d.jqx.math().fromString(f.value,10)}else{f._value64=new BigNumber(f.value)}}else{f.value=h}d.jqx.aria(f,"aria-valuenow",h.toString())}},resize:function(f,e){this.width=f;this.height=e;this.refresh()},propertiesChangedHandler:function(e,f,g){if(g.width&&g.height&&Object.keys(g).length==2){e._refresh(true)}},propertyChangedHandler:function(e,f,h,g){if(g==h){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}if(f=="min"){if(e.int64===true){e._min64=new d.jqx.math().fromString(g.toString(),10)}else{this.min=parseInt(g)}d.jqx.aria(e,"aria-valuemin",g)}if(f=="max"){if(e.int64===true){e._max64=new d.jqx.math().fromString(g.toString(),10)}else{this.max=parseInt(g)}d.jqx.aria(e,"aria-valuemax",g)}if(f==="disabled"){if(g){this.disable()}else{this.enable()}d.jqx.aria(this,"aria-disabled",g)}else{if(f==="value"){this.value=h;this.setValue(g)}else{if(f==="startAngle"){this.startAngle=this.startAngle*Math.PI/180+Math.PI/2}else{if(f==="endAngle"){this.endAngle=this.endAngle*Math.PI/180+Math.PI/2}else{if(f==="colorScheme"){this.pointer.style=null;this.cap.style=null}else{if(f==="radius"){this._radius=g}}}}if(f!=="animationDuration"&&f!=="easing"){this._refresh()}}}if(this.renderer instanceof d.jqx.HTML5Renderer){this.renderer.refresh()}},_tickConstructor:function(g,e){if(this.host){return new this._tickConstructor(g,e)}g=g||{};this.size=e._validatePercentage(g.size,"10%");function f(h,i){if(e.int64===false){h[i]=parseFloat(g[i])}else{h[i]=g[i]}if(!h[i]){h[i]=5}}f(this,"interval");f(this,"number");this.style=g.style||{stroke:"#898989","stroke-width":1};if(typeof g.visible==="undefined"){this.visible=true}else{this.visible=g.visible}},_capConstructor:function(g,e){var f=e._getColorScheme(e.colorScheme)[0];if(this.host){return new this._capConstructor(g,e)}g=g||{};if(typeof g.visible==="undefined"){this.visible=true}else{this.visible=g.visible}this.size=e._validatePercentage(g.size,"4%");this.style=g.style||{fill:f,"stroke-width":"1px",stroke:f,"z-index":30}},_pointerConstructor:function(g,e){var f=e._getColorScheme(e.colorScheme)[0];if(this.host){return new this._pointerConstructor(g,e)}g=g||{};if(typeof g.visible==="undefined"){this.visible=true}else{this.visible=g.visible}this.pointerType=g.pointerType;if(this.pointerType!=="default"&&this.pointerType!=="rectangle"){this.pointerType="default"}this.style=g.style||{"z-index":0,stroke:f,fill:f,"stroke-width":1};this.length=e._validatePercentage(g.length,"70%");this.width=e._validatePercentage(g.width,"2%")},_labelsConstructor:function(f,e){if(this.host){return new this._labelsConstructor(f,e)}f=f||{};if(typeof f.visible==="undefined"){this.visible=true}else{this.visible=f.visible}this.offset=f.offset;if(!(this.offset instanceof Array)){this.offset=[0,-10]}if(!f.interval){f.interval=20}if(e.int64!==false){this.interval=f.interval;if(e.int64==="s"){this._interval64=new d.jqx.math().fromString(f.interval.toString(),10)}else{this._interval64=new BigNumber(f.interval)}}else{this.interval=parseFloat(f.interval)}if(!f.number){f.number=5}this.number=f.number;this.distance=e._validatePercentage(f.distance,"38%");this.position=f.position;if(this.position!=="inside"&&this.position!=="outside"){this.position="none"}this.formatValue=f.formatValue;this.formatSettings=f.formatSettings;this.fontSize=f.fontSize;this.fontFamily=f.fontFamily;this.fontWeight=f.fontWeight;this.fontStyle=f.fontStyle},_captionConstructor:function(f,e){if(this.host){return new this._captionConstructor(f,e)}f=f||{};if(typeof f.visible==="undefined"){this.visible=true}else{this.visible=f.visible}this.value=f.value||"";this.position=f.position;if(this.position!=="bottom"&&this.position!=="top"&&this.position!=="left"&&this.position!=="right"){this.position="bottom"}this.offset=f.offset;if(!(this.offset instanceof Array)){this.offset=[0,0]}},_rangeConstructor:function(f,e){if(this.host){return new this._rangeConstructor(f,e)}f=f||{};this.startDistance=e._validatePercentage(f.startDistance,"5%");this.endDistance=e._validatePercentage(f.endDistance,"5%");this.style=f.style||{fill:"#000000",stroke:"#111111"};this.startWidth=parseFloat(f.startWidth,10);if(!this.startWidth){this.startWidth=10}this.startWidth=Math.max(this.startWidth,2);this.endWidth=parseFloat(f.endWidth,10);if(!this.endWidth){this.endWidth=10}this.endWidth=Math.max(this.endWidth,2);if(f.startValue===undefined){f.startValue=0}if(f.endValue===undefined){f.endValue=100}if(e.int64!==false){this.startValue=f.startValue;this.endValue=f.endValue;if(e.int64==="s"){this._startValue64=new d.jqx.math().fromString(f.startValue.toString(),10);this._endValue64=new d.jqx.math().fromString(f.endValue.toString(),10)}else{this._startValue64=new BigNumber(f.startValue);this._endValue64=new BigNumber(f.endValue)}}else{this.startValue=parseFloat(f.startValue,10);this.endValue=parseFloat(f.endValue,10)}},_borderConstructor:function(f,e){if(this.host){return new this._borderConstructor(f,e)}f=f||{};this.size=e._validatePercentage(f.size,"10%");this.style=f.style||{stroke:"#cccccc"};if(typeof f.showGradient==="undefined"){this.showGradient=true}else{this.showGradient=f.showGradient}if(typeof f.visible==="undefined"){this.visible=true}else{this.visible=f.visible}}};var c={_events:["valueChanging","valueChanged"],_animationTimeout:10,_schemes:[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]}],_getScale:function(e,g,f){if(e&&e.toString().indexOf("%")>=0){e=parseInt(e,10)/100;return f[g]()*e}return parseInt(e,10)},_removeElements:function(){this.host.children(".chartContainer").remove();this.host.children("#tblChart").remove()},_getLabelInterval:function(){var g=this,h=g.labels,e;if(g.tickMode==="default"){if(g.niceInterval){e=g._getNiceInterval(g.widgetName==="jqxGauge"?"radial":"linear")}else{if(g.int64===false){e=h.interval}else{if(!h._interval64){h._interval64=g.int64==="s"?new d.jqx.math().fromNumber(h.interval):new BigNumber(h.interval)}e=h._interval64}}}else{if(g.int64===false){var f=g.max-g.min;e=f/h.number}else{var f=g._max64.subtract(g._min64);if(g.int64==="s"){e=f.div(new d.jqx.math().fromNumber(h.number))}else{e=f.divide(new BigNumber(h.number))}}}return e},_getMaxLabelSize:function(){var f=this,j=this.max,e=this.min;e=f._formatLabel(e);j=f._formatLabel(j);var h=d('<div style="position: absolute; visibility: hidden;" class="'+f.toThemeProperty("jqx-gauge-label")+'"></div>');h.css({"font-size":f.labels.fontSize,"font-family":f.labels.fontFamily,"font-weight":f.labels.fontWeight,"font-style":f.labels.fontStyle});d("body").append(h);h.html(e);var g={width:h.width(),height:h.height()};h.html(j);var i={width:h.width(),height:h.height()};h.remove();if(g.width>i.width){return g}return i},disable:function(){this.disabled=true;this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))},enable:function(){this.disabled=false;this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))},destroy:function(){var e=this;if(e._timeout){clearTimeout(this._timeout)}e._timeout=null;d.jqx.utilities.resize(e.host,null,true);e._removeElements();e.renderer.clear();e.renderer=null;var f=d.data(e.element,"jqxGauge");if(f){delete f.instance}e.host.children().remove();e._caption=null;e._caption=null;e._pointer=null;e._labels=[];e._cap=null;e._ticks=[];e._ranges=[];e._border=null;e._gauge=null;e._caption=null;e.renderer=null;e._animations=[];e.host.removeData();e.host.removeClass();e.host.remove();e.that=null;e.element=null;e._gaugeParent=null;delete e._gaugeParent;delete e.element;delete e.host},_validatePercentage:function(f,e){if(parseFloat(f)!==0&&(!f||!parseInt(f,10))){f=e}return f},_getColorScheme:function(f){var e;for(var g=0;g<this._schemes.length;g+=1){e=this._schemes[g];if(e.name===f){return e.colors}}return null},setValue:function(f,g){var e=this;if(!e.disabled){g=g||e.animationDuration||0;if(e.int64==="s"){if(typeof f==="number"){f=new d.jqx.math().fromNumber(f,10)}else{if(typeof f==="string"){f=new d.jqx.math().fromString(f,10)}}if(f.greaterThan(e._max64)){f=new d.jqx.math().fromString(e._max64.toString(),10)}if(f.lessThan(e._min64)){f=new d.jqx.math().fromString(e._min64.toString(),10)}e._animate(e._value64,f,g)}else{if(e.int64==="u"){f=new BigNumber(f);if(f.compare(e._max64)===1){f=new BigNumber(e._max64)}if(f.compare(e._min64)===-1){f=new BigNumber(e._min64)}e._animate(e._value64,f,g)}else{if(f>e.max){f=e.max}if(f<e.min){f=e.min}e._animate(e.value,f,g)}}d.jqx.aria(e,"aria-valuenow",f.toString())}},_animate:function(h,e,g){var f=this;if(f._timeout){f._endAnimation(f.int64?f._value64:f.value,false)}if(!g){f._endAnimation(e,true);return}f._animateHandler(h,e,0,g)},_animateHandler:function(i,e,h,g){var f=this;if(h<=g){this._timeout=setTimeout(function(){if(f.int64!==false){var k=e.subtract(i);if(f.int64==="s"){var j=new d.jqx.math().fromNumber((d.easing[f.easing](h/g,h,0,1,g))*100,10);f._value64=i.add(k.multiply(j).div(new d.jqx.math().fromNumber(100,10)))}else{var j=new BigNumber((d.easing[f.easing](h/g,h,0,1,g))*100);f._value64=i.add(k.multiply(j).divide(100))}f.value=f._value64.toString();f._setValue(f._value64)}else{f.value=i+(e-i)*d.easing[f.easing](h/g,h,0,1,g);f._setValue(f.value)}f._raiseEvent(0,{value:f.value.toString()});f._animateHandler(i,e,h+f._animationTimeout,g)},this._animationTimeout)}else{this._endAnimation(e,true)}},_endAnimation:function(e,f){clearTimeout(this._timeout);this._timeout=null;this._setValue(e);if(f){this._raiseEvent(1,{value:e.toString()})}},_getMaxTickSize:function(){return Math.max(this._getSize(this.ticksMajor.size),this._getSize(this.ticksMinor.size))},_raiseEvent:function(g,f){var h=d.Event(this._events[g]),e;h.args=f||{};e=this.host.trigger(h);return e},_getNiceInterval:function(k,h){function A(C){return Math.log(parseFloat(C))/Math.LN10}function v(){var C=Math.abs(n.startAngle-n.endAngle)*n._innerRadius;return Math.round(C)}var n=this,B="width";if(k==="linear"&&n.orientation==="vertical"){B="height"}var g=d.jqx.browser.msie?0:1;var f;var j=d('<span class="'+n.toThemeProperty("jqx-gauge-label")+'" style="position: absolute; visibility: hidden;"></span>'),y=n._formatLabel(n.min),z=n._formatLabel(n.max);j.css({"font-size":n.labels.fontSize,"font-family":n.labels.fontFamily,"font-weight":n.labels.fontWeight,"font-style":n.labels.fontStyle});d("body").append(j);j.text(y);var x=j[B]()+g;j.text(z);var l=j[B]()+g;j.remove();var f=Math.max(l,x);var o=1;if(k==="radial"){var r;if(n._innerRadius<50){r=0.3}else{if(n._innerRadius<150){r=0.6}else{if(n._innerRadius<250){r=0.7}else{r=1}}}o=8/Math.max(1,A(n._innerRadius))*r}else{var m=0;if(f>105){m=(f-105)/100}o=1.5+m}f*=o;var e;if(k==="radial"){e=v()}else{e=n._getScaleLength()}var i=Math.ceil(e/f),t,w,p,u,q,s;if(h===true){if(k==="radial"){i*=4}else{i*=3}}if(n.int64===false){t=n.max-n.min;w=Math.floor(A(t)-A(i));p=Math.pow(10,w);u=i*p;q;if(t<2*u){q=1}else{if(t<3*u){q=2}else{if(t<7*u){q=5}else{q=10}}}s=q*p}else{t=new BigNumber(n.max).subtract(new BigNumber(n.min));w=Math.floor(A(t.toString())-A(i));p=new BigNumber(10).pow(new BigNumber(w));u=new BigNumber(i).multiply(p);q;if(t.compare(new BigNumber(2*u))===-1){q=1}else{if(t.compare(new BigNumber(3*u))===-1){q=2}else{if(t.compare(new BigNumber(7*u))===-1){q=5}else{q=10}}}s=new BigNumber(q).multiply(p);if(s.compare(1)===-1){s=new BigNumber(1)}if(n.int64==="s"){s=new d.jqx.math().fromString(s.toString())}}return s},_styleLabels:function(){return;var f=this,e=f.labels,g=f.host.find(".jqx-gauge-label");g.css({"font-size":e.fontSize,"font-family":e.fontFamily,"font-weight":e.fontWeight,"font-style":e.fontStyle})},_checkForOverflow:function(h,f){var e=new BigNumber("9223372036854775807"),g=new BigNumber(h.toString()),i=new BigNumber(f.toString());if(g.add(i).compare(e)===1){return true}else{return false}},_formatLabel:function(i,e){var h=this,f=h.labels.formatValue,j=h.labels.formatSettings,g;if(f){g=f(i,e)}else{if(j){if(j.radix!==undefined){g=new d.jqx.math().getRadixValue(i,h.int64,j.radix)}else{if(j.outputNotation!==undefined&&j.outputNotation!=="default"&&j.outputNotation!=="decimal"){g=new d.jqx.math().getDecimalNotation(i,j.outputNotation,j.decimalDigits,j.digits)}else{if(j.decimalDigits!==undefined){g=Number(i).toFixed(j.decimalDigits)}else{if(j.digits!==undefined){g=Number(i).toPrecision(j.digits)}}}}}else{g=i}}return g},_editableLabels:function(j){var k=this;function f(p,q){var o=k.renderer.measureText(k._formatLabel(q),0,{"class":k.toThemeProperty("jqx-gauge-label")});i.offset(d(p).offset());n.style.width=(o.width+10)+"px";n.style.height=o.height+"px";n.style.visibility="visible";n.value=q;i.select()}if(k.editableLabels){var h=k._labels;if(h.length===0){return}var g=h[0],m=h[h.length-1],n,i;if(j!==true){n=document.createElement("input");i=d(n);n.className="jqx-gauge-label-input";k.element.appendChild(n)}else{i=k.host.children("input");n=i[0]}g.style.cursor="text";m.style.cursor="text";k.addHandler(d(g),"dblclick.jqxGauge"+k.element.id,function(o){f(this,k.min);k._editedProperty="min"});k.addHandler(d(m),"dblclick.jqxGauge"+k.element.id,function(o){f(this,k.max);k._editedProperty="max"});var e=/^-?\d+\.?\d*$/;function l(t,r,s,p){if(t===k[r].toString()){return false}if(k.int64==="s"){var q=new d.jqx.math().fromString(t,10);if((r==="min"&&q.compare(k["_"+p+"64"])!==-1)||(r==="max"&&q.compare(k["_"+p+"64"])!==1)){return false}k[s]=q;k[r]=t}else{if(k.int64==="u"){var o=new BigNumber(t);if(o.compare(0)===-1||(r==="min"&&o.compare(k["_"+p+"64"])!==-1)||(r==="max"&&o.compare(k["_"+p+"64"])!==1)){return false}k[s]=o;k[r]=t}else{if((r==="min"&&t>=k[p])||(r==="max"&&t<=k[p])){return false}k[r]=parseFloat(t)}}}if(j!==true){k.addHandler(i,"blur.jqxGauge"+k.element.id,function(p){var q=this.value,o;n.style.visibility="hidden";if(!e.test(q)){return}if(k._editedProperty==="min"){o=l(q,"min","_min64","max");if(o===false){return}d.jqx.aria(k,"aria-valuemin",q)}else{o=l(q,"max","_max64","min");if(o===false){return}d.jqx.aria(k,"aria-valuemax",q)}k.refresh();if(k.renderer instanceof d.jqx.HTML5Renderer){k.renderer.refresh()}})}}}},a={defineInstance:function(){var e={int64:false,editableLabels:false,value:-50,max:40,min:-60,width:100,height:300,pointer:{},labels:{},animationDuration:1000,showRanges:{},ticksMajor:{size:"15%",interval:5},ticksMinor:{size:"10%",interval:2.5},tickMode:"default",niceInterval:false,ranges:[],easing:"easeOutCubic",colorScheme:"scheme01",disabled:false,rangesOffset:0,background:{},ticksPosition:"both",rangeSize:"5%",scaleStyle:null,ticksOffset:null,scaleLength:"90%",orientation:"vertical",aria:{"aria-valuenow":{name:"value",type:"number"},"aria-valuemin":{name:"min",type:"number"},"aria-valuemax":{name:"max",type:"number"},"aria-disabled":{name:"disabled",type:"boolean"}},displayTank:false,tankStyle:null,_originalColor:"",_width:null,_height:null,renderer:null};if(this===d.jqx._jqxLinearGauge.prototype){return e}d.extend(true,this,e);return e},createInstance:function(){d.jqx.aria(this);this.host.css("overflow","hidden");this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.append('<input class="jqx-gauge-label-input"/>');var e=this;if(e.int64==="s"){if(!d.jqx.longInt){throw new Error("jqxLinearGauge: Missing reference to jqxmath.js")}d.jqx.longInt(e);e._value64=new d.jqx.math().fromString(e.value.toString(),10);e._min64=new d.jqx.math().fromString(e.min.toString(),10);e._max64=new d.jqx.math().fromString(e.max.toString(),10)}else{if(e.int64==="u"){try{BigNumber}catch(f){throw new Error("jqxLinearGauge: Missing reference to jqxmath.js")}e._value64=new BigNumber(e.value);e._min64=new BigNumber(e.min);e._max64=new BigNumber(e.max)}}d.jqx.utilities.resize(this.host,function(){e.refresh(false,false)})},val:function(e){if(arguments.length==0||typeof(e)=="object"){return this.value}this.setValue(e,0)},_initRenderer:function(e){if(!d.jqx.createRenderer){throw"Please include a reference to jqxdraw.js"}return d.jqx.createRenderer(this,e)},refresh:function(i,h){var f=this;f._nearLabels=[];f._farLabels=[];if(!f.renderer){f._isVML=false;f.host.empty();f._initRenderer(f.host)}var g=f.renderer;if(!g){return}f._validateProperties();f._reset();f._init();f._performLayout();f._render();if(h!==false){f.setValue(f.value,1)}if(!i){var e=f.labels.position;if(e==="both"||e==="near"){f._labels=f._nearLabels;f._editableLabels()}if(e==="both"||e==="far"){f._labels=f._farLabels;f._editableLabels(e==="both"?true:undefined)}}},_getBorderSize:function(){var f=1,e;if(this._isVML){f=0}if(this.background){e=(parseInt(this.background.style["stroke-width"],10)||f)/2;if(this._isVML){return Math.round(e)}return e}return f},_validateProperties:function(){this.background=this._backgroundConstructor(this.background,this);this.ticksOffset=this.ticksOffset||this._getDefaultTicksOffset();this.rangesOffset=this.rangesOffset||0;this.rangeSize=this._validatePercentage(this.rangeSize,5);this.ticksOffset[0]=this._validatePercentage(this.ticksOffset[0],"5%");this.ticksOffset[1]=this._validatePercentage(this.ticksOffset[1],"5%");this.ticksMinor=this._tickConstructor(this.ticksMinor,this);this.ticksMajor=this._tickConstructor(this.ticksMajor,this);this.scaleStyle=this.scaleStyle||this.ticksMajor.style;this.labels=this._labelsConstructor(this.labels,this);this.pointer=this._pointerConstructor(this.pointer,this);for(var e=0;e<this.ranges.length;e+=1){this.ranges[e]=this._rangeConstructor(this.ranges[e],this)}},_getDefaultTicksOffset:function(){if(this.orientation==="horizontal"){return["5%","36%"]}return["36%","5%"]},_handleOrientation:function(){if(this.orientation==="vertical"){d.extend(this,linearVerticalGauge)}else{d.extend(this,linearHorizontalGauge)}},_reset:function(){this.host.empty()},_performLayout:function(){var e=parseInt(this.background.style["stroke-width"],10)||1;this._width-=e;this._height-=e;this.host.css("padding",e/2)},_init:function(){var f=this._getBorderSize(),e;this._width=this._getScale(this.width,"width",this.host.parent())-3;this._height=this._getScale(this.height,"height",this.host.parent())-3;this.element.innerHTML="<div/>";this.host.width(this._width);this.host.height(this._height);this.host.children().width(this._width);this.host.children().height(this._height);this.renderer.init(this.host.children());e=this.renderer.getContainer();e.width(this._width);e.height(this._height)},_render:function(){this._renderBackground();this._renderTicks();if(!this.niceInterval){this._renderLabels()}this._styleLabels();this._renderRanges();this._renderPointer()},_renderBackground:function(){if(!this.background.visible){return}var g=this.background.style,f=d.jqx._rup(this._getBorderSize()),e="rect",h;g=this._handleShapeOptions(g);if(this.background.backgroundType==="roundedRectangle"&&this._isVML){e="roundrect"}if(!this._Vml){g.x=f;g.y=f}h=this.renderer.shape(e,g);if(this._isVML){this._fixVmlRoundrect(h,g)}},_handleShapeOptions:function(g){var e=this.background.style.fill,f=this._getBorderSize();if(!e){e="#cccccc"}if(this.background.showGradient){if(e.indexOf("url")<0&&e.indexOf("#grd")<0){this._originalColor=e}else{e=this._originalColor}e=this.renderer._toLinearGradient(e,this.orientation==="horizontal",[[1,1.1],[90,1.5]])}this.background.style.fill=e;if(this.background.backgroundType==="roundedRectangle"){if(this._isVML){g.arcsize=this.background.borderRadius+"%"}else{g.rx=this.background.borderRadius;g.ry=this.background.borderRadius}}g.width=this._width-1;g.height=this._height-1;return g},_fixVmlRoundrect:function(g,f){var e=this._getBorderSize();g.style.position="absolute";g.style.left=e;g.style.top=e;g.style.width=this._width-1;g.style.height=this._height-1;g.strokeweight=0;delete f.width;delete f.height;delete f.arcsize;this.renderer.attr(g,f)},_renderTicks:function(){var k=this.ticksMinor,l=this.ticksMajor,f,i,h,g,e,m,j;if(this.int64==="s"){f=this._max64.subtract(this._min64);if(f.isNegative()){f=f.negate()}if(this.tickMode==="default"){if(this.niceInterval){i=this._getNiceInterval("linear");h=this._getNiceInterval("linear",true)}else{i=l._interval64;h=k._interval64}}else{i=f.div(new d.jqx.math().fromNumber(l.number));h=f.div(new d.jqx.math().fromNumber(k.number))}}else{if(this.int64==="u"){f=this._max64.subtract(this._min64).abs();if(this.tickMode==="default"){if(this.niceInterval){i=this._getNiceInterval("linear");h=this._getNiceInterval("linear",true)}else{i=l._interval64;h=k._interval64}}else{i=f.divide(new BigNumber(l.number));h=f.divide(new BigNumber(k.number))}}else{f=Math.abs(this.max-this.min);if(this.tickMode==="default"){if(this.niceInterval){i=this._getNiceInterval("linear");h=this._getNiceInterval("linear",true)}else{i=l.interval;h=k.interval}}else{i=f/l.number;h=f/k.number}}}m={size:this._getSize(l.size),style:l.style,visible:l.visible,interval:i,type:"major"};j={size:this._getSize(k.size),style:k.style,visible:k.visible,interval:h,checkOverlap:true,type:"minor"};if(this.ticksPosition==="near"||this.ticksPosition==="both"){this._ticksRenderHandler(m);this._ticksRenderHandler(j)}if(this.ticksPosition==="far"||this.ticksPosition==="both"){m.isFar=true;j.isFar=true;this._ticksRenderHandler(m);this._ticksRenderHandler(j)}this._renderConnectionLine()},_ticksRenderHandler:function(f){if(!f.visible&&f.type==="minor"){return}var i=this._getSize(this.ticksOffset[0],"width"),g=this._getSize(this.ticksOffset[1],"height"),e=this._getBorderSize(),h=this._calculateTickOffset()+this._getMaxTickSize();if(f.isFar){h+=f.size}this._drawTicks(f,e,h+e)},_drawTicks:function(u,l,r){var t=this,k=u.interval,p,m=t.orientation==="vertical"?"width":"height",j=t.orientation==="vertical"?"height":"width",e=t._getMaxLabelSize()[m],q=t._getMaxLabelSize()[j],h=t._getInterval("ticksMajor"),g=t._getInterval("ticksMinor");function o(w){p=t._valueToCoordinates(w);if(!u.checkOverlap||!t._overlapTick(w,h,g)){if(u.visible){t._renderTick(u.size,p,u.style,r)}if(t.niceInterval&&t.labels.visible){var x,B,A;if(t.orientation==="vertical"){A=t._getSize(t.ticksOffset[1],"height")}else{A=t._getSize(t.ticksOffset[0],"width")}A+=l;var v=u.isFar?"far":"near",y;if(v==="near"){y=t._calculateTickOffset()-e+l+t._getSize(t.labels.offset)}else{y=t._calculateTickOffset()+2*t._getMaxTickSize()+e+l+t._getSize(t.labels.offset)}if(t.int64===false){if(w!==t.min&&Math.abs(t._valueToCoordinates(t.min)-p)<q){return}if(w!==t.max&&Math.abs(t._valueToCoordinates(t.max)-p)<q){return}}else{if(t.int64==="s"){if(w.equals(t._min64)===false&&Math.abs(t._valueToCoordinates(t._min64)-p)<q){return false}if(w.equals(t._max64)===false&&Math.abs(t._valueToCoordinates(t._max64)-p)<q){return}}else{if(t.int64==="u"){if(w.compare(t._min64)!==0&&Math.abs(t._valueToCoordinates(t._min64)-p)<q){return false}if(w.compare(t._max64)!==0&&Math.abs(t._valueToCoordinates(t._max64)-p)<q){return}}}}var z=t.labels.position;if(u.type==="major"&&(z==="both"||z==="near"&&u.isFar!==true||z==="far"&&u.isFar)){t._renderLabel(p,v,y,e,w)}}}}if(t.niceInterval){var f;if(t.int64==="s"){o(t._min64);f=t._min64.subtract(t._min64.modulo(k)).add(k);if(u.type==="minor"){for(var s=f;s.greaterThanOrEqual(t._min64);s=s.subtract(k)){f=s}}for(var n=f;n.lessThan(t._max64);n=n.add(k)){if(t._checkForOverflow(n,k)){break}o(n)}o(t._max64)}else{if(t.int64==="u"){o(t._min64);f=t._min64.subtract(t._min64.mod(k)).add(k);if(u.type==="minor"){for(var s=f;s.compare(t._min64)!==-1;s=s.subtract(k)){f=s}}for(var n=f;n.compare(t._max64)===-1;n=n.add(k)){o(n)}o(t._max64)}else{o(t.min);f=t.min-(t.min%k)+k;if(u.type==="minor"){for(var s=f;s>=t.min;s=s-k){f=s}}for(var n=f;n<=t.max;n+=k){o(n)}o(t.max)}}}else{if(t.int64==="s"){for(var n=new d.jqx.math().fromString(t._min64.toString(),10);n.lessThanOrEqual(t._max64);n=n.add(k)){o(n)}}else{if(t.int64==="u"){for(var n=new BigNumber(t._min64);n.compare(t._max64)!==1;n=n.add(k)){o(n)}}else{for(var n=t.min;n<=t.max;n+=k){o(n)}}}}},_calculateTickOffset:function(){var f=this._getSize(this.ticksOffset[0],"width"),e=this._getSize(this.ticksOffset[1],"height"),g=e;if(this.orientation==="vertical"){g=f}return g},_getInterval:function(g){var i=this,f;if(i.tickMode==="default"){if(i.niceInterval===true){f=i._getNiceInterval("linear",g==="ticksMinor")}else{if(i.int64!==false){f=i[g]._interval64}else{f=i[g].interval}}}else{var h=i[g].number,e;if(i.int64!==false){e=i._max64.subtract(i._min64);if(i.int64==="s"){f=e.div(new d.jqx.math().fromNumber(h))}else{f=e.divide(new BigNumber(h))}}else{e=i.max-i.min;f=e/i[g].number}}return f},_overlapTick:function(g,e,f){if(this.int64==="s"){g=g.add(this._min64);if((g.modulo(f)).equals(g.modulo(e))){return true}else{return false}}else{if(this.int64==="u"){g=g.add(this._min64);if((g.mod(f)).compare(g.mod(e))===0){return true}else{return false}}else{g+=this.min;if(g%f===g%e){return true}return false}}},_renderConnectionLine:function(){if(!this.ticksMajor.visible&&!this.ticksMinor.visible){return}var g=this._getScaleLength(),f=this._getBorderSize(),i,k,j=this._getMaxTickSize(),h=j+f;if(this.int64!==false){i=this._valueToCoordinates(this._max64);k=this._valueToCoordinates(this._min64)}else{i=this._valueToCoordinates(this.max);k=this._valueToCoordinates(this.min)}if(this.orientation==="vertical"){h+=this._getSize(this.ticksOffset[0],"width");this.renderer.line(h,i,h,k,this.scaleStyle)}else{h+=this._getSize(this.ticksOffset[1],"height");var e=this._getSize(this.ticksOffset[0],"width");this.renderer.line(e+i-k,h,e,h,this.scaleStyle)}},_getScaleLength:function(){return this._getSize(this.scaleLength,(this.orientation==="vertical"?"height":"width"))},_renderTick:function(e,i,f,h){var g=this._handleTickCoordinates(e,i,h);this.renderer.line(Math.round(g.x1),Math.round(g.y1),Math.round(g.x2),Math.round(g.y2),f)},_handleTickCoordinates:function(e,g,f){if(this.orientation==="vertical"){return{x1:f-e,x2:f,y1:g,y2:g}}return{x1:g,x2:g,y1:f-e,y2:f}},_getTickCoordinates:function(f,g){var e=this._handleTickCoordinates(f,0,this._calculateTickOffset());if(this.orientation==="vertical"){e=e.x1}else{e=e.y1}e+=f;return e},_renderLabels:function(){if(!this.labels.visible){return}var g=this._getSize(this.ticksOffset[0],"width"),i=this._getMaxTickSize(),k=this.labels.position,j="height",f=this._getBorderSize(),h=this._calculateTickOffset()+i,e;if(this.orientation==="vertical"){g=this._getSize(this.ticksOffset[1],"height");j="width"}e=this._getMaxLabelSize()[j];if(k==="near"||k==="both"){this._labelListRender(h-i-e+f,g+f,e,"near")}if(k==="far"||k==="both"){this._labelListRender(h+i+e+f,g+f,e,"far")}},_labelListRender:function(l,e,f,o){var h,p,j,q,n,k,g=this._getScaleLength();l+=this._getSize(this.labels.offset);if(this.int64!==false){n=this._max64.subtract(this._min64);if(this.tickMode==="default"){h=this.labels._interval64;if(this.int64==="s"){p=n.div(h).toNumber()}else{p=parseFloat((n).divide(h).toString())}}else{p=this.labels.number;if(this.int64==="s"){h=n.div(new d.jqx.math().fromNumber(p))}else{h=n.divide(p)}}q=(this.orientation==="vertical")?this._max64:this._min64}else{n=Math.abs(this.max-this.min);if(this.tickMode==="default"){h=this.labels.interval;p=n/h}else{p=this.labels.number;h=n/p}q=(this.orientation==="vertical")?this.max:this.min}j=g/p;for(var m=0;m<=p;m+=1){this._renderLabel(e,o,l,f,q);if(this.int64!==false){q=(this.orientation==="vertical")?q.subtract(h):q.add(h)}else{q+=(this.orientation==="vertical")?-h:h}e+=j}},_renderLabel:function(g,o,l,h,r){var p=this,k=p.labels,j={"class":this.toThemeProperty("jqx-gauge-label")},i=this.labels.interval,n,e,m,q;var f="";if(k.fontSize){f+="font-size: "+k.fontSize+";"}if(k.fontFamily){f+="font-family: "+k.fontFamily}if(k.fontWeight){f+="font-weight: "+k.fontWeight}if(k.fontStyle){f+="font-style: "+k.fontStyle}if(f!==""){j.style=f}m=this._formatLabel(r.toString(),o);e=this.renderer.measureText(m,0,j);if(this.orientation==="vertical"){n=(o==="near")?h-e.width:0;q=this.renderer.text(m,Math.round(l)+n-h/2,Math.round(g-e.height/2),e.width,e.height,0,j)}else{n=(o==="near")?h-e.height:0;q=this.renderer.text(m,Math.round(g-e.width/2),Math.round(l)+n-h/2,e.width,e.height,0,j)}if(o==="near"){if(this.niceInterval||this.orientation==="horizontal"){this._nearLabels.push(q)}else{this._nearLabels.unshift(q)}}else{if(this.niceInterval||this.orientation==="horizontal"){this._farLabels.push(q)}else{this._farLabels.unshift(q)}}},_renderRanges:function(){if(!this.showRanges){return}var h=(this.orientation==="vertical")?"width":"height",j=this._getSize(this.rangesOffset,h),g=this._getSize(this.rangeSize,h),e;for(var f=0;f<this.ranges.length;f+=1){e=this.ranges[f];e.size=g;this._renderRange(e,j)}},_renderRange:function(q,k){var h=this._getScaleLength(),j=this._getBorderSize(),i=this._getSize(this.ticksOffset[0],"width"),g=this._getSize(this.ticksOffset[1],"height"),n=this._getMaxTickSize(),p=this._getSize(q.size),m,f;if(this.int64!==false){m=this._valueToCoordinates(q._endValue64);f=q._startValue64;if(this.int64==="s"&&f.lessThan(this._min64)){f=new d.jqx.math().fromString(this._min64.toString(),10)}else{if(this.int64==="u"&&f.compare(this._min64)===-1){f=new BigNumber(this._min64)}}}else{m=this._valueToCoordinates(q.endValue);f=q.startValue;if(f<this.min){f=this.min}}var o=Math.abs(this._valueToCoordinates(f)-m),l,e;if(this.orientation==="vertical"){l=this.renderer.rect(i+n+k-p+j,m,q.size,o,q.style)}else{e=o;l=this.renderer.rect(this._valueToCoordinates(f),g+n+j,e,q.size,q.style)}this.renderer.attr(l,q.style)},_renderPointer:function(){if(!this.pointer.visible){return}if(this.pointer.pointerType==="default"){this._renderColumnPointer()}else{this._renderArrowPointer()}},_renderColumnPointer:function(){if(this.displayTank){var e={fill:"#FFFFFF"};e["fill-opacity"]=0;if(this.tankStyle){e.stroke=this.tankStyle.stroke;e["stroke-width"]=this.tankStyle.strokeWidth}else{e.stroke="#A1A1A1";e["stroke-width"]="1px"}this._tank=this.renderer.rect(0,0,0,0,e);this._performTankLayout()}this._pointer=this.renderer.rect(0,0,0,0,this.pointer.style);this.renderer.attr(this._pointer,this.pointer.style);if(this.int64!==false){this._setValue(this._value64)}else{this._setValue(this.value)}},_performTankLayout:function(){var e,h,o,l=this._valueToCoordinates(),j=this._getBorderSize(),i=this._getSize(this.ticksOffset[0],"width"),g=this._getSize(this.ticksOffset[1],"height"),m=this._getMaxTickSize(),f=this._getSize(this.pointer.size),k=this._getSize(this.pointer.offset),n={};if(this.int64!==false){l=this._valueToCoordinates(this._max64);e=this._valueToCoordinates(this._min64)}else{l=this._valueToCoordinates(this.max);e=this._valueToCoordinates(this.min)}o=Math.abs(e-l);if(this.orientation==="vertical"){h=i+m;n={left:h+k+1+j,top:l,height:o,width:f}}else{h=g+m;n={left:e,top:h+k-f-1+j,height:f,width:o}}if(!this._isVML){this.renderer.attr(this._tank,{x:n.left});this.renderer.attr(this._tank,{y:n.top});this.renderer.attr(this._tank,{width:n.width});this.renderer.attr(this._tank,{height:n.height})}else{this._tank.style.top=n.top;this._tank.style.left=n.left;this._tank.style.width=n.width;this._tank.style.height=n.height}},_renderArrowPointer:function(){var e=this._getArrowPathByValue(0);this._pointer=this.renderer.path(e,this.pointer.style)},_renderArrowPointerByValue:function(e){var f=this._getArrowPathByValue(e);this._pointer=this.renderer.path(f,this.pointer.style)},_getArrowPathByValue:function(o){var i=this._getBorderSize(),m=Math.ceil(this._valueToCoordinates(o))+i,g=i,h=Math.ceil(this._getSize(this.ticksOffset[0],"width")),f=Math.ceil(this._getSize(this.ticksOffset[1],"height")),j=Math.ceil(this._getSize(this.pointer.offset)),n=Math.ceil(this._getMaxTickSize()),r=Math.ceil(this._getSize(this.pointer.size)),k=Math.ceil(Math.sqrt((r*r)/3)),q,l,p;if(this.orientation==="vertical"){g+=h+n+j;l=(j>=0)?g+r:g-r;q="M "+g+" "+m+" L "+l+" "+(m-k)+" L "+l+" "+(m+k)}else{var e=this._getMaxLabelSize()["height"];g+=h+n+j+e;if(this._isVML){g-=2}p=m;m=g;g=p;l=m-r;q="M "+g+" "+m+" L "+(g-k)+" "+l+" L "+(g+k)+" "+l}return q},_setValue:function(e){if(this.pointer.pointerType==="default"){this._performColumnPointerLayout(e)}else{this._performArrowPointerLayout(e)}this.value=e},_performColumnPointerLayout:function(h){var e,i,p,m=this._valueToCoordinates(h),k=this._getBorderSize(),j=this._getSize(this.ticksOffset[0],"width"),g=this._getSize(this.ticksOffset[1],"height"),n=this._getMaxTickSize(),f=this._getSize(this.pointer.size),l=this._getSize(this.pointer.offset),o={};if(this.int64!==false){e=this._valueToCoordinates(this._min64)}else{e=this._valueToCoordinates(this.min)}p=Math.abs(e-m);if(this.orientation==="vertical"){i=j+n;o={left:i+l+1+k,top:m,height:p,width:f}}else{i=g+n;o={left:e,top:i+l-f-1+k,height:f,width:p}}this._setRectAttrs(o)},_performArrowPointerLayout:function(f){var e=this._getArrowPathByValue(f);if(this._isVML){if(this._pointer){d(this._pointer).remove()}this._renderArrowPointerByValue(f)}else{this.renderer.attr(this._pointer,{d:e})}},_setRectAttrs:function(e){if(!this._isVML){this.renderer.attr(this._pointer,{x:e.left});this.renderer.attr(this._pointer,{y:e.top});this.renderer.attr(this._pointer,{width:e.width});this.renderer.attr(this._pointer,{height:e.height})}else{this._pointer.style.top=e.top;this._pointer.style.left=e.left;this._pointer.style.width=e.width;this._pointer.style.height=e.height}},_valueToCoordinates:function(t){var n=this._getBorderSize(),k=this._getScaleLength(),l=this._getSize(this.ticksOffset[0],"width"),j=this._getSize(this.ticksOffset[1],"height"),q,f,h;if(this.int64!==false){q=t.subtract(this._min64);f=this._max64.subtract(this._min64);if(this.int64==="s"){if(q.isNegative()){q.negate()}if(f.isNegative()){f.negate()}}else{q=q.intPart().abs();f=f.abs()}var e=q.toString(),g=f.toString(),m,s;if(g.length>15){var u=g.length-15;g=g.slice(0,15)+"."+g.slice(15);s=parseFloat(g);if(e.length>u){var r=e.length-u;e=e.slice(0,r)+"."+e.slice(r)}else{if(e.length===u){e="0."+e}else{var p="0.";for(var o=0;o<u-e.length;o++){p+="0"}e=p+""+e}}m=parseFloat(e)}else{if(this.int64==="s"){m=q.toNumber();s=f.toNumber()}else{m=parseFloat(q.toString());s=parseFloat(f.toString())}}h=(m/s)*k}else{q=Math.abs(this.min-t);f=Math.abs(this.max-this.min);h=(q/f)*k}if(this.orientation==="vertical"){return this._height-h-(this._height-j-k)+n}return h+l},_getSize:function(e,f){f=f||(this.orientation==="vertical"?"width":"height");if(e.toString().indexOf("%")>=0){e=(parseInt(e,10)/100)*this["_"+f]}e=parseInt(e,10);return e},propertiesChangedHandler:function(e,f,g){if(g.width&&g.height&&Object.keys(g).length==2){e.refresh()}},propertyChangedHandler:function(f,g,i,h){if(h==i){return}if(f.batchUpdate&&f.batchUpdate.width&&f.batchUpdate.height&&Object.keys(f.batchUpdate).length==2){return}if(g==="tankStyle"&&f.pointer.pointerType==="arrow"){return}if(g=="min"){if(f.int64==="s"){f._min64=new d.jqx.math().fromString(h.toString(),10)}else{if(f.int64==="u"){f._min64=new BigNumber(h)}else{this.min=parseFloat(h)}}d.jqx.aria(this,"aria-valuemin",h)}if(g=="max"){if(f.int64==="s"){f._max64=new d.jqx.math().fromString(h.toString(),10)}else{if(f.int64==="u"){f._max64=new BigNumber(h)}else{this.max=parseFloat(h)}}d.jqx.aria(this,"aria-valuemax",h)}if(g==="disabled"){if(h){this.disable()}else{this.enable()}d.jqx.aria(this,"aria-disabled",h)}else{if(g==="value"){if(this._timeout!=undefined){clearTimeout(this._timeout);this._timeout=null}this.value=i;this.setValue(h)}else{if(g==="colorScheme"){this.pointer.style=null}else{if(g==="orientation"&&i!==h){var e=this.ticksOffset[0];this.ticksOffset[0]=this.ticksOffset[1];this.ticksOffset[1]=e}}if(g!=="animationDuration"&&g!=="easing"){this.refresh()}}}if(this.renderer instanceof d.jqx.HTML5Renderer){this.renderer.refresh()}},_backgroundConstructor:function(g,e){if(this.host){return new this._backgroundConstructor(g,e)}var f={rectangle:true,roundedRectangle:true};g=g||{};this.style=g.style||{stroke:"#cccccc",fill:null};if(g.visible||typeof g.visible==="undefined"){this.visible=true}else{this.visible=false}if(f[g.backgroundType]){this.backgroundType=g.backgroundType}else{this.backgroundType="roundedRectangle"}if(this.backgroundType==="roundedRectangle"){if(typeof g.borderRadius==="number"){this.borderRadius=g.borderRadius}else{this.borderRadius=15}}if(typeof g.showGradient==="undefined"){this.showGradient=true}else{this.showGradient=g.showGradient}},resize:function(f,e){this.width=f;this.height=e;this.refresh()},_tickConstructor:function(f,e){if(this.host){return new this._tickConstructor(f,e)}this.size=e._validatePercentage(f.size,"10%");if(f.interval){this.interval=f.interval}else{this.interval=5}if(e.int64==="s"){this._interval64=new d.jqx.math().fromString(this.interval.toString(),10)}else{if(e.int64==="u"){this._interval64=new BigNumber(this.interval)}else{this.interval=parseFloat(this.interval)}}if(f.number){this.number=f.number}else{this.number=5}this.style=f.style||{stroke:"#A1A1A1","stroke-width":"1px"};if(typeof f.visible==="undefined"){this.visible=true}else{this.visible=f.visible}},_labelsConstructor:function(f,e){if(this.host){return new this._labelsConstructor(f,e)}this.position=f.position;if(this.position!=="far"&&this.position!=="near"&&this.position!=="both"){this.position="both"}this.formatValue=f.formatValue;this.formatSettings=f.formatSettings;this.visible=f.visible;if(this.visible!==false&&this.visible!==true){this.visible=true}if(f.interval){this.interval=f.interval}else{this.interval=10}if(e.int64==="s"){this._interval64=new d.jqx.math().fromString(this.interval.toString(),10)}else{if(e.int64==="u"){this._interval64=new BigNumber(this.interval)}else{this.interval=parseFloat(this.interval)}}if(f.number){this.number=f.number}else{this.number=10}this.fontSize=f.fontSize;this.fontFamily=f.fontFamily;this.fontWeight=f.fontWeight;this.fontStyle=f.fontStyle;this.offset=e._validatePercentage(f.offset,0)},_rangeConstructor:function(f,e){if(this.host){return new this._rangeConstructor(f,e)}if(f.startValue){this.startValue=f.startValue}else{this.startValue=e.min}if(f.endValue){this.endValue=f.endValue}else{this.endValue=e.max}if(e.int64==="s"){this._startValue64=new d.jqx.math().fromString(this.startValue.toString(),10);this._endValue64=new d.jqx.math().fromString(this.endValue.toString(),10);if(this._endValue64.lessThanOrEqual(this._startValue64)){this._endValue64=this._startValue64.add(new d.jqx.math().fromNumber(1,10));this.endValue=this._endValue64.toString()}}else{if(e.int64==="u"){this._startValue64=new BigNumber(this.startValue);this._endValue64=new BigNumber(this.endValue);if(this._endValue64.compare(this._startValue64)!==1){this._endValue64=this._startValue64.add(1);this.endValue=this._endValue64.toString()}}else{this.startValue=parseFloat(this.startValue);this.endValue=parseFloat(this.endValue);if(this.endValue<=this.startValue){this.endValue=this.startValue+1}}}this.style=f.style||{fill:"#dddddd",stroke:"#dddddd"}},_pointerConstructor:function(g,e){if(this.host){return new this._pointerConstructor(g,e)}var f=e._getColorScheme(e.colorScheme)[0];this.pointerType=g.pointerType;if(this.pointerType!=="default"&&this.pointerType!=="arrow"){this.pointerType="default"}this.style=g.style||{fill:f,stroke:f,"stroke-width":1};this.size=e._validatePercentage(g.size,"7%");this.visible=g.visible;if(this.visible!==true&&this.visible!==false){this.visible=true}this.offset=e._validatePercentage(g.offset,0)}};d.extend(b,c);d.extend(a,c);d.jqx.jqxWidget("jqxLinearGauge","",{});d.jqx.jqxWidget("jqxGauge","",{});d.extend(d.jqx._jqxGauge.prototype,b);d.extend(d.jqx._jqxLinearGauge.prototype,a)})(jqxBaseFramework);
 
-(function(b){b.jqx.jqxWidget("jqxGrid","",{});b.extend(b.jqx._jqxGrid.prototype,{defineInstance:function(){var d={adaptive:false,adaptivewidth:600,disabled:false,width:600,height:400,pagerheight:40,groupsheaderheight:34,pagesize:10,pagesizeoptions:["5","10","20"],rowsheight:32,columnsheight:32,filterrowheight:36,groupindentwidth:30,rowdetails:false,enablerowdetailsindent:true,enablemousewheel:true,initrowdetails:null,layoutrowdetails:null,editable:false,editmode:"selectedcell",pageable:false,pagermode:"default",pagerbuttonscount:5,groupable:false,sortable:false,sortmode:"one",filterable:false,filtermode:"default",autoshowfiltericon:true,showfiltercolumnbackground:true,showpinnedcolumnbackground:true,showsortcolumnbackground:true,altrows:false,altstart:1,altstep:1,showrowdetailscolumn:true,showrowlines:true,showcolumnlines:true,showcolumnheaderlines:true,showtoolbar:false,toolbarheight:36,showstatusbar:false,statusbarheight:36,enableellipsis:true,groups:[],groupsrenderer:null,groupcolumnrenderer:null,groupsexpandedbydefault:false,pagerrenderer:null,touchmode:"auto",columns:[],selectedrowindex:-1,selectedrowindexes:new Array(),selectedcells:new Array(),autobind:true,selectedcell:null,tableZIndex:79,headerZIndex:29,updatefilterconditions:null,showgroupaggregates:false,showaggregates:false,showfilterrow:false,showeverpresentrow:false,everpresentrowposition:"top",everpresentrowactions:"add reset",everpresentrowactionsmode:"buttons",everpresentrowheight:30,autorowheight:false,autokoupdates:true,handlekeyboardnavigation:null,showsortmenuitems:true,showfiltermenuitems:true,showgroupmenuitems:true,enablebrowserselection:false,enablekeyboarddelete:true,clipboard:true,clipboardbegin:null,clipboardend:null,copytoclipboardwithheaders:false,copytoclipboardhiddencolumns:false,ready:null,updatefilterpanel:null,autogeneratecolumns:false,rowdetailstemplate:null,scrollfeedback:null,rendertoolbar:null,renderstatusbar:null,rendered:null,multipleselectionbegins:null,columngroups:null,cellhover:null,source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},filter:null,dataview:null,updatedelay:null,autoheight:false,autowidth:false,showheader:true,showgroupsheader:true,closeablegroups:true,scrollbarsize:b.jqx.utilities.scrollBarSize,touchscrollbarsize:b.jqx.utilities.touchScrollBarSize,scrollbarautoshow:b.jqx.utilities.scrollBarAutoShow,virtualmode:false,sort:null,columnsmenu:true,columnsresize:false,columnsautoresize:true,columnsreorder:false,columnsmenuwidth:16,autoshowcolumnsmenubutton:true,showcolumnsactionbutton:false,popupwidth:"auto",popupheight:"auto",columnmenuopening:null,columnmenuclosing:null,sorttogglestates:2,rendergridrows:null,enableanimations:true,enablecolumnsvirtualization:true,enabletooltips:false,selectionmode:"singlerow",enablehover:true,loadingerrormessage:"The data is still loading. When the data binding is completed, the Grid raises the 'bindingcomplete' event. Call this function in the 'bindingcomplete' event handler.",verticalscrollbarstep:30,verticalscrollbarlargestep:400,horizontalscrollbarstep:10,horizontalscrollbarlargestep:50,keyboardnavigation:true,keyboardmenunavigation:true,touchModeStyle:"auto",autoshowloadelement:true,showdefaultloadelement:true,showemptyrow:true,autosavestate:false,autoloadstate:false,_updating:false,_pagescache:new Array(),_pageviews:new Array(),_cellscache:new Array(),_rowdetailscache:new Array(),_rowdetailselementscache:new Array(),_requiresupdate:false,_hasOpenedMenu:false,scrollmode:"physical",deferreddatafields:null,localization:null,rtl:false,menuitemsarray:[],events:["initialized","rowClick","rowSelect","rowUnselect","groupExpand","groupCollapse","sort","columnClick","cellClick","pageChanged","pageSizeChanged","bindingComplete","groupsChanged","filter","columnResized","cellSelect","cellUnselect","cellBeginEdit","cellEndEdit","cellValueChanged","rowExpand","rowCollapse","rowDoubleClick","cellDoubleClick","columnReordered","pageChanging"]};if(this===b.jqx._jqxGrid.prototype){return d}b.extend(true,this,d);return d},createInstance:function(i){this.that=this;var h=this;h.pagesize=parseInt(h.pagesize);h.toolbarheight=parseInt(h.toolbarheight);h.columnsheight=parseInt(h.columnsheight);h.filterrowheight=parseInt(h.filterrowheight);h.statusbarheight=parseInt(h.statusbarheight);h.groupsheaderheight=parseInt(h.groupsheaderheight);h.detailsVisibility=new Array();h.savedArgs=i&&i.length>0?i[0]:null;var g="<div class='jqx-clear jqx-border-reset jqx-overflow-hidden jqx-max-size jqx-position-relative'><div tabindex='1' class='jqx-clear jqx-max-size jqx-position-relative jqx-overflow-hidden jqx-background-reset' id='wrapper"+h.element.id+"'><div class='jqx-clear jqx-position-absolute' id='toolbar' style='visibility: hidden;'></div><div class='jqx-clear jqx-position-absolute' id='groupsheader' style='visibility: hidden;'></div><div class='jqx-clear jqx-overflow-hidden jqx-position-absolute jqx-border-reset jqx-background-reset' id='content"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='verticalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='horizontalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute jqx-border-reset' id='bottomRight'></div><div class='jqx-clear jqx-position-absolute' id='addrow'></div><div class='jqx-clear jqx-position-absolute' id='statusbar'></div><div class='jqx-clear jqx-position-absolute' id='pager' style='z-index: 20;'></div></div></div>";h.element.innerHTML="";if(h.source){if(!h.source.dataBind){if(!b.jqx.dataAdapter){throw new Error("jqxGrid: Missing reference to jqxdata.js")}h.source=new b.jqx.dataAdapter(h.source)}var e=h.source._source.datafields;if(e&&e.length>0){h.editmode=h.editmode.toLowerCase();h.selectionmode=h.selectionmode.toLowerCase()}}h.host.attr("role","grid");h.host.attr("align","left");h.element.innerHTML=g;h.host.addClass(h.toTP("jqx-grid"));h.host.addClass(h.toTP("jqx-reset"));h.host.addClass(h.toTP("jqx-rc-all"));h.host.addClass(h.toTP("jqx-widget"));h.host.addClass(h.toTP("jqx-widget-content"));h.wrapper=h.host.find("#wrapper"+h.element.id);h.content=h.host.find("#content"+h.element.id);h.content.addClass(h.toTP("jqx-reset"));var n=h.host.find("#verticalScrollBar"+h.element.id);var r=h.host.find("#horizontalScrollBar"+h.element.id);h.bottomRight=h.host.find("#bottomRight").addClass(h.toTP("jqx-grid-bottomright jqx-scrollbar-state-normal"));if(!n.jqxScrollBar){throw new Error("jqxGrid: Missing reference to jqxscrollbar.js");return}h.editors=new Array();h.vScrollBar=n.jqxScrollBar({vertical:true,rtl:h.rtl,touchMode:h.touchmode,step:h.verticalscrollbarstep,largestep:h.verticalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.hScrollBar=r.jqxScrollBar({vertical:false,rtl:h.rtl,touchMode:h.touchmode,step:h.horizontalscrollbarstep,largestep:h.horizontalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.addnewrow=h.host.find("#addrow");h.addnewrow[0].id="addrow"+h.element.id;h.addnewrow.addClass(h.toTP("jqx-widget-header"));h.pager=h.host.find("#pager");h.pager[0].id="pager"+h.element.id;h.toolbar=h.host.find("#toolbar");h.toolbar[0].id="toolbar"+h.element.id;h.toolbar.addClass(h.toTP("jqx-grid-toolbar"));h.toolbar.addClass(h.toTP("jqx-widget-header"));h.statusbar=h.host.find("#statusbar");h.statusbar[0].id="statusbar"+h.element.id;h.statusbar.addClass(h.toTP("jqx-grid-statusbar"));h.statusbar.addClass(h.toTP("jqx-widget-header"));h.pager.addClass(h.toTP("jqx-grid-pager"));h.pager.addClass(h.toTP("jqx-widget-header"));h.groupsheader=h.host.find("#groupsheader");h.groupsheader.addClass(h.toTP("jqx-grid-groups-header"));h.groupsheader.addClass(h.toTP("jqx-widget-header"));h.groupsheader[0].id="groupsheader"+h.element.id;h.vScrollBar.css("visibility","hidden");h.hScrollBar.css("visibility","hidden");h.vScrollInstance=b.data(h.vScrollBar[0],"jqxScrollBar").instance;h.hScrollInstance=b.data(h.hScrollBar[0],"jqxScrollBar").instance;h.gridtable=null;h.isNestedGrid=h.host.parent()?h.host.parent().css("z-index")==299:false;h.touchdevice=h.isTouchDevice();if(h.localizestrings){h.localizestrings();if(h.localization!=null){h.localizestrings(h.localization,false)}}if(h.rowdetailstemplate&&typeof h.rowdetailstemplate!=="function"){if(undefined==h.rowdetailstemplate.rowdetails){h.rowdetailstemplate.rowdetails="<div></div>"}if(undefined==h.rowdetailstemplate.rowdetailsheight){h.rowdetailstemplate.rowdetailsheight=200}if(undefined==h.rowdetailstemplate.rowdetailshidden){h.rowdetailstemplate.rowdetailshidden=true}}if(h.showfilterrow&&!h.filterable){throw new Error('jqxGrid: "showfilterrow" requires setting the "filterable" property to true!');h.host.remove();return}if(h.autorowheight&&!h.autoheight&&!h.pageable){throw new Error('jqxGrid: "autorowheight" requires setting the "autoheight" or "pageable" property to true!');h.host.remove();return}if(h.virtualmode&&h.rendergridrows==null){throw new Error('jqxGrid: "virtualmode" requires setting the "rendergridrows"!');h.host.remove();return}if(h.virtualmode&&!h.pageable&&h.groupable){throw new Error('jqxGrid: "grouping" in "virtualmode" without paging is not supported!');h.host.remove();return}if(h._testmodules()){return}h._builddataloadelement();h._cachedcolumns=h.columns;if(h.columns&&h.columns.length>h.headerZIndex){h.headerZIndex=h.columns.length+100}if(h.theme&&h.theme.indexOf("material")>=0){var o=b("<span>Test</span>");var f=b("<span>Test</span>");o.addClass(h.toTP("jqx-grid-row-cell"));f.addClass(h.toTP("jqx-grid-column-header-cell"));h.host.append(o);h.host.append(f);var l=o.outerHeight();var k=f.outerHeight();if(l>this.rowsheight){h.rowsheight=l;this._cellheight=l}if(k>this.columnsheight){h.columnsheight=k;this._columnHeight=k}o.remove();f.remove()}if(h.rowsheight!=31){h._measureElement("cell")}if(h.columnsheight!=32||h.columngroups){h._measureElement("column")}if(h.source){var e=h.source.datafields;if(e==null&&h.source._source){e=h.source._source.datafields}if(e){for(var d=0;d<h.columns.length;d++){var f=h.columns[d];if(f&&f.cellsformat&&f.cellsformat.length>2){for(var q=0;q<e.length;q++){if(e[q].name==f.datafield&&!e[q].format){e[q].format=f.cellsformat;break}}}}}}h.databind(h.source);if(h.showtoolbar){h.toolbar.css("visibility","inherit")}if(h.showstatusbar){h.statusbar.css("visibility","inherit")}h._arrange();if(h.pageable&&h._initpager){h._initpager()}h.tableheight=null;var j=h.that;var p=function(){if(j.content){j.content[0].scrollTop=0;j.content[0].scrollLeft=0}if(j.gridcontent){j.gridcontent[0].scrollLeft=0;j.gridcontent[0].scrollTop=0}};h.addHandler(h.content,"mousedown",function(){p()});h.addHandler(h.content,"scroll",function(m){p();return false});if(!h.showfilterrow){if(!h.showstatusbar&&!h.showtoolbar){h.host.addClass("jqx-disableselect")}h.content.addClass("jqx-disableselect")}if(h.enablebrowserselection){h.content.removeClass("jqx-disableselect");h.host.removeClass("jqx-disableselect")}h._resizeWindow();if(h.disabled){h.host.addClass(h.toThemeProperty("jqx-fill-state-disabled"))}h.hasTransform=b.jqx.utilities.hasTransform(h.host);if(h.scrollmode=="logical"){h.vScrollInstance.thumbStep=h.rowsheight;h.vScrollInstance.step=h.rowsheight}if(!b.jqx.isHidden(h.host)){if(h.filterable||h.groupable||h.sortable){h._initmenu()}}},_resizeWindow:function(){var e=this.that;if((this.width!=null&&this.width.toString().indexOf("%")!=-1)||(this.height!=null&&this.height.toString().indexOf("%")!=-1)){this._updatesizeonwindowresize=true;b.jqx.utilities.resize(this.host,function(k){var j=b(window).width();var g=b(window).height();var i=e.host.width();var l=e.host.height();if(e.pageable){var h=e.host.find(".jqx-grid-pager-input");if(j<350){h.hide()}else{h.show()}}if(e.autoheight){e._lastHostWidth=g}if(e._lastHostWidth!=i||e._lastHostHeight!=l){if(e.touchdevice&&e.editcell&&k!=="orientationchange"){return}e._updatesize(e._lastHostWidth!=i,e._lastHostHeight!=l)}e._lastWidth=j;e._lastHeight=g;e._lastHostWidth=i;e._lastHostHeight=l});var d=e.host.width();var f=e.host.height();e._lastHostWidth=d;e._lastHostHeight=f}},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div style="overflow: hidden; position: absolute;"></div>');if(this.showdefaultloadelement){var d=b('<div style="z-index: 99; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d)}else{this.dataloadelement.addClass(this.toTP("jqx-grid-load"))}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this.wrapper.prepend(this.dataloadelement)},_measureElement:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");d.addClass(this.toTP("jqx-widget"));b(document.body).append(d);if(e=="cell"){this._cellheight=d.height()}else{this._columnheight=d.height()}d.remove()},_measureMenuElement:function(){var e=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-menu"));e.addClass(this.toTP("jqx-menu-item-top"));e.addClass(this.toTP("jqx-fill-state-normal"));if(this.isTouchDevice()){e.addClass(this.toTP("jqx-grid-menu-item-touch"))}b(document.body).append(e);var d=e.outerHeight();e.remove();return d},_measureElementWidth:function(f){var e=b("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-grid"));e.addClass(this.toTP("jqx-grid-column-header"));e.addClass(this.toTP("jqx-widget-header"));b(document.body).append(e);var d=e.outerWidth()+20;e.remove();return d},_getBodyOffset:function(){var e=0;var d=0;if(b("body").css("border-top-width")!="0px"){e=parseInt(b("body").css("border-top-width"));if(isNaN(e)){e=0}}if(b("body").css("border-left-width")!="0px"){d=parseInt(b("body").css("border-left-width"));if(isNaN(d)){d=0}}return{left:d,top:e}},_testmodules:function(){var k="";var h=this.that;var d=function(){if(k.length!=""){k+=","}};if(this.columnsmenu&&!this.host.jqxMenu&&(this.sortable||this.groupable||this.filterable)){d();k+=" jqxmenu.js"}if(!this.host.jqxScrollBar){d();k+=" jqxscrollbar.js"}if(!this.host.jqxButton){d();k+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){d();k+=" jqxdata.js"}if(this.pageable&&!this.gotopage){d();k+="jqxgrid.pager.js"}if(this.filterable&&!this.applyfilters){d();k+=" jqxgrid.filter.js"}if(this.groupable&&!this._initgroupsheader){d();k+=" jqxgrid.grouping.js"}if(this.columnsresize&&!this.autoresizecolumns){d();k+=" jqxgrid.columnsresize.js"}if(this.columnsreorder&&!this.setcolumnindex){d();k+=" jqxgrid.columnsreorder.js"}if(this.sortable&&!this.sortby){d();k+=" jqxgrid.sort.js"}if(this.editable&&!this.begincelledit){d();k+=" jqxgrid.edit.js"}if(this.showaggregates&&!this.getcolumnaggregateddata){d();k+=" jqxgrid.aggregates.js"}if(this.keyboardnavigation&&!this.selectrow){d();k+=" jqxgrid.selection.js"}if(k!=""||this.editable||this.filterable||this.pageable){var f=[];var j=function(i){switch(i){case"checkbox":if(!h.host.jqxCheckBox&&!f.checkbox){f.checkbox=true;d();k+=" jqxcheckbox.js"}break;case"numberinput":if(!h.host.jqxNumberInput&&!f.numberinput){f.numberinput=true;d();k+=" jqxnumberinput.js"}break;case"datetimeinput":if(!h.host.jqxDateTimeInput&&!f.datetimeinput){d();f.datetimeinput=true;k+=" jqxdatetimeinput.js(requires: jqxcalendar.js)"}else{if(!h.host.jqxCalendar&&!f.calendar){d();k+=" jqxcalendar.js"}}break;case"combobox":if(!h.host.jqxComboBox&&!f.combobox){d();f.combobox=true;k+=" jqxcombobox.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break;case"dropdownlist":if(!h.host.jqxDropDownList&&!f.dropdownlist){d();f.dropdownlist=true;k+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break}};if(this.filterable||this.pageable){j("dropdownlist")}for(var e=0;e<this.columns.length;e++){if(this.columns[e]==undefined){continue}var g=this.columns[e].columntype;j(g);if(this.filterable&&this.showfilterrow){var g=this.columns[e].filtertype;if(g=="checkedlist"||g=="bool"){j("checkbox")}if(g=="date"){j("datetimeinput")}}}if(k!=""){throw new Error("jqxGrid: Missing references to the following module(s): "+k);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();var e=this.that;setTimeout(function(){e.wrapper.focus()},25);this.focused=true}catch(d){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},resize:function(e,d){this.width=e;this.height=d;this._updatesize(true,true)},_updatesize:function(r,g){if(this._loading){return}var m=this.that;m._newmax=null;var p=m.host.width();var d=m.host.height();if(!m._oldWidth){m._oldWidth=p}if(!m._oldHeight){m._oldHeight=d}if(m._resizeTimer){clearTimeout(m._resizeTimer)}var h=5;m.resizingGrid=true;if(b.jqx.isHidden(m.host)){return}if(m.editcell){m.endcelledit(m.editcell.row,m.editcell.column,true,true);m._oldselectedcell=null}if(d!=m._oldHeight||g==true){var e=m.groupable&&m.groups.length>0;var n=m.vScrollBar.css("visibility");if(!m.autoheight){if(m.virtualmode){m._pageviews=new Array()}if(!e&&!m.rowdetails&&!m.pageable){m._arrange();m.virtualsizeinfo=m._calculatevirtualheight();var d=Math.round(m.host.height())+2*m.rowsheight;if(parseInt(d)>=parseInt(m._oldHeight)){m.prerenderrequired=true}m._renderrows(m.virtualsizeinfo);if(m.rtl){m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}else{m._arrange();m.prerenderrequired=true;var d=Math.round(m.host.height())+2*m.rowsheight;var k=m._gettableheight();var q=Math.round(d/m.rowsheight);var i=Math.max(m.dataview.totalrows,m.dataview.totalrecords);if(m.pageable){i=m.pagesize;if(m.pagesize>Math.max(m.dataview.totalrows,m.dataview.totalrecords)&&m.autoheight){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}else{if(!m.autoheight){if(m.dataview.totalrows<m.pagesize){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}}}}var l=i*m.rowsheight;var f=m._getpagesize();if(!m.pageable&&m.autoheight){q=i}if(m.virtualsizeinfo){m.virtualsizeinfo.visiblerecords=q}m.rendergridcontent(true,false);m._renderrows(m.virtualsizeinfo)}if(n!=m.vScrollBar.css("visibility")){m.vScrollInstance.setPosition(0);m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}}if(p!=m._oldWidth||r==true){var o=false;if(m.editcell&&m.editcell.editor){switch(m.editcell.columntype){case"dropdownlist":o=m.editcell.editor.jqxDropDownList("isOpened")||(m.editcell.editor.jqxDropDownList("isanimating")&&!m.editcell.editor.jqxDropDownList("ishiding"));if(o){m.editcell.editor.jqxDropDownList({openDelay:0});m.editcell.editor.jqxDropDownList("open");m.editcell.editor.jqxDropDownList({openDelay:250});return}break;case"combobox":o=m.editcell.editor.jqxComboBox("isOpened")||(m.editcell.editor.jqxComboBox("isanimating")&&!m.editcell.editor.jqxComboBox("ishiding"));if(o){m.editcell.editor.jqxComboBox({openDelay:0});m.editcell.editor.jqxComboBox("open");m.editcell.editor.jqxComboBox({openDelay:250});return}break;case"datetimeinput":if(o){o=m.editcell.editor.jqxDateTimeInput("isOpened")||(m.editcell.editor.jqxDateTimeInput("isanimating")&&!m.editcell.editor.jqxDateTimeInput("ishiding"));m.editcell.editor.jqxDateTimeInput({openDelay:0});m.editcell.editor.jqxDateTimeInput("open");m.editcell.editor.jqxDateTimeInput({openDelay:250});return}break}}var j=m.hScrollBar.css("visibility");m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths();if(!(r==false&&m._oldWidth>p)){if(!g||m.dataview.rows.length==0){m._renderrows(m.virtualsizeinfo)}}if(j!=m.hScrollBar.css("visibility")){m.hScrollInstance.setPosition(0)}}m._oldWidth=p;m._oldHeight=d;m.resizingGrid=false},getTouches:function(d){return b.jqx.mobile.getTouches(d)},_updateTouchScrolling:function(){var e=this.that;if(e.isTouchDevice()){e.scrollmode="logical";e.vScrollInstance.thumbStep=e.rowsheight;var g=b.jqx.mobile.getTouchEventName("touchstart");var f=b.jqx.mobile.getTouchEventName("touchend");var d=b.jqx.mobile.getTouchEventName("touchmove");e.enablehover=false;if(e.gridcontent){e.removeHandler(e.gridcontent,g+".touchScroll");e.removeHandler(e.gridcontent,d+".touchScroll");e.removeHandler(e.gridcontent,f+".touchScroll");e.removeHandler(e.gridcontent,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e.gridcontent[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);if(e._overlayElement){e.removeHandler(e._overlayElement,g+".touchScroll");e.removeHandler(e._overlayElement,d+".touchScroll");e.removeHandler(e._overlayElement,f+".touchScroll");e.removeHandler(e._overlayElement,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e._overlayElement[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);this.addHandler(this.host,g,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}});this.addHandler(this.host,f,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}})}}}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var e="www.jqwidgets.com";if(location.hostname.indexOf(e.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var f=String.fromCharCode(83,80,65,78);var d=String.fromCharCode(72,84,84,80,58,47,47);var g=document.createElement(f);g.id=b.jqx.utilities.createId();g.innerHTML=e;g.style.position="absolute";g.style.right="5px";g.style.bottom="5px";g.style.color="#909090";g.style.cursor="pointer";g.style.zIndex="999999";g.style.display="none";g.style.fontSize="9px";g.onmousedown=function(){open(d+e)};this.content[0].appendChild(g);this._gridRenderElement=g}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d=b.jqx.mobile.isTouchDevice();this.touchDevice=d;if(this.touchmode==true){if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.enablehover=false;return false}d=true;b.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=d}else{if(this.touchmode==false){d=false}}if(d&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return d},toTP:function(d){return this.toThemeProperty(d)},localizestrings:function(d,e){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d!=null){for(var f in d){if(f.toLowerCase()!==f){d[f.toLowerCase()]=d[f]}}if(d.okstring){this.gridlocalization.okstring=d.okstring}if(d.cancelstring){this.gridlocalization.cancelstring=d.cancelstring}if(d.pagergotopagestring){this.gridlocalization.pagergotopagestring=d.pagergotopagestring}if(d.pagershowrowsstring){this.gridlocalization.pagershowrowsstring=d.pagershowrowsstring}if(d.pagerrangestring){this.gridlocalization.pagerrangestring=d.pagerrangestring}if(d.pagernextbuttonstring){this.gridlocalization.pagernextbuttonstring=d.pagernextbuttonstring}if(d.pagerpreviousbuttonstring){this.gridlocalization.pagerpreviousbuttonstring=d.pagerpreviousbuttonstring}if(d.pagerfirstbuttonstring){this.gridlocalization.pagerfirstbuttonstring=d.pagerfirstbuttonstring}if(d.pagerlastbuttonstring){this.gridlocalization.pagerlastbuttonstring=d.pagerlastbuttonstring}if(d.groupsheaderstring){this.gridlocalization.groupsheaderstring=d.groupsheaderstring}if(d.sortascendingstring){this.gridlocalization.sortascendingstring=d.sortascendingstring}if(d.sortdescendingstring){this.gridlocalization.sortdescendingstring=d.sortdescendingstring}if(d.sortremovestring){this.gridlocalization.sortremovestring=d.sortremovestring}if(d.groupbystring){this.gridlocalization.groupbystring=d.groupbystring}if(d.groupremovestring){this.gridlocalization.groupremovestring=d.groupremovestring}if(d.firstDay){this.gridlocalization.firstDay=d.firstDay}if(d.days){this.gridlocalization.days=d.days}if(d.months){this.gridlocalization.months=d.months}if(d.AM){this.gridlocalization.AM=d.AM}if(d.PM){this.gridlocalization.PM=d.PM}if(d.patterns){this.gridlocalization.patterns=d.patterns}if(d.percentsymbol){this.gridlocalization.percentsymbol=d.percentsymbol}if(d.currencysymbol){this.gridlocalization.currencysymbol=d.currencysymbol}if(d.currencysymbolposition){this.gridlocalization.currencysymbolposition=d.currencysymbolposition}if(d.decimalseparator!=undefined){this.gridlocalization.decimalseparator=d.decimalseparator}if(d.thousandsseparator!=undefined){this.gridlocalization.thousandsseparator=d.thousandsseparator}if(d.filterclearstring){this.gridlocalization.filterclearstring=d.filterclearstring}if(d.filterstring){this.gridlocalization.filterstring=d.filterstring}if(d.filtershowrowstring){this.gridlocalization.filtershowrowstring=d.filtershowrowstring}if(d.filtershowrowdatestring){this.gridlocalization.filtershowrowdatestring=d.filtershowrowdatestring}if(d.filterselectallstring){this.gridlocalization.filterselectallstring=d.filterselectallstring}if(d.filterchoosestring){this.gridlocalization.filterchoosestring=d.filterchoosestring}if(d.filterorconditionstring){this.gridlocalization.filterorconditionstring=d.filterorconditionstring}if(d.filterandconditionstring){this.gridlocalization.filterandconditionstring=d.filterandconditionstring}if(d.filterstringcomparisonoperators){this.gridlocalization.filterstringcomparisonoperators=d.filterstringcomparisonoperators}if(d.filternumericcomparisonoperators){this.gridlocalization.filternumericcomparisonoperators=d.filternumericcomparisonoperators}if(d.filterdatecomparisonoperators){this.gridlocalization.filterdatecomparisonoperators=d.filterdatecomparisonoperators}if(d.filterbooleancomparisonoperators){this.gridlocalization.filterbooleancomparisonoperators=d.filterbooleancomparisonoperators}if(d.emptydatastring){this.gridlocalization.emptydatastring=d.emptydatastring}if(d.filterselectstring){this.gridlocalization.filterselectstring=d.filterselectstring}if(d.todaystring){this.gridlocalization.todaystring=d.todaystring}if(d.clearstring){this.gridlocalization.clearstring=d.clearstring}if(d.validationstring){this.gridlocalization.validationstring=d.validationstring}if(d.loadtext){this.gridlocalization.loadtext=d.loadtext}if(d.addrowstring){this.gridlocalization.addrowstring=d.addrowstring}if(d.udpaterowstring){this.gridlocalization.udpaterowstring=d.udpaterowstring}if(d.deleterowstring){this.gridlocalization.deleterowstring=d.deleterowstring}if(d.resetrowstring){this.gridlocalization.resetrowstring=d.resetrowstring}if(d.everpresentrowplaceholder){this.gridlocalization.everpresentrowplaceholder=d.everpresentrowplaceholder}if(e!==false){if(this._initpager){this._initpager()}if(this._initgroupsheader){this._initgroupsheader()}if(this._initmenu){this._initmenu()}this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none");if(this.filterable&&this.showfilterrow){if(this._updatefilterrow){for(var f in this._filterrowcache){b(this._filterrowcache[f]).remove()}this._filterrowcache=[];this._updatefilterrow()}}if(this.showaggregates&&this.refresheaggregates){this.refresheaggregates()}this._renderrows(this.virtualsizeinfo)}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",groupsheaderstring:"Drag a column and drop it here to group by that column",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",groupbystring:"Group By this column",groupremovestring:"Remove from groups",filterclearstring:"Clear",filterstring:"Filter",filtershowrowstring:"Show rows where:",filtershowrowdatestring:"Show rows where date:",filterorconditionstring:"Or",filterandconditionstring:"And",filterselectallstring:"(Select All)",filterchoosestring:"Please Choose:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",addrowstring:"Add",udpaterowstring:"Update",deleterowstring:"Delete",resetrowstring:"Reset",everpresentrowplaceholder:"Enter ",okstring:"Ok",cancelstring:"Cancel"}}},_getmenudefaultheight:function(){var f=this;var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){e+=2}var d=f._measureMenuElement();var g=e*d+9;if(f.filterable&&!f.showfilterrow&&f.showfiltermenuitems){g+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){g+=20}}return g},_initmenu:function(){var s=this.that;if(this.host.jqxMenu){if(this.gridmenu){if(this._hasOpenedMenu){return}if(this.filterable){if(this._destroyfilterpanel){this._destroyfilterpanel()}}this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu.removeData();this.gridmenu.remove()}this.menuitemsarray=new Array();var n="";if(this.isTouchDevice()){n="jqx-grid-menu-item-touch"}this.gridmenu=b('<div tabindex=0 id="gridmenu'+this.element.id+'" style="z-index: 99;"></div>');this.host.append(this.gridmenu);var x=b("<ul></ul>");var i='<div class="jqx-grid-sortasc-icon"></div>';var u=b('<li class="'+n+'">'+i+this.gridlocalization.sortascendingstring+"</li>");var B='<div class="jqx-grid-sortdesc-icon"></div>';var y=b('<li class="'+n+'">'+B+this.gridlocalization.sortdescendingstring+"</li>");var o='<div class="jqx-grid-sortremove-icon"></div>';var k=b('<li class="'+n+'">'+o+this.gridlocalization.sortremovestring+"</li>");var j='<div class="jqx-grid-groupby-icon"></div>';var r=b('<li class="'+n+'">'+j+this.gridlocalization.groupbystring+"</li>");var f=b('<li class="'+n+'">'+j+this.gridlocalization.groupremovestring+"</li>");var d=b('<li type="separator"></li>');var w=b('<li class="filter '+n+'" style="height: 194px;" ignoretheme="true"><div class="filter"></div></li>');var m=this.gridlocalization.sortascendingstring.length;var t=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>m){m=this.gridlocalization.sortdescendingstring.length;t=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>m){m=this.gridlocalization.sortremovestring.length;t=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){if(this.gridlocalization.groupbystring.length>m){m=this.gridlocalization.groupbystring.length;t=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>m){m=this.gridlocalization.groupremovestring.length;t=this.gridlocalization.groupremovestring}}var z=200;t=b.trim(t).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+t+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);z=g.outerWidth()+60;g.remove();var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){x.append(u);this.menuitemsarray[0]=u[0];x.append(y);this.menuitemsarray[1]=y[0];x.append(k);this.menuitemsarray[2]=k[0];e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){x.append(r);this.menuitemsarray[3]=r[0];x.append(f);this.menuitemsarray[4]=f[0];e+=2}var v=this._measureMenuElement();var l=e*v+9;var q=true;if(this.filterable&&!this.showfilterrow&&this.showfiltermenuitems){if(this._initfilterpanel){this.menuitemsarray[5]=w[0];this.menuitemsarray[6]=w[0];x.append(d);x.append(w);l+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){l+=20}if(this.isTouchDevice()){l+=30}var p=b(w).find("div:first");this.excelfilterpanel=b("<div></div>");this.filterpanel=p;this.filtermenu=b(w);z+=20;if(this.adaptive&&this.element.offsetWidth<this.adaptivewidth){z=this.element.offsetWidth-50}this._initfilterpanel(this,p,"",z);this._initfilterpanel(this,this.excelfilterpanel,"",z,true);q=false;this.removeHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s);this.addHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.filter.js.")}}this.gridmenu.append(x);if(b.jqx.browser.msie&&b.jqx.browser.version<8&&this.filterable){b("#listBoxfilter1"+this.element.id).css("z-index",49);b("#listBoxfilter2"+this.element.id).css("z-index",49);b("#listBoxfilter3"+this.element.id).css("z-index",49);b("#gridmenu"+this.element.id).css("z-index",50);this.addHandler(b("#gridmenu"+this.element.id),"initialized",function(){b("#menuWrappergridmenu"+s.element.id).css("z-index",49)})}if(this.menuitemsarray[0]==undefined){l=65}this.removeHandler(b(window),"orientationchange.jqxgrid"+this.element.id);this.removeHandler(b(window),"orientationchanged.jqxgrid"+this.element.id);this.addHandler(b(window),"orientationchange.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.addHandler(b(window),"orientationchanged.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.removeHandler(this.gridmenu,"keydown");this.addHandler(this.gridmenu,"keydown",function(N){var M=b(s.gridmenu.find(".jqx-item")).toArray();var F=function(){b(M).removeClass("jqx-fill-state-focus")};var R=function(X){var V=M.indexOf(X);for(var W=V-1;W>=0;W--){if(M[W].className.indexOf("disabled")>=0){continue}return M[W]}return X};var I=function(X){var V=M.indexOf(X);for(var W=V+1;W<M.length;W++){if(M[W].className.indexOf("disabled")>=0){continue}return M[W]}return X};var L=function(){var V=M[M.length-1];if(V.className.indexOf("disabled")>=0){return R(V)}return V};var U=function(){var V=M[0];if(V.className.indexOf("disabled")>=0){return I(V)}return V};var J=function(){for(var V=0;V<M.length;V++){if(M[V].active){return M[V]}}return null};var G=function(W){F();for(var V=0;V<M.length;V++){M[V].active=false}if(W){b(W).addClass("jqx-fill-state-focus");W.active=true}};if(!J()&&!s.filterable){M[0].active=true}if(s.keyboardmenunavigation&&s.keyboardnavigation){if(N.keyCode===40){var J=J();G(I(J))}else{if(N.keyCode===38){var J=J();G(R(J))}}if(N.keyCode===9){if(!J()){if(N.shiftKey){if(document.activeElement===b.find("#filter1"+s.element.id)[0]){var T=L();G(T);b(b.find("#filter1"+s.element.id)).removeClass("jqx-fill-state-focus");s.gridmenu.focus();N.stopPropagation();N.preventDefault()}else{if(document.activeElement===b.find("#filter1"+s.element.id+"ex")[0]){var T=L();G(T);b(b.find("#filter1"+s.element.id)+"ex").removeClass("jqx-fill-state-focus");s.gridmenu.focus();N.stopPropagation();N.preventDefault()}}}return true}if(!N.shiftKey){var J=J();if(J===L()&&s.filterable&&!s.showfilterrow){G(null);if(b(b.find("#filter1"+s.element.id)).length>0){b(b.find("#filter1"+s.element.id)).jqxDropDownList("focus")}else{if(b(b.find("#filter1"+s.element.id+"ex")).length>0){b(b.find("#filter1"+s.element.id+"ex")).jqxListBox("focus")}}}else{G(I(J))}N.stopPropagation();N.preventDefault()}else{var J=J();G(R(J));N.stopPropagation();N.preventDefault()}}}if(N.keyCode==27){s.gridmenu.jqxMenu("close")}else{if(N.keyCode==13){var M=s.gridmenu.find(".jqx-item");var J=J();if(J){b(J).trigger("click");G(null)}else{if(s._buildfilter&&s.filterable&&!s.showfilterrow){if(b.find("#filter1"+s.element.id).length>0){var S=b(b.find("#filter1"+s.element.id)).jqxDropDownList("container").css("display")=="block";var Q=b(b.find("#filter2"+s.element.id)).jqxDropDownList("container").css("display")=="block";var O=b(b.find("#filter3"+s.element.id)).jqxDropDownList("container").css("display")=="block"}var K=b(b.find("#filterclearbutton"+s.element.id)).hasClass("jqx-fill-state-focus");var C=b(b.find("#filterbutton"+s.element.id)).hasClass("jqx-fill-state-focus");if(K){var D=b.data(document.body,"contextmenu"+s.element.id).column;s._clearfilter(s,s.element,D);s.gridmenu.jqxMenu("close")}else{if(C){if(!S&&!Q&&!O){var D=b.data(document.body,"contextmenu"+s.element.id).column;s.gridmenu.jqxMenu("close");s._buildfilter(s,w,D)}}}}}var P=s.selectedcells.length>0||s.selectedrowindexes.length>0;s.clearselection();var H=s.getdisplayrows()[0];if(H){var E=s.getboundindex(H);if(s.selectionmode.indexOf("cell")>=0){if(P){s.selectcell(E,s.columns.records[0].displayfield)}}else{if(P){s.selectrow(E)}}}}}});if(this.popupwidth!="auto"){z=this.popupwidth}this.gridmenu.jqxMenu({popupZIndex:1000,width:z,height:l,autoCloseOnClick:q,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0});if(this.filterable){this.gridmenu.jqxMenu("_setItemProperty",w[0].id,"closeOnClick",false)}if(this.rtl){var A=this.that;b.each(x.find("li"),function(){b(this).addClass(A.toTP("jqx-rtl"))});var h=function(C){var D=C.find("div");D.css("float","right");D.css("margin-left","4px");D.css("margin-right","-4px")};h(k);h(y);h(u);h(r);h(f)}this._handlemenueevents()}else{this.columnsmenu=false}},_arrangemenu:function(){if(!this.gridmenu){this._initmenu()}var j=this.gridlocalization.sortascendingstring.length;var e=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>j){j=this.gridlocalization.sortdescendingstring.length;e=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>j){j=this.gridlocalization.sortremovestring.length;e=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader){if(this.gridlocalization.groupbystring.length>j){j=this.gridlocalization.groupbystring.length;e=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>j){j=this.gridlocalization.groupremovestring.length;e=this.gridlocalization.groupremovestring}}var f=200;e=b.trim(e).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+e+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);f=g.outerWidth()+60;g.remove();var h=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){h=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){h+=2}var d=this._measureMenuElement();var i=h*d+9;if(this.filterable&&this.showfiltermenuitems){if(this._initfilterpanel){i+=194;f+=20;if(b.jqx.browser.msie&&b.jqx.browser.version<8){i+=20}if(this.isTouchDevice()){i+=30}}}if(this.menuitemsarray[0]==undefined){i=65}if(this.popupwidth!="auto"){f=this.popupwidth}if(this.popupheight!="auto"){i=this.popupheight}this.gridmenu.jqxMenu({width:f,height:i})},_closemenuafterclick:function(e){var k=e!=null?e.data:this;var i=false;if(e.target==undefined||(e.target!=undefined&&e.target.className.indexOf==undefined)){k.gridmenu.jqxMenu("close");return}if(e.target.className.indexOf("filter")!=-1&&e.target.className.indexOf("jqx-grid-cell-filter")==-1){return}if(e.target.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return}if(k._hasOpenedMenu){if(b(e.target).ischildof(k.gridmenu)){return}}var d=k.host.coord();var f=k.gridmenu.coord();var m=e.pageX;var l=e.pageY;b.each(b(e.target).parents(),function(){if(this.id!=null&&this.id.indexOf&&this.id.indexOf("filter")!=-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("filter")!=-1&&this.className.indexOf("jqx-grid-cell-filter")==-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-column")!=-1){k.gridmenu.jqxMenu("close");return false}});if(i){return}try{if(k.filtermode==="default"){var p=b(b.find("#filter1"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter3"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;if(n-o<100){return}if((b(b.find("#filter3"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter1"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter2"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if(k._hasdatefilter){if(b(".filtertext1"+k.element.id)[0].nodeName.toLowerCase()=="div"){if(b(".filtertext1"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}if(b(".filtertext2"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}}}}else{var p=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.hScrollInstance._mouseup;if(n-o<100){return}}}catch(j){}if(m>=f.left&&m<=f.left+k.gridmenu.width()){if(l>=f.top&&l<=f.top+k.gridmenu.height()){return}}var h=false;if(k.columnmenuclosing){var g=b.data(document.body,"contextmenu"+k.element.id);if(!g){g={column:{displayfield:null}}}h=k.columnmenuclosing(k.gridmenu,g.column.displayfield,b(k.gridmenu).height());if(h===false){return}}k.gridmenu.jqxMenu("close")},_handlemenueevents:function(){var d=this.that;this.removeHandler(this.gridmenu,"closed");this.addHandler(this.gridmenu,"closed",function(e){d._closemenu()});this.removeHandler(this.gridmenu,"itemclick");this.addHandler(this.gridmenu,"itemclick",function(h){var g=h.args;for(var e=0;e<d.menuitemsarray.length;e++){var j=d.menuitemsarray[e];if(g==j){if(b(g).attr("ignoretheme")!=undefined){return}var k=b.data(document.body,"contextmenu"+d.element.id);var f=k.column;if(d.filterable){d.gridmenu.jqxMenu("close")}var m=f.displayfield;if(m==null){m=f.datafield}if(k!=null){switch(e){case 0:d.sortby(m,"ascending",null);break;case 1:d.sortby(m,"descending",null);break;case 2:d.sortby(m,null,null);break;case 3:d.addgroup(m);break;case 4:d.removegroup(m);break;case 5:var l=b(d.menuitemsarray[6]);b(l).css("display","block");break;case 7:break}}break}}})},getdatainformation:function(){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}return{rowscount:d,sortinformation:this.getsortinformation(),paginginformation:this.getpaginginformation()}},getsortinformation:function(){return{sortcolumns:this.getsortcolumns?this.getsortcolumns():[],sortcolumn:this.sortcolumn,sortdirection:this.sortdirection}},getpaginginformation:function(){return{pagenum:this.dataview.pagenum,pagesize:this.pagesize,pagescount:Math.ceil(this.dataview.totalrecords/this.pagesize)}},_updaterowsproperties:function(){this._updatehiddenrows();this._updaterowheights();this._updaterowdetails()},_updatehiddenrows:function(){var e=this.that;this.hiddens=new Array();var d=this.hiddenboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.hiddens[h]=this.hidden}})},_updaterowheights:function(){var e=this.that;this.heights=new Array();var d=this.heightboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.heights[h]=this.height}})},_updaterowdetails:function(){var d=this.that;this.details=new Array();var e=this.detailboundrows;b.each(e,function(g){if(this.index!=undefined){var f=this.index;var h=d.getrowvisibleindex(g);d.details[h]=this.details}})},_getmenuitembyindex:function(d){if(d==undefined){return null}return this.menuitemsarray[d]},openmenu:function(e){if(this._openingmenu){return}this._openingmenu=true;this.closemenu();var h=this.getcolumn(e);if(!h.menu){return false}if(!this.gridmenu){this._initmenu()}var d=h.columnsmenu;b(h.element).trigger("mouseenter");this.menuOwner=h;var g=this;for(var f=0;f<g.columns.records.length;f++){if(g.columns.records[f].datafield!=e){b(g.columns.records[f].element).trigger("mouseleave")}}setTimeout(function(){if(b(d)[0].style.display=="block"){b(d).trigger("click")}g._openingmenu=false},200)},closemenu:function(){this._closemenu()},_closemenu:function(){if(this._hasOpenedMenu){var f=false;if(this.columnmenuclosing){var i=b.data(document.body,"contextmenu"+this.element.id);if(!i){i={column:{displayfield:null}}}f=this.columnmenuclosing(this.gridmenu,i.column.displayfield,b(this.gridmenu).height());if(f===false){return}}if(this.gridmenu!=null){this.gridmenu.jqxMenu("close")}var i=b.data(document.body,"contextmenu"+this.element.id);var e=16;if(i!=null&&this.autoshowcolumnsmenubutton){if(this.enableanimations){b(i.columnsmenu).animate({"margin-left":0},"fast",function(){b(i.columnsmenu).css("display","none")});var h=!this.rtl?-32:0;i.column.iconscontainer.animate({"margin-left":h},"fast")}else{b(i.columnsmenu).css("display","none");var h=!this.rtl?-32:0;i.column.iconscontainer.css("margin-left",h)}b.data(document.body,"contextmenu"+this.element.id,null)}this._hasOpenedMenu=false;this.menuOwner=null;var k=this._getmenuitembyindex(5);if(k){var j=b(k).find("#filter1"+this.element.id);var d=b(k).find("#filter2"+this.element.id);var g=b(k).find("#filter3"+this.element.id);if(j.length>0&&this.filtermode==="default"){j.jqxDropDownList("hideListBox");if(d.length>0){d.jqxDropDownList("hideListBox")}if(g.length>0){g.jqxDropDownList("hideListBox")}}}this.focus()}},scrolloffset:function(e,d){if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(d){if(d==null||d==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",d)}},scrolltop:function(d){if(d==null||d==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",d)}},beginupdate:function(e,d){this._updating=true;this._datachanged=false;if(e===true){this._batchupdate=true}if(d===true){this._stopbindings=true}},endupdate:function(){this.resumeupdate()},resumeupdate:function(){this._updating=false;if(this._batchupdate){this._batchupdate=false;this._datachanged=false;if(!this._stopbindings){this.render()}else{this.updatebounddata()}return}if(this._stopbindings){this.updatebounddata("data");return}if(this._datachanged==true){var d=this.vScrollInstance.value;this.render(true,true,false);this._datachanged=false;if(d!=0&&d<this.vScrollInstance.max){this.scrolltop(d)}}else{this.rendergridcontent(true);this._renderrows(this.virtualsizeinfo)}if(this.showaggregates&&this.renderaggregates){this.renderaggregates()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)},updating:function(){return this._updating},showloadelement:function(){if(this.renderloadelement){this.dataloadelement.html(this.renderloadelement())}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block")},hideloadelement:function(){b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")},_updatefocusedfilter:function(){var d=this.that;if(d.focusedfilter){d.focusedfilter.focus();setTimeout(function(){d.focusedfilter.focus();if(d.focusedfilter[0].nodeName.toLowerCase()=="input"){var g=d.focusedfilter.val().length;try{if("selectionStart" in d.focusedfilter[0]){d.focusedfilter[0].setSelectionRange(g,g)}else{var e=d.focusedfilter[0].createTextRange();e.collapse(true);e.moveEnd("character",g);e.moveStart("character",g);e.select()}}catch(f){}}},50)}},databind:function(h,j){if(this.loadingstate===true){return}if(this._stopbindings===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoshowloadelement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this._hideemptyrow()}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}if(!this._initgroupsheader&&this.groups.length>0){this.groups=new Array()}var g=this.that;if(h==null){h={}}if(!h.recordstartindex){h.recordstartindex=0}if(!h.recordendindex){h.recordendindex=0}if(h.loadallrecords==undefined||h.loadallrecords==null){h.loadallrecords=true}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataview();if(b.jqx.dataview.sort){b.extend(this.dataview,new b.jqx.dataview.sort())}if(b.jqx.dataview.grouping){b.extend(this.dataview,new b.jqx.dataview.grouping())}this.dataview.suspendupdate();this.dataview.pageable=this.pageable;this.dataview.groupable=this.groupable;this.dataview.groups=this.groups;this.dataview.virtualmode=this.virtualmode;this.dataview.grid=this;this.dataview._clearcaches();if(!this.pageable&&this.virtualmode){this.loadondemand=true}if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pagesize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pagesize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}if(this.filterable){if(this.columns){b.each(this.columns,function(){if(this.filter){g.dataview.addfilter(this.datafield,this.filter)}})}}}this._loading=true;this.dataview.update=function(q){if(!g.pageable&&g.virtualmode){g.loadondemand=true}g._loading=false;if(g.dataview.isupdating()){g.dataview.resumeupdate(false)}if(g.pageable&&g.pagerrenderer){if(g._initpager){g._initpager()}else{throw new Error("jqxGrid: Missing reference to jqxgrid.pager.js.")}}if((g.source&&g.source.sortcolumn)&&g.sortby&&!g.virtualmode){g.render();if(!g.source._source.sort){g.sortby(g.source.sortcolumn,g.source.sortdirection,g.source.sortcomparer)}g.source.sortcolumn=null;g._postrender("data")}else{var s=g.vScrollInstance.value;var p=g.hScrollInstance.value;var m=g.source?g.source.datatype:"array";if(m!="local"||m!="array"){var n=g.virtualsizeinfo==null||(g.virtualsizeinfo!=null&&g.virtualsizeinfo.virtualheight==0);if(j=="cells"){var k=false;if(g.filterable&&g._initfilterpanel&&g.dataview.filters.length){k=true}if(false==q){if(!g.vScrollInstance.isScrolling()&&!g.hScrollInstance.isScrolling()){g._cellscache=new Array();g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);if(g.showfilterrow&&g.filterable&&g.filterrow){g._updatelistfilters(true)}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}}if(g.sortcolumn){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.virtualmode&&!g._loading){g.loadondemand=true;g._renderrows(g.virtualsizeinfo)}g._postrender("data");return}else{if(k){j="filter"}else{if(g.sortcolumn!=undefined){j="sort"}}}}if(!g.virtualmode||n||(g.virtualmode&&g.pageable)){if(g.initializedcall==true&&j=="pagechanged"){s=0;if(g.groupable&&g.groups.length>0){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{g.rendergridcontent(true);if(g.pageable&&g.updatepagerdetails){g.updatepagerdetails();if(g.autoheight){g._updatepageviews();if(g.autorowheight){g._renderrows(this.virtualsizeinfo)}}else{if(g.autorowheight){g._updatepageviews();g._renderrows(this.virtualsizeinfo)}}}}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(j=="filter"){if(g.virtualmode){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}else{g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}}else{if(j=="sort"){if(g.virtualmode){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{g._render(true,true,false,false,false);if(g.sortmode==="many"){for(var r in g.sortcolumns){g.sortby(r,g.sortcolumns[r],g.source.sortcomparer)}}else{if(g.sortcolumn&&!g.source.sort){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}}g._postrender("data")}if(g.source.sort){g._updatefocusedfilter()}}else{if(j=="data"){g._render(true,true,false,false,false);g._postrender("data")}else{if(j=="state"){g._render(true,true,false,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}else{g._render(true,true,true,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}}}}}}else{if(g.virtualmode&&q==true&&!g.pageable){g._render(true,true,false,false,false);g._updatefocusedfilter();g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{if(g.virtualmode&&!g.pageable&&q==false&&j!=undefined){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(g.virtualmode&&g.dataview.totalrecords==0&&g.dataview.filters.length>0){g._render(true,true,true,g.menuitemsarray&&!g.virtualmode);g._postrender("data")}else{g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);g._postrender("data")}}}}if(g.vScrollInstance.value!=s&&s<=g.vScrollInstance.max){g.vScrollInstance.setPosition(s)}if(g.hScrollInstance.value!=p&&p<=g.hScrollInstance.max){g.hScrollInstance.setPosition(p)}}}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(g.pagerrightbutton){g.pagerrightbutton.jqxButton({disabled:false});g.pagerleftbutton.jqxButton({disabled:false});g.pagershowrowscombo.jqxDropDownList({disabled:false})}if(g.pagerfirstbutton){g.pagerfirstbutton.jqxButton({disabled:false});g.pagerlastbutton.jqxButton({disabled:false})}}g._raiseEvent(11);if(!g.initializedcall){var o=function(){g._raiseEvent(0);g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if(g.sortmode==="many"&&g.sortable){if(g.source.sortcolumns){var v=g.source.sortcolumns;for(var u=0;u<v.length;u++){g.sortby(v[u],g.source.sortdirections[u]==="asc"?true:false)}}}if(g.renderstatusbar){g.renderstatusbar(g.statusbar)}if(g.rendertoolbar){g.rendertoolbar(g.toolbar)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var t=6000+Math.floor((Math.random()*4000)+1);var w=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(w)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},t)}if(g.autoloadstate){if(g.loadstate){g.loadstate(null,true)}}};if(!b.jqx.isHidden(g.host)){o()}else{if(g.readyInterval){clearInterval(g.readyInterval)}g.readyInterval=setInterval(function(){if(!b.jqx.isHidden(g.host)){if(g.__isRendered){clearInterval(g.readyInterval);g.readyInterval=null;o();g._initmenu()}}},200)}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){}if(g.host.css("visibility")=="hidden"){var l=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(!g.autowidth){if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}else{g._updateTouchScrolling()}};this.dataview.databind(h);if(this.dataview.isupdating()){if(e!=undefined){this.dataview.suspend=false}else{this.dataview.resumeupdate(false)}}this._initializeRows()},scrollto:function(e,d){if(undefined!=e){this.hScrollInstance.setPosition(e)}if(undefined!=d){this.vScrollInstance.setPosition(d)}},scrollposition:function(){return{top:this.vScrollInstance.value,left:this.hScrollInstance.value}},ensurerowvisible:function(l){var k=this;if(this.autoheight&&!this.pageable){return true}var f=this._getpagesize();var j=Math.floor(l/f);if(!this._pageviews[j]&&!this.pageable){this._updatepageviews()}if(this.groupable&&this.groups.length>0){var n=this.getdisplayrows();var o=0;for(var g=0;g<n.length;g++){var t=n[g];if(t.boundindex===l){var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;if(o<q||o>q+r){this.scrolltop(o-this.rowsheight)}if(o===q){this.scrolltop(o-this.rowsheight)}break}var e=function(i){if(i.group){if(k.expandedgroups[i.uniqueid]){return k.expandedgroups[i.uniqueid].expanded}}else{return false}};var p=t.parentItem;var h=true;while(p){if(p&&!e(p)){h=false;break}p=p.parentItem}if(h){o+=this.rowsheight;if(this.details[g]){if(this.details[g].rowdetailshidden==false){o+=this.details[g].rowdetailsheight}}}}return true}var s=false;if(this.pageable&&this.gotopage&&!this.virtualmode){var j=Math.floor(l/f);if(this.dataview.pagenum!=j){if(this.groupable&&this.groups.length>0){return true}if(!this.editcell){this.gotopage(j)}else{setTimeout(function(){k.pagerpageinput.focus()},25);return false}s=true}}var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;var d=f*(l/f-j);d=Math.round(d);if(this._pageviews[j]){var o=this._pageviews[j].top;var m=o+d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<l;g++){if(this.details[g]){if(this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}}if(this.scrollmode=="deferred"){if(this.vScrollInstance.max<=m+this.rowsheight){m=this.vScrollInstance.max}}if(m<q){this.scrolltop(m);s=true}else{if(m>q+r+2){this.scrolltop(m-r);s=true}else{}}}else{if(this.pageable){var m=d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<f*j+d;g++){if(this.details[g]&&this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}if(m<q||m>q+r){this.scrollto(0,m);s=true}}}return s},ensurecellvisible:function(h,d){var n=this.that;var i=this.hScrollBar.jqxScrollBar("value");var j=n.hScrollInstance.max;if(n.rtl){if(this.hScrollBar.css("visibility")!="visible"){j=0}}var o=this.ensurerowvisible(h);var e=0;if(this.columns.records){var m=i;if(this.hScrollBar.css("visibility")=="hidden"){return}var l=this.host.width();var k=0;var f=this.vScrollBar.css("visibility")=="visible"?20:0;var g=false;b.each(this.columns.records,function(){if(this.hidden){return true}if(this.datafield==d){var q=0;var p=!n.rtl?m:j-i;if(e+this.width>p+l-f){q=e+this.width-l+f;if(n.rtl){q=j-q}n.scrollleft(q);g=true}else{if(e<=p){q=e-this.width;if(n.rtl){q=j-q}n.scrollleft(q);g=true}}if(k==0){if(n.rtl){n.scrollleft(j)}else{n.scrollleft(0)}g=true}else{if(k==n.columns.records.length-1){if(n.hScrollBar.css("visibility")=="visible"){if(!n.rtl){n.scrollleft(n.hScrollBar.jqxScrollBar("max"))}else{n.scrollleft(n.hScrollBar.jqxScrollBar("min"))}g=true}}}return false}k++;e+=this.width});if(!g){n.scrollleft(m)}}return o},setrowheight:function(e,d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(e==null||d==null){return false}this.heightboundrows[e]={index:e,height:d};e=this.getrowvisibleindex(e);if(e<0){return false}if(this.rows.records[e]){this.rows.records[e].height=d}else{var f=new a(this,null);f.height=d;this.rows.replace(e,f)}this.heights[e]=d;this.rendergridcontent(true);return true},getrowheight:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(d<0){return false}if(this.rows.records[d]){return this.rows.records[d].height}},setrowdetails:function(f,h,d,j){if(f==undefined||f==null||f<0){return}var e=f+"_";if(this._rowdetailscache[e]){var g=this._rowdetailscache[e].element;b(g).remove();this._rowdetailscache[e]=null}var i=this.dataview.generatekey();this.detailboundrows[f]={index:f,details:{rowdetails:h,rowdetailsheight:d,rowdetailshidden:j,key:i}};f=this.getrowvisibleindex(f);if(f<0){return false}return this._setrowdetails(f,h,d,j,i)},getcolumn:function(d){var e=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}else{if(this.columns){b.each(this.columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}}return e},_getcolumnindex:function(e){var d=-1;if(this.columns.records){b.each(this.columns.records,function(){d++;if(this.datafield==e){return false}})}return d},_getcolumnat:function(d){var e=this.columns.records[d];return e},_getprevvisiblecolumn:function(e){var d=this.that;while(e>0){e--;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},_getnextvisiblecolumn:function(e){var d=this.that;while(e<this.columns.records.length){e++;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},getcolumnat:function(d){if(!isNaN(d)){var e=this.columns.records[d];return e}return null},_getcolumn:function(d){var e=null;b.each(this._columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}});return e},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}g=g.toLowerCase();var f=this.getcolumn(e);if(f==null){return}var i=f[g];f[g]=h;var d=this._getcolumn(e);if(d!=null){d[g]=h}this._cellscache=new Array();switch(g){case"filteritems":if(this.filterable&&this.showfilterrow){this._updatelistfilters(true,true)}break;case"text":this.prerenderrequired=true;this._rendercolumnheaders();this._updatecellwidths();if(this._groupsheader()){if(this._initgroupsheader){this._initgroupsheader()}}this._renderrows(this.virtualsizeinfo);if(this.filterable&&this.showfilterrow){this.refreshfilterrow()}break;case"editable":case"resizable":case"draggable":if(g=="editable"){if(h!=i){if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,true)}if(f.columntype=="checkbox"){this.prerenderrequired=true;this.rendergridcontent(true,false);if(this.updating()){return false}}if(this.updating()){return false}this._renderrows(this.virtualsizeinfo)}}break;case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"classname":case"class":this.prerenderrequired=true;if(g=="pinned"){this._initializeColumns();this._preparecolumngroups()}this.rendergridcontent(true);if(this.updating()){return false}if(g=="hidden"){this._updatecolumnwidths();this._updatecellwidths()}this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}break;case"width":case"minwidth":case"maxwidth":if(this.updating()){return false}f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);break}},_getcolumnproperty:function(d,f){if(d==null||f==null){return null}f=f.toLowerCase();var e=this.getcolumn(d);return e[f]},setcolumnproperty:function(d,e,f){this._setcolumnproperty(d,e,f)},getcolumnproperty:function(d,e){return this._getcolumnproperty(d,e)},hidecolumn:function(d){this._setcolumnproperty(d,"hidden",true)},showcolumn:function(d){this._setcolumnproperty(d,"hidden",false)},iscolumnvisible:function(d){return !this._getcolumnproperty(d,"hidden")},pincolumn:function(d){this._setcolumnproperty(d,"pinned",true)},unpincolumn:function(d){this._setcolumnproperty(d,"pinned",false)},iscolumnpinned:function(d){return this._getcolumnproperty(d,"pinned")},_setrowdetails:function(j,d,n,h,e){if(n==0){n=100}if(j==null||n==null){return false}if(e!=null){this.details[j]={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:e}}else{var m=this.details[j]!=null?this.details[j].detailskey:null;var l={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:m};var k=this.that;for(var g=0;g<this.detailboundrows.length;g++){if(this.detailboundrows[g]!=undefined){var f=this.detailboundrows[g];if(f.details.detailskey==m){f.details.rowdetailsheight=l.rowdetailsheight;f.details.rowdetailshidden=l.rowdetailshidden;f.details.rowdetails=l.rowdetails;break}}}this.details[j]=l}if(this._detailsUpdate){return}this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);return true},getrowdetails:function(d){if(d==null){return false}d=this.getrowvisibleindex(d);return this._getrowdetails(d)},_getrowdetails:function(d){if(d==null){return false}if(d<0){return false}if(this.details[d]){return this.details[d]}if(this.rowdetailstemplate){if(typeof this.rowdetailstemplate==="function"){var e=this.rowdetailstemplate(d);if(e.rowdetailshidden===undefined){e.rowdetailshidden=true}if(e.rowdetailsheight===undefined){e.rowdetailsheight=200}if(e.rowdetails===undefined){e.rowdetails="<div></div>"}return e}return this.rowdetailstemplate}},getrecordscount:function(){return this.dataview.totalrecords},showrowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=false;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,false)},hiderowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=true;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,true)},_togglerowdetails:function(j){if(!this.detailsVisibility){this.detailsVisibility=new Array()}var f=j.visibleindex;var g=this._getrowdetails(f);if(g!=null){var e=this.vScrollInstance.value;var i=!g.rowdetailshidden;var h=this.getboundindex(j);if(h!=undefined){this.detailsVisibility[h]=i}var d=this._setrowdetailsvisibility(f,g,i);if(e!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(e<=this.vScrollInstance.max){this.vScrollInstance.setPosition(e)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return d}return false},_setrowdetailsvisibility:function(e,f,i){if(this.rowdetailstemplate){if(!this.details){this.details=new Array()}if(!this.details[e]){var g=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(e):this.rowdetailstemplate;if(undefined===g.rowdetailshidden){g.rowdetailshidden=true}if(undefined===g.rowdetailsheight){g.rowdetailsheight=200}if(undefined===g.rowdetails){g.rowdetails="<div></div>"}this.details[e]={rowdetailshidden:g.rowdetailshidden,rowdetailsheight:g.rowdetailsheight,rowdetails:g.rowdetails};var h=this.dataview.generatekey();this.details[e].detailskey=h;this.detailboundrows[e]={index:e,details:this.details[e]}}}if(f!=null){this.details[e].rowdetailshidden=i}else{return false}var d=this.details[e];if(i){this._raiseEvent(21,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}else{this._raiseEvent(20,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}return this._setrowdetails(e,d.rowdetails,d.rowdetailsheight,d.rowdetailshidden)},getrowvisibleindex:function(d){if(d==undefined||d==null||d<0){return false}if(this.virtualmode){var e=this.dataview.loadedrecords[d];if(e==undefined){return -1}return e.visibleindex}return this.getrowdisplayindex(d)},hiderow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:true};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,true)},showrow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:false};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,false)},isrowhiddenat:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(this.rows.records[d]){return this.rows.records[d].hidden}},_setrowvisibility:function(d,f,e){if(d==null){return false}this.hiddens[d]=f;if(e==undefined||e){this.rendergridcontent(true);return true}return false},_loadrows:function(){if(!this._pageviews[this.dataview.pagenum]&&!this.pageable){return}var k=!this.pageable?this._pageviews[this.dataview.pagenum].top:0;if(!this.pageable&&this._pagescache[this.dataview.pagenum]!=undefined){return null}if(!this.virtualsizeinfo){return}var l=this.that;var s=new Array();var j=new Array();var u=l.groupable&&l.groups.length>0;var d=this.dataview.totalrecords;var m=this.virtualsizeinfo.virtualheight;var e=0;this.rows.beginupdate();var n=this.dataview.pagesize;if(this.pageable&&u){n=this.dataview.rows.length}for(var o=0;o<n;o++){if(o>=this.dataview.rows.length){break}var f=this.dataview.rows[o];var g=null;if(!l.rows.records[f.visibleindex]){g=new a(l,f)}else{g=l.rows.records[f.visibleindex];g.setdata(f)}g.hidden=this.hiddens[g.visibleindex];if(this.rowdetailstemplate){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(g.boundindex):this.rowdetailstemplate;g.rowdetails=v.rowdetails;g.rowdetailsheight=v.rowdetailsheight;g.rowdetailshidden=v.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}var r=this.details[g.visibleindex];if(r){g.rowdetails=r.rowdetails;g.rowdetailsheight=r.rowdetailsheight;g.rowdetailshidden=r.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}else{if(!this.rowdetailstemplate){g.rowdetails=null}}if(u&&this.pageable&&g.parentbounddata!=null){var p=s[g.parentbounddata.uniqueid];if(p!=null){var q=this._findgroupstate(p.uniqueid);if(this._setsubgroupsvisibility){this._setsubgroupsvisibility(this,g.parentbounddata,!q,false)}g.hidden=this.hiddens[g.visibleindex]}if(p!=null&&p!=undefined){g.parentrow=p;p.subrows[p.subrows.length++]=g}}if(g.hidden){continue}var h=f.visibleindex;if(!this.heights[h]){this.heights[h]=this.rowsheight}g.height=this.heights[h];if(this.rowdetails){if(g.rowdetails&&!g.rowdetailshidden){g.height+=g.rowdetailsheight}}s[g.uniqueid]=g;j[e++]=g;g.top=k;k+=g.height;var t=h;l.rows.replace(t,g)}if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews&&this._pageviews.length>0){this._pageviews[0].height=k}}this.rows.resumeupdate();if(j.length>0){this._pagescache[this.dataview.pagenum]=j}},_updateaddnewrowui:function(g){var m=this;var k=m.everpresentrowposition!="bottom"?m.addnewrowtop:m.addnewrowbottom;var o=m.columns.records.length;var f=0;for(var l=0;l<o;l++){var h=m.columns.records[l];if(h.addnewrowwidget){b(h.addnewrowwidget).detach()}}for(var l=0;l<o;l++){var h=m.columns.records[l];var e=h.width;if(e<h.minwidth){e=h.minwidth}if(e>h.maxwidth){e=h.maxwidth}var n=b(k[0].cells[l]);n.css("left",f);var i=true;if(n.width()==e){i=false}if(g){i=true}n.width(e);n[0].left=f;if(h.addnewrowwidget){n.html("");n.append(h.addnewrowwidget)}if(!(h.hidden&&h.hideable)&&!h.adaptivehidden){f+=e}else{n.css("display","none")}if(!i){continue}}var p=m.everpresentrowactions.split(" ");m.addnewrowbutton.show();m.addnewrowupdatebutton.show();m.addnewrowresetbutton.show();m.addnewrowdeletebutton.show();if(p.indexOf("add")==-1&&p.indexOf("addBottom")==-1){m.addnewrowbutton.hide()}if(p.indexOf("update")==-1){m.addnewrowupdatebutton.hide()}if(p.indexOf("reset")==-1){m.addnewrowresetbutton.hide()}if(p.indexOf("delete")==-1){m.addnewrowdeletebutton.hide()}var d=b(k.children()[0]);d.width(parseInt(f)+2);d.height(m.everpresentrowheight);d.css("max-height",m.everpresentrowheight+"px")},_removeaddnewrow:function(){var g=this;var d=g.columns.records.length;for(var f=0;f<d;f++){var e=g.columns.records[f];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}else{e.addnewrowwidget.remove()}e.addnewrowwidget=null}}if(g.addnewrowbutton){g.addnewrowbutton.remove()}if(g.addnewrowupdatebutton){g.addnewrowupdatebutton.remove()}if(g.addnewrowdeletebutton){g.addnewrowdeletebutton.remove()}if(g.addnewrowresetbutton){g.addnewrowresetbutton.remove()}if(g.addnewrowpopup){g.addnewrowpopup.remove();g.addnewrowpopup=null}if(g.addnewrowtop){g.addnewrowtop.remove();g.addnewrowtop=null}if(g.addnewrowbottom){g.addnewrowbottom.remove();g.addnewrowbottom=null}},_updateaddnewrow:function(){var o=this;var f=o.everpresentrowposition!="bottom"?o.addnewrowtop:o.addnewrowbottom;var t=b('<div style="position: relative;" id="row000'+o.element.id+'"></div>');var i=0;var z=o.columns.records.length;var n=o.toThemeProperty("jqx-grid-cell");n+=" "+o.toThemeProperty("jqx-grid-cell-add-new-row");n+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");var m=z+10;var h=new Array();var D=o.that;f[0].cells=h;t.height(o.everpresentrowheight);if(!o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-1)+"px")}else{if(o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-3)+"px")}}t.css("max-height",o.everpresentrowheight+"px");f.append(t);var C=b("<div style='border-width: 1px; border-style: solid; padding: 5px; z-index: 99; display: none; position: absolute;'><div>").appendTo(b(document.body));var d=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.addrowstring+"</button>");var q=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.udpaterowstring+"</button>");var k=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.deleterowstring+"</button>");var p=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.resetrowstring+"</button>");C.addClass(o.toThemeProperty("jqx-popup"));C.addClass(o.toThemeProperty("jqx-rc-all"));C.addClass(o.toThemeProperty("jqx-fill-state-normal"));C.addClass(o.toThemeProperty("jqx-shadow"));C.append(d);C.append(q);C.append(k);C.append(p);var g=o.everpresentrowactions.split(" ");if(g.indexOf("add")==-1&&g.indexOf("addBottom")==-1){d.hide()}if(g.indexOf("update")==-1){q.hide()}if(g.indexOf("reset")==-1){p.hide()}if(g.indexOf("delete")==-1){k.hide()}o.addnewrowpopup=C;o.addnewrowbutton=d;o.addnewrowupdatebutton=q;o.addnewrowdeletebutton=k;o.addnewrowresetbutton=p;d.jqxButton({template:"success",theme:o.theme});k.jqxButton({template:"danger",theme:o.theme});q.jqxButton({template:"primary",theme:o.theme});p.jqxButton({template:"warning",theme:o.theme});q.mousedown(function(E){var Q={};var J={};for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);J[F.datafield]=M;if(F.datafield!=F.displayfield){J[F.datafield]=M.value;J[F.displayfield]=M.label}}var L=false;for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);if(F.createeverpresentrowwidget&&F.validateeverpresentrowwidgetvalue){var K=F.validateeverpresentrowwidgetvalue(F.displayfield,M,J);var P=K;var I=o.gridlocalization.validationstring;if(P.message!=undefined){I=P.message}var O=typeof P=="boolean"?P:P.result;if(!O){M="invalid editor state";F.addnewrowwidget.attr("title",I);F.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{F.addnewrowwidget.attr("title","");F.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){E.preventDefault();E.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);Q[F.datafield]=M;if(F.datafield!=F.displayfield){Q[F.datafield]=M.value;Q[F.displayfield]=M.label}if(F.reseteverpresentrowwidgetvalue){F.reseteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget)}}if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var N=o.getselectedcells()[0].rowindex}else{var N=o.selectedrowindexes[0]}var G=o.getrowdata(N);if(G){o.updaterow(G.uid,Q)}}C.hide();o.focus()});k.mousedown(function(G){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var I=o.getselectedcells()[0].rowindex}else{var I=o.selectedrowindexes[0]}var H=o.getrowdata(I);if(H){o.deleterow(H.uid)}}for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}}C.hide();o.focus();o.updateeverpresentrow()});d.mousedown(function(F){var P={};var J={};for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);J[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.value;J[G.displayfield]=M.label}if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}}var L=false;for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);if(G.createeverpresentrowwidget&&G.validateeverpresentrowwidgetvalue){var K=G.validateeverpresentrowwidgetvalue(G.displayfield,M,J);var O=K;var I=o.gridlocalization.validationstring;if(O.message!=undefined){I=O.message}var N=typeof O=="boolean"?O:O.result;if(!N){M="invalid editor state";G.addnewrowwidget.attr("title",I);G.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{G.addnewrowwidget.attr("title","");G.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){F.preventDefault();F.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);P[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}if(G.reseteverpresentrowwidgetvalue){G.reseteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget)}}var E=o.everpresentrowactions.indexOf("addBottom")>=0?"last":"first";o.addrow(null,P,E);C.hide();o.focus()});p.mousedown(function(G){var H={};for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}if(E.addnewrowwidget){E.addnewrowwidget.attr("title","");E.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}C.hide();o.focus()});for(var w=0;w<z;w++){var x=o.columns.records[w];var u=x.width;if(u<x.minwidth){u=x.minwidth}if(u>x.maxwidth){u=x.maxwidth}var e=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+n+'"></div>');t.append(e);e.css("left",i);if(o.rtl){e.css("z-index",m++);e.css("border-left-width","1px")}else{e.css("z-index",m--)}if(u=="auto"){u=0}e[0].style.width=parseFloat(u)+"px";e[0].left=i;if(!(x.hidden&&x.hideable)&&!x.adaptivehidden){i+=u}else{e.css("display","none")}h[h.length]=e[0];if(x.checkboxcolumn){var B=o.toThemeProperty("jqx-grid-cell");B+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");B+=" "+o.toThemeProperty("jqx-grid-cell-pinned");e.removeClass().addClass(B);continue}var s=true;if(!o.rtl){if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y>w){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==0){s=false}}else{if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y+w>z-1){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==z-1){s=false}}o.updateeverpresentrow=function(){var G=null;if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var H=o.getselectedcells()[0].rowindex}else{var H=o.selectedrowindexes[0]}G=o.getrowdata(H)}if(!G){return}for(var F=0;F<o.columns.records.length;F++){var j=o.columns.records[F];if(j.seteverpresentrowwidgetvalue){var E=o.getcelltext(H,j.displayfield);j.seteverpresentrowwidgetvalue(j.addnewrowwidget,E)}}};if(s){if(x.createeverpresentrowwidget){var v=function(){d.trigger("mousedown")};x.addnewrowwidget=x.createeverpresentrowwidget(x.datafield,e,C,v);if(x.initeverpresentrowwidget){x.initeverpresentrowwidget(x.datafield,e,C)}}else{o._measureElement("column");var r=(o.everpresentrowheight/2-o._columnheight/2);if(r<0){r=6}r+="px";if(x.datafield==="addButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.addrowstring+"</a></div>");e.append(l);l.mousedown(function(){d.trigger("mousedown")});continue}else{if(x.datafield==="resetButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.resetrowstring+"</a></div>");e.append(l);l.mousedown(function(){p.trigger("mousedown")});continue}}var A=function(F,H,j){var E=b('<input style="box-sizing: border-box; padding-right: 4px; padding-left: 4px; border:none;" autocomplete="off" type="textarea"/>');E[0].id=b.jqx.utilities.createId();E.addClass(F.toThemeProperty("jqx-widget"));E.addClass(F.toThemeProperty("jqx-input"));E.addClass(F.toThemeProperty("jqx-widget-content"));E.addClass(F.toThemeProperty("jqx-enableselect"));E.addClass(F.toThemeProperty("jqx-grid-cell-add-new-row"));E.css("text-align",j.cellsalign);if(F.rtl){E.css("direction","rtl")}if(F.disabled){E.attr("disabled",true)}E.attr("disabled",false);E.attr("placeholder",F.gridlocalization.everpresentrowplaceholder+j.text);E.appendTo(H);E.css("width","100%");E.css("height",F.everpresentrowheight+"px");E.css("line-height",F.everpresentrowheight+"px");E.css("max-height",F.everpresentrowheight+"px");E.css("margin","0px");E.focus(function(){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var K=o.getselectedcells()[0].rowindex}else{var K=o.selectedrowindexes[0]}}E.addClass(F.toThemeProperty("jqx-fill-state-focus"));var I=F.columns.records.indexOf(j);if(F.everpresentrowactionsmode!=="columns"){C.css({display:"block",top:E.coord().top+F.everpresentrowheight-1,left:I>0?E.coord().left:E.coord().left-1})}var J=C.children().width();if(j.cellsalign==="right"){var J=d.width()+p.width();C.children().css("left",J-J+"px")}else{C.children().css("left","0px")}F.content[0].scrollLeft=0;F.content[0].scrollTop=0;setTimeout(function(){F.content[0].scrollLeft=0;F.content[0].scrollTop=0},50);return false});j.addnewrowwidget=E;if(!j.reseteverpresentrowwidgetvalue){j.reseteverpresentrowwidgetvalue=function(J,I){I.val("");I.focus();I.blur();I.removeClass(o.toThemeProperty("jqx-input-invalid"));I.attr("title","")}}if(!j.seteverpresentrowwidgetvalue){j.seteverpresentrowwidgetvalue=function(J,I){J.val(I)}}if(!j.geteverpresentrowwidgetvalue){var G=j;j.geteverpresentrowwidgetvalue=function(I,P,R){var U=P.val();if(R!==false&&G.validateeverpresentrowwidgetvalue){var Y={};var O={};for(var M=0;M<z;M++){var K=o.columns.records[M];if(!K.geteverpresentrowwidgetvalue){continue}var Q=K.geteverpresentrowwidgetvalue(K.displayfield,K.addnewrowwidget,false);O[K.datafield]=Q;if(K.datafield!=K.displayfield){O[K.datafield]=Q.value;O[K.displayfield]=Q.label}}var T=G.validateeverpresentrowwidgetvalue(G.displayfield,U,O);var X=T;var N=o.gridlocalization.validationstring;if(X.message!=undefined){N=X.message}var W=typeof X=="boolean"?X:X.result;if(!W){E.addClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title",N);return"invalid editor state"}else{E.removeClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title","")}}var S="string";var J=o.source.datafields||((o.source._source)?o.source._source.datafields:null);if(J){var V="";b.each(J,function(){if(this.name==G.displayfield){if(this.type){V=this.type}return false}});if(V){S=V}}if(S==="number"){var L=parseFloat(U);if(isNaN(L)){return null}}if(S==="date"){return b.jqx.dataFormat.tryparsedate(U,o.gridlocalization)}if(S==="bool"||S==="boolean"){if(U==="true"){return true}if(U=="1"){return true}if(U==="false"){return false}if(U=="0"){return false}if(U===true){return U}if(U===false){return U}return false}return U}}E.keydown(function(I){if(I.keyCode===13){if(o.everpresentrowactions.indexOf("add")>=0){d.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("update")>=0){q.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("delete")>=0){k.trigger("mousedown")}}}}});E.blur(function(){E.removeClass(F.toThemeProperty("jqx-fill-state-focus"));C.css("display","none")});if(j.initeverpresentrowwidget){j.initeverpresentrowwidget(j.datafield,H,C)}};A(this,e,x)}}}if(b.jqx.browser.msie&&b.jqx.browser.version<8){t.css("z-index",m--)}t.width(parseFloat(i)+2);f.addClass(n);f.css("border-bottom-width","0px");if(o.showfilterrow){f.css("border-top-width","0px")}else{f.css("border-top-width","1px")}f.css("box-sizing","border-box");f.css("border-right-width","0px")},_gettableheight:function(){if(this.tableheight!=undefined){return this.tableheight}var e=this.host.height();if(this.columnsheader){var d=this.columnsheader.outerHeight();if(!this.showheader){d=0}}e-=d;if(this.hScrollBar[0].style.visibility=="visible"){e-=this.hScrollBar.outerHeight()}if(this.pageable){e-=this.pager.outerHeight()}if(this._groupsheader()){e-=this.groupsheader.outerHeight()}if(this.showtoolbar){e-=this.toolbarheight}if(this.showstatusbar){e-=this.statusbarheight}if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){e-=this.everpresentrowheight}if(e>0){this.tableheight=e;return e}return this.host.height()},_getpagesize:function(){if(this.pageable){return this.pagesize}if(this.virtualmode){var e=Math.round(this.host.height())+2*this.rowsheight;var d=Math.round(e/this.rowsheight);return d}if(this.autoheight||this.autorowheight){if(this.dataview.totalrows==0){return 1}return this.dataview.totalrows}if(this.dataview.totalrows<100&&this.dataview.totalrecords<100&&this.dataview.totalrows>0){return this.dataview.totalrows}return 100},_calculatevirtualheight:function(){var p=this.that;var e=Math.round(this.host.height())+2*this.rowsheight;var k=this._gettableheight();var r=Math.round(e/this.rowsheight);this.heights=new Array();this.hiddens=new Array();this.details=new Array();this.expandedgroups=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();var h=Math.max(this.dataview.totalrows,this.dataview.totalrecords);if(this.pageable){h=this.pagesize;if(this.pagesize>Math.max(this.dataview.totalrows,this.dataview.totalrecords)&&this.autoheight){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}else{if(!this.autoheight){if(this.dataview.totalrows<this.pagesize){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}}}}var m=h*this.rowsheight;var n=0;var j=0;var l=0;var f=this._getpagesize();var d=f*this.rowsheight;var g=0;if(!this.pageable&&this.autoheight){r=h}if(h+f>0){while(g<=h+f){n+=d;if(g-f<h&&g>=h){var q=g-h;if(q>0){l-=d;this._pageviews[j-1]={top:l,height:d-q*this.rowsheight}}break}else{this._pageviews[j++]={top:l,height:d}}l=n;g+=f}}if(this.resizingGrid!=true){this.vScrollBar.jqxScrollBar({value:0})}if(this.hScrollBar.css("visibility")=="hidden"){var o=0;if(this.columns&&this.columns.records){for(var g=0;g<this.columns.records.length;g++){o+=!isNaN(this.columns.records[g].width)?this.columns.records[g].width:this.columns.records[g].minwidth}if(!isNaN(o)&&parseInt(o)>this.host.width()){k-=30}}}if(m>k&&!this.autoheight){this.vScrollBar.css("visibility","visible");if(this.scrollmode=="deferred"){this.vScrollBar.jqxScrollBar({max:m})}else{this.vScrollBar.jqxScrollBar({max:m-k})}}else{this.vScrollBar.css("visibility","hidden")}this.dataview.pagesize=f;this.dataview.updateview();return{visiblerecords:r,virtualheight:m}},_updatepageviews:function(){if(this.updating()){return}this._pagescache=new Array();this._pageviews=new Array();this.tableheight=null;var m=this.that;var h=Math.round(this.host.height())+2*this.rowsheight;var w=Math.round(h/this.rowsheight);var f=Math.max(this.dataview.totalrows,this.dataview.totalrecords);var n=f*this.rowsheight;var l=0;var q=0;var g=0;var p=0;var r=0;var o=this._getpagesize();if(!this.pageable){for(var t=0;t<f;t++){var d={index:t,height:this.heights[t],hidden:this.hiddens[t],details:this.details[t]};if(this.heights[t]==undefined){this.heights[t]=this.rowsheight;d.height=this.rowsheight}if(this.hiddens[t]==undefined){this.hiddens[t]=false;d.hidden=false}if(this.details[t]==undefined){this.details[t]=null}if(d.height!=m.rowsheight){n-=m.rowsheight;n+=d.height}if(d.hidden){n-=d.height}else{q+=d.height;var e=0;if(this.rowdetails){if(this.rowdetailstemplate){if(!d.details){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate():this.rowdetailstemplate;if(v.rowdetailshidden===undefined){v.rowdetailshidden=true}if(v.rowdetailsheight===undefined){v.rowdetailsheight=200}if(v.rowdetails===undefined){v.rowdetails="<div></div>"}d.details=v}}if(d.details&&d.details.rowdetails&&!d.details.rowdetailshidden){e=d.details.rowdetailsheight;q+=e;n+=e}}l+=d.height+e}r++;if(r>=o||t==f-1){this._pageviews[g++]={top:p,height:q};q=0;p=l;r=0}}}else{if(this._updatepagedview){n=this._updatepagedview(f,n,0)}if(this.autoheight){this._arrange()}}var j=this._gettableheight();if(n>j){if(this.pageable&&this.gotopage){n=this._pageviews[0].height;if(n<0){n=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(n<=j||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(n-j>0){if(this.scrollmode!="deferred"){var s=n-j;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(s!=u){this.vScrollBar.jqxScrollBar({value:0})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.autoheight){w=Math.round(this.host.height()/this.rowsheight)}this.virtualsizeinfo={visiblerecords:w,virtualheight:n}},updatebounddata:function(f){if(f!="data"&&f!="sort"&&f!="filter"&&f!="cells"&&f!="pagechanged"&&f!="pagesizechanged"&&!this.virtualmode){this.virtualsizeinfo=null;if(this.columns&&this.columns.records){for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.destroywidget&&e.widget){if(e.destroywidget){e.destroywidget(e.widget)}}}}if(this.showfilterrow&&this.filterable&&this.filterrow){if(this.clearfilters){this.clearfilters(false)}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}this.filterrow.remove();this._filterrowcache=new Array();this.filterrow=null}else{if(this.filterable){if(this.clearfilters){this.clearfilters(false)}}}if(this.showeverpresentrow){this._removeaddnewrow()}this.detailsVisibility=new Array();this.groupsVisibility=new Array();if(this.groupable){this.dataview.groups=[];this.groups=[]}if(this.pageable){this.pagenum=0;this.dataview.pagenum=0}if(this.sortable){this.sortcolumn=null;this.sortdirection="";this.dataview.sortfielddirection="";this.dataview.clearsortdata()}}this.databind(this.source,f)},refreshdata:function(){this._refreshdataview();this.render()},_updatevscrollbarmax:function(){if(this._pageviews&&this._pageviews.length>0){var f=this._pageviews[0].height;if(this.virtualmode||!this.pageable){f=this.virtualsizeinfo.virtualheight}var e=this._gettableheight();if(f>e){if(this.pageable&&this.gotopage){f=this._pageviews[0].height;if(f<0){f=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(f<=e||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(f-e>0){var d=f-e;this.vScrollBar.jqxScrollBar({max:d})}else{this.vScrollBar.jqxScrollBar({value:0,max:f})}}else{this.vScrollBar.css("visibility","hidden");this.vScrollBar.jqxScrollBar({value:0})}}},_refreshdataview:function(){this.dataview.refresh()},refresh:function(d){if(d!=true){if(b.jqx.isHidden(this.host)){return}if(this.virtualsizeinfo!=null){this._cellscache=new Array();this._renderrows(this.virtualsizeinfo);this._updatesize()}}},render:function(){this._render(true,true,true,true)},invalidate:function(){if(this.virtualsizeinfo){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}},clear:function(){this.databind(null);this.render()},_preparecolumngroups:function(){var o=this.columnsheight;if(this.columngroups){this.columnshierarchy=new Array();if(this.columngroups.length){var n=this;for(var h=0;h<this.columngroups.length;h++){this.columngroups[h].parent=null;this.columngroups[h].groups=null}for(var h=0;h<this.columns.records.length;h++){this.columns.records[h].parent=null;this.columns.records[h].groups=null}var p=function(j){for(var u=0;u<n.columngroups.length;u++){var v=n.columngroups[u];if(v.name===j){return v}}return null};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];if(!q.groups){q.groups=null}if(q.parentgroup){var s=p(q.parentgroup);if(s){q.parent=s;if(!s.groups){s.groups=new Array()}if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];if(q.columngroup){var s=p(q.columngroup);if(s){if(!s.groups){s.groups=new Array()}q.parent=s;if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}var r=0;for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];var e=q;q.level=0;while(e.parent){e=e.parent;q.level++}var e=q;var d=q.level;r=Math.max(r,q.level);while(e.parent){e=e.parent;if(e){e.level=--d}}}var m=function(y){var x=new Array();if(y.columngroup){x.push(y)}if(y.groups){for(var w=0;w<y.groups.length;w++){if(y.groups[w].columngroup){x.push(y.groups[w])}else{if(y.groups[w].groups){var v=m(y.groups[w]);for(var u=0;u<v.length;u++){x.push(v[u])}}}}}return x};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];var f=m(q);q.columns=f;var k=new Array();var t=0;for(var g=0;g<f.length;g++){k.push(this.columns.records.indexOf(f[g]));if(f[g].pinned){t++}}if(t!=0){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group cannot be pinned.")}k.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var l=1;l<k.length;l++){if(k[l]!=k[l-1]+1){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columngroupslevel=1+r;o=this.columngroupslevel*this.columnsheight}return o},_render:function(k,j,l,e,f){if(this.dataview==null){return}if(this._loading){return}if(this._batchupdate){return}if(b.jqx.isHidden(this.host)){var g=this;if(g.___hiddenTimer){clearInterval(g.___hiddenTimer);g.___hiddenTimer=null}this.___hiddenTimer=setInterval(function(){if(!b.jqx.isHidden(g.host)){clearInterval(g.___hiddenTimer);g.render()}},300);return}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,false)}this.validationpopup=null;this._removeHandlers();this._addHandlers();this._initializeRows();this._requiresupdate=j!=undefined?j:true;this._newmax=null;if(l){if(!this._requiresupdate){if(e!=false){this._initmenu()}}if(this.columns==null){this.columns=new b.jqx.collection(this.element)}else{var i=this;if(this.columns&&this.columns.name==="observableArray"){this.columns.notifier=function(p){var n=function(){i.columns=i._columns;i.render()};switch(p.type){case"add":n();break;case"update":if(p.name==="index"){i.beginupdate();for(var o in p.newValue){i.setcolumnproperty(p.newValue.datafield,o,p.newValue[o])}i.endupdate()}else{var m=p.path.split(".");i.setcolumnproperty(i.columns[m[0]].datafield,p.name,p.newValue)}break;case"delete":n();break}}}if(this.columngroups&&this.columngroups.name==="observableArray"){this.columngroups.notifier=function(m){i.render()}}this._initializeColumns()}}this.tableheight=null;this._pagescache=new Array();this._pageviews=new Array();this.visiblerows=new Array();this.hittestinfo=new Array();if(this._requiresupdate){this._clearcaches();if(e==true){this._initmenu()}}this.virtualsizeinfo=null;this.prerenderrequired=true;if((this.groupable&&this.groups.length>0&&this.rowdetails)||(this.rowdetails)){if(this.gridcontent){this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();this.detailboundrows=new Array();this.details=new Array();b.jqx.utilities.html(this.gridcontent,"");this.gridcontent=null}}if(this.gridcontent){if(this.editable&&this._destroyeditors){this._destroyeditors()}}if(l){if(this.filterrow){this.filterrow.detach()}b.jqx.utilities.html(this.content,"");this.columnsheader=this.columnsheader||b('<div style="overflow: hidden;"></div>');this.columnsheader.remove();this.columnsheader.addClass(this.toTP("jqx-widget-header"));this.columnsheader.addClass(this.toTP("jqx-grid-header"))}else{if(this.gridcontent){b.jqx.utilities.html(this.gridcontent,"")}}if(!this.showheader){this.columnsheader.css("display","none")}else{if(this.columnsheader){this.columnsheader.css("display","block")}}this.gridcontent=this.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');this.gridcontent.remove();var h=this.columnsheight;h=this._preparecolumngroups();if(this.showfilterrow&&this.filterable){this.columnsheader.height(h+this.filterrowheight);if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.filterrowheight+this.everpresentrowheight)}}else{if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.everpresentrowheight)}else{this.columnsheader.height(h)}}this.content.append(this.columnsheader);this.content.append(this.gridcontent);this._arrange();if(this._initgroupsheader){this._initgroupsheader()}this.selectionarea=this.selectionarea||b("<div style='z-index: 99; visibility: hidden; position: absolute;'></div>");this.selectionarea.addClass(this.toThemeProperty("jqx-grid-selectionarea"));this.selectionarea.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.content.append(this.selectionarea);this.tableheight=null;this.rendergridcontent(false,l);if(this.groups.length>0&&this.groupable){var d=this.vScrollBar[0].style.visibility;this.suspendgroupevents=true;if(this.collapseallgroups){if(!this.groupsexpandedbydefault){this.collapseallgroups(false);this._updatescrollbarsafterrowsprerender()}else{this.expandallgroups(false)}}if(this.vScrollBar[0].style.visibility!=d){this._updatecolumnwidths();this._updatecellwidths()}this.suspendgroupevents=false}if(this.pageable&&this.updatepagerdetails){this.updatepagerdetails();if(this.autoheight){this._updatepageviews()}if(this.autorowheight){if(!this.autoheight){this._updatepageviews()}this._renderrows(this.virtualsizeinfo)}}if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}this._addoverlayelement();if(this.scrollmode=="deferred"){this._addscrollelement()}if(this.showfilterrow&&this.filterable&&this.filterrow&&(f==undefined||f==true)){this._updatelistfilters(!l)}if(this.rendered){this.rendered("full")}this.__isRendered=true},_addoverlayelement:function(){var d=b.jqx.utilities.getBrowser();if((d.browser=="msie"&&parseInt(d.version)<9)||this.isTouchDevice()){if(this._overlayElement){this._overlayElement.remove()}this._overlayElement=b("<div class='jqxgrid-overlay' style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._overlayElement.css("background","white");this._overlayElement.css("z-index",180);this._overlayElement.css("opacity",0.001);if(this.isTouchDevice()){if(this.vScrollBar.css("visibility")!=="hidden"||this.hScrollBar.css("visibility")!=="hidden"){var e=0;if(this.selectionmode=="checkbox"){e+=30}if(this.groupable||this.rowdetails){this._overlayElement.css("left",30*(this.groups.length+(this.rowdetails?1:0)))}var f=this._overlayElement.css("left");this._overlayElement.css("left",f+e)}else{if(this._overlayElement){this._overlayElement.remove()}}}else{this.content.prepend(this._overlayElement)}}this._updateTouchScrolling()},_addscrollelement:function(){if(this._scrollelement){this._scrollelement.remove()}if(this._scrollelementoverlay){this._scrollelementoverlay.remove()}this._scrollelementoverlay=b("<div style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._scrollelementoverlay.css("background","black");this._scrollelementoverlay.css("z-index",1800);this._scrollelementoverlay.css("opacity",0.1);this._scrollelement=b("<span style='visibility: hidden; top: 50%; right: 10px; position: absolute;'></span>");this._scrollelement.css("z-index",1900);this._scrollelement.addClass(this.toThemeProperty("jqx-button"));this._scrollelement.addClass(this.toThemeProperty("jqx-fill-state-normal"));this._scrollelement.addClass(this.toThemeProperty("jqx-rc-all"));this._scrollelement.addClass(this.toThemeProperty("jqx-shadow"));this.content.prepend(this._scrollelement);this.content.prepend(this._scrollelementoverlay)},_postrender:function(f){if(f=="filter"||f=="sort"||f=="group"){if(this.rowdetails&&this.detailsVisibility&&this.detailsVisibility.length>0){this._detailsUpdate=true;for(var e=0;e<this.details.length;e++){if(this.details[e]){this.details[e].rowdetailshidden=true}}for(var e=0;e<this.detailsVisibility.length;e++){if(false===this.detailsVisibility[e]){this.showrowdetails(e)}else{if(true===this.detailsVisibility[e]){this.hiderowdetails(e)}}}this._detailsUpdate=false;this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(this.groupable&&this.groups.length>0){if(f=="filter"||f=="sort"){for(var e=0;e<this.dataview.loadedgroups.length;e++){var h=this.dataview.loadedgroups[e];var d=0;var k;for(var g in this.groupsVisibility){if(g==h.group&&this.groupsVisibility[g]){k=true;this._setgroupstate(h,true,false);d++}}if(d>0){k=false;var j=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(j!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}}}else{if(f=="group"){this.groupsVisibility=new Array()}}}},rendergridcontent:function(e,g){if(this.updating()){return false}if(e==undefined||e==null){e=false}this._requiresupdate=e;var i=this.prerenderrequired;if(this.prerenderrequired){this._arrange()}var h=this.that;var g=g;if(g==null||g==undefined){g=true}this.tableheight=null;h.virtualsizeinfo=h.virtualsizeinfo||h._calculatevirtualheight();if(h.pageable&&!h.autoheight){if(h.dataview.totalrows<h.pagesize){h._requiresupdate=true}}if(g){h._rendercolumnheaders()}else{if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}}h._renderrows(h.virtualsizeinfo);if(this.gridcontent){if(this.gridcontent[0].scrollTop!=0){this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}if(i){var f=this.tableheight;this._arrange();if(f!=this.tableheight&&this.autoheight){h._renderrows(h.virtualsizeinfo)}}if(this.rtl){this._renderhorizontalscroll()}if(this.autosavestate){if(this.initializedcall!=null){if(this.savestate){this.savestate()}}}if(this.adaptive&&this.element.offsetWidth<=this.adaptivewidth){var d=0;var j=h.element.offsetWidth-2;b.each(this.columns.records,function(k,l){d+=this.width;if(this.columntype==="adaptive"){return true}if(d>=j){this.adaptivehidden=true}});this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_updatecolumnwidths:function(){var p=this.host.width();var f=p;var n="";if(this.columns==undefined||this.columns.records==undefined){return}var u=this.that;var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;var m=this.adaptive&&this.element.offsetWidth<=this.adaptivewidth;var e=0;if(m){var t=1;b.each(this.columns.records,function(q,v){if(this.adaptivehidden){t++}});var l=this.vScrollBar[0].offsetWidth>0?this.vScrollBar[0].offsetWidth+4:0;if(this.vScrollBar.css("visibility")=="hidden"){l=0}var k=this.columns.records.length-t;e=(this.element.offsetWidth-32-l)/k}b.each(this.columns.records,function(v,x){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var x=0;var y=u.vScrollBar[0].style.visibility=="hidden"?0:u.scrollbarsize+5;if(u.scrollbarautoshow||u.scrollbarsize==0){y=0}var q=f;x=parseFloat(this.width)*q/100;y+=h;if(this._percentagewidth!=undefined){x=parseFloat(this._percentagewidth)*(q-y)/100}if(x<this.minwidth&&this.minwidth!="auto"){x=this.minwidth}if(x>this.maxwidth&&this.maxwidth!="auto"){x=this.maxwidth}p-=x}else{if(this.width!="auto"&&!this._width){p-=this.width}else{n+=this.text}}}});var g=this._gettableheight();if(!this.autoheight){if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>g){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var s=this.dataview.loadedrootgroups.length*this.rowsheight;if(this.pageable){for(var d=0;d<this.dataview.rows.length;d++){if(this.dataview.rows[d].group&&this.dataview.rows[d].level===0){s+=this.rowsheight}}}if(s>g){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}else{if(this.vScrollBar.css("visibility")=="visible"){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}else{p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}else{if(this.vScrollBar.css("visibility")!="hidden"&&this.scrollbarsize>0){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}}var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;f-=h;if(!this.columnsheader){return}var j=this.columnsheader.find("#columntable"+this.element.id);if(j.length==0){return}var i=0;var o=this;var r=0;b.each(this.columns.records,function(w,A){var y=b(this.element);if(!this.hidden&&!this.adaptivehidden&&this.element.style.display==="none"){this.element.style.display="block"}if(this.adaptivehidden){this.element.style.display="none"}var v=false;var z=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){z=parseFloat(this._percentagewidth)*f/100}else{z=parseFloat(this.width)*f/100}v=true}if(e>0&&this.columntype!=="adaptive"){y.width(e);this.adaptivewidth=e}else{if(this.width!="auto"&&!this._width&&!v){if(parseInt(y[0].style.width)!=this.width){y.width(this.width)}}else{if(v){if(z<this.minwidth&&this.minwidth!="auto"){z=this.minwidth;this.width=z}if(z>this.maxwidth&&this.maxwidth!="auto"){z=this.maxwidth;this.width=z}if(parseInt(y[0].style.width)!=z){y.width(z);this.width=z}}else{var x=Math.floor(p*(this.text.length/n.length));r+=x;if(p-r<3&&p!=r&&p-r>0.01){if(p-r===1){x++}else{x+=2}}else{if(w==u.columns.records.length-1){if(r<p){x+=(p-r)}}}if(isNaN(x)){x=this.minwidth}if(isNaN(x)){x=this.minwidth}if(x==Infinity){x=0}if(x<0){var q=b("<span>"+this.text+"</span>");b(document.body).append(q);x=10+q.width();q.remove()}if(x<this.minwidth){x=this.minwidth}if(x>this.maxwidth){x=this.maxwidth}this._width="auto";this.width=x;y.width(this.width)}}}if(parseInt(y[0].style.left)!=i){y.css("left",i)}if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(e>0&&this.columntype!=="adaptive"){i+=e}else{i+=this.width}}this._requirewidthupdate=true});this.columnsheader.width(2+i);j.width(this.columnsheader.width());if(i==0){this.columnsheader[0].style.visibility="hidden"}else{this.columnsheader[0].style.visibility="inherit"}this._resizecolumngroups();if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}if(this.autowidth){this._arrange()}},_rendercolumnheaders:function(){var x=this.that;if(!this.prerenderrequired){if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}return}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var o=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');o[0].cells=new Array();var B=0;var h=0;var u="";var G=this.host.width();var s=G;var g=new Array();var A=new Array();var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;b.each(this.columns.records,function(j,k){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){G-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){G-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;var p=x.vScrollBar[0].style.visibility=="hidden"?0:x.scrollbarsize+5;p+=t;k=parseFloat(this.width)*(s-p)/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}G-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}G-=this.width}}}}else{u+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(x._haspinned){this.pinned=true}g[g.length]=this}else{A[A.length]=this}});if(!this.rtl){for(var D=0;D<g.length;D++){this.columns.replace(D,g[D])}for(var C=0;C<A.length;C++){this.columns.replace(g.length+C,A[C])}}else{var y=0;g.reverse();for(var D=this.columns.records.length-1;D>=this.columns.records.length-g.length;D--){this.columns.replace(D,g[y++])}for(var C=0;C<A.length;C++){this.columns.replace(C,A[C])}}var n=this.headerZIndex;var r=x.groupable?x.groups.length:0;if(this.rowdetails&&this.showrowdetailscolumn){r++}var l=x.columnsheader.height();if(this.showfilterrow){if(!this.columngroups){l=this.columnsheight}else{l-=this.filterrowheight}}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){l=this.columnsheight}else{l-=this.everpresentrowheight}}var v=this._gettableheight();if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>v&&!this.scrollbarautoshow){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var E=0;if(!this.pageable){var E=this.dataview.loadedrootgroups.length*this.rowsheight}else{if(this.pageable){for(var w=0;w<this.dataview.rows.length;w++){if(this.dataview.rows[w].group&&this.dataview.rows[w].level===0){E+=this.rowsheight}}}}if(E>v){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{if(!this.autoheight&&this.scrollbarsize>0){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}}s-=t;var d=function(j,k){var i=x.columngroupslevel*x.columnsheight;i=i-(k.level*x.columnsheight);return i};var f=document.createDocumentFragment();var z=0;b.each(this.columns.records,function(X,V){this.height=x.columnsheight;if(x.columngroups){if(x.columngroups.length){this.height=d(this.datafield,this);l=this.height}}var ab=x.toTP("jqx-grid-column-header")+" "+x.toTP("jqx-widget-header");if(x.rtl){ab+=" "+x.toTP("jqx-grid-column-header-rtl")}var Z=!x.rtl?150+n-1:150+n+1;var T=!x.rtl?n--:n++;var H=b('<div role="columnheader" style="z-index: '+T+';position: absolute; height: 100%;" class="'+ab+'"><div style="height: 100%; width: 100%;"></div></div>');if(x.columngroups){H[0].style.height=l+"px";H[0].style.bottom="0px";if(this.pinned){H[0].style.zIndex=Z}}this.uielement=H;if(this.classname!=""&&this.classname){H.addClass(this.classname)}var P=this.width;var Q=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){P=parseFloat(this._percentagewidth)*s/100}else{P=parseFloat(this.width)*s/100}Q=true}if(this.width!="auto"&&!this._width&&!Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth;this.width=P}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth;this.width=P}H[0].style.width=parseInt(P)+"px"}else{if(Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}H.width(P);this.width=P}else{if(!this.hidden&&!this.adaptivehidden){var U=Math.floor(G*(this.text.length/u.length));z+=U;if(G-z<3&&G!=z&&G-z>0.01){if(G-z===1){U++}else{U+=2}}else{if(X==x.columns.records.length-1){if(z<G){U+=(G-z)}}}if(isNaN(U)){U=this.minwidth}if(U<0){var S=b("<span>"+this.text+"</span>");b(document.body).append(S);U=10+S.width();S.remove()}if(U<this.minwidth){U=this.minwidth}if(U>this.maxwidth){U=this.maxwidth}this._width="auto";this.width=U;P=this.width;H.width(this.width)}}}if((this.hidden&&this.hideable)||this.adaptivehidden){H.css("display","none")}var p=b(H.children()[0]);var Y=x.rtl?x.toTP("jqx-grid-column-menubutton")+" "+x.toTP("jqx-grid-column-menubutton-rtl"):x.toTP("jqx-grid-column-menubutton");Y+=" "+x.toTP("jqx-icon-arrow-down");var K=b('<div style="height: '+l+'px; display: none; left: 100%; top: 0%; position: absolute;"><div class="'+Y+'" style="width: 100%; height:100%;"></div></div>');if(!x.enableanimations){K.css("margin-left",-16)}if(x.rtl){K.css("left","0px")}this.columnsmenu=K[0];o[0].cells[X]=H[0];K[0].style.width=parseInt(x.columnsmenuwidth)+"px";var J=x.columnsmenu;var q=false;var W=false;var R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);if(x.rtl){R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);R&=X>x.columns.records.length-1-r}if(R){B++;J&=false;this.sortable=false;this.editable=false;W=true}else{var M=this.renderer!=null?this.renderer(this.text,this.align,l):x._rendercolumnheader(this.text,this.align,l,x);if(M==null){M=x._rendercolumnheader(this.text,this.align,l,x)}if(this.renderer!=null){M=b(M)}J&=true;q=true}if(x.WinJS){MSApp.execUnsafeLocalFunction(function(){p.append(b(M))})}else{if(this.renderer){p.append(b(M))}else{if(M){p[0].innerHTML=M}}}if(M!=null){var O=b('<div class="iconscontainer" style="height: '+l+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortascbutton")+" "+x.toTP("jqx-icon-arrow-up")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortdescbutton")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div><div class="sorticon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; visibility: hidden; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sorticon")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div></div>');K.addClass(x.toTP("jqx-widget-header"));p.append(O);var ad=O.children();this.sorticon=ad[3];this.sortasc=ad[1];this.sortdesc=ad[2];this.filtericon=ad[0];this.iconscontainer=O;if(x.rtl){O.css("margin-left","0px");O.css("left","0px");b(this.sorticon).css("float","left");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}if(!x.autoshowfiltericon&&this.filterable){b(this.filtericon).css("display","block")}}this.element=H[0];if(J){x._handlecolumnsmenu(x,p,H,K,this);if(!this.menu){K.hide()}}f.appendChild(H[0]);if(x.groupable&&q){H[0].id=x.dataview.generatekey();if(x._handlecolumnstogroupsdragdrop){x._handlecolumnstogroupsdragdrop(this,H)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.grouping.js.")}}if(x.columnsreorder&&this.draggable&&x._handlecolumnsdragreorder){x._handlecolumnsdragreorder(this,H)}var aa=this;aa._applyStyle();x.addHandler(H,"mouseenter",function(i){aa.hovered=true;aa._applyStyle()});x.addHandler(H,"mouseleave",function(i){aa.hovered=false;aa._applyStyle()});var ac=function(aj,ae,ak){if(aj.selectable){var am=x.getrows();if(aj.selected===undefined){aj.selected=false}if(!ae.shiftKey||x._clickedcolumn===undefined){x._clickedcolumn=aj}if(ae.shiftKey&&x._clickedcolumn&&ak===undefined){var al=x.columns.records.indexOf(x._clickedcolumn);var ai=x.columns.records.indexOf(aj);var af=Math.min(al,ai);var ag=Math.max(al,ai);x.clearselection();for(var ah=af;ah<=ag;ah++){ac(x.columns.records[ah],ae,true)}x._renderrows(this.virtualsizeinfo);return}if(ak){aj.selected=true}else{if(!ae.ctrlKey){x.clearselection()}aj.selected=!aj.selected}for(var ah=0;ah<am.length;ah++){x._applycellselection(am[ah].boundindex,aj.displayfield,aj.selected,false)}if(aj.selected){aj.element.setAttribute("selected","")}else{aj.element.removeAttribute("selected")}aj._applyStyle();if(ak===undefined){x._renderrows(this.virtualsizeinfo)}}};x.addHandler(H,"click",function(i){if(aa.checkboxcolumn){return true}if(x.sorttogglestates>0&&x._togglesort){if(!x._loading){if(x.suspendClick){return true}x._togglesort(aa)}}ac(aa,i);i.preventDefault();x._raiseEvent(7,{column:aa.getcolumnproperties(),datafield:aa.datafield,originalEvent:i})});if(aa.resizable&&x.columnsresize&&!W){var I=false;var j="mousemove";if(x.isTouchDevice()&&x.touchmode!==true){I=true;j=b.jqx.mobile.getTouchEventName("touchstart")}x.addHandler(H,j,function(ae){var i=parseInt(ae.pageX);var ag=5;var aj=parseInt(H.coord().left);if(x.hasTransform){aj=b.jqx.utilities.getOffset(H).left}if(x.resizing){return true}if(x._handlecolumnsresize){if(I){var af=x.getTouches(ae);var ai=af[0];i=ai.pageX;ag=40;if(i>=aj+aa.width-ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize")}else{H.css("cursor","");x.resizablecolumn=null}return true}var ah=aa.width;if(x.rtl){ah=0}if(i>=aj+ah-ag){if(i<=aj+ah+ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize");return false}else{H.css("cursor","");x.resizablecolumn=null}}else{H.css("cursor","");if(i<aj+ah-ag){if(!aa._animating&&!aa._menuvisible){H.mouseenter()}}x.resizablecolumn=null}}})}H.css("left",h);if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){h+=P}if(aa.rendered){var N=aa.rendered(b(p[0].firstChild),aa.align,l);if(N&&O!=null){O.hide()}}if(aa.checkboxcolumn){if(O){O.hide()}if(!x.host.jqxCheckBox){throw new Error("jqxGrid: Missing reference to jqxcheckbox.js")}p.html('<div style="cursor: pointer; margin-left: 3px; top: 50%; margin-top: -9px; position: relative;"></div>');var k=p.find("div:first");k.jqxCheckBox({_canFocus:false,disabled:x.disabled,disabledContainer:true,theme:x.theme,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0});k.addClass(x.toThemeProperty("jqx-checkbox"));aa.checkboxelement=k;var L=k.data().jqxCheckBox.instance;x._checkboxcolumn=aa;L.updated=function(ae,i,af){x._checkboxcolumnupdating=true;if(x.disabled){k.jqxCheckBox({disabled:x.disabled});i=af}if(i){x.selectallrows()}else{x.unselectallrows()}x._checkboxcolumnupdating=false}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}o[0].appendChild(f);this.columnsrow=o;x.columnsheader.append(o);if(this.showfilterrow&&this._updatefilterrow){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.filterrow){var F=b("<div style='position: relative !important; '></div>");F[0].id="filterrow."+this.element.id;F.height(this.filterrowheight);this.filterrow=F}this.filterrow.width(2+h);this.columnsheader.append(this.filterrow);this._updatefilterrow()}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.addnewrowtop){var m=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");m[0].id="addnewrowtop."+this.element.id;m.height(this.everpresentrowheight);this.addnewrowtop=m}this.addnewrowtop.width(2+h);if(this.everpresentrowposition=="topAboveFilterRow"){if(this.filterrow){this.addnewrowtop.insertBefore(this.filterrow)}else{this.columnsheader.append(this.addnewrowtop)}}else{this.columnsheader.append(this.addnewrowtop)}this._updateaddnewrow()}else{if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){if(!this.addnewrowbottom){var e=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");e[0].id="addnewrowbottom."+this.element.id;e.height(this.everpresentrowheight);this.addnewrowbottom=e}this.addnewrowbottom.width(2+h);this.addnewrow.append(this.addnewrowbottom);this._updateaddnewrow()}}if(h==0){o[0].style.visibility="hidden"}else{o[0].style.visibility="inherit"}o.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsreorder){this._handlecolumnsreorder()}if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this._handlecolumnsresize){this._handlecolumnsresize()}if(this.columngroups){this._rendercolumngroups()}if(this._updatecheckboxselection){this._updatecheckboxselection()}},_rendercolumngroups:function(){if(!this.columngroups){return}var p=0;for(var m=0;m<this.columns.records.length;m++){if(this.columns.records[m].pinned){p++}}var u=this.headerZIndex-p+this.columns.records.length;var v=this.that;var h=v.toTP("jqx-grid-column-header")+" "+v.toTP("jqx-grid-columngroup-header")+" "+v.toTP("jqx-widget-header");if(v.rtl){h+=" "+v.toTP("jqx-grid-columngroup-header-rtl")}var f=this.columnsheader.find("#columntable"+this.element.id);f.find("jqx-grid-columngroup-header").remove();for(var k=0;k<this.columngroupslevel-1;k++){for(var m=0;m<this.columngroups.length;m++){var r=this.columngroups[m];var d=r.level;if(d!==k){continue}var q=d*this.columnsheight;var e=99999;if(r.groups){var t=function(y){var x=0;for(var w=0;w<y.groups.length;w++){var i=y.groups[w];if(!i.groups){if(!i.hidden){x+=i.width;e=Math.min(parseFloat(i.element.style.left),e)}}else{x+=t(i)}}return x};r.width=t(r);r.left=e;var s=this.columnsheight;var n=u--;var g=b('<div role="columnheader" style="z-index: '+n+';position: absolute;" class="'+h+'"></div>');var l=b(this._rendercolumnheader(r.text,r.align,this.columnsheight,this));if(r.renderer){var l=b("<div style='height: 100%; width: 100%;'></div>");var o=r.renderer(r.text,r.align,s);l.html(o)}g.append(l);g[0].style.left=e+"px";if(e===0){g[0].style.borderLeftColor="transparent"}if(!this.showcolumnheaderlines){g[0].style.borderRightColor="transparent";g[0].style.borderBottomColor="transparent";g[0].style.boxShadow="none"}g[0].style.top=q+"px";g[0].style.height=s+"px";g[0].style.width=-1+r.width+"px";f.append(g);r.element=g;if(r.rendered){r.rendered(l,r.align,s)}}}}},_resizecolumngroups:function(){if(!this.columngroups){return}for(var e=0;e<this.columngroups.length;e++){var k=this.columngroups[e];var l=k.level;var j=l*this.columnsheight;var h=99999;if(k.groups){var g=function(o){var n=0;for(var m=0;m<o.groups.length;m++){var i=o.groups[m];if(!i.groups){if(!i.hidden){n+=i.width;h=Math.min(parseFloat(i.element.style.left),h)}}else{n+=g(i)}}return n};k.width=g(k);k.left=h;var d=this.columnsheight;var f=k.element;f[0].style.left=h+"px";f[0].style.top=j+"px";f[0].style.height=d+"px";f[0].style.width=-1+k.width+"px"}}},_handlecolumnsmenu:function(p,g,h,k,m){p.dragmousedown=null;k[0].id=p.dataview.generatekey();g.append(k);h[0].columnsmenu=k[0];m.element=h[0];var l=this.columnsmenuwidth+1;var o=function(){if(!m.menu){return false}if(!p.resizing){if(m._menuvisible&&p._hasOpenedMenu){return false}m._animating=true;if(p.menuitemsarray&&p.menuitemsarray.length>0){if(!p.enableanimations){k.css("display","block");var q=!p.rtl?-48:16;m.iconscontainer.css("margin-left",q+"px");m._animating=false;m._menuvisible=true}else{k.css("display","block");k.stop();m.iconscontainer.stop();if(!p.rtl){k.css("margin-left","0px");k.animate({"margin-left":-l},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}else{k.css("margin-left",-l);k.animate({"margin-left":"0px"},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}var q=!p.rtl?-(32+l):l;m.iconscontainer.animate({"margin-left":q},"fast")}}}};var f="mouseenter";if(p.isTouchDevice()){f="touchstart"}p.addHandler(h,f,function(r){var q=parseInt(r.pageX);var t=p.columnsresize&&m.resizable?3:0;var v=parseInt(h.coord().left);if(p.hasTransform){v=b.jqx.utilities.getOffset(h).left}var u=m.width;if(p.rtl){u=0}if(t!=0){if(q>=v+u-t){if(q<=v+u+t){return false}}}var s=p.vScrollInstance.isScrolling();if(m.menu&&p.autoshowcolumnsmenubutton&&!s&&!p.disabled){o()}});if(!p.autoshowcolumnsmenubutton){k.css("display","block");var e=!p.rtl?-48:16;m.iconscontainer.css("margin-left",e+"px");if(!p.rtl){k.css({"margin-left":-l})}else{k.css({"margin-left":"0px"})}}p.addHandler(h,"mouseleave",function(q){if(p.menuitemsarray&&p.menuitemsarray.length>0&&m.menu){var s=b.data(document.body,"contextmenu"+p.element.id);if(s!=undefined&&k[0].id==s.columnsmenu.id){return}if(p.autoshowcolumnsmenubutton){if(!p.enableanimations){k.css("display","none");var r=!p.rtl?-32:0;m.iconscontainer.css("margin-left",r+"px");m._menuvisible=false}else{if(!p.rtl){k.css("margin-left",-l)}else{k.css("margin-left","0px")}k.stop();m.iconscontainer.stop();if(!p.rtl){k.animate({"margin-left":0},"fast",function(){k.css("display","none");m._menuvisible=false})}else{k.animate({"margin-left":-l},"fast",function(){k.css("display","none");m._menuvisible=false})}var r=!p.rtl?-32:0;m.iconscontainer.animate({"margin-left":r},"fast")}}}});var j=true;var d="";var i=b(m.filtericon);p.addHandler(k,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});p.addHandler(i,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});var n=function(){if(!m.menu){return false}if(!p.gridmenu){p._initmenu()}if(p.disabled){return false}for(var H=0;H<p.columns.records.length;H++){if(p.columns.records[H].datafield!=m.datafield){p.columns.records[H]._menuvisible=false}}var w=k.coord(true);var B=k.height();if(!j){j=true;if(d==m.datafield){p._closemenu();return false}}var r=p.host.coord(true);if(p.hasTransform){r=b.jqx.utilities.getOffset(p.host);w=b.jqx.utilities.getOffset(k)}if(r.left+p.host.width()>parseInt(w.left)+p.gridmenu.width()){p.gridmenu.jqxMenu("open",w.left,w.top+B)}else{p.gridmenu.jqxMenu("open",k.width()+w.left-p.gridmenu.width(),w.top+B)}if(p.gridmenu.width()<100){p._arrangemenu()}if(p.adaptive&&p.element.offsetWidth<p.adaptivewidth){p.gridmenu.jqxMenu("close");p.gridmenu.jqxMenu("open",r.left,w.top+B);var D=0;for(var H=0;H<p.columns.records.length;H++){var v=p.columns.records[H];if(v.hidden||v.adaptivehidden||v.columntype==="adaptive"){continue}D+=v.adaptivewidth}p.gridmenu.width(D);p.gridmenu.height(p.content.height())}if(!p.filterable||(p.filterable&&p.showfilterrow)){setTimeout(function(){p.gridmenu.focus();var I=p.gridmenu.find(".jqx-item");for(var J=0;J<I.length;J++){if(I[J].active){I[J].active=false}}var K=I[0];if(I[0].className.indexOf("disabled")>=0){K=I[1]}b(I).removeClass("jqx-fill-state-focus");b(K).addClass("jqx-fill-state-focus");K.active=true},225)}p._hasOpenedMenu=true;var z=p._getmenuitembyindex(0);var x=p._getmenuitembyindex(1);var q=p._getmenuitembyindex(2);var y=p._getmenuitembyindex(3);var t=p._getmenuitembyindex(4);var G=p._getmenuitembyindex(5);if(z!=null&&x!=null&&q!=null){var u=m.sortable&&p.sortable;p.gridmenu.jqxMenu("disable",z.id,!u);p.gridmenu.jqxMenu("disable",x.id,!u);p.gridmenu.jqxMenu("disable",q.id,!u);if(m.displayfield!=undefined){if(p.sortcolumn==m.displayfield){var E=p.getsortinformation();if(u){if(E.sortdirection.ascending){p.gridmenu.jqxMenu("disable",z.id,true)}else{p.gridmenu.jqxMenu("disable",x.id,true)}}}else{p.gridmenu.jqxMenu("disable",q.id,true)}}}if(y!=null&&t!=null){if(!p.groupable||!m.groupable){p.gridmenu.jqxMenu("disable",t.id,true);p.gridmenu.jqxMenu("disable",y.id,true)}else{if(p.groups&&p.groups.indexOf(m.datafield)!=-1){p.gridmenu.jqxMenu("disable",y.id,true);p.gridmenu.jqxMenu("disable",t.id,false)}else{p.gridmenu.jqxMenu("disable",y.id,false);p.gridmenu.jqxMenu("disable",t.id,true)}}}if(G!=null){p.menuOwner=m;p._updatefilterpanel(p,G,m);var s=0;if(p.sortable&&p._togglesort&&p.showsortmenuitems){s+=3}if(p.groupable&&p.addgroup&&p.showgroupmenuitems){s+=2}var C=s*33+6;var F=p._measureMenuElement();var C=s*F+14;if(b.jqx.browser.msie&&b.jqx.browser.version<8){C+=20;b(G).height(194)}if(p.isTouchDevice()){C+=10}if(p.filterable&&p.showfiltermenuitems){if(!m.filterable){p.gridmenu.height(C);b(G).css("display","none")}else{p.gridmenu.height(C+194);b(G).css("display","block")}}}if(p.columnmenuopening){var A=p.columnmenuopening(p.gridmenu,m.displayfield,p.gridmenu.height());if(false===A){setTimeout(function(){p._closemenu()})}}b.data(document.body,"contextmenu"+p.element.id,{column:m,columnsmenu:k[0]})};p.addHandler(i,"click",function(q){if(!m.menu){return false}if(!p.showfilterrow){if(k[0].style.display!="block"){h.trigger("mouseenter")}setTimeout(function(){if(k[0].style.display!="block"){h.trigger("mouseenter")}n()},200)}return false});p.addHandler(k,"click",function(q){if(!m.menu){return false}n();return false});if(p.isTouchDevice()){p.addHandler(k,b.jqx.mobile.getTouchEventName("touchstart"),function(q){if(!m.menu){return false}if(!p._hasOpenedMenu){n()}else{p._closemenu()}return false})}},_removecolumnhandlers:function(h){var e=this.that;var f=b(h.element);if(f.length>0){e.removeHandler(f,"mouseenter");e.removeHandler(f,"mouseleave");var g=b(h.filtericon);e.removeHandler(g,"mousedown");e.removeHandler(g,"click");e.removeHandler(f,"click");e.removeHandler(f,"mousemove");if(e.columnsreorder){e.removeHandler(f,"mousedown.drag");e.removeHandler(f,"mousemove.drag")}e.removeHandler(f,"dragstart");if(f[0].columnsmenu){var d=b(f[0].columnsmenu);e.removeHandler(d,"click");e.removeHandler(d,"mousedown");e.removeHandler(d,b.jqx.mobile.getTouchEventName("touchstart"))}}},_rendercolumnheader:function(h,i,e,d){var g="8px";if(d.columngroups){g=(e/2-this._columnheight/2);if(g<0){g=6}g+="px"}else{if(this.columnsheight!=32){g=(this.columnsheight/2-this._columnheight/2);if(g<0){g=6}g+="px"}}if(this.enableellipsis){if(i=="left"){return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 4px; margin-right: 2px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}else{return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 2px; margin-right: 4px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}}if(i=="center"||i=="middle"){return'<div style="padding-bottom: 2px; text-align: center; line-height: '+e+'px;"><a href="#">'+h+"</a></div>"}var f='<a style="line-height: '+e+"px; float: "+i+';" href="#">'+h+"</a>";return f},_renderrows:function(m,p,t){var o=this.that;if((this.pageable||this.groupable)&&(this.autoheight||this.autorowheight)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length<this.dataview.rows.length){o.prerenderrequired=true}}if(!this.pageable&&(this.autoheight||this.autorowheight)&&(this.virtualmode||this.unboundmode)){var f=this.source.totalrecords;if(!isNaN(f)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length!=f){o.prerenderrequired=true}}}if((this.autoheight||this.autorowheight)&&!o.prerenderrequired){if(this.table&&this.table[0].rows){if(this.table[0].rows.length<this.dataview.records.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}if(this.table[0].rows.length<this.dataview.cachedrecords.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}}}o._prerenderrows(m);if(o._requiresupdate){o._requiresupdate=false;o._updatepageviews()}var l=function(){if(o._loading){return}if(o.WinJS){MSApp.execUnsafeLocalFunction(function(){o._rendervisualrows()})}else{o._rendervisualrows()}if(o.virtualmode&&o.showaggregates&&o._updateaggregates){o.refreshaggregates()}};var k=b.jqx.browser.msie&&b.jqx.browser.version<10;if(this.virtualmode){var e=function(){if(o.rendergridrows){var y=o._startboundindex;if(y==undefined){y=0}var w=y+1+o.dataview.pagesize;if(y!=null&&w!=null){var x=o.source._source?true:false;var z=!x?o.source.recordstartindex:o.source._source.recordstartindex;if(z!=y||p==true){if(!x){o.source.recordstartindex=y;o.source.recordendindex=w}else{if(w>=o.source._source.totalrecords){w=o.source._source.totalrecords;y=w-o.dataview.pagesize-1;if(y<0){y=0}if(o.source._source.recordendindex==w&&o.source._source.recordstartindex==y){return}}o.source._source.recordstartindex=y;o.source._source.recordendindex=w}o.updatebounddata("cells")}}}};if(this.loadondemand){l();e();this.loadondemand=false}var d=this._browser==undefined?this._isIE10():this._browser;if(this.editable&&this.editcell&&!this.vScrollInstance.isScrolling()&&!this.hScrollInstance.isScrolling()){l()}else{if(this.autoheight){l()}else{if(d||k||(navigator&&navigator.userAgent.indexOf("Safari")!=-1)){if(this._scrolltimer!=null){clearTimeout(this._scrolltimer)}this._scrolltimer=setTimeout(function(){l()},5)}else{l()}}}}else{if(this.scrollmode=="deferred"&&(this.hScrollInstance.isScrolling()||this.vScrollInstance.isScrolling())){if(this._scrolltimer!=null){clearInterval(this._scrolltimer)}var g=this._getfirstvisualrow();if(g!=null){var r=function(B){if(g==null){return""}var A="<table>";var y=o.deferreddatafields;if(y==null){if(o.columns.records.length>0){y=new Array();y.push(o.columns.records[0].displayfield)}}for(var x=0;x<y.length;x++){var C=y[x];var z=o._getcolumnbydatafield(C);if(z){var w=o._getcellvalue(z,g);if(z.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(w)){w=b.jqx.dataFormat.formatdate(w,z.cellsformat,o.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(w)){w=b.jqx.dataFormat.formatnumber(w,z.cellsformat,o.gridlocalization)}}}}A+="<tr><td>"+w+"</td></tr>"}}A+="</table>";return A};var i=this.scrollfeedback?this.scrollfeedback(g.bounddata):r(g.bounddata);if(i!=this._scrollelementcontent){this._scrollelement[0].innerHTML=i;this._scrollelementcontent=i}}this._scrollelement.css("visibility","visible");this._scrollelementoverlay.css("visibility","visible");this._scrollelement.css("margin-top",-this._scrollelement.height()/2);this._scrolltimer=setInterval(function(){if(!o.hScrollInstance.isScrolling()&&!o.vScrollInstance.isScrolling()){l();o._scrollelement.css("visibility","hidden");o._scrollelementoverlay.css("visibility","hidden");clearInterval(o._scrolltimer);if(g){o.ensurerowvisible(g.visibleindex)}}},100);return}if(navigator&&navigator.userAgent.indexOf("Chrome")==-1&&navigator.userAgent.indexOf("Safari")!=-1){this._updatedelay=1}if(this.touchDevice!=undefined&&this.touchDevice==true){this._updatedelay=5}var d=this._browser==undefined?this._isIE10():this._browser;if(d||k){this._updatedelay=5}if((d)&&this.hScrollInstance.isScrolling()){l();return}if(b.jqx.browser.mozilla&&this._updatedelay==0&&(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling())){this._updatedelay=0}var h=this.isTouchDevice();if(h){this._updatedelay=0}if(this.updatedelay!=null){this._updatedelay=this.updatedelay}if(this._updatedelay==0){l()}else{var j=this._jqxgridrendertimer;if(j!=null){clearTimeout(j)}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){if(this._updatedelay){j=setTimeout(function(){l()},this._updatedelay)}else{j=null;l()}this._jqxgridrendertimer=j}else{this._jqxgridrendertimer=j;l()}}}if(o.autorowheight&&!o.autoheight){if(this._pageviews.length>0){var n=this._gettableheight();var q=this._pageviews[0].height;if(q>n){if(this.pageable&&this.gotopage){q=this._pageviews[0].height;if(q<0){q=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(q<=n||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(q-n>0){if(this.scrollmode!="deferred"){var s=q-n;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(Math.round(s)!=Math.round(u)){var v=this.vScrollBar.jqxScrollBar("value");if(v>s){this.vScrollBar.jqxScrollBar({value:0})}}}}else{this.vScrollBar.jqxScrollBar({value:0,max:q})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.virtualsizeinfo){this.virtualsizeinfo.virtualheight=q}}}},scrolling:function(){var e=this.vScrollInstance.isScrolling();var d=this.hScrollInstance.isScrolling();return{vertical:e,horizontal:d}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var k=parseInt(u);if(this.table==null){return}var q=this.table[0].rows.length;var p=this.columnsrow;var r=this.groupable&&this.groups.length>0?this.groups.length:0;var l=this.columns.records.length-r;var f=this.columns.records;var n=this.dataview.rows.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){k=t.max-k}}if(n&&!this._haspinned){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px"}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){if(k==0&&d.style.marginLeft==""){continue}var h=null;var x=null;var o=null;if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){o=this.addnewrowtop[0].cells[v]}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){x=this.filterrow[0].cells[v]}}if(this.showaggregates){if(this.statusbar[0].cells){h=this.statusbar[0].cells[v]}}if(!this.rtl){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px";if(h){h.style.marginLeft=k+"px"}if(x){x.style.marginLeft=k+"px"}if(o){o.style.marginLeft=k+"px"}}}else{d.style.marginLeft=-parseInt(u)+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=-parseInt(u)+"px";if(h){h.style.marginLeft=-parseInt(u)+"px"}if(x){x.style.marginLeft=-parseInt(u)+"px"}if(o){o.style.marginLeft=-parseInt(u)+"px"}}}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned==false){this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}}}if(this.showaggregates){if(this.statusbar[0].cells){var m=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){m=2+parseInt(this.hScrollBar.css("left"))}}}this.statusbar[0].style.marginLeft=-k+m+"px"}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){this.filterrow[0].style.marginLeft=-k+"px"}}if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){this.addnewrowtop[0].style.marginLeft=-k+"px"}}},_updaterowdetailsvisibility:function(){if(this.rowdetails){for(var d=0;d<this._rowdetailselementscache.length;d++){b(this._rowdetailselementscache[d]).css("display","none")}}},_getvisualcolumnsindexes:function(e,n,i,m,d,l){if(this.rowdetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:i+m}}var f=0;var k=-1;var g=i+m;var o=false;if(this.autorowheight){return{start:0,end:i+m}}if(!d){for(var h=0;h<i+m;h++){var p=h;if(!o){if(this.columns.records[h].pinned&&l){o=true}}if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>n+e){g=h;break}}}g++;if(g>i+m){g=i+m}if(k==-1||o){k=0}return{start:k,end:g}},_getvirtualcolumnsindexes:function(e,m,i,l,d){if(this.rtl||this.editcell||this.exporting){return{start:0,end:i+l}}var f=0;var k=-1;var g=i+l;if(this.autorowheight){return{start:0,end:i+l}}if(!d){for(var h=0;h<i+l;h++){var n=h;if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>m+e){g=h;break}}}g++;if(g>i+l){g=i+l}if(k==-1){k=0}return{start:k,end:g}},_getfirstvisualrow:function(){var e=this.vScrollInstance;var g=e.value;var f=parseInt(g);if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility!="visible"){f=0}if(!this.pageable){var d=this._findvisiblerow(f,this._pageviews);if(d==-1){return null}if(d!=this.dataview.pagenum){this.dataview.pagenum=d;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var h=this._findvisiblerow(f,this._pagescache[this.dataview.pagenum]);var i=this._pagescache[this.dataview.pagenum];if(i&&i[0]){return i[h]}},_rendervisualrows:function(){if(!this.virtualsizeinfo){return}var Y=this.vScrollInstance;var p=this.hScrollInstance;var j=Y.value;var C=p.value;var o=parseInt(j);var l=parseInt(C);var x=this._gettableheight();var J=this._hostwidth!=undefined?this._hostwidth:this.host.width();if(this.hScrollBar[0].style.visibility=="visible"){x+=29}if(this.scrollmode=="deferred"&&this._newmax!=0){if(o>this._newmax&&this._newmax!=null){o=this._newmax}}var al=Y.isScrolling()||p.isScrolling()||this._keydown;var D=this.groupable&&this.groups.length>0;this.visiblerows=new Array();this.hittestinfo=new Array();if(this.editcell&&this.editrow==undefined){this._hidecelleditor(false)}if(this.editrow!=undefined){this._hideeditors()}if(this.virtualmode&&!this.pageable){this._pagescache=new Array()}if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility=="hidden"){o=0}if(!this.pageable){var L=this._findvisiblerow(o,this._pageviews);if(L==-1){this._clearvisualrows();this._renderemptyrow();this._updaterowdetailsvisibility();return}if(L!=this.dataview.pagenum){this.dataview.pagenum=L;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var an=this.groupable&&this.groups.length>0?this.groups.length:0;if(!this.columns.records){return}var r=this.columns.records.length-an;var ad=this._findvisiblerow(o,this._pagescache[this.dataview.pagenum]);var M=this._pagescache[this.dataview.pagenum];var S=ad;if(S<0){S=0}var ag=0;var ac=0;var Q=0;var e=0;var U=this.virtualsizeinfo.visiblerecords;var P=this.groupable?this.groups.length:0;var B=this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(this.rtl){B+=" "+this.toTP("jqx-grid-cell-rtl")}if((this.autoheight||this.autorowheight)&&this.pageable){if(!this.groupable||(this.groupable&&this.groups.length===0)){U=this.dataview.pagesize}}if(D){B=" "+this.toTP("jqx-grid-group-cell")}if(this.isTouchDevice()){B+=" "+this.toTP("jqx-touch")}if(this.autorowheight){B+=" jqx-grid-cell-wrap"}var O=this.rowsheight;var G=S;var am=this._rendercell;var u=true;var q=this._getvisualcolumnsindexes(l,J,an,r,D,true);var d=q.start;var ab=q.end;var t=this._getvirtualcolumnsindexes(l,J,an,r,D);var I=t.start;var h=t.end;var af=b.jqx.browser.msie&&b.jqx.browser.version<9;if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews[0]){this._oldpageviewheight=this._pageviews[0].height}}if(this.autorowheight){S=0}if(S>=0){this._updaterowdetailsvisibility();this._startboundindex=M!=null?M[S].bounddata.boundindex:0;this._startvisibleindex=M!=null?M[S].bounddata.visibleindex:0;var A=this.table[0].rows;if(this.columns.records.length>10&&this.enablecolumnsvirtualization){var H=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};for(var ah=0;ah<A.length;ah++){var k=A[ah];for(var V=0;V<I;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=h;V<this.columns.records.length;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=I;V<h;V++){var aj=V;var ai=k.cells[aj];if(!H(ai)){k.appendChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=true;if(R.selectable){ai.removeAttribute("selected");if(R.selected){ai.setAttribute("selected","")}}if(!H(R)){this.columnsrow[0].appendChild(R)}if(this.filterrow&&!H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].firstChild.appendChild(this.filterrow[0].cells[aj])}}}}for(var n=0;n<U&&ac<U;n++){var ae=M!=undefined?M[S+n]:null;if(this.virtualmode&&n>=this.source.totalrecords){ae=null}if(ae==null){S=-n;if(this._pagescache[this.dataview.pagenum+1]){M=this._pagescache[this.dataview.pagenum+1];this.dataview.pagenum++}else{var s=this._pageviews.length;do{if(this.dataview.pagenum<this._pageviews.length-1){this.dataview.pagenum++;M=undefined;if(this._pageviews[this.dataview.pagenum].height>0){this.dataview.updateview();this._loadrows();M=this._pagescache[this.dataview.pagenum]}}else{M=undefined;break}}while(M==undefined&&this.dataview.pagenum<s)}if(M!=undefined){ae=M[S+n]}}if(ae!=null){if(ae.hidden){continue}this._endboundindex=this._startboundindex+n;this._endvisibleindex=this._startvisibleindex+n;if(n==0){var m=Math.abs(o-ae.top);this.table[0].style.top=-m+"px";e=-m}var k=this.table[0].rows[ac];if(!k){continue}if(parseInt(k.style.height)!=ae.height){k.style.height=parseInt(ae.height)+"px"}Q+=ae.height;var X=this.rowdetails&&ae.rowdetails;var w=!ae.rowdetailshidden;if(X&&w){k.style.height=parseInt(ae.height-ae.rowdetailsheight)+"px";U++}var K=this._isrowselected(u,ae);for(var V=d;V<ab;V++){var aj=V;this._rendervisualcell(am,B,K,X,w,D,P,k,ae,aj,ac,al)}if(ae.group!=undefined&&this._rendergroup){this._rendergroup(P,k,ae,an,r,ac,J)}if(this.autorowheight&&(this.autoheight||this.pageable)){var O=this.rowsheight;for(var V=d;V<ab;V++){if(this.editable&&this.editcell&&this.editcell.column==this.columns.records[V].datafield&&this.editcell.row==this.getboundindex(ae)){if(this.editcell.editor){O=Math.max(O,this.editcell.editor.height());continue}}if(k.cells[V].firstChild){O=Math.max(O,8+parseInt(k.cells[V].firstChild.offsetHeight))}}k.style.height=parseInt(O)+"px";this.heights[this._startboundindex+n]=O;if(X&&w){O+=ae.rowdetailsheight}ae.height=O}this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:false};if(X&&w){ac++;var k=this.table[0].rows[ac];this._renderrowdetails(B,k,ae,an,r,ac);this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:true}}if(!this.autorowheight){if(Q+e>=x){break}}}else{var aa=true;this._clearvisualrow(l,D,ac,an,r);if(Q+ag+e<=x){ag+=O}}ac++}this._horizontalvalue=l;if(ag>0){if(this.vScrollBar[0].style.visibility=="visible"){var ak=parseInt(this.table.css("top"));var F=this._pageviews[this._pageviews.length-1];var v=Y.max;var E=F.top+F.height-x;if(this.hScrollBar.css("visibility")=="visible"){E+=this.scrollbarsize+20}if(v!=E&&!this.autorowheight){if(E>=0){if(this.scrollmode!="deferred"){Y.max=E;Y.setPosition(Y.max)}else{if(this._newmax!=E){this._newmax=E;this._rendervisualrows()}}}}}}}if((this.autoheight||this.pageable)&&this.autorowheight){this._pagescache=new Array();var W=0;var g=0;for(var ah=0;ah<this.visiblerows.length;ah++){var z=this.visiblerows[ah];z.top=W;W+=z.height;g+=z.height;var X=this.rowdetails&&z.rowdetails;var w=!z.rowdetailshidden;var k=this.table[0].rows[ah];if(X&&w){ah++}for(var V=d;V<ab;V++){var Z=this.columns.records[V];if(!Z.hidden&&!Z.adaptivehidden){if(!Z.cellsrenderer){var N=k.cells[V];var f=0;if(N.firstChild){var f=(z.height-parseInt(N.firstChild.offsetHeight)-8)/2;if(X&&w){var f=(z.height-z.rowdetailsheight-b(N.firstChild).height()-8)/2}}else{var f=(z.height-parseInt(b(N).height())-8)/2}if(f>=0){f=parseInt(f)+4;if(N.firstChild){if(N.firstChild.className.indexOf("jqx-grid-groups-row")==-1){if(Z.columntype!="checkbox"&&Z.columntype!="button"){if(this.editable&&this.editcell&&this.editcell.column==Z.datafield&&this.editcell.row==this.getboundindex(z)){continue}N.firstChild.style.marginTop=f+"px"}}}}}}}}if(this._pageviews[0]){this._pageviews[0].height=g}this._arrange()}this._renderemptyrow();if(this.toCompile&&this.toCompile.length>0){var T=this;b.each(T.toCompile,function(y,ao){if(this.compiled){return true}var i=this.cell;if(!i){return true}if(b.jqx.angularCompile){b.jqx.angularCompile(i,"<div>"+this.value+"</div>")}this.compiled=true})}},_hideemptyrow:function(){if(!this.showemptyrow){return}if(!this.table){return}if(!this.table[0].rows){return}var f=this.table[0].rows[0];if(!f){return}var g=false;for(var e=0;e<f.cells.length;e++){var d=b(f.cells[e]);if(d.css("display")!="none"&&!g){if(d.width()==this.host.width()||d.text()==this.gridlocalization.emptydatastring){d[0].checkbox=null;d[0].button=null;g=true;d[0].innerHTML=""}}}},_renderemptyrow:function(){if(this._loading){return}if(this.dataview.records.length==0&&this.showemptyrow){var l=false;var e=this.toTP("jqx-grid-cell");if(this.table&&this.table.length>0&&this.table[0].rows&&this.table[0].rows.length>0){var k=this.table[0].rows[0];this.table[0].style.top="0px";for(var f=0;f<k.cells.length;f++){var d=b(k.cells[f]);if(d.css("display")!="none"&&!l){d[0].checkbox=null;d[0].button=null;d[0].className=e;l=true;d[0].innerHTML="";var g=b("<span style='white-space: nowrap; float: left; margin-left: 50%; position: relative;'></span>");g.text(this.gridlocalization.emptydatastring);d.append(g);var j=0;if(!this.oldhscroll){j=parseInt(this.table[0].style.marginLeft);if(this.rtl){d.css("z-index",999);d.css("overflow","visible")}}g.css("left",-j-(g.width()/2));g.css("top",this._gettableheight()/2-g.height()/2);if(b.jqx.browser.msie&&b.jqx.browser.version<8){g.css("margin-left","0px");g.css("left",this.host.width()/2-g.width()/2)}var h=Math.abs(parseInt(this.table[0].style.top));if(isNaN(h)){h=0}b(k).height(this._gettableheight()+h);d.css("margin-left","0px");d.width(this.host.width());if(this.table.width()<this.host.width()){this.table.width(this.host.width())}}d.addClass(this.toThemeProperty("jqx-grid-empty-cell"))}}}},_clearvisualrows:function(){var e=this.virtualsizeinfo.visiblerecords;var f=this.hScrollInstance;var d=f.value;var g=parseInt(d);var i=this.groupable&&this.groups.length>0;if(!this.columns.records){return}for(var h=0;h<e;h++){this._clearvisualrow(g,i,h,0,this.columns.records.length)}},_iscellselected:function(j,i,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groups.length>0&&this.pageable&&this.groupable){var d=this.getrowboundindexbyid(i.bounddata.uid);if(d!=-1){for(var h in this.selectedcells){if(h==d+"_"+g){f=true}}return f}return false}if(j&&i.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true;break}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex==this.selectedrowindex){f=true;break}}}}}return f},_isrowselected:function(h,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groupable&&this.groups.length>0&&this.pageable){var d=this.getrowboundindexbyid(g.bounddata.uid);if(d==undefined||d==-1){return false}if(this.selectedrowindexes.indexOf(d)!=-1){f=true}if(!f){f=d==this.selectedrowindex&&this.selectedrowindex!=-1}return f}if(h&&g.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(e+g.bounddata.boundindex==this.selectedrowindex){f=true}}}}return f},_rendervisualcell:function(D,j,s,l,x,B,k,t,d,i,w,q){var f=null;var g=this.columns.records[i];if(g.hidden||g.adaptivehidden){var e=t.cells[i];e.innerHTML="";return}var o=this._getcellvalue(g,d);var e=t.cells[i];var A=j;if(this.selectionmode.indexOf("cell")!=-1){if(this.dataview.filters.length>0){if(this.selectedcells[d.bounddata.dataindex+"_"+g.datafield]){s=true}else{s=false}}else{if(this.selectedcells[d.boundindex+"_"+g.datafield]){s=true}else{s=false}}if(this.editcell){if(this.editcell.row===d.boundindex&&this.editcell.column===g.datafield){if(g.columntype!=="checkbox"){s=false}}}if(this.virtualmode||(this.groupable&&this.groups.length>0&&this.pageable)){s=this._iscellselected(true,d,g.datafield)}}if(g.cellclassname!=""&&g.cellclassname){if(typeof g.cellclassname=="string"){A+=" "+g.cellclassname}else{var p=g.cellclassname(this.getboundindex(d),g.datafield,o,d.bounddata);if(p){A+=" "+p}}}var r=this.showsortcolumnbackground&&this.sortcolumn&&g.displayfield==this.sortcolumn;if(this.sortmode==="many"&&this.showsortcolumnbackground){var h=this.getsortcolumns();for(var v=0;v<h.length;v++){if(g.displayfield===h[v].dataField){r=true}}}if(r){A+=" "+this.toTP("jqx-grid-cell-sort")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter")}if(d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}if((g.pinned&&this.showpinnedcolumnbackground)||g.grouped){if(B){if(!d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}else{}}else{A+=" "+this.toTP("jqx-grid-cell-pinned")}}if(this.altrows&&d.group==undefined){var C=d.visibleindex;if(C>=this.altstart){if((this.altstart+C)%(1+this.altstep)==0){if(!r){A+=" "+this.toTP("jqx-grid-cell-alt")}else{A+=" "+this.toTP("jqx-grid-cell-sort-alt")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter-alt")}if(g.pinned&&this.showpinnedcolumnbackground){A+=" "+this.toTP("jqx-grid-cell-pinned-alt")}}}}if(i<=k){if(B||this.rowdetails||(this.pageable&&this.virtualmode)){var y=b(e);var n=this.columns.records[i].width;if(e.style.width!=parseInt(n)+"px"){y.width(n)}}}else{if(B||this.rowdetails){if(this._hiddencolumns){var y=b(e);var n=this.columns.records[i].width;if(parseInt(e.style.width)!=n){y.width(n)}}}}var z=true;if(this.rowdetails&&l){if(x&&!B){A+=" "+this.toTP("jqx-grid-details-cell")}else{if(B){A+=" "+this.toTP("jqx-grid-group-details-cell")}}if(this.showrowdetailscolumn){if(!this.rtl){if(d.group==undefined&&i==k&&!d.bounddata.totalsrow){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse");var u=this.toThemeProperty("jqx-icon-arrow-right");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}else{if(d.group==undefined&&i==t.cells.length-k-1){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand-rtl");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse-rtl");var u=this.toThemeProperty("jqx-icon-arrow-left");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}}}if(s&&z&&i>=k){A+=" "+this.toTP("jqx-grid-cell-selected");A+=" "+this.toTP("jqx-fill-state-pressed")}if(e.className!=A){e.className=A}g._applyCellStyle(e);if(d.group!=undefined){o="";e.title="";e.innerHTML="";return}D(this,g,d,o,e,q)},_rendercell:function(v,f,k,t,d,r){var g=t+"_"+f.visibleindex;if(f.columntype=="number"||f.cellsrenderer!=null){var g=k.uniqueid+"_"+f.visibleindex}if(f.columntype=="number"){t=k.visibleindex}if(f.columntype==="adaptive"){t="..."}f._applyCellStyle(d);if(v.showrowlines){d.style.borderBottomColor=""}else{d.style.borderBottomColor="transparent"}if(v.showcolumnheaderlines){f.element.style.borderRightColor="";f.element.style.boxShadow=""}else{f.element.style.borderRightColor="transparent";f.element.style.boxShadow="none"}if(v.showcolumnlines){d.style.borderRightColor=""}else{d.style.borderRightColor="transparent"}if(v.editcell&&v.editrow==undefined){if(v.editmode=="selectedrow"&&f.editable&&v.editable){if(v.editcell.row==v.getboundindex(k)){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,d,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,d,false,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}else{if(v.editcell.row==v.getboundindex(k)&&v.editcell.column==f.datafield){v.editcell.element=d;if(v.editcell.editing){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}}}var s=v._defaultcellsrenderer(t,f);var o=v._cellscache[g];if(o){if(f.columntype=="checkbox"){if(v.host.jqxCheckBox){if(t===""){t=null}var n=d.innerHTML.toString().length==0;if(d.checkbox&&!v.groupable&&!n){d.checkboxrow=v.getboundindex(k);if(t==""){t=false}if(t=="1"){t=true}if(t=="0"){t=false}if(t==1){t=true}if(t==0){t=false}if(t=="true"){t=true}if(t=="false"){t=false}if(t==null&&!f.threestatecheckbox){t=false}if(f.checkboxcolumn){t=false;if(v.dataview.filters.length>0&&!v.virtualmode&&k.bounddata.dataindex!=undefined){if(v.selectedrowindexes.indexOf(k.bounddata.dataindex)!=-1){t=true}}else{if(v.selectedrowindexes.indexOf(k.bounddata.boundindex)!=-1){t=true}}}if(!v.disabled){if(d.checkboxinstance){d.checkboxinstance._setState(t)}else{d.checkbox.jqxCheckBox("_setState",t)}}}else{v._rendercheckboxcell(v,d,f,k,t)}if(f.cellsrenderer!=null){var h=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(h!=undefined){d.innerHTML=h}}return}}else{if(f.columntype=="button"){if(v.host.jqxButton){if(t==""){t=false}if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}if(d.innerHTML==""){d.buttonrow=v.getboundindex(k);d.button=null;v._renderbuttoncell(v,d,f,k,t)}if(d.button&&!v.groupable){d.buttonrow=v.getboundindex(k);d.button.val(t)}else{v._renderbuttoncell(v,d,f,k,t)}return}}}if(f.createwidget){if(d.innerHTML==""){d.widgetrow=v.getboundindex(k);d.widget=null;f.widget=null;v._renderwidgetcell(v,d,f,k,t)}if(d.widget&&!v.groupable){d.widgetrow=v.getboundindex(k);if(f.initwidget){f.initwidget(v.getboundindex(k),f.datafield,t,d.firstChild)}else{throw new Error("jqxGrid: 'initwidget' column function is not implemented. Please, implement 'initwidget'")}}else{v._renderwidgetcell(v,d,f,k,t)}return}var u=o.element;if(f.cellsrenderer!=null||(d.childNodes&&d.childNodes.length==0)||v.groupable||v.rowdetails){if(d.innerHTML!=u){d.innerHTML=u}}else{if(d.innerHTML.indexOf("editor")>=0){d.innerHTML=u}else{if(r){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(d.innerHTML!=u){d.innerHTML=u}}}}if(v.enabletooltips&&f.enabletooltips){d.title=o.title}return}if(f.columntype=="checkbox"){v._rendercheckboxcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="button"){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderbuttoncell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="number"){t=k.visibleindex}}}if(f.createwidget){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderwidgetcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=t}return}var u=null;if(f.cellsrenderer!=null){u=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(u&&(u.indexOf("<jqx-")>=0||u.indexOf(" ng-")>=0)){if(v.toCompile){v.toCompile.push({cell:d,value:u,row:v.getboundindex(k)})}return}}else{u=s}if(u==null){u=s}var l=t;if(v.enabletooltips&&f.enabletooltips){if(f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(t)){l=b.jqx.dataFormat.formatdate(l,f.cellsformat,v.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(t)){l=b.jqx.dataFormat.formatnumber(l,f.cellsformat,v.gridlocalization)}}}}d.title=l}if(v.WinJS){b(d).html(u)}else{var j=d.innerHTML;if(j.indexOf("editor")>=0||f.cellsrenderer!=null||v.groupable||v.virtualmode){d.innerHTML=u}else{if(j.length>0){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0||j.indexOf("span")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(j!=u){d.innerHTML=u}}}}v._cellscache[g]={element:d.innerHTML,title:l};return true},_isIE10:function(){if(this._browser==undefined){var e=b.jqx.utilities.getBrowser();if(e.browser=="msie"&&parseInt(e.version)>9){this._browser=true}else{this._browser=false;if(e.browser=="msie"){var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Zune 4.7")!=-1){this._browser=true}}}}return this._browser},_renderinlinecell:function(f,d,e,i,g){var h=b(d);d.innerHTML='<div style="position: absolute;"></div>'},_rendercheckboxcell:function(g,e,f,k,h){if(g.host.jqxCheckBox){var j=b(e);if(h===""){if(f.threestatecheckbox){h=null}else{h=false}}if(h===null&&!f.threestatecheckbox){h=false}if(h=="1"){h=true}if(h=="0"){h=false}if(h==1){h=true}if(h==0){h=false}if(h=="true"){h=true}if(h=="false"){h=false}if(f.checkboxcolumn){h=false;var d=this.getboundindex(k);if(this.selectedrowindexes.indexOf(d)!=-1){h=true}}if(j.find(".jqx-checkbox").length==0){e.innerHTML='<div style="position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>';b(e.firstChild).jqxCheckBox({disabled:g.disabled,_canFocus:false,hasInput:false,hasThreeStates:f.threestatecheckbox,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,locked:true,theme:g.theme,checked:h});if(this.enabletooltips&&f.enabletooltips){e.title=""+h}if(this.editable&&f.editable){b(e.firstChild).jqxCheckBox({locked:false})}if(f.checkboxcolumn){b(e.firstChild).jqxCheckBox({locked:false})}e.checkbox=b(e.firstChild);e.checkboxinstance=e.checkbox.data().jqxCheckBox.instance;e.checkboxrow=this.getboundindex(k);var i=b.data(e.firstChild,"jqxCheckBox").instance;i.updated=function(l,s,m){if(g.disabled){s=m;var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox({disabled:g.disabled})}}}if(f.editable&&!g.disabled){var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);if(g.editrow==undefined){if(f.cellbeginedit){var u=f.cellbeginedit(e.checkboxrow,f.datafield,f.columntype,!s);if(u==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true);return}}if(f.cellvaluechanging){var t=f.cellvaluechanging(e.checkboxrow,f.datafield,f.columntype,m,s);if(t!=undefined){s=t}}if(g.editmode!=="selectedrow"){for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox("destroy")}}}if(g.editcell&&g.editcell.validated==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true)}else{if(g.editmode!=="selectedrow"||g.editcell==null){var q=g.getrowdata(e.checkboxrow);g._raiseEvent(17,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,value:m,columntype:f.columntype});g.setcellvalue(e.checkboxrow,f.datafield,s,true);g._raiseEvent(18,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,oldvalue:m,value:s,columntype:f.columntype})}else{g.setcellvalue(e.checkboxrow,f.datafield,s,false,false)}}if(f.cellendedit){f.cellendedit(e.checkboxrow,f.datafield,f.columntype,s)}}}else{if(f.checkboxcolumn){if(g.editcell){g.endcelledit(g.editcell.row,g.editcell.column,false,true)}if(!g.disabled){if(s){g.selectrow(e.checkboxrow)}else{g.unselectrow(e.checkboxrow)}if(g.autosavestate){if(g.savestate){g.savestate()}}}}}}}else{e.checkboxrow=this.getboundindex(k);b(e.firstChild).jqxCheckBox("_setState",h,!(this.editable&&f.editable)&&!f.checkboxcolumn)}}},_renderwidgetcell:function(f,d,e,i,g){var h=b(d);if(h.find(".jqx-grid-widget").length==0){var j='<div class="jqx-grid-widget" style="opacity: 0.99; position: absolute; width: 100%; height:100%; top: 0%; left: 0%; padding: 0px;"></div>';d.innerHTML=j;e.createwidget(i,e.datafield,g,d.firstChild);b(d.firstChild).attr("hideFocus","true");b(d.firstChild).children().addClass("jqx-grid-widget");d.widget=b(d.firstChild);d.widgetrow=f.getboundindex(i);e.widget=b(d.firstChild)}else{e.initwidget(f.getboundindex(i),e.datafield,g,d.firstChild);d.widgetrow=f.getboundindex(i);b(d.firstChild).val(g)}},_renderbuttoncell:function(h,e,g,k,i){if(h.host.jqxButton){var j=b(e);if(i==""){i=false}if(j.find(".jqx-button").length==0){e.innerHTML='<input type="button" style="opacity: 0.99; position: absolute; top: 0%; left: 0%; padding: 0px; margin-top: 2px; margin-left: 2px;"/>';b(e.firstChild).val(i);b(e.firstChild).attr("hideFocus","true");b(e.firstChild).jqxButton({disabled:h.disabled,theme:h.theme,height:h.rowsheight-4,width:g.width-4});e.button=b(e.firstChild);e.buttonrow=h.getboundindex(k);var d=this.isTouchDevice();if(d){var f=b.jqx.mobile.getTouchEventName("touchend");h.addHandler(b(e.firstChild),f,function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}else{h.addHandler(b(e.firstChild),"click",function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}}else{e.buttonrow=h.getboundindex(k);b(e.firstChild).val(i)}}},_clearvisualrow:function(g,f,o,i,n){var m=this.toTP("jqx-grid-cell");if(f){m=" "+this.toTP("jqx-grid-group-cell")}m+=" "+this.toTP("jqx-grid-cleared-cell");var p=this.table[0].rows;for(var k=0;k<i+n;k++){if(p[o]){var e=p[o].cells[k];if(e.className!=m){e.className=m}var d=this.columns.records[k];if(this._horizontalvalue!=g&&!d.pinned){if(this.oldhscroll==true){var h=-g;e.style.marginLeft=-g+"px"}}var l=d.width;if(d.adaptivewidth){l=d.adaptivewidth}if(l<d.minwidth){l=d.minwidth}if(l>d.maxwidth){l=d.maxwidth}if(parseInt(e.style.width)!=l){if(l!="auto"){b(e)[0].style.width=l+"px"}else{b(e)[0].style.width=l}}if(e.title!=""){e.title=""}if(e.innerHTML!=""){e.innerHTML=""}}}if(p[o]){if(parseInt(p[o].style.height)!=this.rowsheight){p[o].style.height=parseInt(this.rowsheight)+"px"}}},_findgroupstate:function(e){var d=this._findgroup(e);if(d==null){return false}return d.expanded},_findgroup:function(e){var d=null;if(this.expandedgroups[e]){return this.expandedgroups[e]}return d},_clearcaches:function(){this._columnsbydatafield=new Array();this._pagescache=new Array();this._pageviews=new Array();this._cellscache=new Array();this.heights=new Array();this.hiddens=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();this.details=new Array();this.expandedgroups=new Array();this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}this.tableheight=null},_getColumnText:function(d){if(this._columnsbydatafield==undefined){this._columnsbydatafield=new Array()}if(this._columnsbydatafield[d]){return this._columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this._columnsbydatafield[d]={label:f,column:e};return this._columnsbydatafield[d]},_getcolumnbydatafield:function(d){if(this.__columnsbydatafield==undefined){this.__columnsbydatafield=new Array()}if(this.__columnsbydatafield[d]){return this.__columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this.__columnsbydatafield[d]=e;return this.__columnsbydatafield[d]},isscrollingvertically:function(){var d=(this.vScrollBar.jqxScrollBar("isScrolling"));return d},_renderrowdetails:function(q,y,d,x,n,A){if(y==undefined){return}var E=b(y);var g=0;var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;if(this.groupable&&this.groups.length>0){for(var r=0;r<=n;r++){var e=b(y.cells[r]);e[0].innerHTML="";e[0].className="jqx-grid-details-cell"}}var e=b(y.cells[g]);if(e[0].style.display=="none"){var o=y.cells[g];var B=2;var l=g;while(o!=undefined&&o.style.display=="none"&&B<10){o=y.cells[l+B-1];B++}e=b(o)}if(this.rtl){for(var v=x;v<n;v++){y.cells[v].innerHTML="";y.cells[v].className="jqx-grid-details-cell"}}e.css("width","100%");E.height(d.rowdetailsheight);e[0].className=q;var p=this.getboundindex(d);var j=p+"_";if(this._rowdetailscache[j]){var u=this._rowdetailscache[j];var C=u.html;if(this.initrowdetails){if(this._rowdetailscache[j].element){var f=this._rowdetailscache[j].element;var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);if(this.rtl){k=0}b(f).css("top",w);b(f).css("left",k);b(f).css("display","block");b(f).width(this.host.width()-t);if(this.layoutrowdetails){this.layoutrowdetails(p,f,this.element,this.getrowdata(p))}}}else{e[0].innerHTML=C}return}e[0].innerHTML="";if(!this.enablerowdetailsindent){t=0}var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+t+'px;">'+d.rowdetails+"</div>";if(this.rtl){var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+0+"px; margin-right: "+t+'px;">'+d.rowdetails+"</div>"}this._rowdetailscache[j]={id:y.id,html:h};if(this.initrowdetails){var f=b(h)[0];b(this.gridcontent).prepend(b(f));b(f).css("position","absolute");b(f).width(this.host.width()-t);b(f).height(e.height());var i=e.coord();b(f).css("z-index",799);if(this.isTouchDevice()){b(f).css("z-index",999)}b(f).addClass(this.toThemeProperty("jqx-widget-content"));var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);b(f).css("top",w);b(f).css("left",k);this.content[0].scrollTop=0;this.content[0].scrollLeft=0;var D=b(b(f).children()[0]);if(D[0].id!=""){D[0].id=D[0].id+p}this.initrowdetails(p,f,this.element,this.getrowdata(p));this._rowdetailscache[j].element=f;this._rowdetailselementscache[p]=f}else{e[0].innerHTML=h}},_defaultcellsrenderer:function(f,d){if(d.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(f)){f=b.jqx.dataFormat.formatdate(f,d.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(f)){f=b.jqx.dataFormat.formatnumber(f,d.cellsformat,this.gridlocalization)}}}}var e="8px";if(this.rowsheight!=31){e=(this.rowsheight/2-this._cellheight/2);if(e<0){e=4}e+="px"}if(this.enableellipsis){if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div class="jqx-grid-cell-middle-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="left"){return'<div class="jqx-grid-cell-left-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="right"){return'<div class="jqx-grid-cell-right-align" style="margin-top: '+e+';">'+f+"</div>"}}if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div style="text-align: center; margin-top: '+e+';">'+f+"</div>"}return'<span style="margin-left: 4px; margin-right: 2px; margin-top: '+e+"; float: "+d.cellsalign+';">'+f+"</span>"},getcelltext:function(g,e){if(g==null||e==null){return null}var d=this.getcellvalue(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},getcelltextbyid:function(g,e){if(g==null||e==null){return null}var d=this.getcellvaluebyid(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},_getcellvalue:function(d,f){var e=null;e=f.bounddata[d.datafield];if(d.displayfield!=null){e=f.bounddata[d.displayfield]}if(e==null){e=""}return e},getcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},getrenderedcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrenderedrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},_getcellresult:function(k,n,e){var f=this.getcolumn(e);if(f==null||f==undefined){return null}var i=f.getcolumnproperties();var g=i.hidden;var d=i.width;var m=i.pinned;var h=i.cellsalign;var j=i.cellsformat;var l=this.getrowheight(n);if(l==false){return null}return{value:k,row:n,column:e,datafield:e,width:d,height:l,hidden:g,pinned:m,align:h,format:j}},setcellvaluebyid:function(i,d,h,f,g){var e=this.getrowboundindexbyid(i);return this.setcellvalue(e,d,h,f,g)},getcellvaluebyid:function(f,d){var e=this.getrowboundindexbyid(f);return this.getcellvalue(e,d)},setcellvalue:function(o,F,H,Q,j){if(o==null||F==null){return false}var h=parseInt(o);var t=h;var C=o;if(!isNaN(h)){C=this.getrowdata(h)}var N=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){N=true}if(this.virtualmode){this._pagescache=new Array()}if(this.sortcache){this.sortcache={}}var q="";var d="";if(C!=null&&C[F]!==H){if(C[F]===null&&H===""){return}var I=this._getcolumnbydatafield(F);var R="string";var v=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(v){var D="";b.each(v,function(){if(this.name==I.displayfield){if(this.type){D=this.type}return false}});if(D){R=D}d=C[I.displayfield]}q=C[F];if(!I.nullable||(H!=null&&H!==""&&I.nullable&&H.label===undefined)){if(b.jqx.dataFormat.isNumber(q)||R=="number"||R=="float"||R=="int"||R=="decimal"&&R!="date"){if(this.gridlocalization&&this.gridlocalization.decimalseparator==","){if(H&&H.indexOf&&H.indexOf(",")>=0){H=H.replace(",",".")}}H=new Number(H);H=parseFloat(H);if(isNaN(H)){H=0}}else{if(b.jqx.dataFormat.isDate(q)||R=="date"){if(H!=""){var L=H;L=new Date(L);if(L!="Invalid Date"&&L!=null){H=L}else{if(L=="Invalid Date"){L=new Date();H=L}}}}}if(C[F]===H){if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return}}var A=this.source&&this.source._source.localdata&&this.source._source.localdata.name==="observableArray";C[F]=H;if(A){var P=this.source._source.localdata;if(!P._updating){P._updating=true;P[o][F]=H;P._updating=false}}var l=this.getrenderedrowdata(h,true);if(!l){return}l[F]=H;if(H!=null&&H.label!=null){var I=this._getcolumnbydatafield(F);C[I.displayfield]=H.label;l[I.displayfield]=H.label;C[F]=H.value;l[F]=H.value;if(A&&!P._updating){P._updating=true;P[o][F]=H.value;P[o][I.displayfield]=H.label;P._updating=false}}if(N){if(C.dataindex!=undefined){t=C.dataindex;this.dataview.cachedrecords[C.dataindex][F]=H;if(H!=null&&H.label!=undefined){this.dataview.cachedrecords[C.dataindex][F]=H.value;this.dataview.cachedrecords[C.dataindex][I.displayfield]=H.label}}}}else{if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return false}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var E=h;if(N){if(C.dataindex!=undefined){E=C.dataindex}}var g=this.source._source._localdata()[E];this.source.suspendKO=true;var G=g;if(G[F]&&G[F].subscribe){if(H!=null&&H.label!=null){G[I.displayfield](H.label);G[F](H.value)}else{G[F](H)}}else{var v=this.source._source.datafields;var B=null;var x=null;if(v){b.each(v,function(){if(this.name==F){x=this.map;return false}})}if(x==null){if(H!=null&&H.label!=null){G[F]=H.value;G[I.displayfield]=H.label}else{G[F]=H}}else{var f=x.split(this.source.mapChar);if(f.length>0){var n=G;for(var M=0;M<f.length-1;M++){n=n[f[M]]}n[f[f.length-1]]=H}}this.source._source._localdata.replace(g,b.extend({},G))}this.source.suspendKO=false}}if(this.sortcolumn&&this.dataview.sortby&&!this._updating){var z=this.getsortinformation();if(this.sortcolumn==F&&this.sortmode!=="many"){this.dataview.clearsortdata();this.dataview.sortby(z.sortcolumn,z.sortdirection.ascending)}else{if(this.sortmode==="many"){var m=this.getsortcolumns();this.dataview.clearsortdata();this.sortby(null);for(var O=0;O<m.length;O++){this.sortby(m[O].dataField,m[O].ascending)}}}}else{if(!this._updating){if(this.dataview.sortby){if(this.dataview.sortcache[F]){this.dataview.sortcache[F]=null}}}}this._cellscache=new Array();this._pagescache=new Array();if(this.source.updaterow&&(j==undefined||j==true)){var J=false;var r=this.that;var s=function(i){if(false==i){r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}}};try{var k=this.getrowid(h);J=this.source.updaterow(k,C,s);if(J==undefined){J=true}}catch(w){J=false;r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}return}}var K=this.vScrollInstance.value;if(this._updating&&Q!=true){Q=false}if(Q==true||Q==undefined){var r=this.that;var e=function(){if(r.pageable&&r.updatepagerdetails){r.updatepagerdetails();if(r.autoheight||r.autorowheight){r._updatepageviews()}}};var u=this.groupable&&this.groups.length>0;if(N&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.refresh();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.sortcolumn&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.reloaddata();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.groupable&&this.groups.length>0){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}if(this.pageable){if(this.groups.indexOf(F)!=-1){this._pagescache=new Array();this._cellscache=new Array();this.dataview.refresh();this._render(true,true,false,false)}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}}}this.vScrollInstance.setPosition(K);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}if(this.showfilterrow&&this.filterable&&this.filterrow){var y=this.getcolumn(F).filtertype;if(y=="list"||y=="checkedlist"){this._updatelistfilters(true)}}this._raiseEvent(19,{rowindex:o,datafield:F,newvalue:H,value:H,oldvalue:q});return true},getcellvalue:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){var f=g[d];return f}return null},getrows:function(){var h=this.dataview.records.length;if(this.virtualmode){var j=new Array();for(var e=0;e<this.dataview.records.length;e++){var d=this.dataview.records[e];if(d){j.push(d)}}if(this.dataview.records.length===undefined){b.each(this.dataview.records,function(){var i=this;if(i){j.push(i)}})}var g=0;if(this.pageable){g=this.dataview.pagenum*this.dataview.pagesize}if(j.length>this.source._source.totalrecords-g){return j.slice(0,this.source._source.totalrecords-g)}return j}if(this.dataview.sortdata){var j=new Array();for(var e=0;e<h;e++){var f={};f=b.extend({},this.dataview.sortdata[e].value);j[e]=f}return j}else{return this.dataview.records}},getrowboundindexbyid:function(g){var f=this.dataview.recordsbyid["id"+g];if(f){if(f.boundindex){return this.getboundindex(f)}}var e=this.getboundrows();for(var d=0;d<e.length;d++){if(e[d]){if(e[d].uid==g){return d}}}return -1},getrowdatabyid:function(f){var e=this.dataview.recordsbyid["id"+f];if(e){return e}else{var d=this.getrowboundindexbyid(f);return this.getboundrows()[d]}return null},getrowdata:function(d){if(d==undefined){d=0}if(this.virtualmode){var e=this.dataview.records[d];return e}else{var e=this.getboundrows()[d];return e}return null},getrenderedrowdata:function(d,f){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var e=this.dataview.loadedrecords[g];return e}var g=this.getrowvisibleindex(d);if(g>=0){if(this.groupable&&this.groups.length>0){var e=this.dataview.loadedrecords[g]}else{var e=this.dataview.loadedrecords[g];if(this.pageable&&(f==undefined||f==false)){var e=this.dataview.loadedrecords[this.dataview.pagesize*this.dataview.pagenum+d]}}return e}return null},getboundrows:function(){return this.dataview.cachedrecords},getrowdisplayindex:function(d){var f=this.getdisplayrows();for(var e=0;e<f.length;e++){if(!f[e]){continue}if(f[e].dataindex!==undefined){if(f[e].dataindex==d){return f[e].visibleindex}}else{if(f[e].boundindex==d){return f[e].visibleindex}}}return -1},getboundindex:function(e){var d=e.boundindex;if(this.groupable&&this.groups.length>0&&this.pageable){if(e.bounddata){d=this.getrowboundindexbyid(e.bounddata.uid)}}if(this.dataview.filters.length>0){if(e.bounddata){if(e.bounddata.dataindex!==undefined){d=e.bounddata.dataindex}}else{if(e.dataindex!==undefined){d=e.dataindex}}}return d},getrowboundindex:function(d){var e=this.getdisplayrows()[d];if(e){if(e.dataindex!==undefined){return e.dataindex}return e.boundindex}return -1},getdisplayrows:function(){return this.dataview.loadedrecords},getloadedrows:function(){return this.getdisplayrows()},getvisiblerowdata:function(e){var d=this.getvisiblerows();if(d){return d[e]}return null},getloadedrowdata:function(e){var d=this.getloadedrows();if(d){return d[e]}return null},getvisiblerows:function(){if(this.virtualmode){return this.dataview.loadedrecords}if(this.pageable){var f=[];for(var e=0;e<this.dataview.pagesize;e++){var d=this.dataview.loadedrecords[e+(this.dataview.pagesize*this.dataview.pagenum)];if(d==undefined){break}f.push(d)}return f}else{if(this._startboundindex!=undefined&&this._endboundindex!=undefined){var f=[];for(var e=this._startvisibleindex;e<=this._endvisibleindex;e++){var d=this.dataview.loadedrecords[e];if(d==undefined){break}f.push(d)}return f}}return this.dataview.loadedrecords},getrowid:function(d){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g];if(f){return f.uid}}else{var f=null;var e=this.dataview.filters.length>0;if(d>=0&&d<this.dataview.bounditems.length&&!e){if(this.groupable&&this.groups.length>0){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}else{var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}if(f){return f.uid}}if(this.dataview.filters.length>0){var f=this.getboundrows()[d];if(f){if(f.uid!=null){return f.uid}}return null}}return null},_updateGridData:function(e){var d=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){d=true}if(d){this.dataview.refresh();if(e=="updaterow"){this._render(true,true,false,false,false);this.invalidate()}else{this.render()}}else{if(this.sortcolumn||(this.groupable&&this.groups.length>0)){this.dataview.reloaddata();this.render()}else{if(e==="updaterow"){this.dataview.refresh();if(!this.virtualmode){this._render(true,true,false,false,false)}}this._cellscache=new Array();this._pagescache=new Array();this._renderrows(this.virtualsizeinfo)}}if(this.showfilterrow&&this.filterable&&this.filterrow){this._updatelistfilters(true)}},updaterow:function(i,k,g){if(i!=undefined&&k!=undefined){var h=this.that;var j=false;h._datachanged=true;var e=function(q,l,u){if(q._loading){throw new Error("jqxGrid: "+q.loadingerrormessage);return false}var s=false;if(!b.isArray(l)){s=q.dataview.updaterow(l,u)}else{b.each(l,function(v,w){s=q.dataview.updaterow(this,u[v],false)});q._cellscache=new Array();q._pagescache=new Array();q.dataview.refresh()}var m=q.vScrollInstance.value;if(g==undefined||g==true){if(q._updating==undefined||q._updating==false){q._updateGridData("updaterow")}}if(q.showaggregates&&q._updatecolumnsaggregates){q._updatecolumnsaggregates()}if(q.source&&q.source._knockoutdatasource&&!q._updateFromAdapter&&q.autokoupdates){if(q.source._source._localdata){var n=q.dataview.recordsbyid["id"+l];var o=q.dataview.records.indexOf(n);var p=q.source._source._localdata()[o];q.source.suspendKO=true;q.source._source._localdata.replace(p,b.extend({},n));q.source.suspendKO=false}}var r=q.source&&q.source._source.localdata&&q.source._source.localdata.name==="observableArray";if(r){if(!q.source._source.localdata._updating){q.source._source.localdata._updating=true;var t=q.getrowboundindexbyid(l);q.source._source.localdata.set(t,u);q.source._source.localdata._updating=false}}q.vScrollInstance.setPosition(m);return s};if(this.source.updaterow){var d=function(l){if(l==true||l==undefined){e(h,i,k)}else{j=false}};try{j=this.source.updaterow(i,k,d);if(j==undefined){j=true}}catch(f){j=false}}else{j=e(h,i,k)}return j}return false},deleterow:function(d,k){if(d!=undefined){this._datachanged=true;var o=false;var m=this.that;var p=this.getrowboundindexbyid(d);var e=new Array();var j=new Array();if(p!=undefined){if(this.selectedrowindexes.indexOf(p)>=0){this.selectedrowindexes.splice(this.selectedrowindexes.indexOf(p),1)}if(this.selectedrowindex==p){this.selectedrowindex=-1}if(!this.virtualmode){if(m.selectionmode.indexOf("row")>=0){b.each(this.selectedrowindexes,function(){var q=m.getrowid(this);e.push(q)});this.selectedrowindexes=new Array();this.selectedrowindex=-1}else{if(m.selectionmode.indexOf("cell")>=0){for(var i in m.selectedcells){var n=m.selectedcells[i];var h=m.getrowid(n.rowindex);n.rowid=h}}}this._rendervisualrows()}}var f=function(w,r){if(w._loading){throw new Error("jqxGrid: "+w.loadingerrormessage);return false}var z=false;var t=w.vScrollInstance.value;if(!b.isArray(r)){var z=w.dataview.deleterow(r)}else{b.each(r,function(){z=w.dataview.deleterow(this,false)});w._cellscache=new Array();w._pagescache=new Array();w.dataview.refresh()}if(!w.virtualmode){if(w.selectionmode.indexOf("row")>=0){b.each(e,function(){var B=w.getrowboundindexbyid(this);if(B!=-1){w.selectrow(B,false)}})}else{var A=new Array();for(var v in w.selectedcells){var y=w.selectedcells[v];var u=y.rowid;var s=w.getrowboundindexbyid(u);if(s!=-1){y.rowindex=s;A[s+"_"+y.datafield]=y}}w.selectedcells=A}}if(w._updating==undefined||w._updating==false){if(k==undefined||k==true){setTimeout(function(){w._render(true,true,false,false);if(w.vScrollBar.css("visibility")!="visible"){w._arrange();w._updatecolumnwidths();w._updatecellwidths();w._renderrows(w.virtualsizeinfo)}})}}if(w.source&&w.source._knockoutdatasource&&!w._updateFromAdapter&&w.autokoupdates){if(w.source._source._localdata){w.source.suspendKO=true;w.source._source._localdata.pop();w.source.suspendKO=false}}var x=w.source&&w.source._source.localdata&&w.source._source.localdata.name==="observableArray";if(x){if(!w.source._source.localdata._updating){w.source._source.localdata._updating=true;w.source._source.localdata.splice(p,1);w.source._source.localdata._updating=false}}if(w.dataview.sortby&&w.sortmode!=="many"){var q=w.getsortinformation();if(q.sortcolumn){w.dataview.clearsortdata();w.dataview.sortby(q.sortcolumn,q.sortdirection?q.sortdirection.ascending:null)}}w.vScrollInstance.setPosition(t);return z};if(this.source.deleterow){var g=function(q){if(q==true||q==undefined){f(m,d)}};try{this.source.deleterow(d,g);if(o==undefined){o=true}}catch(l){o=false}}else{o=f(m,d)}return o}return false},addrow:function(f,o,j){if(o!=undefined){this._datachanged=true;if(j==undefined){j="last"}var n=false;var m=this.that;if(f==null){var g=this.dataview.filters&&this.dataview.filters.length>0;var l=!g?this.dataview.totalrecords:this.dataview.cachedrecords.length;if(!b.isArray(o)){f=this.dataview.getid(this.dataview.source.id,o,l);while(null!=this.dataview.recordsbyid["id"+f]){f++}}else{var d=new Array();b.each(o,function(e,p){var q=m.dataview.getid(m.dataview.source.id,o[e],l+e);d.push(q)});f=d}}var h=function(s,r,v,e){if(s._loading){throw new Error("jqxGrid: "+s.loadingerrormessage);return false}var u=s.vScrollInstance.value;var t=false;if(!b.isArray(v)){if(v!=undefined&&v.dataindex!=undefined){delete v.dataindex}t=s.dataview.addrow(r,v,e)}else{b.each(v,function(w,x){if(this.dataindex!=undefined){delete this.dataindex}var y=null;if(r!=null&&r[w]!=null){y=r[w]}t=s.dataview.addrow(y,this,e,false)});s._cellscache=new Array();s._pagescache=new Array();s.dataview.refresh()}if(s._updating==undefined||s._updating==false){s._render(true,true,false,false);s.invalidate()}if(s.source&&s.source._knockoutdatasource&&!s._updateFromAdapter&&s.autokoupdates){if(s.source._source._localdata){s.source.suspendKO=true;s.source._source._localdata.push(v);s.source.suspendKO=false}}var p=s.source&&s.source._source.localdata&&s.source._source.localdata.name==="observableArray";if(p){if(!s.source._source.localdata._updating){s.source._source.localdata._updating=true;var q=s.getrowboundindexbyid(r);s.source._source.localdata.set(q,v);s.source._source.localdata._updating=false}}if(s.scrollmode!="deferred"){s.vScrollInstance.setPosition(u)}else{s.vScrollInstance.setPosition(0)}return t};if(this.source.addrow){var i=function(e,p){if(e==true||e==undefined){if(p!=undefined){f=p}h(m,f,o,j)}};try{n=this.source.addrow(f,o,j,i);if(n==undefined){n=true}}catch(k){n=false}if(n==false){return false}}else{h(this,f,o,j)}return n}return false},_findvisiblerow:function(h,i){if(h==undefined){h=parseInt(this.vScrollInstance.value)}var f=0;if(i==undefined||i==null){i=this.rows.records}var d=i.length;while(f<=d){var e=parseInt((f+d)/2);var g=i[e];if(g==undefined){break}if(g.top>h&&g.top+g.height>h){d=e-1}else{if(g.top<h&&g.top+g.height<h){f=e+1}else{return e;break}}}return -1},_updatecellwidths:function(){var f=this.virtualsizeinfo;if(!f){return}var p=this.that;if(p.gridcontent==undefined){return}if(p.table==undefined){p.table=p.gridcontent.find("#contenttable"+p.element.id)}var k=p.groupable&&p.groups.length>0;var q=0;var l=f.visiblerecords;if(p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.pagesize;if(p.groupable){p.dataview.updateview();l=p.dataview.rows.length}}if(!p.groupable&&!p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.totalrecords}if(p.rowdetails){l+=p.dataview.pagesize}if(!p.columns.records){return}var r=p.columns.records.length;var t=p.table[0].rows;for(var n=0;n<l;n++){var d=t[n];if(!d){break}var s=d.cells;var h=0;for(var m=0;m<r;m++){var g=p.columns.records[m];var e=g.width;if(g.adaptivewidth){e=g.adaptivewidth}var o=s[m];if(parseInt(o.style.left)!=h){o.style.left=h+"px"}if(parseInt(o.style.width)!=e){o.style.width=e+"px"}if(!(g.hidden&&g.hideable)&&!g.adaptivehidden){h+=parseFloat(e)}else{o.style.display="none"}}if(q==0){p.table.width(parseFloat(h)+2);q=h}}if(p.showaggregates&&p._updateaggregates){p._updateaggregates()}if(p.showfilterrow&&p.filterable&&p._updatefilterrowui){p._updatefilterrowui()}if(p.showeverpresentrow){p._updateaddnewrowui()}p._updatescrollbarsafterrowsprerender();if(k){p._renderrows(p.virtualsizeinfo)}},_updatescrollbarsafterrowsprerender:function(){var g=this.that;var f=g.hScrollBar[0].style.visibility;var i=0;var d=g.vScrollBar[0].style.visibility;if(d=="visible"){i=g.scrollbarsize+3}if(g.scrollbarsize==0){i=0}if(g.scrollbarautoshow){i=0}var e=g.element.style.width;if(e.toString().indexOf("%")>=0){e=g.host.width()}else{e=parseInt(e)}if(parseInt(g.table[0].style.width)-2>e-i){if(f!="visible"){if(!g.autowidth){g.hScrollBar[0].style.visibility="visible"}g._arrange()}if(d=="visible"){if(g.scrollmode!="deferred"&&!g.virtualmode){if(g.virtualsizeinfo){var h=g.virtualsizeinfo.virtualheight-g._gettableheight();if(!isNaN(h)&&h>0){if(f!="hidden"){g.vScrollBar.jqxScrollBar("max",h+g.scrollbarsize+4)}else{g.vScrollBar.jqxScrollBar("max",h)}}}}else{g._updatevscrollbarmax()}}else{i=-2}g.hScrollBar.jqxScrollBar("max",i+g.table.width()-g.host.width())}else{if(f!="hidden"){g.hScrollBar.css("visibility","hidden");g._arrange()}}g._renderhorizontalscroll()},_hascolumnstyle:function(){if(undefined!==this._hascolumnstyles){return this._hascolumnstyles}this._hascolumnstyles=false;for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.style.headerBackgroundColor||e.style.headerColor||e.style.headerBackgroundHoveredColor||e.style.headerHoveredColor||e.style.headerBackgroundSelectedColor||e.style.headerSelectedColor||e.style.backgroundColor||e.style.color||e.style.backgroundHoveredColor||e.style.hoveredColor||e.style.backgroundSelectedColor||e.style.selectedColor){this._hascolumnstyles=true;return true}}return false},_prerenderrows:function(o){var C=this.that;if(C.prerenderrequired==true){C.prerenderrequired=false;if(C.editable&&C._destroyeditors){C._destroyeditors()}if(C.gridcontent==undefined){return}C.gridcontent.find("#contenttable"+C.element.id).remove();if(C.table!=null){C.table.remove();C.table=null}C.table=b('<div id="contenttable'+C.element.id+'" style="overflow: hidden; position: relative;"></div>');C.gridcontent.addClass(C.toTP("jqx-grid-content"));C.gridcontent.addClass(C.toTP("jqx-widget-content"));C.gridcontent.append(C.table);var B=C.groupable&&C.groups.length>0;var p=0;C.table[0].rows=new Array();var l=C.toTP("jqx-grid-cell");if(B){l=" "+C.toTP("jqx-grid-group-cell")}var u=o.visiblerecords;if(C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.pagesize;if(C.groupable){C.dataview.updateview();u=C.dataview.rows.length;if(u<C.dataview.pagesize){u=C.dataview.pagesize}}}if(!C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.totalrecords}if(C.groupable&&C.groups.length>0&&(C.autoheight||C.autorowheight)&&!C.pageable){u=C.dataview.rows.length}if(C.rowdetails){if(C.autoheight||C.autorowheight){u+=C.dataview.pagesize}else{u+=u}}if(!C.columns.records){return}var A=C.columns.records.length;if(b.jqx.browser.msie&&b.jqx.browser.version>8){C.table.css("opacity","0.99")}if(b.jqx.browser.mozilla){}if(navigator.userAgent.indexOf("Safari")!=-1){C.table.css("opacity","0.99")}var r=b.jqx.browser.msie&&b.jqx.browser.version<8;if(r){C.host.attr("hideFocus","true")}var k=C.tableZIndex;if(u*A>k){k=u*A}var g=C.dataview.records.length==0;var n=C.isTouchDevice();var v="";C._hiddencolumns=false;var D=5+C.columns.records.length;for(var z=0;z<u;z++){var s='<div role="row" style="position: relative; height:'+C.rowsheight+'px;" id="row'+z+C.element.id+'">';if(r){var s='<div role="row" style="position: relative; z-index: '+k+"; height:"+C.rowsheight+'px;" id="row'+z+C.element.id+'">';k--}var f=0;for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(C.rtl){var q=k-A+2*x;var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+q+"; width:"+t+"px;";k--}else{var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+k--+"; width:"+t+"px;"}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}else{d+="display: none;";C._hiddencolumns=true;k++}if(z===0&&x===0){d+='" tabindex="'+D+'"'}d+='" class="'+l+'">';var y=this._defaultcellsrenderer("",w);d+=y;d+="</div>";s+=d}if(p==0){C.table.width(parseInt(f)+2);p=f}s+="</div>";v+=s}if(C.WinJS){MSApp.execUnsafeLocalFunction(function(){C.table.html(v)})}else{C.table[0].innerHTML=v}C.table[0].rows=new Array();var m=C.table.children();for(var z=0;z<u;z++){var h=m[z];C.table[0].rows.push(h);h.cells=new Array();var e=b(h).children();for(var x=0;x<A;x++){h.cells.push(e[x])}}if(u==0){var f=0;if(C.showemptyrow){var s=b('<div style="position: relative;" id="row0'+C.element.id+'"></div>');C.table.append(s);s.height(C.rowsheight);C.table[0].rows[0]=s[0];C.table[0].rows[0].cells=new Array()}for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(C.showemptyrow){var d=b('<div style="position: absolute; height: 100%; left: '+f+"px; z-index: "+k--+"; width:"+t+'px;" class="'+l+'"></div>');d.height(C.rowsheight);s.append(d);C.table[0].rows[0].cells[x]=d[0]}if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}}C.table.width(parseInt(f)+2);p=f}C._updatescrollbarsafterrowsprerender();if(C.rendered){C.rendered("rows")}C.toCompile=new Array();C._addoverlayelement()}},_groupsheader:function(){return this.groupable&&this.showgroupsheader},_arrange:function(){var A=null;var x=null;this.tableheight=null;var F=this.that;var n=false;var m=false;if(F.width!=null&&F.width.toString().indexOf("px")!=-1){A=F.width}else{if(F.width!=undefined&&!isNaN(F.width)){A=F.width}}if(F.width!=null&&F.width.toString().indexOf("%")!=-1){A=F.width;n=true}if(F.scrollbarautoshow){F.vScrollBar[0].style.display="none";F.hScrollBar[0].style.display="none";F.vScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex;F.hScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex}if(F.autowidth){var p=0;for(var B=0;B<F.columns.records.length;B++){var e=F.columns.records[B].width;if(e=="auto"){e=F._measureElementWidth(F.columns.records[B].text);p+=e}else{p+=e}}if(F.vScrollBar.css("visibility")!="hidden"){p+=F.scrollbarsize+4}A=p;F.width=A}if(F.height!=null&&F.height.toString().indexOf("px")!=-1){x=F.height}else{if(F.height!=undefined&&!isNaN(F.height)){x=F.height}}if(F.height!=null&&F.height.toString().indexOf("%")!=-1){x=F.height;m=true}var k=function(){var i=0;var w=F.showheader?F.columnsheader!=null?F.columnsheader.height()+2:0:0;i+=w;if(F.pageable){i+=F.pagerheight}if(F._groupsheader()){i+=F.groupsheaderheight}if(F.showtoolbar){i+=F.toolbarheight}if(F.showstatusbar){i+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){i+=F.everpresentrowheight}if(F.hScrollBar[0].style.visibility=="visible"){i+=15}return i};if(F.autoheight&&F.virtualsizeinfo){if(F.pageable&&F.gotopage){var C=0;x=C+(F._pageviews[0]?F._pageviews[0].height:0);x+=k();if(F.showemptyrow&&F.dataview.totalrecords==0){x+=F.rowsheight}}else{var C=F.host.height()-F._gettableheight();if(F._pageviews.length>0){x=C+F._pageviews[F._pageviews.length-1].height+F._pageviews[F._pageviews.length-1].top;F.vScrollBar[0].style.visibility="hidden"}else{x=k();if(F.showemptyrow){x+=F.rowsheight}}}}else{if(F.autoheight){x=F.dataview.totalrecords*F.rowsheight;if(F.pageable&&F.gotopage){x=F.pagesize*F.rowsheight}if(F._loading){x=250;F.dataloadelement.height(x)}x+=k();if(x>10000){x=10000}}}if(A!=null){A=parseInt(A);if(!n){if(F.element.style.width!=parseInt(F.width)+"px"){F.element.style.width=parseInt(F.width)+"px"}}else{F.element.style.width=F.width}if(n){A=F.host.width();if(A<=2){A=600;F.host.width(A)}if(!F._oldWidth){F._oldWidth=A}}}else{F.host.width(250)}if(x!=null){if(!m){x=parseInt(x)}if(!m){if(F.element.style.height!=parseInt(x)+"px"){F.element.style.height=parseInt(x)+"px"}}else{F.element.style.height=F.height}if(m&&!F.autoheight){x=F.host.height();if(x==0){x=400;F.host.height(x)}if(!F._oldHeight){F._oldHeight=x}}}else{F.host.height(250)}if(F.autoheight){F.tableheight=null;F._gettableheight()}var v=0;if(F.showtoolbar){F.toolbar.width(A);F.toolbar.height(F.toolbarheight-1);F.toolbar.css("top",0);v+=F.toolbarheight;x-=parseInt(F.toolbarheight)}else{F.toolbar[0].style.height="0px"}if(F.showstatusbar){if(F.showaggregates){F.statusbar.width(!F.table?A:Math.max(A,F.table.width()))}else{F.statusbar.width(A)}F.statusbar.height(F.statusbarheight)}else{F.statusbar[0].style.height="0px"}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.width(A);F.addnewrow.height(F.everpresentrowheight)}else{F.addnewrow[0].style.height="0px"}if(F._groupsheader()){F.groupsheader.width(A);F.groupsheader.height(F.groupsheaderheight);F.groupsheader.css("top",v);var y=F.groupsheader.height()+1;v+=y;if(x>y){x-=parseInt(y)}}else{if(F.groupsheader[0].style.width!=A+"px"){F.groupsheader[0].style.width=parseInt(A)+"px"}F.groupsheader[0].style.height="0px";if(F.groupsheader[0].style.top!=v+"px"){F.groupsheader.css("top",v)}var y=F.showgroupsheader&&F.groupable?F.groupsheaderheight:0;var f=v+y+"px";if(F.content[0].style.top!=f){F.content.css("top",v+F.groupsheaderheight)}}var d=F.scrollbarsize;if(isNaN(d)){d=parseInt(d);if(isNaN(d)){d="17px"}else{d=d+"px"}}d=parseInt(d);var s=4;var h=2;var j=0;if(F.vScrollBar[0].style.visibility=="visible"){j=d+s}if(F.hScrollBar[0].style.visibility=="visible"){h=d+s+2}if(d==0){j=0;h=0}var r=0;if(F.pageable){r=F.pagerheight;h+=F.pagerheight}if(F.showstatusbar){h+=F.statusbarheight;r+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){h+=F.everpresentrowheight;r+=F.everpresentrowheight}if(F.hScrollBar[0].style.height!=d+"px"){F.hScrollBar[0].style.height=parseInt(d)+"px"}if(F.hScrollBar[0].style.top!=v+x-s-d-r+"px"||F.hScrollBar[0].style.left!="0px"){F.hScrollBar.css({top:v+x-s-d-r+"px",left:"0px"})}var q=F.hScrollBar[0].style.width;var l=false;var D=false;if(j==0){if(q!=(A-2)+"px"){F.hScrollBar.width(A-2);l=true}}else{if(q!=(A-d-s)+"px"){F.hScrollBar.width(A-d-s+"px");l=true}}if(!F.autoheight){if(F.vScrollBar[0].style.width!=d+"px"){F.vScrollBar.width(d);D=true}if(F.vScrollBar[0].style.height!=parseInt(x)-h+"px"){F.vScrollBar.height(parseInt(x)-h+"px");D=true}if(F.vScrollBar[0].style.left!=parseInt(A)-parseInt(d)-s+"px"||F.vScrollBar[0].style.top!=v+"px"){F.vScrollBar.css({left:parseInt(A)-parseInt(d)-s+"px",top:v})}}if(F.rtl){F.vScrollBar.css({left:"0px",top:v});if(F.vScrollBar.css("visibility")!="hidden"){F.hScrollBar.css({left:d+2})}}var o=F.vScrollInstance;o.disabled=F.disabled;if(!F.autoheight){if(D){o.refresh()}}var z=F.hScrollInstance;z.disabled=F.disabled;if(l){z.refresh()}if(F.autowidth){F.hScrollBar[0].style.visibility="hidden"}F.statusbarheight=parseInt(F.statusbarheight);F.toolbarheight=parseInt(F.toolbarheight);var t=function(w){if((w.vScrollBar[0].style.visibility=="visible")&&(w.hScrollBar[0].style.visibility=="visible")){w.bottomRight[0].style.visibility="visible";w.bottomRight.css({left:1+parseInt(w.vScrollBar.css("left")),top:parseInt(w.hScrollBar.css("top"))});if(w.rtl){w.bottomRight.css("left","0px")}w.bottomRight.width(parseInt(d)+3);w.bottomRight.height(parseInt(d)+4);var G=w.showeverpresentrow&&w.everpresentrowposition=="bottom";var i=G?w.everpresentrowheight:0;if(i>0&&!w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-i})}if(w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+w.statusbarheight+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-w.statusbarheight-i})}}else{w.bottomRight[0].style.visibility="hidden"}};t(this);if(F.content[0].style.width!=A-j+"px"){F.content.width(A-j)}if(F.content[0].style.height!=x-h+3+"px"){F.content.height(x-h+3)}if(F.scrollbarautoshow){if(F.content[0].style.width!=A+"px"){F.content.width(A)}if(F.content[0].style.height!=x+"px"){F.content.height(x)}}if(F.content[0].style.top!=v+"px"){F.content.css("top",v)}if(F.rtl){F.content.css("left",j);if(F.scrollbarautoshow){F.content.css("left","0px")}if(F.table){var u=F.table.width();if(u<A-j){F.content.css("left",A-u)}}}if(F.showstatusbar){F.statusbar.css("top",v+x-F.statusbarheight-(F.pageable?F.pagerheight:0));if(F.showaggregates){if(F.hScrollBar.css("visibility")=="visible"){F.hScrollBar.css({top:v+x-s-d-r+F.statusbarheight+"px"});F.statusbar.css("top",1+v+x-d-5-F.statusbarheight-(F.pageable?F.pagerheight:0))}t(this)}if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.statusbar.css("left",F.content.css("left"))}else{F.statusbar.css("left","0px")}}}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.css("top",v+x-(F.showstatusbar?F.statusbarheight:0)-(F.pageable?F.pagerheight:0)-F.everpresentrowheight);if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.addnewrow.css("left",F.content.css("left"))}else{F.addnewrow.css("left","0px")}}}if(F.pageable){F.pager.width(A);F.pager.height(F.pagerheight);F.pager.css("top",v+x-F.pagerheight-1)}else{F.pager[0].style.height="0px"}if(F.table!=null){var g=-2;if(F.vScrollBar[0].style.visibility=="visible"){g=F.scrollbarsize+3}if(F.hScrollBar[0].style.visibility=="visible"){var E=g+F.table.width()-F.host.width();if(E>=0){F.hScrollBar.jqxScrollBar("max",E)}if(F.hScrollBar[0].style.visibility=="visible"&&E==0){F.hScrollBar[0].style.visibility="hidden";F._arrange()}}}if(A!=parseInt(F.dataloadelement[0].style.width)){F.dataloadelement[0].style.width=F.element.style.width}if(x!=parseInt(F.dataloadelement[0].style.height)){F.dataloadelement[0].style.height=F.element.style.height}if(this.pagergotoinput){if(this.pagergotoinput.offset().top!==this.pagergoto.offset().top){this.pagergotoinput.css("visibility","hidden");this.pagergoto.css("visibility","hidden")}else{this.pagergotoinput.css("visibility","inherit");this.pagergoto.css("visibility","inherit")}}F._hostwidth=A},destroy:function(){delete b.jqx.dataFormat.datescache;delete this.gridlocalization;b.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(b(window.top.document),"mouseup.grid"+this.element.id)}}if(this.table&&this.table[0]){var m=this.table[0].rows.length;for(var k=0;k<m;k++){var q=this.table[0].rows[k];var p=q.cells;var f=p.length;for(var h=0;h<f;h++){b(q.cells[h]).remove();q.cells[h]=null;delete q.cells[h]}q.cells=null;if(q.cells){delete q.cells}b(this.table[0].rows[k]).remove();this.table[0].rows[k]=null}try{delete this.table[0].rows}catch(n){}this.table.remove();delete this.table}if(this.columns&&this.columns.records){for(var k=0;k<this.columns.records.length;k++){var e=this.columns.records[k];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}}if(e.destroywidget){if(e.destroywidget){e.destroywidget(e.widget)}}this._removecolumnhandlers(this.columns.records[k]);if(e.element){b(e.element).remove();b(e.sortasc).remove();b(e.sortdesc).remove();b(e.filtericon).remove();b(e.menu).remove();e.element=null;e.uielement=null;e.sortasc=null;e.sortdesc=null;e.filtericon=null;e.menu=null;delete e.element;delete e.uielement;delete e.sortasc;delete e.sortdesc;delete e.filtericon;delete e.menu;delete this.columnsrow[0].cells[k]}}try{delete this.columnsrow[0].cells}catch(n){}delete this.columnsrow}b.removeData(document.body,"contextmenu"+this.element.id);if(this.host.jqxDropDownList){if(this._destroyfilterpanel){this._destroyfilterpanel()}}if(this.editable&&this._destroyeditors){this._destroyeditors()}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}if(this.host.jqxMenu){if(this.gridmenu){this.removeHandler(b(document),"click.menu"+this.element.id);this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu=null}}if(this.pagershowrowscombo){this.pagershowrowscombo.jqxDropDownList("destroy");this.pagershowrowscombo=null}if(this.pagerrightbutton){this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.pagerrightbutton.jqxButton("destroy");this.pagerrightbutton=null}if(this.pagerleftbutton){this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.pagerleftbutton.jqxButton("destroy");this.removeHandler(b(document),"mouseup.pagerbuttons"+this.element.id);this.pagerleftbutton=null}this.removeHandler(b(document),"selectstart."+this.element.id);this.removeHandler(b(document),"mousedown.resize"+this.element.id);this.removeHandler(b(document),"mouseup.resize"+this.element.id);this.removeHandler(b(document),"mousemove.resize"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(document),"mousedown.reorder"+this.element.id);this.removeHandler(b(document),"mouseup.reorder"+this.element.id);this.removeHandler(b(document),"mousemove.reorder"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(window),"resize."+this.element.id);if(this.resizeline){this.resizeline.remove()}if(this.resizestartline){this.resizestartline.remove()}if(this.groupable){var l="mousemove.grouping"+this.element.id;var d="mousedown.grouping"+this.element.id;var g="mouseup.grouping"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}if(this.columnsreorder){var l="mousemove.reorder"+this.element.id;var d="mousedown.reorder"+this.element.id;var g="mouseup.reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g);delete this.columnsbounds}if(this.content){this.removeHandler(this.content,"mousedown");this.removeHandler(this.content,"scroll")}this._removeHandlers();this.hScrollInstance.destroy();this.vScrollInstance.destroy();this.hScrollBar.remove();this.vScrollBar.remove();this._clearcaches();delete this.hScrollInstance;delete this.vScrollInstance;delete this.visiblerows;delete this.hittestinfo;delete this.rows;delete this.columns;delete this.columnsbydatafield;delete this.pagescache;delete this.pageviews;delete this.cellscache;delete this.heights;delete this.hiddens;delete this.hiddenboundrows;delete this.heightboundrows;delete this.detailboundrows;delete this.details;delete this.expandedgroups;delete this._rowdetailscache;delete this._rowdetailselementscache;delete this.columnsmenu;if(this.columnsheader){this.columnsheader.remove();delete this.columnsheader}if(this.selectionarea){this.selectionarea.remove();delete this.selectionarea}if(this.menuitemsarray&&this.menuitemsarray.length){var o=this.menuitemsarray.length;for(var k=0;k<o;k++){b(this.menuitemsarray[k]).remove()}}delete this.menuitemsarray;this.dataview._clearcaches();this.content.removeClass();this.content.remove();this.content=null;delete this.content;this.vScrollBar=null;this.hScrollBar=null;delete this.hScrollBar;delete this.hScrollBar;if(this.gridcontent){this.gridcontent.remove();delete this.gridcontent}if(this.gridmenu){this.gridmenu=null;delete this.gridmenu}delete this._mousemovefunc;delete this._mousewheelfunc;this.dataview.destroy();delete this.dataview;this.bottomRight.remove();delete this.bottomRight;this.wrapper.remove();delete this.wrapper;if(this.pagerdiv){this.pagerdiv.remove();delete this.pagerdiv}if(this.pagerpageinput){this.pagerpageinput.remove();delete this.pagerpageinput}if(this.pagergoto){this.pagergoto.remove();delete this.pagergoto}if(this.pagershowrows){this.pagershowrows.remove();delete this.pagershowrows}if(this.pagerfirstbutton){this.pagerfirstbutton.remove();delete this.pagerfirstbutton}if(this.pagerlastbutton){this.pagerlastbutton.remove();delete this.pagerlastbutton}if(this.pagerbuttons){this.pagerbuttons.remove();delete this.pagerbuttons}if(this.pagerdetails){this.pagerdetails.remove();delete this.pagerdetails}if(this.pagergotoinput){this.pagergotoinput.remove();delete this.pagergotoinput}this.pager.remove();delete this.pager;this.groupsheader.remove();delete this.groupsheader;this.dataloadelement.remove();delete this.dataloadelement;this.toolbar.remove();delete this.toolbar;this.statusbar.remove();delete this.statusbar;this.host.removeData();this.host.removeClass();this.host.remove();this.host=null;delete this.host;delete this.element;delete this.set;delete this.get;delete this.that;delete this.call},_initializeColumns:function(){var f=this.source?this.source.datafields:null;if(f==null&&this.source&&this.source._source){f=this.source._source.datafields}var k=f?f.length>0:false;if(this.autogeneratecolumns){var m=new Array();if(f){b.each(f,function(){var i={datafield:this.name,text:this.text||this.name,cellsformat:this.format||""};m.push(i)})}else{if(this.source.records.length>0){var o=this.source.records[0];for(var h in o){if(h!="uid"){var g={width:100,datafield:h,text:h};m.push(g)}}}}this.columns=m}if(this.columns&&this.columns.records){for(var j=0;j<this.columns.records.length;j++){this._removecolumnhandlers(this.columns.records[j])}}var l=this.that;var e=new b.jqx.collection(this.element);var d=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.groupable){b.each(this.groups,function(i){var p=new c(l,this);p.visibleindex=d++;p.width=l.groupindentwidth;e.add(p);p.grouped=true;p.filterable=false;p.sortable=false;p.editable=false;p.resizable=false;p.draggable=false})}if(this.rowdetails&&this.showrowdetailscolumn){var g=new c(l,this);g.visibleindex=d++;g.width=l.groupindentwidth;g.pinned=true;g.editable=false;g.filterable=false;g.draggable=false;g.groupable=false;g.resizable=false;e.add(g);l._haspinned=true}if(this.selectionmode=="checkbox"){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.checkboxcolumn=true;g.editable=false;g.columntype="checkbox";g.groupable=false;g.draggable=false;g.filterable=false;g.resizable=false;g.datafield="_checkboxcolumn";e.add(g)}var n=new Array();b.each(this.columns,function(i){if(l.columns[i]!=undefined){var p=new c(l,this);p.visibleindex=d++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){l._haspinned=true}if(l.showeverpresentrow){if(this.datafield==="addButtonColumn"||this.datafield==="resetButtonColumn"||this.datafield==="updateButtonColumn"||this.datafield==="deleteButtonColumn"){p.editable=false;p.groupable=false;p.draggable=false;p.filterable=false;p.resizable=false;p.menu=false}}if(this.datafield==null){if(l.source&&l.source._source&&(l.source._source.datatype=="array")){if(!k){if(!l.source._source.datafields){l.source._source.datafields=new Array();l.source._source.datafields.push({name:i.toString()})}else{l.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();p.datafield=this.datafield;p.displayfield=this.displayfield}}else{if(n[this.datafield]){throw new Error("jqxGrid: Invalid column 'datafield' setting. jqxGrid's columns should be initialized with unique data fields.");l.host.remove();return false}else{n[this.datafield]=true}}e.add(p)}});if(this.adaptive){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.editable=false;g.columntype="adaptive";g.cellsalign="center";g.groupable=false;g.draggable=false;g.menu=false;g.sortable=false;g.filterable=false;g.resizable=false;g.datafield="_adaptivecolumn";e.add(g)}if(this.rtl){e.records.reverse()}this.columns=e},_initializeRows:function(){var d=new b.jqx.collection(this.element);if(this.rows){this.rows.clear()}this.rows=d},_raiseEvent:function(j,e){if(e==undefined){e={owner:null}}if(this._trigger===false){return}var f=this.events[j];if(!this._camelCase){f=f.toLowerCase()}if(j==2||j==15){if(this.showeverpresentrow&&(this.everpresentrowactions.indexOf("delete")>=0||this.everpresentrowactions.indexOf("update")>=0)){if(this.updateeverpresentrow){var i=this}setTimeout(function(){i.updateeverpresentrow()},50)}}var g=e;g.owner=this;var h=new b.Event(f);h.owner=this;h.args=g;var d=this.host.trigger(h);e=h.args;return d},wheel:function(f,e){if(e.autoheight&&e.hScrollBar.css("visibility")!="visible"){f.returnValue=true;return true}var g=0;if(!f){f=window.event}if(f.originalEvent&&f.originalEvent.wheelDelta){f.wheelDelta=f.originalEvent.wheelDelta}if(f.wheelDelta){g=f.wheelDelta/120}else{if(f.detail){g=-f.detail/3}}if(g){var d=e._handleDelta(g);if(d){if(f.preventDefault){f.preventDefault()}if(f.originalEvent!=null){f.originalEvent.mouseHandled=true}if(f.stopPropagation!=undefined){f.stopPropagation()}}if(d){d=false;f.returnValue=d;return d}else{return false}}if(f.preventDefault){f.preventDefault()}f.returnValue=false},_handleDelta:function(f){if(this.vScrollBar.css("visibility")!="hidden"){var e=this.vScrollInstance.value;if(f<0){this.scrollDown()}else{this.scrollUp()}var d=this.vScrollInstance.value;if(e!=d){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var e=this.hScrollInstance.value;if(f>0){if(this.hScrollInstance.value>2*this.horizontalscrollbarstep){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var d=this.hScrollInstance.value;if(e!=d){return true}}}return false},scrollDown:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value+this.rowsheight<=d.max){d.setPosition(parseInt(d.value)+this.rowsheight)}else{d.setPosition(d.max)}},scrollUp:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value-this.rowsheight>=d.min){d.setPosition(parseInt(d.value)-this.rowsheight)}else{d.setPosition(d.min)}},_removeHandlers:function(){var d=this.that;d.removeHandler(b(window),"orientationchange.jqxgrid"+d.element.id);d.removeHandler(b(window),"orientationchanged.jqxgrid"+d.element.id);d.removeHandler(d.vScrollBar,"valueChanged");d.removeHandler(d.hScrollBar,"valueChanged");d.vScrollInstance.valueChanged=null;d.hScrollInstance.valueChanged=null;var e="mousedown.jqxgrid";if(d.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend")}d.removeHandler(d.host,"dblclick.jqxgrid");d.removeHandler(d.host,e);d.removeHandler(d.content,"mousemove",d._mousemovefunc);d.removeHandler(d.host,"mouseleave.jqxgrid");d.removeHandler(d.content,"mouseenter");d.removeHandler(d.content,"mouseleave");d.removeHandler(d.content,"mousedown");d.removeHandler(d.content,"scroll");d.removeHandler(d.content,"selectstart."+d.element.id);d.removeHandler(d.host,"dragstart."+d.element.id);d.removeHandler(d.host,"keydown.edit"+d.element.id);d.removeHandler(b(document),"keydown.edit"+d.element.id);d.removeHandler(b(document),"keyup.edit"+d.element.id);if(d._mousemovedocumentfunc){d.removeHandler(b(document),"mousemove.selection"+d.element.id,d._mousemovedocumentfunc)}d.removeHandler(b(document),"mouseup.selection"+d.element.id);if(d._mousewheelfunc){d.removeHandler(d.host,"mousewheel",d._mousewheelfunc)}if(d.editable){d.removeHandler(b(document),"mousedown.gridedit"+d.element.id)}if(d.host.off){d.content.off("mousemove");d.host.off("mousewheel")}},_addHandlers:function(){var e=this.that;var d=e.isTouchDevice();if(!d){e.addHandler(e.host,"dragstart."+e.element.id,function(j){return false})}if(e.scrollbarautoshow){e.addHandler(e.host,"mouseenter.gridscroll"+e.element.id,function(j){e.vScrollBar.fadeIn("fast");e.hScrollBar.fadeIn("fast")});e.addHandler(e.host,"mouseleave.gridscroll"+e.element.id,function(j){if(!e.vScrollInstance.isScrolling()&&!e.hScrollInstance.isScrolling()){e.vScrollBar.fadeOut("fast");e.hScrollBar.fadeOut("fast")}})}if(e.editable){e.addHandler(b(document),"mousedown.gridedit"+e.element.id,function(m){if(e.editable&&e.begincelledit){if(e.editcell){if(!e.vScrollInstance.isScrolling()&&!e.vScrollInstance.isScrolling()){var r=e.host.coord();var q=e.host.width();var n=e.host.height();var v=false;var k=false;var t=false;if(m.pageY<r.top||m.pageY>r.top+n){v=true;k=true}if(m.pageX<r.left||m.pageX>r.left+q){v=true;t=true}if(v){var u=false;if(e.editcell&&e.editcell.editor){switch(e.editcell.columntype){case"datetimeinput":if(e.editcell.editor.jqxDateTimeInput&&e.editcell.editor.jqxDateTimeInput("container")&&e.editcell.editor.jqxDateTimeInput("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDateTimeInput("container").coord().top;var j=e.editcell.editor.jqxDateTimeInput("container").coord().top+e.editcell.editor.jqxDateTimeInput("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDateTimeInput("close")}else{return}}break;case"combobox":if(e.editcell.editor.jqxComboBox&&e.editcell.editor.jqxComboBox("container")&&e.editcell.editor.jqxComboBox("container")[0].style.display=="block"){var s=e.editcell.editor.jqxComboBox("container").coord().top;var j=e.editcell.editor.jqxComboBox("container").coord().top+e.editcell.editor.jqxComboBox("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxComboBox("close")}else{return}}break;case"dropdownlist":if(e.editcell.editor.jqxDropDownList&&e.editcell.editor.jqxDropDownList("container")&&e.editcell.editor.jqxDropDownList("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDropDownList("container").coord().top;var j=e.editcell.editor.jqxDropDownList("container").coord().top+e.editcell.editor.jqxDropDownList("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDropDownList("close")}else{return}}break;case"template":case"custom":var l=["jqxDropDownList","jqxComboBox","jqxDropDownButton","jqxDateTimeInput"];var p=function(A){var z=e.editcell.editor.data();if(z[A]&&z[A].instance.container&&z[A].instance.container[0].style.display=="block"){var x=z[A].instance;var B=x.container.coord().top;var y=x.container.coord().top+x.container.height();if(k&&(m.pageY<B||m.pageY>y)){v=true;x.close();return true}else{return false}}};for(var o=0;o<l.length;o++){var w=p(l[o]);if(w==false){return}}break}}e.endcelledit(e.editcell.row,e.editcell.column,false,true);e._oldselectedcell=null}}}}})}e.vScrollInstance.valueChanged=function(j){if(e.virtualsizeinfo){e._closemenu();if(e.scrollmode!="physical"){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{if(e.currentScrollValue!=undefined&&Math.abs(e.currentScrollValue-j.currentValue)>=5){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}}if(!e.pageable&&!e.groupable&&e.dataview.virtualmode){if(e.loadondemandupdate){clearTimeout(e.loadondemandupdate)}e.loadondemandupdate=setTimeout(function(){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)},100)}if(d){e._lastScroll=new Date()}}};e.hScrollInstance.valueChanged=function(l){if(e.virtualsizeinfo){e._closemenu();var k=function(){e._renderhorizontalscroll();e._renderrows(e.virtualsizeinfo);if(e.editcell&&!e.editrow){if(e._showcelleditor&&e.editcell.editing){if(!e.hScrollInstance.isScrolling()){e._showcelleditor(e.editcell.row,e.getcolumn(e.editcell.column),e.editcell.element,e.editcell.init)}}}};if(d){k()}else{var j=e._browser==undefined?e._isIE10():e._browser;if(navigator&&navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},1)}else{if(b.jqx.browser.msie){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},0.01)}else{k()}}}if(d){e._lastScroll=new Date()}}};e._mousewheelfunc=e._mousewheelfunc||function(j){if(!e.editcell&&e.enablemousewheel){e.wheel(j,e);return false}};e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);e.addHandler(e.host,"mousewheel",e._mousewheelfunc);var h="mousedown.jqxgrid";if(d){h=b.jqx.mobile.getTouchEventName("touchend")}e.addHandler(e.host,h,function(k){if(e.isTouchDevice()){e._newScroll=new Date();if(e._newScroll-e._lastScroll<500){return false}if(b(k.target).ischildof(e.vScrollBar)){return false}if(b(k.target).ischildof(e.hScrollBar)){return false}}e._mousedown=new Date();var j=e._handlemousedown(k,e);if(e.isNestedGrid){if(!e.resizablecolumn&&!e.columnsreorder){k.stopPropagation()}}e._lastmousedown=new Date();return j});if(!d){e.addHandler(e.host,"dblclick.jqxgrid",function(k){if(e.editable&&e.begincelledit&&e.editmode=="dblclick"){e._handledblclick(k,e)}else{if(b.jqx.browser.msie&&b.jqx.browser.version<9){var j=e._handlemousedown(k,e)}}e.mousecaptured=false;e._lastmousedown=new Date();return true});e._mousemovefunc=function(j){if(e._handlemousemove){return e._handlemousemove(j,e)}};e.addHandler(e.content,"mousemove",e._mousemovefunc);if(e._handlemousemoveselection){e._mousemovedocumentfunc=function(j){if(e._handlemousemoveselection){return e._handlemousemoveselection(j,e)}};e.addHandler(b(document),"mousemove.selection"+e.element.id,e._mousemovedocumentfunc)}e.addHandler(b(document),"mouseup.selection"+e.element.id,function(j){if(e._handlemouseupselection){e._handlemouseupselection(j,e)}})}try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var i=null;if(window.parent&&document.referrer){i=document.referrer}if(i&&i.indexOf(document.location.host)!=-1){var g=function(k){if(e._handlemouseupselection){try{e._handlemouseupselection(k,e)}catch(j){}}};e.addHandler(b(window.top.document),"mouseup.grid"+e.element.id,g)}}}}catch(f){}e.focused=false;if(!d){e.addHandler(e.content,"mouseenter",function(j){e.focused=true;if(e.wrapper){e.wrapper.attr("tabindex",1);e.content.attr("tabindex",2)}if(e._overlayElement){if(e.vScrollInstance.isScrolling()||e.hScrollInstance.isScrolling()){e._overlayElement[0].style.visibility="visible"}else{e._overlayElement[0].style.visibility="hidden"}}});e.addHandler(e.content,"mouseleave",function(j){if(e._handlemousemove){if(e.enablehover){e._clearhoverstyle()}}if(e._overlayElement){e._overlayElement[0].style.visibility="hidden"}e.focused=false});if(e.groupable||e.columnsreorder){e.addHandler(b(document),"selectstart."+e.element.id,function(j){if(e.__drag===true){return false}})}e.addHandler(e.content,"selectstart."+e.element.id,function(j){if(e.enablebrowserselection){return true}if(e.showfilterrow){if(b(j.target).ischildof(e.filterrow)){return true}}if(e.showeverpresentrow){if(b(j.target).ischildof(e.addnewrow)){return true}if(e.addnewrowtop){if(b(j.target).ischildof(e.addnewrowtop)){return true}}}if(j.target.className&&j.target.className.indexOf("jqx-grid-widget")>=0){return true}if(!e.editcell){return false}if(j.stopPropagation){j.stopPropagation()}});e.addHandler(b(document),"keyup.edit"+e.element.id,function(j){e._keydown=false});e.addHandler(b(document),"keydown.edit"+e.element.id,function(l){if(e.adaptiveview){return true}e._keydown=true&&!e.editcell;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(k===20){if(!e._capsLock){e._capsLock=true}else{e._capsLock=false}}if(e.handlekeyboardnavigation){if(e.focused||(l.target===e.element||b(l.target).ischildof(e.host))){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}}if(e.editable&&e.editcell){if(k==13||k==27||k==9||k==32){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}}if(k==27){e.mousecaptured=false;if(e.selectionarea.css("visibility")=="visible"){e.selectionarea.css("visibility","hidden")}}if(b.jqx.browser.msie&&b.jqx.browser.version<12&&e.focused&&!e.isNestedGrid){if(k==13&&j==false){return j}var j=true;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(!e.editcell&&e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}return j}}return true});e.addHandler(e.host,"keyup.edit"+e.element.id,function(k){if(e.adaptiveview){return true}if(k.keyCode===9){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){switch(e.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var j=e.getselectedcell();if(j===null){e.selectcell(0,e.columns.records[0].displayfield)}break;default:var l=e.getselectedrowindex();if(l===-1){e.selectrow(0)}break}}}}});e.addHandler(e.host,"keydown.edit"+e.element.id,function(l){var j=true;if(e.adaptiveview){return true}if(e.handlekeyboardnavigation){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}if(e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}if(!e.editcell&&l.altKey){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){if(l.keyCode===40){var k=e.getselectedcell();if(k){e.openmenu(k.column)}}else{if(l.keyCode===38){e._closemenu()}}}}}if(!(b.jqx.browser.msie&&b.jqx.browser.version<8)){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}else{if(e.isNestedGrid){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);l.stopPropagation()}}}if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}if(j&&e.selectedcells&&e.selectedcells.length>0){if(l.keyCode===9&&l.shiftKey&&e.table&&e.table[0].rows&&e.table[0].rows.length>0){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){e.table[0].rows[0].cells[0].focus()}}}}return j})}},_hittestrow:function(s,q){if(this.vScrollInstance==null||this.hScrollInstance==null){return}if(s==undefined){s=0}if(q==undefined){q==0}var l=this.vScrollInstance;var k=this.hScrollInstance;var f=l.value;if(this.vScrollBar.css("visibility")!="visible"){f=0}var m=k.value;if(this.hScrollBar.css("visibility")!="visible"){m=0}if(this.scrollmode=="deferred"&&this._newmax!=null){if(f>this._newmax){f=this._newmax}}var r=parseInt(f)+q;var j=parseInt(m)+s;if(this.visiblerows==null){return}if(this.visiblerows.length==0){return}var e=false;var i=this._findvisiblerow(r,this.visiblerows);if(i>=0){var o=this.visiblerows[i];var d=this.rowdetails&&o.rowdetails;var n=!o.rowdetailshidden;if(d){var g=this.visiblerows[i-1];if(g==o){o=g;i--}if(n){var h=b(this.hittestinfo[i].visualrow).position().top+parseInt(this.table.css("top"));var p=b(this.hittestinfo[i].visualrow).height();if(!(q>=h&&q<=h+p)){i++;o=this.visiblerows[i];e=true}}}}return{index:i,row:o,details:e}},getcellatposition:function(j,q){var r=this.that;var z=this.showheader?this.columnsheader.height()+2:0;var s=this._groupsheader()?this.groupsheader.height():0;var B=this.showtoolbar?this.toolbarheight:0;s+=B;var g=this.host.coord();if(this.hasTransform){g=b.jqx.utilities.getOffset(this.host)}var p=j-g.left;var n=q-z-g.top-s;var d=this._hittestrow(p,n);var k=d.row;var l=d.index;var t=this.table[0].rows[l];if(this.dataview&&this.dataview.records.length==0){var o=this.table[0].rows;var C=0;for(var w=0;w<o.length;w++){if(n>=C&&n<C+this.rowsheight){t=o[w];break}C+=this.rowsheight}k={boundindex:w}}if(t==null){return true}var u=this.hScrollInstance;var v=u.value;var f=0;var m=this.groupable?this.groups.length:0;for(var w=0;w<t.cells.length;w++){var h=parseInt(b(this.columnsrow[0].cells[w]).css("left"));var j=h-v;if(r.columns.records[w].pinned){j=h}if(r.columns.records[w].hidden||r.columns.records[w].adaptivehidden){continue}var A=j+b(this.columnsrow[0].cells[w]).width();if(A>=p&&p>=j){f=w;break}}if(k!=null){var e=this._getcolumnat(f);return{row:this.getboundindex(k),column:e.datafield,value:this.getcellvalue(this.getboundindex(k),e.datafield)}}return null},_handlemousedown:function(Y,n){if(Y.target==null){return true}if(n.disabled){return true}if(b(Y.target).ischildof(this.columnsheader)||b(Y.target).ischildof(this.hScrollBar)||b(Y.target).ischildof(this.vScrollBar)){return true}if(Y.target===n.bottomRight[0]){return true}var o;if(Y.which){o=(Y.which==3)}else{if(Y.button){o=(Y.button==2)}}var R;if(Y.which){R=(Y.which==2)}else{if(Y.button){R=(Y.button==1)}}if(R){return true}if(this.adaptiveview){if(b(Y.target).ischildof(b(this.adaptiveview))){return true}if(Y.target==this.adaptiveview){return true}}if(this.showstatusbar){if(b(Y.target).ischildof(this.statusbar)){return true}if(Y.target==this.statusbar[0]){return true}}if(this.showtoolbar){if(b(Y.target).ischildof(this.toolbar)){return true}if(Y.target==this.toolbar[0]){return true}}if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}if(Y.target==this.pager[0]){return true}}if(!this.columnsheader){return true}if(!this.editcell){if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}}}var W=this.showheader?this.columnsheader.height()+2:0;var C=this._groupsheader()?this.groupsheader.height():0;var F=this.showtoolbar?this.toolbarheight:0;C+=F;var U=this.host.coord();if(this.hasTransform){U=b.jqx.utilities.getOffset(this.host);var ab=this._getBodyOffset();U.left-=ab.left;U.top-=ab.top}var k=parseInt(Y.pageX);var l=parseInt(Y.pageY);if(this.isTouchDevice()){var Z=n.getTouches(Y);var Q=Z[0];k=parseInt(Q.pageX);l=parseInt(Q.pageY);if(n.touchmode==true){if(Q._pageX!=undefined){k=parseInt(Q._pageX);l=parseInt(Q._pageY)}}}var J=k-U.left;var I=l-W-U.top-C;if(this.pageable&&!this.autoheight&&this.gotopage){var d=this.pager.coord().top-U.top-C-W;if(I>d){return}}var V=this._hittestrow(J,I);if(!V){return}if(V.details){return}var r=V.row;var E=V.index;var s=Y.target.className;var j=this.table[0].rows[E];if(j==null){if(n.editable&&n.begincelledit){if(n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}n.mousecaptured=true;n.mousecaptureposition={left:Y.pageX,top:Y.pageY-C,clickedrow:j};var m=this.hScrollInstance;var u=m.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){u=m.max-m.value}}var G=-1;var D=this.groupable?this.groups.length:0;if(this.rtl){if(this.vScrollBar[0].style.visibility!="hidden"){u-=this.scrollbarsize+4}if(this.hScrollBar[0].style.visibility=="hidden"){u=-parseInt(this.content.css("left"))}}for(var S=0;S<j.cells.length;S++){var T=parseInt(b(this.columnsrow[0].cells[S]).css("left"));var k=T-u;if(n.columns.records[S].pinned&&!n.rtl){k=T}var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}if(this.rtl&&this._haspinned){for(var S=j.cells.length-1;S>=0;S--){if(!n.columns.records[S].pinned){break}var T=b(this.columnsrow[0].cells[S]).coord().left-this.host.coord().left;var k=T;var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}}if(r!=null&&G>=0){this._raiseEvent(1,{rowindex:this.getboundindex(r),visibleindex:r.visibleindex,row:r,group:r.group,rightclick:o,originalEvent:Y});var L=this._getcolumnat(G);var O=this.getcellvalue(this.getboundindex(r),L.datafield);if(this.editable&&this.editcell){this._currentEditableColumn=G;if(L.datafield==this.editcell.column){if(this.getboundindex(r)==this.editcell.row){this.mousecaptured=false}}}if(L.columntype==="adaptive"){var K=document.createElement("div");var aa=document.createElement("div");var A=document.createElement("a");var w=document.createElement("a");var f=document.createElement("div");var M=this.getrowdata(this.getboundindex(r));A.href="#";w.href="#";K.style.zIndex=99999;K.style.position="absolute";K.style.left="0px";K.style.top="0px";K.style.width="100%";K.style.height="100%";K.className="jqx-adaptive-view jqx-widget-content";f.style.position="relative";f.style.top="100%";f.style.textAlign="center";f.style.marginTop="-40px";aa.style.position="absolute";aa.style.left="0px";aa.style.top="0px";aa.style.width="100%";aa.style.height="100%";if(this.theme){K.className="jqx-widget-content jqx-widget-content-"+this.theme}var e=document.createElement("span");e.className="jqx-icon-close";if(this.theme){e.className="jqx-icon-close jqx-widget-close-"+this.theme}e.style.zIndex=99;e.style.position="absolute";e.style.right="10px";e.style.top="10px";e.style.width="16px";e.style.height="16px";K.appendChild(aa);K.appendChild(e);A.innerHTML=this.gridlocalization.okstring;w.innerHTML=this.gridlocalization.cancelstring;A.addEventListener("mousedown",function(ad){var af={};var x=n.adaptiveview.querySelectorAll("input");for(var y=0;y<x.length;y++){var ae=x[y].value;var ac=x[y].getAttribute("data-column");af[ac]=ae}n.updaterow(M.uid,af);K.parentNode.removeChild(K);n.adaptiveview=null;ad.stopPropagation();return false});w.addEventListener("mousedown",function(){K.parentNode.removeChild(K);n.adaptiveview=null;Y.stopPropagation();return false});if(this.editable){f.appendChild(A);f.appendChild(w);K.appendChild(f)}var v="<table class='jqx-adaptive-table'><tr>";var E=0;for(var S=0;S<this.columns.records.length;S++){var L=this.columns.records[S];if(L.columntype==="adaptive"){continue}if(S>0&&E%2===0){v+="</tr><tr>"}var B=M[L.displayfield];if(L.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(B)){B=b.jqx.dataFormat.formatdate(B,L.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(B)){B=b.jqx.dataFormat.formatnumber(B,L.cellsformat,this.gridlocalization)}}}}var H=this.filterable?'<div datafield="'+L.datafield+'" class="'+n.toTP("jqx-grid-column-filterbutton")+'" style="position: relative; top: 4px; display: inline-block; width: 16px; height:16px;"></div>':"";if(this.editable){if(L.editable){v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' value='"+B+"'/></td>"}else{v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' readonly value='"+B+"'/></td>"}}else{v+="<td>"+H+L.text+": "+B+"</td>"}E++}v+="</tr></table>";aa.innerHTML=v;e.addEventListener("mousedown",function(i){K.parentNode.removeChild(K);n.adaptiveview=null});this.wrapper[0].appendChild(K);this.adaptiveview=K;b(this.adaptiveview).find(".jqx-grid-column-filterbutton").on("click",function(){var i=this.getAttribute("datafield");var x=this.offsetTop;n.openmenu(i);setTimeout(function(){n.gridmenu.css("top",30+x);n.gridmenu.css("left",25);n.gridmenu.css("z-index",99999);n.gridmenu.parent().css("z-index",99999)},300)});return}this._raiseEvent(8,{rowindex:this.getboundindex(r),column:L?L.getcolumnproperties():null,row:r,visibleindex:r.visibleindex,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y});if(L.createwidget){return true}if(this.isTouchDevice()){if(L.columntype=="checkbox"&&this.editable&&this._overlayElement){if(!this.editcell){this._overlayElement.css("visibility","hidden");this.editcell=this.getcell(E,L.datafield);return true}}else{if(L.columntype=="button"&&this._overlayElement){if(L.buttonclick){L.buttonclick(j.cells[G].buttonrow,Y)}return true}}}var h=false;if(this._lastmousedown!=null){if(this._mousedown-this._lastmousedown<300){if(this._clickedrowindex==this.getboundindex(r)){this._raiseEvent(22,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,group:r.group,rightclick:o,originalEvent:Y});if(this._clickedcolumn==L.datafield){this._raiseEvent(23,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,column:L?L.getcolumnproperties():null,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y})}h=true;this._clickedrowindex=-1;this._clickedcolumn=null;if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}}}}if(o){return true}if(!h){this._clickedrowindex=this.getboundindex(r);this._clickedcolumn=L.datafield}var g=b.jqx.utilities.getBrowser();if(g.browser=="msie"&&parseInt(g.version)<=7){if(G==0&&this.rowdetails){s="jqx-grid-group-collapse"}if(D>0){if(G<=D){s="jqx-grid-group-collapse"}}}if(s.indexOf("jqx-grid-group-expand")!=-1||s.indexOf("jqx-grid-group-collapse")!=-1){if(!this.rtl){if(D>0&&G<D&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}else{if(D>0&&G>j.cells.length-D-1&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==j.cells.length-1-D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}}else{if(r.boundindex!=-1){var p=this.selectedrowindexes.slice(0);var X=false;if(n.selectionmode!="none"&&n.selectionmode!="checkbox"&&this._selectrowwithmouse){if(n.selectionmode=="multiplecellsadvanced"||n.selectionmode=="multiplecellsextended"||n.selectionmode=="multiplerowsextended"||n.selectionmode=="multiplerowsadvanced"){if(!Y.ctrlKey&&!Y.shiftKey&&!Y.metaKey){n.selectedrowindexes=new Array();n.selectedcells=new Array()}}var z=false;var q=this.getboundindex(r);if(n._oldselectedrow===q||n.selectionmode==="none"){z=true}if(n.selectionmode.indexOf("cell")==-1){if((n.selectionmode!="singlerow")||(n.selectedrowindex!=q&&n.selectionmode=="singlerow")){this._applyrowselection(q,true,false,null,L.datafield);this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey)}}else{if(L.datafield!=null){this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey);if(!Y.shiftKey){this._applycellselection(q,L.datafield,true,false)}}}if(n._oldselectedcell){if(n._oldselectedcell.datafield==n.selectedcell.datafield&&n._oldselectedcell.rowindex==n.selectedcell.rowindex){X=true}}n._oldselectedcell=n.selectedcell;n._oldselectedrow=q}if(n.autosavestate){if(n.savestate){n.savestate()}}if(n.editable&&n.begincelledit&&n.editmode!="programmatic"){if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}if(n.editmode=="selectedrow"){if(z&&!n.editcell){if(L.columntype!=="checkbox"){this._currentEditableColumn=G;var t=n.beginrowedit(this.getboundindex(r))}}else{if(n.editcell&&!z&&n.selectionmode!="none"){var t=n.endrowedit(n.editcell.row)}}}else{var q=this.getboundindex(r);var P=n.editmode=="click"||(X&&n.editmode=="selectedcell");if(n.selectionmode.indexOf("cell")==-1){if(n.editmode!="dblclick"){P=true}}if(P){if(r.boundindex!=undefined&&L.editable){var t=n.begincelledit(this.getboundindex(r),L.datafield,L.defaulteditorvalue);if(n.selectionmode.indexOf("cell")!=-1){n._applycellselection(q,L.datafield,false,false)}}}if(n.selectionmode.indexOf("cell")!=-1){if(n.editmode=="selectedcell"&&!X&&n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}if(n.editmode=="dblclick"&&!X&&n.editcell&&!(n.editcell.row==q&&L.datafield==n.editcell.column)){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}}}}return true},_columnPropertyChanged:function(e,d,g,f){},_rowPropertyChanged:function(g,d,f,e){},_serializeObject:function(d){if(d==null){return""}var e="";b.each(d,function(g){var i=this;if(g>0){e+=", "}e+="[";var f=0;for(var h in i){if(f>0){e+=", "}e+="{"+h+":"+i[h]+"}";f++}e+="]"});return e},isbindingcompleted:function(){return !this._loading},propertiesChangedHandler:function(d,e,f){if(f.width&&f.height&&Object.keys(f).length==2){d._updatesize(true,true);d._resizeWindow();if(d.virtualmode&&!d._loading){d.vScrollInstance.setPosition(0)}else{setTimeout(function(){d._renderrows(d.virtualsizeinfo)},100)}}},propertyChangedHandler:function(e,f,i,h){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}f=f.toLowerCase();switch(f){case"editable":case"showcolumnheaderlines":case"showcolumnlines":case"showrowlines":e.refresh();break;case"everpresentrowactionsmode":if(i!=h){e._removeaddnewrow();e.render()}break;case"everpresentrowactions":e._updateaddnewrowui();break;case"showeverpresentrow":case"everpresentrowposition":case"everpresentrowheight":if(i!=h){e._removeaddnewrow();e.render()}break;case"rtl":e.content.css("left","");e.columns=e._columns;e._filterrowcache=[];e.vScrollBar.jqxScrollBar({rtl:h});e.hScrollBar.jqxScrollBar({rtl:h});if(e._initpager){e._initpager()}if(e._initgroupsheader){e._initgroupsheader()}e.render();break;case"enablebrowserselection":if(!e.showfilterrow){if(!e.showstatusbar&&!e.showtoolbar){e.host.addClass("jqx-disableselect")}e.content.addClass("jqx-disableselect")}if(e.enablebrowserselection){e.content.removeClass("jqx-disableselect");e.host.removeClass("jqx-disableselect")}break;case"columnsheight":if(e.columnsheight!=32||e.columngroups){e._measureElement("column")}e._render(true,true,true,false,false);break;case"rowsheight":if(h!=i){if(e.rowsheight!=31){e._measureElement("cell")}e.virtualsizeinfo=null;e.rendergridcontent(true,false);e.refresh()}break;case"scrollMode":e.vScrollInstance.thumbStep=e.rowsheight;break;case"showdefaultloadelement":e._builddataloadelement();break;case"showfiltermenuitems":case"showsortmenuitems":case"showgroupmenuitems":case"filtermode":e._initmenu();break;case"touchmode":if(i!=h){e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:h});e.hScrollBar.jqxScrollBar({touchMode:h});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._updatecellwidths();e._addHandlers()}break;case"autoshowcolumnsmenubutton":if(i!=h){e._rendercolumnheaders()}break;case"rendergridrows":if(i!=h){e.updatebounddata()}break;case"editmode":if(i!=h){e._removeHandlers();e._addHandlers()}break;case"source":e.updatebounddata();if(e.virtualmode&&!e._loading){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)}break;case"horizontalscrollbarstep":case"verticalscrollbarstep":case"horizontalscrollbarlargestep":case"verticalscrollbarlargestep":this.vScrollBar.jqxScrollBar({step:this.verticalscrollbarstep,largestep:this.verticalscrollbarlargestep});this.hScrollBar.jqxScrollBar({step:this.horizontalscrollbarstep,largestep:this.horizontalscrollbarlargestep});break;case"closeablegroups":if(e._initgroupsheader){e._initgroupsheader()}break;case"showgroupsheader":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}e._renderrows(e.virtualsizeinfo)}break;case"theme":if(h!=i){b.jqx.utilities.setTheme(i,h,e.host);if(e.gridmenu){e.gridmenu.jqxMenu({theme:h})}if(e.pageable){e._updatepagertheme()}if(e.filterable){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}}break;case"showtoolbar":case"toolbarheight":if(i!=h){e._arrange();e.refresh()}break;case"showstatusbar":if(i!=h){if(e.statusbar){if(h){e.statusbar.show()}else{e.statusbar.hide()}}e._arrange();e.refresh()}break;case"statusbarheight":if(i!=h){e._arrange();e.refresh()}break;case"filterable":case"showfilterrow":if(i!=h){e.render()}break;case"autoshowfiltericon":case"showfiltercolumnbackground":case"showpinnedcolumnbackground":case"showsortcolumnbackground":if(i!=h){e.rendergridcontent()}break;case"showrowdetailscolumn":if(i!=h){e.render()}break;case"scrollbarsize":if(i!=h){b.jqx.utilities.scrollBarSize=h;e._arrange()}break;case"width":case"height":if(i!=h){e._updatesize(true,true);e._resizeWindow();if(e.virtualmode&&!e._loading){e.vScrollInstance.setPosition(0)}else{setTimeout(function(){e._renderrows(e.virtualsizeinfo)},100)}}break;case"altrows":case"altstart":case"altstep":if(i!=h){e._renderrows(e.virtualsizeinfo)}break;case"groupsheaderheight":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}}break;case"pagerheight":if(i!=h){e._initpager()}break;case"selectedrowindex":e.selectrow(h);break;case"selectionmode":if(i!=h){if(h=="none"){e.selectedrowindexes=new Array();e.selectedcells=new Array();e.selectedrowindex=-1}e._renderrows(e.virtualsizeinfo);if(h=="checkbox"){e._render(false,false,true,false,false)}}break;case"showheader":if(h){e.columnsheader.css("display","block")}else{e.columnsheader.css("display","none")}break;case"virtualmode":if(i!=h){e.dataview.virtualmode=e.virtualmode;e.dataview.refresh(false);e._render(false,false,false)}break;case"columnsmenu":if(i!=h){e.render()}break;case"columngroups":e._render(true,true,true,false,false);break;case"columns":if(e.columns&&e.columns.length>e.headerZIndex){e.headerZIndex=e.columns.length+100}if(e._serializeObject(e._cachedcolumns)!==e._serializeObject(h)){var d=false;if(e.filterable){if(i&&i.records){b.each(i.records,function(){if(this.filter){d=true}e.dataview.removefilter(this.displayfield,this.filter)})}}e._columns=null;e._filterrowcache=[];e.render();if(d){e.applyfilters()}e._cachedcolumns=e.columns;if(e.removesort){e.removesort()}}else{e[f]=i}break;case"autoheight":if(i!=h){e._render(false,false,true)}break;case"pagermode":case"pagerbuttonscount":if(i!=h){if(e._initpager){if(e.pagershowrowscombo){e.pagershowrowscombo.jqxDropDownList("destroy");e.pagershowrowscombo=null}if(e.pagerrightbutton){e.removeHandler(e.pagerrightbutton,"mousedown");e.removeHandler(e.pagerrightbutton,"mouseup");e.removeHandler(e.pagerrightbutton,"click");e.pagerrightbutton.jqxButton("destroy");e.pagerrightbutton=null}if(e.pagerleftbutton){e.removeHandler(e.pagerleftbutton,"mousedown");e.removeHandler(e.pagerleftbutton,"mouseup");e.removeHandler(e.pagerleftbutton,"click");e.pagerleftbutton.jqxButton("destroy");e.removeHandler(b(document),"mouseup.pagerbuttons"+e.element.id);e.pagerleftbutton=null}e.pagerdiv.remove();e._initpager()}}break;case"pagesizeoptions":case"pageable":case"pagesize":if(i!=h){if(e._loading){throw new Error("jqxGrid: "+e.loadingerrormessage);return}if(!e.host.jqxDropDownList||!e.host.jqxListBox){e._testmodules();return}if(e._initpager){if(f!="pageable"&&f!="pagermode"){if(typeof(h)=="string"){var g="The expected value type is: Int.";if(f!="pagesize"){var g="The expected value type is: Array of Int values."}throw new Error("Invalid Value for: "+f+". "+g)}}e.dataview.pageable=e.pageable;e.dataview.pagenum=0;e.dataview.pagesize=e._getpagesize();if(e.virtualmode){e.updatebounddata()}e.dataview.refresh(true);e._initpager();if(f=="pagesizeoptions"){if(h!=null&&h.length>0){e.pagesize=parseInt(h[0]);e.dataview.pagesize=parseInt(h[0]);e.prerenderrequired=true;e._requiresupdate=true;e.dataview.pagenum=-1;e.gotopage(0)}}}e._render(false,false,false)}break;case"groups":if(e._serializeObject(i)!==e._serializeObject(h)){e.dataview.groups=h;e._refreshdataview();e._render(true,true,true,false)}break;case"groupable":if(i!=h){e.dataview.groupable=e.groupable;e.dataview.pagenum=0;e.dataview.refresh(false);e._render(false,false,true)}break;case"renderstatusbar":if(h!=null){e.renderstatusbar(e.statusbar)}break;case"rendertoolbar":if(h!=null){e.rendertoolbar(e.toolbar)}break;case"disabled":if(h){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled"))}b.jqx.aria(e,"aria-disabled",e.disabled);if(e.pageable){if(e.pagerrightbutton){e.pagerrightbutton.jqxButton({disabled:h});e.pagerleftbutton.jqxButton({disabled:h});e.pagershowrowscombo.jqxDropDownList({disabled:h});e.pagergotoinput.attr("disabled",h)}if(e.pagerfirstbutton){e.pagerfirstbutton.jqxButton({disabled:h});e.pagerlastbutton.jqxButton({disabled:h})}}e.vScrollBar.jqxScrollBar({disabled:h});e.hScrollBar.jqxScrollBar({disabled:h});if(e.filterable&&e.showfilterrow){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}break}}});function c(d,e){this.owner=d;this.datafield=null;this.displayfield=null;this.text="";this.createfilterpanel=null;this.sortable=true;this.hideable=true;this.editable=true;this.hidden=false;this.adaptivehidden=false;this.groupable=true;this.renderer=null;this.cellsrenderer=null;this.checkchange=null,this.threestatecheckbox=false;this.buttonclick=null,this.columntype=null;this.cellsformat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.filteritems=[];this.resizable=true;this.initeditor=null;this.createeditor=null;this.createwidget=null;this.initwidget=null;this.destroywidget=null;this.destroyeditor=null;this.geteditorvalue=null;this.validation=null;this.classname="";this.cellclassname="";this.cellendedit=null;this.cellbeginedit=null;this.cellvaluechanging=null;this.aggregates=null;this.aggregatesrenderer=null;this.menu=true;this.createfilterwidget=null;this.filtertype="default";this.filtercondition=null;this.rendered=null;this.exportable=true;this.exporting=false;this.draggable=true;this.nullable=true;this.clipboard=true;this.selectable=false;this._applyStyle=function(){var f=this;if(f.hovered){if(f.style.headerBackgroundHoveredColor){f.element.style.backgroundColor=f.style.headerBackgroundHoveredColor}if(f.style.headerHoveredColor){f.element.style.color=f.style.headerHoveredColor}return}if(f.selected){if(f.style.headerBackgroundSelectedColor){f.element.style.backgroundColor=f.style.headerBackgroundSelectedColor}if(f.style.headerSelectedColor){f.element.style.color=f.style.headerSelectedColor}return}if(f.style.headerBackgroundColor){f.element.style.backgroundColor=f.style.headerBackgroundColor}else{f.element.style.backgroundColor=""}if(f.style.headerColor){f.element.style.color=f.style.headerColor}else{f.element.style.color=""}};this._applyCellStyle=function(f){var j=this;var g=false;if(f.length){for(var h=0;h<f.length;h++){this._applyCellStyle(f[h])}return}if(j.style.backgroundColor||j.style.color||j.style.hoveredColor||j.style.hoveredColor||j.style.backgroundSelectedColor||j.style.selectedColor){g=true}if(!g){return}if(f.className.indexOf("hover")>=0){if(j.style.backgroundHoveredColor){f.style.backgroundColor=j.style.backgroundHoveredColor}if(j.style.hoveredColor){f.style.color=j.style.hoveredColor}return}if(f.className.indexOf("selected")>=0){if(j.style.backgroundSelectedColor){f.style.backgroundColor=j.style.backgroundSelectedColor}if(j.style.selectedColor){f.style.color=j.style.selectedColor}return}if(j.style.backgroundColor){f.style.backgroundColor=j.style.backgroundColor}if(j.style.color){f.style.color=j.style.color}};this.style={headerBackgroundColor:"",headerColor:"",headerBackgroundHoveredColor:"",headerHoveredColor:"",headerBackgroundSelectedColor:"",headerSelectedColor:"",backgroundColor:"",color:"",backgroundHoveredColor:"",hoveredColor:"",backgroundSelectedColor:"",selectedColor:""};this.enabletooltips=true;this.columngroup=null;this.filterdelay=800;this.reseteverpresentrowwidgetvalue=null;this.geteverpresentrowwidgetvalue=null;this.createeverpresentrowwidget=null;this.initeverpresentrowwidget=null;this.validateeverpresentrowwidgetvalue=null;this.destroyeverpresentrowwidget=null;this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hideable:this.hideable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsformat:this.cellsformat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(f,g){if(this[f]){var h=this[f];this[f]=g;this.owner._columnPropertyChanged(this,f,g,h)}else{if(this[f.toLowerCase()]){var h=this[f.toLowerCase()];this[f.toLowerCase()]=g;this.owner._columnPropertyChanged(this,f.toLowerCase(),g,h)}}};this._initfields=function(g){if(g!=null){var f=this.that;if(b.jqx.hasProperty(g,"dataField")){this.datafield=b.jqx.get(g,"dataField")}if(b.jqx.hasProperty(g,"selectable")){this.selectable=b.jqx.get(g,"selectable")}if(b.jqx.hasProperty(g,"displayField")){this.displayfield=b.jqx.get(g,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(g,"enableTooltips")){this.enabletooltips=b.jqx.get(g,"enableTooltips")}if(b.jqx.hasProperty(g,"text")){this.text=b.jqx.get(g,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(g,"style")){this.style=b.jqx.get(g,"style")}if(b.jqx.hasProperty(g,"createfilterpanel")){this.createfilterpanel=b.jqx.get(g,"createfilterpanel")}if(b.jqx.hasProperty(g,"sortable")){this.sortable=b.jqx.get(g,"sortable")}if(b.jqx.hasProperty(g,"hideable")){this.hideable=b.jqx.get(g,"hideable")}if(b.jqx.hasProperty(g,"hidden")){this.hidden=b.jqx.get(g,"hidden")}if(b.jqx.hasProperty(g,"adaptivehidden")){this.adaptivehidden=b.jqx.get(g,"adaptivehidden")}if(b.jqx.hasProperty(g,"groupable")){this.groupable=b.jqx.get(g,"groupable")}if(b.jqx.hasProperty(g,"renderer")){this.renderer=b.jqx.get(g,"renderer")}if(b.jqx.hasProperty(g,"align")){this.align=b.jqx.get(g,"align")}if(b.jqx.hasProperty(g,"cellsAlign")){this.cellsalign=b.jqx.get(g,"cellsAlign")}if(b.jqx.hasProperty(g,"clipboard")){this.clipboard=b.jqx.get(g,"clipboard")}if(b.jqx.hasProperty(g,"cellsFormat")){this.cellsformat=b.jqx.get(g,"cellsFormat")}if(b.jqx.hasProperty(g,"width")){this.width=b.jqx.get(g,"width")}if(b.jqx.hasProperty(g,"minWidth")){this.minwidth=parseInt(b.jqx.get(g,"minWidth"));if(isNaN(this.minwidth)){this.minwidth=25}}if(b.jqx.hasProperty(g,"maxWidth")){this.maxwidth=parseInt(b.jqx.get(g,"maxWidth"));if(isNaN(this.maxwidth)){this.maxwidth="auto"}}if(b.jqx.hasProperty(g,"cellsRenderer")){this.cellsrenderer=b.jqx.get(g,"cellsRenderer")}else{if(g.cellsRenderer){this.cellsrenderer=g.cellsRenderer}}if(b.jqx.hasProperty(g,"columnType")){this.columntype=b.jqx.get(g,"columnType")}if(b.jqx.hasProperty(g,"checkChange")){this.checkchange=b.jqx.get(g,"checkChange")}if(b.jqx.hasProperty(g,"buttonClick")){this.buttonclick=b.jqx.get(g,"buttonClick")}else{if(g.buttonClick){this.buttonclick=g.buttonClick}}if(b.jqx.hasProperty(g,"pinned")){this.pinned=b.jqx.get(g,"pinned")}if(b.jqx.hasProperty(g,"visibleIndex")){this.visibleindex=b.jqx.get(g,"visibleIndex")}if(b.jqx.hasProperty(g,"filterable")){this.filterable=b.jqx.get(g,"filterable")}if(b.jqx.hasProperty(g,"filter")){this.filter=b.jqx.get(g,"filter")}if(b.jqx.hasProperty(g,"resizable")){this.resizable=b.jqx.get(g,"resizable")}if(b.jqx.hasProperty(g,"editable")){this.editable=b.jqx.get(g,"editable")}if(b.jqx.hasProperty(g,"initEditor")){this.initeditor=b.jqx.get(g,"initEditor")}else{if(g.initEditor){this.initeditor=g.initEditor}}if(b.jqx.hasProperty(g,"createEditor")){this.createeditor=b.jqx.get(g,"createEditor")}else{if(g.createEditor){this.createeditor=g.createEditor}}if(b.jqx.hasProperty(g,"initWidget")){this.initwidget=b.jqx.get(g,"initWidget")}else{if(g.initWidget){this.initwidget=g.initWidget}}if(b.jqx.hasProperty(g,"createWidget")){this.createwidget=b.jqx.get(g,"createWidget")}else{if(g.createWidget){this.createwidget=g.createWidget}}if(b.jqx.hasProperty(g,"destroyWidget")){this.destroywidget=b.jqx.get(g,"destroyWidget")}else{if(g.destroyWidget){this.destroywidget=g.destroyWidget}}if(b.jqx.hasProperty(g,"reseteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"reseteverpresentrowwidgetvalue")){this.reseteverpresentrowwidgetvalue=b.jqx.get(g,"reseteverpresentrowwidgetvalue")}else{if(g.resetEverPresentRowWidgetValue){this.reseteverpresentrowwidgetvalue=g.resetEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"geteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"geteverpresentrowwidgetvalue")){this.geteverpresentrowwidgetvalue=b.jqx.get(g,"geteverpresentrowwidgetvalue")}else{if(g.getEverPresentRowWidgetValue){this.geteverpresentrowwidgetvalue=g.getEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"createeverpresentrowwidget")||b.jqx.hasFunction(g,"createeverpresentrowwidget")){this.createeverpresentrowwidget=b.jqx.get(g,"createeverpresentrowwidget")}else{if(g.createEverPresentRowWidget){this.createeverpresentrowwidget=g.createEverPresentRowWidget}}if(b.jqx.hasProperty(g,"initeverpresentrowwidget")||b.jqx.hasFunction(g,"initeverpresentrowwidget")){this.initeverpresentrowwidget=b.jqx.get(g,"initeverpresentrowwidget")}else{if(g.initEverPresentRowWidget){this.initeverpresentrowwidget=g.initEverPresentRowWidget}}if(b.jqx.hasProperty(g,"validateeverpresentrowwidgetvalue")){this.validateeverpresentrowwidgetvalue=b.jqx.get(g,"validateeverpresentrowwidgetvalue")}else{if(g.validateEverPresentRowWidgetValue){this.validateeverpresentrowwidgetvalue=g.validateEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"destroyeverpresentrowwidget")||b.jqx.hasFunction(g,"destroyeverpresentrowwidget")){this.destroyeverpresentrowwidget=b.jqx.get(g,"destroyeverpresentrowwidget")}else{if(g.destroyEverPresentRowWidget){this.destroyEverPresentRowWidget=g.destroyEverPresentRowWidget}}if(b.jqx.hasProperty(g,"destroyEditor")){this.destroyeditor=b.jqx.get(g,"destroyEditor")}else{if(g.destroyEditor){this.destroyeditor=g.destroyEditor}}if(b.jqx.hasProperty(g,"getEditorValue")){this.geteditorvalue=b.jqx.get(g,"getEditorValue")}else{if(g.getEditorValue){this.geteditorvalue=g.getEditorValue}}if(b.jqx.hasProperty(g,"validation")){this.validation=b.jqx.get(g,"validation")}else{if(g.validation){this.validation=g.validation}}if(b.jqx.hasProperty(g,"cellBeginEdit")){this.cellbeginedit=b.jqx.get(g,"cellBeginEdit")}else{if(g.cellBeginEdit){this.cellbeginedit=g.cellBeginEdit}}if(b.jqx.hasProperty(g,"cellEndEdit")){this.cellendedit=b.jqx.get(g,"cellEndEdit")}else{if(g.cellEndEdit){this.cellendedit=g.cellEndEdit}}if(b.jqx.hasProperty(g,"className")){this.classname=b.jqx.get(g,"className")}if(b.jqx.hasProperty(g,"cellClassName")){this.cellclassname=b.jqx.get(g,"cellClassName")}else{if(g.cellClassName){this.cellclassname=g.cellClassName}}if(b.jqx.hasProperty(g,"menu")){this.menu=b.jqx.get(g,"menu")}if(b.jqx.hasProperty(g,"aggregates")){this.aggregates=b.jqx.get(g,"aggregates")}if(b.jqx.hasProperty(g,"aggregatesRenderer")){this.aggregatesrenderer=b.jqx.get(g,"aggregatesRenderer")}if(b.jqx.hasProperty(g,"createFilterWidget")){this.createfilterwidget=b.jqx.get(g,"createFilterWidget")}if(b.jqx.hasProperty(g,"filterType")){this.filtertype=b.jqx.get(g,"filterType")}if(b.jqx.hasProperty(g,"filterDelay")){this.filterdelay=b.jqx.get(g,"filterDelay")}if(b.jqx.hasProperty(g,"rendered")){this.rendered=b.jqx.get(g,"rendered")}if(b.jqx.hasProperty(g,"exportable")){this.exportable=b.jqx.get(g,"exportable")}if(b.jqx.hasProperty(g,"filterItems")){this.filteritems=b.jqx.get(g,"filterItems")}if(b.jqx.hasProperty(g,"cellValueChanging")){this.cellvaluechanging=b.jqx.get(g,"cellValueChanging")}if(b.jqx.hasProperty(g,"draggable")){this.draggable=b.jqx.get(g,"draggable")}if(b.jqx.hasProperty(g,"filterCondition")){this.filtercondition=b.jqx.get(g,"filterCondition")}if(b.jqx.hasProperty(g,"threeStateCheckbox")){this.threestatecheckbox=b.jqx.get(g,"threeStateCheckbox")}if(b.jqx.hasProperty(g,"nullable")){this.nullable=b.jqx.get(g,"nullable")}if(b.jqx.hasProperty(g,"columnGroup")){this.columngroup=b.jqx.get(g,"columnGroup")}if(!g instanceof String&&!(typeof g=="string")){for(var h in g){if(!f.hasOwnProperty(h)){if(!f.hasOwnProperty(h.toLowerCase())){d.host.remove();throw new Error("jqxGrid: Invalid property name - "+h+".")}}}}}};this._initfields(e);return this}function a(d,e){this.setdata=function(f){if(f!=null){this.bounddata=f;this.boundindex=f.boundindex;this.visibleindex=f.visibleindex;this.group=f.group;this.parentbounddata=f.parentItem;this.uniqueid=f.uniqueid;this.level=f.level}};this.setdata(e);this.parentrow=null;this.subrows=new Array();this.owner=d;this.height=25;this.hidden=false;this.rowdetails=null;this.rowdetailsheight=100;this.rowdetailshidden=true;this.top=-1;this.setrowinfo=function(f){this.hidden=f.hidden;this.rowdetails=f.rowdetails;this.rowdetailsheight=f.rowdetailsheight;this.rowdetailshidden=!f.showdetails;this.height=f.height};return this}b.jqx.collection=function(d){this.records=new Array();this.owner=d;this.updating=false;this.beginupdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this._raiseEvent=function(e){};this.clear=function(){this.records=new Array()};this.replace=function(f,e){this.records[f]=e;if(!this.updating){this._raiseEvent({type:"replace",element:e})}};this.isempty=function(e){if(this.records[e]==undefined){return true}return false};this.initialize=function(e){if(e<1){e=1}this.records[e-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(e){return this.records.indexOf(e)};this.add=function(e){if(e==null){return false}this.records[this.records.length]=e;if(!this.updating){this._raiseEvent({type:"add",element:e})}return true};this.insertAt=function(f,e){if(f==null||f==undefined){return false}if(e==null){return false}if(f>=0){if(f<this.records.length){this.records.splice(f,0,e);if(!this.updating){this._raiseEvent({type:"insert",index:f,element:e})}return true}else{return this.add(e)}}return false};this.remove=function(f){if(f==null||f==undefined){return false}var e=this.records.indexOf(f);if(e!=-1){this.records.splice(e,1);if(!this.updating){this._raiseEvent({type:"remove",element:f})}return true}return false};this.removeAt=function(f){if(f==null||f==undefined){return false}if(f<0){return false}if(f<this.records.length){var e=this.records[f];this.records.splice(f,1);if(!this.updating){this._raiseEvent({type:"removeAt",index:f,element:e})}return true}return false};return this};b.jqx.dataview=function(){this.self=this;this.aggregates=false;this.grid=null;this.uniqueId="id";this.records=[];this.rows=[];this.columns=[];this.groups=[];this.filters=new Array();this.updated=null;this.update=null;this.suspend=false;this.pagesize=0;this.pagenum=0;this.totalrows=0;this.totalrecords=0;this.groupable=true;this.loadedrecords=[];this.loadedrootgroups=[];this.loadedgroups=[];this.loadedgroupsByKey=[];this.virtualmode=true;this._cachegrouppages=new Array();this.source=null;this.changedrecords=new Array();this.rowschangecallback=null;this.that=this;this.destroy=function(){delete this.self;delete this.grid;delete this.uniqueId;delete this.records;delete this.rows;delete this.columns;delete this.groups;delete this.filters;delete this.updated;delete this.update;delete this.suspend;delete this.pagesize;delete this.pagenum;delete this.totalrows;delete this.totalrecords;delete this.groupable;delete this.loadedrecords;delete this.loadedrootgroups;delete this.loadedgroups;delete this.loadedgroupsByKey;delete this.virtualmode;delete this._cachegrouppages;delete this.source;delete this.changedrecords;delete this.rowschangecallback;delete this.that},this.suspendupdate=function(){this.suspend=true},this.isupdating=function(){return this.suspend},this.resumeupdate=function(d){this.suspend=false;if(d==undefined){d=true}this.refresh(d)},this.getrecords=function(){return this.records},this.clearrecords=function(){this.recordids=new Array()};this.databind=function(y,p){var w=y._source?true:false;var h=null;if(this.grid){this.aggregates=this.grid.showgroupaggregates}if(w){h=y;y=y._source}else{h=new b.jqx.dataAdapter(y,{autoBind:false})}var f=function(m){h.recordids=[];h.records=new Array();h.cachedrecords=new Array();h.originaldata=new Array();h._options.virtualmode=m.virtualmode;h._options.totalrecords=m.totalrecords;h._options.originaldata=m.originaldata;h._options.recordids=m.recordids;h._options.cachedrecords=new Array();h._options.pagenum=m.pagenum;h._options.pageable=m.pageable;if(y.type!=undefined){h._options.type=y.type}if(y.formatdata!=undefined){h._options.formatData=y.formatdata}if(y.contenttype!=undefined){h._options.contentType=y.contenttype}if(y.async!=undefined){h._options.async=y.async}if(y.updaterow!=undefined){h._options.updaterow=y.updaterow}if(y.addrow!=undefined){h._options.addrow=y.addrow}if(y.deleterow!=undefined){h._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}h._options.pagesize=m.pagesize};var B=function(I){I.totalrecords=h.totalrecords;if(!I.virtualmode){I.originaldata=h.originaldata;I.records=h.records;I.recordids=h.recordids;I.cachedrecords=h.cachedrecords}else{var m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)};if(y.recordstartindex!=undefined){m.startindex=parseInt(y.recordstartindex)}if(y.recordendindex!=undefined){m.endindex=parseInt(y.recordendindex)}else{if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}}if(!y.recordendindex){if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}else{m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)}}}m.data=h.records;if(I.grid.rendergridrows&&I.totalrecords>0){var J=0;y.records=I.grid.rendergridrows(m);if(y.records.length){J=y.records.length}if(y.records&&!y.records[m.startindex]){var K=new Array();var H=m.startindex;b.each(y.records,function(){K[H]=this;H++;J++});y.records=K}if(J==0){if(y.records){b.each(y.records,function(){J++})}}if(J>0&&J<m.endindex-m.startindex&&!I.grid.groupable){var x=y.records[0];for(var q=0;q<m.endindex-m.startindex-J;q++){var L={};for(var o in x){L[o]=""}if(y.records.push){y.records.push(L)}}}}if(!y.records||I.totalrecords==0){y.records=new Array()}I.originaldata=y.records;I.records=y.records;I.cachedrecords=y.records}};f(this);this.source=y;if(p!==undefined){var k=p}var G=this.that;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){if(o!=undefined&&o!=""){var q=h._changedrecords[0];if(q){var x=new Array();b.each(h._changedrecords,function(K){var H=this.index;var I=this.record;G.grid._updateFromAdapter=true;switch(o){case"update":var J=G.grid.getrowid(H);if(K==h._changedrecords.length-1){G.grid.updaterow(J,I)}else{G.grid.updaterow(J,I,false)}G.grid._updateFromAdapter=false;return;case"add":G.grid.addrow(null,I);G.grid._updateFromAdapter=false;return;case"remove":var J=G.grid.getrowid(H);x.push(J);return}});if(x.length>0){G.grid.deleterow(x,false);G.grid._updateFromAdapter=false}}if(o=="update"){return}}var m=G.totalrecords;B(G,o);if(y.localdata.notifier===null&&y.localdata.name=="observableArray"){y.localdata.notifier=function(L){if(this._updating){return}this._updating=true;var K=G.grid.getrowid(L.index);switch(L.type){case"add":var H=b.extend({},L.object[L.index]);var J=h.getid(y.id,H,L.index);if(L.index===0){G.grid.addrow(J,H,"first")}else{G.grid.addrow(J,H)}break;case"delete":G.grid.deleterow(K);break;case"update":if(L.path&&L.path.split(".").length>1){var I=L.path.split(".");G.grid.setcellvalue(L.index,I[I.length-1],L.newValue)}else{var H=b.extend({},L.object[L.index]);G.grid.updaterow(K,H)}break}this._updating=false}}if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&this.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){var m=G.totalrecords;B(G);if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<this.filters.length;j++){var g=this.filters[j].datafield;var l=this.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[g+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=g;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var d=this.grid.getcolumn(i[A].datafield);if(d&&d.cellsformat){var z=this.grid.source.formatDate(i[A].value,d.cellsformat,this.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=g;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=g;t.type=i[A].type;var e=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==g){r.filters.push(t);e=true;break}}}if(!e){C.push({field:g,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterscount=v;E.groupscount=G.groups.length;for(var j=0;j<G.groups.length;j++){E["group"+j]=G.groups[j]}if(y.recordstartindex==undefined){y.recordstartindex=0}if(y.recordendindex==undefined||y.recordendindex==0){if(G.grid.height&&G.grid.height.toString().indexOf("%")==-1){y.recordendindex=parseInt(G.grid.height)/G.grid.rowsheight;y.recordendindex+=2;y.recordendindex=parseInt(y.recordendindex)}else{y.recordendindex=b(window).height()/G.grid.rowsheight;y.recordendindex=parseInt(y.recordendindex)}if(this.pageable){y.recordendindex=this.pagesize}}if(this.pageable){y.recordstartindex=(this.pagenum)*this.pagesize;y.recordendindex=(this.pagenum+1)*this.pagesize}b.extend(E,{sortdatafield:G.sortfield,sortorder:G.sortfielddirection,pagenum:G.pagenum,pagesize:G.grid.pagesize,recordstartindex:y.recordstartindex,recordendindex:y.recordendindex});var F=h._options.data;if(h._options.data){b.extend(h._options.data,E)}else{if(y.data){b.extend(E,y.data)}h._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){var x=G.totalrecords;B(G);if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(x!=G.totalrecords)};if(o){try{q()}catch(m){}}else{q()}};h.unbindDownloadComplete(G.grid.element.id);h.bindDownloadComplete(G.grid.element.id,n);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}else{if(!G.grid.isInitialized&&!G.grid.autobind){n()}}h._options.data=F}};this.getid=function(g,e,f){if(b(g,e).length>0){return b(g,e).text()}if(g){if(g.toString().length>0){var d=b(e).attr(g);if(d!=null&&d.toString().length>0){return d}}}return f};this.getvaluebytype=function(g,d){var e=g;if(d.type=="date"){var f=new Date(g);if(f.toString()=="NaN"||f.toString()=="Invalid Date"){if(b.jqx.dataFormat){g=b.jqx.dataFormat.tryparsedate(g)}else{g=f}}else{g=f}if(g==null){g=e}}else{if(d.type=="float"){var g=parseFloat(g);if(isNaN(g)){g=e}}else{if(d.type=="int"){var g=parseInt(g);if(isNaN(g)){g=e}}else{if(d.type=="bool"){if(g!=null){if(g.toLowerCase()=="false"){g=false}else{if(g.toLowerCase()=="true"){g=true}}}if(g==1){g=true}else{if(g==0){g=false}else{g=""}}}}}}return g};this.setpaging=function(d){if(d.pageSize!=undefined){this.pagesize=d.pageSize}if(d.pageNum!=undefined){this.pagenum=Math.min(d.pageNum,Math.ceil(this.totalrows/this.pagesize))}this.refresh()};this.getpagingdetails=function(){return{pageSize:this.pagesize,pageNum:this.pagenum,totalrows:this.totalrows}};this._clearcaches=function(){this.sortcache={};this.sortdata=null;this.changedrecords=new Array();this.records=new Array();this.rows=new Array();this.cacheddata=new Array();this.originaldata=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid=new Array();this.cachedrecords=new Array();this.recordids=new Array()};this.addfilter=function(g,f){var e=-1;for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==g){e=d;break}}if(e==-1){this.filters[this.filters.length]={filter:f,datafield:g}}else{this.filters[e]={filter:f,datafield:g}}};this.removefilter=function(e){for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==e){this.filters.splice(d,1);break}}};this.getItemFromIndex=function(d){return this.records[d]};this.updaterow=function(d,n,l){var e=this.filters&&this.filters.length>0&&!this.virtualmode;if(!e&&n!=undefined&&d!=undefined){n.uid=d;if(!(n[this.source.id])){n[this.source.id]=n.uid}var j=this.recordsbyid["id"+d];var k=this.records.indexOf(j);if(k==-1){return false}this.records[k]=n;if(this.cachedrecords){this.cachedrecords[k]=n}if(l==true||l==undefined){this.refresh()}this.changedrecords[n.uid]={Type:"Update",OldData:j,Data:n};return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var j=null;var k=-1;for(var h=0;h<f.length;h++){if(f[h].uid==d){j=f[h];k=h;break}}if(j){var m=this.that;for(var g in n){m.cachedrecords[k][g]=n[g]}if(l==true||l==undefined){this.refresh()}return true}}}return false};this.addrow=function(h,i,d,g){if(i!=undefined){if(b.isEmptyObject(i)){if(this.source&&this.source.datafields){b.each(this.source.datafields,function(){var j="";if(this.type=="number"){j=null}if(this.type=="date"){j=null}if(this.type=="bool"||this.type=="boolean"){j=false}i[this.name]=j})}}if(!h||this.recordsbyid["id"+h]){i.uid=this.getid(this.source.id,i,this.totalrecords);var e=this.recordsbyid["id"+i.uid];while(e!=null){var f=Math.floor(Math.random()*10000).toString();i.uid=f;e=this.recordsbyid["id"+f]}}else{i.uid=h}if(!(i[this.source.id])){if(this.source.id!=undefined){i[this.source.id]=i.uid}}if(d=="last"){this.records.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.records.splice(d,0,i)}else{this.records.splice(0,0,i)}}if(this.filters&&this.filters.length>0){if(d=="last"){this.cachedrecords.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.cachedrecords.splice(d,0,i)}else{this.cachedrecords.splice(0,0,i)}}}this.totalrecords++;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(g==true||g==undefined){this.refresh()}this.changedrecords[i.uid]={Type:"New",Data:i};return true}return false};this.deleterow=function(j,h){if(j!=undefined){var d=this.filters&&this.filters.length>0;if(this.recordsbyid["id"+j]&&!d){var e=this.recordsbyid["id"+j];var k=this.records.indexOf(e);if(this.grid&&this.grid.sortable&&this.grid.sortmode=="many"){for(var g=0;g<this.records.length;g++){if(this.records[g].boundindex===e.boundindex){k=g;break}}}this.changedrecords[j]={Type:"Delete",Data:this.records[k]};this.records.splice(k,1);this.totalrecords--;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(h==true||h==undefined){this.refresh()}return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var e=null;var k=-1;for(var g=0;g<f.length;g++){if(f[g].uid==j){e=f[g];k=g;break}}if(e){this.cachedrecords.splice(k,1);if(h==true||h==undefined){this.totalrecords=0;this.records=this.cachedrecords;this.refresh()}return true}}}return false}return false};this.reload=function(f,d,r,g,h,u,t){var m=this.that;var l=new Array();var o=f;var i=d;var j=r;var p=g;var k=i.length;var w=0;var e=0;var s,n;this.columns=[];this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid={};if(this.totalrecords==0){Object.size=function(z){var y=0,x;for(x in z){if(z.hasOwnProperty(x)){y++}}return y};var v=Object.size(o);this.totalrecords=v;b.each(this.records,function(y){var z=this;var x=0;b.each(z,function(A,B){m.columns[x++]=A});return false})}if(this.virtualmode){if(this.pageable){this.updateview();return}var u=0;if(!this.groupable){this.updateview();return}else{var t=this.totalrecords}}else{var u=0;var t=this.totalrecords}if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){var q=u;q=this.loadgrouprecords(0,u,t,j,e,p,i,k,l)}else{w=this.loadflatrecords(u,t,j,e,p,i,k,l)}if(k>e){i.splice(e,k-e)}if(this.groups.length>0&&this.groupable){this.totalrows=q}else{this.totalrows=w}return l};this.loadflatrecords=function(u,r,h,d,p,g,j,l){var m=this.that;var o=u;var v=u;r=Math.min(r,this.totalrecords);var f=this.sortdata!=null;var s=this.source.id&&(this.source.datatype=="local"||this.source.datatype=="array"||this.source.datatype=="");var t=f?this.sortdata:this.records;for(var k=u;k<r;k++){var q={};if(!f){q=new Object(t[k]);var n=q[m.uniqueId];q.boundindex=o;m.loadedrecords[o]=q;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,o)}m.recordsbyid["id"+q.uid]=t[k];q.uniqueid=m.generatekey();m.bounditems[this.bounditems.length]=q}else{q=b.extend({},t[k].value);var n=q[m.uniqueId];q.boundindex=t[k].index;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,q.boundindex)}m.recordsbyid["id"+q.uid]=t[k].value;m.loadedrecords[o]=q;q.uniqueid=m.generatekey();m.bounditems[q.boundindex]=q}if(d>=j||n!=g[d][m.uniqueId]||(p&&p[n])){l[l.length]=d}g[d]=q;d++;q.visibleindex=v;v++;o++}if(m.grid.summaryrows){var e=o;b.each(m.grid.summaryrows,function(){var i=b.extend({},this);i.boundindex=r++;m.loadedrecords[e]=i;i.uniqueid=m.generatekey();m.bounditems[m.bounditems.length]=i;g[d]=i;d++;i.visibleindex=v;v++;e++})}return v},this.updateview=function(o,p){var r=this.that;var k=this.pagesize*this.pagenum;var n=0;var s=new Array();var e=this.filters;var j=this.updated;var l=s.length;if(this.pageable){if(this.virtualmode){if(!this.groupable||this.groups.length==0){this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[]);this.totalrows=s.length}else{if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){if(this._cachegrouppages[this.pagenum+"_"+this.pagesize]!=undefined){this.rows=this._cachegrouppages[this.pagenum+"_"+this.pagesize];this.totalrows=this.rows.length;return}var m=this.pagesize*(1+this.pagenum);if(m>this.totalrecords){m=this.totalrecords}this.loadgrouprecords(0,this.pagesize*this.pagenum,m,e,n,j,s,l,[]);this._cachegrouppages[this.pagenum+"_"+this.pagesize]=this.rows;this.totalrows=this.rows.length;return}}}}else{if(this.virtualmode&&(!this.groupable||this.groups.length==0)){var g=this.pagesize;if(g==0){g=Math.min(100,this.totalrecords)}var d=g*this.pagenum;if(this.loadedrecords.length==0){d=0}if(o!=null&&p!=null){this.loadflatrecords(o,p,e,n,j,s,l,[])}else{this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[])}this.totalrows=this.loadedrecords.length;this.rows=s;if(s.length>=g){return}}}if(this.groupable&&this.pageable&&this.groups.length>0&&this._updategroupsinpage){s=this._updategroupsinpage(r,e,k,n,l,this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum))}else{for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum);h++){var q=h<this.loadedrecords.length?this.loadedrecords[h]:null;if(q==null){continue}if(!this.pagesize||(k>=this.pagesize*this.pagenum&&k<=this.pagesize*(this.pagenum+1))){s[n]=q;n++}k++}}if((s.length==0||s.length<this.pagesize)&&!this.pageable&&this.virtualmode){n=s.length;var f=s.length;for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum)-f;h++){var q={};q.boundindex=h+f;q.visibleindex=h+f;q.uniqueid=r.generatekey();q.empty=true;r.bounditems[h+f]=q;s[n]=q;n++}}this.rows=s};this.generatekey=function(){var d=function(){return(((1+Math.random())*16)|0)};return(""+d()+d()+"-"+d()+"-"+d()+"-"+d()+"-"+d()+d()+d())};this.reloaddata=function(){this.reload(this.records,this.rows,this.filter,this.updated,true)};this.refresh=function(m){if(this.suspend){return}if(m==undefined){m=true}var g=this.rows.length;var B=this.totalrows;if(this.filters.length>0&&!this.virtualmode){var q="";var f=this.cachedrecords.length;var k=new Array();this.totalrecords=0;var A=this.cachedrecords;this._dataIndexToBoundIndex=new Array();var s=this.filters.length;if(this.source!=null&&this.source.filter!=undefined&&this.source.localdata!=undefined){k=this.source.filter(this.filters,A,f);if(k==undefined){k=new Array()}this.records=k}else{if(this.source.filter==null||this.source.filter==undefined){for(var l=0;l<f;l++){var h=A[l];var w=undefined;for(var v=0;v<s;v++){var q=this.filters[v].filter;var t=h[this.filters[v].datafield];var p=q.evaluate(t);if(this.grid.filter){var z=this.grid.filter(t,h,this.filters[v].datafield,q,p);if(z!==undefined){p=z}}if(w==undefined){w=p}else{if(q.operator=="or"){w=w||p}else{w=w&&p}}}if(w){k[k.length]=b.extend({dataindex:l},h);this._dataIndexToBoundIndex[l]={boundindex:k.length-1}}else{this._dataIndexToBoundIndex[l]=null}}this.records=k}}if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var y=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,y);return}}else{var d=this.grid.getsortcolumns();for(var x=0;x<d.length;x++){var o=d[x];var u=o.dataField;this.grid.sortby(u,o.ascending,null)}return}}}else{if(this.filters.length==0&&!this.virtualmode){if(this.cachedrecords){this.totalrecords=0;var A=this.cachedrecords;this.records=A;if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var y=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,y);return}}else{var d=this.grid.getsortcolumns();for(var x=0;x<d.length;x++){var o=d[x];var u=o.dataField;this.grid.sortby(u,o.ascending,null)}return}}}}}var r=this.reload(this.records,this.rows,this.filter,this.updated,m);this.updated=null;if(this.rowschangecallback!=null){var n=this.rows;if(B!=this.totalrows){this.rowschangecallback({type:"PagingChanged",data:this.getpagingdetails()})}if(g!=n.length){this.rowschangecallback({type:"RowsCountChanged",data:{previous:g,current:n.length}})}if(r.length>0||g!=n.length){this.rowschangecallback({type:"RowsChanged",data:{previous:g,current:n.length,diff:r}})}}};return this}})(jqxBaseFramework);
+(function(b){b.jqx.jqxWidget("jqxGrid","",{});b.extend(b.jqx._jqxGrid.prototype,{defineInstance:function(){var d={adaptive:false,adaptivewidth:600,disabled:false,width:600,height:400,pagerheight:40,groupsheaderheight:34,pagesize:10,pagesizeoptions:["5","10","20"],rowsheight:32,columnsheight:32,filterrowheight:36,groupindentwidth:30,rowdetails:false,enablerowdetailsindent:true,enablemousewheel:true,initrowdetails:null,layoutrowdetails:null,editable:false,editmode:"selectedcell",pageable:false,pagermode:"default",pagerbuttonscount:5,groupable:false,sortable:false,sortmode:"one",filterable:false,filtermode:"default",autoshowfiltericon:true,showfiltercolumnbackground:true,showpinnedcolumnbackground:true,showsortcolumnbackground:true,altrows:false,altstart:1,altstep:1,showrowdetailscolumn:true,showrowlines:true,showcolumnlines:true,showcolumnheaderlines:true,showtoolbar:false,toolbarheight:36,showstatusbar:false,statusbarheight:36,enableellipsis:true,groups:[],groupsrenderer:null,groupcolumnrenderer:null,groupsexpandedbydefault:false,pagerrenderer:null,touchmode:"auto",columns:[],selectedrowindex:-1,selectedrowindexes:new Array(),selectedcells:new Array(),autobind:true,selectedcell:null,tableZIndex:79,headerZIndex:29,updatefilterconditions:null,showgroupaggregates:false,showaggregates:false,showfilterrow:false,showeverpresentrow:false,everpresentrowposition:"top",everpresentrowactions:"add reset",everpresentrowactionsmode:"buttons",everpresentrowheight:30,autorowheight:false,autokoupdates:true,handlekeyboardnavigation:null,showsortmenuitems:true,showfiltermenuitems:true,showgroupmenuitems:true,enablebrowserselection:false,enablekeyboarddelete:true,clipboard:true,clipboardbegin:null,clipboardend:null,copytoclipboardwithheaders:false,copytoclipboardhiddencolumns:false,ready:null,updatefilterpanel:null,autogeneratecolumns:false,rowdetailstemplate:null,scrollfeedback:null,rendertoolbar:null,renderstatusbar:null,rendered:null,multipleselectionbegins:null,columngroups:null,cellhover:null,source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},filter:null,dataview:null,updatedelay:null,autoheight:false,autowidth:false,showheader:true,showgroupsheader:true,closeablegroups:true,scrollbarsize:b.jqx.utilities.scrollBarSize,touchscrollbarsize:b.jqx.utilities.touchScrollBarSize,scrollbarautoshow:b.jqx.utilities.scrollBarAutoShow,virtualmode:false,sort:null,columnsmenu:true,columnsresize:false,columnsautoresize:true,columnsreorder:false,columnsmenuwidth:16,autoshowcolumnsmenubutton:true,showcolumnsactionbutton:false,popupwidth:"auto",popupheight:"auto",columnmenuopening:null,columnmenuclosing:null,sorttogglestates:2,rendergridrows:null,enableanimations:true,enablecolumnsvirtualization:true,enabletooltips:false,selectionmode:"singlerow",enablehover:true,loadingerrormessage:"The data is still loading. When the data binding is completed, the Grid raises the 'bindingcomplete' event. Call this function in the 'bindingcomplete' event handler.",verticalscrollbarstep:30,verticalscrollbarlargestep:400,horizontalscrollbarstep:10,horizontalscrollbarlargestep:50,keyboardnavigation:true,keyboardmenunavigation:true,touchModeStyle:"auto",autoshowloadelement:true,showdefaultloadelement:true,showemptyrow:true,autosavestate:false,autoloadstate:false,_updating:false,_pagescache:new Array(),_pageviews:new Array(),_cellscache:new Array(),_rowdetailscache:new Array(),_rowdetailselementscache:new Array(),_requiresupdate:false,_hasOpenedMenu:false,scrollmode:"physical",deferreddatafields:null,localization:null,rtl:false,menuitemsarray:[],charting:{appendTo:null,colorScheme:"scheme02",dialog:{header:"Data Visualization",height:400,width:400,position:"center",enabled:true},ready:null,formatSettings:{}},events:["initialized","rowClick","rowSelect","rowUnselect","groupExpand","groupCollapse","sort","columnClick","cellClick","pageChanged","pageSizeChanged","bindingComplete","groupsChanged","filter","columnResized","cellSelect","cellUnselect","cellBeginEdit","cellEndEdit","cellValueChanged","rowExpand","rowCollapse","rowDoubleClick","cellDoubleClick","columnReordered","pageChanging"]};if(this===b.jqx._jqxGrid.prototype){return d}b.extend(true,this,d);return d},createInstance:function(i){this.that=this;var h=this;h.pagesize=parseInt(h.pagesize);h.toolbarheight=parseInt(h.toolbarheight);h.columnsheight=parseInt(h.columnsheight);h.filterrowheight=parseInt(h.filterrowheight);h.statusbarheight=parseInt(h.statusbarheight);h.groupsheaderheight=parseInt(h.groupsheaderheight);h.detailsVisibility=new Array();h.savedArgs=i&&i.length>0?i[0]:null;var g="<div class='jqx-clear jqx-border-reset jqx-overflow-hidden jqx-max-size jqx-position-relative'><div tabindex='1' class='jqx-clear jqx-max-size jqx-position-relative jqx-overflow-hidden jqx-background-reset' id='wrapper"+h.element.id+"'><div class='jqx-clear jqx-position-absolute' id='toolbar' style='visibility: hidden;'></div><div class='jqx-clear jqx-position-absolute' id='groupsheader' style='visibility: hidden;'></div><div class='jqx-clear jqx-overflow-hidden jqx-position-absolute jqx-border-reset jqx-background-reset' id='content"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='verticalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='horizontalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute jqx-border-reset' id='bottomRight'></div><div class='jqx-clear jqx-position-absolute' id='addrow'></div><div class='jqx-clear jqx-position-absolute' id='statusbar'></div><div class='jqx-clear jqx-position-absolute' id='pager' style='z-index: 20;'></div></div></div>";h.element.innerHTML="";if(h.source){if(!h.source.dataBind){if(!b.jqx.dataAdapter){throw new Error("jqxGrid: Missing reference to jqxdata.js")}h.source=new b.jqx.dataAdapter(h.source)}var e=h.source._source.datafields;if(e&&e.length>0){h.editmode=h.editmode.toLowerCase();h.selectionmode=h.selectionmode.toLowerCase()}}h.host.attr("role","grid");h.host.attr("align","left");h.element.innerHTML=g;h.host.addClass(h.toTP("jqx-grid"));h.host.addClass(h.toTP("jqx-reset"));h.host.addClass(h.toTP("jqx-rc-all"));h.host.addClass(h.toTP("jqx-widget"));h.host.addClass(h.toTP("jqx-widget-content"));h.wrapper=h.host.find("#wrapper"+h.element.id);h.content=h.host.find("#content"+h.element.id);h.content.addClass(h.toTP("jqx-reset"));var n=h.host.find("#verticalScrollBar"+h.element.id);var r=h.host.find("#horizontalScrollBar"+h.element.id);h.bottomRight=h.host.find("#bottomRight").addClass(h.toTP("jqx-grid-bottomright jqx-scrollbar-state-normal"));if(!n.jqxScrollBar){throw new Error("jqxGrid: Missing reference to jqxscrollbar.js");return}h.editors=new Array();h.vScrollBar=n.jqxScrollBar({vertical:true,rtl:h.rtl,touchMode:h.touchmode,step:h.verticalscrollbarstep,largestep:h.verticalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.hScrollBar=r.jqxScrollBar({vertical:false,rtl:h.rtl,touchMode:h.touchmode,step:h.horizontalscrollbarstep,largestep:h.horizontalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.addnewrow=h.host.find("#addrow");h.addnewrow[0].id="addrow"+h.element.id;h.addnewrow.addClass(h.toTP("jqx-widget-header"));h.pager=h.host.find("#pager");h.pager[0].id="pager"+h.element.id;h.toolbar=h.host.find("#toolbar");h.toolbar[0].id="toolbar"+h.element.id;h.toolbar.addClass(h.toTP("jqx-grid-toolbar"));h.toolbar.addClass(h.toTP("jqx-widget-header"));h.statusbar=h.host.find("#statusbar");h.statusbar[0].id="statusbar"+h.element.id;h.statusbar.addClass(h.toTP("jqx-grid-statusbar"));h.statusbar.addClass(h.toTP("jqx-widget-header"));h.pager.addClass(h.toTP("jqx-grid-pager"));h.pager.addClass(h.toTP("jqx-widget-header"));h.groupsheader=h.host.find("#groupsheader");h.groupsheader.addClass(h.toTP("jqx-grid-groups-header"));h.groupsheader.addClass(h.toTP("jqx-widget-header"));h.groupsheader[0].id="groupsheader"+h.element.id;h.vScrollBar.css("visibility","hidden");h.hScrollBar.css("visibility","hidden");h.vScrollInstance=b.data(h.vScrollBar[0],"jqxScrollBar").instance;h.hScrollInstance=b.data(h.hScrollBar[0],"jqxScrollBar").instance;h.gridtable=null;h.isNestedGrid=h.host.parent()?h.host.parent().css("z-index")==299:false;h.touchdevice=h.isTouchDevice();if(h.localizestrings){h.localizestrings();if(h.localization!=null){h.localizestrings(h.localization,false)}}if(h.rowdetailstemplate&&typeof h.rowdetailstemplate!=="function"){if(undefined==h.rowdetailstemplate.rowdetails){h.rowdetailstemplate.rowdetails="<div></div>"}if(undefined==h.rowdetailstemplate.rowdetailsheight){h.rowdetailstemplate.rowdetailsheight=200}if(undefined==h.rowdetailstemplate.rowdetailshidden){h.rowdetailstemplate.rowdetailshidden=true}}if(h.showfilterrow&&!h.filterable){throw new Error('jqxGrid: "showfilterrow" requires setting the "filterable" property to true!');h.host.remove();return}if(h.autorowheight&&!h.autoheight&&!h.pageable){throw new Error('jqxGrid: "autorowheight" requires setting the "autoheight" or "pageable" property to true!');h.host.remove();return}if(h.virtualmode&&h.rendergridrows==null){throw new Error('jqxGrid: "virtualmode" requires setting the "rendergridrows"!');h.host.remove();return}if(h.virtualmode&&!h.pageable&&h.groupable){throw new Error('jqxGrid: "grouping" in "virtualmode" without paging is not supported!');h.host.remove();return}if(h._testmodules()){return}h._builddataloadelement();h._cachedcolumns=h.columns;if(h.columns&&h.columns.length>h.headerZIndex){h.headerZIndex=h.columns.length+100}if(h.theme&&h.theme.indexOf("material")>=0){var o=b("<span>Test</span>");var f=b("<span>Test</span>");o.addClass(h.toTP("jqx-grid-row-cell"));f.addClass(h.toTP("jqx-grid-column-header-cell"));h.host.append(o);h.host.append(f);var l=o.outerHeight();var k=f.outerHeight();if(l>this.rowsheight){h.rowsheight=l;this._cellheight=l}if(k>this.columnsheight){h.columnsheight=k;this._columnHeight=k}o.remove();f.remove()}if(h.rowsheight!=31){h._measureElement("cell")}if(h.columnsheight!=32||h.columngroups){h._measureElement("column")}if(h.source){var e=h.source.datafields;if(e==null&&h.source._source){e=h.source._source.datafields}if(e){for(var d=0;d<h.columns.length;d++){var f=h.columns[d];if(f&&f.cellsformat&&f.cellsformat.length>2){for(var q=0;q<e.length;q++){if(e[q].name==f.datafield&&!e[q].format){e[q].format=f.cellsformat;break}}}}}}h.databind(h.source);if(h.showtoolbar){h.toolbar.css("visibility","inherit")}if(h.showstatusbar){h.statusbar.css("visibility","inherit")}h._arrange();if(h.pageable&&h._initpager){h._initpager()}h.tableheight=null;var j=h.that;var p=function(){if(j.content){j.content[0].scrollTop=0;j.content[0].scrollLeft=0}if(j.gridcontent){j.gridcontent[0].scrollLeft=0;j.gridcontent[0].scrollTop=0}};h.addHandler(h.content,"mousedown",function(){p()});h.addHandler(h.content,"scroll",function(m){p();return false});if(!h.showfilterrow){if(!h.showstatusbar&&!h.showtoolbar){h.host.addClass("jqx-disableselect")}h.content.addClass("jqx-disableselect")}if(h.enablebrowserselection){h.content.removeClass("jqx-disableselect");h.host.removeClass("jqx-disableselect")}h._resizeWindow();if(h.disabled){h.host.addClass(h.toThemeProperty("jqx-fill-state-disabled"))}h.hasTransform=b.jqx.utilities.hasTransform(h.host);if(h.scrollmode=="logical"){h.vScrollInstance.thumbStep=h.rowsheight;h.vScrollInstance.step=h.rowsheight}if(!b.jqx.isHidden(h.host)){if(h.filterable||h.groupable||h.sortable){h._initmenu()}}},_resizeWindow:function(){var e=this.that;if((this.width!=null&&this.width.toString().indexOf("%")!=-1)||(this.height!=null&&this.height.toString().indexOf("%")!=-1)){this._updatesizeonwindowresize=true;b.jqx.utilities.resize(this.host,function(k){var j=b(window).width();var g=b(window).height();var i=e.host.width();var l=e.host.height();if(e.pageable){var h=e.host.find(".jqx-grid-pager-input");if(j<350){h.hide()}else{h.show()}}if(e.autoheight){e._lastHostWidth=g}if(e._lastHostWidth!=i||e._lastHostHeight!=l){if(e.touchdevice&&e.editcell&&k!=="orientationchange"){return}e._updatesize(e._lastHostWidth!=i,e._lastHostHeight!=l)}e._lastWidth=j;e._lastHeight=g;e._lastHostWidth=i;e._lastHostHeight=l});var d=e.host.width();var f=e.host.height();e._lastHostWidth=d;e._lastHostHeight=f}},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div style="overflow: hidden; position: absolute;"></div>');if(this.showdefaultloadelement){var d=b('<div style="z-index: 99; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d)}else{this.dataloadelement.addClass(this.toTP("jqx-grid-load"))}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this.wrapper.prepend(this.dataloadelement)},_measureElement:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");d.addClass(this.toTP("jqx-widget"));b(document.body).append(d);if(e=="cell"){this._cellheight=d.height()}else{this._columnheight=d.height()}d.remove()},_measureMenuElement:function(){var e=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-menu"));e.addClass(this.toTP("jqx-menu-item-top"));e.addClass(this.toTP("jqx-fill-state-normal"));if(this.isTouchDevice()){e.addClass(this.toTP("jqx-grid-menu-item-touch"))}b(document.body).append(e);var d=e.outerHeight();e.remove();return d},_measureElementWidth:function(f){var e=b("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-grid"));e.addClass(this.toTP("jqx-grid-column-header"));e.addClass(this.toTP("jqx-widget-header"));b(document.body).append(e);var d=e.outerWidth()+20;e.remove();return d},_getBodyOffset:function(){var e=0;var d=0;if(b("body").css("border-top-width")!="0px"){e=parseInt(b("body").css("border-top-width"));if(isNaN(e)){e=0}}if(b("body").css("border-left-width")!="0px"){d=parseInt(b("body").css("border-left-width"));if(isNaN(d)){d=0}}return{left:d,top:e}},_testmodules:function(){var k="";var h=this.that;var d=function(){if(k.length!=""){k+=","}};if(this.columnsmenu&&!this.host.jqxMenu&&(this.sortable||this.groupable||this.filterable)){d();k+=" jqxmenu.js"}if(!this.host.jqxScrollBar){d();k+=" jqxscrollbar.js"}if(!this.host.jqxButton){d();k+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){d();k+=" jqxdata.js"}if(this.pageable&&!this.gotopage){d();k+="jqxgrid.pager.js"}if(this.filterable&&!this.applyfilters){d();k+=" jqxgrid.filter.js"}if(this.groupable&&!this._initgroupsheader){d();k+=" jqxgrid.grouping.js"}if(this.columnsresize&&!this.autoresizecolumns){d();k+=" jqxgrid.columnsresize.js"}if(this.columnsreorder&&!this.setcolumnindex){d();k+=" jqxgrid.columnsreorder.js"}if(this.sortable&&!this.sortby){d();k+=" jqxgrid.sort.js"}if(this.editable&&!this.begincelledit){d();k+=" jqxgrid.edit.js"}if(this.showaggregates&&!this.getcolumnaggregateddata){d();k+=" jqxgrid.aggregates.js"}if(this.keyboardnavigation&&!this.selectrow){d();k+=" jqxgrid.selection.js"}if(k!=""||this.editable||this.filterable||this.pageable){var f=[];var j=function(i){switch(i){case"checkbox":if(!h.host.jqxCheckBox&&!f.checkbox){f.checkbox=true;d();k+=" jqxcheckbox.js"}break;case"numberinput":if(!h.host.jqxNumberInput&&!f.numberinput){f.numberinput=true;d();k+=" jqxnumberinput.js"}break;case"datetimeinput":if(!h.host.jqxDateTimeInput&&!f.datetimeinput){d();f.datetimeinput=true;k+=" jqxdatetimeinput.js(requires: jqxcalendar.js)"}else{if(!h.host.jqxCalendar&&!f.calendar){d();k+=" jqxcalendar.js"}}break;case"combobox":if(!h.host.jqxComboBox&&!f.combobox){d();f.combobox=true;k+=" jqxcombobox.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break;case"dropdownlist":if(!h.host.jqxDropDownList&&!f.dropdownlist){d();f.dropdownlist=true;k+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break}};if(this.filterable||this.pageable){j("dropdownlist")}for(var e=0;e<this.columns.length;e++){if(this.columns[e]==undefined){continue}var g=this.columns[e].columntype;j(g);if(this.filterable&&this.showfilterrow){var g=this.columns[e].filtertype;if(g=="checkedlist"||g=="bool"){j("checkbox")}if(g=="date"){j("datetimeinput")}}}if(k!=""){throw new Error("jqxGrid: Missing references to the following module(s): "+k);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();var e=this.that;setTimeout(function(){e.wrapper.focus()},25);this.focused=true}catch(d){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},resize:function(e,d){this.width=e;this.height=d;this._updatesize(true,true)},_updatesize:function(r,g){if(this._loading){return}var m=this.that;m._newmax=null;var p=m.host.width();var d=m.host.height();if(!m._oldWidth){m._oldWidth=p}if(!m._oldHeight){m._oldHeight=d}if(m._resizeTimer){clearTimeout(m._resizeTimer)}var h=5;m.resizingGrid=true;if(b.jqx.isHidden(m.host)){return}if(m.editcell){m.endcelledit(m.editcell.row,m.editcell.column,true,true);m._oldselectedcell=null}if(d!=m._oldHeight||g==true){var e=m.groupable&&m.groups.length>0;var n=m.vScrollBar.css("visibility");if(!m.autoheight){if(m.virtualmode){m._pageviews=new Array()}if(!e&&!m.rowdetails&&!m.pageable){m._arrange();m.virtualsizeinfo=m._calculatevirtualheight();var d=Math.round(m.host.height())+2*m.rowsheight;if(parseInt(d)>=parseInt(m._oldHeight)){m.prerenderrequired=true}m._renderrows(m.virtualsizeinfo);if(m.rtl){m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}else{m._arrange();m.prerenderrequired=true;var d=Math.round(m.host.height())+2*m.rowsheight;var k=m._gettableheight();var q=Math.round(d/m.rowsheight);var i=Math.max(m.dataview.totalrows,m.dataview.totalrecords);if(m.pageable){i=m.pagesize;if(m.pagesize>Math.max(m.dataview.totalrows,m.dataview.totalrecords)&&m.autoheight){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}else{if(!m.autoheight){if(m.dataview.totalrows<m.pagesize){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}}}}var l=i*m.rowsheight;var f=m._getpagesize();if(!m.pageable&&m.autoheight){q=i}if(m.virtualsizeinfo){m.virtualsizeinfo.visiblerecords=q}m.rendergridcontent(true,false);m._renderrows(m.virtualsizeinfo)}if(n!=m.vScrollBar.css("visibility")){m.vScrollInstance.setPosition(0);m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}}if(p!=m._oldWidth||r==true){var o=false;if(m.editcell&&m.editcell.editor){switch(m.editcell.columntype){case"dropdownlist":o=m.editcell.editor.jqxDropDownList("isOpened")||(m.editcell.editor.jqxDropDownList("isanimating")&&!m.editcell.editor.jqxDropDownList("ishiding"));if(o){m.editcell.editor.jqxDropDownList({openDelay:0});m.editcell.editor.jqxDropDownList("open");m.editcell.editor.jqxDropDownList({openDelay:250});return}break;case"combobox":o=m.editcell.editor.jqxComboBox("isOpened")||(m.editcell.editor.jqxComboBox("isanimating")&&!m.editcell.editor.jqxComboBox("ishiding"));if(o){m.editcell.editor.jqxComboBox({openDelay:0});m.editcell.editor.jqxComboBox("open");m.editcell.editor.jqxComboBox({openDelay:250});return}break;case"datetimeinput":if(o){o=m.editcell.editor.jqxDateTimeInput("isOpened")||(m.editcell.editor.jqxDateTimeInput("isanimating")&&!m.editcell.editor.jqxDateTimeInput("ishiding"));m.editcell.editor.jqxDateTimeInput({openDelay:0});m.editcell.editor.jqxDateTimeInput("open");m.editcell.editor.jqxDateTimeInput({openDelay:250});return}break}}var j=m.hScrollBar.css("visibility");m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths();if(!(r==false&&m._oldWidth>p)){if(!g||m.dataview.rows.length==0){m._renderrows(m.virtualsizeinfo)}}if(j!=m.hScrollBar.css("visibility")){m.hScrollInstance.setPosition(0)}}m._oldWidth=p;m._oldHeight=d;m.resizingGrid=false},getTouches:function(d){return b.jqx.mobile.getTouches(d)},_updateTouchScrolling:function(){var e=this.that;if(e.isTouchDevice()){e.scrollmode="logical";e.vScrollInstance.thumbStep=e.rowsheight;var g=b.jqx.mobile.getTouchEventName("touchstart");var f=b.jqx.mobile.getTouchEventName("touchend");var d=b.jqx.mobile.getTouchEventName("touchmove");e.enablehover=false;if(e.gridcontent){e.removeHandler(e.gridcontent,g+".touchScroll");e.removeHandler(e.gridcontent,d+".touchScroll");e.removeHandler(e.gridcontent,f+".touchScroll");e.removeHandler(e.gridcontent,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e.gridcontent[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);if(e._overlayElement){e.removeHandler(e._overlayElement,g+".touchScroll");e.removeHandler(e._overlayElement,d+".touchScroll");e.removeHandler(e._overlayElement,f+".touchScroll");e.removeHandler(e._overlayElement,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e._overlayElement[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);this.addHandler(this.host,g,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}});this.addHandler(this.host,f,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}})}}}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var e="www.jqwidgets.com";if(location.hostname.indexOf(e.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var f=String.fromCharCode(83,80,65,78);var d=String.fromCharCode(72,84,84,80,58,47,47);var g=document.createElement(f);g.id=b.jqx.utilities.createId();g.innerHTML=e;g.style.position="absolute";g.style.right="5px";g.style.bottom="5px";g.style.color="#909090";g.style.cursor="pointer";g.style.zIndex="999999";g.style.display="none";g.style.fontSize="9px";g.onmousedown=function(){open(d+e)};this.content[0].appendChild(g);this._gridRenderElement=g}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d=b.jqx.mobile.isTouchDevice();this.touchDevice=d;if(this.touchmode==true){if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.enablehover=false;return false}d=true;b.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=d}else{if(this.touchmode==false){d=false}}if(d&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return d},toTP:function(d){return this.toThemeProperty(d)},localizestrings:function(d,e){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d!=null){for(var f in d){if(f.toLowerCase()!==f){d[f.toLowerCase()]=d[f]}}if(d.okstring){this.gridlocalization.okstring=d.okstring}if(d.cancelstring){this.gridlocalization.cancelstring=d.cancelstring}if(d.pagergotopagestring){this.gridlocalization.pagergotopagestring=d.pagergotopagestring}if(d.pagershowrowsstring){this.gridlocalization.pagershowrowsstring=d.pagershowrowsstring}if(d.pagerrangestring){this.gridlocalization.pagerrangestring=d.pagerrangestring}if(d.pagernextbuttonstring){this.gridlocalization.pagernextbuttonstring=d.pagernextbuttonstring}if(d.pagerpreviousbuttonstring){this.gridlocalization.pagerpreviousbuttonstring=d.pagerpreviousbuttonstring}if(d.pagerfirstbuttonstring){this.gridlocalization.pagerfirstbuttonstring=d.pagerfirstbuttonstring}if(d.pagerlastbuttonstring){this.gridlocalization.pagerlastbuttonstring=d.pagerlastbuttonstring}if(d.groupsheaderstring){this.gridlocalization.groupsheaderstring=d.groupsheaderstring}if(d.sortascendingstring){this.gridlocalization.sortascendingstring=d.sortascendingstring}if(d.sortdescendingstring){this.gridlocalization.sortdescendingstring=d.sortdescendingstring}if(d.sortremovestring){this.gridlocalization.sortremovestring=d.sortremovestring}if(d.groupbystring){this.gridlocalization.groupbystring=d.groupbystring}if(d.groupremovestring){this.gridlocalization.groupremovestring=d.groupremovestring}if(d.firstDay){this.gridlocalization.firstDay=d.firstDay}if(d.days){this.gridlocalization.days=d.days}if(d.months){this.gridlocalization.months=d.months}if(d.AM){this.gridlocalization.AM=d.AM}if(d.PM){this.gridlocalization.PM=d.PM}if(d.patterns){this.gridlocalization.patterns=d.patterns}if(d.percentsymbol){this.gridlocalization.percentsymbol=d.percentsymbol}if(d.currencysymbol){this.gridlocalization.currencysymbol=d.currencysymbol}if(d.currencysymbolposition){this.gridlocalization.currencysymbolposition=d.currencysymbolposition}if(d.decimalseparator!=undefined){this.gridlocalization.decimalseparator=d.decimalseparator}if(d.thousandsseparator!=undefined){this.gridlocalization.thousandsseparator=d.thousandsseparator}if(d.filterclearstring){this.gridlocalization.filterclearstring=d.filterclearstring}if(d.filterstring){this.gridlocalization.filterstring=d.filterstring}if(d.filtershowrowstring){this.gridlocalization.filtershowrowstring=d.filtershowrowstring}if(d.filtershowrowdatestring){this.gridlocalization.filtershowrowdatestring=d.filtershowrowdatestring}if(d.filterselectallstring){this.gridlocalization.filterselectallstring=d.filterselectallstring}if(d.filterchoosestring){this.gridlocalization.filterchoosestring=d.filterchoosestring}if(d.filterorconditionstring){this.gridlocalization.filterorconditionstring=d.filterorconditionstring}if(d.filterandconditionstring){this.gridlocalization.filterandconditionstring=d.filterandconditionstring}if(d.filterstringcomparisonoperators){this.gridlocalization.filterstringcomparisonoperators=d.filterstringcomparisonoperators}if(d.filternumericcomparisonoperators){this.gridlocalization.filternumericcomparisonoperators=d.filternumericcomparisonoperators}if(d.filterdatecomparisonoperators){this.gridlocalization.filterdatecomparisonoperators=d.filterdatecomparisonoperators}if(d.filterbooleancomparisonoperators){this.gridlocalization.filterbooleancomparisonoperators=d.filterbooleancomparisonoperators}if(d.emptydatastring){this.gridlocalization.emptydatastring=d.emptydatastring}if(d.filterselectstring){this.gridlocalization.filterselectstring=d.filterselectstring}if(d.todaystring){this.gridlocalization.todaystring=d.todaystring}if(d.clearstring){this.gridlocalization.clearstring=d.clearstring}if(d.validationstring){this.gridlocalization.validationstring=d.validationstring}if(d.loadtext){this.gridlocalization.loadtext=d.loadtext}if(d.addrowstring){this.gridlocalization.addrowstring=d.addrowstring}if(d.udpaterowstring){this.gridlocalization.udpaterowstring=d.udpaterowstring}if(d.deleterowstring){this.gridlocalization.deleterowstring=d.deleterowstring}if(d.resetrowstring){this.gridlocalization.resetrowstring=d.resetrowstring}if(d.everpresentrowplaceholder){this.gridlocalization.everpresentrowplaceholder=d.everpresentrowplaceholder}if(e!==false){if(this._initpager){this._initpager()}if(this._initgroupsheader){this._initgroupsheader()}if(this._initmenu){this._initmenu()}this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none");if(this.filterable&&this.showfilterrow){if(this._updatefilterrow){for(var f in this._filterrowcache){b(this._filterrowcache[f]).remove()}this._filterrowcache=[];this._updatefilterrow()}}if(this.showaggregates&&this.refresheaggregates){this.refresheaggregates()}this._renderrows(this.virtualsizeinfo)}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",groupsheaderstring:"Drag a column and drop it here to group by that column",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",groupbystring:"Group By this column",groupremovestring:"Remove from groups",filterclearstring:"Clear",filterstring:"Filter",filtershowrowstring:"Show rows where:",filtershowrowdatestring:"Show rows where date:",filterorconditionstring:"Or",filterandconditionstring:"And",filterselectallstring:"(Select All)",filterchoosestring:"Please Choose:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",addrowstring:"Add",udpaterowstring:"Update",deleterowstring:"Delete",resetrowstring:"Reset",everpresentrowplaceholder:"Enter ",okstring:"Ok",cancelstring:"Cancel"}}},_getmenudefaultheight:function(){var f=this;var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){e+=2}var d=f._measureMenuElement();var g=e*d+9;if(f.filterable&&!f.showfilterrow&&f.showfiltermenuitems){g+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){g+=20}}return g},_initmenu:function(){var s=this.that;if(this.host.jqxMenu){if(this.gridmenu){if(this._hasOpenedMenu){return}if(this.filterable){if(this._destroyfilterpanel){this._destroyfilterpanel()}}this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu.removeData();this.gridmenu.remove()}this.menuitemsarray=new Array();var n="";if(this.isTouchDevice()){n="jqx-grid-menu-item-touch"}this.gridmenu=b('<div tabindex=0 id="gridmenu'+this.element.id+'" style="z-index: 99;"></div>');this.host.append(this.gridmenu);var y=b("<ul></ul>");var i='<div class="jqx-grid-sortasc-icon"></div>';var u=b('<li class="'+n+'">'+i+this.gridlocalization.sortascendingstring+"</li>");var C='<div class="jqx-grid-sortdesc-icon"></div>';var z=b('<li class="'+n+'">'+C+this.gridlocalization.sortdescendingstring+"</li>");var o='<div class="jqx-grid-sortremove-icon"></div>';var k=b('<li class="'+n+'">'+o+this.gridlocalization.sortremovestring+"</li>");var j='<div class="jqx-grid-groupby-icon"></div>';var r=b('<li class="'+n+'">'+j+this.gridlocalization.groupbystring+"</li>");var f=b('<li class="'+n+'">'+j+this.gridlocalization.groupremovestring+"</li>");var d=b('<li type="separator"></li>');var x=b('<li class="filter '+n+'" style="height: 194px;" ignoretheme="true"><div class="filter"></div></li>');var m=this.gridlocalization.sortascendingstring.length;var t=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>m){m=this.gridlocalization.sortdescendingstring.length;t=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>m){m=this.gridlocalization.sortremovestring.length;t=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){if(this.gridlocalization.groupbystring.length>m){m=this.gridlocalization.groupbystring.length;t=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>m){m=this.gridlocalization.groupremovestring.length;t=this.gridlocalization.groupremovestring}}var A=200;t=b.trim(t).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+t+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);A=g.outerWidth()+60;g.remove();var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){y.append(u);this.menuitemsarray[0]=u[0];y.append(z);this.menuitemsarray[1]=z[0];y.append(k);this.menuitemsarray[2]=k[0];e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){y.append(r);this.menuitemsarray[3]=r[0];y.append(f);this.menuitemsarray[4]=f[0];e+=2}var w=this._measureMenuElement();var l=e*w+9;var q=true;if(this.filterable&&!this.showfilterrow&&this.showfiltermenuitems){if(this._initfilterpanel){this.menuitemsarray[5]=x[0];this.menuitemsarray[6]=x[0];y.append(d);y.append(x);l+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){l+=20}if(this.isTouchDevice()){l+=30}var p=b(x).find("div:first");this.excelfilterpanel=b("<div></div>");this.filterpanel=p;this.filtermenu=b(x);A+=20;if(this.adaptive&&this.element.offsetWidth<this.adaptivewidth){A=this.element.offsetWidth-50}this._initfilterpanel(this,p,"",A);this._initfilterpanel(this,this.excelfilterpanel,"",A,true);q=false;this.removeHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s);this.addHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.filter.js.")}}this.gridmenu.append(y);if(b.jqx.browser.msie&&b.jqx.browser.version<8&&this.filterable){b("#listBoxfilter1"+this.element.id).css("z-index",49);b("#listBoxfilter2"+this.element.id).css("z-index",49);b("#listBoxfilter3"+this.element.id).css("z-index",49);b("#gridmenu"+this.element.id).css("z-index",50);this.addHandler(b("#gridmenu"+this.element.id),"initialized",function(){b("#menuWrappergridmenu"+s.element.id).css("z-index",49)})}if(this.menuitemsarray[0]==undefined){l=65}this.removeHandler(b(window),"orientationchange.jqxgrid"+this.element.id);this.removeHandler(b(window),"orientationchanged.jqxgrid"+this.element.id);this.addHandler(b(window),"orientationchange.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.addHandler(b(window),"orientationchanged.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.removeHandler(this.gridmenu,"keydown");this.addHandler(this.gridmenu,"keydown",function(O){var N=b(s.gridmenu.find(".jqx-item")).toArray();var G=function(){b(N).removeClass("jqx-fill-state-focus")};var S=function(Y){var W=N.indexOf(Y);for(var X=W-1;X>=0;X--){if(N[X].className.indexOf("disabled")>=0){continue}return N[X]}return Y};var J=function(Y){var W=N.indexOf(Y);for(var X=W+1;X<N.length;X++){if(N[X].className.indexOf("disabled")>=0){continue}return N[X]}return Y};var M=function(){var W=N[N.length-1];if(W.className.indexOf("disabled")>=0){return S(W)}return W};var V=function(){var W=N[0];if(W.className.indexOf("disabled")>=0){return J(W)}return W};var K=function(){for(var W=0;W<N.length;W++){if(N[W].active){return N[W]}}return null};var H=function(X){G();for(var W=0;W<N.length;W++){N[W].active=false}if(X){b(X).addClass("jqx-fill-state-focus");X.active=true}};if(!K()&&!s.filterable){N[0].active=true}if(s.keyboardmenunavigation&&s.keyboardnavigation){if(O.keyCode===40){var K=K();H(J(K))}else{if(O.keyCode===38){var K=K();H(S(K))}}if(O.keyCode===9){if(!K()){if(O.shiftKey){if(document.activeElement===b.find("#filter1"+s.element.id)[0]){var U=M();H(U);b(b.find("#filter1"+s.element.id)).removeClass("jqx-fill-state-focus");s.gridmenu.focus();O.stopPropagation();O.preventDefault()}else{if(document.activeElement===b.find("#filter1"+s.element.id+"ex")[0]){var U=M();H(U);b(b.find("#filter1"+s.element.id)+"ex").removeClass("jqx-fill-state-focus");s.gridmenu.focus();O.stopPropagation();O.preventDefault()}}}return true}if(!O.shiftKey){var K=K();if(K===M()&&s.filterable&&!s.showfilterrow){H(null);if(b(b.find("#filter1"+s.element.id)).length>0){b(b.find("#filter1"+s.element.id)).jqxDropDownList("focus")}else{if(b(b.find("#filter1"+s.element.id+"ex")).length>0){b(b.find("#filter1"+s.element.id+"ex")).jqxListBox("focus")}}}else{H(J(K))}O.stopPropagation();O.preventDefault()}else{var K=K();H(S(K));O.stopPropagation();O.preventDefault()}}}if(O.keyCode==27){s.gridmenu.jqxMenu("close")}else{if(O.keyCode==13){var N=s.gridmenu.find(".jqx-item");var K=K();if(K){b(K).trigger("click");H(null)}else{if(s._buildfilter&&s.filterable&&!s.showfilterrow){if(b.find("#filter1"+s.element.id).length>0){var T=b(b.find("#filter1"+s.element.id)).jqxDropDownList("container").css("display")=="block";var R=b(b.find("#filter2"+s.element.id)).jqxDropDownList("container").css("display")=="block";var P=b(b.find("#filter3"+s.element.id)).jqxDropDownList("container").css("display")=="block"}var L=b(b.find("#filterclearbutton"+s.element.id)).hasClass("jqx-fill-state-focus");var D=b(b.find("#filterbutton"+s.element.id)).hasClass("jqx-fill-state-focus");if(L){var E=b.data(document.body,"contextmenu"+s.element.id).column;s._clearfilter(s,s.element,E);s.gridmenu.jqxMenu("close")}else{if(D){if(!T&&!R&&!P){var E=b.data(document.body,"contextmenu"+s.element.id).column;s.gridmenu.jqxMenu("close");s._buildfilter(s,x,E)}}}}}var Q=s.selectedcells.length>0||s.selectedrowindexes.length>0;s.clearselection();var I=s.getdisplayrows()[0];if(I){var F=s.getboundindex(I);if(s.selectionmode.indexOf("cell")>=0){if(Q){s.selectcell(F,s.columns.records[0].displayfield)}}else{if(Q){s.selectrow(F)}}}}}});if(this.popupwidth!="auto"){A=this.popupwidth}this.gridmenu.jqxMenu({popupZIndex:1000,width:A,height:l,autoCloseOnClick:q,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0});var v=document.querySelectorAll(".jqx-menu-wrapper");this.gridmenu.parent().attr("tabindex",v.length-1);if(this.filterable){this.gridmenu.jqxMenu("_setItemProperty",x[0].id,"closeOnClick",false)}if(this.rtl){var B=this.that;b.each(y.find("li"),function(){b(this).addClass(B.toTP("jqx-rtl"))});var h=function(D){var E=D.find("div");E.css("float","right");E.css("margin-left","4px");E.css("margin-right","-4px")};h(k);h(z);h(u);h(r);h(f)}this._handlemenueevents()}else{this.columnsmenu=false}},_arrangemenu:function(){if(!this.gridmenu){this._initmenu()}var j=this.gridlocalization.sortascendingstring.length;var e=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>j){j=this.gridlocalization.sortdescendingstring.length;e=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>j){j=this.gridlocalization.sortremovestring.length;e=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader){if(this.gridlocalization.groupbystring.length>j){j=this.gridlocalization.groupbystring.length;e=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>j){j=this.gridlocalization.groupremovestring.length;e=this.gridlocalization.groupremovestring}}var f=200;e=b.trim(e).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+e+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);f=g.outerWidth()+60;g.remove();var h=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){h=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){h+=2}var d=this._measureMenuElement();var i=h*d+9;if(this.filterable&&this.showfiltermenuitems){if(this._initfilterpanel){i+=194;f+=20;if(b.jqx.browser.msie&&b.jqx.browser.version<8){i+=20}if(this.isTouchDevice()){i+=30}}}if(this.menuitemsarray[0]==undefined){i=65}if(this.popupwidth!="auto"){f=this.popupwidth}if(this.popupheight!="auto"){i=this.popupheight}this.gridmenu.jqxMenu({width:f,height:i})},_closemenuafterclick:function(e){var k=e!=null?e.data:this;var i=false;if(e.target==undefined||(e.target!=undefined&&e.target.className.indexOf==undefined)){k.gridmenu.jqxMenu("close");return}if(e.target.className.indexOf("filter")!=-1&&e.target.className.indexOf("jqx-grid-cell-filter")==-1){return}if(e.target.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return}if(k._hasOpenedMenu){if(b(e.target).ischildof(k.gridmenu)){return}}var d=k.host.coord();var f=k.gridmenu.coord();var m=e.pageX;var l=e.pageY;b.each(b(e.target).parents(),function(){if(this.id!=null&&this.id.indexOf&&this.id.indexOf("filter")!=-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("filter")!=-1&&this.className.indexOf("jqx-grid-cell-filter")==-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-column")!=-1){k.gridmenu.jqxMenu("close");return false}});if(i){return}try{if(k.filtermode==="default"){var p=b(b.find("#filter1"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter3"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;if(n-o<100){return}if((b(b.find("#filter3"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter1"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter2"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if(k._hasdatefilter){if(b(".filtertext1"+k.element.id)[0].nodeName.toLowerCase()=="div"){if(b(".filtertext1"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}if(b(".filtertext2"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}}}}else{var p=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.hScrollInstance._mouseup;if(n-o<100){return}}}catch(j){}if(m>=f.left&&m<=f.left+k.gridmenu.width()){if(l>=f.top&&l<=f.top+k.gridmenu.height()){return}}var h=false;if(k.columnmenuclosing){var g=b.data(document.body,"contextmenu"+k.element.id);if(!g){g={column:{displayfield:null}}}h=k.columnmenuclosing(k.gridmenu,g.column.displayfield,b(k.gridmenu).height());if(h===false){return}}k.gridmenu.jqxMenu("close")},_handlemenueevents:function(){var d=this.that;this.removeHandler(this.gridmenu,"closed");this.addHandler(this.gridmenu,"closed",function(e){d._closemenu()});this.removeHandler(this.gridmenu,"itemclick");this.addHandler(this.gridmenu,"itemclick",function(h){var g=h.args;for(var e=0;e<d.menuitemsarray.length;e++){var j=d.menuitemsarray[e];if(g==j){if(b(g).attr("ignoretheme")!=undefined){return}var k=b.data(document.body,"contextmenu"+d.element.id);var f=k.column;if(d.filterable){d.gridmenu.jqxMenu("close")}var m=f.displayfield;if(m==null){m=f.datafield}if(k!=null){switch(e){case 0:d.sortby(m,"ascending",null);break;case 1:d.sortby(m,"descending",null);break;case 2:d.sortby(m,null,null);break;case 3:d.addgroup(m);break;case 4:d.removegroup(m);break;case 5:var l=b(d.menuitemsarray[6]);b(l).css("display","block");break;case 7:break}}break}}})},getdatainformation:function(){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}return{rowscount:d,sortinformation:this.getsortinformation(),paginginformation:this.getpaginginformation()}},getsortinformation:function(){return{sortcolumns:this.getsortcolumns?this.getsortcolumns():[],sortcolumn:this.sortcolumn,sortdirection:this.sortdirection}},getpaginginformation:function(){return{pagenum:this.dataview.pagenum,pagesize:this.pagesize,pagescount:Math.ceil(this.dataview.totalrecords/this.pagesize)}},_updaterowsproperties:function(){this._updatehiddenrows();this._updaterowheights();this._updaterowdetails()},_updatehiddenrows:function(){var e=this.that;this.hiddens=new Array();var d=this.hiddenboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.hiddens[h]=this.hidden}})},_updaterowheights:function(){var e=this.that;this.heights=new Array();var d=this.heightboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.heights[h]=this.height}})},_updaterowdetails:function(){var d=this.that;this.details=new Array();var e=this.detailboundrows;b.each(e,function(g){if(this.index!=undefined){var f=this.index;var h=d.getrowvisibleindex(g);d.details[h]=this.details}})},_getmenuitembyindex:function(d){if(d==undefined){return null}return this.menuitemsarray[d]},openmenu:function(e){if(this._openingmenu){return}this._openingmenu=true;this.closemenu();var h=this.getcolumn(e);if(!h.menu){return false}if(!this.gridmenu){this._initmenu()}var d=h.columnsmenu;b(h.element).trigger("mouseenter");this.menuOwner=h;var g=this;for(var f=0;f<g.columns.records.length;f++){if(g.columns.records[f].datafield!=e){b(g.columns.records[f].element).trigger("mouseleave")}}setTimeout(function(){if(b(d)[0].style.display=="block"){b(d).trigger("click")}g._openingmenu=false},200)},closemenu:function(){this._closemenu()},_closemenu:function(){if(this._hasOpenedMenu){var f=false;if(this.columnmenuclosing){var i=b.data(document.body,"contextmenu"+this.element.id);if(!i){i={column:{displayfield:null}}}f=this.columnmenuclosing(this.gridmenu,i.column.displayfield,b(this.gridmenu).height());if(f===false){return}}if(this.gridmenu!=null){this.gridmenu.jqxMenu("close")}var i=b.data(document.body,"contextmenu"+this.element.id);var e=16;if(i!=null&&this.autoshowcolumnsmenubutton){if(this.enableanimations){b(i.columnsmenu).animate({"margin-left":0},"fast",function(){b(i.columnsmenu).css("display","none")});var h=!this.rtl?-32:0;i.column.iconscontainer.animate({"margin-left":h},"fast")}else{b(i.columnsmenu).css("display","none");var h=!this.rtl?-32:0;i.column.iconscontainer.css("margin-left",h)}b.data(document.body,"contextmenu"+this.element.id,null)}this._hasOpenedMenu=false;this.menuOwner=null;var k=this._getmenuitembyindex(5);if(k){var j=b(k).find("#filter1"+this.element.id);var d=b(k).find("#filter2"+this.element.id);var g=b(k).find("#filter3"+this.element.id);if(j.length>0&&this.filtermode==="default"){j.jqxDropDownList("hideListBox");if(d.length>0){d.jqxDropDownList("hideListBox")}if(g.length>0){g.jqxDropDownList("hideListBox")}}}this.focus()}},scrolloffset:function(e,d){if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(d){if(d==null||d==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",d)}},scrolltop:function(d){if(d==null||d==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",d)}},beginupdate:function(e,d){this._updating=true;this._datachanged=false;if(e===true){this._batchupdate=true}if(d===true){this._stopbindings=true}},endupdate:function(){this.resumeupdate()},resumeupdate:function(){this._updating=false;if(this._batchupdate){this._batchupdate=false;this._datachanged=false;if(!this._stopbindings){this.render()}else{this.updatebounddata()}return}if(this._stopbindings){this.updatebounddata("data");return}if(this._datachanged==true){var d=this.vScrollInstance.value;this.render(true,true,false);this._datachanged=false;if(d!=0&&d<this.vScrollInstance.max){this.scrolltop(d)}}else{this.rendergridcontent(true);this._renderrows(this.virtualsizeinfo)}if(this.showaggregates&&this.renderaggregates){this.renderaggregates()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)},updating:function(){return this._updating},showloadelement:function(){if(this.renderloadelement){this.dataloadelement.html(this.renderloadelement())}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block")},hideloadelement:function(){b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")},_updatefocusedfilter:function(){var d=this.that;if(d.focusedfilter){d.focusedfilter.focus();setTimeout(function(){d.focusedfilter.focus();if(d.focusedfilter[0].nodeName.toLowerCase()=="input"){var g=d.focusedfilter.val().length;try{if("selectionStart" in d.focusedfilter[0]){d.focusedfilter[0].setSelectionRange(g,g)}else{var e=d.focusedfilter[0].createTextRange();e.collapse(true);e.moveEnd("character",g);e.moveStart("character",g);e.select()}}catch(f){}}},50)}},databind:function(h,j){if(this.loadingstate===true){return}if(this._stopbindings===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoshowloadelement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this._hideemptyrow()}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}if(!this._initgroupsheader&&this.groups.length>0){this.groups=new Array()}var g=this.that;if(h==null){h={}}if(!h.recordstartindex){h.recordstartindex=0}if(!h.recordendindex){h.recordendindex=0}if(h.loadallrecords==undefined||h.loadallrecords==null){h.loadallrecords=true}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataview();if(b.jqx.dataview.sort){b.extend(this.dataview,new b.jqx.dataview.sort())}if(b.jqx.dataview.grouping){b.extend(this.dataview,new b.jqx.dataview.grouping())}this.dataview.suspendupdate();this.dataview.pageable=this.pageable;this.dataview.groupable=this.groupable;this.dataview.groups=this.groups;this.dataview.virtualmode=this.virtualmode;this.dataview.grid=this;this.dataview._clearcaches();if(!this.pageable&&this.virtualmode){this.loadondemand=true}if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pagesize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pagesize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}if(this.filterable){if(this.columns){b.each(this.columns,function(){if(this.filter){g.dataview.addfilter(this.datafield,this.filter)}})}}}this._loading=true;this.dataview.update=function(q){if(!g.pageable&&g.virtualmode){g.loadondemand=true}g._loading=false;if(g.dataview.isupdating()){g.dataview.resumeupdate(false)}if(g.pageable&&g.pagerrenderer){if(g._initpager){g._initpager()}else{throw new Error("jqxGrid: Missing reference to jqxgrid.pager.js.")}}if((g.source&&g.source.sortcolumn)&&g.sortby&&!g.virtualmode){g.render();if(!g.source._source.sort){g.sortby(g.source.sortcolumn,g.source.sortdirection,g.source.sortcomparer)}g.source.sortcolumn=null;g._postrender("data")}else{var s=g.vScrollInstance.value;var p=g.hScrollInstance.value;var m=g.source?g.source.datatype:"array";if(m!="local"||m!="array"){var n=g.virtualsizeinfo==null||(g.virtualsizeinfo!=null&&g.virtualsizeinfo.virtualheight==0);if(j=="cells"){var k=false;if(g.filterable&&g._initfilterpanel&&g.dataview.filters.length){k=true}if(false==q){if(!g.vScrollInstance.isScrolling()&&!g.hScrollInstance.isScrolling()){g._cellscache=new Array();g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);if(g.showfilterrow&&g.filterable&&g.filterrow){g._updatelistfilters(true)}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}}if(g.sortcolumn){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.virtualmode&&!g._loading){g.loadondemand=true;g._renderrows(g.virtualsizeinfo)}g._postrender("data");return}else{if(k){j="filter"}else{if(g.sortcolumn!=undefined){j="sort"}}}}if(!g.virtualmode||n||(g.virtualmode&&g.pageable)){if(g.initializedcall==true&&j=="pagechanged"){s=0;if(g.groupable&&g.groups.length>0){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{g.rendergridcontent(true);if(g.pageable&&g.updatepagerdetails){g.updatepagerdetails();if(g.autoheight){g._updatepageviews();if(g.autorowheight){g._renderrows(this.virtualsizeinfo)}}else{if(g.autorowheight){g._updatepageviews();g._renderrows(this.virtualsizeinfo)}}}}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(j=="filter"){if(g.virtualmode){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}else{g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}}else{if(j=="sort"){if(g.virtualmode){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{g._render(true,true,false,false,false);if(g.sortmode==="many"){for(var r in g.sortcolumns){g.sortby(r,g.sortcolumns[r],g.source.sortcomparer)}}else{if(g.sortcolumn&&!g.source.sort){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}}g._postrender("data")}if(g.source.sort){g._updatefocusedfilter()}}else{if(j=="data"){g._render(true,true,false,false,false);g._postrender("data")}else{if(j=="state"){g._render(true,true,false,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}else{g._render(true,true,true,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}}}}}}else{if(g.virtualmode&&q==true&&!g.pageable){g._render(true,true,false,false,false);g._updatefocusedfilter();g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{if(g.virtualmode&&!g.pageable&&q==false&&j!=undefined){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(g.virtualmode&&g.dataview.totalrecords==0&&g.dataview.filters.length>0){g._render(true,true,true,g.menuitemsarray&&!g.virtualmode);g._postrender("data")}else{g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);g._postrender("data")}}}}if(g.vScrollInstance.value!=s&&s<=g.vScrollInstance.max){g.vScrollInstance.setPosition(s)}if(g.hScrollInstance.value!=p&&p<=g.hScrollInstance.max){g.hScrollInstance.setPosition(p)}}}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(g.pagerrightbutton){g.pagerrightbutton.jqxButton({disabled:false});g.pagerleftbutton.jqxButton({disabled:false});g.pagershowrowscombo.jqxDropDownList({disabled:false})}if(g.pagerfirstbutton){g.pagerfirstbutton.jqxButton({disabled:false});g.pagerlastbutton.jqxButton({disabled:false})}}g._raiseEvent(11);if(!g.initializedcall){var o=function(){g._raiseEvent(0);g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if(g.sortmode==="many"&&g.sortable){if(g.source&&g.source.sortcolumns){var v=g.source.sortcolumns;for(var u=0;u<v.length;u++){g.sortby(v[u],g.source.sortdirections[u]==="asc"?true:false)}}}if(g.renderstatusbar){g.renderstatusbar(g.statusbar)}if(g.rendertoolbar){g.rendertoolbar(g.toolbar)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var t=6000+Math.floor((Math.random()*4000)+1);var w=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(w)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},t)}if(g.autoloadstate){if(g.loadstate){g.loadstate(null,true)}}};if(!b.jqx.isHidden(g.host)){o()}else{if(g.readyInterval){clearInterval(g.readyInterval)}g.readyInterval=setInterval(function(){if(!b.jqx.isHidden(g.host)){if(g.__isRendered){clearInterval(g.readyInterval);g.readyInterval=null;o();g._initmenu()}}},200)}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){}if(g.host.css("visibility")=="hidden"){var l=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(!g.autowidth){if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}else{g._updateTouchScrolling()}};this.dataview.databind(h);if(this.dataview.isupdating()){if(e!=undefined){this.dataview.suspend=false}else{this.dataview.resumeupdate(false)}}this._initializeRows()},scrollto:function(e,d){if(undefined!=e){this.hScrollInstance.setPosition(e)}if(undefined!=d){this.vScrollInstance.setPosition(d)}},scrollposition:function(){return{top:this.vScrollInstance.value,left:this.hScrollInstance.value}},ensurerowvisible:function(l){var k=this;if(this.autoheight&&!this.pageable){return true}var f=this._getpagesize();var j=Math.floor(l/f);if(!this._pageviews[j]&&!this.pageable){this._updatepageviews()}if(this.groupable&&this.groups.length>0){var n=this.getdisplayrows();var o=0;for(var g=0;g<n.length;g++){var t=n[g];if(t.boundindex===l){var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;if(o<q||o>q+r){this.scrolltop(o-this.rowsheight)}if(o===q){this.scrolltop(o-this.rowsheight)}break}var e=function(i){if(i.group){if(k.expandedgroups[i.uniqueid]){return k.expandedgroups[i.uniqueid].expanded}}else{return false}};var p=t.parentItem;var h=true;while(p){if(p&&!e(p)){h=false;break}p=p.parentItem}if(h){o+=this.rowsheight;if(this.details[g]){if(this.details[g].rowdetailshidden==false){o+=this.details[g].rowdetailsheight}}}}return true}var s=false;if(this.pageable&&this.gotopage&&!this.virtualmode){var j=Math.floor(l/f);if(this.dataview.pagenum!=j){if(this.groupable&&this.groups.length>0){return true}if(!this.editcell){this.gotopage(j)}else{setTimeout(function(){k.pagerpageinput.focus()},25);return false}s=true}}var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;var d=f*(l/f-j);d=Math.round(d);if(this._pageviews[j]){var o=this._pageviews[j].top;var m=o+d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<l;g++){if(this.details[g]){if(this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}}if(this.scrollmode=="deferred"){if(this.vScrollInstance.max<=m+this.rowsheight){m=this.vScrollInstance.max}}if(m<q){this.scrolltop(m);s=true}else{if(m>q+r+2){this.scrolltop(m-r);s=true}else{}}}else{if(this.pageable){var m=d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<f*j+d;g++){if(this.details[g]&&this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}if(m<q||m>q+r){this.scrollto(0,m);s=true}}}return s},ensurecellvisible:function(h,d){var n=this.that;var i=this.hScrollBar.jqxScrollBar("value");var j=n.hScrollInstance.max;if(n.rtl){if(this.hScrollBar.css("visibility")!="visible"){j=0}}var o=this.ensurerowvisible(h);var e=0;if(this.columns.records){var m=i;if(this.hScrollBar.css("visibility")=="hidden"){return}var l=this.host.width();var k=0;var f=this.vScrollBar.css("visibility")=="visible"?20:0;var g=false;b.each(this.columns.records,function(){if(this.hidden){return true}if(this.datafield==d){var q=0;var p=!n.rtl?m:j-i;if(e+this.width>p+l-f){q=e+this.width-l+f;if(n.rtl){q=j-q}n.scrollleft(q);g=true}else{if(e<=p){q=e-this.width;if(n.rtl){q=j-q}n.scrollleft(q);g=true}}if(k==0){if(n.rtl){n.scrollleft(j)}else{n.scrollleft(0)}g=true}else{if(k==n.columns.records.length-1){if(n.hScrollBar.css("visibility")=="visible"){if(!n.rtl){n.scrollleft(n.hScrollBar.jqxScrollBar("max"))}else{n.scrollleft(n.hScrollBar.jqxScrollBar("min"))}g=true}}}return false}k++;e+=this.width});if(!g){n.scrollleft(m)}}return o},setrowheight:function(e,d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(e==null||d==null){return false}this.heightboundrows[e]={index:e,height:d};e=this.getrowvisibleindex(e);if(e<0){return false}if(this.rows.records[e]){this.rows.records[e].height=d}else{var f=new a(this,null);f.height=d;this.rows.replace(e,f)}this.heights[e]=d;this.rendergridcontent(true);return true},getrowheight:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(d<0){return false}if(this.rows.records[d]){return this.rows.records[d].height}},setrowdetails:function(f,h,d,j){if(f==undefined||f==null||f<0){return}var e=f+"_";if(this._rowdetailscache[e]){var g=this._rowdetailscache[e].element;b(g).remove();this._rowdetailscache[e]=null}var i=this.dataview.generatekey();this.detailboundrows[f]={index:f,details:{rowdetails:h,rowdetailsheight:d,rowdetailshidden:j,key:i}};f=this.getrowvisibleindex(f);if(f<0){return false}return this._setrowdetails(f,h,d,j,i)},getcolumn:function(d){var e=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}else{if(this.columns){b.each(this.columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}}return e},_getcolumnindex:function(e){var d=-1;if(this.columns.records){b.each(this.columns.records,function(){d++;if(this.datafield==e){return false}})}return d},_getcolumnat:function(d){var e=this.columns.records[d];return e},_getprevvisiblecolumn:function(e){var d=this.that;while(e>0){e--;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},_getnextvisiblecolumn:function(e){var d=this.that;while(e<this.columns.records.length){e++;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},getcolumnat:function(d){if(!isNaN(d)){var e=this.columns.records[d];return e}return null},_getcolumn:function(d){var e=null;b.each(this._columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}});return e},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}g=g.toLowerCase();var f=this.getcolumn(e);if(f==null){return}var i=f[g];f[g]=h;var d=this._getcolumn(e);if(d!=null){d[g]=h}this._cellscache=new Array();switch(g){case"filteritems":if(this.filterable&&this.showfilterrow){this._updatelistfilters(true,true)}break;case"text":this.prerenderrequired=true;this._rendercolumnheaders();this._updatecellwidths();if(this._groupsheader()){if(this._initgroupsheader){this._initgroupsheader()}}this._renderrows(this.virtualsizeinfo);if(this.filterable&&this.showfilterrow){this.refreshfilterrow()}break;case"editable":case"resizable":case"draggable":if(g=="editable"){if(h!=i){if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,true)}if(f.columntype=="checkbox"){this.prerenderrequired=true;this.rendergridcontent(true,false);if(this.updating()){return false}}if(this.updating()){return false}this._renderrows(this.virtualsizeinfo)}}break;case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"classname":case"class":this.prerenderrequired=true;if(g=="pinned"){this._initializeColumns();this._preparecolumngroups()}this.rendergridcontent(true);if(this.updating()){return false}if(g=="hidden"){this._updatecolumnwidths();this._updatecellwidths()}this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}break;case"width":case"minwidth":case"maxwidth":if(this.updating()){return false}f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);break}},_getcolumnproperty:function(d,f){if(d==null||f==null){return null}f=f.toLowerCase();var e=this.getcolumn(d);return e[f]},setcolumnproperty:function(d,e,f){this._setcolumnproperty(d,e,f)},getcolumnproperty:function(d,e){return this._getcolumnproperty(d,e)},hidecolumn:function(d){this._setcolumnproperty(d,"hidden",true)},showcolumn:function(d){this._setcolumnproperty(d,"hidden",false)},iscolumnvisible:function(d){return !this._getcolumnproperty(d,"hidden")},pincolumn:function(d){this._setcolumnproperty(d,"pinned",true)},unpincolumn:function(d){this._setcolumnproperty(d,"pinned",false)},iscolumnpinned:function(d){return this._getcolumnproperty(d,"pinned")},_setrowdetails:function(j,d,n,h,e){if(n==0){n=100}if(j==null||n==null){return false}if(e!=null){this.details[j]={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:e}}else{var m=this.details[j]!=null?this.details[j].detailskey:null;var l={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:m};var k=this.that;for(var g=0;g<this.detailboundrows.length;g++){if(this.detailboundrows[g]!=undefined){var f=this.detailboundrows[g];if(f.details.detailskey==m){f.details.rowdetailsheight=l.rowdetailsheight;f.details.rowdetailshidden=l.rowdetailshidden;f.details.rowdetails=l.rowdetails;break}}}this.details[j]=l}if(this._detailsUpdate){return}this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);return true},getrowdetails:function(d){if(d==null){return false}d=this.getrowvisibleindex(d);return this._getrowdetails(d)},_getrowdetails:function(d){if(d==null){return false}if(d<0){return false}if(this.details[d]){return this.details[d]}if(this.rowdetailstemplate){if(typeof this.rowdetailstemplate==="function"){var e=this.rowdetailstemplate(d);if(e.rowdetailshidden===undefined){e.rowdetailshidden=true}if(e.rowdetailsheight===undefined){e.rowdetailsheight=200}if(e.rowdetails===undefined){e.rowdetails="<div></div>"}return e}return this.rowdetailstemplate}},getrecordscount:function(){return this.dataview.totalrecords},showrowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=false;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,false)},hiderowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=true;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,true)},_togglerowdetails:function(j){if(!this.detailsVisibility){this.detailsVisibility=new Array()}var f=j.visibleindex;var g=this._getrowdetails(f);if(g!=null){var e=this.vScrollInstance.value;var i=!g.rowdetailshidden;var h=this.getboundindex(j);if(h!=undefined){this.detailsVisibility[h]=i}var d=this._setrowdetailsvisibility(f,g,i);if(e!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(e<=this.vScrollInstance.max){this.vScrollInstance.setPosition(e)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return d}return false},_setrowdetailsvisibility:function(e,f,i){if(this.rowdetailstemplate){if(!this.details){this.details=new Array()}if(!this.details[e]){var g=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(e):this.rowdetailstemplate;if(undefined===g.rowdetailshidden){g.rowdetailshidden=true}if(undefined===g.rowdetailsheight){g.rowdetailsheight=200}if(undefined===g.rowdetails){g.rowdetails="<div></div>"}this.details[e]={rowdetailshidden:g.rowdetailshidden,rowdetailsheight:g.rowdetailsheight,rowdetails:g.rowdetails};var h=this.dataview.generatekey();this.details[e].detailskey=h;this.detailboundrows[e]={index:e,details:this.details[e]}}}if(f!=null){this.details[e].rowdetailshidden=i}else{return false}var d=this.details[e];if(i){this._raiseEvent(21,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}else{this._raiseEvent(20,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}return this._setrowdetails(e,d.rowdetails,d.rowdetailsheight,d.rowdetailshidden)},getrowvisibleindex:function(d){if(d==undefined||d==null||d<0){return false}if(this.virtualmode){var e=this.dataview.loadedrecords[d];if(e==undefined){return -1}return e.visibleindex}return this.getrowdisplayindex(d)},hiderow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:true};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,true)},showrow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:false};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,false)},isrowhiddenat:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(this.rows.records[d]){return this.rows.records[d].hidden}},_setrowvisibility:function(d,f,e){if(d==null){return false}this.hiddens[d]=f;if(e==undefined||e){this.rendergridcontent(true);return true}return false},_loadrows:function(){if(!this._pageviews[this.dataview.pagenum]&&!this.pageable){return}var k=!this.pageable?this._pageviews[this.dataview.pagenum].top:0;if(!this.pageable&&this._pagescache[this.dataview.pagenum]!=undefined){return null}if(!this.virtualsizeinfo){return}var l=this.that;var s=new Array();var j=new Array();var u=l.groupable&&l.groups.length>0;var d=this.dataview.totalrecords;var m=this.virtualsizeinfo.virtualheight;var e=0;this.rows.beginupdate();var n=this.dataview.pagesize;if(this.pageable&&u){n=this.dataview.rows.length}for(var o=0;o<n;o++){if(o>=this.dataview.rows.length){break}var f=this.dataview.rows[o];var g=null;if(!l.rows.records[f.visibleindex]){g=new a(l,f)}else{g=l.rows.records[f.visibleindex];g.setdata(f)}g.hidden=this.hiddens[g.visibleindex];if(this.rowdetailstemplate){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(g.boundindex):this.rowdetailstemplate;g.rowdetails=v.rowdetails;g.rowdetailsheight=v.rowdetailsheight;g.rowdetailshidden=v.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}var r=this.details[g.visibleindex];if(r){g.rowdetails=r.rowdetails;g.rowdetailsheight=r.rowdetailsheight;g.rowdetailshidden=r.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}else{if(!this.rowdetailstemplate){g.rowdetails=null}}if(u&&this.pageable&&g.parentbounddata!=null){var p=s[g.parentbounddata.uniqueid];if(p!=null){var q=this._findgroupstate(p.uniqueid);if(this._setsubgroupsvisibility){this._setsubgroupsvisibility(this,g.parentbounddata,!q,false)}g.hidden=this.hiddens[g.visibleindex]}if(p!=null&&p!=undefined){g.parentrow=p;p.subrows[p.subrows.length++]=g}}if(g.hidden){continue}var h=f.visibleindex;if(!this.heights[h]){this.heights[h]=this.rowsheight}g.height=this.heights[h];if(this.rowdetails){if(g.rowdetails&&!g.rowdetailshidden){g.height+=g.rowdetailsheight}}s[g.uniqueid]=g;j[e++]=g;g.top=k;k+=g.height;var t=h;l.rows.replace(t,g)}if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews&&this._pageviews.length>0){this._pageviews[0].height=k}}this.rows.resumeupdate();if(j.length>0){this._pagescache[this.dataview.pagenum]=j}},_updateaddnewrowui:function(g){var m=this;var k=m.everpresentrowposition!="bottom"?m.addnewrowtop:m.addnewrowbottom;var o=m.columns.records.length;var f=0;for(var l=0;l<o;l++){var h=m.columns.records[l];if(h.addnewrowwidget){b(h.addnewrowwidget).detach()}}for(var l=0;l<o;l++){var h=m.columns.records[l];var e=h.width;if(e<h.minwidth){e=h.minwidth}if(e>h.maxwidth){e=h.maxwidth}var n=b(k[0].cells[l]);n.css("left",f);var i=true;if(n.width()==e){i=false}if(g){i=true}n.width(e);n[0].left=f;if(h.addnewrowwidget){n.html("");n.append(h.addnewrowwidget)}if(!(h.hidden&&h.hideable)&&!h.adaptivehidden){f+=e}else{n.css("display","none")}if(!i){continue}}var p=m.everpresentrowactions.split(" ");m.addnewrowbutton.show();m.addnewrowupdatebutton.show();m.addnewrowresetbutton.show();m.addnewrowdeletebutton.show();if(p.indexOf("add")==-1&&p.indexOf("addBottom")==-1){m.addnewrowbutton.hide()}if(p.indexOf("update")==-1){m.addnewrowupdatebutton.hide()}if(p.indexOf("reset")==-1){m.addnewrowresetbutton.hide()}if(p.indexOf("delete")==-1){m.addnewrowdeletebutton.hide()}var d=b(k.children()[0]);d.width(parseInt(f)+2);d.height(m.everpresentrowheight);d.css("max-height",m.everpresentrowheight+"px")},_removeaddnewrow:function(){var g=this;var d=g.columns.records.length;for(var f=0;f<d;f++){var e=g.columns.records[f];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}else{e.addnewrowwidget.remove()}e.addnewrowwidget=null}}if(g.addnewrowbutton){g.addnewrowbutton.remove()}if(g.addnewrowupdatebutton){g.addnewrowupdatebutton.remove()}if(g.addnewrowdeletebutton){g.addnewrowdeletebutton.remove()}if(g.addnewrowresetbutton){g.addnewrowresetbutton.remove()}if(g.addnewrowpopup){g.addnewrowpopup.remove();g.addnewrowpopup=null}if(g.addnewrowtop){g.addnewrowtop.remove();g.addnewrowtop=null}if(g.addnewrowbottom){g.addnewrowbottom.remove();g.addnewrowbottom=null}},_updateaddnewrow:function(){var o=this;var f=o.everpresentrowposition!="bottom"?o.addnewrowtop:o.addnewrowbottom;var t=b('<div style="position: relative;" id="row000'+o.element.id+'"></div>');var i=0;var z=o.columns.records.length;var n=o.toThemeProperty("jqx-grid-cell");n+=" "+o.toThemeProperty("jqx-grid-cell-add-new-row");n+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");var m=z+10;var h=new Array();var D=o.that;f[0].cells=h;t.height(o.everpresentrowheight);if(!o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-1)+"px")}else{if(o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-3)+"px")}}t.css("max-height",o.everpresentrowheight+"px");f.append(t);var C=b("<div style='border-width: 1px; border-style: solid; padding: 5px; z-index: 99; display: none; position: absolute;'><div>").appendTo(b(document.body));var d=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.addrowstring+"</button>");var q=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.udpaterowstring+"</button>");var k=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.deleterowstring+"</button>");var p=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.resetrowstring+"</button>");C.addClass(o.toThemeProperty("jqx-popup"));C.addClass(o.toThemeProperty("jqx-rc-all"));C.addClass(o.toThemeProperty("jqx-fill-state-normal"));C.addClass(o.toThemeProperty("jqx-shadow"));C.append(d);C.append(q);C.append(k);C.append(p);var g=o.everpresentrowactions.split(" ");if(g.indexOf("add")==-1&&g.indexOf("addBottom")==-1){d.hide()}if(g.indexOf("update")==-1){q.hide()}if(g.indexOf("reset")==-1){p.hide()}if(g.indexOf("delete")==-1){k.hide()}o.addnewrowpopup=C;o.addnewrowbutton=d;o.addnewrowupdatebutton=q;o.addnewrowdeletebutton=k;o.addnewrowresetbutton=p;d.jqxButton({template:"success",theme:o.theme});k.jqxButton({template:"danger",theme:o.theme});q.jqxButton({template:"primary",theme:o.theme});p.jqxButton({template:"warning",theme:o.theme});q.mousedown(function(E){var Q={};var J={};for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);J[F.datafield]=M;if(F.datafield!=F.displayfield){J[F.datafield]=M.value;J[F.displayfield]=M.label}}var L=false;for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);if(F.createeverpresentrowwidget&&F.validateeverpresentrowwidgetvalue){var K=F.validateeverpresentrowwidgetvalue(F.displayfield,M,J);var P=K;var I=o.gridlocalization.validationstring;if(P.message!=undefined){I=P.message}var O=typeof P=="boolean"?P:P.result;if(!O){M="invalid editor state";F.addnewrowwidget.attr("title",I);F.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{F.addnewrowwidget.attr("title","");F.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){E.preventDefault();E.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);Q[F.datafield]=M;if(F.datafield!=F.displayfield){Q[F.datafield]=M.value;Q[F.displayfield]=M.label}if(F.reseteverpresentrowwidgetvalue){F.reseteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget)}}if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var N=o.getselectedcells()[0].rowindex}else{var N=o.selectedrowindexes[0]}var G=o.getrowdata(N);if(G){o.updaterow(G.uid,Q)}}C.hide();o.focus()});k.mousedown(function(G){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var I=o.getselectedcells()[0].rowindex}else{var I=o.selectedrowindexes[0]}var H=o.getrowdata(I);if(H){o.deleterow(H.uid)}}for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}}C.hide();o.focus();o.updateeverpresentrow()});d.mousedown(function(F){var P={};var J={};for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);J[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.value;J[G.displayfield]=M.label}if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}}var L=false;for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);if(G.createeverpresentrowwidget&&G.validateeverpresentrowwidgetvalue){var K=G.validateeverpresentrowwidgetvalue(G.displayfield,M,J);var O=K;var I=o.gridlocalization.validationstring;if(O.message!=undefined){I=O.message}var N=typeof O=="boolean"?O:O.result;if(!N){M="invalid editor state";G.addnewrowwidget.attr("title",I);G.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{G.addnewrowwidget.attr("title","");G.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){F.preventDefault();F.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);P[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}if(G.reseteverpresentrowwidgetvalue){G.reseteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget)}}var E=o.everpresentrowactions.indexOf("addBottom")>=0?"last":"first";o.addrow(null,P,E);C.hide();o.focus()});p.mousedown(function(G){var H={};for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}if(E.addnewrowwidget){E.addnewrowwidget.attr("title","");E.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}C.hide();o.focus()});for(var w=0;w<z;w++){var x=o.columns.records[w];var u=x.width;if(u<x.minwidth){u=x.minwidth}if(u>x.maxwidth){u=x.maxwidth}var e=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+n+'"></div>');t.append(e);e.css("left",i);if(o.rtl){e.css("z-index",m++);e.css("border-left-width","1px")}else{e.css("z-index",m--)}if(u=="auto"){u=0}e[0].style.width=parseFloat(u)+"px";e[0].left=i;if(!(x.hidden&&x.hideable)&&!x.adaptivehidden){i+=u}else{e.css("display","none")}h[h.length]=e[0];if(x.checkboxcolumn){var B=o.toThemeProperty("jqx-grid-cell");B+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");B+=" "+o.toThemeProperty("jqx-grid-cell-pinned");e.removeClass().addClass(B);continue}var s=true;if(!o.rtl){if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y>w){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==0){s=false}}else{if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y+w>z-1){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==z-1){s=false}}o.updateeverpresentrow=function(){var G=null;if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var H=o.getselectedcells()[0].rowindex}else{var H=o.selectedrowindexes[0]}G=o.getrowdata(H)}if(!G){return}for(var F=0;F<o.columns.records.length;F++){var j=o.columns.records[F];if(j.seteverpresentrowwidgetvalue){var E=o.getcelltext(H,j.displayfield);j.seteverpresentrowwidgetvalue(j.addnewrowwidget,E)}}};if(s){if(x.createeverpresentrowwidget){var v=function(){d.trigger("mousedown")};x.addnewrowwidget=x.createeverpresentrowwidget(x.datafield,e,C,v);if(x.initeverpresentrowwidget){x.initeverpresentrowwidget(x.datafield,e,C)}}else{o._measureElement("column");var r=(o.everpresentrowheight/2-o._columnheight/2);if(r<0){r=6}r+="px";if(x.datafield==="addButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.addrowstring+"</a></div>");e.append(l);l.mousedown(function(){d.trigger("mousedown")});continue}else{if(x.datafield==="resetButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.resetrowstring+"</a></div>");e.append(l);l.mousedown(function(){p.trigger("mousedown")});continue}}var A=function(F,H,j){var E=b('<input style="box-sizing: border-box; padding-right: 4px; padding-left: 4px; border:none;" autocomplete="off" type="textarea"/>');E[0].id=b.jqx.utilities.createId();E.addClass(F.toThemeProperty("jqx-widget"));E.addClass(F.toThemeProperty("jqx-input"));E.addClass(F.toThemeProperty("jqx-widget-content"));E.addClass(F.toThemeProperty("jqx-enableselect"));E.addClass(F.toThemeProperty("jqx-grid-cell-add-new-row"));E.css("text-align",j.cellsalign);if(F.rtl){E.css("direction","rtl")}if(F.disabled){E.attr("disabled",true)}E.attr("disabled",false);E.attr("placeholder",F.gridlocalization.everpresentrowplaceholder+j.text);E.appendTo(H);E.css("width","100%");E.css("height",F.everpresentrowheight+"px");E.css("line-height",F.everpresentrowheight+"px");E.css("max-height",F.everpresentrowheight+"px");E.css("margin","0px");E.focus(function(){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var K=o.getselectedcells()[0].rowindex}else{var K=o.selectedrowindexes[0]}}E.addClass(F.toThemeProperty("jqx-fill-state-focus"));var I=F.columns.records.indexOf(j);if(F.everpresentrowactionsmode!=="columns"){C.css({display:"block",top:E.coord().top+F.everpresentrowheight-1,left:I>0?E.coord().left:E.coord().left-1})}var J=C.children().width();if(j.cellsalign==="right"){var J=d.width()+p.width();C.children().css("left",J-J+"px")}else{C.children().css("left","0px")}F.content[0].scrollLeft=0;F.content[0].scrollTop=0;setTimeout(function(){F.content[0].scrollLeft=0;F.content[0].scrollTop=0},50);return false});j.addnewrowwidget=E;if(!j.reseteverpresentrowwidgetvalue){j.reseteverpresentrowwidgetvalue=function(J,I){I.val("");I.focus();I.blur();I.removeClass(o.toThemeProperty("jqx-input-invalid"));I.attr("title","")}}if(!j.seteverpresentrowwidgetvalue){j.seteverpresentrowwidgetvalue=function(J,I){J.val(I)}}if(!j.geteverpresentrowwidgetvalue){var G=j;j.geteverpresentrowwidgetvalue=function(I,P,R){var U=P.val();if(R!==false&&G.validateeverpresentrowwidgetvalue){var Y={};var O={};for(var M=0;M<z;M++){var K=o.columns.records[M];if(!K.geteverpresentrowwidgetvalue){continue}var Q=K.geteverpresentrowwidgetvalue(K.displayfield,K.addnewrowwidget,false);O[K.datafield]=Q;if(K.datafield!=K.displayfield){O[K.datafield]=Q.value;O[K.displayfield]=Q.label}}var T=G.validateeverpresentrowwidgetvalue(G.displayfield,U,O);var X=T;var N=o.gridlocalization.validationstring;if(X.message!=undefined){N=X.message}var W=typeof X=="boolean"?X:X.result;if(!W){E.addClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title",N);return"invalid editor state"}else{E.removeClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title","")}}var S="string";var J=o.source.datafields||((o.source._source)?o.source._source.datafields:null);if(J){var V="";b.each(J,function(){if(this.name==G.displayfield){if(this.type){V=this.type}return false}});if(V){S=V}}if(S==="number"){var L=parseFloat(U);if(isNaN(L)){return null}}if(S==="date"){return b.jqx.dataFormat.tryparsedate(U,o.gridlocalization)}if(S==="bool"||S==="boolean"){if(U==="true"){return true}if(U=="1"){return true}if(U==="false"){return false}if(U=="0"){return false}if(U===true){return U}if(U===false){return U}return false}return U}}E.keydown(function(I){if(I.keyCode===13){if(o.everpresentrowactions.indexOf("add")>=0){d.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("update")>=0){q.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("delete")>=0){k.trigger("mousedown")}}}}});E.blur(function(){E.removeClass(F.toThemeProperty("jqx-fill-state-focus"));C.css("display","none")});if(j.initeverpresentrowwidget){j.initeverpresentrowwidget(j.datafield,H,C)}};A(this,e,x)}}}if(b.jqx.browser.msie&&b.jqx.browser.version<8){t.css("z-index",m--)}t.width(parseFloat(i)+2);f.addClass(n);f.css("border-bottom-width","0px");if(o.showfilterrow){f.css("border-top-width","0px")}else{f.css("border-top-width","1px")}f.css("box-sizing","border-box");f.css("border-right-width","0px")},_gettableheight:function(){if(this.tableheight!=undefined){return this.tableheight}var e=this.host.height();if(this.columnsheader){var d=this.columnsheader.outerHeight();if(!this.showheader){d=0}}e-=d;if(this.hScrollBar[0].style.visibility=="visible"){e-=this.hScrollBar.outerHeight()}if(this.pageable){e-=this.pager.outerHeight()}if(this._groupsheader()){e-=this.groupsheader.outerHeight()}if(this.showtoolbar){e-=this.toolbarheight}if(this.showstatusbar){e-=this.statusbarheight}if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){e-=this.everpresentrowheight}if(e>0){this.tableheight=e;return e}return this.host.height()},_getpagesize:function(){if(this.pageable){return this.pagesize}if(this.virtualmode){var e=Math.round(this.host.height())+2*this.rowsheight;var d=Math.round(e/this.rowsheight);return d}if(this.autoheight||this.autorowheight){if(this.dataview.totalrows==0){return 1}return this.dataview.totalrows}if(this.dataview.totalrows<100&&this.dataview.totalrecords<100&&this.dataview.totalrows>0){return this.dataview.totalrows}return 100},_calculatevirtualheight:function(){var p=this.that;var e=Math.round(this.host.height())+2*this.rowsheight;var k=this._gettableheight();var r=Math.round(e/this.rowsheight);this.heights=new Array();this.hiddens=new Array();this.details=new Array();this.expandedgroups=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();var h=Math.max(this.dataview.totalrows,this.dataview.totalrecords);if(this.pageable){h=this.pagesize;if(this.pagesize>Math.max(this.dataview.totalrows,this.dataview.totalrecords)&&this.autoheight){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}else{if(!this.autoheight){if(this.dataview.totalrows<this.pagesize){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}}}}var m=h*this.rowsheight;var n=0;var j=0;var l=0;var f=this._getpagesize();var d=f*this.rowsheight;var g=0;if(!this.pageable&&this.autoheight){r=h}if(h+f>0){while(g<=h+f){n+=d;if(g-f<h&&g>=h){var q=g-h;if(q>0){l-=d;this._pageviews[j-1]={top:l,height:d-q*this.rowsheight}}break}else{this._pageviews[j++]={top:l,height:d}}l=n;g+=f}}if(this.resizingGrid!=true){this.vScrollBar.jqxScrollBar({value:0})}if(this.hScrollBar.css("visibility")=="hidden"){var o=0;if(this.columns&&this.columns.records){for(var g=0;g<this.columns.records.length;g++){o+=!isNaN(this.columns.records[g].width)?this.columns.records[g].width:this.columns.records[g].minwidth}if(!isNaN(o)&&parseInt(o)>this.host.width()){k-=30}}}if(m>k&&!this.autoheight){this.vScrollBar.css("visibility","visible");if(this.scrollmode=="deferred"){this.vScrollBar.jqxScrollBar({max:m})}else{this.vScrollBar.jqxScrollBar({max:m-k})}}else{this.vScrollBar.css("visibility","hidden")}this.dataview.pagesize=f;this.dataview.updateview();return{visiblerecords:r,virtualheight:m}},_updatepageviews:function(){if(this.updating()){return}this._pagescache=new Array();this._pageviews=new Array();this.tableheight=null;var m=this.that;var h=Math.round(this.host.height())+2*this.rowsheight;var w=Math.round(h/this.rowsheight);var f=Math.max(this.dataview.totalrows,this.dataview.totalrecords);var n=f*this.rowsheight;var l=0;var q=0;var g=0;var p=0;var r=0;var o=this._getpagesize();if(!this.pageable){for(var t=0;t<f;t++){var d={index:t,height:this.heights[t],hidden:this.hiddens[t],details:this.details[t]};if(this.heights[t]==undefined){this.heights[t]=this.rowsheight;d.height=this.rowsheight}if(this.hiddens[t]==undefined){this.hiddens[t]=false;d.hidden=false}if(this.details[t]==undefined){this.details[t]=null}if(d.height!=m.rowsheight){n-=m.rowsheight;n+=d.height}if(d.hidden){n-=d.height}else{q+=d.height;var e=0;if(this.rowdetails){if(this.rowdetailstemplate){if(!d.details){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate():this.rowdetailstemplate;if(v.rowdetailshidden===undefined){v.rowdetailshidden=true}if(v.rowdetailsheight===undefined){v.rowdetailsheight=200}if(v.rowdetails===undefined){v.rowdetails="<div></div>"}d.details=v}}if(d.details&&d.details.rowdetails&&!d.details.rowdetailshidden){e=d.details.rowdetailsheight;q+=e;n+=e}}l+=d.height+e}r++;if(r>=o||t==f-1){this._pageviews[g++]={top:p,height:q};q=0;p=l;r=0}}}else{if(this._updatepagedview){n=this._updatepagedview(f,n,0)}if(this.autoheight){this._arrange()}}var j=this._gettableheight();if(n>j){if(this.pageable&&this.gotopage){n=this._pageviews[0].height;if(n<0){n=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(n<=j||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(n-j>0){if(this.scrollmode!="deferred"){var s=n-j;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(s!=u){this.vScrollBar.jqxScrollBar({value:0})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.autoheight){w=Math.round(this.host.height()/this.rowsheight)}this.virtualsizeinfo={visiblerecords:w,virtualheight:n}},updatebounddata:function(f){if(f!="data"&&f!="sort"&&f!="filter"&&f!="cells"&&f!="pagechanged"&&f!="pagesizechanged"&&!this.virtualmode){this.virtualsizeinfo=null;if(this.columns&&this.columns.records){for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.destroywidget&&e.widget){if(e.destroywidget){e.destroywidget(e.widget)}}}}if(this.showfilterrow&&this.filterable&&this.filterrow){if(this.clearfilters){this.clearfilters(false)}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}this.filterrow.remove();this._filterrowcache=new Array();this.filterrow=null}else{if(this.filterable){if(this.clearfilters){this.clearfilters(false)}}}if(this.showeverpresentrow){this._removeaddnewrow()}this.detailsVisibility=new Array();this.groupsVisibility=new Array();if(this.groupable){this.dataview.groups=[];this.groups=[]}if(this.pageable){this.pagenum=0;this.dataview.pagenum=0}if(this.sortable){this.sortcolumn=null;this.sortdirection="";this.dataview.sortfielddirection="";this.dataview.clearsortdata()}}this.databind(this.source,f)},refreshdata:function(){this._refreshdataview();this.render()},_updatevscrollbarmax:function(){if(this._pageviews&&this._pageviews.length>0){var f=this._pageviews[0].height;if(this.virtualmode||!this.pageable){f=this.virtualsizeinfo.virtualheight}var e=this._gettableheight();if(f>e){if(this.pageable&&this.gotopage){f=this._pageviews[0].height;if(f<0){f=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(f<=e||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(f-e>0){var d=f-e;this.vScrollBar.jqxScrollBar({max:d})}else{this.vScrollBar.jqxScrollBar({value:0,max:f})}}else{this.vScrollBar.css("visibility","hidden");this.vScrollBar.jqxScrollBar({value:0})}}},_refreshdataview:function(){this.dataview.refresh()},refresh:function(d){if(d!=true){if(b.jqx.isHidden(this.host)){return}if(this.virtualsizeinfo!=null){this._cellscache=new Array();this._renderrows(this.virtualsizeinfo);this._updatesize()}}},render:function(){this._render(true,true,true,true)},invalidate:function(){if(this.virtualsizeinfo){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}},clear:function(){this.databind(null);this.render()},_preparecolumngroups:function(){var o=this.columnsheight;if(this.columngroups){this.columnshierarchy=new Array();if(this.columngroups.length){var n=this;for(var h=0;h<this.columngroups.length;h++){this.columngroups[h].parent=null;this.columngroups[h].groups=null}for(var h=0;h<this.columns.records.length;h++){this.columns.records[h].parent=null;this.columns.records[h].groups=null}var p=function(j){for(var u=0;u<n.columngroups.length;u++){var v=n.columngroups[u];if(v.name===j){return v}}return null};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];if(!q.groups){q.groups=null}if(q.parentgroup){var s=p(q.parentgroup);if(s){q.parent=s;if(!s.groups){s.groups=new Array()}if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];if(q.columngroup){var s=p(q.columngroup);if(s){if(!s.groups){s.groups=new Array()}q.parent=s;if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}var r=0;for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];var e=q;q.level=0;while(e.parent){e=e.parent;q.level++}var e=q;var d=q.level;r=Math.max(r,q.level);while(e.parent){e=e.parent;if(e){e.level=--d}}}var m=function(y){var x=new Array();if(y.columngroup){x.push(y)}if(y.groups){for(var w=0;w<y.groups.length;w++){if(y.groups[w].columngroup){x.push(y.groups[w])}else{if(y.groups[w].groups){var v=m(y.groups[w]);for(var u=0;u<v.length;u++){x.push(v[u])}}}}}return x};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];var f=m(q);q.columns=f;var k=new Array();var t=0;for(var g=0;g<f.length;g++){k.push(this.columns.records.indexOf(f[g]));if(f[g].pinned){t++}}if(t!=0){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group cannot be pinned.")}k.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var l=1;l<k.length;l++){if(k[l]!=k[l-1]+1){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columngroupslevel=1+r;o=this.columngroupslevel*this.columnsheight}return o},_render:function(k,j,l,e,f){if(this.dataview==null){return}if(this._loading){return}if(this._batchupdate){return}if(b.jqx.isHidden(this.host)){var g=this;if(g.___hiddenTimer){clearInterval(g.___hiddenTimer);g.___hiddenTimer=null}this.___hiddenTimer=setInterval(function(){if(!b.jqx.isHidden(g.host)){clearInterval(g.___hiddenTimer);g.render()}},300);return}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,false)}this.validationpopup=null;this._removeHandlers();this._addHandlers();this._initializeRows();this._requiresupdate=j!=undefined?j:true;this._newmax=null;if(l){if(!this._requiresupdate){if(e!=false){this._initmenu()}}if(this.columns==null){this.columns=new b.jqx.collection(this.element)}else{var i=this;if(this.columns&&this.columns.name==="observableArray"){this.columns.notifier=function(p){var n=function(){i.columns=i._columns;i.render()};switch(p.type){case"add":n();break;case"update":if(p.name==="index"){i.beginupdate();for(var o in p.newValue){i.setcolumnproperty(p.newValue.datafield,o,p.newValue[o])}i.endupdate()}else{var m=p.path.split(".");i.setcolumnproperty(i.columns[m[0]].datafield,p.name,p.newValue)}break;case"delete":n();break}}}if(this.columngroups&&this.columngroups.name==="observableArray"){this.columngroups.notifier=function(m){i.render()}}this._initializeColumns()}}this.tableheight=null;this._pagescache=new Array();this._pageviews=new Array();this.visiblerows=new Array();this.hittestinfo=new Array();if(this._requiresupdate){this._clearcaches();if(e==true){this._initmenu()}}this.virtualsizeinfo=null;this.prerenderrequired=true;if((this.groupable&&this.groups.length>0&&this.rowdetails)||(this.rowdetails)){if(this.gridcontent){this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();this.detailboundrows=new Array();this.details=new Array();b.jqx.utilities.html(this.gridcontent,"");this.gridcontent=null}}if(this.gridcontent){if(this.editable&&this._destroyeditors){this._destroyeditors()}}if(l){if(this.filterrow){this.filterrow.detach()}b.jqx.utilities.html(this.content,"");this.columnsheader=this.columnsheader||b('<div style="overflow: hidden;"></div>');this.columnsheader.remove();this.columnsheader.addClass(this.toTP("jqx-widget-header"));this.columnsheader.addClass(this.toTP("jqx-grid-header"))}else{if(this.gridcontent){b.jqx.utilities.html(this.gridcontent,"")}}if(!this.showheader){this.columnsheader.css("display","none")}else{if(this.columnsheader){this.columnsheader.css("display","block")}}this.gridcontent=this.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');this.gridcontent.remove();var h=this.columnsheight;h=this._preparecolumngroups();if(this.showfilterrow&&this.filterable){this.columnsheader.height(h+this.filterrowheight);if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.filterrowheight+this.everpresentrowheight)}}else{if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.everpresentrowheight)}else{this.columnsheader.height(h)}}this.content.append(this.columnsheader);this.content.append(this.gridcontent);this._arrange();if(this._initgroupsheader){this._initgroupsheader()}this.selectionarea=this.selectionarea||b("<div style='z-index: 99; visibility: hidden; position: absolute;'></div>");this.selectionarea.addClass(this.toThemeProperty("jqx-grid-selectionarea"));this.selectionarea.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.content.append(this.selectionarea);this.tableheight=null;this.rendergridcontent(false,l);if(this.groups.length>0&&this.groupable){var d=this.vScrollBar[0].style.visibility;this.suspendgroupevents=true;if(this.collapseallgroups){if(!this.groupsexpandedbydefault){this.collapseallgroups(false);this._updatescrollbarsafterrowsprerender()}else{this.expandallgroups(false)}}if(this.vScrollBar[0].style.visibility!=d){this._updatecolumnwidths();this._updatecellwidths()}this.suspendgroupevents=false}if(this.pageable&&this.updatepagerdetails){this.updatepagerdetails();if(this.autoheight){this._updatepageviews()}if(this.autorowheight){if(!this.autoheight){this._updatepageviews()}this._renderrows(this.virtualsizeinfo)}}if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}this._addoverlayelement();if(this.scrollmode=="deferred"){this._addscrollelement()}if(this.showfilterrow&&this.filterable&&this.filterrow&&(f==undefined||f==true)){this._updatelistfilters(!l)}if(this.rendered){this.rendered("full")}this.__isRendered=true},_addoverlayelement:function(){var d=b.jqx.utilities.getBrowser();if((d.browser=="msie"&&parseInt(d.version)<9)||this.isTouchDevice()){if(this._overlayElement){this._overlayElement.remove()}this._overlayElement=b("<div class='jqxgrid-overlay' style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._overlayElement.css("background","white");this._overlayElement.css("z-index",180);this._overlayElement.css("opacity",0.001);if(this.isTouchDevice()){if(this.vScrollBar.css("visibility")!=="hidden"||this.hScrollBar.css("visibility")!=="hidden"){var e=0;if(this.selectionmode=="checkbox"){e+=30}if(this.groupable||this.rowdetails){this._overlayElement.css("left",30*(this.groups.length+(this.rowdetails?1:0)))}var f=this._overlayElement.css("left");this._overlayElement.css("left",f+e)}else{if(this._overlayElement){this._overlayElement.remove()}}}else{this.content.prepend(this._overlayElement)}}this._updateTouchScrolling()},_addscrollelement:function(){if(this._scrollelement){this._scrollelement.remove()}if(this._scrollelementoverlay){this._scrollelementoverlay.remove()}this._scrollelementoverlay=b("<div style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._scrollelementoverlay.css("background","black");this._scrollelementoverlay.css("z-index",1800);this._scrollelementoverlay.css("opacity",0.1);this._scrollelement=b("<span style='visibility: hidden; top: 50%; right: 10px; position: absolute;'></span>");this._scrollelement.css("z-index",1900);this._scrollelement.addClass(this.toThemeProperty("jqx-button"));this._scrollelement.addClass(this.toThemeProperty("jqx-fill-state-normal"));this._scrollelement.addClass(this.toThemeProperty("jqx-rc-all"));this._scrollelement.addClass(this.toThemeProperty("jqx-shadow"));this.content.prepend(this._scrollelement);this.content.prepend(this._scrollelementoverlay)},_postrender:function(f){if(f=="filter"||f=="sort"||f=="group"){if(this.rowdetails&&this.detailsVisibility&&this.detailsVisibility.length>0){this._detailsUpdate=true;for(var e=0;e<this.details.length;e++){if(this.details[e]){this.details[e].rowdetailshidden=true}}if(!this._loading){for(var e=0;e<this.detailsVisibility.length;e++){if(false===this.detailsVisibility[e]){this.showrowdetails(e)}else{if(true===this.detailsVisibility[e]){this.hiderowdetails(e)}}}}this._detailsUpdate=false;this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(this.groupable&&this.groups.length>0){if(f=="filter"||f=="sort"){for(var e=0;e<this.dataview.loadedgroups.length;e++){var h=this.dataview.loadedgroups[e];var d=0;var k;for(var g in this.groupsVisibility){if(g==h.group&&this.groupsVisibility[g]){k=true;this._setgroupstate(h,true,false);d++}}if(d>0){k=false;var j=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(j!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}}}else{if(f=="group"){this.groupsVisibility=new Array()}}}},rendergridcontent:function(e,g){if(this.updating()){return false}if(e==undefined||e==null){e=false}this._requiresupdate=e;var i=this.prerenderrequired;if(this.prerenderrequired){this._arrange()}var h=this.that;var g=g;if(g==null||g==undefined){g=true}this.tableheight=null;h.virtualsizeinfo=h.virtualsizeinfo||h._calculatevirtualheight();if(h.pageable&&!h.autoheight){if(h.dataview.totalrows<h.pagesize){h._requiresupdate=true}}if(g){h._rendercolumnheaders()}else{if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}}h._renderrows(h.virtualsizeinfo);if(this.gridcontent){if(this.gridcontent[0].scrollTop!=0){this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}if(i){var f=this.tableheight;this._arrange();if(f!=this.tableheight&&this.autoheight){h._renderrows(h.virtualsizeinfo)}}if(this.rtl){this._renderhorizontalscroll()}if(this.autosavestate){if(this.initializedcall!=null){if(this.savestate){this.savestate()}}}if(this.adaptive&&this.element.offsetWidth<=this.adaptivewidth){var d=0;var j=h.element.offsetWidth-2;b.each(this.columns.records,function(k,l){d+=this.width;if(this.columntype==="adaptive"){return true}if(d>=j){this.adaptivehidden=true}});this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_updatecolumnwidths:function(){var p=this.host.width();var f=p;var n="";if(this.columns==undefined||this.columns.records==undefined){return}var u=this.that;var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;var m=this.adaptive&&this.element.offsetWidth<=this.adaptivewidth;var e=0;if(m){var t=1;b.each(this.columns.records,function(q,v){if(this.adaptivehidden){t++}});var l=this.vScrollBar[0].offsetWidth>0?this.vScrollBar[0].offsetWidth+4:0;if(this.vScrollBar.css("visibility")=="hidden"){l=0}var k=this.columns.records.length-t;e=(this.element.offsetWidth-32-l)/k}b.each(this.columns.records,function(v,x){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var x=0;var y=u.vScrollBar[0].style.visibility=="hidden"?0:u.scrollbarsize+5;if(u.scrollbarautoshow||u.scrollbarsize==0){y=0}var q=f;x=parseFloat(this.width)*q/100;y+=h;if(this._percentagewidth!=undefined){x=parseFloat(this._percentagewidth)*(q-y)/100}if(x<this.minwidth&&this.minwidth!="auto"){x=this.minwidth}if(x>this.maxwidth&&this.maxwidth!="auto"){x=this.maxwidth}p-=x}else{if(this.width!="auto"&&!this._width){p-=this.width}else{n+=this.text}}}});var g=this._gettableheight();if(!this.autoheight){if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>g){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var s=this.dataview.loadedrootgroups.length*this.rowsheight;if(this.pageable){for(var d=0;d<this.dataview.rows.length;d++){if(this.dataview.rows[d].group&&this.dataview.rows[d].level===0){s+=this.rowsheight}}}if(s>g){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}else{if(this.vScrollBar.css("visibility")=="visible"){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}else{p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}else{if(this.vScrollBar.css("visibility")!="hidden"&&this.scrollbarsize>0){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}}var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;f-=h;if(!this.columnsheader){return}var j=this.columnsheader.find("#columntable"+this.element.id);if(j.length==0){return}var i=0;var o=this;var r=0;b.each(this.columns.records,function(w,A){var y=b(this.element);if(!this.hidden&&!this.adaptivehidden&&this.element.style.display==="none"){this.element.style.display="block"}if(this.adaptivehidden){this.element.style.display="none"}var v=false;var z=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){z=parseFloat(this._percentagewidth)*f/100}else{z=parseFloat(this.width)*f/100}v=true}if(e>0&&this.columntype!=="adaptive"){y.width(e);this.adaptivewidth=e}else{if(this.width!="auto"&&!this._width&&!v){if(parseInt(y[0].style.width)!=this.width){y.width(this.width)}}else{if(v){if(z<this.minwidth&&this.minwidth!="auto"){z=this.minwidth;this.width=z}if(z>this.maxwidth&&this.maxwidth!="auto"){z=this.maxwidth;this.width=z}if(parseInt(y[0].style.width)!=z){y.width(z);this.width=z}}else{var x=Math.floor(p*(this.text.length/n.length));r+=x;if(p-r<3&&p!=r&&p-r>0.01){if(p-r===1){x++}else{x+=2}}else{if(w==u.columns.records.length-1){if(r<p){x+=(p-r)}}}if(isNaN(x)){x=this.minwidth}if(isNaN(x)){x=this.minwidth}if(x==Infinity){x=0}if(x<0){var q=b("<span>"+this.text+"</span>");b(document.body).append(q);x=10+q.width();q.remove()}if(x<this.minwidth){x=this.minwidth}if(x>this.maxwidth){x=this.maxwidth}this._width="auto";this.width=x;y.width(this.width)}}}if(parseInt(y[0].style.left)!=i){y.css("left",i)}if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(e>0&&this.columntype!=="adaptive"){i+=e}else{i+=this.width}}this._requirewidthupdate=true});this.columnsheader.width(2+i);j.width(this.columnsheader.width());if(i==0){this.columnsheader[0].style.visibility="hidden"}else{this.columnsheader[0].style.visibility="inherit"}this._resizecolumngroups();if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}if(this.autowidth){this._arrange()}},_rendercolumnheaders:function(){var x=this.that;if(!this.prerenderrequired){if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}return}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var o=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');o[0].cells=new Array();var B=0;var h=0;var u="";var G=this.host.width();var s=G;var g=new Array();var A=new Array();var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;b.each(this.columns.records,function(j,k){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){G-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){G-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;var p=x.vScrollBar[0].style.visibility=="hidden"?0:x.scrollbarsize+5;p+=t;k=parseFloat(this.width)*(s-p)/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}G-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}G-=this.width}}}}else{u+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(x._haspinned){this.pinned=true}g[g.length]=this}else{A[A.length]=this}});if(!this.rtl){for(var D=0;D<g.length;D++){this.columns.replace(D,g[D])}for(var C=0;C<A.length;C++){this.columns.replace(g.length+C,A[C])}}else{var y=0;g.reverse();for(var D=this.columns.records.length-1;D>=this.columns.records.length-g.length;D--){this.columns.replace(D,g[y++])}for(var C=0;C<A.length;C++){this.columns.replace(C,A[C])}}var n=this.headerZIndex;var r=x.groupable?x.groups.length:0;if(this.rowdetails&&this.showrowdetailscolumn){r++}var l=x.columnsheader.height();if(this.showfilterrow){if(!this.columngroups){l=this.columnsheight}else{l-=this.filterrowheight}}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){l=this.columnsheight}else{l-=this.everpresentrowheight}}var v=this._gettableheight();if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>v&&!this.scrollbarautoshow){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var E=0;if(!this.pageable){var E=this.dataview.loadedrootgroups.length*this.rowsheight}else{if(this.pageable){for(var w=0;w<this.dataview.rows.length;w++){if(this.dataview.rows[w].group&&this.dataview.rows[w].level===0){E+=this.rowsheight}}}}if(E>v){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{if(!this.autoheight&&this.scrollbarsize>0){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}}s-=t;var d=function(j,k){var i=x.columngroupslevel*x.columnsheight;i=i-(k.level*x.columnsheight);return i};var f=document.createDocumentFragment();var z=0;b.each(this.columns.records,function(X,V){this.height=x.columnsheight;if(x.columngroups){if(x.columngroups.length){this.height=d(this.datafield,this);l=this.height}}var ab=x.toTP("jqx-grid-column-header")+" "+x.toTP("jqx-widget-header");if(x.rtl){ab+=" "+x.toTP("jqx-grid-column-header-rtl")}var Z=!x.rtl?150+n-1:150+n+1;var T=!x.rtl?n--:n++;var H=b('<div role="columnheader" style="z-index: '+T+';position: absolute; height: 100%;" class="'+ab+'"><div style="height: 100%; width: 100%;"></div></div>');if(x.columngroups){H[0].style.height=l+"px";H[0].style.bottom="0px";if(this.pinned){H[0].style.zIndex=Z}}this.uielement=H;if(this.classname!=""&&this.classname){H.addClass(this.classname)}var P=this.width;var Q=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){P=parseFloat(this._percentagewidth)*s/100}else{P=parseFloat(this.width)*s/100}Q=true}if(this.width!="auto"&&!this._width&&!Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth;this.width=P}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth;this.width=P}H[0].style.width=parseInt(P)+"px"}else{if(Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}H.width(P);this.width=P}else{if(!this.hidden&&!this.adaptivehidden){var U=Math.floor(G*(this.text.length/u.length));z+=U;if(G-z<3&&G!=z&&G-z>0.01){if(G-z===1){U++}else{U+=2}}else{if(X==x.columns.records.length-1){if(z<G){U+=(G-z)}}}if(isNaN(U)){U=this.minwidth}if(U<0){var S=b("<span>"+this.text+"</span>");b(document.body).append(S);U=10+S.width();S.remove()}if(U<this.minwidth){U=this.minwidth}if(U>this.maxwidth){U=this.maxwidth}this._width="auto";this.width=U;P=this.width;H.width(this.width)}}}if((this.hidden&&this.hideable)||this.adaptivehidden){H.css("display","none")}var p=b(H.children()[0]);var Y=x.rtl?x.toTP("jqx-grid-column-menubutton")+" "+x.toTP("jqx-grid-column-menubutton-rtl"):x.toTP("jqx-grid-column-menubutton");Y+=" "+x.toTP("jqx-icon-arrow-down");var K=b('<div style="height: '+l+'px; display: none; left: 100%; top: 0%; position: absolute;"><div class="'+Y+'" style="width: 100%; height:100%;"></div></div>');if(!x.enableanimations){K.css("margin-left",-16)}if(x.rtl){K.css("left","0px")}this.columnsmenu=K[0];o[0].cells[X]=H[0];K[0].style.width=parseInt(x.columnsmenuwidth)+"px";var J=x.columnsmenu;var q=false;var W=false;var R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);if(x.rtl){R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);R&=X>x.columns.records.length-1-r}if(R){B++;J&=false;this.sortable=false;this.editable=false;W=true}else{var M=this.renderer!=null?this.renderer(this.text,this.align,l):x._rendercolumnheader(this.text,this.align,l,x);if(M==null){M=x._rendercolumnheader(this.text,this.align,l,x)}if(this.renderer!=null){M=b(M)}J&=true;q=true}if(x.WinJS){MSApp.execUnsafeLocalFunction(function(){p.append(b(M))})}else{if(this.renderer){p.append(b(M))}else{if(M){p[0].innerHTML=M}}}if(M!=null){var O=b('<div class="iconscontainer" style="height: '+l+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortascbutton")+" "+x.toTP("jqx-icon-arrow-up")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortdescbutton")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div><div class="sorticon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; visibility: hidden; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sorticon")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div></div>');K.addClass(x.toTP("jqx-widget-header"));p.append(O);var ad=O.children();this.sorticon=ad[3];this.sortasc=ad[1];this.sortdesc=ad[2];this.filtericon=ad[0];this.iconscontainer=O;if(x.rtl){O.css("margin-left","0px");O.css("left","0px");b(this.sorticon).css("float","left");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}if(!x.autoshowfiltericon&&this.filterable){b(this.filtericon).css("display","block")}}this.element=H[0];if(J){x._handlecolumnsmenu(x,p,H,K,this);if(!this.menu){K.hide()}}f.appendChild(H[0]);if(x.groupable&&q){H[0].id=x.dataview.generatekey();if(x._handlecolumnstogroupsdragdrop){x._handlecolumnstogroupsdragdrop(this,H)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.grouping.js.")}}if(x.columnsreorder&&this.draggable&&x._handlecolumnsdragreorder){x._handlecolumnsdragreorder(this,H)}var aa=this;aa._applyStyle();x.addHandler(H,"mouseenter",function(i){aa.hovered=true;aa._applyStyle()});x.addHandler(H,"mouseleave",function(i){aa.hovered=false;aa._applyStyle()});var ac=function(aj,ae,ak){if(aj.selectable){var am=x.getrows();if(aj.selected===undefined){aj.selected=false}if(!ae.shiftKey||x._clickedcolumn===undefined){x._clickedcolumn=aj}if(ae.shiftKey&&x._clickedcolumn&&ak===undefined){var al=x.columns.records.indexOf(x._clickedcolumn);var ai=x.columns.records.indexOf(aj);var af=Math.min(al,ai);var ag=Math.max(al,ai);x.clearselection();for(var ah=af;ah<=ag;ah++){ac(x.columns.records[ah],ae,true)}x._renderrows(this.virtualsizeinfo);return}if(ak){aj.selected=true}else{if(!ae.ctrlKey){x.clearselection()}aj.selected=!aj.selected}for(var ah=0;ah<am.length;ah++){x._applycellselection(am[ah].boundindex,aj.displayfield,aj.selected,false)}if(aj.selected){aj.element.setAttribute("selected","")}else{aj.element.removeAttribute("selected")}aj._applyStyle();if(ak===undefined){x._renderrows(this.virtualsizeinfo)}}};x.addHandler(H,"click",function(i){if(aa.checkboxcolumn){return true}if(x.sorttogglestates>0&&x._togglesort){if(!x._loading){if(x.suspendClick){return true}x._togglesort(aa)}}ac(aa,i);i.preventDefault();x._raiseEvent(7,{column:aa.getcolumnproperties(),datafield:aa.datafield,originalEvent:i})});if(aa.resizable&&x.columnsresize&&!W){var I=false;var j="mousemove";if(x.isTouchDevice()&&x.touchmode!==true){I=true;j=b.jqx.mobile.getTouchEventName("touchstart")}x.addHandler(H,j,function(ae){var i=parseInt(ae.pageX);var ag=5;var aj=parseInt(H.coord().left);if(x.hasTransform){aj=b.jqx.utilities.getOffset(H).left}if(x.resizing){return true}if(x._handlecolumnsresize){if(I){var af=x.getTouches(ae);var ai=af[0];i=ai.pageX;ag=40;if(i>=aj+aa.width-ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize")}else{H.css("cursor","");x.resizablecolumn=null}return true}var ah=aa.width;if(x.rtl){ah=0}if(i>=aj+ah-ag){if(i<=aj+ah+ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize");return false}else{H.css("cursor","");x.resizablecolumn=null}}else{H.css("cursor","");if(i<aj+ah-ag){if(!aa._animating&&!aa._menuvisible){H.mouseenter()}}x.resizablecolumn=null}}})}H.css("left",h);if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){h+=P}if(aa.rendered){var N=aa.rendered(b(p[0].firstChild),aa.align,l);if(N&&O!=null){O.hide()}}if(aa.checkboxcolumn){if(O){O.hide()}if(!x.host.jqxCheckBox){throw new Error("jqxGrid: Missing reference to jqxcheckbox.js")}p.html('<div style="cursor: pointer; margin-left: 3px; top: 50%; margin-top: -9px; position: relative;"></div>');var k=p.find("div:first");k.jqxCheckBox({_canFocus:false,disabled:x.disabled,disabledContainer:true,theme:x.theme,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0});k.addClass(x.toThemeProperty("jqx-checkbox"));aa.checkboxelement=k;var L=k.data().jqxCheckBox.instance;x._checkboxcolumn=aa;L.updated=function(ae,i,af){x._checkboxcolumnupdating=true;if(x.disabled){k.jqxCheckBox({disabled:x.disabled});i=af}if(i){x.selectallrows()}else{x.unselectallrows()}x._checkboxcolumnupdating=false}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}o[0].appendChild(f);this.columnsrow=o;x.columnsheader.append(o);if(this.showfilterrow&&this._updatefilterrow){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.filterrow){var F=b("<div style='position: relative !important; '></div>");F[0].id="filterrow."+this.element.id;F.height(this.filterrowheight);this.filterrow=F}this.filterrow.width(2+h);this.columnsheader.append(this.filterrow);this._updatefilterrow()}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.addnewrowtop){var m=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");m[0].id="addnewrowtop."+this.element.id;m.height(this.everpresentrowheight);this.addnewrowtop=m}this.addnewrowtop.width(2+h);if(this.everpresentrowposition=="topAboveFilterRow"){if(this.filterrow){this.addnewrowtop.insertBefore(this.filterrow)}else{this.columnsheader.append(this.addnewrowtop)}}else{this.columnsheader.append(this.addnewrowtop)}this._updateaddnewrow()}else{if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){if(!this.addnewrowbottom){var e=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");e[0].id="addnewrowbottom."+this.element.id;e.height(this.everpresentrowheight);this.addnewrowbottom=e}this.addnewrowbottom.width(2+h);this.addnewrow.append(this.addnewrowbottom);this._updateaddnewrow()}}if(h==0){o[0].style.visibility="hidden"}else{o[0].style.visibility="inherit"}o.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsreorder){this._handlecolumnsreorder()}if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this._handlecolumnsresize){this._handlecolumnsresize()}if(this.columngroups){this._rendercolumngroups()}if(this._updatecheckboxselection){this._updatecheckboxselection()}},_rendercolumngroups:function(){if(!this.columngroups){return}var p=0;for(var m=0;m<this.columns.records.length;m++){if(this.columns.records[m].pinned){p++}}var u=this.headerZIndex-p+this.columns.records.length;var v=this.that;var h=v.toTP("jqx-grid-column-header")+" "+v.toTP("jqx-grid-columngroup-header")+" "+v.toTP("jqx-widget-header");if(v.rtl){h+=" "+v.toTP("jqx-grid-columngroup-header-rtl")}var f=this.columnsheader.find("#columntable"+this.element.id);f.find("jqx-grid-columngroup-header").remove();for(var k=0;k<this.columngroupslevel-1;k++){for(var m=0;m<this.columngroups.length;m++){var r=this.columngroups[m];var d=r.level;if(d!==k){continue}var q=d*this.columnsheight;var e=99999;if(r.groups){var t=function(y){var x=0;for(var w=0;w<y.groups.length;w++){var i=y.groups[w];if(!i.groups){if(!i.hidden){x+=i.width;e=Math.min(parseFloat(i.element.style.left),e)}}else{x+=t(i)}}return x};r.width=t(r);r.left=e;var s=this.columnsheight;var n=u--;var g=b('<div role="columnheader" style="z-index: '+n+';position: absolute;" class="'+h+'"></div>');var l=b(this._rendercolumnheader(r.text,r.align,this.columnsheight,this));if(r.renderer){var l=b("<div style='height: 100%; width: 100%;'></div>");var o=r.renderer(r.text,r.align,s);l.html(o)}g.append(l);g[0].style.left=e+"px";if(e===0){g[0].style.borderLeftColor="transparent"}if(!this.showcolumnheaderlines){g[0].style.borderRightColor="transparent";g[0].style.borderBottomColor="transparent";g[0].style.boxShadow="none"}g[0].style.top=q+"px";g[0].style.height=s+"px";g[0].style.width=-1+r.width+"px";f.append(g);r.element=g;if(r.rendered){r.rendered(l,r.align,s)}}}}},_resizecolumngroups:function(){if(!this.columngroups){return}for(var e=0;e<this.columngroups.length;e++){var k=this.columngroups[e];var l=k.level;var j=l*this.columnsheight;var h=99999;if(k.groups){var g=function(o){var n=0;for(var m=0;m<o.groups.length;m++){var i=o.groups[m];if(!i.groups){if(!i.hidden){n+=i.width;h=Math.min(parseFloat(i.element.style.left),h)}}else{n+=g(i)}}return n};k.width=g(k);k.left=h;var d=this.columnsheight;var f=k.element;f[0].style.left=h+"px";f[0].style.top=j+"px";f[0].style.height=d+"px";f[0].style.width=-1+k.width+"px"}}},_handlecolumnsmenu:function(p,g,h,k,m){p.dragmousedown=null;k[0].id=p.dataview.generatekey();g.append(k);h[0].columnsmenu=k[0];m.element=h[0];var l=this.columnsmenuwidth+1;var o=function(){if(!m.menu){return false}if(!p.resizing){if(m._menuvisible&&p._hasOpenedMenu){return false}m._animating=true;if(p.menuitemsarray&&p.menuitemsarray.length>0){if(!p.enableanimations){k.css("display","block");var q=!p.rtl?-48:16;m.iconscontainer.css("margin-left",q+"px");m._animating=false;m._menuvisible=true}else{k.css("display","block");k.stop();m.iconscontainer.stop();if(!p.rtl){k.css("margin-left","0px");k.animate({"margin-left":-l},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}else{k.css("margin-left",-l);k.animate({"margin-left":"0px"},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}var q=!p.rtl?-(32+l):l;m.iconscontainer.animate({"margin-left":q},"fast")}}}};var f="mouseenter";if(p.isTouchDevice()){f="touchstart"}p.addHandler(h,f,function(r){var q=parseInt(r.pageX);var t=p.columnsresize&&m.resizable?3:0;var v=parseInt(h.coord().left);if(p.hasTransform){v=b.jqx.utilities.getOffset(h).left}var u=m.width;if(p.rtl){u=0}if(t!=0){if(q>=v+u-t){if(q<=v+u+t){return false}}}var s=p.vScrollInstance.isScrolling();if(m.menu&&p.autoshowcolumnsmenubutton&&!s&&!p.disabled){o()}});if(!p.autoshowcolumnsmenubutton){k.css("display","block");var e=!p.rtl?-48:16;m.iconscontainer.css("margin-left",e+"px");if(!p.rtl){k.css({"margin-left":-l})}else{k.css({"margin-left":"0px"})}}p.addHandler(h,"mouseleave",function(q){if(p.menuitemsarray&&p.menuitemsarray.length>0&&m.menu){var s=b.data(document.body,"contextmenu"+p.element.id);if(s!=undefined&&k[0].id==s.columnsmenu.id){return}if(p.autoshowcolumnsmenubutton){if(!p.enableanimations){k.css("display","none");var r=!p.rtl?-32:0;m.iconscontainer.css("margin-left",r+"px");m._menuvisible=false}else{if(!p.rtl){k.css("margin-left",-l)}else{k.css("margin-left","0px")}k.stop();m.iconscontainer.stop();if(!p.rtl){k.animate({"margin-left":0},"fast",function(){k.css("display","none");m._menuvisible=false})}else{k.animate({"margin-left":-l},"fast",function(){k.css("display","none");m._menuvisible=false})}var r=!p.rtl?-32:0;m.iconscontainer.animate({"margin-left":r},"fast")}}}});var j=true;var d="";var i=b(m.filtericon);p.addHandler(k,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});p.addHandler(i,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});var n=function(){if(!m.menu){return false}if(!p.gridmenu){p._initmenu()}if(p.disabled){return false}for(var H=0;H<p.columns.records.length;H++){if(p.columns.records[H].datafield!=m.datafield){p.columns.records[H]._menuvisible=false}}var w=k.coord(true);var B=k.height();if(!j){j=true;if(d==m.datafield){p._closemenu();return false}}var r=p.host.coord(true);if(p.hasTransform){r=b.jqx.utilities.getOffset(p.host);w=b.jqx.utilities.getOffset(k)}if(r.left+p.host.width()>parseInt(w.left)+p.gridmenu.width()){p.gridmenu.jqxMenu("open",w.left,w.top+B)}else{p.gridmenu.jqxMenu("open",k.width()+w.left-p.gridmenu.width(),w.top+B)}if(p.gridmenu.width()<100){p._arrangemenu()}if(p.adaptive&&p.element.offsetWidth<p.adaptivewidth){p.gridmenu.jqxMenu("close");p.gridmenu.jqxMenu("open",r.left,w.top+B);var D=0;for(var H=0;H<p.columns.records.length;H++){var v=p.columns.records[H];if(v.hidden||v.adaptivehidden||v.columntype==="adaptive"){continue}D+=v.adaptivewidth}p.gridmenu.width(D);p.gridmenu.height(p.content.height())}if(!p.filterable||(p.filterable&&p.showfilterrow)){setTimeout(function(){p.gridmenu.focus();var I=p.gridmenu.find(".jqx-item");for(var J=0;J<I.length;J++){if(I[J].active){I[J].active=false}}var K=I[0];if(I[0].className.indexOf("disabled")>=0){K=I[1]}b(I).removeClass("jqx-fill-state-focus");b(K).addClass("jqx-fill-state-focus");K.active=true},225)}p._hasOpenedMenu=true;var z=p._getmenuitembyindex(0);var x=p._getmenuitembyindex(1);var q=p._getmenuitembyindex(2);var y=p._getmenuitembyindex(3);var t=p._getmenuitembyindex(4);var G=p._getmenuitembyindex(5);if(z!=null&&x!=null&&q!=null){var u=m.sortable&&p.sortable;p.gridmenu.jqxMenu("disable",z.id,!u);p.gridmenu.jqxMenu("disable",x.id,!u);p.gridmenu.jqxMenu("disable",q.id,!u);if(m.displayfield!=undefined){if(p.sortcolumn==m.displayfield){var E=p.getsortinformation();if(u){if(E.sortdirection.ascending){p.gridmenu.jqxMenu("disable",z.id,true)}else{p.gridmenu.jqxMenu("disable",x.id,true)}}}else{p.gridmenu.jqxMenu("disable",q.id,true)}}}if(y!=null&&t!=null){if(!p.groupable||!m.groupable){p.gridmenu.jqxMenu("disable",t.id,true);p.gridmenu.jqxMenu("disable",y.id,true)}else{if(p.groups&&p.groups.indexOf(m.datafield)!=-1){p.gridmenu.jqxMenu("disable",y.id,true);p.gridmenu.jqxMenu("disable",t.id,false)}else{p.gridmenu.jqxMenu("disable",y.id,false);p.gridmenu.jqxMenu("disable",t.id,true)}}}if(G!=null){p.menuOwner=m;p._updatefilterpanel(p,G,m);var s=0;if(p.sortable&&p._togglesort&&p.showsortmenuitems){s+=3}if(p.groupable&&p.addgroup&&p.showgroupmenuitems){s+=2}var C=s*33+6;var F=p._measureMenuElement();var C=s*F+14;if(b.jqx.browser.msie&&b.jqx.browser.version<8){C+=20;b(G).height(194)}if(p.isTouchDevice()){C+=10}if(p.filterable&&p.showfiltermenuitems){if(!m.filterable){p.gridmenu.height(C);b(G).css("display","none")}else{p.gridmenu.height(C+194);b(G).css("display","block")}}}if(p.columnmenuopening){var A=p.columnmenuopening(p.gridmenu,m.displayfield,p.gridmenu.height());if(false===A){setTimeout(function(){p._closemenu()})}}b.data(document.body,"contextmenu"+p.element.id,{column:m,columnsmenu:k[0]})};p.addHandler(i,"click",function(q){if(!m.menu){return false}if(!p.showfilterrow){if(k[0].style.display!="block"){h.trigger("mouseenter")}setTimeout(function(){if(k[0].style.display!="block"){h.trigger("mouseenter")}n()},200)}return false});p.addHandler(k,"click",function(q){if(!m.menu){return false}n();return false});if(p.isTouchDevice()){p.addHandler(k,b.jqx.mobile.getTouchEventName("touchstart"),function(q){if(!m.menu){return false}if(!p._hasOpenedMenu){n()}else{p._closemenu()}return false})}},_removecolumnhandlers:function(h){var e=this.that;var f=b(h.element);if(f.length>0){e.removeHandler(f,"mouseenter");e.removeHandler(f,"mouseleave");var g=b(h.filtericon);e.removeHandler(g,"mousedown");e.removeHandler(g,"click");e.removeHandler(f,"click");e.removeHandler(f,"mousemove");if(e.columnsreorder){e.removeHandler(f,"mousedown.drag");e.removeHandler(f,"mousemove.drag")}e.removeHandler(f,"dragstart");if(f[0].columnsmenu){var d=b(f[0].columnsmenu);e.removeHandler(d,"click");e.removeHandler(d,"mousedown");e.removeHandler(d,b.jqx.mobile.getTouchEventName("touchstart"))}}},_rendercolumnheader:function(h,i,e,d){var g="8px";if(d.columngroups){g=(e/2-this._columnheight/2);if(g<0){g=6}g+="px"}else{if(this.columnsheight!=32){g=(this.columnsheight/2-this._columnheight/2);if(g<0){g=6}g+="px"}}if(this.enableellipsis){if(i=="left"){return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 4px; margin-right: 2px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}else{return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 2px; margin-right: 4px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}}if(i=="center"||i=="middle"){return'<div style="padding-bottom: 2px; text-align: center; line-height: '+e+'px;"><a href="#">'+h+"</a></div>"}var f='<a style="line-height: '+e+"px; float: "+i+';" href="#">'+h+"</a>";return f},_renderrows:function(m,p,t){var o=this.that;if((this.pageable||this.groupable)&&(this.autoheight||this.autorowheight)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length<this.dataview.rows.length){o.prerenderrequired=true}}if(!this.pageable&&(this.autoheight||this.autorowheight)&&(this.virtualmode||this.unboundmode)){var f=this.source.totalrecords;if(!isNaN(f)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length!=f){o.prerenderrequired=true}}}if((this.autoheight||this.autorowheight)&&!o.prerenderrequired){if(this.table&&this.table[0].rows){if(this.table[0].rows.length<this.dataview.records.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}if(this.table[0].rows.length<this.dataview.cachedrecords.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}}}o._prerenderrows(m);if(o._requiresupdate){o._requiresupdate=false;o._updatepageviews()}var l=function(){if(o._loading){return}if(o.WinJS){MSApp.execUnsafeLocalFunction(function(){o._rendervisualrows()})}else{o._rendervisualrows()}if(o.virtualmode&&o.showaggregates&&o._updateaggregates){o.refreshaggregates()}};var k=b.jqx.browser.msie&&b.jqx.browser.version<10;if(this.virtualmode){var e=function(){if(o.rendergridrows){var y=o._startboundindex;if(y==undefined){y=0}var w=y+1+o.dataview.pagesize;if(y!=null&&w!=null){var x=o.source._source?true:false;var z=!x?o.source.recordstartindex:o.source._source.recordstartindex;if(z!=y||p==true){if(!x){o.source.recordstartindex=y;o.source.recordendindex=w}else{if(w>=o.source._source.totalrecords){w=o.source._source.totalrecords;y=w-o.dataview.pagesize-1;if(y<0){y=0}if(o.source._source.recordendindex==w&&o.source._source.recordstartindex==y){return}}o.source._source.recordstartindex=y;o.source._source.recordendindex=w}o.updatebounddata("cells")}}}};if(this.loadondemand){l();e();this.loadondemand=false}var d=this._browser==undefined?this._isIE10():this._browser;if(this.editable&&this.editcell&&!this.vScrollInstance.isScrolling()&&!this.hScrollInstance.isScrolling()){l()}else{if(this.autoheight){l()}else{if(d||k||(navigator&&navigator.userAgent.indexOf("Safari")!=-1)){if(this._scrolltimer!=null){clearTimeout(this._scrolltimer)}this._scrolltimer=setTimeout(function(){l()},5)}else{l()}}}}else{if(this.scrollmode=="deferred"&&(this.hScrollInstance.isScrolling()||this.vScrollInstance.isScrolling())){if(this._scrolltimer!=null){clearInterval(this._scrolltimer)}var g=this._getfirstvisualrow();if(g!=null){var r=function(B){if(g==null){return""}var A="<table>";var y=o.deferreddatafields;if(y==null){if(o.columns.records.length>0){y=new Array();y.push(o.columns.records[0].displayfield)}}for(var x=0;x<y.length;x++){var C=y[x];var z=o._getcolumnbydatafield(C);if(z){var w=o._getcellvalue(z,g);if(z.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(w)){w=b.jqx.dataFormat.formatdate(w,z.cellsformat,o.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(w)){w=b.jqx.dataFormat.formatnumber(w,z.cellsformat,o.gridlocalization)}}}}A+="<tr><td>"+w+"</td></tr>"}}A+="</table>";return A};var i=this.scrollfeedback?this.scrollfeedback(g.bounddata):r(g.bounddata);if(i!=this._scrollelementcontent){this._scrollelement[0].innerHTML=i;this._scrollelementcontent=i}}this._scrollelement.css("visibility","visible");this._scrollelementoverlay.css("visibility","visible");this._scrollelement.css("margin-top",-this._scrollelement.height()/2);this._scrolltimer=setInterval(function(){if(!o.hScrollInstance.isScrolling()&&!o.vScrollInstance.isScrolling()){l();o._scrollelement.css("visibility","hidden");o._scrollelementoverlay.css("visibility","hidden");clearInterval(o._scrolltimer);if(g){o.ensurerowvisible(g.visibleindex)}}},100);return}if(navigator&&navigator.userAgent.indexOf("Chrome")==-1&&navigator.userAgent.indexOf("Safari")!=-1){this._updatedelay=1}if(this.touchDevice!=undefined&&this.touchDevice==true){this._updatedelay=5}var d=this._browser==undefined?this._isIE10():this._browser;if(d||k){this._updatedelay=5}if((d)&&this.hScrollInstance.isScrolling()){l();return}if(b.jqx.browser.mozilla&&this._updatedelay==0&&(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling())){this._updatedelay=0}var h=this.isTouchDevice();if(h){this._updatedelay=0}if(this.updatedelay!=null){this._updatedelay=this.updatedelay}if(this._updatedelay==0){l()}else{var j=this._jqxgridrendertimer;if(j!=null){clearTimeout(j)}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){if(this._updatedelay){j=setTimeout(function(){l()},this._updatedelay)}else{j=null;l()}this._jqxgridrendertimer=j}else{this._jqxgridrendertimer=j;l()}}}if(o.autorowheight&&!o.autoheight){if(this._pageviews.length>0){var n=this._gettableheight();var q=this._pageviews[0].height;if(q>n){if(this.pageable&&this.gotopage){q=this._pageviews[0].height;if(q<0){q=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(q<=n||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(q-n>0){if(this.scrollmode!="deferred"){var s=q-n;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(Math.round(s)!=Math.round(u)){var v=this.vScrollBar.jqxScrollBar("value");if(v>s){this.vScrollBar.jqxScrollBar({value:0})}}}}else{this.vScrollBar.jqxScrollBar({value:0,max:q})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.virtualsizeinfo){this.virtualsizeinfo.virtualheight=q}}}},scrolling:function(){var e=this.vScrollInstance.isScrolling();var d=this.hScrollInstance.isScrolling();return{vertical:e,horizontal:d}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var k=parseInt(u);if(this.table==null){return}var q=this.table[0].rows.length;var p=this.columnsrow;var r=this.groupable&&this.groups.length>0?this.groups.length:0;var l=this.columns.records.length-r;var f=this.columns.records;var n=this.dataview.rows.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){k=t.max-k}}if(n&&!this._haspinned){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px"}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){if(k==0&&d.style.marginLeft==""){continue}var h=null;var x=null;var o=null;if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){o=this.addnewrowtop[0].cells[v]}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){x=this.filterrow[0].cells[v]}}if(this.showaggregates){if(this.statusbar[0].cells){h=this.statusbar[0].cells[v]}}if(!this.rtl){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px";if(h){h.style.marginLeft=k+"px"}if(x){x.style.marginLeft=k+"px"}if(o){o.style.marginLeft=k+"px"}}}else{d.style.marginLeft=-parseInt(u)+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=-parseInt(u)+"px";if(h){h.style.marginLeft=-parseInt(u)+"px"}if(x){x.style.marginLeft=-parseInt(u)+"px"}if(o){o.style.marginLeft=-parseInt(u)+"px"}}}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned==false){this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}}}if(this.showaggregates){if(this.statusbar[0].cells){var m=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){m=2+parseInt(this.hScrollBar.css("left"))}}}this.statusbar[0].style.marginLeft=-k+m+"px"}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){this.filterrow[0].style.marginLeft=-k+"px"}}if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){this.addnewrowtop[0].style.marginLeft=-k+"px"}}},_updaterowdetailsvisibility:function(){if(this.rowdetails){for(var d=0;d<this._rowdetailselementscache.length;d++){b(this._rowdetailselementscache[d]).css("display","none")}}},_getvisualcolumnsindexes:function(e,n,i,m,d,l){if(this.rowdetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:i+m}}var f=0;var k=-1;var g=i+m;var o=false;if(this.autorowheight){return{start:0,end:i+m}}if(!d){for(var h=0;h<i+m;h++){var p=h;if(!o){if(this.columns.records[h].pinned&&l){o=true}}if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>n+e){g=h;break}}}g++;if(g>i+m){g=i+m}if(k==-1||o){k=0}return{start:k,end:g}},_getvirtualcolumnsindexes:function(e,m,i,l,d){if(this.rtl||this.editcell||this.exporting){return{start:0,end:i+l}}var f=0;var k=-1;var g=i+l;if(this.autorowheight){return{start:0,end:i+l}}if(!d){for(var h=0;h<i+l;h++){var n=h;if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>m+e){g=h;break}}}g++;if(g>i+l){g=i+l}if(k==-1){k=0}return{start:k,end:g}},_getfirstvisualrow:function(){var e=this.vScrollInstance;var g=e.value;var f=parseInt(g);if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility!="visible"){f=0}if(!this.pageable){var d=this._findvisiblerow(f,this._pageviews);if(d==-1){return null}if(d!=this.dataview.pagenum){this.dataview.pagenum=d;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var h=this._findvisiblerow(f,this._pagescache[this.dataview.pagenum]);var i=this._pagescache[this.dataview.pagenum];if(i&&i[0]){return i[h]}},_rendervisualrows:function(){if(!this.virtualsizeinfo){return}var Y=this.vScrollInstance;var p=this.hScrollInstance;var j=Y.value;var C=p.value;var o=parseInt(j);var l=parseInt(C);var x=this._gettableheight();var J=this._hostwidth!=undefined?this._hostwidth:this.host.width();if(this.hScrollBar[0].style.visibility=="visible"){x+=29}if(this.scrollmode=="deferred"&&this._newmax!=0){if(o>this._newmax&&this._newmax!=null){o=this._newmax}}var al=Y.isScrolling()||p.isScrolling()||this._keydown;var D=this.groupable&&this.groups.length>0;this.visiblerows=new Array();this.hittestinfo=new Array();if(this.editcell&&this.editrow==undefined){this._hidecelleditor(false)}if(this.editrow!=undefined){this._hideeditors()}if(this.virtualmode&&!this.pageable){this._pagescache=new Array()}if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility=="hidden"){o=0}if(!this.pageable){var L=this._findvisiblerow(o,this._pageviews);if(L==-1){this._clearvisualrows();this._renderemptyrow();this._updaterowdetailsvisibility();return}if(L!=this.dataview.pagenum){this.dataview.pagenum=L;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var an=this.groupable&&this.groups.length>0?this.groups.length:0;if(!this.columns.records){return}var r=this.columns.records.length-an;var ad=this._findvisiblerow(o,this._pagescache[this.dataview.pagenum]);var M=this._pagescache[this.dataview.pagenum];var S=ad;if(S<0){S=0}var ag=0;var ac=0;var Q=0;var e=0;var U=this.virtualsizeinfo.visiblerecords;var P=this.groupable?this.groups.length:0;var B=this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(this.rtl){B+=" "+this.toTP("jqx-grid-cell-rtl")}if((this.autoheight||this.autorowheight)&&this.pageable){if(!this.groupable||(this.groupable&&this.groups.length===0)){U=this.dataview.pagesize}}if(D){B=" "+this.toTP("jqx-grid-group-cell")}if(this.isTouchDevice()){B+=" "+this.toTP("jqx-touch")}if(this.autorowheight){B+=" jqx-grid-cell-wrap"}var O=this.rowsheight;var G=S;var am=this._rendercell;var u=true;var q=this._getvisualcolumnsindexes(l,J,an,r,D,true);var d=q.start;var ab=q.end;var t=this._getvirtualcolumnsindexes(l,J,an,r,D);var I=t.start;var h=t.end;var af=b.jqx.browser.msie&&b.jqx.browser.version<9;if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews[0]){this._oldpageviewheight=this._pageviews[0].height}}if(this.autorowheight){S=0}if(S>=0){this._updaterowdetailsvisibility();this._startboundindex=M!=null?M[S].bounddata.boundindex:0;this._startvisibleindex=M!=null?M[S].bounddata.visibleindex:0;var A=this.table[0].rows;if(this.columns.records.length>10&&this.enablecolumnsvirtualization){var H=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};for(var ah=0;ah<A.length;ah++){var k=A[ah];for(var V=0;V<I;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=h;V<this.columns.records.length;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=I;V<h;V++){var aj=V;var ai=k.cells[aj];if(!H(ai)){k.appendChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=true;if(R.selectable){ai.removeAttribute("selected");if(R.selected){ai.setAttribute("selected","")}}if(!H(R)){this.columnsrow[0].appendChild(R)}if(this.filterrow&&!H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].firstChild.appendChild(this.filterrow[0].cells[aj])}}}}for(var n=0;n<U&&ac<U;n++){var ae=M!=undefined?M[S+n]:null;if(this.virtualmode&&n>=this.source.totalrecords){ae=null}if(ae==null){S=-n;if(this._pagescache[this.dataview.pagenum+1]){M=this._pagescache[this.dataview.pagenum+1];this.dataview.pagenum++}else{var s=this._pageviews.length;do{if(this.dataview.pagenum<this._pageviews.length-1){this.dataview.pagenum++;M=undefined;if(this._pageviews[this.dataview.pagenum].height>0){this.dataview.updateview();this._loadrows();M=this._pagescache[this.dataview.pagenum]}}else{M=undefined;break}}while(M==undefined&&this.dataview.pagenum<s)}if(M!=undefined){ae=M[S+n]}}if(ae!=null){if(ae.hidden){continue}this._endboundindex=this._startboundindex+n;this._endvisibleindex=this._startvisibleindex+n;if(n==0){var m=Math.abs(o-ae.top);this.table[0].style.top=-m+"px";e=-m}var k=this.table[0].rows[ac];if(!k){continue}if(parseInt(k.style.height)!=ae.height){k.style.height=parseInt(ae.height)+"px"}Q+=ae.height;var X=this.rowdetails&&ae.rowdetails;var w=!ae.rowdetailshidden;if(X&&w){k.style.height=parseInt(ae.height-ae.rowdetailsheight)+"px";U++}var K=this._isrowselected(u,ae);for(var V=d;V<ab;V++){var aj=V;this._rendervisualcell(am,B,K,X,w,D,P,k,ae,aj,ac,al)}if(ae.group!=undefined&&this._rendergroup){this._rendergroup(P,k,ae,an,r,ac,J)}if(this.autorowheight&&(this.autoheight||this.pageable)){var O=this.rowsheight;for(var V=d;V<ab;V++){if(this.editable&&this.editcell&&this.editcell.column==this.columns.records[V].datafield&&this.editcell.row==this.getboundindex(ae)){if(this.editcell.editor){O=Math.max(O,this.editcell.editor.height());continue}}if(k.cells[V].firstChild){O=Math.max(O,8+parseInt(k.cells[V].firstChild.offsetHeight))}}k.style.height=parseInt(O)+"px";this.heights[this._startboundindex+n]=O;if(X&&w){O+=ae.rowdetailsheight}ae.height=O}this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:false};if(X&&w){ac++;var k=this.table[0].rows[ac];this._renderrowdetails(B,k,ae,an,r,ac);this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:true}}if(!this.autorowheight){if(Q+e>=x){break}}}else{var aa=true;this._clearvisualrow(l,D,ac,an,r);if(Q+ag+e<=x){ag+=O}}ac++}this._horizontalvalue=l;if(ag>0){if(this.vScrollBar[0].style.visibility=="visible"){var ak=parseInt(this.table.css("top"));var F=this._pageviews[this._pageviews.length-1];var v=Y.max;var E=F.top+F.height-x;if(this.hScrollBar.css("visibility")=="visible"){E+=this.scrollbarsize+20}if(v!=E&&!this.autorowheight){if(E>=0){if(this.scrollmode!="deferred"){Y.max=E;Y.setPosition(Y.max)}else{if(this._newmax!=E){this._newmax=E;this._rendervisualrows()}}}}}}}if((this.autoheight||this.pageable)&&this.autorowheight){this._pagescache=new Array();var W=0;var g=0;for(var ah=0;ah<this.visiblerows.length;ah++){var z=this.visiblerows[ah];z.top=W;W+=z.height;g+=z.height;var X=this.rowdetails&&z.rowdetails;var w=!z.rowdetailshidden;var k=this.table[0].rows[ah];if(X&&w){ah++}for(var V=d;V<ab;V++){var Z=this.columns.records[V];if(!Z.hidden&&!Z.adaptivehidden){if(!Z.cellsrenderer){var N=k.cells[V];var f=0;if(N.firstChild){var f=(z.height-parseInt(N.firstChild.offsetHeight)-8)/2;if(X&&w){var f=(z.height-z.rowdetailsheight-b(N.firstChild).height()-8)/2}}else{var f=(z.height-parseInt(b(N).height())-8)/2}if(f>=0){f=parseInt(f)+4;if(N.firstChild){if(N.firstChild.className.indexOf("jqx-grid-groups-row")==-1){if(Z.columntype!="checkbox"&&Z.columntype!="button"){if(this.editable&&this.editcell&&this.editcell.column==Z.datafield&&this.editcell.row==this.getboundindex(z)){continue}N.firstChild.style.marginTop=f+"px"}}}}}}}}if(this._pageviews[0]){this._pageviews[0].height=g}this._arrange()}this._renderemptyrow();if(this.toCompile&&this.toCompile.length>0){var T=this;b.each(T.toCompile,function(y,ao){if(this.compiled){return true}var i=this.cell;if(!i){return true}if(b.jqx.angularCompile){b.jqx.angularCompile(i,"<div>"+this.value+"</div>")}this.compiled=true})}},_hideemptyrow:function(){if(!this.showemptyrow){return}if(!this.table){return}if(!this.table[0].rows){return}var f=this.table[0].rows[0];if(!f){return}var g=false;for(var e=0;e<f.cells.length;e++){var d=b(f.cells[e]);if(d.css("display")!="none"&&!g){if(d.width()==this.host.width()||d.text()==this.gridlocalization.emptydatastring){d[0].checkbox=null;d[0].button=null;g=true;d[0].innerHTML=""}}}},_renderemptyrow:function(){if(this._loading){return}if(this.dataview.records.length==0&&this.showemptyrow){var l=false;var e=this.toTP("jqx-grid-cell");if(this.table&&this.table.length>0&&this.table[0].rows&&this.table[0].rows.length>0){var k=this.table[0].rows[0];this.table[0].style.top="0px";for(var f=0;f<k.cells.length;f++){var d=b(k.cells[f]);if(d.css("display")!="none"&&!l){d[0].checkbox=null;d[0].button=null;d[0].className=e;l=true;d[0].innerHTML="";var g=b("<span style='white-space: nowrap; float: left; margin-left: 50%; position: relative;'></span>");g.text(this.gridlocalization.emptydatastring);d.append(g);var j=0;if(!this.oldhscroll){j=parseInt(this.table[0].style.marginLeft);if(this.rtl){d.css("z-index",999);d.css("overflow","visible")}}g.css("left",-j-(g.width()/2));g.css("top",this._gettableheight()/2-g.height()/2);if(b.jqx.browser.msie&&b.jqx.browser.version<8){g.css("margin-left","0px");g.css("left",this.host.width()/2-g.width()/2)}var h=Math.abs(parseInt(this.table[0].style.top));if(isNaN(h)){h=0}b(k).height(this._gettableheight()+h);d.css("margin-left","0px");d.width(this.host.width());if(this.table.width()<this.host.width()){this.table.width(this.host.width())}}d.addClass(this.toThemeProperty("jqx-grid-empty-cell"))}}}},_clearvisualrows:function(){var e=this.virtualsizeinfo.visiblerecords;var f=this.hScrollInstance;var d=f.value;var g=parseInt(d);var i=this.groupable&&this.groups.length>0;if(!this.columns.records){return}for(var h=0;h<e;h++){this._clearvisualrow(g,i,h,0,this.columns.records.length)}},_iscellselected:function(j,i,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groups.length>0&&this.pageable&&this.groupable){var d=this.getrowboundindexbyid(i.bounddata.uid);if(d!=-1){for(var h in this.selectedcells){if(h==d+"_"+g){f=true}}return f}return false}if(j&&i.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true;break}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex==this.selectedrowindex){f=true;break}}}}}return f},_isrowselected:function(h,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groupable&&this.groups.length>0&&this.pageable){var d=this.getrowboundindexbyid(g.bounddata.uid);if(d==undefined||d==-1){return false}if(this.selectedrowindexes.indexOf(d)!=-1){f=true}if(!f){f=d==this.selectedrowindex&&this.selectedrowindex!=-1}return f}if(h&&g.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(e+g.bounddata.boundindex==this.selectedrowindex){f=true}}}}return f},_rendervisualcell:function(D,j,s,l,x,B,k,t,d,i,w,q){var f=null;var g=this.columns.records[i];if(g.hidden||g.adaptivehidden){var e=t.cells[i];e.innerHTML="";return}var o=this._getcellvalue(g,d);var e=t.cells[i];var A=j;if(this.selectionmode.indexOf("cell")!=-1){if(this.dataview.filters.length>0){if(this.selectedcells[d.bounddata.dataindex+"_"+g.datafield]){s=true}else{s=false}}else{if(this.selectedcells[d.boundindex+"_"+g.datafield]){s=true}else{s=false}}if(this.editcell){if(this.editcell.row===d.boundindex&&this.editcell.column===g.datafield){if(g.columntype!=="checkbox"){s=false}}}if(this.virtualmode||(this.groupable&&this.groups.length>0&&this.pageable)){s=this._iscellselected(true,d,g.datafield)}}if(g.cellclassname!=""&&g.cellclassname){if(typeof g.cellclassname=="string"){A+=" "+g.cellclassname}else{var p=g.cellclassname(this.getboundindex(d),g.datafield,o,d.bounddata);if(p){A+=" "+p}}}var r=this.showsortcolumnbackground&&this.sortcolumn&&g.displayfield==this.sortcolumn;if(this.sortmode==="many"&&this.showsortcolumnbackground){var h=this.getsortcolumns();for(var v=0;v<h.length;v++){if(g.displayfield===h[v].dataField){r=true}}}if(r){A+=" "+this.toTP("jqx-grid-cell-sort")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter")}if(d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}if((g.pinned&&this.showpinnedcolumnbackground)||g.grouped){if(B){if(!d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}else{}}else{A+=" "+this.toTP("jqx-grid-cell-pinned")}}if(this.altrows&&d.group==undefined){var C=d.visibleindex;if(C>=this.altstart){if((this.altstart+C)%(1+this.altstep)==0){if(!r){A+=" "+this.toTP("jqx-grid-cell-alt")}else{A+=" "+this.toTP("jqx-grid-cell-sort-alt")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter-alt")}if(g.pinned&&this.showpinnedcolumnbackground){A+=" "+this.toTP("jqx-grid-cell-pinned-alt")}}}}if(i<=k){if(B||this.rowdetails||(this.pageable&&this.virtualmode)){var y=b(e);var n=this.columns.records[i].width;if(e.style.width!=parseInt(n)+"px"){y.width(n)}}}else{if(B||this.rowdetails){if(this._hiddencolumns){var y=b(e);var n=this.columns.records[i].width;if(parseInt(e.style.width)!=n){y.width(n)}}}}var z=true;if(this.rowdetails&&l){if(x&&!B){A+=" "+this.toTP("jqx-grid-details-cell")}else{if(B){A+=" "+this.toTP("jqx-grid-group-details-cell")}}if(this.showrowdetailscolumn){if(!this.rtl){if(d.group==undefined&&i==k&&!d.bounddata.totalsrow){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse");var u=this.toThemeProperty("jqx-icon-arrow-right");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}else{if(d.group==undefined&&i==t.cells.length-k-1){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand-rtl");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse-rtl");var u=this.toThemeProperty("jqx-icon-arrow-left");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}}}if(s&&z&&i>=k){A+=" "+this.toTP("jqx-grid-cell-selected");A+=" "+this.toTP("jqx-fill-state-pressed")}if(e.className!=A){e.className=A}g._applyCellStyle(e);if(d.group!=undefined){o="";e.title="";e.innerHTML="";return}D(this,g,d,o,e,q)},_rendercell:function(v,f,k,t,d,r){var g=t+"_"+f.visibleindex;if(f.columntype=="number"||f.cellsrenderer!=null){var g=k.uniqueid+"_"+f.visibleindex}if(f.columntype=="number"){t=k.visibleindex}if(f.columntype==="adaptive"){t="..."}f._applyCellStyle(d);if(v.showrowlines){d.style.borderBottomColor=""}else{d.style.borderBottomColor="transparent"}if(v.showcolumnheaderlines){f.element.style.borderRightColor="";f.element.style.boxShadow=""}else{f.element.style.borderRightColor="transparent";f.element.style.boxShadow="none"}if(v.showcolumnlines){d.style.borderRightColor=""}else{d.style.borderRightColor="transparent"}if(v.editcell&&v.editrow==undefined){if(v.editmode=="selectedrow"&&f.editable&&v.editable){if(v.editcell.row==v.getboundindex(k)){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,d,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,d,false,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}else{if(v.editcell.row==v.getboundindex(k)&&v.editcell.column==f.datafield){v.editcell.element=d;if(v.editcell.editing){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}}}var s=v._defaultcellsrenderer(t,f);var o=v._cellscache[g];if(o){if(f.columntype=="checkbox"){if(v.host.jqxCheckBox){if(t===""){t=null}var n=d.innerHTML.toString().length==0;if(d.checkbox&&!v.groupable&&!n){d.checkboxrow=v.getboundindex(k);if(t==""){t=false}if(t=="1"){t=true}if(t=="0"){t=false}if(t==1){t=true}if(t==0){t=false}if(t=="true"){t=true}if(t=="false"){t=false}if(t==null&&!f.threestatecheckbox){t=false}if(f.checkboxcolumn){t=false;if(v.dataview.filters.length>0&&!v.virtualmode&&k.bounddata.dataindex!=undefined){if(v.selectedrowindexes.indexOf(k.bounddata.dataindex)!=-1){t=true}}else{if(v.selectedrowindexes.indexOf(k.bounddata.boundindex)!=-1){t=true}}}if(!v.disabled){if(d.checkboxinstance){d.checkboxinstance._setState(t)}else{d.checkbox.jqxCheckBox("_setState",t)}}}else{v._rendercheckboxcell(v,d,f,k,t)}if(f.cellsrenderer!=null){var h=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(h!=undefined){d.innerHTML=h}}return}}else{if(f.columntype=="button"){if(v.host.jqxButton){if(t==""){t=false}if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}if(d.innerHTML==""){d.buttonrow=v.getboundindex(k);d.button=null;v._renderbuttoncell(v,d,f,k,t)}if(d.button&&!v.groupable){d.buttonrow=v.getboundindex(k);d.button.val(t)}else{v._renderbuttoncell(v,d,f,k,t)}return}}else{if(f.columntype=="progressbar"||f.columntype==="rating"){if(v.host.jqxButton){if(t==""){t=false}if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}if(d.innerHTML==""){d.progressrow=v.getboundindex(k);d.progress=null;v._renderprogresscell(v,d,f,k,t)}if(d.progress&&!v.groupable){d.progressrow=v.getboundindex(k);d.progress.val(t)}else{v._renderprogresscell(v,d,f,k,t)}return}}}}if(f.createwidget){if(d.innerHTML==""){d.widgetrow=v.getboundindex(k);d.widget=null;f.widget=null;v._renderwidgetcell(v,d,f,k,t)}if(d.widget&&!v.groupable){d.widgetrow=v.getboundindex(k);if(f.initwidget){f.initwidget(v.getboundindex(k),f.datafield,t,d.firstChild)}else{throw new Error("jqxGrid: 'initwidget' column function is not implemented. Please, implement 'initwidget'")}}else{v._renderwidgetcell(v,d,f,k,t)}return}var u=o.element;if(f.cellsrenderer!=null||(d.childNodes&&d.childNodes.length==0)||v.groupable||v.rowdetails){if(d.innerHTML!=u){d.innerHTML=u}}else{if(d.innerHTML.indexOf("editor")>=0){d.innerHTML=u}else{if(r){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(d.innerHTML!=u){d.innerHTML=u}}}}if(v.enabletooltips&&f.enabletooltips){d.title=o.title}return}if(f.columntype=="checkbox"){v._rendercheckboxcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="button"){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderbuttoncell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="progressbar"||f.columntype==="rating"){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderprogresscell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="number"){t=k.visibleindex}}}}if(f.createwidget){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderwidgetcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=t}return}var u=null;if(f.cellsrenderer!=null){u=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(u&&(u.indexOf("<jqx-")>=0||u.indexOf(" ng-")>=0)){if(v.toCompile){v.toCompile.push({cell:d,value:u,row:v.getboundindex(k)})}return}}else{u=s}if(u==null){u=s}var l=t;if(v.enabletooltips&&f.enabletooltips){if(f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(t)){l=b.jqx.dataFormat.formatdate(l,f.cellsformat,v.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(t)){l=b.jqx.dataFormat.formatnumber(l,f.cellsformat,v.gridlocalization)}}}}d.title=l}if(v.WinJS){b(d).html(u)}else{var j=d.innerHTML;if(j.indexOf("editor")>=0||f.cellsrenderer!=null||v.groupable||v.virtualmode){d.innerHTML=u}else{if(j.length>0){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0||j.indexOf("span")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(j!=u){d.innerHTML=u}}}}v._cellscache[g]={element:d.innerHTML,title:l};return true},_isIE10:function(){if(this._browser==undefined){var e=b.jqx.utilities.getBrowser();if(e.browser=="msie"&&parseInt(e.version)>9){this._browser=true}else{this._browser=false;if(e.browser=="msie"){var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Zune 4.7")!=-1){this._browser=true}}}}return this._browser},_renderinlinecell:function(f,d,e,i,g){var h=b(d);d.innerHTML='<div style="position: absolute;"></div>'},_rendercheckboxcell:function(g,e,f,k,h){if(g.host.jqxCheckBox){var j=b(e);if(h===""){if(f.threestatecheckbox){h=null}else{h=false}}if(h===null&&!f.threestatecheckbox){h=false}if(h=="1"){h=true}if(h=="0"){h=false}if(h==1){h=true}if(h==0){h=false}if(h=="true"){h=true}if(h=="false"){h=false}if(f.checkboxcolumn){h=false;var d=this.getboundindex(k);if(this.selectedrowindexes.indexOf(d)!=-1){h=true}}if(j.find(".jqx-checkbox").length==0){e.innerHTML='<div style="position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>';b(e.firstChild).jqxCheckBox({disabled:g.disabled,_canFocus:false,hasInput:false,hasThreeStates:f.threestatecheckbox,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,locked:true,theme:g.theme,checked:h});if(this.enabletooltips&&f.enabletooltips){e.title=""+h}if(this.editable&&f.editable){b(e.firstChild).jqxCheckBox({locked:false})}if(f.checkboxcolumn){b(e.firstChild).jqxCheckBox({locked:false})}e.checkbox=b(e.firstChild);e.checkboxinstance=e.checkbox.data().jqxCheckBox.instance;e.checkboxrow=this.getboundindex(k);var i=b.data(e.firstChild,"jqxCheckBox").instance;i.updated=function(l,s,m){if(g.disabled){s=m;var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox({disabled:g.disabled})}}}if(f.editable&&!g.disabled){var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);if(g.editrow==undefined){if(f.cellbeginedit){var u=f.cellbeginedit(e.checkboxrow,f.datafield,f.columntype,!s);if(u==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true);return}}if(f.cellvaluechanging){var t=f.cellvaluechanging(e.checkboxrow,f.datafield,f.columntype,m,s);if(t!=undefined){s=t}}if(g.editmode!=="selectedrow"){for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox("destroy")}}}if(g.editcell&&g.editcell.validated==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true)}else{if(g.editmode!=="selectedrow"||g.editcell==null){var q=g.getrowdata(e.checkboxrow);g._raiseEvent(17,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,value:m,columntype:f.columntype});g.setcellvalue(e.checkboxrow,f.datafield,s,true);g._raiseEvent(18,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,oldvalue:m,value:s,columntype:f.columntype})}else{g.setcellvalue(e.checkboxrow,f.datafield,s,false,false)}}if(f.cellendedit){f.cellendedit(e.checkboxrow,f.datafield,f.columntype,s)}}}else{if(f.checkboxcolumn){if(g.editcell){g.endcelledit(g.editcell.row,g.editcell.column,false,true)}if(!g.disabled){if(s){g.selectrow(e.checkboxrow)}else{g.unselectrow(e.checkboxrow)}if(g.autosavestate){if(g.savestate){g.savestate()}}}}}}}else{e.checkboxrow=this.getboundindex(k);b(e.firstChild).jqxCheckBox("_setState",h,!(this.editable&&f.editable)&&!f.checkboxcolumn)}}},_renderwidgetcell:function(f,d,e,i,g){var h=b(d);if(h.find(".jqx-grid-widget").length==0){var j='<div class="jqx-grid-widget" style="opacity: 0.99; position: absolute; width: 100%; height:100%; top: 0%; left: 0%; padding: 0px;"></div>';d.innerHTML=j;e.createwidget(i,e.datafield,g,d.firstChild);b(d.firstChild).attr("hideFocus","true");b(d.firstChild).children().addClass("jqx-grid-widget");d.widget=b(d.firstChild);d.widgetrow=f.getboundindex(i);e.widget=b(d.firstChild)}else{e.initwidget(f.getboundindex(i),e.datafield,g,d.firstChild);d.widgetrow=f.getboundindex(i);b(d.firstChild).val(g)}},_renderprogresscell:function(h,d,e,n,k){var l=b(d);if(e.columntype==="rating"){if(!h._linkadded){var j=document.createElement("link");j.rel="stylesheet";j.href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css";document.head.appendChild(j);h._linkadded=true}if(!e.ratingmax){e.ratingmax=5}var m="";for(var f=0;f<e.ratingmax;f++){if(k>=f+1){m+='<span style="color: rgba(255, 165, 0, 1);" class="fa fa-star checked"></span>'}else{m+='<span style="color: rgba(255, 165, 0, .3);" class="fa fa-star"></span>'}}var g=e.cellsalign;if(g==="right"){g="flex-end"}d.innerHTML='<div style="display: flex; width: 100%; height: 100%; justify-content: '+g+'; padding: 5px; box-sizing: border-box; font-size: 16px; align-items: center;">'+m+"</div>";return}if(k==""){k=false}if(l.find(".jqx-progress").length==0){d.innerHTML='<progress class="jqx-progress" max="100" style="opacity: 0.99; position: absolute; top: 10%; left: 10%; width:80%; height:80%; padding: 0px;"/>';b(d.firstChild).val(k);d.progress=b(d.firstChild);d.progressrow=h.getboundindex(n)}else{d.progressrow=h.getboundindex(n);b(d.firstChild).val(k)}},_renderbuttoncell:function(h,e,g,k,i){if(h.host.jqxButton){var j=b(e);if(i==""){i=false}if(j.find(".jqx-button").length==0){e.innerHTML='<input type="button" style="opacity: 0.99; position: absolute; top: 0%; left: 0%; padding: 0px; margin-top: 2px; margin-left: 2px;"/>';b(e.firstChild).val(i);b(e.firstChild).attr("hideFocus","true");b(e.firstChild).jqxButton({disabled:h.disabled,theme:h.theme,height:h.rowsheight-4,width:g.width-4});e.button=b(e.firstChild);e.buttonrow=h.getboundindex(k);var d=this.isTouchDevice();if(d){var f=b.jqx.mobile.getTouchEventName("touchend");h.addHandler(b(e.firstChild),f,function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}else{h.addHandler(b(e.firstChild),"click",function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}}else{e.buttonrow=h.getboundindex(k);b(e.firstChild).val(i)}}},_clearvisualrow:function(g,f,o,i,n){var m=this.toTP("jqx-grid-cell");if(f){m=" "+this.toTP("jqx-grid-group-cell")}m+=" "+this.toTP("jqx-grid-cleared-cell");var p=this.table[0].rows;for(var k=0;k<i+n;k++){if(p[o]){var e=p[o].cells[k];if(e.className!=m){e.className=m}var d=this.columns.records[k];if(this._horizontalvalue!=g&&!d.pinned){if(this.oldhscroll==true){var h=-g;e.style.marginLeft=-g+"px"}}var l=d.width;if(d.adaptivewidth){l=d.adaptivewidth}if(l<d.minwidth){l=d.minwidth}if(l>d.maxwidth){l=d.maxwidth}if(parseInt(e.style.width)!=l){if(l!="auto"){b(e)[0].style.width=l+"px"}else{b(e)[0].style.width=l}}if(e.title!=""){e.title=""}if(e.innerHTML!=""){e.innerHTML=""}}}if(p[o]){if(parseInt(p[o].style.height)!=this.rowsheight){p[o].style.height=parseInt(this.rowsheight)+"px"}}},_findgroupstate:function(e){var d=this._findgroup(e);if(d==null){return false}return d.expanded},_findgroup:function(e){var d=null;if(this.expandedgroups[e]){return this.expandedgroups[e]}return d},_clearcaches:function(){this._columnsbydatafield=new Array();this._pagescache=new Array();this._pageviews=new Array();this._cellscache=new Array();this.heights=new Array();this.hiddens=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();this.details=new Array();this.expandedgroups=new Array();this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}this.tableheight=null},_getColumnText:function(d){if(this._columnsbydatafield==undefined){this._columnsbydatafield=new Array()}if(this._columnsbydatafield[d]){return this._columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this._columnsbydatafield[d]={label:f,column:e};return this._columnsbydatafield[d]},_getcolumnbydatafield:function(d){if(this.__columnsbydatafield==undefined){this.__columnsbydatafield=new Array()}if(this.__columnsbydatafield[d]){return this.__columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this.__columnsbydatafield[d]=e;return this.__columnsbydatafield[d]},isscrollingvertically:function(){var d=(this.vScrollBar.jqxScrollBar("isScrolling"));return d},_renderrowdetails:function(q,y,d,x,n,A){if(y==undefined){return}var E=b(y);var g=0;var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;if(this.groupable&&this.groups.length>0){for(var r=0;r<=n;r++){var e=b(y.cells[r]);e[0].innerHTML="";e[0].className="jqx-grid-details-cell"}}var e=b(y.cells[g]);if(e[0].style.display=="none"){var o=y.cells[g];var B=2;var l=g;while(o!=undefined&&o.style.display=="none"&&B<10){o=y.cells[l+B-1];B++}e=b(o)}if(this.rtl){for(var v=x;v<n;v++){y.cells[v].innerHTML="";y.cells[v].className="jqx-grid-details-cell"}}e.css("width","100%");E.height(d.rowdetailsheight);e[0].className=q;var p=this.getboundindex(d);var j=p+"_";if(this._rowdetailscache[j]){var u=this._rowdetailscache[j];var C=u.html;if(this.initrowdetails){if(this._rowdetailscache[j].element){var f=this._rowdetailscache[j].element;var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);if(this.rtl){k=0}b(f).css("top",w);b(f).css("left",k);b(f).css("display","block");b(f).width(this.host.width()-t);if(this.layoutrowdetails){this.layoutrowdetails(p,f,this.element,this.getrowdata(p))}}}else{e[0].innerHTML=C}return}e[0].innerHTML="";if(!this.enablerowdetailsindent){t=0}var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+t+'px;">'+d.rowdetails+"</div>";if(this.rtl){var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+0+"px; margin-right: "+t+'px;">'+d.rowdetails+"</div>"}this._rowdetailscache[j]={id:y.id,html:h};if(this.initrowdetails){var f=b(h)[0];b(this.gridcontent).prepend(b(f));b(f).css("position","absolute");b(f).width(this.host.width()-t);b(f).height(e.height());var i=e.coord();b(f).css("z-index",1799);if(this.isTouchDevice()){b(f).css("z-index",1999)}b(f).addClass(this.toThemeProperty("jqx-widget-content"));var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);b(f).css("top",w);b(f).css("left",k);this.content[0].scrollTop=0;this.content[0].scrollLeft=0;var D=b(b(f).children()[0]);if(D[0].id!=""){D[0].id=D[0].id+p}this.initrowdetails(p,f,this.element,this.getrowdata(p));this._rowdetailscache[j].element=f;this._rowdetailselementscache[p]=f}else{e[0].innerHTML=h}},_defaultcellsrenderer:function(f,d){if(d.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(f)){f=b.jqx.dataFormat.formatdate(f,d.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(f)){f=b.jqx.dataFormat.formatnumber(f,d.cellsformat,this.gridlocalization)}}}}var e="8px";if(this.rowsheight!=31){e=(this.rowsheight/2-this._cellheight/2);if(e<0){e=4}e+="px"}if(this.enableellipsis){if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div class="jqx-grid-cell-middle-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="left"){return'<div class="jqx-grid-cell-left-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="right"){return'<div class="jqx-grid-cell-right-align" style="margin-top: '+e+';">'+f+"</div>"}}if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div style="text-align: center; margin-top: '+e+';">'+f+"</div>"}return'<span style="margin-left: 4px; margin-right: 2px; margin-top: '+e+"; float: "+d.cellsalign+';">'+f+"</span>"},getcelltext:function(g,e){if(g==null||e==null){return null}var d=this.getcellvalue(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},getcelltextbyid:function(g,e){if(g==null||e==null){return null}var d=this.getcellvaluebyid(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},_getcellvalue:function(d,f){var e=null;e=f.bounddata[d.datafield];if(d.displayfield!=null){e=f.bounddata[d.displayfield]}if(e==null){e=""}return e},getcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},getrenderedcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrenderedrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},_getcellresult:function(k,n,e){var f=this.getcolumn(e);if(f==null||f==undefined){return null}var i=f.getcolumnproperties();var g=i.hidden;var d=i.width;var m=i.pinned;var h=i.cellsalign;var j=i.cellsformat;var l=this.getrowheight(n);if(l==false){return null}return{value:k,row:n,column:e,datafield:e,width:d,height:l,hidden:g,pinned:m,align:h,format:j}},setcellvaluebyid:function(i,d,h,f,g){var e=this.getrowboundindexbyid(i);return this.setcellvalue(e,d,h,f,g)},getcellvaluebyid:function(f,d){var e=this.getrowboundindexbyid(f);return this.getcellvalue(e,d)},setcellvalue:function(o,F,H,Q,j){if(o==null||F==null){return false}var h=parseInt(o);var t=h;var C=o;if(!isNaN(h)){C=this.getrowdata(h)}var N=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){N=true}if(this.virtualmode){this._pagescache=new Array()}if(this.sortcache){this.sortcache={}}var q="";var d="";if(C!=null&&C[F]!==H){if(C[F]===null&&H===""){return}var I=this._getcolumnbydatafield(F);var R="string";if(!this.source){this.source=new b.jqx.dataAdapter({})}var v=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(v){var D="";b.each(v,function(){if(this.name==I.displayfield){if(this.type){D=this.type}return false}});if(D){R=D}d=C[I.displayfield]}q=C[F];if(!I.nullable||(H!=null&&H!==""&&I.nullable&&H.label===undefined)){if(b.jqx.dataFormat.isNumber(q)||R=="number"||R=="float"||R=="int"||R=="decimal"&&R!="date"){if(this.gridlocalization&&this.gridlocalization.decimalseparator==","){if(H&&H.indexOf&&H.indexOf(",")>=0){H=H.replace(",",".")}}H=new Number(H);H=parseFloat(H);if(isNaN(H)){H=0}}else{if(b.jqx.dataFormat.isDate(q)||R=="date"){if(H!=""){var L=H;L=new Date(L);if(L!="Invalid Date"&&L!=null){H=L}else{if(L=="Invalid Date"){L=new Date();H=L}}}}}if(C[F]===H){if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return}}var A=this.source&&this.source._source.localdata&&this.source._source.localdata.name==="observableArray";C[F]=H;if(A){var P=this.source._source.localdata;if(!P._updating){P._updating=true;P[o][F]=H;P._updating=false}}var l=this.getrenderedrowdata(h,true);if(!l){return}l[F]=H;if(H!=null&&H.label!=null){var I=this._getcolumnbydatafield(F);C[I.displayfield]=H.label;l[I.displayfield]=H.label;C[F]=H.value;l[F]=H.value;if(A&&!P._updating){P._updating=true;P[o][F]=H.value;P[o][I.displayfield]=H.label;P._updating=false}}if(N){if(C.dataindex!=undefined){t=C.dataindex;this.dataview.cachedrecords[C.dataindex][F]=H;if(H!=null&&H.label!=undefined){this.dataview.cachedrecords[C.dataindex][F]=H.value;this.dataview.cachedrecords[C.dataindex][I.displayfield]=H.label}}}}else{if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return false}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var E=h;if(N){if(C.dataindex!=undefined){E=C.dataindex}}var g=this.source._source._localdata()[E];this.source.suspendKO=true;var G=g;if(G[F]&&G[F].subscribe){if(H!=null&&H.label!=null){G[I.displayfield](H.label);G[F](H.value)}else{G[F](H)}}else{var v=this.source._source.datafields;var B=null;var x=null;if(v){b.each(v,function(){if(this.name==F){x=this.map;return false}})}if(x==null){if(H!=null&&H.label!=null){G[F]=H.value;G[I.displayfield]=H.label}else{G[F]=H}}else{var f=x.split(this.source.mapChar);if(f.length>0){var n=G;for(var M=0;M<f.length-1;M++){n=n[f[M]]}n[f[f.length-1]]=H}}this.source._source._localdata.replace(g,b.extend({},G))}this.source.suspendKO=false}}if(this.sortcolumn&&this.dataview.sortby&&!this._updating){var z=this.getsortinformation();if(this.sortcolumn==F&&this.sortmode!=="many"){this.dataview.clearsortdata();this.dataview.sortby(z.sortcolumn,z.sortdirection.ascending)}else{if(this.sortmode==="many"){var m=this.getsortcolumns();this.dataview.clearsortdata();this.sortby(null);for(var O=0;O<m.length;O++){this.sortby(m[O].dataField,m[O].ascending)}}}}else{if(!this._updating){if(this.dataview.sortby){if(this.dataview.sortcache[F]){this.dataview.sortcache[F]=null}}}}this._cellscache=new Array();this._pagescache=new Array();if(this.source.updaterow&&(j==undefined||j==true)){var J=false;var r=this.that;var s=function(i){if(false==i){r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}}};try{var k=this.getrowid(h);J=this.source.updaterow(k,C,s);if(J==undefined){J=true}}catch(w){J=false;r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}return}}var K=this.vScrollInstance.value;if(this._updating&&Q!=true){Q=false}if(Q==true||Q==undefined){var r=this.that;var e=function(){if(r.pageable&&r.updatepagerdetails){r.updatepagerdetails();if(r.autoheight||r.autorowheight){r._updatepageviews()}}};var u=this.groupable&&this.groups.length>0;if(N&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.refresh();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.sortcolumn&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.reloaddata();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.groupable&&this.groups.length>0){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}if(this.pageable){if(this.groups.indexOf(F)!=-1){this._pagescache=new Array();this._cellscache=new Array();this.dataview.refresh();this._render(true,true,false,false)}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}}}this.vScrollInstance.setPosition(K);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}if(this.showfilterrow&&this.filterable&&this.filterrow){var y=this.getcolumn(F).filtertype;if(y=="list"||y=="checkedlist"){this._updatelistfilters(true)}}this._raiseEvent(19,{rowindex:o,datafield:F,newvalue:H,value:H,oldvalue:q});return true},getcellvalue:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){var f=g[d];return f}return null},getrows:function(){var h=this.dataview.records.length;if(this.virtualmode){var j=new Array();for(var e=0;e<this.dataview.records.length;e++){var d=this.dataview.records[e];if(d){j.push(d)}}if(this.dataview.records.length===undefined){b.each(this.dataview.records,function(){var i=this;if(i){j.push(i)}})}var g=0;if(this.pageable){g=this.dataview.pagenum*this.dataview.pagesize}if(j.length>this.source._source.totalrecords-g){return j.slice(0,this.source._source.totalrecords-g)}return j}if(this.dataview.sortdata){var j=new Array();for(var e=0;e<h;e++){var f={};f=b.extend({},this.dataview.sortdata[e].value);j[e]=f}return j}else{return this.dataview.records}},getrowboundindexbyid:function(g){var f=this.dataview.recordsbyid["id"+g];if(f){if(f.boundindex){return this.getboundindex(f)}}var e=this.getboundrows();for(var d=0;d<e.length;d++){if(e[d]){if(e[d].uid==g){return d}}}return -1},getrowdatabyid:function(f){var e=this.dataview.recordsbyid["id"+f];if(e){return e}else{var d=this.getrowboundindexbyid(f);return this.getboundrows()[d]}return null},getrowdata:function(d){if(d==undefined){d=0}if(this.virtualmode){var e=this.dataview.records[d];return e}else{var e=this.getboundrows()[d];return e}return null},getrenderedrowdata:function(d,f){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var e=this.dataview.loadedrecords[g];return e}var g=this.getrowvisibleindex(d);if(g>=0){if(this.groupable&&this.groups.length>0){var e=this.dataview.loadedrecords[g]}else{var e=this.dataview.loadedrecords[g];if(this.pageable&&(f==undefined||f==false)){var e=this.dataview.loadedrecords[this.dataview.pagesize*this.dataview.pagenum+d]}}return e}return null},getboundrows:function(){return this.dataview.cachedrecords},getrowdisplayindex:function(d){var f=this.getdisplayrows();for(var e=0;e<f.length;e++){if(!f[e]){continue}if(f[e].dataindex!==undefined){if(f[e].dataindex==d){return f[e].visibleindex}}else{if(f[e].boundindex==d){return f[e].visibleindex}}}return -1},getboundindex:function(e){var d=e.boundindex;if(this.groupable&&this.groups.length>0&&this.pageable){if(e.bounddata){d=this.getrowboundindexbyid(e.bounddata.uid)}}if(this.dataview.filters.length>0){if(e.bounddata){if(e.bounddata.dataindex!==undefined){d=e.bounddata.dataindex}}else{if(e.dataindex!==undefined){d=e.dataindex}}}return d},getrowboundindex:function(d){var e=this.getdisplayrows()[d];if(e){if(e.dataindex!==undefined){return e.dataindex}return e.boundindex}return -1},getdisplayrows:function(){return this.dataview.loadedrecords},getloadedrows:function(){return this.getdisplayrows()},getvisiblerowdata:function(e){var d=this.getvisiblerows();if(d){return d[e]}return null},getloadedrowdata:function(e){var d=this.getloadedrows();if(d){return d[e]}return null},getvisiblerows:function(){if(this.virtualmode){return this.dataview.loadedrecords}if(this.pageable){var f=[];for(var e=0;e<this.dataview.pagesize;e++){var d=this.dataview.loadedrecords[e+(this.dataview.pagesize*this.dataview.pagenum)];if(d==undefined){break}f.push(d)}return f}else{if(this._startboundindex!=undefined&&this._endboundindex!=undefined){var f=[];for(var e=this._startvisibleindex;e<=this._endvisibleindex;e++){var d=this.dataview.loadedrecords[e];if(d==undefined){break}f.push(d)}return f}}return this.dataview.loadedrecords},getrowid:function(d){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g];if(f){return f.uid}}else{var f=null;var e=this.dataview.filters.length>0;if(d>=0&&d<this.dataview.bounditems.length&&!e){if(this.groupable&&this.groups.length>0){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}else{var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}if(f){return f.uid}}if(this.dataview.filters.length>0){var f=this.getboundrows()[d];if(f){if(f.uid!=null){return f.uid}}return null}}return null},_updateGridData:function(e){var d=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){d=true}if(d){this.dataview.refresh();if(e=="updaterow"){this._render(true,true,false,false,false);this.invalidate()}else{this.render()}}else{if(this.sortcolumn||(this.groupable&&this.groups.length>0)){this.dataview.reloaddata();this.render()}else{if(e==="updaterow"){this.dataview.refresh();if(!this.virtualmode){this._render(true,true,false,false,false)}}this._cellscache=new Array();this._pagescache=new Array();this._renderrows(this.virtualsizeinfo)}}if(this.showfilterrow&&this.filterable&&this.filterrow){this._updatelistfilters(true)}},updaterow:function(i,k,g){if(i!=undefined&&k!=undefined){var h=this.that;var j=false;h._datachanged=true;var e=function(q,l,u){if(q._loading){throw new Error("jqxGrid: "+q.loadingerrormessage);return false}var s=false;if(!b.isArray(l)){s=q.dataview.updaterow(l,u)}else{b.each(l,function(v,w){s=q.dataview.updaterow(this,u[v],false)});q._cellscache=new Array();q._pagescache=new Array();q.dataview.refresh()}var m=q.vScrollInstance.value;if(g==undefined||g==true){if(q._updating==undefined||q._updating==false){q._updateGridData("updaterow")}}if(q.showaggregates&&q._updatecolumnsaggregates){q._updatecolumnsaggregates()}if(q.source&&q.source._knockoutdatasource&&!q._updateFromAdapter&&q.autokoupdates){if(q.source._source._localdata){var n=q.dataview.recordsbyid["id"+l];var o=q.dataview.records.indexOf(n);var p=q.source._source._localdata()[o];q.source.suspendKO=true;q.source._source._localdata.replace(p,b.extend({},n));q.source.suspendKO=false}}var r=q.source&&q.source._source.localdata&&q.source._source.localdata.name==="observableArray";if(r){if(!q.source._source.localdata._updating){q.source._source.localdata._updating=true;var t=q.getrowboundindexbyid(l);q.source._source.localdata.set(t,u);q.source._source.localdata._updating=false}}q.vScrollInstance.setPosition(m);return s};if(this.source.updaterow){var d=function(l){if(l==true||l==undefined){e(h,i,k)}else{j=false}};try{j=this.source.updaterow(i,k,d);if(j==undefined){j=true}}catch(f){j=false}}else{j=e(h,i,k)}return j}return false},deleterow:function(d,k){if(d!=undefined){this._datachanged=true;var o=false;var m=this.that;var p=this.getrowboundindexbyid(d);var e=new Array();var j=new Array();if(p!=undefined){if(this.selectedrowindexes.indexOf(p)>=0){this.selectedrowindexes.splice(this.selectedrowindexes.indexOf(p),1)}if(this.selectedrowindex==p){this.selectedrowindex=-1}if(!this.virtualmode){if(m.selectionmode.indexOf("row")>=0){b.each(this.selectedrowindexes,function(){var q=m.getrowid(this);e.push(q)});this.selectedrowindexes=new Array();this.selectedrowindex=-1}else{if(m.selectionmode.indexOf("cell")>=0){for(var i in m.selectedcells){var n=m.selectedcells[i];var h=m.getrowid(n.rowindex);n.rowid=h}}}this._rendervisualrows()}}var f=function(w,r){if(w._loading){throw new Error("jqxGrid: "+w.loadingerrormessage);return false}var z=false;var t=w.vScrollInstance.value;if(!b.isArray(r)){var z=w.dataview.deleterow(r)}else{b.each(r,function(){z=w.dataview.deleterow(this,false)});w._cellscache=new Array();w._pagescache=new Array();w.dataview.refresh()}if(!w.virtualmode){if(w.selectionmode.indexOf("row")>=0){b.each(e,function(){var B=w.getrowboundindexbyid(this);if(B!=-1){w.selectrow(B,false)}})}else{var A=new Array();for(var v in w.selectedcells){var y=w.selectedcells[v];var u=y.rowid;var s=w.getrowboundindexbyid(u);if(s!=-1){y.rowindex=s;A[s+"_"+y.datafield]=y}}w.selectedcells=A}}if(w._updating==undefined||w._updating==false){if(k==undefined||k==true){setTimeout(function(){w._render(true,true,false,false);if(w.vScrollBar.css("visibility")!="visible"){w._arrange();w._updatecolumnwidths();w._updatecellwidths();w._renderrows(w.virtualsizeinfo)}})}}if(w.source&&w.source._knockoutdatasource&&!w._updateFromAdapter&&w.autokoupdates){if(w.source._source._localdata){w.source.suspendKO=true;w.source._source._localdata.pop();w.source.suspendKO=false}}var x=w.source&&w.source._source.localdata&&w.source._source.localdata.name==="observableArray";if(x){if(!w.source._source.localdata._updating){w.source._source.localdata._updating=true;w.source._source.localdata.splice(p,1);w.source._source.localdata._updating=false}}if(w.dataview.sortby&&w.sortmode!=="many"){var q=w.getsortinformation();if(q.sortcolumn){w.dataview.clearsortdata();w.dataview.sortby(q.sortcolumn,q.sortdirection?q.sortdirection.ascending:null)}}w.vScrollInstance.setPosition(t);return z};if(this.source.deleterow){var g=function(q){if(q==true||q==undefined){f(m,d)}};try{this.source.deleterow(d,g);if(o==undefined){o=true}}catch(l){o=false}}else{o=f(m,d)}return o}return false},addrow:function(f,o,j){if(o!=undefined){this._datachanged=true;if(j==undefined){j="last"}var n=false;var m=this.that;if(f==null){var g=this.dataview.filters&&this.dataview.filters.length>0;var l=!g?this.dataview.totalrecords:this.dataview.cachedrecords.length;if(!b.isArray(o)){f=this.dataview.getid(this.dataview.source.id,o,l);while(null!=this.dataview.recordsbyid["id"+f]){f++}}else{var d=new Array();b.each(o,function(e,p){var q=m.dataview.getid(m.dataview.source.id,o[e],l+e);d.push(q)});f=d}}var h=function(s,r,v,e){if(s._loading){throw new Error("jqxGrid: "+s.loadingerrormessage);return false}var u=s.vScrollInstance.value;var t=false;if(!b.isArray(v)){if(v!=undefined&&v.dataindex!=undefined){delete v.dataindex}t=s.dataview.addrow(r,v,e)}else{b.each(v,function(w,x){if(this.dataindex!=undefined){delete this.dataindex}var y=null;if(r!=null&&r[w]!=null){y=r[w]}t=s.dataview.addrow(y,this,e,false)});s._cellscache=new Array();s._pagescache=new Array();s.dataview.refresh()}if(s._updating==undefined||s._updating==false){s._render(true,true,false,false);s.invalidate()}if(s.source&&s.source._knockoutdatasource&&!s._updateFromAdapter&&s.autokoupdates){if(s.source._source._localdata){s.source.suspendKO=true;s.source._source._localdata.push(v);s.source.suspendKO=false}}var p=s.source&&s.source._source.localdata&&s.source._source.localdata.name==="observableArray";if(p){if(!s.source._source.localdata._updating){s.source._source.localdata._updating=true;var q=s.getrowboundindexbyid(r);s.source._source.localdata.set(q,v);s.source._source.localdata._updating=false}}if(s.scrollmode!="deferred"){s.vScrollInstance.setPosition(u)}else{s.vScrollInstance.setPosition(0)}return t};if(this.source&&this.source.addrow){var i=function(e,p){if(e==true||e==undefined){if(p!=undefined){f=p}h(m,f,o,j)}};try{n=this.source.addrow(f,o,j,i);if(n==undefined){n=true}}catch(k){n=false}if(n==false){return false}}else{h(this,f,o,j)}return n}return false},_findvisiblerow:function(h,i){if(h==undefined){h=parseInt(this.vScrollInstance.value)}var f=0;if(i==undefined||i==null){i=this.rows.records}var d=i.length;while(f<=d){var e=parseInt((f+d)/2);var g=i[e];if(g==undefined){break}if(g.top>h&&g.top+g.height>h){d=e-1}else{if(g.top<h&&g.top+g.height<h){f=e+1}else{return e;break}}}return -1},_updatecellwidths:function(){var f=this.virtualsizeinfo;if(!f){return}var p=this.that;if(p.gridcontent==undefined){return}if(p.table==undefined){p.table=p.gridcontent.find("#contenttable"+p.element.id)}var k=p.groupable&&p.groups.length>0;var q=0;var l=f.visiblerecords;if(p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.pagesize;if(p.groupable){p.dataview.updateview();l=p.dataview.rows.length}}if(!p.groupable&&!p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.totalrecords}if(p.rowdetails){l+=p.dataview.pagesize}if(!p.columns.records){return}var r=p.columns.records.length;var t=p.table[0].rows;for(var n=0;n<l;n++){var d=t[n];if(!d){break}var s=d.cells;var h=0;for(var m=0;m<r;m++){var g=p.columns.records[m];var e=g.width;if(g.adaptivewidth){e=g.adaptivewidth}var o=s[m];if(parseInt(o.style.left)!=h){o.style.left=h+"px"}if(parseInt(o.style.width)!=e){o.style.width=e+"px"}if(!(g.hidden&&g.hideable)&&!g.adaptivehidden){h+=parseFloat(e)}else{o.style.display="none"}}if(q==0){p.table.width(parseFloat(h)+2);q=h}}if(p.showaggregates&&p._updateaggregates){p._updateaggregates()}if(p.showfilterrow&&p.filterable&&p._updatefilterrowui){p._updatefilterrowui()}if(p.showeverpresentrow){p._updateaddnewrowui()}p._updatescrollbarsafterrowsprerender();if(k){p._renderrows(p.virtualsizeinfo)}},_updatescrollbarsafterrowsprerender:function(){var g=this.that;var f=g.hScrollBar[0].style.visibility;var i=0;var d=g.vScrollBar[0].style.visibility;if(d=="visible"){i=g.scrollbarsize+3}if(g.scrollbarsize==0){i=0}if(g.scrollbarautoshow){i=0}var e=g.element.style.width;if(e.toString().indexOf("%")>=0){e=g.host.width()}else{e=parseInt(e)}if(parseInt(g.table[0].style.width)-2>e-i){if(f!="visible"){if(!g.autowidth){g.hScrollBar[0].style.visibility="visible"}g._arrange()}if(d=="visible"){if(g.scrollmode!="deferred"&&!g.virtualmode){if(g.virtualsizeinfo){var h=g.virtualsizeinfo.virtualheight-g._gettableheight();if(!isNaN(h)&&h>0){if(f!="hidden"){g.vScrollBar.jqxScrollBar("max",h+g.scrollbarsize+4)}else{g.vScrollBar.jqxScrollBar("max",h)}}}}else{g._updatevscrollbarmax()}}else{i=-2}g.hScrollBar.jqxScrollBar("max",i+g.table.width()-g.host.width())}else{if(f!="hidden"){g.hScrollBar.css("visibility","hidden");g._arrange()}}g._renderhorizontalscroll()},_hascolumnstyle:function(){if(undefined!==this._hascolumnstyles){return this._hascolumnstyles}this._hascolumnstyles=false;for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.style.headerBackgroundColor||e.style.headerColor||e.style.headerBackgroundHoveredColor||e.style.headerHoveredColor||e.style.headerBackgroundSelectedColor||e.style.headerSelectedColor||e.style.backgroundColor||e.style.color||e.style.backgroundHoveredColor||e.style.hoveredColor||e.style.backgroundSelectedColor||e.style.selectedColor){this._hascolumnstyles=true;return true}}return false},_prerenderrows:function(o){var C=this.that;if(C.prerenderrequired==true){C.prerenderrequired=false;if(C.editable&&C._destroyeditors){C._destroyeditors()}if(C.gridcontent==undefined){return}C.gridcontent.find("#contenttable"+C.element.id).remove();if(C.table!=null){C.table.remove();C.table=null}C.table=b('<div id="contenttable'+C.element.id+'" style="overflow: hidden; position: relative;"></div>');C.gridcontent.addClass(C.toTP("jqx-grid-content"));C.gridcontent.addClass(C.toTP("jqx-widget-content"));C.gridcontent.append(C.table);var B=C.groupable&&C.groups.length>0;var p=0;C.table[0].rows=new Array();var l=C.toTP("jqx-grid-cell");if(B){l=" "+C.toTP("jqx-grid-group-cell")}var u=o.visiblerecords;if(C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.pagesize;if(C.groupable){C.dataview.updateview();u=C.dataview.rows.length;if(u<C.dataview.pagesize){u=C.dataview.pagesize}}}if(!C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.totalrecords}if(C.groupable&&C.groups.length>0&&(C.autoheight||C.autorowheight)&&!C.pageable){u=C.dataview.rows.length}if(C.rowdetails){if(C.autoheight||C.autorowheight){u+=C.dataview.pagesize}else{u+=u}}if(!C.columns.records){return}var A=C.columns.records.length;if(b.jqx.browser.msie&&b.jqx.browser.version>8){C.table.css("opacity","0.99")}if(b.jqx.browser.mozilla){}if(navigator.userAgent.indexOf("Safari")!=-1){C.table.css("opacity","0.99")}var r=b.jqx.browser.msie&&b.jqx.browser.version<8;if(r){C.host.attr("hideFocus","true")}var k=C.tableZIndex;if(u*A>k){k=u*A}var g=C.dataview.records.length==0;var n=C.isTouchDevice();var v="";C._hiddencolumns=false;var D=5+C.columns.records.length;for(var z=0;z<u;z++){var s='<div role="row" style="position: relative; height:'+C.rowsheight+'px;" id="row'+z+C.element.id+'">';if(r){var s='<div role="row" style="position: relative; z-index: '+k+"; height:"+C.rowsheight+'px;" id="row'+z+C.element.id+'">';k--}var f=0;for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(C.rtl){var q=k-A+2*x;var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+q+"; width:"+t+"px;";k--}else{var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+k--+"; width:"+t+"px;"}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}else{d+="display: none;";C._hiddencolumns=true;k++}if(z===0&&x===0){d+='" tabindex="'+D+'"'}d+='" class="'+l+'">';var y=this._defaultcellsrenderer("",w);d+=y;d+="</div>";s+=d}if(p==0){C.table.width(parseInt(f)+2);p=f}s+="</div>";v+=s}if(C.WinJS){MSApp.execUnsafeLocalFunction(function(){C.table.html(v)})}else{C.table[0].innerHTML=v}C.table[0].rows=new Array();var m=C.table.children();for(var z=0;z<u;z++){var h=m[z];C.table[0].rows.push(h);h.cells=new Array();var e=b(h).children();for(var x=0;x<A;x++){h.cells.push(e[x])}}if(u==0){var f=0;if(C.showemptyrow){var s=b('<div style="position: relative;" id="row0'+C.element.id+'"></div>');C.table.append(s);s.height(C.rowsheight);C.table[0].rows[0]=s[0];C.table[0].rows[0].cells=new Array()}for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(C.showemptyrow){var d=b('<div style="position: absolute; height: 100%; left: '+f+"px; z-index: "+k--+"; width:"+t+'px;" class="'+l+'"></div>');d.height(C.rowsheight);s.append(d);C.table[0].rows[0].cells[x]=d[0]}if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}}C.table.width(parseInt(f)+2);p=f}C._updatescrollbarsafterrowsprerender();if(C.rendered){C.rendered("rows")}C.toCompile=new Array();C._addoverlayelement()}},_groupsheader:function(){return this.groupable&&this.showgroupsheader},_arrange:function(){var A=null;var x=null;this.tableheight=null;var F=this.that;var n=false;var m=false;if(F.width!=null&&F.width.toString().indexOf("px")!=-1){A=F.width}else{if(F.width!=undefined&&!isNaN(F.width)){A=F.width}}if(F.width!=null&&F.width.toString().indexOf("%")!=-1){A=F.width;n=true}if(F.scrollbarautoshow){F.vScrollBar[0].style.display="none";F.hScrollBar[0].style.display="none";F.vScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex;F.hScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex}if(F.autowidth){var p=0;for(var B=0;B<F.columns.records.length;B++){var e=F.columns.records[B].width;if(e=="auto"){e=F._measureElementWidth(F.columns.records[B].text);p+=e}else{p+=e}}if(F.vScrollBar.css("visibility")!="hidden"){p+=F.scrollbarsize+4}A=p;F.width=A}if(F.height!=null&&F.height.toString().indexOf("px")!=-1){x=F.height}else{if(F.height!=undefined&&!isNaN(F.height)){x=F.height}}if(F.height!=null&&F.height.toString().indexOf("%")!=-1){x=F.height;m=true}var k=function(){var i=0;var w=F.showheader?F.columnsheader!=null?F.columnsheader.height()+2:0:0;i+=w;if(F.pageable){i+=F.pagerheight}if(F._groupsheader()){i+=F.groupsheaderheight}if(F.showtoolbar){i+=F.toolbarheight}if(F.showstatusbar){i+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){i+=F.everpresentrowheight}if(F.hScrollBar[0].style.visibility=="visible"){i+=15}return i};if(F.autoheight&&F.virtualsizeinfo){if(F.pageable&&F.gotopage){var C=0;x=C+(F._pageviews[0]?F._pageviews[0].height:0);x+=k();if(F.showemptyrow&&F.dataview.totalrecords==0){x+=F.rowsheight}}else{var C=F.host.height()-F._gettableheight();if(F._pageviews.length>0){x=C+F._pageviews[F._pageviews.length-1].height+F._pageviews[F._pageviews.length-1].top;F.vScrollBar[0].style.visibility="hidden"}else{x=k();if(F.showemptyrow){x+=F.rowsheight}}}}else{if(F.autoheight){x=F.dataview.totalrecords*F.rowsheight;if(F.pageable&&F.gotopage){x=F.pagesize*F.rowsheight}if(F._loading){x=250;F.dataloadelement.height(x)}x+=k();if(x>10000){x=10000}}}if(A!=null){A=parseInt(A);if(!n){if(F.element.style.width!=parseInt(F.width)+"px"){F.element.style.width=parseInt(F.width)+"px"}}else{F.element.style.width=F.width}if(n){A=F.host.width();if(A<=2){A=600;F.host.width(A)}if(!F._oldWidth){F._oldWidth=A}}}else{F.host.width(250)}if(x!=null){if(this.autoheight){x+=2}if(!m){x=parseInt(x)}if(!m){if(F.element.style.height!=parseInt(x)+"px"){F.element.style.height=parseInt(x)+"px"}}else{F.element.style.height=F.height}if(m&&!F.autoheight){x=F.host.height();if(x==0){x=400;F.host.height(x)}if(!F._oldHeight){F._oldHeight=x}}}else{F.host.height(250)}if(F.autoheight){F.tableheight=null;F._gettableheight()}var v=0;if(F.showtoolbar){F.toolbar.width(A);F.toolbar.height(F.toolbarheight-1);F.toolbar.css("top",0);v+=F.toolbarheight;x-=parseInt(F.toolbarheight)}else{F.toolbar[0].style.height="0px"}if(F.showstatusbar){if(F.showaggregates){F.statusbar.width(!F.table?A:Math.max(A,F.table.width()))}else{F.statusbar.width(A)}F.statusbar.height(F.statusbarheight)}else{F.statusbar[0].style.height="0px"}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.width(A);F.addnewrow.height(F.everpresentrowheight)}else{F.addnewrow[0].style.height="0px"}if(F._groupsheader()){F.groupsheader.width(A);F.groupsheader.height(F.groupsheaderheight);F.groupsheader.css("top",v);var y=F.groupsheader.height()+1;v+=y;if(x>y){x-=parseInt(y)}}else{if(F.groupsheader[0].style.width!=A+"px"){F.groupsheader[0].style.width=parseInt(A)+"px"}F.groupsheader[0].style.height="0px";if(F.groupsheader[0].style.top!=v+"px"){F.groupsheader.css("top",v)}var y=F.showgroupsheader&&F.groupable?F.groupsheaderheight:0;var f=v+y+"px";if(F.content[0].style.top!=f){F.content.css("top",v+F.groupsheaderheight)}}var d=F.scrollbarsize;if(isNaN(d)){d=parseInt(d);if(isNaN(d)){d="17px"}else{d=d+"px"}}d=parseInt(d);var s=4;var h=2;var j=0;if(F.vScrollBar[0].style.visibility=="visible"){j=d+s}if(F.hScrollBar[0].style.visibility=="visible"){h=d+s+2}if(d==0){j=0;h=0}var r=0;if(F.pageable){r=F.pagerheight;h+=F.pagerheight}if(F.showstatusbar){h+=F.statusbarheight;r+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){h+=F.everpresentrowheight;r+=F.everpresentrowheight}if(F.hScrollBar[0].style.height!=d+"px"){F.hScrollBar[0].style.height=parseInt(d)+"px"}if(F.hScrollBar[0].style.top!=v+x-s-d-r+"px"||F.hScrollBar[0].style.left!="0px"){F.hScrollBar.css({top:v+x-s-d-r+"px",left:"0px"})}var q=F.hScrollBar[0].style.width;var l=false;var D=false;if(j==0){if(q!=(A-2)+"px"){F.hScrollBar.width(A-2);l=true}}else{if(q!=(A-d-s)+"px"){F.hScrollBar.width(A-d-s+"px");l=true}}if(!F.autoheight){if(F.vScrollBar[0].style.width!=d+"px"){F.vScrollBar.width(d);D=true}if(F.vScrollBar[0].style.height!=parseInt(x)-h+"px"){F.vScrollBar.height(parseInt(x)-h+"px");D=true}if(F.vScrollBar[0].style.left!=parseInt(A)-parseInt(d)-s+"px"||F.vScrollBar[0].style.top!=v+"px"){F.vScrollBar.css({left:parseInt(A)-parseInt(d)-s+"px",top:v})}}if(F.rtl){F.vScrollBar.css({left:"0px",top:v});if(F.vScrollBar.css("visibility")!="hidden"){F.hScrollBar.css({left:d+2})}}var o=F.vScrollInstance;o.disabled=F.disabled;if(!F.autoheight){if(D){o.refresh()}}var z=F.hScrollInstance;z.disabled=F.disabled;if(l){z.refresh()}if(F.autowidth){F.hScrollBar[0].style.visibility="hidden"}F.statusbarheight=parseInt(F.statusbarheight);F.toolbarheight=parseInt(F.toolbarheight);var t=function(w){if((w.vScrollBar[0].style.visibility=="visible")&&(w.hScrollBar[0].style.visibility=="visible")){w.bottomRight[0].style.visibility="visible";w.bottomRight.css({left:1+parseInt(w.vScrollBar.css("left")),top:parseInt(w.hScrollBar.css("top"))});if(w.rtl){w.bottomRight.css("left","0px")}w.bottomRight.width(parseInt(d)+3);w.bottomRight.height(parseInt(d)+4);var G=w.showeverpresentrow&&w.everpresentrowposition=="bottom";var i=G?w.everpresentrowheight:0;if(i>0&&!w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-i})}if(w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+w.statusbarheight+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-w.statusbarheight-i})}}else{w.bottomRight[0].style.visibility="hidden"}};t(this);if(F.content[0].style.width!=A-j+"px"){F.content.width(A-j)}if(F.content[0].style.height!=x-h+3+"px"){F.content.height(x-h+3)}if(F.scrollbarautoshow){if(F.content[0].style.width!=A+"px"){F.content.width(A)}if(F.content[0].style.height!=x+"px"){F.content.height(x)}}if(F.content[0].style.top!=v+"px"){F.content.css("top",v)}if(F.rtl){F.content.css("left",j);if(F.scrollbarautoshow){F.content.css("left","0px")}if(F.table){var u=F.table.width();if(u<A-j){F.content.css("left",A-u)}}}if(F.showstatusbar){F.statusbar.css("top",v+x-F.statusbarheight-(F.pageable?F.pagerheight:0));if(F.showaggregates){if(F.hScrollBar.css("visibility")=="visible"){F.hScrollBar.css({top:v+x-s-d-r+F.statusbarheight+"px"});F.statusbar.css("top",1+v+x-d-5-F.statusbarheight-(F.pageable?F.pagerheight:0))}t(this)}if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.statusbar.css("left",F.content.css("left"))}else{F.statusbar.css("left","0px")}}}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.css("top",v+x-(F.showstatusbar?F.statusbarheight:0)-(F.pageable?F.pagerheight:0)-F.everpresentrowheight);if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.addnewrow.css("left",F.content.css("left"))}else{F.addnewrow.css("left","0px")}}}if(F.pageable){F.pager.width(A);F.pager.height(F.pagerheight);F.pager.css("top",v+x-F.pagerheight-1)}else{F.pager[0].style.height="0px"}if(F.table!=null){var g=-2;if(F.vScrollBar[0].style.visibility=="visible"){g=F.scrollbarsize+3}if(F.hScrollBar[0].style.visibility=="visible"){var E=g+F.table.width()-F.host.width();if(E>=0){F.hScrollBar.jqxScrollBar("max",E)}if(F.hScrollBar[0].style.visibility=="visible"&&E==0){F.hScrollBar[0].style.visibility="hidden";F._arrange()}}}if(A!=parseInt(F.dataloadelement[0].style.width)){F.dataloadelement[0].style.width=F.element.style.width}if(x!=parseInt(F.dataloadelement[0].style.height)){F.dataloadelement[0].style.height=F.element.style.height}if(this.pagergotoinput){if(this.pagergotoinput.offset().top!==this.pagergoto.offset().top){this.pagergotoinput.css("visibility","hidden");this.pagergoto.css("visibility","hidden")}else{this.pagergotoinput.css("visibility","inherit");this.pagergoto.css("visibility","inherit")}}F._hostwidth=A},destroy:function(){delete b.jqx.dataFormat.datescache;delete this.gridlocalization;b.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(b(window.top.document),"mouseup.grid"+this.element.id)}}if(this.table&&this.table[0]){var m=this.table[0].rows.length;for(var k=0;k<m;k++){var q=this.table[0].rows[k];var p=q.cells;var f=p.length;for(var h=0;h<f;h++){b(q.cells[h]).remove();q.cells[h]=null;delete q.cells[h]}q.cells=null;if(q.cells){delete q.cells}b(this.table[0].rows[k]).remove();this.table[0].rows[k]=null}try{delete this.table[0].rows}catch(n){}this.table.remove();delete this.table}if(this.columns&&this.columns.records){for(var k=0;k<this.columns.records.length;k++){var e=this.columns.records[k];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}}if(e.destroywidget){if(e.destroywidget){e.destroywidget(e.widget)}}this._removecolumnhandlers(this.columns.records[k]);if(e.element){b(e.element).remove();b(e.sortasc).remove();b(e.sortdesc).remove();b(e.filtericon).remove();b(e.menu).remove();e.element=null;e.uielement=null;e.sortasc=null;e.sortdesc=null;e.filtericon=null;e.menu=null;delete e.element;delete e.uielement;delete e.sortasc;delete e.sortdesc;delete e.filtericon;delete e.menu;delete this.columnsrow[0].cells[k]}}try{delete this.columnsrow[0].cells}catch(n){}delete this.columnsrow}b.removeData(document.body,"contextmenu"+this.element.id);if(this.host.jqxDropDownList){if(this._destroyfilterpanel){this._destroyfilterpanel()}}if(this.editable&&this._destroyeditors){this._destroyeditors()}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}if(this.host.jqxMenu){if(this.gridmenu){this.removeHandler(b(document),"click.menu"+this.element.id);this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu=null}}if(this.pagershowrowscombo){this.pagershowrowscombo.jqxDropDownList("destroy");this.pagershowrowscombo=null}if(this.pagerrightbutton){this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.pagerrightbutton.jqxButton("destroy");this.pagerrightbutton=null}if(this.pagerleftbutton){this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.pagerleftbutton.jqxButton("destroy");this.removeHandler(b(document),"mouseup.pagerbuttons"+this.element.id);this.pagerleftbutton=null}this.removeHandler(b(document),"selectstart."+this.element.id);this.removeHandler(b(document),"mousedown.resize"+this.element.id);this.removeHandler(b(document),"mouseup.resize"+this.element.id);this.removeHandler(b(document),"mousemove.resize"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(document),"mousedown.reorder"+this.element.id);this.removeHandler(b(document),"mouseup.reorder"+this.element.id);this.removeHandler(b(document),"mousemove.reorder"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(window),"resize."+this.element.id);if(this.resizeline){this.resizeline.remove()}if(this.resizestartline){this.resizestartline.remove()}if(this.groupable){var l="mousemove.grouping"+this.element.id;var d="mousedown.grouping"+this.element.id;var g="mouseup.grouping"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}if(this.columnsreorder){var l="mousemove.reorder"+this.element.id;var d="mousedown.reorder"+this.element.id;var g="mouseup.reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g);delete this.columnsbounds}if(this.content){this.removeHandler(this.content,"mousedown");this.removeHandler(this.content,"scroll")}this._removeHandlers();this.hScrollInstance.destroy();this.vScrollInstance.destroy();this.hScrollBar.remove();this.vScrollBar.remove();this._clearcaches();delete this.hScrollInstance;delete this.vScrollInstance;delete this.visiblerows;delete this.hittestinfo;delete this.rows;delete this.columns;delete this.columnsbydatafield;delete this.pagescache;delete this.pageviews;delete this.cellscache;delete this.heights;delete this.hiddens;delete this.hiddenboundrows;delete this.heightboundrows;delete this.detailboundrows;delete this.details;delete this.expandedgroups;delete this._rowdetailscache;delete this._rowdetailselementscache;delete this.columnsmenu;if(this.columnsheader){this.columnsheader.remove();delete this.columnsheader}if(this.selectionarea){this.selectionarea.remove();delete this.selectionarea}if(this.menuitemsarray&&this.menuitemsarray.length){var o=this.menuitemsarray.length;for(var k=0;k<o;k++){b(this.menuitemsarray[k]).remove()}}delete this.menuitemsarray;this.dataview._clearcaches();this.content.removeClass();this.content.remove();this.content=null;delete this.content;this.vScrollBar=null;this.hScrollBar=null;delete this.hScrollBar;delete this.hScrollBar;if(this.gridcontent){this.gridcontent.remove();delete this.gridcontent}if(this.gridmenu){this.gridmenu=null;delete this.gridmenu}delete this._mousemovefunc;delete this._mousewheelfunc;this.dataview.destroy();delete this.dataview;this.bottomRight.remove();delete this.bottomRight;this.wrapper.remove();delete this.wrapper;if(this.pagerdiv){this.pagerdiv.remove();delete this.pagerdiv}if(this.pagerpageinput){this.pagerpageinput.remove();delete this.pagerpageinput}if(this.pagergoto){this.pagergoto.remove();delete this.pagergoto}if(this.pagershowrows){this.pagershowrows.remove();delete this.pagershowrows}if(this.pagerfirstbutton){this.pagerfirstbutton.remove();delete this.pagerfirstbutton}if(this.pagerlastbutton){this.pagerlastbutton.remove();delete this.pagerlastbutton}if(this.pagerbuttons){this.pagerbuttons.remove();delete this.pagerbuttons}if(this.pagerdetails){this.pagerdetails.remove();delete this.pagerdetails}if(this.pagergotoinput){this.pagergotoinput.remove();delete this.pagergotoinput}this.pager.remove();delete this.pager;this.groupsheader.remove();delete this.groupsheader;this.dataloadelement.remove();delete this.dataloadelement;this.toolbar.remove();delete this.toolbar;this.statusbar.remove();delete this.statusbar;this.host.removeData();this.host.removeClass();this.host.remove();this.host=null;delete this.host;delete this.element;delete this.set;delete this.get;delete this.that;delete this.call},_initializeColumns:function(){var f=this.source?this.source.datafields:null;if(f==null&&this.source&&this.source._source){f=this.source._source.datafields}var k=f?f.length>0:false;if(this.autogeneratecolumns){var m=new Array();if(f){b.each(f,function(){var i={datafield:this.name,text:this.text||this.name,cellsformat:this.format||""};m.push(i)})}else{if(this.source.records.length>0){var o=this.source.records[0];for(var h in o){if(h!="uid"){var g={width:100,datafield:h,text:h};m.push(g)}}}}this.columns=m}if(this.columns&&this.columns.records){for(var j=0;j<this.columns.records.length;j++){this._removecolumnhandlers(this.columns.records[j])}}var l=this.that;var e=new b.jqx.collection(this.element);var d=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.groupable){b.each(this.groups,function(i){var p=new c(l,this);p.visibleindex=d++;p.width=l.groupindentwidth;e.add(p);p.grouped=true;p.filterable=false;p.sortable=false;p.editable=false;p.resizable=false;p.draggable=false})}if(this.rowdetails&&this.showrowdetailscolumn){var g=new c(l,this);g.visibleindex=d++;g.width=l.groupindentwidth;g.pinned=true;g.editable=false;g.filterable=false;g.draggable=false;g.groupable=false;g.resizable=false;e.add(g);l._haspinned=true}if(this.selectionmode=="checkbox"){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.checkboxcolumn=true;g.editable=false;g.columntype="checkbox";g.groupable=false;g.draggable=false;g.filterable=false;g.resizable=false;g.datafield="_checkboxcolumn";e.add(g)}var n=new Array();b.each(this.columns,function(i){if(l.columns[i]!=undefined){var p=new c(l,this);p.visibleindex=d++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){l._haspinned=true}if(l.showeverpresentrow){if(this.datafield==="addButtonColumn"||this.datafield==="resetButtonColumn"||this.datafield==="updateButtonColumn"||this.datafield==="deleteButtonColumn"){p.editable=false;p.groupable=false;p.draggable=false;p.filterable=false;p.resizable=false;p.menu=false}}if(this.datafield==null){if(l.source&&l.source._source&&(l.source._source.datatype=="array")){if(!k){if(!l.source._source.datafields){l.source._source.datafields=new Array();l.source._source.datafields.push({name:i.toString()})}else{l.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();p.datafield=this.datafield;p.displayfield=this.displayfield}}else{if(n[this.datafield]){throw new Error("jqxGrid: Invalid column 'datafield' setting. jqxGrid's columns should be initialized with unique data fields.");l.host.remove();return false}else{n[this.datafield]=true}}e.add(p)}});if(this.adaptive){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.editable=false;g.columntype="adaptive";g.cellsalign="center";g.groupable=false;g.draggable=false;g.menu=false;g.sortable=false;g.filterable=false;g.resizable=false;g.datafield="_adaptivecolumn";e.add(g)}if(this.rtl){e.records.reverse()}this.columns=e},_initializeRows:function(){var d=new b.jqx.collection(this.element);if(this.rows){this.rows.clear()}this.rows=d},_raiseEvent:function(j,e){if(e==undefined){e={owner:null}}if(this._trigger===false){return}var f=this.events[j];if(!this._camelCase){f=f.toLowerCase()}if(j==2||j==15){if(this.showeverpresentrow&&(this.everpresentrowactions.indexOf("delete")>=0||this.everpresentrowactions.indexOf("update")>=0)){if(this.updateeverpresentrow){var i=this}setTimeout(function(){i.updateeverpresentrow()},50)}}var g=e;g.owner=this;var h=new b.Event(f);h.owner=this;h.args=g;var d=this.host.trigger(h);e=h.args;return d},wheel:function(f,e){if(e.autoheight&&e.hScrollBar.css("visibility")!="visible"){f.returnValue=true;return true}var g=0;if(!f){f=window.event}if(f.originalEvent&&f.originalEvent.wheelDelta){f.wheelDelta=f.originalEvent.wheelDelta}if(f.wheelDelta){g=f.wheelDelta/120}else{if(f.detail){g=-f.detail/3}}if(g){var d=e._handleDelta(g);if(d){if(f.preventDefault){f.preventDefault()}if(f.originalEvent!=null){f.originalEvent.mouseHandled=true}if(f.stopPropagation!=undefined){f.stopPropagation()}}if(d){d=false;f.returnValue=d;return d}else{return false}}if(f.preventDefault){f.preventDefault()}f.returnValue=false},_handleDelta:function(f){if(this.vScrollBar.css("visibility")!="hidden"){var e=this.vScrollInstance.value;if(f<0){this.scrollDown()}else{this.scrollUp()}var d=this.vScrollInstance.value;if(e!=d){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var e=this.hScrollInstance.value;if(f>0){if(this.hScrollInstance.value>2*this.horizontalscrollbarstep){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var d=this.hScrollInstance.value;if(e!=d){if(this._activeFilterElement){this._activeFilterElement.jqxDropDownList("close")}return true}}}return false},scrollDown:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value+this.rowsheight<=d.max){d.setPosition(parseInt(d.value)+this.rowsheight)}else{d.setPosition(d.max)}},scrollUp:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value-this.rowsheight>=d.min){d.setPosition(parseInt(d.value)-this.rowsheight)}else{d.setPosition(d.min)}},_removeHandlers:function(){var d=this.that;d.removeHandler(b(window),"orientationchange.jqxgrid"+d.element.id);d.removeHandler(b(window),"orientationchanged.jqxgrid"+d.element.id);d.removeHandler(d.vScrollBar,"valueChanged");d.removeHandler(d.hScrollBar,"valueChanged");d.vScrollInstance.valueChanged=null;d.hScrollInstance.valueChanged=null;var e="mousedown.jqxgrid";if(d.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend")}d.removeHandler(d.host,"dblclick.jqxgrid");d.removeHandler(d.host,e);d.removeHandler(d.content,"mousemove",d._mousemovefunc);d.removeHandler(d.host,"mouseleave.jqxgrid");d.removeHandler(d.content,"mouseenter");d.removeHandler(d.content,"mouseleave");d.removeHandler(d.content,"mousedown");d.removeHandler(d.content,"scroll");d.removeHandler(d.content,"selectstart."+d.element.id);d.removeHandler(d.host,"dragstart."+d.element.id);d.removeHandler(d.host,"keydown.edit"+d.element.id);d.removeHandler(b(document),"keydown.edit"+d.element.id);d.removeHandler(b(document),"keyup.edit"+d.element.id);if(d._mousemovedocumentfunc){d.removeHandler(b(document),"mousemove.selection"+d.element.id,d._mousemovedocumentfunc)}d.removeHandler(b(document),"mouseup.selection"+d.element.id);if(d._mousewheelfunc){d.removeHandler(d.host,"mousewheel",d._mousewheelfunc)}if(d.editable){d.removeHandler(b(document),"mousedown.gridedit"+d.element.id)}if(d.host.off){d.content.off("mousemove");d.host.off("mousewheel")}},_addHandlers:function(){var e=this.that;var d=e.isTouchDevice();if(!d){e.addHandler(e.host,"dragstart."+e.element.id,function(j){return false})}if(e.scrollbarautoshow){e.addHandler(e.host,"mouseenter.gridscroll"+e.element.id,function(j){e.vScrollBar.fadeIn("fast");e.hScrollBar.fadeIn("fast")});e.addHandler(e.host,"mouseleave.gridscroll"+e.element.id,function(j){if(!e.vScrollInstance.isScrolling()&&!e.hScrollInstance.isScrolling()){e.vScrollBar.fadeOut("fast");e.hScrollBar.fadeOut("fast")}})}if(e.editable){e.addHandler(b(document),"mousedown.gridedit"+e.element.id,function(m){if(e.editable&&e.begincelledit){if(e.editcell){if(!e.vScrollInstance.isScrolling()&&!e.vScrollInstance.isScrolling()){var r=e.host.coord();var q=e.host.width();var n=e.host.height();var v=false;var k=false;var t=false;if(m.pageY<r.top||m.pageY>r.top+n){v=true;k=true}if(m.pageX<r.left||m.pageX>r.left+q){v=true;t=true}if(v){var u=false;if(e.editcell&&e.editcell.editor){switch(e.editcell.columntype){case"datetimeinput":if(e.editcell.editor.jqxDateTimeInput&&e.editcell.editor.jqxDateTimeInput("container")&&e.editcell.editor.jqxDateTimeInput("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDateTimeInput("container").coord().top;var j=e.editcell.editor.jqxDateTimeInput("container").coord().top+e.editcell.editor.jqxDateTimeInput("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDateTimeInput("close")}else{return}}break;case"combobox":if(e.editcell.editor.jqxComboBox&&e.editcell.editor.jqxComboBox("container")&&e.editcell.editor.jqxComboBox("container")[0].style.display=="block"){var s=e.editcell.editor.jqxComboBox("container").coord().top;var j=e.editcell.editor.jqxComboBox("container").coord().top+e.editcell.editor.jqxComboBox("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxComboBox("close")}else{return}}break;case"dropdownlist":if(e.editcell.editor.jqxDropDownList&&e.editcell.editor.jqxDropDownList("container")&&e.editcell.editor.jqxDropDownList("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDropDownList("container").coord().top;var j=e.editcell.editor.jqxDropDownList("container").coord().top+e.editcell.editor.jqxDropDownList("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDropDownList("close")}else{return}}break;case"template":case"custom":var l=["jqxDropDownList","jqxComboBox","jqxDropDownButton","jqxDateTimeInput"];var p=function(A){var z=e.editcell.editor.data();if(z[A]&&z[A].instance.container&&z[A].instance.container[0].style.display=="block"){var x=z[A].instance;var B=x.container.coord().top;var y=x.container.coord().top+x.container.height();if(k&&(m.pageY<B||m.pageY>y)){v=true;x.close();return true}else{return false}}};for(var o=0;o<l.length;o++){var w=p(l[o]);if(w==false){return}}break}}e.endcelledit(e.editcell.row,e.editcell.column,false,true);e._oldselectedcell=null}}}}})}e.vScrollInstance.valueChanged=function(j){if(e.virtualsizeinfo){e._closemenu();if(e.scrollmode!="physical"){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{if(e.currentScrollValue!=undefined&&Math.abs(e.currentScrollValue-j.currentValue)>=5){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}}if(!e.pageable&&!e.groupable&&e.dataview.virtualmode){if(e.loadondemandupdate){clearTimeout(e.loadondemandupdate)}e.loadondemandupdate=setTimeout(function(){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)},100)}if(d){e._lastScroll=new Date()}}};e.hScrollInstance.valueChanged=function(l){if(e.virtualsizeinfo){e._closemenu();var k=function(){e._renderhorizontalscroll();e._renderrows(e.virtualsizeinfo);if(e.editcell&&!e.editrow){if(e._showcelleditor&&e.editcell.editing){if(!e.hScrollInstance.isScrolling()){e._showcelleditor(e.editcell.row,e.getcolumn(e.editcell.column),e.editcell.element,e.editcell.init)}}}};if(d){k()}else{var j=e._browser==undefined?e._isIE10():e._browser;if(navigator&&navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},1)}else{if(b.jqx.browser.msie){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},0.01)}else{k()}}}if(d){e._lastScroll=new Date()}}};e._mousewheelfunc=e._mousewheelfunc||function(j){if(!e.editcell&&e.enablemousewheel){e.wheel(j,e);return false}};e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);e.addHandler(e.host,"mousewheel",e._mousewheelfunc);var h="mousedown.jqxgrid";if(d){h=b.jqx.mobile.getTouchEventName("touchend")}e.addHandler(e.host,h,function(k){if(e.isTouchDevice()){e._newScroll=new Date();if(e._newScroll-e._lastScroll<500){return false}if(b(k.target).ischildof(e.vScrollBar)){return false}if(b(k.target).ischildof(e.hScrollBar)){return false}}e._mousedown=new Date();var j=e._handlemousedown(k,e);if(e.isNestedGrid){if(!e.resizablecolumn&&!e.columnsreorder){k.stopPropagation()}}e._lastmousedown=new Date();return j});if(!d){e.addHandler(e.host,"dblclick.jqxgrid",function(k){if(e.editable&&e.begincelledit&&e.editmode=="dblclick"){e._handledblclick(k,e)}else{if(b.jqx.browser.msie&&b.jqx.browser.version<9){var j=e._handlemousedown(k,e)}}e.mousecaptured=false;e._lastmousedown=new Date();return true});e._mousemovefunc=function(j){if(e._handlemousemove){return e._handlemousemove(j,e)}};e.addHandler(e.content,"mousemove",e._mousemovefunc);if(e._handlemousemoveselection){e._mousemovedocumentfunc=function(j){if(e._handlemousemoveselection){return e._handlemousemoveselection(j,e)}};e.addHandler(b(document),"mousemove.selection"+e.element.id,e._mousemovedocumentfunc)}e.addHandler(b(document),"mouseup.selection"+e.element.id,function(j){if(e._handlemouseupselection){e._handlemouseupselection(j,e)}})}try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var i=null;if(window.parent&&document.referrer){i=document.referrer}if(i&&i.indexOf(document.location.host)!=-1){var g=function(k){if(e._handlemouseupselection){try{e._handlemouseupselection(k,e)}catch(j){}}};e.addHandler(b(window.top.document),"mouseup.grid"+e.element.id,g)}}}}catch(f){}e.focused=false;if(!d){e.addHandler(e.content,"mouseenter",function(j){e.focused=true;if(e.wrapper){e.wrapper.attr("tabindex",1);e.content.attr("tabindex",2)}if(e._overlayElement){if(e.vScrollInstance.isScrolling()||e.hScrollInstance.isScrolling()){e._overlayElement[0].style.visibility="visible"}else{e._overlayElement[0].style.visibility="hidden"}}});e.addHandler(e.content,"mouseleave",function(j){if(e._handlemousemove){if(e.enablehover){e._clearhoverstyle()}}if(e._overlayElement){e._overlayElement[0].style.visibility="hidden"}e.focused=false});if(e.groupable||e.columnsreorder){e.addHandler(b(document),"selectstart."+e.element.id,function(j){if(e.__drag===true){return false}})}e.addHandler(e.content,"selectstart."+e.element.id,function(j){if(e.enablebrowserselection){return true}if(e.showfilterrow){if(b(j.target).ischildof(e.filterrow)){return true}}if(e.showeverpresentrow){if(b(j.target).ischildof(e.addnewrow)){return true}if(e.addnewrowtop){if(b(j.target).ischildof(e.addnewrowtop)){return true}}}if(j.target.className&&j.target.className.indexOf("jqx-grid-widget")>=0){return true}if(!e.editcell){return false}if(j.stopPropagation){j.stopPropagation()}});e.addHandler(b(document),"keyup.edit"+e.element.id,function(j){e._keydown=false});e.addHandler(b(document),"keydown.edit"+e.element.id,function(l){if(e.adaptiveview){return true}e._keydown=true&&!e.editcell;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(k===20){if(!e._capsLock){e._capsLock=true}else{e._capsLock=false}}if(e.handlekeyboardnavigation){if(e.focused||(l.target===e.element||b(l.target).ischildof(e.host))){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}}if(e.editable&&e.editcell){if(k==13||k==27||k==9||k==32){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}}if(k==27){e.mousecaptured=false;if(e.selectionarea.css("visibility")=="visible"){e.selectionarea.css("visibility","hidden")}}if(b.jqx.browser.msie&&b.jqx.browser.version<12&&e.focused&&!e.isNestedGrid){if(k==13&&j==false){return j}var j=true;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(!e.editcell&&e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}return j}}return true});e.addHandler(e.host,"keyup.edit"+e.element.id,function(k){if(e.adaptiveview){return true}if(k.keyCode===9){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){switch(e.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var j=e.getselectedcell();if(j===null){e.selectcell(0,e.columns.records[0].displayfield)}break;default:var l=e.getselectedrowindex();if(l===-1){e.selectrow(0)}break}}}}});e.addHandler(e.host,"keydown.edit"+e.element.id,function(l){var j=true;if(e.adaptiveview){return true}if(e.handlekeyboardnavigation){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}if(e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}if(!e.editcell&&l.altKey){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){if(l.keyCode===40){var k=e.getselectedcell();if(k){e.openmenu(k.column)}}else{if(l.keyCode===38){e._closemenu()}}}}}if(!(b.jqx.browser.msie&&b.jqx.browser.version<8)){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}else{if(e.isNestedGrid){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);l.stopPropagation()}}}if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}if(j&&e.selectedcells&&e.selectedcells.length>0){if(l.keyCode===9&&l.shiftKey&&e.table&&e.table[0].rows&&e.table[0].rows.length>0){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){e.table[0].rows[0].cells[0].focus()}}}}return j})}},_hittestrow:function(s,q){if(this.vScrollInstance==null||this.hScrollInstance==null){return}if(s==undefined){s=0}if(q==undefined){q==0}var l=this.vScrollInstance;var k=this.hScrollInstance;var f=l.value;if(this.vScrollBar.css("visibility")!="visible"){f=0}var m=k.value;if(this.hScrollBar.css("visibility")!="visible"){m=0}if(this.scrollmode=="deferred"&&this._newmax!=null){if(f>this._newmax){f=this._newmax}}var r=parseInt(f)+q;var j=parseInt(m)+s;if(this.visiblerows==null){return}if(this.visiblerows.length==0){return}var e=false;var i=this._findvisiblerow(r,this.visiblerows);if(i>=0){var o=this.visiblerows[i];var d=this.rowdetails&&o.rowdetails;var n=!o.rowdetailshidden;if(d){var g=this.visiblerows[i-1];if(g==o){o=g;i--}if(n){var h=b(this.hittestinfo[i].visualrow).position().top+parseInt(this.table.css("top"));var p=b(this.hittestinfo[i].visualrow).height();if(!(q>=h&&q<=h+p)){i++;o=this.visiblerows[i];e=true}}}}return{index:i,row:o,details:e}},getcellatposition:function(j,q){var r=this.that;var z=this.showheader?this.columnsheader.height()+2:0;var s=this._groupsheader()?this.groupsheader.height():0;var B=this.showtoolbar?this.toolbarheight:0;s+=B;var g=this.host.coord();if(this.hasTransform){g=b.jqx.utilities.getOffset(this.host)}var p=j-g.left;var n=q-z-g.top-s;var d=this._hittestrow(p,n);var k=d.row;var l=d.index;var t=this.table[0].rows[l];if(this.dataview&&this.dataview.records.length==0){var o=this.table[0].rows;var C=0;for(var w=0;w<o.length;w++){if(n>=C&&n<C+this.rowsheight){t=o[w];break}C+=this.rowsheight}k={boundindex:w}}if(t==null){return true}var u=this.hScrollInstance;var v=u.value;var f=0;var m=this.groupable?this.groups.length:0;for(var w=0;w<t.cells.length;w++){var h=parseInt(b(this.columnsrow[0].cells[w]).css("left"));var j=h-v;if(r.columns.records[w].pinned){j=h}if(r.columns.records[w].hidden||r.columns.records[w].adaptivehidden){continue}var A=j+b(this.columnsrow[0].cells[w]).width();if(A>=p&&p>=j){f=w;break}}if(k!=null){var e=this._getcolumnat(f);return{row:this.getboundindex(k),column:e.datafield,value:this.getcellvalue(this.getboundindex(k),e.datafield)}}return null},_handlemousedown:function(Y,n){if(Y.target==null){return true}if(n.disabled){return true}if(b(Y.target).ischildof(this.columnsheader)||b(Y.target).ischildof(this.hScrollBar)||b(Y.target).ischildof(this.vScrollBar)){return true}if(Y.target===n.bottomRight[0]){return true}var o;if(Y.which){o=(Y.which==3)}else{if(Y.button){o=(Y.button==2)}}var R;if(Y.which){R=(Y.which==2)}else{if(Y.button){R=(Y.button==1)}}if(R){return true}if(this.adaptiveview){if(b(Y.target).ischildof(b(this.adaptiveview))){return true}if(Y.target==this.adaptiveview){return true}}if(this.showstatusbar){if(b(Y.target).ischildof(this.statusbar)){return true}if(Y.target==this.statusbar[0]){return true}}if(this.showtoolbar){if(b(Y.target).ischildof(this.toolbar)){return true}if(Y.target==this.toolbar[0]){return true}}if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}if(Y.target==this.pager[0]){return true}}if(!this.columnsheader){return true}if(!this.editcell){if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}}}var W=this.showheader?this.columnsheader.height()+2:0;var C=this._groupsheader()?this.groupsheader.height():0;var F=this.showtoolbar?this.toolbarheight:0;C+=F;var U=this.host.coord();if(this.hasTransform){U=b.jqx.utilities.getOffset(this.host);var ab=this._getBodyOffset();U.left-=ab.left;U.top-=ab.top}var k=parseInt(Y.pageX);var l=parseInt(Y.pageY);if(this.isTouchDevice()){var Z=n.getTouches(Y);var Q=Z[0];k=parseInt(Q.pageX);l=parseInt(Q.pageY);if(n.touchmode==true){if(Q._pageX!=undefined){k=parseInt(Q._pageX);l=parseInt(Q._pageY)}}}var J=k-U.left;var I=l-W-U.top-C;if(this.pageable&&!this.autoheight&&this.gotopage){var d=this.pager.coord().top-U.top-C-W;if(I>d){return}}var V=this._hittestrow(J,I);if(!V){return}if(V.details){return}var r=V.row;var E=V.index;var s=Y.target.className;var j=this.table[0].rows[E];if(j==null){if(n.editable&&n.begincelledit){if(n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}n.mousecaptured=true;n.mousecaptureposition={left:Y.pageX,top:Y.pageY-C,clickedrow:j};var m=this.hScrollInstance;var u=m.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){u=m.max-m.value}}var G=-1;var D=this.groupable?this.groups.length:0;if(this.rtl){if(this.vScrollBar[0].style.visibility!="hidden"){u-=this.scrollbarsize+4}if(this.hScrollBar[0].style.visibility=="hidden"){u=-parseInt(this.content.css("left"))}}for(var S=0;S<j.cells.length;S++){var T=parseInt(b(this.columnsrow[0].cells[S]).css("left"));var k=T-u;if(n.columns.records[S].pinned&&!n.rtl){k=T}var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}if(this.rtl&&this._haspinned){for(var S=j.cells.length-1;S>=0;S--){if(!n.columns.records[S].pinned){break}var T=b(this.columnsrow[0].cells[S]).coord().left-this.host.coord().left;var k=T;var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}}if(r!=null&&G>=0){this._raiseEvent(1,{rowindex:this.getboundindex(r),visibleindex:r.visibleindex,row:r,group:r.group,rightclick:o,originalEvent:Y});var L=this._getcolumnat(G);var O=this.getcellvalue(this.getboundindex(r),L.datafield);if(this.editable&&this.editcell){this._currentEditableColumn=G;if(L.datafield==this.editcell.column){if(this.getboundindex(r)==this.editcell.row){this.mousecaptured=false}}}if(L.columntype==="adaptive"){var K=document.createElement("div");var aa=document.createElement("div");var A=document.createElement("a");var w=document.createElement("a");var f=document.createElement("div");var M=this.getrowdata(this.getboundindex(r));A.href="#";w.href="#";K.style.zIndex=99999;K.style.position="absolute";K.style.left="0px";K.style.top="0px";K.style.width="100%";K.style.height="100%";K.className="jqx-adaptive-view jqx-widget-content";f.style.position="relative";f.style.top="100%";f.style.textAlign="center";f.style.marginTop="-40px";aa.style.position="absolute";aa.style.left="0px";aa.style.top="0px";aa.style.width="100%";aa.style.height="100%";if(this.theme){K.className="jqx-widget-content jqx-widget-content-"+this.theme}var e=document.createElement("span");e.className="jqx-icon-close";if(this.theme){e.className="jqx-icon-close jqx-widget-close-"+this.theme}e.style.zIndex=99;e.style.position="absolute";e.style.right="10px";e.style.top="10px";e.style.width="16px";e.style.height="16px";K.appendChild(aa);K.appendChild(e);A.innerHTML=this.gridlocalization.okstring;w.innerHTML=this.gridlocalization.cancelstring;A.addEventListener("mousedown",function(ad){var af={};var x=n.adaptiveview.querySelectorAll("input");for(var y=0;y<x.length;y++){var ae=x[y].value;var ac=x[y].getAttribute("data-column");af[ac]=ae}n.updaterow(M.uid,af);K.parentNode.removeChild(K);n.adaptiveview=null;ad.stopPropagation();return false});w.addEventListener("mousedown",function(){K.parentNode.removeChild(K);n.adaptiveview=null;Y.stopPropagation();return false});if(this.editable){f.appendChild(A);f.appendChild(w);K.appendChild(f)}var v="<table class='jqx-adaptive-table'><tr>";var E=0;for(var S=0;S<this.columns.records.length;S++){var L=this.columns.records[S];if(L.columntype==="adaptive"){continue}if(S>0&&E%2===0){v+="</tr><tr>"}var B=M[L.displayfield];if(L.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(B)){B=b.jqx.dataFormat.formatdate(B,L.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(B)){B=b.jqx.dataFormat.formatnumber(B,L.cellsformat,this.gridlocalization)}}}}var H=this.filterable?'<div datafield="'+L.datafield+'" class="'+n.toTP("jqx-grid-column-filterbutton")+'" style="position: relative; top: 4px; display: inline-block; width: 16px; height:16px;"></div>':"";if(this.editable){if(L.editable){v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' value='"+B+"'/></td>"}else{v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' readonly value='"+B+"'/></td>"}}else{v+="<td>"+H+L.text+": "+B+"</td>"}E++}v+="</tr></table>";aa.innerHTML=v;e.addEventListener("mousedown",function(i){K.parentNode.removeChild(K);n.adaptiveview=null});this.wrapper[0].appendChild(K);this.adaptiveview=K;b(this.adaptiveview).find(".jqx-grid-column-filterbutton").on("click",function(){var i=this.getAttribute("datafield");var x=this.offsetTop;n.openmenu(i);setTimeout(function(){n.gridmenu.css("top",30+x);n.gridmenu.css("left",25);n.gridmenu.css("z-index",99999);n.gridmenu.parent().css("z-index",99999)},300)});return}this._raiseEvent(8,{rowindex:this.getboundindex(r),column:L?L.getcolumnproperties():null,row:r,visibleindex:r.visibleindex,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y});if(L.createwidget){return true}if(this.isTouchDevice()){if(L.columntype=="checkbox"&&this.editable&&this._overlayElement){if(!this.editcell){this._overlayElement.css("visibility","hidden");this.editcell=this.getcell(E,L.datafield);return true}}else{if(L.columntype=="button"&&this._overlayElement){if(L.buttonclick){L.buttonclick(j.cells[G].buttonrow,Y)}return true}}}var h=false;if(this._lastmousedown!=null){if(this._mousedown-this._lastmousedown<300){if(this._clickedrowindex==this.getboundindex(r)){this._raiseEvent(22,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,group:r.group,rightclick:o,originalEvent:Y});if(this._clickedcolumn==L.datafield){this._raiseEvent(23,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,column:L?L.getcolumnproperties():null,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y})}h=true;this._clickedrowindex=-1;this._clickedcolumn=null;if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}}}}if(o){return true}if(!h){this._clickedrowindex=this.getboundindex(r);this._clickedcolumn=L.datafield}var g=b.jqx.utilities.getBrowser();if(g.browser=="msie"&&parseInt(g.version)<=7){if(G==0&&this.rowdetails){s="jqx-grid-group-collapse"}if(D>0){if(G<=D){s="jqx-grid-group-collapse"}}}if(s.indexOf("jqx-grid-group-expand")!=-1||s.indexOf("jqx-grid-group-collapse")!=-1){if(!this.rtl){if(D>0&&G<D&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}else{if(D>0&&G>j.cells.length-D-1&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==j.cells.length-1-D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}}else{if(r.boundindex!=-1){var p=this.selectedrowindexes.slice(0);var X=false;if(n.selectionmode!="none"&&n.selectionmode!="checkbox"&&this._selectrowwithmouse){if(n.selectionmode=="multiplecellsadvanced"||n.selectionmode=="multiplecellsextended"||n.selectionmode=="multiplerowsextended"||n.selectionmode=="multiplerowsadvanced"){if(!Y.ctrlKey&&!Y.shiftKey&&!Y.metaKey){n.selectedrowindexes=new Array();n.selectedcells=new Array()}}var z=false;var q=this.getboundindex(r);if(n._oldselectedrow===q||n.selectionmode==="none"){z=true}if(n.selectionmode.indexOf("cell")==-1){if((n.selectionmode!="singlerow")||(n.selectedrowindex!=q&&n.selectionmode=="singlerow")){this._applyrowselection(q,true,false,null,L.datafield);this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey)}}else{if(L.datafield!=null){this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey);if(!Y.shiftKey){this._applycellselection(q,L.datafield,true,false)}}}if(n._oldselectedcell){if(n._oldselectedcell.datafield==n.selectedcell.datafield&&n._oldselectedcell.rowindex==n.selectedcell.rowindex){X=true}}n._oldselectedcell=n.selectedcell;n._oldselectedrow=q}if(n.autosavestate){if(n.savestate){n.savestate()}}if(n.editable&&n.begincelledit&&n.editmode!="programmatic"){if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}if(n.editmode=="selectedrow"){if(z&&!n.editcell){if(L.columntype!=="checkbox"){this._currentEditableColumn=G;var t=n.beginrowedit(this.getboundindex(r))}}else{if(n.editcell&&!z&&n.selectionmode!="none"){var t=n.endrowedit(n.editcell.row)}}}else{var q=this.getboundindex(r);var P=n.editmode=="click"||(X&&n.editmode=="selectedcell");if(n.selectionmode.indexOf("cell")==-1){if(n.editmode!="dblclick"){P=true}}if(P){if(r.boundindex!=undefined&&L.editable){var t=n.begincelledit(this.getboundindex(r),L.datafield,L.defaulteditorvalue);if(n.selectionmode.indexOf("cell")!=-1){n._applycellselection(q,L.datafield,false,false)}}}if(n.selectionmode.indexOf("cell")!=-1){if(n.editmode=="selectedcell"&&!X&&n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}if(n.editmode=="dblclick"&&!X&&n.editcell&&!(n.editcell.row==q&&L.datafield==n.editcell.column)){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}}}}return true},_columnPropertyChanged:function(e,d,g,f){},_rowPropertyChanged:function(g,d,f,e){},_serializeObject:function(d){if(d==null){return""}var e="";b.each(d,function(g){var i=this;if(g>0){e+=", "}e+="[";var f=0;for(var h in i){if(f>0){e+=", "}e+="{"+h+":"+i[h]+"}";f++}e+="]"});return e},isbindingcompleted:function(){return !this._loading},propertiesChangedHandler:function(d,e,f){if(f.width&&f.height&&Object.keys(f).length==2){d._updatesize(true,true);d._resizeWindow();if(d.virtualmode&&!d._loading){d.vScrollInstance.setPosition(0)}else{setTimeout(function(){d._renderrows(d.virtualsizeinfo)},100)}}},propertyChangedHandler:function(e,f,i,h){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}f=f.toLowerCase();switch(f){case"editable":case"showcolumnheaderlines":case"showcolumnlines":case"showrowlines":e.refresh();break;case"everpresentrowactionsmode":if(i!=h){e._removeaddnewrow();e.render()}break;case"everpresentrowactions":e._updateaddnewrowui();break;case"showeverpresentrow":case"everpresentrowposition":case"everpresentrowheight":if(i!=h){e._removeaddnewrow();e.render()}break;case"rtl":e.content.css("left","");e.columns=e._columns;e._filterrowcache=[];e.vScrollBar.jqxScrollBar({rtl:h});e.hScrollBar.jqxScrollBar({rtl:h});if(e._initpager){e._initpager()}if(e._initgroupsheader){e._initgroupsheader()}e.render();break;case"enablebrowserselection":if(!e.showfilterrow){if(!e.showstatusbar&&!e.showtoolbar){e.host.addClass("jqx-disableselect")}e.content.addClass("jqx-disableselect")}if(e.enablebrowserselection){e.content.removeClass("jqx-disableselect");e.host.removeClass("jqx-disableselect")}break;case"columnsheight":if(e.columnsheight!=32||e.columngroups){e._measureElement("column")}e._render(true,true,true,false,false);break;case"rowsheight":if(h!=i){if(e.rowsheight!=31){e._measureElement("cell")}e.virtualsizeinfo=null;e.rendergridcontent(true,false);e.refresh()}break;case"scrollMode":e.vScrollInstance.thumbStep=e.rowsheight;break;case"showdefaultloadelement":e._builddataloadelement();break;case"showfiltermenuitems":case"showsortmenuitems":case"showgroupmenuitems":case"filtermode":e._initmenu();break;case"touchmode":if(i!=h){e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:h});e.hScrollBar.jqxScrollBar({touchMode:h});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._updatecellwidths();e._addHandlers()}break;case"autoshowcolumnsmenubutton":if(i!=h){e._rendercolumnheaders()}break;case"rendergridrows":if(i!=h){e.updatebounddata()}break;case"editmode":if(i!=h){e._removeHandlers();e._addHandlers()}break;case"source":e.updatebounddata();if(e.virtualmode&&!e._loading){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)}break;case"horizontalscrollbarstep":case"verticalscrollbarstep":case"horizontalscrollbarlargestep":case"verticalscrollbarlargestep":this.vScrollBar.jqxScrollBar({step:this.verticalscrollbarstep,largestep:this.verticalscrollbarlargestep});this.hScrollBar.jqxScrollBar({step:this.horizontalscrollbarstep,largestep:this.horizontalscrollbarlargestep});break;case"closeablegroups":if(e._initgroupsheader){e._initgroupsheader()}break;case"showgroupsheader":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}e._renderrows(e.virtualsizeinfo)}break;case"theme":if(h!=i){b.jqx.utilities.setTheme(i,h,e.host);if(e.gridmenu){e.gridmenu.jqxMenu({theme:h})}if(e.pageable){e._updatepagertheme()}if(e.filterable){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}}break;case"showtoolbar":case"toolbarheight":if(i!=h){e._arrange();e.refresh()}break;case"showstatusbar":if(i!=h){if(e.statusbar){if(h){e.statusbar.show()}else{e.statusbar.hide()}}e._arrange();e.refresh()}break;case"statusbarheight":if(i!=h){e._arrange();e.refresh()}break;case"filterable":case"showfilterrow":if(i!=h){e.render()}break;case"autoshowfiltericon":case"showfiltercolumnbackground":case"showpinnedcolumnbackground":case"showsortcolumnbackground":if(i!=h){e.rendergridcontent()}break;case"showrowdetailscolumn":if(i!=h){e.render()}break;case"scrollbarsize":if(i!=h){b.jqx.utilities.scrollBarSize=h;e._arrange()}break;case"width":case"height":if(i!=h){e._updatesize(true,true);e._resizeWindow();if(e.virtualmode&&!e._loading){e.vScrollInstance.setPosition(0)}else{setTimeout(function(){e._renderrows(e.virtualsizeinfo)},100)}}break;case"altrows":case"altstart":case"altstep":if(i!=h){e._renderrows(e.virtualsizeinfo)}break;case"groupsheaderheight":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}}break;case"pagerheight":if(i!=h){e._initpager()}break;case"selectedrowindex":e.selectrow(h);break;case"selectionmode":if(i!=h){if(h=="none"){e.selectedrowindexes=new Array();e.selectedcells=new Array();e.selectedrowindex=-1}e._renderrows(e.virtualsizeinfo);if(h=="checkbox"){e._render(false,false,true,false,false)}}break;case"showheader":if(h){e.columnsheader.css("display","block")}else{e.columnsheader.css("display","none")}break;case"virtualmode":if(i!=h){e.dataview.virtualmode=e.virtualmode;e.dataview.refresh(false);e._render(false,false,false)}break;case"columnsmenu":if(i!=h){e.render()}break;case"columngroups":e._render(true,true,true,false,false);break;case"columns":if(e.columns&&e.columns.length>e.headerZIndex){e.headerZIndex=e.columns.length+100}if(e._serializeObject(e._cachedcolumns)!==e._serializeObject(h)){var d=false;if(e.filterable){if(i&&i.records){b.each(i.records,function(){if(this.filter){d=true}e.dataview.removefilter(this.displayfield,this.filter)})}}e._columns=null;e._filterrowcache=[];e.render();if(d){e.applyfilters()}e._cachedcolumns=e.columns;if(e.removesort){e.removesort()}}else{e[f]=i}break;case"autoheight":if(i!=h){e._render(false,false,true)}break;case"pagermode":case"pagerbuttonscount":if(i!=h){if(e._initpager){if(e.pagershowrowscombo){e.pagershowrowscombo.jqxDropDownList("destroy");e.pagershowrowscombo=null}if(e.pagerrightbutton){e.removeHandler(e.pagerrightbutton,"mousedown");e.removeHandler(e.pagerrightbutton,"mouseup");e.removeHandler(e.pagerrightbutton,"click");e.pagerrightbutton.jqxButton("destroy");e.pagerrightbutton=null}if(e.pagerleftbutton){e.removeHandler(e.pagerleftbutton,"mousedown");e.removeHandler(e.pagerleftbutton,"mouseup");e.removeHandler(e.pagerleftbutton,"click");e.pagerleftbutton.jqxButton("destroy");e.removeHandler(b(document),"mouseup.pagerbuttons"+e.element.id);e.pagerleftbutton=null}e.pagerdiv.remove();e._initpager()}}break;case"pagesizeoptions":case"pageable":case"pagesize":if(i!=h){if(e._loading){throw new Error("jqxGrid: "+e.loadingerrormessage);return}if(!e.host.jqxDropDownList||!e.host.jqxListBox){e._testmodules();return}if(e._initpager){if(f!="pageable"&&f!="pagermode"){if(typeof(h)=="string"){var g="The expected value type is: Int.";if(f!="pagesize"){var g="The expected value type is: Array of Int values."}throw new Error("Invalid Value for: "+f+". "+g)}}e.dataview.pageable=e.pageable;e.dataview.pagenum=0;e.dataview.pagesize=e._getpagesize();if(e.virtualmode){e.updatebounddata()}e.dataview.refresh(true);e._initpager();if(f=="pagesizeoptions"){if(h!=null&&h.length>0){e.pagesize=parseInt(h[0]);e.dataview.pagesize=parseInt(h[0]);e.prerenderrequired=true;e._requiresupdate=true;e.dataview.pagenum=-1;e.gotopage(0)}}}e._render(false,false,false)}break;case"groups":if(e._serializeObject(i)!==e._serializeObject(h)){e.dataview.groups=h;e._refreshdataview();e._render(true,true,true,false)}break;case"groupable":if(i!=h){e.dataview.groupable=e.groupable;e.dataview.pagenum=0;e.dataview.refresh(false);e._render(false,false,true)}break;case"renderstatusbar":if(h!=null){e.renderstatusbar(e.statusbar)}break;case"rendertoolbar":if(h!=null){e.rendertoolbar(e.toolbar)}break;case"disabled":if(h){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled"))}b.jqx.aria(e,"aria-disabled",e.disabled);if(e.pageable){if(e.pagerrightbutton){e.pagerrightbutton.jqxButton({disabled:h});e.pagerleftbutton.jqxButton({disabled:h});e.pagershowrowscombo.jqxDropDownList({disabled:h});e.pagergotoinput.attr("disabled",h)}if(e.pagerfirstbutton){e.pagerfirstbutton.jqxButton({disabled:h});e.pagerlastbutton.jqxButton({disabled:h})}}e.vScrollBar.jqxScrollBar({disabled:h});e.hScrollBar.jqxScrollBar({disabled:h});if(e.filterable&&e.showfilterrow){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}break}}});function c(d,e){this.owner=d;this.datafield=null;this.displayfield=null;this.text="";this.createfilterpanel=null;this.sortable=true;this.hideable=true;this.editable=true;this.hidden=false;this.adaptivehidden=false;this.groupable=true;this.renderer=null;this.cellsrenderer=null;this.checkchange=null,this.threestatecheckbox=false;this.buttonclick=null,this.columntype=null;this.cellsformat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.filteritems=[];this.resizable=true;this.initeditor=null;this.createeditor=null;this.createwidget=null;this.initwidget=null;this.destroywidget=null;this.destroyeditor=null;this.geteditorvalue=null;this.validation=null;this.classname="";this.cellclassname="";this.cellendedit=null;this.cellbeginedit=null;this.cellvaluechanging=null;this.aggregates=null;this.aggregatesrenderer=null;this.menu=true;this.createfilterwidget=null;this.filtertype="default";this.filtercondition=null;this.rendered=null;this.exportable=true;this.exporting=false;this.draggable=true;this.nullable=true;this.clipboard=true;this.selectable=false;this._applyStyle=function(){var f=this;if(f.hovered){if(f.style.headerBackgroundHoveredColor){f.element.style.backgroundColor=f.style.headerBackgroundHoveredColor}if(f.style.headerHoveredColor){f.element.style.color=f.style.headerHoveredColor}return}if(f.selected){if(f.style.headerBackgroundSelectedColor){f.element.style.backgroundColor=f.style.headerBackgroundSelectedColor}if(f.style.headerSelectedColor){f.element.style.color=f.style.headerSelectedColor}return}if(f.style.headerBackgroundColor){f.element.style.backgroundColor=f.style.headerBackgroundColor}else{f.element.style.backgroundColor=""}if(f.style.headerColor){f.element.style.color=f.style.headerColor}else{f.element.style.color=""}};this._applyCellStyle=function(f){var j=this;var g=false;if(f.length){for(var h=0;h<f.length;h++){this._applyCellStyle(f[h])}return}if(j.style.backgroundColor||j.style.color||j.style.hoveredColor||j.style.hoveredColor||j.style.backgroundSelectedColor||j.style.selectedColor){g=true}if(!g){return}if(f.className.indexOf("hover")>=0){if(j.style.backgroundHoveredColor){f.style.backgroundColor=j.style.backgroundHoveredColor}if(j.style.hoveredColor){f.style.color=j.style.hoveredColor}return}if(f.className.indexOf("selected")>=0){if(j.style.backgroundSelectedColor){f.style.backgroundColor=j.style.backgroundSelectedColor}if(j.style.selectedColor){f.style.color=j.style.selectedColor}return}if(j.style.backgroundColor){f.style.backgroundColor=j.style.backgroundColor}if(j.style.color){f.style.color=j.style.color}};this.style={headerBackgroundColor:"",headerColor:"",headerBackgroundHoveredColor:"",headerHoveredColor:"",headerBackgroundSelectedColor:"",headerSelectedColor:"",backgroundColor:"",color:"",backgroundHoveredColor:"",hoveredColor:"",backgroundSelectedColor:"",selectedColor:""};this.enabletooltips=true;this.columngroup=null;this.filterdelay=800;this.reseteverpresentrowwidgetvalue=null;this.geteverpresentrowwidgetvalue=null;this.createeverpresentrowwidget=null;this.initeverpresentrowwidget=null;this.validateeverpresentrowwidgetvalue=null;this.destroyeverpresentrowwidget=null;this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hideable:this.hideable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsformat:this.cellsformat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(f,g){if(this[f]){var h=this[f];this[f]=g;this.owner._columnPropertyChanged(this,f,g,h)}else{if(this[f.toLowerCase()]){var h=this[f.toLowerCase()];this[f.toLowerCase()]=g;this.owner._columnPropertyChanged(this,f.toLowerCase(),g,h)}}};this._initfields=function(g){if(g!=null){var f=this.that;if(b.jqx.hasProperty(g,"dataField")){this.datafield=b.jqx.get(g,"dataField")}if(b.jqx.hasProperty(g,"selectable")){this.selectable=b.jqx.get(g,"selectable")}if(b.jqx.hasProperty(g,"displayField")){this.displayfield=b.jqx.get(g,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(g,"enableTooltips")){this.enabletooltips=b.jqx.get(g,"enableTooltips")}if(b.jqx.hasProperty(g,"text")){this.text=b.jqx.get(g,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(g,"style")){this.style=b.jqx.get(g,"style")}if(b.jqx.hasProperty(g,"createfilterpanel")){this.createfilterpanel=b.jqx.get(g,"createfilterpanel")}if(b.jqx.hasProperty(g,"sortable")){this.sortable=b.jqx.get(g,"sortable")}if(b.jqx.hasProperty(g,"hideable")){this.hideable=b.jqx.get(g,"hideable")}if(b.jqx.hasProperty(g,"hidden")){this.hidden=b.jqx.get(g,"hidden")}if(b.jqx.hasProperty(g,"adaptivehidden")){this.adaptivehidden=b.jqx.get(g,"adaptivehidden")}if(b.jqx.hasProperty(g,"groupable")){this.groupable=b.jqx.get(g,"groupable")}if(b.jqx.hasProperty(g,"renderer")){this.renderer=b.jqx.get(g,"renderer")}if(b.jqx.hasProperty(g,"align")){this.align=b.jqx.get(g,"align")}if(b.jqx.hasProperty(g,"cellsAlign")){this.cellsalign=b.jqx.get(g,"cellsAlign")}if(b.jqx.hasProperty(g,"clipboard")){this.clipboard=b.jqx.get(g,"clipboard")}if(b.jqx.hasProperty(g,"cellsFormat")){this.cellsformat=b.jqx.get(g,"cellsFormat")}if(b.jqx.hasProperty(g,"width")){this.width=b.jqx.get(g,"width")}if(b.jqx.hasProperty(g,"minWidth")){this.minwidth=parseInt(b.jqx.get(g,"minWidth"));if(isNaN(this.minwidth)){this.minwidth=25}}if(b.jqx.hasProperty(g,"maxWidth")){this.maxwidth=parseInt(b.jqx.get(g,"maxWidth"));if(isNaN(this.maxwidth)){this.maxwidth="auto"}}if(b.jqx.hasProperty(g,"cellsRenderer")){this.cellsrenderer=b.jqx.get(g,"cellsRenderer")}else{if(g.cellsRenderer){this.cellsrenderer=g.cellsRenderer}}if(b.jqx.hasProperty(g,"columnType")){this.columntype=b.jqx.get(g,"columnType")}if(b.jqx.hasProperty(g,"checkChange")){this.checkchange=b.jqx.get(g,"checkChange")}if(b.jqx.hasProperty(g,"buttonClick")){this.buttonclick=b.jqx.get(g,"buttonClick")}else{if(g.buttonClick){this.buttonclick=g.buttonClick}}if(b.jqx.hasProperty(g,"pinned")){this.pinned=b.jqx.get(g,"pinned")}if(b.jqx.hasProperty(g,"visibleIndex")){this.visibleindex=b.jqx.get(g,"visibleIndex")}if(b.jqx.hasProperty(g,"filterable")){this.filterable=b.jqx.get(g,"filterable")}if(b.jqx.hasProperty(g,"filter")){this.filter=b.jqx.get(g,"filter")}if(b.jqx.hasProperty(g,"resizable")){this.resizable=b.jqx.get(g,"resizable")}if(b.jqx.hasProperty(g,"editable")){this.editable=b.jqx.get(g,"editable")}if(b.jqx.hasProperty(g,"initEditor")){this.initeditor=b.jqx.get(g,"initEditor")}else{if(g.initEditor){this.initeditor=g.initEditor}}if(b.jqx.hasProperty(g,"createEditor")){this.createeditor=b.jqx.get(g,"createEditor")}else{if(g.createEditor){this.createeditor=g.createEditor}}if(b.jqx.hasProperty(g,"initWidget")){this.initwidget=b.jqx.get(g,"initWidget")}else{if(g.initWidget){this.initwidget=g.initWidget}}if(b.jqx.hasProperty(g,"createWidget")){this.createwidget=b.jqx.get(g,"createWidget")}else{if(g.createWidget){this.createwidget=g.createWidget}}if(b.jqx.hasProperty(g,"destroyWidget")){this.destroywidget=b.jqx.get(g,"destroyWidget")}else{if(g.destroyWidget){this.destroywidget=g.destroyWidget}}if(b.jqx.hasProperty(g,"reseteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"reseteverpresentrowwidgetvalue")){this.reseteverpresentrowwidgetvalue=b.jqx.get(g,"reseteverpresentrowwidgetvalue")}else{if(g.resetEverPresentRowWidgetValue){this.reseteverpresentrowwidgetvalue=g.resetEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"geteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"geteverpresentrowwidgetvalue")){this.geteverpresentrowwidgetvalue=b.jqx.get(g,"geteverpresentrowwidgetvalue")}else{if(g.getEverPresentRowWidgetValue){this.geteverpresentrowwidgetvalue=g.getEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"createeverpresentrowwidget")||b.jqx.hasFunction(g,"createeverpresentrowwidget")){this.createeverpresentrowwidget=b.jqx.get(g,"createeverpresentrowwidget")}else{if(g.createEverPresentRowWidget){this.createeverpresentrowwidget=g.createEverPresentRowWidget}}if(b.jqx.hasProperty(g,"initeverpresentrowwidget")||b.jqx.hasFunction(g,"initeverpresentrowwidget")){this.initeverpresentrowwidget=b.jqx.get(g,"initeverpresentrowwidget")}else{if(g.initEverPresentRowWidget){this.initeverpresentrowwidget=g.initEverPresentRowWidget}}if(b.jqx.hasProperty(g,"validateeverpresentrowwidgetvalue")){this.validateeverpresentrowwidgetvalue=b.jqx.get(g,"validateeverpresentrowwidgetvalue")}else{if(g.validateEverPresentRowWidgetValue){this.validateeverpresentrowwidgetvalue=g.validateEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"destroyeverpresentrowwidget")||b.jqx.hasFunction(g,"destroyeverpresentrowwidget")){this.destroyeverpresentrowwidget=b.jqx.get(g,"destroyeverpresentrowwidget")}else{if(g.destroyEverPresentRowWidget){this.destroyEverPresentRowWidget=g.destroyEverPresentRowWidget}}if(b.jqx.hasProperty(g,"destroyEditor")){this.destroyeditor=b.jqx.get(g,"destroyEditor")}else{if(g.destroyEditor){this.destroyeditor=g.destroyEditor}}if(b.jqx.hasProperty(g,"getEditorValue")){this.geteditorvalue=b.jqx.get(g,"getEditorValue")}else{if(g.getEditorValue){this.geteditorvalue=g.getEditorValue}}if(b.jqx.hasProperty(g,"validation")){this.validation=b.jqx.get(g,"validation")}else{if(g.validation){this.validation=g.validation}}if(b.jqx.hasProperty(g,"cellBeginEdit")){this.cellbeginedit=b.jqx.get(g,"cellBeginEdit")}else{if(g.cellBeginEdit){this.cellbeginedit=g.cellBeginEdit}}if(b.jqx.hasProperty(g,"cellEndEdit")){this.cellendedit=b.jqx.get(g,"cellEndEdit")}else{if(g.cellEndEdit){this.cellendedit=g.cellEndEdit}}if(b.jqx.hasProperty(g,"className")){this.classname=b.jqx.get(g,"className")}if(b.jqx.hasProperty(g,"cellClassName")){this.cellclassname=b.jqx.get(g,"cellClassName")}else{if(g.cellClassName){this.cellclassname=g.cellClassName}}if(b.jqx.hasProperty(g,"menu")){this.menu=b.jqx.get(g,"menu")}if(b.jqx.hasProperty(g,"aggregates")){this.aggregates=b.jqx.get(g,"aggregates")}if(b.jqx.hasProperty(g,"aggregatesRenderer")){this.aggregatesrenderer=b.jqx.get(g,"aggregatesRenderer")}if(b.jqx.hasProperty(g,"createFilterWidget")){this.createfilterwidget=b.jqx.get(g,"createFilterWidget")}if(b.jqx.hasProperty(g,"filterType")){this.filtertype=b.jqx.get(g,"filterType")}if(b.jqx.hasProperty(g,"filterDelay")){this.filterdelay=b.jqx.get(g,"filterDelay")}if(b.jqx.hasProperty(g,"rendered")){this.rendered=b.jqx.get(g,"rendered")}if(b.jqx.hasProperty(g,"exportable")){this.exportable=b.jqx.get(g,"exportable")}if(b.jqx.hasProperty(g,"filterItems")){this.filteritems=b.jqx.get(g,"filterItems")}if(b.jqx.hasProperty(g,"cellValueChanging")){this.cellvaluechanging=b.jqx.get(g,"cellValueChanging")}if(b.jqx.hasProperty(g,"draggable")){this.draggable=b.jqx.get(g,"draggable")}if(b.jqx.hasProperty(g,"filterCondition")){this.filtercondition=b.jqx.get(g,"filterCondition")}if(b.jqx.hasProperty(g,"threeStateCheckbox")){this.threestatecheckbox=b.jqx.get(g,"threeStateCheckbox")}if(b.jqx.hasProperty(g,"nullable")){this.nullable=b.jqx.get(g,"nullable")}if(b.jqx.hasProperty(g,"columnGroup")){this.columngroup=b.jqx.get(g,"columnGroup")}if(!g instanceof String&&!(typeof g=="string")){for(var h in g){if(!f.hasOwnProperty(h)){if(!f.hasOwnProperty(h.toLowerCase())){d.host.remove();throw new Error("jqxGrid: Invalid property name - "+h+".")}}}}}};this._initfields(e);return this}function a(d,e){this.setdata=function(f){if(f!=null){this.bounddata=f;this.boundindex=f.boundindex;this.visibleindex=f.visibleindex;this.group=f.group;this.parentbounddata=f.parentItem;this.uniqueid=f.uniqueid;this.level=f.level}};this.setdata(e);this.parentrow=null;this.subrows=new Array();this.owner=d;this.height=25;this.hidden=false;this.rowdetails=null;this.rowdetailsheight=100;this.rowdetailshidden=true;this.top=-1;this.setrowinfo=function(f){this.hidden=f.hidden;this.rowdetails=f.rowdetails;this.rowdetailsheight=f.rowdetailsheight;this.rowdetailshidden=!f.showdetails;this.height=f.height};return this}b.jqx.collection=function(d){this.records=new Array();this.owner=d;this.updating=false;this.beginupdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this._raiseEvent=function(e){};this.clear=function(){this.records=new Array()};this.replace=function(f,e){this.records[f]=e;if(!this.updating){this._raiseEvent({type:"replace",element:e})}};this.isempty=function(e){if(this.records[e]==undefined){return true}return false};this.initialize=function(e){if(e<1){e=1}this.records[e-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(e){return this.records.indexOf(e)};this.add=function(e){if(e==null){return false}this.records[this.records.length]=e;if(!this.updating){this._raiseEvent({type:"add",element:e})}return true};this.insertAt=function(f,e){if(f==null||f==undefined){return false}if(e==null){return false}if(f>=0){if(f<this.records.length){this.records.splice(f,0,e);if(!this.updating){this._raiseEvent({type:"insert",index:f,element:e})}return true}else{return this.add(e)}}return false};this.remove=function(f){if(f==null||f==undefined){return false}var e=this.records.indexOf(f);if(e!=-1){this.records.splice(e,1);if(!this.updating){this._raiseEvent({type:"remove",element:f})}return true}return false};this.removeAt=function(f){if(f==null||f==undefined){return false}if(f<0){return false}if(f<this.records.length){var e=this.records[f];this.records.splice(f,1);if(!this.updating){this._raiseEvent({type:"removeAt",index:f,element:e})}return true}return false};return this};b.jqx.dataview=function(){this.self=this;this.aggregates=false;this.grid=null;this.uniqueId="id";this.records=[];this.rows=[];this.columns=[];this.groups=[];this.filters=new Array();this.updated=null;this.update=null;this.suspend=false;this.pagesize=0;this.pagenum=0;this.totalrows=0;this.totalrecords=0;this.groupable=true;this.loadedrecords=[];this.loadedrootgroups=[];this.loadedgroups=[];this.loadedgroupsByKey=[];this.virtualmode=true;this._cachegrouppages=new Array();this.source=null;this.changedrecords=new Array();this.rowschangecallback=null;this.that=this;this.destroy=function(){delete this.self;delete this.grid;delete this.uniqueId;delete this.records;delete this.rows;delete this.columns;delete this.groups;delete this.filters;delete this.updated;delete this.update;delete this.suspend;delete this.pagesize;delete this.pagenum;delete this.totalrows;delete this.totalrecords;delete this.groupable;delete this.loadedrecords;delete this.loadedrootgroups;delete this.loadedgroups;delete this.loadedgroupsByKey;delete this.virtualmode;delete this._cachegrouppages;delete this.source;delete this.changedrecords;delete this.rowschangecallback;delete this.that},this.suspendupdate=function(){this.suspend=true},this.isupdating=function(){return this.suspend},this.resumeupdate=function(d){this.suspend=false;if(d==undefined){d=true}this.refresh(d)},this.getrecords=function(){return this.records},this.clearrecords=function(){this.recordids=new Array()};this.databind=function(y,p){var w=y._source?true:false;var h=null;if(this.grid){this.aggregates=this.grid.showgroupaggregates}if(w){h=y;y=y._source}else{h=new b.jqx.dataAdapter(y,{autoBind:false})}var f=function(m){h.recordids=[];h.records=new Array();h.cachedrecords=new Array();h.originaldata=new Array();h._options.virtualmode=m.virtualmode;h._options.totalrecords=m.totalrecords;h._options.originaldata=m.originaldata;h._options.recordids=m.recordids;h._options.cachedrecords=new Array();h._options.pagenum=m.pagenum;h._options.pageable=m.pageable;if(y.type!=undefined){h._options.type=y.type}if(y.formatdata!=undefined){h._options.formatData=y.formatdata}if(y.contenttype!=undefined){h._options.contentType=y.contenttype}if(y.async!=undefined){h._options.async=y.async}if(y.updaterow!=undefined){h._options.updaterow=y.updaterow}if(y.addrow!=undefined){h._options.addrow=y.addrow}if(y.deleterow!=undefined){h._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}h._options.pagesize=m.pagesize};var B=function(I){I.totalrecords=h.totalrecords;if(!I.virtualmode){I.originaldata=h.originaldata;I.records=h.records;I.recordids=h.recordids;I.cachedrecords=h.cachedrecords}else{var m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)};if(y.recordstartindex!=undefined){m.startindex=parseInt(y.recordstartindex)}if(y.recordendindex!=undefined){m.endindex=parseInt(y.recordendindex)}else{if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}}if(!y.recordendindex){if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}else{m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)}}}m.data=h.records;if(I.grid.rendergridrows&&I.totalrecords>0){var J=0;y.records=I.grid.rendergridrows(m);if(y.records.length){J=y.records.length}if(y.records&&!y.records[m.startindex]){var K=new Array();var H=m.startindex;b.each(y.records,function(){K[H]=this;H++;J++});y.records=K}if(J==0){if(y.records){b.each(y.records,function(){J++})}}if(J>0&&J<m.endindex-m.startindex&&!I.grid.groupable){var x=y.records[0];for(var q=0;q<m.endindex-m.startindex-J;q++){var L={};for(var o in x){L[o]=""}if(y.records.push){y.records.push(L)}}}}if(!y.records||I.totalrecords==0){y.records=new Array()}I.originaldata=y.records;I.records=y.records;I.cachedrecords=y.records}};f(this);this.source=y;if(p!==undefined){var k=p}var G=this.that;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){if(o!=undefined&&o!=""){var q=h._changedrecords[0];if(q){var x=new Array();b.each(h._changedrecords,function(K){var H=this.index;var I=this.record;G.grid._updateFromAdapter=true;switch(o){case"update":var J=G.grid.getrowid(H);if(K==h._changedrecords.length-1){G.grid.updaterow(J,I)}else{G.grid.updaterow(J,I,false)}G.grid._updateFromAdapter=false;return;case"add":G.grid.addrow(null,I);G.grid._updateFromAdapter=false;return;case"remove":var J=G.grid.getrowid(H);x.push(J);return}});if(x.length>0){G.grid.deleterow(x,false);G.grid._updateFromAdapter=false}}if(o=="update"){return}}var m=G.totalrecords;B(G,o);if(y.localdata.notifier===null&&y.localdata.name=="observableArray"){y.localdata.notifier=function(L){if(G._updating){return}G._updating=true;var K=G.grid.getrowid(L.index);switch(L.type){case"add":var H=b.extend({},L.object[L.index]);var J=h.getid(y.id,H,L.index);if(L.index===0){G.grid.addrow(J,H,"first")}else{G.grid.addrow(J,H)}break;case"delete":G.grid.deleterow(K);break;case"update":if(L.path&&L.path.split(".").length>1){var I=L.path.split(".");G.grid.setcellvalue(L.index,I[I.length-1],L.newValue)}else{var H=b.extend({},L.object[L.index]);G.grid.updaterow(K,H)}break}G._updating=false}}if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){var m=G.totalrecords;B(G);if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<G.filters.length;j++){var g=G.filters[j].datafield;var l=G.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[g+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=g;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var d=G.grid.getcolumn(i[A].datafield);if(d&&d.cellsformat){var z=G.grid.source.formatDate(i[A].value,d.cellsformat,G.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=g;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=g;t.type=i[A].type;var e=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==g){r.filters.push(t);e=true;break}}}if(!e){C.push({field:g,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterscount=v;E.groupscount=G.groups.length;for(var j=0;j<G.groups.length;j++){E["group"+j]=G.groups[j]}if(y.recordstartindex==undefined){y.recordstartindex=0}if(y.recordendindex==undefined||y.recordendindex==0){if(G.grid.height&&G.grid.height.toString().indexOf("%")==-1){y.recordendindex=parseInt(G.grid.height)/G.grid.rowsheight;y.recordendindex+=2;y.recordendindex=parseInt(y.recordendindex)}else{y.recordendindex=b(window).height()/G.grid.rowsheight;y.recordendindex=parseInt(y.recordendindex)}if(G.pageable){y.recordendindex=G.pagesize}}if(G.pageable){y.recordstartindex=(G.pagenum)*G.pagesize;y.recordendindex=(G.pagenum+1)*G.pagesize}b.extend(E,{sortdatafield:G.sortfield,sortorder:G.sortfielddirection,pagenum:G.pagenum,pagesize:G.grid.pagesize,recordstartindex:y.recordstartindex,recordendindex:y.recordendindex});var F=h._options.data;if(h._options.data){b.extend(h._options.data,E)}else{if(y.data){b.extend(E,y.data)}h._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){var x=G.totalrecords;B(G);if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(x!=G.totalrecords)};if(o){try{q()}catch(m){}}else{q()}};h.unbindDownloadComplete(G.grid.element.id);h.bindDownloadComplete(G.grid.element.id,n);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}else{if(!G.grid.isInitialized&&!G.grid.autobind){n()}}h._options.data=F}};this.getid=function(g,e,f){if(b(g,e).length>0){return b(g,e).text()}if(g){if(g.toString().length>0){var d=b(e).attr(g);if(d!=null&&d.toString().length>0){return d}}}return f};this.getvaluebytype=function(g,d){var e=g;if(d.type=="date"){var f=new Date(g);if(f.toString()=="NaN"||f.toString()=="Invalid Date"){if(b.jqx.dataFormat){g=b.jqx.dataFormat.tryparsedate(g)}else{g=f}}else{g=f}if(g==null){g=e}}else{if(d.type=="float"){var g=parseFloat(g);if(isNaN(g)){g=e}}else{if(d.type=="int"){var g=parseInt(g);if(isNaN(g)){g=e}}else{if(d.type=="bool"){if(g!=null){if(g.toLowerCase()=="false"){g=false}else{if(g.toLowerCase()=="true"){g=true}}}if(g==1){g=true}else{if(g==0){g=false}else{g=""}}}}}}return g};this.setpaging=function(d){if(d.pageSize!=undefined){this.pagesize=d.pageSize}if(d.pageNum!=undefined){this.pagenum=Math.min(d.pageNum,Math.ceil(this.totalrows/this.pagesize))}this.refresh()};this.getpagingdetails=function(){return{pageSize:this.pagesize,pageNum:this.pagenum,totalrows:this.totalrows}};this._clearcaches=function(){this.sortcache={};this.sortdata=null;this.changedrecords=new Array();this.records=new Array();this.rows=new Array();this.cacheddata=new Array();this.originaldata=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid=new Array();this.cachedrecords=new Array();this.recordids=new Array()};this.addfilter=function(g,f){var e=-1;for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==g){e=d;break}}if(e==-1){this.filters[this.filters.length]={filter:f,datafield:g}}else{this.filters[e]={filter:f,datafield:g}}};this.removefilter=function(e){for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==e){this.filters.splice(d,1);break}}};this.getItemFromIndex=function(d){return this.records[d]};this.updaterow=function(d,n,l){var e=this.filters&&this.filters.length>0&&!this.virtualmode;if(!e&&n!=undefined&&d!=undefined){n.uid=d;if(!(n[this.source.id])){n[this.source.id]=n.uid}var j=this.recordsbyid["id"+d];var k=this.records.indexOf(j);if(k==-1){return false}this.records[k]=n;if(this.cachedrecords){this.cachedrecords[k]=n}if(l==true||l==undefined){this.refresh()}this.changedrecords[n.uid]={Type:"Update",OldData:j,Data:n};return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var j=null;var k=-1;for(var h=0;h<f.length;h++){if(f[h].uid==d){j=f[h];k=h;break}}if(j){var m=this.that;for(var g in n){m.cachedrecords[k][g]=n[g]}if(l==true||l==undefined){this.refresh()}return true}}}return false};this.addrow=function(h,i,d,g){if(i!=undefined){if(b.isEmptyObject(i)){if(this.source&&this.source.datafields){b.each(this.source.datafields,function(){var j="";if(this.type=="number"){j=null}if(this.type=="date"){j=null}if(this.type=="bool"||this.type=="boolean"){j=false}i[this.name]=j})}}if(!h||this.recordsbyid["id"+h]){i.uid=this.getid(this.source.id,i,this.totalrecords);var e=this.recordsbyid["id"+i.uid];while(e!=null){var f=Math.floor(Math.random()*10000).toString();i.uid=f;e=this.recordsbyid["id"+f]}}else{i.uid=h}if(!(i[this.source.id])){if(this.source.id!=undefined){i[this.source.id]=i.uid}}i.boundindex=this.records.length;if(d=="last"){this.records.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.records.splice(d,0,i)}else{this.records.splice(0,0,i)}}if(this.filters&&this.filters.length>0){if(d=="last"){this.cachedrecords.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.cachedrecords.splice(d,0,i)}else{this.cachedrecords.splice(0,0,i)}}}this.totalrecords++;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(g==true||g==undefined){this.refresh()}this.changedrecords[i.uid]={Type:"New",Data:i};return true}return false};this.deleterow=function(j,h){if(j!=undefined){var d=this.filters&&this.filters.length>0;if(this.recordsbyid["id"+j]&&!d){var e=this.recordsbyid["id"+j];var k=this.records.indexOf(e);if(this.grid&&this.grid.sortable&&this.grid.sortmode=="many"){for(var g=0;g<this.records.length;g++){if(this.records[g].boundindex===e.boundindex){k=g;break}}}this.changedrecords[j]={Type:"Delete",Data:this.records[k]};this.records.splice(k,1);this.totalrecords--;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(h==true||h==undefined){this.refresh()}return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var e=null;var k=-1;for(var g=0;g<f.length;g++){if(f[g].uid==j){e=f[g];k=g;break}}if(e){this.cachedrecords.splice(k,1);if(h==true||h==undefined){this.totalrecords=0;this.records=this.cachedrecords;this.refresh()}return true}}}return false}return false};this.reload=function(f,d,r,g,h,u,t){var m=this.that;var l=new Array();var o=f;var i=d;var j=r;var p=g;var k=i.length;var w=0;var e=0;var s,n;this.columns=[];this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid={};if(this.totalrecords==0){Object.size=function(z){var y=0,x;for(x in z){if(z.hasOwnProperty(x)){y++}}return y};var v=Object.size(o);this.totalrecords=v;b.each(this.records,function(y){var z=this;var x=0;b.each(z,function(A,B){m.columns[x++]=A});return false})}if(this.virtualmode){if(this.pageable){this.updateview();return}var u=0;if(!this.groupable){this.updateview();return}else{var t=this.totalrecords}}else{var u=0;var t=this.totalrecords}if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){var q=u;q=this.loadgrouprecords(0,u,t,j,e,p,i,k,l)}else{w=this.loadflatrecords(u,t,j,e,p,i,k,l)}if(k>e){i.splice(e,k-e)}if(this.groups.length>0&&this.groupable){this.totalrows=q}else{this.totalrows=w}return l};this.loadflatrecords=function(u,r,h,d,p,g,j,l){var m=this.that;var o=u;var v=u;r=Math.min(r,this.totalrecords);var f=this.sortdata!=null;var s=this.source.id&&(this.source.datatype=="local"||this.source.datatype=="array"||this.source.datatype=="");var t=f?this.sortdata:this.records;for(var k=u;k<r;k++){var q={};if(!f){q=new Object(t[k]);var n=q[m.uniqueId];q.boundindex=o;m.loadedrecords[o]=q;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,o)}m.recordsbyid["id"+q.uid]=t[k];q.uniqueid=m.generatekey();m.bounditems[this.bounditems.length]=q}else{q=b.extend({},t[k].value);var n=q[m.uniqueId];q.boundindex=t[k].index;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,q.boundindex)}m.recordsbyid["id"+q.uid]=t[k].value;m.loadedrecords[o]=q;q.uniqueid=m.generatekey();m.bounditems[q.boundindex]=q}if(d>=j||n!=g[d][m.uniqueId]||(p&&p[n])){l[l.length]=d}g[d]=q;d++;q.visibleindex=v;v++;o++}if(m.grid.summaryrows){var e=o;b.each(m.grid.summaryrows,function(){var i=b.extend({},this);i.boundindex=r++;m.loadedrecords[e]=i;i.uniqueid=m.generatekey();m.bounditems[m.bounditems.length]=i;g[d]=i;d++;i.visibleindex=v;v++;e++})}return v},this.updateview=function(o,p){var r=this.that;var k=this.pagesize*this.pagenum;var n=0;var s=new Array();var e=this.filters;var j=this.updated;var l=s.length;if(this.pageable){if(this.virtualmode){if(!this.groupable||this.groups.length==0){this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[]);this.totalrows=s.length}else{if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){if(this._cachegrouppages[this.pagenum+"_"+this.pagesize]!=undefined){this.rows=this._cachegrouppages[this.pagenum+"_"+this.pagesize];this.totalrows=this.rows.length;return}var m=this.pagesize*(1+this.pagenum);if(m>this.totalrecords){m=this.totalrecords}this.loadgrouprecords(0,this.pagesize*this.pagenum,m,e,n,j,s,l,[]);this._cachegrouppages[this.pagenum+"_"+this.pagesize]=this.rows;this.totalrows=this.rows.length;return}}}}else{if(this.virtualmode&&(!this.groupable||this.groups.length==0)){var g=this.pagesize;if(g==0){g=Math.min(100,this.totalrecords)}var d=g*this.pagenum;if(this.loadedrecords.length==0){d=0}if(o!=null&&p!=null){this.loadflatrecords(o,p,e,n,j,s,l,[])}else{this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[])}this.totalrows=this.loadedrecords.length;this.rows=s;if(s.length>=g){return}}}if(this.groupable&&this.pageable&&this.groups.length>0&&this._updategroupsinpage){s=this._updategroupsinpage(r,e,k,n,l,this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum))}else{for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum);h++){var q=h<this.loadedrecords.length?this.loadedrecords[h]:null;if(q==null){continue}if(!this.pagesize||(k>=this.pagesize*this.pagenum&&k<=this.pagesize*(this.pagenum+1))){s[n]=q;n++}k++}}if((s.length==0||s.length<this.pagesize)&&!this.pageable&&this.virtualmode){n=s.length;var f=s.length;for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum)-f;h++){var q={};q.boundindex=h+f;q.visibleindex=h+f;q.uniqueid=r.generatekey();q.empty=true;r.bounditems[h+f]=q;s[n]=q;n++}}this.rows=s};this.generatekey=function(){var d=function(){return(((1+Math.random())*16)|0)};return(""+d()+d()+"-"+d()+"-"+d()+"-"+d()+"-"+d()+d()+d())};this.reloaddata=function(){this.reload(this.records,this.rows,this.filter,this.updated,true)};this.refresh=function(m){if(this.suspend){return}if(m==undefined){m=true}var g=this.rows.length;var C=this.totalrows;if(this.filters.length>0&&!this.virtualmode){var r="";var f=this.cachedrecords.length;var k=new Array();this.totalrecords=0;var B=this.cachedrecords;this._dataIndexToBoundIndex=new Array();var t=this.filters.length;if(this.source!=null&&this.source.filter!=undefined&&this.source.localdata!=undefined){var n=this.source.filter(this.filters,B,f);if(n==undefined){n=new Array()}for(var l=0;l<f;l++){var h=B[l];var x=n.indexOf(h)>=0;if(x){k[k.length]=b.extend({dataindex:l},h);this._dataIndexToBoundIndex[l]={boundindex:k.length-1}}else{this._dataIndexToBoundIndex[l]=null}}this.records=k}else{if(this.source.filter==null||this.source.filter==undefined){for(var l=0;l<f;l++){var h=B[l];var x=undefined;for(var w=0;w<t;w++){var r=this.filters[w].filter;var u=h[this.filters[w].datafield];var q=r.evaluate(u);if(this.grid.filter){var A=this.grid.filter(u,h,this.filters[w].datafield,r,q);if(A!==undefined){q=A}}if(x==undefined){x=q}else{if(r.operator=="or"){x=x||q}else{x=x&&q}}}if(x){k[k.length]=b.extend({dataindex:l},h);this._dataIndexToBoundIndex[l]={boundindex:k.length-1}}else{this._dataIndexToBoundIndex[l]=null}}this.records=k}}if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var z=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,z);return}}else{var d=this.grid.getsortcolumns();for(var y=0;y<d.length;y++){var p=d[y];var v=p.dataField;this.grid.sortby(v,p.ascending,null)}return}}}else{if(this.filters.length==0&&!this.virtualmode){if(this.cachedrecords){this.totalrecords=0;var B=this.cachedrecords;this.records=B;if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var z=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,z);return}}else{var d=this.grid.getsortcolumns();for(var y=0;y<d.length;y++){var p=d[y];var v=p.dataField;this.grid.sortby(v,p.ascending,null)}return}}}}}var s=this.reload(this.records,this.rows,this.filter,this.updated,m);this.updated=null;if(this.rowschangecallback!=null){var o=this.rows;if(C!=this.totalrows){this.rowschangecallback({type:"PagingChanged",data:this.getpagingdetails()})}if(g!=o.length){this.rowschangecallback({type:"RowsCountChanged",data:{previous:g,current:o.length}})}if(s.length>0||g!=o.length){this.rowschangecallback({type:"RowsChanged",data:{previous:g,current:o.length,diff:s}})}}};return this}})(jqxBaseFramework);
 
-(function(a){a.jqx.dataview.grouping=function(){this.loadgrouprecords=function(B,E,p,C,F,e,O,D,v){var J=B;var h=this;var N=new Array();for(var l=0;l<h.groups.length;l++){N[l]=h.generatekey()}var H=new Array();var b=0;var N=N;var y=new Array();var M=E;var d=E;var z=h.groups.length;this.loadedrecords=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this.sortedgroups=new Array();var L=this.sortdata!=null;var P=L?this.sortdata:this.records;if(this.pageable){var s=new Array();var A=0;if(!P[E]){a.each(P,function(i,q){s[E+i++]=this});P=s}}if(this.virtualmode){var s=new Array();var A=0;for(var M=0;M<p-E;M++){if(P[M]){s[E+A++]=P[M]}else{if(P[E+A]){s[E+A]=P[E+A];A++}}}M=0;P=s}for(var c=E;c<p;c++){var w={};if(!L){w=a.extend({},P[c])}else{w=a.extend({},P[c].value)}id=w[h.uniqueId];if(F>=D||id!=O[F][h.uniqueId]||(e&&e[id])){v[v.length]=F}var I=new Array();var u=0;for(var l=0;l<z;l++){var r=h.groups[l];var G=w[r];if(G==null){G=""}I[u++]={value:G,hash:N[l]}}if(I.length!=z){break}var j=null;var k="";var f=-1;for(var K=0;K<I.length;K++){f++;var n=I[K].value;var t=I[K].hash;k=k+"_"+t+"_"+n;if(y[k]!=undefined&&y[k]!=null){j=y[k];continue}if(j==null){j={group:n,subItems:new Array(),subGroups:new Array(),level:0};H[b++]=j;j.uniqueid=h.generatekey();h.loadedgroupsByKey[n]=j}else{var m={group:n,subItems:new Array(),subGroups:new Array(),parentItem:j,level:j.level+1};h.loadedgroupsByKey[j.uniqueid+"_"+n]=m;m.uniqueid=h.generatekey();j.subGroups[j.subGroups.length++]=m;j=m}y[k]=j}if(j!=null){if(undefined==w.uid){w.uid=this.getid(this.source.id,w,M)}if(!L){w.boundindex=M;this.recordsbyid["id"+w.uid]=P[c]}else{w.boundindex=P[c].index;this.recordsbyid["id"+w.uid]=P[c].value}this.bounditems[w.boundindex]=w;this.sortedgroups[M]=w;w.uniqueid=h.generatekey();w.parentItem=j;w.level=j.level+1;j.subItems[j.subItems.length++]=w}else{if(undefined==w.uid){w.uid=this.getid(this.source.id,w,M)}if(!L){w.boundindex=M;this.recordsbyid["id"+w.uid]=P[c]}else{w.boundindex=P[c].index;this.recordsbyid["id"+w.uid]=P[c].value}this.sortedgroups[M]=w;this.bounditems[w.boundindex]=w;w.uniqueid=h.generatekey()}F++;M++;d++}var g=function(q,Q,R){for(var i=0;i<Q.subItems.length;i++){Q.subItems[i].visibleindex=B+R;q.rows[R]=Q.subItems[i];q.loadedrecords[R]=Q.subItems[i];R++}return R};var o=function(X,V,R){var U=1;var Q=X.grid.columns.records?X.grid.columns.records:X.grid.columns;if(X.aggregates==true){for(var S=0;S<Q.length;S++){if(Q[S].aggregates){U=Math.max(U,Q[S].aggregates.length)}}}var q=function(Z){if(X.aggregates==true){var Y=function(ac){var aa=Z;var ae={};var af=function(ah){for(var ag=0;ag<Q.length;ag++){if(Q[ag].aggregates){var an=X.grid.getcolumnaggregateddata(Q[ag].datafield,Q[ag].aggregates,true,ah);for(var ak=0;ak<Q[ag].aggregates.length;ak++){if(Q[ag].aggregates[ac]){var al=Q[ag];var aj=Q[ag].aggregates[ac];var ai=aj;ai=X.grid._getaggregatename(ai);var am=ai+":"+an[aj];if(an[aj]){ae[al.datafield]=am}else{ae[al.datafield]=ai+":"+an[ai]}}}}}};if(aa!=null){ae.level=aa.level;ae.visibleindex=B+R;ae.uniqueid=X.generatekey();X.rows[R]=ae;X.loadedrecords[R++]=ae;ae.totalsrow=true;if(Z.subItems.length>0){aa=Z.subItems[Z.subItems.length-1];ae.parentItem=aa.parentItem;if(ae.parentItem.subItems){ae.parentItem.subItems[ae.parentItem.subItems.length]=ae}var ab=[];var ad=function(){for(var ag=0;ag<Z.subItems.length;ag++){if(Z.subItems[ag].totalsrow){continue}ab[ab.length]=Z.subItems[ag]}};ad(Z);af(ab)}else{if(Z.subGroups.length>0){aa=Z.subGroups[Z.subGroups.length-1];ae.level=aa.level;ae.parentItem=Z;Z.subGroups[Z.subGroups.length]=ae;var ab=[];var ad=function(ah){if(ah.totalsrow){return}for(var ag=0;ag<ah.subItems.length;ag++){if(ah.subItems[ag].totalsrow){continue}ab[ab.length]=ah.subItems[ag]}for(var ag=0;ag<ah.subGroups.length;ag++){ad(ah.subGroups[ag])}};ad(Z);af(ab)}}}};for(var i=0;i<U;i++){Y(i)}}};for(var T in V.subGroups){var W=V.subGroups[T];if(W.subGroups){X.loadedgroups[X.loadedgroups.length]=W;W.visibleindex=B+R;X.rows[R]=W;X.loadedrecords[R]=W;R++;if(W.subGroups.length>0){R=o(X,W,R)}else{if(W.subItems.length>0){R=g(X,W,R)}}}}if(V.subItems.length>0){R=g(X,V,R)}q(V);return R};var x=H.length;this.loadedgroups=new Array();this.rows=new Array();var J=0;for(var M=0;M<x;M++){var r=H[M];this.loadedrootgroups[M]=r;this.loadedgroups[this.loadedgroups.length]=r;r.visibleindex=B+J;this.rows[J]=r;this.loadedrecords[J]=r;J++;J=o(this,r,J)}return J};this._updategroupsinpage=function(C,r,K,d,u,j,f){var p=new Array();var w=[];if(this.groupable&&this.groups.length>0){var B=0;var h=new Array();var g=new Array();for(var m=0;m<C.groups.length;m++){g[m]=C.generatekey()}var F=0;var o=new Array();var k=0;if(f>this.totalrecords){f=this.totalrecords}for(var v=j;v<f;v++){var H=a.extend({},C.sortedgroups[v]);id=H[C.uniqueId];if(!C.pagesize||(K>=C.pagesize*C.pagenum&&K<C.pagesize*(C.pagenum+1))){if(d>=u||id!=p[d][C.uniqueId]||(updated&&updated[id])){w[w.length]=d}var e=new Array();var y=0;for(var m=0;m<C.groups.length;m++){var n=C.groups[m];var D=H[n];if(null==D){D=""}e[y++]={value:D,hash:g[m]}}if(e.length!=C.groups.length){break}var z=null;var s="";var c=-1;for(var A=0;A<e.length;A++){c++;var G=e[A].value;var l=e[A].hash;s=s+"_"+l+"_"+G;if(h[s]!=undefined&&h[s]!=null){z=h[s];continue}if(z==null){z={group:G,subItems:new Array(),subGroups:new Array(),level:0};o[k++]=z;var E=C.loadedgroupsByKey[G];if(E!=undefined){z.visibleindex=E.visibleindex;z.uniqueid=E.uniqueid}}else{var t={group:G,subItems:new Array(),subGroups:new Array(),parentItem:z,level:z.level+1};var E=C.loadedgroupsByKey[z.uniqueid+"_"+G];t.visibleindex=E.visibleindex;t.uniqueid=E.uniqueid;z.subGroups[z.subGroups.length++]=t;z=t}h[s]=z}if(z!=null){H.parentItem=z;H.level=z.level+1;z.subItems[z.subItems.length++]=H}d++}F++;K++}var x=function(L,M,q){for(var i=0;i<M.subItems.length;i++){p[q]=a.extend({},M.subItems[i]);q++}return q};var I=function(N){var q=false;for(var M in N.subGroups){var L=N.subGroups[M];if(L.subGroups){if(L.subGroups.length>0){var i=I(L);if(i){q=true;return true}}if(L.subItems.length>0){q=true;return true}}}if(N.subItems.length>0){q=true;return true}return q};var b=function(R,P,S){var O=1;var L=R.grid.columns.records?R.grid.columns.records:R.grid.columns;if(R.aggregates==true){for(var M=0;M<L.length;M++){if(L[M].aggregates){O=Math.max(O,L[M].aggregates.length)}}}var q=function(U){if(R.aggregates==true){var T=function(X){var V=U;var Z={};var aa=function(ac){for(var ab=0;ab<L.length;ab++){if(L[ab].aggregates){var ai=R.grid.getcolumnaggregateddata(L[ab].datafield,L[ab].aggregates,true,ac);for(var af=0;af<L[ab].aggregates.length;af++){if(L[ab].aggregates[X]){var ag=L[ab];var ae=L[ab].aggregates[X];var ad=ae;ad=R.grid._getaggregatename(ad);var ah=ad+":"+ai[ae];Z[ag.datafield]=ah}}}}};if(V!=null){Z.level=V.level;Z.visibleindex=S;Z.uniqueid=R.generatekey();p[S]=Z;R.loadedrecords[S++]=Z;Z.totalsrow=true;if(U.subItems.length>0){V=U.subItems[U.subItems.length-1];Z.parentItem=V.parentItem;if(Z.parentItem.subItems){Z.parentItem.subItems[Z.parentItem.subItems.length]=Z}var W=[];var Y=function(){for(var ab=0;ab<U.subItems.length;ab++){if(U.subItems[ab].totalsrow){continue}W[W.length]=U.subItems[ab]}};Y(U);aa(W)}else{if(U.subGroups.length>0){V=U.subGroups[U.subGroups.length-1];Z.level=V.level;Z.parentItem=U;U.subGroups[U.subGroups.length]=Z;var W=[];var Y=function(ac){if(ac.totalsrow){return}for(var ab=0;ab<ac.subItems.length;ab++){if(ac.subItems[ab].totalsrow){continue}W[W.length]=ac.subItems[ab]}for(var ab=0;ab<ac.subGroups.length;ab++){Y(ac.subGroups[ab])}};Y(U);aa(W)}}}};for(var i=0;i<O;i++){T(i)}}};for(var N in P.subGroups){var Q=P.subGroups[N];if(Q.subGroups){if(I(Q)){p[S]=Q;S++;if(Q.subGroups.length>0){S=b(R,Q,S)}else{if(Q.subItems.length>0){S=x(R,Q,S)}}q(Q)}}}if(P.subItems.length>0){S=x(R,P,S)}q(P);return S};var J=0;for(var F=0;F<o.length;F++){var n=o[F];if(I(n)){p[B]=n;B++;B=b(this,n,B)}}}return p}};a.extend(a.jqx._jqxGrid.prototype,{_initgroupsheader:function(){this.groupsheader.css("visibility","hidden");if(this._groupsheader()){this.groupsheader.css("visibility","inherit");var e=this;var c=this.gridlocalization.groupsheaderstring;this.groupsheaderdiv=this.groupsheaderdiv||a('<div style="width: 100%; position: relative;"></div>');this.groupsheaderdiv.height(this.groupsheaderheight);this.groupsheaderdiv.css("top",0);this.groupsheader.append(this.groupsheaderdiv);this.groupheadersbounds=new Array();var d=this.groups.length;this.groupsheaderdiv.children().remove();this.groupsheaderdiv[0].innerHTML="";var b=new Array();if(d>0){a.each(this.groups,function(i){var n=this;var m=e._getColumnText(this);var l=m.label;var k=e._rendergroupcolumn(l,n);k.addClass(e.toThemeProperty("jqx-grid-group-column"));e.groupsheaderdiv.append(k);if(e.closeablegroups){var j=a(k.find(".jqx-icon-close"));if(e.isTouchDevice()&&e.touchmode!==true){e.addHandler(j,"touchstart",function(){e.removegroupat(i);return false})}else{e.addHandler(j,"click",function(){e.removegroupat(i);return false})}}if(e.sortable){e.addHandler(k,"click",function(){var o=e.getcolumn(n);if(o!=null){e._togglesort(o)}return false})}b[b.length]=k;e._handlegroupstocolumnsdragdrop(this,k);if(i<d-1){var g=k.height();var h=a('<div style="float: left; position: relative;"></div>');if(e.rtl){h.css("float","right")}h.width(e.groupindentwidth/3);h.height(1);h.css("top",g/2);h.addClass(e.toThemeProperty("jqx-grid-group-column-line"));e.groupsheaderdiv.append(h)}})}else{var f=a('<div style="position: relative;">'+c+"</div>");this.groupsheaderdiv.append(f);if(this.rtl){f.addClass(this.toThemeProperty("jqx-rtl"))}}this._groupheaders=b;this._updategroupheadersbounds()}},_updategroupheadersbounds:function(){var c=this;var b=this.groupsheaderdiv.children().outerHeight();var d=(this.groupsheader.height()-b)/2;this.groupsheaderdiv.css("top",d);if(!this.rtl){this.groupsheaderdiv.css("left",d);this.groupsheaderdiv.css("right","")}else{this.groupsheaderdiv.css("left","");this.groupsheaderdiv.css("right",d)}if(this.rtl){this._groupheaders.reverse()}a.each(this._groupheaders,function(f){var e=this.coord();c.groupheadersbounds[f]={left:e.left,top:e.top,width:this.outerWidth(),height:this.outerHeight(),index:f}})},addgroup:function(c){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups[b.groups.length]=c;b.refreshgroups();this._raiseEvent(12,{type:"Add",index:b.groups[b.groups.length],groups:b.groups})}},insertgroup:function(d,c){if(d!=undefined&&d!=null&&d>=0&&d<=this.groups.length){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(d,0,c.toString());b.refreshgroups();this._raiseEvent(12,{type:"Insert",index:d,groups:b.groups})}}},refreshgroups:function(){this._refreshdataview();this._render(true,true,true,false);this._postrender("group")},_insertaftergroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b+1,c)},_insertbeforegroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b,c)},removegroupat:function(c){if(c>=0&&c!=null&&c!=undefined){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(c,1);b.refreshgroups();if(b.virtualmode){b.updatebounddata()}this._raiseEvent(12,{type:"Remove",index:c,groups:b.groups});return true}return false},cleargroups:function(){var b=this;b.groups=[];b.dataview.groups=b.groups;b.refreshgroups();this._raiseEvent(12,{type:"Clear",index:-1,groups:b.groups});return true},removegroup:function(c){if(c==null){return false}var b=this.groups.indexOf(c.toString());return this.removegroupat(b)},getrootgroupscount:function(){var b=this.dataview.loadedrootgroups.length;return b},collapsegroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,false)}var b=c.toString().split(".");var f=null;if(!this.groupsVisibility){this.groupsVisibility=new Array()}for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this.groupsVisibility[f.group]=null}else{var e=f.subGroups[c];if(e){f=e;if(d==b.length-1){this._setgroupstate(f,false,true);this.groupsVisibility[f.group]=null}}}}},expandgroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,true)}var b=c.toString().split(".");var f=null;for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this._setrootgroupstate(c,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}else{var e=f.subGroups[c];if(e){f=e;this._setgroupstate(f,true,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}}}},collapseallgroups:function(b){this._setbatchgroupstate(false,b)},expandallgroups:function(b){this._setbatchgroupstate(true,b)},isgroupexpanded:function(c){var d=this.dataview.loadedrootgroups[c];if(d==null){return null}var b=this.expandedgroups[d.uniqueid].expanded;return b},getgroup:function(e){var j=this.dataview.loadedrootgroups[e];if(j==null){return null}var f=this.expandedgroups[j.uniqueid].expanded;var g=j.group;var b=j.level;var c=new Array();this._getsubgroups(c,j);var i=this;var d={group:g,level:b,expanded:f,subgroups:c};if(j.subItems){var h=new Array();a.each(j.subItems,function(){var k=this.boundindex;h[h.length]=i.getrowdata(k)});if(h.length>0){d.subrows=h}}return d},getrootgroups:function(){var d=this.dataview.loadedrootgroups.length;var c=new Array();for(var b=0;b<d;b++){c[b]=this.getgroup(b)}return c},_getsubgroups:function(c,k){var j=this;for(var e in k.subGroups){var i=k.subGroups[e];var f=j.expandedgroups[i.uniqueid].expanded;var g=i.group;var b=i.level;c[c.length]={group:g,level:b,expanded:f};if(i.subItems){var h=new Array();a.each(i.subItems,function(){var l=this.boundindex;h[h.length]=j.getrowdata(l)});c[c.length-1].subrows=h}if(i.subGroups){var d=new Array();j._getsubgroups(d,i)}}return c},_setbatchgroupstate:function(b,e){var c=this;for(obj in this.dataview.loadedrootgroups){c._setrootgroupstate(obj,b,false,true)}if(e==false){c._requiresupdate=true;c._renderrows(c.virtualsizeinfo);return true}var d=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(d!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_setrootgroupstate:function(d,b,f,c){if(d==undefined||d==null||d<0){return false}if(!this.groupable||this.groups.length==0){return false}var j=f!=undefined?f:true;if(d>=0&&d<this.dataview.loadedrootgroups.length){var h=this.dataview.loadedrootgroups[d];if(this.pageable){var g=new Array();for(var e=0;e<this.dataview.rows.length;e++){if(this.dataview.rows[e].group!=null&&this.dataview.rows[e].level===0){g.push(this.dataview.rows[e])}}h=g[d];if(!h){return}}return this._setgroupstate(h,b,j,c)}return false},_togglegroupstate:function(e,f){if(e==null||e==undefined){return false}var c=this.vScrollInstance.value;var d=this.expandedgroups[e.uniqueid];if(d==undefined){d=false}else{d=d.expanded}d=!d;if(!this.groupsVisibility){this.groupsVisibility=new Array()}if(d){this.groupsVisibility[e.group]=e}else{this.groupsVisibility[e.group]=null}var b=this._setgroupstate(e,d,f);this._newmax=null;if(c!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(c<=this.vScrollInstance.max){this.vScrollInstance.setPosition(c)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return b},_setgroupstate:function(f,b,h,c){if(f==null||f==undefined){return false}var e=false;if(this.editable&&this.editcell){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}var d=this.expandedgroups[f.uniqueid];if(d==undefined){d={expanded:false};e=true}if(d.expanded!=b){e=true}if(e){this.expandedgroups[f.uniqueid]={expanded:b,group:f};this._setsubgroupsvisibility(this,f,!b,c);if(h){var g=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(g!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(undefined==this.suspendgroupevents||this.suspendgroupevents==false){if(b){this._raiseEvent(4,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}else{this._raiseEvent(5,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}}return true}return false},_setgroupitemsvisibility:function(c,e,d){for(var b=0;b<e.subItems.length;b++){c._setrowvisibility(e.subItems[b].visibleindex,d,false)}},_setsubgroupsvisibility:function(c,h,f,d){if(h.parentItem!=null){if(this.hiddens[h.parentItem.visibleindex]){return}}else{if(h.parentItem==null){if(this.hiddens[h.visibleindex]){return}}}for(var g in h.subGroups){var e=h.subGroups[g];if(!f){c._setrowvisibility(e.visibleindex,f,false)}var b=!f;if(!d){if(c.expandedgroups[e.uniqueid]==undefined){b=false}else{b=c.expandedgroups[e.uniqueid].expanded}}else{this.expandedgroups[e.uniqueid]={expanded:b,group:e}}if(e.subGroups){if(e.subGroups.length>0){c._setsubgroupsvisibility(c,e,!b||f,d)}else{if(e.subItems.length>0){c._setgroupitemsvisibility(c,e,!b||f)}}}if(f){c._setrowvisibility(e.visibleindex,f,false)}}if(h.subItems&&h.subItems.length>0){c._setgroupitemsvisibility(c,h,f)}},_handlecolumnsdragdrop:function(){var d=this;var g=-1;var c=false;if(!d.groupable){return}var f="mousemove.grouping"+this.element.id;var e="mousedown.grouping"+this.element.id;var h="mouseup.grouping"+this.element.id;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;f=a.jqx.mobile.getTouchEventName("touchmove")+".grouping"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchstart")+".grouping"+this.element.id;h=a.jqx.mobile.getTouchEventName("touchend")+".grouping"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(j){if(!d.showgroupsheader){return true}if(d.dragcolumn!=null){var l=parseInt(j.pageX);var u=parseInt(j.pageY);if(b){var r=d.getTouches(j);var p=r[0];l=parseInt(p.pageX);u=parseInt(p.pageY)}var n=d.host.coord();var v=parseInt(n.left);var w=parseInt(n.top);if(d.dragmousedownoffset==undefined||d.dragmousedownoffset==null){d.dragmousedownoffset={left:0,top:0}}var t=parseInt(l)-parseInt(d.dragmousedownoffset.left);var i=parseInt(u)-parseInt(d.dragmousedownoffset.top);d.dragcolumn.css({left:t+"px",top:i+"px"});c=false;if(l>=v&&l<=v+d.host.width()){if(u>=w&&u<=w+d.host.height()){c=true}}g=-1;if(c){d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-dragcancel-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-drag-icon"));var s=d.groupsheader.coord();var m=s.top+d.groupsheader.height();var q=a.data(d.dragcolumn[0],"datarecord");if(q){var k=d.groups.indexOf(q.toString())}else{var k=-1}var o=(k==-1)||(d.groups.length>1&&k>-1);if(d.dropline!=null){if(u>=s.top&&u<=m){if(o){g=d._handlegroupdroplines(l)}}else{d.dropline.fadeOut("slow")}}}else{if(d.dropline!=null){d.dropline.fadeOut("slow")}d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-drag-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-dragcancel-icon"))}if(b){j.preventDefault();j.stopPropagation();return false}}});this.removeHandler(a(document),h);this.addHandler(a(document),h,function(i){if(!d.showgroupsheader){return true}d.__drag=false;a(document.body).removeClass("jqx-disableselect");var m=parseInt(i.pageX);var s=parseInt(i.pageY);if(b){var p=d.getTouches(i);var o=p[0];m=parseInt(o.pageX);s=parseInt(o.pageY)}var n=d.host.coord();var t=parseInt(n.left);var u=parseInt(n.top);var k=d.groupsheader.height();if(d.showtoolbar){u+=d.toolbarheight}d.dragstarted=false;d.dragmousedown=null;if(d.dragcolumn!=null){var l=a.data(d.dragcolumn[0],"datarecord");d.dragcolumn.remove();d.dragcolumn=null;if(l!=null){if(!d.getcolumn(l).groupable){if(d.dropline!=null){d.dropline.remove();d.dropline=null}return}if(c){if(g!=-1){var q=g.index;var r=d.groups[q];var j=d._getGroupIndexByDataField(l);if(j!=q){if(j!=undefined&&j>=0){d.groups.splice(j,1)}if(g.position=="before"){if(!d.rtl){d._insertbeforegroup(r,l)}else{d._insertaftergroup(r,l)}}else{if(!d.rtl){d._insertaftergroup(r,l)}else{d._insertbeforegroup(r,l)}}}}else{if(d.groups.length==0){if(s>u&&s<=u+k){d.addgroup(l)}}else{if(s>u+k){var j=d._getGroupIndexByDataField(l);d.removegroupat(j)}}}}if(d.dropline!=null){d.dropline.remove();d.dropline=null}}}})},_getGroupIndexByDataField:function(b){for(var c=0;c<this.groups.length;c++){if(this.groups[c]==b){return c}}return -1},_isColumnInGroups:function(c){for(var b=0;b<this.groups.length;b++){if(this.groups[b]==c){return true}}return false},_handlegroupdroplines:function(d){var b=this;var c=-1;a.each(b.groupheadersbounds,function(e){if(d<=this.left+this.width/2){var f=this.left-3;if(e>0){f=this.left-1-b.groupindentwidth/6}b.dropline.css("left",f);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"before"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"before"}}return false}else{if(d>=this.left+this.width/2){b.dropline.css("left",1+this.left+this.width);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"after"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"after"}}}}});return c},_handlegroupstocolumnsdragdrop:function(c,e){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var f=this;var d;var h="mousedown";var g="mousemove";var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;h=a.jqx.mobile.getTouchEventName("touchstart");g=a.jqx.mobile.getTouchEventName("touchmove")}this.addHandler(e,"dragstart",function(i){return false});this.addHandler(e,h,function(i){if(!f.showgroupsheader){return true}var l=i.pageX;var k=i.pageY;f.__drag=true;f.dragmousedown={left:l,top:k};if(b){var j=f.getTouches(i);var n=j[0];l=n.pageX;k=n.pageY;f.dragmousedown={left:l,top:k};if(i.preventDefault){i.preventDefault()}}var m=a(i.target).coord();f.dragmousedownoffset={left:parseInt(l)-parseInt(m.left),top:parseInt(k-m.top)}});this.addHandler(e,g,function(i){if(!f.showgroupsheader){return true}if(f.dragmousedown){d={left:i.pageX,top:i.pageY};if(b){var k=f.getTouches(i);var m=k[0];d={left:m.pageX,top:m.pageY}}if(!f.dragstarted&&f.dragcolumn==null){var j=Math.abs(d.left-f.dragmousedown.left);var l=Math.abs(d.top-f.dragmousedown.top);if(j>3||l>3){f._createdragcolumn(e,d,true);a(document.body).addClass("jqx-disableselect");a.data(f.dragcolumn[0],"datarecord",c);if(i.preventDefault){i.preventDefault()}}}}})},_createdragcolumn:function(c,e,g){var h=this;var f=e;h.dragcolumn=a("<div></div>");var j=c.clone();h.dragcolumn.css("z-index",999999);j.css("border-width","1px");j.css("opacity","0.4");var i=a(j.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(i.length>0){i.css("display","none")}var b=a(j.find(".jqx-icon-close"));if(b.length>0){b.css("display","none")}h.dragcolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.dragcolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.dragcolumn.css("float","left");h.dragcolumn.css("position","absolute");var d=h.host.coord();j.width(c.width()+16);h.dragcolumn.append(j);h.dragcolumn.height(c.height());h.dragcolumn.width(j.width());h.dragcolumn.append(h.dragcolumnicon);a(document.body).append(h.dragcolumn);j.css("margin-left",0);j.css("left",0);j.css("top",0);h.dragcolumn.css("left",f.left+h.dragmousedown.left);h.dragcolumn.css("top",f.top+h.dragmousedown.top);if(g!=undefined&&g){h.dropline=a('<div style="display: none; position: absolute;"></div>');h.dropline.width(2);h.dropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));a(document.body).append(h.dropline)}},iscolumngroupable:function(b){return this._getcolumnproperty(b,"groupable")},_handlecolumnstogroupsdragdrop:function(c,f){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var g=this;var e;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true}var d="mousedown.drag";var e="mousemove.drag";if(b){d=a.jqx.mobile.getTouchEventName("touchstart")+".drag";e=a.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(f,"dragstart",function(h){return false})}this.addHandler(f,d,function(j){if(!g.showgroupsheader){return true}g.__drag=true;if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(false==c.groupable){return true}var i=j.pageX;var h=j.pageY;if(b){var k=g.getTouches(j);var m=k[0];i=m.pageX;h=m.pageY}g.dragmousedown={left:i,top:h};if(b){if(j.preventDefault){j.preventDefault()}}var l=a(j.target).coord();g.dragmousedownoffset={left:parseInt(i)-parseInt(l.left),top:parseInt(h-l.top)}});this.addHandler(f,e,function(j){if(!g.showgroupsheader){return true}if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(g.dragmousedown){var i=j.pageX;var h=j.pageY;if(b){var l=g.getTouches(j);var n=l[0];i=n.pageX;h=n.pageY}e={left:i,top:h};if(!g.dragstarted&&g.dragcolumn==null){var k=Math.abs(e.left-g.dragmousedown.left);var m=Math.abs(e.top-g.dragmousedown.top);if(k>3||m>3){g._createdragcolumn(f,e,true);a.data(g.dragcolumn[0],"datarecord",c.displayfield);if(j.preventDefault){j.preventDefault()}}}}})},_rendergroupcolumn:function(g,h){var e=a('<div style="float: left; position: relative;"></div>');if(this.rtl){e.css("float","right")}if(this.groupcolumnrenderer!=null){e[0].innerHTML=this.groupcolumnrenderer(g);e.addClass(this.toThemeProperty("jqx-grid-group-column"));e.addClass(this.toThemeProperty("jqx-fill-state-normal"))}if(this.closeablegroups){if(e[0].innerHTML==""){e[0].innerHTML='<a style="float: left;" href="#">'+g+"</a>"}if(this.rtl){e[0].innerHTML='<a style="float: right;" href="#">'+g+"</a>"}var d=!this.rtl?"right":"left";var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}if(this.rtl){var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}}e[0].innerHTML+=c}else{if(e[0].innerHTML==""){e[0].innerHTML='<a href="#">'+g+"</a>"}}if(this.sortable){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}if(this.rtl){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}}f.css("display","none");b.css("display","none");if(a.jqx.browser.msie&&a.jqx.browser.version<8){f.css("float","left");b.css("float","left")}e.append(f);e.append(b);a.data(document.body,"groupsortelements"+h,{sortasc:f,sortdesc:b})}e.addClass(this.toThemeProperty("jqx-fill-state-normal"));e.addClass(this.toThemeProperty("jqx-grid-group-column"));return e},_rendergroup:function(p,x,b,v,k,B,u){var H=x;var c=x.cells[b.level];if(this.rtl){c=x.cells[x.cells.length-1-b.level]}var F=this._findgroupstate(b.uniqueid);if(b.bounddata.subGroups.length>0||b.bounddata.subItems.length>0){var i=this.rtl?"-rtl":"";var C=this.toThemeProperty("jqx-icon-arrow-right");if(i){C=this.toThemeProperty("jqx-icon-arrow-left")}if(F){c.className+=" "+this.toThemeProperty("jqx-grid-group-expand"+i)+" "+this.toThemeProperty("jqx-icon-arrow-down")}else{c.className+=" "+this.toThemeProperty("jqx-grid-group-collapse"+i)+" "+C}}var t=this._getColumnText(this.groups[b.level]).label;var d=this.groupindentwidth;var r=this.rowdetails&&this.showrowdetailscolumn?(1+p)*d:(p)*d;var y=u-r;var g=b.level+1;if(this.rtl){g=0}var n=H.cells[g];var A=2;while(n!=undefined&&n.style.display=="none"&&A<H.cells.length-1){n=H.cells[g+A-1];A++}var f=a(n);if(!n){return}n.style.width=parseInt(y)+"px";if(n.className.indexOf("jqx-grid-cell-filter")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-filter"))}if(n.className.indexOf("jqx-grid-cell-sort")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-sort"))}if(n.className.indexOf("jqx-grid-cell-pinned")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-pinned"))}if(this.groupsrenderer!=null){var h={group:b.group,level:b.level,parent:b.bounddata.parentItem,subGroups:b.bounddata.subGroups,subItems:b.bounddata.subItems,groupcolumn:this._getColumnText(this.groups[b.level]).column};var q=this.groupsrenderer(t+": "+b.group,b.group,F,h);if(q){n.innerHTML=q}else{var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+b.group+" ("+l+")</span></div>"}}else{var e=this._getcolumnbydatafield(this.groups[b.level]);var z=b.group;if(e!=null){if(e.cellsformat){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(z)){z=a.jqx.dataFormat.formatdate(z,e.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(z)){z=a.jqx.dataFormat.formatnumber(z,e.cellsformat,this.gridlocalization)}}}}var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+z+" ("+l+")</span></div>"}else{throw new Error("jqxGrid: Unable to find '"+this.groups[b.level]+"' group in the Grid's columns collection.")}}if(this.rtl){if(!e){e=this._getcolumnbydatafield(this.groups[b.level])}var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max-this.hScrollInstance.value;var D=this.vScrollBar.css("visibility")=="hidden"?0:this.scrollbarsize+6;var r=this.rowdetails&&this.showrowdetailscolumn?(2+b.level)*d:(1+b.level)*d;n.style.width=u+parseInt(s)-r-D+"px";f.addClass(this.toThemeProperty("jqx-rtl"));var w=a(x.cells[x.cells.length-1]).css("z-index");f.css("z-index",w);var E=f.find("div");var y=E.width();E.css("left","100%");var o=this.columns.records[x.cells.length-2-b.level]!=null?this.columns.records[x.cells.length-2-b.level].pinned:false;if(this.table.width()<u){u=this.table.width();if(this.vScrollBar.css("visibility")!="hidden"){u+=this.vScrollBar.outerWidth()}}if(e.pinned||o){if(this.rowdetails&&this.showrowdetailscolumn){u+=30}E.css("margin-left",-y);n.style.width=u+s-r-D+"px"}else{var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max;n.style.width=u+s-r-D+"px";var y=E.width();E.css("margin-left",-y)}}}})})(jqxBaseFramework);
+(function(a){a.jqx.dataview.grouping=function(){this.loadgrouprecords=function(B,E,p,C,G,e,P,D,v){var K=B;var h=this;var O=new Array();for(var l=0;l<h.groups.length;l++){O[l]=h.generatekey()}var I=new Array();var b=0;var O=O;var y=new Array();var N=E;var d=E;var z=h.groups.length;this.loadedrecords=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this.sortedgroups=new Array();var M=this.sortdata!=null;var Q=M?this.sortdata:this.records;if(this.pageable){var s=new Array();var A=0;if(!Q[E]){a.each(Q,function(i,q){s[E+i++]=this});Q=s}}if(this.virtualmode){var s=new Array();var A=0;for(var N=0;N<p-E;N++){if(Q[N]){s[E+A++]=Q[N]}else{if(Q[E+A]){s[E+A]=Q[E+A];A++}}}N=0;Q=s}for(var c=E;c<p;c++){var w={};if(!M){w=a.extend({},Q[c])}else{w=a.extend({},Q[c].value)}var F=w[h.uniqueId];if(G>=D||F!=P[G][h.uniqueId]||(e&&e[F])){v[v.length]=G}var J=new Array();var u=0;for(var l=0;l<z;l++){var r=h.groups[l];var H=w[r];if(H==null){H=""}J[u++]={value:H,hash:O[l]}}if(J.length!=z){break}var j=null;var k="";var f=-1;for(var L=0;L<J.length;L++){f++;var n=J[L].value;var t=J[L].hash;k=k+"_"+t+"_"+n;if(y[k]!=undefined&&y[k]!=null){j=y[k];continue}if(j==null){j={group:n,subItems:new Array(),subGroups:new Array(),level:0};I[b++]=j;j.uniqueid=h.generatekey();h.loadedgroupsByKey[n]=j}else{var m={group:n,subItems:new Array(),subGroups:new Array(),parentItem:j,level:j.level+1};h.loadedgroupsByKey[j.uniqueid+"_"+n]=m;m.uniqueid=h.generatekey();j.subGroups[j.subGroups.length++]=m;j=m}y[k]=j}if(j!=null){if(undefined==w.uid){w.uid=this.getid(this.source.id,w,N)}if(!M){w.boundindex=N;this.recordsbyid["id"+w.uid]=Q[c]}else{w.boundindex=Q[c].index;this.recordsbyid["id"+w.uid]=Q[c].value}this.bounditems[w.boundindex]=w;this.sortedgroups[N]=w;w.uniqueid=h.generatekey();w.parentItem=j;w.level=j.level+1;j.subItems[j.subItems.length++]=w}else{if(undefined==w.uid){w.uid=this.getid(this.source.id,w,N)}if(!M){w.boundindex=N;this.recordsbyid["id"+w.uid]=Q[c]}else{w.boundindex=Q[c].index;this.recordsbyid["id"+w.uid]=Q[c].value}this.sortedgroups[N]=w;this.bounditems[w.boundindex]=w;w.uniqueid=h.generatekey()}G++;N++;d++}var g=function(q,R,S){for(var i=0;i<R.subItems.length;i++){R.subItems[i].visibleindex=B+S;q.rows[S]=R.subItems[i];q.loadedrecords[S]=R.subItems[i];S++}return S};var o=function(Y,W,S){var V=1;var R=Y.grid.columns.records?Y.grid.columns.records:Y.grid.columns;if(Y.aggregates==true){for(var T=0;T<R.length;T++){if(R[T].aggregates){V=Math.max(V,R[T].aggregates.length)}}}var q=function(aa){if(Y.aggregates==true){var Z=function(ad){var ab=aa;var af={};var ag=function(ai){for(var ah=0;ah<R.length;ah++){if(R[ah].aggregates){var ao=Y.grid.getcolumnaggregateddata(R[ah].datafield,R[ah].aggregates,true,ai);for(var al=0;al<R[ah].aggregates.length;al++){if(R[ah].aggregates[ad]){var am=R[ah];var ak=R[ah].aggregates[ad];var aj=ak;aj=Y.grid._getaggregatename(aj);var an=aj+":"+ao[ak];if(ao[ak]){af[am.datafield]=an}else{af[am.datafield]=aj+":"+ao[aj]}}}}}};if(ab!=null){af.level=ab.level;af.visibleindex=B+S;af.uniqueid=Y.generatekey();Y.rows[S]=af;Y.loadedrecords[S++]=af;af.totalsrow=true;if(aa.subItems.length>0){ab=aa.subItems[aa.subItems.length-1];af.parentItem=ab.parentItem;if(af.parentItem.subItems){af.parentItem.subItems[af.parentItem.subItems.length]=af}var ac=[];var ae=function(){for(var ah=0;ah<aa.subItems.length;ah++){if(aa.subItems[ah].totalsrow){continue}ac[ac.length]=aa.subItems[ah]}};ae(aa);ag(ac)}else{if(aa.subGroups.length>0){ab=aa.subGroups[aa.subGroups.length-1];af.level=ab.level;af.parentItem=aa;aa.subGroups[aa.subGroups.length]=af;var ac=[];var ae=function(ai){if(ai.totalsrow){return}for(var ah=0;ah<ai.subItems.length;ah++){if(ai.subItems[ah].totalsrow){continue}ac[ac.length]=ai.subItems[ah]}for(var ah=0;ah<ai.subGroups.length;ah++){ae(ai.subGroups[ah])}};ae(aa);ag(ac)}}}};for(var i=0;i<V;i++){Z(i)}}};for(var U in W.subGroups){var X=W.subGroups[U];if(X.subGroups){Y.loadedgroups[Y.loadedgroups.length]=X;X.visibleindex=B+S;Y.rows[S]=X;Y.loadedrecords[S]=X;S++;if(X.subGroups.length>0){S=o(Y,X,S)}else{if(X.subItems.length>0){S=g(Y,X,S)}}}}if(W.subItems.length>0){S=g(Y,W,S)}q(W);return S};var x=I.length;this.loadedgroups=new Array();this.rows=new Array();var K=0;for(var N=0;N<x;N++){var r=I[N];this.loadedrootgroups[N]=r;this.loadedgroups[this.loadedgroups.length]=r;r.visibleindex=B+K;this.rows[K]=r;this.loadedrecords[K]=r;K++;K=o(this,r,K)}return K};this._updategroupsinpage=function(C,r,L,d,u,j,f){var p=new Array();var w=[];if(this.groupable&&this.groups.length>0){var B=0;var h=new Array();var g=new Array();for(var m=0;m<C.groups.length;m++){g[m]=C.generatekey()}var G=0;var o=new Array();var k=0;if(f>this.totalrecords){f=this.totalrecords}for(var v=j;v<f;v++){var I=a.extend({},C.sortedgroups[v]);var D=I[C.uniqueId];if(!C.pagesize||(L>=C.pagesize*C.pagenum&&L<C.pagesize*(C.pagenum+1))){if(d>=u||D!=p[d][C.uniqueId]||(updated&&updated[D])){w[w.length]=d}var e=new Array();var y=0;for(var m=0;m<C.groups.length;m++){var n=C.groups[m];var E=I[n];if(null==E){E=""}e[y++]={value:E,hash:g[m]}}if(e.length!=C.groups.length){break}var z=null;var s="";var c=-1;for(var A=0;A<e.length;A++){c++;var H=e[A].value;var l=e[A].hash;s=s+"_"+l+"_"+H;if(h[s]!=undefined&&h[s]!=null){z=h[s];continue}if(z==null){z={group:H,subItems:new Array(),subGroups:new Array(),level:0};o[k++]=z;var F=C.loadedgroupsByKey[H];if(F!=undefined){z.visibleindex=F.visibleindex;z.uniqueid=F.uniqueid}}else{var t={group:H,subItems:new Array(),subGroups:new Array(),parentItem:z,level:z.level+1};var F=C.loadedgroupsByKey[z.uniqueid+"_"+H];t.visibleindex=F.visibleindex;t.uniqueid=F.uniqueid;z.subGroups[z.subGroups.length++]=t;z=t}h[s]=z}if(z!=null){I.parentItem=z;I.level=z.level+1;z.subItems[z.subItems.length++]=I}d++}G++;L++}var x=function(M,N,q){for(var i=0;i<N.subItems.length;i++){p[q]=a.extend({},N.subItems[i]);q++}return q};var J=function(O){var q=false;for(var N in O.subGroups){var M=O.subGroups[N];if(M.subGroups){if(M.subGroups.length>0){var i=J(M);if(i){q=true;return true}}if(M.subItems.length>0){q=true;return true}}}if(O.subItems.length>0){q=true;return true}return q};var b=function(S,Q,T){var P=1;var M=S.grid.columns.records?S.grid.columns.records:S.grid.columns;if(S.aggregates==true){for(var N=0;N<M.length;N++){if(M[N].aggregates){P=Math.max(P,M[N].aggregates.length)}}}var q=function(V){if(S.aggregates==true){var U=function(Y){var W=V;var aa={};var ab=function(ad){for(var ac=0;ac<M.length;ac++){if(M[ac].aggregates){var aj=S.grid.getcolumnaggregateddata(M[ac].datafield,M[ac].aggregates,true,ad);for(var ag=0;ag<M[ac].aggregates.length;ag++){if(M[ac].aggregates[Y]){var ah=M[ac];var af=M[ac].aggregates[Y];var ae=af;ae=S.grid._getaggregatename(ae);var ai=ae+":"+aj[af];aa[ah.datafield]=ai}}}}};if(W!=null){aa.level=W.level;aa.visibleindex=T;aa.uniqueid=S.generatekey();p[T]=aa;S.loadedrecords[T++]=aa;aa.totalsrow=true;if(V.subItems.length>0){W=V.subItems[V.subItems.length-1];aa.parentItem=W.parentItem;if(aa.parentItem.subItems){aa.parentItem.subItems[aa.parentItem.subItems.length]=aa}var X=[];var Z=function(){for(var ac=0;ac<V.subItems.length;ac++){if(V.subItems[ac].totalsrow){continue}X[X.length]=V.subItems[ac]}};Z(V);ab(X)}else{if(V.subGroups.length>0){W=V.subGroups[V.subGroups.length-1];aa.level=W.level;aa.parentItem=V;V.subGroups[V.subGroups.length]=aa;var X=[];var Z=function(ad){if(ad.totalsrow){return}for(var ac=0;ac<ad.subItems.length;ac++){if(ad.subItems[ac].totalsrow){continue}X[X.length]=ad.subItems[ac]}for(var ac=0;ac<ad.subGroups.length;ac++){Z(ad.subGroups[ac])}};Z(V);ab(X)}}}};for(var i=0;i<P;i++){U(i)}}};for(var O in Q.subGroups){var R=Q.subGroups[O];if(R.subGroups){if(J(R)){p[T]=R;T++;if(R.subGroups.length>0){T=b(S,R,T)}else{if(R.subItems.length>0){T=x(S,R,T)}}}}}if(Q.subItems.length>0){T=x(S,Q,T)}q(Q);return T};var K=0;for(var G=0;G<o.length;G++){var n=o[G];if(J(n)){p[B]=n;B++;B=b(this,n,B)}}}return p}};a.extend(a.jqx._jqxGrid.prototype,{_initgroupsheader:function(){this.groupsheader.css("visibility","hidden");if(this._groupsheader()){this.groupsheader.css("visibility","inherit");var e=this;var c=this.gridlocalization.groupsheaderstring;this.groupsheaderdiv=this.groupsheaderdiv||a('<div style="width: 100%; position: relative;"></div>');this.groupsheaderdiv.height(this.groupsheaderheight);this.groupsheaderdiv.css("top",0);this.groupsheader.append(this.groupsheaderdiv);this.groupheadersbounds=new Array();var d=this.groups.length;this.groupsheaderdiv.children().remove();this.groupsheaderdiv[0].innerHTML="";var b=new Array();if(d>0){a.each(this.groups,function(i){var n=this;var m=e._getColumnText(this);var l=m.label;var k=e._rendergroupcolumn(l,n);k.addClass(e.toThemeProperty("jqx-grid-group-column"));e.groupsheaderdiv.append(k);if(e.closeablegroups){var j=a(k.find(".jqx-icon-close"));if(e.isTouchDevice()&&e.touchmode!==true){e.addHandler(j,"touchstart",function(){e.removegroupat(i);return false})}else{e.addHandler(j,"click",function(){e.removegroupat(i);return false})}}if(e.sortable){e.addHandler(k,"click",function(){var o=e.getcolumn(n);if(o!=null){e._togglesort(o)}return false})}b[b.length]=k;e._handlegroupstocolumnsdragdrop(this,k);if(i<d-1){var g=k.height();var h=a('<div style="float: left; position: relative;"></div>');if(e.rtl){h.css("float","right")}h.width(e.groupindentwidth/3);h.height(1);h.css("top",g/2);h.addClass(e.toThemeProperty("jqx-grid-group-column-line"));e.groupsheaderdiv.append(h)}})}else{var f=a('<div style="position: relative;">'+c+"</div>");this.groupsheaderdiv.append(f);if(this.rtl){f.addClass(this.toThemeProperty("jqx-rtl"))}}this._groupheaders=b;this._updategroupheadersbounds()}},_updategroupheadersbounds:function(){var c=this;var b=this.groupsheaderdiv.children().outerHeight();var d=(this.groupsheader.height()-b)/2;this.groupsheaderdiv.css("top",d);if(!this.rtl){this.groupsheaderdiv.css("left",d);this.groupsheaderdiv.css("right","")}else{this.groupsheaderdiv.css("left","");this.groupsheaderdiv.css("right",d)}if(this.rtl){this._groupheaders.reverse()}a.each(this._groupheaders,function(f){var e=this.coord();c.groupheadersbounds[f]={left:e.left,top:e.top,width:this.outerWidth(),height:this.outerHeight(),index:f}})},addgroup:function(c){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups[b.groups.length]=c;b.refreshgroups();this._raiseEvent(12,{type:"Add",index:b.groups[b.groups.length],groups:b.groups})}},insertgroup:function(d,c){if(d!=undefined&&d!=null&&d>=0&&d<=this.groups.length){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(d,0,c.toString());b.refreshgroups();this._raiseEvent(12,{type:"Insert",index:d,groups:b.groups})}}},refreshgroups:function(){this._refreshdataview();this._render(true,true,true,false);this._postrender("group")},_insertaftergroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b+1,c)},_insertbeforegroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b,c)},removegroupat:function(c){if(c>=0&&c!=null&&c!=undefined){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(c,1);b.refreshgroups();if(b.virtualmode){b.updatebounddata()}this._raiseEvent(12,{type:"Remove",index:c,groups:b.groups});return true}return false},cleargroups:function(){var b=this;b.groups=[];b.dataview.groups=b.groups;b.refreshgroups();this._raiseEvent(12,{type:"Clear",index:-1,groups:b.groups});return true},removegroup:function(c){if(c==null){return false}var b=this.groups.indexOf(c.toString());return this.removegroupat(b)},getrootgroupscount:function(){var b=this.dataview.loadedrootgroups.length;return b},collapsegroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,false)}var b=c.toString().split(".");var f=null;if(!this.groupsVisibility){this.groupsVisibility=new Array()}for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this.groupsVisibility[f.group]=null}else{var e=f.subGroups[c];if(e){f=e;if(d==b.length-1){this._setgroupstate(f,false,true);this.groupsVisibility[f.group]=null}}}}},expandgroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,true)}var b=c.toString().split(".");var f=null;for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this._setrootgroupstate(c,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}else{var e=f.subGroups[c];if(e){f=e;this._setgroupstate(f,true,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}}}},collapseallgroups:function(b){this._setbatchgroupstate(false,b)},expandallgroups:function(b){this._setbatchgroupstate(true,b)},isgroupexpanded:function(c){var d=this.dataview.loadedrootgroups[c];if(d==null){return null}var b=this.expandedgroups[d.uniqueid].expanded;return b},jsonParser:function(){var k="~",l="\\x"+("0"+k.charCodeAt(0).toString(16)).slice(-2),o="\\"+l,d=new RegExp(l,"g"),m=new RegExp(o,"g"),g=new RegExp("(?:^|([^\\\\]))"+o),n=[].indexOf||function(s){for(var t=this.length;t--&&this[t]!==s;){}return t},f=String;function c(y,t,C){var D=false,B=!!t,E=[],z=[y],s=[y],x=[C?k:"[Circular]"],A=y,w=1,u,v;if(B){v=typeof t==="object"?function(F,G){return F!==""&&n.call(t,F)<0?void 0:G}:t}return function(F,G){if(B){G=v.call(this,F,G)}if(D){if(A!==this){u=w-n.call(z,this)-1;w-=u;z.splice(w,z.length);E.splice(w-1,E.length);A=this}if(typeof G==="object"&&G){if(n.call(z,G)<0){z.push(A=G)}w=z.length;u=n.call(s,G);if(u<0){u=s.push(G)-1;if(C){E.push((""+F).replace(d,l));x[u]=k+E.join(k)}else{x[u]=x[0]}}else{G=x[u]}}else{if(typeof G==="string"&&C){G=G.replace(l,o).replace(k,l)}}}else{D=true}return G}}function q(v,u){for(var s=0,t=u.length;s<t;v=v[u[s++].replace(m,k)]){}return v}function b(s){return function(u,v){var t=typeof v==="string";if(t&&v.charAt(0)===k){return new f(v.slice(1))}if(u===""){v=h(v,v,{})}if(t){v=v.replace(g,"$1"+k).replace(o,l)}return s?s.call(this,u,v):v}}function j(s,w,v){for(var t=0,u=w.length;t<u;t++){w[t]=h(s,w[t],v)}return w}function r(s,v,u){for(var t in v){if(v.hasOwnProperty(t)){v[t]=h(s,v[t],u)}}return v}function h(s,u,t){return u instanceof Array?j(s,u,t):(u instanceof f?(u.length?(t.hasOwnProperty(u)?t[u]:t[u]=q(s,u.split(k))):s):(u instanceof Object?r(s,u,t):u))}var p={stringify:function i(v,t,u,s){return p.parser.stringify(v,c(v,t,!s),u)},parse:function e(t,s){return p.parser.parse(t,b(s))},parser:JSON};return p},getgroup:function(e){var k=this.dataview.loadedrootgroups[e];if(k==null){return null}var f=this.expandedgroups[k.uniqueid].expanded;var g=k.group;var b=k.level;var c=new Array();this._getsubgroups(c,k);var j=this;var d={group:g,level:b,expanded:f,subgroups:c};if(k.subItems){var h=new Array();a.each(k.subItems,function(){var l=this.boundindex;h[h.length]=j.getrowdata(l)});if(h.length>0){d.subrows=h}}var i=this.jsonParser().stringify(k);i=i.replace(/subItems/ig,"subrows");i=i.replace(/subGroups/ig,"subgroups");d=this.jsonParser().parse(i);return d},getrootgroups:function(){var d=this.dataview.loadedrootgroups.length;var c=new Array();for(var b=0;b<d;b++){c[b]=this.getgroup(b)}return c},_getsubgroups:function(c,k){var j=this;for(var e in k.subGroups){var i=k.subGroups[e];var f=j.expandedgroups[i.uniqueid].expanded;var g=i.group;var b=i.level;c[c.length]={group:g,level:b,expanded:f};if(i.subItems){var h=new Array();a.each(i.subItems,function(){var l=this.boundindex;h[h.length]=j.getrowdata(l)});c[c.length-1].subrows=h}if(i.subGroups){var d=new Array();j._getsubgroups(d,i)}}return c},_setbatchgroupstate:function(b,f){var c=this;for(var d in this.dataview.loadedrootgroups){c._setrootgroupstate(d,b,false,true)}if(f==false){c._requiresupdate=true;c._renderrows(c.virtualsizeinfo);return true}var e=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(e!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_setrootgroupstate:function(d,b,f,c){if(d==undefined||d==null||d<0){return false}if(!this.groupable||this.groups.length==0){return false}var j=f!=undefined?f:true;if(d>=0&&d<this.dataview.loadedrootgroups.length){var h=this.dataview.loadedrootgroups[d];if(this.pageable){var g=new Array();for(var e=0;e<this.dataview.rows.length;e++){if(this.dataview.rows[e].group!=null&&this.dataview.rows[e].level===0){g.push(this.dataview.rows[e])}}h=g[d];if(!h){return}}return this._setgroupstate(h,b,j,c)}return false},_togglegroupstate:function(e,f){if(e==null||e==undefined){return false}var c=this.vScrollInstance.value;var d=this.expandedgroups[e.uniqueid];if(d==undefined){d=false}else{d=d.expanded}d=!d;if(!this.groupsVisibility){this.groupsVisibility=new Array()}if(d){this.groupsVisibility[e.group]=e}else{this.groupsVisibility[e.group]=null}var b=this._setgroupstate(e,d,f);this._newmax=null;if(c!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(c<=this.vScrollInstance.max){this.vScrollInstance.setPosition(c)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return b},_setgroupstate:function(f,b,h,c){if(f==null||f==undefined){return false}var e=false;if(this.editable&&this.editcell){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}var d=this.expandedgroups[f.uniqueid];if(d==undefined){d={expanded:false};e=true}if(d.expanded!=b){e=true}if(e){this.expandedgroups[f.uniqueid]={expanded:b,group:f};this._setsubgroupsvisibility(this,f,!b,c);if(h){var g=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(g!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(undefined==this.suspendgroupevents||this.suspendgroupevents==false){if(b){this._raiseEvent(4,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}else{this._raiseEvent(5,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}}return true}return false},_setgroupitemsvisibility:function(c,e,d){for(var b=0;b<e.subItems.length;b++){c._setrowvisibility(e.subItems[b].visibleindex,d,false)}},_setsubgroupsvisibility:function(c,h,f,d){if(h.parentItem!=null){if(this.hiddens[h.parentItem.visibleindex]){return}}else{if(h.parentItem==null){if(this.hiddens[h.visibleindex]){return}}}for(var g in h.subGroups){var e=h.subGroups[g];if(!f){c._setrowvisibility(e.visibleindex,f,false)}var b=!f;if(!d){if(c.expandedgroups[e.uniqueid]==undefined){b=false}else{b=c.expandedgroups[e.uniqueid].expanded}}else{this.expandedgroups[e.uniqueid]={expanded:b,group:e}}if(e.subGroups){if(e.subGroups.length>0){c._setsubgroupsvisibility(c,e,!b||f,d)}else{if(e.subItems.length>0){c._setgroupitemsvisibility(c,e,!b||f)}}}if(f){c._setrowvisibility(e.visibleindex,f,false)}}if(h.subItems&&h.subItems.length>0){c._setgroupitemsvisibility(c,h,f)}},_handlecolumnsdragdrop:function(){var d=this;var g=-1;var c=false;if(!d.groupable){return}var f="mousemove.grouping"+this.element.id;var e="mousedown.grouping"+this.element.id;var h="mouseup.grouping"+this.element.id;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;f=a.jqx.mobile.getTouchEventName("touchmove")+".grouping"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchstart")+".grouping"+this.element.id;h=a.jqx.mobile.getTouchEventName("touchend")+".grouping"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(j){if(!d.showgroupsheader){return true}if(d.dragcolumn!=null){var l=parseInt(j.pageX);var u=parseInt(j.pageY);if(b){var r=d.getTouches(j);var p=r[0];l=parseInt(p.pageX);u=parseInt(p.pageY)}var n=d.host.coord();var v=parseInt(n.left);var w=parseInt(n.top);if(d.dragmousedownoffset==undefined||d.dragmousedownoffset==null){d.dragmousedownoffset={left:0,top:0}}var t=parseInt(l)-parseInt(d.dragmousedownoffset.left);var i=parseInt(u)-parseInt(d.dragmousedownoffset.top);d.dragcolumn.css({left:t+"px",top:i+"px"});c=false;if(l>=v&&l<=v+d.host.width()){if(u>=w&&u<=w+d.host.height()){c=true}}g=-1;if(c){d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-dragcancel-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-drag-icon"));var s=d.groupsheader.coord();var m=s.top+d.groupsheader.height();var q=a.data(d.dragcolumn[0],"datarecord");if(q){var k=d.groups.indexOf(q.toString())}else{var k=-1}var o=(k==-1)||(d.groups.length>1&&k>-1);if(d.dropline!=null){if(u>=s.top&&u<=m){if(o){g=d._handlegroupdroplines(l)}}else{d.dropline.fadeOut("slow")}}}else{if(d.dropline!=null){d.dropline.fadeOut("slow")}d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-drag-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-dragcancel-icon"))}if(b){j.preventDefault();j.stopPropagation();return false}}},{passive:false});this.removeHandler(a(document),h);this.addHandler(a(document),h,function(i){if(!d.showgroupsheader){return true}d.__drag=false;a(document.body).removeClass("jqx-disableselect");var m=parseInt(i.pageX);var s=parseInt(i.pageY);if(b){var p=d.getTouches(i);var o=p[0];m=parseInt(o.pageX);s=parseInt(o.pageY)}var n=d.host.coord();var t=parseInt(n.left);var u=parseInt(n.top);var k=d.groupsheader.height();if(d.showtoolbar){u+=d.toolbarheight}d.dragstarted=false;d.dragmousedown=null;if(d.dragcolumn!=null){var l=a.data(d.dragcolumn[0],"datarecord");d.dragcolumn.remove();d.dragcolumn=null;if(l!=null){if(!d.getcolumn(l).groupable){if(d.dropline!=null){d.dropline.remove();d.dropline=null}return}if(c){if(g!=-1){var q=g.index;var r=d.groups[q];var j=d._getGroupIndexByDataField(l);if(j!=q){if(j!=undefined&&j>=0){d.groups.splice(j,1)}if(g.position=="before"){if(!d.rtl){d._insertbeforegroup(r,l)}else{d._insertaftergroup(r,l)}}else{if(!d.rtl){d._insertaftergroup(r,l)}else{d._insertbeforegroup(r,l)}}}}else{if(d.groups.length==0){if(s>u&&s<=u+k){d.addgroup(l)}}else{if(s>u+k){var j=d._getGroupIndexByDataField(l);d.removegroupat(j)}}}}if(d.dropline!=null){d.dropline.remove();d.dropline=null}}}})},_getGroupIndexByDataField:function(b){for(var c=0;c<this.groups.length;c++){if(this.groups[c]==b){return c}}return -1},_isColumnInGroups:function(c){for(var b=0;b<this.groups.length;b++){if(this.groups[b]==c){return true}}return false},_handlegroupdroplines:function(d){var b=this;var c=-1;a.each(b.groupheadersbounds,function(e){if(d<=this.left+this.width/2){var f=this.left-3;if(e>0){f=this.left-1-b.groupindentwidth/6}b.dropline.css("left",f);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"before"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"before"}}return false}else{if(d>=this.left+this.width/2){b.dropline.css("left",1+this.left+this.width);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"after"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"after"}}}}});return c},_handlegroupstocolumnsdragdrop:function(c,e){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var f=this;var d;var h="mousedown";var g="mousemove";var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;h=a.jqx.mobile.getTouchEventName("touchstart");g=a.jqx.mobile.getTouchEventName("touchmove")}this.addHandler(e,"dragstart",function(i){return false});this.addHandler(e,h,function(i){if(!f.showgroupsheader){return true}var l=i.pageX;var k=i.pageY;f.__drag=true;f.dragmousedown={left:l,top:k};if(b){var j=f.getTouches(i);var n=j[0];l=n.pageX;k=n.pageY;f.dragmousedown={left:l,top:k};if(i.preventDefault){i.preventDefault()}}var m=a(i.target).coord();f.dragmousedownoffset={left:parseInt(l)-parseInt(m.left),top:parseInt(k-m.top)}});this.addHandler(e,g,function(i){if(!f.showgroupsheader){return true}if(f.dragmousedown){d={left:i.pageX,top:i.pageY};if(b){var k=f.getTouches(i);var m=k[0];d={left:m.pageX,top:m.pageY}}if(!f.dragstarted&&f.dragcolumn==null){var j=Math.abs(d.left-f.dragmousedown.left);var l=Math.abs(d.top-f.dragmousedown.top);if(j>3||l>3){f._createdragcolumn(e,d,true);a(document.body).addClass("jqx-disableselect");a.data(f.dragcolumn[0],"datarecord",c);if(i.preventDefault){i.preventDefault()}}}}},{passive:false})},_createdragcolumn:function(c,e,g){var h=this;var f=e;h.dragcolumn=a("<div></div>");var j=c.clone();h.dragcolumn.css("z-index",999999);j.css("border-width","1px");j.css("opacity","0.4");var i=a(j.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(i.length>0){i.css("display","none")}var b=a(j.find(".jqx-icon-close"));if(b.length>0){b.css("display","none")}h.dragcolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.dragcolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.dragcolumn.css("float","left");h.dragcolumn.css("position","absolute");var d=h.host.coord();j.width(c.width()+16);h.dragcolumn.append(j);h.dragcolumn.height(c.height());h.dragcolumn.width(j.width());h.dragcolumn.append(h.dragcolumnicon);a(document.body).append(h.dragcolumn);j.css("margin-left",0);j.css("left",0);j.css("top",0);h.dragcolumn.css("left",f.left+h.dragmousedown.left);h.dragcolumn.css("top",f.top+h.dragmousedown.top);if(g!=undefined&&g){h.dropline=a('<div style="display: none; position: absolute;"></div>');h.dropline.width(2);h.dropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));a(document.body).append(h.dropline)}},iscolumngroupable:function(b){return this._getcolumnproperty(b,"groupable")},_handlecolumnstogroupsdragdrop:function(c,f){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var g=this;var e;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true}var d="mousedown.drag";var e="mousemove.drag";if(b){d=a.jqx.mobile.getTouchEventName("touchstart")+".drag";e=a.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(f,"dragstart",function(h){return false})}this.addHandler(f,d,function(j){if(!g.showgroupsheader){return true}g.__drag=true;if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(false==c.groupable){return true}var i=j.pageX;var h=j.pageY;if(b){var k=g.getTouches(j);var m=k[0];i=m.pageX;h=m.pageY}g.dragmousedown={left:i,top:h};if(b){if(j.preventDefault){j.preventDefault()}}var l=a(j.target).coord();g.dragmousedownoffset={left:parseInt(i)-parseInt(l.left),top:parseInt(h-l.top)}});this.addHandler(f,e,function(j){if(!g.showgroupsheader){return true}if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(g.dragmousedown){var i=j.pageX;var h=j.pageY;if(b){var l=g.getTouches(j);var n=l[0];i=n.pageX;h=n.pageY}e={left:i,top:h};if(!g.dragstarted&&g.dragcolumn==null){var k=Math.abs(e.left-g.dragmousedown.left);var m=Math.abs(e.top-g.dragmousedown.top);if(k>3||m>3){g._createdragcolumn(f,e,true);a.data(g.dragcolumn[0],"datarecord",c.displayfield);if(j.preventDefault){j.preventDefault()}}}}})},_rendergroupcolumn:function(g,h){var e=a('<div style="float: left; position: relative;"></div>');if(this.rtl){e.css("float","right")}if(this.groupcolumnrenderer!=null){e[0].innerHTML=this.groupcolumnrenderer(g);e.addClass(this.toThemeProperty("jqx-grid-group-column"));e.addClass(this.toThemeProperty("jqx-fill-state-normal"))}if(this.closeablegroups){if(e[0].innerHTML==""){e[0].innerHTML='<a style="float: left;" href="#">'+g+"</a>"}if(this.rtl){e[0].innerHTML='<a style="float: right;" href="#">'+g+"</a>"}var d=!this.rtl?"right":"left";var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}if(this.rtl){var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}}e[0].innerHTML+=c}else{if(e[0].innerHTML==""){e[0].innerHTML='<a href="#">'+g+"</a>"}}if(this.sortable){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}if(this.rtl){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}}f.css("display","none");b.css("display","none");if(a.jqx.browser.msie&&a.jqx.browser.version<8){f.css("float","left");b.css("float","left")}e.append(f);e.append(b);a.data(document.body,"groupsortelements"+h,{sortasc:f,sortdesc:b})}e.addClass(this.toThemeProperty("jqx-fill-state-normal"));e.addClass(this.toThemeProperty("jqx-grid-group-column"));return e},_rendergroup:function(p,x,b,v,k,B,u){var H=x;var c=x.cells[b.level];if(this.rtl){c=x.cells[x.cells.length-1-b.level]}var F=this._findgroupstate(b.uniqueid);if(b.bounddata.subGroups.length>0||b.bounddata.subItems.length>0){var i=this.rtl?"-rtl":"";var C=this.toThemeProperty("jqx-icon-arrow-right");if(i){C=this.toThemeProperty("jqx-icon-arrow-left")}if(F){c.className+=" "+this.toThemeProperty("jqx-grid-group-expand"+i)+" "+this.toThemeProperty("jqx-icon-arrow-down")}else{c.className+=" "+this.toThemeProperty("jqx-grid-group-collapse"+i)+" "+C}}var t=this._getColumnText(this.groups[b.level]).label;var d=this.groupindentwidth;var r=this.rowdetails&&this.showrowdetailscolumn?(1+p)*d:(p)*d;var y=u-r;var g=b.level+1;if(this.rtl){g=0}var n=H.cells[g];var A=2;while(n!=undefined&&n.style.display=="none"&&A<H.cells.length-1){n=H.cells[g+A-1];A++}var f=a(n);if(!n){return}n.style.width=parseInt(y)+"px";if(n.className.indexOf("jqx-grid-cell-filter")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-filter"))}if(n.className.indexOf("jqx-grid-cell-sort")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-sort"))}if(n.className.indexOf("jqx-grid-cell-pinned")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-pinned"))}if(this.groupsrenderer!=null){var h={group:b.group,level:b.level,parent:b.bounddata.parentItem,subGroups:b.bounddata.subGroups,subItems:b.bounddata.subItems,groupcolumn:this._getColumnText(this.groups[b.level]).column};var q=this.groupsrenderer(t+": "+b.group,b.group,F,h);if(q){n.innerHTML=q}else{var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+b.group+" ("+l+")</span></div>"}}else{var e=this._getcolumnbydatafield(this.groups[b.level]);var z=b.group;if(e!=null){if(e.cellsformat){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(z)){z=a.jqx.dataFormat.formatdate(z,e.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(z)){z=a.jqx.dataFormat.formatnumber(z,e.cellsformat,this.gridlocalization)}}}}var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+z+" ("+l+")</span></div>"}else{throw new Error("jqxGrid: Unable to find '"+this.groups[b.level]+"' group in the Grid's columns collection.")}}if(this.rtl){if(!e){e=this._getcolumnbydatafield(this.groups[b.level])}var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max-this.hScrollInstance.value;var D=this.vScrollBar.css("visibility")=="hidden"?0:this.scrollbarsize+6;var r=this.rowdetails&&this.showrowdetailscolumn?(2+b.level)*d:(1+b.level)*d;n.style.width=u+parseInt(s)-r-D+"px";f.addClass(this.toThemeProperty("jqx-rtl"));var w=a(x.cells[x.cells.length-1]).css("z-index");f.css("z-index",w);var E=f.find("div");var y=E.width();E.css("left","100%");var o=this.columns.records[x.cells.length-2-b.level]!=null?this.columns.records[x.cells.length-2-b.level].pinned:false;if(this.table.width()<u){u=this.table.width();if(this.vScrollBar.css("visibility")!="hidden"){u+=this.vScrollBar.outerWidth()}}if(e.pinned||o){if(this.rowdetails&&this.showrowdetailscolumn){u+=30}E.css("margin-left",-y);n.style.width=u+s-r-D+"px"}else{var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max;n.style.width=u+s-r-D+"px";var y=E.width();E.css("margin-left",-y)}}}})})(jqxBaseFramework);
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{_handledblclick:function(t,n){if(t.target==null){return}if(n.disabled){return}if(a(t.target).ischildof(this.columnsheader)){return}var w;if(t.which){w=(t.which==3)}else{if(t.button){w=(t.button==2)}}if(w){return}var B;if(t.which){B=(t.which==2)}else{if(t.button){B=(t.button==1)}}if(B){return}var v=this.showheader?this.columnsheader.height()+2:0;var o=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;o+=A;var e=this.host.offset();var m=t.pageX-e.left;var l=t.pageY-v-e.top-o;var b=this._hittestrow(m,l);if(!b){return}var h=b.row;var j=b.index;var q=t.target.className;var p=this.table[0].rows[j];if(p==null){return}n.mousecaptured=true;n.mousecaptureposition={left:t.pageX,top:t.pageY-o};var r=this.hScrollInstance;var s=r.value;var d=0;var k=this.groupable?this.groups.length:0;for(var u=0;u<p.cells.length;u++){var f=parseInt(a(this.columnsrow[0].cells[u]).css("left"));var g=f-s;if(n.columns.records[u].pinned){g=f}var c=this._getcolumnat(u);if(c!=null&&c.hidden){continue}var z=g+a(this.columnsrow[0].cells[u]).width();if(z>=m&&m>=g){d=u;break}}if(h!=null){var c=this._getcolumnat(d);if(!(q.indexOf("jqx-grid-group-expand")!=-1||q.indexOf("jqx-grid-group-collapse")!=-1)){if(h.boundindex!=-1){n.begincelledit(n.getboundindex(h),c.datafield,c.defaulteditorvalue)}}}},_getpreveditablecolumn:function(c){var b=this;while(c>0){c--;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_getnexteditablecolumn:function(c){var b=this;while(c<this.columns.records.length){c++;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_handleeditkeydown:function(T,j){if(j.handlekeyboardnavigation){var L=j.handlekeyboardnavigation(T);if(L==true){return true}}var u=T.charCode?T.charCode:T.keyCode?T.keyCode:0;j.editEvent=T;if(j.showfilterrow&&j.filterable){if(this.filterrow){if(a(T.target).ischildof(this.filterrow)){return true}}}if(T.target.className&&T.target.className.indexOf("jqx-grid-widget")>=0){return true}if(j.pageable){if(a(T.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(T.target).ischildof(this.toolbar)){return true}}if(this.showeverpresentrow){if(this.addnewrowtop){if(a(T.target).ischildof(this.addnewrowtop)){return true}}if(this.addnewrowbottom){if(a(T.target).ischildof(this.addnewrowbottom)){return true}}}if(this.showstatusbar){if(a(T.target).ischildof(this.statusbar)){return true}}if(this.rowdetails){if(a(T.target).ischildof(this.content.find("[role='rowgroup']"))){return true}}if(this.editcell){if(this.editmode==="selectedrow"){if(u===13){this.endrowedit(this.editcell.row,false);return false}else{if(u===27){this.endrowedit(this.editcell.row,true);return false}}if(u==32){if(this._currentColumn&&this.getcolumn(this._currentColumn).columntype=="checkbox"){var M=this.getcolumn(this._currentColumn);if(M.editable){var A=!this.getcellvalue(this.editcell.row,M.datafield);var H=this.getrowdata(this.editcell.row);var s=this.editcell.row;var H=j.getrowdata(j.editcell.row);this.setcellvalue(this.editcell.row,M.datafield,A,false);var k=this._focusedColumn;var d=this._currentColumn;var f=this._currentEditableColumn;this.endrowedit(this.editcell.row,false);this.beginrowedit(s,false);this._currentColumn=d;this._focusedColumn=k;this._currentEditableColumn=f;this._renderrows();this.selectcell(s,M.datafield);this._oldselectedcell=this.selectedcell;if(k){var G=this;setTimeout(function(){G.selectcell(s,M.datafield);G._oldselectedcell=G.selectedcell;a(G._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")},25)}return false}}}if(u===9){var K=this.editcell.datafield;var e=this._getcolumnindex(K);if(this._currentEditableColumn){e=this._currentEditableColumn}else{this._currentEditableColumn=e}var M=this._getnexteditablecolumn(e);if(T.shiftKey){M=this._getpreveditablecolumn(e)}if(M){var e=this._getcolumnindex(M.datafield);if(this.editcell[M.datafield]){this._currentEditableColumn=e;var b=this.editcell[M.datafield].editor;if(b){if(b.data().jqxWidget&&b.data().jqxWidget.focus){b.data().jqxWidget.focus()}else{b.focus();b[0].onkeyup=function(){if(j.gridcontent[0].scrollTop!=0){j.scrolltop(Math.abs(j.gridcontent[0].scrollTop));j.gridcontent[0].scrollTop=0}if(j.gridcontent[0].scrollLeft!=0){j.gridcontent[0].scrollLeft=0}}}}this._focusedColumn=M.datafield;this._currentColumn=M.datafield;if(this.gridcontent[0].scrollTop!=0){this.scrolltop(Math.abs(this.gridcontent[0].scrollTop));this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}else{if(M.columntype=="checkbox"){this._currentColumn=M.datafield;this._currentEditableColumn=e;this.selectcell(this.editcell.row,M.datafield);this._oldselectedcell=this.selectedcell;if(this._checkboxCells[M.datafield]){a(this._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")}return false}}}return false}return true}if(this.editcell.columntype==null||this.editcell.columntype=="textbox"||this.editcell.columntype=="numberinput"||this.editcell.columntype=="combobox"||this.editcell.columntype=="datetimeinput"){if(u>=33&&u<=40&&j.selectionmode=="multiplecellsadvanced"){var b=this.editcell.columntype=="textbox"||this.editcell.columntype==null?this.editcell.editor:this.editcell.editor.find("input");var p=j._selection(b);var J=b.val().length;if(p.length>0&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(p.start>0&&u==37){j._cancelkeydown=true}if(p.start<J&&u==39&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(this.editcell.columntype=="datetimeinput"&&u==39){if(p.start+p.length<J){j._cancelkeydown=true}}}}else{if(this.editcell.columntype=="dropdownlist"){if(u==37||u==39&&j.selectionmode=="multiplecellsadvanced"){j._cancelkeydown=false}}else{if(this.selectionmode=="multiplecellsadvanced"&&this.editcell.columntype!="textbox"&&this.editcell.columntype!="numberinput"){j._cancelkeydown=true}}}if(u==32){if(j.editcell.columntype=="checkbox"){var M=j.getcolumn(j.editcell.datafield);if(M.editable){var A=!j.getcellvalue(j.editcell.row,j.editcell.column);if(M.cellbeginedit){var n=M.cellbeginedit(j.editcell.row,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(j.editcell.row);j.setcellvalue(j.editcell.row,j.editcell.column,A,true);j._raiseEvent(18,{rowindex:j.editcell.row,row:H,datafield:j.editcell.column,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}if(u==9){var l=this.editcell.row;var K=this.editcell.column;var i=K;var e=j._getcolumnindex(K);var D=false;var I=j.getrowvisibleindex(l);var N=l;this.editchar="";var t=this.editcell.validated;if(!this.editcell.validated){var t=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false)}if(t!=false){if(T.shiftKey){var M=j._getpreveditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectprevcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var r=j._getlastvisiblecolumn();D=true;K=r.displayfield;var h=j.getdisplayrows()[I-1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(y&&j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}else{var M=j._getnexteditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectnextcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var x=j._getfirstvisiblecolumn();D=true;K=x.displayfield;var h=j.getdisplayrows()[I+1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(j.selectionmode.indexOf("cell")!=-1){if(y){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}}if(D){if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){this._renderrows(this.virtualsizeinfo);if(j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(N,i);j._oldselectedcell=j.selectedcell}if(Q>this.dataview.pagenum){setTimeout(function(){j.pagerpageinput.focus()},25)}return}}j.begincelledit(l,K);if(this.editcell!=null&&this.editcell.columntype=="checkbox"){this._renderrows(this.virtualsizeinfo)}}else{if(this.editcell!=null){j.endcelledit(l,K,false);this._renderrows(this.virtualsizeinfo)}return true}}return false}else{if(u==13){var F=this.selectedcell;if(F){var z=this.getrowvisibleindex(F.rowindex)}this.endcelledit(this.editcell.row,this.editcell.column,false,true);if(this.selectionmode=="multiplecellsadvanced"){var B=j.getselectedcell();if(B!=null){if(j.selectcell){if(this.editcell==null){if(B.rowindex+1<this.dataview.totalrecords){if(this.sortcolumn!=B.datafield){var I=this.getrowvisibleindex(B.rowindex);var q=this.dataview.loadedrecords[I+1];if(q){if(!this.pageable||(this.pageable&&I+1<(this.dataview.pagenum+1)*this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}else{if(F!=null){var S=this.dataview.loadedrecords[z+1];if(S){if(!this.pageable||(this.pageable&&z+1<this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(S),B.datafield)}else{if(this.pageable&&z+1>=this.pagesize){this.clearselection(false);var S=this.dataview.loadedrecords[z];this.selectcell(this.getboundindex(S),B.datafield)}}}}}}}}}}return false}else{if(u==27){this.endcelledit(this.editcell.row,this.editcell.column,true,true);return false}}}}else{var O=false;if(u==113){O=true}if(!T.ctrlKey&&!T.altKey&&!T.metaKey){if(u>=48&&u<=57){this.editchar=String.fromCharCode(u);O=true}if(u===189){O=true}if(u>=65&&u<=90){this.editchar=String.fromCharCode(u);var o=false;if(T.shiftKey){o=T.shiftKey}else{if(T.modifiers){o=!!(T.modifiers&4)}}if(this._capsLock){o=!o}if(!o){this.editchar=this.editchar.toLowerCase()}O=true}else{if(u>=96&&u<=105){this.editchar=u-96;this.editchar=this.editchar.toString();O=true}}var C=a(".jqx-grid").length;O=O&&(C==1||(C>1&&j.focused));var R=a.data(document.body,"jqxgrid.edit");if(R!==undefined&&R!==""){if(u===13||O){if(R!=j.element.id){return true}}}}if(u==13||O){if(j.getselectedrowindex){var l=j.getselectedrowindex();if(j.editmode==="selectedrow"){if(l>=0){j.beginrowedit(l)}else{var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);j.beginrowedit(B.rowindex)}return false}}switch(j.selectionmode){case"singlerow":case"multiplerows":case"multiplerowsextended":if(l>=0){var K="";for(var P=0;P<j.columns.records.length;P++){var M=j.getcolumnat(P);if(M.editable){K=M.datafield;break}}if(j.editmode==="selectedrow"){j.beginrowedit(l)}else{j.begincelledit(l,K)}}break;case"singlecell":case"multiplecells":case"multiplecellsextended":var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);if(j.editmode==="selectedrow"){j.beginrowedit(B.rowindex)}else{if(M.columntype!="checkbox"){j.begincelledit(B.rowindex,B.datafield)}}}break;case"multiplecellsadvanced":var B=j.getselectedcell();if(B!=null){if(u==13){if(j.selectcell){var I=this.getrowvisibleindex(B.rowindex);if(I+1<j.dataview.totalrecords){var q=this.dataview.loadedrecords[I+1];if(q){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}}else{if(j.editmode!=="selectedrow"){j.begincelledit(B.rowindex,B.datafield)}}}break}return false}}if(u==46){var v=j.getselectedcells();if(j.selectionmode.indexOf("cell")==-1){if(j._getcellsforcopypaste){v=j._getcellsforcopypaste()}}if(v!=null&&v.length>0){for(var w=0;w<v.length;w++){var B=v[w];if(!B.datafield){continue}var M=j.getcolumn(B.datafield);var E=j.getcellvalue(B.rowindex,B.datafield);if(E!==""&&M.editable&&j.enablekeyboarddelete){var c=null;if(M.columntype=="checkbox"){if(!M.threestatecheckbox){c=false}}if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,c);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:E});if(w==v.length-1){j.setcellvalue(B.rowindex,B.datafield,c,true);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}else{j.setcellvalue(B.rowindex,B.datafield,c,false);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}if(M.cellendedit){var g=M.cellendedit(B.rowindex,M.datafield,M.columntype,c)}j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:E,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo);return false}}if(u==32){var B=j.getselectedcell();if(B!=null){var M=j.getcolumn(B.datafield);if(M.columntype=="checkbox"&&M.editable){var A=!j.getcellvalue(B.rowindex,B.datafield);if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:!A,columntype:"checkbox"});j.setcellvalue(B.rowindex,B.datafield,A,true);j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}}return true},begincelledit:function(o,e,l,g,c){var f=this.getcolumn(e);this._cellscache=new Array();if(e==null){return}if(f.columntype=="number"||f.columntype=="button"||f.createwidget){return}if(this.groupable){if(this.groups.indexOf(e)>=0){return}if(this.groups.indexOf(f.displayfield)>=0){return}}if(this.editrow!=undefined){return}if(this.editcell){if(this.editcell.row==o&&this.editcell.column==e){return true}if(this.editmode==="selectedrow"){if(this.editcell.row==o){return}}var d=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false);if(false==d){return}}var i=f.columntype=="checkbox"||f.columntype=="button"||f.createwidget;this.host.removeClass("jqx-disableselect");this.content.removeClass("jqx-disableselect");if(f.editable){if(f.cellbeginedit){var k=this.getcell(o,e);var m=f.cellbeginedit(o,e,f.columntype,k!=null?k.value:null);if(m==false){return}}var j=this.getrowvisibleindex(o);this.editcell=this.getcell(o,e);if(this.editcell){this.editcell.visiblerowindex=j;if(!this.editcell.editing){if(!i){this.editcell.editing=true}this.editcell.columntype=f.columntype;this.editcell.defaultvalue=l;if(f.defaultvalue!=undefined){this.editcell.defaultvalue=f.defaultvalue}this.editcell.init=true;if(f.columntype!="checkbox"&&this.editmode!="selectedrow"){var h=this.getrowdata(o);this._raiseEvent(17,{rowindex:o,row:h,datafield:f.datafield,value:this.editcell.value,columntype:f.columntype})}a.data(document.body,"jqxgrid.edit",this.element.id);if(!i){var b=this.getrowvisibleindex(o);if(g!==false){if(!this.autorowheight&&this.groups.length===0){var n=this.ensurecellvisible(b,f.datafield)}}if(c!==false){this._renderrows(this.virtualsizeinfo)}}if(this.editcell){this.editcell.init=false;return true}}}}else{if(!this.editcell){return}this.editcell.editor=null;this.editcell.editing=false;if(c!==false){this._renderrows(this.virtualsizeinfo)}this.editcell=null}},getScrollTop:function(){if(this._py){return this._py}this._py=typeof pageYOffset!="undefined";if(this._py){return pageYOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollTop}},getScrollLeft:function(){if(typeof pageXOffset!="undefined"){return pageXOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollLeft}},endcelledit:function(h,o,k,e,p){if(h==undefined||o==undefined){if(this.editcell){h=this.editcell.row;o=this.editcell.column}if(k==undefined){k=true}}if(!this.editcell){return}var d=this.getcolumn(o);var v=this;if(v.editmode==="selectedrow"){this.endrowedit(h,k);return}var u=function(){if(p!=false){if(v.isTouchDevice()){return}if(!v.isNestedGrid){var w=v.getScrollTop();var y=v.getScrollLeft();try{v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}setTimeout(function(){v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}},10)}catch(x){}}}};if(d.columntype=="checkbox"||d.columntype=="button"||d.createwidget){if(this.editcell){this.editcell.editor=null;this.editcell.editing=false;this.editcell=null}return true}var i=this._geteditorvalue(d);var g=function(x){x._hidecelleditor();if(d.cellendedit){d.cellendedit(h,o,d.columntype,x.editcell.value,i)}x.editchar=null;var z;if(d.displayfield!=d.datafield){var w=x.getcellvalue(x.editcell.row,d.displayfield);var y=x.editcell.value;z={value:y,label:w}}else{z=x.editcell.value}var A=x.getrowdata(h);x._raiseEvent(18,{rowindex:h,row:A,datafield:o,displayfield:d.displayfield,oldvalue:i,value:i,columntype:d.columntype});x.editcell.editor=null;x.editcell.editing=false;x.editcell=null;if(e||e==undefined){x._renderrows(x.virtualsizeinfo)}u();if(!x.enablebrowserselection){x.host.addClass("jqx-disableselect");x.content.addClass("jqx-disableselect")}};if(k){g(this);return false}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(d.cellvaluechanging){var b=d.cellvaluechanging(h,o,d.columntype,this.editcell.value,i);if(b!=undefined){i=b}}if(d.validation){var c=this.getcell(h,o);try{var q=d.validation(c,i);var m=this.gridlocalization.validationstring;if(q.message!=undefined){m=q.message}var n=typeof q=="boolean"?q:q.result;if(!n){if(q.showmessage==undefined||q.showmessage==true){this._showvalidationpopup(h,o,m)}this.editcell.validated=false;return false}}catch(s){this._showvalidationpopup(h,o,this.gridlocalization.validationstring);this.editcell.validated=false;return false}}var j;if(d.displayfield!=d.datafield){var l=this.getcellvalue(this.editcell.row,d.displayfield);var r=this.editcell.value;j={value:r,label:l}}else{j=this.editcell.value}var f=this.getrowdata(h);if(d.cellendedit){var t=d.cellendedit(h,o,d.columntype,this.editcell.value,i);if(t==false){this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:j,columntype:d.columntype});g(this);return false}}this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:i,columntype:d.columntype});this._hidecelleditor(false);if(this.editcell!=undefined){this.editcell.editor=null;this.editcell.editing=false}this.editcell=null;this.editchar=null;this.setcellvalue(h,o,i,e);if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}if(!a.jqx.browser.msie){u()}a.data(document.body,"jqxgrid.edit","");return true},beginrowedit:function(f){var e=this;var g=-1;if(f==undefined){return}e._oldselectedrow=f;this._cellscache=new Array();var c=false;if(this.editmode!="selectedrow"){c=true}if(c){var b=this.editmode;this.editmode="selectedrow"}var d=null;if(this._currentEditableColumn){d=this.getcolumnat(this._currentEditableColumn).datafield}a.each(this.columns.records,function(i,k){if(e.editable&&this.editable){if(this.columntype==="checkbox"||this.columntype==="custom"||this.columntype==="widget"||this.columntype==="template"||this.columntype==="button"){return true}if(!d){d=this.datafield}var h=e.getcell(f,this.datafield);e.begincelledit(f,this.datafield,null,false,false);var j=e.getrowdata(f);e._raiseEvent(17,{rowindex:f,row:j,datafield:this.datafield,value:h.value,columntype:this.columntype})}});if(e.editcell){e.editcell.init=true}this._renderrows(this.virtualsizeinfo);if(c){this.editmode=b}if(d&&e.editcell){setTimeout(function(){if(e.editcell&&e.editcell[d]){var h=e.editcell[d].editor;if(h){if(h.data().jqxWidget&&h.data().jqxWidget.focus){h.data().jqxWidget.focus()}else{h.focus()}}}},25)}},endrowedit:function(k,o){var D=this;this._currentEditableColumn=0;this._focusedColumn=null;this._currentColumn=null;this._checkboxCells=[];if(!this.editcell){return false}if(this.editcell.editor==undefined&&this.editcell.columntype!=="checkbox"){return false}var C=function(){if(focus!=false){if(D.isTouchDevice()){return}if(!D.isNestedGrid){var i=D.getScrollTop();var F=D.getScrollLeft();try{D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}setTimeout(function(){D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}},10)}catch(E){}}}};var p=false;if(this.editmode!="selectedrow"){p=true}if(p){var v=this.editmode;this.editmode="selectedrow"}var h=false;var d={};if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];if(!e.editable){continue}if(e.hidden){continue}if(e.columntype=="checkbox"){continue}if(e.createwidget){continue}var l=this._geteditorvalue(e);var g=function(F){F._hidecelleditor();var E=F.getcellvalue(F.editcell.row,e.displayfield);if(e.cellendedit){e.cellendedit(k,u,e.columntype,E,l)}F.editchar=null;var I;if(e.displayfield!=e.datafield){var i=F.getcellvalue(F.editcell.row,e.displayfield);var H=E;I={value:H,label:i}}else{I=E}var G=F.getrowdata(k);F._raiseEvent(18,{rowindex:k,row:G,datafield:u,displayfield:e.displayfield,oldvalue:E,value:E,columntype:e.columntype});F.editcell.editing=false};if(o){g(this);continue}if(e.cellvaluechanging){var n=this.getcellvalue(this.editcell.row,e.displayfield);var b=e.cellvaluechanging(k,u,e.columntype,n,l);if(b!=undefined){l=b}}var u=e.datafield;if(e.validation){var c=this.getcell(k,e.datafield);try{var w=e.validation(c,l);var r=this.gridlocalization.validationstring;if(w.message!=undefined){r=w.message}var t=typeof w=="boolean"?w:w.result;if(!t){if(w.showmessage==undefined||w.showmessage==true){this._showvalidationpopup(k,u,r)}h=true;this.editcell[e.datafield].validated=false;continue}}catch(z){this._showvalidationpopup(k,u,this.gridlocalization.validationstring);this.editcell[e.datafield].validated=false;h=true;continue}}if(e.displayfield!=e.datafield){var q=this.getcellvalue(this.editcell.row,e.displayfield);var x=this.editcell.value;n={value:x,label:q}}else{n=this.getcellvalue(this.editcell.row,e.displayfield)}d[e.datafield]={newvalue:l,oldvalue:n}}var y={};var s={};if(!h){this._hidecelleditor(false);for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];var u=e.datafield;if(e.hidden){continue}if(!e.editable){continue}var f=this.getrowdata(k);if(e.createwidget){continue}if(e.columntype=="checkbox"){var l=this.getcellvalue(k,e.displayfield);this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:l,value:l,columntype:e.columntype});continue}if(!d[e.datafield]){continue}var l=d[e.datafield].newvalue;var n=d[e.datafield].oldvalue;if(e.cellendedit){var A=e.cellendedit(k,u,e.columntype,n,l);if(A==false){this._raiseEvent(18,{rowindex:k,row:f,datafield:u,displayfield:e.displayfield,oldvalue:n,value:n,columntype:e.columntype});g(this);continue}}if(!this.source.updaterow){this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:n,value:l,columntype:e.columntype})}y[e.datafield]=l;s[e.datafield]=n}var j=this.getrowid(k);var f=this.getrowdata(k);a.each(y,function(i,F){if(F&&F.label!=undefined){var E=D.getcolumn(i);f[E.displayfield]=F.label;f[E.datafield]=F.value}else{f[i]=F}});if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}a.data(document.body,"jqxgrid.edit","");this.editcell=null;this.editchar=null;if(this.source.updaterow&&!o){var m=false;var D=this;var t=function(I){var G=D.source.updaterow;D.source.updaterow=null;if(false==I){a.each(s,function(i,K){if(K&&K.label!=undefined){var J=D.getcolumn(i);f[J.displayfield]=K.label;f[J.datafield]=K.value}else{f[i]=K}});D.updaterow(j,f)}else{D.updaterow(j,f)}for(var F=0;F<D.columns.records.length;F++){var H=D.columns.records[F];var E=H.datafield;D._raiseEvent(18,{rowindex:k,datafield:H.datafield,row:f,displayfield:H.displayfield,oldvalue:s[H.datafield],value:f[H.displayfield],columntype:H.columntype})}D.source.updaterow=G};try{m=this.source.updaterow(j,f,t);if(m==undefined){m=true}}catch(z){m=false;return}}else{if(!o){this.updaterow(j,f)}this._renderrows(this.virtualsizeinfo)}}if(p){this.editmode=v}return h},_selection:function(b){if("selectionStart" in b[0]){var g=b[0];var h=g.selectionEnd-g.selectionStart;return{start:g.selectionStart,end:g.selectionEnd,length:h,text:g.value}}else{var d=document.selection.createRange();if(d==null){return{start:0,end:g.value.length,length:0}}var c=b[0].createTextRange();var f=c.duplicate();c.moveToBookmark(d.getBookmark());f.setEndPoint("EndToStart",c);var h=d.text.length;return{start:f.text.length,end:f.text.length+d.text.length,length:h,text:d.text}}},_setSelection:function(e,b,d){if("selectionStart" in d[0]){d[0].focus();d[0].setSelectionRange(e,b)}else{var c=d[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}},findRecordIndex:function(g,c,b){var b=b;if(c){var e=b.length;for(var h=0;h<e;h++){var f=b[h];var d=f.label;if(g==d){return h}}}return -1},_destroyeditors:function(){var b=this;if(!this.columns.records){return}a.each(this.columns.records,function(f,j){var c=a.trim(this.datafield).split(" ").join("");switch(this.columntype){case"dropdownlist":var g=b.editors["dropdownlist_"+c];if(g){g.jqxDropDownList("destroy");b.editors["dropdownlist_"+c]=null}break;case"combobox":var k=b.editors["combobox_"+c];if(k){k.jqxComboBox("destroy");b.editors["combobox_"+c]=null}break;case"datetimeinput":var d=b.editors["datetimeinput_"+this.datafield];if(d){d.jqxDateTimeInput("destroy");b.editors["datetimeinput_"+c]=null}break;case"numberinput":var e=b.editors["numberinput_"+c];if(e){e.jqxNumberInput("destroy");b.editors["numberinput_"+c]=null}break;case"custom":case"template":if(b.destroyeditor){if(b.editors["templateeditor_"+c]){b.destroyeditor(b.editors["templateeditor_"+c]);b.editors["templateeditor_"+c]=null}}if(b.destroyeditor){var m=b.getrows.length();for(var l=0;l<m;l++){if(b.editors["customeditor_"+c+"_"+l]){b.destroyeditor(b.editors["customeditor_"+c+"_"+l],l);b.editors["customeditor_"+c+"_"+l]=null}}}break;case"textbox":default:var h=b.editors["textboxeditor_"+c];if(h){b.removeHandler(h,"keydown");b.editors["textbox_"+c]=null}break}});b.editors=new Array()},_showcelleditor:function(r,H,o,L,x){if(o==undefined){return}if(this.editcell==null){return}if(H.columntype=="checkbox"&&H.editable){if(this.editmode=="selectedrow"){if(!this._checkboxCells){this._checkboxCells=[]}this._checkboxCells[H.datafield]=o}return}if(x==undefined){x=true}if(this.editmode=="selectedrow"){this.editchar="";x=false}var F=H.datafield;var h=a(o);var t=this;var d=this.editcell.editor;var J=this.getcellvalue(r,F);var D=this.getcelltext(r,F);var k=this.hScrollInstance;var u=k.value;var j=parseInt(u);var K=this.columns.records.indexOf(H);this.editcell.element=o;if(this.editcell.validated==false){var I="";if(this.validationpopup){I=this.validationpopup.text()}this._showvalidationpopup(r,F,I)}var m=function(e){if(t.hScrollInstance.isScrolling()||t.vScrollInstance.isScrolling()){return}if(!x){return}if(t.isTouchDevice()){return}if(e){e.focus()}if(t.gridcontent[0].scrollTop!=0){t.scrolltop(Math.abs(t.gridcontent[0].scrollTop));t.gridcontent[0].scrollTop=0}if(t.gridcontent[0].scrollLeft!=0){t.gridcontent[0].scrollLeft=0}};switch(H.columntype){case"dropdownlist":if(this.host.jqxDropDownList){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var l=this.editors["dropdownlist_"+E];d=l==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='dropdownlisteditor'></div>"):l;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(l==undefined){d.prependTo(this.table);d[0].id="dropdownlisteditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxDropDownList({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});this.editors["dropdownlist_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDropDownList({width:h.width()})}var c=d.jqxDropDownList("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxDropDownList("autoDropDownHeight",true)}else{d.jqxDropDownList("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxDropDownList("selectIndex",A,true)}else{d.jqxDropDownList("selectIndex",-1)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxDropDownList("selectIndex",this.editcell.defaultvalue,true)}if(x){d.jqxDropDownList("focus")}}break;case"combobox":if(this.host.jqxComboBox){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var s=this.editors["combobox_"+E];d=s==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='comboboxeditor'></div>"):s;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(s==undefined){d.prependTo(this.table);d[0].id="comboboxeditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxComboBox({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});d.removeAttr("tabindex");d.find("div").removeAttr("tabindex");this.editors["combobox_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxComboBox({width:h.width()-2})}var c=d.jqxComboBox("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxComboBox("autoDropDownHeight",true)}else{d.jqxComboBox("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxComboBox("selectIndex",A,true);d.jqxComboBox("val",J)}else{d.jqxComboBox("selectIndex",-1);d.jqxComboBox("val",J)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxComboBox("selectIndex",this.editcell.defaultvalue,true)}if(this.editchar&&this.editchar.length>0){d.jqxComboBox("input").val(this.editchar)}if(x){setTimeout(function(){m(d.jqxComboBox("input"));if(d){d.jqxComboBox("_setSelection",0,0);if(t.editchar){d.jqxComboBox("_setSelection",1,1);t.editchar=null}else{if(d.jqxComboBox("input")){var e=d.jqxComboBox("input").val();d.jqxComboBox("_setSelection",0,e.length)}}}},10)}}break;case"datetimeinput":if(this.host.jqxDateTimeInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var w=this.editors["datetimeinput_"+E];d=w==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='datetimeeditor'></div>"):w;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(w==undefined){d.prependTo(this.table);d[0].id="datetimeeditor"+this.element.id+E;var G={calendar:this.gridlocalization};d.jqxDateTimeInput({hint:false,firstDayOfWeek:this.gridlocalization.firstDay,enableBrowserBoundsDetection:true,localization:G,_editor:true,theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),formatString:H.cellsformat});this.editors["datetimeinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDateTimeInput({width:h.width()})}if(L){if(J!=""&&J!=null){var M=new Date(J);if(M=="Invalid Date"){if(this.source.getvaluebytype){M=this.source.getvaluebytype(J,{name:H.datafield,type:"date"})}}d.jqxDateTimeInput("setDate",M)}else{d.jqxDateTimeInput("setDate",null)}if(this.editcell.defaultvalue!=undefined){d.jqxDateTimeInput("setDate",this.editcell.defaultvalue)}}if(x){var N=this.editEvent;setTimeout(function(){m(d.jqxDateTimeInput("dateTimeInput"));setTimeout(function(){d.jqxDateTimeInput("_selectGroup",0);if(t.editchar&&t.editchar.length>0){var R=parseInt(t.editchar);if(!isNaN(R)){if(N){var e=N.charCode?N.charCode:N.keyCode?N.keyCode:0;d.jqxDateTimeInput("_handleKeyPress",N,e)}}}},25)},10)}}break;case"numberinput":if(this.host.jqxNumberInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var P=this.editors["numberinput_"+E];d=P==undefined?a("<div style='border:none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='numbereditor'></div>"):P;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(P==undefined){d.prependTo(this.table);d[0].id="numbereditor"+this.element.id+E;var n="";var z="left";var O=2;if(H.cellsformat){if(H.cellsformat.indexOf("c")!=-1){n=this.gridlocalization.currencysymbol;z=this.gridlocalization.currencysymbolposition;if(z=="before"){z="left"}else{z="right"}if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}else{if(H.cellsformat.indexOf("p")!=-1){n=this.gridlocalization.percentsymbol;z="right";if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}}}else{O=0}d.jqxNumberInput({decimalSeparator:this.gridlocalization.decimalseparator,decimalDigits:O,inputMode:"simple",theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),spinButtons:true,symbol:n,symbolPosition:z});this.editors["numberinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxNumberInput({width:h.width()})}if(L){if(J!=""&&J!=null){var Q=J;d.jqxNumberInput("setDecimal",Q)}else{d.jqxNumberInput("setDecimal",0)}if(this.editcell.defaultvalue!=undefined){d.jqxNumberInput("setDecimal",this.editcell.defaultvalue)}if(this.editchar&&this.editchar.length>0){var p=parseInt(this.editchar);if(!isNaN(p)){d.jqxNumberInput("setDecimal",p)}}if(x){setTimeout(function(){m(d.jqxNumberInput("numberInput"));d.jqxNumberInput("_setSelectionStart",0);if(t.editchar){if(H.cellsformat.length>0&&H.cellsformat.indexOf("c")>=0){d.jqxNumberInput("_setSelectionStart",2)}else{d.jqxNumberInput("_setSelectionStart",1)}t.editchar=null}else{var e=d.jqxNumberInput("spinButtons");if(e){var R=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],R.length,R.length)}else{var R=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],0,R.length)}d.jqxNumberInput("selectAll")}},10)}}}break;case"custom":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var C=this.editors["customeditor_"+E+"_"+r];d=C==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='customeditor'></div>"):C;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(C==undefined){d.prependTo(this.table);d[0].id="customeditor"+this.element.id+E+"_"+r;this.editors["customeditor_"+E+"_"+r]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"template":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var i=this.editors["templateeditor_"+E];d=i==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='templateeditor'></div>"):i;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(i==undefined){d.prependTo(this.table);d[0].id="templateeditor"+this.element.id+E;this.editors["templateeditor_"+E]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"textbox":default:o.innerHTML="";d=this.editors["textboxeditor_"+H.datafield]||a("<input autocomplete='off' style='padding-left: 4px; padding-right:4px; border: none; border-color: transparent;' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox' id='textboxeditor'/>");d[0].id="textboxeditor"+this.element.id+H.datafield;d.appendTo(h);if(this.rtl){d.css("direction","rtl")}if(L||d[0].className==""){d.addClass(this.toThemeProperty("jqx-input"));d.addClass(this.toThemeProperty("jqx-widget-content"));if(this.editchar&&this.editchar.length>0){d.val(this.editchar)}else{if(H.cellsformat!=""){J=this.getcelltext(r,F)}if(J==undefined){J=""}d.val(J)}if(this.editcell.defaultvalue!=undefined){d.val(this.editcell.defaultvalue)}d.width(h.width()+1);d.height(h.height()+1);if(H.createeditor){H.createeditor(r,J,d)}if(H.cellsformat!=""){if(H.cellsformat.indexOf("p")!=-1||H.cellsformat.indexOf("c")!=-1||H.cellsformat.indexOf("n")!=-1||H.cellsformat.indexOf("f")!=-1){if(!this.editors["textboxeditor_"+H.datafield]){d.keydown(function(R){var X=R.charCode?R.charCode:R.keyCode?R.keyCode:0;var U=String.fromCharCode(X);var V=parseInt(U);if(isNaN(V)){return true}if(t._selection(d).length>0){return true}var T="";var S=d.val();if(H.cellsformat.length>1){var W=parseInt(H.cellsformat.substring(1));if(isNaN(W)){W=0}}else{var W=0}if(W>0){if(S.indexOf(t.gridlocalization.decimalseparator)!=-1){if(t._selection(d).start>S.indexOf(t.gridlocalization.decimalseparator)){return true}}}for(var Y=0;Y<S.length-W;Y++){var e=S.substring(Y,Y+1);if(e.match(/^[0-9]+$/)!=null){T+=e}}if(T.length>=11){return false}})}}}}this.editors["textboxeditor_"+H.datafield]=d;if(L){if(x){setTimeout(function(){m(d);if(t.editchar){t._setSelection(d[0],1,1);t.editchar=null}else{t._setSelection(d[0],0,d.val().length)}},25)}}break}if(d){d.addClass("jqx-grid-cell-edit");d[0].style.zIndex=1+parseInt(o.style.zIndex);if(a.jqx.browser.msie&&a.jqx.browser.version<8){d[0].style.zIndex=1+this.columns.records.length+o.style.zIndex}d.css("display","block");this.editcell.editor=d;if(!this.editcell[F]){this.editcell[F]={};this.editcell[F].editor=d}else{this.editcell[F].editor=d}}if(L){if(H.initeditor){H.initeditor(r,J,d,D,this.editchar)}}if(t.isTouchDevice()){return}setTimeout(function(){if(t.content){t.content[0].scrollTop=0;t.content[0].scrollLeft=0}if(t.gridcontent){t.gridcontent[0].scrollLeft=0;t.gridcontent[0].scrollTop=0}},10)},_setSelection:function(d,g,b){try{if("selectionStart" in d){d.setSelectionRange(g,b)}else{var c=d.createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",g);c.select()}}catch(e){var f=e}},_hideeditors:function(){if(this.editcells!=null){var b=this;for(var c in this.editcells){b.editcell=b.editcells[c];b._hidecelleditor()}}},_hidecelleditor:function(b){if(!this.editcell){return}if(this.editmode==="selectedrow"){for(var c=0;c<this.columns.records.length;c++){var e=this.columns.records[c];if(this.editcell[e.datafield]&&this.editcell[e.datafield].editor){this.editcell[e.datafield].editor.hide();var d=this.editcell[e.datafield].editor;switch(e.columntype){case"dropdownlist":d.jqxDropDownList({closeDelay:0});d.jqxDropDownList("hideListBox");d.jqxDropDownList({closeDelay:300});break;case"combobox":d.jqxComboBox({closeDelay:0});d.jqxComboBox("hideListBox");d.jqxComboBox({closeDelay:300});break;case"datetimeinput":if(d.jqxDateTimeInput("isOpened")){d.jqxDateTimeInput({closeDelay:0});d.jqxDateTimeInput("hideCalendar");d.jqxDateTimeInput({closeDelay:300})}break}}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}return}if(this.editcell.columntype=="checkbox"){return}if(this.editcell.editor){this.editcell.editor.hide();switch(this.editcell.columntype){case"dropdownlist":this.editcell.editor.jqxDropDownList({closeDelay:0});this.editcell.editor.jqxDropDownList("hideListBox");this.editcell.editor.jqxDropDownList({closeDelay:300});break;case"combobox":this.editcell.editor.jqxComboBox({closeDelay:0});this.editcell.editor.jqxComboBox("hideListBox");this.editcell.editor.jqxComboBox({closeDelay:300});break;case"datetimeinput":var f=this.editcell.editor;if(f.jqxDateTimeInput("isOpened")){f.jqxDateTimeInput({closeDelay:0});f.jqxDateTimeInput("hideCalendar");f.jqxDateTimeInput({closeDelay:300})}break}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(!this.isNestedGrid){if(b!=false){this.element.focus()}}},_geteditorvalue:function(h){var o=new String();if(!this.editcell){return null}var l=this.editcell.editor;if(this.editmode=="selectedrow"){if(this.editcell[h.datafield]){var l=this.editcell[h.datafield].editor}}if(l){switch(h.columntype){case"textbox":default:o=l.val();if(h.cellsformat!=""){var n="string";var e=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(e){var p="";a.each(e,function(){if(this.name==h.displayfield){if(this.type){p=this.type}return false}});if(p){n=p}}var i=n==="number"||n==="float"||n==="int"||n==="integer";var f=n==="date"||n==="time";if(i||(n==="string"&&(h.cellsformat.indexOf("p")!=-1||h.cellsformat.indexOf("c")!=-1||h.cellsformat.indexOf("n")!=-1||h.cellsformat.indexOf("f")!=-1))){if(o===""&&h.nullable){return""}if(o.indexOf&&o.indexOf(this.gridlocalization.currencysymbol)>-1){o=o.replace(this.gridlocalization.currencysymbol,"")}var m=function(w,u,v){var s=w;if(u==v){return w}var t=s.indexOf(u);while(t!=-1){s=s.replace(u,v);t=s.indexOf(u)}return s};var k=o;k=new Number(k);if(!isNaN(k)){return k}o=m(o,this.gridlocalization.thousandsseparator,"");o=o.replace(this.gridlocalization.decimalseparator,".");if(o.indexOf(this.gridlocalization.percentsymbol)>-1){o=o.replace(this.gridlocalization.percentsymbol,"")}var d="";for(var r=0;r<o.length;r++){var b=o.substring(r,r+1);if(b==="-"){d+="-"}if(b==="."){d+="."}if(b.match(/^[0-9]+$/)!=null){d+=b}}o=d;o=o.replace(/ /g,"");o=new Number(o);if(isNaN(o)){o=""}}if(f||(n==="string"&&(h.cellsformat.indexOf("H")!=-1||h.cellsformat.indexOf("m")!=-1||h.cellsformat.indexOf("M")!=-1||h.cellsformat.indexOf("y")!=-1||h.cellsformat.indexOf("h")!=-1||h.cellsformat.indexOf("d")!=-1))){if(o===""&&h.nullable){return""}var c=o;if(a.jqx.dataFormat){o=a.jqx.dataFormat.tryparsedate(c,this.gridlocalization)}if(o=="Invalid Date"||o==null){o=""}}}if(h.displayfield!=h.datafield){o={label:o,value:o}}break;case"checkbox":if(l.jqxCheckBox){o=l.jqxCheckBox("checked")}break;case"datetimeinput":if(l.jqxDateTimeInput){l.jqxDateTimeInput({isEditing:false});if(l.jqxDateTimeInput("container").css("display")!=="none"){l.jqxDateTimeInput("close")}l.jqxDateTimeInput("_validateValue");o=l.jqxDateTimeInput("getDate");if(o==null){return null}o=new Date(o.toString());if(h.displayfield!=h.datafield){o={label:o,value:o}}}break;case"dropdownlist":if(l.jqxDropDownList){var g=l.jqxDropDownList("selectedIndex");var q=l.jqxDropDownList("listBox").getVisibleItem(g);if(h.displayfield!=h.datafield){if(q){o={label:q.label,value:q.value}}else{o=""}}else{if(q){o=q.label}else{o=""}}if(o==null){o=""}}break;case"combobox":if(l.jqxComboBox){o=l.jqxComboBox("val");if(h.displayfield!=h.datafield){var q=l.jqxComboBox("getSelectedItem");if(q!=null){o={label:q.label,value:q.value}}}if(o==null){o=""}}break;case"numberinput":if(l.jqxNumberInput){if(this.touchdevice){l.jqxNumberInput("_doTouchHandling")}var j=l.jqxNumberInput("getDecimal");o=new Number(j);o=parseFloat(o);if(isNaN(o)){o=0}if(j===null){o=null}if(h.displayfield!=h.datafield){o={label:o,value:o}}}break}if(h.geteditorvalue){if(this.editmode=="selectedrow"){o=h.geteditorvalue(this.editcell.row,this.getcellvalue(this.editcell.row,h.datafield),l)}else{o=h.geteditorvalue(this.editcell.row,this.editcell.value,l)}}}return o},hidevalidationpopups:function(){if(this.popups){a.each(this.popups,function(){this.validation.remove();this.validationrow.remove()});this.popups=new Array()}if(this.validationpopup){this.validationpopuparrow.hide();this.validationpopup.hide()}},showvalidationpopup:function(f,j,h){if(h==undefined){var h=this.gridlocalization.validationstring}var g=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var r=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");g.html(h);r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));g.addClass(this.toThemeProperty("jqx-grid-validation"));g.addClass(this.toThemeProperty("jqx-rc-all"));g.prependTo(this.table);r.prependTo(this.table);var l=this.hScrollInstance;var n=l.value;var d=parseInt(n);var b=this.getcolumn(j).uielement;var p=null;for(var o=0;o<this.hittestinfo.length;o++){if(f===this.hittestinfo[o].row.visibleindex){p=this.hittestinfo[o]}}if(!p){this.ensurerowvisible(f);var s=this;g.remove();r.remove();setTimeout(function(){var v=null;for(var u=0;u<s.hittestinfo.length;u++){if(f===s.hittestinfo[u].row.visibleindex){v=s.hittestinfo[u]}}if(v){s.showvalidationpopup(f,j,h)}},25);return}var c=a(p.visualrow);g.css("top",parseInt(c.position().top)+30+"px");var k=parseInt(g.css("top"));r.css("top",k-12);r.removeClass();r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var q=false;if(k>=this._gettableheight()-this.rowsheight){r.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));k=parseInt(c.position().top)-this.rowsheight;if(k<0){k=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));q=true}g.css("top",k+"px");r.css("top",k+g.outerHeight()-9)}var t=-d+parseInt(a(b).position().left);if(b[0].offsetHeight===0){t=-d+parseInt(b[0].style.left)}r.css("left",d+t+30);var m=g.width();if(m+t>this.host.width()-20){var e=m+t-this.host.width()+40;t-=e}if(!q){g.css("left",d+t)}else{g.css("left",d+parseInt(a(b).position().left)-g.outerWidth())}g.show();r.show();if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:g,validationrow:r}},_showvalidationpopup:function(p,e,q){var c=this.editcell;var k=this.editcell.editor;if(this.editmode=="selectedrow"){var c=this.editcell[e];if(c&&c.editor){k=c.editor;c.element=k}}if(!k){return}if(this.validationpopup&&a.jqx.isHidden(this.validationpopup)){if(this.validationpopup.remove){this.validationpopup.remove();this.validationpopuparrow.remove()}this.validationpopup=null;this.validationpopuparrow=null;if(e===undefined&&q===undefined&&this.editors&&this.editors.length===0){return}}if(!this.validationpopup){var n=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var m=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");n.html(q);m.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));n.addClass(this.toThemeProperty("jqx-grid-validation"));n.addClass(this.toThemeProperty("jqx-rc-all"));n.prependTo(this.table);m.prependTo(this.table);this.validationpopup=n;this.validationpopuparrow=m}else{this.validationpopup.html(q)}var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){this.validationpopup.css("top",this.visiblerows[this.editcell.visiblerowindex].top+(this.rowsheight+5)+"px")}else{this.validationpopup.css("top",parseInt(a(c.editor).position().top)+(this.rowsheight+5)+"px")}}else{this.validationpopup.css("top",parseInt(a(c.element).parent().position().top)+(this.rowsheight+5)+"px")}var b=parseInt(this.validationpopup.css("top"));this.validationpopuparrow.css("top",b-11);this.validationpopuparrow.removeClass();this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var o=this._gettableheight();var f=false;if(b>=o){this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));b=parseInt(a(c.element).parent().position().top)-this.rowsheight-5;if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){b=this.visiblerows[this.editcell.visiblerowindex].top-this.rowsheight-5}else{b=parseInt(a(c.editor).position().top)-this.rowsheight-5}}if(b<0){b=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}this.validationpopup.css("top",b+"px");this.validationpopuparrow.css("top",b+this.validationpopup.outerHeight()-9)}var l=-g+parseInt(a(c.element).position().left);this.validationpopuparrow.css("left",g+l+30);var d=this.validationpopup.width();if(d+l>this.host.width()-20){var i=d+l-this.host.width()+40;l-=i}if(!f){this.validationpopup.css("left",g+l)}else{this.validationpopup.css("left",g+parseInt(a(c.element).position().left)-this.validationpopup.outerWidth())}if(this.editcell.editor.css("display")=="none"){this.validationpopup.hide();this.validationpopuparrow.hide()}else{this.validationpopup.show();this.validationpopuparrow.show()}}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{_handledblclick:function(t,n){if(t.target==null){return}if(n.disabled){return}if(a(t.target).ischildof(this.columnsheader)){return}var w;if(t.which){w=(t.which==3)}else{if(t.button){w=(t.button==2)}}if(w){return}var B;if(t.which){B=(t.which==2)}else{if(t.button){B=(t.button==1)}}if(B){return}var v=this.showheader?this.columnsheader.height()+2:0;var o=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;o+=A;var e=this.host.offset();var m=t.pageX-e.left;var l=t.pageY-v-e.top-o;var b=this._hittestrow(m,l);if(!b){return}var h=b.row;var j=b.index;var q=t.target.className;var p=this.table[0].rows[j];if(p==null){return}n.mousecaptured=true;n.mousecaptureposition={left:t.pageX,top:t.pageY-o};var r=this.hScrollInstance;var s=r.value;var d=0;var k=this.groupable?this.groups.length:0;for(var u=0;u<p.cells.length;u++){var f=parseInt(a(this.columnsrow[0].cells[u]).css("left"));var g=f-s;if(n.columns.records[u].pinned){g=f}var c=this._getcolumnat(u);if(c!=null&&c.hidden){continue}var z=g+a(this.columnsrow[0].cells[u]).width();if(z>=m&&m>=g){d=u;break}}if(h!=null){var c=this._getcolumnat(d);if(!(q.indexOf("jqx-grid-group-expand")!=-1||q.indexOf("jqx-grid-group-collapse")!=-1)){if(h.boundindex!=-1){n.begincelledit(n.getboundindex(h),c.datafield,c.defaulteditorvalue)}}}},_getpreveditablecolumn:function(c){var b=this;while(c>0){c--;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_getnexteditablecolumn:function(c){var b=this;while(c<this.columns.records.length){c++;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_handleeditkeydown:function(T,j){if(j.handlekeyboardnavigation){var L=j.handlekeyboardnavigation(T);if(L==true){return true}}var u=T.charCode?T.charCode:T.keyCode?T.keyCode:0;j.editEvent=T;if(j.showfilterrow&&j.filterable){if(this.filterrow){if(a(T.target).ischildof(this.filterrow)){return true}}}if(T.target.className&&T.target.className.indexOf("jqx-grid-widget")>=0){return true}if(j.pageable){if(a(T.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(T.target).ischildof(this.toolbar)){return true}}if(this.showeverpresentrow){if(this.addnewrowtop){if(a(T.target).ischildof(this.addnewrowtop)){return true}}if(this.addnewrowbottom){if(a(T.target).ischildof(this.addnewrowbottom)){return true}}}if(this.showstatusbar){if(a(T.target).ischildof(this.statusbar)){return true}}if(this.rowdetails){if(a(T.target).ischildof(this.content.find("[role='rowgroup']"))){return true}}if(this.editcell){if(this.editmode==="selectedrow"){if(u===13){this.endrowedit(this.editcell.row,false);return false}else{if(u===27){this.endrowedit(this.editcell.row,true);return false}}if(u==32){if(this._currentColumn&&this.getcolumn(this._currentColumn).columntype=="checkbox"){var M=this.getcolumn(this._currentColumn);if(M.editable){var A=!this.getcellvalue(this.editcell.row,M.datafield);var H=this.getrowdata(this.editcell.row);var s=this.editcell.row;var H=j.getrowdata(j.editcell.row);this.setcellvalue(this.editcell.row,M.datafield,A,false);var k=this._focusedColumn;var d=this._currentColumn;var f=this._currentEditableColumn;this.endrowedit(this.editcell.row,false);this.beginrowedit(s,false);this._currentColumn=d;this._focusedColumn=k;this._currentEditableColumn=f;this._renderrows();this.selectcell(s,M.datafield);this._oldselectedcell=this.selectedcell;if(k){var G=this;setTimeout(function(){G.selectcell(s,M.datafield);G._oldselectedcell=G.selectedcell;a(G._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")},25)}return false}}}if(u===9){var K=this.editcell.datafield;var e=this._getcolumnindex(K);if(this._currentEditableColumn){e=this._currentEditableColumn}else{this._currentEditableColumn=e}var M=this._getnexteditablecolumn(e);if(T.shiftKey||this.rtl){M=this._getpreveditablecolumn(e)}if(M){var e=this._getcolumnindex(M.datafield);if(this.editcell[M.datafield]){this._currentEditableColumn=e;var b=this.editcell[M.datafield].editor;if(b){if(b.data().jqxWidget&&b.data().jqxWidget.focus){b.data().jqxWidget.focus()}else{b.focus();b[0].onkeyup=function(){if(j.gridcontent[0].scrollTop!=0){j.scrolltop(Math.abs(j.gridcontent[0].scrollTop));j.gridcontent[0].scrollTop=0}if(j.gridcontent[0].scrollLeft!=0){j.gridcontent[0].scrollLeft=0}}}}this._focusedColumn=M.datafield;this._currentColumn=M.datafield;if(this.gridcontent[0].scrollTop!=0){this.scrolltop(Math.abs(this.gridcontent[0].scrollTop));this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}else{if(M.columntype=="checkbox"){this._currentColumn=M.datafield;this._currentEditableColumn=e;this.selectcell(this.editcell.row,M.datafield);this._oldselectedcell=this.selectedcell;if(this._checkboxCells[M.datafield]){a(this._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")}return false}}}return false}return true}if(this.editcell.columntype==null||this.editcell.columntype=="textbox"||this.editcell.columntype=="numberinput"||this.editcell.columntype=="combobox"||this.editcell.columntype=="datetimeinput"){if(u>=33&&u<=40&&j.selectionmode=="multiplecellsadvanced"){var b=this.editcell.columntype=="textbox"||this.editcell.columntype==null?this.editcell.editor:this.editcell.editor.find("input");var p=j._selection(b);var J=b.val().length;if(p.length>0&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(p.start>0&&u==37){j._cancelkeydown=true}if(p.start<J&&u==39&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(this.editcell.columntype=="datetimeinput"&&u==39){if(p.start+p.length<J){j._cancelkeydown=true}}}}else{if(this.editcell.columntype=="dropdownlist"){if(u==37||u==39&&j.selectionmode=="multiplecellsadvanced"){j._cancelkeydown=false}}else{if(this.selectionmode=="multiplecellsadvanced"&&this.editcell.columntype!="textbox"&&this.editcell.columntype!="numberinput"){j._cancelkeydown=true}}}if(u==32){if(j.editcell.columntype=="checkbox"){var M=j.getcolumn(j.editcell.datafield);if(M.editable){var A=!j.getcellvalue(j.editcell.row,j.editcell.column);if(M.cellbeginedit){var n=M.cellbeginedit(j.editcell.row,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(j.editcell.row);j.setcellvalue(j.editcell.row,j.editcell.column,A,true);j._raiseEvent(18,{rowindex:j.editcell.row,row:H,datafield:j.editcell.column,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}if(u==9){var l=this.editcell.row;var K=this.editcell.column;var i=K;var e=j._getcolumnindex(K);var D=false;var I=j.getrowvisibleindex(l);var N=l;this.editchar="";var t=this.editcell.validated;if(!this.editcell.validated){var t=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false)}if(t!=false){if(T.shiftKey||this.rtl){var M=j._getpreveditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectprevcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var r=j._getlastvisiblecolumn();D=true;K=r.displayfield;var h=j.getdisplayrows()[I-1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(y&&j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}else{var M=j._getnexteditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectnextcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var x=j._getfirstvisiblecolumn();D=true;K=x.displayfield;var h=j.getdisplayrows()[I+1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(j.selectionmode.indexOf("cell")!=-1){if(y){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}}if(D){if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){this._renderrows(this.virtualsizeinfo);if(j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(N,i);j._oldselectedcell=j.selectedcell}if(Q>this.dataview.pagenum){setTimeout(function(){j.pagerpageinput.focus()},25)}return}}j.begincelledit(l,K);if(this.editcell!=null&&this.editcell.columntype=="checkbox"){this._renderrows(this.virtualsizeinfo)}}else{if(this.editcell!=null){j.endcelledit(l,K,false);this._renderrows(this.virtualsizeinfo)}return true}}return false}else{if(u==13){var F=this.selectedcell;if(F){var z=this.getrowvisibleindex(F.rowindex)}this.endcelledit(this.editcell.row,this.editcell.column,false,true);if(this.selectionmode=="multiplecellsadvanced"){var B=j.getselectedcell();if(B!=null){if(j.selectcell){if(this.editcell==null){if(B.rowindex+1<this.dataview.totalrecords){if(this.sortcolumn!=B.datafield){var I=this.getrowvisibleindex(B.rowindex);var q=this.dataview.loadedrecords[I+1];if(q){if(!this.pageable||(this.pageable&&I+1<(this.dataview.pagenum+1)*this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}else{if(F!=null){var S=this.dataview.loadedrecords[z+1];if(S){if(!this.pageable||(this.pageable&&z+1<this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(S),B.datafield)}else{if(this.pageable&&z+1>=this.pagesize){this.clearselection(false);var S=this.dataview.loadedrecords[z];this.selectcell(this.getboundindex(S),B.datafield)}}}}}}}}}}return false}else{if(u==27){this.endcelledit(this.editcell.row,this.editcell.column,true,true);return false}}}}else{var O=false;if(u==113){O=true}if(!T.ctrlKey&&!T.altKey&&!T.metaKey){if(u>=48&&u<=57){this.editchar=String.fromCharCode(u);O=true}if(u===189){O=true}if(u>=65&&u<=90){this.editchar=String.fromCharCode(u);var o=false;if(T.shiftKey){o=T.shiftKey}else{if(T.modifiers){o=!!(T.modifiers&4)}}if(this._capsLock){o=!o}if(!o){this.editchar=this.editchar.toLowerCase()}O=true}else{if(u>=96&&u<=105){this.editchar=u-96;this.editchar=this.editchar.toString();O=true}}var C=a(".jqx-grid").length;O=O&&(C==1||(C>1&&j.focused));var R=a.data(document.body,"jqxgrid.edit");if(R!==undefined&&R!==""){if(u===13||O){if(R!=j.element.id){return true}}}}if(u==13||O){if(j.getselectedrowindex){var l=j.getselectedrowindex();if(j.editmode==="selectedrow"){if(l>=0){j.beginrowedit(l)}else{var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);j.beginrowedit(B.rowindex)}return false}}switch(j.selectionmode){case"singlerow":case"multiplerows":case"multiplerowsextended":if(l>=0){var K="";for(var P=0;P<j.columns.records.length;P++){var M=j.getcolumnat(P);if(M.editable){K=M.datafield;break}}if(j.editmode==="selectedrow"){j.beginrowedit(l)}else{j.begincelledit(l,K)}}break;case"singlecell":case"multiplecells":case"multiplecellsextended":var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);if(j.editmode==="selectedrow"){j.beginrowedit(B.rowindex)}else{if(M.columntype!="checkbox"){j.begincelledit(B.rowindex,B.datafield)}}}break;case"multiplecellsadvanced":var B=j.getselectedcell();if(B!=null){if(u==13){if(j.selectcell){var I=this.getrowvisibleindex(B.rowindex);if(I+1<j.dataview.totalrecords){var q=this.dataview.loadedrecords[I+1];if(q){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}}else{if(j.editmode!=="selectedrow"){j.begincelledit(B.rowindex,B.datafield)}}}break}return false}}if(u==46){var v=j.getselectedcells();if(j.selectionmode.indexOf("cell")==-1){if(j._getcellsforcopypaste){v=j._getcellsforcopypaste()}}if(v!=null&&v.length>0){for(var w=0;w<v.length;w++){var B=v[w];if(!B.datafield){continue}var M=j.getcolumn(B.datafield);var E=j.getcellvalue(B.rowindex,B.datafield);if(E!==""&&M.editable&&j.enablekeyboarddelete){var c=null;if(M.columntype=="checkbox"){if(!M.threestatecheckbox){c=false}}if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,c);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:E});if(w==v.length-1){j.setcellvalue(B.rowindex,B.datafield,c,true);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}else{j.setcellvalue(B.rowindex,B.datafield,c,false);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}if(M.cellendedit){var g=M.cellendedit(B.rowindex,M.datafield,M.columntype,c)}j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:E,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo);return false}}if(u==32){var B=j.getselectedcell();if(B!=null){var M=j.getcolumn(B.datafield);if(M.columntype=="checkbox"&&M.editable){var A=!j.getcellvalue(B.rowindex,B.datafield);if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:!A,columntype:"checkbox"});j.setcellvalue(B.rowindex,B.datafield,A,true);j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}}return true},begincelledit:function(o,e,l,g,c){var f=this.getcolumn(e);this._cellscache=new Array();if(e==null){return}if(f.columntype=="number"||f.columntype=="button"||f.createwidget){return}if(this.groupable){if(this.groups.indexOf(e)>=0){return}if(this.groups.indexOf(f.displayfield)>=0){return}}if(this.editrow!=undefined){return}if(this.editcell){if(this.editcell.row==o&&this.editcell.column==e){return true}if(this.editmode==="selectedrow"){if(this.editcell.row==o){return}}var d=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false);if(false==d){return}}var i=f.columntype=="checkbox"||f.columntype=="button"||f.createwidget;this.host.removeClass("jqx-disableselect");this.content.removeClass("jqx-disableselect");if(f.editable){if(f.cellbeginedit){var k=this.getcell(o,e);var m=f.cellbeginedit(o,e,f.columntype,k!=null?k.value:null);if(m==false){return}}var j=this.getrowvisibleindex(o);this.editcell=this.getcell(o,e);if(this.editcell){this.editcell.visiblerowindex=j;if(!this.editcell.editing){if(!i){this.editcell.editing=true}this.editcell.columntype=f.columntype;this.editcell.defaultvalue=l;if(f.defaultvalue!=undefined){this.editcell.defaultvalue=f.defaultvalue}this.editcell.init=true;if(f.columntype!="checkbox"&&this.editmode!="selectedrow"){var h=this.getrowdata(o);this._raiseEvent(17,{rowindex:o,row:h,datafield:f.datafield,value:this.editcell.value,columntype:f.columntype})}a.data(document.body,"jqxgrid.edit",this.element.id);if(!i){var b=this.getrowvisibleindex(o);if(g!==false){if(!this.autorowheight&&this.groups.length===0){var n=this.ensurecellvisible(b,f.datafield)}}if(c!==false){this._renderrows(this.virtualsizeinfo)}}if(this.editcell){this.editcell.init=false;return true}}}}else{if(!this.editcell){return}this.editcell.editor=null;this.editcell.editing=false;if(c!==false){this._renderrows(this.virtualsizeinfo)}this.editcell=null}},getScrollTop:function(){if(this._py){return this._py}this._py=typeof pageYOffset!="undefined";if(this._py){return pageYOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollTop}},getScrollLeft:function(){if(typeof pageXOffset!="undefined"){return pageXOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollLeft}},endcelledit:function(h,o,k,e,p){if(h==undefined||o==undefined){if(this.editcell){h=this.editcell.row;o=this.editcell.column}if(k==undefined){k=true}}if(!this.editcell){return}var d=this.getcolumn(o);var v=this;if(v.editmode==="selectedrow"){this.endrowedit(h,k);return}var u=function(){if(p!=false){if(v.isTouchDevice()){return}if(!v.isNestedGrid){var w=v.getScrollTop();var y=v.getScrollLeft();try{v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}setTimeout(function(){v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}},10)}catch(x){}}}};if(d.columntype=="checkbox"||d.columntype=="button"||d.createwidget){if(this.editcell){this.editcell.editor=null;this.editcell.editing=false;this.editcell=null}return true}var i=this._geteditorvalue(d);var g=function(x){x._hidecelleditor();if(d.cellendedit){d.cellendedit(h,o,d.columntype,x.editcell.value,i)}x.editchar=null;var z;if(d.displayfield!=d.datafield){var w=x.getcellvalue(x.editcell.row,d.displayfield);var y=x.editcell.value;z={value:y,label:w}}else{z=x.editcell.value}var A=x.getrowdata(h);x._raiseEvent(18,{rowindex:h,row:A,datafield:o,displayfield:d.displayfield,oldvalue:i,value:i,columntype:d.columntype});x.editcell.editor=null;x.editcell.editing=false;x.editcell=null;if(e||e==undefined){x._renderrows(x.virtualsizeinfo)}u();if(!x.enablebrowserselection){x.host.addClass("jqx-disableselect");x.content.addClass("jqx-disableselect")}};if(k){g(this);return false}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(d.cellvaluechanging){var b=d.cellvaluechanging(h,o,d.columntype,this.editcell.value,i);if(b!=undefined){i=b}}if(d.validation){var c=this.getcell(h,o);try{var q=d.validation(c,i);var m=this.gridlocalization.validationstring;if(q.message!=undefined){m=q.message}var n=typeof q=="boolean"?q:q.result;if(!n){if(q.showmessage==undefined||q.showmessage==true){this._showvalidationpopup(h,o,m)}this.editcell.validated=false;return false}}catch(s){this._showvalidationpopup(h,o,this.gridlocalization.validationstring);this.editcell.validated=false;return false}}var j;if(d.displayfield!=d.datafield){var l=this.getcellvalue(this.editcell.row,d.displayfield);var r=this.editcell.value;j={value:r,label:l}}else{j=this.editcell.value}var f=this.getrowdata(h);if(d.cellendedit){var t=d.cellendedit(h,o,d.columntype,this.editcell.value,i);if(t==false){this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:j,columntype:d.columntype});g(this);return false}}this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:i,columntype:d.columntype});this._hidecelleditor(false);if(this.editcell!=undefined){this.editcell.editor=null;this.editcell.editing=false}this.editcell=null;this.editchar=null;this.setcellvalue(h,o,i,e);if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}if(!a.jqx.browser.msie){u()}a.data(document.body,"jqxgrid.edit","");return true},beginrowedit:function(f){var e=this;var g=-1;if(f==undefined){return}e._oldselectedrow=f;this._cellscache=new Array();var c=false;if(this.editmode!="selectedrow"){c=true}if(c){var b=this.editmode;this.editmode="selectedrow"}var d=null;if(this._currentEditableColumn){d=this.getcolumnat(this._currentEditableColumn).datafield}a.each(this.columns.records,function(i,k){if(e.editable&&this.editable){if(this.columntype==="checkbox"||this.columntype==="custom"||this.columntype==="widget"||this.columntype==="template"||this.columntype==="button"){return true}if(!d){d=this.datafield}var h=e.getcell(f,this.datafield);e.begincelledit(f,this.datafield,null,false,false);var j=e.getrowdata(f);e._raiseEvent(17,{rowindex:f,row:j,datafield:this.datafield,value:h.value,columntype:this.columntype})}});if(e.editcell){e.editcell.init=true}this._renderrows(this.virtualsizeinfo);if(c){this.editmode=b}if(d&&e.editcell){setTimeout(function(){if(e.editcell&&e.editcell[d]){var h=e.editcell[d].editor;if(h){if(h.data().jqxWidget&&h.data().jqxWidget.focus){h.data().jqxWidget.focus()}else{h.focus()}}}},25)}},endrowedit:function(k,o){var D=this;this._currentEditableColumn=0;this._focusedColumn=null;this._currentColumn=null;this._checkboxCells=[];if(!this.editcell){return false}if(this.editcell.editor==undefined&&this.editcell.columntype!=="checkbox"){return false}var C=function(){if(focus!=false){if(D.isTouchDevice()){return}if(!D.isNestedGrid){var i=D.getScrollTop();var F=D.getScrollLeft();try{D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}setTimeout(function(){D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}},10)}catch(E){}}}};var p=false;if(this.editmode!="selectedrow"){p=true}if(p){var v=this.editmode;this.editmode="selectedrow"}var h=false;var d={};if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];if(!e.editable){continue}if(e.hidden){continue}if(e.columntype=="checkbox"){continue}if(e.createwidget){continue}var l=this._geteditorvalue(e);var g=function(F){F._hidecelleditor();var E=F.getcellvalue(F.editcell.row,e.displayfield);if(e.cellendedit){e.cellendedit(k,u,e.columntype,E,l)}F.editchar=null;var I;if(e.displayfield!=e.datafield){var i=F.getcellvalue(F.editcell.row,e.displayfield);var H=E;I={value:H,label:i}}else{I=E}var G=F.getrowdata(k);F._raiseEvent(18,{rowindex:k,row:G,datafield:u,displayfield:e.displayfield,oldvalue:E,value:E,columntype:e.columntype});F.editcell.editing=false};if(o){g(this);continue}if(e.cellvaluechanging){var n=this.getcellvalue(this.editcell.row,e.displayfield);var b=e.cellvaluechanging(k,u,e.columntype,n,l);if(b!=undefined){l=b}}var u=e.datafield;if(e.validation){var c=this.getcell(k,e.datafield);try{var w=e.validation(c,l);var r=this.gridlocalization.validationstring;if(w.message!=undefined){r=w.message}var t=typeof w=="boolean"?w:w.result;if(!t){if(w.showmessage==undefined||w.showmessage==true){this._showvalidationpopup(k,u,r)}h=true;this.editcell[e.datafield].validated=false;continue}}catch(z){this._showvalidationpopup(k,u,this.gridlocalization.validationstring);this.editcell[e.datafield].validated=false;h=true;continue}}if(e.displayfield!=e.datafield){var q=this.getcellvalue(this.editcell.row,e.displayfield);var x=this.editcell.value;n={value:x,label:q}}else{n=this.getcellvalue(this.editcell.row,e.displayfield)}d[e.datafield]={newvalue:l,oldvalue:n}}var y={};var s={};if(!h){this._hidecelleditor(false);for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];var u=e.datafield;if(e.hidden){continue}if(!e.editable){continue}var f=this.getrowdata(k);if(e.createwidget){continue}if(e.columntype=="checkbox"){var l=this.getcellvalue(k,e.displayfield);this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:l,value:l,columntype:e.columntype});continue}if(!d[e.datafield]){continue}var l=d[e.datafield].newvalue;var n=d[e.datafield].oldvalue;if(e.cellendedit){var A=e.cellendedit(k,u,e.columntype,n,l);if(A==false){this._raiseEvent(18,{rowindex:k,row:f,datafield:u,displayfield:e.displayfield,oldvalue:n,value:n,columntype:e.columntype});g(this);continue}}if(!this.source.updaterow){this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:n,value:l,columntype:e.columntype})}y[e.datafield]=l;s[e.datafield]=n}var j=this.getrowid(k);var f=this.getrowdata(k);a.each(y,function(i,F){if(F&&F.label!=undefined){var E=D.getcolumn(i);f[E.displayfield]=F.label;f[E.datafield]=F.value}else{f[i]=F}});if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}a.data(document.body,"jqxgrid.edit","");this.editcell=null;this.editchar=null;if(this.source.updaterow&&!o){var m=false;var D=this;var t=function(I){var G=D.source.updaterow;D.source.updaterow=null;if(false==I){a.each(s,function(i,K){if(K&&K.label!=undefined){var J=D.getcolumn(i);f[J.displayfield]=K.label;f[J.datafield]=K.value}else{f[i]=K}});D.updaterow(j,f)}else{D.updaterow(j,f)}for(var F=0;F<D.columns.records.length;F++){var H=D.columns.records[F];var E=H.datafield;D._raiseEvent(18,{rowindex:k,datafield:H.datafield,row:f,displayfield:H.displayfield,oldvalue:s[H.datafield],value:f[H.displayfield],columntype:H.columntype})}D.source.updaterow=G};try{m=this.source.updaterow(j,f,t);if(m==undefined){m=true}}catch(z){m=false;return}}else{if(!o){this.updaterow(j,f)}this._renderrows(this.virtualsizeinfo)}}if(p){this.editmode=v}return h},_selection:function(b){if("selectionStart" in b[0]){var g=b[0];var h=g.selectionEnd-g.selectionStart;return{start:g.selectionStart,end:g.selectionEnd,length:h,text:g.value}}else{var d=document.selection.createRange();if(d==null){return{start:0,end:g.value.length,length:0}}var c=b[0].createTextRange();var f=c.duplicate();c.moveToBookmark(d.getBookmark());f.setEndPoint("EndToStart",c);var h=d.text.length;return{start:f.text.length,end:f.text.length+d.text.length,length:h,text:d.text}}},_setSelection:function(e,b,d){if("selectionStart" in d[0]){d[0].focus();d[0].setSelectionRange(e,b)}else{var c=d[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}},findRecordIndex:function(g,c,b){var b=b;if(c){var e=b.length;for(var h=0;h<e;h++){var f=b[h];var d=f.label;if(g==d){return h}}}return -1},_destroyeditors:function(){var b=this;if(!this.columns.records){return}a.each(this.columns.records,function(f,j){var c=a.trim(this.datafield).split(" ").join("");switch(this.columntype){case"dropdownlist":var g=b.editors["dropdownlist_"+c];if(g){g.jqxDropDownList("destroy");b.editors["dropdownlist_"+c]=null}break;case"combobox":var k=b.editors["combobox_"+c];if(k){k.jqxComboBox("destroy");b.editors["combobox_"+c]=null}break;case"datetimeinput":var d=b.editors["datetimeinput_"+this.datafield];if(d){d.jqxDateTimeInput("destroy");b.editors["datetimeinput_"+c]=null}break;case"numberinput":var e=b.editors["numberinput_"+c];if(e){e.jqxNumberInput("destroy");b.editors["numberinput_"+c]=null}break;case"custom":case"template":if(b.destroyeditor){if(b.editors["templateeditor_"+c]){b.destroyeditor(b.editors["templateeditor_"+c]);b.editors["templateeditor_"+c]=null}}if(b.destroyeditor){var m=b.getrows.length();for(var l=0;l<m;l++){if(b.editors["customeditor_"+c+"_"+l]){b.destroyeditor(b.editors["customeditor_"+c+"_"+l],l);b.editors["customeditor_"+c+"_"+l]=null}}}break;case"textbox":default:var h=b.editors["textboxeditor_"+c];if(h){b.removeHandler(h,"keydown");b.editors["textbox_"+c]=null}break}});b.editors=new Array()},_showcelleditor:function(r,H,o,L,x){if(o==undefined){return}if(this.editcell==null){return}if(H.columntype=="checkbox"&&H.editable){if(this.editmode=="selectedrow"){if(!this._checkboxCells){this._checkboxCells=[]}this._checkboxCells[H.datafield]=o}return}if(x==undefined){x=true}if(this.editmode=="selectedrow"){this.editchar="";x=false}var F=H.datafield;var h=a(o);var t=this;var d=this.editcell.editor;var J=this.getcellvalue(r,F);var D=this.getcelltext(r,F);var k=this.hScrollInstance;var u=k.value;var j=parseInt(u);var K=this.columns.records.indexOf(H);this.editcell.element=o;if(this.editcell.validated==false){var I="";if(this.validationpopup){I=this.validationpopup.text()}this._showvalidationpopup(r,F,I)}var m=function(e){if(t.hScrollInstance.isScrolling()||t.vScrollInstance.isScrolling()){return}if(!x){return}if(t.isTouchDevice()){return}if(e){e.focus()}if(t.gridcontent[0].scrollTop!=0){t.scrolltop(Math.abs(t.gridcontent[0].scrollTop));t.gridcontent[0].scrollTop=0}if(t.gridcontent[0].scrollLeft!=0){t.gridcontent[0].scrollLeft=0}};switch(H.columntype){case"dropdownlist":if(this.host.jqxDropDownList){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var l=this.editors["dropdownlist_"+E];d=l==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='dropdownlisteditor'></div>"):l;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(l==undefined){d.prependTo(this.table);d[0].id="dropdownlisteditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxDropDownList({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});this.editors["dropdownlist_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDropDownList({width:h.width()})}var c=d.jqxDropDownList("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxDropDownList("autoDropDownHeight",true)}else{d.jqxDropDownList("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxDropDownList("selectIndex",A,true)}else{d.jqxDropDownList("selectIndex",-1)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxDropDownList("selectIndex",this.editcell.defaultvalue,true)}if(x){d.jqxDropDownList("focus")}}break;case"combobox":if(this.host.jqxComboBox){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var s=this.editors["combobox_"+E];d=s==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='comboboxeditor'></div>"):s;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(s==undefined){d.prependTo(this.table);d[0].id="comboboxeditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxComboBox({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});d.removeAttr("tabindex");d.find("div").removeAttr("tabindex");this.editors["combobox_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxComboBox({width:h.width()-2})}var c=d.jqxComboBox("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxComboBox("autoDropDownHeight",true)}else{d.jqxComboBox("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxComboBox("selectIndex",A,true);d.jqxComboBox("val",J)}else{d.jqxComboBox("selectIndex",-1);d.jqxComboBox("val",J)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxComboBox("selectIndex",this.editcell.defaultvalue,true)}if(this.editchar&&this.editchar.length>0){d.jqxComboBox("input").val(this.editchar)}if(x){setTimeout(function(){m(d.jqxComboBox("input"));if(d){d.jqxComboBox("_setSelection",0,0);if(t.editchar){d.jqxComboBox("_setSelection",1,1);t.editchar=null}else{if(d.jqxComboBox("input")){var e=d.jqxComboBox("input").val();d.jqxComboBox("_setSelection",0,e.length)}}}},10)}}break;case"datetimeinput":if(this.host.jqxDateTimeInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var w=this.editors["datetimeinput_"+E];d=w==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='datetimeeditor'></div>"):w;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(w==undefined){d.prependTo(this.table);d[0].id="datetimeeditor"+this.element.id+E;var G={calendar:this.gridlocalization};d.jqxDateTimeInput({hint:false,firstDayOfWeek:this.gridlocalization.firstDay,enableBrowserBoundsDetection:true,localization:G,_editor:true,theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),formatString:H.cellsformat});this.editors["datetimeinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDateTimeInput({width:h.width()})}if(L){if(J!=""&&J!=null){var M=new Date(J);if(M=="Invalid Date"){if(this.source.getvaluebytype){M=this.source.getvaluebytype(J,{name:H.datafield,type:"date"})}}d.jqxDateTimeInput("setDate",M)}else{d.jqxDateTimeInput("setDate",null)}if(this.editcell.defaultvalue!=undefined){d.jqxDateTimeInput("setDate",this.editcell.defaultvalue)}}if(x){var N=this.editEvent;setTimeout(function(){m(d.jqxDateTimeInput("dateTimeInput"));setTimeout(function(){d.jqxDateTimeInput("_selectGroup",0);if(t.editchar&&t.editchar.length>0){var S=parseInt(t.editchar);if(!isNaN(S)){if(N){var e=N.charCode?N.charCode:N.keyCode?N.keyCode:0;d.jqxDateTimeInput("_handleKeyPress",N,e)}}}},25)},10)}}break;case"numberinput":if(this.host.jqxNumberInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var P=this.editors["numberinput_"+E];d=P==undefined?a("<div style='border:none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='numbereditor'></div>"):P;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(P==undefined){d.prependTo(this.table);d[0].id="numbereditor"+this.element.id+E;var n="";var z="left";var O=2;if(H.cellsformat){if(H.cellsformat.indexOf("c")!=-1){n=this.gridlocalization.currencysymbol;z=this.gridlocalization.currencysymbolposition;if(z=="before"){z="left"}else{z="right"}if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}else{if(H.cellsformat.indexOf("p")!=-1){n=this.gridlocalization.percentsymbol;z="right";if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}}}else{O=0}d.jqxNumberInput({decimalSeparator:this.gridlocalization.decimalseparator,decimalDigits:O,inputMode:"simple",theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),spinButtons:true,symbol:n,symbolPosition:z});this.editors["numberinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxNumberInput({width:h.width()})}if(L){if(J!=""&&J!=null){var R=J;d.jqxNumberInput("setDecimal",R)}else{d.jqxNumberInput("setDecimal",0)}if(this.editcell.defaultvalue!=undefined){d.jqxNumberInput("setDecimal",this.editcell.defaultvalue)}if(this.editchar&&this.editchar.length>0){var p=parseInt(this.editchar);if(!isNaN(p)){d.jqxNumberInput("setDecimal",p)}}if(x){setTimeout(function(){m(d.jqxNumberInput("numberInput"));d.jqxNumberInput("_setSelectionStart",0);if(t.editchar){if(H.cellsformat.length>0&&H.cellsformat.indexOf("c")>=0){d.jqxNumberInput("_setSelectionStart",2)}else{d.jqxNumberInput("_setSelectionStart",1)}t.editchar=null}else{var e=d.jqxNumberInput("spinButtons");if(e){var S=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],S.length,S.length)}else{var S=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],0,S.length)}d.jqxNumberInput("selectAll")}},10)}}}break;case"rating":if(this.host.jqxRating){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var Q=this.editors["rating_"+E];d=Q==undefined?a("<div style='margin: 5px;white-space: nowrap; overflow: auto; border:none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='ratingEditor'></div>"):Q;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(Q==undefined){d.prependTo(this.table);d[0].id="ratingEditor"+this.element.id+E;d.jqxRating({theme:this.theme,width:h.width(),height:h.height()});this.editors["numberinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxRating({width:h.width()})}if(L){if(J!=""&&J!=null){var R=J;d.jqxRating("val",R)}else{d.jqxRating("val",0)}if(this.editcell.defaultvalue!=undefined){d.jqxRating("val",this.editcell.defaultvalue)}}}break;case"custom":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var C=this.editors["customeditor_"+E+"_"+r];d=C==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='customeditor'></div>"):C;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(C==undefined){d.prependTo(this.table);d[0].id="customeditor"+this.element.id+E+"_"+r;this.editors["customeditor_"+E+"_"+r]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"template":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var i=this.editors["templateeditor_"+E];d=i==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='templateeditor'></div>"):i;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(i==undefined){d.prependTo(this.table);d[0].id="templateeditor"+this.element.id+E;this.editors["templateeditor_"+E]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"textbox":default:o.innerHTML="";d=this.editors["textboxeditor_"+H.datafield]||a("<input autocomplete='off' style='padding-left: 4px; padding-right:4px; border: none; border-color: transparent;' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox' id='textboxeditor'/>");d[0].id="textboxeditor"+this.element.id+H.datafield;d.appendTo(h);if(this.rtl){d.css("direction","rtl")}if(L||d[0].className==""){d.addClass(this.toThemeProperty("jqx-input"));d.addClass(this.toThemeProperty("jqx-widget-content"));if(this.editchar&&this.editchar.length>0){d.val(this.editchar)}else{if(H.cellsformat!=""){J=this.getcelltext(r,F)}if(J==undefined){J=""}d.val(J)}if(this.editcell.defaultvalue!=undefined){d.val(this.editcell.defaultvalue)}d.width(h.width()+1);d.height(h.height()+1);if(H.createeditor){H.createeditor(r,J,d)}if(H.cellsformat!=""){if(H.cellsformat.indexOf("p")!=-1||H.cellsformat.indexOf("c")!=-1||H.cellsformat.indexOf("n")!=-1||H.cellsformat.indexOf("f")!=-1){if(!this.editors["textboxeditor_"+H.datafield]){d.keydown(function(S){var Y=S.charCode?S.charCode:S.keyCode?S.keyCode:0;var V=String.fromCharCode(Y);var W=parseInt(V);if(isNaN(W)){return true}if(t._selection(d).length>0){return true}var U="";var T=d.val();if(H.cellsformat.length>1){var X=parseInt(H.cellsformat.substring(1));if(isNaN(X)){X=0}}else{var X=0}if(X>0){if(T.indexOf(t.gridlocalization.decimalseparator)!=-1){if(t._selection(d).start>T.indexOf(t.gridlocalization.decimalseparator)){return true}}}for(var Z=0;Z<T.length-X;Z++){var e=T.substring(Z,Z+1);if(e.match(/^[0-9]+$/)!=null){U+=e}}if(U.length>=11){return false}})}}}}this.editors["textboxeditor_"+H.datafield]=d;if(L){if(x){setTimeout(function(){m(d);if(t.editchar){t._setSelection(d[0],1,1);t.editchar=null}else{t._setSelection(d[0],0,d.val().length)}},25)}}break}if(d){d.addClass("jqx-grid-cell-edit");d[0].style.zIndex=1+parseInt(o.style.zIndex);if(a.jqx.browser.msie&&a.jqx.browser.version<8){d[0].style.zIndex=1+this.columns.records.length+o.style.zIndex}d.css("display","block");this.editcell.editor=d;if(!this.editcell[F]){this.editcell[F]={};this.editcell[F].editor=d}else{this.editcell[F].editor=d}}if(L){if(H.initeditor){H.initeditor(r,J,d,D,this.editchar)}}if(t.isTouchDevice()){return}setTimeout(function(){if(t.content){t.content[0].scrollTop=0;t.content[0].scrollLeft=0}if(t.gridcontent){t.gridcontent[0].scrollLeft=0;t.gridcontent[0].scrollTop=0}},10)},_setSelection:function(d,g,b){try{if("selectionStart" in d){d.setSelectionRange(g,b)}else{var c=d.createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",g);c.select()}}catch(e){var f=e}},_hideeditors:function(){if(this.editcells!=null){var b=this;for(var c in this.editcells){b.editcell=b.editcells[c];b._hidecelleditor()}}},_hidecelleditor:function(b){if(!this.editcell){return}if(this.editmode==="selectedrow"){for(var c=0;c<this.columns.records.length;c++){var e=this.columns.records[c];if(this.editcell[e.datafield]&&this.editcell[e.datafield].editor){this.editcell[e.datafield].editor.hide();var d=this.editcell[e.datafield].editor;switch(e.columntype){case"dropdownlist":d.jqxDropDownList({closeDelay:0});d.jqxDropDownList("hideListBox");d.jqxDropDownList({closeDelay:300});break;case"combobox":d.jqxComboBox({closeDelay:0});d.jqxComboBox("hideListBox");d.jqxComboBox({closeDelay:300});break;case"datetimeinput":if(d.jqxDateTimeInput("isOpened")){d.jqxDateTimeInput({closeDelay:0});d.jqxDateTimeInput("hideCalendar");d.jqxDateTimeInput({closeDelay:300})}break}}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}return}if(this.editcell.columntype=="checkbox"){return}if(this.editcell.editor){this.editcell.editor.hide();switch(this.editcell.columntype){case"dropdownlist":this.editcell.editor.jqxDropDownList({closeDelay:0});this.editcell.editor.jqxDropDownList("hideListBox");this.editcell.editor.jqxDropDownList({closeDelay:300});break;case"combobox":this.editcell.editor.jqxComboBox({closeDelay:0});this.editcell.editor.jqxComboBox("hideListBox");this.editcell.editor.jqxComboBox({closeDelay:300});break;case"datetimeinput":var f=this.editcell.editor;if(f.jqxDateTimeInput("isOpened")){f.jqxDateTimeInput({closeDelay:0});f.jqxDateTimeInput("hideCalendar");f.jqxDateTimeInput({closeDelay:300})}break}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(!this.isNestedGrid){if(b!=false){this.element.focus()}}},_geteditorvalue:function(h){var o=new String();if(!this.editcell){return null}var l=this.editcell.editor;if(this.editmode=="selectedrow"){if(this.editcell[h.datafield]){var l=this.editcell[h.datafield].editor}}if(l){switch(h.columntype){case"textbox":default:o=l.val();if(h.cellsformat!=""){var n="string";var e=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(e){var p="";a.each(e,function(){if(this.name==h.displayfield){if(this.type){p=this.type}return false}});if(p){n=p}}var i=n==="number"||n==="float"||n==="int"||n==="integer";var f=n==="date"||n==="time";if(i||(n==="string"&&(h.cellsformat.indexOf("p")!=-1||h.cellsformat.indexOf("c")!=-1||h.cellsformat.indexOf("n")!=-1||h.cellsformat.indexOf("f")!=-1))){if(o===""&&h.nullable){return""}if(o.indexOf&&o.indexOf(this.gridlocalization.currencysymbol)>-1){o=o.replace(this.gridlocalization.currencysymbol,"")}var m=function(w,u,v){var s=w;if(u==v){return w}var t=s.indexOf(u);while(t!=-1){s=s.replace(u,v);t=s.indexOf(u)}return s};var k=o;k=new Number(k);if(!isNaN(k)){return k}o=m(o,this.gridlocalization.thousandsseparator,"");o=o.replace(this.gridlocalization.decimalseparator,".");if(o.indexOf(this.gridlocalization.percentsymbol)>-1){o=o.replace(this.gridlocalization.percentsymbol,"")}var d="";for(var r=0;r<o.length;r++){var b=o.substring(r,r+1);if(b==="-"){d+="-"}if(b==="."){d+="."}if(b.match(/^[0-9]+$/)!=null){d+=b}}o=d;o=o.replace(/ /g,"");o=new Number(o);if(isNaN(o)){o=""}}if(f||(n==="string"&&(h.cellsformat.indexOf("H")!=-1||h.cellsformat.indexOf("m")!=-1||h.cellsformat.indexOf("M")!=-1||h.cellsformat.indexOf("y")!=-1||h.cellsformat.indexOf("h")!=-1||h.cellsformat.indexOf("d")!=-1))){if(o===""&&h.nullable){return""}var c=o;if(a.jqx.dataFormat){o=a.jqx.dataFormat.tryparsedate(c,this.gridlocalization)}if(o=="Invalid Date"||o==null){o=""}}}if(h.displayfield!=h.datafield){o={label:o,value:o}}break;case"checkbox":if(l.jqxCheckBox){o=l.jqxCheckBox("checked")}break;case"datetimeinput":if(l.jqxDateTimeInput){l.jqxDateTimeInput({isEditing:false});if(l.jqxDateTimeInput("container").css("display")!=="none"){l.jqxDateTimeInput("close")}l.jqxDateTimeInput("_validateValue");o=l.jqxDateTimeInput("getDate");if(o==null){return null}o=new Date(o.toString());if(h.displayfield!=h.datafield){o={label:o,value:o}}}break;case"dropdownlist":if(l.jqxDropDownList){var g=l.jqxDropDownList("selectedIndex");var q=l.jqxDropDownList("listBox").getVisibleItem(g);if(h.displayfield!=h.datafield){if(q){o={label:q.label,value:q.value}}else{o=""}}else{if(q){o=q.label}else{o=""}}if(o==null){o=""}}break;case"combobox":if(l.jqxComboBox){o=l.jqxComboBox("val");if(h.displayfield!=h.datafield){var q=l.jqxComboBox("getSelectedItem");if(q!=null){o={label:q.label,value:q.value}}}if(o==null){o=""}}break;case"numberinput":if(l.jqxNumberInput){if(this.touchdevice){l.jqxNumberInput("_doTouchHandling")}var j=l.jqxNumberInput("getDecimal");o=new Number(j);o=parseFloat(o);if(isNaN(o)){o=0}if(j===null){o=null}if(h.displayfield!=h.datafield){o={label:o,value:o}}}break}if(h.geteditorvalue){if(this.editmode=="selectedrow"){o=h.geteditorvalue(this.editcell.row,this.getcellvalue(this.editcell.row,h.datafield),l)}else{o=h.geteditorvalue(this.editcell.row,this.editcell.value,l)}}}return o},hidevalidationpopups:function(){if(this.popups){a.each(this.popups,function(){this.validation.remove();this.validationrow.remove()});this.popups=new Array()}if(this.validationpopup){this.validationpopuparrow.hide();this.validationpopup.hide()}},showvalidationpopup:function(f,j,h){if(h==undefined){var h=this.gridlocalization.validationstring}var g=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var r=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");g.html(h);r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));g.addClass(this.toThemeProperty("jqx-grid-validation"));g.addClass(this.toThemeProperty("jqx-rc-all"));g.prependTo(this.table);r.prependTo(this.table);var l=this.hScrollInstance;var n=l.value;var d=parseInt(n);var b=this.getcolumn(j).uielement;var p=null;for(var o=0;o<this.hittestinfo.length;o++){if(f===this.hittestinfo[o].row.visibleindex){p=this.hittestinfo[o]}}if(!p){this.ensurerowvisible(f);var s=this;g.remove();r.remove();setTimeout(function(){var v=null;for(var u=0;u<s.hittestinfo.length;u++){if(f===s.hittestinfo[u].row.visibleindex){v=s.hittestinfo[u]}}if(v){s.showvalidationpopup(f,j,h)}},25);return}var c=a(p.visualrow);g.css("top",parseInt(c.position().top)+30+"px");var k=parseInt(g.css("top"));r.css("top",k-12);r.removeClass();r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var q=false;if(k>=this._gettableheight()-this.rowsheight){r.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));k=parseInt(c.position().top)-this.rowsheight;if(k<0){k=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));q=true}g.css("top",k+"px");r.css("top",k+g.outerHeight()-9)}var t=-d+parseInt(a(b).position().left);if(b[0].offsetHeight===0){t=-d+parseInt(b[0].style.left)}r.css("left",d+t+30);var m=g.width();if(m+t>this.host.width()-20){var e=m+t-this.host.width()+40;t-=e}if(!q){g.css("left",d+t)}else{g.css("left",d+parseInt(a(b).position().left)-g.outerWidth())}g.show();r.show();if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:g,validationrow:r}},_showvalidationpopup:function(p,e,q){var c=this.editcell;var k=this.editcell.editor;if(this.editmode=="selectedrow"){var c=this.editcell[e];if(c&&c.editor){k=c.editor;c.element=k}}if(!k){return}if(this.validationpopup&&a.jqx.isHidden(this.validationpopup)){if(this.validationpopup.remove){this.validationpopup.remove();this.validationpopuparrow.remove()}this.validationpopup=null;this.validationpopuparrow=null;if(e===undefined&&q===undefined&&this.editors&&this.editors.length===0){return}}if(!this.validationpopup){var n=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var m=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");n.html(q);m.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));n.addClass(this.toThemeProperty("jqx-grid-validation"));n.addClass(this.toThemeProperty("jqx-rc-all"));n.prependTo(this.table);m.prependTo(this.table);this.validationpopup=n;this.validationpopuparrow=m}else{this.validationpopup.html(q)}var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){this.validationpopup.css("top",this.visiblerows[this.editcell.visiblerowindex].top+(this.rowsheight+5)+"px")}else{this.validationpopup.css("top",parseInt(a(c.editor).position().top)+(this.rowsheight+5)+"px")}}else{this.validationpopup.css("top",parseInt(a(c.element).parent().position().top)+(this.rowsheight+5)+"px")}var b=parseInt(this.validationpopup.css("top"));this.validationpopuparrow.css("top",b-11);this.validationpopuparrow.removeClass();this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var o=this._gettableheight();var f=false;if(b>=o){this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));b=parseInt(a(c.element).parent().position().top)-this.rowsheight-5;if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){b=this.visiblerows[this.editcell.visiblerowindex].top-this.rowsheight-5}else{b=parseInt(a(c.editor).position().top)-this.rowsheight-5}}if(b<0){b=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}this.validationpopup.css("top",b+"px");this.validationpopuparrow.css("top",b+this.validationpopup.outerHeight()-9)}var l=-g+parseInt(a(c.element).position().left);this.validationpopuparrow.css("left",g+l+30);var d=this.validationpopup.width();if(d+l>this.host.width()-20){var i=d+l-this.host.width()+40;l-=i}if(!f){this.validationpopup.css("left",g+l)}else{this.validationpopup.css("left",g+parseInt(a(c.element).position().left)-this.validationpopup.outerWidth())}if(this.editcell.editor.css("display")=="none"){this.validationpopup.hide();this.validationpopuparrow.hide()}else{this.validationpopup.show();this.validationpopuparrow.show()}}})})(jqxBaseFramework);
 
 (function(a){a.extend(a.jqx._jqxGrid.prototype,{autoresizecolumns:function(z,g){if(z!="cells"&&z!="all"&&z!="column"){z="all"}var A=this.that;var n=this.getrows();if(this.pageable){n=this.dataview.rows;if(this.groupable){n=this.dataview.records}}if(g==undefined){g=0}else{g=parseInt(g)}var e=n.length;if(e==undefined&&n!=undefined){var t=new Array();a.each(n,function(i){t.push(this)});n=t;e=n.length}var w=a("<span></span>");w.addClass(this.toThemeProperty("jqx-widget"));w.addClass(this.toThemeProperty("jqx-grid-cell"));a(document.body).append(w);var c=[];var f=[];var b=[];var q=[];var o=A.host.width();if(A.vScrollBar[0].style.visibility!="hidden"){o-=this.scrollbarsize+5}if(o<0){o=0}for(var x=0;x<e;x++){var k=n[x];for(var v=0;v<this.columns.records.length;v++){var d=this.columns.records[v];if(d.hidden){continue}if(this.groups.length>0&&v<=this.groups.length-1){continue}if(f[d.displayfield]==undefined){f[d.displayfield]=0}if(b[d.displayfield]==undefined){b[d.displayfield]=""}var r=k[d.displayfield];if(d.cellsformat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,d.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(r)){r=a.jqx.dataFormat.formatnumber(r,d.cellsformat,this.gridlocalization)}}}}else{if(d.cellsrenderer){var s=A._defaultcellsrenderer(r,d);var p=d.cellsrenderer(x,d.datafield,r,s,d.getcolumnproperties(),k);if(p!=undefined){r=a(p).text()}}}if(z==undefined||z=="cells"||z=="all"){if(r!=null){var c=r.toString().length;var u=r.toString();var B=u.replace(/[^A-Z]/g,"").length;if(c>f[d.displayfield]){f[d.displayfield]=c;b[d.displayfield]=r;q[d.displayfield]=B}if(c>0&&c>=B){var m=B*20+(c-B)*15;var l=q[d.displayfield]*20+(f[d.displayfield]-q[d.displayfield])*15;if(m>l&&m>0&&l>0){f[d.displayfield]=c;b[d.displayfield]=r;q[d.displayfield]=B}}}}if(z=="column"||z=="all"){if(d.text.toString().length>f[d.displayfield]){b[d.displayfield]=d.text;f[d.displayfield]=d.text.length;var u=d.text.toString();var B=u.replace(/[^A-Z]/g,"").length;q[d.displayfield]=B}var r=d.text;var c=r.toString().length;var u=r.toString();var B=u.replace(/[^A-Z]/g,"").length;if(c>0&&c>=B){var m=B*20+(c-B)*15;var l=q[d.displayfield]*20+(f[d.displayfield]-q[d.displayfield])*15;if(m>l&&m>0&&l>0){f[d.displayfield]=c;b[d.displayfield]=r;q[d.displayfield]=B}}}}}if(!this.columns.records){return}for(var v=0;v<this.columns.records.length;v++){var d=this.columns.records[v];if(!d.displayfield){continue}if(b[d.displayfield]==undefined){b[d.displayfield]=d.text}if(w[0].className.indexOf("jqx-grid-column-header")>=0){w.removeClass(this.toThemeProperty("jqx-grid-column-header"))}if(b[d.displayfield]==d.text){w.addClass(this.toThemeProperty("jqx-grid-column-header"))}w[0].innerHTML=b[d.displayfield].toString();var y=w.outerWidth()+10;if(w.children().length>0){y=w.children().outerWidth()+10}if(a.jqx.browser.msie&&a.jqx.browser.version<8){y+=10}if(this.filterable&&this.showfilterrow){y+=5}y+=g;if(y>d.maxwidth){y=d.maxwidth}if(d._width!=undefined){d.__width=d._width}d._width=null;if(d.maxwidth=="auto"||y<=d.maxwidth){var h=d.width;if(y<d.minwidth){y=d.minwidth}d.width=y;if(d._percentagewidth!=undefined){d._percentagewidth=null}this._raiseEvent(14,{columntext:d.text,column:d.getcolumnproperties(),datafield:d.datafield,displayfield:d.displayfield,oldwidth:h,newwidth:y})}}w.remove();this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);for(var v=0;v<this.columns.records.length;v++){var d=this.columns.records[v];if(d.__width!=undefined){d._width=d.__width}}},autoresizecolumn:function(p,v,g){if(v!="cells"&&v!="all"&&v!="column"){v="all"}if(p==undefined){return false}var l=this.getrows();if(this.pageable){l=this.dataview.rows;if(this.groupable){l=this.dataview.records}}var d=this.getcolumn(p);if(d==undefined){return false}if(g==undefined){g=0}else{g=parseInt(g)}var e=l.length;var s=a("<span></span>");s.addClass(this.toThemeProperty("jqx-widget"));s.addClass(this.toThemeProperty("jqx-grid-cell"));a(document.body).append(s);var f=0;var b="";var o=0;var w=this.that;var m=w.host.width();if(w.vScrollBar[0].style.visibility!="hidden"){m-=this.scrollbarsize+5}if(m<0){m=0}if(v==undefined||v=="cells"||v=="all"){for(var t=0;t<e;t++){var q=l[t][d.displayfield];if(d.cellsformat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(q)){q=a.jqx.dataFormat.formatdate(q,d.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(q)){q=a.jqx.dataFormat.formatnumber(q,d.cellsformat,this.gridlocalization)}}}}else{if(d.cellsrenderer){var n=d.cellsrenderer(t,d,q);if(n!=undefined){q=a(n).text()}}}if(q!=null){var c=q.toString().length;var r=q.toString();var x=r.replace(/[^A-Z]/g,"").length;if(c>f){f=c;b=q;o=x}if(c>0&&c>=x){var k=x*20+(c-x)*15;var j=o*20+(f-o)*15;if(k>j&&k>0&&j>0){f=c;b=q;o=x}}}}}if(v=="column"||v=="all"){if(d.text.toString().length>f){b=d.text}var q=d.text.toString();var c=q.toString().length;var r=q.toString();var x=r.replace(/[^A-Z]/g,"").length;if(c>0&&c>=x){var k=x*20+(c-x)*15;var j=o*20+(f-o)*15;if(k>j&&k>0&&j>0){f=c;b=q;o=x}}}if(b==undefined){b=d.text}s[0].innerHTML=b;if(b==d.text){s.addClass(this.toThemeProperty("jqx-grid-column-header"))}var u=s.outerWidth()+10;if(a.jqx.browser.msie&&a.jqx.browser.version<8){u+=5}if(this.filterable&&this.showfilterrow){u+=5}u+=g;s.remove();if(u>d.maxwidth){u=d.maxwidth}if(d.maxwidth=="auto"||u<=d.maxwidth){var h=d.width;if(u<d.minwidth){u=d.minwidth}d.width=u;if(d._width!=undefined){d.__width=d._width}d._width=null;if(d._percentagewidth!=undefined){d._percentagewidth=null}this._updatecolumnwidths();this._updatecellwidths();this._raiseEvent(14,{columntext:d.text,column:d.getcolumnproperties(),datafield:p,displayfield:d.displayfield,oldwidth:h,newwidth:u});this._renderrows(this.virtualsizeinfo);if(d._width!=undefined){d._width=d.__width}}},_handlecolumnsresize:function(){var j=this.that;if(this.columnsresize){var i=false;if(j.isTouchDevice()&&j.touchmode!==true){i=true}var f="mousemove.resize"+this.element.id;var c="mousedown.resize"+this.element.id;var d="mouseup.resize"+this.element.id;if(i){var f=a.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var c=a.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var d=a.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(m){var n=a.data(document.body,"contextmenu"+j.element.id);if(n!=null&&j.autoshowcolumnsmenubutton){return true}if(j.resizablecolumn!=null&&!j.disabled&&j.resizing){if(j.resizeline!=null){var s=j.resizablecolumn.columnelement;var p=j.host.coord();var v=parseInt(j.resizestartline.coord().left);var k=v-j._startcolumnwidth;var w=j.resizablecolumn.column.minwidth;if(w=="auto"){w=0}else{w=parseInt(w)}var l=j.resizablecolumn.column.maxwidth;if(l=="auto"){l=0}else{l=parseInt(l)}var q=m.pageX;if(i){var t=j.getTouches(m);var r=t[0];q=r.pageX}k+=w;var u=l>0?v+l:0;var o=l==0?true:j._startcolumnwidth+q-v<l?true:false;if(j.rtl){var o=true}if(o){if(!j.rtl){if(q>=p.left&&q>=k){if(u!=0&&m.pageX<u){j.resizeline.css("left",q)}else{if(u==0){j.resizeline.css("left",q)}}if(i){return false}}}else{if(q>=p.left&&q<=p.left+j.host.width()){j.resizeline.css("left",q);if(i){return false}}}}}}if(!i&&j.resizablecolumn!=null){return false}});this.removeHandler(a(document),c);this.addHandler(a(document),c,function(p){var o=a.data(document.body,"contextmenu"+j.element.id);if(o!=null&&j.autoshowcolumnsmenubutton){return true}if(j.resizablecolumn!=null&&!j.disabled){var k=j.resizablecolumn.columnelement;if(k.coord().top+k.height()+5<p.pageY){j.resizablecolumn=null;return}if(k.coord().top-5>p.pageY){j.resizablecolumn=null;return}j._startcolumnwidth=j.resizablecolumn.column.width;j.resizablecolumn.column._width=null;a(document.body).addClass("jqx-disableselect");a(document.body).addClass("jqx-position-reset");j.host.addClass("jqx-disableselect");j.content.addClass("jqx-disableselect");j._mouseDownResize=new Date();j.resizing=true;if(j._lastmouseDownResize&&j.columnsautoresize){if(j._lastmouseDownResize-j._mouseDownResize<300&&j._lastmouseDownResize-j._mouseDownResize>-500){var n=j.resizablecolumn.column;if(n.resizable){var m=j.resizablecolumn.column.width;var l=j.hScrollBar[0].style.visibility;j._resizecolumn=null;j.resizeline.hide();j.resizestartline.hide();j.resizebackground.remove();j.resizablecolumn=null;j.columndragstarted=false;j.dragmousedown=null;j.__drag=false;j.autoresizecolumn(n.displayfield,"all");if(l!=j.hScrollBar[0].style.visibility){j.hScrollInstance.setPosition(0)}if(j.rtl){j._arrange()}if(j.autosavestate){if(j.savestate){j.savestate()}}p.stopPropagation();j.suspendClick=true;setTimeout(function(){j.suspendClick=false},100);return false}}}j._lastmouseDownResize=new Date();j._resizecolumn=j.resizablecolumn.column;j.resizeline=j.resizeline||a('<div style="position: absolute;"></div>');j.resizestartline=j.resizestartline||a('<div style="position: absolute;"></div>');j.resizebackground=j.resizebackground||a('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>');j.resizebackground.css("opacity",0.01);j.resizebackground.css("cursor","col-resize");j.resizeline.css("cursor","col-resize");j.resizestartline.css("cursor","col-resize");j.resizeline.addClass(j.toThemeProperty("jqx-grid-column-resizeline"));j.resizestartline.addClass(j.toThemeProperty("jqx-grid-column-resizestartline"));a(document.body).append(j.resizeline);a(document.body).append(j.resizestartline);a(document.body).append(j.resizebackground);var q=j.resizablecolumn.columnelement.coord();j.resizebackground.css("left",j.host.coord().left);j.resizebackground.css("top",j.host.coord().top);j.resizebackground.width(j.host.width());j.resizebackground.height(j.host.height());j.resizebackground.css("z-index",9999);var r=function(t){if(!j.rtl){t.css("left",parseInt(q.left)+j._startcolumnwidth)}else{t.css("left",parseInt(q.left))}var w=j._groupsheader();var v=w?j.groupsheader.height():0;var y=j.showtoolbar?j.toolbarheight:0;v+=y;var s=j.showstatusbar?j.statusbarheight:0;v+=s;var u=0;if(j.pageable){u=j.pagerheight}var x=j.hScrollBar.css("visibility")=="visible"?17:0;t.css("top",parseInt(q.top));t.css("z-index",99999);if(j.columngroups){t.height(j.host.height()+j.resizablecolumn.columnelement.height()-u-v-x-j.columngroupslevel*j.columnsheight)}else{t.height(j.host.height()-u-v-x)}if(j.enableanimations){t.show("fast")}else{t.show()}};r(j.resizeline);r(j.resizestartline);j.dragmousedown=null}});var e=function(){a(document.body).removeClass("jqx-disableselect");a(document.body).removeClass("jqx-position-reset");if(j.showfilterrow||j.showstatusbar||j.showtoolbar||j.enablebrowserselection){j.host.removeClass("jqx-disableselect");j.content.removeClass("jqx-disableselect")}if(!j.resizing){return}j._mouseUpResize=new Date();var r=j._mouseUpResize-j._mouseDownResize;if(r<200){j.resizing=false;if(j._resizecolumn!=null&&j.resizeline!=null&&j.resizeline.css("display")=="block"){j._resizecolumn=null;j.resizeline.hide();j.resizestartline.hide();j.resizebackground.remove()}return}j.resizing=false;if(j.disabled){return}var p=j.host.width();if(j.vScrollBar[0].style.visibility!="hidden"){p-=20}if(p<0){p=0}if(j._resizecolumn!=null&&j.resizeline!=null&&j.resizeline.css("display")=="block"){var s=parseInt(j.resizeline.css("left"));var o=parseInt(j.resizestartline.css("left"));var l=j._startcolumnwidth+s-o;if(j.rtl){var l=j._startcolumnwidth-s+o}var q=j._resizecolumn.width;j._closemenu();if(l<j._resizecolumn.minwidth){l=j._resizecolumn.minwidth}j._resizecolumn.width=l;if(j._resizecolumn._percentagewidth!=undefined){j._resizecolumn._percentagewidth=(l/p)*100}for(var k=0;k<j._columns.length;k++){if(j._columns[k].datafield===j._resizecolumn.datafield){j._columns[k].width=j._resizecolumn.width;if(j._columns[k].width<j._resizecolumn.minwidth){j._columns[k].width=j._resizecolumn.minwidth}break}}var n=j.hScrollBar[0].style.visibility;j._updatecolumnwidths();j._updatecellwidths();j._raiseEvent(14,{columntext:j._resizecolumn.text,column:j._resizecolumn.getcolumnproperties(),datafield:j._resizecolumn.datafield,oldwidth:q,newwidth:l});j._renderrows(j.virtualsizeinfo);if(j.autosavestate){if(j.savestate){j.savestate()}}if(n!=j.hScrollBar[0].style.visibility){j.hScrollInstance.setPosition(0)}if(j.rtl){j._arrange()}j._resizecolumn=null;j.resizeline.hide();j.resizestartline.hide();j.resizebackground.remove();j.resizablecolumn=null}else{j.resizablecolumn=null}};try{if(document.referrer!=""||window.frameElement){var b=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){b=document.referrer}}if(b&&b.indexOf(document.location.host)!=-1){var g=function(k){e()};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}catch(h){}this.removeHandler(a(document),d);this.addHandler(a(document),d,function(l){var k=a.data(document.body,"contextmenu"+j.element.id);if(k!=null&&j.autoshowcolumnsmenubutton){return true}e()})}}})})(jqxBaseFramework);
 
 (function(a){a.extend(a.jqx._jqxGrid.prototype,{getcolumnindex:function(b){var c=this.getcolumn(b);var d=this.columns.records.indexOf(c);return d},setcolumnindex:function(d,h,i){var g=this.getcolumn(d);if(g.pinned){return}if(g.hidden){return}if(g.checkboxcolumn){return}if(g.grouped){return}var k=this.columns.records.indexOf(g);this.columns.records.splice(k,1);this.columns.records.splice(h,0,g);var e=0;var m=this.headerZIndex;this.columnsrow.children().detach();var j=this.toThemeProperty("jqx-grid-cell");j+=" "+this.toThemeProperty("jqx-grid-cell-pinned");if(this.filterrow){a(this.filterrow.children()[0]).children().detach();this.filterrow[0].cells=[]}var l=this;var b=null;if(l.filterrow!=undefined){var b=a(l.filterrow.children()[0])}this.columnsrow[0].cells=[];var f=false;a.each(this.columns.records,function(n,q){var o=this.uielement;l.columnsrow.append(o);if(!l.rtl){o.css("z-index",m--)}else{o.css("z-index",m++)}var p=this.width;o.css("left",e);l.columnsrow[0].cells[l.columnsrow[0].cells.length]=o[0];if(l.filterrow){var r=a('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+j+'"></div>');b.append(r);r.css("left",e);r.css("z-index",m+1);r.width(this.width);r[0].left=e;r.append(this._filterwidget);l.filterrow[0].cells[l.filterrow[0].cells.length]=r[0]}if(this.hidden){f=true}if(!(this.hidden&&this.hideable)){e+=p}});if(this.groupable){var c=this.groups.length;if(c>0){if(k-c>=0){k-=c;h-=c}}}if(this.rowdetails){if(k-1>=0){k--;h--}}if(this.selectionmode=="checkbox"){if(k-1>=0){k--;h--}}var g=this._columns[k];this._columns.splice(k,1);this._columns.splice(h,0,g);this._raiseEvent(24,{columntext:g.text,datafield:g.datafield,oldindex:k,newindex:h});if(i==false){return}if(f||g.columntype=="checkbox"){this.prerenderrequired=true;this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths()}else{this._updatecolumnwidths();this._updatecellwidths()}if(this._updatefilterrowui&&this.filterable&&this.showfilterrow){this._updatefilterrowui()}if(this.showeverpresentrow){this._updateaddnewrowui()}this._rendercolumngroups();this._renderrows(this.virtualsizeinfo)},_pinnedColumnsLength:function(){var b=0;a.each(this.columns.records,function(){if(this.pinned){b++}if(this.grouped){b++}});if(this.selectionmode=="checkbox"){b++}return b},_handlecolumnsreorder:function(){var d=this;var g=-1;var c=false;if(!d.columnsreorder){return}var f="mousemove.reorder"+this.element.id;var e="mousedown.reorder"+this.element.id;var h="mouseup.reorder"+this.element.id;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;f=a.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;h=a.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(j){if(d.resizing){return true}if(d.reordercolumn!=null){var k=parseInt(j.pageX);var r=parseInt(j.pageY);if(b){var o=d.getTouches(j);var n=o[0];if(n!=undefined){k=parseInt(n.pageX);r=parseInt(n.pageY)}}var m=d.host.coord();var s=parseInt(m.left);var t=parseInt(m.top);if(d.dragmousedownoffset==undefined||d.dragmousedownoffset==null){d.dragmousedownoffset={left:0,top:0}}var q=parseInt(k)-parseInt(d.dragmousedownoffset.left);var i=parseInt(r)-parseInt(d.dragmousedownoffset.top);d.reordercolumn.css({left:q+"px",top:i+"px"});c=false;if(k>=s&&k<=s+d.host.width()){if(r>=t&&r<=t+d.host.height()){c=true}}g=-1;if(c){d.reordercolumnicon.removeClass(d.toThemeProperty("jqx-grid-dragcancel-icon"));d.reordercolumnicon.addClass(d.toThemeProperty("jqx-grid-drag-icon"));var p=d.columnsheader.coord();var l=p.top+d.columnsheader.height();if(d.columnsdropline!=null){if(r>=p.top&&r<=l){g=d._handlereordercolumnsdroplines(k)}else{d.columnsdropline.fadeOut("slow")}}}else{if(d.columnsdropline!=null){d.columnsdropline.fadeOut("slow")}d.reordercolumnicon.removeClass(d.toThemeProperty("jqx-grid-drag-icon"));d.reordercolumnicon.addClass(d.toThemeProperty("jqx-grid-dragcancel-icon"))}if(b){j.preventDefault();j.stopPropagation();return false}}});this.columnsbounds=new Array();this.removeHandler(a(document),e);this.addHandler(a(document),e,function(j){if(d.resizing){return true}d.columnsbounds=new Array();var l=d.host.coord().left;var k=d.host.coord().top;if(d.showtoolbar){k+=d.toolbarheight}if(d.groupable&&d.showgroupsheader){k+=d.groupsheaderheight}var i=0;a.each(d.columns.records,function(n){var o=this;if(o.hidden){d.columnsbounds[d.columnsbounds.length]={top:k,column:o,left:l,width:0,height:2+d.rowsheight};return true}if(i==0){if(!d.rtl){l=parseInt(d.host.coord().left)-d.hScrollInstance.value}else{if(d.hScrollBar.css("visibility")!="hidden"){l=parseInt(d.host.coord().left)-d.hScrollInstance.max+d.hScrollInstance.value}else{if(d.vScrollBar.css("visibility")=="hidden"){l=a(o.element).coord().left}else{l=a(o.element).coord().left-d.vScrollBar.width()-d.host.offset().left}}}}i++;var m=2+d.columnsheight;if(d.columnshierarchy){k=a(o.uielement).coord().top;m=a(o.uielement).height()}d.columnsbounds[d.columnsbounds.length]={top:k,column:o,left:l,width:o.width,height:m};l+=o.width})});this.removeHandler(a(document),h);this.addHandler(a(document),h,function(i){if(d.resizing){return true}d.__drag=false;a(document.body).removeClass("jqx-disableselect");var l=parseInt(i.pageX);var t=parseInt(i.pageY);if(b){var o=d.getTouches(i);var n=o[0];l=parseInt(n.pageX);t=parseInt(n.pageY)}var m=d.host.coord();var v=parseInt(m.left);var w=parseInt(m.top);var j=d.groupsheader.height();if(d.showtoolbar){w+=d.toolbarheight}d.columndragstarted=false;d.dragmousedown=null;if(d.reordercolumn!=null){var k=a.data(d.reordercolumn[0],"reorderrecord");var x=d.columns.records.indexOf(d.getcolumn(k));d.reordercolumn.remove();d.reordercolumn=null;var p=0;p+=d._pinnedColumnsLength();if(k!=null){if(c){if(g!=-1){var q=g.index;if(q>=p){var s=d.columns.records[q];if(s!=undefined){var u=d.columns.records.indexOf(d.getcolumn(s.datafield));if(s.datafield==null){var u=d.columns.records.indexOf(d.getcolumnbytext(s.text))}if(d.columngroups){var r=s;if(x<u){if(g.position=="before"){r=d.columns.records[u-1]}}if(r.columngroup!=d.getcolumn(k).columngroup){if(d.columnsdropline!=null){d.columnsdropline.remove();d.columnsdropline=null}return}}if(x<u){if(g.position=="before"){d.setcolumnindex(k,u-1)}else{d.setcolumnindex(k,u)}}else{if(x>u){d.setcolumnindex(k,u)}}if(d.autosavestate){if(d.savestate){d.savestate()}}}}}}if(d.columnsdropline!=null){d.columnsdropline.remove();d.columnsdropline=null}}}})},getcolumnbytext:function(c){var b=null;if(this.columns.records){a.each(this.columns.records,function(){if(this.text==c){b=this;return false}})}return b},_handlereordercolumnsdroplines:function(h){var b=this;var g=-1;var d=b._pinnedColumnsLength();var f=parseInt(b.host.coord().left);var c=f+b.host.width();var e=b.vScrollBar.css("visibility")!="hidden"?19:0;if(!b.rtl){e=0}a.each(b.columnsbounds,function(i){if(i>=d){if(this.width==0){return true}if(h<=this.left+this.width/2){if(h>c){b.columnsdropline.fadeOut();return false}b.columnsdropline.css("left",e+parseInt(this.left)+"px");b.columnsdropline.css("top",parseInt(this.top)+"px");b.columnsdropline.height(this.height);b.columnsdropline.fadeIn("slow");g={index:i,position:"before"};return false}else{if(h>=this.left+this.width/2){if(this.left+this.width>c){b.columnsdropline.fadeOut();return false}b.columnsdropline.css("left",e+1+this.left+this.width);b.columnsdropline.css("top",this.top);b.columnsdropline.height(this.height);b.columnsdropline.fadeIn("slow");g={index:i,position:"after"}}}}});return g},_createreordercolumn:function(c,e,h){var g=this;var f=e;if(g.reordercolumn){g.reordercolumn.remove()}if(g.columnsdropline){g.columnsdropline.remove()}g.reordercolumn=a("<div></div>");var j=c.clone();g.reordercolumn.css("z-index",999999);j.css("border-width","1px");j.css("opacity","0.4");var i=a(j.find("."+g.toThemeProperty("jqx-grid-column-menubutton")));if(i.length>0){i.css("display","none")}var b=a(j.find(".jqx-icon-close"));if(b.length>0){b.css("display","none")}g.reordercolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-drag-icon"));g.reordercolumn.css("float","left");g.reordercolumn.css("position","absolute");var d=g.host.coord();j.width(c.width()+16);g.reordercolumn.append(j);g.reordercolumn.height(c.height());g.reordercolumn.width(j.width());g.reordercolumn.append(g.reordercolumnicon);a(document.body).append(g.reordercolumn);j.css("margin-left",0);j.css("left",0);j.css("top",0);g.reordercolumn.css("left",f.left+g.dragmousedown.left);g.reordercolumn.css("top",f.top+g.dragmousedown.top);if(h!=undefined&&h){g.columnsdropline=a('<div style="z-index: 9999; display: none; position: absolute;"></div>');g.columnsdropline.width(2);g.columnsdropline.addClass(g.toThemeProperty("jqx-grid-group-drag-line"));a(document.body).append(g.columnsdropline)}},_handlecolumnsdragreorder:function(c,f){if(this.reordercolumn){this.reordercolumn.remove()}if(this.columnsdropline){this.columnsdropline.remove()}this.dragmousedown=null;this.dragmousedownoffset=null;this.columndragstarted=false;this.reordercolumn=null;var g=this;var e;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true}var d="mousedown.drag";var e="mousemove.drag";if(b){d=a.jqx.mobile.getTouchEventName("touchstart")+".drag";e=a.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(f,"dragstart",function(h){return false})}this.addHandler(f,d,function(j){if(false==c.draggable){return true}if(g.resizing){return true}g.__drag=true;var i=j.pageX;var h=j.pageY;if(b){var k=g.getTouches(j);var m=k[0];i=m.pageX;h=m.pageY}g.dragmousedown={left:i,top:h};var l=a(j.target).coord();g.dragmousedownoffset={left:parseInt(i)-parseInt(l.left),top:parseInt(h-l.top)};return true});this.addHandler(f,e,function(j){if(!c.draggable){return true}if(undefined==c.datafield){return true}if(c.pinned){return true}if(g.resizing){return true}if(g.dragmousedown){var i=j.pageX;var h=j.pageY;if(b){var l=g.getTouches(j);var n=l[0];if(n!=undefined){i=n.pageX;h=n.pageY}}e={left:i,top:h};if(!g.columndragstarted&&g.reordercolumn==null){var k=Math.abs(e.left-g.dragmousedown.left);var m=Math.abs(e.top-g.dragmousedown.top);if(k>3||m>3){g._createreordercolumn(f,e,true);a(document.body).addClass("jqx-disableselect");a.data(g.reordercolumn[0],"reorderrecord",c.datafield)}}}})}})})(jqxBaseFramework);
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{selectallrows:function(){this._trigger=false;var d=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();var e=this.dataview.loadedrecords;for(var c=0;c<d;c++){var f=e[c];if(!f){this.selectedrowindexes[c]=c;continue}var b=this.getboundindex(f);if(b!=undefined){this.selectedrowindexes[c]=b}}if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},unselectallrows:function(){this._trigger=false;var b=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},selectrow:function(b,c){if(this.selectionmode!=="none"){this._applyrowselection(b,true,c);if(c!==false){this._updatecheckboxselection()}}},_updatecheckboxselection:function(){if(this.selectionmode=="checkbox"){var d=this.getrows();if(d&&this._checkboxcolumn){if(d.length===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false});return}var c=d.length;if(this.groupable){c=this.dataview.loadedrecords.length}if(this.virtualmode){c=this.source._source.totalrecords}var b=this.selectedrowindexes.length;if(b===c){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}else{if(b===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}else{this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:null})}}}}},unselectrow:function(b,c){this._applyrowselection(b,false,c);if(c!==false){this._updatecheckboxselection()}},selectcell:function(c,b){this._applycellselection(c,b,true)},unselectcell:function(c,b){this._applycellselection(c,b,false)},clearselection:function(c,d){this._trigger=false;this.selectedrowindex=-1;this._oldselectedcell=null;if(d!==false){for(var b=0;b<this.selectedrowindexes.length;b++){this._raiseEvent(3,{rowindex:this.selectedrowindexes[b]})}}this.selectedrowindexes=new Array();this.selectedcells=new Array();this.selectedcell=null;if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}for(var b=0;b<this.columns.records.length;b++){this.columns.records[b].selected=false;this.columns.records[b]._applyStyle()}if(false===c){this._trigger=true;return}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(3,{rowindex:this.selectedrowindexes})}},getselectedrowindex:function(){if(this.selectedrowindex==-1||this.selectedrowindex==undefined){for(var b=0;b<this.selectedrowindexes.length;b++){return this.selectedrowindexes[b]}}return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){if(!this.selectedcell){return null}var b=this.selectedcell;b.row=this.selectedcell.rowindex;b.column=this.selectedcell.datafield;b.value=this.getcellvalue(b.row,b.column);return b},getselectedcells:function(){var b=new Array();for(var c in this.selectedcells){b[b.length]=this.selectedcells[c]}return b},_getcellsforcopypaste:function(){var e=new Array();if(this.selectionmode.indexOf("cell")==-1){var h=this.selectedrowindexes;for(var d=0;d<h.length;d++){var c=h[d];for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield==="_checkboxcolumn"){continue}var g=c+"_"+this.columns.records[f].datafield;var b={rowindex:c,datafield:this.columns.records[f].datafield};e.push(b)}}}return e},deleteselection:function(){var d=this;var f=d.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){f=this._getcellsforcopypaste()}if(f!=null&&f.length>0){for(var e=0;e<f.length;e++){var b=f[e];var g=d.getcolumn(b.datafield);var h=d.getcellvalue(b.rowindex,b.datafield);if(!g){continue}if(h!==""){var c=null;if(g.columntype=="checkbox"){if(!g.threestatecheckbox){c=false}}d._raiseEvent(17,{rowindex:b.rowindex,datafield:b.datafield,value:h});if(e==f.length-1){d.setcellvalue(b.rowindex,b.datafield,c,true);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}else{d.setcellvalue(b.rowindex,b.datafield,c,false);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}d._raiseEvent(18,{rowindex:b.rowindex,datafield:b.datafield,oldvalue:h,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},copyselection:function(){var n="";var s=this;this.clipboardselection={};this.logicalclipboardselection={};this._clipboardselection=[];var r=s.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){r=this._getcellsforcopypaste()}var b=0;var e=new Array();if(r!=null&&r.length>0){var t=999999999999999;var q=-1;for(var j=0;j<r.length;j++){var l=r[j];var d=s.getcolumn(l.datafield);if(d!=null&&d.clipboard&&(!d.hidden||this.copytoclipboardhiddencolumns)){if(e.indexOf(d.text)==-1){e.push(d.text)}var p=s.getcelltext(l.rowindex,d.displayfield);var h=this.getrowdisplayindex(l.rowindex);if(!this.clipboardselection[h]){this.clipboardselection[h]={}}this.clipboardselection[h][d.displayfield]=p;if(!this.logicalclipboardselection[h]){this.logicalclipboardselection[h]={}}this.logicalclipboardselection[h][d.displayfield]=p;if(d.displayfield!=d.datafield){this.logicalclipboardselection[h][d.datafield]=s.getcellvalue(l.rowindex,d.datafield)}t=Math.min(t,h);q=Math.max(q,h)}}var g=new Array();for(var f=t;f<=q;f++){if(!this.logicalclipboardselection[f]){continue}var o=a.extend({},this.logicalclipboardselection[f]);g.push(o)}this.logicalclipboardselection=g;if(this.copytoclipboardwithheaders){for(var c=0;c<e.length;c++){if(c>0){n+="\t"}n+=e[c]}n+="\r\n"}for(var f=t;f<=q;f++){var k=0;this._clipboardselection[this._clipboardselection.length]=new Array();if(this.clipboardselection[f]!=undefined){a.each(this.clipboardselection[f],function(i,m){if(k>0){n+="\t"}var u=m;if(m==null){u=""}s._clipboardselection[s._clipboardselection.length-1][k]=u;k++;n+=u})}else{continue}if(f<q){n+="\r\n"}}}this.clipboardselectedtext=n;return n},pasteselection:function(){var g=this.getselectedcells();this._oldselectedcell=null;if(this.selectionmode.indexOf("cell")==-1){g=this._getcellsforcopypaste()}if(g!=null&&g.length>0){var h=g[0].rowindex;var w=this.getrowdisplayindex(h);var q=g[0].datafield;var u=this._getcolumnindex(q);var o=0;this.selectedrowindexes=new Array();this.selectedcells=new Array();var k=g.length;var B=0;var d=new Array();if(this.copytoclipboardwithheaders){this._clipboardselection.splice(0,1)}for(var z=0;z<this._clipboardselection.length;z++){B+=this._clipboardselection[z].length;d[z]=new Array();for(var y=0;y<this._clipboardselection[z].length;y++){var r=this._clipboardselection[z][y];d[z].push(r)}}if(B<g.length){var n=new Array();for(var z=0;z<g.length;z++){var e=g[z];if(!n[e.rowindex]){n[e.rowindex]=new Array()}n[e.rowindex].push(e)}var A=0;var D=0;for(var z=0;z<n.length;z++){if(!n[z]){continue}for(var y=0;y<n[z].length;y++){var e=n[z][y];var m=e.rowindex;var f=this.getcolumn(e.datafield);if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var r="";if(undefined==d[A][D]){D=0}r=d[A][D];D++;if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){if(this.logicalclipboardselection[m]){var v=this.logicalclipboardselection[m][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}A++;D=0;if(!d[A]){A=0}}}else{if(!this._clipboardselection){return}for(var l=0;l<this._clipboardselection.length;l++){for(var C=0;C<this._clipboardselection[l].length;C++){var f=this.getcolumnat(u+C);if(!f){continue}if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var m=this.getrowboundindex(w+l);var e=this.getcell(m,f.datafield);var r=null;r=this._clipboardselection[l][C];if(r!=null){if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){var v=this.logicalclipboardselection[l][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}}}}if(this.selectionmode=="checkbox"){this._updatecheckboxselection()}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}if(this.clipboardend){this.clipboardend("paste")}},_applyrowselection:function(e,i,f,h,b){if(e==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlerow"){if(i){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}else{this._raiseEvent(3,{rowindex:e,row:this.getrowdata(e)})}this._raiseEvent(3,{rowindex:j});this.selectedrowindexes=new Array();this.selectedcells=new Array()}if(h==true){this.selectedrowindexes=new Array()}if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex}else{if(c&&c.dataindex===undefined){if(c.uid!=undefined){e=this.getrowboundindexbyid(c.uid)}}}}var d=this.selectedrowindexes.indexOf(e);if(i){this.selectedrowindex=e;if(d==-1){this.selectedrowindexes.push(e);if(this.selectionmode!="singlerow"){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}}else{if(this.selectionmode=="multiplerows"){this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(e)});this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1}}}else{if(d>=0||this.selectionmode=="singlerow"||this.selectionmode=="multiplerowsextended"||this.selectionmode=="multiplerowsadvanced"){var g=this.selectedrowindexes[d];this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:g,row:this.getrowdata(e)});this.selectedrowindex=-1}}if(f==undefined||f){this._rendervisualrows()}return true},_applycellselection:function(e,b,h,f){if(e==null){return false}if(b==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlecell"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}this.selectedcells=new Array()}if(this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}}var g=e+"_"+b;if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex;var g=e+"_"+b}else{if(c&&c.dataindex===undefined){if(c.uid){e=this.getrowboundindexbyid(c.uid);var g=e+"_"+b}}}}var i={rowindex:e,datafield:b};if(h){this.selectedcell=i;if(!this.selectedcells[g]){this.selectedcells[g]=i;this.selectedcells.length++;this._raiseEvent(15,i)}else{if(this.selectionmode=="multiplecells"||this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}}}else{delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}if(f==undefined||f){this._rendervisualrows()}return true},_getcellindex:function(b){var c=-1;a.each(this.selectedcells,function(){c++;if(this[b]){return false}});return c},_clearhoverstyle:function(){if(undefined==this.hoveredrow||this.hoveredrow==-1){return}if(this.vScrollInstance.isScrolling()){return}if(this.hScrollInstance.isScrolling()){return}var c=this.table.find(".jqx-grid-cell-hover");if(c.length>0){c.removeClass(this.toTP("jqx-grid-cell-hover"));c.removeClass(this.toTP("jqx-fill-state-hover"))}for(var d=0;d<c.length;d++){var e=c[d].getAttribute("columnindex");if(e){var b=this.columns.records[parseInt(e)];if(b){b._applyCellStyle(c[d])}}}this.hoveredrow=-1},_clearselectstyle:function(){var m=this.table[0].rows.length;var r=this.table[0].rows;var n=this.toTP("jqx-grid-cell-selected");var c=this.toTP("jqx-fill-state-pressed");var o=this.toTP("jqx-grid-cell-hover");var l=this.toTP("jqx-fill-state-hover");for(var k=0;k<m;k++){var b=r[k];var h=b.cells.length;var q=b.cells;for(var g=0;g<h;g++){var e=q[g];var p=a(e);if(e.className.indexOf("jqx-grid-cell-selected")!=-1){p.removeClass(n);p.removeClass(c)}if(e.className.indexOf("jqx-grid-cell-hover")!=-1){p.removeClass(o);p.removeClass(l)}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}}},_selectpath:function(n,e){var l=this;var i=this._lastClickedCell?Math.min(this._lastClickedCell.row,n):0;var k=this._lastClickedCell?Math.max(this._lastClickedCell.row,n):0;if(i<=k){var h=this._getcolumnindex(this._lastClickedCell.column);var g=this._getcolumnindex(e);var f=Math.min(h,g);var d=Math.max(h,g);this.selectedcells=new Array();var m=this.dataview.loadedrecords;for(var b=i;b<=k;b++){for(var j=f;j<=d;j++){var n=m[b];this._applycellselection(l.getboundindex(n),l._getcolumnat(j).datafield,true,false)}}this._rendervisualrows()}},_selectrowpath:function(g){if(this.selectionmode=="multiplerowsextended"){var c=this;var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,g):0;var h=this._lastClickedCell?Math.max(this._lastClickedCell.row,g):0;var f=this.dataview.loadedrecords;if(b<=h){this.selectedrowindexes=new Array();for(var e=b;e<=h;e++){var g=f[e];var d=this.getrowboundindex(e);this._applyrowselection(d,true,false)}this._rendervisualrows()}}},_selectrowwithmouse:function(q,b,c,f,d,t){var k=b.row;if(k==undefined){return}var l=b.index;if(this.hittestinfo[l]==undefined){return}for(var x=0;x<this.columns.records.length;x++){var w=this.columns.records[x];w.selected=false;if(w.element){w.element.removeAttribute("selected")}w._applyStyle()}var u=this.hittestinfo[l].visualrow;if(this.hittestinfo[l].details){return}var n=u.cells[0].className;if(k.group){return}if(this.selectionmode=="multiplerows"||this.selectionmode=="multiplecells"||this.selectionmode=="checkbox"||(this.selectionmode.indexOf("multiple")!=-1&&(t==true||d==true))){var m=this.getboundindex(k);if(this.dataview.filters.length>0){var y=this.getrowdata(m);if(y){m=y.dataindex;if(m==undefined){var m=this.getboundindex(k)}}}var s=c.indexOf(m)!=-1;var z=this.getboundindex(k)+"_"+f;if(this.selectionmode.indexOf("cell")!=-1){var h=this.selectedcells[z]!=undefined;if(this.selectedcells[z]!=undefined&&h){this._selectcellwithstyle(q,false,l,f,u)}else{this._selectcellwithstyle(q,true,l,f,u)}if(t&&this._lastClickedCell==undefined){var g=this.getselectedcells();if(g&&g.length>0){this._lastClickedCell={row:g[0].rowindex,column:g[0].datafield}}}if(t&&this._lastClickedCell){this._selectpath(k.visibleindex,f);this.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden")}}}else{if(s){if(d){this._applyrowselection(this.getboundindex(k),false)}else{this._selectrowwithstyle(q,u,false,f)}}else{this._selectrowwithstyle(q,u,true,f)}if(t&&this._lastClickedCell==undefined){var j=this.getselectedrowindexes();if(j&&j.length>0){this._lastClickedCell={row:j[0],column:f}}}if(t&&this._lastClickedCell){this.selectedrowindexes=new Array();var e=this._lastClickedCell?Math.min(this._lastClickedCell.row,k.visibleindex):0;var v=this._lastClickedCell?Math.max(this._lastClickedCell.row,k.visibleindex):0;var o=this.dataview.loadedrecords;for(var p=e;p<=v;p++){var k=o[p];if(k){this._applyrowselection(this.getboundindex(k),true,false,false)}}this._rendervisualrows()}}}else{this._clearselectstyle();this._selectrowwithstyle(q,u,true,f);if(this.selectionmode.indexOf("cell")!=-1){this._selectcellwithstyle(q,true,l,f,u)}}if(!t){this._lastClickedCell={row:k.visibleindex,column:f}}},_selectcellwithstyle:function(e,c,h,g,f){var b=a(f.cells[e._getcolumnindex(g)]);b.removeClass(this.toTP("jqx-grid-cell-hover"));b.removeClass(this.toTP("jqx-fill-state-hover"));if(c){b.addClass(this.toTP("jqx-grid-cell-selected"));b.addClass(this.toTP("jqx-fill-state-pressed"))}else{b.removeClass(this.toTP("jqx-grid-cell-selected"));b.removeClass(this.toTP("jqx-fill-state-pressed"))}var d=this.getcolumn(g);d._applyCellStyle(b)},_selectrowwithstyle:function(k,b,j,f){var h=b.cells.length;var c=0;if(k.rowdetails&&k.showrowdetailscolumn){if(!this.rtl){c=1+this.groups.length}else{h-=1;h-=this.groups.length}}else{if(this.groupable){if(!this.rtl){c=this.groups.length}else{h-=this.groups.length}}}for(var g=c;g<h;g++){var e=b.cells[g];if(j){a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));if(k.selectionmode.indexOf("cell")==-1){a(e).addClass(this.toTP("jqx-grid-cell-selected"));a(e).addClass(this.toTP("jqx-fill-state-pressed"))}}else{a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-grid-cell-selected"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));a(e).removeClass(this.toTP("jqx-fill-state-pressed"))}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}},_handlemousemoveselection:function(ac,r){if(r.hScrollInstance.isScrolling()||r.vScrollInstance.isScrolling()){return false}if((r.selectionmode=="multiplerowsextended"||r.selectionmode=="multiplecellsextended"||r.selectionmode=="multiplecellsadvanced")&&r.mousecaptured){if(r.multipleselectionbegins){var b=r.multipleselectionbegins(ac);if(b===false){return true}}var ab=this.showheader?this.columnsheader.height()+2:0;var J=this._groupsheader()?this.groupsheader.height():0;var L=this.showtoolbar?this.toolbar.height():0;J+=L;var aa=this.host.coord();if(this.hasTransform){aa=a.jqx.utilities.getOffset(this.host);var ae=this._getBodyOffset();aa.left-=ae.left;aa.top-=ae.top}if(this.host.css("border-top-width")==="0px"){J-=2}var N=ac.pageX;var M=ac.pageY-J;if(Math.abs(this.mousecaptureposition.left-N)>3||Math.abs(this.mousecaptureposition.top-M)>3){var g=parseInt(this.columnsheader.coord().top);if(this.hasTransform){g=a.jqx.utilities.getOffset(this.columnsheader).top}if(N<aa.left){N=aa.left}if(N>aa.left+this.host.width()){N=aa.left+this.host.width()}var Y=aa.top+ab;if(M<Y){M=Y+5}var K=parseInt(Math.min(r.mousecaptureposition.left,N));var h=-5+parseInt(Math.min(r.mousecaptureposition.top,M));var I=parseFloat(Math.abs(r.mousecaptureposition.left-N));var Q=parseInt(Math.abs(r.mousecaptureposition.top-M));K-=aa.left;h-=aa.top;this.selectionarea.css("visibility","visible");if(r.selectionmode=="multiplecellsadvanced"){var N=K;var u=N+I;var H=N;var o=r.hScrollInstance;var w=o.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){w=o.max-o.value}if(this.vScrollBar[0].style.visibility!="hidden"){}}var j=r.table[0].rows[0];var U=0;var C=r.mousecaptureposition.clickedcell;var B=C;var n=false;var s=0;var ad=j.cells.length;if(r.mousecaptureposition.left<=ac.pageX){s=C}var c=false;for(var X=s;X<ad;X++){var Z=parseFloat(a(this.columnsrow[0].cells[X]).css("left"));var l=Z-w;if(r.columns.records[X].pinned&&!r.columns.records[X].hidden){if(X==C){c=true}var T=Z+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}continue}if(c){n=true;B--;break}var P=this._getcolumnat(X);if(P!=null&&P.hidden){continue}if(r.groupable&&r.groups.length>0){if(X<r.groups.length){continue}}var T=l+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}}if(!n){if(r.mousecaptureposition.left>ac.pageX){a.each(this.columns.records,function(i,k){if(r.groupable&&r.groups.length>0){if(i<r.groups.length){return true}}if(!this.pinned&&!this.hidden){B=i;return false}})}else{if(!r.groupable||(r.groupable&&!r.groups.length>0)){B=j.cells.length-1}}}var O=C;C=Math.min(C,B);B=Math.max(O,B);h+=5;h+=J;var S=r.table[0].rows.indexOf(r.mousecaptureposition.clickedrow);var z=0;var f=-1;var v=-1;var e=0;for(var X=0;X<r.table[0].rows.length;X++){var t=a(r.table[0].rows[X]);if(X==0){e=t.coord().top}var G=t.height();var A=e-aa.top;if(f==-1&&A+G>=h){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}f=X}e+=G;if(r.groupable&&r.groups.length>0){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}var U=0;for(var V=r.groups.length;V<t[0].cells.length;V++){var F=t[0].cells[V];if(a(F).html()==""){U++}}if(U==t[0].cells.length-r.groups.length){continue}}if(f!=-1){z+=G}if(A+G>h+Q){v=X;break}}if(f!=-1){h=a(r.table[0].rows[f]).coord().top-aa.top-J-2;var E=0;if(this.filterable&&this.showfilterrow){E=this.filterrowheight}if(parseFloat(r.table[0].style.top)<0&&h<this.rowsheight+E){h-=parseFloat(r.table[0].style.top);z+=parseFloat(r.table[0].style.top)}Q=z;var m=a(this.columnsrow[0].cells[C]);var D=a(this.columnsrow[0].cells[B]);K=parseFloat(m.css("left"));I=parseFloat(D.css("left"))-parseFloat(K)+D.width()-2;K-=w;if(c){K+=w}if(r.editcell&&r.editable&&r.endcelledit&&(C!=B||f!=v)){if(r.editcell.validated==false){return}r.endcelledit(r.editcell.row,r.editcell.column,true,true)}}}this.selectionarea.width(I);this.selectionarea.height(Q);this.selectionarea.css("left",K);this.selectionarea.css("top",h)}}},_handlemouseupselection:function(u,o){if(!this.selectionarea){return}if(this.selectionarea[0].style.visibility!="visible"){o.mousecaptured=false;return true}if(o.mousecaptured&&(o.selectionmode=="multiplerowsextended"||o.selectionmode=="multiplerowsadvanced"||o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced")){o.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden");var w=this.showheader?this.columnsheader.height()+2:0;var p=this._groupsheader()?this.groupsheader.height():0;if(this.host.css("border-top-width")==="0px"){p-=2}var B=this.showtoolbar?this.toolbar.height():0;p+=B;var C=this.selectionarea.coord();var c=this.host.coord();if(this.hasTransform){c=a.jqx.utilities.getOffset(this.host);C=a.jqx.utilities.getOffset(this.selectionarea)}if(this.host.css("border-top-width")==="0px"){p-=2}var n=C.left-c.left;var k=C.top-w-c.top-p;var s=k;var g=n+this.selectionarea.width();var D=n;var l=new Array();var e=new Array();if(o.selectionmode=="multiplerowsextended"){while(k<s+this.selectionarea.height()){var b=this._hittestrow(n,k);var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;l[l.length]=b}}k+=20}var s=0;a.each(l,function(){var i=this;var m=this.row;if(o.selectionmode!="none"&&o._selectrowwithmouse){if(u.ctrlKey||u.metaKey){o._applyrowselection(o.getboundindex(m),true,false,false)}else{if(s==0){o._applyrowselection(o.getboundindex(m),true,false,true)}else{o._applyrowselection(o.getboundindex(m),true,false,false)}}s++}})}else{if(o.selectionmode=="multiplecellsadvanced"){k+=2}var r=o.hScrollInstance;var t=r.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=r.max-r.value}if(this.vScrollBar[0].style.visibility!="hidden"){t-=this.scrollbarsize+4}}var q=o.table[0].rows[0];var j=o.selectionarea.height();if(!u.ctrlKey&&!u.metaKey&&j>0){o.selectedcells=new Array()}var A=j;while(k<s+A){var b=o._hittestrow(n,k);if(!b){k+=5;continue}var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;for(var v=0;v<q.cells.length;v++){var d=parseFloat(a(o.columnsrow[0].cells[v]).css("left"))-t;var z=d+a(o.columnsrow[0].cells[v]).width();if((D>=d&&D<=z)||(g>=d&&g<=z)||(d>=D&&d<=g)){o._applycellselection(o.getboundindex(f),o._getcolumnat(v).datafield,true,false)}}}}k+=5}}if(o.autosavestate){if(o.savestate){o.savestate()}}o._renderrows(o.virtualsizeinfo)}}},selectprevcell:function(e,c){var f=this._getcolumnindex(c);var b=this.columns.records.length;var d=this._getprevvisiblecolumn(f);if(d!=null){this.clearselection();this.selectcell(e,d.datafield)}},selectnextcell:function(e,d){var f=this._getcolumnindex(d);var c=this.columns.records.length;var b=this._getnextvisiblecolumn(f);if(b!=null){this.clearselection();this.selectcell(e,b.datafield)}},_getfirstvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=0;c<e;c++){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_getlastvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=e-1;c>=0;c--){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_handlekeydown:function(A,t){if(t.groupable&&t.groups.length>0){}if(t.disabled){return false}var H=A.charCode?A.charCode:A.keyCode?A.keyCode:0;if(t.editcell&&t.selectionmode!="multiplecellsadvanced"){return true}else{if(t.editcell&&t.selectionmode=="multiplecellsadvanced"){if(H>=33&&H<=40){if(!A.altKey){if(t._cancelkeydown==undefined||t._cancelkeydown==false){if(t.editmode!=="selectedrow"){t.endcelledit(t.editcell.row,t.editcell.column,false,true);t._cancelkeydown=false;if(t.editcell&&!t.editcell.validated){t._rendervisualrows();t.endcelledit(t.editcell.row,t.editcell.column,false,true);return false}}else{return true}}else{t._cancelkeydown=false;return true}}else{t._cancelkeydown=false;return true}}else{return true}}}if(t.selectionmode=="none"){return true}if(t.showfilterrow&&t.filterable){if(this.filterrow){if(a(A.target).ischildof(t.filterrow)){return true}}}if(t.showeverpresentrow){if(t.addnewrowtop){if(a(A.target).ischildof(t.addnewrowtop)){return true}}if(t.addnewrowbottom){if(a(A.target).ischildof(t.addnewrowbottom)){return true}}}if(A.target.className&&A.target.className.indexOf("jqx-grid-widget")>=0){return true}if(t.pageable){if(a(A.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(A.target).ischildof(this.toolbar)){return true}}if(this.showstatusbar){if(a(A.target).ischildof(this.statusbar)){return true}}var r=false;if(A.altKey){return true}if(A.ctrlKey||A.metaKey){if(this.clipboard){var b=String.fromCharCode(H).toLowerCase();if(this.clipboardbegin){var j=null;if(b=="c"){j=this.clipboardbegin("copy",this.copyselection())}else{if(b=="x"){j=this.clipboardbegin("cut",this.copyselection())}else{if(b=="v"){j=this.clipboardbegin("paste")}}}if(j===false){return false}}if(b=="c"||b=="x"){var q=this.copyselection();if(b=="c"&&this.clipboardend){this.clipboardend("copy")}if(b=="x"&&this.clipboardend){this.clipboardend("cut")}if(window.clipboardData){window.clipboardData.setData("Text",q)}else{var g=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');g.val(q);a("body").append(g);g.select();setTimeout(function(){document.designMode="off";g.select();g.remove();t.focus()},100)}if(b=="c"&&a.jqx.browser.msie){return false}else{if(b=="c"){return true}}}else{if(b=="v"){var F=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(F);F.select();var k=this;setTimeout(function(){k._clipboardselection=new Array();var M=F.val();if(M.length==0&&window.clipboardData){F.val(window.clipboardData.getData("Text"));var M=F.val()}var L=M.split("\n");for(var K=0;K<L.length;K++){if(L[K].split("\t").length>0){var J=L[K].split("\t");if(J.length==1&&K==L.length-1&&J[0]==""){continue}if(J.length>0){k._clipboardselection.push(J)}}}k.pasteselection();F.remove();k.focus()},100);return true}}if(b=="x"){this.deleteselection();this.host.focus();return false}}}var n=Math.round(t._gettableheight());var y=Math.round(n/t.rowsheight);var f=t.getdatainformation();switch(t.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var I=t.getselectedcell();if(I===null){t.selectcell(0,t.columns.records[0].displayfield)}if(I!=null){var e=this.getrowvisibleindex(I.rowindex);var i=e;var p=I.datafield;var w=t._getcolumnindex(p);var c=t.columns.records.length;var v=function(Q,K,P,O){var J=function(ab,U){var W=t.dataview.loadedrecords[ab];if(t.groupable&&t.groups.length>0){var X=ab;if(O=="up"){X++}if(O=="down"){X--}var W=t.getdisplayrows()[X];var R=function(ac){if(ac.group){if(t.expandedgroups[ac.uniqueid]){return t.expandedgroups[ac.uniqueid].expanded}}else{return false}};var Z=1;var S=true;while(S&&Z<300){S=false;if(O=="down"){W=t.getdisplayrows()[X+Z]}else{if(O=="up"){W=t.getdisplayrows()[X-Z]}}if(!W){break}if(W&&W.group){S=true}var aa=W.parentItem;while(aa){if(aa&&!R(aa)){S=true}aa=aa.parentItem}if(!S){break}Z++}if(Z==300){W=null}if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){W=null}}}}else{if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){if(t.pagerpageinput&&A.keyCode===9){if(W.boundindex>t.dataview.rows[t.dataview.rows.length-1].boundindex){t.pagerpageinput.focus();A.preventDefault()}}t.ensurerowvisible(W)}}}}if(W!=undefined&&U!=null){if(P||P==undefined){t.clearselection()}var T=t.getboundindex(W);t.selectcell(T,U);t._oldselectedcell=t.selectedcell;r=true;if(t.groupable){t.ensurecellvisible(T,U)}else{t.ensurecellvisible(ab,U)}return true}return false};if(!J(Q,K)&&!t.groupable){t.ensurecellvisible(Q,K);J(Q,K);if(t.virtualmode){t.host.focus()}}var M=t.groupable&&t.groups.length>0;if(!M){if(A.shiftKey&&A.keyCode!=9){if(t.selectionmode=="multiplecellsextended"||t.selectionmode=="multiplecellsadvanced"){if(t._lastClickedCell){t._selectpath(Q,K);var N=t.dataview.loadedrecords[Q];var L=t.getboundindex(N);t.selectedcell={rowindex:L,datafield:K};return}}}else{if(!A.shiftKey){t._lastClickedCell={row:Q,column:K}}}}};var B=A.shiftKey&&t.selectionmode!="singlecell"&&t.selectionmode!="multiplecells";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;v(J,p,!B)}else{v(0,p,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}v(K,p,!B)};var d=H==9&&!A.shiftKey;var m=H==9&&A.shiftKey;if(t.rtl){var s=d;d=m;m=s}if(d||m){B=false}if(d||m){if(document.activeElement&&document.activeElement.className&&document.activeElement.className.indexOf("jqx-grid-cell-add-new-row")>=0){return true}}var o=A.ctrlKey||A.metaKey;if(o&&H==37){var E=t._getfirstvisiblecolumn(w);if(E!=null){v(i,E.datafield)}}else{if(o&&H==39){var u=t._getlastvisiblecolumn(w);if(u!=null){v(i,u.datafield)}}else{if(H==39||d){var x=t._getnextvisiblecolumn(w);if(x!=null){v(i,x.datafield,!B)}else{if(!d){r=true}else{var G=t._getfirstvisiblecolumn();H=40;p=G.displayfield}}}else{if(H==37||m){var E=t._getprevvisiblecolumn(w);if(E!=null){v(i,E.datafield,!B)}else{if(!m){r=true}else{var l=t._getlastvisiblecolumn();H=38;p=l.displayfield}}}else{if(H==36){C()}else{if(H==35){h()}else{if(H==33){if(i-y>=0){var D=i-y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){v(D,p,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){v(D,p,!B)},25)}}else{h()}}}}}}}}}if(H==38){if(o){C()}else{if(i>0){v(i-1,p,!B,"up")}else{r=false}}}if(H==40){if(o){h()}else{if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){v(i+1,p,!B,"down")}else{r=true}}}}break;case"singlerow":case"multiplerows":case"multiplerowsextended":case"multiplerowsadvanced":var i=t.getselectedrowindex();if(i==null||i==-1){return true}i=this.getrowvisibleindex(i);var z=function(K,N,M){var J=function(V){var U=t.dataview.loadedrecords[V];if(t.groupable&&t.groups.length>0){if(M=="up"){V++}if(M=="down"){V--}var U=t.getdisplayrows()[V];var O=function(Z){if(Z.group){if(t.expandedgroups[Z.uniqueid]){return t.expandedgroups[Z.uniqueid].expanded}}else{return false}};var X=1;var P=true;while(P&&X<300){P=false;if(M=="down"){U=t.getdisplayrows()[V+X]}else{if(M=="up"){U=t.getdisplayrows()[V-X]}}if(!U){break}if(U&&U.group){P=true}var Y=U.parentItem;while(Y){if(Y&&!O(Y)){P=true}Y=Y.parentItem}if(!P){break}X++}if(X==300){U=null}if(t.pageable){var W=false;if(U){for(var T=0;T<t.dataview.rows.length;T++){if(t.dataview.rows[T].boundindex==U.boundindex){W=true}}if(!W){U=null}}}}if(U!=undefined){var Q=t.getboundindex(U);var S=t.selectedrowindex;if(N||N==undefined){t.clearselection()}t.selectedrowindex=S;t.selectrow(Q,false);if(t.groupable){var R=t.ensurerowvisible(Q)}else{var R=t.ensurerowvisible(V)}if(!R||t.autoheight||t.groupable){t._rendervisualrows()}r=true;return true}return false};if(!J(K)&&!t.groupable){t.ensurerowvisible(K);J(K,N);if(t.virtualmode){setTimeout(function(){J(K,N)},25)}if(t.virtualmode){t.host.focus()}}var L=t.groupable&&t.groups.length>0;if(!L){if(A.shiftKey&&H!=9){if(t.selectionmode=="multiplerowsextended"){if(t._lastClickedCell){t._selectrowpath(K);t.selectedrowindex=t.getrowboundindex(K);return}}}else{if(!A.shiftKey){t._lastClickedCell={row:K};t.selectedrowindex=t.getrowboundindex(K)}}}};var B=A.shiftKey&&t.selectionmode!="singlerow"&&t.selectionmode!="multiplerows";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;z(J,!B)}else{z(0,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}z(K,!B)};var o=A.ctrlKey||A.metaKey;if(H==36||(o&&H==38)){C()}else{if(H==35||(o&&H==40)){h()}else{if(H==33){if(i-y>=0){var D=i-y;z(D,!B,"up");if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){z(D,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;z(D,!B,"down");if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){z(D,!B)},25)}}else{h()}}else{if(H==38){if(i>0){z(i-1,!B,"up")}else{r=true}}else{if(H==40){if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){z(i+1,!B,"down")}else{r=true}}}}}}}break}if(r){if(t.autosavestate){if(t.savestate){t.savestate()}}return false}return true},_handlemousemove:function(u,p){if(p.vScrollInstance.isScrolling()){return}if(p.hScrollInstance.isScrolling()){return}var w;var q;var f;var n;var m;if(p.enablehover||p.selectionmode=="multiplerows"){w=this.showheader?this.columnsheader.height()+2:0;q=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;q+=A;f=this.host.coord();if(this.hasTransform){f=a.jqx.utilities.getOffset(this.host);var k=this._getBodyOffset();f.left-=k.left;f.top-=k.top}n=u.pageX-f.left;m=u.pageY-w-f.top-q}if(p.selectionmode=="multiplerowsextended"||p.selectionmode=="multiplecellsextended"||p.selectionmode=="multiplecellsadvanced"){if(p.mousecaptured==true){return}}if(p.enablehover){if(p.disabled){return}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){return}var c=this._hittestrow(n,m);if(!c){return}var h=c.row;var j=c.index;if(this.hoveredrow!=-1&&j!=-1&&this.hoveredrow==j&&this.selectionmode.indexOf("cell")==-1&&this.selectionmode!="checkbox"){return}this._clearhoverstyle();if(j==-1||h==undefined){return}var r=this.hittestinfo[j].visualrow;if(r==null){return}if(this.hittestinfo[j].details){return}if(u.clientX>a(r).width()+a(r).coord().left){return}var B=0;var o=r.cells.length;if(p.rowdetails&&p.showrowdetailscolumn){if(!this.rtl){B=1+this.groups.length}else{o-=1;o-=this.groups.length}}else{if(this.groupable){if(!this.rtl){B=this.groups.length}else{o-=this.groups.length}}}if(r.cells.length==0){return}var l=r.cells[B].className;if(h.group||(this.selectionmode.indexOf("row")>=0&&l.indexOf("jqx-grid-cell-selected")!=-1)){return}this.hoveredrow=j;if(this.selectionmode.indexOf("cell")!=-1||this.selectionmode=="checkbox"){var e=-1;var s=this.hScrollInstance;var t=s.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=s.max-s.value}}for(var v=B;v<o;v++){var g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))-t;if(this.columns.records[v].pinned&&!this.rtl){g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))}var z=g+a(this.columnsrow[0].cells[v]).width();if(z>=n&&n>=g){e=v;break}}if(e!=-1){var b=r.cells[e];if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}if(b.className.indexOf("jqx-grid-cell-selected")==-1){if(this.editcell){var d=this._getcolumnat(e);if(d){if(this.editcell.row==j&&this.editcell.column==d.datafield){return}}}}a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));var d=this._getcolumnat(e);d._applyCellStyle(b)}return}for(var v=B;v<o;v++){var b=r.cells[v];a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}var d=this._getcolumnat(v);d._applyCellStyle(b)}}else{return true}}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{selectallrows:function(){this._trigger=false;var d=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();var e=this.dataview.loadedrecords;for(var c=0;c<d;c++){var f=e[c];if(!f){this.selectedrowindexes[c]=c;continue}var b=this.getboundindex(f);if(b!=undefined){this.selectedrowindexes[c]=b}}if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},unselectallrows:function(){this._trigger=false;var b=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},selectrow:function(b,c){if(this.selectionmode!=="none"){this._applyrowselection(b,true,c);if(c!==false){this._updatecheckboxselection()}}},_updatecheckboxselection:function(){if(this.selectionmode=="checkbox"){var d=this.getrows();if(d&&this._checkboxcolumn){if(d.length===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false});return}var c=d.length;if(this.groupable){c=this.dataview.loadedrecords.length}if(this.virtualmode){c=this.source._source.totalrecords}var b=this.selectedrowindexes.length;if(b===c){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}else{if(b===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}else{this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:null})}}}}},unselectrow:function(b,c){this._applyrowselection(b,false,c);if(c!==false){this._updatecheckboxselection()}},selectcell:function(c,b){this._applycellselection(c,b,true)},unselectcell:function(c,b){this._applycellselection(c,b,false)},clearselection:function(c,d){this._trigger=false;this.selectedrowindex=-1;this._oldselectedcell=null;if(d!==false){for(var b=0;b<this.selectedrowindexes.length;b++){this._raiseEvent(3,{rowindex:this.selectedrowindexes[b]})}}this.selectedrowindexes=new Array();this.selectedcells=new Array();this.selectedcell=null;if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}for(var b=0;b<this.columns.records.length;b++){this.columns.records[b].selected=false;this.columns.records[b]._applyStyle()}if(false===c){this._trigger=true;return}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(3,{rowindex:this.selectedrowindexes})}},getselectedrowindex:function(){if(this.selectedrowindex==-1||this.selectedrowindex==undefined){for(var b=0;b<this.selectedrowindexes.length;b++){return this.selectedrowindexes[b]}}return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){if(!this.selectedcell){return null}var b=this.selectedcell;b.row=this.selectedcell.rowindex;b.column=this.selectedcell.datafield;b.value=this.getcellvalue(b.row,b.column);return b},getselectedcells:function(){var b=new Array();for(var c in this.selectedcells){b[b.length]=this.selectedcells[c]}return b},getselection:function(){return{cells:this.getselectedcells(),rows:this.getselectedrowindexes()}},_getcellsforcopypaste:function(){var e=new Array();if(this.selectionmode.indexOf("cell")==-1){var h=this.selectedrowindexes;for(var d=0;d<h.length;d++){var c=h[d];for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield==="_checkboxcolumn"){continue}var g=c+"_"+this.columns.records[f].datafield;var b={rowindex:c,datafield:this.columns.records[f].datafield};e.push(b)}}}return e},deleteselection:function(){var d=this;var f=d.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){f=this._getcellsforcopypaste()}if(f!=null&&f.length>0){for(var e=0;e<f.length;e++){var b=f[e];var g=d.getcolumn(b.datafield);var h=d.getcellvalue(b.rowindex,b.datafield);if(!g){continue}if(h!==""){var c=null;if(g.columntype=="checkbox"){if(!g.threestatecheckbox){c=false}}d._raiseEvent(17,{rowindex:b.rowindex,datafield:b.datafield,value:h});if(e==f.length-1){d.setcellvalue(b.rowindex,b.datafield,c,true);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}else{d.setcellvalue(b.rowindex,b.datafield,c,false);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}d._raiseEvent(18,{rowindex:b.rowindex,datafield:b.datafield,oldvalue:h,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},copyselection:function(){var n="";var s=this;this.clipboardselection={};this.logicalclipboardselection={};this._clipboardselection=[];var r=s.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){r=this._getcellsforcopypaste()}var b=0;var e=new Array();if(r!=null&&r.length>0){var t=999999999999999;var q=-1;for(var j=0;j<r.length;j++){var l=r[j];var d=s.getcolumn(l.datafield);if(d!=null&&d.clipboard&&(!d.hidden||this.copytoclipboardhiddencolumns)){if(e.indexOf(d.text)==-1){e.push(d.text)}var p=s.getcelltext(l.rowindex,d.displayfield);var h=this.getrowdisplayindex(l.rowindex);if(!this.clipboardselection[h]){this.clipboardselection[h]={}}this.clipboardselection[h][d.displayfield]=p;if(!this.logicalclipboardselection[h]){this.logicalclipboardselection[h]={}}this.logicalclipboardselection[h][d.displayfield]=p;if(d.displayfield!=d.datafield){this.logicalclipboardselection[h][d.datafield]=s.getcellvalue(l.rowindex,d.datafield)}t=Math.min(t,h);q=Math.max(q,h)}}var g=new Array();for(var f=t;f<=q;f++){if(!this.logicalclipboardselection[f]){continue}var o=a.extend({},this.logicalclipboardselection[f]);g.push(o)}this.logicalclipboardselection=g;if(this.copytoclipboardwithheaders){for(var c=0;c<e.length;c++){if(c>0){n+="\t"}n+=e[c]}n+="\r\n"}for(var f=t;f<=q;f++){var k=0;this._clipboardselection[this._clipboardselection.length]=new Array();if(this.clipboardselection[f]!=undefined){a.each(this.clipboardselection[f],function(i,m){if(k>0){n+="\t"}var u=m;if(m==null){u=""}s._clipboardselection[s._clipboardselection.length-1][k]=u;k++;n+=u})}else{continue}if(f<q){n+="\r\n"}}}this.clipboardselectedtext=n;return n},pasteselection:function(){var g=this.getselectedcells();this._oldselectedcell=null;if(this.selectionmode.indexOf("cell")==-1){g=this._getcellsforcopypaste()}if(g!=null&&g.length>0){var h=g[0].rowindex;var w=this.getrowdisplayindex(h);var q=g[0].datafield;var u=this._getcolumnindex(q);var o=0;this.selectedrowindexes=new Array();this.selectedcells=new Array();var k=g.length;var B=0;var d=new Array();if(this.copytoclipboardwithheaders){this._clipboardselection.splice(0,1)}for(var z=0;z<this._clipboardselection.length;z++){B+=this._clipboardselection[z].length;d[z]=new Array();for(var y=0;y<this._clipboardselection[z].length;y++){var r=this._clipboardselection[z][y];d[z].push(r)}}if(B<g.length){var n=new Array();for(var z=0;z<g.length;z++){var e=g[z];if(!n[e.rowindex]){n[e.rowindex]=new Array()}n[e.rowindex].push(e)}var A=0;var D=0;for(var z=0;z<n.length;z++){if(!n[z]){continue}for(var y=0;y<n[z].length;y++){var e=n[z][y];var m=e.rowindex;var f=this.getcolumn(e.datafield);if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var r="";if(undefined==d[A][D]){D=0}r=d[A][D];D++;if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){if(this.logicalclipboardselection[m]){var v=this.logicalclipboardselection[m][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}A++;D=0;if(!d[A]){A=0}}}else{if(!this._clipboardselection){return}for(var l=0;l<this._clipboardselection.length;l++){for(var C=0;C<this._clipboardselection[l].length;C++){var f=this.getcolumnat(u+C);if(!f){continue}if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var m=this.getrowboundindex(w+l);var e=this.getcell(m,f.datafield);var r=null;r=this._clipboardselection[l][C];if(r!=null){if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){var v=this.logicalclipboardselection[l][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}}}}if(this.selectionmode=="checkbox"){this._updatecheckboxselection()}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}if(this.clipboardend){this.clipboardend("paste")}},_applyrowselection:function(e,i,f,h,b){if(e==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlerow"){if(i){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}else{this._raiseEvent(3,{rowindex:e,row:this.getrowdata(e)})}this._raiseEvent(3,{rowindex:j});this.selectedrowindexes=new Array();this.selectedcells=new Array()}if(h==true){this.selectedrowindexes=new Array()}if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex}else{if(c&&c.dataindex===undefined){if(c.uid!=undefined){e=this.getrowboundindexbyid(c.uid)}}}}var d=this.selectedrowindexes.indexOf(e);if(i){this.selectedrowindex=e;if(d==-1){this.selectedrowindexes.push(e);if(this.selectionmode!="singlerow"){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}}else{if(this.selectionmode=="multiplerows"){this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(e)});this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1}}}else{if(d>=0||this.selectionmode=="singlerow"||this.selectionmode=="multiplerowsextended"||this.selectionmode=="multiplerowsadvanced"){var g=this.selectedrowindexes[d];this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:g,row:this.getrowdata(e)});this.selectedrowindex=-1}}if(f==undefined||f){this._rendervisualrows()}return true},_applycellselection:function(e,b,h,f){if(e==null){return false}if(b==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlecell"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}this.selectedcells=new Array()}if(this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}}var g=e+"_"+b;if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex;var g=e+"_"+b}else{if(c&&c.dataindex===undefined){if(c.uid){e=this.getrowboundindexbyid(c.uid);var g=e+"_"+b}}}}var i={rowindex:e,datafield:b};if(h){this.selectedcell=i;if(!this.selectedcells[g]){this.selectedcells[g]=i;this.selectedcells.length++;this._raiseEvent(15,i)}else{if(this.selectionmode=="multiplecells"||this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}}}else{delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}if(f==undefined||f){this._rendervisualrows()}return true},_getcellindex:function(b){var c=-1;a.each(this.selectedcells,function(){c++;if(this[b]){return false}});return c},_clearhoverstyle:function(){if(undefined==this.hoveredrow||this.hoveredrow==-1){return}if(this.vScrollInstance.isScrolling()){return}if(this.hScrollInstance.isScrolling()){return}var c=this.table.find(".jqx-grid-cell-hover");if(c.length>0){c.removeClass(this.toTP("jqx-grid-cell-hover"));c.removeClass(this.toTP("jqx-fill-state-hover"))}for(var d=0;d<c.length;d++){var e=c[d].getAttribute("columnindex");if(e){var b=this.columns.records[parseInt(e)];if(b){b._applyCellStyle(c[d])}}}this.hoveredrow=-1},_clearselectstyle:function(){var m=this.table[0].rows.length;var r=this.table[0].rows;var n=this.toTP("jqx-grid-cell-selected");var c=this.toTP("jqx-fill-state-pressed");var o=this.toTP("jqx-grid-cell-hover");var l=this.toTP("jqx-fill-state-hover");for(var k=0;k<m;k++){var b=r[k];var h=b.cells.length;var q=b.cells;for(var g=0;g<h;g++){var e=q[g];var p=a(e);if(e.className.indexOf("jqx-grid-cell-selected")!=-1){p.removeClass(n);p.removeClass(c)}if(e.className.indexOf("jqx-grid-cell-hover")!=-1){p.removeClass(o);p.removeClass(l)}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}}},_selectpath:function(n,e){var l=this;var i=this._lastClickedCell?Math.min(this._lastClickedCell.row,n):0;var k=this._lastClickedCell?Math.max(this._lastClickedCell.row,n):0;if(i<=k){var h=this._getcolumnindex(this._lastClickedCell.column);var g=this._getcolumnindex(e);var f=Math.min(h,g);var d=Math.max(h,g);this.selectedcells=new Array();var m=this.dataview.loadedrecords;for(var b=i;b<=k;b++){for(var j=f;j<=d;j++){var n=m[b];this._applycellselection(l.getboundindex(n),l._getcolumnat(j).datafield,true,false)}}this._rendervisualrows()}},_selectrowpath:function(g){if(this.selectionmode=="multiplerowsextended"){var c=this;var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,g):0;var h=this._lastClickedCell?Math.max(this._lastClickedCell.row,g):0;var f=this.dataview.loadedrecords;if(b<=h){this.selectedrowindexes=new Array();for(var e=b;e<=h;e++){var g=f[e];var d=this.getrowboundindex(e);this._applyrowselection(d,true,false)}this._rendervisualrows()}}},_selectrowwithmouse:function(q,b,c,f,d,t){var k=b.row;if(k==undefined){return}var l=b.index;if(this.hittestinfo[l]==undefined){return}for(var x=0;x<this.columns.records.length;x++){var w=this.columns.records[x];w.selected=false;if(w.element){w.element.removeAttribute("selected")}w._applyStyle()}var u=this.hittestinfo[l].visualrow;if(this.hittestinfo[l].details){return}var n=u.cells[0].className;if(k.group){return}if(this.selectionmode=="multiplerows"||this.selectionmode=="multiplecells"||this.selectionmode=="checkbox"||(this.selectionmode.indexOf("multiple")!=-1&&(t==true||d==true))){var m=this.getboundindex(k);if(this.dataview.filters.length>0){var y=this.getrowdata(m);if(y){m=y.dataindex;if(m==undefined){var m=this.getboundindex(k)}}}var s=c.indexOf(m)!=-1;var z=this.getboundindex(k)+"_"+f;if(this.selectionmode.indexOf("cell")!=-1){var h=this.selectedcells[z]!=undefined;if(this.selectedcells[z]!=undefined&&h){this._selectcellwithstyle(q,false,l,f,u)}else{this._selectcellwithstyle(q,true,l,f,u)}if(t&&this._lastClickedCell==undefined){var g=this.getselectedcells();if(g&&g.length>0){this._lastClickedCell={row:g[0].rowindex,column:g[0].datafield}}}if(t&&this._lastClickedCell){this._selectpath(k.visibleindex,f);this.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden")}}}else{if(s){if(d){this._applyrowselection(this.getboundindex(k),false)}else{this._selectrowwithstyle(q,u,false,f)}}else{this._selectrowwithstyle(q,u,true,f)}if(t&&this._lastClickedCell==undefined){var j=this.getselectedrowindexes();if(j&&j.length>0){this._lastClickedCell={row:j[0],column:f}}}if(t&&this._lastClickedCell){this.selectedrowindexes=new Array();var e=this._lastClickedCell?Math.min(this._lastClickedCell.row,k.visibleindex):0;var v=this._lastClickedCell?Math.max(this._lastClickedCell.row,k.visibleindex):0;var o=this.dataview.loadedrecords;for(var p=e;p<=v;p++){var k=o[p];if(k){this._applyrowselection(this.getboundindex(k),true,false,false)}}this._rendervisualrows()}}}else{this._clearselectstyle();this._selectrowwithstyle(q,u,true,f);if(this.selectionmode.indexOf("cell")!=-1){this._selectcellwithstyle(q,true,l,f,u)}}if(!t){this._lastClickedCell={row:k.visibleindex,column:f}}},_selectcellwithstyle:function(e,c,h,g,f){var b=a(f.cells[e._getcolumnindex(g)]);b.removeClass(this.toTP("jqx-grid-cell-hover"));b.removeClass(this.toTP("jqx-fill-state-hover"));if(c){b.addClass(this.toTP("jqx-grid-cell-selected"));b.addClass(this.toTP("jqx-fill-state-pressed"))}else{b.removeClass(this.toTP("jqx-grid-cell-selected"));b.removeClass(this.toTP("jqx-fill-state-pressed"))}var d=this.getcolumn(g);d._applyCellStyle(b)},_selectrowwithstyle:function(k,b,j,f){var h=b.cells.length;var c=0;if(k.rowdetails&&k.showrowdetailscolumn){if(!this.rtl){c=1+this.groups.length}else{h-=1;h-=this.groups.length}}else{if(this.groupable){if(!this.rtl){c=this.groups.length}else{h-=this.groups.length}}}for(var g=c;g<h;g++){var e=b.cells[g];if(j){a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));if(k.selectionmode.indexOf("cell")==-1){a(e).addClass(this.toTP("jqx-grid-cell-selected"));a(e).addClass(this.toTP("jqx-fill-state-pressed"))}}else{a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-grid-cell-selected"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));a(e).removeClass(this.toTP("jqx-fill-state-pressed"))}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}},_handlemousemoveselection:function(ac,r){if(r.hScrollInstance.isScrolling()||r.vScrollInstance.isScrolling()){return false}if((r.selectionmode=="multiplerowsextended"||r.selectionmode=="multiplecellsextended"||r.selectionmode=="multiplecellsadvanced")&&r.mousecaptured){if(r.multipleselectionbegins){var b=r.multipleselectionbegins(ac);if(b===false){return true}}var ab=this.showheader?this.columnsheader.height()+2:0;var J=this._groupsheader()?this.groupsheader.height():0;var L=this.showtoolbar?this.toolbar.height():0;J+=L;var aa=this.host.coord();if(this.hasTransform){aa=a.jqx.utilities.getOffset(this.host);var ae=this._getBodyOffset();aa.left-=ae.left;aa.top-=ae.top}if(this.host.css("border-top-width")==="0px"){J-=2}var N=ac.pageX;var M=ac.pageY-J;if(Math.abs(this.mousecaptureposition.left-N)>3||Math.abs(this.mousecaptureposition.top-M)>3){var g=parseInt(this.columnsheader.coord().top);if(this.hasTransform){g=a.jqx.utilities.getOffset(this.columnsheader).top}if(N<aa.left){N=aa.left}if(N>aa.left+this.host.width()){N=aa.left+this.host.width()}var Y=aa.top+ab;if(M<Y){M=Y+5}var K=parseInt(Math.min(r.mousecaptureposition.left,N));var h=-5+parseInt(Math.min(r.mousecaptureposition.top,M));var I=parseFloat(Math.abs(r.mousecaptureposition.left-N));var Q=parseInt(Math.abs(r.mousecaptureposition.top-M));K-=aa.left;h-=aa.top;this.selectionarea.css("visibility","visible");if(r.selectionmode=="multiplecellsadvanced"){var N=K;var u=N+I;var H=N;var o=r.hScrollInstance;var w=o.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){w=o.max-o.value}if(this.vScrollBar[0].style.visibility!="hidden"){}}var j=r.table[0].rows[0];var U=0;var C=r.mousecaptureposition.clickedcell;var B=C;var n=false;var s=0;var ad=j.cells.length;if(r.mousecaptureposition.left<=ac.pageX){s=C}var c=false;for(var X=s;X<ad;X++){var Z=parseFloat(a(this.columnsrow[0].cells[X]).css("left"));var l=Z-w;if(r.columns.records[X].pinned&&!r.columns.records[X].hidden){if(X==C){c=true}var T=Z+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}continue}if(c){n=true;B--;break}var P=this._getcolumnat(X);if(P!=null&&P.hidden){continue}if(r.groupable&&r.groups.length>0){if(X<r.groups.length){continue}}var T=l+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}}if(!n){if(r.mousecaptureposition.left>ac.pageX){a.each(this.columns.records,function(i,k){if(r.groupable&&r.groups.length>0){if(i<r.groups.length){return true}}if(!this.pinned&&!this.hidden){B=i;return false}})}else{if(!r.groupable||(r.groupable&&!r.groups.length>0)){B=j.cells.length-1}}}var O=C;C=Math.min(C,B);B=Math.max(O,B);h+=5;h+=J;var S=r.table[0].rows.indexOf(r.mousecaptureposition.clickedrow);var z=0;var f=-1;var v=-1;var e=0;for(var X=0;X<r.table[0].rows.length;X++){var t=a(r.table[0].rows[X]);if(X==0){e=t.coord().top}var G=t.height();var A=e-aa.top;if(f==-1&&A+G>=h){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}f=X}e+=G;if(r.groupable&&r.groups.length>0){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}var U=0;for(var V=r.groups.length;V<t[0].cells.length;V++){var F=t[0].cells[V];if(a(F).html()==""){U++}}if(U==t[0].cells.length-r.groups.length){continue}}if(f!=-1){z+=G}if(A+G>h+Q){v=X;break}}if(f!=-1){h=a(r.table[0].rows[f]).coord().top-aa.top-J-2;var E=0;if(this.filterable&&this.showfilterrow){E=this.filterrowheight}if(parseFloat(r.table[0].style.top)<0&&h<this.rowsheight+E){h-=parseFloat(r.table[0].style.top);z+=parseFloat(r.table[0].style.top)}Q=z;var m=a(this.columnsrow[0].cells[C]);var D=a(this.columnsrow[0].cells[B]);K=parseFloat(m.css("left"));I=parseFloat(D.css("left"))-parseFloat(K)+D.width()-2;K-=w;if(c){K+=w}if(r.editcell&&r.editable&&r.endcelledit&&(C!=B||f!=v)){if(r.editcell.validated==false){return}r.endcelledit(r.editcell.row,r.editcell.column,true,true)}}}this.selectionarea.width(I);this.selectionarea.height(Q);this.selectionarea.css("left",K);this.selectionarea.css("top",h)}}},_handlemouseupselection:function(u,o){if(!this.selectionarea){return}if(this.selectionarea[0].style.visibility!="visible"){o.mousecaptured=false;return true}if(o.mousecaptured&&(o.selectionmode=="multiplerowsextended"||o.selectionmode=="multiplerowsadvanced"||o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced")){o.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden");var w=this.showheader?this.columnsheader.height()+2:0;var p=this._groupsheader()?this.groupsheader.height():0;if(this.host.css("border-top-width")==="0px"){p-=2}var B=this.showtoolbar?this.toolbar.height():0;p+=B;var C=this.selectionarea.coord();var c=this.host.coord();if(this.hasTransform){c=a.jqx.utilities.getOffset(this.host);C=a.jqx.utilities.getOffset(this.selectionarea)}if(this.host.css("border-top-width")==="0px"){p-=2}var n=C.left-c.left;var k=C.top-w-c.top-p;var s=k;var g=n+this.selectionarea.width();var D=n;var l=new Array();var e=new Array();if(o.selectionmode=="multiplerowsextended"){while(k<s+this.selectionarea.height()){var b=this._hittestrow(n,k);var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;l[l.length]=b}}k+=20}var s=0;a.each(l,function(){var i=this;var m=this.row;if(o.selectionmode!="none"&&o._selectrowwithmouse){if(u.ctrlKey||u.metaKey){o._applyrowselection(o.getboundindex(m),true,false,false)}else{if(s==0){o._applyrowselection(o.getboundindex(m),true,false,true)}else{o._applyrowselection(o.getboundindex(m),true,false,false)}}s++}})}else{if(o.selectionmode=="multiplecellsadvanced"){k+=2}var r=o.hScrollInstance;var t=r.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=r.max-r.value}if(this.vScrollBar[0].style.visibility!="hidden"){t-=this.scrollbarsize+4}}var q=o.table[0].rows[0];var j=o.selectionarea.height();if(!u.ctrlKey&&!u.metaKey&&j>0){o.selectedcells=new Array()}var A=j;while(k<s+A){var b=o._hittestrow(n,k);if(!b){k+=5;continue}var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;for(var v=0;v<q.cells.length;v++){var d=parseFloat(a(o.columnsrow[0].cells[v]).css("left"))-t;var z=d+a(o.columnsrow[0].cells[v]).width();if((D>=d&&D<=z)||(g>=d&&g<=z)||(d>=D&&d<=g)){o._applycellselection(o.getboundindex(f),o._getcolumnat(v).datafield,true,false)}}}}k+=5}}if(o.autosavestate){if(o.savestate){o.savestate()}}o._renderrows(o.virtualsizeinfo)}}},selectprevcell:function(e,c){var f=this._getcolumnindex(c);var b=this.columns.records.length;var d=this._getprevvisiblecolumn(f);if(d!=null){this.clearselection();this.selectcell(e,d.datafield)}},selectnextcell:function(e,d){var f=this._getcolumnindex(d);var c=this.columns.records.length;var b=this._getnextvisiblecolumn(f);if(b!=null){this.clearselection();this.selectcell(e,b.datafield)}},_getfirstvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=0;c<e;c++){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_getlastvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=e-1;c>=0;c--){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_handlekeydown:function(A,t){if(t.groupable&&t.groups.length>0){}if(t.disabled){return false}var H=A.charCode?A.charCode:A.keyCode?A.keyCode:0;if(t.editcell&&t.selectionmode!="multiplecellsadvanced"){return true}else{if(t.editcell&&t.selectionmode=="multiplecellsadvanced"){if(H>=33&&H<=40){if(!A.altKey){if(t._cancelkeydown==undefined||t._cancelkeydown==false){if(t.editmode!=="selectedrow"){t.endcelledit(t.editcell.row,t.editcell.column,false,true);t._cancelkeydown=false;if(t.editcell&&!t.editcell.validated){t._rendervisualrows();t.endcelledit(t.editcell.row,t.editcell.column,false,true);return false}}else{return true}}else{t._cancelkeydown=false;return true}}else{t._cancelkeydown=false;return true}}else{return true}}}if(t.selectionmode=="none"){return true}if(t.showfilterrow&&t.filterable){if(this.filterrow){if(a(A.target).ischildof(t.filterrow)){return true}}}if(t.showeverpresentrow){if(t.addnewrowtop){if(a(A.target).ischildof(t.addnewrowtop)){return true}}if(t.addnewrowbottom){if(a(A.target).ischildof(t.addnewrowbottom)){return true}}}if(A.target.className&&A.target.className.indexOf("jqx-grid-widget")>=0){return true}if(t.pageable){if(a(A.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(A.target).ischildof(this.toolbar)){return true}}if(this.showstatusbar){if(a(A.target).ischildof(this.statusbar)){return true}}var r=false;if(A.altKey){return true}if(A.ctrlKey||A.metaKey){if(this.clipboard){var b=String.fromCharCode(H).toLowerCase();if(this.clipboardbegin){var j=null;if(b=="c"){j=this.clipboardbegin("copy",this.copyselection())}else{if(b=="x"){j=this.clipboardbegin("cut",this.copyselection())}else{if(b=="v"){j=this.clipboardbegin("paste")}}}if(j===false){return false}}if(b=="c"||b=="x"){var q=this.copyselection();if(b=="c"&&this.clipboardend){this.clipboardend("copy")}if(b=="x"&&this.clipboardend){this.clipboardend("cut")}if(window.clipboardData){window.clipboardData.setData("Text",q)}else{var g=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');g.val(q);a("body").append(g);g.select();setTimeout(function(){document.designMode="off";g.select();g.remove();t.focus()},100)}if(b=="c"&&a.jqx.browser.msie){return false}else{if(b=="c"){return true}}}else{if(b=="v"){var F=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(F);F.select();var k=this;setTimeout(function(){k._clipboardselection=new Array();var M=F.val();if(M.length==0&&window.clipboardData){F.val(window.clipboardData.getData("Text"));var M=F.val()}var L=M.split("\n");for(var K=0;K<L.length;K++){if(L[K].split("\t").length>0){var J=L[K].split("\t");if(J.length==1&&K==L.length-1&&J[0]==""){continue}if(J.length>0){k._clipboardselection.push(J)}}}k.pasteselection();F.remove();k.focus()},100);return true}}if(b=="x"){this.deleteselection();this.host.focus();return false}}}var n=Math.round(t._gettableheight());var y=Math.round(n/t.rowsheight);var f=t.getdatainformation();switch(t.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var I=t.getselectedcell();if(I===null){t.selectcell(0,t.columns.records[0].displayfield)}if(I!=null){var e=this.getrowvisibleindex(I.rowindex);var i=e;var p=I.datafield;var w=t._getcolumnindex(p);var c=t.columns.records.length;var v=function(Q,K,P,O){var J=function(ab,U){var W=t.dataview.loadedrecords[ab];if(t.groupable&&t.groups.length>0){var X=ab;if(O=="up"){X++}if(O=="down"){X--}var W=t.getdisplayrows()[X];var R=function(ac){if(ac.group){if(t.expandedgroups[ac.uniqueid]){return t.expandedgroups[ac.uniqueid].expanded}}else{return false}};var Z=1;var S=true;while(S&&Z<300){S=false;if(O=="down"){W=t.getdisplayrows()[X+Z]}else{if(O=="up"){W=t.getdisplayrows()[X-Z]}}if(!W){break}if(W&&W.group){S=true}var aa=W.parentItem;while(aa){if(aa&&!R(aa)){S=true}aa=aa.parentItem}if(!S){break}Z++}if(Z==300){W=null}if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){W=null}}}}else{if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){if(t.pagerpageinput&&A.keyCode===9){if(W.boundindex>t.dataview.rows[t.dataview.rows.length-1].boundindex){t.pagerpageinput.focus();A.preventDefault()}}t.ensurerowvisible(W)}}}}if(W!=undefined&&U!=null){if(P||P==undefined){t.clearselection()}var T=t.getboundindex(W);t.selectcell(T,U);t._oldselectedcell=t.selectedcell;r=true;if(t.groupable){t.ensurecellvisible(T,U)}else{t.ensurecellvisible(ab,U)}return true}return false};if(!J(Q,K)&&!t.groupable){t.ensurecellvisible(Q,K);J(Q,K);if(t.virtualmode){t.host.focus()}}var M=t.groupable&&t.groups.length>0;if(!M){if(A.shiftKey&&A.keyCode!=9){if(t.selectionmode=="multiplecellsextended"||t.selectionmode=="multiplecellsadvanced"){if(t._lastClickedCell){t._selectpath(Q,K);var N=t.dataview.loadedrecords[Q];var L=t.getboundindex(N);t.selectedcell={rowindex:L,datafield:K};return}}}else{if(!A.shiftKey){t._lastClickedCell={row:Q,column:K}}}}};var B=A.shiftKey&&t.selectionmode!="singlecell"&&t.selectionmode!="multiplecells";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;v(J,p,!B)}else{v(0,p,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}v(K,p,!B)};var d=H==9&&!A.shiftKey;var m=H==9&&A.shiftKey;if(t.rtl){var s=d;d=m;m=s}if(d||m){B=false}if(d||m){if(document.activeElement&&document.activeElement.className&&document.activeElement.className.indexOf("jqx-grid-cell-add-new-row")>=0){return true}}var o=A.ctrlKey||A.metaKey;if(o&&H==37){var E=t._getfirstvisiblecolumn(w);if(E!=null){v(i,E.datafield)}}else{if(o&&H==39){var u=t._getlastvisiblecolumn(w);if(u!=null){v(i,u.datafield)}}else{if(H==39||d){var x=t._getnextvisiblecolumn(w);if(x!=null){v(i,x.datafield,!B)}else{if(!d){r=true}else{var G=t._getfirstvisiblecolumn();H=40;p=G.displayfield}}}else{if(H==37||m){var E=t._getprevvisiblecolumn(w);if(E!=null){v(i,E.datafield,!B)}else{if(!m){r=true}else{var l=t._getlastvisiblecolumn();H=38;p=l.displayfield}}}else{if(H==36){C()}else{if(H==35){h()}else{if(H==33){if(i-y>=0){var D=i-y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){v(D,p,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){v(D,p,!B)},25)}}else{h()}}}}}}}}}if(H==38){if(o){C()}else{if(i>0){v(i-1,p,!B,"up")}else{r=false}}}if(H==40){if(o){h()}else{if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){v(i+1,p,!B,"down")}else{r=true}}}}break;case"singlerow":case"multiplerows":case"multiplerowsextended":case"multiplerowsadvanced":var i=t.getselectedrowindex();if(i==null||i==-1){return true}i=this.getrowvisibleindex(i);var z=function(K,N,M){var J=function(V){var U=t.dataview.loadedrecords[V];if(t.groupable&&t.groups.length>0){if(M=="up"){V++}if(M=="down"){V--}var U=t.getdisplayrows()[V];var O=function(Z){if(Z.group){if(t.expandedgroups[Z.uniqueid]){return t.expandedgroups[Z.uniqueid].expanded}}else{return false}};var X=1;var P=true;while(P&&X<300){P=false;if(M=="down"){U=t.getdisplayrows()[V+X]}else{if(M=="up"){U=t.getdisplayrows()[V-X]}}if(!U){break}if(U&&U.group){P=true}var Y=U.parentItem;while(Y){if(Y&&!O(Y)){P=true}Y=Y.parentItem}if(!P){break}X++}if(X==300){U=null}if(t.pageable){var W=false;if(U){for(var T=0;T<t.dataview.rows.length;T++){if(t.dataview.rows[T].boundindex==U.boundindex){W=true}}if(!W){U=null}}}}if(U!=undefined){var Q=t.getboundindex(U);var S=t.selectedrowindex;if(N||N==undefined){t.clearselection()}t.selectedrowindex=S;t.selectrow(Q,false);if(t.groupable){var R=t.ensurerowvisible(Q)}else{var R=t.ensurerowvisible(V)}if(!R||t.autoheight||t.groupable){t._rendervisualrows()}r=true;return true}return false};if(!J(K)&&!t.groupable){t.ensurerowvisible(K);J(K,N);if(t.virtualmode){setTimeout(function(){J(K,N)},25)}if(t.virtualmode){t.host.focus()}}var L=t.groupable&&t.groups.length>0;if(!L){if(A.shiftKey&&H!=9){if(t.selectionmode=="multiplerowsextended"){if(t._lastClickedCell){t._selectrowpath(K);t.selectedrowindex=t.getrowboundindex(K);return}}}else{if(!A.shiftKey){t._lastClickedCell={row:K};t.selectedrowindex=t.getrowboundindex(K)}}}};var B=A.shiftKey&&t.selectionmode!="singlerow"&&t.selectionmode!="multiplerows";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;z(J,!B)}else{z(0,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}z(K,!B)};var o=A.ctrlKey||A.metaKey;if(H==36||(o&&H==38)){C()}else{if(H==35||(o&&H==40)){h()}else{if(H==33){if(i-y>=0){var D=i-y;z(D,!B,"up");if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){z(D,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;z(D,!B,"down");if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){z(D,!B)},25)}}else{h()}}else{if(H==38){if(i>0){z(i-1,!B,"up")}else{r=true}}else{if(H==40){if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){z(i+1,!B,"down")}else{r=true}}}}}}}break}if(r){if(t.autosavestate){if(t.savestate){t.savestate()}}return false}return true},_handlemousemove:function(u,p){if(p.vScrollInstance.isScrolling()){return}if(p.hScrollInstance.isScrolling()){return}var w;var q;var f;var n;var m;if(p.enablehover||p.selectionmode=="multiplerows"){w=this.showheader?this.columnsheader.height()+2:0;q=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;q+=A;f=this.host.coord();if(this.hasTransform){f=a.jqx.utilities.getOffset(this.host);var k=this._getBodyOffset();f.left-=k.left;f.top-=k.top}n=u.pageX-f.left;m=u.pageY-w-f.top-q}if(p.selectionmode=="multiplerowsextended"||p.selectionmode=="multiplecellsextended"||p.selectionmode=="multiplecellsadvanced"){if(p.mousecaptured==true){return}}if(p.enablehover){if(p.disabled){return}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){return}var c=this._hittestrow(n,m);if(!c){return}var h=c.row;var j=c.index;if(this.hoveredrow!=-1&&j!=-1&&this.hoveredrow==j&&this.selectionmode.indexOf("cell")==-1&&this.selectionmode!="checkbox"){return}this._clearhoverstyle();if(j==-1||h==undefined){return}var r=this.hittestinfo[j].visualrow;if(r==null){return}if(this.hittestinfo[j].details){return}if(u.clientX>a(r).width()+a(r).coord().left){return}var B=0;var o=r.cells.length;if(p.rowdetails&&p.showrowdetailscolumn){if(!this.rtl){B=1+this.groups.length}else{o-=1;o-=this.groups.length}}else{if(this.groupable){if(!this.rtl){B=this.groups.length}else{o-=this.groups.length}}}if(r.cells.length==0){return}var l=r.cells[B].className;if(h.group||(this.selectionmode.indexOf("row")>=0&&l.indexOf("jqx-grid-cell-selected")!=-1)){return}this.hoveredrow=j;if(this.selectionmode.indexOf("cell")!=-1||this.selectionmode=="checkbox"){var e=-1;var s=this.hScrollInstance;var t=s.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=s.max-s.value}}for(var v=B;v<o;v++){var g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))-t;if(this.columns.records[v].pinned&&!this.rtl){g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))}var z=g+a(this.columnsrow[0].cells[v]).width();if(z>=n&&n>=g){e=v;break}}if(e!=-1){var b=r.cells[e];if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}if(b.className.indexOf("jqx-grid-cell-selected")==-1){if(this.editcell){var d=this._getcolumnat(e);if(d){if(this.editcell.row==j&&this.editcell.column==d.datafield){return}}}}a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));var d=this._getcolumnat(e);d._applyCellStyle(b)}return}for(var v=B;v<o;v++){var b=r.cells[v];a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}var d=this._getcolumnat(v);d._applyCellStyle(b)}}else{return true}}})})(jqxBaseFramework);
 
 (function(a){a.extend(a.jqx._jqxGrid.prototype,{savestate:function(b){var c=this.getstate();if(b!==undefined&&!a.isEmptyObject(b)){if(b.indexOf("sort")==-1){delete c.sortcolumn;delete c.sortdirection}if(b.indexOf("pager")==-1){delete c.pagenum;delete c.pagesizeoptions;delete c.pagesize}if(b.indexOf("selection")==-1){delete c.selectedcells;delete c.selectedrowindexes;delete c.selectedrowindex}if(b.indexOf("grouping")==-1){delete c.groups}if(b.indexOf("filter")==-1){delete c.filters}a.each(this.columns.records,function(e){var d=c.columns[this.datafield];if(b.indexOf("hidden_columns")==-1){delete d.hidden}if(b.indexOf("reorder")==-1){delete d.index}if(b.indexOf("columns_width")==-1){delete d.width}if(b.indexOf("columns_text")==-1){delete d.text}if(b.indexOf("alignment")==-1){delete d.align;delete d.cellsalign}})}if(window.localStorage){window.localStorage["jqxGrid"+this.element.id]=this._stringify(c)}this._savedstate=c;return c},loadstate:function(d,j){var g="";if(d!=undefined&&d.width!=undefined){g=d}else{if(window.localStorage){var c=window.localStorage["jqxGrid"+this.element.id];if(c){var g=a.parseJSON(window.localStorage["jqxGrid"+this.element.id])}}else{if(this._savedstate){var g=this._savedstate}}}if(g!=null&&g!==""){if(this.virtualmode||(this.source._source.url&&this.source._source.url!="")){this.source.beginUpdate()}var f=g;if(f.width!==undefined){this.width=f.width}if(f.height!==undefined){this.height=f.height}if(this.pageable){if(f.pagesize!=undefined){this.pagesize=f.pagesize;this.dataview.pagesize=f.pagesize}if(f.pagenum!=undefined){this.dataview.pagenum=f.pagenum}if(f.pagesizeoptions!=undefined){this.pagesizeoptions=f.pagesizeoptions}if(this.pagesizeoptions){var e=0;for(var b=0;b<this.pagesizeoptions.length;b++){if(this.pagesize>=this.pagesizeoptions[b]){e=b}}if(this.pagershowrowscombo){this.pagershowrowscombo.jqxDropDownList({selectedIndex:e})}}}if(this.sortable){if(this._loading){this._loading=false}if(f.sortdirection){if(f.sortdirection.ascending||f.sortdirection.descending){this.dataview.sortfield=f.sortcolumn;var h=f.sortdirection.ascending?"asc":"desc";this.dataview.sortfielddirection=h;this.source.sortcolumn=f.sortcolumn;this.source.sortdirection=h;this.sortby(f.sortcolumn,h)}}else{if(this.dataview.sortfield!=null&&(this.dataview.sortfielddirection=="asc"||this.dataview.sortfielddirection=="desc")){this.sortby(this.dataview.sortfield,null)}}}if(this.groupable&&f.groups){this.dataview.groups=f.groups;this.groups=f.groups}this.loadingstate=true;if(this.virtualsizeinfo){this._loadselectionandcolumnwidths(f)}this.loadingstate=false;if(this.virtualmode||(this.source._source.url&&this.source._source.url!="")){if(j==true){this.source.endUpdate(false)}else{this.source.endUpdate(false);if(this.virtualmode||this.source._source.filter||this.source._source.sort){this.updatebounddata("state")}}}}},_loadselectionandcolumnwidths:function(j){this.loadingstate=true;var m="";if(j!=undefined&&j.width!=undefined){m=j}else{if(window.localStorage){if(window.localStorage["jqxGrid"+this.element.id]){var m=a.parseJSON(window.localStorage["jqxGrid"+this.element.id])}}else{if(this._savedstate){var m=this._savedstate}}}if(m!=null&&m!=""){var E=this._loading;this._loading=false;var G=m;var F=this;var g=false;var d=[];d.length=0;var D=[];a.each(this.columns.records,function(I){var i=G.columns[this.datafield];if(i!=undefined){if(this.text!=i.text){g=true}if(this.hidden!=i.hidden){g=true}if(i.width!==undefined){this.width=i.width;if(this._width){this._width=null}if(this._percentagewidth){this._percentagewidth=null}}if(i.hidden!==undefined){this.hidden=i.hidden}if(i.pinned!==undefined){this.pinned=i.pinned}if(i.groupable!==undefined){this.groupable=i.groupable}if(i.resizable!==undefined){this.resizable=i.resizable}this.draggable=i.draggable;if(i.text!==undefined){this.text=i.text}if(i.align!==undefined){this.align=i.align}if(i.cellsalign!==undefined){this.cellsalign=i.cellsalign}if(F._columns){for(var H=0;H<F._columns.length;H++){if(F._columns[H].datafield==this.datafield){if(i.hidden!==undefined){F._columns[H]["hidden"]=i.hidden}if(i.width!==undefined){F._columns[H]["width"]=i.width}}}}if(i.index!==undefined){d[this.datafield]=i.index;d.length++}}});if(d.length>0){if(this.setcolumnindex){var x=this.rowdetails?1:0;x+=this.groupable?this.groups.length:0;var v=new Array();for(var C=0;C<this.columns.records.length;C++){v.push(this.columns.records[C])}var B=0;var f=new Array();for(var C=0;C<v.length;C++){var k=v[C];var n=d[k.datafield];if(this.groupable&&k.grouped){B++;continue}if(C==0&&this.rowdetails){B++;continue}if(C!==n||this.groupable||this.rowdetails){var q=B+n;f.push({column:k,key:q})}}f.sort(function(H,i){if(H.key<i.key){return -1}if(H.key>i.key){return 1}return 0});f.reverse();a.each(f,function(i,I){var H=this.key;F.setcolumnindex(this.column.datafield,H,false)})}this.prerenderrequired=true;if(this.groupable){this._refreshdataview()}this.rendergridcontent(true);if(this._updatefilterrowui&&this.filterable&&this.showfilterrow){this._updatefilterrowui()}this._renderrows(this.virtualsizeinfo)}if(this.filterable&&G.filters!==undefined){if(this.clearfilters){this._loading=false;this.clearfilters(false)}var c="";var p=new a.jqx.filter();for(var C=0;C<G.filters.filterscount;C++){var A=G.filters["filtercondition"+C];var u=G.filters["filterdatafield"+C];var k=this.getcolumn(u);if(u!=c){p=new a.jqx.filter()}c=u;if(k&&k.filterable){var y=G.filters["filtervalue"+C];var r=G.filters["filteroperator"+C];var b=G.filters["filtertype"+C];if(b=="datefilter"){var s=p.createfilter(b,y,A,null,k.cellsformat,this.gridlocalization)}else{var s=p.createfilter(b,y,A)}p.addfilter(r,s);if(this.showfilterrow){var l=k._filterwidget;var e=k._filterwidget.parent();if(l!=null){switch(k.filtertype){case"number":e.find("input").val(y);if(this.host.jqxDropDownList){var o=p.getoperatorsbyfiltertype("numericfilter");l.find(".filter").jqxDropDownList("selectIndex",o.indexOf(A))}break;case"date":if(this.host.jqxDateTimeInput){a(e.children()[0]).jqxDateTimeInput("setDate",y)}else{l.val(y)}break;case"range":if(this.host.jqxDateTimeInput){var t=G.filters["filtervalue"+(C+1)];var b=G.filters["filtertype"+C];var s=p.createfilter(b,t,"LESS_THAN_OR_EQUAL");p.addfilter(r,s);var z=new Date(y);var h=new Date(t);if(isNaN(z)){z=a.jqx.dataFormat.tryparsedate(y)}if(isNaN(h)){h=a.jqx.dataFormat.tryparsedate(y)}a(e.children()[0]).jqxDateTimeInput("setRange",z,h);C++}else{l.val(y)}break;case"textbox":case"default":l.val(y);F["_oldWriteText"+l[0].id]=y;break;case"list":if(this.host.jqxDropDownList){var w=a(e.children()[0]).jqxDropDownList("getItems");var n=-1;a.each(w,function(H){if(this.value==y){n=H;return false}});a(e.children()[0]).jqxDropDownList("selectIndex",n)}else{l.val(y)}break;case"checkedlist":if(!this.host.jqxDropDownList){l.val(y)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){l.val(y)}else{a(e.children()[0]).jqxCheckBox({checked:y})}break}}}this.addfilter(u,p)}}if(G.filters&&G.filters.filterscount>0){this.applyfilters();if(this.showfilterrow){a.each(this.columns.records,function(){if(this.filtertype=="checkedlist"&&this.filterable){if(F.host.jqxDropDownList){var L=this;var J=L._filterwidget;var O=J.jqxDropDownList("getItems");var H=J.jqxDropDownList("listBox");H.checkAll(false);if(L.filter){H.uncheckAll(false);var N=L.filter.getfilters();for(var K=0;K<H.items.length;K++){var I=H.items[K].label;a.each(N,function(){if(this.condition=="NOT_EQUAL"){return true}if(I==this.value){H.checkIndex(K,false,false)}})}H._updateCheckedItems();var M=H.getCheckedItems().length;if(H.items.length!=M&&M>0){H.host.jqxListBox("indeterminateIndex",0,true,false)}}}}})}}if(this.pageable&&G.pagenum!==undefined){if(this.gotopage&&!this.virtualmode){this.dataview.pagenum=-1;this.gotopage(G.pagenum)}else{if(this.gotopage&&this.virtualmode){this.gotopage(G.pagenum)}}}}if(G.selectedrowindexes&&G.selectedrowindexes&&G.selectedrowindexes.length>0){this.selectedrowindexes=G.selectedrowindexes;this.selectedrowindex=G.selectedrowindex;if(this.selectionmode==="checkbox"){this._updatecheckboxselection()}}if(G.selectedcells){if(this._applycellselection){a.each(G.selectedcells,function(){F._applycellselection(this.rowindex,this.datafield,true,false)})}}if(this.groupable&&G.groups!==undefined){this._refreshdataview();this.render();this._loading=E;this.loadingstate=false;return}if(g){this.prerenderrequired=true;this.rendergridcontent(true);this._loading=E;this.loadingstate=false;if(this.updating()){return false}}else{this._loading=E;this._updatecolumnwidths();this._updatecellwidths();this.loadingstate=false}this.loadingstate=false;this._loading=E;this._renderrows(this.virtualsizeinfo)}this.loadingstate=false},getstate:function(){var p=this.getdatainformation();var h={};h.width=this.width;h.height=this.height;h.pagenum=p.paginginformation.pagenum;h.pagesize=p.paginginformation.pagesize;h.pagesizeoptions=this.pagesizeoptions;h.sortcolumn=p.sortinformation.sortcolumn;h.sortdirection=p.sortinformation.sortdirection;if(this.selectionmode!=null){if(this.getselectedcells){if(this.selectionmode.toString().indexOf("cell")!=-1){var o=this.getselectedcells();var q=new Array();a.each(o,function(){q.push({datafield:this.datafield,rowindex:this.rowindex})});h.selectedcells=q}else{var n=this.getselectedrowindexes();h.selectedrowindexes=n;h.selectedrowindex=this.selectedrowindex}}}var i={};var d=0;if(this.dataview.filters){for(var j=0;j<this.dataview.filters.length;j++){var e=this.dataview.filters[j].datafield;var b=this.dataview.filters[j].filter;var c=b.getfilters();i[e+"operator"]=b.operator;for(var f=0;f<c.length;f++){c[f].datafield=e;if(c[f].type=="datefilter"){if(c[f].value&&c[f].value.toLocaleString){var g=this.getcolumn(c[f].datafield);if(g.cellsformat){var l=this.source.formatDate(c[f].value,g.cellsformat,this.gridlocalization);if(l){i["filtervalue"+d]=l}else{i["filtervalue"+d]=c[f].value.toLocaleString()}}else{i["filtervalue"+d]=c[f].value.toLocaleString()}}else{i["filtervalue"+d]=c[f].value}}else{i["filtervalue"+d]=c[f].value}i["filtercondition"+d]=c[f].condition;i["filteroperator"+d]=c[f].operator;i["filterdatafield"+d]=e;i["filtertype"+d]=c[f].type;d++}}}i.filterscount=d;h.filters=i;h.groups=this.groups;h.columns={};var k=0;if(this.columns.records){a.each(this.columns.records,function(m,r){if(!this.datafield){return true}var s={};s.width=this.width;s.hidden=this.hidden;s.pinned=this.pinned;s.groupable=this.groupable;s.resizable=this.resizable;s.draggable=this.draggable;s.text=this.text;s.align=this.align;s.cellsalign=this.cellsalign;s.index=k++;h.columns[this.datafield]=s})}return h},_stringify:function(e){if(window.JSON&&typeof window.JSON.stringify==="function"){var d=this;var c="";try{c=window.JSON.stringify(e)}catch(b){return d._str("",{"":e})}return c}var c=this._str("",{"":e});return c},_quote:function(b){var d=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,c={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return'"'+b.replace(d,function(e){var f=c[e];return typeof f==="string"?f:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"'},_stringifyArray:function(e){var b=e.length,c=[],d;for(var d=0;d<b;d++){c.push(this._str(d,e)||"null")}return"["+c.join(",")+"]"},_stringifyObject:function(f){var c=[],d,b;var e=this;for(d in f){if(Object.prototype.hasOwnProperty.call(f,d)){b=e._str(d,f);if(b){c.push(e._quote(d)+":"+b)}}}return"{"+c.join(",")+"}"},_stringifyReference:function(b){switch(Object.prototype.toString.call(b)){case"[object Array]":return this._stringifyArray(b)}return this._stringifyObject(b)},_stringifyPrimitive:function(c,b){switch(b){case"string":return this._quote(c);case"number":return isFinite(c)?c:"null";case"boolean":return c}return"null"},_str:function(c,b){var e=b[c],d=typeof e;if(e&&typeof e==="object"&&typeof e.toJSON==="function"){e=e.toJSON(c);d=typeof e}if(/(number|string|boolean)/.test(d)||(!e&&d==="object")){return this._stringifyPrimitive(e,d)}else{return this._stringifyReference(e)}}})})(jqxBaseFramework);
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());if(v._filterwidget.jqxDateTimeInput("showTimeButton")){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(C,d,A){var H=this.that;var z="";var E="";for(var F=0;F<H.dataview.filters.length;F++){var x=H.dataview.filters[F];if(x.datafield&&x.datafield==C.datafield){var F=x.filter.getfilters()[0];z=F.value;if(C.filtertype==="range"){z={from:z,to:x.filter.getfilters()[1].value}}E=F.condition;C.filtercondition=E;break}}var g=function(I,J){var f=a('<input autocomplete="off" type="textarea"/>');f.attr("tabindex",5+C.visibleindex);f[0].id=a.jqx.utilities.createId();f.addClass(I.toThemeProperty("jqx-widget"));f.addClass(I.toThemeProperty("jqx-filter-input jqx-input jqx-input-widget"));f.addClass(I.toThemeProperty("jqx-rc-all"));f.addClass(I.toThemeProperty("jqx-widget-content"));if(I.rtl){f.css("direction","rtl")}if(I.disabled){f.attr("disabled",true)}f.attr("disabled",false);f.appendTo(J);f.css("margin","4px");f.width(A-8);f.height(I.filterrowheight-9);if(C.createfilterwidget){C.createfilterwidget(C,J,f)}C._filterwidget=f;f.focus(function(){I.content[0].scrollLeft=0;setTimeout(function(){I.content[0].scrollLeft=0},10);I.focusedfilter=f;f.addClass(I.toThemeProperty("jqx-fill-state-focus"));return false});f.blur(function(){f.removeClass(I.toThemeProperty("jqx-fill-state-focus"))});f.keydown(function(K){if(K.keyCode=="13"){I._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!I._loading){if(!I["_oldWriteText"+f[0].id]){I["_oldWriteText"+f[0].id]=""}if(I["_oldWriteText"+f[0].id].length>0&&I["_oldWriteText"+f[0].id]!=f.val()){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}else{if(I["_oldWriteText"+f[0].id].length==0){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}}}},C.filterdelay);I.focusedfilter=f});I.host.removeClass("jqx-disableselect");I.content.removeClass("jqx-disableselect");f.val(z)};if(C.datatype!=null){if(C.filtertype=="number"){if(C.datatype=="string"||C.datatype=="date"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="date"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="bool"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="date"){C.filtertype="textbox"}}}switch(C.filtertype){case"number":case"input":var m=a("<div></div>");m.width(d.width());m.height(this.filterrowheight);d.append(m);var A=d.width()-21;var s=function(J,K,f){var I=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(H.rtl){I.css("float","right");I.css("direction","rtl")}I.attr("tabindex",5+C.visibleindex);I[0].id=a.jqx.utilities.createId();I.addClass(H.toThemeProperty("jqx-widget jqx-input jqx-rc-all jqx-input-widget jqx-filter-input jqx-widget-content"));I.appendTo(J);I.width(K-10);if(H.disabled){I.attr("disabled",true)}I.attr("disabled",false);I[0].style.height=H.filterrowheight-9+"px";I.css("margin","4px");I.css("margin-right","3px");I.focus(function(){H.focusedfilter=I;I.addClass(H.toThemeProperty("jqx-fill-state-focus"))});I.blur(function(){I.removeClass(H.toThemeProperty("jqx-fill-state-focus"))});I.keydown(function(L){if(L.keyCode=="13"){H._applyfilterfromfilterrow()}if(L.keyCode=="9"){return}if(I[0]._writeTimer){clearTimeout(I[0]._writeTimer)}I[0]._writeTimer=setTimeout(function(){if(!H._loading){if(H["_oldWriteText"+I[0].id]!=I.val()){H._applyfilterfromfilterrow();H["_oldWriteText"+I[0].id]=I.val()}}},C.filterdelay);H.focusedfilter=I});I.val(z);return I};s(m,A);var B=H._getfiltersbytype(C.filtertype=="number"?"number":"string");var t=a("<div class='filter' style='float: left;'></div>");t.css("margin-top","4px");t.appendTo(m);if(H.rtl){t.css("float","right")}var h=0;if(C.filtercondition!=null){var F=new a.jqx.filter();var r=F.getoperatorsbyfiltertype(C.filtertype=="number"?"numericfilter":"stringfilter");var e=r.indexOf(C.filtercondition.toUpperCase());if(e!=-1){h=e}}var D=180;if(C.filtertype=="input"){D=240;if(h==0){var e=B.indexOf("contains")||2;if(e!=-1&&C.filtercondition==null){h=e}}}t.jqxDropDownList({disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:20,height:27,dropDownHeight:150,dropDownWidth:D,source:B,theme:H.theme});t.jqxDropDownList({selectionRenderer:function(f){return""}});t.attr("tabindex",5+C.visibleindex);t.jqxDropDownList("setContent","");t.find(".jqx-dropdownlist-content").hide();if(C.createfilterwidget){C.createfilterwidget(C,d,m)}C._filterwidget=m;var j=null;this.addHandler(t,"select",function(){var f=t.jqxDropDownList("getSelectedItem").label;if(C._filterwidget.find("input").val().length>0&&!H.refreshingfilter){H._applyfilterfromfilterrow()}if(C.filtertype=="input"&&!H.refreshingfilter){H._applyfilterfromfilterrow()}else{if(C._filterwidget.find("input").val().length==0&&!H.refreshingfilter){if(j=="null"||j=="not null"||f=="null"||f=="not null"){H._applyfilterfromfilterrow()}}}j=f});break;case"textbox":case"default":default:g(this,d);break;case"none":break;case"date":case"range":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.css("margin-left","5px");b.appendTo(d);var n={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({firstDayOfWeek:this.gridlocalization.firstDay,readonly:true,disabled:H.disabled,localization:n,rtl:H.rtl,showFooter:true,formatString:C.cellsformat,selectionMode:C.filtertype,value:null,theme:this.theme,width:A-9,height:this.filterrowheight-9});if(C.createfilterwidget){C.createfilterwidget(C,d,b)}if(z&&z.from){b.jqxDateTimeInput("setRange",z.from,z.to)}else{if(z&&z.toString().length>1){b.val(z)}}b.find("input").attr("tabindex",5+C.visibleindex);C._filterwidget=b;this.addHandler(b,"valueChanged",function(f){if(!H.refreshingfilter){H._applyfilterfromfilterrow();H.focusedfilter=null}})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var q=this._getfilterdataadapter(C);var l=false;var t=a("<div></div>");t.css("margin","4px");t.css("margin-left","5px");var u=C.datafield;var v=C.filtertype=="checkedlist"?true:false;var D=A<150?220:"auto";q.dataBind();var p=q.records;var k=p.length<8?true:false;l=k;t.appendTo(d);t.jqxDropDownList({hint:false,placeHolder:H.gridlocalization.filterchoosestring,disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,checkboxes:v,dropDownWidth:D,source:q.records,autoDropDownHeight:k,theme:this.theme,width:A-9,height:this.filterrowheight-9,displayMember:C.displayfield,valueMember:u});t.attr("tabindex",5+C.visibleindex);t.attr("default-placeholder",true);if(C.createfilterwidget){C.createfilterwidget(C,d,t)}var c=t.jqxDropDownList("listBox");if(v){t.jqxDropDownList({selectionRenderer:function(){var f='<span class="'+H.toThemeProperty("jqx-item")+'" style="top: 4px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>";return f}});var y=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>");y.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!l){c.host.height(200)}c.insertAt(H.gridlocalization.filterselectallstring,0);t.jqxDropDownList("setContent",y);var i=true;var G=new Array();c.checkAll(false);H.addHandler(c.host,"checkChange",function(J){t[0]._selectionChanged=true;if(!i){return}if(J.args.label!=H.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var I=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(I.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(J.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);t.jqxDropDownList({selectedIndex:0})}C._filterwidget=t;var o=t.jqxDropDownList("dropdownlistWrapper");if(C.filtertype=="list"){this.addHandler(t,"select",function(f){if(!H.refreshingfilter){if(f.args&&f.args.type!="none"){H._applyfilterfromfilterrow();H.focusedfilter=null}}})}else{this.addHandler(t,"close",function(f){if(t[0]._selectionChanged){H._applyfilterfromfilterrow();H.focusedfilter=null;t[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var w=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>');w.appendTo(d);w.jqxCheckBox({disabled:H.disabled,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});w.attr("tabindex",5+C.visibleindex);if(C.createfilterwidget){C.createfilterwidget(C,d,w)}if(z===true||z=="true"){w.jqxCheckBox({checked:true})}else{if(z===false||z=="false"){w.jqxCheckBox({checked:false})}}C._filterwidget=w;this.addHandler(w,"change",function(f){if(!H.refreshingfilter){if(f.args){H.focusedfilter=null;H._applyfilterfromfilterrow()}}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt(this.gridlocalization.filterselectallstring,0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("filter")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();e.children().remove();d.children().remove();if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowstring)}f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",s.gridlocalization.filterselectallstring,0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 1px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(C,d,A){var H=this.that;var z="";var E="";for(var F=0;F<H.dataview.filters.length;F++){var x=H.dataview.filters[F];if(x.datafield&&x.datafield==C.datafield){var F=x.filter.getfilters()[0];z=F.value;if(C.filtertype==="range"){z={from:z,to:x.filter.getfilters()[1].value}}E=F.condition;C.filtercondition=E;break}}var g=function(I,J){var f=a('<input autocomplete="off" type="textarea"/>');f.attr("tabindex",5+C.visibleindex);f[0].id=a.jqx.utilities.createId();f.addClass(I.toThemeProperty("jqx-widget"));f.addClass(I.toThemeProperty("jqx-filter-input jqx-input jqx-input-widget"));f.addClass(I.toThemeProperty("jqx-rc-all"));f.addClass(I.toThemeProperty("jqx-widget-content"));if(I.rtl){f.css("direction","rtl")}if(I.disabled){f.attr("disabled",true)}f.attr("disabled",false);f.appendTo(J);f.css("margin","4px");f.width(A-8);f.height(I.filterrowheight-9);if(C.createfilterwidget){C.createfilterwidget(C,J,f)}C._filterwidget=f;f.focus(function(){I.content[0].scrollLeft=0;setTimeout(function(){I.content[0].scrollLeft=0},10);I.focusedfilter=f;f.addClass(I.toThemeProperty("jqx-fill-state-focus"));return false});f.blur(function(){f.removeClass(I.toThemeProperty("jqx-fill-state-focus"))});f.keydown(function(K){if(K.keyCode=="13"){I._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!I._loading){if(!I["_oldWriteText"+f[0].id]){I["_oldWriteText"+f[0].id]=""}if(I["_oldWriteText"+f[0].id].length>0&&I["_oldWriteText"+f[0].id]!=f.val()){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}else{if(I["_oldWriteText"+f[0].id].length==0){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}}}},C.filterdelay);I.focusedfilter=f});I.host.removeClass("jqx-disableselect");I.content.removeClass("jqx-disableselect");f.val(z)};if(C.datatype!=null){if(C.filtertype=="number"){if(C.datatype=="string"||C.datatype=="date"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="date"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="bool"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="date"){C.filtertype="textbox"}}}switch(C.filtertype){case"number":case"input":var m=a("<div></div>");m.width(d.width());m.height(this.filterrowheight);d.append(m);var A=d.width()-21;var s=function(J,K,f){var I=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(H.rtl){I.css("float","right");I.css("direction","rtl")}I.attr("tabindex",5+C.visibleindex);I[0].id=a.jqx.utilities.createId();I.addClass(H.toThemeProperty("jqx-widget jqx-input jqx-rc-all jqx-input-widget jqx-filter-input jqx-widget-content"));I.appendTo(J);I.width(K-10);if(H.disabled){I.attr("disabled",true)}I.attr("disabled",false);I[0].style.height=H.filterrowheight-9+"px";I.css("margin","4px");I.css("margin-right","3px");I.focus(function(){H.focusedfilter=I;I.addClass(H.toThemeProperty("jqx-fill-state-focus"))});I.blur(function(){I.removeClass(H.toThemeProperty("jqx-fill-state-focus"))});I.keydown(function(L){if(L.keyCode=="13"){H._applyfilterfromfilterrow()}if(L.keyCode=="9"){return}if(I[0]._writeTimer){clearTimeout(I[0]._writeTimer)}I[0]._writeTimer=setTimeout(function(){if(!H._loading){if(H["_oldWriteText"+I[0].id]!=I.val()){H._applyfilterfromfilterrow();H["_oldWriteText"+I[0].id]=I.val()}}},C.filterdelay);H.focusedfilter=I});I.val(z);return I};s(m,A);var B=H._getfiltersbytype(C.filtertype=="number"?"number":"string");var t=a("<div class='filter' style='float: left;'></div>");t.css("margin-top","4px");t.appendTo(m);if(H.rtl){t.css("float","right")}var h=0;if(C.filtercondition!=null){var F=new a.jqx.filter();var r=F.getoperatorsbyfiltertype(C.filtertype=="number"?"numericfilter":"stringfilter");var e=r.indexOf(C.filtercondition.toUpperCase());if(e!=-1){h=e}}var D=180;if(C.filtertype=="input"){D=240;if(h==0){var e=B.indexOf("contains")||2;if(e!=-1&&C.filtercondition==null){h=e}}}t.jqxDropDownList({disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:20,height:27,dropDownHeight:150,dropDownWidth:D,source:B,theme:H.theme});t.jqxDropDownList({selectionRenderer:function(f){return""}});t.attr("tabindex",5+C.visibleindex);t.jqxDropDownList("setContent","");t.find(".jqx-dropdownlist-content").hide();if(C.createfilterwidget){C.createfilterwidget(C,d,m)}C._filterwidget=m;var j=null;this.addHandler(t,"select",function(){var f=t.jqxDropDownList("getSelectedItem").label;if(C._filterwidget.find("input").val().length>0&&!H.refreshingfilter){H._applyfilterfromfilterrow()}if(C.filtertype=="input"&&!H.refreshingfilter){H._applyfilterfromfilterrow()}else{if(C._filterwidget.find("input").val().length==0&&!H.refreshingfilter){if(j=="null"||j=="not null"||f=="null"||f=="not null"){H._applyfilterfromfilterrow()}}}j=f});break;case"textbox":case"default":default:g(this,d);break;case"none":break;case"date":case"range":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.css("margin-left","5px");b.appendTo(d);var n={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({firstDayOfWeek:this.gridlocalization.firstDay,readonly:true,disabled:H.disabled,localization:n,rtl:H.rtl,showFooter:true,formatString:C.cellsformat,selectionMode:C.filtertype,value:null,theme:this.theme,width:A-9,height:this.filterrowheight-9});if(C.createfilterwidget){C.createfilterwidget(C,d,b)}if(z&&z.from){b.jqxDateTimeInput("setRange",z.from,z.to)}else{if(z&&z.toString().length>1){b.val(z)}}b.find("input").attr("tabindex",5+C.visibleindex);C._filterwidget=b;this.addHandler(b,"valueChanged",function(f){if(!H.refreshingfilter){H._applyfilterfromfilterrow();H.focusedfilter=null}})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var q=this._getfilterdataadapter(C);var l=false;var t=a("<div></div>");t.css("margin","4px");t.css("margin-left","5px");var u=C.datafield;var v=C.filtertype=="checkedlist"?true:false;var D=A<150?220:"auto";q.dataBind();var p=q.records;var k=p.length<8?true:false;l=k;t.appendTo(d);t.jqxDropDownList({hint:false,placeHolder:H.gridlocalization.filterchoosestring,disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,checkboxes:v,dropDownWidth:D,source:q.records,autoDropDownHeight:k,theme:this.theme,width:A-9,height:this.filterrowheight-9,displayMember:C.displayfield,valueMember:u});t.attr("tabindex",5+C.visibleindex);t.attr("default-placeholder",true);if(C.createfilterwidget){C.createfilterwidget(C,d,t)}var c=t.jqxDropDownList("listBox");if(v){t.jqxDropDownList({selectionRenderer:function(){var f='<span class="'+H.toThemeProperty("jqx-item")+'" style="top: 4px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>";return f}});var y=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>");y.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!l){c.host.height(200)}c.insertAt(H.gridlocalization.filterselectallstring,0);t.jqxDropDownList("setContent",y);var i=true;var G=new Array();c.checkAll(false);H.addHandler(c.host,"checkChange",function(J){t[0]._selectionChanged=true;if(!i){return}if(J.args.label!=H.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var I=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(I.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(J.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);t.jqxDropDownList({selectedIndex:0})}C._filterwidget=t;var o=t.jqxDropDownList("dropdownlistWrapper");if(C.filtertype=="list"){this.addHandler(t,"select",function(f){if(!H.refreshingfilter){if(f.args&&f.args.type!="none"){H._applyfilterfromfilterrow();H.focusedfilter=null}}})}else{this.addHandler(t,"close",function(f){if(t[0]._selectionChanged){H._applyfilterfromfilterrow();H.focusedfilter=null;t[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var w=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>');w.appendTo(d);w.jqxCheckBox({disabled:H.disabled,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});w.attr("tabindex",5+C.visibleindex);if(C.createfilterwidget){C.createfilterwidget(C,d,w)}if(z===true||z=="true"){w.jqxCheckBox({checked:true})}else{if(z===false||z=="false"){w.jqxCheckBox({checked:false})}}C._filterwidget=w;this.addHandler(w,"change",function(f){if(!H.refreshingfilter){if(f.args){H.focusedfilter=null;H._applyfilterfromfilterrow()}}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt(this.gridlocalization.filterselectallstring,0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){if(b.items[0].label!==this.gridlocalization.filterchoosestring){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("group")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}this._showwhere=a(p).find(".filter.showwhere");var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();if(E.filtertype=="date"){j.jqxDateTimeInput("destroy");h.jqxDateTimeInput("destroy");e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",s.gridlocalization.filterselectallstring,0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}this._hasdatefilter=true;var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 2px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);if(j[0]){j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());if(v._filterwidget.jqxDateTimeInput("showTimeButton")){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt({label:this.gridlocalization.filterselectallstring},0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("filter")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();e.children().remove();d.children().remove();if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowstring)}f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",{label:s.gridlocalization.filterselectallstring},0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 1px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);if(j[0]){j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(D,d,B){var I=this.that;var s=this;var A="";var F="";for(var G=0;G<I.dataview.filters.length;G++){var y=I.dataview.filters[G];if(y.datafield&&y.datafield==D.datafield){var G=y.filter.getfilters()[0];A=G.value;if(D.filtertype==="range"){A={from:A,to:y.filter.getfilters()[1].value}}F=G.condition;D.filtercondition=F;break}}var g=function(J,K){var f=a('<input autocomplete="off" type="textarea"/>');f.attr("tabindex",5+D.visibleindex);f[0].id=a.jqx.utilities.createId();f.addClass(J.toThemeProperty("jqx-widget"));f.addClass(J.toThemeProperty("jqx-filter-input jqx-input jqx-input-widget"));f.addClass(J.toThemeProperty("jqx-rc-all"));f.addClass(J.toThemeProperty("jqx-widget-content"));if(J.rtl){f.css("direction","rtl")}if(J.disabled){f.attr("disabled",true)}f.attr("disabled",false);f.appendTo(K);f.css("margin","4px");f.width(B-8);f.height(J.filterrowheight-9);if(D.createfilterwidget){D.createfilterwidget(D,K,f)}D._filterwidget=f;f.focus(function(){J.content[0].scrollLeft=0;setTimeout(function(){J.content[0].scrollLeft=0},10);J.focusedfilter=f;f.addClass(J.toThemeProperty("jqx-fill-state-focus"));return false});f.blur(function(){f.removeClass(J.toThemeProperty("jqx-fill-state-focus"))});f.keydown(function(L){if(L.keyCode=="13"){J._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!J._loading){if(!J["_oldWriteText"+f[0].id]){J["_oldWriteText"+f[0].id]=""}if(J["_oldWriteText"+f[0].id].length>0&&J["_oldWriteText"+f[0].id]!=f.val()){J._applyfilterfromfilterrow();J["_oldWriteText"+f[0].id]=f.val()}else{if(J["_oldWriteText"+f[0].id].length==0){J._applyfilterfromfilterrow();J["_oldWriteText"+f[0].id]=f.val()}}}},D.filterdelay);J.focusedfilter=f});J.host.removeClass("jqx-disableselect");J.content.removeClass("jqx-disableselect");f.val(A)};if(D.datatype!=null){if(D.filtertype=="number"){if(D.datatype=="string"||D.datatype=="date"||D.datatype=="bool"){D.filtertype="textbox"}}if(D.filtertype=="date"){if(D.datatype=="string"||D.datatype=="number"||D.datatype=="bool"){D.filtertype="textbox"}}if(D.filtertype=="bool"){if(D.datatype=="string"||D.datatype=="number"||D.datatype=="date"){D.filtertype="textbox"}}}switch(D.filtertype){case"number":case"input":var m=a("<div></div>");m.width(d.width());m.height(this.filterrowheight);d.append(m);var B=d.width()-21;var t=function(K,L,f){var J=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(I.rtl){J.css("float","right");J.css("direction","rtl")}J.attr("tabindex",5+D.visibleindex);J[0].id=a.jqx.utilities.createId();J.addClass(I.toThemeProperty("jqx-widget jqx-input jqx-rc-all jqx-input-widget jqx-filter-input jqx-widget-content"));J.appendTo(K);J.width(L-10);if(I.disabled){J.attr("disabled",true)}J.attr("disabled",false);J[0].style.height=I.filterrowheight-9+"px";J.css("margin","4px");J.css("margin-right","3px");J.focus(function(){I.focusedfilter=J;J.addClass(I.toThemeProperty("jqx-fill-state-focus"))});J.blur(function(){J.removeClass(I.toThemeProperty("jqx-fill-state-focus"))});J.keydown(function(M){if(M.keyCode=="13"){I._applyfilterfromfilterrow()}if(M.keyCode=="9"){return}if(J[0]._writeTimer){clearTimeout(J[0]._writeTimer)}J[0]._writeTimer=setTimeout(function(){if(!I._loading){if(I["_oldWriteText"+J[0].id]!=J.val()){I._applyfilterfromfilterrow();I["_oldWriteText"+J[0].id]=J.val()}}},D.filterdelay);I.focusedfilter=J});J.val(A);return J};t(m,B);var C=I._getfiltersbytype(D.filtertype=="number"?"number":"string");var u=a("<div class='filter' style='float: left;'></div>");u.css("margin-top","4px");u.appendTo(m);if(I.rtl){u.css("float","right")}var h=0;if(D.filtercondition!=null){var G=new a.jqx.filter();var r=G.getoperatorsbyfiltertype(D.filtertype=="number"?"numericfilter":"stringfilter");var e=r.indexOf(D.filtercondition.toUpperCase());if(e!=-1){h=e}}var E=180;if(D.filtertype=="input"){E=240;if(h==0){var e=C.indexOf("contains")||2;if(e!=-1&&D.filtercondition==null){h=e}}}u.jqxDropDownList({disabled:I.disabled,touchMode:I.touchmode,rtl:I.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:20,height:27,dropDownHeight:150,dropDownWidth:E,source:C,theme:I.theme});u.jqxDropDownList({selectionRenderer:function(f){return""}});u.attr("tabindex",5+D.visibleindex);u.jqxDropDownList("setContent","");u.find(".jqx-dropdownlist-content").hide();if(D.createfilterwidget){D.createfilterwidget(D,d,m)}D._filterwidget=m;var j=null;this.addHandler(u,"open",function(){s._activeFilterElement=u});this.addHandler(u,"select",function(){var f=u.jqxDropDownList("getSelectedItem").label;if(D._filterwidget.find("input").val().length>0&&!I.refreshingfilter){I._applyfilterfromfilterrow()}if(D.filtertype=="input"&&!I.refreshingfilter){I._applyfilterfromfilterrow()}else{if(D._filterwidget.find("input").val().length==0&&!I.refreshingfilter){if(j=="null"||j=="not null"||f=="null"||f=="not null"){I._applyfilterfromfilterrow()}}}j=f});break;case"textbox":case"default":default:g(this,d);break;case"none":break;case"date":case"range":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.css("margin-left","5px");b.appendTo(d);var n={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({firstDayOfWeek:this.gridlocalization.firstDay,readonly:true,disabled:I.disabled,localization:n,rtl:I.rtl,showFooter:true,formatString:D.cellsformat,selectionMode:D.filtertype,value:null,theme:this.theme,width:B-9,height:this.filterrowheight-9});if(D.createfilterwidget){D.createfilterwidget(D,d,b)}if(A&&A.from){b.jqxDateTimeInput("setRange",A.from,A.to)}else{if(A&&A.toString().length>1){b.val(A)}}b.find("input").attr("tabindex",5+D.visibleindex);D._filterwidget=b;this.addHandler(b,"valueChanged",function(f){if(!I.refreshingfilter){I._applyfilterfromfilterrow();I.focusedfilter=null}})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var q=this._getfilterdataadapter(D);var l=false;var u=a("<div></div>");u.css("margin","4px");u.css("margin-left","5px");var v=D.datafield;var w=D.filtertype=="checkedlist"?true:false;var E=B<150?220:"auto";q.dataBind();var p=q.records;var k=p.length<8?true:false;l=k;u.appendTo(d);u.jqxDropDownList({hint:false,placeHolder:I.gridlocalization.filterchoosestring,disabled:I.disabled,touchMode:I.touchmode,rtl:I.rtl,checkboxes:w,dropDownWidth:E,source:q.records,autoDropDownHeight:k,theme:this.theme,width:B-9,height:this.filterrowheight-9,displayMember:D.displayfield,valueMember:v});u.attr("tabindex",5+D.visibleindex);u.attr("default-placeholder",true);if(D.createfilterwidget){D.createfilterwidget(D,d,u)}this.addHandler(u,"open",function(){s._activeFilterElement=u});var c=u.jqxDropDownList("listBox");if(w){u.jqxDropDownList({selectionRenderer:function(){var f='<span class="'+I.toThemeProperty("jqx-item")+'" style="top: 4px; position: relative; color: inherit; border: none; background-color: transparent;">'+I.gridlocalization.filterselectstring+"</span>";return f}});var z=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+I.gridlocalization.filterselectstring+"</span>");z.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!l){c.host.height(200)}c.insertAt({label:I.gridlocalization.filterselectallstring},0);u.jqxDropDownList("setContent",z);var i=true;var H=new Array();c.checkAll(false);I.addHandler(c.host,"checkChange",function(K){u[0]._selectionChanged=true;if(!i){return}if(K.args.label!=I.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var J=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(J.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(K.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);u.jqxDropDownList({selectedIndex:0})}D._filterwidget=u;var o=u.jqxDropDownList("dropdownlistWrapper");if(D.filtertype=="list"){this.addHandler(u,"select",function(f){if(!I.refreshingfilter){if(f.args&&f.args.type!="none"){I._applyfilterfromfilterrow();I.focusedfilter=null}}})}else{this.addHandler(u,"close",function(f){if(u[0]._selectionChanged){I._applyfilterfromfilterrow();I.focusedfilter=null;u[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var x=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>');x.appendTo(d);x.jqxCheckBox({disabled:I.disabled,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});x.attr("tabindex",5+D.visibleindex);if(D.createfilterwidget){D.createfilterwidget(D,d,x)}if(A===true||A=="true"){x.jqxCheckBox({checked:true})}else{if(A===false||A=="false"){x.jqxCheckBox({checked:false})}}D._filterwidget=x;this.addHandler(x,"change",function(f){if(!I.refreshingfilter){if(f.args){I.focusedfilter=null;I._applyfilterfromfilterrow()}}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt({label:this.gridlocalization.filterselectallstring},0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){if(b.items[0].label!==this.gridlocalization.filterchoosestring){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("group")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}this._showwhere=a(p).find(".filter.showwhere");var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();if(E.filtertype=="date"){j.jqxDateTimeInput("destroy");h.jqxDateTimeInput("destroy");e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",{label:s.gridlocalization.filterselectallstring},0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}this._hasdatefilter=true;var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 2px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);
 
-(function(a){a.jqx.dataview.sort=function(){this.sortby=function(d,g,u){var o=Object.prototype.toString;if(g==null){this.sortdata=null;if(this.grid.sortmode!=="many"){this.sortcache={}}else{if(this.sortcache[d]){delete this.sortcache[d]}}this.grid._pagescache=new Array();this.grid._cellscache=new Array();if(this.grid.sortmode!=="many"){this.refresh();return}}if(this.grid.sortmode==="many"){this.grid._pagescache=new Array();this.grid._cellscache=new Array()}if(g!=null){if(g=="a"||g=="asc"||g=="ascending"||g==true){g=true}else{g=false}}var h=d;this.sortfield=d;this.sortfielddirection=g?"asc":"desc";if(g==null){this.sortfielddirection=null}if(this.sortcache==undefined){this.sortcache={}}this.sortdata=[];var b=[];var c=false;if(h=="constructor"){h=""}if(!this.virtualmode&&this.sortcache[h]!=null&&this.grid.sortmode!=="many"){var t=this.sortcache[h];b=t._sortdata;if(t.direction==g){b.reverse()}else{if(!t.direction&&g){b.reverse()}c=true}if(b.length<this.totalrecords){this.sortcache={};c=false;b=[]}}Object.prototype.toString=(typeof d=="function")?d:function(){return this[d]};var x=this.records;var z=this.that;var q="";if(this.source.datafields){a.each(this.source.datafields,function(){if(this.name==d){if(this.type){q=this.type}return false}})}if(b.length==0){if(x.length){var j=x.length;for(var w=0;w<j;w++){var f=x[w];if(f!=null){var k=f;var y=k.toString();b.push({sortkey:y,value:k,index:w})}}}else{var n=false;for(var s in x){var f=x[s];if(f==undefined){n=true;break}var k=f;b.push({sortkey:k.toString(),value:k,index:s})}if(n){a.each(x,function(A,B){b.push({sortkey:B.toString(),value:B,index:A})})}}}if(!c){if(u==null){this._sortcolumntype=q;var m=this;b.sort(function(A,i){return m._compare(A,i,q)})}else{b.sort(u)}}if(!g){b.reverse()}Object.prototype.toString=o;this.sortdata=b;if(g!==null){this.sortcache[h]={_sortdata:b,direction:g,dataType:this._sortcolumntype,dataField:h}}if(this.grid.sortmode==="many"){var v=[];var r=[];var e=[];for(var l in this.sortcache){if(l==="data"){continue}var t=this.sortcache[l];v.push(t.dataField);r.push(t.direction?"asc":"desc");e.push(t.dataType)}if(v.length>0){var p=this.multiSort(x,v,r,e);b=[];a.each(p,function(A,B){b.push({sortkey:h,value:B,index:B.boundindex})});this.sortdata=b}else{this.sortcache={};this.sortdata=null;this.refresh();return}}this.reload(this.records,this.rows,this.filters,this.updated,true)},this.multiSort=function(g,c,k,m,f){var j=this;if(g.length===0){return}var b=[];for(var h=0;h<g.length;h++){var p=a.extend({},g[h]);b.push(p)}var l=false;if(b&&b.constructor&&b.constructor.name==="ObservableArray"){l=true}if(!b||!(b instanceof Array)||b.length===0||!c||c instanceof Array&&c.length===0){if(!l){throw new Error("sort: Missing or Invalid arguments!")}}if(typeof c==="string"){c=[c]}var e=[],o=[];if(k===undefined){k=[]}var d=function(i,s){var r=s||typeof i;var q;switch(r){case"string":default:q=new Intl.Collator().compare;break;case"date":case"time":case"datetime":case"number":case"int":case"float":q=function(u,t){return u-t};break;case"boolean":q=function(u,t){if(u===t){return 0}else{if(u===false){return -1}else{return 1}}};break;case"object":if(i instanceof Date){q=function(u,t){return u.getTime()-t.getTime()}}break}return q};for(var h=0;h<c.length;h++){if(k[h]===undefined||k[h]==="asc"||k[h]==="ascending"){e[h]=1}else{e[h]=-1}var n=b[0][c[h]];o[h]=d(n,m[h])}if(f){f(b,c,k,o);return}b.sort(function(s,r){for(var t=0;t<c.length;t++){var q=o[t](s[c[t]],r[c[t]]);if(q===0){if(c[t+1]){continue}else{if(s._index!==undefined){return(s._index-r._index)*e[t]}}return 0}return q*e[t]}if(c.length===0){if(s.boundIndex<r.boundIndex){return -1}if(s.boundIndex>r.boundIndex){return 1}return 0}});return b},this.clearsortdata=function(){this.sortcache={};this.sortdata=null};this._compare=function(c,b,e){var c=c.sortkey;var b=b.sortkey;if(c===undefined){c=null}if(b===undefined){b=null}if(c===null&&b===null){return 0}if(c===null&&b!==null){return -1}if(c!==null&&b===null){return 1}if(a.jqx.dataFormat){if(e&&e!=""){switch(e){case"number":case"int":case"float":if(c<b){return -1}if(c>b){return 1}return 0;case"date":case"time":if(c<b){return -1}if(c>b){return 1}return 0;case"string":case"text":c=String(c).toLowerCase();b=String(b).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(c)&&a.jqx.dataFormat.isNumber(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(a.jqx.dataFormat.isDate(c)&&a.jqx.dataFormat.isDate(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(c)&&!a.jqx.dataFormat.isNumber(b)){c=String(c).toLowerCase();b=String(b).toLowerCase()}}}}}try{if(c<b){return -1}if(c>b){return 1}}catch(d){var f=d}return 0};this._equals=function(c,b){return(this._compare(c,b)===0)}};a.extend(a.jqx._jqxGrid.prototype,{_rendersortcolumn:function(){var b=this.that;var h=this.getsortcolumn();if(this.sortmode==="many"){this.__columnsbydatafield=new Array();var d=this.getsortcolumns();a.each(this.columns.records,function(j,k){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");this.element.removeAttribute("sort")});if(d.length>0){for(var c=0;c<d.length;c++){var e=d[c];var g=this._getcolumnbydatafield(e.dataField);g.element.setAttribute("sort",true);if(b.isMaterialized()||b.isModern()){a(g.sorticon).show();a(g.sorticon).css("visibility","inherit");a(g.sorticon).removeClass("ascending");a(g.sorticon).removeClass("descending");if(e.ascending){a(g.sorticon).addClass("ascending")}else{a(g.sorticon).addClass("descending")}}else{if(e.ascending){a(g.sortasc).show();a(g.sortdesc).hide()}else{if(e.ascending===false){a(g.sortasc).hide();a(g.sortdesc).show()}}}}}return}if(this.sortdirection){var f=function(j,k){var i=b.getcolumn(j);if(i){if(k.ascending){a.jqx.aria(i.element,"aria-sort","ascending")}else{if(k.descending){a.jqx.aria(i.element,"aria-sort","descending")}else{a.jqx.aria(i.element,"aria-sort","none")}}}};if(this._oldsortinfo){if(this._oldsortinfo.column){f(this._oldsortinfo.column,{ascending:false,descending:false})}}f(h,this.sortdirection)}this._oldsortinfo={column:h,direction:this.sortdirection};if(this.sortdirection){a.each(this.columns.records,function(k,l){var j=a.data(document.body,"groupsortelements"+this.displayfield);if(h==null||this.displayfield!=h){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");this.element.removeAttribute("sort");if(j!=null){j.sortasc.hide();j.sortdesc.hide()}}else{if(b.isMaterialized()||b.isModern()){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).show();a(this.sorticon).css("visibility","inherit");if(j!=null){j.sortasc.hide();j.sortdesc.show()}a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");if(b.sortdirection.ascending){a(this.sorticon).addClass("ascending")}else{a(this.sorticon).addClass("descending")}}else{if(b.sortdirection.ascending){a(this.sortasc).show();a(this.sortdesc).hide();if(j!=null){j.sortasc.show();j.sortdesc.hide()}}else{a(this.sortasc).hide();a(this.sortdesc).show();if(j!=null){j.sortasc.hide();j.sortdesc.show()}}}this.element.setAttribute("sort",true)}})}},getsortcolumns:function(){var c=this;var b=[];for(var e in c.dataview.sortcache){if(e==="data"){continue}b.push({dataField:e,ascending:c.dataview.sortcache[e].direction})}if(b.length===0){for(var f in c.sortcolumns){var d=c.sortcolumns[f];if(d!==null){b.push({dataField:f,ascending:d})}}}return b},getsortcolumn:function(){if(this.sortcolumn!=undefined){return this.sortcolumn}return null},removesort:function(){this.sortby(null);if(this.sortmode==="many"){for(var b in this.sortcolumns){this.sortby(b,null)}}},sortby:function(d,h,g,f,b){if(this._loading&&b!==false){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){h=null;d=this.sortcolumn}if(d!=undefined){var c=this.that;if(g==undefined&&c.source.sortcomparer!=null){g=c.source.sortcomparer}if(h===undefined){h=true}if(h=="a"||h=="asc"||h=="ascending"||h==true){var e=true}else{var e=false}if(h!=null){c.sortdirection={ascending:e,descending:!e}}else{c.sortdirection={ascending:false,descending:false}}if(h!=null){c.sortcolumn=d}else{c.sortcolumn=null}if(!c.sortcolumns){c.sortcolumns=[]}c.sortcolumns[d]=h;if(c.source.sort||c.virtualmode){c.dataview.sortfield=d;if(h==null){c.dataview.sortfielddirection=""}else{c.dataview.sortfielddirection=e?"asc":"desc"}if(c.source.sort&&!this._loading){c.source.sort(d,h,c.sortcolumns);c._raiseEvent(6,{sortinformation:c.getsortinformation()});return}}else{c.dataview.sortby(d,h,g)}if(f===false){return}if(c.groupable&&c.groups.length>0){c._render(true,false,false);if(c._updategroupheadersbounds&&c.showgroupsheader){c._updategroupheadersbounds()}c._postrender("sort")}else{if(c.pageable){c.dataview.updateview()}c._updaterowsproperties();c.rendergridcontent(true);c._postrender("sort")}c._raiseEvent(6,{sortinformation:c.getsortinformation()})}},_togglesort:function(f){var b=this.that;if(this.disabled){return}if(this.sortmode==="many"){if(f.sortable&&b.sortable){var e=b.getsortcolumns();var g=null;for(var d=0;d<e.length;d++){var j=e[d];var h=f.displayfield;if(h===j.dataField){g=j.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}b.sortby(f.displayfield,g,null);return}}b.sortby(f.displayfield,true,null)}return}if(f.sortable&&b.sortable){var c=b.getsortinformation();var g=null;if(c.sortcolumn!=null&&c.sortcolumn==f.displayfield){g=c.sortdirection.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}}else{g=true}b.sortby(f.displayfield,g,null)}}})})(jqxBaseFramework);
+(function(a){a.jqx.dataview.sort=function(){this.sortby=function(d,g,u){var o=Object.prototype.toString;if(g==null){this.sortdata=null;if(this.grid.sortmode!=="many"){this.sortcache={}}else{if(this.sortcache[d]){delete this.sortcache[d]}}this.grid._pagescache=new Array();this.grid._cellscache=new Array();if(this.grid.sortmode!=="many"){this.refresh();return}}if(this.grid.sortmode==="many"){this.grid._pagescache=new Array();this.grid._cellscache=new Array()}if(g!=null){if(g=="a"||g=="asc"||g=="ascending"||g==true){g=true}else{g=false}}var h=d;this.sortfield=d;this.sortfielddirection=g?"asc":"desc";if(g==null){this.sortfielddirection=null}if(this.sortcache==undefined){this.sortcache={}}this.sortdata=[];var b=[];var c=false;if(h=="constructor"){h=""}if(!this.virtualmode&&this.sortcache[h]!=null&&this.grid.sortmode!=="many"){var t=this.sortcache[h];b=t._sortdata;if(t.direction==g){b.reverse()}else{if(!t.direction&&g){b.reverse()}c=true}if(b.length<this.totalrecords){this.sortcache={};c=false;b=[]}}Object.prototype.toString=(typeof d=="function")?d:function(){return this[d]};var x=this.records;var z=this.that;var q="";if(this.source.datafields){a.each(this.source.datafields,function(){if(this.name==d){if(this.type){q=this.type}return false}})}if(b.length==0){if(x.length){var j=x.length;for(var w=0;w<j;w++){var f=x[w];if(f!=null){var k=f;var y=k.toString();b.push({sortkey:y,value:k,index:w})}}}else{var n=false;for(var s in x){var f=x[s];if(f==undefined){n=true;break}var k=f;b.push({sortkey:k.toString(),value:k,index:s})}if(n){a.each(x,function(A,B){b.push({sortkey:B.toString(),value:B,index:A})})}}}if(!c){if(u==null){this._sortcolumntype=q;var m=this;b.sort(function(A,i){return m._compare(A,i,q)})}else{b.sort(u)}}if(!g){b.reverse()}Object.prototype.toString=o;this.sortdata=b;if(g!==null){this.sortcache[h]={_sortdata:b,direction:g,dataType:this._sortcolumntype,dataField:h}}if(this.grid.sortmode==="many"){var v=[];var r=[];var e=[];for(var l in this.sortcache){if(l==="data"){continue}var t=this.sortcache[l];v.push(t.dataField);r.push(t.direction?"asc":"desc");e.push(t.dataType)}if(v.length>0){var p=this.multiSort(x,v,r,e);b=[];a.each(p,function(A,B){b.push({sortkey:h,value:B,index:B.boundindex})});this.sortdata=b}else{this.sortcache={};this.sortdata=null;this.refresh();return}}this.reload(this.records,this.rows,this.filters,this.updated,true)},this.multiSort=function(g,c,k,m,f){var j=this;if(g.length===0){return}var b=[];for(var h=0;h<g.length;h++){var p=a.extend({},g[h]);b.push(p)}var l=false;if(b&&b.constructor&&b.constructor.name==="ObservableArray"){l=true}if(!b||!(b instanceof Array)||b.length===0||!c||c instanceof Array&&c.length===0){if(!l){throw new Error("sort: Missing or Invalid arguments!")}}if(typeof c==="string"){c=[c]}var e=[],o=[];if(k===undefined){k=[]}var d=function(i,s){var r=s||typeof i;var q;switch(r){case"string":default:q=new Intl.Collator().compare;break;case"date":case"time":case"datetime":case"number":case"int":case"float":q=function(u,t){return u-t};break;case"boolean":q=function(u,t){if(u===t){return 0}else{if(u===false){return -1}else{return 1}}};break;case"object":if(i instanceof Date){q=function(u,t){return u.getTime()-t.getTime()}}break}return q};for(var h=0;h<c.length;h++){if(k[h]===undefined||k[h]==="asc"||k[h]==="ascending"){e[h]=1}else{e[h]=-1}var n=b[0][c[h]];o[h]=d(n,m[h])}if(f){f(b,c,k,o);return}b.sort(function(s,r){for(var t=0;t<c.length;t++){var q=o[t](s[c[t]],r[c[t]]);if(q===0){if(c[t+1]){continue}else{if(s._index!==undefined){return(s._index-r._index)*e[t]}}return 0}return q*e[t]}if(c.length===0){if(s.boundIndex<r.boundIndex){return -1}if(s.boundIndex>r.boundIndex){return 1}return 0}});return b},this.clearsortdata=function(){this.sortcache={};this.sortdata=null};this._compare=function(c,b,e){var c=c.sortkey;var b=b.sortkey;if(c===undefined){c=null}if(b===undefined){b=null}if(c===null&&b===null){return 0}if(c===null&&b!==null){return -1}if(c!==null&&b===null){return 1}if(a.jqx.dataFormat){if(e&&e!=""){switch(e){case"number":case"int":case"float":if(c<b){return -1}if(c>b){return 1}return 0;case"date":case"time":if(c<b){return -1}if(c>b){return 1}return 0;case"string":case"text":c=String(c).toLowerCase();b=String(b).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(c)&&a.jqx.dataFormat.isNumber(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(a.jqx.dataFormat.isDate(c)&&a.jqx.dataFormat.isDate(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(c)&&!a.jqx.dataFormat.isNumber(b)){c=String(c).toLowerCase();b=String(b).toLowerCase()}}}}}try{if(c<b){return -1}if(c>b){return 1}}catch(d){var f=d}return 0};this._equals=function(c,b){return(this._compare(c,b)===0)}};a.extend(a.jqx._jqxGrid.prototype,{_rendersortcolumn:function(){var b=this.that;var h=this.getsortcolumn();if(this.sortmode==="many"){this.__columnsbydatafield=new Array();var d=this.getsortcolumns();a.each(this.columns.records,function(j,k){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");this.element.removeAttribute("sort")});if(d.length>0){for(var c=0;c<d.length;c++){var e=d[c];var g=this._getcolumnbydatafield(e.dataField);g.element.setAttribute("sort",true);if(b.isMaterialized()||b.isModern()){a(g.sorticon).show();a(g.sorticon).css("visibility","inherit");a(g.sorticon).removeClass("ascending");a(g.sorticon).removeClass("descending");if(e.ascending){a(g.sorticon).addClass("ascending")}else{a(g.sorticon).addClass("descending")}}else{if(e.ascending){a(g.sortasc).show();a(g.sortdesc).hide()}else{if(e.ascending===false){a(g.sortasc).hide();a(g.sortdesc).show()}}}}}return}if(this.sortdirection){var f=function(j,k){var i=b.getcolumn(j);if(i){if(k.ascending){a.jqx.aria(i.element,"aria-sort","ascending")}else{if(k.descending){a.jqx.aria(i.element,"aria-sort","descending")}else{a.jqx.aria(i.element,"aria-sort","none")}}}};if(this._oldsortinfo){if(this._oldsortinfo.column){f(this._oldsortinfo.column,{ascending:false,descending:false})}}f(h,this.sortdirection)}this._oldsortinfo={column:h,direction:this.sortdirection};if(this.sortdirection){a.each(this.columns.records,function(k,l){var j=a.data(document.body,"groupsortelements"+this.displayfield);if(h==null||this.displayfield!=h){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");this.element.removeAttribute("sort");if(j!=null){j.sortasc.hide();j.sortdesc.hide()}}else{if(b.isMaterialized()||b.isModern()){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).show();a(this.sorticon).css("visibility","inherit");if(j!=null){j.sortasc.hide();j.sortdesc.show()}a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");if(b.sortdirection.ascending){a(this.sorticon).addClass("ascending")}else{a(this.sorticon).addClass("descending")}}else{if(b.sortdirection.ascending){a(this.sortasc).show();a(this.sortdesc).hide();if(j!=null){j.sortasc.show();j.sortdesc.hide()}}else{a(this.sortasc).hide();a(this.sortdesc).show();if(j!=null){j.sortasc.hide();j.sortdesc.show()}}}this.element.setAttribute("sort",true)}})}},getsortcolumns:function(){var c=this;var b=[];for(var e in c.dataview.sortcache){if(e==="data"){continue}b.push({dataField:e,ascending:c.dataview.sortcache[e].direction})}if(b.length===0){for(var f in c.sortcolumns){var d=c.sortcolumns[f];if(d!==null){b.push({dataField:f,ascending:d})}}}return b},getsortcolumn:function(){if(this.sortcolumn!=undefined){return this.sortcolumn}return null},removesort:function(){this.sortby(null);if(this.sortmode==="many"){for(var b in this.sortcolumns){this.sortby(b,null)}}},sortby:function(d,h,g,f,b){if(this._loading&&b!==false){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){h=null;d=this.sortcolumn}if(d!=undefined){var c=this.that;if(g==undefined&&c.source&&c.source.sortcomparer!=null){g=c.source.sortcomparer}if(h===undefined){h=true}if(h=="a"||h=="asc"||h=="ascending"||h==true){var e=true}else{var e=false}if(h!=null){c.sortdirection={ascending:e,descending:!e}}else{c.sortdirection={ascending:false,descending:false}}if(h!=null){c.sortcolumn=d}else{c.sortcolumn=null}if(!c.sortcolumns){c.sortcolumns=[]}c.sortcolumns[d]=h;if(c.source&&(c.source.sort||c.virtualmode)){c.dataview.sortfield=d;if(h==null){c.dataview.sortfielddirection=""}else{c.dataview.sortfielddirection=e?"asc":"desc"}if(c.source.sort&&!this._loading){c.source.sort(d,h,c.sortcolumns);c._raiseEvent(6,{sortinformation:c.getsortinformation()});return}}else{c.dataview.sortby(d,h,g)}if(f===false){return}if(c.groupable&&c.groups.length>0){c._render(true,false,false);if(c._updategroupheadersbounds&&c.showgroupsheader){c._updategroupheadersbounds()}c._postrender("sort")}else{if(c.pageable){c.dataview.updateview()}c._updaterowsproperties();c.rendergridcontent(true);c._postrender("sort")}c._raiseEvent(6,{sortinformation:c.getsortinformation()})}},_togglesort:function(f){var b=this.that;if(this.disabled){return}if(this.sortmode==="many"){if(f.sortable&&b.sortable){var e=b.getsortcolumns();var g=null;for(var d=0;d<e.length;d++){var j=e[d];var h=f.displayfield;if(h===j.dataField){g=j.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}b.sortby(f.displayfield,g,null);return}}b.sortby(f.displayfield,true,null)}return}if(f.sortable&&b.sortable){var c=b.getsortinformation();var g=null;if(c.sortcolumn!=null&&c.sortcolumn==f.displayfield){g=c.sortdirection.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}}else{g=true}b.sortby(f.displayfield,g,null)}}})})(jqxBaseFramework);
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{exportdata:function(s,C,B,q,t,v,h){if(!a.jqx.dataAdapter.ArrayExporter){throw"jqxGrid: Missing reference to jqxdata.export.js!"}if(B==undefined){B=true}var L=this;if(q==undefined){var q=this.getrows();if(q.length==0){throw"No data to export."}}this.exporting=true;if(!this.pageable){this.loadondemand=true}if(this.altrows){this._renderrows(this.virtualsizeinfo)}var A=this.hScrollInstance.value;this.hScrollInstance.setPosition(0);this._renderrows(this.virtualsizeinfo);var J=t!=undefined?t:false;var H={};var p={};var x=[];var n=this.host.find(".jqx-grid-cell:first");var y=this.host.find(".jqx-grid-cell-alt:first");n.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));y.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));y.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(this.toThemeProperty("jqx-fill-state-hover"));y.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));y.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var k="cell";var g=1;var I="column";var e=1;var l=[];for(var E=0;E<this.columns.records.length;E++){var f=this.columns.records[E];if(f.cellclassname!=""){f.customCellStyles=new Array();if(typeof f.cellclassname=="string"){for(var F=0;F<q.length;F++){f.customCellStyles[F]=f.cellclassname}}else{for(var F=0;F<q.length;F++){var w=this.getrowboundindex(F);var d=f.cellclassname(w,f.displayfield,q[F][f.displayfield],q[F]);if(d){f.customCellStyles[F]=d}}}}}var z=new Array();var K=null;var c=null;var b=null;a.each(this.columns.records,function(O){var S=a(L.table[0].rows[0].cells[O]);if(L.table[0].rows.length>1){var j=a(L.table[0].rows[1].cells[O]);if(!b){b=j}}if(!c){c=S}var N=this;var P=function(U){U.removeClass(L.toThemeProperty("jqx-grid-cell-selected"));U.removeClass(L.toThemeProperty("jqx-fill-state-pressed"));U.removeClass(L.toThemeProperty("jqx-grid-cell-hover"));U.removeClass(L.toThemeProperty("jqx-fill-state-hover"));if(N.customCellStyles){for(var V in N.customCellStyles){U.removeClass(N.customCellStyles[V])}}};P(S);if(j){P(j)}if(this.displayfield==null){return true}if(L.showaggregates){if(L.getcolumnaggregateddata){l.push(L.getcolumnaggregateddata(this.displayfield,this.aggregates,true,q))}}var R=L._getexportcolumntype(this);if(this.exportable&&(!this.hidden||J)){H[this.displayfield]={};H[this.displayfield].text=this.text;H[this.displayfield].width=parseInt(this.width);if(isNaN(H[this.displayfield].width)){H[this.displayfield].width=60}H[this.displayfield].formatString=this.cellsformat;H[this.displayfield].localization=L.gridlocalization;H[this.displayfield].type=R;H[this.displayfield].cellsAlign=this.cellsalign;H[this.displayfield].hidden=!B;H[this.displayfield].displayfield=this.displayfield;z.push(H[this.displayfield])}k="cell"+g;var T=a(this.element);if(this.element==undefined){T=a(this.uielement)}if(!K){K=T}else{if(!N._rendered){T=K;S=c;j=b;var Q=L.toTP("jqx-grid-cell")+" "+L.toTP("jqx-item");S[0].className=Q;Q+=L.toTP("jqx-grid-cell-alt");if(j){j[0].className=Q}}}I="column"+e;if(s=="html"||s=="xls"||s=="pdf"){var i=function(U,ac,ab,V,aa,X,W,Y,Z){p[U]={};if(ac==undefined){return}if(ac[0].offsetWidth==0||ac[0].offsetHeight==0){return}p[U]["font-size"]=ac.css("font-size");p[U]["font-weight"]=ac.css("font-weight");p[U]["font-style"]=ac.css("font-style");p[U]["background-color"]=X._getexportcolor(ac.css("background-color"));p[U]["color"]=X._getexportcolor(ac.css("color"));p[U]["border-color"]=X._getexportcolor(ac.css("border-top-color"));if(ab){p[U]["text-align"]=aa.align}else{p[U]["text-align"]=aa.cellsalign;p[U]["formatString"]=aa.cellsformat;p[U]["dataType"]=R}if(s=="html"||s=="pdf"){p[U]["border-top-width"]=ac.css("border-top-width");p[U]["border-left-width"]=ac.css("border-left-width");p[U]["border-right-width"]=ac.css("border-right-width");p[U]["border-bottom-width"]=ac.css("border-bottom-width");p[U]["border-top-style"]=ac.css("border-top-style");p[U]["border-left-style"]=ac.css("border-left-style");p[U]["border-right-style"]=ac.css("border-right-style");p[U]["border-bottom-style"]=ac.css("border-bottom-style");if(ab){if(W==0){p[U]["border-left-width"]=ac.css("border-right-width")}p[U]["border-top-width"]=ac.css("border-right-width");p[U]["border-bottom-width"]=ac.css("border-bottom-width")}else{if(W==0){p[U]["border-left-width"]=ac.css("border-right-width")}}p[U]["height"]=ac.css("height")}if(aa.exportable&&(!aa.hidden||J)){if(Y==true){if(!H[aa.displayfield].customCellStyles){H[aa.displayfield].customCellStyles=new Array()}H[aa.displayfield].customCellStyles[Z]=U}else{if(ab){H[aa.displayfield].style=U}else{if(!V){H[aa.displayfield].cellStyle=U}else{H[aa.displayfield].cellAltStyle=U}}}}};i(I,T,true,false,this,L,O);e++;i(k,S,false,false,this,L,O);if(L.altrows){k="cellalt"+g;i(k,j,false,true,this,L,O)}if(this.customCellStyles){for(var M in N.customCellStyles){S.removeClass(N.customCellStyles[M])}for(var M in N.customCellStyles){S.addClass(N.customCellStyles[M]);i(k+N.customCellStyles[M],S,false,false,this,L,O,true,M);S.removeClass(N.customCellStyles[M])}}g++}});a.each(this.columns.records,function(i){if(H[this.displayfield]){H[this.displayfield].columnsDataFields=z}});if(this.showaggregates){var G=[];var D=s=="xls"?"_AG":"";var m=this.groupable?this.groups.length:0;if(this.rowdetails){m++}if(this.selectionmode==="checkbox"){m++}if(l.length>0){a.each(this.columns.records,function(j){if(this.aggregates){for(var N=0;N<this.aggregates.length;N++){if(!G[N]){G[N]={}}if(G[N]){var O=L._getaggregatename(this.aggregates[N]);var P=L._getaggregatetype(this.aggregates[N]);var M=l[j-m];if(M){G[N][this.displayfield]=D+O+": "+M[P]}}}}});a.each(this.columns.records,function(j){for(var M=0;M<G.length;M++){if(G[M][this.displayfield]==undefined){G[M][this.displayfield]=D}}})}a.each(G,function(){q.push(this)})}var o=this;var u=a.jqx.dataAdapter.ArrayExporter(q,H,p);if(C==undefined){this._renderrows(this.virtualsizeinfo);var r=u.exportTo(s);if(this.showaggregates){a.each(G,function(){q.pop(this)})}setTimeout(function(){o.exporting=false},50);this.hScrollInstance.setPosition(A);this._renderrows(this.virtualsizeinfo);return r}else{u.exportToFile(s,C,v,h)}if(this.showaggregates){a.each(G,function(){q.pop(this)})}this._renderrows(this.virtualsizeinfo);setTimeout(function(){o.exporting=false},50);this.hScrollInstance.setPosition(A);this._renderrows(this.virtualsizeinfo)},_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(b){return this._intToHex(b.r)+this._intToHex(b.g)+this._intToHex(b.b)},_intToHex:function(c){var b=(parseInt(c).toString(16));if(b.length==1){b=("0"+b)}return b.toUpperCase()},_getexportcolumntype:function(f){var g=this;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(f.cellsformat.indexOf("c")!=-1){return"number"}if(f.cellsformat.indexOf("n")!=-1){return"number"}if(f.cellsformat.indexOf("p")!=-1){return"number"}if(f.cellsformat.indexOf("d")!=-1){return"date"}if(f.cellsformat.indexOf("y")!=-1){return"date"}if(f.cellsformat.indexOf("M")!=-1){return"date"}if(f.cellsformat.indexOf("m")!=-1){return"date"}if(f.cellsformat.indexOf("t")!=-1){return"date"}if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e}})})(jqxBaseFramework);
+(function(b){b.extend(b.jqx._jqxGrid.prototype,{_exportData:function(R,J){var X=this;var N=typeof J==="string"?J:J.fileName;if(!N){N="jqxGrid"}if(!J||typeof J==="string"){J={header:true,filterBy:null,groupBy:null,style:null,fileName:N,pageOrientation:"portrait",expandChart:"+",collapseChar:"-"}}var ae=new b.jqx.dataAdapter.DataExporter({exportHeader:J.header});var V=[];ae.expandChar=J.expandChar;ae.collapseChar=J.collapseChar;ae.pageOrientation=J.pageOrientation;ae.style=J.style;ae.filterBy=J.filterBy;ae.groupBy=J.groupBy;var L=[];var W=X.columngroups||[];var Y=0;for(var U=0;U<X.columns.records.length;U++){if(X.columns.records[U].datafield!==null){L[Y++]={label:X.columns.records[U].text,dataField:X.columns.records[U].datafield}}}ae.header={columns:L,columngroups:W};if(!J.style){var aa=window.getComputedStyle(X.element);var H=window.getComputedStyle(X.columns.records.length>0&&X.columns.records[0].element?X.columns.records[0].element:X.host.find(".jqx-grid-header")[0]);var j=window.getComputedStyle(X.host.find(".jqx-grid-header")[0]);var ab=X.offsetWidth===0||X.offsetHeight===0;if(!ab){var ac=function(h){var g="Helvetica";var e=h.fontSize;var m=h.borderRightColor;var f=h.backgroundColor;var k=h.color;var d=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");function l(n){n=n.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(!n){return"#ffffff"}return"#"+c(n[1])+c(n[2])+c(n[3]).toUpperCase()}function c(n){return isNaN(n)?"00":d[(n-n%16)/16]+d[n%16]}return{borderColor:l(m),fontSize:e,fontFamily:g,color:l(k),backgroundColor:l(f)}};var P=ac(aa);var T=ac(H);var M=ac(j);var a={height:"30px",border:"1px solid "+P.borderColor,fontFamily:M.fontFamily,fontSize:M.fontSize,color:M.color,backgroundColor:T.backgroundColor,fontWeight:"400"};var ag={border:"1px solid "+P.borderColor,fontFamily:P.fontFamily,fontSize:P.fontSize};var O={height:X.rowsheight+"px"};for(var U=0;U<X.columns.records.length;U++){var ad=X.columns.records[U];if(!ad.exportable){continue}a[ad.datafield]={textAlign:ad.align,width:ad.width+"px",format:ad.cellsformat||""};var ah=ad.cellsformat||"";if(ad.dataType==="date"){ah="d"}else{if(ad.dataType==="dateTime"){ah="D"}else{if(ad.dataType==="time"){ah="t"}}}var S={textAlign:ad.cellsalign,format:ah};ag[ad.datafield]=S}if(X.altrows){O.alternationCount=2;O.alternationStart=0;O.alternationEnd=0;O.alternationIndex0Color=P.color;O.alternationIndex0BackgroundColor=P.backgroundColor;O.alternationIndex1Color=P.color;O.alternationIndex1BackgroundColor="#F5F5F5"}ae.style={border:"1px solid "+P.borderColor,borderCollapse:"collapse",header:a,columns:ag,rows:O}}}var af=this.getrows();var K=[];for(var U=0;U<af.length;U++){var Z=af[U];if(Z.hidden){continue}var I={};for(var i=0;i<X.columns.records.length;i++){var ad=X.columns.records[i];I[ad.datafield]=Z[ad.datafield]}K.push(I)}if(!J.groupBy&&X.groups){ae.groupBy=X.groups.slice(0)}var Q=ae.exportData(K,R,J.fileName,null);return Q},exportview:function(f,a){var e=this;e._exportData(f,a)},exportdata:function(Z,ab,ac,ad,X,T,al){if(!b.jqx.dataAdapter.ArrayExporter){throw"jqxGrid: Missing reference to jqxdata.export.js!"}if(Z==="xlsx"){this._exportData("xlsx",ab);return}if(ac==undefined){ac=true}var a=this;if(ad==undefined){var ad=this.getrows();if(ad.length==0){throw"No data to export."}}this.exporting=true;if(!this.pageable){this.loadondemand=true}if(this.altrows){this._renderrows(this.virtualsizeinfo)}var ae=this.hScrollInstance.value;this.hScrollInstance.setPosition(0);this._renderrows(this.virtualsizeinfo);var M=X!=undefined?X:false;var R={};var af={};var P=[];var ah=this.host.find(".jqx-grid-cell:first");var N=this.host.find(".jqx-grid-cell-alt:first");ah.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));ah.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));N.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));N.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));ah.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));ah.removeClass(this.toThemeProperty("jqx-fill-state-hover"));N.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));N.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var ak="cell";var am=1;var O="column";var ao=1;var aj=[];for(var W=0;W<this.columns.records.length;W++){var an=this.columns.records[W];if(an.cellclassname!=""){an.customCellStyles=new Array();if(typeof an.cellclassname=="string"){for(var V=0;V<ad.length;V++){an.customCellStyles[V]=an.cellclassname}}else{for(var V=0;V<ad.length;V++){var Q=this.getrowboundindex(V);var ap=an.cellclassname(Q,an.displayfield,ad[V][an.displayfield],ad[V]);if(ap){an.customCellStyles[V]=ap}}}}}var j=new Array();var i=null;var aq=null;var ar=null;b.each(this.columns.records,function(l){var d=b(a.table[0].rows[0].cells[l]);if(a.table[0].rows.length>1){var e=b(a.table[0].rows[1].cells[l]);if(!ar){ar=e}}if(!aq){aq=d}var m=this;var k=function(p){p.removeClass(a.toThemeProperty("jqx-grid-cell-selected"));p.removeClass(a.toThemeProperty("jqx-fill-state-pressed"));p.removeClass(a.toThemeProperty("jqx-grid-cell-hover"));p.removeClass(a.toThemeProperty("jqx-fill-state-hover"));if(m.customCellStyles){for(var o in m.customCellStyles){p.removeClass(m.customCellStyles[o])}}};k(d);if(e){k(e)}if(this.displayfield==null){return true}if(a.showaggregates){if(a.getcolumnaggregateddata){aj.push(a.getcolumnaggregateddata(this.displayfield,this.aggregates,true,ad))}}var g=a._getexportcolumntype(this);if(this.exportable&&(!this.hidden||M)){R[this.displayfield]={};R[this.displayfield].text=this.text;R[this.displayfield].width=parseInt(this.width);if(isNaN(R[this.displayfield].width)){R[this.displayfield].width=60}R[this.displayfield].formatString=this.cellsformat;R[this.displayfield].localization=a.gridlocalization;R[this.displayfield].type=g;R[this.displayfield].cellsAlign=this.cellsalign;R[this.displayfield].hidden=!ac;R[this.displayfield].displayfield=this.displayfield;j.push(R[this.displayfield])}ak="cell"+am;var c=b(this.element);if(this.element==undefined){c=b(this.uielement)}if(!i){i=c}else{if(!m._rendered){c=i;d=aq;e=ar;var h=a.toTP("jqx-grid-cell")+" "+a.toTP("jqx-item");d[0].className=h;h+=a.toTP("jqx-grid-cell-alt");if(e){e[0].className=h}}}O="column"+ao;if(Z=="html"||Z=="xls"||Z=="pdf"){var f=function(u,v,w,t,o,r,s,q,p){af[u]={};if(v==undefined){return}if(v[0].offsetWidth==0||v[0].offsetHeight==0){return}af[u]["font-size"]=v.css("font-size");af[u]["font-weight"]=v.css("font-weight");af[u]["font-style"]=v.css("font-style");af[u]["background-color"]=r._getexportcolor(v.css("background-color"));af[u]["color"]=r._getexportcolor(v.css("color"));af[u]["border-color"]=r._getexportcolor(v.css("border-top-color"));if(w){af[u]["text-align"]=o.align}else{af[u]["text-align"]=o.cellsalign;af[u]["formatString"]=o.cellsformat;af[u]["dataType"]=g}if(Z=="html"||Z=="pdf"){af[u]["border-top-width"]=v.css("border-top-width");af[u]["border-left-width"]=v.css("border-left-width");af[u]["border-right-width"]=v.css("border-right-width");af[u]["border-bottom-width"]=v.css("border-bottom-width");af[u]["border-top-style"]=v.css("border-top-style");af[u]["border-left-style"]=v.css("border-left-style");af[u]["border-right-style"]=v.css("border-right-style");af[u]["border-bottom-style"]=v.css("border-bottom-style");if(w){if(s==0){af[u]["border-left-width"]=v.css("border-right-width")}af[u]["border-top-width"]=v.css("border-right-width");af[u]["border-bottom-width"]=v.css("border-bottom-width")}else{if(s==0){af[u]["border-left-width"]=v.css("border-right-width")}}af[u]["height"]=v.css("height")}if(o.exportable&&(!o.hidden||M)){if(q==true){if(!R[o.displayfield].customCellStyles){R[o.displayfield].customCellStyles=new Array()}R[o.displayfield].customCellStyles[p]=u}else{if(w){R[o.displayfield].style=u}else{if(!t){R[o.displayfield].cellStyle=u}else{R[o.displayfield].cellAltStyle=u}}}}};f(O,c,true,false,this,a,l);ao++;f(ak,d,false,false,this,a,l);if(a.altrows){ak="cellalt"+am;f(ak,e,false,true,this,a,l)}if(this.customCellStyles){for(var n in m.customCellStyles){d.removeClass(m.customCellStyles[n])}for(var n in m.customCellStyles){d.addClass(m.customCellStyles[n]);f(ak+m.customCellStyles[n],d,false,false,this,a,l,true,n);d.removeClass(m.customCellStyles[n])}}am++}});b.each(this.columns.records,function(c){if(R[this.displayfield]){R[this.displayfield].columnsDataFields=j}});if(this.showaggregates){var S=[];var Y=Z=="xls"?"_AG":"";var ai=this.groupable?this.groups.length:0;if(this.rowdetails){ai++}if(this.selectionmode==="checkbox"){ai++}if(aj.length>0){b.each(this.columns.records,function(c){if(this.aggregates){for(var f=0;f<this.aggregates.length;f++){if(!S[f]){S[f]={}}if(S[f]){var e=a._getaggregatename(this.aggregates[f]);var d=a._getaggregatetype(this.aggregates[f]);var g=aj[c-ai];if(g){S[f][this.displayfield]=Y+e+": "+g[d]}}}}});b.each(this.columns.records,function(c){for(var d=0;d<S.length;d++){if(S[d][this.displayfield]==undefined){S[d][this.displayfield]=Y}}})}b.each(S,function(){ad.push(this)})}var ag=this;var U=b.jqx.dataAdapter.ArrayExporter(ad,R,af);if(ab==undefined){this._renderrows(this.virtualsizeinfo);var aa=U.exportTo(Z);if(this.showaggregates){b.each(S,function(){ad.pop(this)})}setTimeout(function(){ag.exporting=false},50);this.hScrollInstance.setPosition(ae);this._renderrows(this.virtualsizeinfo);return aa}else{U.exportToFile(Z,ab,T,al)}if(this.showaggregates){b.each(S,function(){ad.pop(this)})}this._renderrows(this.virtualsizeinfo);setTimeout(function(){ag.exporting=false},50);this.hScrollInstance.setPosition(ae);this._renderrows(this.virtualsizeinfo)},_getexportcolor:function(g){var r=g;if(g=="transparent"){r="#FFFFFF"}if(!r||!r.toString()){r="#FFFFFF"}if(r.toString().indexOf("rgb")!=-1){var p=r.split(",");if(r.toString().indexOf("rgba")!=-1){var t=parseInt(p[0].substring(5));var q=parseInt(p[1]);var o=parseInt(p[2]);var n=parseInt(p[3].substring(1,4));var a={r:t,g:q,b:o};var s=this._rgbToHex(a);if(t==0&&q==0&&o==0&&n==0){return"#ffffff"}return"#"+s}var t=parseInt(p[0].substring(4));var q=parseInt(p[1]);var o=parseInt(p[2].substring(1,4));var a={r:t,g:q,b:o};var s=this._rgbToHex(a);return"#"+s}else{if(r.toString().indexOf("#")!=-1){if(r.toString().length==4){var u=r.toString().substring(1,4);r+=u}}}return r},_rgbToHex:function(a){return this._intToHex(a.r)+this._intToHex(a.g)+this._intToHex(a.b)},_intToHex:function(d){var a=(parseInt(d).toString(16));if(a.length==1){a=("0"+a)}return a.toUpperCase()},_getexportcolumntype:function(m){var l=this;var n="string";var o=l.source.datafields||((l.source._source)?l.source._source.datafields:null);if(o){var j="";b.each(o,function(){if(this.name==m.displayfield){if(this.type){j=this.type}return false}});if(j){return j}}if(m!=null){if(this.dataview.cachedrecords==undefined){return n}var a=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return n}a=this.dataview.cachedrecords[0][m.displayfield];if(a!=null&&a.toString()==""){return"string"}}else{b.each(this.dataview.cachedrecords,function(){a=this[m.displayfield];return false})}if(a!=null){if(m.cellsformat.indexOf("c")!=-1){return"number"}if(m.cellsformat.indexOf("n")!=-1){return"number"}if(m.cellsformat.indexOf("p")!=-1){return"number"}if(m.cellsformat.indexOf("d")!=-1){return"date"}if(m.cellsformat.indexOf("y")!=-1){return"date"}if(m.cellsformat.indexOf("M")!=-1){return"date"}if(m.cellsformat.indexOf("m")!=-1){return"date"}if(m.cellsformat.indexOf("t")!=-1){return"date"}if(typeof a=="boolean"){n="boolean"}else{if(b.jqx.dataFormat.isNumber(a)){n="number"}else{var k=new Date(a);if(k.toString()=="NaN"||k.toString()=="Invalid Date"){if(b.jqx.dataFormat){k=b.jqx.dataFormat.tryparsedate(a);if(k!=null){if(k&&k.getFullYear()){if(k.getFullYear()==1970&&k.getMonth()==0&&k.getDate()==1){var p=new Number(a);if(!isNaN(p)){return"number"}return"string"}}return"date"}else{n="string"}}else{n="string"}}else{n="date"}}}}}return n}})})(jqxBaseFramework);
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{_initpager:function(){var r=this.that;var j=this.gridlocalization.pagergotopagestring;var s=this.gridlocalization.pagerrangestring;var l=this.gridlocalization.pagershowrowsstring;var m=(this.pagerheight-28)/2;this.pagerdiv=this.pagerdiv||a('<div style="line-height: 26px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.vScrollBar.jqxScrollBar({thumbSize:0});return}if(!this.pagerrenderer){this.pagerdiv.css("top",m);this.pager.append(this.pagerdiv);this.pagergotoinput=this.pagergotoinput||a('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');this.pagergoto=this.pagergoto||a('<div style="float: right; margin-right: 7px;"></div>');this.pagerrightbutton=this.pagerrightbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerleftbutton=this.pagerleftbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerdetails=this.pagerdetails||a('<div style="margin-right: 7px; float: right;"></div>');this.pagershowrows=this.pagershowrows||a('<div style="margin-right: 7px; float: right;"></div>');this.pagerbuttons=a('<div style="margin-right: 3px; float: right;"></div>');if(this.pagershowrowscombo&&this.pagershowrowscombo.jqxDropDownList){this.pagershowrowscombo.remove();this.pagershowrowscombo=null}this.pagergotoinput.attr("disabled",this.disabled);this.pagerfirstbutton=a('<div type="button" style="padding: 0px; margin-left: 3px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagerlastbutton=a('<div type="button" style="padding: 0px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagershowrowscombo=this.pagershowrowscombo||a('<div id="gridpagerlist" style="margin-right: 7px; float: right;"></div>');this.pagerdiv.children().remove();this.pagershowrowscombo[0].id="gridpagerlist"+this.element.id;this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.removeHandler(this.pagerfirstbutton,"mousedown");this.removeHandler(this.pagerfirstbutton,"mouseup");this.removeHandler(this.pagerfirstbutton,"click");this.removeHandler(this.pagerlastbutton,"mousedown");this.removeHandler(this.pagerlastbutton,"mouseup");this.removeHandler(this.pagerlastbutton,"click");this.pagerleftbutton.attr("title",this.gridlocalization.pagerpreviousbuttonstring);this.pagerrightbutton.attr("title",this.gridlocalization.pagernextbuttonstring);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var n=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");n.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(n);var g=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);if(!this.rtl){this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton)}else{this.pagerdiv.append(this.pagerlastbutton);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerfirstbutton)}this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});var u=!this.rtl?"left":"right";this.pagerbuttons.css("float",u);this.pagerlastbutton.css("float",u);this.pagerfirstbutton.css("float",u);this.pagerrightbutton.css("float",u);this.pagerleftbutton.css("float",u);this.pagerdetails.css("float",this.rtl?"left":"right");if(this.rtl){this.pagerdetails.css("margin-left","7px");this.pagerdetails.css("margin-right","0px")}else{this.pagerdetails.css("margin-left","0px");this.pagerdetails.css("margin-right","7px")}this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show();if(!this.rtl){this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}this.pagerrightbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var c=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");c.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(c);var d=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(d);this.pagerdiv.append(this.pagerdetails);if(this.pagermode!="simple"){if(!this.rtl){this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagergoto)}else{this.pagerdiv.append(this.pagergoto);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagerdetails);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}var o=this.pagesizeoptions;if(!this.pagershowrowscombo.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}this.pagershowrowscombo.jqxDropDownList({rtl:this.rtl,disabled:this.disabled,source:o,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:this.theme});var q=0;for(var p=0;p<o.length;p++){if(this.pagesize>=o[p]){q=p}}this.pagershowrows[0].innerHTML=l;this.pagergoto[0].innerHTML=j;this.updatepagerdetails();this.pagershowrowscombo.jqxDropDownList({selectedIndex:q});this.pagerpageinput=this.pagergotoinput.find("input");this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));if(this.rtl){this.pagerpageinput.css("direction","rtl")}var t=6+(this.columns.records?this.columns.records.length:this.columns.length);this.pagerpageinput.attr("tabindex",t++);this.pagershowrowscombo.attr("tabindex",t++);this.pagerleftbutton.attr("tabindex",t++);this.pagerrightbutton.attr("tabindex",t++);var r=this.that;this.removeHandler(this.pagershowrowscombo,"select");this.addHandler(this.pagershowrowscombo,"select",function(x){if(x.args){if(r.vScrollInstance){r.vScrollInstance.setPosition(0)}if(r.editcell!=null&&r.endcelledit){r.endcelledit(r.editcell.row,r.editcell.column,true,false)}var v=x.args.index;var y=r.dataview.pagenum*r.dataview.pagesize;var w=o[v];var z=r.pagesize;r.pagesize=parseInt(w);if(isNaN(r.pagesize)){r.pagesize=10}r.dataview.pagesize=r.pagesize;var i=Math.floor(y/r.dataview.pagesize);r.prerenderrequired=true;r._requiresupdate=true;r._raiseEvent(10,{pagenum:i,oldpagesize:z,pagesize:r.dataview.pagesize});r.gotopage(i);if(r.autoheight&&r._updatesizeonwindowresize){r._updatesize(true);setTimeout(function(){r._updatesize(true)},500)}setTimeout(function(){r.pagershowrowscombo.focus()},25)}});var k=this.pagergotoinput.find("input");k.addClass(this.toThemeProperty("jqx-grid-pager-input"));k.addClass(this.toThemeProperty("jqx-rc-all"));this.removeHandler(k,"keydown");this.removeHandler(k,"change");this.addHandler(k,"keydown",function(i){if(i.keyCode>=65&&i.keyCode<=90){return false}if(i.keyCode=="13"){var v=k.val();v=parseInt(v);if(!isNaN(v)){r.gotopage(v-1);setTimeout(function(){k.focus()},25)}return false}});this.addHandler(k,"change",function(){var i=k.val();i=parseInt(i);if(!isNaN(i)){r.gotopage(i-1);setTimeout(function(){k.focus()},25)}});this.addHandler(this.pagerrightbutton,"mouseenter",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+this.element.id,function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerrightbutton,"click",function(){if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}}});this.addHandler(this.pagerleftbutton,"click",function(){if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}}});this.addHandler(this.pagerrightbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}setTimeout(function(){r.pagerrightbutton.focus()},25)}});this.addHandler(this.pagerleftbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}setTimeout(function(){r.pagerleftbutton.focus()},25)}});var f=this;if(this.pagermode==="simple"){var e=this.pagerfirstbutton;var h=this.pagerlastbutton;this.addHandler(h,"mouseenter",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseenter",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mouseleave",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseleave",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mousedown",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mousedown",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(h,"mouseup",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mouseup",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+name+this.element.id,function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"));if(g){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"));n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))}});this.addHandler(e,"click",function(){if(!e.jqxButton("disabled")){if(!f.rtl){f.gotopage(0)}else{var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}}});this.addHandler(h,"click",function(){if(!h.jqxButton("disabled")){if(!f.rtl){var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}else{f.gotopage(0)}}})}}else{this.pagerdiv.children().remove();var b=this.pagerrenderer();if(b!=null){this.pagerdiv.append(a(b))}this.pager.append(this.pagerdiv)}this.vScrollBar.jqxScrollBar("refresh");this._arrange()},_updatepagertheme:function(){if(this.pagershowrowscombo==null){return}this.pagershowrowscombo.jqxDropDownList({theme:this.theme});this.pagerrightbutton.jqxButton({theme:this.theme});this.pagerleftbutton.jqxButton({theme:this.theme});this.pagerpageinput.removeClass();var c=this.pagergotoinput.find("input");c.removeClass();c.addClass(this.toThemeProperty("jqx-grid-pager-input"));c.addClass(this.toThemeProperty("jqx-rc-all"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var d=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(d);var e=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(e);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var h=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");h.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(h);var g=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton);this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerbuttons.css("float","left");this.pagerlastbutton.css("float","left");this.pagerfirstbutton.css("float","left");this.pagerrightbutton.css("float","left");this.pagerleftbutton.css("float","left");this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show()}var b=function(j,i){j.removeHandler(i,"mouseenter");j.removeHandler(i,"mouseleave");j.removeHandler(i,"mousedown");j.removeHandler(i,"mouseup")};b(this,this.pagerrightbutton);b(this,this.pagerleftbutton);var f=this.that;this.addHandler(this.pagerrightbutton,"mouseenter",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))})},gotopage:function(e){if(e==null||e==undefined){e=0}if(e==-1){e=0}if(e<0){return}var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var f=this.pagenum;this._raiseEvent(25,{oldpagenum:this.dataview.pagenum,pagenum:e,pagesize:this.dataview.pagesize});var c=Math.ceil(d/this.pagesize);if(e>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(e>0){e=c-1}if(e<0){e=0}}if(this.dataview.pagenum!=e||this._requiresupdate){if(this.pageable){if(this.source.pager){this.source.pager(e,this.dataview.pagesize,this.dataview.pagenum)}this.dataview.pagenum=e;if(this.virtualmode){this.hiddens=new Array();this.expandedgroups=new Array();if(this.rendergridrows){var i=e*this.dataview.pagesize;var h=i+this.dataview.pagesize;if(i!=null&&h!=null){if(this.pagerrightbutton){this.pagerrightbutton.jqxButton({disabled:true});this.pagerleftbutton.jqxButton({disabled:true});this.pagershowrowscombo.jqxDropDownList({disabled:true})}if(this.pagerfirstbutton){this.pagerfirstbutton.jqxButton({disabled:true});this.pagerlastbutton.jqxButton({disabled:true})}this.updatebounddata("pagechanged");this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});this.updatepagerdetails();if(this.autosavestate){if(this.savestate){this.savestate()}}return}}}else{this.dataview.updateview()}this._loadrows();this._updatepageviews();this.tableheight=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this.updatepagerdetails();if(this.autoheight||this.autorowheight){var g=this.host.height()-this._gettableheight();var b=g+this._pageviews[0].height;if(b!=this.host.height()){this._arrange();this._updatepageviews();if(this.autorowheight){this._renderrows(this.virtualsizeinfo)}}}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}this.focus();this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});if(this.autosavestate){if(this.savestate){this.savestate()}}}}},gotoprevpage:function(){if(this.dataview.pagenum>0){this.gotopage(this.dataview.pagenum-1)}else{if(this.pagermode!="simple"){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);this.gotopage(b-1)}}},gotonextpage:function(){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);if(this.dataview.pagenum<b-1){this.gotopage(this.dataview.pagenum+1)}else{if(this.pagermode!="simple"){this.gotopage(0)}}},updatepagerdetails:function(){if(this.pagerdetails!=null&&this.pagerdetails.length>0){var n=this.dataview.pagenum*this.pagesize;var d=(this.dataview.pagenum+1)*this.pagesize;if(d>=this.dataview.totalrecords){d=this.dataview.totalrecords}var q=this.dataview.totalrecords;if(this.summaryrows){q+=this.summaryrows.length;if((this.dataview.pagenum+1)*this.pagesize>this.dataview.totalrecords){d=q}}n++;var g=Math.ceil(q/this.dataview.pagesize);if(g>=1){g--}g++;if(this.pagermode!=="simple"){var o=this.pagergotoinput.find("input");o.val(this.dataview.pagenum+1)}else{var b="";var f=this.pagerbuttonscount;if(f==0||!f){f=5}var h=0;if(this.rtl){h=f-1}while((this.rtl&&h>=0)||(!this.rtl&&h<f)){var m=1+h;var k=this.dataview.pagenum/f;var e=Math.floor(k);m+=e*f;var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(m>g){break}if(!this.rtl){if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>";if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}}else{if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>"}if(this.rtl){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(!this.rtl){h++}else{h--}}var p=this["pagerbuttons"].find("a");this.removeHandler(p,"click");this.removeHandler(p,"mouseenter");this.removeHandler(p,"mouseleave");this["pagerbuttons"][0].innerHTML=b;var j=this;var c=function(){j.addHandler(p,"click",function(i){var r=a(i.target).attr("data-page");j.gotopage(parseInt(r)-1);return false});j.addHandler(p,"mouseenter",function(i){a(i.target).addClass(j.toTP("jqx-fill-state-hover"))});j.addHandler(p,"mouseleave",function(i){a(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};var p=this["pagerbuttons"].find("a");c(p)}this.pagergotoinput.attr("title","1 - "+g);if(d==0&&d<n){n=0}if(!this.rtl){this.pagerdetails[0].innerHTML=n+"-"+d+this.gridlocalization.pagerrangestring+q}else{this.pagerdetails[0].innerHTML=q+this.gridlocalization.pagerrangestring+d+"-"+n}if(n>d){this.gotoprevpage()}}},_updatepagedview:function(e,g,b){var j=this.that;if(this.dataview.rows.length!=this.dataview.pagesize){this.dataview.updateview()}var k=this.dataview.rows.length;for(var d=0;d<k;d++){var f=this.dataview.rows[d].visibleindex;var h={index:f,height:this.heights[f],hidden:this.hiddens[f],details:this.details[f]};if(this.heights[f]==undefined){this.heights[f]=this.rowsheight;h.height=this.rowsheight}if(this.hiddens[f]==undefined){this.hiddens[f]=false;h.hidden=false}if(this.details[f]==undefined){this.details[f]=null}if(h.height!=j.rowsheight){g-=j.rowsheight;g+=h.height}if(h.hidden){g-=h.height}else{b+=h.height;var c=0;if(this.rowdetails){if(h.details&&h.details.rowdetails&&!h.details.rowdetailshidden){c=h.details.rowdetailsheight;b+=c;g+=c}}}}this._pageviews[0]={top:0,height:b};return g}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{_initpager:function(){var r=this.that;var j=this.gridlocalization.pagergotopagestring;var s=this.gridlocalization.pagerrangestring;var l=this.gridlocalization.pagershowrowsstring;var m=(this.pagerheight-28)/2;this.pagerdiv=this.pagerdiv||a('<div style="line-height: 26px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.vScrollBar.jqxScrollBar({thumbSize:0});return}if(this.pagermode==="material"){var b=function(){var A=a("<div style='margin-top: 5px; width: 100%; height: 100%;'></div>");var v=document.createElement("style");v.innerHTML=".jqx-center{text-align:center}.jqx-pagination{display:inline-block}.jqx-pagination span{float:left;text-decoration:none;transition:background-color .3s;border-style:solid;border-width:1px;margin:0 4px;border-radius:100%;width:38px;height:38px;display:flex;justify-content:center;align-content:center;align-items:center;cursor:pointer}";A[0].appendChild(v);var G=r.getdatainformation();var z=G.paginginformation;var F=document.querySelector("#pager");var x=document.createElement("div");x.classList.add("jqx-center");var C="<span>❮</span>";for(var B=0;B<z.pagesize;B++){C+="<span>"+z.pagenum+B+1+"</span>"}C+="<span>❯</span>";x.innerHTML='<div class="jqx-pagination">'+C+"</div>";A[0].appendChild(x);var w=x.querySelectorAll("span");var y=r.theme;var D=function(I,H,i){I.classList.add("jqx-grid-column-header");if(i==="hover"){I.classList[H]("jqx-fill-state-hover")}if(y){I.classList.add("jqx-grid-column-header-"+y);if(i==="hover"){I.classList[H]("jqx-fill-state-hover-"+y)}}if(i==="pressed"){I.classList[H]("active");I.classList[H]("jqx-grid-cell-selected");if(y){I.classList[H]("jqx-grid-cell-selected-"+y)}}};for(var B=0;B<w.length;B++){var E=w[B];if(B>0&&B<w.length-1){E.innerHTML=z.pagenum+B;E.setAttribute("data-page",B)}else{if(B===0){E.setAttribute("data-page","prev")}if(B===w.length-1){E.setAttribute("data-page","next")}}if(B===z.pagenum+1){D(E,"add","pressed")}D(E,"add","normal");E.onmouseenter=function(){D(this,"add","hover")};E.onmouseleave=function(){D(this,"remove","hover")};E.onpointerdown=function(){D(this,"add","pressed")};E.onclick=function(){for(var J=0;J<w.length;J++){D(w[J],"remove","pressed")}var Q=this.getAttribute("data-page");var R=r.getdatainformation();var K=R.paginginformation;if(Q==="prev"&&K.pagenum>0){r.gotoprevpage()}else{if(Q==="next"&&K.pagenum<K.pagescount-1){r.gotonextpage()}else{if(Q!=="prev"&&Q!=="next"){Q=parseInt(Q);r.gotopage(Q-1)}}}var L=false;var I=null;R=r.getdatainformation();K=R.paginginformation;for(var M=0;M<w.length;M++){var P=w[M];var Q=parseInt(P.getAttribute("data-page"));if(Q===K.pagenum+1){D(P,"add","pressed")}var H=parseInt(w[1].getAttribute("data-page"))-1;var O=[H,H+K.pagesize];if((K.pagenum<O[0])||(K.pagenum>=O[1])){if(M>0&&M<w.length-1){if(!I){I=Math.max(1,K.pagenum-K.pagesize+M+1)}else{I++}P.innerHTML=I;L=true}}}if(L){for(var M=1;M<w.length-1;M++){var P=w[M];var N=parseInt(P.innerHTML);if(N===K.pagenum+1){D(P,"add","pressed")}P.setAttribute("data-page",N)}}return false}}return A}();this.pagerdiv.children().remove();this.pagerdiv.append(a(b));this.pager.append(this.pagerdiv)}else{if(!this.pagerrenderer){this.pagerdiv.css("top",m);this.pager.append(this.pagerdiv);this.pagergotoinput=this.pagergotoinput||a('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');this.pagergoto=this.pagergoto||a('<div style="float: right; margin-right: 7px;"></div>');this.pagerrightbutton=this.pagerrightbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerleftbutton=this.pagerleftbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerdetails=this.pagerdetails||a('<div style="margin-right: 7px; float: right;"></div>');this.pagershowrows=this.pagershowrows||a('<div style="margin-right: 7px; float: right;"></div>');this.pagerbuttons=a('<div style="margin-right: 3px; float: right;"></div>');if(this.pagershowrowscombo&&this.pagershowrowscombo.jqxDropDownList){this.pagershowrowscombo.remove();this.pagershowrowscombo=null}this.pagergotoinput.attr("disabled",this.disabled);this.pagerfirstbutton=a('<div type="button" style="padding: 0px; margin-left: 3px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagerlastbutton=a('<div type="button" style="padding: 0px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagershowrowscombo=this.pagershowrowscombo||a('<div id="gridpagerlist" style="margin-right: 7px; float: right;"></div>');this.pagerdiv.children().remove();this.pagershowrowscombo[0].id="gridpagerlist"+this.element.id;this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.removeHandler(this.pagerfirstbutton,"mousedown");this.removeHandler(this.pagerfirstbutton,"mouseup");this.removeHandler(this.pagerfirstbutton,"click");this.removeHandler(this.pagerlastbutton,"mousedown");this.removeHandler(this.pagerlastbutton,"mouseup");this.removeHandler(this.pagerlastbutton,"click");this.pagerleftbutton.attr("title",this.gridlocalization.pagerpreviousbuttonstring);this.pagerrightbutton.attr("title",this.gridlocalization.pagernextbuttonstring);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var n=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");n.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(n);var g=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);if(!this.rtl){this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton)}else{this.pagerdiv.append(this.pagerlastbutton);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerfirstbutton)}this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});var u=!this.rtl?"left":"right";this.pagerbuttons.css("float",u);this.pagerlastbutton.css("float",u);this.pagerfirstbutton.css("float",u);this.pagerrightbutton.css("float",u);this.pagerleftbutton.css("float",u);this.pagerdetails.css("float",this.rtl?"left":"right");if(this.rtl){this.pagerdetails.css("margin-left","7px");this.pagerdetails.css("margin-right","0px")}else{this.pagerdetails.css("margin-left","0px");this.pagerdetails.css("margin-right","7px")}this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show();if(!this.rtl){this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}this.pagerrightbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var c=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");c.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(c);var d=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(d);this.pagerdiv.append(this.pagerdetails);if(this.pagermode!="simple"){if(!this.rtl){this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagergoto)}else{this.pagerdiv.append(this.pagergoto);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagerdetails);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}var o=this.pagesizeoptions;if(!this.pagershowrowscombo.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}this.pagershowrowscombo.jqxDropDownList({rtl:this.rtl,disabled:this.disabled,source:o,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:this.theme});var q=0;for(var p=0;p<o.length;p++){if(this.pagesize>=o[p]){q=p}}this.pagershowrows[0].innerHTML=l;this.pagergoto[0].innerHTML=j;this.updatepagerdetails();this.pagershowrowscombo.jqxDropDownList({selectedIndex:q});this.pagerpageinput=this.pagergotoinput.find("input");this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));if(this.rtl){this.pagerpageinput.css("direction","rtl")}var t=6+(this.columns.records?this.columns.records.length:this.columns.length);this.pagerpageinput.attr("tabindex",t++);this.pagershowrowscombo.attr("tabindex",t++);this.pagerleftbutton.attr("tabindex",t++);this.pagerrightbutton.attr("tabindex",t++);var r=this.that;this.removeHandler(this.pagershowrowscombo,"select");this.addHandler(this.pagershowrowscombo,"select",function(x){if(x.args){if(r.vScrollInstance){r.vScrollInstance.setPosition(0)}if(r.editcell!=null&&r.endcelledit){r.endcelledit(r.editcell.row,r.editcell.column,true,false)}var v=x.args.index;var y=r.dataview.pagenum*r.dataview.pagesize;var w=o[v];var z=r.pagesize;r.pagesize=parseInt(w);if(isNaN(r.pagesize)){r.pagesize=10}r.dataview.pagesize=r.pagesize;var i=Math.floor(y/r.dataview.pagesize);r.prerenderrequired=true;r._requiresupdate=true;r._raiseEvent(10,{pagenum:i,oldpagesize:z,pagesize:r.dataview.pagesize});r.gotopage(i);if(r.autoheight&&r._updatesizeonwindowresize){r._updatesize(true);setTimeout(function(){r._updatesize(true)},500)}setTimeout(function(){r.pagershowrowscombo.focus()},25)}});var k=this.pagergotoinput.find("input");k.addClass(this.toThemeProperty("jqx-grid-pager-input"));k.addClass(this.toThemeProperty("jqx-rc-all"));this.removeHandler(k,"keydown");this.removeHandler(k,"change");this.addHandler(k,"keydown",function(i){if(i.keyCode>=65&&i.keyCode<=90){return false}if(i.keyCode=="13"){var v=k.val();v=parseInt(v);if(!isNaN(v)){r.gotopage(v-1);setTimeout(function(){k.focus()},25)}return false}});this.addHandler(k,"change",function(){var i=k.val();i=parseInt(i);if(!isNaN(i)){r.gotopage(i-1);setTimeout(function(){k.focus()},25)}});this.addHandler(this.pagerrightbutton,"mouseenter",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+this.element.id,function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerrightbutton,"click",function(){if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}}});this.addHandler(this.pagerleftbutton,"click",function(){if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}}});this.addHandler(this.pagerrightbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}setTimeout(function(){r.pagerrightbutton.focus()},25)}});this.addHandler(this.pagerleftbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}setTimeout(function(){r.pagerleftbutton.focus()},25)}});var f=this;if(this.pagermode==="simple"){var e=this.pagerfirstbutton;var h=this.pagerlastbutton;this.addHandler(h,"mouseenter",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseenter",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mouseleave",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseleave",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mousedown",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mousedown",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(h,"mouseup",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mouseup",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+name+this.element.id,function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"));if(g){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"));n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))}});this.addHandler(e,"click",function(){if(!e.jqxButton("disabled")){if(!f.rtl){f.gotopage(0)}else{var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}}});this.addHandler(h,"click",function(){if(!h.jqxButton("disabled")){if(!f.rtl){var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}else{f.gotopage(0)}}})}}else{this.pagerdiv.children().remove();var b=this.pagerrenderer();if(b!=null){this.pagerdiv.append(a(b))}this.pager.append(this.pagerdiv)}}this.vScrollBar.jqxScrollBar("refresh");this._arrange()},_updatepagertheme:function(){if(this.pagershowrowscombo==null){return}this.pagershowrowscombo.jqxDropDownList({theme:this.theme});this.pagerrightbutton.jqxButton({theme:this.theme});this.pagerleftbutton.jqxButton({theme:this.theme});this.pagerpageinput.removeClass();var c=this.pagergotoinput.find("input");c.removeClass();c.addClass(this.toThemeProperty("jqx-grid-pager-input"));c.addClass(this.toThemeProperty("jqx-rc-all"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var d=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(d);var e=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(e);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var h=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");h.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(h);var g=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton);this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerbuttons.css("float","left");this.pagerlastbutton.css("float","left");this.pagerfirstbutton.css("float","left");this.pagerrightbutton.css("float","left");this.pagerleftbutton.css("float","left");this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show()}var b=function(j,i){j.removeHandler(i,"mouseenter");j.removeHandler(i,"mouseleave");j.removeHandler(i,"mousedown");j.removeHandler(i,"mouseup")};b(this,this.pagerrightbutton);b(this,this.pagerleftbutton);var f=this.that;this.addHandler(this.pagerrightbutton,"mouseenter",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))})},gotopage:function(e){if(e==null||e==undefined){e=0}if(e==-1){e=0}if(e<0){return}var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var f=this.pagenum;this._raiseEvent(25,{oldpagenum:this.dataview.pagenum,pagenum:e,pagesize:this.dataview.pagesize});var c=Math.ceil(d/this.pagesize);if(e>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(e>0){e=c-1}if(e<0){e=0}}if(this.dataview.pagenum!=e||this._requiresupdate){if(this.pageable){if(this.source.pager){this.source.pager(e,this.dataview.pagesize,this.dataview.pagenum)}this.dataview.pagenum=e;if(this.virtualmode){this.hiddens=new Array();this.expandedgroups=new Array();if(this.rendergridrows){var i=e*this.dataview.pagesize;var h=i+this.dataview.pagesize;if(i!=null&&h!=null){if(this.pagerrightbutton){this.pagerrightbutton.jqxButton({disabled:true});this.pagerleftbutton.jqxButton({disabled:true});this.pagershowrowscombo.jqxDropDownList({disabled:true})}if(this.pagerfirstbutton){this.pagerfirstbutton.jqxButton({disabled:true});this.pagerlastbutton.jqxButton({disabled:true})}this.updatebounddata("pagechanged");this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});this.updatepagerdetails();if(this.autosavestate){if(this.savestate){this.savestate()}}return}}}else{this.dataview.updateview()}this._loadrows();this._updatepageviews();this.tableheight=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this.updatepagerdetails();if(this.autoheight||this.autorowheight){var g=this.host.height()-this._gettableheight();var b=g+this._pageviews[0].height;if(b!=this.host.height()){this._arrange();this._updatepageviews();if(this.autorowheight){this._renderrows(this.virtualsizeinfo)}}}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}this.focus();this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});if(this.autosavestate){if(this.savestate){this.savestate()}}}}},gotoprevpage:function(){if(this.dataview.pagenum>0){this.gotopage(this.dataview.pagenum-1)}else{if(this.pagermode!="simple"){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);this.gotopage(b-1)}}},gotonextpage:function(){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);if(this.dataview.pagenum<b-1){this.gotopage(this.dataview.pagenum+1)}else{if(this.pagermode!="simple"){this.gotopage(0)}}},updatepagerdetails:function(){if(this.pagerdetails!=null&&this.pagerdetails.length>0){var n=this.dataview.pagenum*this.pagesize;var d=(this.dataview.pagenum+1)*this.pagesize;if(d>=this.dataview.totalrecords){d=this.dataview.totalrecords}var q=this.dataview.totalrecords;if(this.summaryrows){q+=this.summaryrows.length;if((this.dataview.pagenum+1)*this.pagesize>this.dataview.totalrecords){d=q}}n++;var g=Math.ceil(q/this.dataview.pagesize);if(g>=1){g--}g++;if(this.pagermode!=="simple"){var o=this.pagergotoinput.find("input");o.val(this.dataview.pagenum+1)}else{var b="";var f=this.pagerbuttonscount;if(f==0||!f){f=5}var h=0;if(this.rtl){h=f-1}while((this.rtl&&h>=0)||(!this.rtl&&h<f)){var m=1+h;var k=this.dataview.pagenum/f;var e=Math.floor(k);m+=e*f;var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(m>g){break}if(!this.rtl){if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>";if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}}else{if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>"}if(this.rtl){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(!this.rtl){h++}else{h--}}var p=this["pagerbuttons"].find("a");this.removeHandler(p,"click");this.removeHandler(p,"mouseenter");this.removeHandler(p,"mouseleave");this["pagerbuttons"][0].innerHTML=b;var j=this;var c=function(){j.addHandler(p,"click",function(i){var r=a(i.target).attr("data-page");j.gotopage(parseInt(r)-1);return false});j.addHandler(p,"mouseenter",function(i){a(i.target).addClass(j.toTP("jqx-fill-state-hover"))});j.addHandler(p,"mouseleave",function(i){a(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};var p=this["pagerbuttons"].find("a");c(p)}this.pagergotoinput.attr("title","1 - "+g);if(d==0&&d<n){n=0}if(!this.rtl){this.pagerdetails[0].innerHTML=n+"-"+d+this.gridlocalization.pagerrangestring+q}else{this.pagerdetails[0].innerHTML=q+this.gridlocalization.pagerrangestring+d+"-"+n}if(n>d){this.gotoprevpage()}}},_updatepagedview:function(e,g,b){var j=this.that;if(this.dataview.rows.length!=this.dataview.pagesize){this.dataview.updateview()}var k=this.dataview.rows.length;for(var d=0;d<k;d++){var f=this.dataview.rows[d].visibleindex;var h={index:f,height:this.heights[f],hidden:this.hiddens[f],details:this.details[f]};if(this.heights[f]==undefined){this.heights[f]=this.rowsheight;h.height=this.rowsheight}if(this.hiddens[f]==undefined){this.hiddens[f]=false;h.hidden=false}if(this.details[f]==undefined){this.details[f]=null}if(h.height!=j.rowsheight){g-=j.rowsheight;g+=h.height}if(h.hidden){g-=h.height}else{b+=h.height;var c=0;if(this.rowdetails){if(h.details&&h.details.rowdetails&&!h.details.rowdetailshidden){c=h.details.rowdetailsheight;b+=c;g+=c}}}}this._pageviews[0]={top:0,height:b};return g}})})(jqxBaseFramework);
 
 (function(a){a.extend(a.jqx._jqxGrid.prototype,{_calculateaggregate:function(g,j,h,c){var f=g.aggregates;if(!f){f=j}if(f){var e=new Array();for(var d=0;d<f.length;d++){if(f[d]=="count"){continue}e[e.length]=g.cellsformat}if(this.source&&this.source.getAggregatedData){if(c==undefined){c=this.getrows()}if(this.virtualmode){var c=new Array();a.each(this.source._source.records,function(){c.push(this)})}if(h==undefined||h==true){var b=this.source.getAggregatedData([{name:g.datafield,aggregates:f,formatStrings:e}],this.gridlocalization,c);return b}else{var b=this.source.getAggregatedData([{name:g.datafield,aggregates:f}],this.gridlocalization,c);return b}}}return null},getcolumnaggregateddata:function(c,g,h,d){var e=this.getcolumn(c);var j=(h==undefined||h==false)?false:h;if(g==null){return""}var b=e.aggregates;e.aggregates=null;var i=this._calculateaggregate(e,g,j,d);var f={};if(i){f=i[c]}e.aggregates=b;return f},refreshaggregates:function(){this._updatecolumnsaggregates()},renderaggregates:function(){this._updateaggregates()},_updatecolumnaggregates:function(d,g,b){var e=this;if(!g){b.children().remove();b.html("");if(d.aggregatesrenderer){var f={};if(d.aggregates){f=this.getcolumnaggregateddata(d.datafield,d.aggregates)}var c=d.aggregatesrenderer({},d,b,null);b.html(c)}return}b.children().remove();b.html("");if(d.aggregatesrenderer){if(g){var c=d.aggregatesrenderer(g[d.datafield],d,b,this.getcolumnaggregateddata(d.datafield,g[d.datafield]));b.html(c)}}else{a.each(g,function(){var i=this;for(f in i){var j=a('<div style="position: relative; margin: 4px; overflow: hidden;"></div>');var h=f;h=e._getaggregatename(h);j.html(h+":"+i[f]);if(e.rtl){j.addClass(e.toThemeProperty("jqx-rtl"))}b.append(j)}})}},_getaggregatetype:function(c){switch(c){case"min":case"max":case"count":case"avg":case"product":case"var":case"varp":case"stdev":case"stdevp":case"sum":return c}var b=c;for(var d in c){b=d;break}return b},_getaggregatename:function(c){var b=c;switch(c){case"min":b="Min";break;case"max":b="Max";break;case"count":b="Count";break;case"avg":b="Avg";break;case"product":b="Product";break;case"var":b="Var";break;case"stdevp":b="StDevP";break;case"stdev":b="StDev";break;case"varp":b="VarP";case"sum":b="Sum";break}if(c===b&&typeof(b)!="string"){for(var d in c){b=d;break}}return b},_updatecolumnsaggregates:function(){var f=this.getrows();var b=this.columns.records.length;if(undefined!=this.statusbar[0].cells){for(var e=0;e<b;e++){var g=a(this.statusbar[0].cells[e]);var d=this.columns.records[e];var c=this._calculateaggregate(d,null,true,f);this._updatecolumnaggregates(d,c,g)}}},_updateaggregates:function(){var b=a('<div style="position: relative;" id="statusrow'+this.element.id+'"></div>');var f=0;var l=this.columns.records.length;var k=this.toThemeProperty("jqx-grid-cell");if(this.rtl){k+=" "+this.toThemeProperty("jqx-grid-cell-rtl");f=-1}k+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var m=l+10;var n=new Array();this.statusbar[0].cells=n;var o=this.getrows();for(var g=0;g<l;g++){var e=this.columns.records[g];var h=this._calculateaggregate(e,e.aggregates,true,o);var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var d=k;if(e.cellsalign){d+=" "+this.toThemeProperty("jqx-"+e.cellsalign+"-align")}var i=a('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+d+'"></div>');b.append(i);i.css("left",f);if(!this.rtl){i.css("z-index",m--)}else{i.css("z-index",m++)}i.width(c);i[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{i.css("display","none")}n[n.length]=i[0];this._updatecolumnaggregates(e,h,i)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",m--)}b.width(parseFloat(f)+2);b.height(this.statusbarheight);this.statusbar.children().remove();this.statusbar.append(b);this.statusbar.removeClass(this.toThemeProperty("jqx-widget-header"));this.statusbar.addClass(k);this.statusbar.css("border-bottom-color","transparent");this.statusbar.css("border-top-width","1px");if(this.rtl&&this.hScrollBar.css("visibility")!="hidden"){this._renderhorizontalscroll()}this._arrange()}})})(jqxBaseFramework);
 
@@ -138,7 +138,7 @@
 
 (function(a){a.jqx.pivot=function(d,c){var b=this;b.dataAdapter=d;b.rows=[];b.columns=[];b.values=[];b.filters=[];b.pivotValuesOnRows=false;b.totals={rows:{subtotals:false,grandtotals:false},columns:{subtotals:false,grandtotals:false}};b.localization=null;b.aggregationFunctions={};b._initSettings={};a.extend(b.aggregationFunctions,b._defaultFunctions);if(c){b._initSettings=c;b.columns=c.columns||[];b.rows=c.rows||[];b.values=c.values||[];b.filters=c.filters||[];b.pivotValuesOnRows=c.pivotValuesOnRows||false;b.totals=c.totals;b.localization=c.localization;a.extend(b.aggregationFunctions,c.customAggregationFunctions||{})}if(b.rows.length===0&&b.columns.length>0&&b.pivotValuesOnRows===false){b.pivotValuesOnRows=true}if(b.columns.length===0&&b.rows.length>0&&b.pivotValuesOnRows!==false){b.pivotValuesOnRows=false}},a.jqx.pivot.prototype={_clear:function(){this._pivot={rows:[],columns:[],values:[],groups:[],filters:[]};this._rowsHierarchy={items:{},valueItems:{}};this._columnsHierarchy={items:{},valueItems:{}};this._hashPivotItemsToTableRows={};this._hashRefItems={};this._hierarchyItemKeyIndex=0},_contains:function(b,e,c){if(!b){return false}for(var d=0;d<b.length;d++){if(c?b[d]===e:b[d].dataField===e){return true}}return false},_getFieldIndex:function(b,d){if(!b){return -1}var c=0;for(;c<b.length;c++){if(b[c].name===d){break}}if(c===b.length){return -1}return c},dataBind:function(){this._clear();if(!this.dataAdapter){return}this.dataAdapter.dataBind();var h=["columns","rows","values","filters"];for(var c in h){var f=h[c];for(var e=0;e<this[f].length;e++){var g=this[f][e];if(!g){continue}var b=false;if(f!=="values"&&f!=="filters"){for(var j in h){var d=h[j];if(f!==d){continue}b=this._contains(this._pivot[d],g.dataField);if(b){break}}if(b){continue}}this._pivot[f].push(g)}}this._createPivot()},_isRowSkipped:function(d){for(var b in this.filters){var c=this.filters[b];if(!a.isFunction(c.filterFunction)){continue}if(c.dataField&&d[c.dataField]!==undefined){if(c.filterFunction(d[c.dataField])){return true}}}return false},getItemsFilterStatus:function(k){var g={};var d=this.dataAdapter.records;for(var b=0;b<d.length;b++){var h=d[b];var j=h[k];if(g[j]){continue}for(var f in this.filters){var c=this.filters[f];if(c.dataField!==k){continue}var e=a.isFunction(c.filterFunction)&&c.filterFunction(j);g[j]=e}}return g},_createPivot:function(){var h=this._pivot.values.length>0&&(this._pivot.rows.length>0||this._pivot.columns.length>0);if(h){var e={};var f={};this.hashSummaryPrefixes={};var b=this.dataAdapter.records;for(var d=0;d<b.length;d++){var g=b[d];if(this._isRowSkipped(g)){continue}var c=this.dataAdapter._source.datafields;this._appendPivotHierarchy(d,e,this._rowsHierarchy,c,this._pivot.rows,this.pivotValuesOnRows?this._pivot.values:null);this._appendPivotHierarchy(d,f,this._columnsHierarchy,c,this._pivot.columns,!this.pivotValuesOnRows?this._pivot.values:null)}this._setupTotals(this._columnsHierarchy);this._setupTotals(this._rowsHierarchy)}return},_setupTotals:function(c){if(!this.totals){return}var b=(c===this._columnsHierarchy)?this.totals.columns:this.totals.rows;if(!b||(b.subtotals!==true&&b.grandtotals!==true)){return}this._addTotals(c.items,false,b);if((c===this._columnsHierarchy)===(!this.pivotValuesOnRows)){this._addvalueItemsToTotals(c.items)}},_addvalueItemsToTotals:function(e){for(var d in e){var m=e[d];if(m.isTotal){if(!this._hashRefItems[m.key]){continue}var n=this._hashRefItems[m.key].refItems;var g=[];for(var d=0;d<n.length;d++){var f=this._hashPivotItemsToTableRows[n[d].key];for(var b=0;b<f.length;b++){g.push(f[b])}if(d===0){m.valueItems={};for(var c in n[d].valueItems){var l=n[d].valueItems[c];var h={text:l.text,boundField:l.boundField,isTotal:true,key:this._hierarchyItemKeyIndex++};m.valueItems[c]=h}}}g.sort(function(j,i){return j-i});for(var c in m.valueItems){this._hashPivotItemsToTableRows[m.valueItems[c].key]=g}delete this._hashRefItems[m.key]}else{this._addvalueItemsToTotals(m.items)}}},_clearTotals:function(d){for(var b in d){var c=d[b];if(c.isTotal){delete d[c]}else{this._clearTotals(d[b].items)}}},_addTotals:function(k,r,h){if(undefined===k){return}this._clearTotals(k);var q=[];var d=0;for(var g in k){var p=k[g];if(h.subtotals===true){this._addTotals(p.items,true,h)}q.push(p);d++}if(d===0){return}if(!r&&h.grandtotals!=true){return}var l=r?"SubTotal":"Total";var b="_"+l+"_";var o=r?"SubTotal":"Total";var n=this.localization;if(n){if(r){o=a.jqx.getByPriority([n.subtotalstring,n.SubTotalString,o])}else{o=a.jqx.getByPriority([n.grandtotalstring,n.GrandTotalString,o])}}var m=this._hierarchyItemKeyIndex++;var c=k[b]={text:o,key:m};var e=[];for(var g=0;g<q.length;g++){for(var f=0;f<this._hashPivotItemsToTableRows[q[g].key].length;f++){e.push(this._hashPivotItemsToTableRows[q[g].key][f])}}this._hashRefItems[m]={item:c,refItems:q};this._hashPivotItemsToTableRows[m]=e.sort(function(j,i){return j-i});c.isTotal=true},_appendPivotHierarchy:function(l,b,k,n,j,e){var c=[];var g="";var m=this.dataAdapter.records[l];if(!this._getBoundFieldsValues(m,j,c)){return false}g.substring(0,g.length);var d=null;if(c.length==0&&e!=null){this._attachValueFieldAsSummaryItem(l,b,d,g,e);return true}for(var f=0;f<c.length;f++){g+="!_$%^&_";var h=c[f];g+=h;if(!b[g]){if(null==d){d=k.items[h]={text:h}}else{this._addSourceRecordToPivotItem(d.key,l);if(!d.items){d.items={}}d=d.items[h]={text:h}}this._applyBoundFieldProperties(j[f],d);b[g]=d;d.key=this._hierarchyItemKeyIndex++}else{d=b[g]}if(e==null||e.length==0){this._addSourceRecordToPivotItem(d.key,l)}else{this._addSourceRecordToPivotItem(d.key,l);if(e!=null){this._attachValueFieldAsSummaryItem(l,b,d,g,e)}}}return true},_attachValueFieldAsSummaryItem:function(h,b,j,d,c){for(var e=0;e<c.length;e++){var k=c[e];var l=null;var f=d+k.dataField+e;if(b[f]){l=b[f]}else{if(null!=j){if(!j.valueItems){j.valueItems={}}l=j.valueItems[k.dataField+e]={text:k.text||k.dataField}}else{var g=this.pivotValuesOnRows?this._rowsHierarchy:this._columnsHierarchy;l=g.valueItems[k.dataField+e]={text:k.text||k.dataField}}b[f]=l;l.key=this._hierarchyItemKeyIndex++}this._applyBoundFieldProperties(k,l);this._addSourceRecordToPivotItem(l.key,h)}},_applyBoundFieldProperties:function(b,c){c.boundField=b;if(b.text){c.boundFieldText=b.text}},_addSourceRecordToPivotItem:function(b,d){var c=null;if(this._hashPivotItemsToTableRows[b]){c=this._hashPivotItemsToTableRows[b]}else{c=this._hashPivotItemsToTableRows[b]=[]}if(c.length>0){if(c[c.length-1]==d){return}}c.push(d)},_sortedArrayIntersectAndDedup:function(d,b){var f=[];var e=0;var c=0;while(e<d.length&&c<b.length){if(d[e]<b[c]){e++}else{if(d[e]>b[c]){c++}else{if(f.length==0||f[f.length-1]!=d[e]){f.push(d[e])}e++;c++}}}return f},_getBoundFieldValue:function(c,b){if(null==b){return null}return c[b]},_getBoundFieldsValues:function(e,b,f){for(var c=0;c<b.length;c++){var d=e[b[c].dataField];if(undefined===d){continue}f.push(d)}return true},_internalDrillThroughPivotCell:function(e,d,f){var c=this._hashPivotItemsToTableRows[e]||[];var b=this._hashPivotItemsToTableRows[d]||[];if(c.length==0||b.length==0){return[]}return this._sortedArrayIntersectAndDedup(c,b)},drillThroughPivotCell:function(c,b){if(!c||undefined===c.key||!b||undefined===b.key){return[]}var d=c.isTotal||b.isTotal;return this._internalDrillThroughPivotCell(c.key,b.key,d)},getFunctions:function(){return this.aggregationFunctions},_defaultFunctions:{count:function(b){return b.length},sum:function(b){var d=0;for(var c=0;c<b.length;c++){d+=b[c]}return d},min:function(b){var d=Infinity;for(var c=0;c<b.length;c++){if(b[c]<d){d=b[c]}}return d},max:function(c){var b=-Infinity;for(var d=0;d<c.length;d++){if(c[d]>b){b=c[d]}}return b},average:function(b){var c=a.jqx.pivot.prototype._defaultFunctions.count(b);if(c==0){return 0}var d=a.jqx.pivot.prototype._defaultFunctions.sum(b);return d/c},product:function(b){var d=0;for(var c=0;c<b.length;c++){if(c==0){d=b[c]}else{d*=b[c]}}return d}},getCellValue:function(e,d){var f=this._getCellValueFromDataSource(e,d);if(isNaN(f)){return""}var b=this.pivotValuesOnRows?e.boundField:d.boundField;var c=this._formatValue(f,b.formatSettings,b.formatFunction);return{value:f,formattedValue:c}},getCellFormatSettings:function(d,c){var b=this.pivotValuesOnRows?d.boundField:c.boundField;if(b){return b.formatSettings}return undefined},_getCellValueFromDataSource:function(p,c){if(p==undefined){throw"Invalid rowItem"}if(c==undefined){throw"Invalid columnItem"}var b=p.isTotal||c.isTotal;var g=this._internalDrillThroughPivotCell(p.key,c.key,b);if(g.length==0){return""}var h=this.pivotValuesOnRows?p.boundField:c.boundField;if(null==h){return undefined}var j=h["function"];var n=j||"count";if(typeof(n)=="String"){n=n.toLowerCase()}try{var d=[];for(var k=0;k<g.length;k++){var f=g[k];var l=this.dataAdapter.records[f];var o=this._getBoundFieldValue(l,h.dataField);d.push(parseFloat(o))}if(typeof(n)=="string"){n=this.aggregationFunctions[n]}if(typeof(n)=="function"){return n(d)}}catch(m){return NaN}return NaN},_formatValue:function(c,f,b){if(c==undefined){return""}if(this._isObject(c)&&!this._isDate(c)&&!b){return""}if(b){if(!a.isFunction(b)){return c.toString()}try{return b(c)}catch(d){return d.message}}if(this._isNumber(c)){return this._formatNumber(c,f)}if(this._isDate(c)){return this._formatDate(c,f)}if(f){return(f.prefix||"")+c.toString()+(f.sufix||"")}return c.toString()},_isNumberAsString:function(d){if(typeof(d)!="string"){return false}d=a.trim(d);for(var b=0;b<d.length;b++){var c=d.charAt(b);if((c>="0"&&c<="9")||c==","||c=="."){continue}if(c=="-"&&b==0){continue}if((c=="("&&b==0)||(c==")"&&b==d.length-1)){continue}return false}return true},_castAsDate:function(f,c){if(f instanceof Date&&!isNaN(f)){return f}if(typeof(f)=="string"){var b;if(c){b=a.jqx.dataFormat.parsedate(f,c);if(this._isDate(b)){return b}}if(this._autoDateFormats){for(var e=0;e<this._autoDateFormats.length;e++){b=a.jqx.dataFormat.parsedate(f,this._autoDateFormats[e]);if(this._isDate(b)){return b}}}else{this._autoDateFormats=[]}var d=this._detectDateFormat(f);if(d){b=a.jqx.dataFormat.parsedate(f,d);if(this._isDate(b)){this._autoDateFormats.push(d);return b}}b=new Date(f);if(this._isDate(b)){if(f.indexOf(":")==-1){b.setHours(0,0,0,0)}}return b}return undefined},_castAsNumber:function(c){if(c instanceof Date&&!isNaN(c)){return c.valueOf()}if(typeof(c)=="string"){if(this._isNumber(c)){c=parseFloat(c)}else{if(!/[a-zA-Z]/.test(c)){var b=new Date(c);if(b!=undefined){c=b.valueOf()}}}}return c},_isNumber:function(b){if(typeof(b)=="string"){if(this._isNumberAsString(b)){b=parseFloat(b)}}return typeof b==="number"&&isFinite(b)},_isDate:function(b){return b instanceof Date&&!isNaN(b.getDate())},_isBoolean:function(b){return typeof b==="boolean"},_isObject:function(b){return(b&&(typeof b==="object"||a.isFunction(b)))||false},_formatDate:function(d,c){var b=d.toString();if(c){if(c.dateFormat){b=a.jqx.dataFormat.formatDate(d,c.dateFormat)}b=(c.prefix||"")+b+(c.sufix||"")}return b},_formatNumber:function(n,e){if(!this._isNumber(n)){return n}e=e||{};var q=".";var o="";var r=this;if(r.localization){q=r.localization.decimalSeparator||r.localization.decimalseparator||q;o=r.localization.thousandsSeparator||r.localization.thousandsseparator||o}if(e.decimalSeparator){q=e.decimalSeparator}if(e.thousandsSeparator){o=e.thousandsSeparator}var m=e.prefix||"";var p=e.sufix||"";var h=e.decimalPlaces;if(isNaN(h)){h=this._getDecimalPlaces([n],undefined,3)}var l=e.negativeWithBrackets||false;var g=(n<0);if(g&&l){n*=-1}var d=n.toString();var b;var k=Math.pow(10,h);d=(Math.round(n*k)/k).toString();if(isNaN(d)){d=""}b=d.lastIndexOf(".");if(h>0){if(b<0){d+=q;b=d.length-1}else{if(q!=="."){d=d.replace(".",q)}}while((d.length-1-b)<h){d+="0"}}b=d.lastIndexOf(q);b=(b>-1)?b:d.length;var f=d.substring(b);var c=0;for(var j=b;j>0;j--,c++){if((c%3===0)&&(j!==b)&&(!g||(j>1)||(g&&l))){f=o+f}f=d.charAt(j-1)+f}d=f;if(g&&l){d="("+d+")"}return m+d+p},_getDecimalPlaces:function(b,g,c){var h=0;if(isNaN(c)){c=10}for(var f=0;f<b.length;f++){var k=g===undefined?b[f]:b[f][g];if(isNaN(k)){continue}var d=k.toString();for(var e=0;e<d.length;e++){if(d[e]<"0"||d[e]>"9"){h=d.length-(e+1);if(h>=0){return Math.min(h,c)}}}if(h>0){k*=Math.pow(10,h)}while(Math.round(k)!=k&&h<c){h++;k*=10}}return h},_defaultNumberFormat:{prefix:"",sufix:"",decimalSeparator:".",thousandsSeparator:",",decimalPlaces:2,negativeWithBrackets:false},_detectDateFormat:function(g,c){var h={en_US_d:"M/d/yyyy",en_US_D:"dddd, MMMM dd, yyyy",en_US_t:"h:mm tt",en_US_T:"h:mm:ss tt",en_US_f:"dddd, MMMM dd, yyyy h:mm tt",en_US_F:"dddd, MMMM dd, yyyy h:mm:ss tt",en_US_M:"MMMM dd",en_US_Y:"yyyy MMMM",en_US_S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",en_CA_d:"dd/MM/yyyy",en_CA_D:"MMMM-dd-yy",en_CA_f:"MMMM-dd-yy h:mm tt",en_CA_F:"MMMM-dd-yy h:mm:ss tt",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff",de_DE_d:"dd.MM.yyyy",de_DE_D:"dddd, d. MMMM yyyy",de_DE_t:"HH:mm",de_DE_T:"HH:mm:ss",de_DE_f:"dddd, d. MMMM yyyy HH:mm",de_DE_F:"dddd, d. MMMM yyyy HH:mm:ss",de_DE_M:"dd MMMM",de_DE_Y:"MMMM yyyy",fr_FR_d:"dd/MM/yyyy",fr_FR_D:"dddd d MMMM yyyy",fr_FR_t:"HH:mm",fr_FR_T:"HH:mm:ss",fr_FR_f:"dddd d MMMM yyyy HH:mm",fr_FR_F:"dddd d MMMM yyyy HH:mm:ss",fr_FR_M:"d MMMM",fr_FR_Y:"MMMM yyyy",it_IT_d:"dd/MM/yyyy",it_IT_D:"dddd d MMMM yyyy",it_IT_t:"HH:mm",it_IT_T:"HH:mm:ss",it_IT_f:"dddd d MMMM yyyy HH:mm",it_IT_F:"dddd d MMMM yyyy HH:mm:ss",it_IT_M:"dd MMMM",it_IT_Y:"MMMM yyyy",ru_RU_d:"dd.MM.yyyy",ru_RU_D:"d MMMM yyyy '?.'",ru_RU_t:"H:mm",ru_RU_T:"H:mm:ss",ru_RU_f:"d MMMM yyyy '?.' H:mm",ru_RU_F:"d MMMM yyyy '?.' H:mm:ss",ru_RU_Y:"MMMM yyyy",cs_CZ_d:"d.M.yyyy",cs_CZ_D:"d. MMMM yyyy",cs_CZ_t:"H:mm",cs_CZ_T:"H:mm:ss",cs_CZ_f:"d. MMMM yyyy H:mm",cs_CZ_F:"d. MMMM yyyy H:mm:ss",cs_CZ_M:"dd MMMM",cs_CZ_Y:"MMMM yyyy",he_IL_d:"dd MMMM yyyy",he_IL_D:"dddd dd MMMM yyyy",he_IL_t:"HH:mm",he_IL_T:"HH:mm:ss",he_IL_f:"dddd dd MMMM yyyy HH:mm",he_IL_F:"dddd dd MMMM yyyy HH:mm:ss",he_IL_M:"dd MMMM",he_IL_Y:"MMMM yyyy",hr_HR_d:"d.M.yyyy.",hr_HR_D:"d. MMMM yyyy.",hr_HR_t:"H:mm",hr_HR_T:"H:mm:ss",hr_HR_f:"d. MMMM yyyy. H:mm",hr_HR_F:"d. MMMM yyyy. H:mm:ss",hr_HR_M:"d. MMMM",hu_HU_d:"yyyy.MM.dd.",hu_HU_D:"yyyy. MMMM d.",hu_HU_t:"H:mm",hu_HU_T:"H:mm:ss",hu_HU_f:"yyyy. MMMM d. H:mm",hu_HU_F:"yyyy. MMMM d. H:mm:ss",hu_HU_M:"MMMM d.",hu_HU_Y:"yyyy. MMMM",jp_JP_d:"gg y/M/d",jp_JP_D:"gg y'?'M'?'d'?'",jp_JP_t:"H:mm",jp_JP_T:"H:mm:ss",jp_JP_f:"gg y'?'M'?'d'?' H:mm",jp_JP_F:"gg y'?'M'?'d'?' H:mm:ss",jp_JP_M:"M'?'d'?'",jp_JP_Y:"gg y'?'M'?'",lt_LT_d:"yyyy.MM.dd",lt_LT_D:"yyyy 'm.' MMMM d 'd.'",lt_LT_t:"HH:mm",lt_LT_T:"HH:mm:ss",lt_LT_f:"yyyy 'm.' MMMM d 'd.' HH:mm",lt_LT_F:"yyyy 'm.' MMMM d 'd.' HH:mm:ss",lt_LT_M:"MMMM d 'd.'",lt_LT_Y:"yyyy 'm.' MMMM",sa_IN_d:"dd-MM-yyyy",sa_IN_D:"dd MMMM yyyy dddd",sa_IN_t:"HH:mm",sa_IN_T:"HH:mm:ss",sa_IN_f:"dd MMMM yyyy dddd HH:mm",sa_IN_F:"dd MMMM yyyy dddd HH:mm:ss",sa_IN_M:"dd MMMM",basic_y:"yyyy",basic_ym:"yyyy-MM",basic_d:"yyyy-MM-dd",basic_dhm:"yyyy-MM-dd hh:mm",basic_bhms:"yyyy-MM-dd hh:mm:ss",basic2_ym:"MM-yyyy",basic2_d:"MM-dd-yyyy",basic2_dhm:"MM-dd-yyyy hh:mm",basic2_dhms:"MM-dd-yyyy hh:mm:ss",basic3_ym:"yyyy/MM",basic3_d:"yyyy/MM/dd",basic3_dhm:"yyyy/MM/dd hh:mm",basic3_bhms:"yyyy/MM/dd hh:mm:ss",basic4_ym:"MM/yyyy",basic4_d:"MM/dd/yyyy",basic4_dhm:"MM/dd/yyyy hh:mm",basic4_dhms:"MM/dd/yyyy hh:mm:ss"};if(c){h=a.extend({},h,c)}var f=[];if(!a.isArray(g)){f.push(g)}else{f=g}for(var d in h){h[d]={format:h[d],count:0}}for(var e=0;e<f.length;e++){var k=f[e];if(k==null||k==undefined){continue}for(var d in h){var l=a.jqx.dataFormat.parsedate(k,h[d].format);if(l!=null){h[d].count++}}}var b={key:undefined,count:0};for(var d in h){if(h[d].count>b.count){b.key=d;b.count=h[d].count}}return b.key?h[b.key].format:""}}})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxPivotGrid","",{});a.extend(a.jqx._jqxPivotGrid.prototype,{defineInstance:function(){var b={scrollBarsEnabled:true,source:null,groupingColumns:[],isGroupingEnabled:false,_offsetX:0,_offsetY:0,_currentPosition:{},_selectStartPosition:{},_isMouseLeftButtonDown:false,_timeLastUp:new Date(),_timeLastDown:new Date(),resizeTooltipEnabled:false,isHorizontalResize:true,_colResizeState:"NO_RESIZE",activeEditor:{Editor:null},_id:0,_colItemRangeSelectionBeg:null,_colItemRangeSelectionEnd:null,_rowItemRangeSelectionBeg:null,_rowItemRangeSelectionEnd:null,_isCTRLPressed:false,_internalSelectMode:"CELLS_SELECT",_mostRightItemBounds:{x:0,y:0,width:0,height:0},_mostLeftItemBounds:{x:0,y:0,width:0,height:0},_adjSelectedItemsSave:{},multipleSelectionEnabled:true,selectionEnabled:true,selectionMode:"CELLS_SELECT",treeStyleRows:true,autoResize:false,cellsRenderer:null,itemsRenderer:null,localization:null};a.extend(true,this,b);this._createPivotAreas();return b},_createPivotAreas:function(){if(this._pivotRows){this._pivotRows.clear();delete this._pivotRows}if(this._pivotColumns){this._pivotColumns.clear();delete this._pivotColumns}if(this._pivotCells){this._pivotCells._resetCanvas();this._pivotCells.clear();delete this._pivotCells}this._pivotRows=new a.jqx.jqxPivotGrid.pivotRows(this);this._pivotColumns=new a.jqx.jqxPivotGrid.pivotColumns(this);this._pivotCells=new a.jqx.jqxPivotGrid.pivotCells();this._pivotCells.parentPivotGrid=this},_instanceId:0,createInstance:function(j){var f=this.element;var k=this.host;var l=this;l.localizeStrings(l.localization);var b="jqx-pivotgrid jqx-rc-all jqx-widget "+this.toThemeProperty("jqx-widget-content");var g="";if(this._isTouchDevice()){g="class='jqx-grid-menu-item-touch'"}k.append("<div class='"+b+"' style='width:100%; height: 100%; overflow:hidden; position:relative; onselectstart='return false;' oncontextmenu='return false;''><div id='divContent' style='width:100px; height:100%;'></div><div id='divHScroll' style='width:100%; height:17px;'></div><div id='divVScroll' style='width:17px; height:100%;'></div><div id='divContextMenu'><ul><li "+g+"><div id='sortasc' class='jqx-pivotgrid-sortasc-icon'></div><span>"+l._localizedStrings.sortascendingstring+"</span></li><li "+g+"><div id='sortdesc' class='jqx-pivotgrid-sortdesc-icon'></div><span>"+l._localizedStrings.sortdescendingstring+"</span></li><li "+g+"><div id='sortremove' class='jqx-pivotgrid-sortremove-icon'></div><span>"+l._localizedStrings.sortremovestring+"</span></li></ul></div></div>");var c=k.find("#divContent");var d=c[0];var i=document.createElement("div");i.style.position="relative";i.style.left="0px";i.style.top="0px";i.style.width="100%";i.style.height="100%";i.style.overflow="hidden";c.append(i);this.contentCanvas=this.Canvas=i;this.hostVScroll=k.find("#divVScroll");this.hostHScroll=k.find("#divHScroll");this.hScroll=k.find("#divHScroll").jqxScrollBar({vertical:false,theme:this.theme});this.vScroll=k.find("#divVScroll").jqxScrollBar({vertical:true,theme:this.theme});l._createContextMenu();l.id=l._instanceId++;l._resizeLineId="divResizeLine"+l.id;a(document.body).append("<div id='"+l._resizeLineId+"' style='position: absolute; display: none;'></div>");try{l.dataBind()}catch(h){throw"Databinding exception: "+h.toString();return}l._installEventHandlers();a.jqx.utilities.resize(l.host,function(){l.refresh()},false);if(!l._isInitialized){l._isInitialized=true}},destroy:function(){this._isInitialized=false;this.host.find("#divHScroll").off();this.host.find("#divVScroll").off();this._contextMenu.off();this.removeHandler(this.host);a.jqx.utilities.resize(this.host,null,true)},_installEventHandlers:function(){var b=this;b.hostVScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostVScroll[0]){b.onVScroll(c.currentValue)}});b.hostHScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostHScroll[0]){b.onHScroll(c.currentValue)}});b.addHandler(b.host,"mousewheel DOMMouseScroll",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){return}c.preventDefault();if(!b._scrollBarPositions.vertical.visible){return}b.onMouseWheel(c)});b.addHandler(b.host,"mouseenter",function(c){if(c.currentTarget==b.element){b._onMouseEnter(c)}});b.addHandler(b.host,"mouseleave",function(c){if(c.currentTarget==b.element){b._onMouseLeave(c)}});b.addHandler(b.host,"mousedown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseDown(c);this.focus()});b.addHandler(a(document),"mouseup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseUp(c);if(c.cancel){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){if(b._colResizeState!="RESIZING"){return}}b._onMouseClick(c)});b.addHandler(a(document),"mousemove",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}b._onMouseMove(c)});b.addHandler(a(document),"keydown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=true}else{if(c.keyCode==16){b._isSHIFTPressed=true}else{if(b._handleKeyboardNavigation){b._handleKeyboardNavigation(c)}}}});b.addHandler(a(document),"keyup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=false}else{if(c.keyCode==16){b._isSHIFTPressed=false}}})},_createContextMenu:function(){var k=this;var j=this.host;var h=j.find("#divContextMenu");k._contextMenu=h.jqxMenu({width:"120px",autoCloseOnClick:true,autoOpenPopup:false,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0,theme:this.theme,keyboardNavigation:false,mode:"popup"});var f=h.find("li");var b="";for(var d=0;d<f.length;d++){var g=a(f[d]).text();if(g.length>b.length){b=g}}var c=a('<span style="white-space:nowrap;">'+b+"</span>");c.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(c);var e=c.outerWidth()+30;c.remove();k._contextMenu=h.jqxMenu({width:e});k._contextMenu.on("shown",function(){k._isContextMenuOpen=true});k._contextMenu.on("closed",function(){k._isContextMenuOpen=false;k._hideItemMenuElement()});k._contextMenu.on("itemclick",function(n){n.stopImmediatePropagation();n.stopPropagation();var m=k._menuElement._itemMouseOver;if(!m){return}var l=m.hierarchy==k._pivotColumns?k._pivotRows:k._pivotColumns;var i=n.args.innerHTML;if(i.indexOf("sortasc")!=-1){l.sortBy(m,"asc")}else{if(i.indexOf("sortdesc")!=-1){l.sortBy(m,"desc")}else{if(i.indexOf("sortremove")!=-1){l.removeSort()}}}})},_isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchmode==true){if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.enablehover=false;return false}b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchmode==false){b=false}}if(b&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return b},propertyChangedHandler:function(b,c,e,d){if(this._isInitialized==undefined||this._isInitialized==false){return}if(c=="source"){this.dataBind()}else{if(c=="theme"){this.hostVScrollBar.jqxScrollBar("theme",this.theme);this.hostHScrollBar.jqxScrollBar("theme",this.theme)}}this._internalRefresh()},genId:function(){return this._id++},getCellId:function(b,c){return b.id+"_"+c.id},_scrollTimer:undefined,_renderOnTimeout:function(c){clearTimeout(this._scrollTimer);var b=this;if(c==0){this._pivotColumns._refreshRequired=this._pivotRows._refreshRequired=true;b._internalRefresh()}else{this._scrollTimer=setTimeout(function(){b._render()},c)}},onVScroll:function(b){b=Math.round(b);if(b==this._offsetY){return}var d=50;var c=0;this._offsetY=b;this._renderOnTimeout(c)},onHScroll:function(b){b=Math.round(b);if(b==this._offsetX){return}var d=50;var c=0;this._offsetX=b;this._renderOnTimeout(c)},onMouseWheel:function(d){var f=0;if(!d){d=window.event}if(d.wheelDelta){f=d.wheelDelta/120}else{if(d.detail){f=-d.detail/3}}if(!f){return}if(d.preventDefault){d.preventDefault()}d.returnValue=false;var c=this.vScroll.jqxScrollBar("min");var b=this.vScroll.jqxScrollBar("max");var e=this.vScroll.jqxScrollBar("value");f*=10;e=e-f;if(e>b){e=b}if(e<c){e=c}this.vScroll.jqxScrollBar("value",e)},_onMouseMove:function(c){var d=a.jqx.position(c);var b=d.left;var g=d.top;if(!this.isPtInRect({x:b,y:g},this._rect)){if(this._colResizeState!="RESIZING"){return}}var f=this.host.offset();b-=Math.round(f.left);g-=Math.round(f.top);b=Math.max(b,0);g=Math.max(g,0);if(this._currentPosition.x==b&&this._currentPosition.y==g){return}else{this._currentPosition.x=b;this._currentPosition.y=g}for(var e in this._scrollBarPositions){if(this._scrollBarPositions[e].visible&&this.isPtInRect({x:b,y:g},this._scrollBarPositions[e].rect)){return}}this._handleMouseMove(c);if(this.activeEditor&&this.activeEditor.Editor){}else{}},_onMouseEnter:function(b){},_onMouseLeave:function(b){this._hideItemMenuElement()},_onMouseDown:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(null!=d){var c=this._raisePivotItemMouseEvent(d,"pivotitemmousedown",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonDown(e)}else{if(e.button==2){this.onMouseRightButtonDown(e)}}},_onMouseUp:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(d!=null){var c=this._raisePivotItemMouseEvent(d,"pivotitemmouseup",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonUp(e)}else{if(e.button==2){this.onMouseRightButtonUp(e)}}},_onMouseClick:function(d){var b=this;var c=d;b._handleMouseClick(d);if(d.cancel){return}if(b._dtLastMouseClick){var e=new Date()-b._dtLastMouseClick;if(e<500){this._handleMouseDoubleClick(d);b._dtLastMouseClick=undefined;return}}b._dtLastMouseClick=new Date()},setDivContent:function(f,c,d,g,e){var b=this.getChild(f,"innerDiv");b.style.padding=d.top+"px "+d.right+"px "+d.bottom+"px "+d.left+"px";if(g){b.style["text-align"]=g}this.setElementSize(f,parseFloat(f.style.width),parseFloat(f.style.height));if(e){b.style.width=parseFloat(f.style.width)-d.left+"px"}b.innerHTML=c},setElementPosition:function(c,b,d){c.style.position="absolute";c.style.left=b+"px";c.style.top=d+"px"},_getFloat:function(b){var d;for(var c=0;c<b.length;c++){d=parseFloat(b[c]);if(!isNaN(d)){return d}}return NaN},setElementSize:function(j,b,f){j.style.width=b+"px";j.style.height=f+"px";var e=this.getChild(j,"innerDiv");if(e){var i=this._getFloat([e.style.padding.left,e.style.padding,0]);var d=this._getFloat([e.style.padding.right,e.style.padding,0]);var g=this._getFloat([e.style.padding.top,e.style.padding,0]);var c=this._getFloat([e.style.padding.bottom,e.style.padding,0]);e.style.width=(b-i-d)+"px";e.style.height=(f-g-c)+"px"}},createCanvas:function(b){var c=document.createElement("div");c.style["background-color"]="transparent";c.style.overflow="hidden";b.appendChild(c);return c},createDiv:function(c,d,f,b){var g=document.createElement("div");g.id=d;g.style.height=b+"px";g.style.width=f+"px";var e=document.createElement("div");e.id="innerDiv";e.style.height=b+"px";e.style.width=f+"px";g.appendChild(e);c.appendChild(g);return g},getPivotRows:function(){return this._pivotRows},getPivotColumns:function(){return this._pivotColumns},getPivotCells:function(){return this._pivotCells},_layout:function(){var d=this.host.find("#divContent");var f=this.host.find("#divVScroll");var c=this.host.find("#divHScroll");var e=this.host.width();var b=this.host.height();if(!this._pivotCells.Canvas){this._pivotCells.Canvas=this.createCanvas(this.Canvas,"divCells",100,100)}if(!this._pivotRows.Canvas){this._pivotRows.Canvas=this.createCanvas(this.Canvas,"divRowsHierarchy",100,100)}if(!this._pivotColumns.Canvas){this._pivotColumns.Canvas=this.createCanvas(this.Canvas,"divColumnsHierarchy",100,100)}if(this._pivotRows.isHidden){this._pivotRows.Canvas.style.display="none"}else{this._pivotRows.Canvas.style.display="block";this.setElementPosition(this._pivotRows.Canvas,this._pivotRows.x,this._pivotRows.y);this.setElementSize(this._pivotRows.Canvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight());if(this._pivotRows.renderCanvas==undefined){this._pivotRows.renderCanvas=this.createCanvas(this._pivotRows.Canvas,"divRowsRender",100,100)}this.setElementSize(this._pivotRows.renderCanvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight())}if(this._pivotColumns.isHidden){this._pivotColumns.Canvas.style.display="none"}else{this._pivotColumns.Canvas.style.display="block";this.setElementPosition(this._pivotColumns.Canvas,this._pivotColumns.x,this._pivotColumns.y);this.setElementSize(this._pivotColumns.Canvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1);if(this._pivotColumns.renderCanvas==undefined){this._pivotColumns.renderCanvas=this.createCanvas(this._pivotColumns.Canvas,"divColumnsRender",100,100)}this.setElementSize(this._pivotColumns.renderCanvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1)}this.setElementPosition(this._pivotCells.Canvas,this._pivotColumns.x,this._pivotRows.y);this.setElementSize(this._pivotCells.Canvas,this._pivotCells.viewPort.width,this._pivotCells.viewPort.height);if(this._pivotCells.renderCanvas==undefined){this._pivotCells.renderCanvas=this.createCanvas(this._pivotCells.Canvas,"divCellsRender",100,100)}this.setElementSize(this._pivotCells.renderCanvas,this._pivotColumns.getWidth()+1,this._pivotRows.getHeight()+1)},refresh:function(){this._pivotColumns._renderRequired=true;this._pivotRows._renderRequired=true;this._pivotCells.clear();this._internalRefresh()},_internalRefresh:function(){var h=this.host.offset();if(this.autoResize){var d=this._pivotColumns.isHidden?0:this._pivotColumns.getHeight();var f=this._pivotColumns.isHidden?0:this._pivotColumns.getWidth();var e=this._pivotRows.isHidden?0:this._pivotRows.getHeight();var c=this._pivotRows.isHidden?0:this._pivotRows.getWidth();var g={};g.width=f+c+1;g.height=d+e+1;if(g.width!=this.host.width()||g.height!=this.host.height()){this._pivotColumns._renderRequired=this._pivotRows._renderRequired=true;this.host.css({width:g.width+"px",height:g.height+"px"})}}this._rect={x:h.left,y:h.top,width:this.host.width(),height:this.host.height()};this._render();var b=this.host.find("#divHScroll");b.jqxScrollBar("refresh")},_render:function(){var b=this._pivotColumns._renderRequired||this._pivotRows._renderRequired;if(this._pivotRows.compactStyleRenderingEnabled!=this.treeStyleRows){this._pivotRows.compactStyleRenderingEnabled=this.treeStyleRows;b=true}if(b){this._pivotRows._renderRequired=this._pivotColumns._renderRequired=true;this.RenderGridContent();this._layout()}this._pivotRows.viewPort.y=this._offsetY+(this._pivotColumns.isVisible()?this._pivotColumns.viewPort.height:0);this._pivotColumns.viewPort.x=this._offsetX+(this._pivotRows.isVisible()?this._pivotRows.viewPort.width:0);this._pivotColumns.refresh();this._pivotRows.refresh();this._pivotCells.render();this._updateMenuElement()},_updateMenuElement:function(){var b=this.host.find("#divContent");var d=b[0];if(this._menuElement){a(this._menuElement).off();d.removeChild(this._menuElement)}var e=document.createElement("div");e.style.height="16px";e.style.width="16px";e.style.id="menu_element";e.style.align="left";e.style.valign="top";e.style.display="none";d.appendChild(e);this._menuElement=e;var c=this;a(c._menuElement).on("click",function(){c._showItemContextMenu()})},dataBind:function(){var c=this.source;if(this.localization&&!c.localization){c.localization=this.localization}c.dataBind();function b(l,k,d,f,j){for(var g in l.items){var h=l.items[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.text=h.text;e.adapterItem=h;e.isColumn=j;k.items.push(e);b(h,e,e,f,j)}for(var g in l.valueItems){var h=l.valueItems[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.adapterItem=h;e.text=h.text;e.isColumn=j;e._isValueItem=true;k.valueItems.push(e);b(h,e,e,f,j)}}this._createPivotAreas();b(c._rowsHierarchy,this._pivotRows,null,this._pivotRows,false);b(c._columnsHierarchy,this._pivotColumns,null,this._pivotColumns,true);this.bindingState="DataBoundPivot";this._pivotRows.autoResize("default");this._pivotColumns.autoResize("default");this._internalRefresh()},getChild:function(d,e){var c=d.childNodes;for(var b=0;b<c.length;b++){if(c[b].id==e){return c[b]}}return null},scrollToOffset:function(c,e){var b=this.gridcells;for(var d=0;d<b.length;d++){b[d].style.top=e+parseInt(b[d].originalY)+"px";this.setDivContent(b[d],"cell "+d)}},getWidth:function(){return this.host.width()},getHeight:function(){return this.host.height()},RenderGridContent:function(){if(!this._pivotColumns._renderRequired&&!this._pivotRows._renderRequired){this._pivotRows.viewPort.y=this._offsetY;this._pivotColumns.viewPort.x=this._offsetX;return}if(this.PaintSuspended){return}if(this._colResizeState=="RESIZING"){return}var k={};k.x=this._offsetX;k.y=this._offsetY;k.width=this.getWidth();k.height=this.getHeight();if(k.width==0||k.height==0){return}this.PaintSuspended=true;if(this._pivotColumns._isColumnsCountRequresUpdate){this._pivotColumns._updateVisibleLeaves();this._pivotColumns._updateColumnsCount();this._pivotColumns._updateColumnsIndexes()}if(this._pivotRows._isColumnsCountRequresUpdate){this._pivotRows._updateColumnsCount();this._pivotRows._updateColumnsIndexes()}if(this.getWidth()==0||this.getHeight()==0){this.PaintSuspended=false;return}if(this.GroupingEnabled&&this.groupingColumns.length>0){this._pivotRows.isHidden=true}if(this._pivotColumns._renderRequired){this._pivotColumns.render()}if(this._pivotRows._renderRequired){this._pivotRows.render()}var c=(this._pivotColumns.isVisible()?this._pivotColumns.getHeight():0);var h=(this._pivotRows.isVisible()?this._pivotRows.getWidth():0);var i={width:this._pivotColumns.getWidth()+h,height:this._pivotRows.getHeight()+c};if(this.scrollableAreaSize!=i||this.isSyncScrollRequired){this.scrollableAreaSize=i;this.SynchronizeScrollBars()}var b=this.host.find("#divContent");var l=this.host.find("#divVScroll");var e=this.host.find("#divHScroll");var d=e.css("display")!="none";var g=l.css("display")!="none";b.css({height:(k.height-(d?e.height()+4:0))+"px"});b.css({width:(k.width-(g?l.width()+4:0))+"px"});var j=k.height;if(k.height==this.getHeight()){j=k.height-c-((d)?e.height()+4:0);if(j<0){j=k.height}}this._pivotRows.x=0;this._pivotRows.y=c;this._pivotRows.viewPort={x:this._pivotRows.x,y:k.y,width:this._pivotRows.getWidth(),height:j};var f=k.width;if(k.width==this.getWidth()){f=k.width-h-((g)?l.width()+4:0);if(f<0){f=k.width}}this._pivotColumns.x=h;this._pivotColumns.y=0;this._pivotColumns.viewPort={x:k.x,y:this._pivotColumns.y,width:f,height:this._pivotColumns.getHeight()};this._pivotCells.Bounds={x:this._pivotColumns.x,y:this._pivotRows.y,width:this._pivotColumns.getWidth(),height:j};this._pivotCells.viewPort={x:k.x,y:k.y,width:f,height:j};if(this.draggingItem!=null&&this.dragElement.visibility=="visible"){this.dragElement.setValue(this.Canvas.ZIndexProperty,10000)}this._pivotRows._renderRequired=false;this._pivotColumns._renderRequired=false;this.PaintSuspended=false},SynchronizeScrollBars:function(){var p=false;var e=false;var n=this.host.find("#divVScroll");var h=this.host.find("#divHScroll");var g=h.css("display")!="none";var j=n.css("display")!="none";var d=h.height();var k=false;var m=false;if(this.scrollableAreaSize.height>this.getHeight()){p=true}if(this.scrollableAreaSize.width>this.getWidth()){e=true}if(this.scrollableAreaSize.height<=this.getHeight()&&this.scrollableAreaSize.width<=this.getWidth()){p=false;e=false}if(p){e=e||(this.scrollableAreaSize.width>this.getWidth()-d)}if(e){p=p||(this.scrollableAreaSize.height>this.getHeight()-d)}if(p){if(!j){k=true}n[0].style.display="block";var c=this.getHeight()-(e?d+5:0);if(c<0){c=0}this.setElementPosition(n[0],this.getWidth()-d-4,0);this.setElementSize(n[0],d,c);n.jqxScrollBar("min",0);var i=this.scrollableAreaSize.height-(this.getHeight()-(e?d:0))+4;if(i!=n.jqxScrollBar("max")){n.jqxScrollBar("max",i)}if(this.VerticalScrollBarSmallChange!=undefined){n.jqxScrollBar("step",this.VerticalScrollBarSmallChange)}else{n.jqxScrollBar("step",10)}var l=this.scrollableAreaSize.height/10;if(l<10){l=10}if(this.VerticalScrollBarLargeChange!=undefined){l=verticalScrollBarLargeChange}if(n.jqxScrollBar("largestep")!=l){n.jqxScrollBar("largestep",l)}if(n.jqxScrollBar("largestep")<n.jqxScrollBar("step")){n.jqxScrollBar("largestep",n.jqxScrollBar("step"))}if(this.rtl){}else{}}else{if(j){k=true}n.jqxScrollBar("value",0);n[0].style.display="none"}if(e){if(g){m=true}h[0].style.display="block";var o=this.getWidth()-(p?d+5:0);if(o<0||o==undefined){o=0}this.setElementPosition(h[0],0,this.getHeight()-d-4);this.setElementSize(h[0],o,d);if(h.jqxScrollBar("min")!=0){h.jqxScrollBar("min",0)}var f=this.scrollableAreaSize.width-(this.getWidth()-(p?d:0))+4;if(h.jqxScrollBar("max")!=f){h.jqxScrollBar("max",f)}if(this.HorizontalScrollBarSmallChange!=undefined){h.jqxScrollBar("step",this.HorizontalScrollBarSmallChange)}else{h.jqxScrollBar("step",10)}var b=(this.getWidth()/2);if(b<25){b=25}if(this.HorizontalScrollBarLargeChange!=undefined){b=this.HorizontalScrollBarSmallChange}h.jqxScrollBar("largestep",b);if(h.jqxScrollBar("largestep")<h.jqxScrollBar("largestep")){h.jqxScrollBar("largestep",h.jqxScrollBar("step"))}}else{if(g){m=true}h.jqxScrollBar("value",0);h[0].style.display="none"}e=e&&this.scrollBarsEnabled;p=p&&this.scrollBarsEnabled;if(e!=(h[0].display=="block")){h[0].display=e?"block":"none";m=true}if(p!=(n[0].display=="block")){n[0].display=p?"block":"none";k=true}this._scrollBarPositions={vertical:{visible:p,rect:{x:n.position().left,y:n.position().top,width:n.width(),height:n.height()}},horizontal:{visible:e,rect:{x:h.position().left,y:h.position().top,width:h.width(),height:h.height()}}};h.jqxScrollBar("refresh");n.jqxScrollBar("refresh")},isPtInRect:function(b,c){return(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height)},onMouseLeftButtonUp:function(c){var j=this;for(var k in j._scrollBarPositions){if(this._scrollBarPositions[k].visible&&this.isPtInRect(j._currentPosition,j._scrollBarPositions[k].rect)){if(j._isMouseCaptured()){j._releaseMouseCapture()}j._isMouseLeftButtonDown=false;return}}if(j._isMouseCaptured()){j._releaseMouseCapture();return}if(j._itemMenuButtonMouseOver||j._isContextMenuOpen){return}j.canDrag=false;var g=a.jqx.position(c);var e=j.isPtInRect({x:g.left,y:g.top},j._rect);var d=j._pivotCells._hitTest(j._currentPosition);if(d&&e){var h=j._raisePivotCellMouseEvent(d.pivotRow,d.pivotColumn,"pivotcellmouseup","left");if(h){return}}if(j._colResizeState=="RESIZING"){j._colResizeState="NO_RESIZE";j._updateCursor("ARROW");j._pivotColumns._renderRequired=true;j._pivotRows._renderRequired=true;var l={x:j.resizingItem.x+j.resizingItem.hierarchy.x-j._offsetX,y:j.resizingItem.y+j.resizingItem.hierarchy.y-j._offsetY};if(this.isHorizontalResize){j.resizingItem.setWidth(Math.max(j.resizingItem.minimumWidth,Math.abs(j._currentPosition.x-l.x)))}else{j.resizingItem.setHeight(Math.max(j.resizingItem.minimumHeight,Math.abs(j._currentPosition.y-l.y)))}a("body").find("#"+j._resizeLineId).hide();j.resizingItem=null;if(j.resizeTooltipEnabled){}j._isMouseLeftButtonDown=false;j._internalRefresh();return}var f={isOnItemButton:false};var i=j._itemHitTest(j._currentPosition,f);if(i!=null){if(f.isOnItemButton||f.isOnMenuButton){return}}var b=false;if(j._canDrop(i)){j._endDrag(i);b=true}else{if(j.dragElement&&j.dragElement.style.display=="block"){j._endDrag(draggingItem);b=true}}if(b){j._isMouseLeftButtonDown=false;j._internalRefresh();return}j._isMouseLeftButtonDown=false;if(e&&j.activeEditor.Editor==null){j._updateSelection()}},onMouseLeftButtonDown:function(g){for(var h in this._scrollBarPositions){if(this._scrollBarPositions[h].visible&&this.isPtInRect(this._currentPosition,this._scrollBarPositions[h].rect)){this._captureMouse();return}}var d={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,d);this._timeLastDown=new Date();var c=false;if(!this.isShiftPressed){this._selectStartPosition={x:this._currentPosition.x,y:this._currentPosition.y}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}this._isMouseLeftButtonDown=true;if(this._colResizeState=="READY_RESIZE"){this._colResizeState="RESIZING";this._updateCursor(this.isHorizontalResize?"COLUMN_RESIZE":"ROW_RESIZE");this._refreshMouseCursor();return}else{if(this._colResizeState=="RESIZING"){return}}if(null!=f){if(d.isOnItemButton){if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}this._isMouseLeftButtonDown=false;if(f.isExpanded){f.collapse()}else{f.expand()}this._lastToggle={time:new Date(),item:f};this._internalRefresh();return}this.canDrag=true;if(d.isOnItemButton){this._updateCursor("ARROW")}else{this._updateCursor("CROSS")}if(f.isColumn){this._internalSelectMode="COL_SELECT"}else{this._internalSelectMode="ROW_SELECT"}}else{this._internalSelectMode="CELLS_SELECT"}var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","left");if(e){return}}if(this.activeEditor.Editor==null){this._updateSelection()}this._refreshMouseCursor()},onMouseRightButtonDown:function(e){this._timeLastDown=new Date();var c={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,c);if(d!=null){this._raisePivotItemMouseEvent(d,"pivotitemmousedown","right");return}var b=this._pivotCells._hitTest(this._currentPosition);if(b){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","right")}},onMouseRightButtonUp:function(d){var c=this;var f=a.jqx.position(d);var e=c.isPtInRect({x:f.left,y:f.top},c._rect);var b=this._pivotCells._hitTest(this._currentPosition);if(b&&e){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmouseup","right")}this._timeLastUp=new Date()},_itemMouseMove:function(b,g){if(this.resizingItem){if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}return}if(this._menuElement._itemMouseOver!=g){this._hideItemMenuElement()}this._updateCursor("CROSS");var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};if(g.isColumn){h.x+=g.hierarchy.x-this._offsetX}else{h.y+=g.hierarchy.y-this._offsetY}if(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled){h.height=g.height}h.right=h.x+h.width;h.bottom=h.y+h.height;if(Math.abs(h.right-b.x)<=4&&b.y>=h.y&&b.y<=h.bottom){this.isHorizontalResize=true;if(g.hierarchy.resizable&&!this._pivotColumns.isGroupingColumn(g)){this._updateCursor("COLUMN_RESIZE");this.resizingItem=(g.isColumn)?g._getLastVisibleLeaf(g):g;if(!this.resizingItem.isColumn&&!this.resizingItem.isExpanded){var d=this._pivotRows._getVisibleLeafLevelItems();for(var c in d){var e=d[c];if(e.ItemLevel>this.resizingItem.ItemLevel){this.resizingItem=e}}}this._colResizeState="READY_RESIZE"}return}if(!g.isColumn&&Math.abs(h.bottom-b.y)<=3){this.isHorizontalResize=false;if(!(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled)){g=g._getLastVisibleLeaf(g)}if(g.hierarchy.resizable){this._updateCursor("ROW_RESIZE");this.resizingItem=g;this._colResizeState="READY_RESIZE"}return}var f=g.hierarchy.getOtherHierarchy();if(g.hierarchy.sortable&&f.items.length>0){this._hitTestShowItemMenuElement(b,g,h)}},isInHierarchyViewPort:function(b,c){if(c.isColumnsHierarchy){return(this.isPtInRect({x:b.x+this._offsetX,y:b.y},c.viewPort))}else{return(this.isPtInRect({x:b.x,y:b.y+this._offsetY},c.viewPort))}},_hitTestShowItemMenuElement:function(b,g,h){if(this._menuElement&&this._menuElement._itemMouseOver&&this._menuElement._itemMouseOver._element){a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}this._menuElement.style.display="none";if(this._isContextMenuOpen||g.valueItems.length>0||!(b.x<h.right&&b.x>h.x&&b.y>=h.y&&b.y<=h.bottom)){return}var d=a.extend({},this._rect);d.x=d.y=0;if(this.vScroll[0].display=="block"){d.width-=this.vScroll.width()}if(this.hScroll[0].display=="block"){d.height-=this.hScroll.height()}var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);var e={x:g.x+h.width-18,y:g.y+(h.height-16)/2+1,width:16,height:16};this._menuElement.style.height=e.height+"px";this._menuElement.className=this.toThemeProperty("jqx-pivotgrid-menu-button");if(g.isColumn){e.x+=g.hierarchy.x-this._offsetX}else{e.y+=g.hierarchy.y-this._offsetY}this.setElementPosition(this._menuElement,e.x,e.y);if(this.isPtInRect({x:e.x,y:e.y},d)&&this.isPtInRect({x:e.x,y:e.y+e.height},d)&&this.isPtInRect({x:e.x+e.width,y:e.y},d)&&this.isPtInRect({x:e.x+e.width,y:e.y+e.height},d)){this._menuElement.style.display="block";this._menuElement._itemMouseOver=g;a(this._menuElement._itemMouseOver._element).find("#sortElement").hide();if(!g._currentCustomContent){var c=a(g._element).css("background-color");this._menuElement.style["background-color"]=c}if(g.isColumn){e.x+=this._offsetX-g.hierarchy.x}else{e.y+=this._offsetY-g.hierarchy.y}if(this.isPtInRect({x:f.x,y:f.y},e)){this._itemMenuButtonMouseOver=true}}},_hideItemMenuElement:function(){if(this._menuElement&&!this._isContextMenuOpen&&this._menuElement.style.display=="block"){this._menuElement.style.display="none";a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}},_hideItemContextMenu:function(){this._contextMenu.jqxMenu("close");this._hideItemMenuElement()},_showItemContextMenu:function(){var f=this._menuElement._itemMouseOver;if(!f){return}var e=this._contextMenu.width();var c=this._contextMenu.height();this._contextMenu.find("#sortasc")[0]["className"]="jqx-pivotgrid-sortasc-icon "+this.toThemeProperty("jqx-pivotgrid-sortasc-icon");this._contextMenu.find("#sortdesc")[0]["className"]="jqx-pivotgrid-sortdesc-icon "+this.toThemeProperty("jqx-pivotgrid-sortdesc-icon");this._contextMenu.find("#sortremove")[0]["className"]="jqx-pivotgrid-sortremove-icon "+this.toThemeProperty("jqx-pivotgrid-sortremove-icon");var d=-e+f.displayWidth+f.x+(f.hierarchy.viewPort.x-this._offsetX)-this._offsetX;if(!f.isColumn){d=f.x+f.displayWidth}var b=f.y+f.getDisplayHeight();if(!f.isColumn){b=f.y-this._offsetY+f.hierarchy.y}if(d<=1){d=1}if(b<this._pivotColumns.y+this._pivotColumns.getHeight()){b=this._pivotColumns.y+this._pivotColumns.getHeight()}if(b+c>this._rect.height){b=this._rect.height-c}this._contextMenu.jqxMenu("open",d+this._rect.x,b+this._rect.y);this._contextMenu.focus()},_handleMouseMove:function(d){if(this._colResizeState=="RESIZING"){this._doResize({x:this._currentPosition.x,y:this._currentPosition.y});this._refreshMouseCursor();return}else{this._colResizeState="NO_RESIZE";this.resizingItem=null}var j=this._currentPosition;var i=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotColumns)){i=this._pivotColumns.hitTest(j)}var c=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotRows)){c=this._pivotRows.hitTest(j)}this._itemMenuButtonMouseOver=false;if(i!=null||c!=null){var h=i==null?c:i;this.gridCellMouseOver=null;this._itemMouseMove(j,h);if(this._focusedItem!=h){this._focusedItem=h;if(this._isMouseLeftButtonDown){this._updateSelection()}}var f={};if(this.CellsHighlightOnHierarchyItemMoveEnabled&&((h.IsRowsHierarchyItem&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_ROW"))||(h.isColumn&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN")))){if(h.isColumn){f={x:h.x,y:0,width:h.DisplayWidth,height:this._pivotRows.getHeight()}}else{f={x:0,y:h.y,width:this._pivotColumns.getWidth(),height:h.getDisplayHeight()}}if((h.isColumn&&this.isGroupingEnabled&&this.groupingColumns.length>0)||(h.IsRowsHierarchyItem&&this._pivotRows.isOnRowDetails(this._currentPosition,h))){f={x:0,y:0,width:0,height:0}}}this._refreshMouseCursor();return}else{this._hideItemMenuElement()}var b=this.gridCellMouseOver!=null;this.resizingItem=null;this._focusedItem=null;this._colResizeState="NO_RESIZE";this._updateCursor("ARROW");var g=null;if(this.gridCellMouseOver){g={};g.pivotColumn=this.gridCellMouseOver.pivotColumn;g.pivotRow=this.gridCellMouseOver.pivotRow}var e=this._pivotCells._hitTest(j);if(this._isMouseLeftButtonDown&&e){if(this.gridCellMouseOver==null||this.gridCellMouseOver.pivotRow!=c||this.gridCellMouseOver.pivotColumn!=i){this.gridCellMouseOver={pivotRow:e.pivotRow,pivotColumn:e.pivotColumn,pivotCells:this._pivotCells}}var f={x:0,y:0,width:0,height:0};if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN"){f={x:this.gridCellMouseOver.pivotColumn.x,y:0,width:this.gridCellMouseOver.pivotColumn.getDisplayWidth(),height:this._pivotRows.getHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_ROW"){f={x:0,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_SINGLE_CELL"){f={x:this.gridCellMouseOver.pivotColumn.x,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()};if(this.isGroupingEnabled&&this.groupingColumns.length>0){if(this.gridCellMouseOver.pivotRow.items.length>0){f={x:0,y:0,width:0,height:0}}}if(this.gridCellMouseOver.pivotRow.RowDetailsVisible){f.height-=this.gridCellMouseOver.pivotRow.GetRowDetailsHeight()}}}}if(this._pivotColumns.isGroupingColumn(this.gridCellMouseOver.pivotColumn)||this._pivotRows.isOnRowDetails(this._currentPosition,this.gridCellMouseOver.pivotRow)){f={x:0,y:0,width:0,height:0}}}else{this.gridCellMouseOver=null}if(this.gridCellMouseOver!=null&&(this.gridCellMouseOver!=g||g.pivotRow!=this.gridCellMouseOver.pivotRow||g.pivotColumn!=this.gridCellMouseOver.pivotColumn)){if(this._isMouseLeftButtonDown&&!this._itemMenuButtonMouseOver){this._updateSelection();this._internalRefresh()}}},_handleMouseClick:function(f){var c={isOnItemButton:false};var g=this._itemHitTest(this._currentPosition,c);if(g!=null){var d=this._raisePivotItemMouseEvent(g,"pivotitemclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}if(this._isMouseLeftButtonDown&&!c.isOnItemButton&&g.sortMode=="Automatic"&&g.valueItems.length==0){var e=this.cursor;this.cursor="Wait";this.cursor=e}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var d=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}}}},_handleMouseDoubleClick:function(g){if(this.activeEditor.Editor!=null){var d=null;if(false==this.hideEditor("MOUSE_DBLCLICK",d,true)){return}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}var c={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,c);if(f!=null){if(c.isOnMenuButton){return}var e=this._raisePivotItemMouseEvent(f,"pivotitemdblclick",(g.button==0)?"left":"right");if(e){return}if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}if(g.button==0){if(f.isExpanded){f.collapse()}else{f.expand()}f.hierarchy.selectItem(f);this._internalRefresh()}this._lastToggle={time:new Date(),item:f}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcelldblclick",(g.button==0)?"left":"right");if(e){return}}}this._refreshMouseCursor()},_isMouseCaptured:function(){return this._captured===true},_releaseMouseCapture:function(){this._captured=false},_captureMouse:function(){this._captured=true},_updateCursor:function(b){if(b=="ARROW"){this.element.style.cursor="default"}else{if(b=="CROSS"){this.element.style.cursor="pointer"}else{if(b=="COLUMN_RESIZE"){this.element.style.cursor="col-resize"}else{if(b=="ROW_RESIZE"){this.element.style.cursor="row-resize"}}}}},_refreshMouseCursor:function(){},_ensureEditorFocus:function(){},focus:function(){},_itemHitTest:function(b,c){c.isOnItemButton=false;var g=null;if(!this._pivotRows.isHidden&&this.isInHierarchyViewPort(b,this._pivotRows)){g=this._pivotRows.hitTest(b)}if(g==null&&!this._pivotColumns.isHidden&&this.isInHierarchyViewPort(b,this._pivotColumns)){g=this._pivotColumns.hitTest(b)}if(g!=null){var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);if(g.items.length!=0&&g.expandCollapseEnabled!=false&&g.hierarchy.showExpandCollapseButtons){var e=0;if(!g.hierarchy.isColumnsHierarchy&&g.hierarchy.compactStyleRenderingEnabled){e=24*g.itemLevel}if(f.x>g.x+9+e&&f.x<g.x+20+e&&f.y>g.y+9&&f.y<g.y+20){c.isOnItemButton=true}}var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};var d={x:g.x+h.width-16,y:g.y,width:16,height:h.height};if(this.isPtInRect(f,d)&&g.hierarchy.sortable){c.isOnMenuButton=true}}return g},_raisePivotCellMouseEvent:function(g,f,b,c){var e=new a.Event(b);e.owner=this;e.args={pivotRow:g,pivotColumn:f,mousebutton:c,cancel:false};var d=this.host;d.trigger(e);if(e.args.cancel){return true}return false},_raisePivotItemMouseEvent:function(d,b,c){var f=new a.Event(b);f.owner=this;f.args={pivotItem:d,mousebutton:c,cancel:false};var e=this.host;e.trigger(f);if(f.args.cancel){return true}return false},_beginDrag:function(b){},_endDrag:function(b){},_canDrop:function(b){},_doResize:function(b){if(!(this.resizingItem!=null&&this.resizingItem.hierarchy.resizable)){return}if(this._pivotColumns.isGroupingColumn(this.resizingItem)){return}if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}this._focusedItem=this.resizingItem;var i={x:this.resizingItem.x+2*this.resizingItem.hierarchy.x-this.resizingItem.hierarchy.viewPort.x,y:this.resizingItem.y+2*this.resizingItem.hierarchy.y-this.resizingItem.hierarchy.viewPort.y};var g=false;var e=this.resizingItem.hierarchy;var d=a("body").find("#"+this._resizeLineId);if(this.isHorizontalResize){var h=b.x-i.x;if(h<this.resizingItem.minimumWidth){return}var f={x:b.x+this._rect.x,y:this._pivotRows.y+this._rect.y};d.css({"border-right":"1px dotted #555","border-bottom":"",width:"1px",height:this._pivotCells.viewPort.height,top:f.y,left:f.x,display:"block"});if(h>=this.resizingItem.minimumWidth&&h<=this.resizingItem.maximumWidth){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="width: "+h+" pixels"}g=true}}else{var c=b.y-i.y;if(c<this.resizingItem.minimumHeight){return}var f={x:this._pivotColumns.x+this._rect.x,y:b.y+this._rect.y};d.css({"border-bottom":"1px dotted #555","border-right":"",height:"1px",width:this._pivotCells.viewPort.width,left:f.x,top:f.y,display:"block",zIndex:50000});if(c>=this.resizingItem.minimumHeight&&c<=this.resizingItem.maximumHeight){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="height: "+c+" pixels"}g=true}}if(g){if(this.resizeTooltipEnabled){if(this._resizeTooltip.visibility!="visible"){this._resizeTooltip.visibility="visible"}this._resizeTooltip.setValue(this.Canvas.LeftProperty,b.x);this._resizeTooltip.setValue(this.Canvas.TopProperty,b.y);this._resizeTooltip.setValue(this.Canvas.ZIndexProperty,10002)}}},_internalClearSelection:function(){this._pivotColumns._internalClearSelection();this._pivotRows._internalClearSelection();this._pivotCells._internalClearSelection()},_beginSelectionUpdate:function(){if(this._isCTRLPressed&&this.multipleSelectionEnabled){return}this._pivotCells._beginSelectionUpdate();this._pivotColumns._beginSelectionUpdate();this._pivotRows._beginSelectionUpdate()},_endSelectionUpdate:function(){this._pivotColumns._endSelectionUpdate();this._pivotRows._endSelectionUpdate();this._pivotCells._endSelectionUpdate()},_updateSelection:function(){if(!this.selectionEnabled){return}this._colItemRangeSelectionBeg=null;this._rowItemRangeSelectionBeg=null;this._beginSelectionUpdate();var l=false;if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection();l=true}if(this.activeEditor.Editor!=null){this._internalClearSelection();this._endSelectionUpdate();return}var j=-1;var t=-1;var g={x:this._selectStartPosition.x,y:this._selectStartPosition.y};g.y-=this._offsetY;g.x-=this._offsetX;var p={isOnItemButton:false};var i=this._itemHitTest(this._selectStartPosition,p);if(i!=null){if(!(!i.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){i=i._getFirstVisibleLeaf(i)}if(i.isColumn){if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();return}else{this._internalSelectMode="COL_SELECT"}this._colItemRangeSelectionBeg=i}else{if(this.selectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}else{this._internalSelectMode="ROW_SELECT"}this._rowItemRangeSelectionBeg=i}}else{var h=this._pivotCells._hitTest(this._selectStartPosition);if(h){this._internalSelectMode="CELLS_SELECT";if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="ROW_SELECT"}else{if(this._SelectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="COL_SELECT"}}}else{this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}}var b={x:this._currentPosition.x,y:this._currentPosition.y};if(this._internalSelectMode=="COL_SELECT"){if(b.y>=this._pivotColumns.y+this._pivotColumns.getHeight()){b.y=this._pivotColumns.y+this._pivotColumns.getHeight()-1}if(b.y<=this._pivotColumns.y){b.y=this._selectStartPosition.y}if(b.x<=this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.x>=this._pivotColumns.x+this._pivotColumns.getWidth()){b.x=this._pivotColumns.x+this._pivotColumns.getWidth()-1}}else{if(this._internalSelectMode=="ROW_SELECT"){if(b.y>=this._pivotRows.y+this._pivotRows.getHeight()){b.y=this._pivotRows.y+this._pivotRows.getHeight()-1}if(b.y<=this._pivotRows.y){b.y=this._pivotRows.y+1}if(b.x<=this._pivotRows.x){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}if(b.x>=this._pivotRows.x+this._pivotRows.getWidth()){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}}else{if(this._internalSelectMode=="CELLS_SELECT"){if(b.x<this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.y<this._pivotRows.y){b.y=this._pivotRows.y+1}}}}this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null;var f=-1;var o=-1;if(this._internalSelectMode=="COL_SELECT"||this._internalSelectMode=="ROW_SELECT"){if(i!=null){var h={};var d=this._itemHitTest(b,h);if(null==d){this._endSelectionUpdate();return}if(!(!d.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){d=d._getLastVisibleLeaf(d)}if(d.isColumn){this._colItemRangeSelectionEnd=d}else{this._rowItemRangeSelectionEnd=d}}else{this._pivotCells.hitTest(b,h);if(h!=null){this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}else{this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null}}}if(this._internalSelectMode=="CELLS_SELECT"){var h=this._pivotCells._hitTest(this._selectStartPosition);this._colItemRangeSelectionBeg=h.pivotColumn;this._rowItemRangeSelectionBeg=h.pivotRow;if(!h){this._endSelectionUpdate();this._internalRefresh();return}if(g.x!=b.x||g.y!=b.y){this._pivotCells.hitTest(b,h);this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}if(!h.pivotRow||!h.pivotColumn){this._internalSelectMode="CELLS_SELECT";this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionStart=this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}}this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(l);if(this._internalSelectMode=="CELLS_SELECT"){var u=this._pivotRows._getVisibleLeafLevelItems();var n=this._pivotColumns._getVisibleLeafLevelItems();var t=this._pivotRows._pointToLeafItemIndexAbsolute(this._selectStartPosition);var o=this._pivotRows._pointToLeafItemIndexAbsolute(b);var j=this._pivotColumns._pointToLeafItemIndexAbsolute(this._selectStartPosition);var f=this._pivotColumns._pointToLeafItemIndexAbsolute(b);if((j==-1&&f==-1)||(t==-1&&o==-1)){this._endSelectionUpdate();this._internalRefresh();return}if(j==-1){j=f}if(f==-1){f=j}if(t==-1){t=o}if(o==-1){o=t}if(f<j){var s=j;j=f;f=s}if(o<t){var s=t;t=o;o=s}for(var m=t;m<=o&&m<u.length;m++){var e=u[m];for(var q=j;q<=f&&q<n.length;q++){var k=n[q];this._pivotCells._internalSelectCell(e,k)}}this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionEnd,pivotColumn:this._colItemRangeSelectionEnd,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}this._restoreSelectedItemsRangeOrder();this._applyItemsMultiSelect(l);this._endSelectionUpdate();this._internalRefresh()},_saveSelectedItemsRangeOrder:function(){this._adjSelectedItemsSave.colBeg=this._colItemRangeSelectionBeg;this._adjSelectedItemsSave.colEnd=this._colItemRangeSelectionEnd;this._adjSelectedItemsSave.rowBeg=this._rowItemRangeSelectionBeg;this._adjSelectedItemsSave.rowEnd=this._rowItemRangeSelectionEnd},_restoreSelectedItemsRangeOrder:function(){this._colItemRangeSelectionBeg=this._adjSelectedItemsSave.colBeg;this._colItemRangeSelectionEnd=this._adjSelectedItemsSave.colEnd;this._rowItemRangeSelectionBeg=this._adjSelectedItemsSave.rowBeg;this._rowItemRangeSelectionEnd=this._adjSelectedItemsSave.rowEnd},_adjustSelectedItemsOrder:function(c){if(this._colItemRangeSelectionBeg!=null&&this._colItemRangeSelectionEnd!=null&&this._colItemRangeSelectionBeg.x>this._colItemRangeSelectionEnd.x){var b=this._colItemRangeSelectionBeg;this._colItemRangeSelectionBeg=this._colItemRangeSelectionEnd;this._colItemRangeSelectionEnd=b}if(this._rowItemRangeSelectionBeg!=null&&this._rowItemRangeSelectionEnd!=null&&this._rowItemRangeSelectionBeg.y>this._rowItemRangeSelectionEnd.y){var b=this._rowItemRangeSelectionBeg;this._rowItemRangeSelectionBeg=this._rowItemRangeSelectionEnd;this._rowItemRangeSelectionEnd=b}if((false==this.multipleSelectionEnabled&&!c)||this._rowItemRangeSelectionEnd==null){this._rowItemRangeSelectionEnd=this._rowItemRangeSelectionBeg}if((false==this.multipleSelectionEnabled&&!c)||this._colItemRangeSelectionEnd==null){this._colItemRangeSelectionEnd=this._colItemRangeSelectionBeg}},_applyItemsMultiSelect:function(k){this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(k);for(var e=0;e<2;e++){if(this._internalSelectMode=="COL_SELECT"&&e!=0){continue}if(this._internalSelectMode=="ROW_SELECT"&&e!=1){continue}var l=e==0?this._colItemRangeSelectionBeg:this._rowItemRangeSelectionBeg;var c=e==0?this._colItemRangeSelectionEnd:this._rowItemRangeSelectionEnd;var f=(e==0)?this._pivotColumns:this._pivotRows;var g=f._getVisibleLeafLevelItems();if(g==null){this._internalRefresh();this._restoreSelectedItemsRangeOrder();return}var b=false;for(var d in g){var m=g[d];if(m!=l&&!b){continue}if(m.getWidthWithChildren()+m.x>this._mostRightItemBounds.x+this._mostRightItemBounds.width){this._mostRightItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}if(m.getWidthWithChildren()+m.x<this._mostLeftItemBounds.x+this._mostLeftItemBounds.width){this._mostLeftItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}b=true;f._internalSelectItem(m);if(m==c){break}}if(f.isColumnsHierarchy||!f.compactStyleRenderingEnabled){f._applySelectionToParentItems()}}this._restoreSelectedItemsRangeOrder()},localizeStrings:function(g,e){var b=this;if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}b._localizedStrings={decimalseparator:".",thousandsseparator:",",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",alignment:"Text alignment",cellalignment:"Number alignment",numberformat:"Number format",prefix:"Number prefix",decimalplacestext:"Decimal places",thousandsseparatortext:"Thousands separator",decimalseparatortext:"Decimal separator",nagativebracketstext:"Nagatives in brackets",fieldsettings:"Field settings",ok:"Ok",cancel:"Cancel"};var c=a.extend({},g);b._localizedStrings=a.extend(b._localizedStrings,c);for(var f in c){if(f&&f.toLowerCase()!==f){c[f.toLowerCase()]=c[f]}}for(var d in b._localizedStrings){if(c[d]!==undefined){b._localizedStrings[d]=c[d]}}},})})(jqxBaseFramework);$.jqx.jqxPivotGrid=$.jqx.jqxPivotGrid||{};$.jqx.define($.jqx.jqxPivotGrid,"propertyBag","");$.extend($.jqx.jqxPivotGrid.propertyBag.prototype,{defineInstance:function(){this.namedPropertyTables={};this._tableSizes={};this.enablePropertyChangeNotifications=false},getPropertyTable:function(a){if(undefined==this.namedPropertyTables[a]){this.namedPropertyTables[a]={};this._tableSizes[a]=0}return this.namedPropertyTables[a]},getPropertyCount:function(a){var b=this.getPropertyTable(a);if(null==b){return 0}return this._tableSizes[a]},getPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return null}if(c[b]!=undefined){return c[b]}return null},containsPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return false}return c[b]!=undefined},removePropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return}delete c[b];this._tableSizes[a]--},setPropertyValue:function(a,b,c){var d=this.getPropertyTable(a);if(null==d){return}if(c==null||c==undefined){if(d[b]){this._tableSizes[a]--;delete d[b]}}else{if(!d[b]){this._tableSizes[a]++}d[b]=c}if(this.enablePropertyChangeNotifications){this.onPropertyChanged(a)}},clear:function(a){if(a==""||a==null||a==undefined){this.namedPropertyTables={};return}var b=this.getPropertyTable(a);b={};this._tableSizes[a]=0},onPropertyChanged:function(a){$.event.trigger("propertychanged",a)}});(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.define(a.jqx.jqxPivotGrid,"pivotCells","");a.extend(a.jqx.jqxPivotGrid.pivotCells.prototype,{defineInstance:function(){this.parentPivotGrid=null;this.IsDataBoundPivotCellsEditable=false;this.cellProperties=new a.jqx.jqxPivotGrid.propertyBag();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._selectedCells=new Object()},hitTest:function(c){var d=this._hitTest(c);if(!d){return undefined}var b={pivotRow:d.pivotRow,pivotColumn:d.pivotColumn,pivotCells:this};return b},_hitTest:function(b){var c={};c.pivotColumn=this.parentPivotGrid._pivotColumns._pointToLeafItemAbsolute(b);c.pivotRow=this.parentPivotGrid._pivotRows._pointToLeafItemAbsolute(b);if(this.parentPivotGrid._pivotColumns.isGroupingColumn(c.pivotColumn)){return undefined}if(c.pivotColumn==null||c.pivotRow==null){return undefined}return c},clear:function(){this._reset()},_reset:function(){this.cellProperties.clear();this._selectedCells=new Object();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._clearElementsAndCellsCache()},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.removeChild(b.firstChild)}},_clearElementsAndCellsCache:function(){this._clearCellsCache()},setCellValue:function(b,g,k){if(b==null||g==null){return}var c=this.parentPivotGrid.getCellId(g,b);var i=this.getCellDataSource(b,g);var f=b.BoundFieldIndex!=-1&&g.BoundFieldIndex!=-1;var d=false;var j=this.getCellDataSource(b,g);if(j=="DataBound"&&f){d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}try{this.parentPivotGrid.setCellValueFromDataSourceNonPivot(b,g,k)}catch(h){return}this.cellProperties.setPropertyValue("CellValue",c,null);this.parentPivotGrid.OnCellValueChanged(b,g);return}else{if(j=="DataBoundPivot"){if(!this.IsDataBoundPivotCellsEditable){throw"The cell's value is derived from the data source and aggregated. It is not editable in this mode. Use the SetCellDataSource method to change the cell's data source first"}else{return}}}var d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}this.SetCellDataSource(b,g,"Static");this.cellProperties.setPropertyValue("CellValue",c,k);this.onPropertyChanged("CellValue");this.parentPivotGrid.OnCellValueChanged(b,g)},_clearCellsCache:function(){this.cellProperties.clear("CellValue")},_clearCachedCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this.cellProperties.containsPropertyValue("CellValue",b)){this.cellProperties.removePropertyValue("CellValue",b)}},drillThroughCell:function(c,b){if(!c||c.isColumn){throw"Invalid pivotRow parameter"}if(!b||!b.isColumn){throw"Invalid pivotColumn parameter"}return this.parentPivotGrid.source.drillThroughPivotCell(c.adapterItem,b.adapterItem)},getCellValue:function(h,f){var d=null;if(this.parentPivotGrid._pivotColumns.isGroupingColumn(f)){return null}var c=this.parentPivotGrid.getCellId(f,h);var b=this.getCellDataSource(h,f);if(h.isTotal||f.isTotal){b="Virtual"}switch(b){case"Virtual":d=this.parentPivotGrid.onCellValueNeeded(h,f);this.cellProperties.setDirty(c);if(d==null&&this.parentPivotGrid.bindingState=="BoundPivot"&&(h.isTotal||f.isTotal)){d=this.parentPivotGrid.getCellValueFromDataSource(h,f)}break;case"DataBoundPivot":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){d=this.parentPivotGrid.source.getCellValue(h.adapterItem,f.adapterItem);if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"DataBound":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){try{d=this.parentPivotGrid.getCellValueFromDataSourceNonPivot(h,f)}catch(g){return null}if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"NotSet":case"Static":default:d=this.cellProperties.getPropertyValue("CellValue",c);break}return d},setCellDataSource:function(e,c,b){if(e==null||c==null){return}var d=this.parentPivotGrid.getCellId(c,e);this.cellProperties.setPropertyValue("cellDataSource",d,b)},getCellDataSource:function(e,b){var d=this.parentPivotGrid.getCellId(b,e);var c=this.cellProperties.getPropertyValue("cellDataSource",d);if(null==c){c=b.cellDataSource}if(c==null||c=="NotSet"){c=e.cellDataSource}if(c!=null&&c!="NotSet"){return c}if(this.parentPivotGrid.UseVirtualCellsByDefault){return"Virtual"}if(this.parentPivotGrid.bindingState=="DataBound"||this.parentPivotGrid.bindingState=="DataBoundPivot"){return this.parentPivotGrid.bindingState}return"NotSet"},render:function(){var m=this.renderCanvas;if(!m){return}var x=this.parentPivotGrid;x.setElementPosition(m,-this.parentPivotGrid._offsetX,-this.parentPivotGrid._offsetY);var d=x._pivotRows;var A=x._pivotColumns;if(!this._refreshRequired&&(!d._isVirtualMode&&!A._isVirtualMode)){return}var o=d._getLeafItemsToRender();var g=A._getLeafItemsToRender();this._cellElements=this._cellElements||{};var e=new Array();var q=new Date();var s={first:d._isVirtualMode?o.first:0,last:d._isVirtualMode?o.last:o.items.length-1};var u={first:A._isVirtualMode?g.first:0,last:A._isVirtualMode?g.last:g.items.length-1};for(var y=s.last;y>=s.first;y--){for(var G=u.last;G>=u.first;G--){if(y==-1||G==-1){continue}var n=o.items[y];var l=g.items[G];var I=x.getCellId(l,n);var p=l.getDisplayWidth()-1;var F=n.getDisplayHeight()-1;var f=this.isCellSelected(n,l);var z=this._cellElements[I];var k=undefined;if(z&&z.isSelected==f){k=z.element}var v={left:4,top:4,right:4,bottom:4};var B=this.getCellValue(n,l);var j="";if(!k){k=x.createDiv(m,j,p,F);k.cellId=I;this._cellElements[I]={element:k,isSelected:f};x.setElementSize(k,p,F);var D="right";if(x.cellsRenderer&&a.isFunction(x.cellsRenderer)){j=x.cellsRenderer({value:B.value,formattedValue:B.formattedValue,isSelected:f,pivotRow:n,pivotColumn:l});v={left:0,top:0,right:0,bottom:0}}else{j=(B!==undefined&&B.formattedValue!==undefined)?B.formattedValue.toString():"";var C=this.parentPivotGrid.source.getCellFormatSettings(n.adapterItem,l.adapterItem);if(C){D=C.align||"right"}}this.parentPivotGrid.setDivContent(k,j,v,D);k.originalY=k.style.top;k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal")}else{if(k.style.width!=p+"px"||k.style.height!=F+"px"){this.parentPivotGrid.setElementSize(k,p,F)}}k.tRender=q;if(k.style.display!="block"){k.style.display="block"}if(k.style.left!=l.x+"px"||k.style.top!=n.y+"px"){this.parentPivotGrid.setElementPosition(k,l.x,n.y)}var b="cellsClassName";if(this.isCellSelected(n,l)){k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-selected jqx-fill-state-hover jqx-widget-content");b="cellsClassNameSelected"}else{k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal jqx-widget-content")}var H=a.jqx.getByPriority([n[b],(n.adapterItem&&n.adapterItem.boundField)?n.adapterItem.boundField[b]:undefined,l[b],(l.adapterItem&&l.adapterItem.boundField)?l.adapterItem.boundField[b]:undefined]);if(H){k.className+=" "+H}k.className+=" jqx-pivotgrid-content-wrapper"}}for(var E=0;E<m.childNodes.length;E++){if(m.childNodes[E].cellId&&m.childNodes[E].tRender!=q){e.push(m.childNodes[E])}}while(true){var k=e.pop();if(!k){break}else{delete this._cellElements[k.cellId];k.style.display="none";m.removeChild(k)}}this._refreshRequired=false},_beginSelectionUpdate:function(){for(var b in this._selectedCells){this._selectedCells[b].OldIsSelected=this._selectedCells[b].isSelected}},_endSelectionUpdate:function(){var d=new Array();for(var b in this._selectedCells){var c=this._selectedCells[b];if(!c.isSelected){d.push(b)}if(c.isSelected!=c.OldIsSelected){}}if(d.length>0){for(var b in d){delete this._selectedCells[d[b]]}}},_internalClearSelection:function(){for(var b in this._selectedCells){this._internalUnselectCell(this._selectedCells[b].pivotRow,this._selectedCells[b].pivotColumn)}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate();this.render()},selectCell:function(c,b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectCell(c,b);this.parentPivotGrid._cellKBRangeSelectionStart={pivotRow:c,pivotColumn:b,pivotCells:this};this.parentPivotGrid._cellKBRangeSelectionEnd={pivotRow:c,pivotColumn:b,pivotCells:this};this._endSelectionUpdate()},_internalSelectCell:function(d,c){if(c!=null&&this.parentPivotGrid._pivotColumns.isGroupingColumn(c)){return}if(this.parentPivotGrid._internalSelectMode=="NO_SELECT"){switch(this.parentPivotGrid.selectionMode){case"CELL_SELECT":this.parentPivotGrid._internalSelectMode="CELLS_SELECT";break;case"FULL_COLUMN_SELECT":this.parentPivotGrid._internalSelectMode="COL_SELECT";break;case"FULL_ROW_SELECT":this.parentPivotGrid._internalSelectMode="ROW_SELECT";break}}var b=this.parentPivotGrid.getCellId(c,d);delete this._cellElements[b];if(this._selectedCells[b]==undefined){this._selectedCells[b]={pivotRow:d,pivotColumn:c,isSelected:true}}else{this._selectedCells[b].isSelected=true}this._refreshRequired=true},unselectCell:function(c,b){this._beginSelectionUpdate();this._internalUnselectCell(c,b);this._endSelectionUpdate()},_internalUnselectCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this._selectedCells[b]!=undefined){this._selectedCells[b].isSelected=false}delete this._cellElements[b];this._refreshRequired=true},isCellSelected:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(c.isSelected||d.isSelected){return true}return this._selectedCells[b]!=undefined&&this._selectedCells[b].isSelected},getSelectedCellsCount:function(){return this._selectedCells.length},getSelectedCells:function(){var d=new Array();for(var c in this._selectedCells){var b=this._selectedCells[c];if(b.isSelected){d.push({pivotRow:b.pivotRow,pivotColumn:b.pivotColumn,pivotCells:this})}}return d},getNextCell:function(c,b){var e={};switch(b){case"left":e={x:c.pivotColumn.x-1,y:c.pivotRow.y+1};break;case"right":e={x:c.pivotColumn.x+c.pivotColumn.getWidth()+1,y:c.pivotRow.y+1};break;case"top":e={x:c.pivotColumn.x+1,y:c.pivotRow.y-1};break;case"bottom":e={x:c.pivotColumn.x+1,y:c.pivotRow.y+c.pivotRow.getHeight()+1};break}var f={x:e.x+2*this.parentPivotGrid._pivotColumns.x-this.parentPivotGrid._pivotColumns.viewPort.x,y:e.y+2*this.parentPivotGrid._pivotRows.y-this.parentPivotGrid._pivotRows.viewPort.y};var d=this._hitTest(f);if(!d){return undefined}return d}})})(jqxBaseFramework);(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.jqxPivotGrid.pivotItem=function(c,b){this.text="Item";this.isExpanded=false;this.expandCollapseEnabled=true;this.isHidden=false;this.isFiltered=false;this.isSelected=false;this._height=26;this._width=18;this.isDirty=true;this.parentItem=c||null;this.hierarchy=b||c.hierarchy;this.parentPivotGrid=this.hierarchy.parentPivotGrid;this.id=this.parentPivotGrid.genId();this.itemLevel=0;this.itemColumn=0;this._itemOrdinal=NaN;this.x=0;this.y=0;this.hierarchyItemWidth=70;this.hierarchyItemHeight=26;this.widthWithChildrenCached=0;this.minimumWidth=18;this.maximumWidth=10000000;this.minimumHeight=8;this.maximumHeight=Infinity;this.items=new Array();this.valueItems=new Array()};a.extend(a.jqx.jqxPivotGrid.pivotItem.prototype,{_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},_calculateWidthWithChildren:function(){if(this.isHidden){this.widthWithChildrenCached=0;return}var d=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(d){this.widthWithChildrenCached=this.hierarchy.getColumnWidth(0);return}this.widthWithChildrenCached=this.getWidth();if(this.items!=null&&this.valueItems!=null){if(this.getVisibleItemsCount()>0||(!this.isColumn&&!d)){var c=0;if(!this.isColumn){var b=this.hierarchy.getMaxVisibleLevelDepth();for(var e=this.itemLevel;e<=b;e++){c+=this.hierarchy.getColumnWidth(e)}}else{c=0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){if((this.items[e]).isHidden){continue}c+=this.items[e].getWidthWithChildren()}}for(var e=0;e<this.valueItems.length;e++){if(this.valueItems[e].isHidden){continue}c+=this.valueItems[e].getWidthWithChildren()}}this.widthWithChildrenCached=c;return}}this.widthWithChildrenCached=this.getWidth();return},getWidthWithChildren:function(){if(this.hierarchy._renderRequired){this._calculateWidthWithChildren()}return this.widthWithChildrenCached},getDisplayWidth:function(){if(!this.isDirty&&!this.hierarchy._renderRequired){return this.displayWidth}var b=this.hasVisibleValueItems();if(this.isColumn){this.displayWidth=(this.isExpanded||b)?this.getWidthWithChildren():this.getWidth()}else{this.displayWidth=(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled)?this.getWidthWithChildren():this.getWidth();if(!this.isExpanded&&!b){this.displayWidth=this.hierarchy.getWidth()-this.x}}if(this.displayWidth<18){this.displayWidth=18}return this.displayWidth},getWidth:function(){if(this.isHidden||this.isFiltered){return 0}if(null==this.hierarchy){return 0}var d=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){d=0}var c=this.minimumWidth;if(!this.isColumn){c=this.hierarchy.getColumnWidth(d)}else{c=this.hierarchyItemWidth;if(this.parentItem){var b=this.parentItem.getWidth();if(b>c&&b>this.parentItem.widthWithChildrenCached){}}}return c},_measureElement:function(f){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");a(document.body).append(c);var d=this.hierarchy.sortable?16:0;var e=4;var b={width:c.width()+d+2*e,height:c.height()+2*e};c.remove();return b},autoResize:function(b){if(!b){b="fitItemContent"}if(this.isColumn){this.setWidth(this.minimumWidth)}else{this.setHeight(this.minimumHeight)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){this._autoResizeBestItemContent(b)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){if(this.isColumn&&this.parentItem!=null&&this.getWidth()<this.parentItem.getWidth()){this.setWidth(this.parentItem.getWidth())}}},_autoResizeBestItemContent:function(b){this._updateVisibleChildItemsCount();var e=this._measureElement(this.text);if(b=="default"&&this.adapterItem.boundField){if(!isNaN(this.adapterItem.boundField.width)){e.width=this.adapterItem.boundField.width}if(!isNaN(this.adapterItem.boundField.height)){e.height=this.adapterItem.boundField.height}}if(this.itemColumn>=this.hierarchy._getColumnsCount()){this.hierarchy._updateColumnsCount()}if(this._visibleChildItemsCount>0){e.width+=30}if(this.getWidth()<e.width||(b=="default"&&this.adapterItem.boundField&&!isNaN(this.adapterItem.boundField.width))){this.setWidth(e.width)}if(!this.isColumn){if(this.getHeight()<e.height){this.setHeight(e.height)}}else{var d=this.parentPivotGrid._pivotColumns.getHeight();if(d<e.height){this.parentPivotGrid._pivotColumns.setRowHeight(this,e.height)}}for(var c in this.items){this.items[c]._autoResizeBestItemContent(b)}for(var c in this.valueItems){this.valueItems[c]._autoResizeBestItemContent(b)}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_autoResizeBestCellFit:function(d){if(this.hierarchy!=null&&this.hierarchy._renderRequired){this.hierarchy.render()}if(this.hierarchy!=null&&this.hierarchy.ColumnsCountRequresUpdate){this.hierarchy._updateColumnsCount()}if(this.items.length==0&&this.valueItems.length==0){if(this.hierarchy!=null&&this.parentPivotGrid!=null&&this.parentPivotGrid._pivotCells!=null&&this.parentPivotGrid._pivotRows!=null&&this.parentPivotGrid._pivotColumns!=null){var c={width:1,height:1};var e=this.isColumn?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var g=this._getVisibleLeafLevelItems();for(var f in g){var i=!(g[f].isColumn)?g[f]:this;var b=g[f].isColumn?g[f]:this;var h={width:10,height:10};if(c.width<h.width){c.width=h.width}if(c.height<h.height){c.height=h.height}}if(this.width<c.width){this.setWidth(c.width)}if(!this.isColumn&&this.getHeight()<c.height){this.setHeight(c.height)}}}else{for(var f in this.items){this.items[f]._autoResizeBestCellFit(d)}for(var f in this.valueItems){this.valueItems[f]._autoResizeBestCellFit(d)}}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},setWidth:function(c){if(c<0){throw new Exception("Invalid pivotItem Width value. The value must greater than 0")}if(null==this.hierarchy){return}var b=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){b=0}if(this.hierarchy._getColumnsCount()<b){this.hierarchy._updateColumnsCount()}if(c<this.minimumWidth){c=this.minimumWidth}if(c>this.maximumWidth){c=this.maximumWidth}if(this.isColumn){this.hierarchyItemWidth=c}else{this.hierarchy.setColumnWidth(b,c)}this.hierarchy._renderRequired=true},getHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight},setHeight:function(b){if(b<0||b>10000){throw new Exception("Invalid pivotItem Height value. The value must be between 0 and 10000")}if(b<this.minimumHeight){b=this.minimumHeight}if(b>this.maximumHeight){b=this.maximumHeight}this.hierarchyItemHeight=b;if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_calculateHeightWithChildren:function(){if(this.isHidden||this.isFiltered){this.heightWithChildren=0;return}var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(this.isExpanded||this.hasVisibleValueItems()){var b=0;if(this.isColumn){b=this.hierarchyItemHeight;var f=0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){var e=this.items[d].getHeightWithChildren();if(f<e){f=e}}}for(var d=0;d<this.valueItems.length;d++){var e=this.valueItems[d].getHeightWithChildren();if(f<e){f=e}}if(f>0){b+=f}}else{b=c?this.getHeight():0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){if(this.items[d].isHidden||this.items[d].isFiltered){continue}b+=this.items[d].getHeightWithChildren()}}for(var d=0;d<this.valueItems.length;d++){if(this.valueItems[d].isHidden||this.valueItems[d].isFiltered){continue}b+=this.valueItems[d].getHeightWithChildren()}}this.heightWithChildren=b}else{this.heightWithChildren=this.hierarchyItemHeight}if(this.IsRowDetailsVisible){this.heightWithChildren+=this.RowDetailsHeight}return},getHeightWithChildren:function(){if(this.hierarchy._renderRequired||this.isDirty){this._calculateHeightWithChildren()}return this.heightWithChildren},getDisplayHeight:function(){var c=this.hasVisibleValueItems();var b=0;if(this.isColumn){b=(this.isExpanded||c)?this.getTotalHeight():this.hierarchy.getHeight()-this.y}else{if(this.hierarchy.compactStyleRenderingEnabled){b=this.getHeight();if(this.IsRowDetailsVisible){b+=this.RowDetailsHeight}}else{b=this.getHeightWithChildren()}}if(b<this.minimumHeight){b=this.minimumHeight}return b},getTotalHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight+((this.IsRowDetailsVisible)?this.RowDetailsHeight:0)},ensureVisible:function(){var c=this;if(c.isVisible()){return}var e=c.hierarchy.parentPivotGrid.host;if(c.isColumn){var b=e.find("#divHScroll");if(c.x+c.getWidth()>c.hierarchy.viewPort.width){b.val(c.x+c.getWidth()-c.hierarchy.viewPort.width)}else{b.val(c.x)}}else{var d=e.find("#divVScroll");if(c.y+c.getHeight()>c.hierarchy.viewPort.height){d.val(c.y+c.getHeight()-c.hierarchy.viewPort.height)}else{d.val(c.y)}}},isVisible:function(){if(this.isHidden){return false}if(this.y<this.hierarchy.viewPort.y-this.hierarchy.y||this.y+this.getDisplayHeight()>this.hierarchy.viewPort.y-this.hierarchy.y+this.hierarchy.viewPort.height||this.x<this.hierarchy.viewPort.x-this.hierarchy.x||this.x+this.getDisplayWidth()>this.hierarchy.viewPort.x-this.hierarchy.x+this.hierarchy.viewPort.width){return false}return true},_updateVisibleChildItemsCount:function(){var c=0;for(var b=0;b<this.items.length;b++){if(this.items[b].isHidden||this.items[b].isFiltered){continue}c++}this._visibleChildItemsCount=c},render:function(h,g){this._updateVisibleChildItemsCount();var k=-1;var b=-1;if(this.isHidden||this.isFiltered){return true}this.x=h;this.y=g;var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);var d=c?this.getTotalHeight():0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){var j=this.items[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}}for(var e=0;e<this.valueItems.length;e++){var j=this.valueItems[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}this._calculateWidthWithChildren();this._calculateHeightWithChildren();return true},_getChildItemsDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d+1},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},hasVisibleValueItems:function(){for(var b=0;b<this.valueItems.length;b++){var c=this.valueItems[b];if(false==c.isHidden&&false==c.isFiltered){return true}}return false},getVisibleItemsCount:function(){if(this.isHidden||this.isFiltered){return 0}var c=0;if((!this.isExpanded||this.items.length==0)&&this.valueItems.length==0){return c}else{c=0;for(var b=0;b<this.items.length;b++){if(!this.items[b].isHidden&&!this.items[b].isFiltered){c++}}for(var b=0;b<this.valueItems.length;b++){if(!this.valueItems[b].isHidden&&!this.valueItems[b].isFiltered){c++}}}return c},hitTest:function(b){if(this.isHidden||this.isFiltered){return null}var d=this.getDisplayHeight()+1;var c=this.getDisplayWidth()+1;if(b.x>=this.x&&b.x<=this.x+c&&b.y>=this.y&&b.y<=this.y+d){return this}return null},_expandInternal:function(b,f,g){if(this.items.length==0){return}if(!this.expandCollapseEnabled){return}if(this.isExpanded==b){return}var e=new a.Event(this.isExpanded?"pivotitemcollapsing":"pivotitemexpanding");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};e.cancel=false;var d=this.hierarchy.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this.isExpanded=b;if(this.items.length==0&&this.valueItems.length==0){return}if(g){for(var c=0;c<this.items.length;c++){this.items[c]._expandInternal(b,f,g)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c]._expandInternal(b,f,g)}}this.hierarchy._renderRequired=true;if(f){this.hierarchy._updateVisibleLeaves()}var e=new a.Event(this.isExpanded?"pivotitemexpanded":"pivotitemcollapsed");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};d.trigger(e)},expand:function(){this._expandInternal(true,true,false)},collapse:function(){this._expandInternal(false,true,false)},_getFirstVisibleLeaf:function(c){if(c.isExpanded){var d=false;for(var b=0;b<c.items.length;b++){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}if(c.hasVisibleValueItems){var d=false;for(var b=0;b<c.valueItems.length;b++){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}return c},_getLastVisibleLeaf:function(c){var d=false;for(var b=c.valueItems.length-1;b>=0;b--){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getLastVisibleLeaf(c);d=true;break}}if(d){return c}for(var b=c.items.length-1;b>=0&&c.isExpanded;b--){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getLastVisibleLeaf(c);break}}return c}});a.jqx.jqxPivotGrid.hierarchy=function(){this.parentPivotGrid=arguments[0];this._initDefaults()};a.extend(a.jqx.jqxPivotGrid.hierarchy.prototype,{_initDefaults:function(){this.columnWidths=new Array();this.rowHeights=new Array();this.items=new Array();this.valueItems=new Array();this.visibleLeafItems=new Array();this.viewPort=new Object();this.viewPort.x=0;this.viewPort.y=0;this.viewPort.width=10000;this.viewPort.height=10000;this.isFixed=false;this.isHidden=false;this.resizable=true;this.sortable=true;this._renderRequired=true;this.maxVisibleLevelDepth=-1;this.showExpandCollapseButtons=true;this.x=0;this.y=0;this._width=0;this._height=0;this.minColumnWidth=18;this._isColumnsCountRequresUpdate=true;this._selectedItems=new Object();this.virtualModeThreshold=5000;this._isVirtualMode=true},isVisible:function(){return !this.isHidden},toggle:function(){if(this.isHidden){this.show()}else{this.hide()}},getOtherHierarchy:function(){return(this.isColumnsHierarchy)?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns},show:function(){this.isHidden=false;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},hide:function(){this.isHidden=true;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},refresh:function(){var j=this.parentPivotGrid;var b=j.toThemeProperty("jqx-widget-content jqx-fill-state-pressed jqx-widget-header");var r=j.toThemeProperty("jqx-widget-content jqx-fill-state-normal jqx-widget-header");var k=a.jqx.get(this,"renderCanvas");var p=this._renderRequired||this._refreshRequired;if(!p){return}if(this._renderRequired){this.render()}if(this.isHidden){return}var d=new Array();var s=new Date();var x=this._getItemsToRender();if(!x){return}for(var A=0;A<x.length;A++){var F=x[A];var q=F.getDisplayWidth()-1;var B=F.getDisplayHeight()-1;var v=F._element;if(a.isFunction(j.itemsRenderer)){var n=j.itemsRenderer(F);if(v&&F._currentCustomContent!=n){k.removeChild(v);v=F._element=null}F._currentCustomContent=n}if(!v){var u={left:4,top:4,right:4,bottom:4};if(!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled){u.left+=F.itemLevel*this.compactStyleRenderingItemsIndent}var I=F.text;var m="left";if(a.isFunction(j.itemsRenderer)){I=F._currentCustomContent;u={left:0,top:0,right:0,bottom:0}}else{var g="";if(F.items.length!=0&&F.hierarchy.showExpandCollapseButtons){if(F.isExpanded){g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-collapse-button'></div>"}else{g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-expand-button'></div>"}}var G="";if(F.hierarchy._sortItem==F){var z=F.hierarchy._sortOrder=="desc"?"sortdesc jqx-grid-column-sortdescbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-down"):"sortasc jqx-grid-column-sortascbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-up");G="<div id='sortElement' class='"+z+"' style='position: relative; float: right; padding-right: 8px; width: 16px; height: 100%;'></div>"}var y=F.text;if(F.adapterItem.boundField){m=F.adapterItem.boundField.align||"left"}m=m.toString().toLowerCase();if(m!="center"&&m!="right"){m="left"}if(G!=""){var l=0;var o=24;if(g!=""){l=23;o+=l}I=g+"<div><div style='left: "+l+"px; top: 0; position: absolute; height: 100%; width: calc(100% - "+o+"px); text-overflow: ellipsis; overflow: hidden;  white-space: nowrap;padding-left:"+u.left+"px; padding-top:"+u.top+"px; '>"+y+"</div><div style='left: 0; top: 0; position: absolute; height: 100%; width: 100%;'>"+G+"</div></div>"}else{I=g+y+G}}v=j.createDiv(k,"",q,B);j.setDivContent(v,I,u,m,true);var J=this.parentPivotGrid.getChild(v,"innerDiv");J.className="jqx-pivotgrid-item";j.setElementPosition(v,F.x,F.y);v.originalY=v.style.top}F.tRender=s;var f=F.isSelected?b:r;var c=F.isSelected?"classNameSelected":"className";var H=a.jqx.getByPriority([F[c],(F.adapterItem&&F.adapterItem.boundField)?F.adapterItem.boundField[c]:undefined,this.hierarchy?this.hierarchy[c]:undefined]);if(H){f+=" "+H}f+=" jqx-pivotgrid-content-wrapper";if(f!=v.className){v.className=f}v.style.display="block";v.item=F;F._element=v}for(var A=0;A<k.childNodes.length;A++){if(k.childNodes[A].item&&k.childNodes[A].item.tRender!=s){d.push(k.childNodes[A])}}var E=100;while(true){var e=d.pop();if(!e){break}else{if(k.childNodes.length>E){e.item._element=undefined;k.removeChild(e)}else{e.item._element.style.display="none"}}}var C=!this.isColumnsHierarchy?-j._offsetY:0;var D=this.isColumnsHierarchy?-j._offsetX:0;j.setElementPosition(k,D,C);this._refreshRequired=false},clear:function(){this._initDefaults();this._resetCanvas();this.items=[];this.valueItems=[];this._renderRequired=true},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.firstChild.item._element=undefined;b.removeChild(b.firstChild)}},autoResize:function(b){for(var c=0;c<this.items.length;c++){this.items[c].autoResize(b)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c].autoResize(b)}},getMaxVisibleLevelDepth:function(){if(this.maxVisibleLevelDepth==-1||this._renderRequired){var c=this._getVisibleLeafLevelItems();this.maxVisibleLevelDepth=0;for(var b=0;b<c.length;b++){if(c[b].itemLevel>this.maxVisibleLevelDepth){this.maxVisibleLevelDepth=c[b].itemLevel}}}return this.maxVisibleLevelDepth},getHierarchyDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d},getSortItem:function(){return this._sortItem},getSortOrder:function(){return this._sortOrder},_fnAscSortComparer:function(c,b){var h=c.hierarchy.parentPivotGrid;var e=c.isColumn?h._pivotRows:h._pivotColumns;var i=e._sortItem;if(!i){return 0}if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}var g=h._pivotCells;var f=c.isColumn?g.getCellValue(i,c):g.getCellValue(c,i);var d=b.isColumn?g.getCellValue(i,b):g.getCellValue(b,i);return f.value-d.value},_fnDescSortComparer:function(c,b){if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}return -1*a.jqx.jqxPivotGrid.hierarchy.prototype._fnAscSortComparer(c,b)},_collectionSort:function(f,c,b){if(!this.parentPivotGrid||!this.parentPivotGrid._pivotCells){return}var e=!this.isColumnsHierarchy?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;if(!f){f=this.items}if(!c){c=e._sortOrder=="asc"?this._fnAscSortComparer:this._fnDescSortComparer}if(this._isSorted&&!b){this._collectionRemoveSort(f)}for(var d=0;d<f.length;d++){f[d]._itemOrdinal=d;this._collectionSort(f[d].items,c,true)}f=f.sort(c);if(!b){this._isSorted=true;this._renderRequired=true;e._renderRequired=true;this._updateVisibleLeaves()}},_collectionRemoveSort:function(f,c){if(!this._isSorted){return}if(!f){f=this.items}var b=new Array(f.length);for(var d=0;d<f.length;d++){b[f[d]._itemOrdinal]=f[d];this._collectionRemoveSort(f[d].items,true)}this.items=b;if(!c){this._renderRequired=true;this._updateVisibleLeaves();if(this.isColumnsHierarchy){this._isColumnsCountRequresUpdate=true}this._isSorted=false;var e=this.isColumnsHierarchy?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;e._sortItem=undefined;e._sortOrder=undefined;e._renderRequired=true}},sortBy:function(f,c){if(!f||f.isColumn==this.isColumnsHierarchy||f.valueItems.length>0){return}var e=new a.Event("sortchanging");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);var b=f.isColumn?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;b._sortItem=f;b._sortOrder=c;this._collectionSort();this.parentPivotGrid._internalRefresh();e=new a.Event("sortchanged");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};var d=this.parentPivotGrid.host;d.trigger(e)},removeSort:function(){var f=this==this.parentPivotGrid._pivotColumns?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var b=f._sortItem;var c=f._sortOrder;var e=new a.Event("sortremoving");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);this.parentPivotGrid._internalRefresh();e=new a.Event("sortremoved");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};d.trigger(e)},_binSearchItems:function(c,b){return this._binSearchItems2(c,b,0,c.length)},_binSearchItems2:function(g,i,f,j){var d=f;var e=j;if(e==d){return -1}var b=g[0].isColumn;while(d<e){var h=parseInt((d+e)/2);var c=g[h];if(b){if(c.x>i.x){e=h}else{if((h+1<e?g[h+1].x:c.x+c.getWidth())<i.x){d=h+1}else{return h}}}else{if(c.y>i.y){e=h}else{if((h+1<e?g[h+1].y:c.y+c.getTotalHeight())<i.y){d=h+1}else{return h}}}}return -1},_pointToLeafItemIndex:function(b){if(this._renderRequired){this.render()}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;var d=this._getVisibleLeafLevelItems();var e=this._binSearchItems(d,c);return e},_pointToLeafItem:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndex(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointToLeafItemIndexAbsolute:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var g=this.viewPort.y-this.y;var d={x:c.x,y:c.y};d.x-=this.x-(this.viewPort.x-this.x);d.y-=this.y-(this.viewPort.y-this.y);var e=this._getVisibleLeafLevelItems();var f=this._binSearchItems(e,d);return f},_pointToLeafItemAbsolute:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndexAbsolute(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointInRect:function(b,c){if(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height){return true}return false},hitTest:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var i=this.viewPort.y-this.y;if(!this._pointInRect({x:c.x+b,y:c.y+i},this.viewPort)||this.isHidden){return null}var e={x:c.x,y:c.y};e.x-=this.x-(this.viewPort.x-this.x);e.y-=this.y-(this.viewPort.y-this.y);var f=this._getVisibleLeafLevelItems();var h=this._binSearchItems(f,e);if(h==-1){return null}else{var d=f[h];var g=d.hitTest(e);if(g!=null){return g}while(d!=null){d=d.parentItem;if(d!=null){g=d.hitTest(e);if(g!=null){return g}}}}return null},_addColumn:function(b){if(b<this.minColumnWidth){b=this.minColumnWidth}this.columnWidths.push(b);return this.columnWidths.length-1},setColumnWidth:function(c,b){if(c>=this.columnWidths.length){this._updateColumnsCount(c+1)}if(b<this.minColumnWidth){b=this.minColumnWidth}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},getColumnWidth:function(b){if(b>=this.columnWidths.length){return 70}return this.columnWidths[b]},_getVisibleLeaves:function(g,f,c){if(f.isHidden||f.isFiltered){return true}if(f.items.length==0&&f.valueItems.length==0){g.push(f);return true}if(c){g.push(f)}if(f.isExpanded){for(var e=0;e<f.items.length;e++){var d=f.items[e];if(d.isHidden||d.isFiltered){continue}if((f.items.length>0&&d.isExpanded)||d.hasVisibleValueItems()){this._getVisibleLeaves(g,d,c)}else{g.push(d)}}}for(var e=0;e<f.valueItems.length;e++){var b=f.valueItems[e];if(b.isHidden||b.isFiltered){continue}g.push(b)}return true},_getVisibleLeafLevelItems:function(){if(this.visibleLeafItems.length==0){this._updateVisibleLeaves()}return this.visibleLeafItems},_updateVisibleLeaves:function(){this.visibleLeafItems=new Array();if(this.items.length+this.valueItems.length==0){return}var b=!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled;for(var c=0;c<this.items.length;c++){var d=this.items[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.valueItems.length;c++){var d=this.valueItems[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.visibleLeafItems.length;c++){this.visibleLeafItems[c]._lfIndex=c}this._updateItemsLevelAndColumn()},_getFirstLeafIndexToRender:function(){var b={x:this.x,y:this.y};var c={x:b.x,y:b.y};c.x-=this.x-(this.viewPort.x-this.x);c.y-=this.y-(this.viewPort.y-this.y);var d=this._binSearchItems(this._getVisibleLeafLevelItems(),c);return d},_getLastLeafIndexToRender:function(){var c={x:Math.min(this.viewPort.width,this.getWidth())-5,y:Math.min(this.viewPort.height,this.getHeight())-5};var b=this._pointToLeafItemIndex(c);return b},_getLeafItemsToRender:function(){var b={};b.items=this._getVisibleLeafLevelItems();b.first=this._getFirstLeafIndexToRender();b.last=this._getLastLeafIndexToRender();return b},_getItemsToRender:function(){var g=this._getLeafItemsToRender();var j=g.first;var e=g.last;if(j==-1||e==-1){return}var c={};for(b=j;b<=e;b++){var d=g.items[b];c[d.id]=d;while(d.parentItem!=null){d=d.parentItem;c[d.id]=d}}var f=new Array();for(var b in c){f.push(c[b])}return f},_updateItemsLevelAndColumn2:function(c,d){c.itemColumn=d;c.itemLevel=d;for(var b=0;b<c.items.length;b++){this._updateItemsLevelAndColumn2(c.items[b],d+1)}for(var b=0;b<c.valueItems.length;b++){this._updateItemsLevelAndColumn2(c.valueItems[b],d+1)}},_updateItemsLevelAndColumn:function(){for(var b=0;b<this.items.length;b++){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b=0;b<this.valueItems.length;b++){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},updateColumnsCount:function(){this.updateColumnsCount(0)},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},_updateColumnsCount:function(c){var f=this._getColumnsCount();var b=this.getTotalItemsCount();if(c>1024){c=1024}if(this.isColumnsHierarchy){if(c>b){b=c}}else{var e=this.getHierarchyDepth();b=c>e?c:e}for(var d=f;d<b;d++){this._addColumn(70)}this._isColumnsCountRequresUpdate=false},_updateColumnsIndexes:function(){for(var b in this.items){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b in this.valueItems){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},_getColumnsCount:function(){return this.columnWidths.length},_getRenderedItems:function(){var b=new Array();this._getChildItemsToRender(b);return b},_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},getWidth:function(){if(this._renderRequired){this.render()}return this._width},getHeight:function(){if(this._renderRequired){this.render()}return this._height},_beginSelectionUpdate:function(){for(var b in this._selectedItems){this._selectedItems[b].OldIsSelected=this._selectedItems[b].isSelected}},_endSelectionUpdate:function(){var f=new Array();for(var b in this._selectedItems){var e=this._selectedItems[b];if(!e.isSelected){f.push(this._selectedItems[b])}if(e.isSelected!=e.OldIsSelected&&(e.parentItem==null||e.parentItem.isExpanded==true||e._isValueItem)){var d=new a.Event("pivotitemselectionchanged");d.owner=this.parentPivotGrid;d.args={pivotItem:e,selected:e.isSelected};this.parentPivotGrid.host.trigger(d)}}for(var b in f){var c=this._selectedItems[f[b].adapterItem.key];c.isSelected=c.OldIsSelected=false;delete this._selectedItems[f[b].adapterItem.key]}},selectItem:function(b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectItem(b);this._endSelectionUpdate()},_internalSelectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}if(this.isColumnsHierarchy&&this.isGroupingColumn(d)){return}var c=d.adapterItem.key;if(this._selectedItems[c]==undefined){this._selectedItems[c]=d}d.isSelected=true;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalSelectItem(d.items[b])}for(var b in d.valueItems){this._internalSelectItem(d.valueItems[b])}},unselectItem:function(b){this._beginSelectionUpdate();this._internalUnselectItem(b);this._endSelectionUpdate()},_internalUnselectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}var c=d.adapterItem.key;if(this._selectedItems[c]){this._selectedItems[c].isSelected=false;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true}if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalUnselectItem(d.items[b])}for(var b in d.valueItems){this._internalUnselectItem(d.valueItems[b])}},_internalClearSelection:function(){for(var b in this._selectedItems){this._internalUnselectItem(this._selectedItems[b])}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate()},_applySelectionToParentItem:function(h){var c=h.parentItem;if(c==undefined||c==null){return}var d=h.hierarchy;var b=true;if(c.isExpanded){for(var g in c.items){var f=c.items[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){for(var g in c.valueItems){var f=c.valueItems[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){var e=c.adapterItem.key;if(d._selectedItems[e]==undefined){d._selectedItems[e]=c}c.isSelected=true;this._applySelectionToParentItem(c)}},_applySelectionToParentItems:function(){for(var b in this._selectedItems){this._applySelectionToParentItem(this._selectedItems[b])}},getSelectedItems:function(){var c=new Array();for(var b in this._selectedItems){if(this._selectedItems[b].isSelected){c.push(b)}}return c}});a.jqx.jqxPivotGrid.pivotRows=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=false;this.compactStyleRenderingEnabled=false;this.compactStyleRenderingItemsIndent=20};a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,{setColumnWidth:function(c,b){if(c>=this.columnWidths.Count){this._updateColumnsCount(c+1)}if(this.compactStyleRenderingEnabled){c=0}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},updateBounds:function(){var b=0;var g=0;for(var l=0;l<2;l++){var k=(l==0)?this.items:this.valueItems;for(var e=0;e<k.length;e++){var j=k[e];if(j.isHidden){continue}var f=j.getHeightWithChildren();b+=f;var d=j.getWidthWithChildren();if(g<d){g=d}}}this._width=g;this._height=b+1},render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this.isRendering=true;if(this._isColumnsCountRequresUpdate){this._updateColumnsCount()}while(this._getColumnsCount()<this.getHierarchyDepth()){a.jqx.get(this,"columnWidths").push(70)}this._updateVisibleLeaves();if(this.compactStyleRenderingEnabled){if(this.columnWidths.Count==0){this._addColumn(70)}var e=this.columnWidths[0];var k=this.getHierarchyDepth();if(e<k*(this.compactStyleRenderingItemsIndent)){e=k*(this.compactStyleRenderingItemsIndent)}this.columnWidths[0]=e}this.updateBounds();var l=0;if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this.isRendering=false;this._renderRequired=false;return}for(var c=0;c<2;c++){var g=(c==0)?this.items:this.valueItems;for(var b=0;b<g.length;b++){var f=g[b];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var d=f.getHeightWithChildren();if(f.itemLevel<this.columnWidths.length&&f.getWidth()>this.columnWidths[f.itemLevel]){this.columnWidths[f.itemLevel]=f.getWidth()}if(!f.render(0,l)){break}l+=d}}this.updateBounds();if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._resetCanvas();this._renderRequired=false;this.isRendering=false},isOnRowDetails:function(b,d){if(!d.RowDetailsVisible){return false}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;if(c.y<d.y+d.getDisplayHeight()&&c.y>d.y+d.getDisplayHeight()-d.RowDetailsHeight){return true}return false}});a.jqx.jqxPivotGrid.pivotColumns=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=true};a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,{render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this._updateVisibleLeaves();this._updateColumnsIndexes();if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();return}var b=0;for(var e=0;e<2;e++){var g=(e==0)?this.items:this.valueItems;for(var d=0;d<g.length;d++){var f=g[d];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var c=f.getWidthWithChildren();if(!f.render(b,0)){break}b+=c}}this._renderRequired=false;if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();this.updateBounds();this._resetCanvas()},updateBounds:function(){var b=0;var f=0;for(var d=0;d<2;d++){var k=(d==0)?this.items:this.valueItems;for(var c=0;c<k.length;c++){var g=k[c];var e=g.getHeightWithChildren();if(b<e){b=e}f+=g.getWidthWithChildren()}}this._height=b;this._width=f+1},_updateColumnsIndexes:function(){var e=this.visibleLeafItems.length;for(var c=--e;c>=0;c--){var d=this.visibleLeafItems[c];d.itemColumn=c;var b=d.parentItem;while(b!=null){if(b.hierarchy!=d.hierarchy){b=null}else{b.itemColumn=c;d=b;b=d.parentItem}}}},setRowHeight:function(c,b){if(b<15||b>500){return false}c.hierarchyItemHeight=b;this._renderRequired=true;return true},isGroupingColumn:function(b){if(b==null){return false}if(this.parentPivotGrid==null){return false}if(b.ItemIndex<this.parentPivotGrid.groupingColumns.length&&this.parentPivotGrid.isGroupingEnabled){return true}return false}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxPivotGrid.prototype,{_handleKeyboardNavigation:function(b){if(this._internalSelectMode=="CELLS_SELECT"){return this._handleCellsKeyboardNavigation(b)}else{if(this._internalSelectMode=="ROW_SELECT"||this._internalSelectMode=="COL_SELECT"){}}return false},_handleCellsKeyboardNavigation:function(e){var k=this._cellKBRangeSelectionEnd;var f=undefined;var m=this;if(!k){return false}if(e.keyCode==37){f=this._pivotCells.getNextCell(k,"left")}if(e.keyCode==38){f=this._pivotCells.getNextCell(k,"top")}else{if(e.keyCode==39){f=this._pivotCells.getNextCell(k,"right")}else{if(e.keyCode==40){f=this._pivotCells.getNextCell(k,"bottom")}}}if(f!=null){this._pivotRows._refreshRequired=true;this._pivotColumns._refreshRequired=true;this._pivotCells._refreshRequired=true;this._colItemRangeSelectionBeg=f.pivotColumn;this._rowItemRangeSelectionBeg=f.pivotRow;this._beginSelectionUpdate();if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection()}this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};if(!this._cellKBRangeSelectionStart||!this._isSHIFTPressed){this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells}}var l=Math.min(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var h=Math.max(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var n=Math.min(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);var i=Math.max(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);for(var j=l;j<=h;j++){for(var b=n;b<=i;b++){var g=this._pivotColumns.visibleLeafItems[j];var d=this._pivotRows.visibleLeafItems[b];this._pivotCells._internalSelectCell(d,g)}}this._endSelectionUpdate();f.pivotRow.ensureVisible();f.pivotColumn.ensureVisible();this._internalRefresh()}return false}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxPivotGrid","",{});a.extend(a.jqx._jqxPivotGrid.prototype,{defineInstance:function(){var b={scrollBarsEnabled:true,source:null,groupingColumns:[],isGroupingEnabled:false,_offsetX:0,_offsetY:0,_currentPosition:{},_selectStartPosition:{},_isMouseLeftButtonDown:false,_timeLastUp:new Date(),_timeLastDown:new Date(),resizeTooltipEnabled:false,isHorizontalResize:true,_colResizeState:"NO_RESIZE",activeEditor:{Editor:null},_id:0,_colItemRangeSelectionBeg:null,_colItemRangeSelectionEnd:null,_rowItemRangeSelectionBeg:null,_rowItemRangeSelectionEnd:null,_isCTRLPressed:false,_internalSelectMode:"CELLS_SELECT",_mostRightItemBounds:{x:0,y:0,width:0,height:0},_mostLeftItemBounds:{x:0,y:0,width:0,height:0},_adjSelectedItemsSave:{},multipleSelectionEnabled:true,selectionEnabled:true,selectionMode:"CELLS_SELECT",treeStyleRows:true,autoResize:false,cellsRenderer:null,itemsRenderer:null,localization:null};a.extend(true,this,b);this._createPivotAreas();return b},_createPivotAreas:function(){if(this._pivotRows){this._pivotRows.clear();delete this._pivotRows}if(this._pivotColumns){this._pivotColumns.clear();delete this._pivotColumns}if(this._pivotCells){this._pivotCells._resetCanvas();this._pivotCells.clear();delete this._pivotCells}this._pivotRows=new a.jqx.jqxPivotGrid.pivotRows(this);this._pivotColumns=new a.jqx.jqxPivotGrid.pivotColumns(this);this._pivotCells=new a.jqx.jqxPivotGrid.pivotCells();this._pivotCells.parentPivotGrid=this},_instanceId:0,createInstance:function(j){var f=this.element;var k=this.host;var l=this;l.localizeStrings(l.localization);var b="jqx-pivotgrid jqx-rc-all jqx-widget "+this.toThemeProperty("jqx-widget-content");var g="";if(this._isTouchDevice()){g="class='jqx-grid-menu-item-touch'"}k.append("<div class='"+b+"' style='width:100%; height: 100%; overflow:hidden; position:relative; onselectstart='return false;' oncontextmenu='return false;''><div id='divContent' style='width:100px; height:100%;'></div><div id='divHScroll' style='width:100%; height:17px;'></div><div id='divVScroll' style='width:17px; height:100%;'></div><div id='divContextMenu'><ul><li "+g+"><div id='sortasc' class='jqx-pivotgrid-sortasc-icon'></div><span>"+l._localizedStrings.sortascendingstring+"</span></li><li "+g+"><div id='sortdesc' class='jqx-pivotgrid-sortdesc-icon'></div><span>"+l._localizedStrings.sortdescendingstring+"</span></li><li "+g+"><div id='sortremove' class='jqx-pivotgrid-sortremove-icon'></div><span>"+l._localizedStrings.sortremovestring+"</span></li></ul></div></div>");var c=k.find("#divContent");var d=c[0];var i=document.createElement("div");i.style.position="relative";i.style.left="0px";i.style.top="0px";i.style.width="100%";i.style.height="100%";i.style.overflow="hidden";c.append(i);this.contentCanvas=this.Canvas=i;this.hostVScroll=k.find("#divVScroll");this.hostHScroll=k.find("#divHScroll");this.hScroll=k.find("#divHScroll").jqxScrollBar({vertical:false,theme:this.theme});this.vScroll=k.find("#divVScroll").jqxScrollBar({vertical:true,theme:this.theme});l._createContextMenu();l.id=l._instanceId++;l._resizeLineId="divResizeLine"+l.id;a(document.body).append("<div id='"+l._resizeLineId+"' style='position: absolute; display: none;'></div>");try{l.dataBind()}catch(h){throw"Databinding exception: "+h.toString();return}l._installEventHandlers();a.jqx.utilities.resize(l.host,function(){l.refresh()},false);if(!l._isInitialized){l._isInitialized=true}},destroy:function(){this._isInitialized=false;this.host.find("#divHScroll").off();this.host.find("#divVScroll").off();this._contextMenu.off();this.removeHandler(this.host);a.jqx.utilities.resize(this.host,null,true)},_installEventHandlers:function(){var b=this;b.hostVScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostVScroll[0]){b.onVScroll(c.currentValue)}});b.hostHScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostHScroll[0]){b.onHScroll(c.currentValue)}});b.addHandler(b.host,"mousewheel DOMMouseScroll",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){return}c.preventDefault();if(!b._scrollBarPositions.vertical.visible){return}b.onMouseWheel(c)});b.addHandler(b.host,"mouseenter",function(c){if(c.currentTarget==b.element){b._onMouseEnter(c)}});b.addHandler(b.host,"mouseleave",function(c){if(c.currentTarget==b.element){b._onMouseLeave(c)}});b.addHandler(b.host,"mousedown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseDown(c);this.focus()});b.addHandler(a(document),"mouseup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseUp(c);if(c.cancel){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){if(b._colResizeState!="RESIZING"){return}}b._onMouseClick(c)});b.addHandler(a(document),"mousemove",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}b._onMouseMove(c)});b.addHandler(a(document),"keydown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=true}else{if(c.keyCode==16){b._isSHIFTPressed=true}else{if(b._handleKeyboardNavigation){b._handleKeyboardNavigation(c)}}}});b.addHandler(a(document),"keyup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=false}else{if(c.keyCode==16){b._isSHIFTPressed=false}}})},_createContextMenu:function(){var k=this;var j=this.host;var h=j.find("#divContextMenu");k._contextMenu=h.jqxMenu({width:"120px",autoCloseOnClick:true,autoOpenPopup:false,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0,theme:this.theme,keyboardNavigation:false,mode:"popup"});var f=h.find("li");var b="";for(var d=0;d<f.length;d++){var g=a(f[d]).text();if(g.length>b.length){b=g}}var c=a('<span style="white-space:nowrap;">'+b+"</span>");c.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(c);var e=c.outerWidth()+30;c.remove();k._contextMenu=h.jqxMenu({width:e});k._contextMenu.on("shown",function(){k._isContextMenuOpen=true});k._contextMenu.on("closed",function(){k._isContextMenuOpen=false;k._hideItemMenuElement()});k._contextMenu.on("itemclick",function(n){n.stopImmediatePropagation();n.stopPropagation();var m=k._menuElement._itemMouseOver;if(!m){return}var l=m.hierarchy==k._pivotColumns?k._pivotRows:k._pivotColumns;var i=n.args.innerHTML;if(i.indexOf("sortasc")!=-1){l.sortBy(m,"asc")}else{if(i.indexOf("sortdesc")!=-1){l.sortBy(m,"desc")}else{if(i.indexOf("sortremove")!=-1){l.removeSort()}}}})},_isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchmode==true){if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.enablehover=false;return false}b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchmode==false){b=false}}if(b&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return b},propertyChangedHandler:function(b,c,e,d){if(this._isInitialized==undefined||this._isInitialized==false){return}if(c=="source"){this.dataBind()}else{if(c=="theme"){this.hostVScrollBar.jqxScrollBar("theme",this.theme);this.hostHScrollBar.jqxScrollBar("theme",this.theme)}}this._internalRefresh()},genId:function(){return this._id++},getCellId:function(b,c){return b.id+"_"+c.id},_scrollTimer:undefined,_renderOnTimeout:function(c){clearTimeout(this._scrollTimer);var b=this;if(c==0){this._pivotColumns._refreshRequired=this._pivotRows._refreshRequired=true;b._internalRefresh()}else{this._scrollTimer=setTimeout(function(){b._render()},c)}},onVScroll:function(b){b=Math.round(b);if(b==this._offsetY){return}var d=50;var c=0;this._offsetY=b;this._renderOnTimeout(c)},onHScroll:function(b){b=Math.round(b);if(b==this._offsetX){return}var d=50;var c=0;this._offsetX=b;this._renderOnTimeout(c)},onMouseWheel:function(d){var f=0;if(!d){d=window.event}if(d.wheelDelta){f=d.wheelDelta/120}else{if(d.detail){f=-d.detail/3}}if(!f){return}if(d.preventDefault){d.preventDefault()}d.returnValue=false;var c=this.vScroll.jqxScrollBar("min");var b=this.vScroll.jqxScrollBar("max");var e=this.vScroll.jqxScrollBar("value");f*=10;e=e-f;if(e>b){e=b}if(e<c){e=c}this.vScroll.jqxScrollBar("value",e)},_onMouseMove:function(c){var d=a.jqx.position(c);var b=d.left;var g=d.top;if(!this.isPtInRect({x:b,y:g},this._rect)){if(this._colResizeState!="RESIZING"){return}}var f=this.host.offset();b-=Math.round(f.left);g-=Math.round(f.top);b=Math.max(b,0);g=Math.max(g,0);if(this._currentPosition.x==b&&this._currentPosition.y==g){return}else{this._currentPosition.x=b;this._currentPosition.y=g}for(var e in this._scrollBarPositions){if(this._scrollBarPositions[e].visible&&this.isPtInRect({x:b,y:g},this._scrollBarPositions[e].rect)){return}}this._handleMouseMove(c);if(this.activeEditor&&this.activeEditor.Editor){}else{}},_onMouseEnter:function(b){},_onMouseLeave:function(b){this._hideItemMenuElement()},_onMouseDown:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(null!=d){var c=this._raisePivotItemMouseEvent(d,"pivotitemmousedown",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonDown(e)}else{if(e.button==2){this.onMouseRightButtonDown(e)}}},_onMouseUp:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(d!=null){var c=this._raisePivotItemMouseEvent(d,"pivotitemmouseup",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonUp(e)}else{if(e.button==2){this.onMouseRightButtonUp(e)}}},_onMouseClick:function(d){var b=this;var c=d;b._handleMouseClick(d);if(d.cancel){return}if(b._dtLastMouseClick){var e=new Date()-b._dtLastMouseClick;if(e<500){this._handleMouseDoubleClick(d);b._dtLastMouseClick=undefined;return}}b._dtLastMouseClick=new Date()},setDivContent:function(f,c,d,g,e){var b=this.getChild(f,"innerDiv");b.style.padding=d.top+"px "+d.right+"px "+d.bottom+"px "+d.left+"px";if(g){b.style["text-align"]=g}this.setElementSize(f,parseFloat(f.style.width),parseFloat(f.style.height));if(e){b.style.width=parseFloat(f.style.width)-d.left+"px"}b.innerHTML=c},setElementPosition:function(c,b,d){c.style.position="absolute";c.style.left=b+"px";c.style.top=d+"px"},_getFloat:function(b){var d;for(var c=0;c<b.length;c++){d=parseFloat(b[c]);if(!isNaN(d)){return d}}return NaN},setElementSize:function(j,b,f){j.style.width=b+"px";j.style.height=f+"px";var e=this.getChild(j,"innerDiv");if(e){var i=this._getFloat([e.style.padding.left,e.style.padding,0]);var d=this._getFloat([e.style.padding.right,e.style.padding,0]);var g=this._getFloat([e.style.padding.top,e.style.padding,0]);var c=this._getFloat([e.style.padding.bottom,e.style.padding,0]);e.style.width=(b-i-d)+"px";e.style.height=(f-g-c)+"px"}},createCanvas:function(b){var c=document.createElement("div");c.style["background-color"]="transparent";c.style.overflow="hidden";b.appendChild(c);return c},createDiv:function(c,d,f,b){var g=document.createElement("div");g.id=d;g.style.height=b+"px";g.style.width=f+"px";var e=document.createElement("div");e.id="innerDiv";e.style.height=b+"px";e.style.width=f+"px";g.appendChild(e);c.appendChild(g);return g},getPivotRows:function(){return this._pivotRows},getPivotColumns:function(){return this._pivotColumns},getPivotCells:function(){return this._pivotCells},_layout:function(){var d=this.host.find("#divContent");var f=this.host.find("#divVScroll");var c=this.host.find("#divHScroll");var e=this.host.width();var b=this.host.height();if(!this._pivotCells.Canvas){this._pivotCells.Canvas=this.createCanvas(this.Canvas,"divCells",100,100)}if(!this._pivotRows.Canvas){this._pivotRows.Canvas=this.createCanvas(this.Canvas,"divRowsHierarchy",100,100)}if(!this._pivotColumns.Canvas){this._pivotColumns.Canvas=this.createCanvas(this.Canvas,"divColumnsHierarchy",100,100)}if(this._pivotRows.isHidden){this._pivotRows.Canvas.style.display="none"}else{this._pivotRows.Canvas.style.display="block";this.setElementPosition(this._pivotRows.Canvas,this._pivotRows.x,this._pivotRows.y);this.setElementSize(this._pivotRows.Canvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight());if(this._pivotRows.renderCanvas==undefined){this._pivotRows.renderCanvas=this.createCanvas(this._pivotRows.Canvas,"divRowsRender",100,100)}this.setElementSize(this._pivotRows.renderCanvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight())}if(this._pivotColumns.isHidden){this._pivotColumns.Canvas.style.display="none"}else{this._pivotColumns.Canvas.style.display="block";this.setElementPosition(this._pivotColumns.Canvas,this._pivotColumns.x,this._pivotColumns.y);this.setElementSize(this._pivotColumns.Canvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1);if(this._pivotColumns.renderCanvas==undefined){this._pivotColumns.renderCanvas=this.createCanvas(this._pivotColumns.Canvas,"divColumnsRender",100,100)}this.setElementSize(this._pivotColumns.renderCanvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1)}this.setElementPosition(this._pivotCells.Canvas,this._pivotColumns.x,this._pivotRows.y);this.setElementSize(this._pivotCells.Canvas,this._pivotCells.viewPort.width,this._pivotCells.viewPort.height);if(this._pivotCells.renderCanvas==undefined){this._pivotCells.renderCanvas=this.createCanvas(this._pivotCells.Canvas,"divCellsRender",100,100)}this.setElementSize(this._pivotCells.renderCanvas,this._pivotColumns.getWidth()+1,this._pivotRows.getHeight()+1)},refresh:function(){this._pivotColumns._renderRequired=true;this._pivotRows._renderRequired=true;this._pivotCells.clear();this._internalRefresh()},_internalRefresh:function(){var h=this.host.offset();if(this.autoResize){var d=this._pivotColumns.isHidden?0:this._pivotColumns.getHeight();var f=this._pivotColumns.isHidden?0:this._pivotColumns.getWidth();var e=this._pivotRows.isHidden?0:this._pivotRows.getHeight();var c=this._pivotRows.isHidden?0:this._pivotRows.getWidth();var g={};g.width=f+c+1;g.height=d+e+1;if(g.width!=this.host.width()||g.height!=this.host.height()){this._pivotColumns._renderRequired=this._pivotRows._renderRequired=true;this.host.css({width:g.width+"px",height:g.height+"px"})}}this._rect={x:h.left,y:h.top,width:this.host.width(),height:this.host.height()};this._render();var b=this.host.find("#divHScroll");b.jqxScrollBar("refresh")},_render:function(){var b=this._pivotColumns._renderRequired||this._pivotRows._renderRequired;if(this._pivotRows.compactStyleRenderingEnabled!=this.treeStyleRows){this._pivotRows.compactStyleRenderingEnabled=this.treeStyleRows;b=true}if(b){this._pivotRows._renderRequired=this._pivotColumns._renderRequired=true;this.RenderGridContent();this._layout()}this._pivotRows.viewPort.y=this._offsetY+(this._pivotColumns.isVisible()?this._pivotColumns.viewPort.height:0);this._pivotColumns.viewPort.x=this._offsetX+(this._pivotRows.isVisible()?this._pivotRows.viewPort.width:0);this._pivotColumns.refresh();this._pivotRows.refresh();this._pivotCells.render();this._updateMenuElement()},_updateMenuElement:function(){var b=this.host.find("#divContent");var d=b[0];if(this._menuElement){a(this._menuElement).off();d.removeChild(this._menuElement)}var e=document.createElement("div");e.style.height="16px";e.style.width="16px";e.style.id="menu_element";e.style.align="left";e.style.valign="top";e.style.display="none";d.appendChild(e);this._menuElement=e;var c=this;a(c._menuElement).on("click",function(){c._showItemContextMenu()})},dataBind:function(){var c=this.source;if(this.localization&&!c.localization){c.localization=this.localization}c.dataBind();function b(l,k,d,f,j){for(var g in l.items){var h=l.items[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.text=h.text;e.adapterItem=h;e.isColumn=j;k.items.push(e);b(h,e,e,f,j)}for(var g in l.valueItems){var h=l.valueItems[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.adapterItem=h;e.text=h.text;e.isColumn=j;e._isValueItem=true;k.valueItems.push(e);b(h,e,e,f,j)}}this._createPivotAreas();b(c._rowsHierarchy,this._pivotRows,null,this._pivotRows,false);b(c._columnsHierarchy,this._pivotColumns,null,this._pivotColumns,true);this.bindingState="DataBoundPivot";this._pivotRows.autoResize("default");this._pivotColumns.autoResize("default");this._internalRefresh()},getChild:function(d,e){var c=d.childNodes;for(var b=0;b<c.length;b++){if(c[b].id==e){return c[b]}}return null},scrollToOffset:function(c,e){var b=this.gridcells;for(var d=0;d<b.length;d++){b[d].style.top=e+parseInt(b[d].originalY)+"px";this.setDivContent(b[d],"cell "+d)}},getWidth:function(){return this.host.width()},getHeight:function(){return this.host.height()},RenderGridContent:function(){if(!this._pivotColumns._renderRequired&&!this._pivotRows._renderRequired){this._pivotRows.viewPort.y=this._offsetY;this._pivotColumns.viewPort.x=this._offsetX;return}if(this.PaintSuspended){return}if(this._colResizeState=="RESIZING"){return}var k={};k.x=this._offsetX;k.y=this._offsetY;k.width=this.getWidth();k.height=this.getHeight();if(k.width==0||k.height==0){return}this.PaintSuspended=true;if(this._pivotColumns._isColumnsCountRequresUpdate){this._pivotColumns._updateVisibleLeaves();this._pivotColumns._updateColumnsCount();this._pivotColumns._updateColumnsIndexes()}if(this._pivotRows._isColumnsCountRequresUpdate){this._pivotRows._updateColumnsCount();this._pivotRows._updateColumnsIndexes()}if(this.getWidth()==0||this.getHeight()==0){this.PaintSuspended=false;return}if(this.GroupingEnabled&&this.groupingColumns.length>0){this._pivotRows.isHidden=true}if(this._pivotColumns._renderRequired){this._pivotColumns.render()}if(this._pivotRows._renderRequired){this._pivotRows.render()}var c=(this._pivotColumns.isVisible()?this._pivotColumns.getHeight():0);var h=(this._pivotRows.isVisible()?this._pivotRows.getWidth():0);var i={width:this._pivotColumns.getWidth()+h,height:this._pivotRows.getHeight()+c};if(this.scrollableAreaSize!=i||this.isSyncScrollRequired){this.scrollableAreaSize=i;this.SynchronizeScrollBars()}var b=this.host.find("#divContent");var l=this.host.find("#divVScroll");var e=this.host.find("#divHScroll");var d=e.css("display")!="none";var g=l.css("display")!="none";b.css({height:(k.height-(d?e.height()+4:0))+"px"});b.css({width:(k.width-(g?l.width()+4:0))+"px"});var j=k.height;if(k.height==this.getHeight()){j=k.height-c-((d)?e.height()+4:0);if(j<0){j=k.height}}this._pivotRows.x=0;this._pivotRows.y=c;this._pivotRows.viewPort={x:this._pivotRows.x,y:k.y,width:this._pivotRows.getWidth(),height:j};var f=k.width;if(k.width==this.getWidth()){f=k.width-h-((g)?l.width()+4:0);if(f<0){f=k.width}}this._pivotColumns.x=h;this._pivotColumns.y=0;this._pivotColumns.viewPort={x:k.x,y:this._pivotColumns.y,width:f,height:this._pivotColumns.getHeight()};this._pivotCells.Bounds={x:this._pivotColumns.x,y:this._pivotRows.y,width:this._pivotColumns.getWidth(),height:j};this._pivotCells.viewPort={x:k.x,y:k.y,width:f,height:j};if(this.draggingItem!=null&&this.dragElement.visibility=="visible"){this.dragElement.setValue(this.Canvas.ZIndexProperty,10000)}this._pivotRows._renderRequired=false;this._pivotColumns._renderRequired=false;this.PaintSuspended=false},SynchronizeScrollBars:function(){var p=false;var e=false;var n=this.host.find("#divVScroll");var h=this.host.find("#divHScroll");var g=h.css("display")!="none";var j=n.css("display")!="none";var d=h.height();var k=false;var m=false;if(this.scrollableAreaSize.height>this.getHeight()){p=true}if(this.scrollableAreaSize.width>this.getWidth()){e=true}if(this.scrollableAreaSize.height<=this.getHeight()&&this.scrollableAreaSize.width<=this.getWidth()){p=false;e=false}if(p){e=e||(this.scrollableAreaSize.width>this.getWidth()-d)}if(e){p=p||(this.scrollableAreaSize.height>this.getHeight()-d)}if(p){if(!j){k=true}n[0].style.display="block";var c=this.getHeight()-(e?d+5:0);if(c<0){c=0}this.setElementPosition(n[0],this.getWidth()-d-4,0);this.setElementSize(n[0],d,c);n.jqxScrollBar("min",0);var i=this.scrollableAreaSize.height-(this.getHeight()-(e?d:0))+4;if(i!=n.jqxScrollBar("max")){n.jqxScrollBar("max",i)}if(this.VerticalScrollBarSmallChange!=undefined){n.jqxScrollBar("step",this.VerticalScrollBarSmallChange)}else{n.jqxScrollBar("step",10)}var l=this.scrollableAreaSize.height/10;if(l<10){l=10}if(this.VerticalScrollBarLargeChange!=undefined){l=verticalScrollBarLargeChange}if(n.jqxScrollBar("largestep")!=l){n.jqxScrollBar("largestep",l)}if(n.jqxScrollBar("largestep")<n.jqxScrollBar("step")){n.jqxScrollBar("largestep",n.jqxScrollBar("step"))}if(this.rtl){}else{}}else{if(j){k=true}n.jqxScrollBar("value",0);n[0].style.display="none"}if(e){if(g){m=true}h[0].style.display="block";var o=this.getWidth()-(p?d+5:0);if(o<0||o==undefined){o=0}this.setElementPosition(h[0],0,this.getHeight()-d-4);this.setElementSize(h[0],o,d);if(h.jqxScrollBar("min")!=0){h.jqxScrollBar("min",0)}var f=this.scrollableAreaSize.width-(this.getWidth()-(p?d:0))+4;if(h.jqxScrollBar("max")!=f){h.jqxScrollBar("max",f)}if(this.HorizontalScrollBarSmallChange!=undefined){h.jqxScrollBar("step",this.HorizontalScrollBarSmallChange)}else{h.jqxScrollBar("step",10)}var b=(this.getWidth()/2);if(b<25){b=25}if(this.HorizontalScrollBarLargeChange!=undefined){b=this.HorizontalScrollBarSmallChange}h.jqxScrollBar("largestep",b);if(h.jqxScrollBar("largestep")<h.jqxScrollBar("largestep")){h.jqxScrollBar("largestep",h.jqxScrollBar("step"))}}else{if(g){m=true}h.jqxScrollBar("value",0);h[0].style.display="none"}e=e&&this.scrollBarsEnabled;p=p&&this.scrollBarsEnabled;if(e!=(h[0].display=="block")){h[0].display=e?"block":"none";m=true}if(p!=(n[0].display=="block")){n[0].display=p?"block":"none";k=true}this._scrollBarPositions={vertical:{visible:p,rect:{x:n.position().left,y:n.position().top,width:n.width(),height:n.height()}},horizontal:{visible:e,rect:{x:h.position().left,y:h.position().top,width:h.width(),height:h.height()}}};h.jqxScrollBar("refresh");n.jqxScrollBar("refresh")},isPtInRect:function(b,c){return(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height)},onMouseLeftButtonUp:function(c){var j=this;for(var k in j._scrollBarPositions){if(this._scrollBarPositions[k].visible&&this.isPtInRect(j._currentPosition,j._scrollBarPositions[k].rect)){if(j._isMouseCaptured()){j._releaseMouseCapture()}j._isMouseLeftButtonDown=false;return}}if(j._isMouseCaptured()){j._releaseMouseCapture();return}if(j._itemMenuButtonMouseOver||j._isContextMenuOpen){return}j.canDrag=false;var g=a.jqx.position(c);var e=j.isPtInRect({x:g.left,y:g.top},j._rect);var d=j._pivotCells._hitTest(j._currentPosition);if(d&&e){var h=j._raisePivotCellMouseEvent(d.pivotRow,d.pivotColumn,"pivotcellmouseup","left");if(h){return}}if(j._colResizeState=="RESIZING"){j._colResizeState="NO_RESIZE";j._updateCursor("ARROW");j._pivotColumns._renderRequired=true;j._pivotRows._renderRequired=true;var l={x:j.resizingItem.x+j.resizingItem.hierarchy.x-j._offsetX,y:j.resizingItem.y+j.resizingItem.hierarchy.y-j._offsetY};if(this.isHorizontalResize){j.resizingItem.setWidth(Math.max(j.resizingItem.minimumWidth,Math.abs(j._currentPosition.x-l.x)))}else{j.resizingItem.setHeight(Math.max(j.resizingItem.minimumHeight,Math.abs(j._currentPosition.y-l.y)))}a("body").find("#"+j._resizeLineId).hide();j.resizingItem=null;if(j.resizeTooltipEnabled){}j._isMouseLeftButtonDown=false;j._internalRefresh();return}var f={isOnItemButton:false};var i=j._itemHitTest(j._currentPosition,f);if(i!=null){if(f.isOnItemButton||f.isOnMenuButton){return}}var b=false;if(j._canDrop(i)){j._endDrag(i);b=true}else{if(j.dragElement&&j.dragElement.style.display=="block"){j._endDrag(draggingItem);b=true}}if(b){j._isMouseLeftButtonDown=false;j._internalRefresh();return}j._isMouseLeftButtonDown=false;if(e&&j.activeEditor.Editor==null){j._updateSelection()}},onMouseLeftButtonDown:function(g){for(var h in this._scrollBarPositions){if(this._scrollBarPositions[h].visible&&this.isPtInRect(this._currentPosition,this._scrollBarPositions[h].rect)){this._captureMouse();return}}var d={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,d);this._timeLastDown=new Date();var c=false;if(!this.isShiftPressed){this._selectStartPosition={x:this._currentPosition.x,y:this._currentPosition.y}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}this._isMouseLeftButtonDown=true;if(this._colResizeState=="READY_RESIZE"){this._colResizeState="RESIZING";this._updateCursor(this.isHorizontalResize?"COLUMN_RESIZE":"ROW_RESIZE");this._refreshMouseCursor();return}else{if(this._colResizeState=="RESIZING"){return}}if(null!=f){if(d.isOnItemButton){if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}this._isMouseLeftButtonDown=false;if(f.isExpanded){f.collapse()}else{f.expand()}this._lastToggle={time:new Date(),item:f};this._internalRefresh();return}this.canDrag=true;if(d.isOnItemButton){this._updateCursor("ARROW")}else{this._updateCursor("CROSS")}if(f.isColumn){this._internalSelectMode="COL_SELECT"}else{this._internalSelectMode="ROW_SELECT"}}else{this._internalSelectMode="CELLS_SELECT"}var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","left");if(e){return}}if(this.activeEditor.Editor==null){this._updateSelection()}this._refreshMouseCursor()},onMouseRightButtonDown:function(e){this._timeLastDown=new Date();var c={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,c);if(d!=null){this._raisePivotItemMouseEvent(d,"pivotitemmousedown","right");return}var b=this._pivotCells._hitTest(this._currentPosition);if(b){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","right")}},onMouseRightButtonUp:function(d){var c=this;var f=a.jqx.position(d);var e=c.isPtInRect({x:f.left,y:f.top},c._rect);var b=this._pivotCells._hitTest(this._currentPosition);if(b&&e){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmouseup","right")}this._timeLastUp=new Date()},_itemMouseMove:function(b,g){if(this.resizingItem){if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}return}if(this._menuElement._itemMouseOver!=g){this._hideItemMenuElement()}this._updateCursor("CROSS");var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};if(g.isColumn){h.x+=g.hierarchy.x-this._offsetX}else{h.y+=g.hierarchy.y-this._offsetY}if(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled){h.height=g.height}h.right=h.x+h.width;h.bottom=h.y+h.height;if(Math.abs(h.right-b.x)<=4&&b.y>=h.y&&b.y<=h.bottom){this.isHorizontalResize=true;if(g.hierarchy.resizable&&!this._pivotColumns.isGroupingColumn(g)){this._updateCursor("COLUMN_RESIZE");this.resizingItem=(g.isColumn)?g._getLastVisibleLeaf(g):g;if(!this.resizingItem.isColumn&&!this.resizingItem.isExpanded){var d=this._pivotRows._getVisibleLeafLevelItems();for(var c in d){var e=d[c];if(e.ItemLevel>this.resizingItem.ItemLevel){this.resizingItem=e}}}this._colResizeState="READY_RESIZE"}return}if(!g.isColumn&&Math.abs(h.bottom-b.y)<=3){this.isHorizontalResize=false;if(!(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled)){g=g._getLastVisibleLeaf(g)}if(g.hierarchy.resizable){this._updateCursor("ROW_RESIZE");this.resizingItem=g;this._colResizeState="READY_RESIZE"}return}var f=g.hierarchy.getOtherHierarchy();if(g.hierarchy.sortable&&f.items.length>0){this._hitTestShowItemMenuElement(b,g,h)}},isInHierarchyViewPort:function(b,c){if(c.isColumnsHierarchy){return(this.isPtInRect({x:b.x+this._offsetX,y:b.y},c.viewPort))}else{return(this.isPtInRect({x:b.x,y:b.y+this._offsetY},c.viewPort))}},_hitTestShowItemMenuElement:function(b,g,h){if(this._menuElement&&this._menuElement._itemMouseOver&&this._menuElement._itemMouseOver._element){a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}this._menuElement.style.display="none";if(this._isContextMenuOpen||g.valueItems.length>0||!(b.x<h.right&&b.x>h.x&&b.y>=h.y&&b.y<=h.bottom)){return}var d=a.extend({},this._rect);d.x=d.y=0;if(this.vScroll[0].display=="block"){d.width-=this.vScroll.width()}if(this.hScroll[0].display=="block"){d.height-=this.hScroll.height()}var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);var e={x:g.x+h.width-18,y:g.y+(h.height-16)/2+1,width:16,height:16};this._menuElement.style.height=e.height+"px";this._menuElement.className=this.toThemeProperty("jqx-pivotgrid-menu-button");if(g.isColumn){e.x+=g.hierarchy.x-this._offsetX}else{e.y+=g.hierarchy.y-this._offsetY}this.setElementPosition(this._menuElement,e.x,e.y);if(this.isPtInRect({x:e.x,y:e.y},d)&&this.isPtInRect({x:e.x,y:e.y+e.height},d)&&this.isPtInRect({x:e.x+e.width,y:e.y},d)&&this.isPtInRect({x:e.x+e.width,y:e.y+e.height},d)){this._menuElement.style.display="block";this._menuElement._itemMouseOver=g;a(this._menuElement._itemMouseOver._element).find("#sortElement").hide();if(!g._currentCustomContent){var c=a(g._element).css("background-color");this._menuElement.style["background-color"]=c}if(g.isColumn){e.x+=this._offsetX-g.hierarchy.x}else{e.y+=this._offsetY-g.hierarchy.y}if(this.isPtInRect({x:f.x,y:f.y},e)){this._itemMenuButtonMouseOver=true}}},_hideItemMenuElement:function(){if(this._menuElement&&!this._isContextMenuOpen&&this._menuElement.style.display=="block"){this._menuElement.style.display="none";a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}},_hideItemContextMenu:function(){this._contextMenu.jqxMenu("close");this._hideItemMenuElement()},_showItemContextMenu:function(){var f=this._menuElement._itemMouseOver;if(!f){return}var e=this._contextMenu.width();var c=this._contextMenu.height();this._contextMenu.find("#sortasc")[0]["className"]="jqx-pivotgrid-sortasc-icon "+this.toThemeProperty("jqx-pivotgrid-sortasc-icon");this._contextMenu.find("#sortdesc")[0]["className"]="jqx-pivotgrid-sortdesc-icon "+this.toThemeProperty("jqx-pivotgrid-sortdesc-icon");this._contextMenu.find("#sortremove")[0]["className"]="jqx-pivotgrid-sortremove-icon "+this.toThemeProperty("jqx-pivotgrid-sortremove-icon");var d=-e+f.displayWidth+f.x+(f.hierarchy.viewPort.x-this._offsetX)-this._offsetX;if(!f.isColumn){d=f.x+f.displayWidth}var b=f.y+f.getDisplayHeight();if(!f.isColumn){b=f.y-this._offsetY+f.hierarchy.y}if(d<=1){d=1}if(b<this._pivotColumns.y+this._pivotColumns.getHeight()){b=this._pivotColumns.y+this._pivotColumns.getHeight()}if(b+c>this._rect.height){b=this._rect.height-c}this._contextMenu.jqxMenu("open",d+this._rect.x,b+this._rect.y);this._contextMenu.focus()},_handleMouseMove:function(d){if(this._colResizeState=="RESIZING"){this._doResize({x:this._currentPosition.x,y:this._currentPosition.y});this._refreshMouseCursor();return}else{this._colResizeState="NO_RESIZE";this.resizingItem=null}var j=this._currentPosition;var i=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotColumns)){i=this._pivotColumns.hitTest(j)}var c=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotRows)){c=this._pivotRows.hitTest(j)}this._itemMenuButtonMouseOver=false;if(i!=null||c!=null){var h=i==null?c:i;this.gridCellMouseOver=null;this._itemMouseMove(j,h);if(this._focusedItem!=h){this._focusedItem=h;if(this._isMouseLeftButtonDown){this._updateSelection()}}var f={};if(this.CellsHighlightOnHierarchyItemMoveEnabled&&((h.IsRowsHierarchyItem&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_ROW"))||(h.isColumn&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN")))){if(h.isColumn){f={x:h.x,y:0,width:h.DisplayWidth,height:this._pivotRows.getHeight()}}else{f={x:0,y:h.y,width:this._pivotColumns.getWidth(),height:h.getDisplayHeight()}}if((h.isColumn&&this.isGroupingEnabled&&this.groupingColumns.length>0)||(h.IsRowsHierarchyItem&&this._pivotRows.isOnRowDetails(this._currentPosition,h))){f={x:0,y:0,width:0,height:0}}}this._refreshMouseCursor();return}else{this._hideItemMenuElement()}var b=this.gridCellMouseOver!=null;this.resizingItem=null;this._focusedItem=null;this._colResizeState="NO_RESIZE";this._updateCursor("ARROW");var g=null;if(this.gridCellMouseOver){g={};g.pivotColumn=this.gridCellMouseOver.pivotColumn;g.pivotRow=this.gridCellMouseOver.pivotRow}var e=this._pivotCells._hitTest(j);if(this._isMouseLeftButtonDown&&e){if(this.gridCellMouseOver==null||this.gridCellMouseOver.pivotRow!=c||this.gridCellMouseOver.pivotColumn!=i){this.gridCellMouseOver={pivotRow:e.pivotRow,pivotColumn:e.pivotColumn,pivotCells:this._pivotCells}}var f={x:0,y:0,width:0,height:0};if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN"){f={x:this.gridCellMouseOver.pivotColumn.x,y:0,width:this.gridCellMouseOver.pivotColumn.getDisplayWidth(),height:this._pivotRows.getHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_ROW"){f={x:0,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_SINGLE_CELL"){f={x:this.gridCellMouseOver.pivotColumn.x,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()};if(this.isGroupingEnabled&&this.groupingColumns.length>0){if(this.gridCellMouseOver.pivotRow.items.length>0){f={x:0,y:0,width:0,height:0}}}if(this.gridCellMouseOver.pivotRow.RowDetailsVisible){f.height-=this.gridCellMouseOver.pivotRow.GetRowDetailsHeight()}}}}if(this._pivotColumns.isGroupingColumn(this.gridCellMouseOver.pivotColumn)||this._pivotRows.isOnRowDetails(this._currentPosition,this.gridCellMouseOver.pivotRow)){f={x:0,y:0,width:0,height:0}}}else{this.gridCellMouseOver=null}if(this.gridCellMouseOver!=null&&(this.gridCellMouseOver!=g||g.pivotRow!=this.gridCellMouseOver.pivotRow||g.pivotColumn!=this.gridCellMouseOver.pivotColumn)){if(this._isMouseLeftButtonDown&&!this._itemMenuButtonMouseOver){this._updateSelection();this._internalRefresh()}}},_handleMouseClick:function(f){var c={isOnItemButton:false};var g=this._itemHitTest(this._currentPosition,c);if(g!=null){var d=this._raisePivotItemMouseEvent(g,"pivotitemclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}if(this._isMouseLeftButtonDown&&!c.isOnItemButton&&g.sortMode=="Automatic"&&g.valueItems.length==0){var e=this.cursor;this.cursor="Wait";this.cursor=e}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var d=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}}}},_handleMouseDoubleClick:function(g){if(this.activeEditor.Editor!=null){var d=null;if(false==this.hideEditor("MOUSE_DBLCLICK",d,true)){return}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}var c={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,c);if(f!=null){if(c.isOnMenuButton){return}var e=this._raisePivotItemMouseEvent(f,"pivotitemdblclick",(g.button==0)?"left":"right");if(e){return}if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}if(g.button==0){if(f.isExpanded){f.collapse()}else{f.expand()}f.hierarchy.selectItem(f);this._internalRefresh()}this._lastToggle={time:new Date(),item:f}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcelldblclick",(g.button==0)?"left":"right");if(e){return}}}this._refreshMouseCursor()},_isMouseCaptured:function(){return this._captured===true},_releaseMouseCapture:function(){this._captured=false},_captureMouse:function(){this._captured=true},_updateCursor:function(b){if(b=="ARROW"){this.element.style.cursor="default"}else{if(b=="CROSS"){this.element.style.cursor="pointer"}else{if(b=="COLUMN_RESIZE"){this.element.style.cursor="col-resize"}else{if(b=="ROW_RESIZE"){this.element.style.cursor="row-resize"}}}}},_refreshMouseCursor:function(){},_ensureEditorFocus:function(){},focus:function(){},_itemHitTest:function(b,c){c.isOnItemButton=false;var g=null;if(!this._pivotRows.isHidden&&this.isInHierarchyViewPort(b,this._pivotRows)){g=this._pivotRows.hitTest(b)}if(g==null&&!this._pivotColumns.isHidden&&this.isInHierarchyViewPort(b,this._pivotColumns)){g=this._pivotColumns.hitTest(b)}if(g!=null){var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);if(g.items.length!=0&&g.expandCollapseEnabled!=false&&g.hierarchy.showExpandCollapseButtons){var e=0;if(!g.hierarchy.isColumnsHierarchy&&g.hierarchy.compactStyleRenderingEnabled){e=24*g.itemLevel}if(f.x>g.x+9+e&&f.x<g.x+20+e&&f.y>g.y+9&&f.y<g.y+20){c.isOnItemButton=true}}var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};var d={x:g.x+h.width-16,y:g.y,width:16,height:h.height};if(this.isPtInRect(f,d)&&g.hierarchy.sortable){c.isOnMenuButton=true}}return g},_raisePivotCellMouseEvent:function(g,f,b,c){var e=new a.Event(b);e.owner=this;e.args={pivotRow:g,pivotColumn:f,mousebutton:c,cancel:false};var d=this.host;d.trigger(e);if(e.args.cancel){return true}return false},_raisePivotItemMouseEvent:function(d,b,c){var f=new a.Event(b);f.owner=this;f.args={pivotItem:d,mousebutton:c,cancel:false};var e=this.host;e.trigger(f);if(f.args.cancel){return true}return false},_beginDrag:function(b){},_endDrag:function(b){},_canDrop:function(b){},_doResize:function(b){if(!(this.resizingItem!=null&&this.resizingItem.hierarchy.resizable)){return}if(this._pivotColumns.isGroupingColumn(this.resizingItem)){return}if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}this._focusedItem=this.resizingItem;var i={x:this.resizingItem.x+2*this.resizingItem.hierarchy.x-this.resizingItem.hierarchy.viewPort.x,y:this.resizingItem.y+2*this.resizingItem.hierarchy.y-this.resizingItem.hierarchy.viewPort.y};var g=false;var e=this.resizingItem.hierarchy;var d=a("body").find("#"+this._resizeLineId);if(this.isHorizontalResize){var h=b.x-i.x;if(h<this.resizingItem.minimumWidth){return}var f={x:b.x+this._rect.x,y:this._pivotRows.y+this._rect.y};d.css({"border-right":"1px dotted #555","border-bottom":"",width:"1px",height:this._pivotCells.viewPort.height,top:f.y,left:f.x,display:"block"});if(h>=this.resizingItem.minimumWidth&&h<=this.resizingItem.maximumWidth){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="width: "+h+" pixels"}g=true}}else{var c=b.y-i.y;if(c<this.resizingItem.minimumHeight){return}var f={x:this._pivotColumns.x+this._rect.x,y:b.y+this._rect.y};d.css({"border-bottom":"1px dotted #555","border-right":"",height:"1px",width:this._pivotCells.viewPort.width,left:f.x,top:f.y,display:"block",zIndex:50000});if(c>=this.resizingItem.minimumHeight&&c<=this.resizingItem.maximumHeight){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="height: "+c+" pixels"}g=true}}if(g){if(this.resizeTooltipEnabled){if(this._resizeTooltip.visibility!="visible"){this._resizeTooltip.visibility="visible"}this._resizeTooltip.setValue(this.Canvas.LeftProperty,b.x);this._resizeTooltip.setValue(this.Canvas.TopProperty,b.y);this._resizeTooltip.setValue(this.Canvas.ZIndexProperty,10002)}}},_internalClearSelection:function(){this._pivotColumns._internalClearSelection();this._pivotRows._internalClearSelection();this._pivotCells._internalClearSelection()},_beginSelectionUpdate:function(){if(this._isCTRLPressed&&this.multipleSelectionEnabled){return}this._pivotCells._beginSelectionUpdate();this._pivotColumns._beginSelectionUpdate();this._pivotRows._beginSelectionUpdate()},_endSelectionUpdate:function(){this._pivotColumns._endSelectionUpdate();this._pivotRows._endSelectionUpdate();this._pivotCells._endSelectionUpdate()},_updateSelection:function(){if(!this.selectionEnabled){return}this._colItemRangeSelectionBeg=null;this._rowItemRangeSelectionBeg=null;this._beginSelectionUpdate();var l=false;if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection();l=true}if(this.activeEditor.Editor!=null){this._internalClearSelection();this._endSelectionUpdate();return}var j=-1;var t=-1;var g={x:this._selectStartPosition.x,y:this._selectStartPosition.y};g.y-=this._offsetY;g.x-=this._offsetX;var p={isOnItemButton:false};var i=this._itemHitTest(this._selectStartPosition,p);if(i!=null){if(!(!i.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){i=i._getFirstVisibleLeaf(i)}if(i.isColumn){if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();return}else{this._internalSelectMode="COL_SELECT"}this._colItemRangeSelectionBeg=i}else{if(this.selectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}else{this._internalSelectMode="ROW_SELECT"}this._rowItemRangeSelectionBeg=i}}else{var h=this._pivotCells._hitTest(this._selectStartPosition);if(h){this._internalSelectMode="CELLS_SELECT";if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="ROW_SELECT"}else{if(this._SelectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="COL_SELECT"}}}else{this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}}var b={x:this._currentPosition.x,y:this._currentPosition.y};if(this._internalSelectMode=="COL_SELECT"){if(b.y>=this._pivotColumns.y+this._pivotColumns.getHeight()){b.y=this._pivotColumns.y+this._pivotColumns.getHeight()-1}if(b.y<=this._pivotColumns.y){b.y=this._selectStartPosition.y}if(b.x<=this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.x>=this._pivotColumns.x+this._pivotColumns.getWidth()){b.x=this._pivotColumns.x+this._pivotColumns.getWidth()-1}}else{if(this._internalSelectMode=="ROW_SELECT"){if(b.y>=this._pivotRows.y+this._pivotRows.getHeight()){b.y=this._pivotRows.y+this._pivotRows.getHeight()-1}if(b.y<=this._pivotRows.y){b.y=this._pivotRows.y+1}if(b.x<=this._pivotRows.x){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}if(b.x>=this._pivotRows.x+this._pivotRows.getWidth()){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}}else{if(this._internalSelectMode=="CELLS_SELECT"){if(b.x<this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.y<this._pivotRows.y){b.y=this._pivotRows.y+1}}}}this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null;var f=-1;var o=-1;if(this._internalSelectMode=="COL_SELECT"||this._internalSelectMode=="ROW_SELECT"){if(i!=null){var h={};var d=this._itemHitTest(b,h);if(null==d){this._endSelectionUpdate();return}if(!(!d.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){d=d._getLastVisibleLeaf(d)}if(d.isColumn){this._colItemRangeSelectionEnd=d}else{this._rowItemRangeSelectionEnd=d}}else{this._pivotCells.hitTest(b,h);if(h!=null){this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}else{this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null}}}if(this._internalSelectMode=="CELLS_SELECT"){var h=this._pivotCells._hitTest(this._selectStartPosition);this._colItemRangeSelectionBeg=h.pivotColumn;this._rowItemRangeSelectionBeg=h.pivotRow;if(!h){this._endSelectionUpdate();this._internalRefresh();return}if(g.x!=b.x||g.y!=b.y){this._pivotCells.hitTest(b,h);this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}if(!h.pivotRow||!h.pivotColumn){this._internalSelectMode="CELLS_SELECT";this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionStart=this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}}this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(l);if(this._internalSelectMode=="CELLS_SELECT"){var u=this._pivotRows._getVisibleLeafLevelItems();var n=this._pivotColumns._getVisibleLeafLevelItems();var t=this._pivotRows._pointToLeafItemIndexAbsolute(this._selectStartPosition);var o=this._pivotRows._pointToLeafItemIndexAbsolute(b);var j=this._pivotColumns._pointToLeafItemIndexAbsolute(this._selectStartPosition);var f=this._pivotColumns._pointToLeafItemIndexAbsolute(b);if((j==-1&&f==-1)||(t==-1&&o==-1)){this._endSelectionUpdate();this._internalRefresh();return}if(j==-1){j=f}if(f==-1){f=j}if(t==-1){t=o}if(o==-1){o=t}if(f<j){var s=j;j=f;f=s}if(o<t){var s=t;t=o;o=s}for(var m=t;m<=o&&m<u.length;m++){var e=u[m];for(var q=j;q<=f&&q<n.length;q++){var k=n[q];this._pivotCells._internalSelectCell(e,k)}}this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionEnd,pivotColumn:this._colItemRangeSelectionEnd,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}this._restoreSelectedItemsRangeOrder();this._applyItemsMultiSelect(l);this._endSelectionUpdate();this._internalRefresh()},_saveSelectedItemsRangeOrder:function(){this._adjSelectedItemsSave.colBeg=this._colItemRangeSelectionBeg;this._adjSelectedItemsSave.colEnd=this._colItemRangeSelectionEnd;this._adjSelectedItemsSave.rowBeg=this._rowItemRangeSelectionBeg;this._adjSelectedItemsSave.rowEnd=this._rowItemRangeSelectionEnd},_restoreSelectedItemsRangeOrder:function(){this._colItemRangeSelectionBeg=this._adjSelectedItemsSave.colBeg;this._colItemRangeSelectionEnd=this._adjSelectedItemsSave.colEnd;this._rowItemRangeSelectionBeg=this._adjSelectedItemsSave.rowBeg;this._rowItemRangeSelectionEnd=this._adjSelectedItemsSave.rowEnd},_adjustSelectedItemsOrder:function(c){if(this._colItemRangeSelectionBeg!=null&&this._colItemRangeSelectionEnd!=null&&this._colItemRangeSelectionBeg.x>this._colItemRangeSelectionEnd.x){var b=this._colItemRangeSelectionBeg;this._colItemRangeSelectionBeg=this._colItemRangeSelectionEnd;this._colItemRangeSelectionEnd=b}if(this._rowItemRangeSelectionBeg!=null&&this._rowItemRangeSelectionEnd!=null&&this._rowItemRangeSelectionBeg.y>this._rowItemRangeSelectionEnd.y){var b=this._rowItemRangeSelectionBeg;this._rowItemRangeSelectionBeg=this._rowItemRangeSelectionEnd;this._rowItemRangeSelectionEnd=b}if((false==this.multipleSelectionEnabled&&!c)||this._rowItemRangeSelectionEnd==null){this._rowItemRangeSelectionEnd=this._rowItemRangeSelectionBeg}if((false==this.multipleSelectionEnabled&&!c)||this._colItemRangeSelectionEnd==null){this._colItemRangeSelectionEnd=this._colItemRangeSelectionBeg}},_applyItemsMultiSelect:function(k){this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(k);for(var e=0;e<2;e++){if(this._internalSelectMode=="COL_SELECT"&&e!=0){continue}if(this._internalSelectMode=="ROW_SELECT"&&e!=1){continue}var l=e==0?this._colItemRangeSelectionBeg:this._rowItemRangeSelectionBeg;var c=e==0?this._colItemRangeSelectionEnd:this._rowItemRangeSelectionEnd;var f=(e==0)?this._pivotColumns:this._pivotRows;var g=f._getVisibleLeafLevelItems();if(g==null){this._internalRefresh();this._restoreSelectedItemsRangeOrder();return}var b=false;for(var d in g){var m=g[d];if(m!=l&&!b){continue}if(m.getWidthWithChildren()+m.x>this._mostRightItemBounds.x+this._mostRightItemBounds.width){this._mostRightItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}if(m.getWidthWithChildren()+m.x<this._mostLeftItemBounds.x+this._mostLeftItemBounds.width){this._mostLeftItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}b=true;f._internalSelectItem(m);if(m==c){break}}if(f.isColumnsHierarchy||!f.compactStyleRenderingEnabled){f._applySelectionToParentItems()}}this._restoreSelectedItemsRangeOrder()},localizeStrings:function(g,e){var b=this;if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}b._localizedStrings={decimalseparator:".",thousandsseparator:",",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",alignment:"Text alignment",cellalignment:"Number alignment",numberformat:"Number format",prefix:"Number prefix",decimalplacestext:"Decimal places",thousandsseparatortext:"Thousands separator",decimalseparatortext:"Decimal separator",nagativebracketstext:"Negatives in brackets",fieldsettings:"Field settings",ok:"Ok",cancel:"Cancel"};var c=a.extend({},g);b._localizedStrings=a.extend(b._localizedStrings,c);for(var f in c){if(f&&f.toLowerCase()!==f){c[f.toLowerCase()]=c[f]}}for(var d in b._localizedStrings){if(c[d]!==undefined){b._localizedStrings[d]=c[d]}}},})})(jqxBaseFramework);$.jqx.jqxPivotGrid=$.jqx.jqxPivotGrid||{};$.jqx.define($.jqx.jqxPivotGrid,"propertyBag","");$.extend($.jqx.jqxPivotGrid.propertyBag.prototype,{defineInstance:function(){this.namedPropertyTables={};this._tableSizes={};this.enablePropertyChangeNotifications=false},getPropertyTable:function(a){if(undefined==this.namedPropertyTables[a]){this.namedPropertyTables[a]={};this._tableSizes[a]=0}return this.namedPropertyTables[a]},getPropertyCount:function(a){var b=this.getPropertyTable(a);if(null==b){return 0}return this._tableSizes[a]},getPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return null}if(c[b]!=undefined){return c[b]}return null},containsPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return false}return c[b]!=undefined},removePropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return}delete c[b];this._tableSizes[a]--},setPropertyValue:function(a,b,c){var d=this.getPropertyTable(a);if(null==d){return}if(c==null||c==undefined){if(d[b]){this._tableSizes[a]--;delete d[b]}}else{if(!d[b]){this._tableSizes[a]++}d[b]=c}if(this.enablePropertyChangeNotifications){this.onPropertyChanged(a)}},clear:function(a){if(a==""||a==null||a==undefined){this.namedPropertyTables={};return}var b=this.getPropertyTable(a);b={};this._tableSizes[a]=0},onPropertyChanged:function(a){$.event.trigger("propertychanged",a)}});(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.define(a.jqx.jqxPivotGrid,"pivotCells","");a.extend(a.jqx.jqxPivotGrid.pivotCells.prototype,{defineInstance:function(){this.parentPivotGrid=null;this.IsDataBoundPivotCellsEditable=false;this.cellProperties=new a.jqx.jqxPivotGrid.propertyBag();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._selectedCells=new Object()},hitTest:function(c){var d=this._hitTest(c);if(!d){return undefined}var b={pivotRow:d.pivotRow,pivotColumn:d.pivotColumn,pivotCells:this};return b},_hitTest:function(b){var c={};c.pivotColumn=this.parentPivotGrid._pivotColumns._pointToLeafItemAbsolute(b);c.pivotRow=this.parentPivotGrid._pivotRows._pointToLeafItemAbsolute(b);if(this.parentPivotGrid._pivotColumns.isGroupingColumn(c.pivotColumn)){return undefined}if(c.pivotColumn==null||c.pivotRow==null){return undefined}return c},clear:function(){this._reset()},_reset:function(){this.cellProperties.clear();this._selectedCells=new Object();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._clearElementsAndCellsCache()},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.removeChild(b.firstChild)}},_clearElementsAndCellsCache:function(){this._clearCellsCache()},setCellValue:function(b,g,k){if(b==null||g==null){return}var c=this.parentPivotGrid.getCellId(g,b);var i=this.getCellDataSource(b,g);var f=b.BoundFieldIndex!=-1&&g.BoundFieldIndex!=-1;var d=false;var j=this.getCellDataSource(b,g);if(j=="DataBound"&&f){d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}try{this.parentPivotGrid.setCellValueFromDataSourceNonPivot(b,g,k)}catch(h){return}this.cellProperties.setPropertyValue("CellValue",c,null);this.parentPivotGrid.OnCellValueChanged(b,g);return}else{if(j=="DataBoundPivot"){if(!this.IsDataBoundPivotCellsEditable){throw"The cell's value is derived from the data source and aggregated. It is not editable in this mode. Use the SetCellDataSource method to change the cell's data source first"}else{return}}}var d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}this.SetCellDataSource(b,g,"Static");this.cellProperties.setPropertyValue("CellValue",c,k);this.onPropertyChanged("CellValue");this.parentPivotGrid.OnCellValueChanged(b,g)},_clearCellsCache:function(){this.cellProperties.clear("CellValue")},_clearCachedCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this.cellProperties.containsPropertyValue("CellValue",b)){this.cellProperties.removePropertyValue("CellValue",b)}},drillThroughCell:function(c,b){if(!c||c.isColumn){throw"Invalid pivotRow parameter"}if(!b||!b.isColumn){throw"Invalid pivotColumn parameter"}return this.parentPivotGrid.source.drillThroughPivotCell(c.adapterItem,b.adapterItem)},getCellValue:function(h,f){var d=null;if(this.parentPivotGrid._pivotColumns.isGroupingColumn(f)){return null}var c=this.parentPivotGrid.getCellId(f,h);var b=this.getCellDataSource(h,f);if(h.isTotal||f.isTotal){b="Virtual"}switch(b){case"Virtual":d=this.parentPivotGrid.onCellValueNeeded(h,f);this.cellProperties.setDirty(c);if(d==null&&this.parentPivotGrid.bindingState=="BoundPivot"&&(h.isTotal||f.isTotal)){d=this.parentPivotGrid.getCellValueFromDataSource(h,f)}break;case"DataBoundPivot":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){d=this.parentPivotGrid.source.getCellValue(h.adapterItem,f.adapterItem);if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"DataBound":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){try{d=this.parentPivotGrid.getCellValueFromDataSourceNonPivot(h,f)}catch(g){return null}if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"NotSet":case"Static":default:d=this.cellProperties.getPropertyValue("CellValue",c);break}return d},setCellDataSource:function(e,c,b){if(e==null||c==null){return}var d=this.parentPivotGrid.getCellId(c,e);this.cellProperties.setPropertyValue("cellDataSource",d,b)},getCellDataSource:function(e,b){var d=this.parentPivotGrid.getCellId(b,e);var c=this.cellProperties.getPropertyValue("cellDataSource",d);if(null==c){c=b.cellDataSource}if(c==null||c=="NotSet"){c=e.cellDataSource}if(c!=null&&c!="NotSet"){return c}if(this.parentPivotGrid.UseVirtualCellsByDefault){return"Virtual"}if(this.parentPivotGrid.bindingState=="DataBound"||this.parentPivotGrid.bindingState=="DataBoundPivot"){return this.parentPivotGrid.bindingState}return"NotSet"},render:function(){var m=this.renderCanvas;if(!m){return}var x=this.parentPivotGrid;x.setElementPosition(m,-this.parentPivotGrid._offsetX,-this.parentPivotGrid._offsetY);var d=x._pivotRows;var A=x._pivotColumns;if(!this._refreshRequired&&(!d._isVirtualMode&&!A._isVirtualMode)){return}var o=d._getLeafItemsToRender();var g=A._getLeafItemsToRender();this._cellElements=this._cellElements||{};var e=new Array();var q=new Date();var s={first:d._isVirtualMode?o.first:0,last:d._isVirtualMode?o.last:o.items.length-1};var u={first:A._isVirtualMode?g.first:0,last:A._isVirtualMode?g.last:g.items.length-1};for(var y=s.last;y>=s.first;y--){for(var G=u.last;G>=u.first;G--){if(y==-1||G==-1){continue}var n=o.items[y];var l=g.items[G];var I=x.getCellId(l,n);var p=l.getDisplayWidth()-1;var F=n.getDisplayHeight()-1;var f=this.isCellSelected(n,l);var z=this._cellElements[I];var k=undefined;if(z&&z.isSelected==f){k=z.element}var v={left:4,top:4,right:4,bottom:4};var B=this.getCellValue(n,l);var j="";if(!k){k=x.createDiv(m,j,p,F);k.cellId=I;this._cellElements[I]={element:k,isSelected:f};x.setElementSize(k,p,F);var D="right";if(x.cellsRenderer&&a.isFunction(x.cellsRenderer)){j=x.cellsRenderer({value:B.value,formattedValue:B.formattedValue,isSelected:f,pivotRow:n,pivotColumn:l});v={left:0,top:0,right:0,bottom:0}}else{j=(B!==undefined&&B.formattedValue!==undefined)?B.formattedValue.toString():"";var C=this.parentPivotGrid.source.getCellFormatSettings(n.adapterItem,l.adapterItem);if(C){D=C.align||"right"}}this.parentPivotGrid.setDivContent(k,j,v,D);k.originalY=k.style.top;k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal")}else{if(k.style.width!=p+"px"||k.style.height!=F+"px"){this.parentPivotGrid.setElementSize(k,p,F)}}k.tRender=q;if(k.style.display!="block"){k.style.display="block"}if(k.style.left!=l.x+"px"||k.style.top!=n.y+"px"){this.parentPivotGrid.setElementPosition(k,l.x,n.y)}var b="cellsClassName";if(this.isCellSelected(n,l)){k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-selected jqx-fill-state-hover jqx-widget-content");b="cellsClassNameSelected"}else{k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal jqx-widget-content")}var H=a.jqx.getByPriority([n[b],(n.adapterItem&&n.adapterItem.boundField)?n.adapterItem.boundField[b]:undefined,l[b],(l.adapterItem&&l.adapterItem.boundField)?l.adapterItem.boundField[b]:undefined]);if(H){k.className+=" "+H}k.className+=" jqx-pivotgrid-content-wrapper"}}for(var E=0;E<m.childNodes.length;E++){if(m.childNodes[E].cellId&&m.childNodes[E].tRender!=q){e.push(m.childNodes[E])}}while(true){var k=e.pop();if(!k){break}else{delete this._cellElements[k.cellId];k.style.display="none";m.removeChild(k)}}this._refreshRequired=false},_beginSelectionUpdate:function(){for(var b in this._selectedCells){this._selectedCells[b].OldIsSelected=this._selectedCells[b].isSelected}},_endSelectionUpdate:function(){var d=new Array();for(var b in this._selectedCells){var c=this._selectedCells[b];if(!c.isSelected){d.push(b)}if(c.isSelected!=c.OldIsSelected){}}if(d.length>0){for(var b in d){delete this._selectedCells[d[b]]}}},_internalClearSelection:function(){for(var b in this._selectedCells){this._internalUnselectCell(this._selectedCells[b].pivotRow,this._selectedCells[b].pivotColumn)}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate();this.render()},selectCell:function(c,b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectCell(c,b);this.parentPivotGrid._cellKBRangeSelectionStart={pivotRow:c,pivotColumn:b,pivotCells:this};this.parentPivotGrid._cellKBRangeSelectionEnd={pivotRow:c,pivotColumn:b,pivotCells:this};this._endSelectionUpdate()},_internalSelectCell:function(d,c){if(c!=null&&this.parentPivotGrid._pivotColumns.isGroupingColumn(c)){return}if(this.parentPivotGrid._internalSelectMode=="NO_SELECT"){switch(this.parentPivotGrid.selectionMode){case"CELL_SELECT":this.parentPivotGrid._internalSelectMode="CELLS_SELECT";break;case"FULL_COLUMN_SELECT":this.parentPivotGrid._internalSelectMode="COL_SELECT";break;case"FULL_ROW_SELECT":this.parentPivotGrid._internalSelectMode="ROW_SELECT";break}}var b=this.parentPivotGrid.getCellId(c,d);delete this._cellElements[b];if(this._selectedCells[b]==undefined){this._selectedCells[b]={pivotRow:d,pivotColumn:c,isSelected:true}}else{this._selectedCells[b].isSelected=true}this._refreshRequired=true},unselectCell:function(c,b){this._beginSelectionUpdate();this._internalUnselectCell(c,b);this._endSelectionUpdate()},_internalUnselectCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this._selectedCells[b]!=undefined){this._selectedCells[b].isSelected=false}delete this._cellElements[b];this._refreshRequired=true},isCellSelected:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(c.isSelected||d.isSelected){return true}return this._selectedCells[b]!=undefined&&this._selectedCells[b].isSelected},getSelectedCellsCount:function(){return this._selectedCells.length},getSelectedCells:function(){var d=new Array();for(var c in this._selectedCells){var b=this._selectedCells[c];if(b.isSelected){d.push({pivotRow:b.pivotRow,pivotColumn:b.pivotColumn,pivotCells:this})}}return d},getNextCell:function(c,b){var e={};switch(b){case"left":e={x:c.pivotColumn.x-1,y:c.pivotRow.y+1};break;case"right":e={x:c.pivotColumn.x+c.pivotColumn.getWidth()+1,y:c.pivotRow.y+1};break;case"top":e={x:c.pivotColumn.x+1,y:c.pivotRow.y-1};break;case"bottom":e={x:c.pivotColumn.x+1,y:c.pivotRow.y+c.pivotRow.getHeight()+1};break}var f={x:e.x+2*this.parentPivotGrid._pivotColumns.x-this.parentPivotGrid._pivotColumns.viewPort.x,y:e.y+2*this.parentPivotGrid._pivotRows.y-this.parentPivotGrid._pivotRows.viewPort.y};var d=this._hitTest(f);if(!d){return undefined}return d}})})(jqxBaseFramework);(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.jqxPivotGrid.pivotItem=function(c,b){this.text="Item";this.isExpanded=false;this.expandCollapseEnabled=true;this.isHidden=false;this.isFiltered=false;this.isSelected=false;this._height=26;this._width=18;this.isDirty=true;this.parentItem=c||null;this.hierarchy=b||c.hierarchy;this.parentPivotGrid=this.hierarchy.parentPivotGrid;this.id=this.parentPivotGrid.genId();this.itemLevel=0;this.itemColumn=0;this._itemOrdinal=NaN;this.x=0;this.y=0;this.hierarchyItemWidth=70;this.hierarchyItemHeight=26;this.widthWithChildrenCached=0;this.minimumWidth=18;this.maximumWidth=10000000;this.minimumHeight=8;this.maximumHeight=Infinity;this.items=new Array();this.valueItems=new Array()};a.extend(a.jqx.jqxPivotGrid.pivotItem.prototype,{_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},_calculateWidthWithChildren:function(){if(this.isHidden){this.widthWithChildrenCached=0;return}var d=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(d){this.widthWithChildrenCached=this.hierarchy.getColumnWidth(0);return}this.widthWithChildrenCached=this.getWidth();if(this.items!=null&&this.valueItems!=null){if(this.getVisibleItemsCount()>0||(!this.isColumn&&!d)){var c=0;if(!this.isColumn){var b=this.hierarchy.getMaxVisibleLevelDepth();for(var e=this.itemLevel;e<=b;e++){c+=this.hierarchy.getColumnWidth(e)}}else{c=0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){if((this.items[e]).isHidden){continue}c+=this.items[e].getWidthWithChildren()}}for(var e=0;e<this.valueItems.length;e++){if(this.valueItems[e].isHidden){continue}c+=this.valueItems[e].getWidthWithChildren()}}this.widthWithChildrenCached=c;return}}this.widthWithChildrenCached=this.getWidth();return},getWidthWithChildren:function(){if(this.hierarchy._renderRequired){this._calculateWidthWithChildren()}return this.widthWithChildrenCached},getDisplayWidth:function(){if(!this.isDirty&&!this.hierarchy._renderRequired){return this.displayWidth}var b=this.hasVisibleValueItems();if(this.isColumn){this.displayWidth=(this.isExpanded||b)?this.getWidthWithChildren():this.getWidth()}else{this.displayWidth=(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled)?this.getWidthWithChildren():this.getWidth();if(!this.isExpanded&&!b){this.displayWidth=this.hierarchy.getWidth()-this.x}}if(this.displayWidth<18){this.displayWidth=18}return this.displayWidth},getWidth:function(){if(this.isHidden||this.isFiltered){return 0}if(null==this.hierarchy){return 0}var d=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){d=0}var c=this.minimumWidth;if(!this.isColumn){c=this.hierarchy.getColumnWidth(d)}else{c=this.hierarchyItemWidth;if(this.parentItem){var b=this.parentItem.getWidth();if(b>c&&b>this.parentItem.widthWithChildrenCached){}}}return c},_measureElement:function(f){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");a(document.body).append(c);var d=this.hierarchy.sortable?16:0;var e=4;var b={width:c.width()+d+2*e,height:c.height()+2*e};c.remove();return b},autoResize:function(b){if(!b){b="fitItemContent"}if(this.isColumn){this.setWidth(this.minimumWidth)}else{this.setHeight(this.minimumHeight)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){this._autoResizeBestItemContent(b)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){if(this.isColumn&&this.parentItem!=null&&this.getWidth()<this.parentItem.getWidth()){this.setWidth(this.parentItem.getWidth())}}},_autoResizeBestItemContent:function(b){this._updateVisibleChildItemsCount();var e=this._measureElement(this.text);if(b=="default"&&this.adapterItem.boundField){if(!isNaN(this.adapterItem.boundField.width)){e.width=this.adapterItem.boundField.width}if(!isNaN(this.adapterItem.boundField.height)){e.height=this.adapterItem.boundField.height}}if(this.itemColumn>=this.hierarchy._getColumnsCount()){this.hierarchy._updateColumnsCount()}if(this._visibleChildItemsCount>0){e.width+=30}if(this.getWidth()<e.width||(b=="default"&&this.adapterItem.boundField&&!isNaN(this.adapterItem.boundField.width))){this.setWidth(e.width)}if(!this.isColumn){if(this.getHeight()<e.height){this.setHeight(e.height)}}else{var d=this.parentPivotGrid._pivotColumns.getHeight();if(d<e.height){this.parentPivotGrid._pivotColumns.setRowHeight(this,e.height)}}for(var c in this.items){this.items[c]._autoResizeBestItemContent(b)}for(var c in this.valueItems){this.valueItems[c]._autoResizeBestItemContent(b)}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_autoResizeBestCellFit:function(d){if(this.hierarchy!=null&&this.hierarchy._renderRequired){this.hierarchy.render()}if(this.hierarchy!=null&&this.hierarchy.ColumnsCountRequresUpdate){this.hierarchy._updateColumnsCount()}if(this.items.length==0&&this.valueItems.length==0){if(this.hierarchy!=null&&this.parentPivotGrid!=null&&this.parentPivotGrid._pivotCells!=null&&this.parentPivotGrid._pivotRows!=null&&this.parentPivotGrid._pivotColumns!=null){var c={width:1,height:1};var e=this.isColumn?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var g=this._getVisibleLeafLevelItems();for(var f in g){var i=!(g[f].isColumn)?g[f]:this;var b=g[f].isColumn?g[f]:this;var h={width:10,height:10};if(c.width<h.width){c.width=h.width}if(c.height<h.height){c.height=h.height}}if(this.width<c.width){this.setWidth(c.width)}if(!this.isColumn&&this.getHeight()<c.height){this.setHeight(c.height)}}}else{for(var f in this.items){this.items[f]._autoResizeBestCellFit(d)}for(var f in this.valueItems){this.valueItems[f]._autoResizeBestCellFit(d)}}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},setWidth:function(c){if(c<0){throw new Exception("Invalid pivotItem Width value. The value must greater than 0")}if(null==this.hierarchy){return}var b=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){b=0}if(this.hierarchy._getColumnsCount()<b){this.hierarchy._updateColumnsCount()}if(c<this.minimumWidth){c=this.minimumWidth}if(c>this.maximumWidth){c=this.maximumWidth}if(this.isColumn){this.hierarchyItemWidth=c}else{this.hierarchy.setColumnWidth(b,c)}this.hierarchy._renderRequired=true},getHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight},setHeight:function(b){if(b<0||b>10000){throw new Exception("Invalid pivotItem Height value. The value must be between 0 and 10000")}if(b<this.minimumHeight){b=this.minimumHeight}if(b>this.maximumHeight){b=this.maximumHeight}this.hierarchyItemHeight=b;if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_calculateHeightWithChildren:function(){if(this.isHidden||this.isFiltered){this.heightWithChildren=0;return}var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(this.isExpanded||this.hasVisibleValueItems()){var b=0;if(this.isColumn){b=this.hierarchyItemHeight;var f=0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){var e=this.items[d].getHeightWithChildren();if(f<e){f=e}}}for(var d=0;d<this.valueItems.length;d++){var e=this.valueItems[d].getHeightWithChildren();if(f<e){f=e}}if(f>0){b+=f}}else{b=c?this.getHeight():0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){if(this.items[d].isHidden||this.items[d].isFiltered){continue}b+=this.items[d].getHeightWithChildren()}}for(var d=0;d<this.valueItems.length;d++){if(this.valueItems[d].isHidden||this.valueItems[d].isFiltered){continue}b+=this.valueItems[d].getHeightWithChildren()}}this.heightWithChildren=b}else{this.heightWithChildren=this.hierarchyItemHeight}if(this.IsRowDetailsVisible){this.heightWithChildren+=this.RowDetailsHeight}return},getHeightWithChildren:function(){if(this.hierarchy._renderRequired||this.isDirty){this._calculateHeightWithChildren()}return this.heightWithChildren},getDisplayHeight:function(){var c=this.hasVisibleValueItems();var b=0;if(this.isColumn){b=(this.isExpanded||c)?this.getTotalHeight():this.hierarchy.getHeight()-this.y}else{if(this.hierarchy.compactStyleRenderingEnabled){b=this.getHeight();if(this.IsRowDetailsVisible){b+=this.RowDetailsHeight}}else{b=this.getHeightWithChildren()}}if(b<this.minimumHeight){b=this.minimumHeight}return b},getTotalHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight+((this.IsRowDetailsVisible)?this.RowDetailsHeight:0)},ensureVisible:function(){var c=this;if(c.isVisible()){return}var e=c.hierarchy.parentPivotGrid.host;if(c.isColumn){var b=e.find("#divHScroll");if(c.x+c.getWidth()>c.hierarchy.viewPort.width){b.val(c.x+c.getWidth()-c.hierarchy.viewPort.width)}else{b.val(c.x)}}else{var d=e.find("#divVScroll");if(c.y+c.getHeight()>c.hierarchy.viewPort.height){d.val(c.y+c.getHeight()-c.hierarchy.viewPort.height)}else{d.val(c.y)}}},isVisible:function(){if(this.isHidden){return false}if(this.y<this.hierarchy.viewPort.y-this.hierarchy.y||this.y+this.getDisplayHeight()>this.hierarchy.viewPort.y-this.hierarchy.y+this.hierarchy.viewPort.height||this.x<this.hierarchy.viewPort.x-this.hierarchy.x||this.x+this.getDisplayWidth()>this.hierarchy.viewPort.x-this.hierarchy.x+this.hierarchy.viewPort.width){return false}return true},_updateVisibleChildItemsCount:function(){var c=0;for(var b=0;b<this.items.length;b++){if(this.items[b].isHidden||this.items[b].isFiltered){continue}c++}this._visibleChildItemsCount=c},render:function(h,g){this._updateVisibleChildItemsCount();var k=-1;var b=-1;if(this.isHidden||this.isFiltered){return true}this.x=h;this.y=g;var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);var d=c?this.getTotalHeight():0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){var j=this.items[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}}for(var e=0;e<this.valueItems.length;e++){var j=this.valueItems[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}this._calculateWidthWithChildren();this._calculateHeightWithChildren();return true},_getChildItemsDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d+1},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},hasVisibleValueItems:function(){for(var b=0;b<this.valueItems.length;b++){var c=this.valueItems[b];if(false==c.isHidden&&false==c.isFiltered){return true}}return false},getVisibleItemsCount:function(){if(this.isHidden||this.isFiltered){return 0}var c=0;if((!this.isExpanded||this.items.length==0)&&this.valueItems.length==0){return c}else{c=0;for(var b=0;b<this.items.length;b++){if(!this.items[b].isHidden&&!this.items[b].isFiltered){c++}}for(var b=0;b<this.valueItems.length;b++){if(!this.valueItems[b].isHidden&&!this.valueItems[b].isFiltered){c++}}}return c},hitTest:function(b){if(this.isHidden||this.isFiltered){return null}var d=this.getDisplayHeight()+1;var c=this.getDisplayWidth()+1;if(b.x>=this.x&&b.x<=this.x+c&&b.y>=this.y&&b.y<=this.y+d){return this}return null},_expandInternal:function(b,f,g){if(this.items.length==0){return}if(!this.expandCollapseEnabled){return}if(this.isExpanded==b){return}var e=new a.Event(this.isExpanded?"pivotitemcollapsing":"pivotitemexpanding");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};e.cancel=false;var d=this.hierarchy.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this.isExpanded=b;if(this.items.length==0&&this.valueItems.length==0){return}if(g){for(var c=0;c<this.items.length;c++){this.items[c]._expandInternal(b,f,g)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c]._expandInternal(b,f,g)}}this.hierarchy._renderRequired=true;if(f){this.hierarchy._updateVisibleLeaves()}var e=new a.Event(this.isExpanded?"pivotitemexpanded":"pivotitemcollapsed");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};d.trigger(e)},expand:function(){this._expandInternal(true,true,false)},collapse:function(){this._expandInternal(false,true,false)},_getFirstVisibleLeaf:function(c){if(c.isExpanded){var d=false;for(var b=0;b<c.items.length;b++){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}if(c.hasVisibleValueItems){var d=false;for(var b=0;b<c.valueItems.length;b++){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}return c},_getLastVisibleLeaf:function(c){var d=false;for(var b=c.valueItems.length-1;b>=0;b--){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getLastVisibleLeaf(c);d=true;break}}if(d){return c}for(var b=c.items.length-1;b>=0&&c.isExpanded;b--){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getLastVisibleLeaf(c);break}}return c}});a.jqx.jqxPivotGrid.hierarchy=function(){this.parentPivotGrid=arguments[0];this._initDefaults()};a.extend(a.jqx.jqxPivotGrid.hierarchy.prototype,{_initDefaults:function(){this.columnWidths=new Array();this.rowHeights=new Array();this.items=new Array();this.valueItems=new Array();this.visibleLeafItems=new Array();this.viewPort=new Object();this.viewPort.x=0;this.viewPort.y=0;this.viewPort.width=10000;this.viewPort.height=10000;this.isFixed=false;this.isHidden=false;this.resizable=true;this.sortable=true;this._renderRequired=true;this.maxVisibleLevelDepth=-1;this.showExpandCollapseButtons=true;this.x=0;this.y=0;this._width=0;this._height=0;this.minColumnWidth=18;this._isColumnsCountRequresUpdate=true;this._selectedItems=new Object();this.virtualModeThreshold=5000;this._isVirtualMode=true},isVisible:function(){return !this.isHidden},toggle:function(){if(this.isHidden){this.show()}else{this.hide()}},getOtherHierarchy:function(){return(this.isColumnsHierarchy)?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns},show:function(){this.isHidden=false;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},hide:function(){this.isHidden=true;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},refresh:function(){var j=this.parentPivotGrid;var b=j.toThemeProperty("jqx-widget-content jqx-fill-state-pressed jqx-widget-header");var r=j.toThemeProperty("jqx-widget-content jqx-fill-state-normal jqx-widget-header");var k=a.jqx.get(this,"renderCanvas");var p=this._renderRequired||this._refreshRequired;if(!p){return}if(this._renderRequired){this.render()}if(this.isHidden){return}var d=new Array();var s=new Date();var x=this._getItemsToRender();if(!x){return}for(var A=0;A<x.length;A++){var F=x[A];var q=F.getDisplayWidth()-1;var B=F.getDisplayHeight()-1;var v=F._element;if(a.isFunction(j.itemsRenderer)){var n=j.itemsRenderer(F);if(v&&F._currentCustomContent!=n){k.removeChild(v);v=F._element=null}F._currentCustomContent=n}if(!v){var u={left:4,top:4,right:4,bottom:4};if(!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled){u.left+=F.itemLevel*this.compactStyleRenderingItemsIndent}var I=F.text;var m="left";if(a.isFunction(j.itemsRenderer)){I=F._currentCustomContent;u={left:0,top:0,right:0,bottom:0}}else{var g="";if(F.items.length!=0&&F.hierarchy.showExpandCollapseButtons){if(F.isExpanded){g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-collapse-button'></div>"}else{g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-expand-button'></div>"}}var G="";if(F.hierarchy._sortItem==F){var z=F.hierarchy._sortOrder=="desc"?"sortdesc jqx-grid-column-sortdescbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-down"):"sortasc jqx-grid-column-sortascbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-up");G="<div id='sortElement' class='"+z+"' style='position: relative; float: right; padding-right: 8px; width: 16px; height: 100%;'></div>"}var y=F.text;if(F.adapterItem.boundField){m=F.adapterItem.boundField.align||"left"}m=m.toString().toLowerCase();if(m!="center"&&m!="right"){m="left"}if(G!=""){var l=0;var o=24;if(g!=""){l=23;o+=l}I=g+"<div><div style='left: "+l+"px; top: 0; position: absolute; height: 100%; width: calc(100% - "+o+"px); text-overflow: ellipsis; overflow: hidden;  white-space: nowrap;padding-left:"+u.left+"px; padding-top:"+u.top+"px; '>"+y+"</div><div style='left: 0; top: 0; position: absolute; height: 100%; width: 100%;'>"+G+"</div></div>"}else{I=g+y+G}}v=j.createDiv(k,"",q,B);j.setDivContent(v,I,u,m,true);var J=this.parentPivotGrid.getChild(v,"innerDiv");J.className="jqx-pivotgrid-item";j.setElementPosition(v,F.x,F.y);v.originalY=v.style.top}F.tRender=s;var f=F.isSelected?b:r;var c=F.isSelected?"classNameSelected":"className";var H=a.jqx.getByPriority([F[c],(F.adapterItem&&F.adapterItem.boundField)?F.adapterItem.boundField[c]:undefined,this.hierarchy?this.hierarchy[c]:undefined]);if(H){f+=" "+H}f+=" jqx-pivotgrid-content-wrapper";if(f!=v.className){v.className=f}v.style.display="block";v.item=F;F._element=v}for(var A=0;A<k.childNodes.length;A++){if(k.childNodes[A].item&&k.childNodes[A].item.tRender!=s){d.push(k.childNodes[A])}}var E=100;while(true){var e=d.pop();if(!e){break}else{if(k.childNodes.length>E){e.item._element=undefined;k.removeChild(e)}else{e.item._element.style.display="none"}}}var C=!this.isColumnsHierarchy?-j._offsetY:0;var D=this.isColumnsHierarchy?-j._offsetX:0;j.setElementPosition(k,D,C);this._refreshRequired=false},clear:function(){this._initDefaults();this._resetCanvas();this.items=[];this.valueItems=[];this._renderRequired=true},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.firstChild.item._element=undefined;b.removeChild(b.firstChild)}},autoResize:function(b){for(var c=0;c<this.items.length;c++){this.items[c].autoResize(b)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c].autoResize(b)}},getMaxVisibleLevelDepth:function(){if(this.maxVisibleLevelDepth==-1||this._renderRequired){var c=this._getVisibleLeafLevelItems();this.maxVisibleLevelDepth=0;for(var b=0;b<c.length;b++){if(c[b].itemLevel>this.maxVisibleLevelDepth){this.maxVisibleLevelDepth=c[b].itemLevel}}}return this.maxVisibleLevelDepth},getHierarchyDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d},getSortItem:function(){return this._sortItem},getSortOrder:function(){return this._sortOrder},_fnAscSortComparer:function(c,b){var h=c.hierarchy.parentPivotGrid;var e=c.isColumn?h._pivotRows:h._pivotColumns;var i=e._sortItem;if(!i){return 0}if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}var g=h._pivotCells;var f=c.isColumn?g.getCellValue(i,c):g.getCellValue(c,i);var d=b.isColumn?g.getCellValue(i,b):g.getCellValue(b,i);return f.value-d.value},_fnDescSortComparer:function(c,b){if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}return -1*a.jqx.jqxPivotGrid.hierarchy.prototype._fnAscSortComparer(c,b)},_collectionSort:function(f,c,b){if(!this.parentPivotGrid||!this.parentPivotGrid._pivotCells){return}var e=!this.isColumnsHierarchy?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;if(!f){f=this.items}if(!c){c=e._sortOrder=="asc"?this._fnAscSortComparer:this._fnDescSortComparer}if(this._isSorted&&!b){this._collectionRemoveSort(f)}for(var d=0;d<f.length;d++){f[d]._itemOrdinal=d;this._collectionSort(f[d].items,c,true)}f=f.sort(c);if(!b){this._isSorted=true;this._renderRequired=true;e._renderRequired=true;this._updateVisibleLeaves()}},_collectionRemoveSort:function(f,c){if(!this._isSorted){return}if(!f){f=this.items}var b=new Array(f.length);for(var d=0;d<f.length;d++){b[f[d]._itemOrdinal]=f[d];this._collectionRemoveSort(f[d].items,true)}this.items=b;if(!c){this._renderRequired=true;this._updateVisibleLeaves();if(this.isColumnsHierarchy){this._isColumnsCountRequresUpdate=true}this._isSorted=false;var e=this.isColumnsHierarchy?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;e._sortItem=undefined;e._sortOrder=undefined;e._renderRequired=true}},sortBy:function(f,c){if(!f||f.isColumn==this.isColumnsHierarchy||f.valueItems.length>0){return}var e=new a.Event("sortchanging");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);var b=f.isColumn?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;b._sortItem=f;b._sortOrder=c;this._collectionSort();this.parentPivotGrid._internalRefresh();e=new a.Event("sortchanged");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};var d=this.parentPivotGrid.host;d.trigger(e)},removeSort:function(){var f=this==this.parentPivotGrid._pivotColumns?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var b=f._sortItem;var c=f._sortOrder;var e=new a.Event("sortremoving");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);this.parentPivotGrid._internalRefresh();e=new a.Event("sortremoved");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};d.trigger(e)},_binSearchItems:function(c,b){return this._binSearchItems2(c,b,0,c.length)},_binSearchItems2:function(g,i,f,j){var d=f;var e=j;if(e==d){return -1}var b=g[0].isColumn;while(d<e){var h=parseInt((d+e)/2);var c=g[h];if(b){if(c.x>i.x){e=h}else{if((h+1<e?g[h+1].x:c.x+c.getWidth())<i.x){d=h+1}else{return h}}}else{if(c.y>i.y){e=h}else{if((h+1<e?g[h+1].y:c.y+c.getTotalHeight())<i.y){d=h+1}else{return h}}}}return -1},_pointToLeafItemIndex:function(b){if(this._renderRequired){this.render()}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;var d=this._getVisibleLeafLevelItems();var e=this._binSearchItems(d,c);return e},_pointToLeafItem:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndex(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointToLeafItemIndexAbsolute:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var g=this.viewPort.y-this.y;var d={x:c.x,y:c.y};d.x-=this.x-(this.viewPort.x-this.x);d.y-=this.y-(this.viewPort.y-this.y);var e=this._getVisibleLeafLevelItems();var f=this._binSearchItems(e,d);return f},_pointToLeafItemAbsolute:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndexAbsolute(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointInRect:function(b,c){if(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height){return true}return false},hitTest:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var i=this.viewPort.y-this.y;if(!this._pointInRect({x:c.x+b,y:c.y+i},this.viewPort)||this.isHidden){return null}var e={x:c.x,y:c.y};e.x-=this.x-(this.viewPort.x-this.x);e.y-=this.y-(this.viewPort.y-this.y);var f=this._getVisibleLeafLevelItems();var h=this._binSearchItems(f,e);if(h==-1){return null}else{var d=f[h];var g=d.hitTest(e);if(g!=null){return g}while(d!=null){d=d.parentItem;if(d!=null){g=d.hitTest(e);if(g!=null){return g}}}}return null},_addColumn:function(b){if(b<this.minColumnWidth){b=this.minColumnWidth}this.columnWidths.push(b);return this.columnWidths.length-1},setColumnWidth:function(c,b){if(c>=this.columnWidths.length){this._updateColumnsCount(c+1)}if(b<this.minColumnWidth){b=this.minColumnWidth}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},getColumnWidth:function(b){if(b>=this.columnWidths.length){return 70}return this.columnWidths[b]},_getVisibleLeaves:function(g,f,c){if(f.isHidden||f.isFiltered){return true}if(f.items.length==0&&f.valueItems.length==0){g.push(f);return true}if(c){g.push(f)}if(f.isExpanded){for(var e=0;e<f.items.length;e++){var d=f.items[e];if(d.isHidden||d.isFiltered){continue}if((f.items.length>0&&d.isExpanded)||d.hasVisibleValueItems()){this._getVisibleLeaves(g,d,c)}else{g.push(d)}}}for(var e=0;e<f.valueItems.length;e++){var b=f.valueItems[e];if(b.isHidden||b.isFiltered){continue}g.push(b)}return true},_getVisibleLeafLevelItems:function(){if(this.visibleLeafItems.length==0){this._updateVisibleLeaves()}return this.visibleLeafItems},_updateVisibleLeaves:function(){this.visibleLeafItems=new Array();if(this.items.length+this.valueItems.length==0){return}var b=!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled;for(var c=0;c<this.items.length;c++){var d=this.items[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.valueItems.length;c++){var d=this.valueItems[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.visibleLeafItems.length;c++){this.visibleLeafItems[c]._lfIndex=c}this._updateItemsLevelAndColumn()},_getFirstLeafIndexToRender:function(){var b={x:this.x,y:this.y};var c={x:b.x,y:b.y};c.x-=this.x-(this.viewPort.x-this.x);c.y-=this.y-(this.viewPort.y-this.y);var d=this._binSearchItems(this._getVisibleLeafLevelItems(),c);return d},_getLastLeafIndexToRender:function(){var c={x:Math.min(this.viewPort.width,this.getWidth())-5,y:Math.min(this.viewPort.height,this.getHeight())-5};var b=this._pointToLeafItemIndex(c);return b},_getLeafItemsToRender:function(){var b={};b.items=this._getVisibleLeafLevelItems();b.first=this._getFirstLeafIndexToRender();b.last=this._getLastLeafIndexToRender();return b},_getItemsToRender:function(){var g=this._getLeafItemsToRender();var j=g.first;var e=g.last;if(j==-1||e==-1){return}var c={};for(b=j;b<=e;b++){var d=g.items[b];c[d.id]=d;while(d.parentItem!=null){d=d.parentItem;c[d.id]=d}}var f=new Array();for(var b in c){f.push(c[b])}return f},_updateItemsLevelAndColumn2:function(c,d){c.itemColumn=d;c.itemLevel=d;for(var b=0;b<c.items.length;b++){this._updateItemsLevelAndColumn2(c.items[b],d+1)}for(var b=0;b<c.valueItems.length;b++){this._updateItemsLevelAndColumn2(c.valueItems[b],d+1)}},_updateItemsLevelAndColumn:function(){for(var b=0;b<this.items.length;b++){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b=0;b<this.valueItems.length;b++){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},updateColumnsCount:function(){this.updateColumnsCount(0)},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},_updateColumnsCount:function(c){var f=this._getColumnsCount();var b=this.getTotalItemsCount();if(c>1024){c=1024}if(this.isColumnsHierarchy){if(c>b){b=c}}else{var e=this.getHierarchyDepth();b=c>e?c:e}for(var d=f;d<b;d++){this._addColumn(70)}this._isColumnsCountRequresUpdate=false},_updateColumnsIndexes:function(){for(var b in this.items){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b in this.valueItems){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},_getColumnsCount:function(){return this.columnWidths.length},_getRenderedItems:function(){var b=new Array();this._getChildItemsToRender(b);return b},_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},getWidth:function(){if(this._renderRequired){this.render()}return this._width},getHeight:function(){if(this._renderRequired){this.render()}return this._height},_beginSelectionUpdate:function(){for(var b in this._selectedItems){this._selectedItems[b].OldIsSelected=this._selectedItems[b].isSelected}},_endSelectionUpdate:function(){var f=new Array();for(var b in this._selectedItems){var e=this._selectedItems[b];if(!e.isSelected){f.push(this._selectedItems[b])}if(e.isSelected!=e.OldIsSelected&&(e.parentItem==null||e.parentItem.isExpanded==true||e._isValueItem)){var d=new a.Event("pivotitemselectionchanged");d.owner=this.parentPivotGrid;d.args={pivotItem:e,selected:e.isSelected};this.parentPivotGrid.host.trigger(d)}}for(var b in f){var c=this._selectedItems[f[b].adapterItem.key];c.isSelected=c.OldIsSelected=false;delete this._selectedItems[f[b].adapterItem.key]}},selectItem:function(b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectItem(b);this._endSelectionUpdate()},_internalSelectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}if(this.isColumnsHierarchy&&this.isGroupingColumn(d)){return}var c=d.adapterItem.key;if(this._selectedItems[c]==undefined){this._selectedItems[c]=d}d.isSelected=true;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalSelectItem(d.items[b])}for(var b in d.valueItems){this._internalSelectItem(d.valueItems[b])}},unselectItem:function(b){this._beginSelectionUpdate();this._internalUnselectItem(b);this._endSelectionUpdate()},_internalUnselectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}var c=d.adapterItem.key;if(this._selectedItems[c]){this._selectedItems[c].isSelected=false;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true}if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalUnselectItem(d.items[b])}for(var b in d.valueItems){this._internalUnselectItem(d.valueItems[b])}},_internalClearSelection:function(){for(var b in this._selectedItems){this._internalUnselectItem(this._selectedItems[b])}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate()},_applySelectionToParentItem:function(h){var c=h.parentItem;if(c==undefined||c==null){return}var d=h.hierarchy;var b=true;if(c.isExpanded){for(var g in c.items){var f=c.items[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){for(var g in c.valueItems){var f=c.valueItems[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){var e=c.adapterItem.key;if(d._selectedItems[e]==undefined){d._selectedItems[e]=c}c.isSelected=true;this._applySelectionToParentItem(c)}},_applySelectionToParentItems:function(){for(var b in this._selectedItems){this._applySelectionToParentItem(this._selectedItems[b])}},getSelectedItems:function(){var c=new Array();for(var b in this._selectedItems){if(this._selectedItems[b].isSelected){c.push(b)}}return c}});a.jqx.jqxPivotGrid.pivotRows=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=false;this.compactStyleRenderingEnabled=false;this.compactStyleRenderingItemsIndent=20};a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,{setColumnWidth:function(c,b){if(c>=this.columnWidths.Count){this._updateColumnsCount(c+1)}if(this.compactStyleRenderingEnabled){c=0}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},updateBounds:function(){var b=0;var g=0;for(var l=0;l<2;l++){var k=(l==0)?this.items:this.valueItems;for(var e=0;e<k.length;e++){var j=k[e];if(j.isHidden){continue}var f=j.getHeightWithChildren();b+=f;var d=j.getWidthWithChildren();if(g<d){g=d}}}this._width=g;this._height=b+1},render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this.isRendering=true;if(this._isColumnsCountRequresUpdate){this._updateColumnsCount()}while(this._getColumnsCount()<this.getHierarchyDepth()){a.jqx.get(this,"columnWidths").push(70)}this._updateVisibleLeaves();if(this.compactStyleRenderingEnabled){if(this.columnWidths.Count==0){this._addColumn(70)}var e=this.columnWidths[0];var k=this.getHierarchyDepth();if(e<k*(this.compactStyleRenderingItemsIndent)){e=k*(this.compactStyleRenderingItemsIndent)}this.columnWidths[0]=e}this.updateBounds();var l=0;if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this.isRendering=false;this._renderRequired=false;return}for(var c=0;c<2;c++){var g=(c==0)?this.items:this.valueItems;for(var b=0;b<g.length;b++){var f=g[b];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var d=f.getHeightWithChildren();if(f.itemLevel<this.columnWidths.length&&f.getWidth()>this.columnWidths[f.itemLevel]){this.columnWidths[f.itemLevel]=f.getWidth()}if(!f.render(0,l)){break}l+=d}}this.updateBounds();if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._resetCanvas();this._renderRequired=false;this.isRendering=false},isOnRowDetails:function(b,d){if(!d.RowDetailsVisible){return false}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;if(c.y<d.y+d.getDisplayHeight()&&c.y>d.y+d.getDisplayHeight()-d.RowDetailsHeight){return true}return false}});a.jqx.jqxPivotGrid.pivotColumns=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=true};a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,{render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this._updateVisibleLeaves();this._updateColumnsIndexes();if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();return}var b=0;for(var e=0;e<2;e++){var g=(e==0)?this.items:this.valueItems;for(var d=0;d<g.length;d++){var f=g[d];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var c=f.getWidthWithChildren();if(!f.render(b,0)){break}b+=c}}this._renderRequired=false;if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();this.updateBounds();this._resetCanvas()},updateBounds:function(){var b=0;var f=0;for(var d=0;d<2;d++){var k=(d==0)?this.items:this.valueItems;for(var c=0;c<k.length;c++){var g=k[c];var e=g.getHeightWithChildren();if(b<e){b=e}f+=g.getWidthWithChildren()}}this._height=b;this._width=f+1},_updateColumnsIndexes:function(){var e=this.visibleLeafItems.length;for(var c=--e;c>=0;c--){var d=this.visibleLeafItems[c];d.itemColumn=c;var b=d.parentItem;while(b!=null){if(b.hierarchy!=d.hierarchy){b=null}else{b.itemColumn=c;d=b;b=d.parentItem}}}},setRowHeight:function(c,b){if(b<15||b>500){return false}c.hierarchyItemHeight=b;this._renderRequired=true;return true},isGroupingColumn:function(b){if(b==null){return false}if(this.parentPivotGrid==null){return false}if(b.ItemIndex<this.parentPivotGrid.groupingColumns.length&&this.parentPivotGrid.isGroupingEnabled){return true}return false}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxPivotGrid.prototype,{_handleKeyboardNavigation:function(b){if(this._internalSelectMode=="CELLS_SELECT"){return this._handleCellsKeyboardNavigation(b)}else{if(this._internalSelectMode=="ROW_SELECT"||this._internalSelectMode=="COL_SELECT"){}}return false},_handleCellsKeyboardNavigation:function(e){var k=this._cellKBRangeSelectionEnd;var f=undefined;var m=this;if(!k){return false}if(e.keyCode==37){f=this._pivotCells.getNextCell(k,"left")}if(e.keyCode==38){f=this._pivotCells.getNextCell(k,"top")}else{if(e.keyCode==39){f=this._pivotCells.getNextCell(k,"right")}else{if(e.keyCode==40){f=this._pivotCells.getNextCell(k,"bottom")}}}if(f!=null){this._pivotRows._refreshRequired=true;this._pivotColumns._refreshRequired=true;this._pivotCells._refreshRequired=true;this._colItemRangeSelectionBeg=f.pivotColumn;this._rowItemRangeSelectionBeg=f.pivotRow;this._beginSelectionUpdate();if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection()}this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};if(!this._cellKBRangeSelectionStart||!this._isSHIFTPressed){this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells}}var l=Math.min(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var h=Math.max(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var n=Math.min(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);var i=Math.max(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);for(var j=l;j<=h;j++){for(var b=n;b<=i;b++){var g=this._pivotColumns.visibleLeafItems[j];var d=this._pivotRows.visibleLeafItems[b];this._pivotCells._internalSelectCell(d,g)}}this._endSelectionUpdate();f.pivotRow.ensureVisible();f.pivotColumn.ensureVisible();this._internalRefresh()}return false}})})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxPopover","",{});a.extend(a.jqx._jqxPopover.prototype,{defineInstance:function(){var b={arrowOffsetValue:null,animationType:"fade",position:"bottom",animationOpenDelay:"fast",animationCloseDelay:"fast",autoClose:true,isModal:false,height:null,initContent:null,offset:null,rtl:false,showArrow:true,showCloseButton:false,selector:null,title:"",width:null,_toggleElement:null,_popover:null,_popoverTop:0,_popoverLeft:0,_init:false,_ie8:(a.jqx.browser.msie&&a.jqx.browser.version===8),_ie7:(a.jqx.browser.msie&&a.jqx.browser.version<8),_left:0,_top:0,events:["open","close"]};if(this===a.jqx._jqxPopover.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._content=b.host.children()},render:function(){var h=this;var c=h.element.id;h._content.detach();h._toggleElement=a(h.selector);if(h._toggleElement.length===0){throw new Error('jqxPopover: Invalid Popover toggler: "'+h.selector+'".')}else{if(h._toggleElement===null){throw new Error("jqxPopover: Missing Popover toggler.")}}var k=a('<div id="'+c+'" class="'+h.toThemeProperty("jqx-popover")+'"><div class="'+h.toThemeProperty("jqx-popover-arrow")+'"></div><div class="'+h.toThemeProperty("jqx-popover-title")+'"></div><div class="'+h.toThemeProperty("jqx-popover-content")+'"></div></div>');a("body").append(k);var g=h.host.data();h.host.detach();h.host=k;h.host.data(g);h.element=k[0];h.element.id=c;h._popover=a("#"+c);var j=h._popover.find(".jqx-popover-title");j.append(h.title);var i=h._popover.find(".jqx-popover-content");i.append(h._content);h._popover.hide();h._removeHandlers();h._addHandlers();h._popover.addClass(h.position);j.addClass(h.toThemeProperty("jqx-widget-header"));h._popover.addClass(h.toThemeProperty("jqx-widget jqx-widget-content jqx-rc-all"));if(h.showArrow){h._popover.addClass(h.toThemeProperty("jqx-popover-arrow-"+h.position));h._popover.find(".jqx-popover-arrow").css("display","block")}else{h._popover.find(".jqx-popover-arrow").css("display","none")}if(h.rtl){j.addClass(h.toThemeProperty("jqx-rtl"));j.css("direction","rtl");i.css("direction","rtl")}if(h.showCloseButton){var d=a('<div class="'+this.toThemeProperty("jqx-window-close-button-background")+'"></div>');var e=a('<div style="width: 100%; height: 100%;" class="'+this.toThemeProperty("jqx-window-close-button")+" "+this.toThemeProperty("jqx-icon-close")+'"></div>');d.append(e);j.append(d);j.css("min-height","16px");d.addClass(h.toThemeProperty("jqx-popover-close-button"));h.closeButton=e;if(h.rtl){d.addClass(h.toThemeProperty("jqx-popover-close-button-rtl"))}}if(h.arrowOffsetValue){if(h.position=="bottom"||h.position=="top"){var b=h._popover.find(".jqx-popover-arrow").css("margin-left");h._popover.find(".jqx-popover-arrow").css("margin-left",parseInt(b)+h.arrowOffsetValue)}else{var f=h._popover.find(".jqx-popover-arrow").css("margin-top");h._popover.find(".jqx-popover-arrow").css("margin-top",parseInt(f)+h.arrowOffsetValue)}}if(h.width||h.height){h._popover.css("width",h.width);h._popover.css("height",h.height)}},refresh:function(b){this.render()},destroy:function(){var b=this;if(b.length!==0){b._removeHandlers();b._popover.remove();b._removeModalBackground()}},propertyChangedHandler:function(b,c,f,e){var d=this;d.render()},_stickToToggleElement:function(){var g=this;g._popover.css("left","0px");g._popover.css("top","0px");var j=g._toggleElement;var e=j.offset();var b=j.outerHeight();var h=j.outerWidth();var d=g._popover.height();var i=g._popover.width();switch(g.position){case"left":g._popoverTop=e.top-d/2+b/2;g._popoverLeft=e.left-g._popover.outerWidth();break;case"right":g._popoverTop=e.top-d/2+b/2;g._popoverLeft=e.left+h;break;case"top":g._popoverTop=e.top-g._popover.outerHeight();g._popoverLeft=e.left-i/2+h/2;break;case"bottom":g._popoverTop=e.top+b;g._popoverLeft=e.left-i/2+h/2;break}var c=g.offset?parseFloat(g.offset.left):0;var f=g.offset?parseFloat(g.offset.top):0;g._popover.css("top",f+g._popoverTop);g._popover.css("left",c+g._popoverLeft)},open:function(){var c=this;c._stickToToggleElement();function d(){c._popover.show();c._raiseEvent("0");c._isOpen=true}function b(){if(c.initContent&&c._init===false){c.initContent();c._init=true;c._stickToToggleElement()}}if(c._ie7===true){d();b();return}switch(c.animationType){case"fade":c._popover.fadeIn(c.animationOpenDelay,function(){c._raiseEvent("0");b();c._isOpen=true});break;case"none":d();b();break}c._makeModalBackground()},close:function(){var c=this;if(!c._isOpen){return}function b(){c._popover.hide();c._raiseEvent("1");c._isOpen=false}if(c._ie7===true){b();return}switch(c.animationType){case"fade":c._popover.fadeOut(c.animationCloseDelay,function(){c._raiseEvent("1");c._isOpen=false});break;case"none":b();break}c._removeModalBackground()},_raiseEvent:function(f,c){if(c===undefined){c={owner:null}}var d=this.events[f];c.owner=this;var e=new a.Event(d);e.owner=this;e.args=c;if(e.preventDefault){e.preventDefault()}var b=this._popover.trigger(e);return b},_makeModalBackground:function(){var b=this;if(b.isModal===true){b.modalBackground=a("<div></div>");b.modalBackground.addClass(this.toThemeProperty("jqx-popover-modal-background"));a(document.body).prepend(b.modalBackground);a(document.body).addClass(b.toThemeProperty("jqx-unselectable"));b.host.addClass(b.toThemeProperty("jqx-selectable"))}},_removeModalBackground:function(){var b=this;if((b.isModal===true)&&(b.modalBackground!==undefined)){b.modalBackground.remove();a(document.body).removeClass(b.toThemeProperty("jqx-unselectable"));b.host.removeClass(b.toThemeProperty("jqx-selectable"))}},_addHandlers:function(){var b=this,c=b.element.id;b.addHandler(a(document),"keydown.jqxPopover"+c,function(d){if(d.keyCode==27){b.close()}});b.addHandler(a(document),"click.jqxPopover"+c,function(d){if(b.closeButton&&d.target==b.closeButton[0]){b.close()}if(b.autoClose===true){if(d.target!=b.element&&!a(d.target).ischildof(b._popover)){if(!b.isModal){b.close()}}}});b.addHandler(a(window),"resize.jqxPopover"+c,function(d){if(b.element.style.display!="none"){b._stickToToggleElement()}});if(b.selector){b.addHandler(b._toggleElement,"click.jqxPopover"+c,function(d){d.stopPropagation();if(b.host.css("display")!="none"){b.close()}else{b.open()}})}},_removeHandlers:function(){var b=this,c=b.element.id;b.removeHandler(a(document),"click.jqxPopover"+c);if(b.selector){b.removeHandler(b._toggleElement,"click.jqxPopover"+c)}b.removeHandler(a(document),"keydown.jqxPopover"+c);b.removeHandler(a(window),"resize.jqxPopover"+c)}})})(jqxBaseFramework);
 
@@ -154,9 +154,9 @@
 
 (function(a){a.jqx.jqxWidget("jqxRibbon","",{});a.extend(a.jqx._jqxRibbon.prototype,{defineInstance:function(){var b={width:null,height:"auto",mode:"default",position:"top",selectedIndex:-1,selectionMode:"click",popupCloseMode:"click",animationType:"fade",animationDelay:400,scrollPosition:"both",disabled:false,rtl:false,scrollStep:10,scrollDelay:30,reorder:false,initContent:null,_roundedCorners:true,_removeByDrag:false,_suppressReorder:true,events:["select","unselect","change","_removeByDrag","reorder"]};if(this===a.jqx._jqxRibbon.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;if(b.host.css("display")==="none"||document.body.contains(b.element)===false){b._initiallyHidden=true}b._browser=a.jqx.browser;if(b.mode!=="popup"&&b.selectedIndex===-1){b.selectedIndex=0}b._originalHTML=b.element.innerHTML;b._render(true)},render:function(){this._render()},refresh:function(b){if(b!==true){this._render()}},destroy:function(){var b=this;b._removeHandlers();b.host.remove()},selectAt:function(b){this._selectAt(b)},clearSelection:function(){if(this.selectedIndex!==-1){this._clearSelection()}},disableAt:function(b){var c=this;c._items[b]._disabled=true;a(c._items[b]).addClass(c.toThemeProperty("jqx-fill-state-disabled"));if(b===c.selectedIndex){c._clearSelection()}},enableAt:function(b){var c=this;c._items[b]._disabled=false;a(c._items[b]).removeClass(c.toThemeProperty("jqx-fill-state-disabled"))},hideAt:function(b){var c=this;c._items[b].style.display="none";c._checkScrollButtons();if(b===c.selectedIndex){c._clearSelection()}else{c._updatePositions()}},showAt:function(b){var c=this;if(c._orientation==="horizontal"){c._items[b].style.display="inline-block"}else{c._items[b].style.display="inherit"}c._checkScrollButtons();c._updatePositions()},val:function(b){var c=this;if(b){c._selectAt(b)}else{return c.selectedIndex}},addAt:function(h,d){var g=this,k="jqx-ribbon-item jqx-ribbon-item-"+g.position,b="jqx-widget-content jqx-ribbon-content-section jqx-ribbon-content-section-"+g.position;g._removeHandlers();var f=document.createElement("li");f.innerHTML=d.title;var c=document.createElement("div");if(typeof d.content==="string"){c.innerHTML=d.content}else{if(d.content.length!==undefined){try{if(window.$!==undefined&&d.content instanceof window.$){a(c).append(d.content)}else{if(a.isArray(d.content)){for(var e=0;e<d.content.length;e++){d.content[e].appendTo(c)}}else{while(d.content.length>0){c.appendChild(d.content[0])}}}}catch(j){}}else{c.appendChild(d.content)}}switch(g.position){case"top":k+=" jqx-rc-t";b+=" jqx-rc-b";break;case"bottom":k+=" jqx-rc-b";b+=" jqx-rc-t";break;case"left":k+=" jqx-rc-l";b+=" jqx-rc-r";break;case"right":k+=" jqx-rc-r";b+=" jqx-rc-l";break}if(g.mode==="popup"){b+=" jqx-ribbon-content-section-popup jqx-ribbon-content-section-"+g._orientation+"-popup"}if(g.rtl===true){k+=" jqx-ribbon-item-rtl"}f.className=g.toThemeProperty(k);c.className=g.toThemeProperty(b);if(g._items.length-1>=h){g._headerElement.insertBefore(f,g._items[h]);g._contentElement.insertBefore(c,g._contentSections[h])}else{g._headerElement.appendChild(f);g._contentElement.appendChild(c)}g._updateItems();g._addHandlers();g._checkScrollButtons();if(h<=g.selectedIndex&&g.selectedIndex<g._items.length-1){g.selectedIndex++}g._updatePositions();if(g.selectedIndex<0){return}g._suppressSelectionEvents=true;g._selectAt(g.selectedIndex,g.selectedIndex,true)},removeAt:function(b){var c=this;if(b===c.selectedIndex){c._clearSelection()}a(c._items[b]).remove();a(c._contentSections[b]).remove();c._updateItems(true);c._updatePositions();c._checkScrollButtons()},updateAt:function(b,c){var e=this,d=e._items[b];d.innerHTML=c.newTitle;e._contentSections[b].innerHTML=c.newContent;d._isInitialized=false;if(e.initContent&&b===e.selectedIndex){e.initContent(b);d._isInitialized=true}e._updatePositions()},setPopupLayout:function(c,g,e,b){var f=this,d=f._contentSections[c];if(f.mode==="popup"){if(!d.getAttribute("data-width")){if(d.style.width){d.setAttribute("data-width",d.style.width)}if(d.style.height){d.setAttribute("data-height",d.style.height)}}if(e){d.style.width=f._toPx(e)}if(b){d.style.height=f._toPx(b)}d._layout=g;f._positionContent(c)}},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length===2){d.element.style.width=d._toPx(d.width);d.element.style.height=d._toPx(d.height);d._updateSize()}},propertyChangedHandler:function(d,f,h,g){if(d.batchUpdate&&d.batchUpdate.width&&d.batchUpdate.height&&Object.keys(d.batchUpdate).length===2){return}if(g!==h){switch(f){case"width":case"height":d.element.style[f]=d._toPx(g);d._updateSize();break;case"position":d._render();break;case"mode":d._contentElement.style.width="auto";d._removeHandlers(null,h);d._render();break;case"selectedIndex":d._selectAt(g,h);break;case"selectionMode":d._removeHandlers(h);d._addHandlers();break;case"scrollPosition":var b=d._scrollButtonNear;var k=d._scrollButtonFar;a(b).removeClass(d.toThemeProperty("jqx-ribbon-scrollbutton-"+h+" jqx-rc-tr jqx-rc-bl jqx-rc-tl"));a(k).removeClass(d.toThemeProperty("jqx-ribbon-scrollbutton-"+h+" jqx-rc-tr jqx-rc-bl jqx-rc-br"));b.className+=" "+d.toThemeProperty("jqx-ribbon-scrollbutton-"+g);k.className+=" "+d.toThemeProperty("jqx-ribbon-scrollbutton-"+g);d._scrollButtonRc(b,k);d._checkScrollButtons();d._updatePositions();break;case"disabled":if(g===true){d._removeHandlers();d.element.className+=" "+d.toThemeProperty("jqx-fill-state-disabled")}else{d.host.removeClass(d.toThemeProperty("jqx-fill-state-disabled"));d._addHandlers()}break;case"theme":a.jqx.utilities.setTheme(h,g,d.host);break;case"rtl":if(g===true){d._headerElement.className+=" "+d.toThemeProperty("jqx-ribbon-header-rtl");for(var e=0;e<d._items.length;e++){d._items[e].className+=" "+d.toThemeProperty("jqx-ribbon-item-rtl")}}else{d._header.removeClass(d.toThemeProperty("jqx-ribbon-header-rtl"));for(var c=0;c<d._items.length;c++){a(d._items[c]).removeClass(d.toThemeProperty("jqx-ribbon-item-rtl"))}}d._positionSelectionToken(d.selectedIndex);break}}},_raiseEvent:function(g,e){var c=this.events[g];var f=new a.Event(c);f.owner=this;f.args=e;var b;try{b=this.host.trigger(f)}catch(d){}return b},_render:function(c){var d=this;if(c!==true){d._removeHandlers()}d._selectionTokenOffsetY=0;switch(d._browser.browser){case"mozilla":d._browserWidthRtlFlag=0;d._browserScrollRtlFlag=1;d._selectionTokenOffsetX=1;break;case"msie":d._browserWidthRtlFlag=0;d._browserScrollRtlFlag=-1;if(d._browser.version==="8.0"){d._selectionTokenOffsetX=1}else{if(d._browser.version==="7.0"){d._selectionTokenOffsetX=0;if(d.mode==="popup"&&(d.position==="bottom"||d.position==="right")){d._selectionTokenOffsetY=2}}else{d._selectionTokenOffsetX=0}}break;default:d._browserWidthRtlFlag=1;d._browserScrollRtlFlag=1;d._selectionTokenOffsetX=0}if(c===true){var b=d.host.children();d._headerElement=b[0];d._header=a(b[0]);d._contentElement=b[1];d._content=a(b[1]);d._checkStructure(b);d._refreshBarPosition()}d._headerElement.style["float"]="none";d._contentElement.style.padding="0px";d.element.style.width=d._toPx(d.width);d.element.style.height=d._toPx(d.height);if(d.position==="bottom"||d.position==="right"){d.element.insertBefore(d._contentElement,d._headerElement)}if(d.position==="top"||d.position==="bottom"){d._orientation="horizontal"}else{d._orientation="vertical"}if(d.position==="right"){d._headerElement.style["float"]="right"}else{if(d.position==="left"){d._headerElement.style["float"]="left"}}d._contentSections=d._content.children();a.each(d._contentSections,function(){if(this.getAttribute("data-width")){this.style.width=this.getAttribute("data-width");this.style.height=this.getAttribute("data-height");this.removeAttribute("data-width");this.removeAttribute("data-height")}});if(c===true){d._selectionToken=document.createElement("div");d._selectionToken.className=d.toThemeProperty("jqx-widget-content jqx-ribbon-selection-token jqx-ribbon-selection-token-"+d.position);d.element.appendChild(d._selectionToken)}d._updateItems();if(d._initiallyHidden!==true){d._addClasses()}if(c===true){d._appendScrollButtons();d._checkScrollButtons()}d._allowSelection=true;if(d.selectedIndex!==-1){d._items[d.selectedIndex].className+=" "+d.toThemeProperty("jqx-widget-content jqx-ribbon-item-selected");d._positionSelectionToken(d.selectedIndex);d._contentSections[d.selectedIndex].style.display="block";if(d.initContent){d.initContent(d.selectedIndex);d._items[d.selectedIndex]._isInitialized=true}}if(!d.disabled){d._addHandlers()}else{d.element.className+=" "+d.toThemeProperty("jqx-fill-state-disabled")}a.jqx.utilities.resize(d.host,function(){if(d._initiallyHidden){d._initiallyHidden=false;d._addClasses();if(d.selectedIndex!==-1){d._items[d.selectedIndex].className+=" "+d.toThemeProperty("jqx-widget-content jqx-ribbon-item-selected")}}d._updateSize(true)});if(d.mode==="popup"&&d.theme!==""){setTimeout(function(){d._positionPopup();d._positionSelectionToken(d.selectedIndex)},30)}},_updateSize:function(b){var c=this;if(c._browser.version==="7.0"&&c._browser.browser==="msie"){if(c._orientation==="horizontal"){c._header.css("width",(c.host.width()-parseInt(c._header.css("padding-left"),10)-parseInt(c._header.css("padding-right"),10)-parseInt(c._header.css("border-left-width"),10)-parseInt(c._header.css("border-right-width"),10)));c._contentSections.width(c._content.width()-parseInt(c._contentSections.css("border-left-width"),10)-parseInt(c._contentSections.css("border-right-width"),10)-parseInt(c._contentSections.css("padding-left"),10)-parseInt(c._contentSections.css("padding-right"),10));if(c.mode==="default"&&typeof c.height==="string"&&c.height.indexOf("%")!==-1){c._contentSections.height(c._content.height()-c._header.height()-parseInt(c._contentSections.css("border-bottom-width"),10)-parseInt(c._contentSections.css("border-top-width"),10)-1)}}else{c._header.css("height",(c.host.height()-parseInt(c._header.css("padding-top"),10)-parseInt(c._header.css("padding-bottom"),10)-parseInt(c._header.css("border-top-width"),10)-parseInt(c._header.css("border-bottom-width"),10)));c._contentSections.height(c._content.height()-parseInt(c._contentSections.css("border-top-width"),10)-parseInt(c._contentSections.css("border-bottom-width"),10)-parseInt(c._contentSections.css("padding-top"),10)-parseInt(c._contentSections.css("padding-bottom"),10));if(c.mode==="default"&&typeof c.width==="string"&&c.height.indexOf("%")!==-1){var d=c.position==="left"?parseInt(c._contentSections.css("border-left-width"),10)+parseInt(c._contentSections.css("border-right-width"),10)+1:0;c._contentSections.width(c._content.width()-c._header.width()-d)}}}c._checkScrollButtons(true);c._updatePositions(undefined,b);if(c.mode==="popup"){c._positionPopup()}c._refreshBarPosition()},_stopAnimation:function(){var c=this;if(!c._allowSelection){c.selectedIndex=c._animatingIndex;var b=a(c._contentSections[c._animatingIndex]);c._initAnimate(b);b.animate("finish");c._clearSelection(true,c._animatingIndex);c._allowSelection=true}},_refreshBarPosition:function(){var c=this;if(!this.bar){var b=a("<span></span>");a(this.host).append(b);b.addClass(this.toThemeProperty("jqx-tabs-bar"));this.bar=b}setTimeout(function(){var f=parseInt(a(c._headerElement).css("left"),10)-c._headerElement.scrollLeft;var e=parseInt(a(c._headerElement).css("top"),10)-c._headerElement.scrollTop;var d=c._animatingIndex!==undefined?c._animatingIndex:c.selectedIndex;if(!c._items[d]){return}if(!c.bar){return}if(c.position==="top"||c.position==="bottom"){c.bar.css("left",c._items[d].offsetLeft+f);if(c.position==="top"){c.bar.css("top",c._items[d].offsetTop+e+c._items[d].offsetHeight)}else{c.bar.css("top",e)}c.bar.width(a(c._items[d]).outerWidth()-2);c.bar.removeClass(c.toThemeProperty("vertical"))}else{if(c.position==="left"){c.bar.css("left",c._items[d].offsetLeft+f+c._items[d].offsetWidth)}else{c.bar.css("left",c._items[d].offsetLeft+f)}c.bar.css("top",e+c._items[d].offsetTop);c.bar.height(a(c._items[d]).outerHeight()-2);c.bar.addClass(c.toThemeProperty("vertical"))}})},_selectAt:function(g,j,k){var f=this;if(j===undefined){j=f.selectedIndex}if(g!==j||k===true){f._stopAnimation();f._refreshBarPosition();if(f._allowSelection){f._animatingIndex=g;if(f.selectedIndex!==-1){f._clearSelection(true,j)}f._allowSelection=false;f._selecting=g;if(f.selectionMode==="click"){a(f._items[g]).removeClass(f.toThemeProperty("jqx-fill-state-hover jqx-ribbon-item-hover"))}if(f.mode==="popup"&&f._roundedCorners){f._header.removeClass(f.toThemeProperty("jqx-rc-all"));var b,d;switch(f.position){case"top":b="jqx-rc-t";d="jqx-rc-b";break;case"bottom":b="jqx-rc-b";d="jqx-rc-t";break;case"left":b="jqx-rc-l";d="jqx-rc-r";break;case"right":b="jqx-rc-r";d="jqx-rc-l";break}f._headerElement.className+=" "+f.toThemeProperty(b);for(var e=0;e<f._items.length;e++){f._items[e].className+=" "+f.toThemeProperty(b);f._contentSections[e].className+=" "+f.toThemeProperty(d)}}f._items[g].className+=" "+f.toThemeProperty("jqx-widget-content jqx-ribbon-item-selected");f._selectionToken.style.display="block";f._updatePositions(g);var c;switch(f.animationType){case"fade":c=a(f._contentSections[g]);f._initAnimate(c);if(c.css("display")==="none"){c.fadeIn({duration:f.animationDelay,complete:function(){f._animationComplete(g,j)}})}else{c.fadeOut({duration:f.animationDelay,complete:function(){f._animationComplete(g,j)}})}break;case"slide":c=a(f._contentSections[g]);var h=f.position;if(h==="top"){h="up"}else{if(h==="bottom"){h="down"}}f.slideAnimation=f._slide(c,{mode:"show",direction:h,duration:f.animationDelay},g,j);break;case"none":f._contentSections[g].style.display="block";f._animationComplete(g,j);break}}else{}}},_clearSelection:function(c,f){var d=this;if(d.mode==="popup"){if(d._roundedCorners){d._headerElement.className+=" "+d.toThemeProperty("jqx-rc-all")}}d._selecting=-1;if(f===undefined){f=d.selectedIndex}a(d._items[f]).removeClass(d.toThemeProperty("jqx-widget-content jqx-ribbon-item-selected"));d._selectionToken.style.display="none";if(c!==true&&d.animationType!=="none"){var b=a(d._contentSections[f]);if(d.animationType==="fade"){d._initAnimate(b);b.fadeOut({duration:d.animationDelay,complete:function(){d._clearSelectionComplete(f)}})}else{if(d.animationType==="slide"){var e=d.position;if(e==="top"){e="up"}else{if(e==="bottom"){e="down"}}d._stopAnimation();f=d.selectedIndex;d.slideAnimation=d._slide(b,{mode:"hide",direction:e,duration:d.animationDelay},f);d.selectedIndex=-1}}}else{if(f===-1){return}d._contentSections[f].style.display="none";d._clearSelectionComplete(f,c)}},_addHandlers:function(){var g=this,t=g.element.id,h=false,n;function r(j){var k=g._closest(j.target,"li"),i=k._index;if(!g._items[i]._disabled){if(i!==g.selectedIndex){g._selectAt(i)}else{if(g.mode==="popup"){if(g.popupCloseMode!=="none"){k.className+=" "+g.toThemeProperty("jqx-fill-state-hover jqx-ribbon-item-hover");g._clearSelection()}}}}}function b(m){if(g.reorder===true&&h===true){var i=g._closest(m.target,"li")._index,l=g._items[n].innerHTML,k=g._contentSections[n].childNodes,j=[];while(k.length>0){j.push(a(k[0]).detach())}g._suppressSelectionEvents=true;g._oldReorderIndex=n;g.removeAt(n);g.clearSelection();g.addAt(i,{title:l,content:j});g.selectAt(i);setTimeout(function(){a(g._items[i]).trigger("mousedown")},0)}else{var E=g._closest(m.target,"li");if(B(E._index)){E.className+=" "+g.toThemeProperty("jqx-fill-state-hover jqx-ribbon-item-hover")}}}function s(i){var j=g._closest(i.target,"li");if(B(j._index)){a(j).removeClass(g.toThemeProperty("jqx-fill-state-hover jqx-ribbon-item-hover"))}}function o(i){if(i.target.nodeName==="#document"){return}var j=g._closest(i.target,"li");if((g.reorder===true||g._removeByDrag===true)&&j._index===g.selectedIndex){h=true;n=j._index;j.style.cursor="move"}}function C(){if(g.popupCloseMode==="mouseLeave"&&g.mode==="popup"){g._clearSelection()}}function c(j){var i=g._closest(j.target,"li")._index;if(!g._items[i]._disabled&&i!==g.selectedIndex){g._selectAt(i)}}function x(j){var i=g._closest(j.target,"li")._index;if(!g._items[i]._disabled){if(g.mode==="popup"){if(g.popupCloseMode!=="none"){g._clearSelection()}}}}function D(){if(g.popupCloseMode==="mouseLeave"&&g.mode==="popup"){g._clearSelection()}}var d=function(m){if(g.popupCloseMode==="click"&&g.mode==="popup"&&g.selectedIndex!==-1){if(m.target.tagName==="svg"){return}var l=g._closest(m.target,undefined,"jqx-ribbon");if(l!==undefined&&l.getAttribute("id")!==t){g._clearSelection();return}if(m.target.className===undefined||m.target.className.indexOf("jqx-ribbon-content-popup")!==-1){g._clearSelection();return}if(a(m.target).ischildof(g.host)){return}var k=false;var j=[],i=function(E){if(E.parentElement){j.push(E.parentElement);i(E.parentElement)}};i(m.target);a.each(j,function(){if(this.className!==undefined){if(this.className.indexOf){if(this.className.indexOf("jqx-ribbon")!==-1){k=true;return false}if(this.className.indexOf("jqx-ribbon")!==-1){if(t===this.id){k=true}return false}}}});if(!k){g._clearSelection()}}};if(g.selectionMode==="click"){var B=function(i){return((g._selecting!==i&&g._allowSelection===false)||((g._selecting===-1||g.selectedIndex!==i)&&g._allowSelection===true))&&!g._items[i]._disabled};for(var z=0;z<g._items.length;z++){var f=g._items[z];g.addHandler(f,"click.ribbon"+t,r);g.addHandler(f,"mouseenter.ribbon"+t,b);g.addHandler(f,"mouseleave.ribbon"+t,s);g.addHandler(f,"mousedown.ribbon"+t,o)}if(g.mode==="popup"){g.addHandler(g.host,"mouseleave.ribbon"+t,function(){if(g.popupCloseMode==="mouseLeave"&&g.mode==="popup"){g._clearSelection()}});for(var y=0;y<g._contentSections.length;y++){g.addHandler(g._contentSections[y],"mouseleave.ribbon"+t,C)}g.addHandler(a(document),"mousedown.ribbon"+t,function(i){d(i)})}if(g._removeByDrag===true){for(var A=0;A<g._items.length;A++){g._items[A].className+=" "+g.toThemeProperty("jqx-ribbon-item-docking-layout")}}g.addHandler(document,"mouseup.ribbon"+t,function(){h=false;for(var j=0;j<g._items.length;j++){g._items[j].style.cursor=""}});g.addHandler(g._header,"mouseleave.ribbon"+t,function(i){if(g._removeByDrag===true&&h===true){g._raiseEvent("3",{draggedIndex:n,x:i.pageX,y:i.pageY});if(g._items.length>1){g.removeAt(n)}h=false;i.target.style.cursor=""}})}else{if(g.selectionMode==="hover"){for(var w=0;w<g._items.length;w++){var p=g._items[w];g.addHandler(p,"mouseenter.ribbon"+t,c);if(g.mode==="popup"){g.addHandler(p,"click.ribbon"+t,x)}}if(g.mode==="popup"){g.addHandler(g.host,"mouseleave.ribbon"+t,function(){if(g.popupCloseMode==="mouseLeave"&&g.mode==="popup"){g._clearSelection()}});for(var v=0;v<g._contentSections.length;v++){g.addHandler(g._contentSections,"mouseleave.ribbon"+t,D)}g.addHandler(a(document),"mousedown.ribbon"+t,function(i){d(i)})}}}var e=a.jqx.mobile.isTouchDevice(),u,q;if(e){u="touchstart";q="touchend"}else{u="mousedown";q="mouseup"}g.addHandler(g._scrollButtonNear,u+".ribbon"+t,function(){if(g._orientation==="horizontal"){g._timeoutNear=setInterval(function(){var j=g._headerElement.scrollLeft,i=(g.rtl&&g._browser.browser==="msie")?-1:1;g._headerElement.scrollLeft=j-g.scrollStep*i;g._updatePositions()},g.scrollDelay)}else{g._timeoutNear=setInterval(function(){var i=g._headerElement.scrollTop;g._headerElement.scrollTop=i-g.scrollStep;g._updatePositions()},g.scrollDelay)}return false});g.addHandler(g._scrollButtonFar,u+".ribbon"+t,function(){if(g._orientation==="horizontal"){g._timeoutFar=setInterval(function(){var j=g._headerElement.scrollLeft,i=(g.rtl&&g._browser.browser==="msie")?-1:1;g._headerElement.scrollLeft=j+g.scrollStep*i;g._updatePositions()},g.scrollDelay)}else{g._timeoutFar=setInterval(function(){var i=g._headerElement.scrollTop;g._headerElement.scrollTop=i+g.scrollStep;g._updatePositions()},g.scrollDelay)}return false});g.addHandler(a(document),q+".ribbon"+t,function(){clearInterval(g._timeoutNear);clearInterval(g._timeoutFar)})},_removeHandlers:function(j,f){var g=this,b=g.element.id;if(!j){j=g.selectionMode}if(!f){f=g.mode}for(var e=0;e<g._items.length;e++){var h=g._items[e];g.removeHandler(h,"mouseenter.ribbon"+b);if(j==="click"){g.removeHandler(h,"click.ribbon"+b);g.removeHandler(h,"mouseleave.ribbon"+b);g.removeHandler(h,"mousedown.ribbon"+b)}}if(j==="click"){g.removeHandler(document,"mouseup.ribbon"+b);g.removeHandler(g._header,"mouseleave.ribbon"+b)}else{if(j==="hover"&&f==="popup"){g.removeHandler(g.host,"mouseleave.ribbon"+b)}}var d=a.jqx.mobile.isTouchDevice(),c,k;if(d){c="touchstart";k="touchend"}else{c="mousedown";k="mouseup"}g.removeHandler(g._scrollButtonNear,c+".ribbon"+b);g.removeHandler(g._scrollButtonFar,c+".ribbon"+b);g.removeHandler(a(document),k+".ribbon"+b)},_checkStructure:function(c){var d=this;var f=c.length;if(f!==2){throw new Error("jqxRibbon: Invalid HTML structure. You need to add a ul and a div to the widget container.")}var b=d._header.children().length;var e=d._content.children().length;if(b!==e){throw new Error("jqxRibbon: Invalid HTML structure. For each list item you must have a corresponding div element.")}},_addClasses:function(){var j=this,f="jqx-widget-content jqx-ribbon-content-section jqx-ribbon-content-section-"+j.position,e="jqx-widget-content jqx-ribbon-content jqx-ribbon-content-"+j._orientation,c="jqx-widget-header jqx-disableselect jqx-ribbon-header jqx-ribbon-header-"+j._orientation,m="jqx-ribbon-item jqx-ribbon-item-"+j.position,b="jqx-widget jqx-ribbon";j._content.removeClass();j._header.removeClass(j.toThemeProperty("jqx-rc-all jqx-widget-header jqx-disableselect jqx-rc-t jqx-rc-b jqx-rc-l jqx-rc-r jqx-rc-all jqx-ribbon-header-"+j._orientation+"-popup jqx-ribbon-header-bottom jqx-ribbon-header-auto jqx-ribbon-header-right jqx-ribbon-header-rtl"));j.host.removeClass();if(j._roundedCorners){switch(j.position){case"top":c+=" jqx-rc-t";m+=" jqx-rc-t";f+=" jqx-rc-b";break;case"bottom":c+=" jqx-rc-b";m+=" jqx-rc-b";f+=" jqx-rc-t";break;case"left":c+=" jqx-rc-l";m+=" jqx-rc-l";f+=" jqx-rc-r";break;case"right":c+=" jqx-rc-r";m+=" jqx-rc-r";f+=" jqx-rc-l";break}}else{switch(j.position){case"top":m+=" jqx-rc-t";break;case"bottom":m+=" jqx-rc-b";break;case"left":m+=" jqx-rc-l";break;case"right":m+=" jqx-rc-r";break}}if(j.rtl===true){c+=" jqx-ribbon-header-rtl";m+=" jqx-ribbon-item-rtl"}j.element.className+=" "+j.toThemeProperty(b);j._headerElement.className+=" "+j.toThemeProperty(c);j._contentElement.className+=" "+j.toThemeProperty(e);for(var h=0;h<j._items.length;h++){var d=a(j._contentSections[h]),k=a(j._items[h]);d.removeClass();k.removeClass(j.toThemeProperty("jqx-fill-state-disabled jqx-ribbon-item-rtl jqx-widget-content jqx-ribbon-item-selected jqx-rc-t jqx-rc-b jqx-rc-l jqx-rc-r jqx-ribbon-item-docking-layout jqx-ribbon-item jqx-ribbon-item-"+j.position));if(j.mode==="popup"){f+=" jqx-ribbon-content-section-popup jqx-ribbon-content-popup-"+j.position+" jqx-ribbon-content-section-"+j._orientation+"-popup"}j._contentSections[h].className+=" "+j.toThemeProperty(f);j._items[h].className+=" "+j.toThemeProperty(m)}var n,g;if(j.mode==="popup"){if(j.selectedIndex===-1){if(j._roundedCorners){j.element.className+=" "+j.toThemeProperty("jqx-rc-all");j._headerElement.className+=" "+j.toThemeProperty("jqx-rc-all")}}j.element.className+=" "+j.toThemeProperty("jqx-ribbon-popup");j._headerElement.className+=" "+j.toThemeProperty("jqx-ribbon-header-"+j._orientation+"-popup");j._contentElement.className+=" "+j.toThemeProperty("jqx-ribbon-content-popup");j._positionPopup()}else{if(j._orientation==="horizontal"){if(j.height!=="auto"){g=j._headerElement.offsetHeight;if(j.position==="top"){j._contentElement.style.paddingTop=j._toPx(g)}else{j._headerElement.className+=" "+j.toThemeProperty("jqx-ribbon-header-bottom")}}else{j._headerElement.className+=" "+j.toThemeProperty("jqx-ribbon-header-auto")}}else{if(j._orientation==="vertical"){if(j.width!=="auto"){n=j._headerElement.offsetWidth;if(j.position==="left"){j._contentElement.style.paddingLeft=j._toPx(n)}else{j._headerElement.className+=" "+j.toThemeProperty("jqx-ribbon-header-right");j._contentElement.style.paddingRight=j._toPx(n)}}else{j.element.className+=" "+j.toThemeProperty("jqx-ribbon-auto");j._headerElement.className+=" "+j.toThemeProperty("jqx-ribbon-header-auto");j._contentElement.className+=" "+j.toThemeProperty("jqx-ribbon-content-auto-width")}}}this.host.addClass("jqx-tabs-header-position-"+this.position)}a(j._headerElement).addClass(j.toThemeProperty("jqx-ribbon-header-"+j.position));if(j._browser.version==="7.0"&&j._browser.browser==="msie"){if(j._orientation==="horizontal"){j._header.css("width",(j.host.width()-parseInt(j._header.css("padding-left"),10)-parseInt(j._header.css("padding-right"),10)-parseInt(j._header.css("border-left-width"),10)-parseInt(j._header.css("border-right-width"),10)));j._items.height(j._items.height()-parseInt(j._items.css("padding-top"),10)-parseInt(j._items.css("padding-bottom"),10)-parseInt(j._items.css("border-top-width"),10)-parseInt(j._items.css("border-bottom-width"),10));j._contentSections.width(j._contentSections.width()-parseInt(j._contentSections.css("border-left-width"),10)-parseInt(j._contentSections.css("border-right-width"),10)-parseInt(j._contentSections.css("padding-left"),10)-parseInt(j._contentSections.css("padding-right"),10));if(j.mode==="default"){if(j.height!=="auto"){if(j.position==="top"){j._contentSections.css("padding-top",g)}else{j._contentSections.css("padding-bottom",g)}j._content.css("height",j.host.height()+2);j._contentSections.css("height",j._content.height()-parseInt(j._contentSections.css("border-bottom-width"),10)-parseInt(j._contentSections.css("border-top-width"),10)-1)}}else{}}else{var l;if(j.position==="left"){j._contentElement.className+=" "+j.toThemeProperty("jqx-ribbon-content-left");l=parseInt(j._contentSections.css("border-left-width"),10)+parseInt(j._contentSections.css("border-right-width"),10)+1}else{j._contentElement.className+=" "+j.toThemeProperty("jqx-ribbon-content-right");l=0}j._header.css("height",(j.host.height()-parseInt(j._header.css("padding-top"),10)-parseInt(j._header.css("padding-bottom"),10)-parseInt(j._header.css("border-top-width"),10)-parseInt(j._header.css("border-bottom-width"),10)));j._items.width(j._items.width()-parseInt(j._items.css("padding-left"),10)-parseInt(j._items.css("padding-right"),10)-parseInt(j._items.css("border-left-width"),10)-parseInt(j._items.css("border-right-width"),10));j._contentSections.height(j._contentSections.height()-parseInt(j._contentSections.css("border-top-width"),10)-parseInt(j._contentSections.css("border-bottom-width"),10)-parseInt(j._contentSections.css("padding-top"),10)-parseInt(j._contentSections.css("padding-bottom"),10));if(j.mode==="default"){if(j.width!=="auto"){if(j.position==="left"){j._contentSections.css("padding-left",n)}else{j._contentSections.css("padding-right",n)}j._contentSections.width(j._content.width()-j._header.width()-l)}}else{}}}if(j.position==="bottom"){j._content.css("padding-bottom",g)}},_positionPopup:function(){var c=this;var b=(c._browser.version==="7.0"&&c._browser.browser==="msie");switch(c.position){case"top":c._contentElement.style.top=c._toPx(c._headerElement.offsetHeight);break;case"bottom":if(!b){c._contentElement.style.bottom=c._toPx(c._headerElement.offsetHeight)}else{c._contentElement.style.bottom=c._toPx(c._height(c._headerElement))}break;case"left":c._contentElement.style.left=c._toPx(c._headerElement.offsetWidth);break;case"right":c._contentElement.style.right=c._header.outerWidth()+"px";break}},_appendScrollButtons:function(){var e=this,d=(e._orientation==="horizontal")?["left","right"]:["up","down"];function c(h,i,g){h.className=e.toThemeProperty("jqx-ribbon-scrollbutton jqx-ribbon-scrollbutton-"+e.position+" jqx-ribbon-scrollbutton-"+e.scrollPosition+" jqx-widget-header "+i);h.innerHTML='<div class="'+e.toThemeProperty("jqx-ribbon-scrollbutton-inner "+g)+'"></div>';if(e._orientation==="horizontal"){h.style.height=e._toPx(e._height(e._headerElement))}else{h.style.width=e._toPx(e._width(e._headerElement))}e.element.appendChild(h)}var b=document.createElement("div");c(b,"jqx-ribbon-scrollbutton-lt","jqx-icon-arrow-"+d[0]);var f=document.createElement("div");c(f,"jqx-ribbon-scrollbutton-rb","jqx-icon-arrow-"+d[1]);e._scrollButtonRc(b,f);e._scrollButtonNear=b;e._scrollButtonFar=f;if(!e.roundedCorners){return}switch(e.position){case"top":case"bottom":b.style.marginLeft="-1px";f.style.marginRight="-1px";break;case"right":case"left":b.style.marginTop="-1px";f.style.marginBottom="-1px";break}},_scrollButtonRc:function(b,d){var c=this;if(!c.roundedCorners){return}switch(c.position){case"top":if(c.scrollPosition!=="far"){b.className+=" "+c.toThemeProperty("jqx-rc-tl")}if(c.scrollPosition!=="near"){d.className+=" "+c.toThemeProperty("jqx-rc-tr")}break;case"bottom":if(c.scrollPosition!=="far"){b.className+=" "+c.toThemeProperty("jqx-rc-bl")}if(c.scrollPosition!=="near"){d.className+=" "+c.toThemeProperty("jqx-rc-br")}break;case"left":if(c.scrollPosition!=="far"){b.className+=" "+c.toThemeProperty("jqx-rc-tl")}if(c.scrollPosition!=="near"){d.className+=" "+c.toThemeProperty("jqx-rc-bl")}break;case"right":if(c.scrollPosition!=="far"){b.className+=" "+c.toThemeProperty("jqx-rc-tr")}if(c.scrollPosition!=="near"){d.className+=" "+c.toThemeProperty("jqx-rc-br")}break}},_updateItems:function(c){function b(){if(f._items[e]._index===f.selectedIndex){f.selectedIndex=e}}var f=this;f._items=f._header.children();f._contentSections=f._content.children();for(var e=0;e<f._items.length;e++){var d=f._items[e];d.setAttribute("unselectable","on");if(d._index===undefined){d._disabled=false;d._isInitialized=false;f._contentSections[e]._layout="default"}if(c===true){b()}d._index=e;if(c!==true){b()}if(f._contentSections[e]){f._contentSections[e]._index=e}}},_positionContent:function(h){var g=this,f=g._contentSections[h],c,m,n,j,b,l;if(g._orientation==="horizontal"){c=g.element.offsetWidth;m=g.host.offset().left;n=g._items[h].offsetWidth;j=a(g._items[h]).offset().left;b=f.offsetWidth||parseInt(f.style.width,10);l="left"}else{c=g.element.offsetHeight;m=g.host.offset().top;n=g._items[h].offsetHeight;j=a(g._items[h]).offset().top;b=f.offsetHeight||parseInt(f.style.height,10);l="top"}var e=function(i){if(i<0){i=0}else{if(i+b>c){i=c-b}}f.style[l]=g._toPx(i)};var k;switch(f._layout){case"near":k=j-m;e(k);break;case"far":k=j-m-(b-n);e(k);break;case"center":k=j-m-(b-n)/2;e(k);break;default:if(g.position==="right"){for(var d=0;d<g._contentSections.length;d++){g._contentSections[d].style.right="1px"}}else{f.style[l]=""}}},_checkScrollButtons:function(b){var f=this;var d=0;a.each(f._items,function(){var k=a(this);if(k.css("display")!=="none"){d+=(f._orientation==="horizontal")?k.outerWidth(true):k.outerHeight(true)}});var i=f._orientation==="horizontal"?["margin-left","margin-right"]:["margin-top","margin-bottom"];var h=(f._orientation==="horizontal")?f._width(f._headerElement):f._height(f._headerElement);if(!f._itemMargins){f._itemMargins=[];f._itemMargins.push(a(f._items[0]).css(i[0]));f._itemMargins.push(a(f._items[f._items.length-1]).css(i[1]))}if(d>h){f._scrollButtonNear.style.display="block";f._scrollButtonFar.style.display="block";var g=f.rtl?f._itemMargins[0]:17;var e=f.rtl?f._itemMargins[0]:17;switch(f.scrollPosition){case"near":e=0;g=34;break;case"far":e=34;g=17;break}if(f._items[0]){f._items[0].style[i[0]]=f._toPx(g)}if(f._items[f._items.length-1]){f._items[f._items.length-1].style[i[1]]=f._toPx(e)}}else{if(f._items[0]){f._items[0].style[i[0]]=f._toPx(f._itemMargins[0])}if(f._items[f._items.length-1]){f._items[f._items.length-1].style[i[1]]=f._toPx(f._itemMargins[1])}f._scrollButtonNear.style.display="none";f._scrollButtonFar.style.display="none"}if(b===true){if(f._orientation==="horizontal"){var j=f._toPx(f._height(f._headerElement));f._scrollButtonNear.style.height=j;f._scrollButtonFar.style.height=j}else{var c=f._toPx(f._width(f._headerElement));f._scrollButtonNear.style.width=c;f._scrollButtonFar.style.width=c}}},_positionSelectionToken:function(i){var h=this;if(i!==-1){var e=a(h._items[i]);if(e.length===0){return}var j,b,d,k,g;if(h._orientation==="horizontal"){var f,m;if(h.rtl===true){if(h._browserWidthRtlFlag===1){f=h._headerElement.scrollWidth-h._headerElement.clientWidth}else{f=0}m=h._browserScrollRtlFlag}else{f=0;m=1}d=e[0].offsetLeft+f-h._headerElement.scrollLeft*m-h._selectionTokenOffsetX+2;g=h._headerElement.offsetHeight-1;var c=h._width(e[0])+parseInt(e.css("padding-left"),10)+parseInt(e.css("padding-right"),10);if(h.position==="top"){j=g-h._selectionTokenOffsetY;b=""}else{j="";b=g-h._selectionTokenOffsetY}h._selectionToken.style.top=h._toPx(j);h._selectionToken.style.bottom=h._toPx(b);h._selectionToken.style.left=h._toPx(d);h._selectionToken.style.width=h._toPx(c)}else{j=e[0].offsetTop-h._headerElement.scrollTop-h._selectionTokenOffsetX+2;g=h._headerElement.offsetWidth-1;var l=h._height(e[0])+parseInt(e.css("padding-top"),10)+parseInt(e.css("padding-bottom"),10);if(h.position==="left"){d=g-h._selectionTokenOffsetY;k=""}else{d="";k=g-h._selectionTokenOffsetY}h._selectionToken.style.top=h._toPx(j);h._selectionToken.style.left=h._toPx(d);h._selectionToken.style.right=h._toPx(k);h._selectionToken.style.height=h._toPx(l)}}},_updatePositions:function(c,b){var d=this;if(isNaN(c)){if(b===true&&d._selecting!==null&&d._selecting>=0){c=d._selecting}else{c=d.selectedIndex}}if(c!==-1){d._positionSelectionToken(c);if(d.mode==="popup"&&d._contentSections[c]._layout!=="default"){d._positionContent(c)}if(d.mode==="popup"&&(d.position==="left"||d.position==="right")){d._contentElement.style.width="auto";var e=d._contentSections[c].style.width&&d._contentSections[c].style.width.indexOf("%")>=0;if(e){d._contentElement.style.width=d._toPx(d._width(d._contentSections[c])-d._width(d._headerElement))}else{d._contentElement.style.width=d._toPx(d._width(d._contentSections[c]))}}d._refreshBarPosition()}},_animationComplete:function(c,e){var d=this,b=e!==-1?e:null;d._contentElement.style.pointerEvents="auto";d.selectedIndex=c;if(d._suppressSelectionEvents!==true){d._raiseEvent("0",{selectedIndex:c});d._raiseEvent("2",{unselectedIndex:b,selectedIndex:c})}else{if(d._suppressReorder!==true&&d._oldReorderIndex!==undefined&&c!==d._oldReorderIndex){d._raiseEvent("4",{newIndex:c,oldIndex:d._oldReorderIndex})}d._suppressSelectionEvents=false;d._suppressReorder=false}if(d.initContent&&d._items[c]._isInitialized===false){d.initContent(c);d._items[c]._isInitialized=true}d._allowSelection=true;d._selecting=null;d._refreshBarPosition()},_clearSelectionComplete:function(d,b){var c=this;c._selecting=null;if(d===undefined){d=c.selectedIndex}if(d!==-1){c._contentElement.style.pointerEvents="none";if(c._suppressSelectionEvents!==true){c._raiseEvent("1",{unselectedIndex:d})}}if(b!==true){c.selectedIndex=-1}},_slide:function(f,e,n,s){var m=this;if(!m.activeAnimations){m.activeAnimations=[]}if(m.activeAnimations.length>0){for(var k=0;k<m.activeAnimations.length;k++){m.activeAnimations[k].clearQueue();m.activeAnimations[k].finish()}}else{f.clearQueue();f.animate("finish")}var h="ui-effects-";var d={save:function(u,v){for(var o=0;o<v.length;o++){if(v[o]!==null&&u.length>0){u.data(h+v[o],u[0].style[v[o]])}}},restore:function(u,w){var v,o;for(o=0;o<w.length;o++){if(w[o]!==null){v=u.data(h+w[o]);if(v===undefined){v=""}u.css(w[o],v)}}},createWrapper:function(o){if(o.parent().is(".ui-effects-wrapper")){return o.parent()}var u={width:o.outerWidth(true),height:o.outerHeight(true),"float":o.css("float")},x=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),i={width:o.width(),height:o.height()},w=document.activeElement;try{w.id}catch(v){w=document.body}o.wrap(x);if(o[0]===w||a.contains(o[0],w)){a(w).focus()}x=o.parent();if(o.css("position")==="static"){x.css({position:"relative"});o.css({position:"relative"})}else{a.extend(u,{position:o.css("position"),zIndex:o.css("z-index")});a.each(["top","left","bottom","right"],function(y,z){u[z]=o.css(z);if(isNaN(parseInt(u[z],10))){u[z]="auto"}});o.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}o.css(i);return x.css(u).show()},removeWrapper:function(i){var o=document.activeElement;if(i.parent().is(".ui-effects-wrapper")){i.parent().replaceWith(i);if(i[0]===o||a.contains(i[0],o)){a(o).focus()}}return i}};var q=["position","top","bottom","left","right","width","height"],l=e.mode,t=l==="show",r=e.direction||"left",g=(r==="up"||r==="down")?"top":"left",c=(r==="up"||r==="left"),b,j={};d.save(f,q);f.show();b=e.distance||f[g==="top"?"outerHeight":"outerWidth"](true);d.createWrapper(f).css({overflow:"hidden"});if(t){f.css(g,c?(isNaN(b)?"-"+b:-b):b)}j[g]=(t?(c?"+=":"-="):(c?"-=":"+="))+b;var p=function(){f.clearQueue();f.stop(true,true)};m.activeAnimations.push(f);f.animate(j,{duration:e.duration,easing:e.easing,complete:function(){m.activeAnimations.pop(f);if(l==="show"){m._animationComplete(n,s)}else{if(l==="hide"){f.hide();m._clearSelectionComplete(n)}}d.restore(f,q);d.removeWrapper(f)}});return p},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_width:function(e){var b=a(e),g=b.css("border-left-width"),c=b.css("border-right-width"),d=parseInt(b.css("padding-left"),10),i=parseInt(b.css("padding-right"),10),h=b.css("display")==="none"?true:false;if(h){e.style.display="block"}if(g.indexOf("px")===-1){g=1}else{g=parseInt(g,10)}if(c.indexOf("px")===-1){c=1}else{c=parseInt(c,10)}var f=e.offsetWidth-(g+c+d+i);if(h){e.style.display="none"}return Math.max(0,f)},_height:function(e){var c=a(e),h=c.css("border-top-width"),d=c.css("border-bottom-width"),f=parseInt(c.css("padding-top"),10),g=parseInt(c.css("padding-bottom"),10);if(h.indexOf("px")===-1){h=1}else{h=parseInt(h,10)}if(d.indexOf("px")===-1){d=1}else{d=parseInt(d,10)}var b=e.offsetHeight-(h+d+f+g);return Math.max(0,b)},_closest:function(d,f,c){if(f){if(d.nodeName.toLowerCase()===f){return d}var b=d.parentNode;while(b!==null&&b.nodeName!=="#document"){if(b.nodeName.toLowerCase()===f){return b}b=b.parentNode}}if(c){if((" "+d.className+" ").replace(/[\n\t]/g," ").indexOf(" "+c+" ")>-1){return d}var e=d.parentNode;while(e!==null&&e.nodeName!=="#document"){if((" "+e.className+" ").replace(/[\n\t]/g," ").indexOf(" "+c+" ")>-1){return e}e=e.parentNode}}},_initAnimate:function(b){if(b.initAnimate){if(b.animate){return}b.initAnimate()}}})})(jqxBaseFramework);
 
-(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.jqxWidget("jqxScheduler","",{});a.extend(a.jqx._jqxScheduler.prototype,{defineInstance:function(){var b={altRows:false,autoShowLoadElement:true,columnsHeight:30,columns:[],columnGroups:null,dataview:null,disabled:false,enableHover:true,appointmentOpacity:0.8,headerZIndex:235,height:600,timeRulerWidth:60,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",localization:null,ready:null,renderToolBar:null,renderAppointment:null,rendered:null,rendering:null,rtl:false,showToolbar:true,showLegend:false,legendPosition:"bottom",legendHeight:34,rowsHeight:27,touchRowsHeight:36,appointmentsMinHeight:18,touchAppointmentsMinHeight:27,appointmentsRenderMode:"default",serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:a.jqx.utilities.scrollBarSize,touchScrollBarSize:a.jqx.utilities.touchScrollBarSize,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,showAllDayRow:true,changedAppointments:new Array(),renderMode:"simple",views:new Array(),view:0,min:new a.jqx.date(0),max:new a.jqx.date(9999,12,31),date:new a.jqx.date("todayDate"),colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF","#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8","#E8601A","#FF9639","#F5BD6A","#599994","#115D6E","#D02841","#FF7C41","#FFC051","#5B5F4D","#364651","#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00","#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B","#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63","#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6","#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F","#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825","#993144","#FFA257","#CCA56A","#ADA072","#949681","#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932","#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54","#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3","#444546","#FFBB6E","#F28D00","#D94F00","#7F203B","#583C39","#674E49","#948658","#F0E99A","#564E49","#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17","#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5","#844341","#D5CC92","#BBA146","#897B26","#55591C","#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472","#96003A","#FF7347","#FFBC7B","#FF4154","#642223","#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E","#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7","#7B1A25","#BF5322","#9DA860","#CEA457","#B67818","#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46","#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800","#FF6800","#A0A700","#FF8D00","#678900","#0069A5"],colorSchemes:[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]}],resources:null,contextMenu:true,contextMenuOpen:null,contextMenuClose:null,contextMenuItemClick:null,contextMenuCreate:null,timeZone:null,statuses:{free:"white",tentative:"tentative",busy:"transparent",outOfOffice:"#800080"},appointmentDataFields:{from:"from",to:"to",id:"id",calendarId:"calendarId",description:"description",location:"location",subject:"subject",background:"background",color:"color",borderColor:"borderColor",style:"style",recurrencePattern:"recurrencePattern",recurrenceException:"recurrenceException",draggable:"draggable",resizable:"resizable",resourceId:"resourceId",status:"status",tooltip:"tooltip",hidden:"hidden",allDay:"allDay",timeZone:"timeZone",ownerId:"ownerId"},appointmentTooltips:true,tableColumns:1,tableRows:1,dayNameFormat:"full",touchDayNameFormat:"abbr",toolBarRangeFormat:"dd MMMM yyyy",toolBarRangeFormatAbbr:"dd MM yyyy",columnRenderer:null,exportSettings:{serverURL:null,characterSet:null,fileName:"jqxScheduler",dateTimeFormatString:"S",resourcesInMultipleICSFiles:false,ICSXWRCALNAME:"jqxScheduler",ICSXWRCALDESC:"jqxScheduler Description"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},editDialogDateTimeFormatString:"dd/MM/yyyy hh:mm tt",editDialogDateFormatString:"dd/MM/yyyy",editDialogOpen:null,editDialogCreate:null,editDialogKeyDown:null,editDialogClose:null,editDialog:true,toolbarHeight:54,tableZIndex:469,_updating:false,touchMode:"auto",width:800,that:this,beginDrag:null,endDrag:null,dragging:null,timeZones:[{id:"Dateline Standard Time",offset:-720,offsetHours:-12,displayName:"(UTC-12:00) International Date Line West",supportsDaylightSavingTime:false},{id:"UTC-11",offset:-660,offsetHours:-11,displayName:"(UTC-11:00) Coordinated Universal Time-11",supportsDaylightSavingTime:false},{id:"Hawaiteratoran Standard Time",offset:-600,offsetHours:-10,displayName:"(UTC-10:00) Hawaiterator",supportsDaylightSavingTime:false},{id:"Alaskan Standard Time",offset:-540,offsetHours:-9,displayName:"(UTC-09:00) Alaska",supportsDaylightSavingTime:true},{id:"Pacific Standard Time (Mexico)",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Baja California",supportsDaylightSavingTime:true},{id:"Pacific Standard Time",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Pacific Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Arizona",supportsDaylightSavingTime:false},{id:"Mountain Standard Time (Mexico)",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",supportsDaylightSavingTime:true},{id:"Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Mountain Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central America Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central America",supportsDaylightSavingTime:false},{id:"Canada Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Saskatchewan",supportsDaylightSavingTime:false},{id:"Central Standard Time (Mexico)",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",supportsDaylightSavingTime:true},{id:"SA Pacific Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Bogota, Lima, Quito, Rio Branco",supportsDaylightSavingTime:false},{id:"Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Eastern Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Indiana (East)",supportsDaylightSavingTime:true},{id:"Venezuela Standard Time",offset:-270,offsetHours:-4.5,displayName:"(UTC-04:30) Caracas",supportsDaylightSavingTime:false},{id:"Atlantic Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Atlantic Time (Canada)",supportsDaylightSavingTime:true},{id:"Paraguay Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Asuncion",supportsDaylightSavingTime:true},{id:"Central Brazilian Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Cuiaba",supportsDaylightSavingTime:true},{id:"Pacific SA Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Santiago",supportsDaylightSavingTime:true},{id:"SA Western Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Georgetown, La Paz, Manaus",supportsDaylightSavingTime:false},{id:"Newfoundland Standard Time",offset:-210,offsetHours:-3.5,displayName:"(UTC-03:30) Newfoundland",supportsDaylightSavingTime:true},{id:"SA Eastern Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Cayenne, Fortaleza",supportsDaylightSavingTime:false},{id:"Argentina Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Buenos Aires",supportsDaylightSavingTime:true},{id:"E. South America Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Brasilia",supportsDaylightSavingTime:true},{id:"Bahia Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Salvador",supportsDaylightSavingTime:true},{id:"Montevideo Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Montevideo",supportsDaylightSavingTime:true},{id:"Greenland Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Greenland",supportsDaylightSavingTime:true},{id:"UTC-02",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Coordinated Universal Time-02",supportsDaylightSavingTime:false},{id:"Mid-Atlantic Standard Time",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Mid-Atlantic - Old",supportsDaylightSavingTime:true},{id:"Azores Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Azores",supportsDaylightSavingTime:true},{id:"Cape Verde Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Cape Verde Is.",supportsDaylightSavingTime:false},{id:"Morocco Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Casablanca",supportsDaylightSavingTime:true},{id:"UTC",offset:0,offsetHours:0,displayName:"(UTC) Coordinated Universal Time",supportsDaylightSavingTime:false},{id:"GMT Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Dublin, Edinburgh, Lisbon, London",supportsDaylightSavingTime:true},{id:"Greenwich Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Monrovia, Reykjavik",supportsDaylightSavingTime:false},{id:"Central European Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",supportsDaylightSavingTime:true},{id:"Namibia Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Windhoek",supportsDaylightSavingTime:true},{id:"W. Central Africa Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) West Central Africa",supportsDaylightSavingTime:false},{id:"W. Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Amsterdam, Berlin, Rome",supportsDaylightSavingTime:true},{id:"Central Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Belgrade, Budapest, Prague",supportsDaylightSavingTime:true},{id:"Romance Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",supportsDaylightSavingTime:true},{id:"FLE Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia",supportsDaylightSavingTime:true},{id:"South Africa Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Harare, Pretoria",supportsDaylightSavingTime:false},{id:"Turkey Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Istanbul",supportsDaylightSavingTime:true},{id:"GTB Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Athens, Bucharest",supportsDaylightSavingTime:true},{id:"Libya Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Tripoli",supportsDaylightSavingTime:true},{id:"E. Europe Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) E. Europe",supportsDaylightSavingTime:true},{id:"Jordan Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Amman",supportsDaylightSavingTime:true},{id:"Middle East Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Beirut",supportsDaylightSavingTime:true},{id:"Egypt Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Cairo",supportsDaylightSavingTime:true},{id:"Syria Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Damascus",supportsDaylightSavingTime:true},{id:"Israel Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Jerusalem",supportsDaylightSavingTime:true},{id:"Arab Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kuwait, Riyadh",supportsDaylightSavingTime:false},{id:"E. Africa Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Nairobi",supportsDaylightSavingTime:false},{id:"Arabic Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Baghdad",supportsDaylightSavingTime:true},{id:"Kaliningrad Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kaliningrad, Minsk",supportsDaylightSavingTime:true},{id:"Iran Standard Time",offset:210,offsetHours:3.5,displayName:"(UTC+03:30) Tehran",supportsDaylightSavingTime:true},{id:"Mauritius Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Port Louis",supportsDaylightSavingTime:true},{id:"Georgian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Tbilisi",supportsDaylightSavingTime:false},{id:"Caucasus Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Yerevan",supportsDaylightSavingTime:true},{id:"Arabian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Abu Dhabi, Muscat",supportsDaylightSavingTime:false},{id:"Azerbaijan Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Baku",supportsDaylightSavingTime:true},{id:"Russian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Moscow, St. Petersburg, Volgograd",supportsDaylightSavingTime:true},{id:"Afghanistan Standard Time",offset:270,offsetHours:4.5,displayName:"(UTC+04:30) Kabul",supportsDaylightSavingTime:false},{id:"Pakistan Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Islamabad, Karachi",supportsDaylightSavingTime:true},{id:"West Asia Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Ashgabat, Tashkent",supportsDaylightSavingTime:false},{id:"India Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",supportsDaylightSavingTime:false},{id:"Sri Lanka Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Sri Jayawardenepura",supportsDaylightSavingTime:false},{id:"Nepal Standard Time",offset:345,offsetHours:5.75,displayName:"(UTC+05:45) Kathmandu",supportsDaylightSavingTime:false},{id:"Central Asia Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Astana",supportsDaylightSavingTime:false},{id:"Bangladesh Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Dhaka",supportsDaylightSavingTime:true},{id:"Ekaterinburg Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Ekaterinburg",supportsDaylightSavingTime:true},{id:"Myanmar Standard Time",offset:390,offsetHours:6.5,displayName:"(UTC+06:30) Yangon (Rangoon)",supportsDaylightSavingTime:false},{id:"SE Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Bangkok, Hanoi, Jakarta",supportsDaylightSavingTime:false},{id:"N. Central Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Novosibirsk",supportsDaylightSavingTime:true},{id:"Ulaanbaatar Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Ulaanbaatar",supportsDaylightSavingTime:false},{id:"China Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong",supportsDaylightSavingTime:false},{id:"Singapore Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Kuala Lumpur, Singapore",supportsDaylightSavingTime:false},{id:"North Asia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Krasnoyarsk",supportsDaylightSavingTime:true},{id:"Taipei Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Taipei",supportsDaylightSavingTime:false},{id:"W. Australia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Perth",supportsDaylightSavingTime:true},{id:"Korea Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Seoul",supportsDaylightSavingTime:false},{id:"North Asia East Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Irkutsk",supportsDaylightSavingTime:true},{id:"Tokyo Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Osaka, Sapporo, Tokyo",supportsDaylightSavingTime:false},{id:"AUS Central Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Darwin",supportsDaylightSavingTime:false},{id:"Cen. Australia Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Adelaide",supportsDaylightSavingTime:true},{id:"West Pacific Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Guam, Port Moresby",supportsDaylightSavingTime:false},{id:"Tasmania Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Hobart",supportsDaylightSavingTime:true},{id:"E. Australia Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Brisbane",supportsDaylightSavingTime:false},{id:"AUS Eastern Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Canberra, Melbourne, Sydney",supportsDaylightSavingTime:true},{id:"Yakutsk Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Yakutsk",supportsDaylightSavingTime:true},{id:"Vladivostok Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Vladivostok",supportsDaylightSavingTime:true},{id:"Central Pacific Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Solomon Is., New Caledonia",supportsDaylightSavingTime:false},{id:"Magadan Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Magadan",supportsDaylightSavingTime:true},{id:"Kamchatka Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Petropavlovsk-Kamchatsky - Old",supportsDaylightSavingTime:true},{id:"Fiji Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Fiji",supportsDaylightSavingTime:true},{id:"New Zealand Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Auckland, Wellington",supportsDaylightSavingTime:true},{id:"UTC+12",offset:720,offsetHours:12,displayName:"(UTC+12:00) Coordinated Universal Time+12",supportsDaylightSavingTime:false},{id:"Tonga Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Nuku'alofa",supportsDaylightSavingTime:false},{id:"Samoa Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Samoa",supportsDaylightSavingTime:true}]};if(this===a.jqx._jqxScheduler.prototype){return b}a.extend(true,this,b);this.that=this;return b},createInstance:function(c){var e=this;e._views=new Array();e._view=e.view;for(var d=0;d<e.views.length;d++){if(a.type(e.views[d])==="string"){e._views.push({type:e.views[d]})}else{e._views.push(e.views[d])}}for(var d=0;d<e._views.length;d++){if(e._views[d].type==e.view){e._view=d;break}}if(a.jqx.utilities.scrollBarSize!=15){e.scrollBarSize=a.jqx.utilities.scrollBarSize}if(e.source&&!e.source.dataBind){e.source=new a.jqx.dataAdapter(e.source)}var b=e.source._source.datafields;if(b&&b.length>0){e._camelCase=e.source._source.dataFields!==undefined;e.selectionMode=e.selectionMode.toLowerCase()}if(e.host.attr("tabindex")==null){e.host.attr("tabindex","0")}e.host.attr("role","grid");e.host.attr("align","left");e.host.addClass(e.toTP("jqx-grid"));e.host.addClass(e.toTP("jqx-scheduler"));e.host.addClass(e.toTP("jqx-reset"));e.host.addClass(e.toTP("jqx-rc-all"));e.host.addClass(e.toTP("jqx-widget"));e.host.addClass(e.toTP("jqx-widget-content jqx-disableselect"));if(e._testmodules()){return}e.overlay=a("<div style='z-index: 999; position:absolute;'></div>");e.overlay.hide();e.overlay.appendTo(e.host);e.render(true);a.jqx.utilities.resize(e.host,function(){var h=a(window).width();var f=a(window).height();e._hostWidth=null;e._hostHeight=null;var g=e.host.width();var i=e.host.height();e._hostWidth=g;e._hostHeight=i;if(e._lastHostWidth!=g||e._lastHostHeight!=i){e._updatesize(e._lastHostWidth!=g,e._lastHostHeight!=i)}e._lastWidth=h;e._lastHeight=f;e._lastHostWidth=g;e._lastHostHeight=i});e.createEditRecurrenceDialog()},createEditRecurrenceDialog:function(){var d=this;d.editRecurrenceDialog=null;var b=a("<div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogTitleString+"</div><div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogContentString+"</div><div style='position: absolute; white-space:nowrap; text-overflow: ellipsis; left:0px; width:100%; bottom: 0px;'><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"' id='editRecurringAppointmentOccurrence."+d.element.id+"' style='white-space:nowrap; text-overflow: ellipsis; border-left-width: 0px;  border-bottom-width: 0px; border-radius:0px; width:50%;'>"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"</button><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"' id='editRecurringAppointmentSeries."+d.element.id+"' style=' white-space:nowrap; text-overflow: ellipsis; border-bottom-width: 0px;  border-left-width: 0px; border-right-width:0px; width:50%; border-radius:0px;'>"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"</button></div></div></div>");d.editRecurrenceDialog=b;a(b).jqxWindow({rtl:d.rtl,autoFocus:false,animationType:"none",autoOpen:false,theme:d.theme,minWidth:300,minHeight:110,resizable:false});var c=b.find("button");c.jqxButton({theme:d.theme,width:"50%"});var e=false;c.mousedown(function(){e=true;var f=this.id;if(f.indexOf("editRecurringAppointmentOccurrence")>=0){d.editSeries(false)}else{d.editSeries(true)}a(b).jqxWindow("close")});this.addHandler(a(b),"open",function(f){d._raiseEvent("editRecurrenceDialogOpen",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.addHandler(a(b),"keydown",function(f){if(f.keyCode==13){if(a(document.activeElement).ischildof(a(b))){if(document.activeElement.nodeName.toLowerCase()=="button"){a(document.activeElement).trigger("mousedown");a(document.activeElement).trigger("mouseup");return true}}}});this.addHandler(a(b),"close",function(f){if(!e){d._removeFeedbackAndStopResize();d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null});return false}e=false;d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.editRecurrenceDialog=b},getViewStart:function(){var d=this.getVisibleDate();var b=this._views[this._view].type;var e=this._views[this._view];switch(b){case"dayView":case"timelineDayView":return d}var c=this.getFirstDayOfWeek(d);return c},getViewEnd:function(){var e=this.getViewStart();var d=1;var b=this._views[this._view].type;var c=this._views[this._view];switch(b){case"dayView":d=1;break;case"timelineDayView":d=1;if(c.days){d=c.days}break;case"weekView":case"timelineWeekView":d=7;if(c.days){d=c.days}break;case"monthView":d=41;break;case"timelineMonthView":d=41;if(c.days){d=c.days}break;case"agendaView":d=7;if(c.days){d=c.days}break}return e.addDays(d)},getFirstDayOfWeek:function(d){var c=d;var b=this.schedulerLocalization.firstDay;if(b<0||b>6){b=6}while(c.dayOfWeek()!=b){c.addDays(-1,false)}return c},getVisibleDate:function(){var d=this.date;if(d<this.min){d=this.min}if(d>this.max){d=this.max}var b=this._views[this._view].type;var f=this._views[this._view];d=d.clearTime();switch(b){case"dayView":case"weekView":case"timelineDayView":case"timelineWeekView":case"agendaView":return d}var e=d.day();var c=d.addDays(-e+1);d=c;return d},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=a('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var c=a('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.schedulerLocalization.loadString+"</span></div></div>");c.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));c.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(c);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var b=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){b=true}}if(b){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var d=false;if(this.width==="auto"||this.width===null||this.autoWidth){d=true}if(d){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(c){var b=a("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");b.addClass(this.toTP("jqx-widget"));a(document.body).append(b);if(c=="cell"){this._cellheight=b.height()}else{this._columnheight=b.height()}b.remove()},_testmodules:function(){var e="";var c=this;var b=function(){if(e.length!=""){e+=","}};if(!this.host.jqxScrollBar){b();e+=" jqxscrollbar.js"}if(!this.host.jqxButton){b();e+=" jqxbuttons.js"}if(!a.jqx.dataAdapter){b();e+=" jqxdata.js"}if(!this.host.jqxDateTimeInput){b();e+=" jqxdatetimeinput.js"}if(!this.host.jqxCalendar){b();e+=" jqxcalendar.js"}try{if(!Globalize){b();e+=" globalize.js"}}catch(d){}if(e!=""){throw new Error("jqxScheduler: Missing references to the following module(s): "+e);this.host.remove();return true}return false},focus:function(){try{if(this.isTouchDevice()){return}if(this._editDialog&&this._editDialog.jqxWindow("isOpen")){var c=this;setTimeout(function(){c.editDialogFields.subject.focus();c.editDialogFields.subject.select()},1);this.focused=true;return}if(document.activeElement==this.element){return}this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25);this.focused=true}catch(b){}},hiddenParent:function(){return a.jqx.isHidden(this.host)},_updatesize:function(h,g){if(this._loading){return}var e=this;var f=e.host.width();var d=e.host.height();if(!e._oldWidth){e._oldWidth=f}if(!e._oldHeight){e._oldHeight=d}if(e._resizeTimer!=undefined){clearTimeout(e._resizeTimer);e._resizeTimer=null}var c=300;var b=function(){if(e._resizeTimer){clearTimeout(e._resizeTimer)}e.resizingGrid=true;if(a.jqx.isHidden(e.host)){return}e._updatecolumnwidths();e.refresh();e._oldWidth=f;e._oldHeight=d;e.resizingGrid=false};b();e._resizeTimer=setTimeout(function(){var j=e.host.width();var i=e.host.height();if(e._oldWidth!=j||e._oldHeight!=i){b()}},c)},resize:function(c,b){if(c!=undefined){this.width=c}if(b!=undefined){this.height=b}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchMode==true){b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchMode==false){b=false}}if(b){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return b},toTP:function(b){return this.toThemeProperty(b)},localizestrings:function(b,c){this._cellscache=new Array();if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxScheduler: "+this.loadingErrorMessage);return false}if(b!=null){for(var d in this.schedulerLocalization){if(b[d]){this.schedulerLocalization[d]=b[d]}}if(b.loadingErrorMessage){this.loadingErrorMessage=b.loadingErrorMessage}if(c!==false){this._builddataloadelement();a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}else{this.schedulerLocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},agendaDateColumn:"Date",agendaTimeColumn:"Time",agendaAppointmentColumn:"Appointment",backString:"Back",forwardString:"Forward",toolBarPreviousButtonString:"previous",toolBarNextButtonString:"next",emptyDataString:"No data to display",loadString:"Loading...",clearString:"Clear",todayString:"Today",dayViewString:"Day",weekViewString:"Week",monthViewString:"Month",agendaViewString:"Agenda",timelineDayViewString:"Timeline Day",timelineWeekViewString:"Timeline Week",timelineMonthViewString:"Timeline Month",agendaAllDayString:"all day",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",editRecurringAppointmentDialogTitleString:"Edit Recurring Appointment",editRecurringAppointmentDialogContentString:"Do you want to edit only this occurrence or the series?",editRecurringAppointmentDialogOccurrenceString:"Edit Occurrence",editRecurringAppointmentDialogSeriesString:"Edit The Series",editDialogTitleString:"Edit Appointment",editDialogCreateTitleString:"Create New Appointment",contextMenuEditAppointmentString:"Edit Appointment",contextMenuCreateAppointmentString:"Create New Appointment",editDialogSubjectString:"Subject",editDialogLocationString:"Location",editDialogFromString:"From",editDialogToString:"To",editDialogAllDayString:"All day",editDialogExceptionsString:"Exceptions",editDialogResetExceptionsString:"Reset on Save",editDialogDescriptionString:"Description",editDialogResourceIdString:"Owner",editDialogStatusString:"Status",editDialogColorString:"Color",editDialogColorPlaceHolderString:"Select Color",editDialogTimeZoneString:"Time Zone",editDialogSelectTimeZoneString:"Select Time Zone",editDialogSaveString:"Save",editDialogDeleteString:"Delete",editDialogCancelString:"Cancel",editDialogRepeatString:"Repeat",editDialogRepeatEveryString:"Repeat every",editDialogRepeatEveryWeekString:"week(s)",editDialogRepeatEveryYearString:"year(s)",editDialogRepeatEveryDayString:"day(s)",editDialogRepeatNeverString:"Never",editDialogRepeatDailyString:"Daily",editDialogRepeatWeeklyString:"Weekly",editDialogRepeatMonthlyString:"Monthly",editDialogRepeatYearlyString:"Yearly",editDialogRepeatEveryMonthString:"month(s)",editDialogRepeatEveryMonthDayString:"Day",editDialogRepeatFirstString:"first",editDialogRepeatSecondString:"second",editDialogRepeatThirdString:"third",editDialogRepeatFourthString:"fourth",editDialogRepeatLastString:"last",editDialogRepeatEndString:"End",editDialogRepeatAfterString:"After",editDialogRepeatOnString:"On",editDialogRepeatOfString:"of",editDialogRepeatOccurrencesString:"occurrence(s)",editDialogRepeatSaveString:"Save Occurrence",editDialogRepeatSaveSeriesString:"Save Series",editDialogRepeatDeleteString:"Delete Occurrence",editDialogRepeatDeleteSeriesString:"Delete Series",editDialogStatuses:{free:"Free",tentative:"Tentative",busy:"Busy",outOfOffice:"Out of Office"}}}},_updateScrollbars:function(r){var j=false;var d=this;if(d.width==="auto"||d.width===null||d.autowidth){if(d.maxWidth==999999){j=true}}var h=d._views[d._view].type;var g=d._views[d._view];if(h=="monthView"&&d.resources&&d.resources.orientation=="none"&&!g.monthRowAutoHeight){var k=d.vScrollBar[0].style.visibility;d.hScrollBar[0].style.visibility="hidden";d.vScrollBar[0].style.visibility="hidden";if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}return}var b=parseInt(d.scrollBarSize);var s=d.table?d.table.height():0;var i=0;var n="inherit";var k=d.vScrollBar[0].style.visibility;var o=d.hScrollBar[0].style.visibility;if(!r){var f=d.host.height()}else{var f=r}if(!d.columnGroups){f-=d.showHeader?d.columnsHeight:0}else{f-=d.showHeader?d.columnsheader.height():0}if(d.filterable){f-=d.filter.height()}if(d.pageable){f-=d.pagerHeight;if(d.pagerPosition==="both"){f-=d.pagerHeight}}if(d.showToolbar){f-=d.toolbarHeight}if(d.showLegend&&d._resources.length>0){f-=d.legendHeight}var m=false;if(d.height==="auto"||d.height===null||d.autoheight){if(d.maxHeight==999999){m=true}}if(!m&&s>f&&(d.getRows().length>0)){d.vScrollBar[0].style.visibility=n;i=4+parseInt(b);d.vScrollBar.jqxScrollBar({max:s-f})}else{d.vScrollBar[0].style.visibility="hidden"}if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}var p=d.table?d.table.width():0;if(p>4){p-=4}var q=parseInt(d.host.css("border-left-width"))+parseInt(d.host.css("border-right-width"));var l=q+d.host.width()-i;if(p>l&&!j){d.hScrollBar[0].style.visibility=n;d.hScrollBar.jqxScrollBar({max:2+q+p-l});i=4+parseInt(b);if(b==0){i=0}if(!m&&s!=f){if(s>f-i+4&&(d.getRows().length>0)){d.hScrollBar.jqxScrollBar({max:q+p-l});var c=d.vScrollBar[0].style.visibility==="hidden";d.vScrollBar[0].style.visibility=n;d._updatecolumnwidths();if(c){d.hScrollBar.jqxScrollBar({max:p-l+q})}var e=d.table?d.table.width():0;if(e>3){e-=3}if(e!=p){if(e<l){d.hScrollBar.jqxScrollBar({max:q+e-l});d.hScrollBar[0].style.visibility="hidden";i=0}else{if(!c){d.hScrollBar.jqxScrollBar({max:p-l+q-b})}else{if(e>l){d.hScrollBar.jqxScrollBar({max:q+e-l})}}}}}if(s-f>0){d.vScrollBar.jqxScrollBar({max:s-f+i})}else{d.vScrollBar[0].style.visibility="hidden"}}}else{d.hScrollBar[0].style.visibility="hidden"}if(d.getRows().length===0){d.vScrollBar[0].style.visibility="hidden";d.bottomRight[0].style.visibility="hidden"}if(d.vScrollBar[0].style.visibility=="hidden"){if(d.vScrollInstance.value!=0){d.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(d){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+d+"</span>");c.addClass(this.toTP("jqx-widget"));c.addClass(this.toTP("jqx-grid"));c.addClass(this.toTP("jqx-grid-column-header"));c.addClass(this.toTP("jqx-widget-header"));a(document.body).append(c);var b=c.outerWidth()+20;c.remove();return b},_arrangeAutoHeight:function(d){if(!d){d=0}if(this.height==="auto"||this.height===null||this.autoheight){var g=this.table.height();var f=0;this._hostHeight=null;if(!this.columnGroups){f+=this.showHeader?this.columnsHeight:-1}else{f+=this.showHeader?this.columnsheader.height():-1}f+=this.showLegend&&this._resources.length>0?this.legendHeight:0;f+=this.showToolbar?this.toolbarHeight:0;f+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){f+=this.pageable?this.pagerHeight:0}f+=g;if(this.filterable){var e=this.filter.find(".filterrow");var b=this.filter.find(".filterrow-hidden");var c=1;if(b.length>0){c=0}f+=this.filterHeight-1+this.filterHeight*e.length*c}if(f+d>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(f+d)}return true}return false},_arrangeAutoWidth:function(d){if(!d){d=0}if(this.width==="auto"||this.width===null||this.autowidth){this._hostWidth=null;var c=0;for(var e=0;e<this.columns.records.length;e++){var b=this.columns.records[e].width;if(this.columns.records[e].hidden){continue}if(b=="auto"){b=this._measureElementWidth(this.columns.records[e].text);c+=b}else{c+=b}}var f=c;if(f+d>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(f+d)}return true}return false},_measureTopAndHeight:function(){var b=this.host.height();var c=0;if(this.showToolbar){c+=this.toolbarHeight;b-=parseInt(this.toolbarHeight)}if(this.showLegend&&this.legendPosition!="bottom"&&this._resources.length>0){c+=parseInt(this.legendHeight)+1}return{top:c,height:b}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var d=this.legendHeight;if(this._resources.length==0){d=0}var t=this._hostWidth?this._hostWidth:this.host.width();var q=this._hostHeight?this._hostHeight:this.host.height();var j=q;var i=this;if(this.showLegend&&this.legendPosition=="top"){this.legendbartop[0].style.visibility="inherit"}else{this.legendbartop[0].style.visibility="hidden"}var p=0;if(this.showToolbar){this.toolbar.width(t);this.toolbar[0].style.height=this.toolbarHeight-1+"px";this.toolbar[0].style.top="0px";p+=this.toolbarHeight;q-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom[0].style.width=t+"px";this.legendbarbottom[0].style.height=d+"px"}else{this.legendbarbottom[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="top"){if(this.legendbartop[0].style.width!=t+"px"){this.legendbartop[0].style.width=parseInt(t)+"px"}if(this.legendbartop[0].style.height!=d+"px"){this.legendbartop[0].style.height=parseInt(d-1)+"px"}if(this.legendbartop[0].style.top!=p+"px"){this.legendbartop[0].style.top=p+"px"}var e=p+d+"px";p=p+d;if(this.content[0].style.top!=e){this.content[0].style.top=p+"px"}}if(!this.showLegend){this.legendbartop[0].style.display="none";this.legendbarbottom[0].style.display="none"}this._updateScrollbars(j);var b=parseInt(this.scrollBarSize);var m=4;var f=2;var g=0;if(this.vScrollBar[0].style.visibility!="hidden"){g=b+m}if(this.hScrollBar[0].style.visibility!="hidden"){f=b+m+2}if(b==0){f=0;g=0}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var u=this._arrangeAutoHeight(f-2);var r=this._arrangeAutoWidth(g+1);if(u||r){this.legendbartop[0].style.width=parseInt(t)+"px";this.toolbar[0].style.width=parseInt(t)+"px";this.legendbarbottom[0].style.width=parseInt(t)+"px";this.filter[0].style.width=parseInt(t)+"px"}if(u){var w=this._measureTopAndHeight();p=w.top;q=w.height}}var n=0;if(this.showLegend&&this.legendPosition=="bottom"){f+=d;n+=d}else{if(this.showLegend){f+=d}}if(this.hScrollBar[0].style.height!=b+"px"){this.hScrollBar[0].style.height=parseInt(b)+"px"}if(this.hScrollBar[0].style.top!=p+q-m-b-n+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=p+q-m-b-n-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var h=false;var v=false;if(g==0){if(l!=(t-2)+"px"){this.hScrollBar[0].style.width=(t-2)+"px";h=true}}else{if(l!=(t-b-m)+"px"){this.hScrollBar[0].style.width=(t-b-m+"px");h=true}}if(this.vScrollBar[0].style.width!=b+"px"){this.vScrollBar[0].style.width=b+"px";v=true}if(this.vScrollBar[0].style.height!=parseInt(q)-f+"px"){this.vScrollBar[0].style.height=(parseInt(q)-f+"px");v=true}if(this.vScrollBar[0].style.left!=parseInt(t)-parseInt(b)-m+"px"||this.vScrollBar[0].style.top!=p+"px"){this.vScrollBar[0].style.top=p+"px";this.vScrollBar[0].style.left=parseInt(t)-parseInt(b)-m+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:p});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:b+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var s=this.hScrollInstance;s.disabled=this.disabled;if(h){s.refresh()}if(v){k.refresh()}var o=function(x){if((x.vScrollBar[0].style.visibility!="hidden")&&(x.hScrollBar[0].style.visibility!="hidden")){x.bottomRight[0].style.visibility="inherit";x.bottomRight[0].style.left=1+parseInt(x.vScrollBar.css("left"))+"px";x.bottomRight[0].style.top=parseInt(x.hScrollBar.css("top"))+"px";if(x.rtl){x.bottomRight.css("left","0px")}x.bottomRight[0].style.width=parseInt(b)+3+"px";x.bottomRight[0].style.height=parseInt(b)+4+"px"}else{x.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=t-g+"px"){this.content[0].style.width=t-g+"px"}if(this.content[0].style.height!=q-f+3+"px"){this.content[0].style.height=q-f+3+"px"}if(this.content[0].style.top!=p+"px"){this.content[0].style.top=parseInt(p)+"px"}if(this.rtl){this.content.css("left",g)}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom.css("top",p-1+q-d-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.legendbarbottom.css("left",this.content.css("left"))}else{this.legendbarbottom.css("left","0px")}}}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(t!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(q!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostWidth=t;this._hostHeight=j;var c=this.schedulercontent.coord();this._tableOffset=c},scrollOffset:function(d,c){if(arguments.length==0||(d!=null&&typeof(d)=="object"&&!d.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(d!=null&&typeof(d)=="object"){var c=d.left;var b=d.top;var d=b}if(d==null||c==null||d==undefined||c==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",d);this.hScrollBar.jqxScrollBar("setPosition",c)},scrollleft:function(b){if(b==null||b==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",b)}},scrolltop:function(b){if(b==null||b==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",b)}},beginAppointmentsUpdate:function(){this._appupdating=true},endAppointmentsUpdate:function(){this._appupdating=false;this._renderrows()},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(b){this._updating=false;if(b===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(b,g,f){if(this.loadingstate===true){return}var j=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){a(this.dataloadelement).css("visibility","visible");a(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}var h=this;if(b==null){b={}}if(b.sortcomparer==undefined||b.sortcomparer==null){b.sortcomparer=null}if(b.filter==undefined||b.filter==null){b.filter=null}if(b.sort==undefined||b.sort==null){b.sort=null}if(b.data==undefined||b.data==null){b.data=null}var d=null;if(b!=null){d=b._source!=undefined?b._source.url:b.url}this.dataview=this.dataview||new a.jqx.scheduler.dataView("dataView");this.resourcesDataView=this.resourcesDataView||new a.jqx.scheduler.dataView("resourcesDataView");this.dataview.pageable=this.pageable;this.dataview.scheduler=this;this.resourcesDataView.scheduler=this;this._loading=true;this.appointments=new Array();this.uiappointments=new Array();var e=1;if(this.resources&&this.resources.source){e=2}var c=0;var i=function(){if(c==e){h._resourcesBinding=false;var m=h._resources.length>1?h._resources.length:1;if(h.resources&&h.resources.orientation==="horizontal"){h.tableColumns=m;h.tableRows=1}else{if(h.resources&&h.resources.orientation==="vertical"){h.tableRows=m;h.tableColumns=1}else{h.tableColumns=1;h.tableRows=1}}h._render();if(h.autoShowLoadElement&&!h._loading){a(h.dataloadelement).css("visibility","hidden");a(h.dataloadelement).css("display","none")}h._updateTouchScrolling();h._raiseEvent("bindingComplete");if(f){f()}if(!h.initializedcall){h.initializedcall=true;h.isInitialized=true;if((h.width!=null&&h.width.toString().indexOf("%")!=-1)||(h.height!=null&&h.height.toString().indexOf("%")!=-1)){h._updatesize(true)}if(h.ready){h.ready()}if(h._rendercelltexts){h._rendercelltexts()}if(h._gridRenderElement){a(h._gridRenderElement).show("slow");var l=6000+Math.floor((Math.random()*4000)+1);var n=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();j[a.camelCase(n)](function(){a(h._gridRenderElement).hide("slow",function(){a(h._gridRenderElement).remove()})},l)}if(h.host.css("visibility")=="hidden"){var k=a.jqx.browser.msie&&a.jqx.browser.version<8;if(h.vScrollBar.css("visibility")=="visible"){h.vScrollBar.css("visibility","inherit")}if(h.hScrollBar.css("visibility")=="visible"){h.hScrollBar.css("visibility","inherit")}h._intervalTimer=setInterval(function(){if(h.host.css("visibility")=="visible"){h._updatesize(true);clearInterval(h._intervalTimer)}},100)}}}};this._resourcesBinding=false;this.dataview.update=function(y){h._loading=false;h.appointmentsByKey=new Array();h.appointments=new Array();h.uiappointments=new Array();var D=h.source._source.datafields;var o=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];var m=new Array();for(var z=0;z<h.source.records.length;z++){var p=h.source.records[z];var n={};for(var G in h.appointmentDataFields){var l=h.appointmentDataFields[G];var x=p[l];if(G=="from"||G=="to"){x=new a.jqx.date(x)}if(G=="style"){if(x){var s=h.getAppointmentColors(x);n.color=s.color;n.background=s.background;n.borderColor=s.border}}if(G=="recurrencePattern"){if(x){x=new a.jqx.scheduler.recurrencePattern(x);x.timeZone=p.timeZone||h.timeZone}}if(G=="recurrenceException"){var B=new Array();if(x){if(x.indexOf("EXDATE:")>=0){x=x.substring(x.indexOf("EXDATE:")+7)}var t=new Array();if(x.indexOf(",")>=0){t=x.split(",")}else{t.push(x)}for(var A=0;A<t.length;A++){var w=t[A];if(w.indexOf(";")>=0){var q=w.split(";")[1];w=w.split(";")[0];if(q.toLowerCase().indexOf("display")>=0&&q.toLowerCase().indexOf("none")){n.hidden=true}}try{var E=a.jqx.scheduler.utilities.untilStringToDate(w);if(E!="Invalid Date"){if(n.timeZone){E=new a.jqx.date(E,n.timeZone)}else{if(h.timeZone){E=E.toTimeZone(h.timeZone)}else{E=new a.jqx.date(E)}}}}catch(F){var E=new a.jqx.date(w,h.timeZone)}B.push(E)}}x=B}n[G]=x}for(var u in o){var G=o[u];if(n[G]==undefined){var x="";if(G=="originalData"){continue}if(G=="ownerId"){x=null}if(G=="timeZone"){x=null}if(G=="recurrencePattern"){x=null}if(G=="recurrenceException"){x=[]}if(G=="allDay"){x=false}if(G=="draggable"){x=true}if(G=="resizable"){x=true}if(G=="hidden"){x=false}if(G=="resourceId"){x=null}if(G=="from"){x=new a.jqx.date()}if(G=="to"){x=new a.jqx.date().addHours(1)}n[G]=x}}n.originalData=p;if(h.resources&&!h.resources.source){if(!h._resourcesBinding){if(m.indexOf(n.resourceId)==-1){m.push(n.resourceId)}}}h.appointmentsByKey[p.uid]=n;h.appointments.push(n);var v=new a.jqx.scheduler.appointment(n);if(n.timeZone){v.from=v.from.toTimeZone(n.timeZone);v.to=v.to.toTimeZone(n.timeZone)}if(h.timeZone){if(!n.timeZone){v.timeZone=h.timeZone}v.from=v.from.toTimeZone(h.timeZone);v.to=v.to.toTimeZone(h.timeZone)}else{v.from=v.from.toTimeZone(null);v.to=v.to.toTimeZone(null)}n.jqxAppointment=v;if(n.recurrenceException){for(var C=0;C<n.recurrenceException.length;C++){var E=v.recurrenceException[C];var r=v.clone();r.occurrenceFrom=E;var k=v.duration();if(h.allDay){k=new a.jqx.timeSpan(10000*(h.to-h.from))}r.from=E;r.to=E.add(k);r.rootAppointment=v;r.hidden=true;v.exceptions.push(r)}}v.boundAppointment=n;v.scheduler=h;h.uiappointments.push(v)}if(!h._resourcesBinding){h._resources=m}c++;i()};this.resourcesDataView.update=function(k){if(h.resources.dataField){h._resources=new Array();for(var l=0;l<k.length;l++){if(h._resources.indexOf(k[l][h.resources.dataField])>=0){continue}if(k[l][h.resources.dataField]){h._resources.push(k[l][h.resources.dataField])}}}else{h._resources=k}if(h.resources.orientation==undefined){h.resources.orientation="none"}c++;i()};this.dataview.databind(b);if(this.resources&&this.resources.source){this._resourcesBinding=true;this.resourcesDataView.databind(this.resources.source)}},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=g;var e=c;e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);c=f.args;return b},ensureAppointmentVisible:function(b){if(this.appointmentsByKey[b]){return this._ensureAppointmentVisible(this.appointmentsByKey[b].jqxAppointment)}return false},_ensureAppointmentVisible:function(h){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}if(!h){return false}var k=this.getViewStart();var i=this.getViewEnd();var p=a.jqx.scheduler.utilities.rangeIntersection(h.from,h.to,k,i);if(!p){this.navigateTo(h.from);return this._ensureAppointmentVisible(h)}var G=h.id;var t=a('[data-key="'+G+'"]');if(t.length>0){var c=t[0]}else{if(h.elements&&h.elements.length>0){var f=h.elements[0];var c=f.element}else{return false}}var z=this.vScrollInstance.value;var y=this.hScrollInstance.value;if(this.rtl){var y=this.hScrollInstance.max-y}var s=this.element.clientHeight;var v=this.element.clientWidth;var B=0;if(!this.columnGroups){B+=this.showHeader?this.columnsHeight:0}else{B+=this.showHeader?this.columnsheader.height():0}var r=this._views[this._view].type;var n=this._views[this._view];var D=0;if(r=="dayView"||r=="weekView"){var x=this.showAllDayRow;if(n.timeRuler&&(r==="dayView"||r==="weekView")){if(n.timeRuler.showAllDayRow!=undefined){x=n.timeRuler.showAllDayRow}}if(x){if(this.tableRows==1){D=this.table[0].rows[0].clientHeight}else{D=this.table[0].rows[1].clientHeight}}var q=h.duration().days()>=1||h.allDay;if(q&&this.tableRows==1&&this.tableColumns==1){return false}}if(this.showToolbar){B+=this.toolbarHeight}s-=B;if(this.showLegend&&this._resources.length>0){s-=this.legendHeight}var e=0;var l=0;var d=z-e;var C=s+d-D;var w=y-l;var F=v+w;var E=c;E=a(E);var g=E[0].clientHeight;var j=E.position().top-D;var m=j+g;if(j<=d){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A)}}else{if(j>=C){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A-2)}}}var u=E.position().left;u=Math.round(u);var b=u+E.outerWidth();if(Math.round(E.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(u<=w){var o=u-E.outerWidth()+l;if(o<0){o=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}if(u>F){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}},ensureVisible:function(d,l){var g=this;var m=a.type(d)=="date"?d:d.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var c=b(h);if(c.valueOf()==m.valueOf()){return g._ensureVisible(k)}}}},_ensureVisible:function(b){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}var t=this.vScrollBar.jqxScrollBar("value");var s=this.hScrollBar.jqxScrollBar("value");if(this.rtl){s=this.hScrollBar.jqxScrollBar("max")-s}var m=this._hostHeight;var p=this._hostWidth;var w=0;if(!this.columnGroups){w+=this.showHeader?this.columnsHeight:0}else{w+=this.showHeader?this.columnsheader.height():0}if(this.showToolbar){w+=this.toolbarHeight}m-=w;if(this.showLegend&&this._resources.length>0){m-=this.legendHeight}if(this.hScrollBar.css("visibility")!="hidden"){m-=20}var e=0;var h=0;var l=this._views[this._view].type;var j=this._views[this._view];var y=0;if(l=="dayView"||l=="weekView"){var r=this.showAllDayRow;if(j.timeRuler&&(l==="dayView"||l==="weekView")){if(j.timeRuler.showAllDayRow!=undefined){r=j.timeRuler.showAllDayRow}}if(r){if(this.tableRows==1){y=this.table[0].rows[0].clientHeight}else{y=this.table[0].rows[1].clientHeight}}}var d=t-e;var x=m+d-y;var q=s-h;var A=p+q;var z=b;z=a(z);var f=z.position().top-y;var i=f+z.outerHeight();var o=z.position().left;o=Math.round(o);var c=o+z.outerWidth();if(Math.round(z.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(o<=q){var k=o-z.outerWidth()+h;if(k<0){k=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",k)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-k)}}if(c>=A){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",2+h+c-p)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-(2+h+c-p))}}var g=z.parent().index();if(this.tableRows>0){g--}if(Math.round(z.position().top)===0||g===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var n=this.table[0].rows.length-1;var v=this.table[0].rows[n];if(v[0]===z.parent()[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}if(f<=d){var u=f;if(u<0){u=0}return this.vScrollBar.jqxScrollBar("setPosition",u)}if(i>=x){return this.vScrollBar.jqxScrollBar("setPosition",4+i-m+y)}},getColumn:function(b){var c=null;if(this.columns.records){a.each(this.columns.records,function(){if(this.datafield==b||this.displayfield==b){c=this;return false}})}return c},_setcolumnproperty:function(c,e,f){if(c==null||e==null||f==null){return null}e=e.toLowerCase();var d=this.getColumn(c);if(d==null){return}var g=d[e];d[e]=f;var b=this.getColumn(c);if(b!=null){b[e]=f}switch(e){case"text":case"hidden":case"hideable":case"renderer":case"align":case"cellsalign":case"contenttype":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(e=="align"){this._rendercolumnheaders();this.refresh()}else{if(e=="text"||e=="class"||e=="hidden"||e=="pinned"||e=="resizable"||e=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(e=="width"||e=="maxwidth"||e=="minwidth"){d._width=null;d._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(b,d){if(b==null||d==null){return null}d=d.toLowerCase();var c=this.getColumn(b);return c[d]},setColumnProperty:function(b,c,d){this._setcolumnproperty(b,c,d)},hideColumn:function(b){this._setcolumnproperty(b,"hidden",true)},showColumn:function(b){this._setcolumnproperty(b,"hidden",false)},updateBoundData:function(c,b){this.databind(this.source,c,b)},refresh:function(c){if(c!=true){var b=this;if(a.jqx.isHidden(b.host)){return}b.table[0].style.top="0px";b.vScrollInstance.setPosition(0);b._renderrows();b._arrange();b._renderhorizontalscroll();b._updateTouchScrolling();b._refreshToolBar();b._updateFocusedCell()}},_updateFocusedCell:function(){var h=this;if(h.focusedCell){h._updateCellsSelection();return}var d=h._views[h._view].type;var g=h._views[h._view];var c=h.showAllDayRow;if(g.timeRuler&&(d==="dayView"||d==="weekView")){if(g.timeRuler.showAllDayRow!=undefined){c=g.timeRuler.showAllDayRow}}if(!c||(d!="dayView"&&d!="weekView")){h.focusedCell=h.rows[0].cells[0];if(h.rtl){h.focusedCell=h.rows[0].cells[h.rows[0].cells.length-1]}}else{h.focusedCell=h.rows[1].cells[0];if(h.rtl){h.focusedCell=h.rows[1].cells[h.rows[1].cells.length-1]}}if(h.focusedCell.className.indexOf("jqx-scheduler-disabled-cell")>=0){h.focusedCell=null;for(var f=0;f<this.rows.length;f++){for(var e=0;e<this.rows[f].cells.length;e++){var b=this.rows[f].cells[e];if(b.className.indexOf("jqx-scheduler-disabled-cell")==-1){h.focusedCell=b;break}}if(h.focusedCell){break}}}h._lastSelectedCell=h.focusedCell;h._updateCellsSelection()},_updateTouchScrolling:function(){var c=this.that;if(c.isTouchDevice()){var e=a.jqx.mobile.getTouchEventName("touchstart");var d=a.jqx.mobile.getTouchEventName("touchend");var b=a.jqx.mobile.getTouchEventName("touchmove");if(c.schedulercontent){c.removeHandler(c.table,e+".touchScroll");c.removeHandler(c.table,b+".touchScroll");c.removeHandler(c.table,d+".touchScroll");c.removeHandler(c.table,"touchcancel.touchScroll");a.jqx.mobile.touchScroll(c._table[0],Math.max(c.vScrollInstance.max,c.hScrollInstance.max),function(h,g){if(c.dragOrResize){return}if(g!=null&&c.vScrollBar.css("visibility")!="hidden"){var f=c.vScrollInstance.value;c.vScrollInstance.setPosition(g)}if(h!=null&&c.hScrollBar.css("visibility")!="hidden"){var f=c.hScrollInstance.value;c.hScrollInstance.setPosition(h)}c.scrolled=new Date()},this.element.id,this.hScrollBar,this.vScrollBar)}}},scrollWidth:function(){return this.hScrollInstance.max},scrollHeight:function(){return this.vScrollInstance.max},scrollLeft:function(b){if(this.hScrollBar[0].style.visibility!="hidden"){this.hScrollInstance.setPosition(b)}},scrollTop:function(b){if(this.vScrollBar[0].style.visibility!="hidden"){this.vScrollInstance.setPosition(b)}},render:function(i){var e="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbartop' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbarbottom' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerHTML=e;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var g=this.host.find("#verticalScrollBar"+this.element.id);var k=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=g.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=k.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=a.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=a.data(this.hScrollBar[0],"jqxScrollBar").instance;this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-scheduler-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.legendbarbottom=this.host.find("#legendbarbottom");this.legendbarbottom[0].id="legendbarbottom"+this.element.id;this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar-bottom"));this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbarbottom.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.legendbartop=this.host.find("#legendbartop");this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar-top"));this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbartop.addClass(this.toTP("jqx-widget-header"));this.schedulertable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var b=this.source.datafields;if(b==null&&this.source._source){b=this.source._source.datafields}if(b){for(var c=0;c<this.columns.length;c++){var d=this.columns[c];if(d&&d.cellsFormat&&d.cellsFormat.length>2){for(var j=0;j<b.length;j++){if(b[j].name==d.datafield&&!b[j].format){b[j].format=d.cellsFormat;break}}}}}this.databind(this.source);if(this.showToolbar){this.toolbar.css("visibility","inherit")}if(this.showLegend){this.legendbarbottom.css("visibility","inherit")}this.tableheight=null;var f=this;var h=function(){if(f.content){f.content[0].scrollTop=0;f.content[0].scrollLeft=0}if(f.schedulercontent){f.schedulercontent[0].scrollLeft=0;f.schedulercontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(l){h();return false});if(i!==true){this._render()}},_render:function(){var g=this;if(g.dataview==null){return}if(g._loading){return}if(g.columnsHeight!=25||g.columnGroups){g._measureElement("column")}g.rowinfo=new Array();g._removeHandlers();if(g.columns==null){g.columns=new a.jqx.schedulerDataCollection(g.element)}else{g._initializeColumns()}g.host.height(g.height);g.host.width(g.width);a.jqx.utilities.html(g.content,"");g.columnsheader=g.columnsheader||a('<div style="overflow: hidden;"></div>');g.columnsheader.remove();g.columnsheader.addClass(g.toTP("jqx-widget-header"));g.columnsheader.addClass(g.toTP("jqx-grid-header"));if(!g.showHeader){g.columnsheader.css("display","none")}else{if(g.columnsheader){g.columnsheader.css("display","block")}}g.schedulercontent=g.schedulercontent||a('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');g.schedulercontent.remove();var e=g.columnsHeight;e=g._preparecolumnGroups();g.columnsheader.height(e);g.content.append(g.columnsheader);g.content.append(g.schedulercontent);g._rendercolumnheaders();g.tableheight=null;g.schedulercontent.find("#contenttable"+g.element.id).remove();if(g.table!=null){g.table.remove();g.table=null}if(g.pinnedtable!=null){g.pinnedtable.remove();g.pinnedtable=null}g.table=a('<div id="contenttable'+g.element.id+'" style="overflow: hidden; position: relative;"></div>');g.pinnedtable=a('<div id="contenttable2'+g.element.id+'" style="display: none; overflow: hidden; position: relative;"></div>');g.schedulercontent.addClass(g.toTP("jqx-grid-content"));g.schedulercontent.addClass(g.toTP("jqx-widget-content"));g.schedulercontent.append(g.table);if(g.tableRows==1){g.schedulercontent.append(g.pinnedtable)}g._renderrows();g._arrange();g._resourcesElements=new Array();var d=function(h,i){h.children().remove();var h=a("<div style='margin:5px; position: relative;'></div>").appendTo(h);g._resourcesElements[i]=new Array();a.each(g._resources,function(n){var l=g.getColors(n);var m=this.toString();var o=a("<div data-toggle='on' style='border-color: "+l.border+"; background: "+l.background+";' class='"+g.toThemeProperty("jqx-scheduler-legend")+"'></div>");o.appendTo(h);var k=a("<div class='"+g.toThemeProperty("jqx-scheduler-legend-label")+"'>"+m+"</div>");k.appendTo(h);g._resourcesElements[i][m]=o;var j=function(){if(o.attr("data-toggle")=="on"){g.hideAppointmentsByResource(m)}else{g.showAppointmentsByResource(m)}};g.addHandler(o,"mousedown",function(){j();return false});g.addHandler(k,"mousedown",function(){j();return false})})};d(g.legendbarbottom,"bottom");d(g.legendbartop,"top");if(g.legendPosition=="top"){g.legendbarbottom.hide()}else{g.legendbartop.hide()}if(g._resources.length==0){g.legendbarbottom.hide();g.legendbartop.hide()}if(g.renderToolBar){g.renderToolBar(g.toolbar)}else{g._renderToolBar()}if(g.disabled){g.host.addClass(g.toThemeProperty("jqx-fill-state-disabled"))}g._renderhorizontalscroll();g._addHandlers();g.clearSelection();var c=g._views[g._view].type;var f=g._views[g._view];var b=g.showAllDayRow;if(f.timeRuler&&(c==="dayView"||c==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){b=f.timeRuler.showAllDayRow}}if(!b||(c!="dayView"&&c!="weekView")){g.focusedCell=g.rows[0].cells[0]}else{g.focusedCell=g.rows[1].cells[0]}g._lastSelectedCell=g.focusedCell;g._updateCellsSelection()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},getAppointmentElement:function(e){var b=null;if(e.className.indexOf("jqx-scheduler-appointment")>=0&&e.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=e}var d=e;for(var c=0;c<4;c++){if(d.parentNode){if(d.className.indexOf("jqx-scheduler-appointment")>=0&&d.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=d}d=d.parentNode}else{break}}return b},getJQXAppointmentByElement:function(d){var f=this;var e=d.getAttribute?d.getAttribute("data-key"):d.attr("data-key");if(e.indexOf(".")>=0){var c=e.substring(0,e.indexOf("."));var h=e.substring(e.indexOf(".")+1);var g=f.appointmentsByKey[c];var b=g.jqxAppointment.renderedAppointments[e]}else{var g=f.appointmentsByKey[e];var b=g.jqxAppointment}return b},_renderToolBar:function(){var i=this;var b=a('<div style="width: 100%; height: 100%; position: relative;"></div>');var k=(this.toolbarHeight-20)/2;b.css("top",k);i.toolbarLeftButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-left: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarRightButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.attr("title",i.schedulerLocalization.toolBarPreviousButtonString);i.toolbarRightButton.attr("title",i.schedulerLocalization.toolBarNextButtonString);i.toolbarRightButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.toolbarLeftButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.dateTimeInput=a('<div style="outline: none; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.find(".jqx-icon-arrow-left").remove();i.toolbarRightButton.find(".jqx-icon-arrow-right").remove();var e=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(i.toThemeProperty("jqx-icon-arrow-left"));i.toolbarLeftButton.wrapInner(e);var j=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");j.addClass(i.toThemeProperty("jqx-icon-arrow-right"));i.toolbarRightButton.wrapInner(j);if(i.rtl){i.toolbarLeftButton.css("float","right");i.toolbarRightButton.css("float","right");i.dateTimeInput.css("float","right")}i.addHandler(i.toolbarRightButton,"mouseenter",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseenter",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mouseleave",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseleave",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mousedown",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarRightButton,"mouseup",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarLeftButton,"mousedown",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarLeftButton,"mouseup",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(a(document),"mouseup.pagerbuttons"+i.element.id,function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"));e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarRightButton,"click",function(){if(!i.toolbarRightButton.jqxButton("disabled")){if(!i.rtl){i.navigateForward()}else{i.navigateBackward()}i.focus()}});i.addHandler(i.toolbarLeftButton,"click",function(){if(!i.toolbarLeftButton.jqxButton("disabled")){if(!i.rtl){i.navigateBackward()}else{i.navigateForward()}i.focus()}});i.toolbar.children().remove();i.toolbar.append(b);if(!i.rtl){b.append(i.toolbarLeftButton);b.append(i.dateTimeInput);b.append(i.toolbarRightButton)}else{b.append(i.toolbarRightButton);b.append(i.dateTimeInput);b.append(i.toolbarLeftButton)}i.toolbarDetails=a('<div class="'+i.toTP("jqx-scheduler-toolbar-details")+'" style="margin-left: 7px; margin-top:2px; float: left;"></div>');i.toolbarViews=a('<div style="margin-right: 10px; margin-top:0px; float: right;"></div>');if(i.rtl){i.toolbarDetails.css("float","right");i.toolbarDetails.css("margin-left","0px");i.toolbarDetails.css("margin-right","7px");i.toolbarViews.css("margin-left","10px");i.toolbarViews.css("margin-right","0px");i.toolbarViews.css("float","left")}var h=new Array();if(!i.rtl){h.push(i.toolbarLeftButton);h.push(i.dateTimeInput);h.push(i.toolbarRightButton)}else{h.push(i.toolbarRightButton);h.push(i.dateTimeInput);h.push(i.toolbarLeftButton)}var l=i._views.length-1;a.each(i._views,function(p){var q="";var n=p;if(i.rtl){n=l-p}if(i._views[n].text!=undefined){q=i._views[n].text}else{switch(i._views[n].type){case"dayView":q=i.schedulerLocalization.dayViewString;break;case"weekView":q=i.schedulerLocalization.weekViewString;break;case"monthView":q=i.schedulerLocalization.monthViewString;break;case"agendaView":q=i.schedulerLocalization.agendaViewString;break;case"timelineDayView":q=i.schedulerLocalization.timelineDayViewString;break;case"timelineWeekView":q=i.schedulerLocalization.timelineWeekViewString;break;case"timelineMonthView":q=i.schedulerLocalization.timelineMonthViewString;break}}var o='<span data-type="'+i._views[n].type+'" style="cursor: pointer; outline: none; margin-left: -1px; position: relative;">'+q+"</span>";var m=a(o);m.addClass(i.toTP("jqx-group-button-normal jqx-button jqx-fill-state-normal"));h.push(m);if(n==0){if(!i.rtl){m.addClass(i.toTP("jqx-rc-l"))}else{m.addClass(i.toTP("jqx-rc-r"))}}if(n==i._views.length-1){if(!i.rtl){m.addClass(i.toTP("jqx-rc-r"))}else{m.addClass(i.toTP("jqx-rc-l"))}}if(n===i._view){m.addClass(i.toTP("jqx-fill-state-pressed"))}m.mouseenter(function(){m.addClass(i.toTP("jqx-fill-state-hover"))});m.mouseleave(function(){m.removeClass(i.toTP("jqx-fill-state-hover"))});m.mousedown(function(){i._setView(n);i.focus()});a(i.toolbarViews).append(m)});b.append(i.toolbarDetails);b.append(i.toolbarViews);if(i._views.length<2){i.toolbarViews.hide()}i.dateTimeInput.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:i.rtl,localization:i._getDateTimeInputLocalization(),firstDayOfWeek:i.schedulerLocalization.firstDay,todayString:i.schedulerLocalization.todayString,clearString:i.schedulerLocalization.clearString,showFooter:true,height:19,width:18,renderMode:"simple"});i.addHandler(i.dateTimeInput,"change",function(m){if(!i.fromNavigate){i.navigateTo(new a.jqx.date(m.args.date,i.timeZone));i.focus()}});i.tabKeyElements=h;var g=i._views[i._view].type;var d=function(m){var o=a.jqx.formatDate(i.getViewStart().toDate(),m,i.schedulerLocalization);var n=a.jqx.formatDate(i.getViewEnd().toDate(),m,i.schedulerLocalization);if(g==="dayView"||g==="timelineDayView"){i.toolbarDetails.html(o)}else{i.toolbarDetails.html(o+" - "+n)}if(i.rtl){i.toolbarDetails.addClass("jqx-rtl");i.toolbarDetails.html("<span style='direction:rtl;'>"+n+"<span> - <span style='direction:rtl;'>"+o+"</span>")}else{i.toolbarDetails[0].style.direction="ltr"}};d(i.toolBarRangeFormat);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;var f=i.toolBarRangeFormat;if(c>i.host.width()){f=i.toolBarRangeFormatAbbr;d(f);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;if(c>i.host.width()){i.toolbarDetails.hide();var c=i.toolbarViews.width()+120;if(c>i.host.width()){i.toolbarViews.hide()}}}else{i.currentToolbarFormat=i.toolBarRangeFormat}},_setView:function(g){var f=this;f.toolbarViews.find(".jqx-fill-state-pressed").removeClass(f.toTP("jqx-fill-state-pressed"));if(!f.rtl){a(f.toolbarViews.children()[g]).addClass(f.toTP("jqx-fill-state-pressed"))}else{a(f.toolbarViews.children()[f._views.length-1-g]).addClass(f.toTP("jqx-fill-state-pressed"))}if(f._view===g){return}var b=f.vScrollBar[0].style.visibility;if(b){if(!f._scrollPosition){f._scrollPosition=new Array()}f._scrollPosition[f._view]=f.vScrollInstance.value}var c=f.hScrollBar[0].style.visibility;if(c){if(!f._hscrollPosition){f._hscrollPosition=new Array()}f._hscrollPosition[f._view]=f.hScrollInstance.value}var i=f._views[f._view].type;var e=f._views[g].type;f._view=g;f._refreshColumns();f.refresh();var h=f.hScrollBar[0].style.visibility;if(c!==h){f._renderrows();f._updateTouchScrolling()}if(f._scrollPosition[f._view]){f.vScrollInstance.setPosition(f._scrollPosition[f._view])}if(f._hscrollPosition[f._view]){f.hScrollInstance.setPosition(f._hscrollPosition[f._view])}if(f.selectedJQXAppointment){f._ensureAppointmentVisible(f.selectedJQXAppointment)}var d=f.getViewStart();var j=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._raiseEvent("viewChange",{date:f.date,from:d,to:j,oldViewType:i,newViewType:e})},_getDateTimeInputLocalization:function(){var b=this;var c={};c.backString=b.schedulerLocalization.backString;c.forwardString=b.schedulerLocalization.forwardString;c.todayString=b.schedulerLocalization.todayString;c.clearString=b.schedulerLocalization.clearString;c.calendar=b.schedulerLocalization;return c},setView:function(b){switch(b){case"dayView":this._setView(0);break;case"weekView":this._setView(1);break;case"monthView":this._setView(2);break;case"timelineDayView":this._setView(3);break;case"timelineWeekView":this._setView(4);break;case"timelineMonthView":this._setView(5);break}this.view=b},navigateForward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(1);break;case"agendaView":if(i.days){c=c.addDays(i.days)}else{c=c.addDays(7)}break}return this.navigateTo(c)},navigateBackward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(-1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(-1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(-7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(-1);break;case"agendaView":if(i.days){c=c.addDays(-i.days)}else{c=c.addDays(-7)}break}return this.navigateTo(c)},_refreshToolBar:function(d){var f=this;var g=f.getViewStart();var e=f.getViewEnd();var c=function(i){var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization);var h=f._views[f._view].type;var k=f._views[f._view];if(k.showWeekends===false){if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization)}if(h==="dayView"||h==="timelineDayView"){f.toolbarDetails.html(l)}else{f.toolbarDetails.html(l+" - "+j)}if(f.rtl){f.toolbarDetails.addClass("jqx-rtl");f.toolbarDetails.html("<span style='direction:rtl;'>"+j+"<span> - <span style='direction:rtl;'>"+l+"</span>")}else{f.toolbarDetails[0].style.direction="ltr"}};if(d){c(f._lastFormatString||f.toolBarRangeFormat);return}c(f.toolBarRangeFormat);f.toolbarDetails.show();f.toolbarViews.show();var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){c(f.toolBarRangeFormatAbbr);var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){f.toolbarDetails.hide();var b=f.toolbarViews.width()+120;if(b>f.host.width()){f.toolbarViews.hide()}}}},navigateTo:function(b){var d=this;if(a.type(b)=="date"){b=new a.jqx.date(b)}if(b<this.min){return}if(b>this.max){return}b.timeZone=d.timeZone;d.date=b;d._refreshToolBar(true);d.fromNavigate=true;d.dateTimeInput.val(b.toDate());d.fromNavigate=false;d._refreshColumnTitles();d._renderrows();d._updateFocusedCell();if(d.resources){d._renderhorizontalscroll()}var e=d.getViewStart();var c=a.jqx.scheduler.utilities.getEndOfDay(d.getViewEnd());d._raiseEvent("dateChange",{date:b,from:e,to:c})},_preparecolumnGroups:function(){var n=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var l=this;for(var f=0;f<this.columnGroups.length;f++){this.columnGroups[f].parent=null;this.columnGroups[f].groups=null}for(var f=0;f<this.columns.records.length;f++){this.columns.records[f].parent=null;this.columns.records[f].groups=null}var m=function(j){for(var s=0;s<l.columnGroups.length;s++){var t=l.columnGroups[s];if(t.name===j){return t}}return null};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];if(!o.groups){o.groups=null}if(o.parentGroup){o.parentgroup=o.parentGroup}if(o.parentgroup){var q=m(o.parentgroup);if(q){o.parent=q;if(!q.groups){q.groups=new Array()}if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];if(o.columngroup){var q=m(o.columngroup);if(q){if(!q.groups){q.groups=new Array()}o.parent=q;if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}var p=0;for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];var c=o;o.level=0;while(c.parent){c=c.parent;o.level++}var c=o;var b=o.level;p=Math.max(p,o.level);while(c.parent){c=c.parent;if(c){c.level=--b}}}var k=function(w){var v=new Array();if(w.columngroup){v.push(w)}if(!w.groups){return new Array()}for(var u=0;u<w.groups.length;u++){if(w.groups[u].columngroup){v.push(w.groups[u])}else{if(w.groups[u].groups){var t=k(w.groups[u]);for(var s=0;s<t.length;s++){v.push(t[s])}}}}return v};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];var d=k(o);o.columns=d;var g=new Array();var r=0;for(var e=0;e<d.length;e++){g.push(this.columns.records.indexOf(d[e]));if(d[e].pinned){r++}}if(r!=0){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group cannot be pinned.")}g.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var h=1;h<g.length;h++){if(g[h]!=g[h-1]+1){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+p;n=this.columnGroupslevel*this.columnsHeight}return n},wheel:function(d,c){if(c.editRecurrenceDialog&&c.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(c._editDialog&&c._editDialog.jqxWindow("isOpen")){return true}if(c.autoheight&&c.hScrollBar.css("visibility")=="hidden"){d.returnValue=true;return true}var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(b){if(d.preventDefault){d.preventDefault()}if(d.originalEvent!=null){d.originalEvent.mouseHandled=true}if(d.stopPropagation!=undefined){d.stopPropagation()}}if(b){b=false;d.returnValue=b;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(d){if(this.vScrollBar.css("visibility")!="hidden"){var c=this.vScrollInstance.value;if(d<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var b=this.vScrollInstance.value;if(c!=b){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var c=this.hScrollInstance.value;if(d>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var b=this.hScrollInstance.value;if(c!=b){return true}}}return false},_removeHandlers:function(){var e=this;if(e._mousewheelfunc){e.removeHandler(this.host,"mousewheel",e._mousewheelfunc)}e.removeHandler(a(document),"keydown.scheduler"+e.element.id);e.removeHandler(e.host,"focus");e.removeHandler(e.host,"blur");e.removeHandler(e.host,"dragstart."+e.element.id);e.removeHandler(e.host,"selectstart."+e.element.id);e.removeHandler(a(window),"jqxReady."+e.element.id);e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);var d="mousedown";if(e.isTouchDevice()){d=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){d="mousedown"}}if(e.table){e.removeHandler(e.table,"mouseleave")}var c="mousemove.scheduler"+e.element.id;var f="mouseup.scheduler"+e.element.id;if(e.isTouchDevice()&&e.touchMode!==true){c=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+e.element.id;f=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+e.element.id}e.removeHandler(a(document),c);e.removeHandler(a(document),f);if(!e.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var g=null;if(window.parent&&document.referrer){g=document.referrer}if(g&&g.indexOf(document.location.host)!=-1){e.removeHandler(a(window.top.document),"mouseup.jqxscheduler"+e.element.id)}}}}catch(b){}}e.removeHandler(e.host,c);e.removeHandler(a(document),"keydown.jqxscheduler"+e.element.id);e.removeHandler(e.host,"keydown");if(e.table){e.removeHandler(e.table,"dblclick");e.removeHandler(e.pinnedtable,d);e.removeHandler(e.table,d)}},selectAppointment:function(b){if(this.appointmentsByKey[b]){this._selectAppointment(this.appointmentsByKey[b].jqxAppointment)}},_selectAppointment:function(d,i,f){if(!d){return}var h=this;if(h.selectedAppointment){h.clearAppointmentsSelection()}var e=d.id;var c=a('[data-key="'+e+'"]');if(c.length>0){h.selectedJQXAppointment=d;if(!i){h.selectedAppointment=a(c[0])}else{h.selectedAppointment=a(i)}var b=h._views[h._view].type;var g=h._views[h._view];if(b=="agendaView"){h.clearSelection();return}c.addClass(h.toTP("jqx-scheduler-selected-appointment"));if(d.resizable){c.find(".jqx-scheduler-appointment-resize-indicator").show()}switch(b){case"dayView":a(c).find(".jqx-scheduler-appointment-left-resize-indicator").hide();a(c).find(".jqx-scheduler-appointment-right-resize-indicator").hide();break;case"weekView":break;case"monthView":case"timeLineMonthView":case"timeLineDayView":case"timeLineWeekView":if(c.length>1){a.each(c,function(j){if(!h.rtl){if(j>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}}else{if(j>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}}})}break}if(f=="mouse"){h.clearSelection();return}}h.clearSelection()},clearAppointmentsSelection:function(){var d=this;if(d.selectedAppointment){var c=d.selectedAppointment.attr("data-key");var b=a('[data-key="'+c+'"]');b.removeClass(d.toTP("jqx-scheduler-selected-appointment"));b.find(".jqx-scheduler-appointment-resize-indicator").hide();d.selectedAppointment=null;d.selectedJQXAppointment=null}},selectCell:function(c,m,l){var g=this;var n=c.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var d=b(h);if(m&&k.getAttribute("data-end-date")){if(d.valueOf()==c.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}else{if(!m&&k.getAttribute("data-end-date")){continue}}if(d.valueOf()==n.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}}g._updateCellsSelection()},selectRange:function(m,n,q,p){var k=this;if(m<this.min){m=this.min}if(n>this.max){n=this.max}var f=m.toDate();var d=n.toDate();var g=false;for(var h=0;h<k.rows.length;h++){for(var e=0;e<k.rows[h].cells.length;e++){var o=k.rows[h].cells[e];if(p){if(o.getAttribute("data-view")!==p){continue}}var l=o.getAttribute("data-date");var b=k._getDateByString;var c=b(l);if(q&&o.getAttribute("data-end-date")){if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true")}}else{if(!q&&o.getAttribute("data-end-date")){continue}}if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true");if(!g){k._lastSelectedCell=o;k.focusedCell=o;g=true}}}}k._updateCellsSelection()},_selectRange:function(b,r){var h=this;if(h._views[h._view].type=="agendaView"){return}var k=b;var v=r.getAttribute("data-view");if(b.getAttribute("data-view")!==v){return}var q=r.getAttribute("data-date");var m=k.getAttribute("data-date");if(null==q||null==m){return}var C=r.getAttribute("data-end-date");var F=k.getAttribute("data-end-date");var H=C!=null||F!=null;var s=C!=null&&F!=null;var n=h._getDateByString;var u=n(q);var t=n(m);if(u<this.min.toDate()){u=this.min.toDate()}if(t<this.min.toDate()){t=this.min.toDate()}if(u>this.max.toDate()){u=this.max.toDate()}if(t>this.max.toDate()){t=this.max.toDate()}var w=Math.min(u,t);var A=Math.max(u,t);var p=h.rows;var f=0;var e=0;if(f>0&&h.rtl){f=0;e=1}var d=p.length;if(H){d=1;if(b.getAttribute("data-end-date")==null){t.setHours(0,0,0,0);var B=new a.jqx.date(t,h.timeZone).toString();var E=a(k).parent().index();a.each(p[0].cells,function(){var i=this.getAttribute("data-date");if(i===B){b=this;s=r.getAttribute("data-end-date")!=null&&b.getAttribute("data-end-date")!=null;var I=r.getAttribute("data-date");var j=b.getAttribute("data-date");var K=n(I);var J=n(j);w=Math.min(K,J);A=Math.max(K,J);return false}})}}for(var z=0;z<d;z++){var g=p[z];if(H&&this.tableRows>1){var y=parseInt(b.getAttribute("data-view"));var l=p.length/h.tableRows;var o=(-1+y)*l;c=p[o];g=p[o]}var c=g.cells;for(var x=f;x<c.length-e;x++){if(c[x].getAttribute("data-view")!==v){continue}c[x].removeAttribute("data-selected");if(!s&&c[x].getAttribute("data-end-date")){continue}var G=c[x].getAttribute("data-date");var D=n(G).valueOf();if(w<=D&&D<=A){c[x].setAttribute("data-selected","true")}}}h._updateCellsSelection()},findCell:function(s,p){var k=this;var l=null;if(!k._tableOffset){var c=k.schedulercontent.coord();k._tableOffset=c}var g=k._tableOffset;var e=g.top;var n=g.left;if(p<e){return null}if(s<n){return null}if(p>e+k._hostHeight){return null}if(s>n+k._hostWidth){return null}var q=false;var r=k.rows;var o=k._views[k._view];var t=o.type;var D=0;var m=k.vScrollInstance.value;var u=k.hScrollInstance.value;for(var B=0;B<r.length;B++){if(q){break}var h=r[B];var d=h.cells;var z=false;if(B==0&&t=="dayView"||t=="weekView"){z=k.showAllDayRow;if(o.timeRuler&&(t==="dayView"||t==="weekView")){if(o.timeRuler.showAllDayRow!=undefined){z=o.timeRuler.showAllDayRow}}if(z){D=k._allDayRowFullHeight}}for(var C=0;C<d.length;C++){var b=d[C];if(C==0&&b.getAttribute("data-time-slot")){continue}if(!b._left){var f=b.offsetLeft+n;var v=b.offsetTop+e;var A=b.offsetWidth;var w=b.offsetHeight;b._left=f;b._top=v;b._width=A;b._height=w}else{var f=b._left;var v=b._top;var A=b._width;var w=b._height}b._left=f;b._top=v;b._width=A;b._height=w;if(A===0||w===0){continue}if(!k.rtl){f-=u}else{if(k.hScrollInstance.element.style.visibility!="hidden"){f-=(k.hScrollInstance.max-u)}}v-=m;if(B==0&&z){v+=m}if(v<=p&&p<v+w){if(f<=s&&s<f+A){l=b;q=true;break}}else{break}}}return l},_removeFeedbackAndStopResize:function(){var d=this;if(!d.feedback){return}d.feedback.remove();d.feedback=null;d.pinnedfeedback.remove();d.pinnedfeedback=null;if(d.feedbacks){for(var c=0;c<d.feedbacks.length;c++){d.feedbacks[c].remove()}}d._resizeDays=0;d._resizeStep=0;d._lastX=null;d.feedbacks=new Array();d.leftResize=false;d.rightResize=false;d.topResize=false;d.bottomResize=false;d.overlay.hide();d.resizing=false;d.resizeFrom=null;d._dragCell=null;d._dragStartCell=null;d.resizeTo=null;d.dragOrResize=false;d.isMouseDown=false;if(d.selectedJQXAppointment){var b=a('[data-key="'+d.selectedJQXAppointment.id+'"]');b.removeClass(d.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"))}if(d.openedMonthCellPopup){d.openedMonthCellPopup.remove()}},_saveChangesAfterDragOrResize:function(e,b,r,m){var l=this;if(e===false){if(!b.isException()){if(!b.rootAppointment.recurrenceException){b.rootAppointment.recurrenceException=new Array()}if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(b);b.rootAppointment.recurrenceException.push(b.occurrenceFrom)}else{b.exceptions.push(b);b.recurrenceException.push(b.occurrenceFrom)}}else{var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){d[h]=b;break}}}}else{if(e===true){if(b.isException()){var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){for(var g=0;g<b.rootAppointment.recurrenceException.length;g++){if(b.rootAppointment.recurrenceException[g].equals(d[h].occurrenceFrom)){var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());b.rootAppointment.recurrenceException[g]=f;break}}d[h]=b;var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());d[h].occurrenceFrom=f;break}}}if(b.rootAppointment!=null){b.rootAppointment.recurrencePattern=b.rootAppointment.recurrencePattern.createNewPattern();var p=b.rootAppointment.from;var n=b.rootAppointment.duration();var c=b.rootAppointment.recurrencePattern.freq;var f=null;switch(c){case"daily":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"weekly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"monthly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"yearly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break}if(m){b.rootAppointment.from=p;b.rootAppointment.to=p.add(b.duration())}else{b.rootAppointment.from=f;b.rootAppointment.to=f.add(n)}b.rootAppointment.allDay=b.allDay;b.rootAppointment.resourceId=b.resourceId;b.rootAppointment.color=b.color;b.rootAppointment.borderColor=b.borderColor;b.rootAppointment.background=b.background;b.rootAppointment.timezone=b.timezone;b.rootAppointment.subject=b.subject;b.rootAppointment.description=b.description;b.rootAppointment.location=b.location;b.rootAppointment.category=b.category;b.rootAppointment.status=b.status;if(!l.resizing){b.rootAppointment.recurrencePattern.setFrom(f)}else{b.rootAppointment.recurrencePattern.setFrom(p)}}else{b.recurrencePattern=b.recurrencePattern.createNewPattern();b.recurrencePattern.setFrom(b.from)}var o=a(r).attr("data-view");var k=l._resources[parseInt(o)-1];if(k!=null){if(b.rootAppointment!=null){b.rootAppointment.resourceId=k}else{b.resourceId=k}}}}},_handleMouseUp:function(k,i,g){var f=this;clearInterval(f._verticalIntervalDragVelocity);clearInterval(f._horizontalIntervalDragVelocity);clearInterval(f._intervalDrag);clearInterval(f._horizontalIntervalDrag);var b=k;var j=false;if(!g){if(f._dragStartCell==i){j=true}}else{if(f.resizeTo){if(b.to.equals(f.resizeTo)){j=true}}else{if(f.resizeFrom){if(b.from.equals(f.resizeFrom)){j=true}}}}if(j){var h=a('[data-key="'+k.id+'"]');h.removeClass(f.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));f._removeFeedbackAndStopResize();return}var d=b.duration();var c=b.duration().days()>=1||b.allDay;var e=function(t,q){if(q.allDay||c){var w=f.getMaxAllDayAppointments(f.appointmentsToRender)}if(g){if(f.resizeTo){if(f.resizeTo>f.max){f.resizeTo=f.max}if(f.resizeTo<f.min){f.resizeTo=f.min}q.to=f.resizeTo}else{if(f.resizeFrom){if(f.resizeFrom>f.max){f.resizeFrom=f.max}if(f.resizeFrom<f.min){f.resizeFrom=f.min}q.from=f.resizeFrom}}if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{var x=f._views[f._view].type;var u=f._views[f._view];var C=a(i).attr("data-date");var D=a(i).attr("data-end-date")!=null;var o=new a.jqx.date(C,f.timeZone);if(o<f.min){o=f.min}if(o>f.max){o=f.max}if(f.rtl&&c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="monthView"||x=="timelineMonthView")){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="timelineDayView"||x=="timelineWeekView")){var n=f.getMinutesPerScale();q.to=o.addMinutes(n)}else{q.from=o}}}if(x==="dayView"||x==="weekView"){if(!c&&!D){q.to=o.add(d);q.allDay=false}else{if(!c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o);q.allDay=true}else{if(c&&D&&!f.rtl){q.to=o.add(d);if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&D&&f.rtl){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)));if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&!D){var A=30;var E=u.timeRuler&&u.timeRuler.scale;switch(E){case"sixtyMinutes":case"hour":A=60;break;case"fifteenMinutes":case"quarterHour":A=15;break;case"tenMinutes":A=10;break;case"fiveMinutes":A=5;break}q.to=o.addMinutes(A);q.allDay=false}}}}}}else{if(x==="monthView"){if(!f.rtl){q.to=o.add(d)}else{q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}}else{if(x==="timelineDayView"||x==="timelineWeekView"||x==="timelineMonthView"){if(!f.rtl){q.to=o.add(d)}else{if(x=="timelineMonthView"){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}else{var n=f.getMinutesPerScale();q.from=o.addMinutes(n).add(new a.jqx.timeSpan(-d))}}}}}}f._saveChangesAfterDragOrResize(t,q,i,f.resizing);var x=a(i).attr("data-view");var y=f._resources[parseInt(x)-1];if(y!=null){q.resourceId=y}f.resizing=false;f.resizeFrom=null;f._dragCell=null;f.resizeTo=null;var p={};var v={};for(var F in f.appointmentDataFields){var m=f.appointmentDataFields[F];var z=q[F];p[F]=z;if(F=="from"||F=="to"){z=z.toDate()}v[m]=z}p.jqxAppointment=q;p.originalData=v;q.boundAppointment=p;f._raiseEvent("appointmentChange",{appointment:q.boundAppointment});f.changedAppointments[q.id]={type:"Update",appointment:q.boundAppointment};f.table.find(".jqx-icon-arrow-down").hide();if(f._views[f._view].type=="monthView"&&f._views[f._view].monthRowAutoHeight){f._renderrows()}else{if((f._views[f._view].type=="weekView"||f._views[f._view].type=="dayView")&&(q.allDay||c)){if(f.tableRows>1){f._renderrows()}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r);var l=f.getMaxAllDayAppointments(f.appointmentsToRender);if(l!=w){var B=l*(f._defaultRowHeight-2);if(f.isTouchDevice()){B=Math.max(22+f._defaultRowHeight,17+B)}else{B=Math.max(3*f._defaultRowHeight,17+B)}if(f.tableRows==1){a(a(f.table[0].rows[0]).find("td")).css("height",B+"px")}else{a(a(f.table[0].rows[1]).find("td")).css("height",B+"px")}a(f.oldRow).find("td").css("height",B+"px");a(f.pinnedTableRow).find("td").css("height",B+"px");f.pinnedtable.height(B);f._updateScrollbars(f._hostHeight?f._hostHeight:f.host.height())}}}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r)}}f._removeFeedbackAndStopResize()};if(b.isRecurrentAppointment()){e(false,b)}else{e(null,b)}},_handleDayWeekViewResize:function(E,D,h,F,n){var C=this;var f=C._views[C._view].type;var B=C._views[C._view];var r=n.duration().days()>=1||n.allDay;if(!r&&!h.getAttribute("data-end-date")){var e=function(i){if(i<10){return false}return true};var j=C.findCell(C.feedback.coord().left,D);if(C.topResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-a(h).height()-3;if(e(v)){C.feedback.css("top",2+F.top+a(h).height());C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;var M=new a.jqx.date(j.getAttribute("data-date"),C.timeZone);C.resizeFrom=M.addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-3;if(e(v)){C.feedback.css("top",2+F.top);C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;C.resizeFrom=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}else{if(C.bottomResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var G=-5+a(h).height()+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone).addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var G=-5+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}}}else{var p=function(i){if(i<C.cellWidth-10){return false}return true};var A=B.appointmentsRenderMode&&B.appointmentsRenderMode=="exactTime";if(n.allDay||!A){if(C.leftResize){if(!C._lastResizeX){C._lastResizeX=C.mouseDownPosition.left}if(E>C._lastResizeX+a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left-C.cellWidth;if(p(d)){C.feedback.css("left",5+F.left+C.cellWidth);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left+C.cellWidth);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone)).addDays(-1)}}}else{if(E<C._lastResizeX-a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left;if(p(d)){C.feedback.css("left",5+F.left);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}}}}}else{if(C.rightResize){if(!C._lastResizeX){C._lastResizeX=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left}var m=a(h).width()/2;if(E>C._lastResizeX+m){var G=a(h).width()+F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.width(d-6);C.feedback.css("left",5+F.left);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}}}else{if(E<C._lastResizeX-m){var G=F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.css("left",5+F.left);C.feedback.width(d-6);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(-1))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}}}}}}}else{var t=new Array();var b=new Array();var K=-1;var J=-1;var k=this.host.coord().left;var Q=0;var z=C.hScrollInstance.value;if(C.rtl){var z=C.hScrollInstance.max-C.hScrollInstance.value}if(C.hScrollBar[0].style.visibility=="hidden"){z=0}var O=E+z-k;k=0;for(var L=0;L<this.columns.records.length;L++){if(this.columns.records[L].timeColumn){if(!C.rtl){k+=this.columns.records[L].width;Q++}}}var s=C.getViewStart();var H=C.getViewEnd();for(var L=0;L<this._getColumnsLengthPerView();L++){var c=this.columns.records[L+Q].width;if(C.leftResize){if(!C.rtl){t.push(k);b.push(s.addDays(L));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}}if(C.rtl){t.push(k);b.push(H.addDays(-L-1));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}}k+=c}else{if(!C.rtl){if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(s.addDays(L))}else{if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(H.addDays(-L-1))}}}if(C.leftResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?O>=F&&O<=N:O>=F;if(g){var c=-F+C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width;var q=C.pinnedfeedback.width();var I=C.pinnedfeedback.css("left");var l=C.resizeTo;var w=C.resizeFrom;if(c>0){C.pinnedfeedback.css("left",F);C.pinnedfeedback.width(c);if(L==K){if(!C.rtl){C.resizeFrom=n.from}else{C.resizeTo=n.from}}else{if(L==J){if(!C.rtl){C.resizeFrom=n.to}else{C.resizeTo=n.to}}else{if(!C.rtl){C.resizeFrom=b[L]}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}}}}}}var o=C.resizeFrom;var P=C.resizeTo;if(C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.css("left",I);C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}else{if(C.rightResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?E>=F-this.cellWidth/3&&E<=N-this.cellWidth/3:E>=F-this.cellWidth/3;if(g){var c=F-C.selectedAppointmentTableBounds.left-15;var q=C.pinnedfeedback.width();C.pinnedfeedback.width(c);var l=C.resizeTo;var w=C.resizeFrom;if(L==K){if(!C.rtl){C.resizeTo=n.from}else{C.resizeFrom=n.from}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(L==J){if(!C.rtl){C.resizeTo=n.to}else{C.resizeFrom=n.to}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}else{C.resizeFrom=b[L]}break}}}}var o=C.resizeFrom;var P=C.resizeTo;if(!C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}}}}},_handleTimelineMonthViewResize:function(t,s,q,M,k){var p=this;var w=p._views[p._view].type;var r=p._views[p._view];var D=function(i){if(i<10){return false}return true};var E=p.findCell(t,p.feedback.coord().top);if(k.allDay){if(p.leftResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left-a(q).width();if(D(v)){p.feedback.css("left",M.left+a(q).width());p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}}}else{if(t<p._lastResizeX-a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left;if(D(v)){p.feedback.css("left",M.left);p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}}}}}else{if(p.rightResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var n=a(q).width()+M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}}}else{if(t<p._lastResizeX-a(q).width()/2){var n=M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}}}}}}}else{var o=new Array();var L=new Array();var u=-1;var A=-1;var j=this.host.coord().left;var h=0;for(var J=0;J<this.columns.records.length;J++){if(this.columns.records[J].timeColumn){j+=this.columns.records[J].width;h++}}var z=p.hScrollInstance.value;if(p.rtl){var z=p.hScrollInstance.max-p.hScrollInstance.value}if(p.hScrollBar[0].style.visibility=="hidden"){z=0}var d=t+z-j;j=0;var m=p.getViewStart();var l=p.getViewEnd();var g=this._getColumnsLengthPerView()-1;for(var J=0;J<this._getColumnsLengthPerView();J++){var C=this.columns.records[J+h].width;if(p.leftResize){o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J))}if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width+8);L.push(k.to);A=o.length-1}}j+=C}else{if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width);L.push(k.to);A=o.length-1}}j+=C;o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J-1))}}}if(p.leftResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c&&d<=H:d>=c;if(I){var C=-c+p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width;var B=p.feedback.width();var f=p.feedback.css("left");var F=p.resizeTo;var K=p.resizeFrom;p.feedback.css("left",c);p.feedback.width(C);if(J==u){if(!p.rtl){p.resizeFrom=k.from}else{p.resizeTo=k.from}}else{if(J==A){if(!p.rtl){p.resizeFrom=k.to}else{p.resizeTo=k.to}}else{if(!p.rtl){p.resizeFrom=L[J]}else{p.resizeTo=L[J]}}}}}var G=p.resizeFrom;var e=p.resizeTo;if(p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.css("left",f);p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}else{if(p.rightResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c-this.cellWidth/3&&d<=H-this.cellWidth/3:d>=c-this.cellWidth/3;if(I){var C=c-p.selectedAppointmentTableBounds.left-12;var B=p.feedback.width();p.feedback.width(C);var F=p.resizeTo;var K=p.resizeFrom;if(J==u){if(!p.rtl){p.resizeTo=k.from}else{p.resizeFrom=k.from}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(J==A){if(!p.rtl){p.resizeTo=k.to}else{p.resizeFrom=k.to}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(L[J])}else{p.resizeFrom=L[J]}break}}}}var G=p.resizeFrom;var e=p.resizeTo;if(!p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}}}},_handleMonthViewResize:function(K,I,g,L,r){var H=this;if(!H.selectedJQXAppointment){return}var f=H._views[H._view].type;var G=H._views[H._view];var v=function(i){if(i<10){return false}return true};var s=-5;if(H.tableColumns>1){s=parseInt(-5/H.tableColumns)}for(var R=0;R<H.columns.records.length/H.tableColumns;R++){if(H.columns.records[R].timeColumn){continue}s+=H.columns.records[R].width}var q=H.selectedJQXAppointment.resourceId;var k=H._resources.indexOf(q);if(H.resources&&H.resources.orientation=="none"){k=-1}var e="0px";if(k!=-1&&H.tableRows==1){e=s*k+"px"}if(G.showWeekNumbers){if(!H.rtl){e=parseInt(e)+H.columns.records[0].width+"px"}}var F=g.offsetWidth;var P=g.offsetHeight;var E=18;if(H.isTouchDevice()){E=2}for(var R=0;R<6;R++){H.feedbacks[R][0].style.left=e;H.feedbacks[R][0].style.width=s+"px";H.feedbacks[R][0].style.display="block";H.feedbacks[R][0].style.top=parseInt(H.rows[R].top)+E+"px";if(H.tableRows>1){H.feedbacks[R][0].style.top=parseInt(H.rows[6*k+R].top)+E+"px"}a(H.feedbacks[R][0]).find(".jqx-scheduler-appointment-resize-indicator").css("visibility","inherit")}var l=H.selectedJQXAppointment.elements;var c=l[0].cells[0].cell;var J=l[l.length-1];var N=J.lastCellY;var h=J.lastCellX;var n=l[0].cellY;var B=l[0].cellX;var t=parseInt(L.top);var S=parseInt(L.left);if(!H.rtl){if(H.leftResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px";for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var M=H.cellWidth-(u.x-B);var b=H.host.coord().left;if(K-b>=u.x&&K-b<=u.x+M+2){C[0].style.left=m+"px";C[0].style.width=u.width+"px";O=true}}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>=N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t>N||(t==N&&S>h)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}else{if(t==N&&S<=h){if(n!=N){C[0].style.width=l[Q].width-L.left+parseInt(e)+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}else{if(H.rightResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=h&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";p=true}}}else{C[0].style.width=u.width+"px"}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A<n){C[0].style.display="none"}if(A>t&&A>n){C[0].style.display="none"}if(t<=n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n&&S<B)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}}}else{if(H.leftResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(L.left>u.x+u.width){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px"}if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.x-10&&K-b<=u.cellX+H.cellWidth){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px";p=true}}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A<n){C[0].style.display="none"}if(A>t){C[0].style.display="none"}if(t<n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t==n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n)){if(o==A&&n!=N){C[0].style.left=1+L.left+parseInt(e)+"px";if(1+L.left+parseInt(e)>u.x+u.width){C[0].style.left=u.x+"px"}C[0].style.width=-1+u.x+u.width-L.left+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}else{if(H.rightResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.lastCellX&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";O=true}}}else{C[0].style.width=u.width+"px"}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block"}if(A==N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t<=N){if(A==N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(A!=t&&o==A&&n!=N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}else{if(A==t&&o==A&&n!=N){C[0].style.left=l[Q].x+"px";C[0].style.width=S+F-5-parseInt(e)-l[Q].x+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}}}var d=new Array();for(var R=0;R<6;R++){var C=H.feedbacks[R];if(C[0].style.display=="block"){d.push(C)}}a.each(d,function(i){if(!H.rtl){if(i>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}}else{if(i>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}}})},_handleTimelineDayWeekViewResize:function(m,k,d,h,b){var i=this;var l=i._views[i._view].type;var n=i._views[i._view];var e=i.getMinutesPerScale();var j=function(o){if(o<10){return false}return true};var c=i.findCell(m,i.feedback.coord().top);if(i.leftResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left-a(d).width();if(j(g)){i.feedback.css("left",2+h.left+a(d).width());i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left;if(j(g)){i.feedback.css("left",2+h.left);i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}else{if(i.rightResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var f=a(d).width()+h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var f=h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}}},_handleResize:function(c,i,h,b,e){var g=this;var d=g._views[g._view].type;var f=g._views[g._view];if(d==="dayView"||d==="weekView"){g._handleDayWeekViewResize(c,i,h,b,e)}else{if(d==="timelineMonthView"){g._handleTimelineMonthViewResize(c,i,h,b,e)}else{if(d==="monthView"){g._handleMonthViewResize(c,i,h,b,e)}else{if(d==="timelineDayView"||d==="timelineWeekView"){g._handleTimelineDayWeekViewResize(c,i,h,b,e)}}}}if(d==="timelineDayView"||d==="timelineMonthView"||d==="timelineWeekView"){clearInterval(g._horizontalIntervalDrag);g._horizontalIntervalDrag=setInterval(function(){var k=g.host.width();var m=g.host.coord().left;var j=m+25;var l=k+j-45;if(!g.rtl){if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}},5)}else{if(d==="dayView"||d==="weekView"){clearInterval(g._intervalDrag);g._intervalDrag=setInterval(function(){var n=g.host.height();var k=0;if(!g.columnGroups){k+=g.showHeader?g.columnsHeight:0}else{k+=g.showHeader?g.columnsheader.height():0}if(g.showToolbar){k+=g.toolbarHeight}n-=k;var m=g.legendHeight;if(g._resources.length==0){m=0}if(g.showLegend){n-=m}var q=k+g.host.coord().top;var j=g.showAllDayRow;if(f.timeRuler&&(d==="dayView"||d==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){j=f.timeRuler.showAllDayRow}}var l=e.duration().days()>=1||e.allDay;if(j&&l){q-=20}else{if(j&&g.resizing){q+=a(g.table[0].rows[0]).height();n-=a(g.table[0].rows[0]).height()}}var p=q+25;var o=n+p-45;if(i<p){g.vScrollInstance.setPosition(g.vScrollInstance.value-5)}else{if(i>o){g.vScrollInstance.setPosition(g.vScrollInstance.value+5)}}},5)}}g.resizing=true},_startTimers:function(b,h,d){var f=this;var g=f.host.coord();var e=0;var c=0;if(f.hScrollInstance.element.style.visibility!="hidden"){clearInterval(f._horizontalIntervalDragVelocity);f._horizontalIntervalDragVelocity=setInterval(function(){e++;if(e>40){e=40}},100);clearInterval(f._horizontalIntervalDrag);f._horizontalIntervalDrag=setInterval(function(){var j=f._hostWidth;var l=g.left;var i=l+30;var k=j+i-60;if(!f.rtl){if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{e=0}}}else{if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{e=0}}}},10)}if(f.vScrollInstance.element.style.visibility!="hidden"){clearInterval(f._verticalIntervalDragVelocity);f._verticalIntervalDragVelocity=setInterval(function(){c++;if(c>40){c=40}},100);clearInterval(f._intervalDrag);f._intervalDrag=setInterval(function(){var m=f._hostHeight;var o=0;if(!f.columnGroups){o+=f.showHeader?f.columnsHeight:0}else{o+=f.showHeader?f.columnsheader.height():0}var p=f._views[f._view].type;var r=f._views[f._view];if(f.showToolbar){o+=f.toolbarHeight}m-=o;if(f.showLegend&&f._resources.length>0){m-=f.legendHeight}var k=g.top;var q=o+k;if(p=="dayView"||p=="weekView"){var j=f.showAllDayRow;if(r.timeRuler&&(p==="dayView"||p==="weekView")){if(r.timeRuler.showAllDayRow!=undefined){j=r.timeRuler.showAllDayRow}}var l=d.duration().days()>=1||d.allDay;if(j&&l){q-=20}else{if(j&&f.resizing){q+=a(f.table[0].rows[0]).height()}}}var n=q+30;var i=k+m+o-30;if(h<n){f.vScrollInstance.setPosition(f.vScrollInstance.value-10-c)}else{if(h>i){f.vScrollInstance.setPosition(f.vScrollInstance.value+10+c)}else{c=0}}},10)}},_hoverCell:function(b){var c=this;if(!c.enableHover){return true}if(c._resources.length>0){if(b.className.indexOf("pinned")>=0){return true}}if(b.className.indexOf("time-column")>=0){return true}if(b.className.indexOf("jqx-scheduler-disabled-cell")>=0){return true}if(b&&b==c.hoveredCell){return true}c.hoveredCell=b;if(!b){return true}c._removeHoveredCell();c.hoveredCell=b;b.className+=" "+c.toTP("jqx-fill-state-hover")+" "+c.toTP("jqx-grid-cell-hover")+" "+c.toTP("jqx-scheduler-cell-hover");b.jqxClassName=b.className},_removeHoveredCell:function(){var d=this;if(d.hoveredCell){var c=d.hoveredCell;var b=function(e){var f=c.className;f=f.replace(" "+d.toTP("jqx-fill-state-hover"),"");f=f.replace(" "+d.toTP("jqx-grid-cell-hover"),"");f=f.replace(" "+d.toTP("jqx-scheduler-cell-hover"),"");c.className=f;c.jqxClassName=f};b(c)}d.hoveredCell=null},_addHandlers:function(){var i=this;this._mousewheelfunc=this._mousewheelfunc||function(m){i.wheel(m,i);return false};this.focused=false;var g=false;this.addHandler(a(document),"keydown.scheduler"+i.element.id,function(m){g=false;if(m.keyCode===9&&m.shiftKey&&!i.focused){g=true}});this.addHandler(this.host,"focus",function(n){if(i.focusedCell&&!i.selectedAppointment&&!g){a(i.focusedCell).addClass(i.toThemeProperty("jqx-scheduler-cell-focus"))}i.focused=true;if(g){if(i.appointmentsToRender.length>0){var m=i.appointmentsToRender[i.appointmentsToRender.length-1];i._selectAppointment(m);i._lastSelectedAppointment=m}else{if(!i.focusedCell){i._updateFocusedCell()}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();return false}}}}}});this.addHandler(this.host,"blur",function(m){if(i.focusedCell){if(document.activeElement==i.element){return true}if(a(document.activeElement).ischildof(i.host)){return true}a(i.focusedCell).removeClass(i.toThemeProperty("jqx-scheduler-cell-focus"));i.focused=false}});this.addHandler(this.host,"dragstart."+this.element.id,function(m){return false});this.addHandler(this.host,"selectstart."+this.element.id,function(m){if(i.enableBrowserSelection){return true}if(i.showToolBar){if(a(m.target).ischildof(i.toolbar)){return true}}if(i.rowDetails){if(a(m.target).parents("[data-role=details]").length>0){return true}}if(undefined==i.editKey){return false}});this.addHandler(a(window),"jqxReady."+this.element.id,function(){});this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(m){if(i._timer){clearTimeout(i._timer)}if(d){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}}else{i._timer=setTimeout(function(){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}},1)}};this.hScrollInstance.valueChanged=function(m){if(i._htimer){clearTimeout(i._htimer)}if(d){if(i.table){i._renderhorizontalscroll()}}else{i._htimer=setTimeout(function(){if(i.table){i._renderhorizontalscroll()}},1)}};var c="mousedown";if(this.isTouchDevice()){c=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){c="mousedown"}}this.addHandler(this.table,"mouseleave",function(m){i._removeHoveredCell()});if(i.isTouchDevice()){i.enableHover=false}var h="mousemove.scheduler"+this.element.id;var e="mouseup.scheduler"+this.element.id;if(this.isTouchDevice()&&this.touchMode!==true){h=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+this.element.id}this.addHandler(a(document),h,function(X){var M=X.pageX;var L=X.pageY;if(i.isTouchDevice()){var N=a.jqx.position(X);M=N.left;L=N.top;if(isNaN(M)||isNaN(L)){var N=a.jqx.position(X.originalEvent);M=N.left;L=N.top}}if(i.disabled||X.which===3){return true}if(!i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hostWidth){var D=i.host.coord();if(D.left+i._hostWidth<M||M<D.left){return true}if(D.top+i._hostHeight<L||L<D.top){return true}}if(i.mouseDownPosition){if((Math.abs(i.mouseDownPosition.left-M)>=3&&Math.abs(i.mouseDownPosition.left-M)<=10)||(Math.abs(i.mouseDownPosition.top-L)>=3&&Math.abs(i.mouseDownPosition.top-L)<=10)){i.dragOrResize=true}}if(i.selectedAppointment&&i.dragOrResize){var w=null;if(i._hasOpenedMenu){return true}if(i.editRecurrenceDialog.jqxWindow("isOpen")){return true}var o=i._views[i._view].type;var K=i._views[i._view];var A=false;if(X.target.nodeName.toLowerCase()==="td"){var q=X.target}else{var q=i.findCell(M,L)}if(!q){return true}if(q.getAttribute("data-time-slot")!=undefined){return true}if(q.className.indexOf("jqx-grid-cell-pinned")>=0){return true}if(!i.feedback){w=i.getJQXAppointmentByElement(i.selectedAppointment);if(!w.draggable&&!w.resizable){w=null;return true}if(i.beginDrag){var t=i.beginDrag(w);if(!t){return true}}var T=a('[data-key="'+w.id+'"]');var B=i.selectedAppointment.position();i.feedback=i.selectedAppointment.clone(true);i.pinnedfeedback=i.selectedAppointment.clone(true);var V=!(i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing);var p=function(x){if(V){x.find(".jqx-scheduler-appointment-resize-indicator").hide()}T.addClass(i.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));x.find(".jqx-scheduler-appointment-duration-status").hide();x.addClass(i.toTP("jqx-scheduler-feedback-appointment"));x.addClass(i.toTP("jqx-scheduler-feedback-drag-appointment"));if(!V){x.css("z-index",400)}else{x.css("z-index",401)}};p(i.feedback);p(i.pinnedfeedback);if(i._views[i._view].type!="monthView"||V){i.table.append(i.feedback);if(i.tableRows==1){i.pinnedtable.append(i.pinnedfeedback)}else{i.table.append(i.pinnedfeedback)}i.feedback.css("left",B.left);i.feedback.css("top",B.top);i.pinnedfeedback.css("left",B.left);i.pinnedfeedback.css("top",B.top);if(i._views[i._view].type=="monthView"&&i.isTouchDevice()){i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}else{i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}if(i.dragging){var t=i.dragging(w,q,i.feedback);if(false===t){return true}}var N=a(q).position();if(i.endDrag){var I=i.feedback.css("left");var J=i.feedback.css("top");var z=i.feedback.width();var F=i.feedback.height}if(!w){w=i.selectedJQXAppointment}if(!w){i.selectAppointment(i.uiappointments[0].id);w=i.selectedJQXAppointment}var v=w.resourceId;var r=i._resources.indexOf(v);if(i.resources&&i.resources.orientation=="none"){r=-1}var Q=false;var U=i.isTouchDevice();if(U&&i.touchMode!==true&&i._dragCell==null&&!(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)){switch(o){case"dayView":case"weekView":var A=w.duration().days()>=1||w.allDay;if(!A){if(L>=i.selectedAppointmentBounds.top-15&&L<=i.selectedAppointmentBounds.top+15){Q=true;i.topResize=true}if(L>=i.selectedAppointmentBounds.top-15+i.selectedAppointmentBounds.height&&L<=i.selectedAppointmentBounds.top+i.selectedAppointmentBounds.height+15){Q=true;i.bottomResize=true}}else{if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}}break;default:if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}break}}if(U&&(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)||Q){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!U&&i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources&&i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!w.draggable){i._removeFeedbackAndStopResize();return true}if(i._dragCell==q){i._startTimers(M,L,w);if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}else{return}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}var E=w.duration();if(o.indexOf("month")>=0&&new a.jqx.date(W).add(E)>i.max){return}var P=i.vScrollBar[0].style.visibility=="hidden"?0:6+i.vScrollBar.outerWidth();i._dragCell=q;i.feedback[0].style.left=2+N.left+"px";i.feedback[0].style.top=2+N.top+"px";if(o==="dayView"||o==="weekView"){i.pinnedfeedback.css("left",2+N.left);i.pinnedfeedback.css("top",2+N.top);var m=0;if(q.getAttribute("data-end-date")){var s=i.appointmentsMinHeight;if(i.isTouchDevice()){s=i.touchAppointmentsMinHeight}if(K.appointmentHeight){s=K.appointmentHeight}A=w.duration().days()>=1||w.allDay;i.feedback.css("top",2+N.top+s);i.pinnedfeedback.css("top",2+N.top+18);if(o=="dayView"){var R=i.selectedAppointment.coord().left-9;i.feedback.css("left",R);i.pinnedfeedback.css("left",R)}if(A){i.pinnedfeedback.css("top",w.elements[0].y);m=i.selectedAppointment.width();if(2+N.left+m>i.host.width()-P){var C=2+N.left+m-i.host.width()+P+6;m-=C}i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}else{m=a(q).width()-4;i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}i.feedback.hide();i.pinnedfeedback.show()}else{i.feedback.show();i.pinnedfeedback.hide();var u=2;var O=30;var H=K.timeRuler&&K.timeRuler.scale;switch(H){case"sixtyMinutes":case"hour":u=1;break;case"thirtyMinutes":case"halfHour":u=2;break;case"fifteenMinutes":case"quarterHour":u=4;break;case"tenMinutes":u=6;break;case"fiveMinutes":u=12;break}m=a(q).width()-4;i.feedback.width(m);A=w.duration().days()>=1||w.allDay;if(A){i.feedback.height((a(q).height())-6)}else{i.feedback.height(i.selectedAppointment.height())}}i._startTimers(M,L,w)}else{if(o==="monthView"){i.feedback.css("left",1+N.left);var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}else{i.feedback.css("top",i.selectedAppointment.height()+N.top-2)}if(i.isTouchDevice()){i.feedback.css("top",N.top+2)}m=i.selectedAppointment.width();i.feedback.width(m);i.feedback.height(i.selectedAppointment.height());i._startTimers(M,L,w)}else{if(o==="timelineDayView"||o==="timelineMonthView"||o==="timelineWeekView"){var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}i._startTimers(M,L,w)}}}}}if(i.endDrag){var t=i.endDrag(w,q,i.feedback);if(!t){i.feedback.width(z)}i.feedback.height(F);i.feedback.css("top",J);i.feedback.css("left",I);return true}if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}}});var l=function(m){i.isMouseDown=false;i.dragOrResize=false;if(i.contextMenu&&i.menu&&m.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}if(m.which===3){return true}if(i.selectedAppointment&&i.feedback){if(i.editRecurrenceDialog.jqxWindow("isOpen")){return}i._handleMouseUp(i.selectedJQXAppointment,i._dragCell,i.resizing)}};this.addHandler(a(document),e,function(m){return l(m)});if(!this.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var b=null;if(window.parent&&document.referrer){b=document.referrer}if(b&&b.indexOf(document.location.host)!=-1){var f=function(m){if(!i.disabled){return l(m)}};i.addHandler(a(window.top.document),"mouseup.jqxscheduler"+i.element.id,f)}}}}catch(k){}}this.addHandler(this.host,h,function(o){var C=o.pageX;var A=o.pageY;if(i.disabled||o.which===3){return true}if(i.selectedAppointment&&i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hasOpenedMenu){return true}if(i.overlay[0].style.display!=="none"){return true}var n=null;if(o.target.className.indexOf("jqx-scheduler-appointment")>=0&&o.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=o.target}var u=o.target;for(var v=0;v<4;v++){if(u.parentNode){if(u.className.indexOf("jqx-scheduler-appointment")>=0&&u.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=u}u=u.parentNode}else{break}}if(n){var B=i._views[i._view].type;var E=i._views[i._view];var D=i.getJQXAppointmentByElement(n);if(D.resizable){var t=D.duration();var p=D.allDay||t.days()>=1||(t.hours()==23&&t.minutes==59&&t.seconds==59);var z=a(n).coord();var w=a(n).position();i.selectedAppointmentBounds={top:z.top,left:z.left,width:a(n).width(),height:a(n).height()};i.selectedAppointmentTableBounds={top:w.top,left:w.left,width:a(n).width(),height:a(n).height()};var m=i.selectedAppointmentBounds;if(B=="weekView"||B=="dayView"){if(!p){if(A>=m.top-3&&A<=m.top+6){n.style.cursor="row-resize";i.topResize=true;i.bottomResize=false}else{if(A>=m.top+m.height-6&&A<=m.top+m.height+3){n.style.cursor="row-resize";i.topResize=false;i.bottomResize=true}else{n.style.cursor="pointer"}}}else{if(B!="dayView"){if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}else{n.style.cursor="pointer"}}}else{if(B=="monthView"&&D.elements.length>1){var s=i.table.coord();for(var v=0;v<D.elements.length;v++){var q=D.elements[v];var m={top:s.top+q.y,left:s.left+q.x,width:q.width,height:q.height};if((v==0&&!i.rtl)||(v==D.elements.length-1&&i.rtl)){if(C>=m.left-3&&C<=m.left+6){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}else{if((v==D.elements.length-1&&!i.rtl)||(v==0&&i.rtl)){if(C>=m.left+m.width-6&&C<=m.left+m.width+3){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}}}}else{if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}}}}if(!i.enableHover){return true}if(o.target.nodeName.toLowerCase()==="td"){var r=o.target}else{var r=i.findCell(C,A)}if(!r){return true}i._removeHoveredCell();if(i.renderedRecords&&i.renderedRecords.length===0){return true}if(i.isMouseDown){if(Math.abs(i.mousecaptureposition.left-C)>3||Math.abs(i.mousecaptureposition.top-A)>3){if(i.mousecaptureposition.clickedcell.length===0){i.selectionarea[0].style.visibility="hidden";return}if(i.lastHoveredCell!=r){if(i._selectRangeTimer){clearTimeout(i._selectRangeTimer)}i._selectRangeTimer=setTimeout(function(){var x=i._views[i._view].type;if(x!="agendaView"){i._selectRange(r,i.mousecaptureposition.clickedcell[0])}},1)}i.lastHoveredCell=r}}else{if(!n){if(i.rows.length==1&&i.rows[0].cells.length==1){return true}i._hoverCell(r)}}return true});this.addHandler(a(document),"keydown.jqxscheduler"+i.element.id,function(m){if(i.focused&&m.ctrlKey){if(m.keyCode==68){return false}}});this.addHandler(this.host,"keydown",function(m){return i._handleKey(m)});if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(m){i.table.trigger("mousedown",m)})}var j=function(K){var M=K.target;var u=null;if(i.disabled){return true}if(!i.menu&&K.which==3){i._initMenu()}var n=i.table.coord();var B=K.pageX;var w=K.pageY;if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(arguments&&arguments.length==2){B=arguments[1].pageX;w=arguments[1].pageY}}if(i.isTouchDevice()){var N=a.jqx.position(K);B=N.left;w=N.top;if(isNaN(B)||isNaN(w)){var N=a.jqx.position(K.originalEvent);B=N.left;w=N.top}}i.mouseDown={top:w,left:B};var u=i.findCell(B,w);if(K.target.nodeName.toLowerCase()==="td"){var u=K.target}else{var u=i.findCell(B,w)}var D=i._views[i._view].type;var v=i._views[i._view];if(D==="monthView"&&v.weekViewNavigation){if(u&&u.getAttribute("data-time-slot")){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("weekView")}}if(D==="monthView"&&v.dayViewNavigation){var m=a(u).coord().top;if(u&&w>=m&&m+16>=w){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("dayView")}}if(K.target.nodeName.toLowerCase()==="span"&&(K.target.className.indexOf("jqx-icon-arrow-down")>=0||K.target.className.indexOf("jqx-icon-close")>=0)){if(K.target.mousedown){K.target.mousedown()}return true}var t=a(u).parent();var P=t.attr("data-key");i.mousecaptureposition={left:K.pageX,top:K.pageY,clickedrow:a(t).index(),clickedcell:a(u)};if(K.which!==3){i.isMouseDown=true;i.isMouseDownDate=new Date()}else{i.isMouseDown=false}if(i.contextMenu&&i.menu&&K.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}var r=function(y){if(K.which===3){if(i.contextMenu&&i.menu){if(y){i.menu.find("li:first").show()}else{i.menu.find("li:first").hide()}var x=i.menu.coord();if(i.menu.css("display")=="block"&&x.left==K.pageX&&x.top==K.pageY){i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();return}if(D==="agendaView"){}i.menuOpening=true;i.menu.jqxMenu("open",K.pageX,K.pageY);i.menuOpening=false;i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();setTimeout(function(){i.menu.jqxMenu("focus")},50)}}};var I=function(){for(var Q=0;Q<A.length;Q++){var y=A[Q].cells;for(var x=0;x<y.length;x++){y[x].removeAttribute("data-selected")}}};var q=K.target.className.indexOf("jqx-scheduler-appointment")>=0&&K.target.className.indexOf("jqx-scheduler-appointment-duration-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-content")==-1?a(K.target):a(K.target).parents(".jqx-scheduler-appointment");if(q.length==0){q=null}if(q&&q[0].className.indexOf("feedback")==-1){if(q.parents(".jqx-scheduler-month-cell-popup").length>0){return true}i.mouseDownPosition={top:w,left:B};var H=a(q).coord();i.selectedAppointmentBounds={top:H.top,left:H.left,width:a(q).width(),height:a(q).height()};var N=a(q).position();i.selectedAppointmentTableBounds={top:N.top,left:N.left,width:a(q).width(),height:a(q).height()};if(!i._dragStartCell){i._dragStartCell=i.findCell(H.left,H.top)}var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});i.clearSelection();var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}else{if(!p.readOnly){if(K.which!==3){i.focus()}}}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}return}else{if(K.which===3){var O=i.getSelection();if(O!==null){r(false)}else{i.clearAppointmentsSelection();u.setAttribute("data-selected","true");i._lastSelectedCell=u;i.focusedCell=u;i._updateCellsSelection(u);r(false);var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellClick",{cell:u,date:L})}}else{if(K.which!=3){i.clearAppointmentsSelection()}}}if(i.view=="agendaView"){var q=K.target.className.indexOf("jqx-scheduler-agenda-appointment")!=-1;if(q){q=K.target;var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}}}var E=function(){if(!i.enableBrowserSelection){if(K.preventDefault){K.preventDefault()}}var x=a(document).scrollTop();i.host.focus();a(document).scrollTop(x)};if(P!==undefined&&K.which!=3){i.clickedTD=u;var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);var o=i.rowinfo[P];var G=false;if(o){var s=new Date().getTime();var F=300;if(!i.clickTime){i.clickTime=new Date()}i.focus();if(i._lastSelectedCell&&i._lastSelectedCell.getAttribute("data-selected")=="true"&&u.getAttribute("data-selected")==="true"&&(s-i.clickTime.getTime()<F)){var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellDoubleClick",{cell:u,date:L});G=true;i._initDialog();i._openDialog();if(K.preventDefault){K.preventDefault()}}}var A=i.rows;if(u.getAttribute("data-selected")!="true"||K.shiftKey||s-i.clickTime.getTime()>F){if(u.getAttribute("data-time-slot")=="true"){return}if(!K.shiftKey){i.shiftSelectedCell=null}if(K.shiftKey&&i._lastSelectedCell&&D!="agendaView"){if(!i.shiftSelectedCell){i.shiftSelectedCell=i._lastSelectedCell}if(u.getAttribute("data-view")===i.shiftSelectedCell.getAttribute("data-view")){I()}i._selectRange(u,i.shiftSelectedCell)}if(!K.shiftKey){I();var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){u.setAttribute("data-selected","true")}else{u.setAttribute("data-selected","false")}}a('[data-key="'+P+'"]').removeClass(i.toTP("jqx-scheduler-selected-appointment"));i.selectedAppointment=null;var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){i._lastSelectedCell=u;i.focusedCell=u}i._updateCellsSelection(u);if(i.openedMonthCellPopup){i.openedMonthCellPopup.remove()}}i._raiseEvent("cellClick",{cell:u,date:L});i.clickTime=new Date();if(K.stopPropagation){K.stopPropagation()}}};this.addHandler(this.pinnedtable,c,function(n){var m=j(n);if(m!=undefined){return m}});this.addHandler(this.table,c,function(n){var m=j(n);if(m!=undefined){return m}})},moveAppointment:function(k,c,g,f,j){var h=this;var i=f.getAttribute("data-end-date");if(k){if(h.editRecurrenceDialog.jqxWindow("isOpen")){return}clearInterval(h._verticalIntervalDragVelocity);clearInterval(h._horizontalIntervalDragVelocity);clearInterval(h._intervalDrag);clearInterval(h._horizontalIntervalDrag);var d=k.duration();var b=k.duration().days()>=1||k.allDay;var e=function(r){if(!j){var l=h._views[h._view].type;var o=h._views[h._view];var p=c;k.from=p;if(l==="dayView"||l==="weekView"){if(!b&&!i){k.to=p.add(d);k.allDay=false}else{if(!b&&i){k.to=a.jqx.scheduler.utilities.getEndOfDay(p);k.allDay=true}else{if(b&&i){k.to=p.add(d)}else{if(b&&!i){var n=30;var q=o.timeRuler&&o.timeRuler.scale;switch(q){case"sixtyMinutes":case"hour":n=60;break;case"fifteenMinutes":case"quarterHour":n=15;break;case"tenMinutes":n=10;break;case"fiveMinutes":n=5;break}k.to=p.addMinutes(n);k.allDay=false}}}}}else{if(l==="monthView"){k.to=p.add(d)}else{if(l==="timelineDayView"||l==="timelineWeekView"||l==="timelineMonthView"){k.to=p.add(d)}}}}h._saveChangesAfterDragOrResize(r,k,f,j);if(g!=null){k.resourceId=g}h.table.find(".jqx-icon-arrow-down").hide();if(k.allDay||b){h._renderrows()}else{var s=h.getViewStart();var m=a.jqx.scheduler.utilities.getEndOfDay(h.getViewEnd());h._prepareAppointmentsInView(s,m);h._renderAppointments(s,m)}h._raiseEvent("appointmentChange",{appointment:k.boundAppointment});h.changedAppointments[k.id]={type:"Update",appointment:k.boundAppointment};h._ensureAppointmentVisible(h.selectedJQXAppointment)};if(k.isRecurrentAppointment()){e(false)}else{e(null)}}},getAppointmentProperty:function(d,b){var e=this;var c=null;if(this.appointmentsByKey[d]){c=this.appointmentsByKey[d].jqxAppointment}if(!c){return}return c[b]},setAppointmentProperty:function(e,b,g){var f=this;var c=null;if(this.appointmentsByKey[e]){c=this.appointmentsByKey[e].jqxAppointment}if(!c){return}c[b]=g;f.changedAppointments[e]={type:b,appointment:c.boundAppointment};switch(e){case"draggable":case"resizable":break;case"background":case"color":case"borderColor":case"status":case"tooltip":case"subject":case"location":case"description":case"style":var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d);break;case"hidden":case"timeZone":if(c.isAllDayAppointment()){f._renderrows()}else{var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d)}break;default:f._renderrows()}},deleteAppointment:function(b){if(this.appointmentsByKey[b]){this._deleteAppointment(this.appointmentsByKey[b].jqxAppointment)}},_deleteAppointment:function(b){var g=this;if(b.rootAppointment){if(!b.isException()){if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(g.editAppointment);b.rootAppointment.recurrenceException.push(g.editAppointment.occurrenceFrom)}else{b.exceptions.push(g.editAppointment);b.recurrenceException.push(g.editAppointment.occurrenceFrom)}}else{var f=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var e=0;e<f.length;e++){if(f[e].occurrenceFrom.equals(g.editAppointment.occurrenceFrom)){f[e]=b;break}}}b.hidden=true;g._renderrows();return}g._raiseEvent("appointmentDelete",{appointment:b.boundAppointment});var d=b.id;delete g.appointmentsByKey[d];var c=-1;for(var e=0;e<g.appointments.length;e++){if(g.appointments[e]==b.boundAppointment||g.appointments[e].id==b.boundAppointment.id){c=e;break}}if(c!=-1){g.appointments.splice(c,1)}c=-1;for(var e=0;e<g.uiappointments.length;e++){if(g.uiappointments[e]==b||g.uiappointments[e].id==b.id){c=e;break}}if(c!=-1){g.uiappointments.splice(c,1)}if(g.selectedJQXAppointment==b){g.clearAppointmentsSelection();if(g.uiappointments[c+1]){g.selectAppointment(g.uiappointments[c+1].id)}else{if(g.uiappointments[c-1]){g.selectAppointment(g.uiappointments[c-1].id)}else{if(g.uiappointments[0]){g.selectAppointment(g.uiappointments[0].id)}}}}g.changedAppointments[d]={type:"Delete",appointment:b.boundAppointment};g._renderrows()},addAppointment:function(o){var g=this;if(!o.scheduler){o.scheduler=this}if(!o.duration){if((!o.from&&!o.to)||(!o.appointmentObject)){var f=o;var d={};var e=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];for(var w in g.appointmentDataFields){var b=g.appointmentDataFields[w];var q=f[b];if(w=="from"||w=="to"){q=new a.jqx.date(q)}if(w=="style"){if(q){var k=g.getAppointmentColors(q);d.color=k.color;d.background=k.background;d.borderColor=k.border}}if(w=="recurrencePattern"){if(q){q=new a.jqx.scheduler.recurrencePattern(q);q.timeZone=f.timeZone||g.timeZone}}if(w=="recurrenceException"){var t=new Array();if(q){if(q.indexOf("EXDATE:")>=0){q=q.substring(q.indexOf("EXDATE:")+7)}var l=new Array();if(q.indexOf(",")>=0){l=q.split(",")}else{l.push(q)}for(var s=0;s<l.length;s++){var p=l[s];if(p.indexOf(";")>=0){var h=p.split(";")[1];p=p.split(";")[0];if(h.toLowerCase().indexOf("display")>=0&&h.toLowerCase().indexOf("none")){d.hidden=true}}try{var u=a.jqx.scheduler.utilities.untilStringToDate(p);if(u!="Invalid Date"){if(d.timeZone){u=new a.jqx.date(u,d.timeZone)}else{if(g.timeZone){u=u.toTimeZone(g.timeZone)}else{u=new a.jqx.date(u)}}}}catch(v){var u=new a.jqx.date(p,g.timeZone)}t.push(u)}}q=t}d[w]=q}for(var m in e){var w=e[m];if(d[w]==undefined){var q="";if(w=="originalData"){continue}if(w=="ownerId"){q=null}if(w=="timeZone"){q=null}if(w=="recurrencePattern"){q=null}if(w=="recurrenceException"){q=null}if(w=="allDay"){q=false}if(w=="draggable"){q=true}if(w=="resizable"){q=true}if(w=="hidden"){q=false}if(w=="resourceId"){q=null}if(w=="from"){q=new a.jqx.date()}if(w=="to"){q=new a.jqx.date().addHours(1)}d[w]=q}}d.originalData=f;d.scheduler=this;var o=new a.jqx.scheduler.appointment(d);if(d.timeZone){o.from=o.from.toTimeZone(d.timeZone);o.to=o.to.toTimeZone(d.timeZone)}if(g.timeZone){if(!d.timeZone){o.timeZone=g.timeZone}o.from=o.from.toTimeZone(g.timeZone);o.to=o.to.toTimeZone(g.timeZone)}else{o.from=o.from.toTimeZone(null);o.to=o.to.toTimeZone(null)}}else{var i=new a.jqx.scheduler.appointment();for(var w in o){i[w]=o[w]}o=i}}var w=g.dataview.generatekey();o.id=w;g.appointmentsByKey[w]=o;g.appointments.push(o);var c={};var j={};for(var r in g.appointmentDataFields){var b=g.appointmentDataFields[r];var q=o[r];c[r]=q;if(r=="from"||r=="to"){if(q.toDate){q=q.toDate()}else{q=new a.jqx.date(q).toDate()}}j[b]=q}c.originalData=j;o.boundAppointment=c;c.jqxAppointment=o;o.jqxAppointment=o;g._raiseEvent("appointmentAdd",{appointment:o.boundAppointment});g.uiappointments.push(o);g.changedAppointments[w]={type:"Add",appointment:o.boundAppointment};if(g.hiddenResources&&g.hiddenResources[o.resourceId]){g.hideAppointmentsByResource(o.resourceId)}else{g._renderrows()}g._selectAppointment(o);g._lastSelectedAppointment=o;if(g.resources){var n=o.resourceId;if(g._resources.indexOf(n)===-1){g._resources.push(n);g._renderrows()}}},_updateCellsSelection:function(){var f=this;var l=f.rows;var b=0;var c=0;if(b>0&&f.rtl){b=0;c=1}for(var e=0;e<l.length;e++){var k=l[e].cells;for(var d=b;d<k.length-c;d++){var h=k[d];if(h.getAttribute("data-selected")=="true"){var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")>=0){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");g=g+=" "+f.toTP("jqx-fill-state-pressed jqx-grid-cell-selected jqx-scheduler-cell-selected");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}else{var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")==-1){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g;h.removeAttribute("data-selected")}}}},_getuikey:function(c,f){var e=null;var d=this.table[0].rows;e=a(d[c]).attr("data-key");if(a(d[c]).attr("data-role")){var b=a(d[c]);if(f=="next"){while(b){b=b.next();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}else{if(f=="prev"){while(b){b=b.prev();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}}return null}return e},getRows:function(){var h=this._views[this._view].type;var k=this._views[this._view];var d="halfHour";if(k.timeRuler&&k.timeRuler.scale){d=k.timeRuler.scale}var j=24;var b=this.showAllDayRow;if(k.timeRuler&&(h==="dayView"||h==="weekView")){var c=0;var f=23;if(k.timeRuler.scaleStartHour!=undefined){var c=parseInt(k.timeRuler.scaleStartHour)}if(k.timeRuler.scaleEndHour!=undefined){var f=parseInt(k.timeRuler.scaleEndHour)}if(c<0){c=0}if(f<0){f=23}if(c>23){c=0}if(f>23){f=23}j=f-c+1;if(k.timeRuler.showAllDayRow!=undefined){b=k.timeRuler.showAllDayRow}}var l=new Array();var g=0;switch(h){case"dayView":case"weekView":default:var g=j*2;if(d==="hour"||d==="sixtyMinutes"){var g=j}else{if(d==="quarterHour"||d==="fifteenMinutes"){var g=j*4}else{if(d==="tenMinutes"){var g=j*6}else{if(d==="fiveMinutes"){var g=j*12}}}}if(b){g++}break;case"monthView":var g=6;break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":var g=1;break;case"agendaView":var g=this.appointments?this.appointments.length:0;break}for(var e=0;e<g;e++){l.push({uid:e})}return l},_getDateByString:function(j){var e=j.split(" ");var l=e[0].split("-");var h=e[1].split(":");var g=parseInt(l[0],10);var f=parseInt(l[1],10)-1;var i=parseInt(l[2],10);var d=parseInt(h[0],10);var c=parseInt(h[1],10);var k=parseInt(h[2],10);var b=new Date(g,f,i,d,c,k);if(g<1970){b.setFullYear(g,f,i)}return b},_getCellByDate:function(b,d,c){var m=this.rows;if(d===undefined){d=false}if(c===undefined){if(this.focusedCell){c=this.focusedCell.getAttribute("data-view")}}for(var g=0;g<m.length;g++){var l=m[g];if(l.element.getAttribute("data-group-row")){continue}for(var f=0;f<l.cells.length;f++){var k=l.cells[f];if(k.getAttribute("rowspan")!=null){continue}if(k.getAttribute("data-view")!==c){continue}if(k.getAttribute("data-time-slot")){continue}if(d&&k.getAttribute("data-end-date")!=null){continue}var h=k.getAttribute("data-date");var e=this._getDateByString(h);if(e.valueOf()==b.valueOf()){return k}}}},_rendercelltexts:function(){if(a.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var c="www.jqwidgets.com";if(location.hostname.indexOf(c.substring(4))==-1){if(this._gridRenderElement){a(this._gridRenderElement).remove()}var d=String.fromCharCode(83,80,65,78);var b=String.fromCharCode(72,84,84,80,58,47,47);var e=document.createElement(d);e.id=a.jqx.utilities.createId();e.innerHTML=c;e.style.position="absolute";e.style.right="5px";e.style.bottom="5px";e.style.color="#909090";e.style.cursor="pointer";e.style.zIndex="999999";e.style.display="none";e.style.fontSize="9px";e.onmousedown=function(){open(b+c)};this.content[0].appendChild(e);this._gridRenderElement=e}}},_handleKey:function(s){if(this._loading){return true}var t=s.shiftKey;var m=s.ctrlKey||s.metaKey;var i=this;var w=s.charCode?s.charCode:s.keyCode?s.keyCode:0;if(i._hasOpenedMenu){if(w==27){i.closeMenu()}else{i.menu.jqxMenu("focus")}return true}if(w===13||(i.selectedAppointment&&w==46)){if(i.editRecurrenceDialog&&i.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(i._editDialog&&i._editDialog.jqxWindow("isOpen")){return true}if(!i.selectedAppointment){i._initDialog();i._openDialog()}else{var c=i.getJQXAppointmentByElement(i.selectedAppointment);if(!c.readOnly){if(w==46){var o=i._initDialog(c,"delete");if(o!==false){i._openDialog()}}else{var o=i._initDialog(c);if(o!==false){i._openDialog()}}}}}if(w===27){if(i.dragOrResize){i.table.find(".jqx-icon-arrow-down").hide();var f=i.getViewStart();var e=a.jqx.scheduler.utilities.getEndOfDay(i.getViewEnd());i._prepareAppointmentsInView(f,e);i._renderAppointments(f,e);i._removeFeedbackAndStopResize();return false}}var r=function(z){var B=i.selectedAppointment;var y=i.getJQXAppointmentByElement(B);var x=y.elements[0].cells[0].cell;var L=y.elements[y.elements.length-1].cells[y.elements[y.elements.length-1].cells.length-1].cell;var E=i.rows[i.rows.length-1].cells[i.rows[i.rows.length-1].cells.length-1];if(t||(!t&&!m&&(z=="down"||z=="right"))){x=L}var H=i._views[i._view].type;var G=i._views[i._view];var I=x;switch(z){case"left":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F>0&&!t){I=D.cells[F-1]}else{if(H=="monthView"&&!t){var A=D.aboveRow;if(A){I=A.cells[A.cells.length-1]}}}break;case"right":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F<D.cells.length-1){I=D.cells[F+1]}else{if(H=="monthView"){var P=D.belowRow;if(P){I=P.cells[0]}}}if(H=="monthView"&&!t&&m&&L==E){I=x}break;case"up":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var A=D.aboveRow;if(A&&!t){I=A.cells[F]}break;case"down":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var P=D.belowRow;if(P){I=P.cells[F]}break}var N=I.getAttribute("data-date");var M=new a.jqx.date(N,i.timeZone);var H=a(I).attr("data-view");var J=i._resources[parseInt(H)-1];if(t){var H=i._views[i._view].type;var G=i._views[i._view];var C=false;if(H==="dayView"||H==="weekView"){if(x.getAttribute("data-end-date")){if(z=="left"&&(y.elements[0].cells.length>1||i.rtl)){if(!i.rtl){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1))}else{y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(1))}C=true}else{if(z=="right"){if(!i.rtl||(i.rtl&&y.elements[0].cells.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M)}C=true}}}else{if(z=="up"&&y.elements[0].cells.length>1){y.to=M;C=true}else{if(z=="down"){y.to=M.addMinutes(i.getMinutesPerScale());C=true}}}}else{if(H.indexOf("month")>=0){if(z=="left"&&(y.elements[0].cells.length>1||y.elements.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1));C=true}else{if(z=="right"){y.to=a.jqx.scheduler.utilities.getEndOfDay(M);C=true}}}else{if((!i.rtl&&z=="left"&&y.elements[0].cells.length>1)||(i.rtl&&z=="right"&&y.elements[0].cells.length>1)){y.to=M;if(i.rtl){y.to=M.addMinutes(i.getMinutesPerScale())}C=true}else{if((!i.rtl&&z=="right")||(i.rtl&&z=="left")){y.to=M.addMinutes(i.getMinutesPerScale());if(i.rtl){y.to=y.to.addMinutes(i.getMinutesPerScale())}C=true}}}}if(C){i.moveAppointment(y,M,J,I,true)}}else{if(m){i.moveAppointment(y,M,J,I)}else{i.clearAppointmentsSelection();var K=true;if(z=="down"){K=false}i.selectCell(M,K,H);i._ensureVisible(I)}}if(i.selectedAppointment){i.selectedAppointment.removeClass(i.toTP("jqx-scheduler-selected-appointment"));var O=i.selectedAppointment.attr("data-key");a('[data-key="'+O+'"]').addClass(i.toTP("jqx-scheduler-selected-appointment"));i.clearSelection()}};if(s.altKey&&i._resourcesElements&&i._resources&&i._resources.length>0){var g=function(x){var y=i._resourcesElements.bottom[x];if(y.attr("data-toggle")=="on"){i.hideAppointmentsByResource(x)}else{i.showAppointmentsByResource(x)}};var j=w>=49&&w<=58?j=w-48:-1;if(j>=1){a.each(i._resources,function(x,y){if(x==j-1){g(y);return false}});return false}}if(s.ctrlKey){if(!i.selectedAppointment){if(w==37){i.toolbarLeftButton.trigger("click");i._ensureVisible(i.focusedCell);return false}else{if(w==39){i.toolbarRightButton.trigger("click");i._ensureVisible(i.focusedCell);return false}}}if(w==49){i._setView(0);return false}else{if(w==50){i._setView(1);return false}else{if(w==51){i._setView(2);return false}else{if(w==52){i._setView(3);return false}else{if(w==53){i._setView(4);return false}else{if(w==54){i._setView(5);return false}else{if(w==68){i.dateTimeInput.jqxDateTimeInput("open");return false}else{if(w==77){i.openMenu();return false}}}}}}}}}if(w==9){if(!s.shiftKey){if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);var h=i.tabKeyAppointments.indexOf(c);if(h<i.tabKeyAppointments.length-1){c=i.tabKeyAppointments[h+1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();return true}}else{var c=i.tabKeyAppointments[0];if(c){i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}else{if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);if(c){var h=i.tabKeyAppointments.indexOf(c);if(h>0){c=i.tabKeyAppointments[h-1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}return true}}}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell)}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}if(i.selectedAppointment){if(w==37){r("left")}else{if(w==38){r("up")}else{if(w==40){r("down")}else{if(w==39){r("right")}}}}if(w>=37&&w<=40){return false}return}var k=this._lastSelectedCell;if(!k){return}if(!a(this._lastSelectedCell).parent()[0]){this._lastSelectedCell=this.rows[0].cells[0];k=this._lastSelectedCell}var n=this.rows;var p=this._views[this._view].type;var l=this._views[this._view];var v="halfHour";if(l.timeRuler&&l.timeRuler.scale){v=l.timeRuler.scale}var q=function(K,F){var B=30;switch(v){case"sixtyMinutes":case"hour":B=60;break;case"thirtyMinutes":case"halfHour":B=30;break;case"fifteenMinutes":case"quarterHour":B=15;break;case"tenMinutes":B=10;break;case"fiveMinutes":B=5;break}var I=K.getAttribute("data-date");var H=function(U,N,P){if(U&&(U.getAttribute("rowspan")==null||p=="agendaView")&&U.getAttribute("data-time-slot")==null){if(P<i.min||P>i.max){return}var S=i.rows;var R=i._lastSelectedCell;i._lastSelectedCell=U;if(s.shiftKey&&i._lastSelectedCell){if(!i.shiftSelectedCell){i.shiftSelectedCell=k}}else{if(!s.shiftKey){i.shiftSelectedCell=null}}if(!i.shiftSelectedCell){for(var Q=0;Q<S.length;Q++){var T=S[Q];if(T.element.getAttribute("data-group-row")){continue}for(var O=0;O<T.cells.length;O++){var N=T.cells[O];N.removeAttribute("data-selected","false")}}U.setAttribute("data-selected","true");i.focusedCell=U}else{if(U.getAttribute("data-end-date")&&i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{if(!U.getAttribute("data-end-date")&&!i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{i.focusedCell=R;i._lastSelectedCell=R}}}i._ensureVisible(i.focusedCell)}};var y=new a.jqx.date(I,i.timeZone);var z=K.getAttribute("data-view");switch(F){case"left":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E>0){var C=M.cells[E-1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"right":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E<M.cells.length-1){var C=M.cells[E+1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"up":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var x=M.aboveRow;if(x){var C=x.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=-1+i.rows.indexOf(M);var C=K;while(G>=0){if(i.rows[G].cells[0]==C){G--}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"down":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var D=M.belowRow;if(D){var C=D.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=1+i.rows.indexOf(M);var C=K;while(G<i.rows.length){if(i.rows[G].cells[0]==C){G++}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"home":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var A=i.rows[0];var C=A.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break;case"end":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var L=i.rows[i.rows.length-1];var C=L.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break}i._updateCellsSelection()};var u=function(){q(k,"home")};var b=function(){q(k,"end")};if(w==36||(m&&w==38)){u();return false}else{if(w==35||(m&&w==40)){b();return false}else{if(w==37){if(i.selectedAppointment){r(k,"left")}else{q(k,"left")}return false}else{if(w==38){if(i.selectedAppointment){r(k,"up")}else{q(k,"up")}return false}else{if(w==40){if(i.selectedAppointment){r(k,"down")}else{q(k,"down")}return false}else{if(w==39){if(i.selectedAppointment){r(k,"right")}else{q(k,"right")}return false}}}}}}},getSelectedCells:function(){var g=this;var h=g.rows;var f=h.length;var b=new Array();for(var e=0;e<f;e++){var d=h[e].cells;for(var c=0;c<d.length;c++){if(d[c].getAttribute("data-selected")){b.push(d[c])}}}return b.sort(function(i,j){return g._sortByDate(i,j)})},getSelection:function(){var e=this;var b=e.getSelectedCells();if(b.length==0){return null}var h=b[0].getAttribute("data-date");var g=b[b.length-1].getAttribute("data-date");var d=e.getMinutesPerScale();var c=e._views[e._view].type;if(c.toLowerCase().indexOf("month")>=0){d=0}if(b[0].getAttribute("data-end-date")){d=0}g=new a.jqx.date(g,e.timeZone).addMinutes(d);var c=parseInt(b[0].getAttribute("data-view"))-1;var f=e._resources[c];if(e._views[e._view].type.toLowerCase().indexOf("month")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("day")>=0||e._views[e._view].type.toLowerCase().indexOf("week")>=0){h=new a.jqx.date(h,e.timeZone);if(g.minute()===0&&g.hour()===0&&h.hour()===0&&h.minute()===0){if(g.day()===h.day()){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}else{return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g).addDays(-1),resourceId:f}}}return{from:new a.jqx.date(h,e.timeZone),to:g,resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("agenda")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}},clearSelection:function(){var f=this;var g=f.rows;var e=g.length;for(var d=0;d<e;d++){var c=g[d].cells;for(var b=0;b<c.length;b++){c[b].removeAttribute("data-selected")}}f._updateCellsSelection()},_getvirtualcolumnsindexes:function(c,k,g,i,b){if(this.rtl){c=this.hScrollInstance.max-c}var d=0;var h=-1;var e=g+i;if(this.autorowheight){return{start:0,end:g+i}}if(!b){for(var f=0;f<g+i;f++){var l=f;if(!this.columns.records[f].hidden){d+=this.columns.records[f].width}if(d>=c&&h==-1){h=f}if(d>k+c){e=f;break}}}e++;if(e>g+i){e=g+i}if(h==-1){h=0}return{start:h,end:e}},_renderhorizontalscroll:function(){var k=this;var r=k.hScrollInstance;var s=r.value;if(k.hScrollBar[0].style.visibility==="hidden"){r.value=0;s=0}var d=parseInt(s);if(k.table==null){return}var j=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};var q=k._getvirtualcolumnsindexes(d,k._hostWidth,0,k.columns.records.length,false);var l=q.start;var n=q.end;var b=k.rows;for(var m=0;m<l;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=n;m<k.columns.records.length;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=l;m<n;m++){var h=m;t=k.columns.records[h].element[0];if(!j(t)){k.columnsrow[0].appendChild(t)}}var o=k.columnsrow;var p=0;var e=k.columns.records.length-p;var c=k.columns.records;var f=k.source.records.length==0;if(k.rtl){if(k.hScrollBar.css("visibility")!="hidden"){d=r.max-d}}k.table[0].style.left=-d+"px";if(k.pinnedtable[0].style.display=="block"){k.pinnedtable[0].style.left=-d+"px"}if(k._resources.length>0&&k.tableRows>0){for(var u=0;u<this.table[0].rows.length;u++){var g=this.table[0].rows[u];if(g.getAttribute("data-group-row")){a(g).find("span").css("left",5+d)}}}o[0].style.marginLeft=-d+"px"},_getDayName:function(b,d){if(b>=7){b-=7}if(!d){d=this.dayNameFormat;if(this.isTouchDevice()){d=this.touchDayNameFormat}}var c=this.schedulerLocalization.days.names[b];switch(d){case"full":c=this.schedulerLocalization.days.names[b];break;case"abbr":c=this.schedulerLocalization.days.namesAbbr[b];break;case"shortest":c=this.schedulerLocalization.days.namesShort[b];break;case"firstTwoLetters":c=c.substring(0,2);break;case"firstLetter":c=c.substring(0,1);break}return c},_initializeColumns:function(){if(this._views.length===0){this._views.push({type:"dayView"})}if(!this._views[this._view]){throw new Error("jqxScheduler: View is undefined. You need to define the View in the Views Array when you create jqxScheduler")}var p=this._views[this._view].type;var m=this._views[this._view];if(m.timeSlotWidth){m.timeSlotWidth=Math.max(m.timeSlotWidth,30);m.columnWidth=m.timeSlotWidth}if(m.columnWidth){if(m.columnWidth<30){m.columnWidth=30}}if(this.columns&&this.columns.records){for(var z=0;z<this.columns.records.length;z++){this._removecolumnhandlers(this.columns.records[z])}}this.columns=new Array();var B=new Array();var h=this;var q=function(H,N){var I="halfHour";if(m.timeRuler&&m.timeRuler.scale){I=m.timeRuler.scale}var Q=24;var G=0;var P=23;if(m.timeRuler){if(m.timeRuler.scaleStartHour!=undefined){var G=parseInt(m.timeRuler.scaleStartHour)}if(m.timeRuler.scaleEndHour!=undefined){var P=parseInt(m.timeRuler.scaleEndHour)}if(G<0){G=0}if(P<0){P=23}if(G>23){G=0}if(P>23){P=23}Q=P-G+1}var K=60;var O=2;if(I){switch(I){case"sixtyMinutes":case"hour":O=1;break;case"thirtyMinutes":case"halfHour":O=2;break;case"fifteenMinutes":case"quarterHour":O=4;break;case"tenMinutes":O=6;break;case"fiveMinutes":O=12;break}}var S=new Array();var R="auto";if(m.timeRuler&&m.timeRuler.formatString){R=m.timeRuler.formatString}var F=G;var L=Q;var D=H.addHours(F);var j="auto";if(m.columnWidth){j=O*m.columnWidth}else{j=O*80}for(var M=0;M<L;M++){var E=D.toDate();if(R==="auto"){if((E.getHours()==0&&E.getMinutes()==0)||(E.getHours()==12&&E.getMinutes()==0)){var J="hh tt"}else{var J="hh:mm"}}else{if(a.isFunction(R)){var J=R(E)}else{J=R}}if(a.jqx.dataFormat.isDate(E)){E=a.jqx.dataFormat.formatdate(E,J,h.schedulerLocalization)}D=D.addMinutes(K,false);h.columns.push({columnGroup:N,text:E,minwidth:30,width:j})}};for(var x=0;x<this.tableColumns;x++){if(this.tableColumns>1){var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({text:f,name:f})}var w="left";if(this.rtl){w="right"}switch(p){case"dayView":var g=this.getViewStart();if(false===m.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:w,width:v,columnGroup:f,text:this._getDayName(g.dayOfWeek())});break;case"weekView":case"monthView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(y>6){y=0}if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:p=="weekView"?w:"center",width:v,columnGroup:f,text:this._getDayName(y)})}break;case"timelineDayView":var f=h._resources[x]?h._resources[x]:"Resource"+x;q(h.getViewStart(),f);break;case"timelineWeekView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(false===m.showWeekends){if(z===0||z===6){continue}}var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({align:h.rtl?"right":"left",parentGroup:f,name:this._getDayName(y)+x,text:this._getDayName(y)});q(h.getViewStart().addDays(z),this._getDayName(y)+x)}break;case"timelineMonthView":var k=h.getViewStart();var A="auto";if(m.timeRuler&&m.timeRuler.formatString){A=m.timeRuler.formatString}for(var z=0;z<41;z++){var y=k.dayOfWeek();if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m.columnWidth){v=m.columnWidth}else{v=100}var r=k.toDate();if(A==="auto"){var c="dd";r=k.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(A)){var c=A(r)}else{c=A}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,h.schedulerLocalization)}k=k.addDays(1);var f=h._resources[x]?h._resources[x]:"Resource"+x;h.columns.push({minwidth:30,columnGroup:f,text:r,width:v})}break;case"agendaView":var l=m.dateColumnWidth;var u=m.timeColumnWidth;var o=m.appointmentColumnWidth;if(!o){o="70%"}if(!u){u="auto"}if(!l){l="auto"}h.columns.push({text:h.schedulerLocalization.agendaDateColumn,width:l});h.columns.push({text:h.schedulerLocalization.agendaTimeColumn,width:u});h.columns.push({text:h.schedulerLocalization.agendaAppointmentColumn,width:o});break}}if(B.length>0){this.columnGroups=B}var h=this;var s=new a.jqx.schedulerDataCollection(this.element);var d=0;this._columns=this.columns;var C="left";var e=new a.jqx.scheduler.column(h,this);e.visibleindex=d++;e.text="";e.width=h.timeRulerWidth;e.editable=false;e.timeColumn=true;C="left";e.text="";e.hidden=false;e.width=h.timeRulerWidth;var b=false;if(m.timeRuler&&(p==="dayView"||p==="weekView")){e._text=m.timeRuler.text||"";C=m.timeRuler.position||"left";e.hidden=m.timeRuler.hidden||false;e.width=m.timeRuler.width||h.timeRulerWidth;if(m.timeRuler.timeZones){b=true}}else{if(p!=="dayView"&&p!=="weekView"){e.hidden=true}}var n=function(i){var j=new a.jqx.scheduler.column(h,h);j.visibleindex=d++;j.text="";j.width=h.timeRulerWidth;j.editable=false;j.timeColumn=true;C="left";j.text="";j.hidden=false;j.timeZone=m.timeRuler.timeZones[i].id;j.width=h.timeRulerWidth;if(m.timeRuler&&(p==="dayView"||p==="weekView")){j._text=m.timeRuler.timeZones[z].text||"";j.hidden=m.timeRuler.hidden||false;j.width=m.timeRuler.width||h.timeRulerWidth;s.add(j)}};if(C==="left"&&(p==="dayView"||p==="weekView")){if(m.timeRuler&&m.timeRuler.timeZones){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="left"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}var t=new Array();a.each(this.columns,function(i){if(h.columns[i]!=undefined){var j=new a.jqx.scheduler.column(h,this);j.visibleindex=d++;s.add(j)}});if(C==="right"&&(p==="dayView"||p==="weekView")){if(m.timeRuler){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="right"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}if(this.rtl){s.records.reverse()}this.columns=s},_getColumnsLengthPerView:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=1;switch(b){case"dayView":c=1;break;case"weekView":if(d.showWeekends!==false){c=7}else{c=5}break;case"monthView":if(d.showWeekends!==false){c=7}else{c=5}break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":c=this.columns.records.length;break;case"agendaView":c=this.columns.records.length;break}return c},_renderagenda:function(){var ab=this;var h=ab._views[ab._view].type;var aa=ab._views[ab._view];var K=ab.getViewStart();var af=a.jqx.scheduler.utilities.getEndOfDay(ab.getViewEnd().addDays(-1));ab._prepareAppointmentsInView(K,af);var R=ab.appointmentsToRender.length;var al=new Array();var aj=0;for(var at=0;at<ab.appointmentsToRender.length;at++){var q=ab.appointmentsToRender[at];var au=q.from.clearTime();while(au<a.jqx.scheduler.utilities.getEndOfDay(q.to)){var d=au.toString();if(!al[d]){al[d]={date:au,appointments:new Array()};al[d].appointments.push(q);al[al.length]=al[d];aj++}else{al[d].appointments.push(q);aj++}au=au.addDays(1).clearTime()}}var O=0;var N=0;ab.rows=new Array();var av=a.jqx.browser.msie&&a.jqx.browser.version<8;var F=0;var ax=0;var ap=ab.rtl?" "+ab.toTP("jqx-grid-table-rtl"):"";var Z=0;var v="<table cellspacing='0' cellpadding='0' class='"+ab.toTP("jqx-grid-table")+ap+"' id='table"+ab.element.id+"'><colgroup>";var G=ab.columns.records.length;for(var aq=0;aq<G;aq++){var X=ab.columns.records[aq];if(X.hidden){F++;continue}var c=X.width;if(c<X.minwidth){c=X.minwidth}if(c>X.maxwidth){c=X.maxwidth}c-=ax;if(c<0){c=0}if(av){var ae=c;if(aq==F){ae++}v+="<col style='max-width: "+ae+"px; width: "+ae+"px;'>"}else{v+="<col style='max-width: "+c+"px; width: "+c+"px;'>"}Z+=c}v+="</colgroup>";if(R==0){var l='<tr role="row">';var f=this.host.height();var U=0;if(!ab.columnGroups){U+=ab.showHeader?ab.columnsHeight:0}else{U+=ab.showHeader?ab.columnsheader.height():0}if(ab.showToolbar){U+=ab.toolbarHeight}if(ab.showLegend&&ab._resources.length>0){U+=ab.legendHeight}f-=U;var e='<td data-date="'+K.toString()+'" colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+f+"px; height: "+f+"px; max-width:"+Z+"px; width:"+Z+"px;";var E=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");E+=" "+this.toTP("jqx-center-align");e+='" class="'+E+'">';e+=this.schedulerLocalization.emptyDataString;e+="</td>";l+=e;l+="</tr>";v+=l;this.table[0].style.width=Z+2+"px";N=Z}var k=ab.rowsHeight;if(ab.isTouchDevice()){k=ab.touchRowsHeight}for(var at=0;at<al.length;at++){var H=at;var au=al[at];for(var ai=0;ai<au.appointments.length;ai++){var m=0;var l='<tr data-key="'+H+'" role="row">';O=0;var u=au.appointments[ai];for(var aq=0;aq<G;aq++){var ah=ab.columns.records[aq];var ao=aq;if(ab.rtl){ao=G-1-aq}var c=ah.width;if(c<ah.minwidth){c=ah.minwidth}if(c>ah.maxwidth){c=ah.maxwidth}c-=ax;if(c<0){c=0}var E=ab.toTP("jqx-cell")+" "+ab.toTP("jqx-grid-cell")+" "+ab.toTP("jqx-item");if(ab.rtl){E+=" "+ab.toTP("jqx-cell-rtl")}var J="";var H=ab.dataview.generatekey();var s=-1;var g=au.date;var f=k+"px";var e='<td data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px; height: "+f+"; min-height: "+k+"px;";if(ao==0&&ai==0){var M=au.appointments.length;var e='<td rowspan="'+M+'" data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px;  min-height: "+k+"px;";E+=" "+ab.toTP("jqx-center-align")}else{if(ao==0){O++;continue}}if(ab.rtl&&ao==1){E+=" "+ab.toTP("jqx-right-align")}if(!(ah.hidden)){m+=ax+c;if(O==0&&!ab.rtl){e+="border-left-width: 0px;"}else{e+="border-left-width: 1px;"}O++}else{e+="display: none;";ab._hiddencolumns=true}e+='" class="'+E+'">';var an="";if(ao==0&&ai==0){var D=g.toString("dddd",ab.schedulerLocalization);var am=g.toString("MMMM, yyyy",ab.schedulerLocalization);var ar=ab.toTP("jqx-scheduler-agenda-date");var o=ab.toTP("jqx-scheduler-agenda-day");var n=ab.toTP("jqx-scheduler-agenda-week");an='<div class="'+ar+'"><strong class="'+o+'">'+g.day()+'</strong><br/><em class="'+n+'">'+D+'</em><br/><span class="'+ar+'">'+am+"</span></div>"}if(ao==1){var Q="auto";var aa=this._views[this._view];var z=u.from;var ay=u.to;if(aa.timeRuler&&aa.timeRuler.formatString){Q=aa.timeRuler.formatString}var ad=Q;var I=Q;if(Q==="auto"){if((z.hour()==0&&z.minute()==0)||(z.hour()==12&&z.minute()==0)){var ad="hh tt"}else{var ad="hh:mm"}if((ay.hour()==0&&ay.minute()==0)||(ay.hour()==12&&ay.minute()==0)){var I="hh tt"}else{var I="hh:mm"}}var ar=ab.toTP("jqx-scheduler-agenda-time");if(u.allDay){an="<span class='"+ar+"'>"+ab.schedulerLocalization.agendaAllDayString+"</span>"}else{if(!ab.rtl){an="<span class='"+ar+"'>"+z.toString(ad,ab.schedulerLocalization)+" - "+ay.toString(I,ab.schedulerLocalization)+"</span>"}else{an="<span class='"+ar+"'>"+ay.toString(I,ab.schedulerLocalization)+" - "+z.toString(ad,ab.schedulerLocalization)+"</span>"}}}else{if(ao==2){if(u.resourceId){a.each(ab._resources,function(r,x){if(u.resourceId==x){var i=ab.getColors(r);var j=this.toString();var w=ab.toTP("jqx-scheduler-agenda-appointment-resource jqx-scheduler-legend");if(ab.rtl){var w=ab.toTP("jqx-scheduler-agenda-appointment-resource-rtl jqx-scheduler-legend")}var t="<div data-key='"+u.id+"' class='"+w+"' style='margin-right: 5px; border-color: "+i.border+"; background: "+i.background+";' class='"+ab.toThemeProperty("jqx-scheduler-legend")+"'></div>";an=t}})}var W=u.subject?u.subject:"(No Title)";var C=u.location;var y=u.description;var T=u.status?ab.schedulerLocalization.editDialogStatuses[u.status]:"";var b=u.isRecurrentAppointment();var B=u.isException();var Y=""+ab.schedulerLocalization.editDialogSubjectString+": "+W+"";if(C){Y+="\n"+ab.schedulerLocalization.editDialogLocationString+": "+C+""}if(y){Y+="\n"+ab.schedulerLocalization.editDialogDescriptionString+": "+y+""}if(T){Y+="\n"+ab.schedulerLocalization.editDialogStatusString+": "+T+""}if(b){Y+="\n"+ab.schedulerLocalization.editDialogRepeatString+": "+b+""}var ar=ab.toTP("jqx-scheduler-agenda-appointment jqx-scheduler-legend-label");if(ab.rtl){var ar=ab.toTP("jqx-scheduler-agenda-appointment-rtl jqx-scheduler-legend-label")}an+="<span data-key='"+u.id+"' title='"+Y+"' class='"+ar+"'>"+W+"</span>"}}e+=an;e+="</td>";l+=e}if(N==0){ab.table[0].style.width=m+2+"px";ab.pinnedtable[0].style.width=m+2+"px";N=m}l+="</tr>";v+=l}}v+="</table>";ab.table[0].innerHTML=v;ab.pinnedtable[0].innerHTML=v;ab.pinnedtable[0].style.display="none";var ag=a(ab.table[0].firstChild);var V=a(ab.pinnedtable[0].firstChild);ab._table=ag;ab._pinnedtable=V;if(a.jqx.browser.msie&&a.jqx.browser.version<10){ab._table[0].style.width=N+"px";ab._pinnedtable[0].style.width=N+"px"}if(R===0){ab._table[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.display="none"}ab._pinnedtable[0].style.display="none";ab._table.addClass("jqx-grid-table-one-cell jqx-disableselect");ab.table[0].rows=ab.table[0].firstChild.rows;ab.rowByCell=new Array();ab.columnCells=new Array();function p(){var i={};i.cells=new Array();i.indexOf=function(j){for(var r=0;r<i.cells.length;r++){if(i.cells[r].getAttribute("data-key")==j.getAttribute("data-key")){return r}}return -1};return i}ab.cellWidth=0;ab.cellHeight=0;var L=ab.table[0].rows.length;for(var at=0;at<L;at++){var ak=ab.table[0].rows[at];if(ak.getAttribute("data-group-row")){continue}var A=new p();A.aboveRow=null;A.belowRow=null;if(ab.rows.length>0){A.aboveRow=ab.rows[ab.rows.length-1];ab.rows[ab.rows.length-1].belowRow=A}A.element=ak;ab.rows.push(A);var S=false;for(var aq=0;aq<ak.cells.length;aq++){if(ak.cells.length<ab.columns.records.length&&!S){var ac=at;while(ac>=0){var aw=ab.table[0].rows[ac];if(ab.table[0].rows[ac].cells.length==ab.columns.records.length){var P=aw.cells[0];if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);S=true;break}ac--}}var P=ak.cells[aq];if(P.style.display==="none"){continue}if(P.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);ab.rowByCell[P.getAttribute("data-key")]=A}}if(R===0){ab._table[0].style.tableLayout="auto"}ab._updateScrollbars(ab.host.height());ab._arrange();if(ab.rendered){ab.rendered()}ab.renderedTime=new Date()},_renderrows:function(){var V=this;if(V._loading){return}if(V._updating||V._appupdating){return}if(V.rendering){V.rendering()}var V=this;var aF=V._views[V._view].type;var G=V._views[V._view];if(aF=="agendaView"){V._renderagenda();return}var az=1;var d=V.getViewStart();var aN=a.jqx.scheduler.utilities.getEndOfDay(V.getViewEnd());V._prepareAppointmentsInView(d,aN);var N=new Array();if(aF==="weekView"||aF==="dayView"){var az=V.getMaxAllDayAppointments(V.appointmentsToRender)}else{if(aF==="monthView"&&G.monthRowAutoHeight&&V.rows&&V.rows.length==6){N=V._getMonthAppointmentsPerWeek()}}var aa=V.tableRows>1?V.tableRows:0;var aL="halfHour";var B=null;var aQ;if(G.rowHeight){B=G.rowHeight}if(G&&G.allDayRowHeight){aQ=G.allDayRowHeight}if(G.timeRuler&&G.timeRuler.scale){aL=G.timeRuler.scale}var aM=0;V.table[0].rows=new Array();V.rows=new Array();var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-widget-content");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var b=V.columns.records.length;var av=V._getColumnsLengthPerView();var W=a.jqx.browser.msie&&a.jqx.browser.version<8;if(W){V.host.attr("hideFocus","true")}V._lastSelectedCell=null;V.focusedCell=null;var E=new Array();var aD=V.source.records;aD=V.dataview.evaluate(aD);V.dataViewRecords=aD;V.cells=new Array();var E=V.dataViewRecords;V.renderedRecords=V.getRows();var aZ=V.tableZIndex;var ai=V.getRows().length;var o=0;var aH=0;if(W){for(var X=0;X<b;X++){var ac=V.columns.records[X];var aK=ac.width;if(aK<ac.minwidth){aK=ac.minwidth}if(aK>ac.maxwidth){aK=ac.maxwidth}var aJ=a('<table><tr><td role="gridcell" style="max-width: '+aK+"px; width:"+aK+'px;" class="'+a5+'"></td></tr></table>');a(document.body).append(aJ);var at=aJ.find("td");o=1+parseInt(at.css("padding-left"))+parseInt(at.css("padding-right"));aJ.remove();break}}var K=V.rtl?" "+V.toTP("jqx-grid-table-rtl"):"";var H="<table cellspacing='0' cellpadding='0' class='"+V.toTP("jqx-grid-table")+K+"' id='table"+V.element.id+"'><colgroup>";var aY=0;var a4=b;var aS=2;var an=30;switch(aL){case"sixtyMinutes":case"hour":an=60;aS=1;break;case"thirtyMinutes":case"halfHour":an=30;aS=2;break;case"fifteenMinutes":case"quarterHour":an=15;aS=4;break;case"tenMinutes":an=10;aS=6;break;case"fiveMinutes":an=5;aS=12;break}var a3=1;if(aF==="timelineDayView"||aF==="timelineWeekView"){b=aS*b;a3=aS;av=b/V.tableColumns}else{if(aF==="timelineMonthView"){av=b/V.tableColumns}else{if(aF==="monthView"){if(G.showWeekNumbers){av=(b-V.tableColumns)/V.tableColumns}else{av=b/V.tableColumns}}}}var g=function(i){var c=V.columns.records[i];if(c){return c}while(i>=V.columns.records.length){i-=V.columns.records.length}var c=V.columns.records[i];return c};for(var X=0;X<b;X++){var ac=g(X);if(ac.hidden){aY++;a4--;continue}var aK=ac.width/a3;if(aK<ac.minwidth){aK=ac.minwidth/a3}if(aK>ac.maxwidth){aK=ac.maxwidth/a3}aK-=o;if(aK<0){aK=0}if(aF=="monthView"&&V.rtl&&ac.timeColumn){aK++}if(W){var P=aK;if(X==aY){P++}H+="<col style='max-width: "+P+"px; width: "+P+"px;'>"}else{H+="<col style='max-width: "+aK+"px; width: "+aK+"px;'>"}aH+=aK}H+="</colgroup>";V._hiddencolumns=false;if(ai===0){var u='<tr role="row">';var z=V.host.height();if(V.pageable){z-=V.pagerHeight;if(V.pagerPosition==="both"){z-=V.pagerHeight}}z-=V.columnsHeight;if(V.showLegend&&V._resources.length>0){z-=V.legendHeight}if(z<25){z=25}if(V.hScrollBar[0].style.visibility!="hidden"){z-=V.hScrollBar.outerHeight()}if(V.height==="auto"||V.height===null||V.autoheight){z=300}var aJ='<td colspan="'+V.columns.records.length+'" role="gridcell" style="border: none; min-height: '+z+"px; height: "+z+"px; max-width:"+aH+"px; width:"+aH+"px;";var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}a5+=" "+V.toTP("jqx-center-align");aJ+='" class="'+a5+'">';aJ+=V.schedulerLocalization.emptyDataString;aJ+="</td>";u+=aJ;H+=u;V.table[0].style.width=aH+2+"px";aM=aH}var au=V.getRows();var d=V.getViewStart();var z=V._hostHeight?V._hostHeight:V.host.height();var a2=0;if(!V.columnGroups){a2+=V.showHeader?V.columnsHeight:0}else{a2+=V.showHeader?V.columnsheader.height():0}if(V.showToolbar){a2+=V.toolbarHeight}if(V.showLegend&&V._resources.length>0){a2+=V.legendHeight}var f=V.showAllDayRow;var m=23;if(G.resourceHeaderRowHeight){m=G.resourcesRowHeight}m+=2;if(G.showAllDayRow!=undefined){f=G.showAllDayRow}var h=V._columnswidth>V._hostWidth;var al=h?(3+V.scrollBarSize):0;var ag=V.tableRows>1?V.resources.unitsInView:1;if(ag==undefined){ag=V._resources.length}if(V.resources&&V.resources.resourceRowHeight){B=V.resources.resourceRowHeight}if(B==null||B=="auto"){var p=V.rowsHeight;var ap=3*p;if(V.isTouchDevice()){p=V.touchRowsHeight;var ap=22+p}if(V.tableRows==1){B=z>0?(z-a2):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2):p}}else{B=z>0?(z-a2-m)/(ai):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2-ag*m)/(ag*ai):p}}if(aF==="dayView"||aF==="weekView"){if(f){if(aQ==null||aQ=="auto"){B=z>0?(z-a2)/(V.tableRows*(ai)):ap;aQ=B}else{B=z>0?(z-a2-aQ-ag*m)/(ag*(ai-1)):p}}}else{if(aF==="monthView"){if(V.hScrollBar[0].style.visibility=="hidden"){al=0}if(V.tableRows==1){B=z>0?(z-a2-al)/ai:p}else{B=z>0?(z-a2-m-al)/(ai):p}}}B=Math.max(p,B);if(!aQ){aQ=ap}aQ=Math.max(ap,aQ);V._allDayRowHeight=aQ;V._defaultRowHeight=p;aQ=az*(p-2);aQ=Math.max(ap,17+aQ);V._allDayRowFullHeight=aQ;if(G.allDayRowHeight){V._allDayRowHeight=G.allDayRowHeight;aQ=az*(G.allDayRowHeight-2);V._allDayRowFullHeight=aQ}}var aB=new Array();if(V.resources&&V.resources.colorScheme){for(var ao=0;ao<V.colorSchemes.length;ao++){if(V.colorSchemes[ao].name==V.resources.colorScheme){aB=V.colorSchemes[ao].colors;break}}while(V._resources.length>aB.length-1){var aW=parseInt(V.resources.colorScheme.substring(6));if(aW>=27){aW=0}aB=aB.concat(V.colorSchemes[aW].colors);aW++}}for(var aE=0;aE<V.tableRows;aE++){var aq=0;var S=0;var e=23;if(G.timeRuler&&G.timeRuler.scaleStartHour!=undefined){var S=parseInt(G.timeRuler.scaleStartHour)}if(G.timeRuler&&G.timeRuler.scaleEndHour!=undefined){var e=parseInt(G.timeRuler.scaleEndHour)}var A=d;if(false===G.showWeekends){if(A.dayOfWeek()==0||A.dayOfWeek()==6){A=A.addDays(1)}}var ar=new Array();var k=aF!="monthView"&&aF!="timelineDayView"&&aF!="timelineWeekView"&&aF!="timelineMonthView"&&f?1:0;if(V.tableRows>1){var u='<tr data-group-row="true" role="row">';var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(!W){a5+=" "+V.toTP("jqx-grid-cell-pinned");Z+=' colspan="'+b+'"';var P=0;for(var Q=0;Q<b;Q++){var ab=g(Q);var ak=ab.width/a3;if(ak<ab.minwidth){aK=ab.minwidth/a3}if(ak>ab.maxwidth){aK=ab.maxwidth/a3}ak-=o;if(ak<0){ak=0}if(!ab.hidden){P+=ak}}aK=P}else{a5+=" "+V.toTP("jqx-grid-cell-pinned")}var aJ='<td style="height:'+m+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!="none"){var aO="";var y="";var D="";var L=function(i){var c=105;var j=(i.r*0.299)+(i.g*0.587)+(i.b*0.114);var q=(255-j<c)?"Black":"White";return q};aO=aB[aE];aO=V.hexToRgba(aB[aE],0.7).toString();D=L(V.hexToRgba(aB[aE],0.7));y=aB[aE];aJ+="background: "+aO+";";aJ+="border-color: "+y+";";aJ+="color: "+D+";"}aJ+='" class="'+a5+'" role="gridcell" '+Z+"";var aX=V._resources[aE];aJ+="><span style='position: relative;'>"+aX+"</span>";aJ+="</td>";u+=aJ;H+=u}for(var Y=0;Y<ai;Y++){var aI={};var am="jqx"+V.element.id+"_"+Y;aI.uid=am;var u='<tr data-key="'+am+'" role="row">';var ad=0;var x=0;if(ar[0]&&Y>k){var an=30;if(aF!="monthView"){switch(aL){case"sixtyMinutes":case"hour":an=60;break;case"thirtyMinutes":case"halfHour":an=30;break;case"fifteenMinutes":case"quarterHour":an=15;break;case"tenMinutes":an=10;break;case"fiveMinutes":an=5;break}for(var T=0;T<b;T++){ar[T]=ar[T].addMinutes(an,false)}}else{for(var T=0;T<b;T++){ar[T]=ar[T].addDays(7,false)}}}var ax=0;var ae=1;var aj=0;if(G.showWeekends||G.showWeekends==undefined){aj=(V.columns.records.length)/(7*V.tableColumns);aj*=aS}else{aj=(V.columns.records.length)/(5*V.tableColumns);aj*=aS}var aw=0;if(V.rtl){aw=1}var aU=0;for(var X=0;X<b;X++){var R=g(X);if(ax>=av){ax=0;aU=0;aw=0;if(V.rtl){aw=1}ae++}if(!ar[X]){if(!V.rtl){if(aF.toString().indexOf("timelineDayView")>=0){var I=X;ar[X]=A.addHours(S).addMinutes(I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){ar[X]=A.addDays(aU).addHours(S,false).addMinutes(aw*an,false)}else{ar[X]=A.addDays(ax).addHours(S,false)}}if(V.timeZone){ar[X].timeZone=V.timeZone}}else{if(aF.toString().indexOf("timelineDayView")>=0){var I=1+X;ar[X]=A.addHours(1+e).addMinutes(-I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-aU).addHours(1+e,false).addMinutes(-aw*an,false)}else{ar[X]=A.addDays(4-aU).addHours(1+e,false).addMinutes(-aw*an,false)}}else{if(aF=="dayView"||aF=="monthView"||aF=="weekView"){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-ax).addHours(S,false)}else{ar[X]=A.addDays(4-ax).addHours(S,false)}}else{ar[X]=A.addDays(av-ax-1).addHours(S,false)}}}if(V.timeZone){ar[X].timeZone=V.timeZone}}}aw++;if(aw>=aj){aw=0;aU++}if(!R.timeColumn&&(aF==="dayView"||aF==="weekView")){ax++}else{if(!R.timeColumn&&(aF==="monthView"&&G.showWeekNumbers)){ax++}else{if((aF==="monthView"&&!(G.showWeekNumbers))||aF==="timelineMonthView"){ax++}else{if(aF=="timelineDayView"||aF=="timelineWeekView"){ax++}}}}var C=ar[X];var aK=R.width/a3;if(aK<R.minwidth){aK=R.minwidth/a3}if(aK>R.maxwidth){aK=R.maxwidth/a3}aK-=o;if(aK<0){aK=0}var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(R.pinned){a5+=" "+V.toTP("jqx-grid-cell-pinned")}if(V.sortcolumn===R.displayfield){a5+=" "+V.toTP("jqx-grid-cell-sort")}if(V.altRows&&Y%2!=0){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(C>V.max||C<V.min){a5+=" "+V.toTP("jqx-scheduler-disabled-cell")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var Z="";var am=V.dataview.generatekey();var aG=aE+ae;if(V.resources&&V.resources.orientation=="none"){aG=-1}if(V._resources.length==0){aG=-1}var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+B+"px;";if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td  data-key="'+am+'" data-view="'+(aG)+'" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.clearTime().toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px; height:"+aQ+"px;"}if(aF=="monthView"&&G.monthRowAutoHeight&&N.length>0){if(N[Y]&&N[Y]!="auto"){if(B<N[Y]){var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+N[Y]+"px;"}}}if(V.date.month()!=C.month()&&aF==="monthView"&&!G.showOtherMonthDays){}if(V.resources&&V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!=="none"){var aO="";var y="";aO=aB[aE+ae-1];if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){aO=V.hexToRgba(aB[aE+ae-1],0.3).toString()}else{aO=V.shadeColor(aB[aE+ae-1],0.3).toString()}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){aO=V.hexToRgba(aB[aE+ae-1],0.1).toString()}}}}}}y=aB[ae+aE-1];aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(R.timeColumn&&!R.hidden&&aF==="monthView"){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");a5+=" "+V.toTP("jqx-scheduler-week-number-column");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" role="gridcell" style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}if(X==b-1&&V.rtl){aJ+="border-right-color: transparent;"}}else{x++;continue}}if(R.timeColumn&&!R.hidden&&(aF==="dayView"||aF==="weekView")){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(Y>0){if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" rowspan='+aS+' role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}}else{x++;continue}}else{if(V.resources&&V.resources.orientation=="none"){aG=-1}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td data-view="'+(aG)+'" data-time-slot="true" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(X==0&&b==1&&V.rtl){aJ+="border-right-color: transparent;"}}if(V.rtl){aJ+="border-left-width: 1px;"}if(V.tableRows>1){aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}}}else{if(Y>0){var n="border-left-width: 1px;";if(V.rtl&&X==0&&aF=="monthView"&&G.showWeekNumbers){n="border-left-width: 0px;"}aJ+=n}}if(R.cellsalign!="left"){if(R.cellsalign==="right"){a5+=" "+V.toTP("jqx-right-align")}else{a5+=" "+V.toTP("jqx-center-align")}}if(!R.timeColumn){if(V.rowinfo[aI.uid]){if(V.rowinfo[aI.uid].selected){if(V.editKey!==aI.uid){if(V.selectionMode!=="none"){a5+=" "+V.toTP("jqx-grid-cell-selected");a5+=" "+V.toTP("jqx-fill-state-pressed");a5+=" "+V.toTP("jqx-scheduler-cell-selected")}}}}}if(!(R.hidden)){ad+=o+aK;if(x==0&&!V.rtl){aJ+="border-left-width: 0px;"}x++}else{aJ+="display: none;";V._hiddencolumns=true}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){a5+=" "+V.toTP("jqx-grid-cell-nowrap");if(Y%2==1&&!R.timeColumn){a5+=" "+V.toTP("jqx-scheduler-middle-cell")}if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){a5+=" "+V.toTP("jqx-scheduler-work-time-cell")}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}}}}var ah="";if(aF==="monthView"){if(!V.touchDevice&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align")}var af="dd";ah=C.toDate();var a1=V.toTP("jqx-scheduler-month-outer-cell")+" ";var aA=V.toTP("jqx-scheduler-month-weekend-cell");if(V.date.month()==C.month()){a1=""}if(!C.isWeekend()){aA=""}else{a5+=" "+aA}if(ah.getDate()===1){af="MMM dd"}if(V.touchDevice){if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}else{if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}}else{if(aF==="timelineWeekView"||aF==="timelineDayView"||aF==="timelineMonthView"){a5+=" "+V.toTP("jqx-right-align jqx-bottom-align");ah="<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span>"}}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align");a5+=" "+V.toTP("jqx-scheduler-all-day-cell");if(V.rtl){a5+=" "+V.toTP("jqx-rtl")}ah=C.toDate();ah="<span>"+a.jqx.dataFormat.formatdate(ah,"dd",V.schedulerLocalization)+"</span>"}var r=R.cellsFormat;if(R.timeColumn&&!R.hidden){ah=C.toDate();if(R.timeZone){ah=C.clone().toTimeZone(R.timeZone);ah=ah.toDate()}var s="auto";if(G.timeRuler&&G.timeRuler.formatString){r=G.timeRuler.formatString}else{if(!R.timeColumn.format){if(ah.getHours()==0||ah.getHours()==12){r="hh tt"}else{r="hh:mm"}}}if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}if(Y<k){if(!V.rtl){a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell")}else{a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell-rtl")}ah=""}if(Y<k){if(R._text){a5+=" "+V.toTP("jqx-bottom-align")}if(G.timeRuler&&G.timeRuler.timeZones&&G.timeRuler.timeZones.length>0){if(X<G.timeRuler.timeZones.length){ah=R._text}}}if(aF=="monthView"){ah=C.weekOfYear(V.schedulerLocalization.firstDay)}}else{if(r!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}else{if(a.jqx.dataFormat.isNumber(ah)||(!isNaN(parseFloat(ah))&&isFinite(ah))){ah=a.jqx.dataFormat.formatnumber(ah,r,V.schedulerLocalization)}}}}}if(R.cellclassname!=""&&R.cellclassname){if(typeof R.cellclassname=="string"){a5+=" "+R.cellclassname}else{var a0=R.cellclassname(Y,R.datafield,ah,aI);if(a0){a5+=" "+a0}}}if(R.cellsRenderer!=""&&R.cellsRenderer){var aT=au.indexOf(aI);ah=R.cellsRenderer(aT,R.datafield,ah,aI)}aJ+='" class="'+a5+'">';aJ+=ah;aJ+="</td>";u+=aJ}if(aM==0){V.table[0].style.width=ad+2+"px";V.pinnedtable[0].style.width=ad+2+"px";aM=ad}u+="</tr>";H+=u;if(!V.rowinfo[aI.uid]){V.rowinfo[aI.uid]={row:aI}}else{if(!("row" in V.rowinfo[aI.uid])){V.rowinfo[aI.uid].row=aI}}}}H+="</table>";V.table[0].innerHTML=H;V.pinnedtable[0].innerHTML=H;V.table[0].rows=V.table[0].firstChild.rows;var aR=a.jqx.browser.msie&&a.jqx.browser.version<9;var aP=null;if(f&&(aF==="dayView"||aF==="weekView")&&V.tableRows==1){V.pinnedtable[0].style.display="block";V.pinnedtable[0].style.zIndex="400";V.pinnedtable[0].style.position="absolute";V.pinnedtable[0].style.top="0px";V.pinnedtable[0].style.height=aQ+"px";if(!aR){if(V.tableRows==1){V.oldRow=V.table[0].rows[0];try{V.table[0].rows[0]=V.pinnedtable.find("tr")[0]}catch(aC){}aP=V.pinnedtable.find("tr")[0];V.pinnedTableRow=aP}else{V.oldRow=V.table[0].rows[1];try{V.table[0].rows[1]=V.pinnedtable.find("tr")[1]}catch(aC){}aP=V.pinnedtable.find("tr")[1];V.pinnedTableRow=aP}}}else{V.pinnedtable[0].style.display="none"}var Q=a(V.table[0].firstChild);var aV=a(V.pinnedtable[0].firstChild);V._table=Q;V._pinnedtable=aV;if(a.jqx.browser.msie&&a.jqx.browser.version<10){V._table[0].style.width=aM+"px";V._pinnedtable[0].style.width=aM+"px"}if(ai===0){V._table[0].style.width=(2+aM)+"px";V._pinnedtable[0].style.width=(2+aM)+"px"}V._table.addClass("jqx-grid-table-one-cell jqx-disableselect");V._pinnedtable.addClass("jqx-grid-table-one-cell jqx-disableselect");V.rowByCell=new Array();V.columnCells=new Array();function F(){var c={};c.cells=new Array();c.indexOf=function(j){for(var q=0;q<c.cells.length;q++){if(c.cells[q].getAttribute("data-key")==j.getAttribute("data-key")){return q}}return -1};return c}V.cellWidth=0;V.cellHeight=0;var U=V.table[0].rows.length;for(var Y=0;Y<U;Y++){var v=V.table[0].rows[Y];if(Y==0&&aP){v=aP}if(v.getAttribute("data-group-row")){continue}var aI=new F();aI.aboveRow=null;aI.belowRow=null;if(V.rows.length>0){aI.aboveRow=V.rows[V.rows.length-1];V.rows[V.rows.length-1].belowRow=aI}aI.element=v;V.rows.push(aI);for(var X=0;X<v.cells.length;X++){var M=v.cells[X];if(M.getAttribute("data-time-slot")){continue}if(M.style.display==="none"){continue}if(M.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!V.columnCells[aI.cells.length]){V.columnCells[aI.cells.length]=new Array()}V.columnCells[aI.cells.length].push(M);if(V.cellWidth==0){V.cellWidth=M.clientWidth}if(V.cellHeight==0&&(U==1||Y>1)){V.cellHeight=M.clientHeight}if(V._views[V._view].type=="monthView"){if(aI.top==undefined){aI.top=parseInt(a(M).position().top)}}aI.cells.push(M);V.rowByCell[M.getAttribute("data-key")]=aI}}if(ai===0){V._table[0].style.tableLayout="auto"}V._renderAppointments(d,aN);if(V.pinnedtable[0].style.display!="none"||((aF=="dayView"||aF=="weekView")&&V.tableRows>1)){V._updateScrollbars(V.host.height())}if(aF==="monthView"&&G.monthRowAutoHeight){if(N.length==0){V._renderrows()}else{V._updateScrollbars(V.host.height())}}if(V.rendered){V.rendered()}V.renderedTime=new Date()},showAppointmentsByResource:function(f){var e=this;for(var d=0;d<e.uiappointments.length;d++){var g=e.uiappointments[d];if(g.resourceId==f){g.hidden=false;g.hiddenByResourceId=false;if(g.exceptions){for(var c=0;c<g.exceptions.length;c++){g.exceptions[c].hiddenByResourceId=false}}}}if(e._resourcesElements){var b=e.getColors(e._resources.indexOf(f));e._resourcesElements.top[f].attr("data-toggle","on");e._resourcesElements.top[f].css("background",b.background);e._resourcesElements.bottom[f].attr("data-toggle","on");e._resourcesElements.bottom[f].css("background",b.background)}if(e.hiddenResources){delete e.hiddenResources[f]}e._renderrows()},hideAppointmentsByResource:function(e){var d=this;for(var c=0;c<d.uiappointments.length;c++){var f=d.uiappointments[c];if(f.resourceId==e){f.hidden=true;f.hiddenByResourceId=true;if(f.exceptions){for(var b=0;b<f.exceptions.length;b++){f.exceptions[b].hiddenByResourceId=true;f.exceptions[b].hidden=true}}}}if(d._resourcesElements){d._resourcesElements.top[e].attr("data-toggle","off");d._resourcesElements.top[e].css("background","transparent");d._resourcesElements.bottom[e].attr("data-toggle","off");d._resourcesElements.bottom[e].css("background","transparent")}if(!d.hiddenResources){d.hiddenResources=new Array()}d.hiddenResources[e]=true;d._renderrows()},_prepareAppointmentsInView:function(g,f){var h=this;if(h._appupdating){return}var l=new Array();for(var s=0;s<this.uiappointments.length;s++){var n=this.uiappointments[s];if(n.hidden&&n.recurrencePattern==null){continue}var o=a.jqx.scheduler.utilities.rangeIntersection(n.from,n.to,g,f);if(o&&!n.recurrencePattern){l.push(n)}n.renderedAppointments=new Array();var v=false;if(n.recurrencePattern){var u=n.getOccurrences(g,f);var t=n.exceptions;for(var r=0;r<u.length;r++){var e=u[r];if(e.hidden){continue}var c=true;for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.occurrenceFrom:k;if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(w.clearTime())){h.selectedJQXAppointment=k;v=true}}if(w.clearTime().equals(e.from.clearTime())){c=false;break}}if(!c){continue}if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(e.occurrenceFrom.clearTime())){h.selectedJQXAppointment=e;v=true}}n.renderedAppointments[e.id]=e;l.push(e)}for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.from:k;var q=n.createOccurrence(w);if(k.occurrenceFrom){k.cloneAppointmentAttributes(q);if(k.hidden){continue}}if(q!=n){l.push(k);n.renderedAppointments[k.id]=k}}}}var b=new Array();this.tabKeyAppointments=new Array();for(var s=0;s<l.length;s++){var d=l[s];b.push(d);this.tabKeyAppointments.push(d)}b.sort(this._sortAppointmentsByFrom);if(this._resources.length>0){this.tabKeyAppointments.sort(function(j,i){return h._sortAppointmentsByResourceId(j,i,h)})}else{this.tabKeyAppointments.sort(this._sortAppointmentsByFrom)}this.appointmentsToRender=b},_renderDayWeekAppointments:function(){var N=this;var ab=N._views[N._view].type;var M=N._views[N._view];var A=new Array();var K=new Array();var Z=this.rows;var E=N.showAllDayRow;var ad=N.getMinutesPerScale();if(M.timeRuler&&M.timeRuler.showAllDayRow!=undefined){E=M.timeRuler.showAllDayRow}for(var f=0;f<this.appointmentsToRender.length;f++){var s=this.appointmentsToRender[f];var u=s.from;var ae=s.to;var V=a.jqx.scheduler.utilities.getEndOfDay(ae);var D=u.day();var e=s.allDay;var v=N._getDateByString;var G=new Array();var r=new Array();var p=s.resourceId;var h=N._resources.indexOf(p);if(N.resources&&N.resources.orientation=="none"){h=-1}var B=u.toDate().valueOf();var k=ae.toDate().valueOf();var Q=V.toDate().valueOf();var af=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};if(!s.allDay&&s.duration().days()<1||!E){var q=ae.toDate();var I=false;if(q.getHours()==0&&q.getMinutes()==0){I=true}for(var X=0;X<N.columnCells.length;X++){if(!N.columnCells[X]){continue}var w=N.columnCells[X];if(N.rtl){w=N.columnCells[N.columnCells.length-1-X]}for(var W=0;W<w.length;W++){if(w[W].getAttribute("data-end-date")){continue}var n=w[W].getAttribute("data-date");var Y=v(n);var F=v(n);F.setMinutes(F.getMinutes()+ad-1);var m=Y.valueOf();var H=F.valueOf();if(m>ae){continue}if((B<=m&&m<k)||(B<=H&&H<k)||(B>=m&&H>=k)){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(D!=Y.getDate()){G.sort(af);r.push(G);G=new Array();D=u.addDays(1).day()}G.push({cell:w[W],date:Y})}}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){continue}var c=N.cellWidth;var d=w[w.length-1].cell.offsetTop+N.cellHeight;var P=w[0].cell.offsetLeft;var O=w[0].cell.offsetTop;var S=N.getMinutesPerScale();var q=new a.jqx.date(w[w.length-1].date,N.timeZone).addMinutes(S);var ac={cells:w,x:P,y:O,height:d-O,width:c,appointment:s,from:new a.jqx.date(w[0].date,N.timeZone),to:q};C.push(ac);A.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}else{var w=Z[0].cells;if(this.tableRows>1){var U=Z.length/N.tableRows;var b=h*U;w=Z[b].cells}for(var W=0;W<w.length;W++){var n=w[W].getAttribute("data-date");var ag=v(n);var Y=new a.jqx.date(ag,N.timeZone);Y=a.jqx.scheduler.utilities.getEndOfDay(Y);var m=Y.toDate().valueOf();if(m>V){continue}if(u<=Y&&Y<=V){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(G.length==0){Y=a.jqx.scheduler.utilities.getStartOfDay(Y)}G.push({cell:w[W],date:Y})}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){break}var l=a(w[0].cell).position();var c=a(w[w.length-1].cell).position().left+this.cellWidth-l.left;var d=a(w[w.length-1].cell).position().top;var P=l.left;var O=l.top;if(this.rtl){var l=a(w[w.length-1].cell).position();var P=l.left;var c=a(w[0].cell).position().left+this.cellWidth-l.left}var T=w[w.length-1].date;T=new a.jqx.date(a.jqx.scheduler.utilities.getEndOfDay(T),N.timeZone);var ac={cells:w,x:P,y:O,height:d-O+this.cellHeight,width:c,appointment:s,from:a.jqx.scheduler.utilities.getStartOfDay(new a.jqx.date(w[0].date,N.timeZone)),to:T};C.push(ac);K.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}}var z=this.getViewStart();var R=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;aa[J].push(t)}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}this._renderAllDayAppointments(K)}else{for(var W=0;W<this._resources.length;W++){var L=this._resources[W];var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;if(t.appointment.resourceId==L){aa[J].push(t)}}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}var o=new Array();for(var X=0;X<K.length;X++){if(K[X].appointment.resourceId==L){o.push(K[X])}}this._renderAllDayAppointments(o)}}},_renderAllDayAppointments:function(ar){var ac=this;var I=this.showAllDayRow;var ab=this._views[this._view];if(ab.timeRuler&&ab.timeRuler.showAllDayRow!=undefined){I=ab.timeRuler.showAllDayRow}if(!I){return}if(ar.length==0){return}var B=ar;var H=1;H=this.getMaxAllDayAppointments(ar);if(this.tableRows==1){var A=this.table[0].rows[0].clientHeight/H}else{var A=this.table[0].rows[1].clientHeight/H}for(var ap=0;ap<ar.length;ap++){var z=ar[ap];z.row=-1;var d=this.getCollisionAppointments(z,ar);d.sort(this._sortAppointmentsByFrom);var s=d.indexOf(z);if(s>=0){for(var aj=s;aj<d.length;aj++){d[aj].row=-1}}for(var am=0;am<H;am++){var n=am;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(n,d)){Y.row=n;var an=H;var c=this.getMaxAllDayAppointments(d);if(an>c){an=c}Y.rowsCount=an}}}}for(var am=0;am<B.length;am++){var z=B[am];var d=this.getCollisionAppointments(z,B);d.sort(this._sortAppointmentsByFrom);var l=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];l=Math.max(l,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=l}if(d.length==1){z.rowSpan=l}else{var F=0;var f=true;for(var aj=z.row;aj<l;aj++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==z){continue}if(Y.row==aj){f=false}}if(!f){break}F++}z.rowSpan=F}}var aq=ac.appointmentsMinHeight+2;if(ac.isTouchDevice()){var aq=ac.touchAppointmentsMinHeight+2}for(var ae=0;ae<B.length;ae++){var ad=aq;var z=B[ae];z.height=aq;var D=ad*z.row;z.y=18+z.y+D+(4*z.row);z.x+=3;z.width-=8;if(z.appointment.from.hour()!=0||z.appointment.to.hour()!=23){var C=this.getViewStart();var ag=this.getViewEnd();if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30);if(z.appointment.from<C){K=0}z.timewidth=z.width;z.timex=K;var L=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);if(z.appointment.to>ag){L=0}z.timewidth-=K;if(L>0){z.timewidth-=ac.cellWidth;z.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){z.width=z.timewidth;z.x+=K}}else{var K=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);var L=(parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30));if(K>0){K=ac.cellWidth-K}if(z.appointment.from<C){L=0}if(z.appointment.to>ag){K=0}if(ab.appointmentsRenderMode=="exactTime"){z.x+=K;z.width-=K;z.width-=L}if(z.appointment.duration().days()<1){if(z.width<15){z.width=15}}z.timewidth=z.width;if(ab.appointmentsRenderMode=="exactTimeStatus"){z.timewidth-=K;z.timewidth-=L}z.timex=K}}}for(var ae=0;ae<B.length;ae++){var ak=B[ae];var N="";var P="auto";var ab=this._views[this._view];var o=ak.appointment.from;var av=ak.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var af=P;if(P==="auto"){if((o.hour()==0&&o.minute()==0)||(o.hour()==12&&o.minute()==0)){var af="hh tt"}else{var af="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var y="hh tt"}else{var y="hh:mm"}}var u=o.toString(af);var v=av.toString(y);var J=ak.appointment.duration();var e=ak.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=ak.appointment.background;var T=ak.appointment.subject?ak.appointment.subject:"(No Title)";var M=ak.appointment.color;var i=ak.appointment.resourceId;var ah=ac.getColors(ac._resources.indexOf(i));var ai=" data-resourceId='"+i+"' ";var X=ak.appointment.borderColor;var t=ak.appointment.location;if(t.length>0){t=", "+t}if(!aa){aa=ah.background}if(!X){X=ah.border}if(!M){M=ah.color}var b=ak.appointment.isRecurrentAppointment();var r=ak.appointment.isException();var g=u+"-"+v;if(e){u="";v=""}var ao="";var w=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[ak.appointment.status];var k=false;if(R){if(R=="transparent"){k=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+w+"'></div>"}k=true}}var E=ac.toTP("jqx-scheduler-appointment-duration-status");var al="<div style='width: "+ak.timewidth+"px; left: "+ak.timex+"px;' class='"+E+"'></div>";if(e){al=""}var G="";if(ab.appointmentsRenderMode!="exactTimeStatus"){al=""}if(ac.rtl){var w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+w+"'></div>"}G=S;S=""}var W="";var Q=T+t;if(!e){Q=T+t+al}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:ak.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:ak.width,height:ak.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ah=ac.getAppointmentColors(au.style);aa=ah.background;X=ah.border;M=ah.color}}}if(ao===""){if(k){var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+G+"</div>"}else{var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(r){var h=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+h+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var q=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+q+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);if(this.tableRows==1){V.appendTo(this.pinnedtable)}else{V.appendTo(this.table)}ak.element=V;if(this.appointmentTooltips){if(!ak.appointment.tooltip){var Z=ak.appointment.subject;if(u){Z=u+" - "+v+" "+Z}if(Z){var t=ak.appointment.location;if(t){Z+="\n"+t}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",ak.appointment.tooltip)}}}},_renderAppointmentsInDay:function(an,am){if(an.length==0){return}var Z=this;var Y=this._views[this._view];var B=an;var C=this.getViewStart();var ac=this.getViewEnd();var ai=1;var o=0;if(Y.timeRuler){o=this.columns.records[1].width;if(Y.timeRuler.timeZones){o=this.columns.records[1+Y.timeRuler.timeZones.length].width}}else{o=this.columns.records[1].width}ai=this.getMaxColumnsInADay(an);var n=o/ai;if(n<0){return}for(var al=0;al<an.length;al++){var A=an[al];A.column=-1;var d=this.getCollisionAppointments(A,an);d.sort(this._sortAppointmentsByFrom);var t=d.indexOf(A);if(t>=0){for(var ag=t;ag<d.length;ag++){d[ag].column=-1}}for(var aj=0;aj<ai;aj++){var e=aj;for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==-1&&!this.isBusyColumn(e,d)){V.column=e;var g=ai;var c=this.getMaxColumnsInADay(d);if(g>c){g=c}V.columnsCount=g}}}}for(var aj=0;aj<B.length;aj++){var A=B[aj];var d=this.getCollisionAppointments(A,B);d.sort(this._sortAppointmentsByFrom);var H=1;for(var R in d){if(R=="indexOf"){break}var L=d[R];if(L.columnsCount==undefined){continue}H=Math.max(H,L.columnsCount)}for(var R in d){if(R=="indexOf"){break}var L=d[R];L.columnsCount=H}if(d.length==1){A.columnSpan=H}else{var D=0;var f=true;for(var ag=A.column;ag<H;ag++){for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==undefined){continue}if(V==A){continue}if(V.column==ag){f=false}}if(!f){break}D++}A.columnSpan=D}}for(var aa=0;aa<B.length;aa++){var E=o/B[aa].columnsCount;var A=B[aa];A.width=-5+(E*A.columnSpan);var ap=E*A.column;A.x=2+A.x+ap;A.height-=5;A.y+=1;if(Y.appointmentsRenderMode=="exactTime"){var ae=Z.getMinutesPerScale();if(A.appointment.from.minute()%ae!=0){var at=A.appointment.from.minute()%ae;var J=parseFloat(Z.cellHeight/ae)*at}else{var J=0}if(A.appointment.to.minute()%ae!=0){var at=A.appointment.to.minute()%ae;var G=Z.cellHeight-parseFloat(Z.cellHeight/ae)*at;if(A.to.day()!==A.appointment.to.day()){G=0}}else{G=0}A.y+=J;A.height-=J;A.height-=G}}for(var aa=0;aa<B.length;aa++){var ah=B[aa];var K="";var M="auto";var Y=this._views[this._view];var q=ah.appointment.from;var ar=ah.appointment.to;if(Y.timeRuler&&Y.timeRuler.formatString){M=Y.timeRuler.formatString}var ab=M;if(M==="auto"){if((q.hour()==0&&q.minute()==0)||(q.hour()==12&&q.minute()==0)){var ab="hh tt"}else{var ab="hh:mm"}if((ar.hour()==0&&ar.minute()==0)||(ar.hour()==12&&ar.minute()==0)){var z="hh tt"}else{var z="hh:mm"}}var v=q.toString(ab);var w=ar.toString(z);var X=ah.appointment.background;var Q=ah.appointment.subject?ah.appointment.subject:"(No Title)";var u=ah.appointment.location?ah.appointment.location:"";var I=ah.appointment.color;var k=ah.appointment.resourceId;var ad=Z.getColors(Z._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var U=ah.appointment.borderColor;if(!X){X=ad.background}if(!U){U=ad.border}if(!I){I=ad.color}var b=ah.appointment.isRecurrentAppointment();var s=ah.appointment.isException();var ak="";var y=Z.toTP("jqx-scheduler-appointment-status");var P="";var O=Z.statuses[ah.appointment.status];var l=false;if(O){if(O=="transparent"){l=false}else{P="<div style='background: "+O+"; border-right-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-right-color: "+U+"' class='"+y+"'></div>"}l=true}}var F="";if(Z.rtl){var y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");P="<div style='background: "+O+"; border-left-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-left-color: "+U+"' class='"+y+"'></div>"}F=P;P=""}var T="";var N=Q+"<br/>"+u;if(!u){var N=Q}if(Z.renderAppointment){var aq=Z.renderAppointment({appointment:ah.appointment.boundAppointment,textColor:I,background:X,borderColor:U,html:N,cssClass:"",style:"",width:ah.width,height:ah.height,view:Z._views[Z._view].type});if(aq){var K=aq.html;if(K!=N){N=K}I=aq.textColor;X=aq.background;U=aq.borderColor;if(aq.cssClass){T=aq.cssClass+" "}if(aq.style!=""){var ad=Z.getAppointmentColors(aq.style);X=ad.background;U=ad.border;I=ad.color}}}if(ak===""){if(l){var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'>"+P+"<div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div>"+F+"</div>"}else{var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div></div>"}}var ao="";if(Z.rtl){ao=Z.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var h=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-exception-white"):Z.toTP("jqx-icon-recurrence-exception");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+h+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{if(b){var r=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-white"):Z.toTP("jqx-icon-recurrence");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+r+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}}var S=a(K);S.appendTo(this.table);ah.element=S;if(this.appointmentTooltips){if(!ah.appointment.tooltip){var W=ah.appointment.subject;if(W){var u=ah.appointment.location;if(u){W+="\n"+u}S[0].setAttribute("title",W)}}else{S[0].setAttribute("title",ah.appointment.tooltip)}}}},getCollisionAppointments:function(b,f){var j=new Array();var g=b.from;var h=b.to;for(var d=0;d<f.length;d++){var k=f[d];var e=k.from;var c=k.to;if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},getAllDayCollisionAppointments:function(b,f){var j=new Array();var g=a.jqx.scheduler.utilities.getStartOfDay(b.from);var h=a.jqx.scheduler.utilities.getEndOfDay(b.to);for(var d=0;d<f.length;d++){var k=f[d];var e=a.jqx.scheduler.utilities.getStartOfDay(k.from);var c=a.jqx.scheduler.utilities.getEndOfDay(k.to);if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},_renderAppointments:function(e,c){var d=this;if(d._appupdating){return}d.table.find(".jqx-scheduler-appointment").remove();d.pinnedtable.find(".jqx-scheduler-appointment").remove();var b=d._views[d._view].type;if(b==="dayView"||b==="weekView"){d._renderDayWeekAppointments(e,c)}else{if(b==="monthView"){d._renderMonthAppointments(e,c)}else{if(b==="timelineWeekView"||b==="timelineDayView"||b==="timelineMonthView"){d._renderTimelineAppointments(e,c)}}}if(d.selectedJQXAppointment){d._selectAppointment(d.selectedJQXAppointment)}},_renderTimelineAppointments:function(t,I){var E=this;var Q=E._views[E._view].type;var D=E._views[E._view];var u=new Array();var P=this.rows;var L=this.cellHeight;var K=this.cellWidth;var J=E.getMinutesPerScale();for(var d=0;d<this.appointmentsToRender.length;d++){var o=this.appointmentsToRender[d];var p=o.from;var S=o.to;var r=E._getDateByString;var A=new Array();var v=p.toDate().valueOf();var g=S.toDate().valueOf();if(Q==="timelineMonthView"){v=p.clearTime().toDate().valueOf()}var T=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var q=E.rows[0];var m=o.resourceId;var f=E._resources.indexOf(m);if(E._resources.length>0){if(E.resources.orientation!=="horizontal"){if(f>=1){q=E.rows[f]}}}if(E.resources&&E.resources.orientation=="none"){f=-1;var q=E.rows[0]}var s=q.cells;for(var M=0;M<s.length;M++){var k=s[M].getAttribute("data-date");s[M].appointments=new Array();var O=r(k);var h=O.valueOf();var z=r(k);z.setMinutes(z.getMinutes()+J-1);var B=z.valueOf();if(h>S){continue}if((v<=h&&h<g)||(v<=B&&B<g)||(v>=h&&v<=B&&g<=B)){if(f!=-1){if((1+f)!=s[M].getAttribute("data-view")){continue}}A.push({cell:s[M],date:O});q=N}}A.sort(T);var w=new Array();var s=A;if(s.length==0){break}var l=E.appointmentsMinHeight;if(E.isTouchDevice()){l=E.touchAppointmentsMinHeight}if(D.appointmentHeight){l=D.appointmentHeight}var H=a(s[0].cell).position();var c=l;var b=a(s[s.length-1].cell).position().left-H.left+K;var G=H.left;var F=H.top;if(E.rtl){var H=a(s[s.length-1].cell).position();var b=a(s[0].cell).position().left-H.left+K;var G=H.left;var F=H.top}var n=new a.jqx.date(s[s.length-1].date,E.timeZone).addMinutes(J);if(Q==="timelineMonthView"){var n=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(s[s.length-1].date,E.timeZone))}var R={cellX:G,cellY:F,cellHeight:L,cells:s,x:G,y:F,height:c,width:b,appointment:o,from:new a.jqx.date(s[0].date,E.timeZone),to:n};if(D.appointmentsRenderMode==="exactTime"){R.from=o.from;R.to=o.to}w.push(R);u.push(R);o.elements=w;if(o.rootAppointment){o.rootAppointment.elements=o.rootAppointment.elements.concat(o.elements)}}if(this._resources.length<2||this.resources.orientation=="none"){this._renderUITimelineAppointments(u,t,I)}else{for(var M=0;M<this._resources.length;M++){var C=this._resources[M];var e=new Array();for(var N=0;N<u.length;N++){if(u[N].appointment.resourceId==C){e.push(u[N])}}this._renderUITimelineAppointments(e,t,I)}}},_renderUITimelineAppointments:function(ao,w,ac){var Y=this;var ap=Y._views[Y._view].type;var X=Y._views[Y._view];var E=ao;var C=1;var Y=this;var T=new Array();C=Y.getMaxTimelineAppointments(ao,T,w,ac);var h=Y.appointmentsMinHeight;if(Y.isTouchDevice()){h=Y.touchAppointmentsMinHeight}if(X.appointmentHeight){h=X.appointmentHeight}for(var an=0;an<ao.length;an++){var g=ao[an];g.row=-1;var d=Y.getCollisionAppointments(g,ao);d.sort(Y._sortAppointmentsByFrom);var t=d.indexOf(g);if(t>=0){for(var aj=t;aj<d.length;aj++){d[aj].row=-1}}for(var ak=0;ak<C;ak++){var o=ak;for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U.row==-1&&!Y.isBusyRow(o,d)){U.row=o;var al=C;var c=Y.getMaxTimelineAppointments(d,T,w,ac);if(al>c){al=c}U.rowsCount=al}}}}for(var ak=0;ak<E.length;ak++){var g=E[ak];var d=Y.getCollisionAppointments(g,E);d.sort(Y._sortAppointmentsByFrom);var n=1;for(var P in d){if(P=="indexOf"){break}var K=d[P];n=Math.max(n,K.rowsCount)}for(var P in d){if(P=="indexOf"){break}var K=d[P];K.rowsCount=n}if(d.length==1){g.rowSpan=n}else{var z=0;var f=true;for(var aj=g.row;aj<n;aj++){for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U==g){continue}if(U.row==aj){f=false}}if(!f){break}z++}g.rowSpan=z}}for(var aa=0;aa<E.length;aa++){var Z=h;var g=E[aa];g.height=Z;var y=2+(3+Z)*g.row;g.y=g.y+y;g.x+=1;g.width-=5;var e=Y._views[Y._view].type;var X=Y._views[Y._view];if(e=="timelineMonthView"&&X.appointmentsRenderMode){if((g.appointment.from.hour()!=0||g.appointment.to.hour()!=23)){if(!Y.rtl){var F=parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30);var G=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);g.timewidth=g.width;g.timex=F;g.timewidth-=F;g.timewidth-=Y.cellWidth;g.timewidth+=G;if(X.appointmentsRenderMode=="exactTime"){g.width=g.timewidth;if(Y.date.month()===g.appointment.from.month()){g.x+=F}else{g.width=F+g.timewidth}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15;if(F+15>Y.cellWidth){var D=Y.cellWidth-F-15;g.x+=D}}}}}else{var F=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);var G=(parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30));if(F>0){F=Y.cellWidth-F}if(X.appointmentsRenderMode=="exactTime"){g.x+=F;g.width-=F;g.width-=G}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15}}g.timewidth=g.width;g.timex=F}}}else{if(X.appointmentsRenderMode){if(X.appointmentsRenderMode=="exactTime"){var ae=Y.getMinutesPerScale();if(g.appointment.from.minute()%ae!=0){var au=g.appointment.from.minute()%ae;var F=parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var F=parseFloat(Y.cellWidth/ae)*au}}else{var F=0}if(g.appointment.to.minute()%ae!=0){var au=g.appointment.to.minute()%ae;var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au}}else{G=0}if(!Y.rtl){g.x+=F;g.width-=F;g.width-=G}else{g.x+=G;g.width-=F;g.width-=G}}}}}var ah="";for(var aa=0;aa<E.length;aa++){var ai=E[aa];var I="";var J="auto";var X=Y._views[Y._view];var q=ai.appointment.from;var at=ai.appointment.to;if(X.timeRuler&&X.timeRuler.formatString){J=X.timeRuler.formatString}var W=ai.appointment.background;var O=ai.appointment.subject?ai.appointment.subject:"(No Title)";var u=ai.appointment.location;if(u&&u.length>1){u=", "+u}var H=ai.appointment.color;var k=ai.appointment.resourceId;var ad=Y.getColors(Y._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var S=ai.appointment.borderColor;if(!W){W=ad.background}if(!S){S=ad.border}if(!H){H=ad.color}var b=ai.appointment.isRecurrentAppointment();var s=ai.appointment.isException();var am="";var v=Y.toTP("jqx-scheduler-appointment-status");var N="";var M=Y.statuses[ai.appointment.status];var l=false;if(M){if(M=="transparent"){l=false}else{N="<div style='background: "+M+"; border-right-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-right-color: "+S+"' class='"+v+"'></div>"}l=true}}var A="";if(Y.rtl){var v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");N="<div style='background: "+M+"; border-left-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-left-color: "+S+"' class='"+v+"'></div>"}A=N;N=""}var R="";var L=O+"<br/>"+u;if(Y.renderAppointment){var ar=Y.renderAppointment({appointment:ai.appointment.boundAppointment,textColor:H,background:W,borderColor:S,html:L,cssClass:"",style:"",width:ai.width,height:ai.height,view:Y._views[Y._view].type});if(ar){var I=ar.html;if(I!=L){L=I}H=ar.textColor;W=ar.background;S=ar.borderColor;if(ar.cssClass){R=ar.cssClass+" "}if(ar.style!=""){var ad=Y.getAppointmentColors(ar.style);W=ad.background;S=ad.border;H=ad.color}}}if(am===""){if(l){var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'>"+N+"<div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div>"+A+"</div>"}else{var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div></div>"}}var aq="";if(Y.rtl){aq=Y.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var i=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-exception-white"):Y.toTP("jqx-icon-recurrence-exception");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+i+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var r=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-white"):Y.toTP("jqx-icon-recurrence");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+r+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}ah=I;var Q=a(I);Q.appendTo(this.table);ai.element=Q;if(this.appointmentTooltips){if(!ai.appointment.tooltip){var V=ai.appointment.subject;if(V){var u=ai.appointment.location;if(u){V+="\n"+u}Q[0].setAttribute("title",V)}}else{Q[0].setAttribute("title",ai.appointment.tooltip)}}}var ag=Y.table.find(".jqx-scheduler-appointment");var B=function(m){for(var j=0;j<ag.length;j++){var p=ag[j].getAttribute("data-key");if(p==m){return ag[j]}}};for(var aa=0;aa<E.length;aa++){var ai=E[aa];var ab=false;var Q=a(B(ai.appointment.id));a.each(ai.cells,function(p){var m=a(this.cell);var aw=ai.cellY;var av=ai.cellX;var j=ai.cellHeight;if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:Q,appointment:ai});Q=Q;if(ai.y+ai.height>=aw+j-12){Q[0].style.visibility="hidden";var x=m.find(".jqx-icon-arrow-down");if(x.length>0){x[0].style.display="block";x[0].mousedown=function(){if(Y.openedMonthCellPopup){Y.openedMonthCellPopup.remove()}var ax=a("<div></div>");var aA=new a.jqx.date(m.attr("data-date"),Y.timeZone);var aD=a("<div class='"+Y.toTP("jqx-scheduler-month-cell")+"'><span style='float: right; cursor: pointer; width:16px; height: 16px;' class='"+Y.toTP("jqx-icon-close")+"'></span></div>");aD.height(16);aD.find("span")[0].mousedown=function(){ax.remove()};aD.addClass(Y.toTP("jqx-widget-header"));ax.addClass(Y.toTP("jqx-widget"));ax.addClass(Y.toTP("jqx-window"));ax.addClass(Y.toTP("jqx-scheduler-month-cell-popup"));ax.addClass(Y.toTP("jqx-popup"));var aE=a("<div></div>");ax.append(aD);ax.append(aE);aE.addClass(Y.toTP("jqx-widget-content"));var ay=m.width();var aG=21;for(var aB=0;aB<m[0].appointments.length;aB++){var az=m[0].appointments[aB].ui.clone(true);az.css("left","3px");az.css("top","0px");az.css("margin-top","2px");az.css("position","relative");az.css("visibility","visible");az.width(ay-6);az.click(function(aH){var aI=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aH.target));Y._raiseEvent("appointmentClick",{appointment:aI.boundAppointment})});az.dblclick(function(aI){var aJ=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aI.target));if(!aJ.readOnly&&!Y.editRecurrenceDialog.jqxWindow("isOpen")&&(!Y._editDialog||(Y._editDialog&&!Y._editDialog.jqxWindow("isOpen")))){var aH=Y._initDialog(aJ);if(aH!==false){Y._openDialog()}}Y._raiseEvent("appointmentDoubleClick",{appointment:aJ.boundAppointment})});aG+=az.outerHeight()+4;aE.append(az)}ax.css("overflow","hidden");ax.css("position","absolute");var aF=Y.table.height()-aw-25;if(aF<j){aF=j}ax.css("max-height",aF);ax.height(aG);ax.width(ay);ax.css("z-index","9999");var aC=m.position();ax.css("top",aC.top);ax.css("left",aC.left);Y.table.append(ax);Y.openedMonthCellPopup=ax}}}})}},_renderMonthAppointments:function(){var K=this;var U=K._views[K._view].type;var J=K._views[K._view];var A=new Array();var S=this.rows;var O=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){O=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}for(var e=0;e<this.appointmentsToRender.length;e++){var r=this.appointmentsToRender[e];var t=a.jqx.scheduler.utilities.getStartOfDay(r.from);var W=a.jqx.scheduler.utilities.getEndOfDay(r.to);var c=r.allDay;var v=K._getDateByString;var F=new Array();var q=new Array();var B=t.toDate().valueOf();var k=W.toDate().valueOf();var X=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var u=-1;var o=r.resourceId;var h=K._resources.indexOf(o);if(K.resources&&K.resources.orientation=="none"){h=-1}for(var Q=0;Q<K.rows.length;Q++){var w=K.rows[Q].cells;for(var P=0;P<w.length;P++){var m=w[P].getAttribute("data-date");var R=v(m);var l=R.valueOf();if(l>W){continue}w[P].appointments=new Array();if(h!=-1){if((1+h)!=w[P].getAttribute("data-view")){continue}}if(B<=l&&l<k){if(u!=Q&&u!=-1){F.sort(X);q.push(F);F=new Array()}F.push({cell:w[P],date:R});u=Q}}}F.sort(X);q.push(F);var C=new Array();for(var Q=0;Q<q.length;Q++){var w=q[Q];if(w.length==0){break}var n=K.appointmentsMinHeight;if(K.isTouchDevice()){n=K.touchAppointmentsMinHeight}if(J.appointmentHeight){n=J.appointmentHeight}var d=n;var E=a(w[w.length-1].cell).position().left;var b=E-a(w[0].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[0].cell).position().left+K.columns.records[1].width}var G=a(w[0].cell).position();var M=G.left;var L=G.top+O;var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[w.length-1].date,K.timeZone));var D=new a.jqx.date(w[0].date,K.timeZone);if(K.rtl){var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[0].date,K.timeZone));var D=new a.jqx.date(w[w.length-1].date,K.timeZone);var G=a(w[w.length-1].cell).position();var M=G.left;var L=G.top+O;var E=a(w[0].cell).position().left;var b=E-a(w[w.length-1].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[w.length-1].cell).position().left+K.columns.records[1].width}}var V={cells:w,cellY:parseInt(G.top),cellX:parseInt(G.left),lastCellY:parseInt(G.top),lastCellX:E,x:M,y:L,height:d,width:b,appointment:r,from:D,to:p};C.push(V);A.push(V)}r.elements=C;if(r.rootAppointment){r.rootAppointment.elements=r.rootAppointment.elements.concat(r.elements)}}var z=this.getViewStart();var N=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;T[H].push(s)}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}else{for(var P=0;P<this._resources.length;P++){var I=this._resources[P];var g=new Array();var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;if(s.appointment.resourceId==I){T[H].push(s)}}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}}},_getMonthAppointmentsPerWeek:function(){var M=this;var W=M._views[M._view].type;var L=M._views[M._view];var C=new Array();var U=this.rows;var Q=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){Q=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}if(!M.rows){return new Array()}var B=this.getViewStart();var P=this.getViewEnd();for(var e=0;e<this.appointmentsToRender.length;e++){var s=this.appointmentsToRender[e];var u=a.jqx.scheduler.utilities.getStartOfDay(s.from);var Y=a.jqx.scheduler.utilities.getEndOfDay(s.to);var c=s.allDay;var z=M._getDateByString;var H=new Array();var r=new Array();var D=u.toDate().valueOf();var l=Y.toDate().valueOf();var Z=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var v=-1;var p=s.resourceId;var k=M._resources.indexOf(p);if(M.resources&&M.resources.orientation=="none"){k=-1}for(var S=0;S<M.rows.length;S++){var A=M.rows[S].cells;for(var R=0;R<A.length;R++){var n=A[R].getAttribute("data-date");var T=B.addDays(S*7+R).toDate();var m=T.valueOf();if(m>Y){continue}if(k!=-1){if((1+k)!=A[R].getAttribute("data-view")){continue}}if(D<=m&&m<l){if(v!=S&&v!=-1){H.sort(Z);r.push(H);H=new Array()}H.push({cell:A[R],date:T});v=S}}}H.sort(Z);r.push(H);var E=new Array();for(var S=0;S<r.length;S++){var A=r[S];if(A.length==0){break}var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}var d=o;var G=a(A[A.length-1].cell).position().left;var b=G-a(A[0].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[0].cell).position().left+M.columns.records[1].width}var I=a(A[0].cell).position();var O=I.left;var N=I.top+Q;var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[A.length-1].date,M.timeZone));var F=new a.jqx.date(A[0].date,M.timeZone);if(M.rtl){var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[0].date,M.timeZone));var F=new a.jqx.date(A[A.length-1].date,M.timeZone);var I=a(A[A.length-1].cell).position();var O=I.left;var N=I.top+Q;var G=a(A[0].cell).position().left;var b=G-a(A[A.length-1].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[A.length-1].cell).position().left+M.columns.records[1].width}}var X={cells:A,cellY:parseInt(I.top),cellX:parseInt(I.left),lastCellY:parseInt(I.top),lastCellX:G,x:O,y:N,height:d,width:b,appointment:s,from:F,to:q};E.push(X);C.push(X)}}if(this._resources.length<2||this.resources.orientation=="none"){var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;V[J].push(t)}}J++;g=g.addDays(7)}var f=new Array();for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}f.push((w*(o+3))+22)}else{f.push("auto")}}return f}else{var f=new Array();for(var R=0;R<this._resources.length;R++){var K=this._resources[R];var h=new Array();var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;if(t.appointment.resourceId==K){V[J].push(t)}}}J++;g=g.addDays(7)}for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);f.push((w*(o+3))+22)}else{f.push("auto")}}return f}}},_renderUIMonthAppointments:function(ar){var ab=this._views[this._view];var I=ar;var B=this.getViewStart();var ah=this.getViewEnd();var G=1;var ac=this;G=this.getMaxMonthAppointments(ar);var i=ac.appointmentsMinHeight;if(ac.isTouchDevice()){i=ac.touchAppointmentsMinHeight}if(ab.appointmentHeight){i=ab.appointmentHeight}var f=this._sortAppointmentsByFrom;if(this.rtl){f=this._sortAppointmentsByTo}for(var aq=0;aq<ar.length;aq++){var h=ar[aq];h.row=-1;var d=this.getCollisionAppointments(h,ar);d.sort(f);var u=d.indexOf(h);if(u>=0){for(var ak=u;ak<d.length;ak++){d[ak].row=-1}}for(var an=0;an<G;an++){var q=an;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(q,d)){Y.row=q;var ao=G;var c=this.getMaxMonthAppointments(d);if(ao>c){ao=c}Y.rowsCount=ao}}}}for(var an=0;an<I.length;an++){var h=I[an];var d=this.getCollisionAppointments(h,I);d.sort(f);var o=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];o=Math.max(o,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=o}if(d.length==1){h.rowSpan=o}else{var E=0;var g=true;for(var ak=h.row;ak<o;ak++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==h){continue}if(Y.row==ak){g=false}}if(!g){break}E++}h.rowSpan=E}}for(var ae=0;ae<I.length;ae++){var ad=i;var h=I[ae];h.height=ad;var C=2+(3+ad)*h.row;h.y=h.y+C;h.x+=1;h.width-=5;if(h.appointment.from.hour()!=0||h.appointment.to.hour()!=23){if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);h.timewidth=h.width;if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.timex=K}else{K=0}if(h.appointment.elements.length>1){if(h.appointment.elements[0]!=h){K=0}}var L=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);if(h.appointment.elements.length>1){if(h.appointment.elements[h.appointment.elements.length-1]!=h){L=0}}h.timewidth-=K;if(L>0){h.timewidth-=ac.cellWidth;h.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.x+=K}h.width=h.timewidth;if(h.appointment.duration().days()<1){if(h.width<15){h.width=15;if(K+15>ac.cellWidth){var H=ac.cellWidth-K-15;h.x+=H}}}}}else{var K=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);var L=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);if(h.appointment.elements.length>1){if(h==h.appointment.elements[0]){if(L>0){if(ab.appointmentsRenderMode=="exactTime"){h.width-=(ac.cellWidth-K);h.width-=L}else{h.timewidth=h.width-ac.cellWidth+K-L}}else{h.timewidth=h.width;h.timex=0}}else{if(h==h.appointment.elements[h.appointment.elements.length-1]){if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width+=K;h.width-=ac.cellWidth}h.timewidth=h.width-ac.cellWidth+K;h.timex=ac.cellWidth-K}}}else{if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width-=(ac.cellWidth-K);h.width-=L}if(h.appointment.duration().days()<1){if(h.width<15){h.width=15}}h.timewidth=h.width-ac.cellWidth+K-L;h.timex=ac.cellWidth-K}}}}for(var ae=0;ae<I.length;ae++){var al=I[ae];var N="";var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var ag=P;var A=P;if(P==="auto"){if((r.hour()==0&&r.minute()==0)||(r.hour()==12&&r.minute()==0)){var ag="hh tt"}else{var ag="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var A="hh tt"}else{var A="hh:mm"}}var w=r.toString(ag);var y=av.toString(A);var J=al.appointment.duration();var e=al.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=al.appointment.background;var T=al.appointment.subject?al.appointment.subject:"(No Title)";var M=al.appointment.color;var l=al.appointment.resourceId;var ai=ac.getColors(ac._resources.indexOf(l));var aj=" data-resourceId='"+l+"' ";var X=al.appointment.borderColor;var v=al.appointment.location;if(v&&v.length>1){v=", "+v}if(!aa){aa=ai.background}if(!X){X=ai.border}if(!M){M=ai.color}var b=al.appointment.isRecurrentAppointment();var t=al.appointment.isException();var ap="";var z=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[al.appointment.status];var n=false;if(R){if(R=="transparent"){n=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+z+"'></div>"}n=true}}var D=ac.toTP("jqx-scheduler-appointment-duration-status");var am="<div style='width: "+al.timewidth+"px; left: "+al.timex+"px;' class='"+D+"'></div>";if(e){am=""}if(ab.appointmentsRenderMode!="exactTimeStatus"){am=""}var F="";if(ac.rtl){var z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+z+"'></div>"}F=S;S=""}var W="";var Q=T+v;if(!e){Q=T+v+am}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:al.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:al.width,height:al.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ai=ac.getAppointmentColors(au.style);aa=ai.background;X=ai.border;M=ai.color}}}if(ap===""){if(n){var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+F+"</div>"}else{var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(t){var k=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+k+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var s=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+s+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);V.appendTo(this.table);al.element=V;if(this.appointmentTooltips){if(!al.appointment.tooltip){var Z=al.appointment.subject;if(w&&!e){Z=w+" - "+y+" "+Z}if(Z){var v=al.appointment.location;if(v){Z+="\n"+v}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",al.appointment.tooltip)}}var af=false;a.each(al.cells,function(){var m=a(this.cell);var j=m.position();if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:V,appointment:al});if(al.y+al.height+2>=j.top+m.height()){V.css("visibility","hidden");var p=m.find(".jqx-icon-arrow-down");p.show();if(p[0]){p[0].mousedown=function(){if(ac.openedMonthCellPopup){ac.openedMonthCellPopup.remove()}var aw=a("<div></div>");var aB=m.find("div").clone(true);aB.find("span").removeClass().addClass(ac.toTP("jqx-icon-close"));aB.find("span")[0].mousedown=function(){aw.remove()};aB.addClass(ac.toTP("jqx-widget-header"));aw.addClass(ac.toTP("jqx-widget"));aw.addClass(ac.toTP("jqx-window"));aw.addClass(ac.toTP("jqx-scheduler-month-cell-popup"));aw.addClass(ac.toTP("jqx-popup"));var az=a("<div></div>");aw.append(aB);aw.append(az);az.addClass(ac.toTP("jqx-widget-content jqx-disableselect"));var ay=m.width();var x=5+m.find("div").outerHeight();for(var ax=0;ax<m[0].appointments.length;ax++){var aA=m[0].appointments[ax].ui.clone(true);aA.css("left","3px");aA.css("top","0px");aA.css("margin-top","2px");aA.css("position","relative");aA.css("visibility","visible");aA.width(ay-6);x+=aA.outerHeight()+4;az.append(aA);aA.click(function(aC){var aD=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aC.target));ac._raiseEvent("appointmentClick",{appointment:aD.boundAppointment})});aA.dblclick(function(aD){var aE=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aD.target));if(!aE.readOnly&&!ac.editRecurrenceDialog.jqxWindow("isOpen")&&(!ac._editDialog||(ac._editDialog&&!ac._editDialog.jqxWindow("isOpen")))){var aC=ac._initDialog(aE);if(aC!==false){ac._openDialog()}}ac._raiseEvent("appointmentDoubleClick",{appointment:aE.boundAppointment})})}aw.css("overflow","hidden");aw.css("position","absolute");aw.height(x);aw.width(ay);aw.css("z-index","9999");aw.css("top",j.top);aw.css("left",j.left);ac.table.append(aw);ac.openedMonthCellPopup=aw}}}})}},_sortByDate:function(b,e){var d=b.getAttribute("data-date");d=this._getDateByString(d);var c=e.getAttribute("data-date");c=this._getDateByString(c);if(d<c){return -1}if(d>c){return 1}if(d==c){return 0}},_sortAppointmentsByFrom:function(b,f){if(b.from.equals(f.from)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.from<f.from){return -1}if(b.from>f.from){return 1}if(b.from==f.from){return 0}},_sortAppointmentsByTo:function(b,f){if(b.to.equals(f.to)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.to<f.to){return -1}if(b.to>f.to){return 1}if(b.to==f.to){return 0}},_sortAppointmentsByResourceId:function(b,f,e){var d=e._resources.indexOf(b.resourceId);var c=e._resources.indexOf(f.resourceId);if(d==c){return 0}if(d<c){return -1}if(d>c){return -1}},isBusyRow:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.row==e){return true}}return false},isBusyColumn:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.column==e){return true}}return false},getMaxTimelineAppointments:function(c,s,f,e){if(c.length==0){return 1}var i=this;var t=i._views[i._view].type;var j=i._views[i._view];var k=1;var m=f;var u=e;var q=this.getMinutesPerScale();var n=null;var r=null;var w="";for(var g in c){if(g=="indexOf"){break}var d=c[g];if(!n){n=d.from}if(!r){r=d.to}n=Math.min(d.from,n);r=Math.max(d.to,r);w+=d.appointment.id}w+=n;w+=r;if(s[w]){return s[w]}n=new a.jqx.date(n,i.timeZone);r=new a.jqx.date(r,i.timeZone);var m=n;while(n<r){var p=m;if(t==="timelineMonthView"){var b=p.addDays(1)}else{var b=p.addMinutes(q)}var o=0;for(var g in c){if(g=="indexOf"){break}var d=c[g];var h=d.from;var v=d.to;var l=a.jqx.scheduler.utilities.rangeIntersection(p,b,h,v);if(l){o++}}k=Math.max(o,k);if(t==="timelineMonthView"){m=m.addDays(1,false)}else{m=m.addMinutes(q,false)}}s[w]=k;return k},getMaxMonthAppointments:function(g){var i=this._views[this._view].type;var l=this._views[this._view];if(g.length==0){return 1}var o=1;var h=this.getViewStart().clone();var e=this.getViewEnd();while(h<e){var j=h;var k=a.jqx.scheduler.utilities.getEndOfDay(j);var n=0;for(var f in g){if(f=="indexOf"){break}var b=g[f];var d=b.from;var c=b.to;var m=a.jqx.scheduler.utilities.rangeIntersection(j,k,d,c);if(m){n++}}o=Math.max(n,o);h=h.addDays(1,false)}return o},getMaxAllDayAppointments:function(e){var h=this._views[this._view].type;var l=this._views[this._view];var f=this;if(e.length==0){return 1}var n=function(r){var y=1;var s=f.getViewStart();var p=f.getViewEnd();while(s<p){var t=s;var u=a.jqx.scheduler.utilities.getEndOfDay(t);var x=0;for(var q in r){if(q=="indexOf"){break}var i=r[q];var v=i;if(i.appointment){v=i.appointment}if(v.hidden==true){continue}if(!v.duration){continue}if(v.allDay||v.duration().days()>=1){var o=i.from;var j=i.to;var w=a.jqx.scheduler.utilities.rangeIntersection(t,u,o,j);if(w){x++}}}y=Math.max(x,y);s=s.addDays(1,false)}return y};if(this._resources.length<2||(!this.resources.orientation||this.resources.orientation=="none")){var m=n(e)}else{var k=1;for(var c=0;c<this._resources.length;c++){var b=this._resources[c];var g=new Array();for(var d=0;d<e.length;d++){if(e[d].appointment&&e[d].appointment.resourceId==b){g.push(e[d])}else{if(e[d].resourceId!=undefined&&e[d].resourceId==b){g.push(e[d])}}}var m=n(g);k=Math.max(k,m)}m=k}return m},getMinutesPerScale:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=30;var e="halfHour";if(d.timeRuler&&d.timeRuler.scale){e=d.timeRuler.scale}switch(e){case"sixtyMinutes":case"hour":c=60;break;case"thirtyMinutes":case"halfHour":c=30;break;case"fifteenMinutes":case"quarterHour":c=15;break;case"tenMinutes":c=10;break;case"fiveMinutes":c=5;break}return c},getMaxColumnsInADay:function(k){var m=this._views[this._view].type;var p=this._views[this._view];var e=30;var c="halfHour";if(p.timeRuler&&p.timeRuler.scale){c=p.timeRuler.scale}switch(c){case"sixtyMinutes":case"hour":e=60;break;case"thirtyMinutes":case"halfHour":e=30;break;case"fifteenMinutes":case"quarterHour":e=15;break;case"tenMinutes":e=10;break;case"fiveMinutes":e=5;break}if(k.length==0){return 1}var d=1;var l=k[0].from.clone();var i=l.addMinutes(e);var h=a.jqx.scheduler.utilities.getEndOfDay(l);while(l<h){var o=l;var n=i;var r=0;for(var j in k){if(j=="indexOf"){break}var b=k[j];if(!b.from&&!b.to){continue}var g=b.from;var f=b.to;var q=a.jqx.scheduler.utilities.rangeIntersection(o,n,g,f);if(q){r++}}d=Math.max(r,d);l=l.addMinutes(e,false);i=i.addMinutes(e,false)}return d},getTouches:function(b){return a.jqx.mobile.getTouches(b)},_updatecolumnwidths:function(){var h=this;var j=this._hostWidth;var b=j;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){j-=parseInt(this.scrollBarSize)+6;if(this.rtl){j+=3}b=j}var i="";if(this.columns==undefined||this.columns.records==undefined){return}var h=this;var g=false;var k=new Array();a.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=h.vScrollBar[0].style.visibility=="hidden"?0:h.scrollBarSize+5;if(h.scrollBarSize==0){n=0}m=parseFloat(this.width)*b/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(b)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}j-=Math.round(m)}else{if(this.width!="auto"&&!this._width){j-=this.width}else{i+=this.text}}if(this._width=="auto"){k[k.length]=this}}});var e=this.columnsheader.find("#columntable"+this.element.id);if(e.length==0){return}var c=0;var f=e.find(".jqx-grid-column-header");var d=0;a.each(this.columns.records,function(o,t){var m=this.element;var w=false;var v=this.width;var q=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){v=parseFloat(this._percentagewidth)*b/100}else{v=parseFloat(this.width)*b/100}v=Math.round(v);w=true}if(this.width!="auto"&&!this._width&&!w){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(w){if(v<this.minwidth&&this.minwidth!="auto"){v=this.minwidth;this.width=v}if(v>this.maxwidth&&this.maxwidth!="auto"){v=this.maxwidth;this.width=v}if(parseInt(m[0].style.width)!=v){m.width(v);this.width=v}}else{var n=h.columns.records.length;var p=h._views[h._view].type;if(p==="dayView"||p==="weekView"){var r=h._views[h._view];if(r.timeRuler){if(r.timeRuler.timeZones){n-=r.timeRuler.timeZones.length}n--}else{n--}}else{if(p==="monthView"&&h._views[h._view].showWeekNumbers){n--}}var l=Math.floor(j*(1/n));if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth!="auto"){l=h.resources.resourceColumnWidth}else{if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth=="auto"){if(h.resources.orientation=="horizontal"){l=Math.round((2+j)*(1/h._getColumnsLengthPerView()))}}}var s=(j*(1/n))-l;c+=s;if(c>=1){c-=1;l++}if(c>=0.5&&o==h.columns.records.length-1){l++}if(p=="agendaView"){l=j/k.length;l++}if(l<0){var u=a("<span>"+this.text+"</span>");a(document.body).append(u);l=10+u.width();u.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=parseInt(l);m.width(this.width)}}if(parseInt(m[0].style.left)!=d){m.css("left",d)}if(!(this.hidden)){d+=this.width}this._requirewidthupdate=true;if(q!==this.width){g=true}});this.columnsheader.width(2+d);e.width(this.columnsheader.width());this._resizecolumnGroups();if(g){this._renderrows();h._arrange()}},_rendercolumnheaders:function(){var g=this;if(this._updating){return}var l=this._views[this._view];this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var h=a('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');h[0].cells=new Array();var r=0;var d=0;var n="";var p=this._hostWidth;if(!p){this._hostWidth=this.host.width()}var v=this._hostWidth;var m=v;var w=this.getRows().length;var u=this.rowsHeight;if(this.isTouchDevice()){u=this.touchRowsHeight}if(w*u>this.host.height()){this.vScrollBar[0].style.visibility="inherit"}if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){v-=parseInt(this.scrollBarSize)+6;if(this.rtl){v+=3}m=v}var q=new Array();var s=new Array();a.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){v-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){v-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*m/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}v-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}v-=this.width}}}}else{n+=this.text}}if(this.width==null||this.width=="auto"){s[s.length]=this}q[q.length]=this});if(this.rtl){for(var t=0;t<q.length;t++){this.columns.replace(t,q[t])}}var f=this.headerZIndex;var i=0;var e=g.columnsHeight;var b=function(k,x){var j=g.columnGroupslevel*g.columnsHeight;j=j-(x.level*g.columnsHeight);return j};var o=0;var c=document.createDocumentFragment();a.each(this.columns.records,function(D,I){this.height=g.columnsHeight;if(g.columnGroups){if(g.columnGroups.length){this.height=b(this.datafield,this);e=this.height}}var y=g.toTP("jqx-grid-column-header")+" "+g.toTP("jqx-widget-header");if(g.rtl){y+=" "+g.toTP("jqx-grid-column-header-rtl")}if(!g.enableBrowserSelection){y+=" "+g.toTP("jqx-disableselect")}var E=!g.rtl?f--:f++;var k=document.createElement("div");k.setAttribute("role","columnheader");k.style.position="absolute";k.style.zIndex=E;k.style.height="100%";k.className=y;var z=a(k);if(g.rtl&&D===0){z[0].style.borderLeftColor="transparent"}if(g.columnGroups){z[0].style.height=e+"px";z[0].style.bottom="0px"}else{if(!this.timeColumn){z[0].style.height=-1+e+"px"}}this.uielement=z;this.element=z;if(this.classname!=""&&this.classname){z.addClass(this.classname)}var K=this.width;var L=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){K=parseFloat(this._percentagewidth)*m/100}else{K=parseFloat(this.width)*m/100}K=Math.round(K);L=true}if(this.width!="auto"&&!this._width&&!L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}z[0].style.width=parseInt(K)+"px"}else{if(L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}z.width(K);this.width=K}else{var A=g.columns.records.length;var C=g._views[g._view].type;if(C==="dayView"||C==="weekView"){var G=g._views[g._view];if(G.timeRuler){if(G.timeRuler.timeZones){A-=G.timeRuler.timeZones.length}A--}else{A--}}else{if(C==="monthView"&&g._views[g._view].showWeekNumbers){A--}}var j=Math.floor(v*(1/A));if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth!="auto"){j=g.resources.resourceColumnWidth}else{if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth=="auto"){if(g.resources.orientation=="horizontal"){j=Math.round((2+v)*(1/g._getColumnsLengthPerView()))}}}var H=(v*(1/A))-j;o+=H;if(o>=1){o-=1;j++}if(o>=0.5&&D==g.columns.records.length-1){j++}if(isNaN(j)){j=this.minwidth}if(C=="agendaView"){j=v/s.length;j++}if(j<0){var J=a("<span>"+this.text+"</span>");a(document.body).append(J);j=10+J.width();J.remove()}if(j<this.minwidth){j=this.minwidth}if(j>this.maxwidth){j=this.maxwidth}this._width="auto";this.width=parseInt(j);K=this.width;z.width(this.width)}}if(this.timeColumn){z.css("border-bottom-color","transparent");if(l.timeRuler&&l.timeRuler.timeZones){if(D<l.timeRuler.timeZones.length){z.css("border-right-color","transparent")}}if(this.tableRows==1){z.addClass(g.toTP("jqx-scheduler-time-column"))}}if(this.hidden){z.css("display","none")}var x=a(z.children()[0]);h[0].cells[D]=z[0];var B=g._rendercolumnheader(this.text,this.align,e,g);z[0].innerHTML=B;c.appendChild(z[0]);var F=this;z[0].style.left=d+"px";if(!(this.hidden)){d+=K}});h[0].appendChild(c);if(d>0){this.columnsheader[0].style.width=2+d+"px"}else{this.columnsheader[0].style.width=d+"px"}this._columnswidth=d;this.columnsrow=h;g.columnsheader.append(h);h[0].style.width=d+"px";if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var r=this.headerZIndex+this.columns.records.length;var m=this;var f=m.toTP("jqx-grid-column-header")+" "+m.toTP("jqx-grid-columngroup-header")+" "+m.toTP("jqx-widget-header");if(m.rtl){f+=" "+m.toTP("jqx-grid-columngroup-header-rtl")}var d=this.columnsheader.find("#columntable"+this.element.id);d.find("jqx-grid-columngroup-header").remove();for(var g=0;g<this.columnGroupslevel-1;g++){for(var k=0;k<this.columnGroups.length;k++){var o=this.columnGroups[k];var b=o.level;if(b!==g){continue}var n=b*this.columnsHeight;var c=99999;if(o.groups){var q=function(u){var t=0;for(var s=0;s<u.groups.length;s++){var i=u.groups[s];if(!i.groups){if(!i.hidden){t+=i.width;c=Math.min(parseInt(i.element[0].style.left),c)}}else{t+=q(i)}}return t};o.width=q(o);o.left=c;var p=this.columnsHeight;var l=r--;var e=a('<div role="columnheader" style="z-index: '+l+';position: absolute;" class="'+f+'"></div>');var h=a(this._rendercolumnheader(o.text,o.align,this.columnsHeight,this));if(o.renderer){o.renderer(e,o.text)}e.append(h);e[0].style.left=c+"px";if(c===0){e[0].style.borderLeftColor="transparent"}e[0].style.top=n+"px";e[0].style.height=p+"px";e[0].style.width=-1+o.width+"px";d.append(e);o.element=e}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var c=0;c<this.columnGroups.length;c++){var h=this.columnGroups[c];var j=h.level;var g=j*this.columnsHeight;var f=99999;if(h.groups){var e=function(m){var l=0;for(var k=0;k<m.groups.length;k++){var i=m.groups[k];if(!i.groups){l+=i.width;f=Math.min(parseInt(i.element[0].style.left),f)}else{l+=e(i)}}return l};h.width=e(h);h.left=f;var b=this.columnsHeight;var d=h.element;d[0].style.left=f+"px";d[0].style.top=g+"px";d[0].style.height=b+"px";d[0].style.width=-1+h.width+"px"}}},_removecolumnhandlers:function(e){var c=this;var b=a(e.element);if(b.length>0){c.removeHandler(b,"mouseenter");c.removeHandler(b,"mouseleave");var d=a(e.filtericon);c.removeHandler(d,"mousedown");c.removeHandler(d,"click");c.removeHandler(b,"click")}},destroy:function(){var b=this;b._removeHandlers();if(b._editDialog){b._editDialog.jqxWindow("destroy")}if(b.menu){b.menu.jqxMenu("destroy")}if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy")}b.vScrollBar.jqxScrollBar("destroy");b.hScrollBar.jqxScrollBar("destroy");delete b.vScrollBar;delete b.hScrollBar;delete b._mousewheelfunc;a.jqx.utilities.resize(b.host,null,true);b.host.remove()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.host.height(d.height);d.host.width(d.width);d._updatesize(false,true)}},propertyChangedHandler:function(b,d,f,e){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(e!==f){if(d=="filterable"){b._render()}else{if(d=="view"){b.setView(e)}else{if(d=="views"){b._columns=null;b._views=new Array();b._view=b.view;for(var c=0;c<b.views.length;c++){if(a.type(b.views[c])==="string"){b._views.push({type:b.views[c]})}else{b._views.push(b.views[c])}}for(var c=0;c<b._views.length;c++){if(b._views[c].type==b.view){b._view=c;break}}b._render()}else{if(d==="height"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(false,true)}else{if(d==="width"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(true,false)}else{if(d==="source"){b.updateBoundData()}else{if(d=="resources"){b.updateBoundData()}else{if(d==="columns"||d==="columnGroups"){b._columns=null;b._render()}else{if(d==="selectionMode"){b.selectionMode=e.toLowerCase()}else{if(d=="touchMode"){b._removeHandlers();b.touchDevice=null;b.vScrollBar.jqxScrollBar({touchMode:e});b.hScrollBar.jqxScrollBar({touchMode:e});b.refresh();b._addHandlers()}else{if(d=="enableHover"){return}else{if(d=="showLegend"){b.legendbartop.show();b.legendbarbottom.show();b.refresh()}else{if(d=="disabled"){if(e){b.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{b.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}b.host.find(".jqx-grid-group-collapse").css("cursor",e?"default":"pointer");b.host.find(".jqx-grid-group-expand").css("cursor",e?"default":"pointer")}else{if(d=="columnsHeight"){b._render()}else{if(d=="localization"){b._render();if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy");b.createEditRecurrenceDialog()}}else{if(d=="theme"){a.jqx.utilities.setTheme(f,e,b.host);if(b._editDialog){a.jqx.utilities.setTheme(f,e,b._editDialog)}if(b.editRecurrenceDialog){a.jqx.utilities.setTheme(f,e,b.editRecurrenceDialog)}if(b.menu){b.menu.jqxMenu({theme:b.theme})}b.vScrollBar.jqxScrollBar({theme:b.theme});b.hScrollBar.jqxScrollBar({theme:b.theme});b.refresh()}else{if(d==="date"){b.navigateTo(e)}else{b.refresh()}}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(g,h,d,e){var f="4px";if(e.columnGroups){f=(d/2-this._columnheight/2);if(f<0){f=4}f+="px"}else{if(this.columnsHeight!=25){f=(this.columnsHeight/2-this._columnheight/2);if(f<0){f=4}f+="px"}}var c='<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+h+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+f+"; margin-top: "+f+';"><span style="text-overflow: ellipsis; cursor: default;">'+g+"</span></div>";if(this.columnRenderer){var b=this.columnRenderer(g,h,d,c);if(b!=undefined){return b}}return c}})})(jqxBaseFramework);
+(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.jqxWidget("jqxScheduler","",{});a.extend(a.jqx._jqxScheduler.prototype,{defineInstance:function(){var b={altRows:false,autoShowLoadElement:true,columnsHeight:30,columns:[],columnGroups:null,dataview:null,disabled:false,enableHover:true,appointmentOpacity:0.8,headerZIndex:235,height:600,timeRulerWidth:60,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",localization:null,ready:null,renderToolBar:null,renderAppointment:null,rendered:null,rendering:null,rtl:false,showToolbar:true,showLegend:false,legendPosition:"bottom",legendHeight:34,rowsHeight:27,touchRowsHeight:36,appointmentsMinHeight:18,touchAppointmentsMinHeight:27,appointmentsRenderMode:"default",serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:a.jqx.utilities.scrollBarSize,touchScrollBarSize:a.jqx.utilities.touchScrollBarSize,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,showAllDayRow:true,changedAppointments:new Array(),renderMode:"simple",views:new Array(),view:0,min:new a.jqx.date(0),max:new a.jqx.date(9999,12,31),date:new a.jqx.date("todayDate"),colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF","#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8","#E8601A","#FF9639","#F5BD6A","#599994","#115D6E","#D02841","#FF7C41","#FFC051","#5B5F4D","#364651","#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00","#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B","#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63","#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6","#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F","#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825","#993144","#FFA257","#CCA56A","#ADA072","#949681","#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932","#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54","#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3","#444546","#FFBB6E","#F28D00","#D94F00","#7F203B","#583C39","#674E49","#948658","#F0E99A","#564E49","#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17","#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5","#844341","#D5CC92","#BBA146","#897B26","#55591C","#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472","#96003A","#FF7347","#FFBC7B","#FF4154","#642223","#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E","#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7","#7B1A25","#BF5322","#9DA860","#CEA457","#B67818","#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46","#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800","#FF6800","#A0A700","#FF8D00","#678900","#0069A5"],colorSchemes:[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]}],resources:null,contextMenu:true,contextMenuOpen:null,contextMenuClose:null,contextMenuItemClick:null,contextMenuCreate:null,timeZone:null,statuses:{free:"white",tentative:"tentative",busy:"transparent",outOfOffice:"#800080"},appointmentDataFields:{from:"from",to:"to",id:"id",calendarId:"calendarId",description:"description",location:"location",subject:"subject",background:"background",color:"color",borderColor:"borderColor",style:"style",recurrencePattern:"recurrencePattern",recurrenceException:"recurrenceException",draggable:"draggable",resizable:"resizable",resourceId:"resourceId",status:"status",tooltip:"tooltip",hidden:"hidden",allDay:"allDay",timeZone:"timeZone",ownerId:"ownerId"},appointmentTooltips:true,tableColumns:1,tableRows:1,dayNameFormat:"full",touchDayNameFormat:"abbr",toolBarRangeFormat:"dd MMMM yyyy",toolBarRangeFormatAbbr:"dd MM yyyy",columnRenderer:null,exportSettings:{serverURL:null,characterSet:null,fileName:"jqxScheduler",dateTimeFormatString:"S",resourcesInMultipleICSFiles:false,ICSXWRCALNAME:"jqxScheduler",ICSXWRCALDESC:"jqxScheduler Description"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},editDialogDateTimeFormatString:"dd/MM/yyyy hh:mm tt",editDialogDateFormatString:"dd/MM/yyyy",editDialogOpen:null,editDialogCreate:null,editDialogKeyDown:null,editDialogClose:null,editDialog:true,toolbarHeight:54,tableZIndex:469,_updating:false,touchMode:"auto",width:800,that:this,beginDrag:null,endDrag:null,dragging:null,timeZones:[{id:"Dateline Standard Time",offset:-720,offsetHours:-12,displayName:"(UTC-12:00) International Date Line West",supportsDaylightSavingTime:false},{id:"UTC-11",offset:-660,offsetHours:-11,displayName:"(UTC-11:00) Coordinated Universal Time-11",supportsDaylightSavingTime:false},{id:"Hawaiteratoran Standard Time",offset:-600,offsetHours:-10,displayName:"(UTC-10:00) Hawaiterator",supportsDaylightSavingTime:false},{id:"Alaskan Standard Time",offset:-540,offsetHours:-9,displayName:"(UTC-09:00) Alaska",supportsDaylightSavingTime:true},{id:"Pacific Standard Time (Mexico)",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Baja California",supportsDaylightSavingTime:true},{id:"Pacific Standard Time",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Pacific Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Arizona",supportsDaylightSavingTime:false},{id:"Mountain Standard Time (Mexico)",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",supportsDaylightSavingTime:true},{id:"Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Mountain Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central America Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central America",supportsDaylightSavingTime:false},{id:"Canada Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Saskatchewan",supportsDaylightSavingTime:false},{id:"Central Standard Time (Mexico)",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",supportsDaylightSavingTime:true},{id:"SA Pacific Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Bogota, Lima, Quito, Rio Branco",supportsDaylightSavingTime:false},{id:"Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Eastern Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Indiana (East)",supportsDaylightSavingTime:true},{id:"Venezuela Standard Time",offset:-270,offsetHours:-4.5,displayName:"(UTC-04:30) Caracas",supportsDaylightSavingTime:false},{id:"Atlantic Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Atlantic Time (Canada)",supportsDaylightSavingTime:true},{id:"Paraguay Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Asuncion",supportsDaylightSavingTime:true},{id:"Central Brazilian Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Cuiaba",supportsDaylightSavingTime:true},{id:"Pacific SA Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Santiago",supportsDaylightSavingTime:true},{id:"SA Western Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Georgetown, La Paz, Manaus",supportsDaylightSavingTime:false},{id:"Newfoundland Standard Time",offset:-210,offsetHours:-3.5,displayName:"(UTC-03:30) Newfoundland",supportsDaylightSavingTime:true},{id:"SA Eastern Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Cayenne, Fortaleza",supportsDaylightSavingTime:false},{id:"Argentina Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Buenos Aires",supportsDaylightSavingTime:true},{id:"E. South America Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Brasilia",supportsDaylightSavingTime:true},{id:"Bahia Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Salvador",supportsDaylightSavingTime:true},{id:"Montevideo Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Montevideo",supportsDaylightSavingTime:true},{id:"Greenland Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Greenland",supportsDaylightSavingTime:true},{id:"UTC-02",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Coordinated Universal Time-02",supportsDaylightSavingTime:false},{id:"Mid-Atlantic Standard Time",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Mid-Atlantic - Old",supportsDaylightSavingTime:true},{id:"Azores Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Azores",supportsDaylightSavingTime:true},{id:"Cape Verde Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Cape Verde Is.",supportsDaylightSavingTime:false},{id:"Morocco Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Casablanca",supportsDaylightSavingTime:true},{id:"UTC",offset:0,offsetHours:0,displayName:"(UTC) Coordinated Universal Time",supportsDaylightSavingTime:false},{id:"GMT Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Dublin, Edinburgh, Lisbon, London",supportsDaylightSavingTime:true},{id:"Greenwich Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Monrovia, Reykjavik",supportsDaylightSavingTime:false},{id:"Central European Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",supportsDaylightSavingTime:true},{id:"Namibia Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Windhoek",supportsDaylightSavingTime:true},{id:"W. Central Africa Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) West Central Africa",supportsDaylightSavingTime:false},{id:"W. Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Amsterdam, Berlin, Rome",supportsDaylightSavingTime:true},{id:"Central Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Belgrade, Budapest, Prague",supportsDaylightSavingTime:true},{id:"Romance Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",supportsDaylightSavingTime:true},{id:"FLE Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia",supportsDaylightSavingTime:true},{id:"South Africa Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Harare, Pretoria",supportsDaylightSavingTime:false},{id:"Turkey Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Istanbul",supportsDaylightSavingTime:true},{id:"GTB Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Athens, Bucharest",supportsDaylightSavingTime:true},{id:"Libya Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Tripoli",supportsDaylightSavingTime:true},{id:"E. Europe Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) E. Europe",supportsDaylightSavingTime:true},{id:"Jordan Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Amman",supportsDaylightSavingTime:true},{id:"Middle East Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Beirut",supportsDaylightSavingTime:true},{id:"Egypt Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Cairo",supportsDaylightSavingTime:true},{id:"Syria Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Damascus",supportsDaylightSavingTime:true},{id:"Israel Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Jerusalem",supportsDaylightSavingTime:true},{id:"Arab Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kuwait, Riyadh",supportsDaylightSavingTime:false},{id:"E. Africa Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Nairobi",supportsDaylightSavingTime:false},{id:"Arabic Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Baghdad",supportsDaylightSavingTime:true},{id:"Kaliningrad Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kaliningrad, Minsk",supportsDaylightSavingTime:true},{id:"Iran Standard Time",offset:210,offsetHours:3.5,displayName:"(UTC+03:30) Tehran",supportsDaylightSavingTime:true},{id:"Mauritius Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Port Louis",supportsDaylightSavingTime:true},{id:"Georgian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Tbilisi",supportsDaylightSavingTime:false},{id:"Caucasus Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Yerevan",supportsDaylightSavingTime:true},{id:"Arabian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Abu Dhabi, Muscat",supportsDaylightSavingTime:false},{id:"Azerbaijan Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Baku",supportsDaylightSavingTime:true},{id:"Russian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Moscow, St. Petersburg, Volgograd",supportsDaylightSavingTime:true},{id:"Afghanistan Standard Time",offset:270,offsetHours:4.5,displayName:"(UTC+04:30) Kabul",supportsDaylightSavingTime:false},{id:"Pakistan Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Islamabad, Karachi",supportsDaylightSavingTime:true},{id:"West Asia Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Ashgabat, Tashkent",supportsDaylightSavingTime:false},{id:"India Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",supportsDaylightSavingTime:false},{id:"Sri Lanka Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Sri Jayawardenepura",supportsDaylightSavingTime:false},{id:"Nepal Standard Time",offset:345,offsetHours:5.75,displayName:"(UTC+05:45) Kathmandu",supportsDaylightSavingTime:false},{id:"Central Asia Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Astana",supportsDaylightSavingTime:false},{id:"Bangladesh Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Dhaka",supportsDaylightSavingTime:true},{id:"Ekaterinburg Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Ekaterinburg",supportsDaylightSavingTime:true},{id:"Myanmar Standard Time",offset:390,offsetHours:6.5,displayName:"(UTC+06:30) Yangon (Rangoon)",supportsDaylightSavingTime:false},{id:"SE Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Bangkok, Hanoi, Jakarta",supportsDaylightSavingTime:false},{id:"N. Central Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Novosibirsk",supportsDaylightSavingTime:true},{id:"Ulaanbaatar Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Ulaanbaatar",supportsDaylightSavingTime:false},{id:"China Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong",supportsDaylightSavingTime:false},{id:"Singapore Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Kuala Lumpur, Singapore",supportsDaylightSavingTime:false},{id:"North Asia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Krasnoyarsk",supportsDaylightSavingTime:true},{id:"Taipei Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Taipei",supportsDaylightSavingTime:false},{id:"W. Australia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Perth",supportsDaylightSavingTime:true},{id:"Korea Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Seoul",supportsDaylightSavingTime:false},{id:"North Asia East Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Irkutsk",supportsDaylightSavingTime:true},{id:"Tokyo Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Osaka, Sapporo, Tokyo",supportsDaylightSavingTime:false},{id:"AUS Central Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Darwin",supportsDaylightSavingTime:false},{id:"Cen. Australia Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Adelaide",supportsDaylightSavingTime:true},{id:"West Pacific Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Guam, Port Moresby",supportsDaylightSavingTime:false},{id:"Tasmania Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Hobart",supportsDaylightSavingTime:true},{id:"E. Australia Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Brisbane",supportsDaylightSavingTime:false},{id:"AUS Eastern Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Canberra, Melbourne, Sydney",supportsDaylightSavingTime:true},{id:"Yakutsk Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Yakutsk",supportsDaylightSavingTime:true},{id:"Vladivostok Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Vladivostok",supportsDaylightSavingTime:true},{id:"Central Pacific Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Solomon Is., New Caledonia",supportsDaylightSavingTime:false},{id:"Magadan Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Magadan",supportsDaylightSavingTime:true},{id:"Kamchatka Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Petropavlovsk-Kamchatsky - Old",supportsDaylightSavingTime:true},{id:"Fiji Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Fiji",supportsDaylightSavingTime:true},{id:"New Zealand Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Auckland, Wellington",supportsDaylightSavingTime:true},{id:"UTC+12",offset:720,offsetHours:12,displayName:"(UTC+12:00) Coordinated Universal Time+12",supportsDaylightSavingTime:false},{id:"Tonga Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Nuku'alofa",supportsDaylightSavingTime:false},{id:"Samoa Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Samoa",supportsDaylightSavingTime:true}]};if(this===a.jqx._jqxScheduler.prototype){return b}a.extend(true,this,b);this.that=this;return b},createInstance:function(c){var e=this;e._views=new Array();e._view=e.view;for(var d=0;d<e.views.length;d++){if(a.type(e.views[d])==="string"){e._views.push({type:e.views[d]})}else{e._views.push(e.views[d])}}for(var d=0;d<e._views.length;d++){if(e._views[d].type==e.view){e._view=d;break}}if(a.jqx.utilities.scrollBarSize!=15){e.scrollBarSize=a.jqx.utilities.scrollBarSize}if(e.source&&!e.source.dataBind){e.source=new a.jqx.dataAdapter(e.source)}var b=e.source._source.datafields;if(b&&b.length>0){e._camelCase=e.source._source.dataFields!==undefined;e.selectionMode=e.selectionMode.toLowerCase()}if(e.host.attr("tabindex")==null){e.host.attr("tabindex","0")}e.host.attr("role","grid");e.host.attr("align","left");e.host.addClass(e.toTP("jqx-grid"));e.host.addClass(e.toTP("jqx-scheduler"));e.host.addClass(e.toTP("jqx-reset"));e.host.addClass(e.toTP("jqx-rc-all"));e.host.addClass(e.toTP("jqx-widget"));e.host.addClass(e.toTP("jqx-widget-content jqx-disableselect"));if(e._testmodules()){return}e.overlay=a("<div style='z-index: 999; position:absolute;'></div>");e.overlay.hide();e.overlay.appendTo(e.host);e.render(true);a.jqx.utilities.resize(e.host,function(){var h=a(window).width();var f=a(window).height();e._hostWidth=null;e._hostHeight=null;var g=e.host.width();var i=e.host.height();e._hostWidth=g;e._hostHeight=i;if(e._lastHostWidth!=g||e._lastHostHeight!=i){e._updatesize(e._lastHostWidth!=g,e._lastHostHeight!=i)}e._lastWidth=h;e._lastHeight=f;e._lastHostWidth=g;e._lastHostHeight=i});e.createEditRecurrenceDialog()},createEditRecurrenceDialog:function(){var d=this;d.editRecurrenceDialog=null;var b=a("<div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogTitleString+"</div><div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogContentString+"</div><div style='position: absolute; white-space:nowrap; text-overflow: ellipsis; left:0px; width:100%; bottom: 0px;'><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"' id='editRecurringAppointmentOccurrence."+d.element.id+"' style='white-space:nowrap; text-overflow: ellipsis; border-left-width: 0px;  border-bottom-width: 0px; border-radius:0px; width:50%;'>"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"</button><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"' id='editRecurringAppointmentSeries."+d.element.id+"' style=' white-space:nowrap; text-overflow: ellipsis; border-bottom-width: 0px;  border-left-width: 0px; border-right-width:0px; width:50%; border-radius:0px;'>"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"</button></div></div></div>");d.editRecurrenceDialog=b;a(b).jqxWindow({rtl:d.rtl,autoFocus:false,animationType:"none",autoOpen:false,theme:d.theme,minWidth:300,minHeight:110,resizable:false});var c=b.find("button");c.jqxButton({theme:d.theme,width:"50%"});var e=false;c.mousedown(function(){e=true;var f=this.id;if(f.indexOf("editRecurringAppointmentOccurrence")>=0){d.editSeries(false)}else{d.editSeries(true)}a(b).jqxWindow("close")});this.addHandler(a(b),"open",function(f){d._raiseEvent("editRecurrenceDialogOpen",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.addHandler(a(b),"keydown",function(f){if(f.keyCode==13){if(a(document.activeElement).ischildof(a(b))){if(document.activeElement.nodeName.toLowerCase()=="button"){a(document.activeElement).trigger("mousedown");a(document.activeElement).trigger("mouseup");return true}}}});this.addHandler(a(b),"close",function(f){if(!e){d._removeFeedbackAndStopResize();d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null});return false}e=false;d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.editRecurrenceDialog=b},getViewStart:function(){var d=this.getVisibleDate();var b=this._views[this._view].type;var e=this._views[this._view];switch(b){case"dayView":case"timelineDayView":return d}var c=this.getFirstDayOfWeek(d);return c},getViewEnd:function(){var e=this.getViewStart();var d=1;var b=this._views[this._view].type;var c=this._views[this._view];switch(b){case"dayView":d=1;break;case"timelineDayView":d=1;if(c.days){d=c.days}break;case"weekView":case"timelineWeekView":d=7;if(c.days){d=c.days}break;case"monthView":d=41;break;case"timelineMonthView":d=41;if(c.days){d=c.days}break;case"agendaView":d=7;if(c.days){d=c.days}break}return e.addDays(d)},getFirstDayOfWeek:function(d){var c=d;var b=this.schedulerLocalization.firstDay;if(b<0||b>6){b=6}while(c.dayOfWeek()!=b){c.addDays(-1,false)}return c},getVisibleDate:function(){var d=this.date;if(d<this.min){d=this.min}if(d>this.max){d=this.max}var b=this._views[this._view].type;var f=this._views[this._view];d=d.clearTime();switch(b){case"dayView":case"weekView":case"timelineDayView":case"timelineWeekView":case"agendaView":return d}var e=d.day();var c=d.addDays(-e+1);d=c;return d},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=a('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var c=a('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.schedulerLocalization.loadString+"</span></div></div>");c.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));c.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(c);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var b=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){b=true}}if(b){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var d=false;if(this.width==="auto"||this.width===null||this.autoWidth){d=true}if(d){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(c){var b=a("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");b.addClass(this.toTP("jqx-widget"));a(document.body).append(b);if(c=="cell"){this._cellheight=b.height()}else{this._columnheight=b.height()}b.remove()},_testmodules:function(){var e="";var c=this;var b=function(){if(e.length!=""){e+=","}};if(!this.host.jqxScrollBar){b();e+=" jqxscrollbar.js"}if(!this.host.jqxButton){b();e+=" jqxbuttons.js"}if(!a.jqx.dataAdapter){b();e+=" jqxdata.js"}if(!this.host.jqxDateTimeInput){b();e+=" jqxdatetimeinput.js"}if(!this.host.jqxCalendar){b();e+=" jqxcalendar.js"}try{if(!Globalize){b();e+=" globalize.js"}}catch(d){}if(e!=""){throw new Error("jqxScheduler: Missing references to the following module(s): "+e);this.host.remove();return true}return false},focus:function(){try{if(this.isTouchDevice()){return}if(this._editDialog&&this._editDialog.jqxWindow("isOpen")){var c=this;setTimeout(function(){c.editDialogFields.subject.focus();c.editDialogFields.subject.select()},1);this.focused=true;return}if(document.activeElement==this.element){return}this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25);this.focused=true}catch(b){}},hiddenParent:function(){return a.jqx.isHidden(this.host)},_updatesize:function(h,g){if(this._loading){return}var e=this;var f=e.host.width();var d=e.host.height();if(!e._oldWidth){e._oldWidth=f}if(!e._oldHeight){e._oldHeight=d}if(e._resizeTimer!=undefined){clearTimeout(e._resizeTimer);e._resizeTimer=null}var c=300;var b=function(){if(e._resizeTimer){clearTimeout(e._resizeTimer)}e.resizingGrid=true;if(a.jqx.isHidden(e.host)){return}e._updatecolumnwidths();e.refresh();e._oldWidth=f;e._oldHeight=d;e.resizingGrid=false};b();e._resizeTimer=setTimeout(function(){var j=e.host.width();var i=e.host.height();if(e._oldWidth!=j||e._oldHeight!=i){b()}},c)},resize:function(c,b){if(c!=undefined){this.width=c}if(b!=undefined){this.height=b}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchMode==true){b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchMode==false){b=false}}if(b){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return b},toTP:function(b){return this.toThemeProperty(b)},localizestrings:function(b,c){this._cellscache=new Array();if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxScheduler: "+this.loadingErrorMessage);return false}if(b!=null){for(var d in this.schedulerLocalization){if(b[d]){this.schedulerLocalization[d]=b[d]}}if(b.loadingErrorMessage){this.loadingErrorMessage=b.loadingErrorMessage}if(c!==false){this._builddataloadelement();a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}else{this.schedulerLocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},agendaDateColumn:"Date",agendaTimeColumn:"Time",agendaAppointmentColumn:"Appointment",backString:"Back",forwardString:"Forward",toolBarPreviousButtonString:"previous",toolBarNextButtonString:"next",emptyDataString:"No data to display",loadString:"Loading...",clearString:"Clear",todayString:"Today",dayViewString:"Day",weekViewString:"Week",monthViewString:"Month",agendaViewString:"Agenda",timelineDayViewString:"Timeline Day",timelineWeekViewString:"Timeline Week",timelineMonthViewString:"Timeline Month",agendaAllDayString:"all day",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",editRecurringAppointmentDialogTitleString:"Edit Recurring Appointment",editRecurringAppointmentDialogContentString:"Do you want to edit only this occurrence or the series?",editRecurringAppointmentDialogOccurrenceString:"Edit Occurrence",editRecurringAppointmentDialogSeriesString:"Edit The Series",editDialogTitleString:"Edit Appointment",editDialogCreateTitleString:"Create New Appointment",contextMenuEditAppointmentString:"Edit Appointment",contextMenuCreateAppointmentString:"Create New Appointment",editDialogSubjectString:"Subject",editDialogLocationString:"Location",editDialogFromString:"From",editDialogToString:"To",editDialogAllDayString:"All day",editDialogExceptionsString:"Exceptions",editDialogResetExceptionsString:"Reset on Save",editDialogDescriptionString:"Description",editDialogResourceIdString:"Owner",editDialogStatusString:"Status",editDialogColorString:"Color",editDialogColorPlaceHolderString:"Select Color",editDialogTimeZoneString:"Time Zone",editDialogSelectTimeZoneString:"Select Time Zone",editDialogSaveString:"Save",editDialogDeleteString:"Delete",editDialogCancelString:"Cancel",editDialogRepeatString:"Repeat",editDialogRepeatEveryString:"Repeat every",editDialogRepeatEveryWeekString:"week(s)",editDialogRepeatEveryYearString:"year(s)",editDialogRepeatEveryDayString:"day(s)",editDialogRepeatNeverString:"Never",editDialogRepeatDailyString:"Daily",editDialogRepeatWeeklyString:"Weekly",editDialogRepeatMonthlyString:"Monthly",editDialogRepeatYearlyString:"Yearly",editDialogRepeatEveryMonthString:"month(s)",editDialogRepeatEveryMonthDayString:"Day",editDialogRepeatFirstString:"first",editDialogRepeatSecondString:"second",editDialogRepeatThirdString:"third",editDialogRepeatFourthString:"fourth",editDialogRepeatLastString:"last",editDialogRepeatEndString:"End",editDialogRepeatAfterString:"After",editDialogRepeatOnString:"On",editDialogRepeatOfString:"of",editDialogRepeatOccurrencesString:"occurrence(s)",editDialogRepeatSaveString:"Save Occurrence",editDialogRepeatSaveSeriesString:"Save Series",editDialogRepeatDeleteString:"Delete Occurrence",editDialogRepeatDeleteSeriesString:"Delete Series",editDialogStatuses:{free:"Free",tentative:"Tentative",busy:"Busy",outOfOffice:"Out of Office"}}}},_updateScrollbars:function(r){var j=false;var d=this;if(d.width==="auto"||d.width===null||d.autowidth){if(d.maxWidth==999999){j=true}}var h=d._views[d._view].type;var g=d._views[d._view];if(h=="monthView"&&d.resources&&d.resources.orientation=="none"&&!g.monthRowAutoHeight){var k=d.vScrollBar[0].style.visibility;d.hScrollBar[0].style.visibility="hidden";d.vScrollBar[0].style.visibility="hidden";if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}return}var b=parseInt(d.scrollBarSize);var s=d.table?d.table.height():0;var i=0;var n="inherit";var k=d.vScrollBar[0].style.visibility;var o=d.hScrollBar[0].style.visibility;if(!r){var f=d.host.height()}else{var f=r}if(!d.columnGroups){f-=d.showHeader?d.columnsHeight:0}else{f-=d.showHeader?d.columnsheader.height():0}if(d.filterable){f-=d.filter.height()}if(d.pageable){f-=d.pagerHeight;if(d.pagerPosition==="both"){f-=d.pagerHeight}}if(d.showToolbar){f-=d.toolbarHeight}if(d.showLegend&&d._resources.length>0){f-=d.legendHeight}var m=false;if(d.height==="auto"||d.height===null||d.autoheight){if(d.maxHeight==999999){m=true}}if(!m&&s>f&&(d.getRows().length>0)){d.vScrollBar[0].style.visibility=n;i=4+parseInt(b);d.vScrollBar.jqxScrollBar({max:s-f})}else{d.vScrollBar[0].style.visibility="hidden"}if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}var p=d.table?d.table.width():0;if(p>4){p-=4}var q=parseInt(d.host.css("border-left-width"))+parseInt(d.host.css("border-right-width"));var l=q+d.host.width()-i;if(p>l&&!j){d.hScrollBar[0].style.visibility=n;d.hScrollBar.jqxScrollBar({max:2+q+p-l});i=4+parseInt(b);if(b==0){i=0}if(!m&&s!=f){if(s>f-i+4&&(d.getRows().length>0)){d.hScrollBar.jqxScrollBar({max:q+p-l});var c=d.vScrollBar[0].style.visibility==="hidden";d.vScrollBar[0].style.visibility=n;d._updatecolumnwidths();if(c){d.hScrollBar.jqxScrollBar({max:p-l+q})}var e=d.table?d.table.width():0;if(e>3){e-=3}if(e!=p){if(e<l){d.hScrollBar.jqxScrollBar({max:q+e-l});d.hScrollBar[0].style.visibility="hidden";i=0}else{if(!c){d.hScrollBar.jqxScrollBar({max:p-l+q-b})}else{if(e>l){d.hScrollBar.jqxScrollBar({max:q+e-l})}}}}}if(s-f>0){d.vScrollBar.jqxScrollBar({max:s-f+i})}else{d.vScrollBar[0].style.visibility="hidden"}}}else{d.hScrollBar[0].style.visibility="hidden"}if(d.getRows().length===0){d.vScrollBar[0].style.visibility="hidden";d.bottomRight[0].style.visibility="hidden"}if(d.vScrollBar[0].style.visibility=="hidden"){if(d.vScrollInstance.value!=0){d.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(d){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+d+"</span>");c.addClass(this.toTP("jqx-widget"));c.addClass(this.toTP("jqx-grid"));c.addClass(this.toTP("jqx-grid-column-header"));c.addClass(this.toTP("jqx-widget-header"));a(document.body).append(c);var b=c.outerWidth()+20;c.remove();return b},_arrangeAutoHeight:function(d){if(!d){d=0}if(this.height==="auto"||this.height===null||this.autoheight){var g=this.table.height();var f=0;this._hostHeight=null;if(!this.columnGroups){f+=this.showHeader?this.columnsHeight:-1}else{f+=this.showHeader?this.columnsheader.height():-1}f+=this.showLegend&&this._resources.length>0?this.legendHeight:0;f+=this.showToolbar?this.toolbarHeight:0;f+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){f+=this.pageable?this.pagerHeight:0}f+=g;if(this.filterable){var e=this.filter.find(".filterrow");var b=this.filter.find(".filterrow-hidden");var c=1;if(b.length>0){c=0}f+=this.filterHeight-1+this.filterHeight*e.length*c}if(f+d>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(f+d)}return true}return false},_arrangeAutoWidth:function(d){if(!d){d=0}if(this.width==="auto"||this.width===null||this.autowidth){this._hostWidth=null;var c=0;for(var e=0;e<this.columns.records.length;e++){var b=this.columns.records[e].width;if(this.columns.records[e].hidden){continue}if(b=="auto"){b=this._measureElementWidth(this.columns.records[e].text);c+=b}else{c+=b}}var f=c;if(f+d>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(f+d)}return true}return false},_measureTopAndHeight:function(){var b=this.host.height();var c=0;if(this.showToolbar){c+=this.toolbarHeight;b-=parseInt(this.toolbarHeight)}if(this.showLegend&&this.legendPosition!="bottom"&&this._resources.length>0){c+=parseInt(this.legendHeight)+1}return{top:c,height:b}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var d=this.legendHeight;if(this._resources.length==0){d=0}var t=this._hostWidth?this._hostWidth:this.host.width();var q=this._hostHeight?this._hostHeight:this.host.height();var j=q;var i=this;if(this.showLegend&&this.legendPosition=="top"){this.legendbartop[0].style.visibility="inherit"}else{this.legendbartop[0].style.visibility="hidden"}var p=0;if(this.showToolbar){this.toolbar.width(t);this.toolbar[0].style.height=this.toolbarHeight-1+"px";this.toolbar[0].style.top="0px";p+=this.toolbarHeight;q-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom[0].style.width=t+"px";this.legendbarbottom[0].style.height=d+"px"}else{this.legendbarbottom[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="top"){if(this.legendbartop[0].style.width!=t+"px"){this.legendbartop[0].style.width=parseInt(t)+"px"}if(this.legendbartop[0].style.height!=d+"px"){this.legendbartop[0].style.height=parseInt(d-1)+"px"}if(this.legendbartop[0].style.top!=p+"px"){this.legendbartop[0].style.top=p+"px"}var e=p+d+"px";p=p+d;if(this.content[0].style.top!=e){this.content[0].style.top=p+"px"}}if(!this.showLegend){this.legendbartop[0].style.display="none";this.legendbarbottom[0].style.display="none"}this._updateScrollbars(j);var b=parseInt(this.scrollBarSize);var m=4;var f=2;var g=0;if(this.vScrollBar[0].style.visibility!="hidden"){g=b+m}if(this.hScrollBar[0].style.visibility!="hidden"){f=b+m+2}if(b==0){f=0;g=0}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var u=this._arrangeAutoHeight(f-2);var r=this._arrangeAutoWidth(g+1);if(u||r){this.legendbartop[0].style.width=parseInt(t)+"px";this.toolbar[0].style.width=parseInt(t)+"px";this.legendbarbottom[0].style.width=parseInt(t)+"px";this.filter[0].style.width=parseInt(t)+"px"}if(u){var w=this._measureTopAndHeight();p=w.top;q=w.height}}var n=0;if(this.showLegend&&this.legendPosition=="bottom"){f+=d;n+=d}else{if(this.showLegend){f+=d}}if(this.hScrollBar[0].style.height!=b+"px"){this.hScrollBar[0].style.height=parseInt(b)+"px"}if(this.hScrollBar[0].style.top!=p+q-m-b-n+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=p+q-m-b-n-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var h=false;var v=false;if(g==0){if(l!=(t-2)+"px"){this.hScrollBar[0].style.width=(t-2)+"px";h=true}}else{if(l!=(t-b-m)+"px"){this.hScrollBar[0].style.width=(t-b-m+"px");h=true}}if(this.vScrollBar[0].style.width!=b+"px"){this.vScrollBar[0].style.width=b+"px";v=true}if(this.vScrollBar[0].style.height!=parseInt(q)-f+"px"){this.vScrollBar[0].style.height=(parseInt(q)-f+"px");v=true}if(this.vScrollBar[0].style.left!=parseInt(t)-parseInt(b)-m+"px"||this.vScrollBar[0].style.top!=p+"px"){this.vScrollBar[0].style.top=p+"px";this.vScrollBar[0].style.left=parseInt(t)-parseInt(b)-m+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:p});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:b+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var s=this.hScrollInstance;s.disabled=this.disabled;if(h){s.refresh()}if(v){k.refresh()}var o=function(x){if((x.vScrollBar[0].style.visibility!="hidden")&&(x.hScrollBar[0].style.visibility!="hidden")){x.bottomRight[0].style.visibility="inherit";x.bottomRight[0].style.left=1+parseInt(x.vScrollBar.css("left"))+"px";x.bottomRight[0].style.top=parseInt(x.hScrollBar.css("top"))+"px";if(x.rtl){x.bottomRight.css("left","0px")}x.bottomRight[0].style.width=parseInt(b)+3+"px";x.bottomRight[0].style.height=parseInt(b)+4+"px"}else{x.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=t-g+"px"){this.content[0].style.width=t-g+"px"}if(this.content[0].style.height!=q-f+3+"px"){this.content[0].style.height=q-f+3+"px"}if(this.content[0].style.top!=p+"px"){this.content[0].style.top=parseInt(p)+"px"}if(this.rtl){this.content.css("left",g)}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom.css("top",p-1+q-d-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.legendbarbottom.css("left",this.content.css("left"))}else{this.legendbarbottom.css("left","0px")}}}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(t!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(q!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostWidth=t;this._hostHeight=j;var c=this.schedulercontent.coord();this._tableOffset=c},scrollOffset:function(d,c){if(arguments.length==0||(d!=null&&typeof(d)=="object"&&!d.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(d!=null&&typeof(d)=="object"){var c=d.left;var b=d.top;var d=b}if(d==null||c==null||d==undefined||c==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",d);this.hScrollBar.jqxScrollBar("setPosition",c)},scrollleft:function(b){if(b==null||b==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",b)}},scrolltop:function(b){if(b==null||b==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",b)}},beginAppointmentsUpdate:function(){this._appupdating=true},endAppointmentsUpdate:function(){this._appupdating=false;this._renderrows()},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(b){this._updating=false;if(b===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(b,g,f){if(this.loadingstate===true){return}var j=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){a(this.dataloadelement).css("visibility","visible");a(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}var h=this;if(b==null){b={}}if(b.sortcomparer==undefined||b.sortcomparer==null){b.sortcomparer=null}if(b.filter==undefined||b.filter==null){b.filter=null}if(b.sort==undefined||b.sort==null){b.sort=null}if(b.data==undefined||b.data==null){b.data=null}var d=null;if(b!=null){d=b._source!=undefined?b._source.url:b.url}this.dataview=this.dataview||new a.jqx.scheduler.dataView("dataView");this.resourcesDataView=this.resourcesDataView||new a.jqx.scheduler.dataView("resourcesDataView");this.dataview.pageable=this.pageable;this.dataview.scheduler=this;this.resourcesDataView.scheduler=this;this._loading=true;this.appointments=new Array();this.uiappointments=new Array();var e=1;if(this.resources&&this.resources.source){e=2}var c=0;var i=function(){if(c==e){h._resourcesBinding=false;var m=h._resources.length>1?h._resources.length:1;if(h.resources&&h.resources.orientation==="horizontal"){h.tableColumns=m;h.tableRows=1}else{if(h.resources&&h.resources.orientation==="vertical"){h.tableRows=m;h.tableColumns=1}else{h.tableColumns=1;h.tableRows=1}}h._render();if(h.autoShowLoadElement&&!h._loading){a(h.dataloadelement).css("visibility","hidden");a(h.dataloadelement).css("display","none")}h._updateTouchScrolling();h._raiseEvent("bindingComplete");if(f){f()}if(!h.initializedcall){h.initializedcall=true;h.isInitialized=true;if((h.width!=null&&h.width.toString().indexOf("%")!=-1)||(h.height!=null&&h.height.toString().indexOf("%")!=-1)){h._updatesize(true)}if(h.ready){h.ready()}if(h._rendercelltexts){h._rendercelltexts()}if(h._gridRenderElement){a(h._gridRenderElement).show("slow");var l=6000+Math.floor((Math.random()*4000)+1);var n=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();j[a.camelCase(n)](function(){a(h._gridRenderElement).hide("slow",function(){a(h._gridRenderElement).remove()})},l)}if(h.host.css("visibility")=="hidden"){var k=a.jqx.browser.msie&&a.jqx.browser.version<8;if(h.vScrollBar.css("visibility")=="visible"){h.vScrollBar.css("visibility","inherit")}if(h.hScrollBar.css("visibility")=="visible"){h.hScrollBar.css("visibility","inherit")}h._intervalTimer=setInterval(function(){if(h.host.css("visibility")=="visible"){h._updatesize(true);clearInterval(h._intervalTimer)}},100)}}}};this._resourcesBinding=false;this.dataview.update=function(y){h._loading=false;h.appointmentsByKey=new Array();h.appointments=new Array();h.uiappointments=new Array();var D=h.source._source.datafields;var o=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];var m=new Array();for(var z=0;z<h.source.records.length;z++){var p=h.source.records[z];var n={};for(var G in h.appointmentDataFields){var l=h.appointmentDataFields[G];var x=p[l];if(G=="from"||G=="to"){x=new a.jqx.date(x)}if(G=="style"){if(x){var s=h.getAppointmentColors(x);n.color=s.color;n.background=s.background;n.borderColor=s.border}}if(G=="recurrencePattern"){if(x){x=new a.jqx.scheduler.recurrencePattern(x);x.timeZone=p.timeZone||h.timeZone}}if(G=="recurrenceException"){var B=new Array();if(x){if(x.indexOf("EXDATE:")>=0){x=x.substring(x.indexOf("EXDATE:")+7)}var t=new Array();if(x.indexOf(",")>=0){t=x.split(",")}else{t.push(x)}for(var A=0;A<t.length;A++){var w=t[A];if(w.indexOf(";")>=0){var q=w.split(";")[1];w=w.split(";")[0];if(q.toLowerCase().indexOf("display")>=0&&q.toLowerCase().indexOf("none")){n.hidden=true}}try{var E=a.jqx.scheduler.utilities.untilStringToDate(w);if(E!="Invalid Date"){if(n.timeZone){E=new a.jqx.date(E,n.timeZone)}else{if(h.timeZone){E=E.toTimeZone(h.timeZone)}else{E=new a.jqx.date(E)}}}}catch(F){var E=new a.jqx.date(w,h.timeZone)}B.push(E)}}x=B}n[G]=x}for(var u in o){var G=o[u];if(n[G]==undefined){var x="";if(G=="originalData"){continue}if(G=="ownerId"){x=null}if(G=="timeZone"){x=null}if(G=="recurrencePattern"){x=null}if(G=="recurrenceException"){x=[]}if(G=="allDay"){x=false}if(G=="draggable"){x=true}if(G=="resizable"){x=true}if(G=="hidden"){x=false}if(G=="resourceId"){x=null}if(G=="from"){x=new a.jqx.date()}if(G=="to"){x=new a.jqx.date().addHours(1)}n[G]=x}}n.originalData=p;if(h.resources&&!h.resources.source){if(!h._resourcesBinding){if(m.indexOf(n.resourceId)==-1){m.push(n.resourceId)}}}h.appointmentsByKey[p.uid]=n;h.appointments.push(n);var v=new a.jqx.scheduler.appointment(n);if(n.timeZone){v.from=v.from.toTimeZone(n.timeZone);v.to=v.to.toTimeZone(n.timeZone)}if(h.timeZone){if(!n.timeZone){v.timeZone=h.timeZone}v.from=v.from.toTimeZone(h.timeZone);v.to=v.to.toTimeZone(h.timeZone)}else{v.from=v.from.toTimeZone(null);v.to=v.to.toTimeZone(null)}n.jqxAppointment=v;if(n.recurrenceException){for(var C=0;C<n.recurrenceException.length;C++){var E=v.recurrenceException[C];var r=v.clone();r.occurrenceFrom=E;var k=v.duration();if(h.allDay){k=new a.jqx.timeSpan(10000*(h.to-h.from))}r.from=E;r.to=E.add(k);r.rootAppointment=v;r.hidden=true;v.exceptions.push(r)}}v.boundAppointment=n;v.scheduler=h;h.uiappointments.push(v)}if(!h._resourcesBinding){h._resources=m}c++;i()};this.resourcesDataView.update=function(k){if(h.resources.dataField){h._resources=new Array();for(var l=0;l<k.length;l++){if(h._resources.indexOf(k[l][h.resources.dataField])>=0){continue}if(k[l][h.resources.dataField]){h._resources.push(k[l][h.resources.dataField])}}}else{h._resources=k}if(h.resources.orientation==undefined){h.resources.orientation="none"}c++;i()};this.dataview.databind(b);if(this.resources&&this.resources.source){this._resourcesBinding=true;this.resourcesDataView.databind(this.resources.source)}},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=g;var e=c;e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);c=f.args;return b},ensureAppointmentVisible:function(b){if(this.appointmentsByKey[b]){return this._ensureAppointmentVisible(this.appointmentsByKey[b].jqxAppointment)}return false},_ensureAppointmentVisible:function(h){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}if(!h){return false}var k=this.getViewStart();var i=this.getViewEnd();var p=a.jqx.scheduler.utilities.rangeIntersection(h.from,h.to,k,i);if(!p){this.navigateTo(h.from);return this._ensureAppointmentVisible(h)}var G=h.id;var t=a('[data-key="'+G+'"]');if(t.length>0){var c=t[0]}else{if(h.elements&&h.elements.length>0){var f=h.elements[0];var c=f.element}else{return false}}var z=this.vScrollInstance.value;var y=this.hScrollInstance.value;if(this.rtl){var y=this.hScrollInstance.max-y}var s=this.element.clientHeight;var v=this.element.clientWidth;var B=0;if(!this.columnGroups){B+=this.showHeader?this.columnsHeight:0}else{B+=this.showHeader?this.columnsheader.height():0}var r=this._views[this._view].type;var n=this._views[this._view];var D=0;if(r=="dayView"||r=="weekView"){var x=this.showAllDayRow;if(n.timeRuler&&(r==="dayView"||r==="weekView")){if(n.timeRuler.showAllDayRow!=undefined){x=n.timeRuler.showAllDayRow}}if(x){if(this.tableRows==1){D=this.table[0].rows[0].clientHeight}else{D=this.table[0].rows[1].clientHeight}}var q=h.duration().days()>=1||h.allDay;if(q&&this.tableRows==1&&this.tableColumns==1){return false}}if(this.showToolbar){B+=this.toolbarHeight}s-=B;if(this.showLegend&&this._resources.length>0){s-=this.legendHeight}var e=0;var l=0;var d=z-e;var C=s+d-D;var w=y-l;var F=v+w;var E=c;E=a(E);var g=E[0].clientHeight;var j=E.position().top-D;var m=j+g;if(j<=d){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A)}}else{if(j>=C){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A-2)}}}var u=E.position().left;u=Math.round(u);var b=u+E.outerWidth();if(Math.round(E.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(u<=w){var o=u-E.outerWidth()+l;if(o<0){o=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}if(u>F){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}},ensureVisible:function(d,l){var g=this;var m=a.type(d)=="date"?d:d.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var c=b(h);if(c.valueOf()==m.valueOf()){return g._ensureVisible(k)}}}},_ensureVisible:function(b){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}var t=this.vScrollBar.jqxScrollBar("value");var s=this.hScrollBar.jqxScrollBar("value");if(this.rtl){s=this.hScrollBar.jqxScrollBar("max")-s}var m=this._hostHeight;var p=this._hostWidth;var w=0;if(!this.columnGroups){w+=this.showHeader?this.columnsHeight:0}else{w+=this.showHeader?this.columnsheader.height():0}if(this.showToolbar){w+=this.toolbarHeight}m-=w;if(this.showLegend&&this._resources.length>0){m-=this.legendHeight}if(this.hScrollBar.css("visibility")!="hidden"){m-=20}var e=0;var h=0;var l=this._views[this._view].type;var j=this._views[this._view];var y=0;if(l=="dayView"||l=="weekView"){var r=this.showAllDayRow;if(j.timeRuler&&(l==="dayView"||l==="weekView")){if(j.timeRuler.showAllDayRow!=undefined){r=j.timeRuler.showAllDayRow}}if(r){if(this.tableRows==1){y=this.table[0].rows[0].clientHeight}else{y=this.table[0].rows[1].clientHeight}}}var d=t-e;var x=m+d-y;var q=s-h;var A=p+q;var z=b;z=a(z);var f=z.position().top-y;var i=f+z.outerHeight();var o=z.position().left;o=Math.round(o);var c=o+z.outerWidth();if(Math.round(z.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(o<=q){var k=o-z.outerWidth()+h;if(k<0){k=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",k)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-k)}}if(c>=A){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",2+h+c-p)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-(2+h+c-p))}}var g=z.parent().index();if(this.tableRows>0){g--}if(Math.round(z.position().top)===0||g===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var n=this.table[0].rows.length-1;var v=this.table[0].rows[n];if(v[0]===z.parent()[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}if(f<=d){var u=f;if(u<0){u=0}return this.vScrollBar.jqxScrollBar("setPosition",u)}if(i>=x){return this.vScrollBar.jqxScrollBar("setPosition",4+i-m+y)}},getColumn:function(b){var c=null;if(this.columns.records){a.each(this.columns.records,function(){if(this.datafield==b||this.displayfield==b){c=this;return false}})}return c},_setcolumnproperty:function(c,e,f){if(c==null||e==null||f==null){return null}e=e.toLowerCase();var d=this.getColumn(c);if(d==null){return}var g=d[e];d[e]=f;var b=this.getColumn(c);if(b!=null){b[e]=f}switch(e){case"text":case"hidden":case"hideable":case"renderer":case"align":case"cellsalign":case"contenttype":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(e=="align"){this._rendercolumnheaders();this.refresh()}else{if(e=="text"||e=="class"||e=="hidden"||e=="pinned"||e=="resizable"||e=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(e=="width"||e=="maxwidth"||e=="minwidth"){d._width=null;d._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(b,d){if(b==null||d==null){return null}d=d.toLowerCase();var c=this.getColumn(b);return c[d]},setColumnProperty:function(b,c,d){this._setcolumnproperty(b,c,d)},hideColumn:function(b){this._setcolumnproperty(b,"hidden",true)},showColumn:function(b){this._setcolumnproperty(b,"hidden",false)},updateBoundData:function(c,b){this.databind(this.source,c,b)},refresh:function(c){if(c!=true){var b=this;if(a.jqx.isHidden(b.host)){return}b.table[0].style.top="0px";b.vScrollInstance.setPosition(0);b._renderrows();b._arrange();b._renderhorizontalscroll();b._updateTouchScrolling();b._refreshToolBar();b._updateFocusedCell()}},_updateFocusedCell:function(){var h=this;if(h.focusedCell){h._updateCellsSelection();return}var d=h._views[h._view].type;var g=h._views[h._view];var c=h.showAllDayRow;if(g.timeRuler&&(d==="dayView"||d==="weekView")){if(g.timeRuler.showAllDayRow!=undefined){c=g.timeRuler.showAllDayRow}}if(!c||(d!="dayView"&&d!="weekView")){h.focusedCell=h.rows[0].cells[0];if(h.rtl){h.focusedCell=h.rows[0].cells[h.rows[0].cells.length-1]}}else{h.focusedCell=h.rows[1].cells[0];if(h.rtl){h.focusedCell=h.rows[1].cells[h.rows[1].cells.length-1]}}if(h.focusedCell.className.indexOf("jqx-scheduler-disabled-cell")>=0){h.focusedCell=null;for(var f=0;f<this.rows.length;f++){for(var e=0;e<this.rows[f].cells.length;e++){var b=this.rows[f].cells[e];if(b.className.indexOf("jqx-scheduler-disabled-cell")==-1){h.focusedCell=b;break}}if(h.focusedCell){break}}}h._lastSelectedCell=h.focusedCell;h._updateCellsSelection()},_updateTouchScrolling:function(){var c=this.that;if(c.isTouchDevice()){var e=a.jqx.mobile.getTouchEventName("touchstart");var d=a.jqx.mobile.getTouchEventName("touchend");var b=a.jqx.mobile.getTouchEventName("touchmove");if(c.schedulercontent){c.removeHandler(c.table,e+".touchScroll");c.removeHandler(c.table,b+".touchScroll");c.removeHandler(c.table,d+".touchScroll");c.removeHandler(c.table,"touchcancel.touchScroll");a.jqx.mobile.touchScroll(c._table[0],Math.max(c.vScrollInstance.max,c.hScrollInstance.max),function(h,g){if(c.dragOrResize){return}if(g!=null&&c.vScrollBar.css("visibility")!="hidden"){var f=c.vScrollInstance.value;c.vScrollInstance.setPosition(g)}if(h!=null&&c.hScrollBar.css("visibility")!="hidden"){var f=c.hScrollInstance.value;c.hScrollInstance.setPosition(h)}c.scrolled=new Date()},this.element.id,this.hScrollBar,this.vScrollBar)}}},scrollWidth:function(){return this.hScrollInstance.max},scrollHeight:function(){return this.vScrollInstance.max},scrollLeft:function(b){if(this.hScrollBar[0].style.visibility!="hidden"){this.hScrollInstance.setPosition(b)}},scrollTop:function(b){if(this.vScrollBar[0].style.visibility!="hidden"){this.vScrollInstance.setPosition(b)}},render:function(i){var e="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbartop' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbarbottom' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerHTML=e;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var g=this.host.find("#verticalScrollBar"+this.element.id);var k=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=g.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=k.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=a.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=a.data(this.hScrollBar[0],"jqxScrollBar").instance;this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-scheduler-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.legendbarbottom=this.host.find("#legendbarbottom");this.legendbarbottom[0].id="legendbarbottom"+this.element.id;this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar-bottom"));this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbarbottom.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.legendbartop=this.host.find("#legendbartop");this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar-top"));this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbartop.addClass(this.toTP("jqx-widget-header"));this.schedulertable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var b=this.source.datafields;if(b==null&&this.source._source){b=this.source._source.datafields}if(b){for(var c=0;c<this.columns.length;c++){var d=this.columns[c];if(d&&d.cellsFormat&&d.cellsFormat.length>2){for(var j=0;j<b.length;j++){if(b[j].name==d.datafield&&!b[j].format){b[j].format=d.cellsFormat;break}}}}}this.databind(this.source);if(this.showToolbar){this.toolbar.css("visibility","inherit")}if(this.showLegend){this.legendbarbottom.css("visibility","inherit")}this.tableheight=null;var f=this;var h=function(){if(f.content){f.content[0].scrollTop=0;f.content[0].scrollLeft=0}if(f.schedulercontent){f.schedulercontent[0].scrollLeft=0;f.schedulercontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(l){h();return false});if(i!==true){this._render()}},_render:function(){var g=this;if(g.dataview==null){return}if(g._loading){return}if(g.columnsHeight!=25||g.columnGroups){g._measureElement("column")}g.rowinfo=new Array();g._removeHandlers();if(g.columns==null){g.columns=new a.jqx.schedulerDataCollection(g.element)}else{g._initializeColumns()}g.host.height(g.height);g.host.width(g.width);a.jqx.utilities.html(g.content,"");g.columnsheader=g.columnsheader||a('<div style="overflow: hidden;"></div>');g.columnsheader.remove();g.columnsheader.addClass(g.toTP("jqx-widget-header"));g.columnsheader.addClass(g.toTP("jqx-grid-header"));if(!g.showHeader){g.columnsheader.css("display","none")}else{if(g.columnsheader){g.columnsheader.css("display","block")}}g.schedulercontent=g.schedulercontent||a('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');g.schedulercontent.remove();var e=g.columnsHeight;e=g._preparecolumnGroups();g.columnsheader.height(e);g.content.append(g.columnsheader);g.content.append(g.schedulercontent);g._rendercolumnheaders();g.tableheight=null;g.schedulercontent.find("#contenttable"+g.element.id).remove();if(g.table!=null){g.table.remove();g.table=null}if(g.pinnedtable!=null){g.pinnedtable.remove();g.pinnedtable=null}g.table=a('<div id="contenttable'+g.element.id+'" style="overflow: hidden; position: relative;"></div>');g.pinnedtable=a('<div id="contenttable2'+g.element.id+'" style="display: none; overflow: hidden; position: relative;"></div>');g.schedulercontent.addClass(g.toTP("jqx-grid-content"));g.schedulercontent.addClass(g.toTP("jqx-widget-content"));g.schedulercontent.append(g.table);if(g.tableRows==1){g.schedulercontent.append(g.pinnedtable)}g._renderrows();g._arrange();g._resourcesElements=new Array();var d=function(h,i){h.children().remove();var h=a("<div style='margin:5px; position: relative;'></div>").appendTo(h);g._resourcesElements[i]=new Array();a.each(g._resources,function(n){var l=g.getColors(n);var m=this.toString();var o=a("<div data-toggle='on' style='border-color: "+l.border+"; background: "+l.background+";' class='"+g.toThemeProperty("jqx-scheduler-legend")+"'></div>");o.appendTo(h);var k=a("<div class='"+g.toThemeProperty("jqx-scheduler-legend-label")+"'>"+m+"</div>");k.appendTo(h);g._resourcesElements[i][m]=o;var j=function(){if(o.attr("data-toggle")=="on"){g.hideAppointmentsByResource(m)}else{g.showAppointmentsByResource(m)}};g.addHandler(o,"mousedown",function(){j();return false});g.addHandler(k,"mousedown",function(){j();return false})})};d(g.legendbarbottom,"bottom");d(g.legendbartop,"top");if(g.legendPosition=="top"){g.legendbarbottom.hide()}else{g.legendbartop.hide()}if(g._resources.length==0){g.legendbarbottom.hide();g.legendbartop.hide()}if(g.renderToolBar){g.renderToolBar(g.toolbar)}else{g._renderToolBar()}if(g.disabled){g.host.addClass(g.toThemeProperty("jqx-fill-state-disabled"))}g._renderhorizontalscroll();g._addHandlers();g.clearSelection();var c=g._views[g._view].type;var f=g._views[g._view];var b=g.showAllDayRow;if(f.timeRuler&&(c==="dayView"||c==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){b=f.timeRuler.showAllDayRow}}if(!b||(c!="dayView"&&c!="weekView")){g.focusedCell=g.rows[0].cells[0]}else{g.focusedCell=g.rows[1].cells[0]}g._lastSelectedCell=g.focusedCell;g._updateCellsSelection()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},getAppointmentElement:function(e){var b=null;if(e.className.indexOf("jqx-scheduler-appointment")>=0&&e.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=e}var d=e;for(var c=0;c<4;c++){if(d.parentNode){if(d.className.indexOf("jqx-scheduler-appointment")>=0&&d.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=d}d=d.parentNode}else{break}}return b},getJQXAppointmentByElement:function(d){var f=this;var e=d.getAttribute?d.getAttribute("data-key"):d.attr("data-key");if(e.indexOf(".")>=0){var c=e.substring(0,e.indexOf("."));var h=e.substring(e.indexOf(".")+1);var g=f.appointmentsByKey[c];var b=g.jqxAppointment.renderedAppointments[e]}else{var g=f.appointmentsByKey[e];var b=g.jqxAppointment}return b},_renderToolBar:function(){var i=this;var b=a('<div style="width: 100%; height: 100%; position: relative;"></div>');var k=(this.toolbarHeight-20)/2;b.css("top",k);i.toolbarLeftButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-left: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarRightButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.attr("title",i.schedulerLocalization.toolBarPreviousButtonString);i.toolbarRightButton.attr("title",i.schedulerLocalization.toolBarNextButtonString);i.toolbarRightButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.toolbarLeftButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.dateTimeInput=a('<div style="outline: none; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.find(".jqx-icon-arrow-left").remove();i.toolbarRightButton.find(".jqx-icon-arrow-right").remove();var e=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(i.toThemeProperty("jqx-icon-arrow-left"));i.toolbarLeftButton.wrapInner(e);var j=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");j.addClass(i.toThemeProperty("jqx-icon-arrow-right"));i.toolbarRightButton.wrapInner(j);if(i.rtl){i.toolbarLeftButton.css("float","right");i.toolbarRightButton.css("float","right");i.dateTimeInput.css("float","right")}i.addHandler(i.toolbarRightButton,"mouseenter",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseenter",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mouseleave",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseleave",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mousedown",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarRightButton,"mouseup",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarLeftButton,"mousedown",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarLeftButton,"mouseup",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(a(document),"mouseup.pagerbuttons"+i.element.id,function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"));e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarRightButton,"click",function(){if(!i.toolbarRightButton.jqxButton("disabled")){if(!i.rtl){i.navigateForward()}else{i.navigateBackward()}i.focus()}});i.addHandler(i.toolbarLeftButton,"click",function(){if(!i.toolbarLeftButton.jqxButton("disabled")){if(!i.rtl){i.navigateBackward()}else{i.navigateForward()}i.focus()}});i.toolbar.children().remove();i.toolbar.append(b);if(!i.rtl){b.append(i.toolbarLeftButton);b.append(i.dateTimeInput);b.append(i.toolbarRightButton)}else{b.append(i.toolbarRightButton);b.append(i.dateTimeInput);b.append(i.toolbarLeftButton)}i.toolbarDetails=a('<div class="'+i.toTP("jqx-scheduler-toolbar-details")+'" style="margin-left: 7px; margin-top:2px; float: left;"></div>');i.toolbarViews=a('<div style="margin-right: 10px; margin-top:0px; float: right;"></div>');if(i.rtl){i.toolbarDetails.css("float","right");i.toolbarDetails.css("margin-left","0px");i.toolbarDetails.css("margin-right","7px");i.toolbarViews.css("margin-left","10px");i.toolbarViews.css("margin-right","0px");i.toolbarViews.css("float","left")}var h=new Array();if(!i.rtl){h.push(i.toolbarLeftButton);h.push(i.dateTimeInput);h.push(i.toolbarRightButton)}else{h.push(i.toolbarRightButton);h.push(i.dateTimeInput);h.push(i.toolbarLeftButton)}var l=i._views.length-1;a.each(i._views,function(p){var q="";var n=p;if(i.rtl){n=l-p}if(i._views[n].text!=undefined){q=i._views[n].text}else{switch(i._views[n].type){case"dayView":q=i.schedulerLocalization.dayViewString;break;case"weekView":q=i.schedulerLocalization.weekViewString;break;case"monthView":q=i.schedulerLocalization.monthViewString;break;case"agendaView":q=i.schedulerLocalization.agendaViewString;break;case"timelineDayView":q=i.schedulerLocalization.timelineDayViewString;break;case"timelineWeekView":q=i.schedulerLocalization.timelineWeekViewString;break;case"timelineMonthView":q=i.schedulerLocalization.timelineMonthViewString;break}}var o='<span data-type="'+i._views[n].type+'" style="cursor: pointer; outline: none; margin-left: -1px; position: relative;">'+q+"</span>";var m=a(o);m.addClass(i.toTP("jqx-group-button-normal jqx-button jqx-fill-state-normal"));h.push(m);if(n==0){if(!i.rtl){m.addClass(i.toTP("jqx-rc-l"))}else{m.addClass(i.toTP("jqx-rc-r"))}}if(n==i._views.length-1){if(!i.rtl){m.addClass(i.toTP("jqx-rc-r"))}else{m.addClass(i.toTP("jqx-rc-l"))}}if(n===i._view){m.addClass(i.toTP("jqx-fill-state-pressed"))}m.mouseenter(function(){m.addClass(i.toTP("jqx-fill-state-hover"))});m.mouseleave(function(){m.removeClass(i.toTP("jqx-fill-state-hover"))});m.mousedown(function(){i._setView(n);i.focus()});a(i.toolbarViews).append(m)});b.append(i.toolbarDetails);b.append(i.toolbarViews);if(i._views.length<2){i.toolbarViews.hide()}i.dateTimeInput.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:i.rtl,localization:i._getDateTimeInputLocalization(),firstDayOfWeek:i.schedulerLocalization.firstDay,todayString:i.schedulerLocalization.todayString,clearString:i.schedulerLocalization.clearString,showFooter:true,height:19,width:18,renderMode:"simple"});i.addHandler(i.dateTimeInput,"change",function(m){if(!i.fromNavigate){i.navigateTo(new a.jqx.date(m.args.date,i.timeZone));i.focus()}});i.tabKeyElements=h;var g=i._views[i._view].type;var d=function(m){var o=a.jqx.formatDate(i.getViewStart().toDate(),m,i.schedulerLocalization);var n=a.jqx.formatDate(i.getViewEnd().toDate(),m,i.schedulerLocalization);if(g==="dayView"||g==="timelineDayView"){i.toolbarDetails.html(o)}else{i.toolbarDetails.html(o+" - "+n)}if(i.rtl){i.toolbarDetails.addClass("jqx-rtl");i.toolbarDetails.html("<span style='direction:rtl;'>"+n+"<span> - <span style='direction:rtl;'>"+o+"</span>")}else{i.toolbarDetails[0].style.direction="ltr"}};d(i.toolBarRangeFormat);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;var f=i.toolBarRangeFormat;if(c>i.host.width()){f=i.toolBarRangeFormatAbbr;d(f);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;if(c>i.host.width()){i.toolbarDetails.hide();var c=i.toolbarViews.width()+120;if(c>i.host.width()){i.toolbarViews.hide()}}}else{i.currentToolbarFormat=i.toolBarRangeFormat}},_setView:function(g){var f=this;f.toolbarViews.find(".jqx-fill-state-pressed").removeClass(f.toTP("jqx-fill-state-pressed"));if(!f.rtl){a(f.toolbarViews.children()[g]).addClass(f.toTP("jqx-fill-state-pressed"))}else{a(f.toolbarViews.children()[f._views.length-1-g]).addClass(f.toTP("jqx-fill-state-pressed"))}if(f._view===g){return}var b=f.vScrollBar[0].style.visibility;if(b){if(!f._scrollPosition){f._scrollPosition=new Array()}f._scrollPosition[f._view]=f.vScrollInstance.value}var c=f.hScrollBar[0].style.visibility;if(c){if(!f._hscrollPosition){f._hscrollPosition=new Array()}f._hscrollPosition[f._view]=f.hScrollInstance.value}var i=f._views[f._view].type;var e=f._views[g].type;f._view=g;f._refreshColumns();f.refresh();var h=f.hScrollBar[0].style.visibility;if(c!==h){f._renderrows();f._updateTouchScrolling()}if(f._scrollPosition[f._view]){f.vScrollInstance.setPosition(f._scrollPosition[f._view])}if(f._hscrollPosition[f._view]){f.hScrollInstance.setPosition(f._hscrollPosition[f._view])}if(f.selectedJQXAppointment){f._ensureAppointmentVisible(f.selectedJQXAppointment)}var d=f.getViewStart();var j=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._raiseEvent("viewChange",{date:f.date,from:d,to:j,oldViewType:i,newViewType:e})},_getDateTimeInputLocalization:function(){var b=this;var c={};c.backString=b.schedulerLocalization.backString;c.forwardString=b.schedulerLocalization.forwardString;c.todayString=b.schedulerLocalization.todayString;c.clearString=b.schedulerLocalization.clearString;c.calendar=b.schedulerLocalization;return c},setView:function(b){switch(b){case"dayView":this._setView(0);break;case"weekView":this._setView(1);break;case"monthView":this._setView(2);break;case"timelineDayView":this._setView(3);break;case"timelineWeekView":this._setView(4);break;case"timelineMonthView":this._setView(5);break}this.view=b},navigateForward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(1);break;case"agendaView":if(i.days){c=c.addDays(i.days)}else{c=c.addDays(7)}break}return this.navigateTo(c)},navigateBackward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(-1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(-1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(-7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(-1);break;case"agendaView":if(i.days){c=c.addDays(-i.days)}else{c=c.addDays(-7)}break}return this.navigateTo(c)},_refreshToolBar:function(d){var f=this;var g=f.getViewStart();var e=f.getViewEnd();var c=function(i){var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization);var h=f._views[f._view].type;var k=f._views[f._view];if(k.showWeekends===false){if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization)}if(h==="dayView"||h==="timelineDayView"){f.toolbarDetails.html(l)}else{f.toolbarDetails.html(l+" - "+j)}if(f.rtl){f.toolbarDetails.addClass("jqx-rtl");f.toolbarDetails.html("<span style='direction:rtl;'>"+j+"<span> - <span style='direction:rtl;'>"+l+"</span>")}else{f.toolbarDetails[0].style.direction="ltr"}};if(d){c(f._lastFormatString||f.toolBarRangeFormat);return}c(f.toolBarRangeFormat);f.toolbarDetails.show();f.toolbarViews.show();var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){c(f.toolBarRangeFormatAbbr);var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){f.toolbarDetails.hide();var b=f.toolbarViews.width()+120;if(b>f.host.width()){f.toolbarViews.hide()}}}},navigateTo:function(b){var d=this;if(a.type(b)=="date"){b=new a.jqx.date(b)}if(b<this.min){return}if(b>this.max){return}b.timeZone=d.timeZone;d.date=b;d._refreshToolBar(true);d.fromNavigate=true;d.dateTimeInput.val(b.toDate());d.fromNavigate=false;d._refreshColumnTitles();d._renderrows();d._updateFocusedCell();if(d.resources){d._renderhorizontalscroll()}var e=d.getViewStart();var c=a.jqx.scheduler.utilities.getEndOfDay(d.getViewEnd());d._raiseEvent("dateChange",{date:b,from:e,to:c})},_preparecolumnGroups:function(){var n=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var l=this;for(var f=0;f<this.columnGroups.length;f++){this.columnGroups[f].parent=null;this.columnGroups[f].groups=null}for(var f=0;f<this.columns.records.length;f++){this.columns.records[f].parent=null;this.columns.records[f].groups=null}var m=function(j){for(var s=0;s<l.columnGroups.length;s++){var t=l.columnGroups[s];if(t.name===j){return t}}return null};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];if(!o.groups){o.groups=null}if(o.parentGroup){o.parentgroup=o.parentGroup}if(o.parentgroup){var q=m(o.parentgroup);if(q){o.parent=q;if(!q.groups){q.groups=new Array()}if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];if(o.columngroup){var q=m(o.columngroup);if(q){if(!q.groups){q.groups=new Array()}o.parent=q;if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}var p=0;for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];var c=o;o.level=0;while(c.parent){c=c.parent;o.level++}var c=o;var b=o.level;p=Math.max(p,o.level);while(c.parent){c=c.parent;if(c){c.level=--b}}}var k=function(w){var v=new Array();if(w.columngroup){v.push(w)}if(!w.groups){return new Array()}for(var u=0;u<w.groups.length;u++){if(w.groups[u].columngroup){v.push(w.groups[u])}else{if(w.groups[u].groups){var t=k(w.groups[u]);for(var s=0;s<t.length;s++){v.push(t[s])}}}}return v};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];var d=k(o);o.columns=d;var g=new Array();var r=0;for(var e=0;e<d.length;e++){g.push(this.columns.records.indexOf(d[e]));if(d[e].pinned){r++}}if(r!=0){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group cannot be pinned.")}g.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var h=1;h<g.length;h++){if(g[h]!=g[h-1]+1){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+p;n=this.columnGroupslevel*this.columnsHeight}return n},wheel:function(d,c){if(c.editRecurrenceDialog&&c.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(c._editDialog&&c._editDialog.jqxWindow("isOpen")){return true}if(c.autoheight&&c.hScrollBar.css("visibility")=="hidden"){d.returnValue=true;return true}var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(b){if(d.preventDefault){d.preventDefault()}if(d.originalEvent!=null){d.originalEvent.mouseHandled=true}if(d.stopPropagation!=undefined){d.stopPropagation()}}if(b){b=false;d.returnValue=b;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(d){if(this.vScrollBar.css("visibility")!="hidden"){var c=this.vScrollInstance.value;if(d<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var b=this.vScrollInstance.value;if(c!=b){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var c=this.hScrollInstance.value;if(d>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var b=this.hScrollInstance.value;if(c!=b){return true}}}return false},_removeHandlers:function(){var e=this;if(e._mousewheelfunc){e.removeHandler(this.host,"mousewheel",e._mousewheelfunc)}e.removeHandler(a(document),"keydown.scheduler"+e.element.id);e.removeHandler(e.host,"focus");e.removeHandler(e.host,"blur");e.removeHandler(e.host,"dragstart."+e.element.id);e.removeHandler(e.host,"selectstart."+e.element.id);e.removeHandler(a(window),"jqxReady."+e.element.id);e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);var d="mousedown";if(e.isTouchDevice()){d=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){d="mousedown"}}if(e.table){e.removeHandler(e.table,"mouseleave")}var c="mousemove.scheduler"+e.element.id;var f="mouseup.scheduler"+e.element.id;if(e.isTouchDevice()&&e.touchMode!==true){c=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+e.element.id;f=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+e.element.id}e.removeHandler(a(document),c);e.removeHandler(a(document),f);if(!e.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var g=null;if(window.parent&&document.referrer){g=document.referrer}if(g&&g.indexOf(document.location.host)!=-1){e.removeHandler(a(window.top.document),"mouseup.jqxscheduler"+e.element.id)}}}}catch(b){}}e.removeHandler(e.host,c);e.removeHandler(a(document),"keydown.jqxscheduler"+e.element.id);e.removeHandler(e.host,"keydown");if(e.table){e.removeHandler(e.table,"dblclick");e.removeHandler(e.pinnedtable,d);e.removeHandler(e.table,d)}},selectAppointment:function(b){if(this.appointmentsByKey[b]){this._selectAppointment(this.appointmentsByKey[b].jqxAppointment)}},_selectAppointment:function(d,i,f){if(!d){return}var h=this;if(h.selectedAppointment){h.clearAppointmentsSelection()}var e=d.id;var c=a('[data-key="'+e+'"]');if(c.length>0){h.selectedJQXAppointment=d;if(!i){h.selectedAppointment=a(c[0])}else{h.selectedAppointment=a(i)}var b=h._views[h._view].type;var g=h._views[h._view];if(b=="agendaView"){h.clearSelection();return}c.addClass(h.toTP("jqx-scheduler-selected-appointment"));if(d.resizable){c.find(".jqx-scheduler-appointment-resize-indicator").show()}switch(b){case"dayView":a(c).find(".jqx-scheduler-appointment-left-resize-indicator").hide();a(c).find(".jqx-scheduler-appointment-right-resize-indicator").hide();break;case"weekView":break;case"monthView":case"timeLineMonthView":case"timeLineDayView":case"timeLineWeekView":if(c.length>1){a.each(c,function(j){if(!h.rtl){if(j>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}}else{if(j>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}}})}break}if(f=="mouse"){h.clearSelection();return}}h.clearSelection()},clearAppointmentsSelection:function(){var d=this;if(d.selectedAppointment){var c=d.selectedAppointment.attr("data-key");var b=a('[data-key="'+c+'"]');b.removeClass(d.toTP("jqx-scheduler-selected-appointment"));b.find(".jqx-scheduler-appointment-resize-indicator").hide();d.selectedAppointment=null;d.selectedJQXAppointment=null}},selectCell:function(c,m,l){var g=this;var n=c.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var d=b(h);if(m&&k.getAttribute("data-end-date")){if(d.valueOf()==c.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}else{if(!m&&k.getAttribute("data-end-date")){continue}}if(d.valueOf()==n.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}}g._updateCellsSelection()},selectRange:function(m,n,q,p){var k=this;if(m<this.min){m=this.min}if(n>this.max){n=this.max}var f=m.toDate();var d=n.toDate();var g=false;for(var h=0;h<k.rows.length;h++){for(var e=0;e<k.rows[h].cells.length;e++){var o=k.rows[h].cells[e];if(p){if(o.getAttribute("data-view")!==p){continue}}var l=o.getAttribute("data-date");var b=k._getDateByString;var c=b(l);if(q&&o.getAttribute("data-end-date")){if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true")}}else{if(!q&&o.getAttribute("data-end-date")){continue}}if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true");if(!g){k._lastSelectedCell=o;k.focusedCell=o;g=true}}}}k._updateCellsSelection()},_selectRange:function(b,r){var h=this;if(h._views[h._view].type=="agendaView"){return}var k=b;var v=r.getAttribute("data-view");if(b.getAttribute("data-view")!==v){return}var q=r.getAttribute("data-date");var m=k.getAttribute("data-date");if(null==q||null==m){return}var C=r.getAttribute("data-end-date");var F=k.getAttribute("data-end-date");var H=C!=null||F!=null;var s=C!=null&&F!=null;var n=h._getDateByString;var u=n(q);var t=n(m);if(u<this.min.toDate()){u=this.min.toDate()}if(t<this.min.toDate()){t=this.min.toDate()}if(u>this.max.toDate()){u=this.max.toDate()}if(t>this.max.toDate()){t=this.max.toDate()}var w=Math.min(u,t);var A=Math.max(u,t);var p=h.rows;var f=0;var e=0;if(f>0&&h.rtl){f=0;e=1}var d=p.length;if(H){d=1;if(b.getAttribute("data-end-date")==null){t.setHours(0,0,0,0);var B=new a.jqx.date(t,h.timeZone).toString();var E=a(k).parent().index();a.each(p[0].cells,function(){var i=this.getAttribute("data-date");if(i===B){b=this;s=r.getAttribute("data-end-date")!=null&&b.getAttribute("data-end-date")!=null;var I=r.getAttribute("data-date");var j=b.getAttribute("data-date");var K=n(I);var J=n(j);w=Math.min(K,J);A=Math.max(K,J);return false}})}}for(var z=0;z<d;z++){var g=p[z];if(H&&this.tableRows>1){var y=parseInt(b.getAttribute("data-view"));var l=p.length/h.tableRows;var o=(-1+y)*l;c=p[o];g=p[o]}var c=g.cells;for(var x=f;x<c.length-e;x++){if(c[x].getAttribute("data-view")!==v){continue}c[x].removeAttribute("data-selected");if(!s&&c[x].getAttribute("data-end-date")){continue}var G=c[x].getAttribute("data-date");var D=n(G).valueOf();if(w<=D&&D<=A){c[x].setAttribute("data-selected","true")}}}h._updateCellsSelection()},findCell:function(s,p){var k=this;var l=null;if(!k._tableOffset){var c=k.schedulercontent.coord();k._tableOffset=c}var g=k._tableOffset;var e=g.top;var n=g.left;if(p<e){return null}if(s<n){return null}if(p>e+k._hostHeight){return null}if(s>n+k._hostWidth){return null}var q=false;var r=k.rows;var o=k._views[k._view];var t=o.type;var D=0;var m=k.vScrollInstance.value;var u=k.hScrollInstance.value;for(var B=0;B<r.length;B++){if(q){break}var h=r[B];var d=h.cells;var z=false;if(B==0&&t=="dayView"||t=="weekView"){z=k.showAllDayRow;if(o.timeRuler&&(t==="dayView"||t==="weekView")){if(o.timeRuler.showAllDayRow!=undefined){z=o.timeRuler.showAllDayRow}}if(z){D=k._allDayRowFullHeight}}for(var C=0;C<d.length;C++){var b=d[C];if(C==0&&b.getAttribute("data-time-slot")){continue}if(!b._left){var f=b.offsetLeft+n;var v=b.offsetTop+e;var A=b.offsetWidth;var w=b.offsetHeight;b._left=f;b._top=v;b._width=A;b._height=w}else{var f=b._left;var v=b._top;var A=b._width;var w=b._height}b._left=f;b._top=v;b._width=A;b._height=w;if(A===0||w===0){continue}if(!k.rtl){f-=u}else{if(k.hScrollInstance.element.style.visibility!="hidden"){f-=(k.hScrollInstance.max-u)}}v-=m;if(B==0&&z){v+=m}if(v<=p&&p<v+w){if(f<=s&&s<f+A){l=b;q=true;break}}else{break}}}return l},_removeFeedbackAndStopResize:function(){var d=this;if(!d.feedback){return}d.feedback.remove();d.feedback=null;d.pinnedfeedback.remove();d.pinnedfeedback=null;if(d.feedbacks){for(var c=0;c<d.feedbacks.length;c++){d.feedbacks[c].remove()}}d._resizeDays=0;d._resizeStep=0;d._lastX=null;d.feedbacks=new Array();d.leftResize=false;d.rightResize=false;d.topResize=false;d.bottomResize=false;d.overlay.hide();d.resizing=false;d.resizeFrom=null;d._dragCell=null;d._dragStartCell=null;d.resizeTo=null;d.dragOrResize=false;d.isMouseDown=false;if(d.selectedJQXAppointment){var b=a('[data-key="'+d.selectedJQXAppointment.id+'"]');b.removeClass(d.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"))}if(d.openedMonthCellPopup){d.openedMonthCellPopup.remove()}},_saveChangesAfterDragOrResize:function(e,b,r,m){var l=this;if(e===false){if(!b.isException()){if(!b.rootAppointment.recurrenceException){b.rootAppointment.recurrenceException=new Array()}if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(b);b.rootAppointment.recurrenceException.push(b.occurrenceFrom)}else{b.exceptions.push(b);b.recurrenceException.push(b.occurrenceFrom)}}else{var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){d[h]=b;break}}}}else{if(e===true){if(b.isException()){var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){for(var g=0;g<b.rootAppointment.recurrenceException.length;g++){if(b.rootAppointment.recurrenceException[g].equals(d[h].occurrenceFrom)){var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());b.rootAppointment.recurrenceException[g]=f;break}}d[h]=b;var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());d[h].occurrenceFrom=f;break}}}if(b.rootAppointment!=null){b.rootAppointment.recurrencePattern=b.rootAppointment.recurrencePattern.createNewPattern();var p=b.rootAppointment.from;var n=b.rootAppointment.duration();var c=b.rootAppointment.recurrencePattern.freq;var f=null;switch(c){case"daily":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"weekly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"monthly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"yearly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break}if(m){b.rootAppointment.from=p;b.rootAppointment.to=p.add(b.duration())}else{b.rootAppointment.from=f;b.rootAppointment.to=f.add(n)}b.rootAppointment.allDay=b.allDay;b.rootAppointment.resourceId=b.resourceId;b.rootAppointment.color=b.color;b.rootAppointment.borderColor=b.borderColor;b.rootAppointment.background=b.background;b.rootAppointment.timezone=b.timezone;b.rootAppointment.subject=b.subject;b.rootAppointment.description=b.description;b.rootAppointment.location=b.location;b.rootAppointment.category=b.category;b.rootAppointment.status=b.status;if(!l.resizing){b.rootAppointment.recurrencePattern.setFrom(f)}else{b.rootAppointment.recurrencePattern.setFrom(p)}}else{b.recurrencePattern=b.recurrencePattern.createNewPattern();b.recurrencePattern.setFrom(b.from)}var o=a(r).attr("data-view");var k=l._resources[parseInt(o)-1];if(k!=null){if(b.rootAppointment!=null){b.rootAppointment.resourceId=k}else{b.resourceId=k}}}}},_handleMouseUp:function(k,i,g){var f=this;clearInterval(f._verticalIntervalDragVelocity);clearInterval(f._horizontalIntervalDragVelocity);clearInterval(f._intervalDrag);clearInterval(f._horizontalIntervalDrag);var b=k;var j=false;if(!g){if(f._dragStartCell==i){j=true}}else{if(f.resizeTo){if(b.to.equals(f.resizeTo)){j=true}}else{if(f.resizeFrom){if(b.from.equals(f.resizeFrom)){j=true}}}}if(j){var h=a('[data-key="'+k.id+'"]');h.removeClass(f.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));f._removeFeedbackAndStopResize();return}var d=b.duration();var c=b.duration().days()>=1||b.allDay;var e=function(t,q){if(q.allDay||c){var w=f.getMaxAllDayAppointments(f.appointmentsToRender)}if(g){if(f.resizeTo){if(f.resizeTo>f.max){f.resizeTo=f.max}if(f.resizeTo<f.min){f.resizeTo=f.min}q.to=f.resizeTo}else{if(f.resizeFrom){if(f.resizeFrom>f.max){f.resizeFrom=f.max}if(f.resizeFrom<f.min){f.resizeFrom=f.min}q.from=f.resizeFrom}}if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{var x=f._views[f._view].type;var u=f._views[f._view];var C=a(i).attr("data-date");var D=a(i).attr("data-end-date")!=null;var o=new a.jqx.date(C,f.timeZone);if(o<f.min){o=f.min}if(o>f.max){o=f.max}if(f.rtl&&c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="monthView"||x=="timelineMonthView")){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="timelineDayView"||x=="timelineWeekView")){var n=f.getMinutesPerScale();q.to=o.addMinutes(n)}else{q.from=o}}}if(x==="dayView"||x==="weekView"){if(!c&&!D){q.to=o.add(d);q.allDay=false}else{if(!c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o);q.allDay=true}else{if(c&&D&&!f.rtl){q.to=o.add(d);if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&D&&f.rtl){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)));if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&!D){var A=30;var E=u.timeRuler&&u.timeRuler.scale;switch(E){case"sixtyMinutes":case"hour":A=60;break;case"fifteenMinutes":case"quarterHour":A=15;break;case"tenMinutes":A=10;break;case"fiveMinutes":A=5;break}q.to=o.addMinutes(A);q.allDay=false}}}}}}else{if(x==="monthView"){if(!f.rtl){q.to=o.add(d)}else{q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}}else{if(x==="timelineDayView"||x==="timelineWeekView"||x==="timelineMonthView"){if(!f.rtl){q.to=o.add(d)}else{if(x=="timelineMonthView"){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}else{var n=f.getMinutesPerScale();q.from=o.addMinutes(n).add(new a.jqx.timeSpan(-d))}}}}}}f._saveChangesAfterDragOrResize(t,q,i,f.resizing);var x=a(i).attr("data-view");var y=f._resources[parseInt(x)-1];if(y!=null){q.resourceId=y}f.resizing=false;f.resizeFrom=null;f._dragCell=null;f.resizeTo=null;var p={};var v={};for(var F in f.appointmentDataFields){var m=f.appointmentDataFields[F];var z=q[F];p[F]=z;if(F=="from"||F=="to"){z=z.toDate()}v[m]=z}p.jqxAppointment=q;p.originalData=v;q.boundAppointment=p;f._raiseEvent("appointmentChange",{appointment:q.boundAppointment});f.changedAppointments[q.id]={type:"Update",appointment:q.boundAppointment};f.table.find(".jqx-icon-arrow-down").hide();if(f._views[f._view].type=="monthView"&&f._views[f._view].monthRowAutoHeight){f._renderrows()}else{if((f._views[f._view].type=="weekView"||f._views[f._view].type=="dayView")&&(q.allDay||c)){if(f.tableRows>1){f._renderrows()}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r);var l=f.getMaxAllDayAppointments(f.appointmentsToRender);if(l!=w){var B=l*(f._defaultRowHeight-2);if(f.isTouchDevice()){B=Math.max(22+f._defaultRowHeight,17+B)}else{B=Math.max(3*f._defaultRowHeight,17+B)}if(f.tableRows==1){a(a(f.table[0].rows[0]).find("td")).css("height",B+"px")}else{a(a(f.table[0].rows[1]).find("td")).css("height",B+"px")}a(f.oldRow).find("td").css("height",B+"px");a(f.pinnedTableRow).find("td").css("height",B+"px");f.pinnedtable.height(B);f._updateScrollbars(f._hostHeight?f._hostHeight:f.host.height())}}}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r)}}f._removeFeedbackAndStopResize()};if(b.isRecurrentAppointment()){e(false,b)}else{e(null,b)}},_handleDayWeekViewResize:function(E,D,h,F,n){var C=this;var f=C._views[C._view].type;var B=C._views[C._view];var r=n.duration().days()>=1||n.allDay;if(!r&&!h.getAttribute("data-end-date")){var e=function(i){if(i<10){return false}return true};var j=C.findCell(C.feedback.coord().left,D);if(C.topResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-a(h).height()-3;if(e(v)){C.feedback.css("top",2+F.top+a(h).height());C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;var M=new a.jqx.date(j.getAttribute("data-date"),C.timeZone);C.resizeFrom=M.addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-3;if(e(v)){C.feedback.css("top",2+F.top);C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;C.resizeFrom=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}else{if(C.bottomResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var G=-5+a(h).height()+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone).addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var G=-5+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}}}else{var p=function(i){if(i<C.cellWidth-10){return false}return true};var A=B.appointmentsRenderMode&&B.appointmentsRenderMode=="exactTime";if(n.allDay||!A){if(C.leftResize){if(!C._lastResizeX){C._lastResizeX=C.mouseDownPosition.left}if(E>C._lastResizeX+a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left-C.cellWidth;if(p(d)){C.feedback.css("left",5+F.left+C.cellWidth);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left+C.cellWidth);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone)).addDays(-1)}}}else{if(E<C._lastResizeX-a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left;if(p(d)){C.feedback.css("left",5+F.left);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}}}}}else{if(C.rightResize){if(!C._lastResizeX){C._lastResizeX=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left}var m=a(h).width()/2;if(E>C._lastResizeX+m){var G=a(h).width()+F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.width(d-6);C.feedback.css("left",5+F.left);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}}}else{if(E<C._lastResizeX-m){var G=F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.css("left",5+F.left);C.feedback.width(d-6);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(-1))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}}}}}}}else{var t=new Array();var b=new Array();var K=-1;var J=-1;var k=this.host.coord().left;var Q=0;var z=C.hScrollInstance.value;if(C.rtl){var z=C.hScrollInstance.max-C.hScrollInstance.value}if(C.hScrollBar[0].style.visibility=="hidden"){z=0}var O=E+z-k;k=0;for(var L=0;L<this.columns.records.length;L++){if(this.columns.records[L].timeColumn){if(!C.rtl){k+=this.columns.records[L].width;Q++}}}var s=C.getViewStart();var H=C.getViewEnd();for(var L=0;L<this._getColumnsLengthPerView();L++){var c=this.columns.records[L+Q].width;if(C.leftResize){if(!C.rtl){t.push(k);b.push(s.addDays(L));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}}if(C.rtl){t.push(k);b.push(H.addDays(-L-1));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}}k+=c}else{if(!C.rtl){if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(s.addDays(L))}else{if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(H.addDays(-L-1))}}}if(C.leftResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?O>=F&&O<=N:O>=F;if(g){var c=-F+C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width;var q=C.pinnedfeedback.width();var I=C.pinnedfeedback.css("left");var l=C.resizeTo;var w=C.resizeFrom;if(c>0){C.pinnedfeedback.css("left",F);C.pinnedfeedback.width(c);if(L==K){if(!C.rtl){C.resizeFrom=n.from}else{C.resizeTo=n.from}}else{if(L==J){if(!C.rtl){C.resizeFrom=n.to}else{C.resizeTo=n.to}}else{if(!C.rtl){C.resizeFrom=b[L]}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}}}}}}var o=C.resizeFrom;var P=C.resizeTo;if(C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.css("left",I);C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}else{if(C.rightResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?E>=F-this.cellWidth/3&&E<=N-this.cellWidth/3:E>=F-this.cellWidth/3;if(g){var c=F-C.selectedAppointmentTableBounds.left-15;var q=C.pinnedfeedback.width();C.pinnedfeedback.width(c);var l=C.resizeTo;var w=C.resizeFrom;if(L==K){if(!C.rtl){C.resizeTo=n.from}else{C.resizeFrom=n.from}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(L==J){if(!C.rtl){C.resizeTo=n.to}else{C.resizeFrom=n.to}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}else{C.resizeFrom=b[L]}break}}}}var o=C.resizeFrom;var P=C.resizeTo;if(!C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}}}}},_handleTimelineMonthViewResize:function(t,s,q,M,k){var p=this;var w=p._views[p._view].type;var r=p._views[p._view];var D=function(i){if(i<10){return false}return true};var E=p.findCell(t,p.feedback.coord().top);if(k.allDay){if(p.leftResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left-a(q).width();if(D(v)){p.feedback.css("left",M.left+a(q).width());p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}}}else{if(t<p._lastResizeX-a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left;if(D(v)){p.feedback.css("left",M.left);p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}}}}}else{if(p.rightResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var n=a(q).width()+M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}}}else{if(t<p._lastResizeX-a(q).width()/2){var n=M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}}}}}}}else{var o=new Array();var L=new Array();var u=-1;var A=-1;var j=this.host.coord().left;var h=0;for(var J=0;J<this.columns.records.length;J++){if(this.columns.records[J].timeColumn){j+=this.columns.records[J].width;h++}}var z=p.hScrollInstance.value;if(p.rtl){var z=p.hScrollInstance.max-p.hScrollInstance.value}if(p.hScrollBar[0].style.visibility=="hidden"){z=0}var d=t+z-j;j=0;var m=p.getViewStart();var l=p.getViewEnd();var g=this._getColumnsLengthPerView()-1;for(var J=0;J<this._getColumnsLengthPerView();J++){var C=this.columns.records[J+h].width;if(p.leftResize){o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J))}if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width+8);L.push(k.to);A=o.length-1}}j+=C}else{if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width);L.push(k.to);A=o.length-1}}j+=C;o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J-1))}}}if(p.leftResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c&&d<=H:d>=c;if(I){var C=-c+p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width;var B=p.feedback.width();var f=p.feedback.css("left");var F=p.resizeTo;var K=p.resizeFrom;p.feedback.css("left",c);p.feedback.width(C);if(J==u){if(!p.rtl){p.resizeFrom=k.from}else{p.resizeTo=k.from}}else{if(J==A){if(!p.rtl){p.resizeFrom=k.to}else{p.resizeTo=k.to}}else{if(!p.rtl){p.resizeFrom=L[J]}else{p.resizeTo=L[J]}}}}}var G=p.resizeFrom;var e=p.resizeTo;if(p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.css("left",f);p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}else{if(p.rightResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c-this.cellWidth/3&&d<=H-this.cellWidth/3:d>=c-this.cellWidth/3;if(I){var C=c-p.selectedAppointmentTableBounds.left-12;var B=p.feedback.width();p.feedback.width(C);var F=p.resizeTo;var K=p.resizeFrom;if(J==u){if(!p.rtl){p.resizeTo=k.from}else{p.resizeFrom=k.from}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(J==A){if(!p.rtl){p.resizeTo=k.to}else{p.resizeFrom=k.to}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(L[J])}else{p.resizeFrom=L[J]}break}}}}var G=p.resizeFrom;var e=p.resizeTo;if(!p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}}}},_handleMonthViewResize:function(K,I,g,L,r){var H=this;if(!H.selectedJQXAppointment){return}var f=H._views[H._view].type;var G=H._views[H._view];var v=function(i){if(i<10){return false}return true};var s=-5;if(H.tableColumns>1){s=parseInt(-5/H.tableColumns)}for(var R=0;R<H.columns.records.length/H.tableColumns;R++){if(H.columns.records[R].timeColumn){continue}s+=H.columns.records[R].width}var q=H.selectedJQXAppointment.resourceId;var k=H._resources.indexOf(q);if(H.resources&&H.resources.orientation=="none"){k=-1}var e="0px";if(k!=-1&&H.tableRows==1){e=s*k+"px"}if(G.showWeekNumbers){if(!H.rtl){e=parseInt(e)+H.columns.records[0].width+"px"}}var F=g.offsetWidth;var P=g.offsetHeight;var E=18;if(H.isTouchDevice()){E=2}for(var R=0;R<6;R++){H.feedbacks[R][0].style.left=e;H.feedbacks[R][0].style.width=s+"px";H.feedbacks[R][0].style.display="block";H.feedbacks[R][0].style.top=parseInt(H.rows[R].top)+E+"px";if(H.tableRows>1){H.feedbacks[R][0].style.top=parseInt(H.rows[6*k+R].top)+E+"px"}a(H.feedbacks[R][0]).find(".jqx-scheduler-appointment-resize-indicator").css("visibility","inherit")}var l=H.selectedJQXAppointment.elements;var c=l[0].cells[0].cell;var J=l[l.length-1];var N=J.lastCellY;var h=J.lastCellX;var n=l[0].cellY;var B=l[0].cellX;var t=parseInt(L.top);var S=parseInt(L.left);if(!H.rtl){if(H.leftResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px";for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var M=H.cellWidth-(u.x-B);var b=H.host.coord().left;if(K-b>=u.x&&K-b<=u.x+M+2){C[0].style.left=m+"px";C[0].style.width=u.width+"px";O=true}}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>=N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t>N||(t==N&&S>h)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}else{if(t==N&&S<=h){if(n!=N){C[0].style.width=l[Q].width-L.left+parseInt(e)+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}else{if(H.rightResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=h&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";p=true}}}else{C[0].style.width=u.width+"px"}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A<n){C[0].style.display="none"}if(A>t&&A>n){C[0].style.display="none"}if(t<=n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n&&S<B)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}}}else{if(H.leftResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(L.left>u.x+u.width){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px"}if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.x-10&&K-b<=u.cellX+H.cellWidth){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px";p=true}}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A<n){C[0].style.display="none"}if(A>t){C[0].style.display="none"}if(t<n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t==n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n)){if(o==A&&n!=N){C[0].style.left=1+L.left+parseInt(e)+"px";if(1+L.left+parseInt(e)>u.x+u.width){C[0].style.left=u.x+"px"}C[0].style.width=-1+u.x+u.width-L.left+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}else{if(H.rightResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.lastCellX&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";O=true}}}else{C[0].style.width=u.width+"px"}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block"}if(A==N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t<=N){if(A==N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(A!=t&&o==A&&n!=N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}else{if(A==t&&o==A&&n!=N){C[0].style.left=l[Q].x+"px";C[0].style.width=S+F-5-parseInt(e)-l[Q].x+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}}}var d=new Array();for(var R=0;R<6;R++){var C=H.feedbacks[R];if(C[0].style.display=="block"){d.push(C)}}a.each(d,function(i){if(!H.rtl){if(i>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}}else{if(i>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}}})},_handleTimelineDayWeekViewResize:function(m,k,d,h,b){var i=this;var l=i._views[i._view].type;var n=i._views[i._view];var e=i.getMinutesPerScale();var j=function(o){if(o<10){return false}return true};var c=i.findCell(m,i.feedback.coord().top);if(i.leftResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left-a(d).width();if(j(g)){i.feedback.css("left",2+h.left+a(d).width());i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left;if(j(g)){i.feedback.css("left",2+h.left);i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}else{if(i.rightResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var f=a(d).width()+h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var f=h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}}},_handleResize:function(c,i,h,b,e){var g=this;var d=g._views[g._view].type;var f=g._views[g._view];if(d==="dayView"||d==="weekView"){g._handleDayWeekViewResize(c,i,h,b,e)}else{if(d==="timelineMonthView"){g._handleTimelineMonthViewResize(c,i,h,b,e)}else{if(d==="monthView"){g._handleMonthViewResize(c,i,h,b,e)}else{if(d==="timelineDayView"||d==="timelineWeekView"){g._handleTimelineDayWeekViewResize(c,i,h,b,e)}}}}if(d==="timelineDayView"||d==="timelineMonthView"||d==="timelineWeekView"){clearInterval(g._horizontalIntervalDrag);g._horizontalIntervalDrag=setInterval(function(){var k=g.host.width();var m=g.host.coord().left;var j=m+25;var l=k+j-45;if(!g.rtl){if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}},5)}else{if(d==="dayView"||d==="weekView"){clearInterval(g._intervalDrag);g._intervalDrag=setInterval(function(){var n=g.host.height();var k=0;if(!g.columnGroups){k+=g.showHeader?g.columnsHeight:0}else{k+=g.showHeader?g.columnsheader.height():0}if(g.showToolbar){k+=g.toolbarHeight}n-=k;var m=g.legendHeight;if(g._resources.length==0){m=0}if(g.showLegend){n-=m}var q=k+g.host.coord().top;var j=g.showAllDayRow;if(f.timeRuler&&(d==="dayView"||d==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){j=f.timeRuler.showAllDayRow}}var l=e.duration().days()>=1||e.allDay;if(j&&l){q-=20}else{if(j&&g.resizing){q+=a(g.table[0].rows[0]).height();n-=a(g.table[0].rows[0]).height()}}var p=q+25;var o=n+p-45;if(i<p){g.vScrollInstance.setPosition(g.vScrollInstance.value-5)}else{if(i>o){g.vScrollInstance.setPosition(g.vScrollInstance.value+5)}}},5)}}g.resizing=true},_startTimers:function(b,h,d){var f=this;var g=f.host.coord();var e=0;var c=0;if(f.hScrollInstance.element.style.visibility!="hidden"){clearInterval(f._horizontalIntervalDragVelocity);f._horizontalIntervalDragVelocity=setInterval(function(){e++;if(e>40){e=40}},100);clearInterval(f._horizontalIntervalDrag);f._horizontalIntervalDrag=setInterval(function(){var j=f._hostWidth;var l=g.left;var i=l+30;var k=j+i-60;if(!f.rtl){if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{e=0}}}else{if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{e=0}}}},10)}if(f.vScrollInstance.element.style.visibility!="hidden"){clearInterval(f._verticalIntervalDragVelocity);f._verticalIntervalDragVelocity=setInterval(function(){c++;if(c>40){c=40}},100);clearInterval(f._intervalDrag);f._intervalDrag=setInterval(function(){var m=f._hostHeight;var o=0;if(!f.columnGroups){o+=f.showHeader?f.columnsHeight:0}else{o+=f.showHeader?f.columnsheader.height():0}var p=f._views[f._view].type;var r=f._views[f._view];if(f.showToolbar){o+=f.toolbarHeight}m-=o;if(f.showLegend&&f._resources.length>0){m-=f.legendHeight}var k=g.top;var q=o+k;if(p=="dayView"||p=="weekView"){var j=f.showAllDayRow;if(r.timeRuler&&(p==="dayView"||p==="weekView")){if(r.timeRuler.showAllDayRow!=undefined){j=r.timeRuler.showAllDayRow}}var l=d.duration().days()>=1||d.allDay;if(j&&l){q-=20}else{if(j&&f.resizing){q+=a(f.table[0].rows[0]).height()}}}var n=q+30;var i=k+m+o-30;if(h<n){f.vScrollInstance.setPosition(f.vScrollInstance.value-10-c)}else{if(h>i){f.vScrollInstance.setPosition(f.vScrollInstance.value+10+c)}else{c=0}}},10)}},_hoverCell:function(b){var c=this;if(!c.enableHover){return true}if(c._resources.length>0){if(b.className.indexOf("pinned")>=0){return true}}if(b.className.indexOf("time-column")>=0){return true}if(b.className.indexOf("jqx-scheduler-disabled-cell")>=0){return true}if(b&&b==c.hoveredCell){return true}c.hoveredCell=b;if(!b){return true}c._removeHoveredCell();c.hoveredCell=b;b.className+=" "+c.toTP("jqx-fill-state-hover")+" "+c.toTP("jqx-grid-cell-hover")+" "+c.toTP("jqx-scheduler-cell-hover");b.jqxClassName=b.className},_removeHoveredCell:function(){var d=this;if(d.hoveredCell){var c=d.hoveredCell;var b=function(e){var f=c.className;f=f.replace(" "+d.toTP("jqx-fill-state-hover"),"");f=f.replace(" "+d.toTP("jqx-grid-cell-hover"),"");f=f.replace(" "+d.toTP("jqx-scheduler-cell-hover"),"");c.className=f;c.jqxClassName=f};b(c)}d.hoveredCell=null},_addHandlers:function(){var i=this;this._mousewheelfunc=this._mousewheelfunc||function(m){i.wheel(m,i);return false};this.focused=false;var g=false;this.addHandler(a(document),"keydown.scheduler"+i.element.id,function(m){g=false;if(m.keyCode===9&&m.shiftKey&&!i.focused){g=true}});this.addHandler(this.host,"focus",function(n){if(i.focusedCell&&!i.selectedAppointment&&!g){a(i.focusedCell).addClass(i.toThemeProperty("jqx-scheduler-cell-focus"))}i.focused=true;if(g){if(i.appointmentsToRender.length>0){var m=i.appointmentsToRender[i.appointmentsToRender.length-1];i._selectAppointment(m);i._lastSelectedAppointment=m}else{if(!i.focusedCell){i._updateFocusedCell()}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();return false}}}}}});this.addHandler(this.host,"blur",function(m){if(i.focusedCell){if(document.activeElement==i.element){return true}if(a(document.activeElement).ischildof(i.host)){return true}a(i.focusedCell).removeClass(i.toThemeProperty("jqx-scheduler-cell-focus"));i.focused=false}});this.addHandler(this.host,"dragstart."+this.element.id,function(m){return false});this.addHandler(this.host,"selectstart."+this.element.id,function(m){if(i.enableBrowserSelection){return true}if(i.showToolBar){if(a(m.target).ischildof(i.toolbar)){return true}}if(i.rowDetails){if(a(m.target).parents("[data-role=details]").length>0){return true}}if(undefined==i.editKey){return false}});this.addHandler(a(window),"jqxReady."+this.element.id,function(){});this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(m){if(i._timer){clearTimeout(i._timer)}if(d){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}}else{i._timer=setTimeout(function(){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}},1)}};this.hScrollInstance.valueChanged=function(m){if(i._htimer){clearTimeout(i._htimer)}if(d){if(i.table){i._renderhorizontalscroll()}}else{i._htimer=setTimeout(function(){if(i.table){i._renderhorizontalscroll()}},1)}};var c="mousedown";if(this.isTouchDevice()){c=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){c="mousedown"}}this.addHandler(this.table,"mouseleave",function(m){i._removeHoveredCell()});if(i.isTouchDevice()){i.enableHover=false}var h="mousemove.scheduler"+this.element.id;var e="mouseup.scheduler"+this.element.id;if(this.isTouchDevice()&&this.touchMode!==true){h=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+this.element.id}this.addHandler(a(document),h,function(X){var M=X.pageX;var L=X.pageY;if(i.isTouchDevice()){var N=a.jqx.position(X);M=N.left;L=N.top;if(isNaN(M)||isNaN(L)){var N=a.jqx.position(X.originalEvent);M=N.left;L=N.top}}if(i.disabled||X.which===3){return true}if(!i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hostWidth){var D=i.host.coord();if(D.left+i._hostWidth<M||M<D.left){return true}if(D.top+i._hostHeight<L||L<D.top){return true}}if(i.mouseDownPosition){if((Math.abs(i.mouseDownPosition.left-M)>=3&&Math.abs(i.mouseDownPosition.left-M)<=10)||(Math.abs(i.mouseDownPosition.top-L)>=3&&Math.abs(i.mouseDownPosition.top-L)<=10)){i.dragOrResize=true}}if(i.selectedAppointment&&i.dragOrResize){var w=null;if(i._hasOpenedMenu){return true}if(i.editRecurrenceDialog.jqxWindow("isOpen")){return true}var o=i._views[i._view].type;var K=i._views[i._view];var A=false;if(X.target.nodeName.toLowerCase()==="td"){var q=X.target}else{var q=i.findCell(M,L)}if(!q){return true}if(q.getAttribute("data-time-slot")!=undefined){return true}if(q.className.indexOf("jqx-grid-cell-pinned")>=0){return true}if(!i.feedback){w=i.getJQXAppointmentByElement(i.selectedAppointment);if(!w.draggable&&!w.resizable){w=null;return true}if(i.beginDrag){var t=i.beginDrag(w);if(!t){return true}}var T=a('[data-key="'+w.id+'"]');var B=i.selectedAppointment.position();i.feedback=i.selectedAppointment.clone(true);i.pinnedfeedback=i.selectedAppointment.clone(true);var V=!(i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing);var p=function(x){if(V){x.find(".jqx-scheduler-appointment-resize-indicator").hide()}T.addClass(i.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));x.find(".jqx-scheduler-appointment-duration-status").hide();x.addClass(i.toTP("jqx-scheduler-feedback-appointment"));x.addClass(i.toTP("jqx-scheduler-feedback-drag-appointment"));if(!V){x.css("z-index",400)}else{x.css("z-index",401)}};p(i.feedback);p(i.pinnedfeedback);if(i._views[i._view].type!="monthView"||V){i.table.append(i.feedback);if(i.tableRows==1){i.pinnedtable.append(i.pinnedfeedback)}else{i.table.append(i.pinnedfeedback)}i.feedback.css("left",B.left);i.feedback.css("top",B.top);i.pinnedfeedback.css("left",B.left);i.pinnedfeedback.css("top",B.top);if(i._views[i._view].type=="monthView"&&i.isTouchDevice()){i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}else{i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}if(i.dragging){var t=i.dragging(w,q,i.feedback);if(false===t){return true}}var N=a(q).position();if(i.endDrag){var I=i.feedback.css("left");var J=i.feedback.css("top");var z=i.feedback.width();var F=i.feedback.height}if(!w){w=i.selectedJQXAppointment}if(!w){i.selectAppointment(i.uiappointments[0].id);w=i.selectedJQXAppointment}var v=w.resourceId;var r=i._resources.indexOf(v);if(i.resources&&i.resources.orientation=="none"){r=-1}var Q=false;var U=i.isTouchDevice();if(U&&i.touchMode!==true&&i._dragCell==null&&!(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)){switch(o){case"dayView":case"weekView":var A=w.duration().days()>=1||w.allDay;if(!A){if(L>=i.selectedAppointmentBounds.top-15&&L<=i.selectedAppointmentBounds.top+15){Q=true;i.topResize=true}if(L>=i.selectedAppointmentBounds.top-15+i.selectedAppointmentBounds.height&&L<=i.selectedAppointmentBounds.top+i.selectedAppointmentBounds.height+15){Q=true;i.bottomResize=true}}else{if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}}break;default:if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}break}}if(U&&(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)||Q){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!U&&i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources&&i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!w.draggable){i._removeFeedbackAndStopResize();return true}if(i._dragCell==q){i._startTimers(M,L,w);if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}else{return}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}var E=w.duration();if(o.indexOf("month")>=0&&new a.jqx.date(W).add(E)>i.max){return}var P=i.vScrollBar[0].style.visibility=="hidden"?0:6+i.vScrollBar.outerWidth();i._dragCell=q;i.feedback[0].style.left=2+N.left+"px";i.feedback[0].style.top=2+N.top+"px";if(o==="dayView"||o==="weekView"){i.pinnedfeedback.css("left",2+N.left);i.pinnedfeedback.css("top",2+N.top);var m=0;if(q.getAttribute("data-end-date")){var s=i.appointmentsMinHeight;if(i.isTouchDevice()){s=i.touchAppointmentsMinHeight}if(K.appointmentHeight){s=K.appointmentHeight}A=w.duration().days()>=1||w.allDay;i.feedback.css("top",2+N.top+s);i.pinnedfeedback.css("top",2+N.top+18);if(o=="dayView"){var R=i.selectedAppointment.coord().left-9;i.feedback.css("left",R);i.pinnedfeedback.css("left",R)}if(A){i.pinnedfeedback.css("top",w.elements[0].y);m=i.selectedAppointment.width();if(2+N.left+m>i.host.width()-P){var C=2+N.left+m-i.host.width()+P+6;m-=C}i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}else{m=a(q).width()-4;i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}i.feedback.hide();i.pinnedfeedback.show()}else{i.feedback.show();i.pinnedfeedback.hide();var u=2;var O=30;var H=K.timeRuler&&K.timeRuler.scale;switch(H){case"sixtyMinutes":case"hour":u=1;break;case"thirtyMinutes":case"halfHour":u=2;break;case"fifteenMinutes":case"quarterHour":u=4;break;case"tenMinutes":u=6;break;case"fiveMinutes":u=12;break}m=a(q).width()-4;i.feedback.width(m);A=w.duration().days()>=1||w.allDay;if(A){i.feedback.height((a(q).height())-6)}else{i.feedback.height(i.selectedAppointment.height())}}i._startTimers(M,L,w)}else{if(o==="monthView"){i.feedback.css("left",1+N.left);var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}else{i.feedback.css("top",i.selectedAppointment.height()+N.top-2)}if(i.isTouchDevice()){i.feedback.css("top",N.top+2)}m=i.selectedAppointment.width();i.feedback.width(m);i.feedback.height(i.selectedAppointment.height());i._startTimers(M,L,w)}else{if(o==="timelineDayView"||o==="timelineMonthView"||o==="timelineWeekView"){var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}i._startTimers(M,L,w)}}}}}if(i.endDrag){var t=i.endDrag(w,q,i.feedback);if(!t){i.feedback.width(z)}i.feedback.height(F);i.feedback.css("top",J);i.feedback.css("left",I);return true}if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}}});var l=function(m){i.isMouseDown=false;i.dragOrResize=false;if(i.contextMenu&&i.menu&&m.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}if(m.which===3){return true}if(i.selectedAppointment&&i.feedback){if(i.editRecurrenceDialog.jqxWindow("isOpen")){return}i._handleMouseUp(i.selectedJQXAppointment,i._dragCell,i.resizing)}};this.addHandler(a(document),e,function(m){return l(m)});if(!this.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var b=null;if(window.parent&&document.referrer){b=document.referrer}if(b&&b.indexOf(document.location.host)!=-1){var f=function(m){if(!i.disabled){return l(m)}};i.addHandler(a(window.top.document),"mouseup.jqxscheduler"+i.element.id,f)}}}}catch(k){}}this.addHandler(this.host,h,function(o){var C=o.pageX;var A=o.pageY;if(i.disabled||o.which===3){return true}if(i.selectedAppointment&&i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hasOpenedMenu){return true}if(i.overlay[0].style.display!=="none"){return true}var n=null;if(o.target.className.indexOf("jqx-scheduler-appointment")>=0&&o.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=o.target}var u=o.target;for(var v=0;v<4;v++){if(u.parentNode){if(u.className.indexOf("jqx-scheduler-appointment")>=0&&u.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=u}u=u.parentNode}else{break}}if(n){var B=i._views[i._view].type;var E=i._views[i._view];var D=i.getJQXAppointmentByElement(n);if(D.resizable){var t=D.duration();var p=D.allDay||t.days()>=1||(t.hours()==23&&t.minutes==59&&t.seconds==59);var z=a(n).coord();var w=a(n).position();i.selectedAppointmentBounds={top:z.top,left:z.left,width:a(n).width(),height:a(n).height()};i.selectedAppointmentTableBounds={top:w.top,left:w.left,width:a(n).width(),height:a(n).height()};var m=i.selectedAppointmentBounds;if(B=="weekView"||B=="dayView"){if(!p){if(A>=m.top-3&&A<=m.top+6){n.style.cursor="row-resize";i.topResize=true;i.bottomResize=false}else{if(A>=m.top+m.height-6&&A<=m.top+m.height+3){n.style.cursor="row-resize";i.topResize=false;i.bottomResize=true}else{n.style.cursor="pointer"}}}else{if(B!="dayView"){if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}else{n.style.cursor="pointer"}}}else{if(B=="monthView"&&D.elements.length>1){var s=i.table.coord();for(var v=0;v<D.elements.length;v++){var q=D.elements[v];var m={top:s.top+q.y,left:s.left+q.x,width:q.width,height:q.height};if((v==0&&!i.rtl)||(v==D.elements.length-1&&i.rtl)){if(C>=m.left-3&&C<=m.left+6){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}else{if((v==D.elements.length-1&&!i.rtl)||(v==0&&i.rtl)){if(C>=m.left+m.width-6&&C<=m.left+m.width+3){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}}}}else{if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}}}}if(!i.enableHover){return true}if(o.target.nodeName.toLowerCase()==="td"){var r=o.target}else{var r=i.findCell(C,A)}if(!r){return true}i._removeHoveredCell();if(i.renderedRecords&&i.renderedRecords.length===0){return true}if(i.isMouseDown){if(Math.abs(i.mousecaptureposition.left-C)>3||Math.abs(i.mousecaptureposition.top-A)>3){if(i.mousecaptureposition.clickedcell.length===0){i.selectionarea[0].style.visibility="hidden";return}if(i.lastHoveredCell!=r){if(i._selectRangeTimer){clearTimeout(i._selectRangeTimer)}i._selectRangeTimer=setTimeout(function(){var x=i._views[i._view].type;if(x!="agendaView"){i._selectRange(r,i.mousecaptureposition.clickedcell[0])}},1)}i.lastHoveredCell=r}}else{if(!n){if(i.rows.length==1&&i.rows[0].cells.length==1){return true}i._hoverCell(r)}}return true});this.addHandler(a(document),"keydown.jqxscheduler"+i.element.id,function(m){if(i.focused&&m.ctrlKey){if(m.keyCode==68){return false}}});this.addHandler(this.host,"keydown",function(m){return i._handleKey(m)});if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(m){i.table.trigger("mousedown",m)})}var j=function(K){var M=K.target;var u=null;if(i.disabled){return true}if(!i.menu&&K.which==3){i._initMenu()}var n=i.table.coord();var B=K.pageX;var w=K.pageY;if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(arguments&&arguments.length==2){B=arguments[1].pageX;w=arguments[1].pageY}}if(i.isTouchDevice()){var N=a.jqx.position(K);B=N.left;w=N.top;if(isNaN(B)||isNaN(w)){var N=a.jqx.position(K.originalEvent);B=N.left;w=N.top}}i.mouseDown={top:w,left:B};var u=i.findCell(B,w);if(K.target.nodeName.toLowerCase()==="td"){var u=K.target}else{var u=i.findCell(B,w)}var D=i._views[i._view].type;var v=i._views[i._view];if(D==="monthView"&&v.weekViewNavigation){if(u&&u.getAttribute("data-time-slot")){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("weekView")}}if(D==="monthView"&&v.dayViewNavigation){var m=a(u).coord().top;if(u&&w>=m&&m+16>=w){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("dayView")}}if(K.target.nodeName.toLowerCase()==="span"&&(K.target.className.indexOf("jqx-icon-arrow-down")>=0||K.target.className.indexOf("jqx-icon-close")>=0)){if(K.target.mousedown){K.target.mousedown()}return true}var t=a(u).parent();var P=t.attr("data-key");i.mousecaptureposition={left:K.pageX,top:K.pageY,clickedrow:a(t).index(),clickedcell:a(u)};if(K.which!==3){i.isMouseDown=true;i.isMouseDownDate=new Date()}else{i.isMouseDown=false}if(i.contextMenu&&i.menu&&K.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}var r=function(y){if(K.which===3){if(i.contextMenu&&i.menu){if(y){i.menu.find("li:first").show()}else{i.menu.find("li:first").hide()}var x=i.menu.coord();if(i.menu.css("display")=="block"&&x.left==K.pageX&&x.top==K.pageY){i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();return}if(D==="agendaView"){}i.menuOpening=true;i.menu.jqxMenu("open",K.pageX,K.pageY);i.menuOpening=false;i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();setTimeout(function(){i.menu.jqxMenu("focus")},50)}}};var I=function(){for(var Q=0;Q<A.length;Q++){var y=A[Q].cells;for(var x=0;x<y.length;x++){y[x].removeAttribute("data-selected")}}};var q=K.target.className.indexOf("jqx-scheduler-appointment")>=0&&K.target.className.indexOf("jqx-scheduler-appointment-duration-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-content")==-1?a(K.target):a(K.target).parents(".jqx-scheduler-appointment");if(q.length==0){q=null}if(q&&q[0].className.indexOf("feedback")==-1){if(q.parents(".jqx-scheduler-month-cell-popup").length>0){return true}i.mouseDownPosition={top:w,left:B};var H=a(q).coord();i.selectedAppointmentBounds={top:H.top,left:H.left,width:a(q).width(),height:a(q).height()};var N=a(q).position();i.selectedAppointmentTableBounds={top:N.top,left:N.left,width:a(q).width(),height:a(q).height()};if(!i._dragStartCell){i._dragStartCell=i.findCell(H.left,H.top)}var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});i.clearSelection();var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}else{if(!p.readOnly){if(K.which!==3){i.focus()}}}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}return}else{if(K.which===3){var O=i.getSelection();if(O!==null){r(false)}else{i.clearAppointmentsSelection();u.setAttribute("data-selected","true");i._lastSelectedCell=u;i.focusedCell=u;i._updateCellsSelection(u);r(false);var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellClick",{cell:u,date:L})}}else{if(K.which!=3){i.clearAppointmentsSelection()}}}if(i.view=="agendaView"){var q=K.target.className.indexOf("jqx-scheduler-agenda-appointment")!=-1;if(q){q=K.target;var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}}}var E=function(){if(!i.enableBrowserSelection){if(K.preventDefault){K.preventDefault()}}var x=a(document).scrollTop();i.host.focus();a(document).scrollTop(x)};if(P!==undefined&&K.which!=3){i.clickedTD=u;var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);var o=i.rowinfo[P];var G=false;if(o){var s=new Date().getTime();var F=300;if(!i.clickTime){i.clickTime=new Date()}i.focus();if(i._lastSelectedCell&&i._lastSelectedCell.getAttribute("data-selected")=="true"&&u.getAttribute("data-selected")==="true"&&(s-i.clickTime.getTime()<F)){var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellDoubleClick",{cell:u,date:L});G=true;i._initDialog();i._openDialog();if(K.preventDefault){K.preventDefault()}}}var A=i.rows;if(u.getAttribute("data-selected")!="true"||K.shiftKey||s-i.clickTime.getTime()>F){if(u.getAttribute("data-time-slot")=="true"){return}if(!K.shiftKey){i.shiftSelectedCell=null}if(K.shiftKey&&i._lastSelectedCell&&D!="agendaView"){if(!i.shiftSelectedCell){i.shiftSelectedCell=i._lastSelectedCell}if(u.getAttribute("data-view")===i.shiftSelectedCell.getAttribute("data-view")){I()}i._selectRange(u,i.shiftSelectedCell)}if(!K.shiftKey){I();var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){u.setAttribute("data-selected","true")}else{u.setAttribute("data-selected","false")}}a('[data-key="'+P+'"]').removeClass(i.toTP("jqx-scheduler-selected-appointment"));i.selectedAppointment=null;var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){i._lastSelectedCell=u;i.focusedCell=u}i._updateCellsSelection(u);if(i.openedMonthCellPopup){i.openedMonthCellPopup.remove()}}i._raiseEvent("cellClick",{cell:u,date:L});i.clickTime=new Date();if(K.stopPropagation){K.stopPropagation()}}};this.addHandler(this.pinnedtable,c,function(n){var m=j(n);if(m!=undefined){return m}});this.addHandler(this.table,c,function(n){var m=j(n);if(m!=undefined){return m}})},moveAppointment:function(k,c,g,f,j){var h=this;var i=f.getAttribute("data-end-date");if(k){if(h.editRecurrenceDialog.jqxWindow("isOpen")){return}clearInterval(h._verticalIntervalDragVelocity);clearInterval(h._horizontalIntervalDragVelocity);clearInterval(h._intervalDrag);clearInterval(h._horizontalIntervalDrag);var d=k.duration();var b=k.duration().days()>=1||k.allDay;var e=function(r){if(!j){var l=h._views[h._view].type;var o=h._views[h._view];var p=c;k.from=p;if(l==="dayView"||l==="weekView"){if(!b&&!i){k.to=p.add(d);k.allDay=false}else{if(!b&&i){k.to=a.jqx.scheduler.utilities.getEndOfDay(p);k.allDay=true}else{if(b&&i){k.to=p.add(d)}else{if(b&&!i){var n=30;var q=o.timeRuler&&o.timeRuler.scale;switch(q){case"sixtyMinutes":case"hour":n=60;break;case"fifteenMinutes":case"quarterHour":n=15;break;case"tenMinutes":n=10;break;case"fiveMinutes":n=5;break}k.to=p.addMinutes(n);k.allDay=false}}}}}else{if(l==="monthView"){k.to=p.add(d)}else{if(l==="timelineDayView"||l==="timelineWeekView"||l==="timelineMonthView"){k.to=p.add(d)}}}}h._saveChangesAfterDragOrResize(r,k,f,j);if(g!=null){k.resourceId=g}h.table.find(".jqx-icon-arrow-down").hide();if(k.allDay||b){h._renderrows()}else{var s=h.getViewStart();var m=a.jqx.scheduler.utilities.getEndOfDay(h.getViewEnd());h._prepareAppointmentsInView(s,m);h._renderAppointments(s,m)}h._raiseEvent("appointmentChange",{appointment:k.boundAppointment});h.changedAppointments[k.id]={type:"Update",appointment:k.boundAppointment};h._ensureAppointmentVisible(h.selectedJQXAppointment)};if(k.isRecurrentAppointment()){e(false)}else{e(null)}}},getAppointmentProperty:function(d,b){var e=this;var c=null;if(this.appointmentsByKey[d]){c=this.appointmentsByKey[d].jqxAppointment}if(!c){return}return c[b]},setAppointmentProperty:function(e,b,g){var f=this;var c=null;if(this.appointmentsByKey[e]){c=this.appointmentsByKey[e].jqxAppointment}if(!c){return}c[b]=g;f.changedAppointments[e]={type:b,appointment:c.boundAppointment};switch(e){case"draggable":case"resizable":break;case"background":case"color":case"borderColor":case"status":case"tooltip":case"subject":case"location":case"description":case"style":var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d);break;case"hidden":case"timeZone":if(c.isAllDayAppointment()){f._renderrows()}else{var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d)}break;default:f._renderrows()}},deleteAppointment:function(b){if(this.appointmentsByKey[b]){this._deleteAppointment(this.appointmentsByKey[b].jqxAppointment)}},_deleteAppointment:function(b){var g=this;if(b.rootAppointment){if(!b.isException()){if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(g.editAppointment);b.rootAppointment.recurrenceException.push(g.editAppointment.occurrenceFrom)}else{b.exceptions.push(g.editAppointment);b.recurrenceException.push(g.editAppointment.occurrenceFrom)}}else{var f=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var e=0;e<f.length;e++){if(f[e].occurrenceFrom.equals(g.editAppointment.occurrenceFrom)){f[e]=b;break}}}b.hidden=true;g._renderrows();return}g._raiseEvent("appointmentDelete",{appointment:b.boundAppointment});var d=b.id;delete g.appointmentsByKey[d];var c=-1;for(var e=0;e<g.appointments.length;e++){if(g.appointments[e]==b.boundAppointment||g.appointments[e].id==b.boundAppointment.id){c=e;break}}if(c!=-1){g.appointments.splice(c,1)}c=-1;for(var e=0;e<g.uiappointments.length;e++){if(g.uiappointments[e]==b||g.uiappointments[e].id==b.id){c=e;break}}if(c!=-1){g.uiappointments.splice(c,1)}if(g.selectedJQXAppointment==b){g.clearAppointmentsSelection();if(g.uiappointments[c+1]){g.selectAppointment(g.uiappointments[c+1].id)}else{if(g.uiappointments[c-1]){g.selectAppointment(g.uiappointments[c-1].id)}else{if(g.uiappointments[0]){g.selectAppointment(g.uiappointments[0].id)}}}}g.changedAppointments[d]={type:"Delete",appointment:b.boundAppointment};g._renderrows()},addAppointment:function(o){var g=this;if(!o.scheduler){o.scheduler=this}if(!o.duration){if((!o.from&&!o.to)||(!o.appointmentObject)){var f=o;var d={};var e=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];for(var w in g.appointmentDataFields){var b=g.appointmentDataFields[w];var q=f[b];if(w=="from"||w=="to"){q=new a.jqx.date(q)}if(w=="style"){if(q){var k=g.getAppointmentColors(q);d.color=k.color;d.background=k.background;d.borderColor=k.border}}if(w=="recurrencePattern"){if(q){q=new a.jqx.scheduler.recurrencePattern(q);q.timeZone=f.timeZone||g.timeZone}}if(w=="recurrenceException"){var t=new Array();if(q){if(q.indexOf("EXDATE:")>=0){q=q.substring(q.indexOf("EXDATE:")+7)}var l=new Array();if(q.indexOf(",")>=0){l=q.split(",")}else{l.push(q)}for(var s=0;s<l.length;s++){var p=l[s];if(p.indexOf(";")>=0){var h=p.split(";")[1];p=p.split(";")[0];if(h.toLowerCase().indexOf("display")>=0&&h.toLowerCase().indexOf("none")){d.hidden=true}}try{var u=a.jqx.scheduler.utilities.untilStringToDate(p);if(u!="Invalid Date"){if(d.timeZone){u=new a.jqx.date(u,d.timeZone)}else{if(g.timeZone){u=u.toTimeZone(g.timeZone)}else{u=new a.jqx.date(u)}}}}catch(v){var u=new a.jqx.date(p,g.timeZone)}t.push(u)}}q=t}d[w]=q}for(var m in e){var w=e[m];if(d[w]==undefined){var q="";if(w=="originalData"){continue}if(w=="ownerId"){q=null}if(w=="timeZone"){q=null}if(w=="recurrencePattern"){q=null}if(w=="recurrenceException"){q=null}if(w=="allDay"){q=false}if(w=="draggable"){q=true}if(w=="resizable"){q=true}if(w=="hidden"){q=false}if(w=="resourceId"){q=null}if(w=="from"){q=new a.jqx.date()}if(w=="to"){q=new a.jqx.date().addHours(1)}d[w]=q}}d.originalData=f;d.scheduler=this;var o=new a.jqx.scheduler.appointment(d);if(d.timeZone){o.from=o.from.toTimeZone(d.timeZone);o.to=o.to.toTimeZone(d.timeZone)}if(g.timeZone){if(!d.timeZone){o.timeZone=g.timeZone}o.from=o.from.toTimeZone(g.timeZone);o.to=o.to.toTimeZone(g.timeZone)}else{o.from=o.from.toTimeZone(null);o.to=o.to.toTimeZone(null)}}else{var i=new a.jqx.scheduler.appointment();for(var w in o){i[w]=o[w]}o=i}}var w=g.dataview.generatekey();o.id=w;g.appointmentsByKey[w]=o;g.appointments.push(o);var c={};var j={};for(var r in g.appointmentDataFields){var b=g.appointmentDataFields[r];var q=o[r];c[r]=q;if(r=="from"||r=="to"){if(q.toDate){q=q.toDate()}else{q=new a.jqx.date(q).toDate()}}j[b]=q}c.originalData=j;o.boundAppointment=c;c.jqxAppointment=o;o.jqxAppointment=o;g._raiseEvent("appointmentAdd",{appointment:o.boundAppointment});g.uiappointments.push(o);g.changedAppointments[w]={type:"Add",appointment:o.boundAppointment};if(g.hiddenResources&&g.hiddenResources[o.resourceId]){g.hideAppointmentsByResource(o.resourceId)}else{g._renderrows()}g._selectAppointment(o);g._lastSelectedAppointment=o;if(g.resources){var n=o.resourceId;if(g._resources.indexOf(n)===-1){g._resources.push(n);g._renderrows()}}},_updateCellsSelection:function(){var f=this;var l=f.rows;var b=0;var c=0;if(b>0&&f.rtl){b=0;c=1}for(var e=0;e<l.length;e++){var k=l[e].cells;for(var d=b;d<k.length-c;d++){var h=k[d];if(h.getAttribute("data-selected")=="true"){var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")>=0){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");g=g+=" "+f.toTP("jqx-fill-state-pressed jqx-grid-cell-selected jqx-scheduler-cell-selected");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}else{var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")==-1){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g;h.removeAttribute("data-selected")}}}},_getuikey:function(c,f){var e=null;var d=this.table[0].rows;e=a(d[c]).attr("data-key");if(a(d[c]).attr("data-role")){var b=a(d[c]);if(f=="next"){while(b){b=b.next();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}else{if(f=="prev"){while(b){b=b.prev();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}}return null}return e},getRows:function(){var h=this._views[this._view].type;var k=this._views[this._view];var d="halfHour";if(k.timeRuler&&k.timeRuler.scale){d=k.timeRuler.scale}var j=24;var b=this.showAllDayRow;if(k.timeRuler&&(h==="dayView"||h==="weekView")){var c=0;var f=23;if(k.timeRuler.scaleStartHour!=undefined){var c=parseInt(k.timeRuler.scaleStartHour)}if(k.timeRuler.scaleEndHour!=undefined){var f=parseInt(k.timeRuler.scaleEndHour)}if(c<0){c=0}if(f<0){f=23}if(c>23){c=0}if(f>23){f=23}j=f-c+1;if(k.timeRuler.showAllDayRow!=undefined){b=k.timeRuler.showAllDayRow}}var l=new Array();var g=0;switch(h){case"dayView":case"weekView":default:var g=j*2;if(d==="hour"||d==="sixtyMinutes"){var g=j}else{if(d==="quarterHour"||d==="fifteenMinutes"){var g=j*4}else{if(d==="tenMinutes"){var g=j*6}else{if(d==="fiveMinutes"){var g=j*12}}}}if(b){g++}break;case"monthView":var g=6;break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":var g=1;break;case"agendaView":var g=this.appointments?this.appointments.length:0;break}for(var e=0;e<g;e++){l.push({uid:e})}return l},_getDateByString:function(j){var e=j.split(" ");var l=e[0].split("-");var h=e[1].split(":");var g=parseInt(l[0],10);var f=parseInt(l[1],10)-1;var i=parseInt(l[2],10);var d=parseInt(h[0],10);var c=parseInt(h[1],10);var k=parseInt(h[2],10);var b=new Date(g,f,i,d,c,k);if(g<1970){b.setFullYear(g,f,i)}return b},_getCellByDate:function(b,d,c){var m=this.rows;if(d===undefined){d=false}if(c===undefined){if(this.focusedCell){c=this.focusedCell.getAttribute("data-view")}}for(var g=0;g<m.length;g++){var l=m[g];if(l.element.getAttribute("data-group-row")){continue}for(var f=0;f<l.cells.length;f++){var k=l.cells[f];if(k.getAttribute("rowspan")!=null){continue}if(k.getAttribute("data-view")!==c){continue}if(k.getAttribute("data-time-slot")){continue}if(d&&k.getAttribute("data-end-date")!=null){continue}var h=k.getAttribute("data-date");var e=this._getDateByString(h);if(e.valueOf()==b.valueOf()){return k}}}},_rendercelltexts:function(){if(a.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var c="www.jqwidgets.com";if(location.hostname.indexOf(c.substring(4))==-1){if(this._gridRenderElement){a(this._gridRenderElement).remove()}var d=String.fromCharCode(83,80,65,78);var b=String.fromCharCode(72,84,84,80,58,47,47);var e=document.createElement(d);e.id=a.jqx.utilities.createId();e.innerHTML=c;e.style.position="absolute";e.style.right="5px";e.style.bottom="5px";e.style.color="#909090";e.style.cursor="pointer";e.style.zIndex="999999";e.style.display="none";e.style.fontSize="9px";e.onmousedown=function(){open(b+c)};this.content[0].appendChild(e);this._gridRenderElement=e}}},_handleKey:function(s){if(this._loading){return true}var t=s.shiftKey;var m=s.ctrlKey||s.metaKey;var i=this;var w=s.charCode?s.charCode:s.keyCode?s.keyCode:0;if(i._hasOpenedMenu){if(w==27){i.closeMenu()}else{i.menu.jqxMenu("focus")}return true}if(w===13||(i.selectedAppointment&&w==46)){if(i.editRecurrenceDialog&&i.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(i._editDialog&&i._editDialog.jqxWindow("isOpen")){return true}if(!i.selectedAppointment){i._initDialog();i._openDialog()}else{var c=i.getJQXAppointmentByElement(i.selectedAppointment);if(!c.readOnly){if(w==46){var o=i._initDialog(c,"delete");if(o!==false){i._openDialog()}}else{var o=i._initDialog(c);if(o!==false){i._openDialog()}}}}}if(w===27){if(i.dragOrResize){i.table.find(".jqx-icon-arrow-down").hide();var f=i.getViewStart();var e=a.jqx.scheduler.utilities.getEndOfDay(i.getViewEnd());i._prepareAppointmentsInView(f,e);i._renderAppointments(f,e);i._removeFeedbackAndStopResize();return false}}var r=function(z){var B=i.selectedAppointment;var y=i.getJQXAppointmentByElement(B);var x=y.elements[0].cells[0].cell;var L=y.elements[y.elements.length-1].cells[y.elements[y.elements.length-1].cells.length-1].cell;var E=i.rows[i.rows.length-1].cells[i.rows[i.rows.length-1].cells.length-1];if(t||(!t&&!m&&(z=="down"||z=="right"))){x=L}var H=i._views[i._view].type;var G=i._views[i._view];var I=x;switch(z){case"left":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F>0&&!t){I=D.cells[F-1]}else{if(H=="monthView"&&!t){var A=D.aboveRow;if(A){I=A.cells[A.cells.length-1]}}}break;case"right":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F<D.cells.length-1){I=D.cells[F+1]}else{if(H=="monthView"){var P=D.belowRow;if(P){I=P.cells[0]}}}if(H=="monthView"&&!t&&m&&L==E){I=x}break;case"up":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var A=D.aboveRow;if(A&&!t){I=A.cells[F]}break;case"down":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var P=D.belowRow;if(P){I=P.cells[F]}break}var N=I.getAttribute("data-date");var M=new a.jqx.date(N,i.timeZone);var H=a(I).attr("data-view");var J=i._resources[parseInt(H)-1];if(t){var H=i._views[i._view].type;var G=i._views[i._view];var C=false;if(H==="dayView"||H==="weekView"){if(x.getAttribute("data-end-date")){if(z=="left"&&(y.elements[0].cells.length>1||i.rtl)){if(!i.rtl){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1))}else{y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(1))}C=true}else{if(z=="right"){if(!i.rtl||(i.rtl&&y.elements[0].cells.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M)}C=true}}}else{if(z=="up"&&y.elements[0].cells.length>1){y.to=M;C=true}else{if(z=="down"){y.to=M.addMinutes(i.getMinutesPerScale());C=true}}}}else{if(H.indexOf("month")>=0){if(z=="left"&&(y.elements[0].cells.length>1||y.elements.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1));C=true}else{if(z=="right"){y.to=a.jqx.scheduler.utilities.getEndOfDay(M);C=true}}}else{if((!i.rtl&&z=="left"&&y.elements[0].cells.length>1)||(i.rtl&&z=="right"&&y.elements[0].cells.length>1)){y.to=M;if(i.rtl){y.to=M.addMinutes(i.getMinutesPerScale())}C=true}else{if((!i.rtl&&z=="right")||(i.rtl&&z=="left")){y.to=M.addMinutes(i.getMinutesPerScale());if(i.rtl){y.to=y.to.addMinutes(i.getMinutesPerScale())}C=true}}}}if(C){i.moveAppointment(y,M,J,I,true)}}else{if(m){i.moveAppointment(y,M,J,I)}else{i.clearAppointmentsSelection();var K=true;if(z=="down"){K=false}i.selectCell(M,K,H);i._ensureVisible(I)}}if(i.selectedAppointment){i.selectedAppointment.removeClass(i.toTP("jqx-scheduler-selected-appointment"));var O=i.selectedAppointment.attr("data-key");a('[data-key="'+O+'"]').addClass(i.toTP("jqx-scheduler-selected-appointment"));i.clearSelection()}};if(s.altKey&&i._resourcesElements&&i._resources&&i._resources.length>0){var g=function(x){var y=i._resourcesElements.bottom[x];if(y.attr("data-toggle")=="on"){i.hideAppointmentsByResource(x)}else{i.showAppointmentsByResource(x)}};var j=w>=49&&w<=58?j=w-48:-1;if(j>=1){a.each(i._resources,function(x,y){if(x==j-1){g(y);return false}});return false}}if(s.ctrlKey){if(!i.selectedAppointment){if(w==37){i.toolbarLeftButton.trigger("click");i._ensureVisible(i.focusedCell);return false}else{if(w==39){i.toolbarRightButton.trigger("click");i._ensureVisible(i.focusedCell);return false}}}if(w==49){i._setView(0);return false}else{if(w==50){i._setView(1);return false}else{if(w==51){i._setView(2);return false}else{if(w==52){i._setView(3);return false}else{if(w==53){i._setView(4);return false}else{if(w==54){i._setView(5);return false}else{if(w==68){i.dateTimeInput.jqxDateTimeInput("open");return false}else{if(w==77){i.openMenu();return false}}}}}}}}}if(w==9){if(!s.shiftKey){if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);var h=i.tabKeyAppointments.indexOf(c);if(h<i.tabKeyAppointments.length-1){c=i.tabKeyAppointments[h+1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();return true}}else{var c=i.tabKeyAppointments[0];if(c){i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}else{if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);if(c){var h=i.tabKeyAppointments.indexOf(c);if(h>0){c=i.tabKeyAppointments[h-1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}return true}}}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell)}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}if(i.selectedAppointment){if(w==37){r("left")}else{if(w==38){r("up")}else{if(w==40){r("down")}else{if(w==39){r("right")}}}}if(w>=37&&w<=40){return false}return}var k=this._lastSelectedCell;if(!k){return}if(!a(this._lastSelectedCell).parent()[0]){this._lastSelectedCell=this.rows[0].cells[0];k=this._lastSelectedCell}var n=this.rows;var p=this._views[this._view].type;var l=this._views[this._view];var v="halfHour";if(l.timeRuler&&l.timeRuler.scale){v=l.timeRuler.scale}var q=function(K,F){var B=30;switch(v){case"sixtyMinutes":case"hour":B=60;break;case"thirtyMinutes":case"halfHour":B=30;break;case"fifteenMinutes":case"quarterHour":B=15;break;case"tenMinutes":B=10;break;case"fiveMinutes":B=5;break}var I=K.getAttribute("data-date");var H=function(U,N,P){if(U&&(U.getAttribute("rowspan")==null||p=="agendaView")&&U.getAttribute("data-time-slot")==null){if(P<i.min||P>i.max){return}var S=i.rows;var R=i._lastSelectedCell;i._lastSelectedCell=U;if(s.shiftKey&&i._lastSelectedCell){if(!i.shiftSelectedCell){i.shiftSelectedCell=k}}else{if(!s.shiftKey){i.shiftSelectedCell=null}}if(!i.shiftSelectedCell){for(var Q=0;Q<S.length;Q++){var T=S[Q];if(T.element.getAttribute("data-group-row")){continue}for(var O=0;O<T.cells.length;O++){var N=T.cells[O];N.removeAttribute("data-selected","false")}}U.setAttribute("data-selected","true");i.focusedCell=U}else{if(U.getAttribute("data-end-date")&&i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{if(!U.getAttribute("data-end-date")&&!i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{i.focusedCell=R;i._lastSelectedCell=R}}}i._ensureVisible(i.focusedCell)}};var y=new a.jqx.date(I,i.timeZone);var z=K.getAttribute("data-view");switch(F){case"left":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E>0){var C=M.cells[E-1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"right":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E<M.cells.length-1){var C=M.cells[E+1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"up":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var x=M.aboveRow;if(x){var C=x.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=-1+i.rows.indexOf(M);var C=K;while(G>=0){if(i.rows[G].cells[0]==C){G--}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"down":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var D=M.belowRow;if(D){var C=D.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=1+i.rows.indexOf(M);var C=K;while(G<i.rows.length){if(i.rows[G].cells[0]==C){G++}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"home":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var A=i.rows[0];var C=A.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break;case"end":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var L=i.rows[i.rows.length-1];var C=L.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break}i._updateCellsSelection()};var u=function(){q(k,"home")};var b=function(){q(k,"end")};if(w==36||(m&&w==38)){u();return false}else{if(w==35||(m&&w==40)){b();return false}else{if(w==37){if(i.selectedAppointment){r(k,"left")}else{q(k,"left")}return false}else{if(w==38){if(i.selectedAppointment){r(k,"up")}else{q(k,"up")}return false}else{if(w==40){if(i.selectedAppointment){r(k,"down")}else{q(k,"down")}return false}else{if(w==39){if(i.selectedAppointment){r(k,"right")}else{q(k,"right")}return false}}}}}}},getSelectedCells:function(){var g=this;var h=g.rows;var f=h.length;var b=new Array();for(var e=0;e<f;e++){var d=h[e].cells;for(var c=0;c<d.length;c++){if(d[c].getAttribute("data-selected")){b.push(d[c])}}}return b.sort(function(i,j){return g._sortByDate(i,j)})},getSelection:function(){var e=this;var b=e.getSelectedCells();if(b.length==0){return null}var h=b[0].getAttribute("data-date");var g=b[b.length-1].getAttribute("data-date");var d=e.getMinutesPerScale();var c=e._views[e._view].type;if(c.toLowerCase().indexOf("month")>=0){d=0}if(b[0].getAttribute("data-end-date")){d=0}g=new a.jqx.date(g,e.timeZone).addMinutes(d);var c=parseInt(b[0].getAttribute("data-view"))-1;var f=e._resources[c];if(e._views[e._view].type.toLowerCase().indexOf("month")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("day")>=0||e._views[e._view].type.toLowerCase().indexOf("week")>=0){h=new a.jqx.date(h,e.timeZone);if(g.minute()===0&&g.hour()===0&&h.hour()===0&&h.minute()===0){if(g.day()===h.day()){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}else{return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g).addDays(-1),resourceId:f}}}return{from:new a.jqx.date(h,e.timeZone),to:g,resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("agenda")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}},clearSelection:function(){var f=this;var g=f.rows;var e=g.length;for(var d=0;d<e;d++){var c=g[d].cells;for(var b=0;b<c.length;b++){c[b].removeAttribute("data-selected")}}f._updateCellsSelection()},_getvirtualcolumnsindexes:function(c,k,g,i,b){if(this.rtl){c=this.hScrollInstance.max-c}var d=0;var h=-1;var e=g+i;if(this.autorowheight){return{start:0,end:g+i}}if(!b){for(var f=0;f<g+i;f++){var l=f;if(!this.columns.records[f].hidden){d+=this.columns.records[f].width}if(d>=c&&h==-1){h=f}if(d>k+c){e=f;break}}}e++;if(e>g+i){e=g+i}if(h==-1){h=0}return{start:h,end:e}},_renderhorizontalscroll:function(){var k=this;var r=k.hScrollInstance;var s=r.value;if(k.hScrollBar[0].style.visibility==="hidden"){r.value=0;s=0}var d=parseInt(s);if(k.table==null){return}var j=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};var q=k._getvirtualcolumnsindexes(d,k._hostWidth,0,k.columns.records.length,false);var l=q.start;var n=q.end;var b=k.rows;for(var m=0;m<l;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=n;m<k.columns.records.length;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=l;m<n;m++){var h=m;t=k.columns.records[h].element[0];if(!j(t)){k.columnsrow[0].appendChild(t)}}var o=k.columnsrow;var p=0;var e=k.columns.records.length-p;var c=k.columns.records;var f=k.source.records.length==0;if(k.rtl){if(k.hScrollBar.css("visibility")!="hidden"){d=r.max-d}}k.table[0].style.left=-d+"px";if(k.pinnedtable[0].style.display=="block"){k.pinnedtable[0].style.left=-d+"px"}if(k._resources.length>0&&k.tableRows>0){for(var u=0;u<this.table[0].rows.length;u++){var g=this.table[0].rows[u];if(g.getAttribute("data-group-row")){a(g).find("span").css("left",5+d)}}}o[0].style.marginLeft=-d+"px"},_getDayName:function(b,d){if(b>=7){b-=7}if(!d){d=this.dayNameFormat;if(this.isTouchDevice()){d=this.touchDayNameFormat}}var c=this.schedulerLocalization.days.names[b];switch(d){case"full":c=this.schedulerLocalization.days.names[b];break;case"abbr":c=this.schedulerLocalization.days.namesAbbr[b];break;case"shortest":c=this.schedulerLocalization.days.namesShort[b];break;case"firstTwoLetters":c=c.substring(0,2);break;case"firstLetter":c=c.substring(0,1);break}return c},_initializeColumns:function(){if(this._views.length===0){this._views.push({type:"dayView"})}if(!this._views[this._view]){throw new Error("jqxScheduler: View is undefined. You need to define the View in the Views Array when you create jqxScheduler")}var p=this._views[this._view].type;var m=this._views[this._view];if(m.timeSlotWidth){m.timeSlotWidth=Math.max(m.timeSlotWidth,30);m.columnWidth=m.timeSlotWidth}if(m.columnWidth){if(m.columnWidth<30){m.columnWidth=30}}if(this.columns&&this.columns.records){for(var z=0;z<this.columns.records.length;z++){this._removecolumnhandlers(this.columns.records[z])}}this.columns=new Array();var B=new Array();var h=this;var q=function(H,N){var I="halfHour";if(m.timeRuler&&m.timeRuler.scale){I=m.timeRuler.scale}var Q=24;var G=0;var P=23;if(m.timeRuler){if(m.timeRuler.scaleStartHour!=undefined){var G=parseInt(m.timeRuler.scaleStartHour)}if(m.timeRuler.scaleEndHour!=undefined){var P=parseInt(m.timeRuler.scaleEndHour)}if(G<0){G=0}if(P<0){P=23}if(G>23){G=0}if(P>23){P=23}Q=P-G+1}var K=60;var O=2;if(I){switch(I){case"sixtyMinutes":case"hour":O=1;break;case"thirtyMinutes":case"halfHour":O=2;break;case"fifteenMinutes":case"quarterHour":O=4;break;case"tenMinutes":O=6;break;case"fiveMinutes":O=12;break}}var S=new Array();var R="auto";if(m.timeRuler&&m.timeRuler.formatString){R=m.timeRuler.formatString}var F=G;var L=Q;var D=H.addHours(F);var j="auto";if(m.columnWidth){j=O*m.columnWidth}else{j=O*80}for(var M=0;M<L;M++){var E=D.toDate();if(R==="auto"){if((E.getHours()==0&&E.getMinutes()==0)||(E.getHours()==12&&E.getMinutes()==0)){var J="hh tt"}else{var J="hh:mm"}}else{if(a.isFunction(R)){var J=R(E)}else{J=R}}if(a.jqx.dataFormat.isDate(E)){E=a.jqx.dataFormat.formatdate(E,J,h.schedulerLocalization)}D=D.addMinutes(K,false);h.columns.push({columnGroup:N,text:E,minwidth:30,width:j})}};for(var x=0;x<this.tableColumns;x++){if(this.tableColumns>1){var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({text:f,name:f})}var w="left";if(this.rtl){w="right"}switch(p){case"dayView":var g=this.getViewStart();if(false===m.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:w,width:v,columnGroup:f,text:this._getDayName(g.dayOfWeek())});break;case"weekView":case"monthView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(y>6){y=0}if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:p=="weekView"?w:"center",width:v,columnGroup:f,text:this._getDayName(y)})}break;case"timelineDayView":var f=h._resources[x]?h._resources[x]:"Resource"+x;q(h.getViewStart(),f);break;case"timelineWeekView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(false===m.showWeekends){if(z===0||z===6){continue}}var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({align:h.rtl?"right":"left",parentGroup:f,name:this._getDayName(y)+x,text:this._getDayName(y)});q(h.getViewStart().addDays(z),this._getDayName(y)+x)}break;case"timelineMonthView":var k=h.getViewStart();var A="auto";if(m.timeRuler&&m.timeRuler.formatString){A=m.timeRuler.formatString}for(var z=0;z<41;z++){var y=k.dayOfWeek();if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m.columnWidth){v=m.columnWidth}else{v=100}var r=k.toDate();if(A==="auto"){var c="dd";r=k.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(A)){var c=A(r)}else{c=A}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,h.schedulerLocalization)}k=k.addDays(1);var f=h._resources[x]?h._resources[x]:"Resource"+x;h.columns.push({minwidth:30,columnGroup:f,text:r,width:v})}break;case"agendaView":var l=m.dateColumnWidth;var u=m.timeColumnWidth;var o=m.appointmentColumnWidth;if(!o){o="70%"}if(!u){u="auto"}if(!l){l="auto"}h.columns.push({text:h.schedulerLocalization.agendaDateColumn,width:l});h.columns.push({text:h.schedulerLocalization.agendaTimeColumn,width:u});h.columns.push({text:h.schedulerLocalization.agendaAppointmentColumn,width:o});break}}if(B.length>0){this.columnGroups=B}var h=this;var s=new a.jqx.schedulerDataCollection(this.element);var d=0;this._columns=this.columns;var C="left";var e=new a.jqx.scheduler.column(h,this);e.visibleindex=d++;e.text="";e.width=h.timeRulerWidth;e.editable=false;e.timeColumn=true;C="left";e.text="";e.hidden=false;e.width=h.timeRulerWidth;var b=false;if(m.timeRuler&&(p==="dayView"||p==="weekView")){e._text=m.timeRuler.text||"";C=m.timeRuler.position||"left";e.hidden=m.timeRuler.hidden||false;e.width=m.timeRuler.width||h.timeRulerWidth;if(m.timeRuler.timeZones){b=true}}else{if(p!=="dayView"&&p!=="weekView"){e.hidden=true}}var n=function(i){var j=new a.jqx.scheduler.column(h,h);j.visibleindex=d++;j.text="";j.width=h.timeRulerWidth;j.editable=false;j.timeColumn=true;C="left";j.text="";j.hidden=false;j.timeZone=m.timeRuler.timeZones[i].id;j.width=h.timeRulerWidth;if(m.timeRuler&&(p==="dayView"||p==="weekView")){j._text=m.timeRuler.timeZones[z].text||"";j.hidden=m.timeRuler.hidden||false;j.width=m.timeRuler.width||h.timeRulerWidth;s.add(j)}};if(C==="left"&&(p==="dayView"||p==="weekView")){if(m.timeRuler&&m.timeRuler.timeZones){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="left"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}var t=new Array();a.each(this.columns,function(i){if(h.columns[i]!=undefined){var j=new a.jqx.scheduler.column(h,this);j.visibleindex=d++;s.add(j)}});if(C==="right"&&(p==="dayView"||p==="weekView")){if(m.timeRuler){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="right"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}if(this.rtl){s.records.reverse()}this.columns=s},_getColumnsLengthPerView:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=1;switch(b){case"dayView":c=1;break;case"weekView":if(d.showWeekends!==false){c=7}else{c=5}break;case"monthView":if(d.showWeekends!==false){c=7}else{c=5}break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":c=this.columns.records.length;break;case"agendaView":c=this.columns.records.length;break}return c},_renderagenda:function(){var ab=this;var h=ab._views[ab._view].type;var aa=ab._views[ab._view];var K=ab.getViewStart();var af=a.jqx.scheduler.utilities.getEndOfDay(ab.getViewEnd().addDays(-1));ab._prepareAppointmentsInView(K,af);var R=ab.appointmentsToRender.length;var al=new Array();var aj=0;for(var at=0;at<ab.appointmentsToRender.length;at++){var q=ab.appointmentsToRender[at];var au=q.from.clearTime();while(au<a.jqx.scheduler.utilities.getEndOfDay(q.to)){var d=au.toString();if(!al[d]){al[d]={date:au,appointments:new Array()};al[d].appointments.push(q);al[al.length]=al[d];aj++}else{al[d].appointments.push(q);aj++}au=au.addDays(1).clearTime()}}var O=0;var N=0;ab.rows=new Array();var av=a.jqx.browser.msie&&a.jqx.browser.version<8;var F=0;var ax=0;var ap=ab.rtl?" "+ab.toTP("jqx-grid-table-rtl"):"";var Z=0;var v="<table cellspacing='0' cellpadding='0' class='"+ab.toTP("jqx-grid-table")+ap+"' id='table"+ab.element.id+"'><colgroup>";var G=ab.columns.records.length;for(var aq=0;aq<G;aq++){var X=ab.columns.records[aq];if(X.hidden){F++;continue}var c=X.width;if(c<X.minwidth){c=X.minwidth}if(c>X.maxwidth){c=X.maxwidth}c-=ax;if(c<0){c=0}if(av){var ae=c;if(aq==F){ae++}v+="<col style='max-width: "+ae+"px; width: "+ae+"px;'>"}else{v+="<col style='max-width: "+c+"px; width: "+c+"px;'>"}Z+=c}v+="</colgroup>";if(R==0){var l='<tr role="row">';var f=this.host.height();var U=0;if(!ab.columnGroups){U+=ab.showHeader?ab.columnsHeight:0}else{U+=ab.showHeader?ab.columnsheader.height():0}if(ab.showToolbar){U+=ab.toolbarHeight}if(ab.showLegend&&ab._resources.length>0){U+=ab.legendHeight}f-=U;var e='<td data-date="'+K.toString()+'" colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+f+"px; height: "+f+"px; max-width:"+Z+"px; width:"+Z+"px;";var E=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");E+=" "+this.toTP("jqx-center-align");e+='" class="'+E+'">';e+=this.schedulerLocalization.emptyDataString;e+="</td>";l+=e;l+="</tr>";v+=l;this.table[0].style.width=Z+2+"px";N=Z}var k=ab.rowsHeight;if(ab.isTouchDevice()){k=ab.touchRowsHeight}for(var at=0;at<al.length;at++){var H=at;var au=al[at];for(var ai=0;ai<au.appointments.length;ai++){var m=0;var l='<tr data-key="'+H+'" role="row">';O=0;var u=au.appointments[ai];for(var aq=0;aq<G;aq++){var ah=ab.columns.records[aq];var ao=aq;if(ab.rtl){ao=G-1-aq}var c=ah.width;if(c<ah.minwidth){c=ah.minwidth}if(c>ah.maxwidth){c=ah.maxwidth}c-=ax;if(c<0){c=0}var E=ab.toTP("jqx-cell")+" "+ab.toTP("jqx-grid-cell")+" "+ab.toTP("jqx-item");if(ab.rtl){E+=" "+ab.toTP("jqx-cell-rtl")}var J="";var H=ab.dataview.generatekey();var s=-1;var g=au.date;var f=k+"px";var e='<td data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px; height: "+f+"; min-height: "+k+"px;";if(ao==0&&ai==0){var M=au.appointments.length;var e='<td rowspan="'+M+'" data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px;  min-height: "+k+"px;";E+=" "+ab.toTP("jqx-center-align")}else{if(ao==0){O++;continue}}if(ab.rtl&&ao==1){E+=" "+ab.toTP("jqx-right-align")}if(!(ah.hidden)){m+=ax+c;if(O==0&&!ab.rtl){e+="border-left-width: 0px;"}else{e+="border-left-width: 1px;"}O++}else{e+="display: none;";ab._hiddencolumns=true}e+='" class="'+E+'">';var an="";if(ao==0&&ai==0){var D=g.toString("dddd",ab.schedulerLocalization);var am=g.toString("MMMM, yyyy",ab.schedulerLocalization);var ar=ab.toTP("jqx-scheduler-agenda-date");var o=ab.toTP("jqx-scheduler-agenda-day");var n=ab.toTP("jqx-scheduler-agenda-week");an='<div class="'+ar+'"><strong class="'+o+'">'+g.day()+'</strong><br/><em class="'+n+'">'+D+'</em><br/><span class="'+ar+'">'+am+"</span></div>"}if(ao==1){var Q="auto";var aa=this._views[this._view];var z=u.from;var ay=u.to;if(aa.timeRuler&&aa.timeRuler.formatString){Q=aa.timeRuler.formatString}var ad=Q;var I=Q;if(Q==="auto"){if((z.hour()==0&&z.minute()==0)||(z.hour()==12&&z.minute()==0)){var ad="hh tt"}else{var ad="hh:mm"}if((ay.hour()==0&&ay.minute()==0)||(ay.hour()==12&&ay.minute()==0)){var I="hh tt"}else{var I="hh:mm"}}var ar=ab.toTP("jqx-scheduler-agenda-time");if(u.allDay){an="<span class='"+ar+"'>"+ab.schedulerLocalization.agendaAllDayString+"</span>"}else{if(!ab.rtl){an="<span class='"+ar+"'>"+z.toString(ad,ab.schedulerLocalization)+" - "+ay.toString(I,ab.schedulerLocalization)+"</span>"}else{an="<span class='"+ar+"'>"+ay.toString(I,ab.schedulerLocalization)+" - "+z.toString(ad,ab.schedulerLocalization)+"</span>"}}}else{if(ao==2){if(u.resourceId){a.each(ab._resources,function(r,x){if(u.resourceId==x){var i=ab.getColors(r);var j=this.toString();var w=ab.toTP("jqx-scheduler-agenda-appointment-resource jqx-scheduler-legend");if(ab.rtl){var w=ab.toTP("jqx-scheduler-agenda-appointment-resource-rtl jqx-scheduler-legend")}var t="<div data-key='"+u.id+"' class='"+w+"' style='margin-right: 5px; border-color: "+i.border+"; background: "+i.background+";' class='"+ab.toThemeProperty("jqx-scheduler-legend")+"'></div>";an=t}})}var W=u.subject?u.subject:"(No Title)";var C=u.location;var y=u.description;var T=u.status?ab.schedulerLocalization.editDialogStatuses[u.status]:"";var b=u.isRecurrentAppointment();var B=u.isException();var Y=""+ab.schedulerLocalization.editDialogSubjectString+": "+W+"";if(C){Y+="\n"+ab.schedulerLocalization.editDialogLocationString+": "+C+""}if(y){Y+="\n"+ab.schedulerLocalization.editDialogDescriptionString+": "+y+""}if(T){Y+="\n"+ab.schedulerLocalization.editDialogStatusString+": "+T+""}if(b){Y+="\n"+ab.schedulerLocalization.editDialogRepeatString+": "+b+""}var ar=ab.toTP("jqx-scheduler-agenda-appointment jqx-scheduler-legend-label");if(ab.rtl){var ar=ab.toTP("jqx-scheduler-agenda-appointment-rtl jqx-scheduler-legend-label")}an+="<span data-key='"+u.id+"' title='"+Y+"' class='"+ar+"'>"+W+"</span>"}}e+=an;e+="</td>";l+=e}if(N==0){ab.table[0].style.width=m+2+"px";ab.pinnedtable[0].style.width=m+2+"px";N=m}l+="</tr>";v+=l}}v+="</table>";ab.table[0].innerHTML=v;ab.pinnedtable[0].innerHTML=v;ab.pinnedtable[0].style.display="none";var ag=a(ab.table[0].firstChild);var V=a(ab.pinnedtable[0].firstChild);ab._table=ag;ab._pinnedtable=V;if(a.jqx.browser.msie&&a.jqx.browser.version<10){ab._table[0].style.width=N+"px";ab._pinnedtable[0].style.width=N+"px"}if(R===0){ab._table[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.display="none"}ab._pinnedtable[0].style.display="none";ab._table.addClass("jqx-grid-table-one-cell jqx-disableselect");ab.table[0].rows=ab.table[0].firstChild.rows;ab.rowByCell=new Array();ab.columnCells=new Array();function p(){var i={};i.cells=new Array();i.indexOf=function(j){for(var r=0;r<i.cells.length;r++){if(i.cells[r].getAttribute("data-key")==j.getAttribute("data-key")){return r}}return -1};return i}ab.cellWidth=0;ab.cellHeight=0;var L=ab.table[0].rows.length;for(var at=0;at<L;at++){var ak=ab.table[0].rows[at];if(ak.getAttribute("data-group-row")){continue}var A=new p();A.aboveRow=null;A.belowRow=null;if(ab.rows.length>0){A.aboveRow=ab.rows[ab.rows.length-1];ab.rows[ab.rows.length-1].belowRow=A}A.element=ak;ab.rows.push(A);var S=false;for(var aq=0;aq<ak.cells.length;aq++){if(ak.cells.length<ab.columns.records.length&&!S){var ac=at;while(ac>=0){var aw=ab.table[0].rows[ac];if(ab.table[0].rows[ac].cells.length==ab.columns.records.length){var P=aw.cells[0];if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);S=true;break}ac--}}var P=ak.cells[aq];if(P.style.display==="none"){continue}if(P.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);ab.rowByCell[P.getAttribute("data-key")]=A}}if(R===0){ab._table[0].style.tableLayout="auto"}ab._updateScrollbars(ab.host.height());ab._arrange();if(ab.rendered){ab.rendered()}ab.renderedTime=new Date()},_renderrows:function(){var V=this;if(V._loading){return}if(V._updating||V._appupdating){return}if(V.rendering){V.rendering()}var V=this;var aF=V._views[V._view].type;var G=V._views[V._view];if(aF=="agendaView"){V._renderagenda();return}var az=1;var d=V.getViewStart();var aN=a.jqx.scheduler.utilities.getEndOfDay(V.getViewEnd());V._prepareAppointmentsInView(d,aN);var N=new Array();if(aF==="weekView"||aF==="dayView"){var az=V.getMaxAllDayAppointments(V.appointmentsToRender)}else{if(aF==="monthView"&&G.monthRowAutoHeight&&V.rows&&V.rows.length==6){N=V._getMonthAppointmentsPerWeek()}}var aa=V.tableRows>1?V.tableRows:0;var aL="halfHour";var B=null;var aQ;if(G.rowHeight){B=G.rowHeight}if(G&&G.allDayRowHeight){aQ=G.allDayRowHeight}if(G.timeRuler&&G.timeRuler.scale){aL=G.timeRuler.scale}var aM=0;V.table[0].rows=new Array();V.rows=new Array();var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-widget-content");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var b=V.columns.records.length;var av=V._getColumnsLengthPerView();var W=a.jqx.browser.msie&&a.jqx.browser.version<8;if(W){V.host.attr("hideFocus","true")}V._lastSelectedCell=null;V.focusedCell=null;var E=new Array();var aD=V.source.records;aD=V.dataview.evaluate(aD);V.dataViewRecords=aD;V.cells=new Array();var E=V.dataViewRecords;V.renderedRecords=V.getRows();var aZ=V.tableZIndex;var ai=V.getRows().length;var o=0;var aH=0;if(W){for(var X=0;X<b;X++){var ac=V.columns.records[X];var aK=ac.width;if(aK<ac.minwidth){aK=ac.minwidth}if(aK>ac.maxwidth){aK=ac.maxwidth}var aJ=a('<table><tr><td role="gridcell" style="max-width: '+aK+"px; width:"+aK+'px;" class="'+a5+'"></td></tr></table>');a(document.body).append(aJ);var at=aJ.find("td");o=1+parseInt(at.css("padding-left"))+parseInt(at.css("padding-right"));aJ.remove();break}}var K=V.rtl?" "+V.toTP("jqx-grid-table-rtl"):"";var H="<table cellspacing='0' cellpadding='0' class='"+V.toTP("jqx-grid-table")+K+"' id='table"+V.element.id+"'><colgroup>";var aY=0;var a4=b;var aS=2;var an=30;switch(aL){case"sixtyMinutes":case"hour":an=60;aS=1;break;case"thirtyMinutes":case"halfHour":an=30;aS=2;break;case"fifteenMinutes":case"quarterHour":an=15;aS=4;break;case"tenMinutes":an=10;aS=6;break;case"fiveMinutes":an=5;aS=12;break}var a3=1;if(aF==="timelineDayView"||aF==="timelineWeekView"){b=aS*b;a3=aS;av=b/V.tableColumns}else{if(aF==="timelineMonthView"){av=b/V.tableColumns}else{if(aF==="monthView"){if(G.showWeekNumbers){av=(b-V.tableColumns)/V.tableColumns}else{av=b/V.tableColumns}}}}var g=function(i){var c=V.columns.records[i];if(c){return c}while(i>=V.columns.records.length){i-=V.columns.records.length}var c=V.columns.records[i];return c};for(var X=0;X<b;X++){var ac=g(X);if(ac.hidden){aY++;a4--;continue}var aK=ac.width/a3;if(aK<ac.minwidth){aK=ac.minwidth/a3}if(aK>ac.maxwidth){aK=ac.maxwidth/a3}aK-=o;if(aK<0){aK=0}if(aF=="monthView"&&V.rtl&&ac.timeColumn){aK++}if(W){var P=aK;if(X==aY){P++}H+="<col style='max-width: "+P+"px; width: "+P+"px;'>"}else{H+="<col style='max-width: "+aK+"px; width: "+aK+"px;'>"}aH+=aK}H+="</colgroup>";V._hiddencolumns=false;if(ai===0){var u='<tr role="row">';var z=V.host.height();if(V.pageable){z-=V.pagerHeight;if(V.pagerPosition==="both"){z-=V.pagerHeight}}z-=V.columnsHeight;if(V.showLegend&&V._resources.length>0){z-=V.legendHeight}if(z<25){z=25}if(V.hScrollBar[0].style.visibility!="hidden"){z-=V.hScrollBar.outerHeight()}if(V.height==="auto"||V.height===null||V.autoheight){z=300}var aJ='<td colspan="'+V.columns.records.length+'" role="gridcell" style="border: none; min-height: '+z+"px; height: "+z+"px; max-width:"+aH+"px; width:"+aH+"px;";var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}a5+=" "+V.toTP("jqx-center-align");aJ+='" class="'+a5+'">';aJ+=V.schedulerLocalization.emptyDataString;aJ+="</td>";u+=aJ;H+=u;V.table[0].style.width=aH+2+"px";aM=aH}var au=V.getRows();var d=V.getViewStart();var z=V._hostHeight?V._hostHeight:V.host.height();var a2=0;if(!V.columnGroups){a2+=V.showHeader?V.columnsHeight:0}else{a2+=V.showHeader?V.columnsheader.height():0}if(V.showToolbar){a2+=V.toolbarHeight}if(V.showLegend&&V._resources.length>0){a2+=V.legendHeight}var f=V.showAllDayRow;var m=23;if(G.resourceHeaderRowHeight){m=G.resourcesRowHeight}m+=2;if(G.showAllDayRow!=undefined){f=G.showAllDayRow}var h=V._columnswidth>V._hostWidth;var al=h?(3+V.scrollBarSize):0;var ag=V.tableRows>1?V.resources.unitsInView:1;if(ag==undefined){ag=V._resources.length}if(V.resources&&V.resources.resourceRowHeight){B=V.resources.resourceRowHeight}if(B==null||B=="auto"){var p=V.rowsHeight;var ap=3*p;if(V.isTouchDevice()){p=V.touchRowsHeight;var ap=22+p}if(V.tableRows==1){B=z>0?(z-a2):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2):p}}else{B=z>0?(z-a2-m)/(ai):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2-ag*m)/(ag*ai):p}}if(aF==="dayView"||aF==="weekView"){if(f){if(aQ==null||aQ=="auto"){B=z>0?(z-a2)/(V.tableRows*(ai)):ap;aQ=B}else{B=z>0?(z-a2-aQ-ag*m)/(ag*(ai-1)):p}}}else{if(aF==="monthView"){if(V.hScrollBar[0].style.visibility=="hidden"){al=0}if(V.tableRows==1){B=z>0?(z-a2-al)/ai:p}else{B=z>0?(z-a2-m-al)/(ai):p}}}B=Math.max(p,B);if(!aQ){aQ=ap}aQ=Math.max(ap,aQ);V._allDayRowHeight=aQ;V._defaultRowHeight=p;aQ=az*(p-2);aQ=Math.max(ap,17+aQ);V._allDayRowFullHeight=aQ;if(G.allDayRowHeight){V._allDayRowHeight=G.allDayRowHeight;aQ=az*(G.allDayRowHeight-2);V._allDayRowFullHeight=aQ}}var aB=new Array();if(V.resources&&V.resources.colorScheme){for(var ao=0;ao<V.colorSchemes.length;ao++){if(V.colorSchemes[ao].name==V.resources.colorScheme){aB=V.colorSchemes[ao].colors;break}}while(V._resources.length>aB.length-1){var aW=parseInt(V.resources.colorScheme.substring(6));if(aW>=27){aW=0}aB=aB.concat(V.colorSchemes[aW].colors);aW++}}for(var aE=0;aE<V.tableRows;aE++){var aq=0;var S=0;var e=23;if(G.timeRuler&&G.timeRuler.scaleStartHour!=undefined){var S=parseInt(G.timeRuler.scaleStartHour)}if(G.timeRuler&&G.timeRuler.scaleEndHour!=undefined){var e=parseInt(G.timeRuler.scaleEndHour)}var A=d;if(false===G.showWeekends){if(A.dayOfWeek()==0||A.dayOfWeek()==6){A=A.addDays(1)}}var ar=new Array();var k=aF!="monthView"&&aF!="timelineDayView"&&aF!="timelineWeekView"&&aF!="timelineMonthView"&&f?1:0;if(V.tableRows>1){var u='<tr data-group-row="true" role="row">';var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(!W){a5+=" "+V.toTP("jqx-grid-cell-pinned");Z+=' colspan="'+b+'"';var P=0;for(var Q=0;Q<b;Q++){var ab=g(Q);var ak=ab.width/a3;if(ak<ab.minwidth){aK=ab.minwidth/a3}if(ak>ab.maxwidth){aK=ab.maxwidth/a3}ak-=o;if(ak<0){ak=0}if(!ab.hidden){P+=ak}}aK=P}else{a5+=" "+V.toTP("jqx-grid-cell-pinned")}var aJ='<td style="height:'+m+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!="none"){var aO="";var y="";var D="";var L=function(i){var c=105;var j=(i.r*0.299)+(i.g*0.587)+(i.b*0.114);var q=(255-j<c)?"Black":"White";return q};aO=aB[aE];aO=V.hexToRgba(aB[aE],0.7).toString();D=L(V.hexToRgba(aB[aE],0.7));y=aB[aE];aJ+="background: "+aO+";";aJ+="border-color: "+y+";";aJ+="color: "+D+";"}aJ+='" class="'+a5+'" role="gridcell" '+Z+"";var aX=V._resources[aE];aJ+="><span style='position: relative;'>"+aX+"</span>";aJ+="</td>";u+=aJ;H+=u}for(var Y=0;Y<ai;Y++){var aI={};var am="jqx"+V.element.id+"_"+Y;aI.uid=am;var u='<tr data-key="'+am+'" role="row">';var ad=0;var x=0;if(ar[0]&&Y>k){var an=30;if(aF!="monthView"){switch(aL){case"sixtyMinutes":case"hour":an=60;break;case"thirtyMinutes":case"halfHour":an=30;break;case"fifteenMinutes":case"quarterHour":an=15;break;case"tenMinutes":an=10;break;case"fiveMinutes":an=5;break}for(var T=0;T<b;T++){ar[T]=ar[T].addMinutes(an,false)}}else{for(var T=0;T<b;T++){ar[T]=ar[T].addDays(7,false)}}}var ax=0;var ae=1;var aj=0;if(G.showWeekends||G.showWeekends==undefined){aj=(V.columns.records.length)/(7*V.tableColumns);aj*=aS}else{aj=(V.columns.records.length)/(5*V.tableColumns);aj*=aS}var aw=0;if(V.rtl){aw=1}var aU=0;for(var X=0;X<b;X++){var R=g(X);if(ax>=av){ax=0;aU=0;aw=0;if(V.rtl){aw=1}ae++}if(!ar[X]){if(!V.rtl){if(aF.toString().indexOf("timelineDayView")>=0){var I=X;ar[X]=A.addHours(S).addMinutes(I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){ar[X]=A.addDays(aU).addHours(S,false).addMinutes(aw*an,false)}else{ar[X]=A.addDays(ax).addHours(S,false)}}if(V.timeZone){ar[X].timeZone=V.timeZone}}else{if(aF.toString().indexOf("timelineDayView")>=0){var I=1+X;ar[X]=A.addHours(1+e).addMinutes(-I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-aU).addHours(1+e,false).addMinutes(-aw*an,false)}else{ar[X]=A.addDays(4-aU).addHours(1+e,false).addMinutes(-aw*an,false)}}else{if(aF=="dayView"||aF=="monthView"||aF=="weekView"){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-ax).addHours(S,false)}else{ar[X]=A.addDays(4-ax).addHours(S,false)}}else{ar[X]=A.addDays(av-ax-1).addHours(S,false)}}}if(V.timeZone){ar[X].timeZone=V.timeZone}}}aw++;if(aw>=aj){aw=0;aU++}if(!R.timeColumn&&(aF==="dayView"||aF==="weekView")){ax++}else{if(!R.timeColumn&&(aF==="monthView"&&G.showWeekNumbers)){ax++}else{if((aF==="monthView"&&!(G.showWeekNumbers))||aF==="timelineMonthView"){ax++}else{if(aF=="timelineDayView"||aF=="timelineWeekView"){ax++}}}}var C=ar[X];var aK=R.width/a3;if(aK<R.minwidth){aK=R.minwidth/a3}if(aK>R.maxwidth){aK=R.maxwidth/a3}aK-=o;if(aK<0){aK=0}var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(R.pinned){a5+=" "+V.toTP("jqx-grid-cell-pinned")}if(V.sortcolumn===R.displayfield){a5+=" "+V.toTP("jqx-grid-cell-sort")}if(V.altRows&&Y%2!=0){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(C>V.max||C<V.min){a5+=" "+V.toTP("jqx-scheduler-disabled-cell")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var Z="";var am=V.dataview.generatekey();var aG=aE+ae;if(V.resources&&V.resources.orientation=="none"){aG=-1}if(V._resources.length==0){aG=-1}var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+B+"px;";if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td  data-key="'+am+'" data-view="'+(aG)+'" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.clearTime().toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px; height:"+aQ+"px;"}if(aF=="monthView"&&G.monthRowAutoHeight&&N.length>0){if(N[Y]&&N[Y]!="auto"){if(B<N[Y]){var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+N[Y]+"px;"}}}if(V.date.month()!=C.month()&&aF==="monthView"&&!G.showOtherMonthDays){}if(V.resources&&V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!=="none"){var aO="";var y="";aO=aB[aE+ae-1];if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){aO=V.hexToRgba(aB[aE+ae-1],0.3).toString()}else{aO=V.shadeColor(aB[aE+ae-1],0.3).toString()}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour!==undefined?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){aO=V.hexToRgba(aB[aE+ae-1],0.1).toString()}}}}}}y=aB[ae+aE-1];aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(R.timeColumn&&!R.hidden&&aF==="monthView"){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");a5+=" "+V.toTP("jqx-scheduler-week-number-column");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" role="gridcell" style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}if(X==b-1&&V.rtl){aJ+="border-right-color: transparent;"}}else{x++;continue}}if(R.timeColumn&&!R.hidden&&(aF==="dayView"||aF==="weekView")){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(Y>0){if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" rowspan='+aS+' role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}}else{x++;continue}}else{if(V.resources&&V.resources.orientation=="none"){aG=-1}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td data-view="'+(aG)+'" data-time-slot="true" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(X==0&&b==1&&V.rtl){aJ+="border-right-color: transparent;"}}if(V.rtl){aJ+="border-left-width: 1px;"}if(V.tableRows>1){aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}}}else{if(Y>0){var n="border-left-width: 1px;";if(V.rtl&&X==0&&aF=="monthView"&&G.showWeekNumbers){n="border-left-width: 0px;"}aJ+=n}}if(R.cellsalign!="left"){if(R.cellsalign==="right"){a5+=" "+V.toTP("jqx-right-align")}else{a5+=" "+V.toTP("jqx-center-align")}}if(!R.timeColumn){if(V.rowinfo[aI.uid]){if(V.rowinfo[aI.uid].selected){if(V.editKey!==aI.uid){if(V.selectionMode!=="none"){a5+=" "+V.toTP("jqx-grid-cell-selected");a5+=" "+V.toTP("jqx-fill-state-pressed");a5+=" "+V.toTP("jqx-scheduler-cell-selected")}}}}}if(!(R.hidden)){ad+=o+aK;if(x==0&&!V.rtl){aJ+="border-left-width: 0px;"}x++}else{aJ+="display: none;";V._hiddencolumns=true}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){a5+=" "+V.toTP("jqx-grid-cell-nowrap");if(Y%2==1&&!R.timeColumn){a5+=" "+V.toTP("jqx-scheduler-middle-cell")}if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour!==undefined?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){a5+=" "+V.toTP("jqx-scheduler-work-time-cell")}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}}}}var ah="";if(aF==="monthView"){if(!V.touchDevice&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align")}var af="dd";ah=C.toDate();var a1=V.toTP("jqx-scheduler-month-outer-cell")+" ";var aA=V.toTP("jqx-scheduler-month-weekend-cell");if(V.date.month()==C.month()){a1=""}if(!C.isWeekend()){aA=""}else{a5+=" "+aA}if(ah.getDate()===1){af="MMM dd"}if(V.touchDevice){if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}else{if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}}else{if(aF==="timelineWeekView"||aF==="timelineDayView"||aF==="timelineMonthView"){a5+=" "+V.toTP("jqx-right-align jqx-bottom-align");ah="<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span>"}}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align");a5+=" "+V.toTP("jqx-scheduler-all-day-cell");if(V.rtl){a5+=" "+V.toTP("jqx-rtl")}ah=C.toDate();ah="<span>"+a.jqx.dataFormat.formatdate(ah,"dd",V.schedulerLocalization)+"</span>"}var r=R.cellsFormat;if(R.timeColumn&&!R.hidden){ah=C.toDate();if(R.timeZone){ah=C.clone().toTimeZone(R.timeZone);ah=ah.toDate()}var s="auto";if(G.timeRuler&&G.timeRuler.formatString){r=G.timeRuler.formatString}else{if(!R.timeColumn.format){if(ah.getHours()==0||ah.getHours()==12){r="hh tt"}else{r="hh:mm"}}}if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}if(Y<k){if(!V.rtl){a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell")}else{a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell-rtl")}ah=""}if(Y<k){if(R._text){a5+=" "+V.toTP("jqx-bottom-align")}if(G.timeRuler&&G.timeRuler.timeZones&&G.timeRuler.timeZones.length>0){if(X<G.timeRuler.timeZones.length){ah=R._text}}}if(aF=="monthView"){ah=C.weekOfYear(V.schedulerLocalization.firstDay)}}else{if(r!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}else{if(a.jqx.dataFormat.isNumber(ah)||(!isNaN(parseFloat(ah))&&isFinite(ah))){ah=a.jqx.dataFormat.formatnumber(ah,r,V.schedulerLocalization)}}}}}if(R.cellclassname!=""&&R.cellclassname){if(typeof R.cellclassname=="string"){a5+=" "+R.cellclassname}else{var a0=R.cellclassname(Y,R.datafield,ah,aI);if(a0){a5+=" "+a0}}}if(R.cellsRenderer!=""&&R.cellsRenderer){var aT=au.indexOf(aI);ah=R.cellsRenderer(aT,R.datafield,ah,aI)}aJ+='" class="'+a5+'">';aJ+=ah;aJ+="</td>";u+=aJ}if(aM==0){V.table[0].style.width=ad+2+"px";V.pinnedtable[0].style.width=ad+2+"px";aM=ad}u+="</tr>";H+=u;if(!V.rowinfo[aI.uid]){V.rowinfo[aI.uid]={row:aI}}else{if(!("row" in V.rowinfo[aI.uid])){V.rowinfo[aI.uid].row=aI}}}}H+="</table>";V.table[0].innerHTML=H;V.pinnedtable[0].innerHTML=H;V.table[0].rows=V.table[0].firstChild.rows;var aR=a.jqx.browser.msie&&a.jqx.browser.version<9;var aP=null;if(f&&(aF==="dayView"||aF==="weekView")&&V.tableRows==1){V.pinnedtable[0].style.display="block";V.pinnedtable[0].style.zIndex="400";V.pinnedtable[0].style.position="absolute";V.pinnedtable[0].style.top="0px";V.pinnedtable[0].style.height=aQ+"px";if(!aR){if(V.tableRows==1){V.oldRow=V.table[0].rows[0];try{V.table[0].rows[0]=V.pinnedtable.find("tr")[0]}catch(aC){}aP=V.pinnedtable.find("tr")[0];V.pinnedTableRow=aP}else{V.oldRow=V.table[0].rows[1];try{V.table[0].rows[1]=V.pinnedtable.find("tr")[1]}catch(aC){}aP=V.pinnedtable.find("tr")[1];V.pinnedTableRow=aP}}}else{V.pinnedtable[0].style.display="none"}var Q=a(V.table[0].firstChild);var aV=a(V.pinnedtable[0].firstChild);V._table=Q;V._pinnedtable=aV;if(a.jqx.browser.msie&&a.jqx.browser.version<10){V._table[0].style.width=aM+"px";V._pinnedtable[0].style.width=aM+"px"}if(ai===0){V._table[0].style.width=(2+aM)+"px";V._pinnedtable[0].style.width=(2+aM)+"px"}V._table.addClass("jqx-grid-table-one-cell jqx-disableselect");V._pinnedtable.addClass("jqx-grid-table-one-cell jqx-disableselect");V.rowByCell=new Array();V.columnCells=new Array();function F(){var c={};c.cells=new Array();c.indexOf=function(j){for(var q=0;q<c.cells.length;q++){if(c.cells[q].getAttribute("data-key")==j.getAttribute("data-key")){return q}}return -1};return c}V.cellWidth=0;V.cellHeight=0;var U=V.table[0].rows.length;for(var Y=0;Y<U;Y++){var v=V.table[0].rows[Y];if(Y==0&&aP){v=aP}if(v.getAttribute("data-group-row")){continue}var aI=new F();aI.aboveRow=null;aI.belowRow=null;if(V.rows.length>0){aI.aboveRow=V.rows[V.rows.length-1];V.rows[V.rows.length-1].belowRow=aI}aI.element=v;V.rows.push(aI);for(var X=0;X<v.cells.length;X++){var M=v.cells[X];if(M.getAttribute("data-time-slot")){continue}if(M.style.display==="none"){continue}if(M.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!V.columnCells[aI.cells.length]){V.columnCells[aI.cells.length]=new Array()}V.columnCells[aI.cells.length].push(M);if(V.cellWidth==0){V.cellWidth=M.clientWidth}if(V.cellHeight==0&&(U==1||Y>1)){V.cellHeight=M.clientHeight}if(V._views[V._view].type=="monthView"){if(aI.top==undefined){aI.top=parseInt(a(M).position().top)}}aI.cells.push(M);V.rowByCell[M.getAttribute("data-key")]=aI}}if(ai===0){V._table[0].style.tableLayout="auto"}V._renderAppointments(d,aN);if(V.pinnedtable[0].style.display!="none"||((aF=="dayView"||aF=="weekView")&&V.tableRows>1)){V._updateScrollbars(V.host.height())}if(aF==="monthView"&&G.monthRowAutoHeight){if(N.length==0){V._renderrows()}else{V._updateScrollbars(V.host.height())}}if(V.rendered){V.rendered()}V.renderedTime=new Date()},showAppointmentsByResource:function(f){var e=this;for(var d=0;d<e.uiappointments.length;d++){var g=e.uiappointments[d];if(g.resourceId==f){g.hidden=false;g.hiddenByResourceId=false;if(g.exceptions){for(var c=0;c<g.exceptions.length;c++){g.exceptions[c].hiddenByResourceId=false}}}}if(e._resourcesElements){var b=e.getColors(e._resources.indexOf(f));e._resourcesElements.top[f].attr("data-toggle","on");e._resourcesElements.top[f].css("background",b.background);e._resourcesElements.bottom[f].attr("data-toggle","on");e._resourcesElements.bottom[f].css("background",b.background)}if(e.hiddenResources){delete e.hiddenResources[f]}e._renderrows()},hideAppointmentsByResource:function(e){var d=this;for(var c=0;c<d.uiappointments.length;c++){var f=d.uiappointments[c];if(f.resourceId==e){f.hidden=true;f.hiddenByResourceId=true;if(f.exceptions){for(var b=0;b<f.exceptions.length;b++){f.exceptions[b].hiddenByResourceId=true;f.exceptions[b].hidden=true}}}}if(d._resourcesElements){d._resourcesElements.top[e].attr("data-toggle","off");d._resourcesElements.top[e].css("background","transparent");d._resourcesElements.bottom[e].attr("data-toggle","off");d._resourcesElements.bottom[e].css("background","transparent")}if(!d.hiddenResources){d.hiddenResources=new Array()}d.hiddenResources[e]=true;d._renderrows()},_prepareAppointmentsInView:function(g,f){var h=this;if(h._appupdating){return}var l=new Array();for(var s=0;s<this.uiappointments.length;s++){var n=this.uiappointments[s];if(n.hidden&&n.recurrencePattern==null){continue}var o=a.jqx.scheduler.utilities.rangeIntersection(n.from,n.to,g,f);if(o&&!n.recurrencePattern){l.push(n)}n.renderedAppointments=new Array();var v=false;if(n.recurrencePattern){var u=n.getOccurrences(g,f);var t=n.exceptions;for(var r=0;r<u.length;r++){var e=u[r];if(e.hidden){continue}var c=true;for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.occurrenceFrom:k;if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(w.clearTime())){h.selectedJQXAppointment=k;v=true}}if(w.clearTime().equals(e.from.clearTime())){c=false;break}}if(!c){continue}if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(e.occurrenceFrom.clearTime())){h.selectedJQXAppointment=e;v=true}}n.renderedAppointments[e.id]=e;l.push(e)}for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.from:k;var q=n.createOccurrence(w);if(k.occurrenceFrom){k.cloneAppointmentAttributes(q);if(k.hidden){continue}}if(q!=n){l.push(k);n.renderedAppointments[k.id]=k}}}}var b=new Array();this.tabKeyAppointments=new Array();for(var s=0;s<l.length;s++){var d=l[s];b.push(d);this.tabKeyAppointments.push(d)}b.sort(this._sortAppointmentsByFrom);if(this._resources.length>0){this.tabKeyAppointments.sort(function(j,i){return h._sortAppointmentsByResourceId(j,i,h)})}else{this.tabKeyAppointments.sort(this._sortAppointmentsByFrom)}this.appointmentsToRender=b},_renderDayWeekAppointments:function(){var N=this;var ab=N._views[N._view].type;var M=N._views[N._view];var A=new Array();var K=new Array();var Z=this.rows;var E=N.showAllDayRow;var ad=N.getMinutesPerScale();if(M.timeRuler&&M.timeRuler.showAllDayRow!=undefined){E=M.timeRuler.showAllDayRow}for(var f=0;f<this.appointmentsToRender.length;f++){var s=this.appointmentsToRender[f];var u=s.from;var ae=s.to;var V=a.jqx.scheduler.utilities.getEndOfDay(ae);var D=u.day();var e=s.allDay;var v=N._getDateByString;var G=new Array();var r=new Array();var p=s.resourceId;var h=N._resources.indexOf(p);if(N.resources&&N.resources.orientation=="none"){h=-1}var B=u.toDate().valueOf();var k=ae.toDate().valueOf();var Q=V.toDate().valueOf();var af=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};if(!s.allDay&&s.duration().days()<1||!E){var q=ae.toDate();var I=false;if(q.getHours()==0&&q.getMinutes()==0){I=true}for(var X=0;X<N.columnCells.length;X++){if(!N.columnCells[X]){continue}var w=N.columnCells[X];if(N.rtl){w=N.columnCells[N.columnCells.length-1-X]}for(var W=0;W<w.length;W++){if(w[W].getAttribute("data-end-date")){continue}var n=w[W].getAttribute("data-date");var Y=v(n);var F=v(n);F.setMinutes(F.getMinutes()+ad-1);var m=Y.valueOf();var H=F.valueOf();if(m>ae){continue}if((B<=m&&m<k)||(B<=H&&H<k)||(B>=m&&H>=k)){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(D!=Y.getDate()){G.sort(af);r.push(G);G=new Array();D=u.addDays(1).day()}G.push({cell:w[W],date:Y})}}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){continue}var c=N.cellWidth;var d=w[w.length-1].cell.offsetTop+N.cellHeight;var P=w[0].cell.offsetLeft;var O=w[0].cell.offsetTop;var S=N.getMinutesPerScale();var q=new a.jqx.date(w[w.length-1].date,N.timeZone).addMinutes(S);var ac={cells:w,x:P,y:O,height:d-O,width:c,appointment:s,from:new a.jqx.date(w[0].date,N.timeZone),to:q};C.push(ac);A.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}else{var w=Z[0].cells;if(this.tableRows>1){var U=Z.length/N.tableRows;var b=h*U;w=Z[b].cells}for(var W=0;W<w.length;W++){var n=w[W].getAttribute("data-date");var ag=v(n);var Y=new a.jqx.date(ag,N.timeZone);Y=a.jqx.scheduler.utilities.getEndOfDay(Y);var m=Y.toDate().valueOf();if(m>V){continue}if(u<=Y&&Y<=V){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(G.length==0){Y=a.jqx.scheduler.utilities.getStartOfDay(Y)}G.push({cell:w[W],date:Y})}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){break}var l=a(w[0].cell).position();var c=a(w[w.length-1].cell).position().left+this.cellWidth-l.left;var d=a(w[w.length-1].cell).position().top;var P=l.left;var O=l.top;if(this.rtl){var l=a(w[w.length-1].cell).position();var P=l.left;var c=a(w[0].cell).position().left+this.cellWidth-l.left}var T=w[w.length-1].date;T=new a.jqx.date(a.jqx.scheduler.utilities.getEndOfDay(T),N.timeZone);var ac={cells:w,x:P,y:O,height:d-O+this.cellHeight,width:c,appointment:s,from:a.jqx.scheduler.utilities.getStartOfDay(new a.jqx.date(w[0].date,N.timeZone)),to:T};C.push(ac);K.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}}var z=this.getViewStart();var R=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;aa[J].push(t)}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}this._renderAllDayAppointments(K)}else{for(var W=0;W<this._resources.length;W++){var L=this._resources[W];var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;if(t.appointment.resourceId==L){aa[J].push(t)}}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}var o=new Array();for(var X=0;X<K.length;X++){if(K[X].appointment.resourceId==L){o.push(K[X])}}this._renderAllDayAppointments(o)}}},_renderAllDayAppointments:function(ar){var ac=this;var I=this.showAllDayRow;var ab=this._views[this._view];if(ab.timeRuler&&ab.timeRuler.showAllDayRow!=undefined){I=ab.timeRuler.showAllDayRow}if(!I){return}if(ar.length==0){return}var B=ar;var H=1;H=this.getMaxAllDayAppointments(ar);if(this.tableRows==1){var A=this.table[0].rows[0].clientHeight/H}else{var A=this.table[0].rows[1].clientHeight/H}for(var ap=0;ap<ar.length;ap++){var z=ar[ap];z.row=-1;var d=this.getCollisionAppointments(z,ar);d.sort(this._sortAppointmentsByFrom);var s=d.indexOf(z);if(s>=0){for(var aj=s;aj<d.length;aj++){d[aj].row=-1}}for(var am=0;am<H;am++){var n=am;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(n,d)){Y.row=n;var an=H;var c=this.getMaxAllDayAppointments(d);if(an>c){an=c}Y.rowsCount=an}}}}for(var am=0;am<B.length;am++){var z=B[am];var d=this.getCollisionAppointments(z,B);d.sort(this._sortAppointmentsByFrom);var l=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];l=Math.max(l,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=l}if(d.length==1){z.rowSpan=l}else{var F=0;var f=true;for(var aj=z.row;aj<l;aj++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==z){continue}if(Y.row==aj){f=false}}if(!f){break}F++}z.rowSpan=F}}var aq=ac.appointmentsMinHeight+2;if(ac.isTouchDevice()){var aq=ac.touchAppointmentsMinHeight+2}for(var ae=0;ae<B.length;ae++){var ad=aq;var z=B[ae];z.height=aq;var D=ad*z.row;z.y=18+z.y+D+(4*z.row);z.x+=3;z.width-=8;if(z.appointment.from.hour()!=0||z.appointment.to.hour()!=23){var C=this.getViewStart();var ag=this.getViewEnd();if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30);if(z.appointment.from<C){K=0}z.timewidth=z.width;z.timex=K;var L=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);if(z.appointment.to>ag){L=0}z.timewidth-=K;if(L>0){z.timewidth-=ac.cellWidth;z.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){z.width=z.timewidth;z.x+=K}}else{var K=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);var L=(parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30));if(K>0){K=ac.cellWidth-K}if(z.appointment.from<C){L=0}if(z.appointment.to>ag){K=0}if(ab.appointmentsRenderMode=="exactTime"){z.x+=K;z.width-=K;z.width-=L}if(z.appointment.duration().days()<1){if(z.width<15){z.width=15}}z.timewidth=z.width;if(ab.appointmentsRenderMode=="exactTimeStatus"){z.timewidth-=K;z.timewidth-=L}z.timex=K}}}for(var ae=0;ae<B.length;ae++){var ak=B[ae];var N="";var P="auto";var ab=this._views[this._view];var o=ak.appointment.from;var av=ak.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var af=P;if(P==="auto"){if((o.hour()==0&&o.minute()==0)||(o.hour()==12&&o.minute()==0)){var af="hh tt"}else{var af="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var y="hh tt"}else{var y="hh:mm"}}var u=o.toString(af);var v=av.toString(y);var J=ak.appointment.duration();var e=ak.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=ak.appointment.background;var T=ak.appointment.subject?ak.appointment.subject:"(No Title)";var M=ak.appointment.color;var i=ak.appointment.resourceId;var ah=ac.getColors(ac._resources.indexOf(i));var ai=" data-resourceId='"+i+"' ";var X=ak.appointment.borderColor;var t=ak.appointment.location;if(t.length>0){t=", "+t}if(!aa){aa=ah.background}if(!X){X=ah.border}if(!M){M=ah.color}var b=ak.appointment.isRecurrentAppointment();var r=ak.appointment.isException();var g=u+"-"+v;if(e){u="";v=""}var ao="";var w=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[ak.appointment.status];var k=false;if(R){if(R=="transparent"){k=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+w+"'></div>"}k=true}}var E=ac.toTP("jqx-scheduler-appointment-duration-status");var al="<div style='width: "+ak.timewidth+"px; left: "+ak.timex+"px;' class='"+E+"'></div>";if(e){al=""}var G="";if(ab.appointmentsRenderMode!="exactTimeStatus"){al=""}if(ac.rtl){var w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+w+"'></div>"}G=S;S=""}var W="";var Q=T+t;if(!e){Q=T+t+al}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:ak.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:ak.width,height:ak.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ah=ac.getAppointmentColors(au.style);aa=ah.background;X=ah.border;M=ah.color}}}if(ao===""){if(k){var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+G+"</div>"}else{var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(r){var h=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+h+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var q=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+q+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);if(this.tableRows==1){V.appendTo(this.pinnedtable)}else{V.appendTo(this.table)}ak.element=V;if(this.appointmentTooltips){if(!ak.appointment.tooltip){var Z=ak.appointment.subject;if(u){Z=u+" - "+v+" "+Z}if(Z){var t=ak.appointment.location;if(t){Z+="\n"+t}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",ak.appointment.tooltip)}}}},_renderAppointmentsInDay:function(an,am){if(an.length==0){return}var Z=this;var Y=this._views[this._view];var B=an;var C=this.getViewStart();var ac=this.getViewEnd();var ai=1;var o=0;if(Y.timeRuler){o=this.columns.records[1].width;if(Y.timeRuler.timeZones){o=this.columns.records[1+Y.timeRuler.timeZones.length].width}}else{o=this.columns.records[1].width}ai=this.getMaxColumnsInADay(an);var n=o/ai;if(n<0){return}for(var al=0;al<an.length;al++){var A=an[al];A.column=-1;var d=this.getCollisionAppointments(A,an);d.sort(this._sortAppointmentsByFrom);var t=d.indexOf(A);if(t>=0){for(var ag=t;ag<d.length;ag++){d[ag].column=-1}}for(var aj=0;aj<ai;aj++){var e=aj;for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==-1&&!this.isBusyColumn(e,d)){V.column=e;var g=ai;var c=this.getMaxColumnsInADay(d);if(g>c){g=c}V.columnsCount=g}}}}for(var aj=0;aj<B.length;aj++){var A=B[aj];var d=this.getCollisionAppointments(A,B);d.sort(this._sortAppointmentsByFrom);var H=1;for(var R in d){if(R=="indexOf"){break}var L=d[R];if(L.columnsCount==undefined){continue}H=Math.max(H,L.columnsCount)}for(var R in d){if(R=="indexOf"){break}var L=d[R];L.columnsCount=H}if(d.length==1){A.columnSpan=H}else{var D=0;var f=true;for(var ag=A.column;ag<H;ag++){for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==undefined){continue}if(V==A){continue}if(V.column==ag){f=false}}if(!f){break}D++}A.columnSpan=D}}for(var aa=0;aa<B.length;aa++){var E=o/B[aa].columnsCount;var A=B[aa];A.width=-5+(E*A.columnSpan);var ap=E*A.column;A.x=2+A.x+ap;A.height-=5;A.y+=1;if(Y.appointmentsRenderMode=="exactTime"){var ae=Z.getMinutesPerScale();if(A.appointment.from.minute()%ae!=0){var at=A.appointment.from.minute()%ae;var J=parseFloat(Z.cellHeight/ae)*at}else{var J=0}if(A.appointment.to.minute()%ae!=0){var at=A.appointment.to.minute()%ae;var G=Z.cellHeight-parseFloat(Z.cellHeight/ae)*at;if(A.to.day()!==A.appointment.to.day()){G=0}}else{G=0}A.y+=J;A.height-=J;A.height-=G}}for(var aa=0;aa<B.length;aa++){var ah=B[aa];var K="";var M="auto";var Y=this._views[this._view];var q=ah.appointment.from;var ar=ah.appointment.to;if(Y.timeRuler&&Y.timeRuler.formatString){M=Y.timeRuler.formatString}var ab=M;if(M==="auto"){if((q.hour()==0&&q.minute()==0)||(q.hour()==12&&q.minute()==0)){var ab="hh tt"}else{var ab="hh:mm"}if((ar.hour()==0&&ar.minute()==0)||(ar.hour()==12&&ar.minute()==0)){var z="hh tt"}else{var z="hh:mm"}}var v=q.toString(ab);var w=ar.toString(z);var X=ah.appointment.background;var Q=ah.appointment.subject?ah.appointment.subject:"(No Title)";var u=ah.appointment.location?ah.appointment.location:"";var I=ah.appointment.color;var k=ah.appointment.resourceId;var ad=Z.getColors(Z._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var U=ah.appointment.borderColor;if(!X){X=ad.background}if(!U){U=ad.border}if(!I){I=ad.color}var b=ah.appointment.isRecurrentAppointment();var s=ah.appointment.isException();var ak="";var y=Z.toTP("jqx-scheduler-appointment-status");var P="";var O=Z.statuses[ah.appointment.status];var l=false;if(O){if(O=="transparent"){l=false}else{P="<div style='background: "+O+"; border-right-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-right-color: "+U+"' class='"+y+"'></div>"}l=true}}var F="";if(Z.rtl){var y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");P="<div style='background: "+O+"; border-left-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-left-color: "+U+"' class='"+y+"'></div>"}F=P;P=""}var T="";var N=Q+"<br/>"+u;if(!u){var N=Q}if(Z.renderAppointment){var aq=Z.renderAppointment({appointment:ah.appointment.boundAppointment,textColor:I,background:X,borderColor:U,html:N,cssClass:"",style:"",width:ah.width,height:ah.height,view:Z._views[Z._view].type});if(aq){var K=aq.html;if(K!=N){N=K}I=aq.textColor;X=aq.background;U=aq.borderColor;if(aq.cssClass){T=aq.cssClass+" "}if(aq.style!=""){var ad=Z.getAppointmentColors(aq.style);X=ad.background;U=ad.border;I=ad.color}}}if(ak===""){if(l){var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'>"+P+"<div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div>"+F+"</div>"}else{var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div></div>"}}var ao="";if(Z.rtl){ao=Z.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var h=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-exception-white"):Z.toTP("jqx-icon-recurrence-exception");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+h+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{if(b){var r=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-white"):Z.toTP("jqx-icon-recurrence");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+r+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}}var S=a(K);S.appendTo(this.table);ah.element=S;if(this.appointmentTooltips){if(!ah.appointment.tooltip){var W=ah.appointment.subject;if(W){var u=ah.appointment.location;if(u){W+="\n"+u}S[0].setAttribute("title",W)}}else{S[0].setAttribute("title",ah.appointment.tooltip)}}}},getCollisionAppointments:function(b,f){var j=new Array();var g=b.from;var h=b.to;for(var d=0;d<f.length;d++){var k=f[d];var e=k.from;var c=k.to;if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},getAllDayCollisionAppointments:function(b,f){var j=new Array();var g=a.jqx.scheduler.utilities.getStartOfDay(b.from);var h=a.jqx.scheduler.utilities.getEndOfDay(b.to);for(var d=0;d<f.length;d++){var k=f[d];var e=a.jqx.scheduler.utilities.getStartOfDay(k.from);var c=a.jqx.scheduler.utilities.getEndOfDay(k.to);if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},_renderAppointments:function(e,c){var d=this;if(d._appupdating){return}d.table.find(".jqx-scheduler-appointment").remove();d.pinnedtable.find(".jqx-scheduler-appointment").remove();var b=d._views[d._view].type;if(b==="dayView"||b==="weekView"){d._renderDayWeekAppointments(e,c)}else{if(b==="monthView"){d._renderMonthAppointments(e,c)}else{if(b==="timelineWeekView"||b==="timelineDayView"||b==="timelineMonthView"){d._renderTimelineAppointments(e,c)}}}if(d.selectedJQXAppointment){d._selectAppointment(d.selectedJQXAppointment)}},_renderTimelineAppointments:function(t,I){var E=this;var Q=E._views[E._view].type;var D=E._views[E._view];var u=new Array();var P=this.rows;var L=this.cellHeight;var K=this.cellWidth;var J=E.getMinutesPerScale();for(var d=0;d<this.appointmentsToRender.length;d++){var o=this.appointmentsToRender[d];var p=o.from;var S=o.to;var r=E._getDateByString;var A=new Array();var v=p.toDate().valueOf();var g=S.toDate().valueOf();if(Q==="timelineMonthView"){v=p.clearTime().toDate().valueOf()}var T=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var q=E.rows[0];var m=o.resourceId;var f=E._resources.indexOf(m);if(E._resources.length>0){if(E.resources.orientation!=="horizontal"){if(f>=1){q=E.rows[f]}}}if(E.resources&&E.resources.orientation=="none"){f=-1;var q=E.rows[0]}var s=q.cells;for(var M=0;M<s.length;M++){var k=s[M].getAttribute("data-date");s[M].appointments=new Array();var O=r(k);var h=O.valueOf();var z=r(k);z.setMinutes(z.getMinutes()+J-1);var B=z.valueOf();if(h>S){continue}if((v<=h&&h<g)||(v<=B&&B<g)||(v>=h&&v<=B&&g<=B)){if(f!=-1){if((1+f)!=s[M].getAttribute("data-view")){continue}}A.push({cell:s[M],date:O});q=N}}A.sort(T);var w=new Array();var s=A;if(s.length==0){continue}var l=E.appointmentsMinHeight;if(E.isTouchDevice()){l=E.touchAppointmentsMinHeight}if(D.appointmentHeight){l=D.appointmentHeight}var H=a(s[0].cell).position();var c=l;var b=a(s[s.length-1].cell).position().left-H.left+K;var G=H.left;var F=H.top;if(E.rtl){var H=a(s[s.length-1].cell).position();var b=a(s[0].cell).position().left-H.left+K;var G=H.left;var F=H.top}var n=new a.jqx.date(s[s.length-1].date,E.timeZone).addMinutes(J);if(Q==="timelineMonthView"){var n=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(s[s.length-1].date,E.timeZone))}var R={cellX:G,cellY:F,cellHeight:L,cells:s,x:G,y:F,height:c,width:b,appointment:o,from:new a.jqx.date(s[0].date,E.timeZone),to:n};if(D.appointmentsRenderMode==="exactTime"){R.from=o.from;R.to=o.to}w.push(R);u.push(R);o.elements=w;if(o.rootAppointment){o.rootAppointment.elements=o.rootAppointment.elements.concat(o.elements)}}if(this._resources.length<2||this.resources.orientation=="none"){this._renderUITimelineAppointments(u,t,I)}else{for(var M=0;M<this._resources.length;M++){var C=this._resources[M];var e=new Array();for(var N=0;N<u.length;N++){if(u[N].appointment.resourceId==C){e.push(u[N])}}this._renderUITimelineAppointments(e,t,I)}}},_renderUITimelineAppointments:function(ao,w,ac){var Y=this;var ap=Y._views[Y._view].type;var X=Y._views[Y._view];var E=ao;var C=1;var Y=this;var T=new Array();C=Y.getMaxTimelineAppointments(ao,T,w,ac);var h=Y.appointmentsMinHeight;if(Y.isTouchDevice()){h=Y.touchAppointmentsMinHeight}if(X.appointmentHeight){h=X.appointmentHeight}for(var an=0;an<ao.length;an++){var g=ao[an];g.row=-1;var d=Y.getCollisionAppointments(g,ao);d.sort(Y._sortAppointmentsByFrom);var t=d.indexOf(g);if(t>=0){for(var aj=t;aj<d.length;aj++){d[aj].row=-1}}for(var ak=0;ak<C;ak++){var o=ak;for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U.row==-1&&!Y.isBusyRow(o,d)){U.row=o;var al=C;var c=Y.getMaxTimelineAppointments(d,T,w,ac);if(al>c){al=c}U.rowsCount=al}}}}for(var ak=0;ak<E.length;ak++){var g=E[ak];var d=Y.getCollisionAppointments(g,E);d.sort(Y._sortAppointmentsByFrom);var n=1;for(var P in d){if(P=="indexOf"){break}var K=d[P];n=Math.max(n,K.rowsCount)}for(var P in d){if(P=="indexOf"){break}var K=d[P];K.rowsCount=n}if(d.length==1){g.rowSpan=n}else{var z=0;var f=true;for(var aj=g.row;aj<n;aj++){for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U==g){continue}if(U.row==aj){f=false}}if(!f){break}z++}g.rowSpan=z}}for(var aa=0;aa<E.length;aa++){var Z=h;var g=E[aa];g.height=Z;var y=2+(3+Z)*g.row;g.y=g.y+y;g.x+=1;g.width-=5;var e=Y._views[Y._view].type;var X=Y._views[Y._view];if(e=="timelineMonthView"&&X.appointmentsRenderMode){if((g.appointment.from.hour()!=0||g.appointment.to.hour()!=23)){if(!Y.rtl){var F=parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30);var G=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);g.timewidth=g.width;g.timex=F;g.timewidth-=F;g.timewidth-=Y.cellWidth;g.timewidth+=G;if(X.appointmentsRenderMode=="exactTime"){g.width=g.timewidth;if(Y.date.month()===g.appointment.from.month()){g.x+=F}else{g.width=F+g.timewidth}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15;if(F+15>Y.cellWidth){var D=Y.cellWidth-F-15;g.x+=D}}}}}else{var F=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);var G=(parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30));if(F>0){F=Y.cellWidth-F}if(X.appointmentsRenderMode=="exactTime"){g.x+=F;g.width-=F;g.width-=G}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15}}g.timewidth=g.width;g.timex=F}}}else{if(X.appointmentsRenderMode){if(X.appointmentsRenderMode=="exactTime"){var ae=Y.getMinutesPerScale();if(g.appointment.from.minute()%ae!=0){var au=g.appointment.from.minute()%ae;var F=parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var F=parseFloat(Y.cellWidth/ae)*au}}else{var F=0}if(g.appointment.to.minute()%ae!=0){var au=g.appointment.to.minute()%ae;var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au}}else{G=0}if(!Y.rtl){g.x+=F;g.width-=F;g.width-=G}else{g.x+=G;g.width-=F;g.width-=G}}}}}var ah="";for(var aa=0;aa<E.length;aa++){var ai=E[aa];var I="";var J="auto";var X=Y._views[Y._view];var q=ai.appointment.from;var at=ai.appointment.to;if(X.timeRuler&&X.timeRuler.formatString){J=X.timeRuler.formatString}var W=ai.appointment.background;var O=ai.appointment.subject?ai.appointment.subject:"(No Title)";var u=ai.appointment.location;if(u&&u.length>1){u=", "+u}var H=ai.appointment.color;var k=ai.appointment.resourceId;var ad=Y.getColors(Y._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var S=ai.appointment.borderColor;if(!W){W=ad.background}if(!S){S=ad.border}if(!H){H=ad.color}var b=ai.appointment.isRecurrentAppointment();var s=ai.appointment.isException();var am="";var v=Y.toTP("jqx-scheduler-appointment-status");var N="";var M=Y.statuses[ai.appointment.status];var l=false;if(M){if(M=="transparent"){l=false}else{N="<div style='background: "+M+"; border-right-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-right-color: "+S+"' class='"+v+"'></div>"}l=true}}var A="";if(Y.rtl){var v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");N="<div style='background: "+M+"; border-left-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-left-color: "+S+"' class='"+v+"'></div>"}A=N;N=""}var R="";var L=O+"<br/>"+u;if(Y.renderAppointment){var ar=Y.renderAppointment({appointment:ai.appointment.boundAppointment,textColor:H,background:W,borderColor:S,html:L,cssClass:"",style:"",width:ai.width,height:ai.height,view:Y._views[Y._view].type});if(ar){var I=ar.html;if(I!=L){L=I}H=ar.textColor;W=ar.background;S=ar.borderColor;if(ar.cssClass){R=ar.cssClass+" "}if(ar.style!=""){var ad=Y.getAppointmentColors(ar.style);W=ad.background;S=ad.border;H=ad.color}}}if(am===""){if(l){var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'>"+N+"<div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div>"+A+"</div>"}else{var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div></div>"}}var aq="";if(Y.rtl){aq=Y.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var i=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-exception-white"):Y.toTP("jqx-icon-recurrence-exception");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+i+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var r=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-white"):Y.toTP("jqx-icon-recurrence");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+r+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}ah=I;var Q=a(I);Q.appendTo(this.table);ai.element=Q;if(this.appointmentTooltips){if(!ai.appointment.tooltip){var V=ai.appointment.subject;if(V){var u=ai.appointment.location;if(u){V+="\n"+u}Q[0].setAttribute("title",V)}}else{Q[0].setAttribute("title",ai.appointment.tooltip)}}}var ag=Y.table.find(".jqx-scheduler-appointment");var B=function(m){for(var j=0;j<ag.length;j++){var p=ag[j].getAttribute("data-key");if(p==m){return ag[j]}}};for(var aa=0;aa<E.length;aa++){var ai=E[aa];var ab=false;var Q=a(B(ai.appointment.id));a.each(ai.cells,function(p){var m=a(this.cell);var aw=ai.cellY;var av=ai.cellX;var j=ai.cellHeight;if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:Q,appointment:ai});Q=Q;if(ai.y+ai.height>=aw+j-12){Q[0].style.visibility="hidden";var x=m.find(".jqx-icon-arrow-down");if(x.length>0){x[0].style.display="block";x[0].mousedown=function(){if(Y.openedMonthCellPopup){Y.openedMonthCellPopup.remove()}var ax=a("<div></div>");var aA=new a.jqx.date(m.attr("data-date"),Y.timeZone);var aD=a("<div class='"+Y.toTP("jqx-scheduler-month-cell")+"'><span style='float: right; cursor: pointer; width:16px; height: 16px;' class='"+Y.toTP("jqx-icon-close")+"'></span></div>");aD.height(16);aD.find("span")[0].mousedown=function(){ax.remove()};aD.addClass(Y.toTP("jqx-widget-header"));ax.addClass(Y.toTP("jqx-widget"));ax.addClass(Y.toTP("jqx-window"));ax.addClass(Y.toTP("jqx-scheduler-month-cell-popup"));ax.addClass(Y.toTP("jqx-popup"));var aE=a("<div></div>");ax.append(aD);ax.append(aE);aE.addClass(Y.toTP("jqx-widget-content"));var ay=m.width();var aG=21;for(var aB=0;aB<m[0].appointments.length;aB++){var az=m[0].appointments[aB].ui.clone(true);az.css("left","3px");az.css("top","0px");az.css("margin-top","2px");az.css("position","relative");az.css("visibility","visible");az.width(ay-6);az.click(function(aH){var aI=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aH.target));Y._raiseEvent("appointmentClick",{appointment:aI.boundAppointment})});az.dblclick(function(aI){var aJ=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aI.target));if(!aJ.readOnly&&!Y.editRecurrenceDialog.jqxWindow("isOpen")&&(!Y._editDialog||(Y._editDialog&&!Y._editDialog.jqxWindow("isOpen")))){var aH=Y._initDialog(aJ);if(aH!==false){Y._openDialog()}}Y._raiseEvent("appointmentDoubleClick",{appointment:aJ.boundAppointment})});aG+=az.outerHeight()+4;aE.append(az)}ax.css("overflow","hidden");ax.css("position","absolute");var aF=Y.table.height()-aw-25;if(aF<j){aF=j}ax.css("max-height",aF);ax.height(aG);ax.width(ay);ax.css("z-index","9999");var aC=m.position();ax.css("top",aC.top);ax.css("left",aC.left);Y.table.append(ax);Y.openedMonthCellPopup=ax}}}})}},_renderMonthAppointments:function(){var K=this;var U=K._views[K._view].type;var J=K._views[K._view];var A=new Array();var S=this.rows;var O=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){O=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}for(var e=0;e<this.appointmentsToRender.length;e++){var r=this.appointmentsToRender[e];var t=a.jqx.scheduler.utilities.getStartOfDay(r.from);var W=a.jqx.scheduler.utilities.getEndOfDay(r.to);var c=r.allDay;var v=K._getDateByString;var F=new Array();var q=new Array();var B=t.toDate().valueOf();var k=W.toDate().valueOf();var X=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var u=-1;var o=r.resourceId;var h=K._resources.indexOf(o);if(K.resources&&K.resources.orientation=="none"){h=-1}for(var Q=0;Q<K.rows.length;Q++){var w=K.rows[Q].cells;for(var P=0;P<w.length;P++){var m=w[P].getAttribute("data-date");var R=v(m);var l=R.valueOf();if(l>W){continue}w[P].appointments=new Array();if(h!=-1){if((1+h)!=w[P].getAttribute("data-view")){continue}}if(B<=l&&l<k){if(u!=Q&&u!=-1){F.sort(X);q.push(F);F=new Array()}F.push({cell:w[P],date:R});u=Q}}}F.sort(X);q.push(F);var C=new Array();for(var Q=0;Q<q.length;Q++){var w=q[Q];if(w.length==0){break}var n=K.appointmentsMinHeight;if(K.isTouchDevice()){n=K.touchAppointmentsMinHeight}if(J.appointmentHeight){n=J.appointmentHeight}var d=n;var E=a(w[w.length-1].cell).position().left;var b=E-a(w[0].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[0].cell).position().left+K.columns.records[1].width}var G=a(w[0].cell).position();var M=G.left;var L=G.top+O;var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[w.length-1].date,K.timeZone));var D=new a.jqx.date(w[0].date,K.timeZone);if(K.rtl){var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[0].date,K.timeZone));var D=new a.jqx.date(w[w.length-1].date,K.timeZone);var G=a(w[w.length-1].cell).position();var M=G.left;var L=G.top+O;var E=a(w[0].cell).position().left;var b=E-a(w[w.length-1].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[w.length-1].cell).position().left+K.columns.records[1].width}}var V={cells:w,cellY:parseInt(G.top),cellX:parseInt(G.left),lastCellY:parseInt(G.top),lastCellX:E,x:M,y:L,height:d,width:b,appointment:r,from:D,to:p};C.push(V);A.push(V)}r.elements=C;if(r.rootAppointment){r.rootAppointment.elements=r.rootAppointment.elements.concat(r.elements)}}var z=this.getViewStart();var N=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;T[H].push(s)}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}else{for(var P=0;P<this._resources.length;P++){var I=this._resources[P];var g=new Array();var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;if(s.appointment.resourceId==I){T[H].push(s)}}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}}},_getMonthAppointmentsPerWeek:function(){var M=this;var W=M._views[M._view].type;var L=M._views[M._view];var C=new Array();var U=this.rows;var Q=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){Q=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}if(!M.rows){return new Array()}var B=this.getViewStart();var P=this.getViewEnd();for(var e=0;e<this.appointmentsToRender.length;e++){var s=this.appointmentsToRender[e];var u=a.jqx.scheduler.utilities.getStartOfDay(s.from);var Y=a.jqx.scheduler.utilities.getEndOfDay(s.to);var c=s.allDay;var z=M._getDateByString;var H=new Array();var r=new Array();var D=u.toDate().valueOf();var l=Y.toDate().valueOf();var Z=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var v=-1;var p=s.resourceId;var k=M._resources.indexOf(p);if(M.resources&&M.resources.orientation=="none"){k=-1}for(var S=0;S<M.rows.length;S++){var A=M.rows[S].cells;for(var R=0;R<A.length;R++){var n=A[R].getAttribute("data-date");var T=B.addDays(S*7+R).toDate();var m=T.valueOf();if(m>Y){continue}if(k!=-1){if((1+k)!=A[R].getAttribute("data-view")){continue}}if(D<=m&&m<l){if(v!=S&&v!=-1){H.sort(Z);r.push(H);H=new Array()}H.push({cell:A[R],date:T});v=S}}}H.sort(Z);r.push(H);var E=new Array();for(var S=0;S<r.length;S++){var A=r[S];if(A.length==0){break}var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}var d=o;var G=a(A[A.length-1].cell).position().left;var b=G-a(A[0].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[0].cell).position().left+M.columns.records[1].width}var I=a(A[0].cell).position();var O=I.left;var N=I.top+Q;var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[A.length-1].date,M.timeZone));var F=new a.jqx.date(A[0].date,M.timeZone);if(M.rtl){var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[0].date,M.timeZone));var F=new a.jqx.date(A[A.length-1].date,M.timeZone);var I=a(A[A.length-1].cell).position();var O=I.left;var N=I.top+Q;var G=a(A[0].cell).position().left;var b=G-a(A[A.length-1].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[A.length-1].cell).position().left+M.columns.records[1].width}}var X={cells:A,cellY:parseInt(I.top),cellX:parseInt(I.left),lastCellY:parseInt(I.top),lastCellX:G,x:O,y:N,height:d,width:b,appointment:s,from:F,to:q};E.push(X);C.push(X)}}if(this._resources.length<2||this.resources.orientation=="none"){var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;V[J].push(t)}}J++;g=g.addDays(7)}var f=new Array();for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}f.push((w*(o+3))+22)}else{f.push("auto")}}return f}else{var f=new Array();for(var R=0;R<this._resources.length;R++){var K=this._resources[R];var h=new Array();var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;if(t.appointment.resourceId==K){V[J].push(t)}}}J++;g=g.addDays(7)}for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);f.push((w*(o+3))+22)}else{f.push("auto")}}return f}}},_renderUIMonthAppointments:function(ar){var ab=this._views[this._view];var I=ar;var B=this.getViewStart();var ah=this.getViewEnd();var G=1;var ac=this;G=this.getMaxMonthAppointments(ar);var i=ac.appointmentsMinHeight;if(ac.isTouchDevice()){i=ac.touchAppointmentsMinHeight}if(ab.appointmentHeight){i=ab.appointmentHeight}var f=this._sortAppointmentsByFrom;if(this.rtl){f=this._sortAppointmentsByTo}for(var aq=0;aq<ar.length;aq++){var h=ar[aq];h.row=-1;var d=this.getCollisionAppointments(h,ar);d.sort(f);var u=d.indexOf(h);if(u>=0){for(var ak=u;ak<d.length;ak++){d[ak].row=-1}}for(var an=0;an<G;an++){var q=an;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(q,d)){Y.row=q;var ao=G;var c=this.getMaxMonthAppointments(d);if(ao>c){ao=c}Y.rowsCount=ao}}}}for(var an=0;an<I.length;an++){var h=I[an];var d=this.getCollisionAppointments(h,I);d.sort(f);var o=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];o=Math.max(o,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=o}if(d.length==1){h.rowSpan=o}else{var E=0;var g=true;for(var ak=h.row;ak<o;ak++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==h){continue}if(Y.row==ak){g=false}}if(!g){break}E++}h.rowSpan=E}}for(var ae=0;ae<I.length;ae++){var ad=i;var h=I[ae];h.height=ad;var C=2+(3+ad)*h.row;h.y=h.y+C;h.x+=1;h.width-=5;if(h.appointment.from.hour()!=0||h.appointment.to.hour()!=23){if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);h.timewidth=h.width;if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.timex=K}else{K=0}if(h.appointment.elements.length>1){if(h.appointment.elements[0]!=h){K=0}}var L=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);if(h.appointment.elements.length>1){if(h.appointment.elements[h.appointment.elements.length-1]!=h){L=0}}h.timewidth-=K;if(L>0){h.timewidth-=ac.cellWidth;h.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.x+=K}h.width=h.timewidth;if(h.appointment.duration().days()<1){if(h.width<15){h.width=15;if(K+15>ac.cellWidth){var H=ac.cellWidth-K-15;h.x+=H}}}}}else{var K=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);var L=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);if(h.appointment.elements.length>1){if(h==h.appointment.elements[0]){if(L>0){if(ab.appointmentsRenderMode=="exactTime"){h.width-=(ac.cellWidth-K);h.width-=L}else{h.timewidth=h.width-ac.cellWidth+K-L}}else{h.timewidth=h.width;h.timex=0}}else{if(h==h.appointment.elements[h.appointment.elements.length-1]){if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width+=K;h.width-=ac.cellWidth}h.timewidth=h.width-ac.cellWidth+K;h.timex=ac.cellWidth-K}}}else{if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width-=(ac.cellWidth-K);h.width-=L}if(h.appointment.duration().days()<1){if(h.width<15){h.width=15}}h.timewidth=h.width-ac.cellWidth+K-L;h.timex=ac.cellWidth-K}}}}for(var ae=0;ae<I.length;ae++){var al=I[ae];var N="";var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var ag=P;var A=P;if(P==="auto"){if((r.hour()==0&&r.minute()==0)||(r.hour()==12&&r.minute()==0)){var ag="hh tt"}else{var ag="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var A="hh tt"}else{var A="hh:mm"}}var w=r.toString(ag);var y=av.toString(A);var J=al.appointment.duration();var e=al.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=al.appointment.background;var T=al.appointment.subject?al.appointment.subject:"(No Title)";var M=al.appointment.color;var l=al.appointment.resourceId;var ai=ac.getColors(ac._resources.indexOf(l));var aj=" data-resourceId='"+l+"' ";var X=al.appointment.borderColor;var v=al.appointment.location;if(v&&v.length>1){v=", "+v}if(!aa){aa=ai.background}if(!X){X=ai.border}if(!M){M=ai.color}var b=al.appointment.isRecurrentAppointment();var t=al.appointment.isException();var ap="";var z=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[al.appointment.status];var n=false;if(R){if(R=="transparent"){n=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+z+"'></div>"}n=true}}var D=ac.toTP("jqx-scheduler-appointment-duration-status");var am="<div style='width: "+al.timewidth+"px; left: "+al.timex+"px;' class='"+D+"'></div>";if(e){am=""}if(ab.appointmentsRenderMode!="exactTimeStatus"){am=""}var F="";if(ac.rtl){var z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+z+"'></div>"}F=S;S=""}var W="";var Q=T+v;if(!e){Q=T+v+am}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:al.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:al.width,height:al.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ai=ac.getAppointmentColors(au.style);aa=ai.background;X=ai.border;M=ai.color}}}if(ap===""){if(n){var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+F+"</div>"}else{var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(t){var k=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+k+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var s=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+s+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);V.appendTo(this.table);al.element=V;if(this.appointmentTooltips){if(!al.appointment.tooltip){var Z=al.appointment.subject;if(w&&!e){Z=w+" - "+y+" "+Z}if(Z){var v=al.appointment.location;if(v){Z+="\n"+v}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",al.appointment.tooltip)}}var af=false;a.each(al.cells,function(){var m=a(this.cell);var j=m.position();if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:V,appointment:al});if(al.y+al.height+2>=j.top+m.height()){V.css("visibility","hidden");var p=m.find(".jqx-icon-arrow-down");p.show();if(p[0]){p[0].mousedown=function(){if(ac.openedMonthCellPopup){ac.openedMonthCellPopup.remove()}var aw=a("<div></div>");var aB=m.find("div").clone(true);aB.find("span").removeClass().addClass(ac.toTP("jqx-icon-close"));aB.find("span")[0].mousedown=function(){aw.remove()};aB.addClass(ac.toTP("jqx-widget-header"));aw.addClass(ac.toTP("jqx-widget"));aw.addClass(ac.toTP("jqx-window"));aw.addClass(ac.toTP("jqx-scheduler-month-cell-popup"));aw.addClass(ac.toTP("jqx-popup"));var az=a("<div></div>");aw.append(aB);aw.append(az);az.addClass(ac.toTP("jqx-widget-content jqx-disableselect"));var ay=m.width();var x=5+m.find("div").outerHeight();for(var ax=0;ax<m[0].appointments.length;ax++){var aA=m[0].appointments[ax].ui.clone(true);aA.css("left","3px");aA.css("top","0px");aA.css("margin-top","2px");aA.css("position","relative");aA.css("visibility","visible");aA.width(ay-6);x+=aA.outerHeight()+4;az.append(aA);aA.click(function(aC){var aD=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aC.target));ac._raiseEvent("appointmentClick",{appointment:aD.boundAppointment})});aA.dblclick(function(aD){var aE=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aD.target));if(!aE.readOnly&&!ac.editRecurrenceDialog.jqxWindow("isOpen")&&(!ac._editDialog||(ac._editDialog&&!ac._editDialog.jqxWindow("isOpen")))){var aC=ac._initDialog(aE);if(aC!==false){ac._openDialog()}}ac._raiseEvent("appointmentDoubleClick",{appointment:aE.boundAppointment})})}aw.css("overflow","hidden");aw.css("position","absolute");aw.height(x);aw.width(ay);aw.css("z-index","9999");aw.css("top",j.top);aw.css("left",j.left);ac.table.append(aw);ac.openedMonthCellPopup=aw}}}})}},_sortByDate:function(b,e){var d=b.getAttribute("data-date");d=this._getDateByString(d);var c=e.getAttribute("data-date");c=this._getDateByString(c);if(d<c){return -1}if(d>c){return 1}if(d==c){return 0}},_sortAppointmentsByFrom:function(b,f){if(b.from.equals(f.from)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.from<f.from){return -1}if(b.from>f.from){return 1}if(b.from==f.from){return 0}},_sortAppointmentsByTo:function(b,f){if(b.to.equals(f.to)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.to<f.to){return -1}if(b.to>f.to){return 1}if(b.to==f.to){return 0}},_sortAppointmentsByResourceId:function(b,f,e){var d=e._resources.indexOf(b.resourceId);var c=e._resources.indexOf(f.resourceId);if(d==c){return 0}if(d<c){return -1}if(d>c){return -1}},isBusyRow:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.row==e){return true}}return false},isBusyColumn:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.column==e){return true}}return false},getMaxTimelineAppointments:function(c,s,f,e){if(c.length==0){return 1}var i=this;var t=i._views[i._view].type;var j=i._views[i._view];var k=1;var m=f;var u=e;var q=this.getMinutesPerScale();var n=null;var r=null;var w="";for(var g in c){if(g=="indexOf"){break}var d=c[g];if(!n){n=d.from}if(!r){r=d.to}n=Math.min(d.from,n);r=Math.max(d.to,r);w+=d.appointment.id}w+=n;w+=r;if(s[w]){return s[w]}n=new a.jqx.date(n,i.timeZone);r=new a.jqx.date(r,i.timeZone);var m=n;while(n<r){var p=m;if(t==="timelineMonthView"){var b=p.addDays(1)}else{var b=p.addMinutes(q)}var o=0;for(var g in c){if(g=="indexOf"){break}var d=c[g];var h=d.from;var v=d.to;var l=a.jqx.scheduler.utilities.rangeIntersection(p,b,h,v);if(l){o++}}k=Math.max(o,k);if(t==="timelineMonthView"){m=m.addDays(1,false)}else{m=m.addMinutes(q,false)}}s[w]=k;return k},getMaxMonthAppointments:function(g){var i=this._views[this._view].type;var l=this._views[this._view];if(g.length==0){return 1}var o=1;var h=this.getViewStart().clone();var e=this.getViewEnd();while(h<e){var j=h;var k=a.jqx.scheduler.utilities.getEndOfDay(j);var n=0;for(var f in g){if(f=="indexOf"){break}var b=g[f];var d=b.from;var c=b.to;var m=a.jqx.scheduler.utilities.rangeIntersection(j,k,d,c);if(m){n++}}o=Math.max(n,o);h=h.addDays(1,false)}return o},getMaxAllDayAppointments:function(e){var h=this._views[this._view].type;var l=this._views[this._view];var f=this;if(e.length==0){return 1}var n=function(r){var y=1;var s=f.getViewStart();var p=f.getViewEnd();while(s<p){var t=s;var u=a.jqx.scheduler.utilities.getEndOfDay(t);var x=0;for(var q in r){if(q=="indexOf"){break}var i=r[q];var v=i;if(i.appointment){v=i.appointment}if(v.hidden==true){continue}if(!v.duration){continue}if(v.allDay||v.duration().days()>=1){var o=i.from;var j=i.to;var w=a.jqx.scheduler.utilities.rangeIntersection(t,u,o,j);if(w){x++}}}y=Math.max(x,y);s=s.addDays(1,false)}return y};if(this._resources.length<2||(!this.resources.orientation||this.resources.orientation=="none")){var m=n(e)}else{var k=1;for(var c=0;c<this._resources.length;c++){var b=this._resources[c];var g=new Array();for(var d=0;d<e.length;d++){if(e[d].appointment&&e[d].appointment.resourceId==b){g.push(e[d])}else{if(e[d].resourceId!=undefined&&e[d].resourceId==b){g.push(e[d])}}}var m=n(g);k=Math.max(k,m)}m=k}return m},getMinutesPerScale:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=30;var e="halfHour";if(d.timeRuler&&d.timeRuler.scale){e=d.timeRuler.scale}switch(e){case"sixtyMinutes":case"hour":c=60;break;case"thirtyMinutes":case"halfHour":c=30;break;case"fifteenMinutes":case"quarterHour":c=15;break;case"tenMinutes":c=10;break;case"fiveMinutes":c=5;break}return c},getMaxColumnsInADay:function(k){var m=this._views[this._view].type;var p=this._views[this._view];var e=30;var c="halfHour";if(p.timeRuler&&p.timeRuler.scale){c=p.timeRuler.scale}switch(c){case"sixtyMinutes":case"hour":e=60;break;case"thirtyMinutes":case"halfHour":e=30;break;case"fifteenMinutes":case"quarterHour":e=15;break;case"tenMinutes":e=10;break;case"fiveMinutes":e=5;break}if(k.length==0){return 1}var d=1;var l=k[0].from.clone();var i=l.addMinutes(e);var h=a.jqx.scheduler.utilities.getEndOfDay(l);while(l<h){var o=l;var n=i;var r=0;for(var j in k){if(j=="indexOf"){break}var b=k[j];if(!b.from&&!b.to){continue}var g=b.from;var f=b.to;var q=a.jqx.scheduler.utilities.rangeIntersection(o,n,g,f);if(q){r++}}d=Math.max(r,d);l=l.addMinutes(e,false);i=i.addMinutes(e,false)}return d},getTouches:function(b){return a.jqx.mobile.getTouches(b)},_updatecolumnwidths:function(){var h=this;var j=this._hostWidth;var b=j;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){j-=parseInt(this.scrollBarSize)+6;if(this.rtl){j+=3}b=j}var i="";if(this.columns==undefined||this.columns.records==undefined){return}var h=this;var g=false;var k=new Array();a.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=h.vScrollBar[0].style.visibility=="hidden"?0:h.scrollBarSize+5;if(h.scrollBarSize==0){n=0}m=parseFloat(this.width)*b/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(b)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}j-=Math.round(m)}else{if(this.width!="auto"&&!this._width){j-=this.width}else{i+=this.text}}if(this._width=="auto"){k[k.length]=this}}});var e=this.columnsheader.find("#columntable"+this.element.id);if(e.length==0){return}var c=0;var f=e.find(".jqx-grid-column-header");var d=0;a.each(this.columns.records,function(o,t){var m=this.element;var w=false;var v=this.width;var q=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){v=parseFloat(this._percentagewidth)*b/100}else{v=parseFloat(this.width)*b/100}v=Math.round(v);w=true}if(this.width!="auto"&&!this._width&&!w){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(w){if(v<this.minwidth&&this.minwidth!="auto"){v=this.minwidth;this.width=v}if(v>this.maxwidth&&this.maxwidth!="auto"){v=this.maxwidth;this.width=v}if(parseInt(m[0].style.width)!=v){m.width(v);this.width=v}}else{var n=h.columns.records.length;var p=h._views[h._view].type;if(p==="dayView"||p==="weekView"){var r=h._views[h._view];if(r.timeRuler){if(r.timeRuler.timeZones){n-=r.timeRuler.timeZones.length}n--}else{n--}}else{if(p==="monthView"&&h._views[h._view].showWeekNumbers){n--}}var l=Math.floor(j*(1/n));if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth!="auto"){l=h.resources.resourceColumnWidth}else{if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth=="auto"){if(h.resources.orientation=="horizontal"){l=Math.round((2+j)*(1/h._getColumnsLengthPerView()))}}}var s=(j*(1/n))-l;c+=s;if(c>=1){c-=1;l++}if(c>=0.5&&o==h.columns.records.length-1){l++}if(p=="agendaView"){l=j/k.length;l++}if(l<0){var u=a("<span>"+this.text+"</span>");a(document.body).append(u);l=10+u.width();u.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=parseInt(l);m.width(this.width)}}if(parseInt(m[0].style.left)!=d){m.css("left",d)}if(!(this.hidden)){d+=this.width}this._requirewidthupdate=true;if(q!==this.width){g=true}});this.columnsheader.width(2+d);e.width(this.columnsheader.width());this._resizecolumnGroups();if(g){this._renderrows();h._arrange()}},_rendercolumnheaders:function(){var g=this;if(this._updating){return}var l=this._views[this._view];this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var h=a('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');h[0].cells=new Array();var r=0;var d=0;var n="";var p=this._hostWidth;if(!p){this._hostWidth=this.host.width()}var v=this._hostWidth;var m=v;var w=this.getRows().length;var u=this.rowsHeight;if(this.isTouchDevice()){u=this.touchRowsHeight}if(w*u>this.host.height()){this.vScrollBar[0].style.visibility="inherit"}if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){v-=parseInt(this.scrollBarSize)+6;if(this.rtl){v+=3}m=v}var q=new Array();var s=new Array();a.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){v-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){v-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*m/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}v-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}v-=this.width}}}}else{n+=this.text}}if(this.width==null||this.width=="auto"){s[s.length]=this}q[q.length]=this});if(this.rtl){for(var t=0;t<q.length;t++){this.columns.replace(t,q[t])}}var f=this.headerZIndex;var i=0;var e=g.columnsHeight;var b=function(k,x){var j=g.columnGroupslevel*g.columnsHeight;j=j-(x.level*g.columnsHeight);return j};var o=0;var c=document.createDocumentFragment();a.each(this.columns.records,function(D,I){this.height=g.columnsHeight;if(g.columnGroups){if(g.columnGroups.length){this.height=b(this.datafield,this);e=this.height}}var y=g.toTP("jqx-grid-column-header")+" "+g.toTP("jqx-widget-header");if(g.rtl){y+=" "+g.toTP("jqx-grid-column-header-rtl")}if(!g.enableBrowserSelection){y+=" "+g.toTP("jqx-disableselect")}var E=!g.rtl?f--:f++;var k=document.createElement("div");k.setAttribute("role","columnheader");k.style.position="absolute";k.style.zIndex=E;k.style.height="100%";k.className=y;var z=a(k);if(g.rtl&&D===0){z[0].style.borderLeftColor="transparent"}if(g.columnGroups){z[0].style.height=e+"px";z[0].style.bottom="0px"}else{if(!this.timeColumn){z[0].style.height=-1+e+"px"}}this.uielement=z;this.element=z;if(this.classname!=""&&this.classname){z.addClass(this.classname)}var K=this.width;var L=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){K=parseFloat(this._percentagewidth)*m/100}else{K=parseFloat(this.width)*m/100}K=Math.round(K);L=true}if(this.width!="auto"&&!this._width&&!L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}z[0].style.width=parseInt(K)+"px"}else{if(L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}z.width(K);this.width=K}else{var A=g.columns.records.length;var C=g._views[g._view].type;if(C==="dayView"||C==="weekView"){var G=g._views[g._view];if(G.timeRuler){if(G.timeRuler.timeZones){A-=G.timeRuler.timeZones.length}A--}else{A--}}else{if(C==="monthView"&&g._views[g._view].showWeekNumbers){A--}}var j=Math.floor(v*(1/A));if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth!="auto"){j=g.resources.resourceColumnWidth}else{if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth=="auto"){if(g.resources.orientation=="horizontal"){j=Math.round((2+v)*(1/g._getColumnsLengthPerView()))}}}var H=(v*(1/A))-j;o+=H;if(o>=1){o-=1;j++}if(o>=0.5&&D==g.columns.records.length-1){j++}if(isNaN(j)){j=this.minwidth}if(C=="agendaView"){j=v/s.length;j++}if(j<0){var J=a("<span>"+this.text+"</span>");a(document.body).append(J);j=10+J.width();J.remove()}if(j<this.minwidth){j=this.minwidth}if(j>this.maxwidth){j=this.maxwidth}this._width="auto";this.width=parseInt(j);K=this.width;z.width(this.width)}}if(this.timeColumn){z.css("border-bottom-color","transparent");if(l.timeRuler&&l.timeRuler.timeZones){if(D<l.timeRuler.timeZones.length){z.css("border-right-color","transparent")}}if(this.tableRows==1){z.addClass(g.toTP("jqx-scheduler-time-column"))}}if(this.hidden){z.css("display","none")}var x=a(z.children()[0]);h[0].cells[D]=z[0];var B=g._rendercolumnheader(this.text,this.align,e,g);z[0].innerHTML=B;c.appendChild(z[0]);var F=this;z[0].style.left=d+"px";if(!(this.hidden)){d+=K}});h[0].appendChild(c);if(d>0){this.columnsheader[0].style.width=2+d+"px"}else{this.columnsheader[0].style.width=d+"px"}this._columnswidth=d;this.columnsrow=h;g.columnsheader.append(h);h[0].style.width=d+"px";if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var r=this.headerZIndex+this.columns.records.length;var m=this;var f=m.toTP("jqx-grid-column-header")+" "+m.toTP("jqx-grid-columngroup-header")+" "+m.toTP("jqx-widget-header");if(m.rtl){f+=" "+m.toTP("jqx-grid-columngroup-header-rtl")}var d=this.columnsheader.find("#columntable"+this.element.id);d.find("jqx-grid-columngroup-header").remove();for(var g=0;g<this.columnGroupslevel-1;g++){for(var k=0;k<this.columnGroups.length;k++){var o=this.columnGroups[k];var b=o.level;if(b!==g){continue}var n=b*this.columnsHeight;var c=99999;if(o.groups){var q=function(u){var t=0;for(var s=0;s<u.groups.length;s++){var i=u.groups[s];if(!i.groups){if(!i.hidden){t+=i.width;c=Math.min(parseInt(i.element[0].style.left),c)}}else{t+=q(i)}}return t};o.width=q(o);o.left=c;var p=this.columnsHeight;var l=r--;var e=a('<div role="columnheader" style="z-index: '+l+';position: absolute;" class="'+f+'"></div>');var h=a(this._rendercolumnheader(o.text,o.align,this.columnsHeight,this));if(o.renderer){o.renderer(e,o.text)}e.append(h);e[0].style.left=c+"px";if(c===0){e[0].style.borderLeftColor="transparent"}e[0].style.top=n+"px";e[0].style.height=p+"px";e[0].style.width=-1+o.width+"px";d.append(e);o.element=e}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var c=0;c<this.columnGroups.length;c++){var h=this.columnGroups[c];var j=h.level;var g=j*this.columnsHeight;var f=99999;if(h.groups){var e=function(m){var l=0;for(var k=0;k<m.groups.length;k++){var i=m.groups[k];if(!i.groups){l+=i.width;f=Math.min(parseInt(i.element[0].style.left),f)}else{l+=e(i)}}return l};h.width=e(h);h.left=f;var b=this.columnsHeight;var d=h.element;d[0].style.left=f+"px";d[0].style.top=g+"px";d[0].style.height=b+"px";d[0].style.width=-1+h.width+"px"}}},_removecolumnhandlers:function(e){var c=this;var b=a(e.element);if(b.length>0){c.removeHandler(b,"mouseenter");c.removeHandler(b,"mouseleave");var d=a(e.filtericon);c.removeHandler(d,"mousedown");c.removeHandler(d,"click");c.removeHandler(b,"click")}},destroy:function(){var b=this;b._removeHandlers();if(b._editDialog){b._editDialog.jqxWindow("destroy")}if(b.menu){b.menu.jqxMenu("destroy")}if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy")}b.vScrollBar.jqxScrollBar("destroy");b.hScrollBar.jqxScrollBar("destroy");delete b.vScrollBar;delete b.hScrollBar;delete b._mousewheelfunc;a.jqx.utilities.resize(b.host,null,true);b.host.remove()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.host.height(d.height);d.host.width(d.width);d._updatesize(false,true)}},propertyChangedHandler:function(b,d,f,e){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(e!==f){if(d=="filterable"){b._render()}else{if(d=="view"){b.setView(e)}else{if(d=="views"){b._columns=null;b._views=new Array();b._view=b.view;for(var c=0;c<b.views.length;c++){if(a.type(b.views[c])==="string"){b._views.push({type:b.views[c]})}else{b._views.push(b.views[c])}}for(var c=0;c<b._views.length;c++){if(b._views[c].type==b.view){b._view=c;break}}b._render()}else{if(d==="height"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(false,true)}else{if(d==="width"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(true,false)}else{if(d==="source"){b.updateBoundData()}else{if(d=="resources"){b.updateBoundData()}else{if(d==="columns"||d==="columnGroups"){b._columns=null;b._render()}else{if(d==="selectionMode"){b.selectionMode=e.toLowerCase()}else{if(d=="touchMode"){b._removeHandlers();b.touchDevice=null;b.vScrollBar.jqxScrollBar({touchMode:e});b.hScrollBar.jqxScrollBar({touchMode:e});b.refresh();b._addHandlers()}else{if(d=="enableHover"){return}else{if(d=="showLegend"){b.legendbartop.show();b.legendbarbottom.show();b.refresh()}else{if(d=="disabled"){if(e){b.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{b.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}b.host.find(".jqx-grid-group-collapse").css("cursor",e?"default":"pointer");b.host.find(".jqx-grid-group-expand").css("cursor",e?"default":"pointer")}else{if(d=="columnsHeight"){b._render()}else{if(d=="localization"){b._render();if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy");b.createEditRecurrenceDialog()}}else{if(d=="theme"){a.jqx.utilities.setTheme(f,e,b.host);if(b._editDialog){a.jqx.utilities.setTheme(f,e,b._editDialog)}if(b.editRecurrenceDialog){a.jqx.utilities.setTheme(f,e,b.editRecurrenceDialog)}if(b.menu){b.menu.jqxMenu({theme:b.theme})}b.vScrollBar.jqxScrollBar({theme:b.theme});b.hScrollBar.jqxScrollBar({theme:b.theme});b.refresh()}else{if(d==="date"){b.navigateTo(e)}else{b.refresh()}}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(g,h,d,e){var f="4px";if(e.columnGroups){f=(d/2-this._columnheight/2);if(f<0){f=4}f+="px"}else{if(this.columnsHeight!=25){f=(this.columnsHeight/2-this._columnheight/2);if(f<0){f=4}f+="px"}}var c='<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+h+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+f+"; margin-top: "+f+';"><span style="text-overflow: ellipsis; cursor: default;">'+g+"</span></div>";if(this.columnRenderer){var b=this.columnRenderer(g,h,d,c);if(b!=undefined){return b}}return c}})})(jqxBaseFramework);
 
-(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.scheduler.utilities={weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},guid:function(){function b(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return b()+b()},areWeekDaysIncluded:function(d,c){var b=false;a.each(d,function(e,f){if(f===c){b=true;return false}});return b},getStartOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),0,0,0);b.timeZone=c.timeZone;return b},getEndOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),23,59,59);b.timeZone=c.timeZone;return b},getDaysCount:function(d,c){var b=1;while(d<c){if(d.day()!=c.day()){b++}d=d.addDays(1)}return b},getStartOfWeek:function(e,g){var c=e.dayOfWeek();var b=g.firstDay;if(c<b){c+=7}var d=c-b;var f=e.addDays(-d);return f.date()},getEndOfWeek:function(d,f,c){var e=this;var g=7;var b=e.getStartOfWeek(d,f,c);return b.addDays(g)},getEndOfMonth:function(d,e){var c=d.daysInMonth();var b=new a.jqx.date(d.year(),d.month(),c,23,59,59);b.timeZone=d.timeZone;return b},rangeIntersection:function(i,h,f,e){var g=i.valueOf();var d=f.valueOf();var c=h.valueOf();var b=e.valueOf();if(d>=g&&d<c){return true}if(d<g&&b>g){return true}if(g==d||c==b){return true}if(g<d){if(c>d&&c<b){return true}if(c>b){return true}}else{if(b>g&&b<c){return true}if(b>c){return true}}return false},rangeContains:function(e,d,c,b){return(e<=c&&b<=d)},monthDays:[31,28,31,30,31,30,31,31,30,31,30,31],msPerDay:1000*60*60*24,maxYear:9999,ORDINAL_BASE:new Date(1970,0,1),getYearDay:function(b){var c=new Date(b.getFullYear(),b.getMonth(),b.getDate());return Math.ceil((c-new Date(b.getFullYear(),0,1))/a.jqx.scheduler.utilities.msPerDay)+1},isLeapYear:function(b){if(b instanceof Date){b=b.getFullYear()}return((b%4===0)&&(b%100!==0))||(b%400===0)},tzOffset:function(b){return b.getTimezoneOffset()*60*1000},monthRange:function(c,d){var b=new Date(c,d,1);return[a.jqx.scheduler.utilities.getWeekday(b),a.jqx.scheduler.utilities.getMonthDays(b)]},getMonthDays:function(b){var c=b.getMonth();return c==1&&a.jqx.scheduler.utilities.isLeapYear(b)?29:a.jqx.scheduler.utilities.monthDays[c]},getWeekday:function(b){var c=[6,0,1,2,3,4,5];return c[b.getDay()]},combine:function(b,c){c=c||b;return new Date(b.getFullYear(),b.getMonth(),b.getDate(),c.getHours(),c.getMinutes(),c.getSeconds())},sort:function(b){b.sort(function(d,c){return d.getTime()-c.getTime()})},timeToUntilString:function(e){var c=new Date(e);var b,f=[c.getUTCFullYear(),c.getUTCMonth()+1,c.getUTCDate(),"T",c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),"Z"];for(var d=0;d<f.length;d++){b=f[d];if(!/[TZ]/.test(b)&&b<10){f[d]="0"+String(b)}}return f.join("")},untilStringToDate:function(d){var b=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/;var c=b.exec(d);if(!c){throw new Error("Invalid UNTIL value: "+d)}return new Date(Date.UTC(c[1],c[2]-1,c[3],c[5]||0,c[6]||0,c[7]||0))},Time:function(b,e,c){this.hour=b;this.minute=e;this.second=c;this.that=this;var d=this;this.getHours=function(){return d.hour};this.getMinutes=function(){return d.minute},this.getSeconds=function(){return d.second},this.getTime=function(){return((d.hour*60*60)+(d.minute*60)+d.second)*1000}}};a.jqx.scheduler.appointment=function(){var c=this;c.from=new a.jqx.date();c.to=new a.jqx.date().addHours(1);c.subject="";c.description="";c.location="";c.tooltip="";c.hidden=false;c.resourceId=null;c.id="";c.background=null;c.color=null;c.borderColor=null;c.status="busy";c.style=null;c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.occurrenceEnumerator=null;c.rootAppointment=null;c.hiddenByResourceId=false;c.draggable=true;c.resizable=true;c.recurrentAppointment=false;c.allDay=false;c.readOnly=false;c.showStatus=true;c.timeZone=null;c.scheduler=null;c.elements=new Array();c.appointmentObject=true;c.duration=function(){var e=c.to-c.from;var f=e*10000;return new a.jqx.timeSpan(f)};c.toJSON=function(h){var e=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var g=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(!k?""+l.getFullYear()+"-"+g(l.getMonth()+1)+"-"+g(l.getDate())+"T"+g(l.getHours())+":"+g(l.getMinutes())+":"+g(l.getSeconds())+"Z":""+l.getUTCFullYear()+"-"+g(l.getUTCMonth()+1)+"-"+g(l.getUTCDate())+"T"+g(l.getUTCHours())+":"+g(l.getUTCMinutes())+":"+g(l.getUTCSeconds())+"Z"))};var f=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=c.recurrenceException[l].toString();if(l<c.recurrenceException.length-1){k+=","}}return k};var i={};i.id=c.id;i.from=j(c.from.toDate(),h);i.to=j(c.to.toDate(),h);i.subject=c.subject;i.status=c.status;i.location=c.location;i.description=c.description;i.title=c.title;i.resourceId=c.resourceId;if(c.recurrencePattern){i.recurrencePattern=c.recurrencePattern.toString()}else{i.recurrencePattern=""}if(c.recurrenceException&&c.recurrenceException.length>0){i.recurrenceException=f()}else{i.recurrenceException=""}i.dtstamp=j(new Date(),h);return JSON.stringify(i)};c.toString=function(i){var f=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var h=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(k?""+l.getFullYear()+h(l.getMonth()+1)+h(l.getDate())+"T"+h(l.getHours())+h(l.getMinutes())+h(l.getSeconds()):""+l.getUTCFullYear()+h(l.getUTCMonth()+1)+h(l.getUTCDate())+"T"+h(l.getUTCHours())+h(l.getUTCMinutes())+h(l.getUTCSeconds())+"Z"))};var g=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=j(c.recurrenceException[l].toDate(),i);if(l<c.recurrenceException.length-1){k+=","}}return k};var e=c.status;if(!e){e="CONFIRMED"}if(e.toLowerCase()=="busy"){e="CONFIRMED"}if(e.toLowerCase()=="tentative"){e="TENTATIVE"}if(e.toLowerCase()=="free"){e="CANCELLED"}if(e.toLowerCase()=="outOfOffice"){e="CANCELLED"}return"BEGIN:VEVENT\nUID:"+c.id+"\nDTSTAMP:"+j(new Date(),i)+"\n"+f("TITLE:"+c.subject)+"\nDTSTART:"+j(c.from.toDate(),i)+"\nDTEND:"+j(c.to.toDate(),i)+"\n"+(c.recurrencePattern?"RRULE:"+c.recurrencePattern.toString()+"\n":"")+(c.recurrenceException&&c.recurrenceException.length>0?"EXDATE:"+g()+"\n":"")+(c.subject?f("SUMMARY:"+c.subject)+"\n":"")+"TRANSP:OPAQUE\n"+(c.status?f("STATUS:"+e)+"\n":"")+(c.description?f("DESCRIPTION:"+c.description)+"\n":"")+(c.location?f("LOCATION:"+c.location)+"\n":"")+"END:VEVENT"};c.range=function(){if(!c.allDay){return{from:c.from,to:c.to}}else{return{from:a.jqx.scheduler.utilities.getStartOfDay(c.from),to:a.jqx.scheduler.utilities.getEndOfDay(c.to)}}};c.clearRecurrence=function(){if(c.recurrencePattern){c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.hidden=false}};c.isAllDayAppointment=function(){return this.duration().days()>=1||this.allDay};c.cloneAppointmentAttributes=function(e){e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.rootAppointment=c;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.hidden=c.hidden;e.timezone=c.timeZone;e.style=c.style;e.hiddenByResourceId=c.hiddenByResourceId};c.createOccurrence=function(g){if(g==null){return null}var f=new a.jqx.scheduler.appointment();f.allDay=c.allDay;var e=c.duration();if(c.allDay){e=new a.jqx.timeSpan(10000*(c.to-c.from))}f.from=g;f.to=g.add(e);f.occurrenceFrom=g.clone();f.subject=c.subject;f.description=c.description;f.location=c.location;f.tooltip=c.tooltip;f.resourceId=c.resourceId;f.category=c.category;f.status=c.status;f.rootAppointment=c;f.color=c.color;f.draggable=c.draggable;f.resizable=c.resizable;f.borderColor=c.borderColor;f.background=c.background;f.recurrentAppointment=true;f.timeZone=c.timeZone;f.style=c.style;f.hiddenByResourceId=c.hiddenByResourceId;f.boundAppointment=c.boundAppointment;if(c.hiddenByResourceId){f.hidden=true}f.id=c.id+"."+a.jqx.scheduler.utilities.guid();c.hidden=true;c.occurrenceIndex++;return f};c.clone=function(){var e=new a.jqx.scheduler.appointment();e.allDay=c.allDay;e.from=c.from.clone();e.to=c.to.clone();e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.style=c.style;e.timeZone=c.timeZone;e.hiddenByResourceId=c.hiddenByResourceId;if(c.hiddenByResourceId){e.hidden=true}e.id=c.id+"."+a.jqx.scheduler.utilities.guid();return e};c.isRecurrentAppointment=function(){return c.recurrentAppointment||c.recurrencePattern!=null};c.anyExceptions=function(){return c.exceptions!=null&&c.exceptions.length>0};c.anyOccurrences=function(){return c.occurrenceEnumerator!=null&&c.occurrenceEnumerator.getNextAppointment()};c.isException=function(){var g=c.rootAppointment||this;if(!g.recurrenceException){return false}for(var f=0;f<g.recurrenceException.length;f++){var e=g.recurrenceException[f];if(c.occurrenceFrom&&e.equals(c.occurrenceFrom)){return true}}return false};c.getOccurrences=function(h,g){c.occurrenceIndex=0;var f=h!==null?h:c.from;var e=new a.jqx.scheduler.recurrentAppointmentsList(c,c.calendar,f,g,c.scheduler);c.occurrences=e.list;return e.list};if(arguments.length===1){if(a.type(arguments[0])=="object"){for(var b in arguments[0]){var d=arguments[0][b];if(this[b]!==undefined){this[b]=d}}}else{c.from=arguments[0];c.to=new a.jqx.date(c.from).addHours(1)}}else{if(arguments.length===2){c.from=arguments[0];c.to=arguments[1]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2];c.description=arguments[3]}}}}if(c.recurrencePattern!=null){c.recurrencePattern.setFrom(c.from)}};a.jqx.scheduler.recurrentAppointmentsList=function(){var b=this;b.recurrentAppointment=null;b.currentTime=null;b.calendar=a.jqx.scheduler.calendar;b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31);b.foundItems=0;b.list=new Array();b.scheduler=null;b.getOccurrences=function(c,e,d){if(c==undefined){return b.list}return new a.jqx.scheduler.recurrentAppointmentsList(c,b.calendar,e,d).list};b.current=function(){return b.recurrentAppointment.createOccurrence(b.currentTime)};b.fillList=function(){b.currentTime=null;b.foundItems=0;b.list=new Array();var c=b.recurrentAppointment.recurrencePattern;c.step=0;c.current=0;c.currentYearDay=0;if(c==null){return false}while(b.getNextAppointment(c)){var d=b.current();if(d){b.list.push(d)}}};b.getNextAppointment=function(h){if(b.recurrentAppointment==null){return false}var d=4294967295;var j=this.scheduler._views[this.scheduler._view].type;var l=this.scheduler._views[this.scheduler._view];var f=0;switch(h.freq){case"weekly":f=7;break;case"monthly":f=31;break;case"yearly":f=365;break}for(var e=0;e<d;e++){var k=h.getNewOccurenceDate();if(!k){continue}h.currentTime=k;if((h.to<k&&h.to.addDays(f)>=k)||(b.to<k&&b.to.addDays(f)>=k)){b.currentTime=null;return true}if(h.to.addDays(f)<k||b.to.addDays(f)<k){b.currentTime=null;return false}var g=true;g=b.getCanSetTime(h,k,g);if(h.canCreateNewOccurence(k,b.calendar)){var c=true;if(false===l.showWeekends){if(k.dayOfWeek()==6||k.dayOfWeek()==0){c=false}}if(c){b.foundItems++}}if(!g){continue}b.currentTime=k;if(b.foundItems>h.count){return false}return true}return false};b.getCanSetTime=function(c,e,d){if(!c.canCreateNewOccurence(e,b.calendar)){d=false}if(e<b.from&&e.add(b.recurrentAppointment.duration())<=b.from){d=false}if(b.to<=e){d=false}return d};b.isException=function(f,c,g){var e=b.recurrentAppointment.exceptions;for(var d=0;d<e.length;d++){if(g.isDateInExceptionAppointment(f,c,e[d])){if(-1===g.newExceptions.indexOf(e[d])){return true}}}return false};if(arguments&&arguments.length>0){b.recurrentAppointment=arguments[0];if(arguments[1]){b.calendar=arguments[1]}if(arguments[2]){b.from=arguments[2]}if(arguments[3]){b.to=arguments[3]}if(arguments[4]){b.scheduler=arguments[4]}if(arguments[2]===undefined){b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31)}if(b.scheduler&&b.scheduler.localization){b.calendar.firstDay=b.scheduler.localization.firstDay}b.fillList()}return b};a.jqx.scheduler.recurrencePattern=function(){var c=this;var b={from:new a.jqx.date(0),to:new a.jqx.date(9999,12,31),count:1000,interval:1,exceptions:new Array(),newExceptions:new Array(),month:1,day:1,current:0,currentYearDay:0,step:0,days:[],bynweekday:[],isEveryWeekDay:true,timeZone:null,weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},freq:"daily",bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null};a.extend(true,c,b);c.getNewOccurenceDate=function(){var o=function(n,C){var k=0,D=[];if(n instanceof Array){for(;k<C;k++){D[k]=[].concat(n)}}else{for(;k<C;k++){D[k]=n}}return D};var d=function(k,i){var n=k%i;return(n*i<0)?n+i:n};var v=function(D,k){if(arguments.length===1){k=D;D=0}var n=[];for(var C=D;C<k;C++){n.push(C)}return n};var u=[0,31,60,91,121,152,182,213,244,274,305,335,366];var l=[0,31,59,90,120,151,181,212,243,273,304,334,365];var r=c.from.year();var j=[6,0,1,2,3,4,5];var q=function(i){c.yearlen=i%4==0&&(i%100!=0||i%400==0)?366:365;c.nextyearlen=(1+i)%4==0&&((1+i)%100!=0||(1+i)%400==0)?366:365;var k=new Date(i,0,1);var C=j[new Date(i,0,1).getDay()];var n=(function(){for(var D=[],E=0;E<55;E++){D=D.concat(v(7))}return D}());if(c.yearlen==365){c.wdaymask=n.slice(C);c.mrange=[].concat(l)}else{c.wdaymask=n.slice(C);c.mrange=[].concat(u)}};q(r);switch(c.freq){case"daily":default:var g=c.from.add(new a.jqx.timeSpan(c.step*c.interval,0,0,0));c.step++;return g;case"weekly":if(c.byweekday){var g=new a.jqx.date(c.from,c.timeZone);var t=j[c.from.dayOfWeek()];g=g.addDays(7*(c.step));g=g.addDays(c.byweekday[c.current]);g=g.addDays(-t);if(g<c.from){g=null}c.current++;if(undefined==c.byweekday[c.current]){c.current=0;c.step++}}return g;case"monthly":if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);c.step++;for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;var g=new a.jqx.date(c.from.year(),c.from.month(),A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths((c.step-1)*c.interval)}else{if(c.bymonthday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.bymonthday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.current++;if(!c.bymonthday[c.current]){c.current=0;c.step++}}else{var g=new a.jqx.date(c.from.year(),c.from.month(),c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.step++}}return g;case"yearly":if(c.bymonth&&c.bymonth.length>0){if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;g=new a.jqx.date(g.year(),c.bymonth[c.current],A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;c.step++}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.byyearday[c.currentYearDay],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.currentYearDay++;if(!c.byyearday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.from.day(),c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.byyearday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.byyearday[c.current]){c.current=0;c.step++}}else{if(c.byweekno!=null){var p=function(n,k){var i=1;var C=new a.jqx.date(k.year(),1,1,k.hour(),k.minute(),k.second());C.timeZone=c.timeZone;while(i!=n){C=C.addDays(7);i++;if(i>53){break}}while(a.jqx.scheduler.utilities.getWeekday(C.toDate())!=c.wkst){C=C.addDays(1)}return C};var g=c.from.addYears(c.step*c.interval);g=p(c.byweekno[c.current],g);if(c.byweekday){var e=g;for(var z=0;z<7;z++){if(j[e.dayOfWeek()]===c.byweekday[c.currentYearDay]){break}e=e.addDays(1)}g=e;c.currentYearDay++;if(!c.byweekday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.month,c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.step++}}}return g}};c.isDateInExceptionAppointment=function(d,e,f){switch(c.freq){case"daily":case"weekly":default:return d.year()==f.from.year()&&d.dayOfYear()==f.from.dayOfYear()}};c.createNewPattern=function(){if(c.ical){var d=new a.jqx.scheduler.recurrencePattern(c.ical);return d}else{var d=new a.jqx.scheduler.recurrencePattern();d.from=c.from;d.to=c.to;d.count=c.count;d.interval=c.interval;d.exceptions=c.exceptions;d.newExceptions=c.newExceptions;d.weekDays=c.weekDays;d.isEveryWeekDay=c.isEveryWeekDay;d.month=c.month;d.day=c.day;d.current=c.current;d.currentYearDay=c.currentYearDay;d.step=c.step;d.days=c.days;d.bynweekday=c.bynweekday;d.bymonth=c.bymonth;d.bymonthday=c.bymonthday;d.byyearday=c.byyearday;d.byweekno=c.byweekno;d.byweekday=c.byweekday;d.freq=d.freq;d.timeZone=d.timeZone;return d}};c.equals=function(e){var d=c.from==e.from&&c.to==e.to&&c.count===e.count&&c.interval===e.interval&&c.day===e.day&&c.month===e.month;return d};c.isDayOfWeekIncluded=function(e){var d=e.dayOfWeek();return a.jqx.scheduler.utilities.areWeekDaysIncluded(c.weekDays,d)};c.getWeekIndexFromDate=function(g,f){var e=f.firstDay;var h=a.jqx.scheduler.utilities.getStartOfWeek(c.from,f,e);var d=new a.jqx.timeSpan(g.subtract(h));return parseInt(d.days()/7)};c.canCreateNewOccurence=function(e,g){var d=e.toDate();switch(c.freq){case"daily":default:if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(c.isEveryWeekDay){if(!c.isDayOfWeekIncluded(e,g)){return false}else{return true}}else{return true}break;case"weekly":var f=c.getWeekIndexFromDate(e,g);if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if((f%c.interval)!=0){return false}if(c.weekDays=={}){var h=e;if(c.from.dayOfWeek()!=h.dayOfWeek()){return false}}else{if(!c.isDayOfWeekIncluded(e,g)){return false}}break;case"monthly":case"yearly":if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(e<c.from){return false}break}return true};c.toString=function(){var d={};d.dtstart=this.from.toDate();d.until=this.to?this.to.toDate():null;d.count=this.count;var e={};e.YEARLY=0;e.MONTHLY=1;e.WEEKLY=2;e.DAILY=3;e.HOURLY=4;e.MINUTELY=5;e.SECONDLY=6;d.freq=e[this.freq.toUpperCase()];if(d.freq=="YEARLY"){d.bymonth=this.bymonth?this.bymonth:new Array().push(this.month)}d.byweekday=new Array();var g=["MO","TU","WE","TH","FR","SA","SU"];a.each(this.weekDays,function(){var h=this;h--;if(h<0){h=6}d.byweekday.push(h)});if(this.byyearday!=undefined){d.byyearday=this.byyearday}if(this.byweekno!=undefined){d.byweekno=this.byweekno}d.bymonthday=this.bymonthday;d.wkst=g[this.wkst];d.interval=this.interval;var f=new a.jqx.ICalRule(d);return f.toString()};c.init=function(j){var d=new a.jqx.ICalRule(c.ical,j);var f=d.options;c.from=f.dtstart?new a.jqx.date(f.dtstart,c.timeZone):c.from;c.count=f.count!=undefined?f.count:c.count;c.freq=d.FREQUENCIES[f.freq].toLowerCase();c.interval=f.interval!=undefined?f.interval:c.interval;c.to=f.until?new a.jqx.date(f.until,c.timeZone):c.to;c.wkst=f.wkst;c.bymonth=f.bymonth;if(c.bymonth&&c.bymonth.length>0){c.month=c.bymonth[0]}else{c.month=c.from.month()}c.day=c.from.day();if(f.byweekday!=undefined){var h={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};c.weekDays={};for(var g=0;g<f.byweekday.length;g++){var e=f.byweekday[g];switch(e){case 0:c.weekDays.Monday=1;break;case 1:c.weekDays.Tuesday=2;break;case 2:c.weekDays.Wednesday=3;break;case 3:c.weekDays.Thursday=4;break;case 4:c.weekDays.Friday=5;break;case 5:c.weekDays.Saturday=6;break;case 6:c.weekDays.Sunday=0;break}}c.byweekday=f.byweekday}c.byweekno=f.byweekno;if(f.bynweekday){c.bynweekday=f.bynweekday}if(f.bymonthday!=undefined){c.bymonthday=f.bymonthday.sort();if(c.bymonthday[0]){c.day=c.bymonthday[0]}}if(f.byyearday!=undefined){c.day=f.byyearday[0];c.byyearday=f.byyearday.sort()}return f};c.setFrom=function(d){c.from=d.clone();if(c.ical){c.init(d)}};if(arguments.length==1){c.ical=arguments[0];c.init()}return c};a.jqx.scheduler.calendar={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","};a.jqx.ICalRule=function(u,n){var D=this;var m=function(R,j){if(arguments.length===1){j=R;R=0}var k=[];for(var v=R;v<j;v++){k.push(v)}return k};var A=function(k,v){var j=0,R=[];if(k instanceof Array){for(;j<v;j++){R[j]=[].concat(k)}}else{for(;j<v;j++){R[j]=k}}return R};var C=function(i){return(i instanceof Array&&i.length==0)?false:Boolean(i)};var B=function(i,j){return i.indexOf(j)!=-1};var G=[].concat(A(1,31),A(2,28),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var s=[].concat(A(1,31),A(2,29),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var h=m(1,29),g=m(1,30),P=m(1,31),O=m(1,32);var J=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var b=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));h=m(-28,0);g=m(-29,0);P=m(-30,0);O=m(-31,0);var K=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var e=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var c=[0,31,60,91,121,152,182,213,244,274,305,335,366];var z=[0,31,59,90,120,151,181,212,243,273,304,334,365];var q=(function(){for(var j=[],k=0;k<55;k++){j=j.concat(m(7))}return j}());var f=function(j,k){var i=this;if(k===0){throw new Error("Can't create weekday with n == 0")}this.weekday=j;this.n=k;this.nth=function(v){return i.n==v?i:new f(i.weekday,v)};this.equals=function(v){return i.weekday==v.weekday&&i.n==v.n};this.toString=function(){var v=["MO","TU","WE","TH","FR","SA","SU"][i.weekday];if(this.n){v=(i.n>0?"+":"")+String(i.n)+v}return v};this.getJsWeekday=function(){return i.weekday==6?0:i.weekday+1}};this.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"];this.YEARLY=0;this.MONTHLY=1;this.WEEKLY=2;this.DAILY=3;this.HOURLY=4;this.MINUTELY=5;this.SECONDLY=6;this.MO=new f(0);this.TU=new f(1);this.WE=new f(2);this.TH=new f(3);this.FR=new f(4);this.SA=new f(5);this.SU=new f(6);var d={freq:null,dtstart:null,interval:1,wkst:D.MO,count:null,until:null,bysetpos:null,bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null};this._string=null;this.toString=function(){var aa=this.origOptions;var Y,Z,V,W,U,k=[];Z=Object.keys(aa);V=Object.keys(d);for(var R=0;R<Z.length;R++){if(!B(V,Z[R])){continue}Y=Z[R].toUpperCase();W=aa[Z[R]];U=[];if(W===null||W instanceof Array&&!W.length){continue}switch(Y){case"FREQ":W=D.FREQUENCIES[aa.freq];break;case"WKST":if(!W){W=0}W=W.toString();break;case"BYWEEKDAY":Y="BYDAY";if(!(W instanceof Array)){W=[W]}for(var T,v=0;v<W.length;v++){T=W[v];if(T instanceof f){}else{if(T instanceof Array){T=new f(T[0],T[1])}else{T=new f(T)}}U[v]=T.toString()}W=U;break;case"DTSTART":case"UNTIL":W=a.jqx.scheduler.utilities.timeToUntilString(W);break;default:if(W instanceof Array){for(var v=0;v<W.length;v++){U[v]=String(W[v])}W=U}else{W=String(W)}}k.push([Y,W])}var X=[];for(var R=0;R<k.length;R++){var S=k[R];X.push(S[0]+"="+S[1].toString())}return X.join(";")};this.parseString=function(v){v=v.replace(/^\s+|\s+$/,"");if(!v.length){return null}var S,R,X,W,T,Y=v.split(";"),aa={};for(S=0;S<Y.length;S++){T=Y[S].split("=");X=T[0];W=T[1];if(X==""){continue}switch(X){case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":if(W.indexOf(",")!=-1){W=W.split(",");for(R=0;R<W.length;R++){if(/^[+-]?\d+$/.test(W[R])){W[R]=Number(W[R])}}}else{if(/^[+-]?\d+$/.test(W)){W=Number(W)}}X=X.toLowerCase();aa[X]=W;break;case"BYDAY":var k,U,V,Z=W.split(",");aa.byweekday=[];for(R=0;R<Z.length;R++){V=Z[R];if(V.length==2){U=D[V];aa.byweekday.push(U)}else{V=V.match(/^([+-]?\d)([A-Z]{2})$/);k=Number(V[1]);U=V[2];U=D[U].weekday;aa.byweekday.push(new f(U,k))}}break;case"FREQ":aa.freq=D[W];break;case"WKST":aa.wkst=D[W];break;case"DTSTART":aa.dtstart=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"UNTIL":aa.until=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"BYEASTER":aa.byeaster=Number(W);break;default:throw new Error("Unknown ICalRule property '"+X+"'")}}D.options=aa;return aa};if(a.type(u)==="string"){this.options=this.parseString(u)}else{this.options=u||{}}var u=this.options;if(!Array.prototype.forEach){Array.prototype.forEach=function(V,j){var R,v;if(this==null){throw new TypeError(" this is null or not defined")}var U=Object(this);var i=U.length>>>0;if(typeof V!=="function"){throw new TypeError(V+" is not a function")}if(arguments.length>1){R=j}v=0;while(v<i){var S;if(v in U){S=U[v];V.call(R,S,v,U)}v++}}}if(!Object.keys){Object.keys=(function(){var k=Object.prototype.hasOwnProperty,v=!({toString:null}).propertyIsEnumerable("toString"),j=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=j.length;return function(T){if(typeof T!=="object"&&(typeof T!=="function"||T===null)){throw new TypeError("Object.keys called on non-object")}var R=[],U,S;for(U in T){if(k.call(T,U)){R.push(U)}}if(v){for(S=0;S<i;S++){if(k.call(T,j[S])){R.push(j[S])}}}return R}}())}this.origOptions={};var E=[],w=Object.keys(this.options),p=Object.keys(d);w.forEach(function(i){this.origOptions[i]=this.options[i];if(!B(p,i)){E.push(i)}},this);if(E.length){throw new Error("Invalid options: "+E.join(", "))}if(!D.FREQUENCIES[this.options.freq]&&u.byeaster===null){throw new Error("Invalid Frequency: "+String(u.freq))}p.forEach(function(i){if(!B(w,i)){u[i]=d[i]}});var x=this.options;if(x.byeaster!==null){x.freq=this.YEARLY}if(!x.dtstart){x.dtstart=new Date();x.dtstart.setMilliseconds(0)}if(n){x.dtstart=n.toDate()}if(x.wkst===null){x.wkst=this.MO.weekday}else{if(typeof x.wkst=="number"){}else{if(x.wkst==null){x.wkst=this.MO.weekday}else{x.wkst=x.wkst.weekday}}}if(x.bysetpos!==null){if(typeof x.bysetpos=="number"){x.bysetpos=[x.bysetpos]}for(var N=0;N<x.bysetpos.length;N++){var H=x.bysetpos[N];if(H==0||!(-366<=H&&H<=366)){throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}}if(!(C(x.byweekno)||C(x.byyearday)||C(x.bymonthday)||x.byweekday!==null||x.byeaster!==null)){switch(x.freq){case this.YEARLY:if(!x.bymonth){x.bymonth=x.dtstart.getMonth()+1}x.bymonthday=x.dtstart.getDate();break;case this.MONTHLY:x.bymonthday=x.dtstart.getDate();break;case this.WEEKLY:x.byweekday=a.jqx.scheduler.utilities.getWeekday(x.dtstart);break}}if(x.bymonth!==null&&!(x.bymonth instanceof Array)){x.bymonth=[x.bymonth]}if(x.byyearday!==null&&!(x.byyearday instanceof Array)){x.byyearday=[x.byyearday]}if(x.bymonthday===null){x.bymonthday=[];x.bynmonthday=[]}else{if(x.bymonthday instanceof Array){var Q=[],I=[];for(N=0;N<x.bymonthday.length;N++){var H=x.bymonthday[N];if(H>0){Q.push(H)}else{if(H<0){I.push(H)}}}x.bymonthday=Q;x.bynmonthday=I}else{if(x.bymonthday<0){x.bynmonthday=[x.bymonthday];x.bymonthday=[]}else{x.bynmonthday=[];x.bymonthday=[x.bymonthday]}}}if(x.byweekno!==null&&!(x.byweekno instanceof Array)){x.byweekno=[x.byweekno]}if(x.byweekday===null){x.bynweekday=null}else{if(typeof x.byweekday=="number"){x.byweekday=[x.byweekday];x.bynweekday=null}else{if(x.byweekday instanceof f){if(!x.byweekday.n||x.freq>this.MONTHLY){x.byweekday=[x.byweekday.weekday];x.bynweekday=null}else{x.bynweekday=[[x.byweekday.weekday,x.byweekday.n]];x.byweekday=null}}else{var r=[],F=[];for(N=0;N<x.byweekday.length;N++){var o=x.byweekday[N];if(typeof o=="number"){r.push(o)}else{if(!o.n||x.freq>this.MONTHLY){r.push(o.weekday)}else{F.push([o.weekday,o.n])}}}x.byweekday=C(r)?r:null;x.bynweekday=C(F)?F:null}}}if(x.byhour===null){x.byhour=(x.freq<this.HOURLY)?[x.dtstart.getHours()]:null}else{if(typeof x.byhour=="number"){x.byhour=[x.byhour]}}if(x.byminute===null){x.byminute=(x.freq<this.MINUTELY)?[x.dtstart.getMinutes()]:null}else{if(typeof x.byminute=="number"){x.byminute=[x.byminute]}}if(x.bysecond===null){x.bysecond=(x.freq<this.SECONDLY)?[x.dtstart.getSeconds()]:null}else{if(typeof x.bysecond=="number"){x.bysecond=[x.bysecond]}}if(x.freq>=this.HOURLY){this.timeset=null}else{this.timeset=[];if(x.byhour){for(N=0;N<x.byhour.length;N++){var t=x.byhour[N];for(var M=0;M<x.byminute.length;M++){var l=x.byminute[M];for(var L=0;L<x.bysecond.length;L++){var y=x.bysecond[L];this.timeset.push(new a.jqx.scheduler.utilities.Time(t,l,y))}}}}a.jqx.scheduler.utilities.sort(this.timeset)}return this}})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxScheduler.prototype,{_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(b){return this._intToHex(b.r)+this._intToHex(b.g)+this._intToHex(b.b)},_intToHex:function(c){var b=(parseInt(c).toString(16));if(b.length==1){b=("0"+b)}return b.toUpperCase()},exportData:function(w){var q=this;if(!a.jqx.dataAdapter.ArrayExporter){throw"jqxScheduler: Missing reference to jqxdata.export.js!"}var y=this.exportSettings.serverURL;var g=this.exportSettings.characterSet;var C=this.exportSettings.fileName;var H=this.exportSettings.ICSXWRCALNAME;var s=this.exportSettings.ICSXWRCALDESC;if(C===undefined){C="jqxScheduler"}var q=this;if(w=="ical"||w=="ics"){if(q._resources.length>1&&C&&q.resourcesInMultipleICSFiles){var t=this.getAppointments();for(var E=0;E<q._resources.length;E++){var c=q._resources[E];var v=new Array();for(var D=0;D<t.length;D++){var k=t[D];if(k.resourceId==c){v.push(k)}}var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";if(H){I+="X-WR-CALNAME:"+H+"\n"}if(s){I+="X-WR-CALDESC:"+s+"\n"}for(var B=0;B<v.length;B++){I+=v[B].jqxAppointment.toString();if(B<v.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(var B=0;B<h;B++){p[B]=I.charCodeAt(B)}var b=new Blob([p],{type:"application/calendar"});var d;if(d){d(b,C+"_"+c+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+"_"+c+".ics")}}}}else{var t=this.getAppointments();var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";for(var E=0;E<t.length;E++){I+=t[E].jqxAppointment.toString();if(E<t.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(E=0;E<h;E++){p[E]=I.charCodeAt(E)}var b=new Blob([p],{type:"application/calendar"});if(!C){return I}if(d){d(b,C+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+".ics")}}}return}var t=this.getDataAppointments();var A=new Array();var F={};var r={};var n=this.host.find(".jqx-grid-cell:first");n.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var l="cell";var f=1;var G="column";var e=1;var z=a(this.columns.records[0].element);var o=0;a.each(this.appointmentDataFields,function(j,m){F[m]={};F[m].text=m;F[m].width=100;F[m].formatString="";F[m].localization=q.schedulerLocalization;if(j=="from"||j=="to"){F[m].type="date";F[m].formatString=q.exportSettings.dateTimeFormatString}else{F[m].type="string"}F[m].cellsAlign="left";A.push(F[m]);l="cell"+f;G="column"+e;if(w=="html"||w=="xls"||w=="pdf"){var i=function(J,R,Q,K,P,M,L,N,O){r[J]={};if(R==undefined){return}r[J]["font-size"]=R.css("font-size");r[J]["font-weight"]=R.css("font-weight");r[J]["font-style"]=R.css("font-style");r[J]["background-color"]=q._getexportcolor(R.css("background-color"));r[J]["color"]=q._getexportcolor(R.css("color"));r[J]["border-color"]=q._getexportcolor(R.css("border-top-color"));if(Q){r[J]["text-align"]="left"}else{r[J]["text-align"]="left";r[J]["formatString"]="";r[J]["dataType"]="string";if(L=="from"||L=="to"){r[J]["dataType"]="date";r[J]["formatString"]=q.exportSettings.dateTimeFormatString}}if(w=="html"||w=="pdf"){r[J]["border-top-width"]=R.css("border-top-width");r[J]["border-left-width"]=R.css("border-left-width");r[J]["border-right-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width");r[J]["border-top-style"]=R.css("border-top-style");r[J]["border-left-style"]=R.css("border-left-style");r[J]["border-right-style"]=R.css("border-right-style");r[J]["border-bottom-style"]=R.css("border-bottom-style");if(Q){if(o==0){r[J]["border-left-width"]=R.css("border-right-width")}r[J]["border-top-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width")}else{if(o==0){r[J]["border-left-width"]="1px"}r[J]["border-right-width"]="1px"}}if(Q){F[m].style=J}F[m].cellStyle=J};i(G,z,true,false,this,q,j);e++;i(l,n,false,false,this,q,j);f++}o++});var x=a.jqx.dataAdapter.ArrayExporter(t,F,r,y);if(C==null){this._renderrows();var u=x.exportTo(w);setTimeout(function(){q.exporting=false},50);return u}else{x.exportToFile(w,C,y,g)}this._renderrows();setTimeout(function(){q.exporting=false},50)},shadeColor:function(b,g){var h=parseInt(b.slice(1),16),c=g<0?0:255,i=g<0?g*-1:g,e=h>>16,d=h>>8&255,j=h&255;return"#"+(16777216+(Math.round((c-e)*i)+e)*65536+(Math.round((c-d)*i)+d)*256+(Math.round((c-j)*i)+j)).toString(16).slice(1)},hexToRgba:function(c,e){var b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c);var d=function(){var f=a.jqx.browser.msie&&a.jqx.browser.version<10;if(this.alpha==undefined||f){return"rgb("+this.r+", "+this.g+", "+this.b+")"}if(this.alpha>1){this.alpha=1}else{if(this.alpha<0){this.alpha=0}}return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"};if(e==undefined){return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),toString:d}:null}if(e>1){e=1}else{if(e<0){e=0}}return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),alpha:e,toString:d}:null},getAppointmentColors:function(f){var e="";var d="";var c="";e=this.hexToRgba(f,this.appointmentOpacity).toString();d=f;var b=function(h){var g=105;var i=(h.r*0.299)+(h.g*0.587)+(h.b*0.114);var j=(255-i<g)?"Black":"White";return j};c=b(this.hexToRgba(f,0.7));return{background:e,color:c,border:d}},getColors:function(g){if(g==-1){g=0}var c="";var e="";var f="";var i=this.resources?this.resources.colorScheme:null;if(!i){i="scheme01"}var b=new Array();for(var d=0;d<this.colorSchemes.length;d++){if(this.colorSchemes[d].name==i){b=this.colorSchemes[d].colors;break}}while(g>b.length-1){var j=parseInt(i.substring(6));if(j>=27){j=0}b=b.concat(this.colorSchemes[j].colors);j++}c=b[g];c=this.hexToRgba(b[g],this.appointmentOpacity).toString();e=b[g];var h=function(l){var k=105;var m=(l.r*0.299)+(l.g*0.587)+(l.b*0.114);var n=(255-m<k)?"Black":"White";return n};f=h(this.hexToRgba(b[g],0.7));return{background:c,color:f,border:e}},getAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var e=d[c].boundAppointment;e.toString=e.jqxAppointment.toString;b.push(e)}return b},getDataAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var f=d[c].boundAppointment;var e={};a.each(this.appointmentDataFields,function(h,i){e[i]=f[h];if(h=="from"||h=="to"){if("date"!=a.type(f[h])){e[i]=f[h].toDate()}}if(h=="recurrencePattern"){if(f[h]){e[i]=f[h].toString()}}if(h=="recurrenceException"){if(f[h]){e[i]="";for(var g=0;g<f[h].length;g++){e[i]+=f[h][g].toString();if(g<f[h].length-1){e[i]+=","}}}}try{if(JSON){e.toString=function(){return JSON.stringify(e)}}}catch(k){}});b.push(e)}return b},_refreshColumns:function(){this._initializeColumns();this.columnsheader=this.columnsheader||a('<div style="overflow: hidden;"></div>');this.columnsheader.children().remove();var b=this.columnsHeight;b=this._preparecolumnGroups();this.columnsheader.height(b);this._rendercolumnheaders()},_refreshColumnTitles:function(){var p=this._views[this._view].type;var o=this._views[this._view];var l=this;var d=new Array();if(l.columns.records[0].timeColumn){d.push({})}if(o.timeRuler&&o.timeRuler.timeZones){for(var v=0;v<o.timeRuler.timeZones.length;v++){d.push({})}}var q=function(A,G,I){var B="halfHour";if(o.timeRuler&&o.timeRuler.scale){B=o.timeRuler.scale}var K=24;var z=0;var J=23;if(o.timeRuler){if(o.timeRuler.scaleStartHour!=undefined){var z=parseInt(o.timeRuler.scaleStartHour)}if(o.timeRuler.scaleEndHour!=undefined){var J=parseInt(o.timeRuler.scaleEndHour)}if(z<0){z=0}if(J<0){J=23}if(z>23){z=0}if(J>23){J=23}K=J-z+1}var D=60;var H=2;if(B){switch(B){case"sixtyMinutes":case"hour":H=1;break;case"thirdyMinutes":case"halfHour":H=2;break;case"fifteenMinutes":case"quarterHour":H=4;break;case"tenMinutes":H=6;break;case"fiveMinutes":H=12;break}}var M=new Array();var L="auto";if(o.timeRuler&&o.timeRuler.formatString){L=o.timeRuler.formatString}var y=z;var E=K;var j=A.addHours(y);if(l.rtl){var j=A.addHours(J)}for(var F=0;F<E;F++){var x=j.toDate();if(L==="auto"){if((x.getHours()==0&&x.getMinutes()==0)||(x.getHours()==12&&x.getMinutes()==0)){var C="hh tt"}else{var C="hh:mm"}}else{if(a.isFunction(L)){var C=L(x)}else{C=L}}if(a.jqx.dataFormat.isDate(x)){x=a.jqx.dataFormat.formatdate(x,C,l.schedulerLocalization)}if(!l.rtl){j=j.addMinutes(D)}else{j=j.addMinutes(-D)}d.push({});l.columns.records[d.length-1].text=x}};var k=this.tableColumns;for(var t=0;t<this.tableColumns;t++){switch(p){case"dayView":var g=this.getViewStart();if(false===o.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}d.push({});this.columns.records[d.length-1].text=this._getDayName(g.dayOfWeek());break;case"weekView":case"monthView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}d.push({});if(l.rtl){u=6-u}this.columns.records[d.length-1].text=this._getDayName(u)}break;case"timelineDayView":var f=l._resources[t]?l._resources[t]:"Resource"+t;q(l.getViewStart(),f);break;case"timelineWeekView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}if(l.rtl){u=6-u}q(l.getViewStart().addDays(v),this._getDayName(u))}break;case"timelineMonthView":var n=l.getViewStart();var w="auto";if(o.timeRuler&&o.timeRuler.formatString){w=o.timeRuler.formatString}for(var v=0;v<41;v++){var u=n.dayOfWeek();if(false===o.showWeekends){if(u===0||u===6){continue}}if(l.rtl){u=6-u}var r=n.toDate();if(w==="auto"){var c="dd";r=n.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(w)){var c=w(r)}else{c=w}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,l.schedulerLocalization)}n=n.addDays(1);d.push({});l.columns.records[d.length-1].text=r}break}}var h=l.columnsHeight;var b=function(j,x){var i=l.columnGroupslevel*l.columnsHeight;i=i-(x.level*l.columnsHeight);return i};var s=0;for(var v=0;v<this.columns.records.length;v++){var e=this.columns.records[v];if(e.timeColumn){continue}if(l.columnGroups){if(l.columnGroups.length){h=b(e.datafield,e)}}var m=e.renderer!=null?e.renderer(e.text,e.align,h):l._rendercolumnheader(e.text,e.align,h,e);if(m==null){m=l._rendercolumnheader(e.text,e.align,h,l)}if(e.renderer!=null){m=a(m)}a(e.element).html(m)}},_editDialogLabel:function(){if(this.theme){return"jqx-scheduler-edit-dialog-label jqx-scheduler-edit-dialog-label-"+this.theme}return"jqx-scheduler-edit-dialog-label"},_editDialogField:function(){if(this.theme){return"jqx-scheduler-edit-dialog-field jqx-scheduler-edit-dialog-field-"+this.theme}return"jqx-scheduler-edit-dialog-field"},initRepeatPanels:function(p,i,c){var h=this;var b=a("<div></div>");i.append(b);var j=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatString+"</div>").appendTo(b);var l=a("<div class='"+h._editDialogField()+"'></div>").appendTo(b);var k=a("<div></div>").appendTo(l);var r=a("<div></div>");i.append(r);var m=a("<div></div>");r.append(m);var o=function(H,A){var u=a("<div></div>").appendTo(H);var E=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEndString+"</div>").appendTo(u);var D=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var G=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatNeverString+"</span></div>").appendTo(D);G.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:200,checked:true});h.editDialogFields[A].repeatEndNever=G;h.editDialogFields[A].repeatEndNeverLabel=E;var z=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var y=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var F=a("<div style='top: 3px;  position:relative;  float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatAfterString+"</span></div>").appendTo(y);F.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var B=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(y);B.jqxNumberInput({rtl:h.rtl,decimal:10,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var v=a("<div style='float: left; top: 3px;  margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatOccurrencesString+"</div>").appendTo(y);h.editDialogFields[A].repeatEndAfter=F;h.editDialogFields[A].repeatEndAfterValue=B;h.editDialogFields[A].repeatEndAfterLabel=z;var x=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var w=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var t=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatOnString+"</span></div>").appendTo(w);t.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var C=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(w);C.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:h.rtl,localization:h._getDateTimeInputLocalization(),firstDayOfWeek:h.schedulerLocalization.firstDay,todayString:h.schedulerLocalization.todayString,clearString:h.schedulerLocalization.clearString,value:c,formatString:h.editDialogDateFormatString,width:150,theme:h.theme});var s=C.jqxDateTimeInput("getInstance");h.editDialogFields[A].repeatEndOn=t;h.editDialogFields[A].repeatEndOnValue=C;h.editDialogFields[A].repeatEndOnLabel=x;return u};m.detach();h.editDialogFields.repeatEndPanel={};h.editDialogFields.repeatEndPanelContainer=m;o(m,"repeatEndPanel");var q=function(){var z=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ad=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(z);var ay=a("<div class='"+h._editDialogField()+"'></div>").appendTo(z);var am=a("<div style='float:left;'></div>").appendTo(ay);am.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var V=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryDayString+"</div>").appendTo(ay);h.editDialogFields.daily={};h.editDialogFields.daily.repeatDayInterval=am;h.editDialogFields.daily.repeatDayLabel=ad;h.editDialogFields.daily.panel=z;z.detach();h.editDialogFields.weekly={};var E=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ag=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(E);var t=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var at=a("<div style='float:left;'></div>").appendTo(t);at.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var W=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryWeekString+"</div>").appendTo(t);h.editDialogFields.weekly.repeatWeekInterval=at;h.editDialogFields.weekly.repeatWeekIntervalLabel=ag;var F=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(E);var Z=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var T=a("<div style='float:left;'></div>").appendTo(Z);h.editDialogFields.weekly.repeatDaysLabel=F;h.editDialogFields.weekly.repeatDays=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw,"firstTwoLetters");var B=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+P+"</span></div>");T.append(B);var Y=aw==1?true:false;B.jqxCheckBox({rtl:h.rtl,checked:Y,width:50,theme:h.theme});h.editDialogFields.weekly.repeatDays.push(B)}h.editDialogFields.weekly.panel=E;E.detach();h.editDialogFields.monthly={};var U=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var av=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(U);var M=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var A=a("<div style='float:left;'></div>").appendTo(M);A.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var ai=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthString+"</div>").appendTo(M);h.editDialogFields.monthly.repeatMonth=A;h.editDialogFields.monthly.repeatMonthLabel=av;var an=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(U);var H=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var x=a("<div style='float:left;'></div>").appendTo(H);var al=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthDayString+"</span></div>").appendTo(x);al.jqxRadioButton({rtl:h.rtl,groupName:"month",width:60,checked:true,theme:h.theme});var ao=a("<div style='float:left;'></div>").appendTo(x);ao.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.monthly.repeatMonthDay=ao;h.editDialogFields.monthly.repeatMonthDayBool=al;h.editDialogFields.monthly.repeatMonthDayLabel=an;var O=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(U);var aj=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var aa=a("<div style='float:left;'></div>").appendTo(aj);var G=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(aa);G.jqxRadioButton({groupName:"month",width:25,checked:false,theme:h.theme});var L=a("<div style='float:left;'></div>").appendTo(aa);var Q=new Array();Q.push(h.schedulerLocalization.editDialogRepeatFirstString);Q.push(h.schedulerLocalization.editDialogRepeatSecondString);Q.push(h.schedulerLocalization.editDialogRepeatThirdString);Q.push(h.schedulerLocalization.editDialogRepeatFourthString);Q.push(h.schedulerLocalization.editDialogRepeatLastString);L.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:Q,autoDropDownHeight:true,width:"auto",theme:h.theme});var S=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(aa);var ac=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);ac.push(P)}S.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,autoDropDownHeight:true,selectedIndex:1,source:ac,width:"auto",theme:h.theme});h.editDialogFields.monthly.repeatDayOfWeekBool=G;h.editDialogFields.monthly.repeatDayOfWeek=S;h.editDialogFields.monthly.repeatDayOfWeekLabel=O;h.editDialogFields.monthly.repeatDayOfWeekType=L;h.editDialogFields.monthly.panel=U;U.detach();h.editDialogFields.yearly={};var aq=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var R=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(aq);var ak=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ab=a("<div style='float:left;'></div>").appendTo(ak);ab.jqxNumberInput({decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var D=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryYearString+"</div>").appendTo(ak);h.editDialogFields.yearly.repeatYear=ab;h.editDialogFields.yearly.repeatYearLabel=R;var N=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(aq);var ah=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var X=a("<div style='float:left;'></div>").appendTo(ah);var af=a("<div style='position:relative; top: 6px; float:left;'></span></div>").appendTo(X);af.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:true,theme:h.theme});h.editDialogFields.yearly.repeatYearBool=af;h.editDialogFields.yearly.repeatYearBoolLabel=N;var v=a("<div style='float:left;'></div>").appendTo(X);var ap=new Array();for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}v.jqxDropDownList({height:27,selectedIndex:0,dropDownWidth:150,width:"auto",source:ap,theme:h.theme});h.editDialogFields.yearly.repeatYearMonth=v;var y=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(X);y.jqxNumberInput({height:25,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.yearly.repeatYearDay=y;var ae=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(aq);var s=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ar=a("<div style='float:left;'></div>").appendTo(s);var C=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(ar);C.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:false,theme:h.theme});var au=a("<div style='float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeekBool=C;h.editDialogFields.yearly.repeatDayOfWeekType=au;h.editDialogFields.yearly.repeatDayOfWeekLabel=ae;var K=new Array();K.push(h.schedulerLocalization.editDialogRepeatFirstString);K.push(h.schedulerLocalization.editDialogRepeatSecondString);K.push(h.schedulerLocalization.editDialogRepeatThirdString);K.push(h.schedulerLocalization.editDialogRepeatFourthString);K.push(h.schedulerLocalization.editDialogRepeatLastString);au.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:K,autoDropDownHeight:true,width:"auto",theme:h.theme});var I=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeek=I;var u=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);u.push(P)}I.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:1,autoDropDownHeight:true,source:u,width:"auto",theme:h.theme});var ap=new Array();var J=a("<div style='line-height:25px; height: 25px; margin-left: 5px; float:left;'>"+h.schedulerLocalization.editDialogRepeatOfString+"</div>").appendTo(ar);var w=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}h.editDialogFields.yearly.repeatDayOfWeekMonth=w;w.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:0,source:ap,width:"auto",theme:h.theme});h.editDialogFields.yearly.panel=aq;aq.detach()};if(h.editAppointment&&h.editAppointment.rootAppointment){q()}else{q()}var g=a("<div></div>");i.append(g);var f=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogExceptionsString+"</div>").appendTo(g);var e=a("<div class='"+h._editDialogField()+"'></div>").appendTo(g);var d=a("<div style='position:relative; top:2px;'>"+h.schedulerLocalization.editDialogResetExceptionsString+"</div>").appendTo(e);d.jqxCheckBox({width:"100%",theme:h.theme});g.hide();h.editDialogFields.resetExceptions=d;h.editDialogFields.resetExceptionsLabel=f;h.editDialogFields.resetExceptionsContainer=g;var n=new Array();n.push(h.schedulerLocalization.editDialogRepeatNeverString);n.push(h.schedulerLocalization.editDialogRepeatDailyString);n.push(h.schedulerLocalization.editDialogRepeatWeeklyString);n.push(h.schedulerLocalization.editDialogRepeatMonthlyString);n.push(h.schedulerLocalization.editDialogRepeatYearlyString);k.jqxDropDownList({rtl:h.rtl,height:27,width:"100%",autoDropDownHeight:true,theme:h.theme,source:n,selectedIndex:0});h.editDialogFields.repeat=k;h.editDialogFields.repeatLabel=j;h.editDialogFields.repeatContainer=b;h.editDialogFields.repeatPanel=r;this.addHandler(k,"change",function(u){var t=u.args.item.index;var s=function(){r.children().detach();switch(t){case 0:break;case 1:h.editDialogFields.daily.panel.css("visibility","visible");r.append(h.editDialogFields.daily.panel);break;case 2:h.editDialogFields.weekly.panel.css("visibility","visible");r.append(h.editDialogFields.weekly.panel);break;case 3:h.editDialogFields.monthly.panel.css("visibility","visible");r.append(h.editDialogFields.monthly.panel);break;case 4:h.editDialogFields.yearly.panel.css("visibility","visible");r.append(h.editDialogFields.yearly.panel);break}r.append(m);if(t==0){h.editDialogFields.repeatEndPanelContainer.hide()}else{h.editDialogFields.repeatEndPanelContainer.show()}if(!h.isTouchDevice()){p.jqxWindow({height:150});p.jqxWindow({height:i[0].scrollHeight+40})}}()})},_initMenu:function(){var c=this;if(this.host.jqxMenu){if(this.menu){if(this._hasOpenedMenu){return}this.removeHandler(this.menu,"keydown");this.removeHandler(this.menu,"closed");this.removeHandler(this.menu,"itemclick");this.menu.jqxMenu("destroy");this.menu.removeData();this.menu.remove()}this.menuitemsarray=new Array();this.menu=a('<div id="menu.jqxscheduler'+this.element.id+'" style="white-space: nowrap; z-index: 9999999999999;"></div>');this.host.append(this.menu);this.addHandler(a(window),"orientationchange.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.addHandler(a(window),"orientationchanged.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.removeHandler(this.menu,"keydown");this.addHandler(this.menu,"keydown",function(e){if(e.keyCode==27){c.menu.jqxMenu("close");c._hasOpenedMenu=false;c.focus()}});this.addHandler(this.menu,"open",function(e){if(c.contextMenuOpen){c.contextMenuOpen(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._raiseEvent("contextMenuOpen",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});c._removeFeedbackAndStopResize()});this.addHandler(this.menu,"close",function(e){if(c.contextMenuClose){c.contextMenuClose(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._hasOpenedMenu=false;if(document.activeElement&&document.activeElement.className.indexOf("jqx-menu")>=0&&!c.menuOpening){c.focus()}c._raiseEvent("contextMenuClose",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null})});this.addHandler(this.host,"contextmenu",function(e){e.preventDefault();e.stopPropagation();return false});this.addHandler(this.menu,"itemclick",function(h){var g=c.menu.jqxMenu("getItem",h.args.id);c._raiseEvent("contextMenuItemClick",{item:g,menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});if(c.contextMenuItemClick){var f=c.contextMenuItemClick(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,h);if(f==true){if(new Date()-c.renderedTime>500){c._renderrows()}c.menu.jqxMenu("close");c._hasOpenedMenu=false;return}}if(g.id=="createAppointment"){c._initDialog();c._openDialog();if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(g.id=="editAppointment"){var e=c.getJQXAppointmentByElement(c.selectedAppointment);if(!e.readOnly){var f=c._initDialog(e);if(f!==false){c._openDialog()}}if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}return true}}});var d=new Array();d.push({label:this.schedulerLocalization.contextMenuEditAppointmentString,id:"editAppointment"});d.push({label:this.schedulerLocalization.contextMenuCreateAppointmentString,id:"createAppointment"});var b={rtl:this.rtl,keyboardNavigation:true,source:d,popupZIndex:999999,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0};if(c.contextMenuCreate){c.contextMenuCreate(c.menu,b)}c._raiseEvent("contextMenuCreate",{menu:c.menu,settings:b});this.menu.jqxMenu(b)}},_initDialog:function(b,c){var m=this;var k=null;if(b&&b.isRecurrentAppointment()&&!m.editRecurrenceDialog.jqxWindow("isOpen")){var l=m.host.coord();var o=l.top+m.host.height()/2-m.editRecurrenceDialog.height()/2;var g=l.left+m.host.width()/2-m.editRecurrenceDialog.width()/2;m.editRecurrenceDialog.find("button:first").focus();setTimeout(function(){m.editRecurrenceDialog.find("button:first").focus()},25);m.editRecurrenceDialog.jqxWindow("move",g,o);m.editRecurrenceDialog.jqxWindow("open");m.editSeries=function(i){if(i){m._initDialog(b.rootAppointment);m._openDialog()}else{m._initDialog(b);m._openDialog()}};m.overlay.show();m.overlay.width(m.host.width());m.overlay.height(m.host.height());var l=m.host.coord();m.overlay.offset(l);if(!m._editDialog){m._initDialog()}return false}m.editAppointment=b;if(!b){k=m.getSelection();if(!k){m.focus();if(!m.focusedCell){m._updateFocusedCell()}if(m.focusedCell){m.focusedCell.setAttribute("data-selected","true");m._lastSelectedCell=m.focusedCell;m._updateCellsSelection(m.focusedCell);k=m.getSelection()}}}if(k||b){var d=k?k.from:b.from;var h=k?k.to:b.to;var n=m.getSelectedCells();if(n.length>0){var f=n[n.length-1].getAttribute("data-end-date");if(f){h=a.jqx.scheduler.utilities.getEndOfDay(h)}}m._editStart=d;m._editEnd=h}if(m.editDialogFields&&m.editDialogFields.resourceContainer&&m._resources.length>0){var e=new Array();for(var j=0;j<m._resources.length;j++){e.push(m._resources[j])}var r=true;if(e.length>10){r=false}m.editDialogFields.resource.jqxDropDownList({source:e,selectedIndex:0,autoDropDownHeight:r});if(!b){m.editDialogFields.resource.val(k.resourceId)}}if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(b&&b.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}if(m._editDialog==null){m._editDialog=null;var p=b==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;var q=a("<div><div>"+p+"</div><div id='dialog"+this.element.id+"'></div></div>");a(q).jqxWindow({rtl:m.rtl,autoFocus:false,autoOpen:false,animationType:"none",theme:m.theme,width:540,maxHeight:800,minHeight:110,resizable:false,initContent:function(){m.editDialogFields={};if(d==null&&h==null&&m._editStart&&m._editEnd){d=m._editStart;h=m._editEnd}q.jqxWindow("setTitle",p);var H=a(q.children()[1]);var A=a("<div></div>");H.append(A);var C=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogSubjectString+"</div>").appendTo(A);var ad=a("<div class='"+m._editDialogField()+"'></div>").appendTo(A);var U=a("<input type='text'/>").appendTo(ad);U.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});U.css("box-sizing","border-box");m.editDialogFields.subject=U;m.editDialogFields.subjectLabel=C;m.editDialogFields.subjectContainer=A;var P=a("<div></div>");H.append(P);var z=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogLocationString+"</div>").appendTo(P);var Z=a("<div class='"+m._editDialogField()+"'></div>").appendTo(P);var T=a("<input type='text'/>").appendTo(Z);T.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});T.css("box-sizing","border-box");m.editDialogFields.location=T;m.editDialogFields.locationLabel=z;m.editDialogFields.locationContainer=P;var L=a("<div></div>");H.append(L);var X=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogFromString+"</div>").appendTo(L);var av=a("<div class='"+m._editDialogField()+"'></div>").appendTo(L);var aq=a("<div></div>").appendTo(av);var V=null;if(!d){var ay=new Date();ay.setHours(9,0,0);V=ay;d=new a.jqx.date(ay)}else{V=d.toDate()}aq.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:V,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.from=aq;m.editDialogFields.fromLabel=X;m.editDialogFields.fromContainer=L;var aC=a("<div></div>");H.append(aC);var y=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogToString+"</div>").appendTo(aC);var Y=a("<div class='"+m._editDialogField()+"'></div>").appendTo(aC);var S=a("<div></div>").appendTo(Y);var x=null;if(!h){var ay=new Date();ay.setHours(10,0,0);x=ay;h=new a.jqx.date(ay)}else{x=h.toDate()}S.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:x,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.to=S;m.editDialogFields.toLabel=y;m.editDialogFields.toContainer=aC;m._changeFromUser=true;m.addHandler(aq,"change",function(aH){if(!m._changeFromUser){return}var aF=aH.args;var aK=aH.args.oldValue;var aJ=S.val("date");var aE=new a.jqx.date(aJ)-new a.jqx.date(aK);if(aE>0){var aG=aE*10000;var aI=a.jqx.timeSpan(aG);var i=new a.jqx.date(aH.args.newValue).add(aI);S.val(i.toDate())}});m.addHandler(S,"change",function(aE){if(!m._changeFromUser){return}var i=aE.args;var aG=aE.args.oldValue;var aF=S.val("date");if(aq.val("date")>=aF){S.val(aG)}});var t=a("<div></div>");H.append(t);var R=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogAllDayString+"</div>").appendTo(t);var ar=a("<div class='"+m._editDialogField()+"'></div>").appendTo(t);var ai=a("<div style='top: 8px; position:relative;'></div>").appendTo(ar);ai.jqxCheckBox({rtl:m.rtl,width:25,theme:m.theme});m.editDialogFields.allDay=ai;m.editDialogFields.allDayLabel=R;m.editDialogFields.allDayContainer=t;m.addHandler(t,"change",function(i){if(i.args.checked){S.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString});aq.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString})}else{S.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString});aq.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString})}});if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}if(m._views[m._view].type.indexOf("month")>=0||(d&&d.equals(h))||(h&&h.equals(a.jqx.scheduler.utilities.getEndOfDay(h))&&d&&d.equals(a.jqx.scheduler.utilities.getStartOfDay(d)))){m.editDialogFields.allDay.val(true)}var w=a("<div></div>");H.append(w);var W=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogTimeZoneString+"</div>").appendTo(w);var at=a("<div class='"+m._editDialogField()+"'></div>").appendTo(w);var ao=a("<div></div>").appendTo(at);var u=new Array();u.push({displayName:m.schedulerLocalization.editDialogSelectTimeZoneString,id:null});u=u.concat(m.timeZones);for(var aw=0;aw<u.length;aw++){var au=u[aw];var G=au.displayName.indexOf(")");if(G>=0){var af=au.displayName.substring(2+G)}else{var af=au.displayName}au.searchName=af}ao.jqxDropDownList({height:27,rtl:m.rtl,placeHolder:m.schedulerLocalization.editDialogSelectTimeZoneString,width:"100%",theme:m.theme,searchMember:"searchName",source:u,displayMember:"displayName",valueMember:"id"});m.editDialogFields.timeZone=ao;m.editDialogFields.timeZoneLabel=W;m.editDialogFields.timeZoneContainer=w;m.initRepeatPanels(q,H,h.toDate());if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(m.editAppointment&&m.editAppointment.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}var K=a("<div></div>");H.append(K);var aA=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogDescriptionString+"</div>").appendTo(K);var O=a("<div class='"+m._editDialogField()+"'></div>").appendTo(K);var D=a("<textarea type='text' resizable='off' style='position:relative; top: 3px; padding:3px;'></textarea>").appendTo(O);D.jqxInput({rtl:m.rtl,height:40,width:"100%",theme:m.theme});D.css("box-sizing","border-box");m.editDialogFields.description=D;m.editDialogFields.descriptionLabel=aA;m.editDialogFields.descriptionContainer=K;var ac=a("<div></div>");H.append(ac);var aD=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogColorString+"</div>").appendTo(ac);var Q=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ac);var F=a("<div></div>").appendTo(Q);var I=function(aE){if(aE==-1){return""}var i=m.colors[aE];var aF="";var aF="";aF+="<div style='margin-top: 1px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};var an=function(aG,aE){if(aE<0){aG.css("top","4px");aG.css("position","relative");return aG[0].outerHTML}var i=m.colors[aE];var aF="";aF+="<div style='margin-top: 2px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};F.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:-1,placeHolder:m.schedulerLocalization.editDialogColorPlaceHolderString,selectionRenderer:an,renderer:I,source:m.colors,width:"100%",theme:m.theme});m.editDialogFields.color=F;m.editDialogFields.colorLabel=aD;m.editDialogFields.colorContainer=ac;var ah=a("<div></div>");H.append(ah);var az=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogStatusString+"</div>").appendTo(ah);var N=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ah);var B=a("<div></div>").appendTo(N);B.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:2,autoDropDownHeight:true,source:m.schedulerLocalization.editDialogStatuses,width:"100%",theme:m.theme});m.editDialogFields.status=B;m.editDialogFields.statusLabel=az;m.editDialogFields.statusContainer=ah;var ag=a("<div></div>");H.append(ag);var M=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogResourceIdString+"</div>").appendTo(ag);var am=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ag);var ab=a("<div></div>").appendTo(am);var E=new Array();for(var aw=0;aw<m._resources.length;aw++){E.push(m._resources[aw])}var v=true;if(E.length>10){v=false}ab.jqxDropDownList({height:27,rtl:m.rtl,source:E,selectedIndex:0,autoDropDownHeight:v,width:"100%",theme:m.theme});m.editDialogFields.resource=ab;m.editDialogFields.resourceLabel=M;m.editDialogFields.resourceContainer=ag;if(E.length==0){ag.hide()}if(!b&&k){m.editDialogFields.resource.val(k.resourceId)}var ae=a("<div></div>");H.append(ae);var al=a("<div style='width:100%;' class='"+m._editDialogField()+"'></div>").appendTo(ae);var ap=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogCancelString+"</button>").appendTo(al);var aj=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogDeleteString+"</button>").appendTo(al);var ak=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteSeriesString+"</button>").appendTo(al);var J=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteString+"</button>").appendTo(al);var aa=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogSaveString+"</button>").appendTo(al);var aB=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveSeriesString+"</button>").appendTo(al);var s=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveString+"</button>").appendTo(al);var ax=25;if(m.isTouchDevice()){ax=null}aj.jqxButton({rtl:m.rtl,theme:m.theme});ak.jqxButton({rtl:m.rtl,theme:m.theme});J.jqxButton({rtl:m.rtl,theme:m.theme});aa.jqxButton({rtl:m.rtl,theme:m.theme});ap.jqxButton({rtl:m.rtl,theme:m.theme});aB.jqxButton({rtl:m.rtl,theme:m.theme});s.jqxButton({rtl:m.rtl,theme:m.theme});aB.hide();s.hide();m.editDialogFields.saveOccurrenceButton=s;m.editDialogFields.saveSeriesButton=aB;m.editDialogFields.saveButton=aa;m.editDialogFields.cancelButton=ap;m.editDialogFields.deleteButton=aj;m.editDialogFields.deleteSeriesButton=ak;m.editDialogFields.deleteExceptionsButton=J;m.editDialogFields.buttons=al;m.addHandler(aj,"click",function(){q.jqxWindow("close");m.overlay.hide();m._deleteAppointment(m.editAppointment)});m.addHandler(ap,"click",function(){q.jqxWindow("close");m.overlay.hide()});m.addHandler(s,"click",function(){if(!m.editAppointment.isException()){if(m.editAppointment.rootAppointment!=null){m.editAppointment.rootAppointment.exceptions.push(m.editAppointment);m.editAppointment.rootAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}else{m.editAppointment.exceptions.push(m.editAppointment);m.editAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}}else{var aG=m.editAppointment.rootAppointment?m.editAppointment.rootAppointment.exceptions:m.editAppointment.exceptions;for(var aF=0;aF<aG.length;aF++){if(aG[aF].occurrenceFrom.equals(m.editAppointment.occurrenceFrom)){aG[aF]=m.editAppointment;break}}}var aE=m._setAppointmentPropertiesFromDialog(m.editAppointment,"occurrence");if(!aE){return}m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment.boundAppointment};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aB,"click",function(){var aE=m.editAppointment;if(aE.rootAppointment){aE=aE.rootAppointment}var i=m._setAppointmentPropertiesFromDialog(aE,"series");if(!i){return}m.changedAppointments[aE.id]={type:"Update",appointment:aE.boundAppointment};m._raiseEvent("appointmentChange",{appointment:aE.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aa,"click",function(){var i=true;if(m.editAppointment==null){var aE=new a.jqx.scheduler.appointment();i=m._setAppointmentPropertiesFromDialog(aE,"none");if(i){m.addAppointment(aE)}}else{if(m.editAppointment.rootAppointment){s.trigger("click");i=false}else{if(m.editAppointment.isRecurrentAppointment()){aB.trigger("click");i=false}else{i=m._setAppointmentPropertiesFromDialog(m.editAppointment,"none");if(i){m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment?m.editAppointment.boundAppointment:null};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows()}}}}if(i){q.jqxWindow("close");m.overlay.hide()}});m.addHandler(q,"close",function(i){m.overlay.hide();m.focus();if(m.editDialogClose){m.editDialogClose(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null)}m._raiseEvent("editDialogClose",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null})});if(m.editDialogCreate){m.editDialogCreate(q,m.editDialogFields,m.editAppointment)}m._raiseEvent("editDialogCreate",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null});q.jqxWindow({height:H[0].scrollHeight+40})}});m._editDialog=q}if(!m.dialogOpenings){m.dialogOpenings=0}m.removeHandler(m._editDialog,"open");m.addHandler(m._editDialog,"open",function(t){if(m.editDialogOpen&&m.editDialogFields){var i=m.editDialogOpen(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null);if(i==true){return}}if(m.rtl){m._editDialog.find(".jqx-scheduler-edit-dialog-label").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-label-rtl"));m._editDialog.find(".jqx-scheduler-edit-dialog-field").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-field-rtl"));m.editDialogFields.saveOccurrenceButton.css("float","left");m.editDialogFields.saveSeriesButton.css("float","left");m.editDialogFields.saveButton.css("float","left");m.editDialogFields.cancelButton.css("float","left");m.editDialogFields.deleteButton.css("float","left");m.editDialogFields.deleteSeriesButton.css("float","left");m.editDialogFields.deleteExceptionsButton.css("float","left");m.editDialogFields.buttons.css("width","auto");m.editDialogFields.allDay.css("float","right")}setTimeout(function(){var v=m.editAppointment?m.editAppointment.boundAppointment:null;if(m.editAppointment&&m.editAppointment.rootAppointment){v=m.editAppointment.rootAppointment.boundAppointment}m._raiseEvent("editDialogOpen",{dialog:m._editDialog,fields:m.editDialogFields,appointment:v})});var s=function(){setTimeout(function(){if(!c){m.editDialogFields.subject.focus();m.editDialogFields.subject.select()}else{m.editDialogFields.deleteButton.focus()}},1)};var u=m.editAppointment==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;m._editDialog.jqxWindow({title:u});if(0==m.dialogOpenings&&!b){m.dialogOpenings++;if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}m.editDialogFields.deleteButton.hide();s();return}if(m.editDialogFields){m.editDialogFields.subject.val("");m.editDialogFields.location.val("");s();m.editDialogFields.resetExceptions.val(false);m.editDialogFields.description.val("");if(!b){m.editDialogFields.deleteButton.hide()}if(b){m.dialogOpenings++;m.editDialogFields.deleteButton.show();m.editDialogFields.subject.val(b.subject);m.editDialogFields.location.val(b.location);m.editDialogFields.description.val(b.description);m.editDialogFields.timeZone.val(b.timeZone);if(m.colors.indexOf(b.borderColor)>=0){m.editDialogFields.color.val(b.borderColor)}else{m.editDialogFields.color.jqxDropDownList("clearSelection")}m.editDialogFields.allDay.val(b.allDay);m.editDialogFields.resource.val(b.resourceId);m.editDialogFields.status.val(b.status);if(b.timeZone){b.from=b.from.toTimeZone(b.timeZone);b.to=b.to.toTimeZone(b.timeZone)}d=b.from;h=b.to;if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}m._setAppointmentPropertiesToDialog(b,d,h,k?k.resourceId:null)}else{m.editDialogFields.saveButton.show();m._setAppointmentPropertiesToDialog(null,d,h,k?k.resourceId:null)}if(d&&h){m._changeFromUser=false;m.editDialogFields.from.val(d.toDate());m.editDialogFields.to.val(h.toDate());m._changeFromUser=true}if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}}});m.removeHandler(m._editDialog,"keydown");m.addHandler(m._editDialog,"keydown",function(s){if(m.editDialogKeyDown){var i=m.editDialogKeyDown(q,m.editDialogFields,m.editAppointment,s);if(i!=undefined){return i}}if(s.keyCode==13){if(a(document.activeElement).ischildof(m._editDialog)){if(document.activeElement.nodeName.toLowerCase()=="button"){return true}if(b){if(b.isException()||b.rootAppointment){m.editDialogFields.saveOccurrenceButton.trigger("click")}else{if(b.isRecurrentAppointment()){m.editDialogFields.saveSeriesButton.trigger("click")}else{m.editDialogFields.saveButton.trigger("click")}}}else{m.editDialogFields.saveButton.trigger("click")}}}else{if(s.keyCode==27){m.editDialogFields.cancelButton.trigger("click")}}})},openMenu:function(e,c){var d=this;if(!d.menu){d._initMenu()}var b=d._views[d._view].type;if(d.contextMenu&&d.menu){if(!d.selectedAppointment){d.menu.jqxMenu("hideItem","editAppointment")}else{d.menu.jqxMenu("showItem","editAppointment")}if(arguments.length<2){if(d.selectedAppointment){var f=d.selectedAppointment.coord();e=f.left;c=f.top}else{if(d.focusedCell){var f=a(d.focusedCell).coord()}}e=f.left;c=f.top}d.menu.jqxMenu("open",e,c);d._hasOpenedMenu=true}},closeMenu:function(){var b=this;if(b.contextMenu&&b.menu){setTimeout(function(){b.menu.jqxMenu("close")})}},closeDialog:function(){var b=this;b._editDialog.jqxWindow("close")},openDialog:function(d,e){var f=this;var c=f._views[f._view].type;if(f.selectedJQXAppointment){var b=f._initDialog(f.selectedJQXAppointment);if(b!==false){f._openDialog(d,e)}}else{if(f.getSelection()==null){f.focus();f.focusedCell.setAttribute("data-selected","true");f._lastSelectedCell=f.focusedCell;f._updateCellsSelection(f.focusedCell)}f._initDialog();f._openDialog(d,e)}},_openDialog:function(d,c){var f=this;var j=f._views[f._view].type;if(!f.editDialog){return}var e=f.host.coord();f.overlay.show();f.overlay.css("z-index",9999999);f.overlay.width(f.host.width());f.overlay.height(f.host.height());f.overlay.offset(e);var g=f.isTouchDevice();if(g){f._editDialog.jqxWindow("move",e.left,e.top);f._editDialog.jqxWindow({draggable:false,maxWidth:f.host.width(),maxHeight:f.host.height()});f._editDialog.jqxWindow({width:f.host.width(),height:f.host.height()});f._editDialog.jqxWindow("open");f._editDialog.jqxWindow("move",e.left,e.top)}else{if(d!=undefined&&c!=undefined){f._editDialog.jqxWindow("move",d,c);f._editDialog.jqxWindow("open")}else{var i=f._editDialog.height();if(i<400){i=400}var h=e.top+f.host.height()/2-i/2;var b=e.left+f.host.width()/2-f._editDialog.width()/2;f._editDialog.jqxWindow("move",b,h);f._editDialog.jqxWindow("open")}}setTimeout(function(){f.overlay.css("z-index",999)},50)},_setAppointmentPropertiesFromDialog:function(c,d){var e=this;var b=function(n){var x=e._views[e._view].type;var u=e._views[e._view];var A=e.editDialogFields.from.val("date");var h=e.editDialogFields.to.val("date");if(A>h){e.editDialogFields.from.jqxDateTimeInput("focus");return false}if(A==h){if(x.indexOf("month")>=0){return true}return false}n.resourceId=e.editDialogFields.resource.val();if(e.editDialogFields.resourceContainer.css("display")=="none"){n.resourceId=""}n.description=e.editDialogFields.description.val();n.allDay=e.editDialogFields.allDay.val();n.status=e.editDialogFields.status.val();n.location=e.editDialogFields.location.val();n.timeZone=e.editDialogFields.timeZone.val();if(n.timeZone==""&&e.timeZone!=""){n.timeZone=e.timeZone}n.from=new a.jqx.date(A,n.timeZone);n.to=new a.jqx.date(h,n.timeZone);if(e.timeZone){n.from=n.from.toTimeZone(e.timeZone);n.to=n.to.toTimeZone(e.timeZone)}else{n.from=n.from.toTimeZone(null);n.to=n.to.toTimeZone(null)}if(n.allDay){n.from=a.jqx.scheduler.utilities.getStartOfDay(n.from);n.to=a.jqx.scheduler.utilities.getEndOfDay(n.to)}if(e.editDialogFields.color.val()){var v=e.getAppointmentColors(e.editDialogFields.color.val());n.color=v.color;n.background=v.background;n.borderColor=v.border}n.subject=e.editDialogFields.subject.val();var f=e.editDialogFields.repeat.jqxDropDownList("selectedIndex");var r=new a.jqx.scheduler.recurrencePattern();var j=e.editDialogFields.repeatEndPanel;r.timeZone=e.timeZone;r.from=n.from.clone();if(d=="occurrence"){if(n.rootAppointment){r.from=n.rootAppointment.from.clone()}}if(e.editDialogFields.resetExceptions.val()){n.exceptions=new Array();n.recurrenceException=new Array()}if(j.repeatEndNever.val()){r.count=1000;r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndAfter.val()){r.count=j.repeatEndAfterValue.val();r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndOn.val()){r.count=1000;var h=new a.jqx.date(j.repeatEndOnValue.jqxDateTimeInput("getDate"),e.timeZone);r.to=h}}}switch(f){case 0:default:n.clearRecurrence();break;case 1:var k=e.editDialogFields.daily;var F=k.repeatDayInterval.val();r.interval=F;r.freq="daily";break;case 2:var w=e.editDialogFields.weekly;var F=w.repeatWeekInterval.val();var q=[{Sunday:0},{Monday:1},{Tuesday:2},{Wednesday:3},{Thursday:4},{Friday:5},{Saturday:6}];var p=w.repeatDays;var o=new Array();r.weekDays={};for(var C=0;C<7;C++){var B=p[C].val();if(B){if(C==0){o.push(6)}else{o.push(C-1)}a.extend(r.weekDays,q[C])}}r.freq="weekly";r.byweekday=o;r.interval=F;break;case 3:var D=e.editDialogFields.monthly;var F=D.repeatMonth.val();if(D.repeatMonthDayBool.val()){r.day=D.repeatMonthDay.val();r.bymonthday=new Array();r.bymonthday.push(r.day)}else{var y=D.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=D.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="monthly";r.interval=F;break;case 4:var G=e.editDialogFields.yearly;var F=G.repeatYear.val();if(G.repeatYearBool.val()){r.day=G.repeatYearDay.val();r.month=G.repeatYearMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);r.byyearday=new Array();r.byyearday.push(r.day)}else{r.month=G.repeatDayOfWeekMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);var y=G.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=G.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="yearly";r.interval=F;break}if(n.rootAppointment){n.rootAppointment.recurrencePattern=r}else{if(f>0){n.recurrencePattern=r}}var m={};var t={};for(var H in e.appointmentDataFields){var g=e.appointmentDataFields[H];var z=n[H];m[H]=z;if(H=="from"||H=="to"){z=z.toDate()}t[g]=z}m.originalData=t;m.jqxAppointment=n;n.boundAppointment=m;return true}(c);return b},_setAppointmentPropertiesToDialog:function(e,h,d,g){var f=this;var c=function(){var p=f.editDialogFields.repeatEndPanel;p.repeatEndNever.jqxRadioButton({checked:true});p.repeatEndAfter.jqxRadioButton({checked:false});p.repeatEndAfterValue.val(1);p.repeatEndOnValue.val(l);var l=d.toDate();if(f.editDialogFields.daily){var j=f.editDialogFields.daily;j.repeatDayInterval.val(1)}if(f.editDialogFields.weekly){var o=f.editDialogFields.weekly;for(var m=0;m<o.repeatDays.length;m++){if(m==1){o.repeatDays[m].jqxCheckBox({checked:true})}else{o.repeatDays[m].jqxCheckBox({checked:false})}}o.repeatWeekInterval.val(1)}if(f.editDialogFields.monthly){var n=f.editDialogFields.monthly;n.repeatDayOfWeek.jqxDropDownList("selectIndex",1);n.repeatDayOfWeekBool.jqxRadioButton({checked:false});n.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);n.repeatMonthDayBool.jqxRadioButton({checked:true});n.repeatMonthDay.val(1);n.repeatMonth.val(1)}if(f.editDialogFields.yearly){var k=f.editDialogFields.yearly;k.repeatDayOfWeekMonth.jqxDropDownList("selectIndex",0);k.repeatDayOfWeekBool.jqxRadioButton({checked:false});k.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);k.repeatDayOfWeek.jqxDropDownList("selectIndex",1);k.repeatYear.val(1);k.repeatYearMonth.jqxDropDownList("selectIndex",0);k.repeatYearDay.val(1);k.repeatYearBool.val(true)}};c();if(e&&e.isRecurrentAppointment()){if(!e.rootAppointment){f.editDialogFields.resetExceptionsContainer.show()}else{f.editDialogFields.resetExceptionsContainer.hide()}}else{if(e){f.editDialogFields.resetExceptionsContainer.hide();f.editDialogFields.repeat.jqxDropDownList("selectIndex",0)}}if(!e){f.editDialogFields.timeZone.jqxDropDownList("clearSelection");if(!g){f.editDialogFields.resource.jqxDropDownList("selectIndex",0)}else{f.editDialogFields.resource.val(g)}f.editDialogFields.allDay.val(false);if(f._views[f._view].type.indexOf("month")>=0||(h&&h.equals(d))||(d&&d.equals(a.jqx.scheduler.utilities.getEndOfDay(d))&&h&&h.equals(a.jqx.scheduler.utilities.getStartOfDay(h)))){f.editDialogFields.allDay.val(true)}f.editDialogFields.color.jqxDropDownList("clearSelection");f.editDialogFields.description.val("");f.editDialogFields.subject.val("");f.editDialogFields.repeat.jqxDropDownList("selectIndex",0);return}var b=function(j){var r=j.recurrencePattern;if(j.rootAppointment){var r=j.rootAppointment.recurrencePattern}if(r==null){return}var k=r.freq;var p=0;if(k=="daily"){p=1}if(k=="weekly"){p=2}if(k=="monthly"){p=3}if(k=="yearly"){p=4}var n=f.editDialogFields.repeatEndPanel;if(r.count!=1000){n.repeatEndNever.jqxRadioButton({checked:false});n.repeatEndAfter.jqxRadioButton({checked:true});n.repeatEndAfterValue.val(r.count)}else{if(r.to.year()!=9999){n.repeatEndOn.jqxRadioButton({checked:true});n.repeatEndOnValue.val(r.to.toDate())}else{n.repeatEndNever.jqxRadioButton({checked:true})}}f.editDialogFields.repeat.jqxDropDownList("selectIndex",p);switch(p){case 1:var l=r.interval;var q=f.editDialogFields.daily;q.repeatDayInterval.val(l);break;case 2:var l=r.interval;var z=f.editDialogFields.weekly;z.repeatWeekInterval.val(l);var y=r.byweekday;for(var o=0;o<7;o++){var w=z.repeatDays[o];w.val(false)}for(var o=0;o<y.length;o++){var w=y[o];if(w==6){z.repeatDays[0].val(true)}else{z.repeatDays[w+1].val(true)}}break;case 3:var u=f.editDialogFields.monthly;u.repeatMonth.val(r.interval);if(r.bymonthday&&r.bymonthday.length>0){u.repeatMonthDayBool.jqxRadioButton({checked:true});u.repeatMonthDay.val(r.day)}else{u.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}u.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}u.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break;case 4:var t=f.editDialogFields.yearly;if(r.byyearday&&r.byyearday.length>0){t.repeatYearDay.val(r.byyearday[0]);t.repeatYearBool.val(true)}if(r.bymonth&&r.bymonth.length>0){t.repeatYearMonth.val(r.bymonth[0]);t.repeatYearBool.val(true)}if(!r.byyearday||(r.byyearday&&r.byyearday.length==0)){t.repeatDayOfWeekMonth.val(r.bymonth[0]);t.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}t.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}t.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break}};b(e)}});a.jqx.scheduler.column=function(b,c){this.owner=b;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="center";this.cellsalign="center";this.width="auto";this.minwidth=60;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(d,e){if(this[d]){var f=this[d];this[d]=e;this.owner._columnPropertyChanged(this,d,e,f)}else{if(this[d.toLowerCase()]){var f=this[d.toLowerCase()];this[d.toLowerCase()]=e;this.owner._columnPropertyChanged(this,d.toLowerCase(),e,f)}}};this._initfields=function(e){if(e!=null){var d=this;if(a.jqx.hasProperty(e,"dataField")){this.datafield=a.jqx.get(e,"dataField")}if(a.jqx.hasProperty(e,"displayField")){this.displayfield=a.jqx.get(e,"displayField")}else{this.displayfield=this.datafield}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"validation")){this.validation=a.jqx.get(e,"validation")}if(a.jqx.hasProperty(e,"autoCellHeight")){this.autoCellHeight=a.jqx.get(e,"autoCellHeight")}if(a.jqx.hasProperty(e,"text")){this.text=a.jqx.get(e,"text")}else{this.text=this.displayfield}if(a.jqx.hasProperty(e,"sortable")){this.sortable=a.jqx.get(e,"sortable")}if(a.jqx.hasProperty(e,"hidden")){this.hidden=a.jqx.get(e,"hidden")}if(a.jqx.hasProperty(e,"groupable")){this.groupable=a.jqx.get(e,"groupable")}if(a.jqx.hasProperty(e,"renderer")){this.renderer=a.jqx.get(e,"renderer")}if(a.jqx.hasProperty(e,"align")){this.align=a.jqx.get(e,"align")}if(a.jqx.hasProperty(e,"cellsAlign")){this.cellsalign=a.jqx.get(e,"cellsAlign")}if(a.jqx.hasProperty(e,"cellsFormat")){this.cellsFormat=a.jqx.get(e,"cellsFormat")}if(a.jqx.hasProperty(e,"width")){this.width=a.jqx.get(e,"width")}if(a.jqx.hasProperty(e,"minWidth")){this.minwidth=a.jqx.get(e,"minWidth")}if(a.jqx.hasProperty(e,"maxWidth")){this.maxwidth=a.jqx.get(e,"maxWidth")}if(a.jqx.hasProperty(e,"cellsRenderer")){this.cellsRenderer=a.jqx.get(e,"cellsRenderer")}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"pinned")){this.pinned=a.jqx.get(e,"pinned")}if(a.jqx.hasProperty(e,"filterable")){this.filterable=a.jqx.get(e,"filterable")}if(a.jqx.hasProperty(e,"filter")){this.filter=a.jqx.get(e,"filter")}if(a.jqx.hasProperty(e,"resizable")){this.resizable=a.jqx.get(e,"resizable")}if(a.jqx.hasProperty(e,"draggable")){this.draggable=a.jqx.get(e,"draggable")}if(a.jqx.hasProperty(e,"editable")){this.editable=a.jqx.get(e,"editable")}if(a.jqx.hasProperty(e,"initEditor")){this.initeditor=a.jqx.get(e,"initEditor")}if(a.jqx.hasProperty(e,"createEditor")){this.createeditor=a.jqx.get(e,"createEditor")}if(a.jqx.hasProperty(e,"destroyEditor")){this.destroyeditor=a.jqx.get(e,"destroyEditor")}if(a.jqx.hasProperty(e,"getEditorValue")){this.geteditorvalue=a.jqx.get(e,"getEditorValue")}if(a.jqx.hasProperty(e,"className")){this.classname=a.jqx.get(e,"className")}if(a.jqx.hasProperty(e,"cellClassName")){this.cellclassname=a.jqx.get(e,"cellClassName")}if(a.jqx.hasProperty(e,"rendered")){this.rendered=a.jqx.get(e,"rendered")}if(a.jqx.hasProperty(e,"exportable")){this.exportable=a.jqx.get(e,"exportable")}if(a.jqx.hasProperty(e,"nullable")){this.nullable=a.jqx.get(e,"nullable")}if(a.jqx.hasProperty(e,"columnGroup")){this.columngroup=a.jqx.get(e,"columnGroup")}if(!e instanceof String&&!(typeof e=="string")){for(var f in e){if(!d.hasOwnProperty(f)){if(!d.hasOwnProperty(f.toLowerCase())){b.host.remove();throw new Error("jqxScheduler: Invalid property name - "+f+".")}}}}}};this._initfields(c);return this};a.jqx.schedulerDataCollection=function(b){this.records=new Array();this.owner=b;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(d,c){this.records[d]=c};this.isempty=function(c){if(this.records[c]==undefined){return true}return false};this.initialize=function(c){if(c<1){c=1}this.records[c-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(c){return this.records.indexOf(c)};this.add=function(c){if(c==null){return false}this.records[this.records.length]=c;return true};this.insertAt=function(d,c){if(d==null||d==undefined){return false}if(c==null){return false}if(d>=0){if(d<this.records.length){this.records.splice(d,0,c);return true}else{return this.add(c)}}return false};this.remove=function(d){if(d==null||d==undefined){return false}var c=this.records.indexOf(d);if(c!=-1){this.records.splice(c,1);return true}return false};this.removeAt=function(d){if(d==null||d==undefined){return false}if(d<0){return false}if(d<this.records.length){var c=this.records[d];this.records.splice(d,1);return true}return false};return this};a.jqx.scheduler.dataView=function(b){this.that=this;this.scheduler=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(c,i){var l=this;if(a.isArray(c)){l.update(c);return}var j=c._source?true:false;var e=null;this._sortData=null;this._sortHierarchyData=null;if(j){e=c;c=c._source}else{e=new a.jqx.dataAdapter(c,{autoBind:false})}var f=function(p){e.recordids=[];e.records=new Array();e.cachedrecords=new Array();e.originaldata=new Array();e._options.totalrecords=p.totalrecords;e._options.originaldata=p.originaldata;e._options.recordids=p.recordids;e._options.cachedrecords=new Array();e._options.pagenum=p.pagenum;e._options.pageable=p.pageable;if(c.type!=undefined){e._options.type=c.type}if(c.formatdata!=undefined){e._options.formatData=c.formatdata}if(c.contenttype!=undefined){e._options.contentType=c.contenttype}if(c.async!=undefined){e._options.async=c.async}if(c.updaterow!=undefined){e._options.updaterow=c.updaterow}if(c.addrow!=undefined){e._options.addrow=c.addrow}if(c.deleterow!=undefined){e._options.deleterow=c.deleterow}if(p.pagesize==0){p.pagesize=10}e._options.pagesize=p.pagesize};var m=function(p){p.originaldata=e.originaldata;p.records=e.records;p.hierarchy=e.hierarchy;if(!p.scheduler.serverProcessing){p._sortData=null;p._sortfield=null;p._filteredData=null;p._sortHierarchyData=null}if(!p.hierarchy){p.hierarchy=new Array();e.hierarchy=new Array()}if(e._source.totalrecords){p.totalrecords=e._source.totalrecords}else{if(e._source.totalRecords){p.totalrecords=e._source.totalRecords}else{if(p.hierarchy.length!==0){p.totalrecords=p.hierarchy.length}else{p.totalrecords=p.records.length}}}p.cachedrecords=e.cachedrecords};f(this);this.source=c;if(i!==undefined){var n=i}var l=this;switch(c.datatype){case"local":case"array":default:if(c.localdata==null){c.localdata=[]}if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k)}break;case"ics":case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(p){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k);return}var h={};var g=0;var o={};var d=e._options.data;if(e._options.data){a.extend(e._options.data,o)}else{if(c.data){a.extend(o,c.data)}e._options.data=o}var k=function(){var q=a.jqx.browser.msie&&a.jqx.browser.version<9;var r=function(){m(l);l.update(e.records)};if(q){try{r()}catch(p){}}else{r()}};e.unbindDownloadComplete(b+l.scheduler.element.id);e.bindDownloadComplete(b+l.scheduler.element.id,k);e._source.loaderror=function(r,p,q){k()};if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}e._options.data=d}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(a.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(d)&&a.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(a.jqx.dataFormat.isDate(d)&&a.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(d)&&!a.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(l){if(this.scheduler.serverProcessing){return l}var c=new Array();if(this.filters.length){var f=new Array();var k=function(o,s){for(var q=0;q<o.length;q++){var r=o[q];r._visible=true;var m=undefined;for(var p=0;p<this.filters.length;p++){var n=this.filters[p].filter;var t=r[this.filters[p].datafield];var u=n.evaluate(t);if(m==undefined){m=u}else{if(n.operator=="or"){m=m||u}else{m=m&&u}}}r._visible=false;if(m||r.aggregate){r._visible=true;s.push(r);f[r.uid]=r}}};if(!this._filteredData){if(this.source.hierarchy||(this.scheduler.source.hierarchy&&this.scheduler.source.hierarchy.length>0)){var j=new Array();var g=function(n,o){for(var m=0;m<o.length;m++){var p=o[m];j.push(p);if(p.records&&p.records.length>0){g(p,p.records)}}};g(null,l);k.call(this,j,c);for(var d=0;d<c.length;d++){var e=c[d];while(e.parent){var h=e.parent;if(!f[h.uid]){h._visible=true;f[h.uid]=h}e=h}}c=l}else{k.call(this,l,c)}this._filteredData=c;this.rows=c}else{this.rows=this._filteredData}}else{this.rows=l}return this.rows};this.getid=function(j,d,e){if(a(j,d).length>0){return a(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=a(d).attr(j);if(c!=null&&c.toString().length>0){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.scheduler.appointmentsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.scheduler.appointmentsByKey["jqx"+f];if(!g){var g=this.scheduler.appointmentsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
+(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.scheduler.utilities={weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},guid:function(){function b(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return b()+b()},areWeekDaysIncluded:function(d,c){var b=false;a.each(d,function(e,f){if(f===c){b=true;return false}});return b},getStartOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),0,0,0);b.timeZone=c.timeZone;return b},getEndOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),23,59,59);b.timeZone=c.timeZone;return b},getDaysCount:function(d,c){var b=1;while(d<c){if(d.day()!=c.day()){b++}d=d.addDays(1)}return b},getStartOfWeek:function(e,g){var c=e.dayOfWeek();var b=g.firstDay;if(c<b){c+=7}var d=c-b;var f=e.addDays(-d);return f.date()},getEndOfWeek:function(d,f,c){var e=this;var g=7;var b=e.getStartOfWeek(d,f,c);return b.addDays(g)},getEndOfMonth:function(d,e){var c=d.daysInMonth();var b=new a.jqx.date(d.year(),d.month(),c,23,59,59);b.timeZone=d.timeZone;return b},rangeIntersection:function(i,h,f,e){var g=i.valueOf();var d=f.valueOf();var c=h.valueOf();var b=e.valueOf();if(d>=g&&d<c){return true}if(d<g&&b>g){return true}if(g==d||c==b){return true}if(g<d){if(c>d&&c<b){return true}if(c>b){return true}}else{if(b>g&&b<c){return true}if(b>c){return true}}return false},rangeContains:function(e,d,c,b){return(e<=c&&b<=d)},monthDays:[31,28,31,30,31,30,31,31,30,31,30,31],msPerDay:1000*60*60*24,maxYear:9999,ORDINAL_BASE:new Date(1970,0,1),getYearDay:function(b){var c=new Date(b.getFullYear(),b.getMonth(),b.getDate());return Math.ceil((c-new Date(b.getFullYear(),0,1))/a.jqx.scheduler.utilities.msPerDay)+1},isLeapYear:function(b){if(b instanceof Date){b=b.getFullYear()}return((b%4===0)&&(b%100!==0))||(b%400===0)},tzOffset:function(b){return b.getTimezoneOffset()*60*1000},monthRange:function(c,d){var b=new Date(c,d,1);return[a.jqx.scheduler.utilities.getWeekday(b),a.jqx.scheduler.utilities.getMonthDays(b)]},getMonthDays:function(b){var c=b.getMonth();return c==1&&a.jqx.scheduler.utilities.isLeapYear(b)?29:a.jqx.scheduler.utilities.monthDays[c]},getWeekday:function(b){var c=[6,0,1,2,3,4,5];return c[b.getDay()]},combine:function(b,c){c=c||b;return new Date(b.getFullYear(),b.getMonth(),b.getDate(),c.getHours(),c.getMinutes(),c.getSeconds())},sort:function(b){b.sort(function(d,c){return d.getTime()-c.getTime()})},timeToUntilString:function(e){var c=new Date(e);var b,f=[c.getUTCFullYear(),c.getUTCMonth()+1,c.getUTCDate(),"T",c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),"Z"];for(var d=0;d<f.length;d++){b=f[d];if(!/[TZ]/.test(b)&&b<10){f[d]="0"+String(b)}}return f.join("")},untilStringToDate:function(d){var b=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/;var c=b.exec(d);if(!c){throw new Error("Invalid UNTIL value: "+d)}return new Date(Date.UTC(c[1],c[2]-1,c[3],c[5]||0,c[6]||0,c[7]||0))},Time:function(b,e,c){this.hour=b;this.minute=e;this.second=c;this.that=this;var d=this;this.getHours=function(){return d.hour};this.getMinutes=function(){return d.minute},this.getSeconds=function(){return d.second},this.getTime=function(){return((d.hour*60*60)+(d.minute*60)+d.second)*1000}}};a.jqx.scheduler.appointment=function(){var c=this;c.from=new a.jqx.date();c.to=new a.jqx.date().addHours(1);c.subject="";c.description="";c.location="";c.tooltip="";c.hidden=false;c.resourceId=null;c.id="";c.background=null;c.color=null;c.borderColor=null;c.status="busy";c.style=null;c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.occurrenceEnumerator=null;c.rootAppointment=null;c.hiddenByResourceId=false;c.draggable=true;c.resizable=true;c.recurrentAppointment=false;c.allDay=false;c.readOnly=false;c.showStatus=true;c.timeZone=null;c.scheduler=null;c.elements=new Array();c.appointmentObject=true;c.duration=function(){var e=c.to-c.from;var f=e*10000;return new a.jqx.timeSpan(f)};c.toJSON=function(h){var e=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var g=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(!k?""+l.getFullYear()+"-"+g(l.getMonth()+1)+"-"+g(l.getDate())+"T"+g(l.getHours())+":"+g(l.getMinutes())+":"+g(l.getSeconds())+"Z":""+l.getUTCFullYear()+"-"+g(l.getUTCMonth()+1)+"-"+g(l.getUTCDate())+"T"+g(l.getUTCHours())+":"+g(l.getUTCMinutes())+":"+g(l.getUTCSeconds())+"Z"))};var f=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=c.recurrenceException[l].toString();if(l<c.recurrenceException.length-1){k+=","}}return k};var i={};i.id=c.id;i.from=j(c.from.toDate(),h);i.to=j(c.to.toDate(),h);i.subject=c.subject;i.status=c.status;i.location=c.location;i.description=c.description;i.title=c.title;i.resourceId=c.resourceId;if(c.recurrencePattern){i.recurrencePattern=c.recurrencePattern.toString()}else{i.recurrencePattern=""}if(c.recurrenceException&&c.recurrenceException.length>0){i.recurrenceException=f()}else{i.recurrenceException=""}i.dtstamp=j(new Date(),h);return JSON.stringify(i)};c.toString=function(i){var f=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var h=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(k?""+l.getFullYear()+h(l.getMonth()+1)+h(l.getDate())+"T"+h(l.getHours())+h(l.getMinutes())+h(l.getSeconds()):""+l.getUTCFullYear()+h(l.getUTCMonth()+1)+h(l.getUTCDate())+"T"+h(l.getUTCHours())+h(l.getUTCMinutes())+h(l.getUTCSeconds())+"Z"))};var g=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=j(c.recurrenceException[l].toDate(),i);if(l<c.recurrenceException.length-1){k+=","}}return k};var e=c.status;if(!e){e="CONFIRMED"}if(e.toLowerCase()=="busy"){e="CONFIRMED"}if(e.toLowerCase()=="tentative"){e="TENTATIVE"}if(e.toLowerCase()=="free"){e="CANCELLED"}if(e.toLowerCase()=="outOfOffice"){e="CANCELLED"}return"BEGIN:VEVENT\nUID:"+c.id+"\nDTSTAMP:"+j(new Date(),i)+"\n"+f("TITLE:"+c.subject)+"\nDTSTART:"+j(c.from.toDate(),i)+"\nDTEND:"+j(c.to.toDate(),i)+"\n"+(c.recurrencePattern?"RRULE:"+c.recurrencePattern.toString()+"\n":"")+(c.recurrenceException&&c.recurrenceException.length>0?"EXDATE:"+g()+"\n":"")+(c.subject?f("SUMMARY:"+c.subject)+"\n":"")+"TRANSP:OPAQUE\n"+(c.status?f("STATUS:"+e)+"\n":"")+(c.description?f("DESCRIPTION:"+c.description)+"\n":"")+(c.location?f("LOCATION:"+c.location)+"\n":"")+"END:VEVENT"};c.range=function(){if(!c.allDay){return{from:c.from,to:c.to}}else{return{from:a.jqx.scheduler.utilities.getStartOfDay(c.from),to:a.jqx.scheduler.utilities.getEndOfDay(c.to)}}};c.clearRecurrence=function(){if(c.recurrencePattern){c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.hidden=false}};c.isAllDayAppointment=function(){return this.duration().days()>=1||this.allDay};c.cloneAppointmentAttributes=function(e){e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.rootAppointment=c;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.hidden=c.hidden;e.timezone=c.timeZone;e.style=c.style;e.hiddenByResourceId=c.hiddenByResourceId};c.createOccurrence=function(g){if(g==null){return null}var f=new a.jqx.scheduler.appointment();f.allDay=c.allDay;var e=c.duration();if(c.allDay){e=new a.jqx.timeSpan(10000*(c.to-c.from))}f.from=g;f.to=g.add(e);f.occurrenceFrom=g.clone();f.subject=c.subject;f.description=c.description;f.location=c.location;f.tooltip=c.tooltip;f.resourceId=c.resourceId;f.category=c.category;f.status=c.status;f.rootAppointment=c;f.color=c.color;f.draggable=c.draggable;f.resizable=c.resizable;f.borderColor=c.borderColor;f.background=c.background;f.recurrentAppointment=true;f.timeZone=c.timeZone;f.style=c.style;f.hiddenByResourceId=c.hiddenByResourceId;f.boundAppointment=c.boundAppointment;if(c.hiddenByResourceId){f.hidden=true}f.id=c.id+"."+a.jqx.scheduler.utilities.guid();c.hidden=true;c.occurrenceIndex++;return f};c.clone=function(){var e=new a.jqx.scheduler.appointment();e.allDay=c.allDay;e.from=c.from.clone();e.to=c.to.clone();e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.style=c.style;e.timeZone=c.timeZone;e.hiddenByResourceId=c.hiddenByResourceId;if(c.hiddenByResourceId){e.hidden=true}e.id=c.id+"."+a.jqx.scheduler.utilities.guid();return e};c.isRecurrentAppointment=function(){return c.recurrentAppointment||c.recurrencePattern!=null};c.anyExceptions=function(){return c.exceptions!=null&&c.exceptions.length>0};c.anyOccurrences=function(){return c.occurrenceEnumerator!=null&&c.occurrenceEnumerator.getNextAppointment()};c.isException=function(){var g=c.rootAppointment||this;if(!g.recurrenceException){return false}for(var f=0;f<g.recurrenceException.length;f++){var e=g.recurrenceException[f];if(c.occurrenceFrom&&e.equals(c.occurrenceFrom)){return true}}return false};c.getOccurrences=function(h,g){c.occurrenceIndex=0;var f=h!==null?h:c.from;var e=new a.jqx.scheduler.recurrentAppointmentsList(c,c.calendar,f,g,c.scheduler);c.occurrences=e.list;return e.list};if(arguments.length===1){if(a.type(arguments[0])=="object"){for(var b in arguments[0]){var d=arguments[0][b];if(this[b]!==undefined){this[b]=d}}}else{c.from=arguments[0];c.to=new a.jqx.date(c.from).addHours(1)}}else{if(arguments.length===2){c.from=arguments[0];c.to=arguments[1]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2];c.description=arguments[3]}}}}if(c.recurrencePattern!=null){c.recurrencePattern.setFrom(c.from)}};a.jqx.scheduler.recurrentAppointmentsList=function(){var b=this;b.recurrentAppointment=null;b.currentTime=null;b.calendar=a.jqx.scheduler.calendar;b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31);b.foundItems=0;b.list=new Array();b.scheduler=null;b.getOccurrences=function(c,e,d){if(c==undefined){return b.list}return new a.jqx.scheduler.recurrentAppointmentsList(c,b.calendar,e,d).list};b.current=function(){return b.recurrentAppointment.createOccurrence(b.currentTime)};b.fillList=function(){b.currentTime=null;b.foundItems=0;b.list=new Array();var c=b.recurrentAppointment.recurrencePattern;c.step=0;c.current=0;c.currentYearDay=0;if(c==null){return false}while(b.getNextAppointment(c)){var d=b.current();if(d){b.list.push(d)}}};b.getNextAppointment=function(h){if(b.recurrentAppointment==null){return false}var d=4294967295;var j=this.scheduler._views[this.scheduler._view].type;var l=this.scheduler._views[this.scheduler._view];var f=0;switch(h.freq){case"weekly":f=7;break;case"monthly":f=31;break;case"yearly":f=365;break}for(var e=0;e<d;e++){var k=h.getNewOccurenceDate();if(!k){continue}h.currentTime=k;if((h.to<k&&h.to.addDays(f)>=k)||(b.to<k&&b.to.addDays(f)>=k)){b.currentTime=null;return true}if(a.jqx.scheduler.utilities.getEndOfDay(h.to).addDays(f)<k||a.jqx.scheduler.utilities.getEndOfDay(b.to).addDays(f)<k){b.currentTime=null;return false}var g=true;g=b.getCanSetTime(h,k,g);if(h.canCreateNewOccurence(k,b.calendar)){var c=true;if(false===l.showWeekends){if(k.dayOfWeek()==6||k.dayOfWeek()==0){c=false}}if(c){b.foundItems++}}if(!g){continue}b.currentTime=k;if(b.foundItems>h.count){return false}return true}return false};b.getCanSetTime=function(c,e,d){if(!c.canCreateNewOccurence(e,b.calendar)){d=false}if(e<b.from&&e.add(b.recurrentAppointment.duration())<=b.from){d=false}if(b.to<=e){d=false}return d};b.isException=function(f,c,g){var e=b.recurrentAppointment.exceptions;for(var d=0;d<e.length;d++){if(g.isDateInExceptionAppointment(f,c,e[d])){if(-1===g.newExceptions.indexOf(e[d])){return true}}}return false};if(arguments&&arguments.length>0){b.recurrentAppointment=arguments[0];if(arguments[1]){b.calendar=arguments[1]}if(arguments[2]){b.from=arguments[2]}if(arguments[3]){b.to=arguments[3]}if(arguments[4]){b.scheduler=arguments[4]}if(arguments[2]===undefined){b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31)}if(b.scheduler&&b.scheduler.localization){b.calendar.firstDay=b.scheduler.localization.firstDay}b.fillList()}return b};a.jqx.scheduler.recurrencePattern=function(){var c=this;var b={from:new a.jqx.date(0),to:new a.jqx.date(9999,12,31),count:1000,interval:1,exceptions:new Array(),newExceptions:new Array(),month:1,day:1,current:0,currentYearDay:0,step:0,days:[],bynweekday:[],isEveryWeekDay:true,timeZone:null,weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},freq:"daily",bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null};a.extend(true,c,b);c.getNewOccurenceDate=function(){var o=function(n,C){var k=0,D=[];if(n instanceof Array){for(;k<C;k++){D[k]=[].concat(n)}}else{for(;k<C;k++){D[k]=n}}return D};var d=function(k,i){var n=k%i;return(n*i<0)?n+i:n};var v=function(D,k){if(arguments.length===1){k=D;D=0}var n=[];for(var C=D;C<k;C++){n.push(C)}return n};var u=[0,31,60,91,121,152,182,213,244,274,305,335,366];var l=[0,31,59,90,120,151,181,212,243,273,304,334,365];var r=c.from.year();var j=[6,0,1,2,3,4,5];var q=function(i){c.yearlen=i%4==0&&(i%100!=0||i%400==0)?366:365;c.nextyearlen=(1+i)%4==0&&((1+i)%100!=0||(1+i)%400==0)?366:365;var k=new Date(i,0,1);var C=j[new Date(i,0,1).getDay()];var n=(function(){for(var D=[],E=0;E<55;E++){D=D.concat(v(7))}return D}());if(c.yearlen==365){c.wdaymask=n.slice(C);c.mrange=[].concat(l)}else{c.wdaymask=n.slice(C);c.mrange=[].concat(u)}};q(r);switch(c.freq){case"daily":default:var g=c.from.add(new a.jqx.timeSpan(c.step*c.interval,0,0,0));c.step++;return g;case"weekly":if(c.byweekday){var g=new a.jqx.date(c.from,c.timeZone);var t=j[c.from.dayOfWeek()];g=g.addDays(7*(c.step));g=g.addDays(c.byweekday[c.current]);g=g.addDays(-t);if(g<c.from){g=null}c.current++;if(undefined==c.byweekday[c.current]){c.current=0;c.step++}}return g;case"monthly":if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);c.step++;for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;var g=new a.jqx.date(c.from.year(),c.from.month(),A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths((c.step-1)*c.interval)}else{if(c.bymonthday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.bymonthday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.current++;if(!c.bymonthday[c.current]){c.current=0;c.step++}}else{var g=new a.jqx.date(c.from.year(),c.from.month(),c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.step++}}return g;case"yearly":if(c.bymonth&&c.bymonth.length>0){if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;g=new a.jqx.date(g.year(),c.bymonth[c.current],A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;c.step++}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.byyearday[c.currentYearDay],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.currentYearDay++;if(!c.byyearday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.from.day(),c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.byyearday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.byyearday[c.current]){c.current=0;c.step++}}else{if(c.byweekno!=null){var p=function(n,k){var i=1;var C=new a.jqx.date(k.year(),1,1,k.hour(),k.minute(),k.second());C.timeZone=c.timeZone;while(i!=n){C=C.addDays(7);i++;if(i>53){break}}while(a.jqx.scheduler.utilities.getWeekday(C.toDate())!=c.wkst){C=C.addDays(1)}return C};var g=c.from.addYears(c.step*c.interval);g=p(c.byweekno[c.current],g);if(c.byweekday){var e=g;for(var z=0;z<7;z++){if(j[e.dayOfWeek()]===c.byweekday[c.currentYearDay]){break}e=e.addDays(1)}g=e;c.currentYearDay++;if(!c.byweekday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.month,c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.step++}}}return g}};c.isDateInExceptionAppointment=function(d,e,f){switch(c.freq){case"daily":case"weekly":default:return d.year()==f.from.year()&&d.dayOfYear()==f.from.dayOfYear()}};c.createNewPattern=function(){if(c.ical){var d=new a.jqx.scheduler.recurrencePattern(c.ical);return d}else{var d=new a.jqx.scheduler.recurrencePattern();d.from=c.from;d.to=c.to;d.count=c.count;d.interval=c.interval;d.exceptions=c.exceptions;d.newExceptions=c.newExceptions;d.weekDays=c.weekDays;d.isEveryWeekDay=c.isEveryWeekDay;d.month=c.month;d.day=c.day;d.current=c.current;d.currentYearDay=c.currentYearDay;d.step=c.step;d.days=c.days;d.bynweekday=c.bynweekday;d.bymonth=c.bymonth;d.bymonthday=c.bymonthday;d.byyearday=c.byyearday;d.byweekno=c.byweekno;d.byweekday=c.byweekday;d.freq=d.freq;d.timeZone=d.timeZone;return d}};c.equals=function(e){var d=c.from==e.from&&c.to==e.to&&c.count===e.count&&c.interval===e.interval&&c.day===e.day&&c.month===e.month;return d};c.isDayOfWeekIncluded=function(e){var d=e.dayOfWeek();return a.jqx.scheduler.utilities.areWeekDaysIncluded(c.weekDays,d)};c.getWeekIndexFromDate=function(g,f){var e=f.firstDay;var h=a.jqx.scheduler.utilities.getStartOfWeek(c.from,f,e);var d=new a.jqx.timeSpan(g.subtract(h));return parseInt(d.days()/7)};c.canCreateNewOccurence=function(e,g){var d=e.toDate();switch(c.freq){case"daily":default:if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(c.isEveryWeekDay){if(!c.isDayOfWeekIncluded(e,g)){return false}else{return true}}else{return true}break;case"weekly":var f=c.getWeekIndexFromDate(e,g);if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if((f%c.interval)!=0){return false}if(c.weekDays=={}){var h=e;if(c.from.dayOfWeek()!=h.dayOfWeek()){return false}}else{if(!c.isDayOfWeekIncluded(e,g)){return false}}break;case"monthly":case"yearly":if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(e<c.from){return false}break}return true};c.toString=function(){var d={};d.dtstart=this.from.toDate();d.until=this.to?this.to.toDate():null;d.count=this.count;var e={};e.YEARLY=0;e.MONTHLY=1;e.WEEKLY=2;e.DAILY=3;e.HOURLY=4;e.MINUTELY=5;e.SECONDLY=6;d.freq=e[this.freq.toUpperCase()];if(d.freq=="YEARLY"){d.bymonth=this.bymonth?this.bymonth:new Array().push(this.month)}d.byweekday=new Array();var g=["MO","TU","WE","TH","FR","SA","SU"];a.each(this.weekDays,function(){var h=this;h--;if(h<0){h=6}d.byweekday.push(h)});if(this.byyearday!=undefined){d.byyearday=this.byyearday}if(this.byweekno!=undefined){d.byweekno=this.byweekno}d.bymonthday=this.bymonthday;d.wkst=g[this.wkst];d.interval=this.interval;var f=new a.jqx.ICalRule(d);return f.toString()};c.init=function(j){var d=new a.jqx.ICalRule(c.ical,j);var f=d.options;c.from=f.dtstart?new a.jqx.date(f.dtstart,c.timeZone):c.from;c.count=f.count!=undefined?f.count:c.count;c.freq=d.FREQUENCIES[f.freq].toLowerCase();c.interval=f.interval!=undefined?f.interval:c.interval;c.to=f.until?new a.jqx.date(f.until,c.timeZone):c.to;c.wkst=f.wkst;c.bymonth=f.bymonth;if(c.bymonth&&c.bymonth.length>0){c.month=c.bymonth[0]}else{c.month=c.from.month()}c.day=c.from.day();if(f.byweekday!=undefined){var h={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};c.weekDays={};for(var g=0;g<f.byweekday.length;g++){var e=f.byweekday[g];switch(e){case 0:c.weekDays.Monday=1;break;case 1:c.weekDays.Tuesday=2;break;case 2:c.weekDays.Wednesday=3;break;case 3:c.weekDays.Thursday=4;break;case 4:c.weekDays.Friday=5;break;case 5:c.weekDays.Saturday=6;break;case 6:c.weekDays.Sunday=0;break}}c.byweekday=f.byweekday}c.byweekno=f.byweekno;if(f.bynweekday){c.bynweekday=f.bynweekday}if(f.bymonthday!=undefined){c.bymonthday=f.bymonthday.sort();if(c.bymonthday[0]){c.day=c.bymonthday[0]}}if(f.byyearday!=undefined){c.day=f.byyearday[0];c.byyearday=f.byyearday.sort()}return f};c.setFrom=function(d){c.from=d.clone();if(c.ical){c.init(d)}};if(arguments.length==1){c.ical=arguments[0];c.init()}return c};a.jqx.scheduler.calendar={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","};a.jqx.ICalRule=function(u,n){var D=this;var m=function(R,j){if(arguments.length===1){j=R;R=0}var k=[];for(var v=R;v<j;v++){k.push(v)}return k};var A=function(k,v){var j=0,R=[];if(k instanceof Array){for(;j<v;j++){R[j]=[].concat(k)}}else{for(;j<v;j++){R[j]=k}}return R};var C=function(i){return(i instanceof Array&&i.length==0)?false:Boolean(i)};var B=function(i,j){return i.indexOf(j)!=-1};var G=[].concat(A(1,31),A(2,28),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var s=[].concat(A(1,31),A(2,29),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var h=m(1,29),g=m(1,30),P=m(1,31),O=m(1,32);var J=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var b=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));h=m(-28,0);g=m(-29,0);P=m(-30,0);O=m(-31,0);var K=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var e=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var c=[0,31,60,91,121,152,182,213,244,274,305,335,366];var z=[0,31,59,90,120,151,181,212,243,273,304,334,365];var q=(function(){for(var j=[],k=0;k<55;k++){j=j.concat(m(7))}return j}());var f=function(j,k){var i=this;if(k===0){throw new Error("Can't create weekday with n == 0")}this.weekday=j;this.n=k;this.nth=function(v){return i.n==v?i:new f(i.weekday,v)};this.equals=function(v){return i.weekday==v.weekday&&i.n==v.n};this.toString=function(){var v=["MO","TU","WE","TH","FR","SA","SU"][i.weekday];if(this.n){v=(i.n>0?"+":"")+String(i.n)+v}return v};this.getJsWeekday=function(){return i.weekday==6?0:i.weekday+1}};this.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"];this.YEARLY=0;this.MONTHLY=1;this.WEEKLY=2;this.DAILY=3;this.HOURLY=4;this.MINUTELY=5;this.SECONDLY=6;this.MO=new f(0);this.TU=new f(1);this.WE=new f(2);this.TH=new f(3);this.FR=new f(4);this.SA=new f(5);this.SU=new f(6);var d={freq:null,dtstart:null,interval:1,wkst:D.MO,count:null,until:null,bysetpos:null,bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null};this._string=null;this.toString=function(){var aa=this.origOptions;var Y,Z,V,W,U,k=[];Z=Object.keys(aa);V=Object.keys(d);for(var R=0;R<Z.length;R++){if(!B(V,Z[R])){continue}Y=Z[R].toUpperCase();W=aa[Z[R]];U=[];if(W===null||W instanceof Array&&!W.length){continue}switch(Y){case"FREQ":W=D.FREQUENCIES[aa.freq];break;case"WKST":if(!W){W=0}W=W.toString();break;case"BYWEEKDAY":Y="BYDAY";if(!(W instanceof Array)){W=[W]}for(var T,v=0;v<W.length;v++){T=W[v];if(T instanceof f){}else{if(T instanceof Array){T=new f(T[0],T[1])}else{T=new f(T)}}U[v]=T.toString()}W=U;break;case"DTSTART":case"UNTIL":W=a.jqx.scheduler.utilities.timeToUntilString(W);break;default:if(W instanceof Array){for(var v=0;v<W.length;v++){U[v]=String(W[v])}W=U}else{W=String(W)}}k.push([Y,W])}var X=[];for(var R=0;R<k.length;R++){var S=k[R];X.push(S[0]+"="+S[1].toString())}return X.join(";")};this.parseString=function(v){v=v.replace(/^\s+|\s+$/,"");if(!v.length){return null}var S,R,X,W,T,Y=v.split(";"),aa={};for(S=0;S<Y.length;S++){T=Y[S].split("=");X=T[0];W=T[1];if(X==""){continue}switch(X){case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":if(W.indexOf(",")!=-1){W=W.split(",");for(R=0;R<W.length;R++){if(/^[+-]?\d+$/.test(W[R])){W[R]=Number(W[R])}}}else{if(/^[+-]?\d+$/.test(W)){W=Number(W)}}X=X.toLowerCase();aa[X]=W;break;case"BYDAY":var k,U,V,Z=W.split(",");aa.byweekday=[];for(R=0;R<Z.length;R++){V=Z[R];if(V.length==2){U=D[V];aa.byweekday.push(U)}else{V=V.match(/^([+-]?\d)([A-Z]{2})$/);k=Number(V[1]);U=V[2];U=D[U].weekday;aa.byweekday.push(new f(U,k))}}break;case"FREQ":aa.freq=D[W];break;case"WKST":aa.wkst=D[W];break;case"DTSTART":aa.dtstart=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"UNTIL":aa.until=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"BYEASTER":aa.byeaster=Number(W);break;default:throw new Error("Unknown ICalRule property '"+X+"'")}}D.options=aa;return aa};if(a.type(u)==="string"){this.options=this.parseString(u)}else{this.options=u||{}}var u=this.options;if(!Array.prototype.forEach){Array.prototype.forEach=function(V,j){var R,v;if(this==null){throw new TypeError(" this is null or not defined")}var U=Object(this);var i=U.length>>>0;if(typeof V!=="function"){throw new TypeError(V+" is not a function")}if(arguments.length>1){R=j}v=0;while(v<i){var S;if(v in U){S=U[v];V.call(R,S,v,U)}v++}}}if(!Object.keys){Object.keys=(function(){var k=Object.prototype.hasOwnProperty,v=!({toString:null}).propertyIsEnumerable("toString"),j=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=j.length;return function(T){if(typeof T!=="object"&&(typeof T!=="function"||T===null)){throw new TypeError("Object.keys called on non-object")}var R=[],U,S;for(U in T){if(k.call(T,U)){R.push(U)}}if(v){for(S=0;S<i;S++){if(k.call(T,j[S])){R.push(j[S])}}}return R}}())}this.origOptions={};var E=[],w=Object.keys(this.options),p=Object.keys(d);w.forEach(function(i){this.origOptions[i]=this.options[i];if(!B(p,i)){E.push(i)}},this);if(E.length){throw new Error("Invalid options: "+E.join(", "))}if(!D.FREQUENCIES[this.options.freq]&&u.byeaster===null){throw new Error("Invalid Frequency: "+String(u.freq))}p.forEach(function(i){if(!B(w,i)){u[i]=d[i]}});var x=this.options;if(x.byeaster!==null){x.freq=this.YEARLY}if(!x.dtstart){x.dtstart=new Date();x.dtstart.setMilliseconds(0)}if(n){x.dtstart=n.toDate()}if(x.wkst===null){x.wkst=this.MO.weekday}else{if(typeof x.wkst=="number"){}else{if(x.wkst==null){x.wkst=this.MO.weekday}else{x.wkst=x.wkst.weekday}}}if(x.bysetpos!==null){if(typeof x.bysetpos=="number"){x.bysetpos=[x.bysetpos]}for(var N=0;N<x.bysetpos.length;N++){var H=x.bysetpos[N];if(H==0||!(-366<=H&&H<=366)){throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}}if(!(C(x.byweekno)||C(x.byyearday)||C(x.bymonthday)||x.byweekday!==null||x.byeaster!==null)){switch(x.freq){case this.YEARLY:if(!x.bymonth){x.bymonth=x.dtstart.getMonth()+1}x.bymonthday=x.dtstart.getDate();break;case this.MONTHLY:x.bymonthday=x.dtstart.getDate();break;case this.WEEKLY:x.byweekday=a.jqx.scheduler.utilities.getWeekday(x.dtstart);break}}if(x.bymonth!==null&&!(x.bymonth instanceof Array)){x.bymonth=[x.bymonth]}if(x.byyearday!==null&&!(x.byyearday instanceof Array)){x.byyearday=[x.byyearday]}if(x.bymonthday===null){x.bymonthday=[];x.bynmonthday=[]}else{if(x.bymonthday instanceof Array){var Q=[],I=[];for(N=0;N<x.bymonthday.length;N++){var H=x.bymonthday[N];if(H>0){Q.push(H)}else{if(H<0){I.push(H)}}}x.bymonthday=Q;x.bynmonthday=I}else{if(x.bymonthday<0){x.bynmonthday=[x.bymonthday];x.bymonthday=[]}else{x.bynmonthday=[];x.bymonthday=[x.bymonthday]}}}if(x.byweekno!==null&&!(x.byweekno instanceof Array)){x.byweekno=[x.byweekno]}if(x.byweekday===null){x.bynweekday=null}else{if(typeof x.byweekday=="number"){x.byweekday=[x.byweekday];x.bynweekday=null}else{if(x.byweekday instanceof f){if(!x.byweekday.n||x.freq>this.MONTHLY){x.byweekday=[x.byweekday.weekday];x.bynweekday=null}else{x.bynweekday=[[x.byweekday.weekday,x.byweekday.n]];x.byweekday=null}}else{var r=[],F=[];for(N=0;N<x.byweekday.length;N++){var o=x.byweekday[N];if(typeof o=="number"){r.push(o)}else{if(!o.n||x.freq>this.MONTHLY){r.push(o.weekday)}else{F.push([o.weekday,o.n])}}}x.byweekday=C(r)?r:null;x.bynweekday=C(F)?F:null}}}if(x.byhour===null){x.byhour=(x.freq<this.HOURLY)?[x.dtstart.getHours()]:null}else{if(typeof x.byhour=="number"){x.byhour=[x.byhour]}}if(x.byminute===null){x.byminute=(x.freq<this.MINUTELY)?[x.dtstart.getMinutes()]:null}else{if(typeof x.byminute=="number"){x.byminute=[x.byminute]}}if(x.bysecond===null){x.bysecond=(x.freq<this.SECONDLY)?[x.dtstart.getSeconds()]:null}else{if(typeof x.bysecond=="number"){x.bysecond=[x.bysecond]}}if(x.freq>=this.HOURLY){this.timeset=null}else{this.timeset=[];if(x.byhour){for(N=0;N<x.byhour.length;N++){var t=x.byhour[N];for(var M=0;M<x.byminute.length;M++){var l=x.byminute[M];for(var L=0;L<x.bysecond.length;L++){var y=x.bysecond[L];this.timeset.push(new a.jqx.scheduler.utilities.Time(t,l,y))}}}}a.jqx.scheduler.utilities.sort(this.timeset)}return this}})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxScheduler.prototype,{_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(b){return this._intToHex(b.r)+this._intToHex(b.g)+this._intToHex(b.b)},_intToHex:function(c){var b=(parseInt(c).toString(16));if(b.length==1){b=("0"+b)}return b.toUpperCase()},exportData:function(w){var q=this;if(!a.jqx.dataAdapter.ArrayExporter){throw"jqxScheduler: Missing reference to jqxdata.export.js!"}var y=this.exportSettings.serverURL;var g=this.exportSettings.characterSet;var C=this.exportSettings.fileName;var H=this.exportSettings.ICSXWRCALNAME;var s=this.exportSettings.ICSXWRCALDESC;if(C===undefined){C="jqxScheduler"}var q=this;if(w=="ical"||w=="ics"){if(q._resources.length>1&&C&&q.resourcesInMultipleICSFiles){var t=this.getAppointments();for(var E=0;E<q._resources.length;E++){var c=q._resources[E];var v=new Array();for(var D=0;D<t.length;D++){var k=t[D];if(k.resourceId==c){v.push(k)}}var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";if(H){I+="X-WR-CALNAME:"+H+"\n"}if(s){I+="X-WR-CALDESC:"+s+"\n"}for(var B=0;B<v.length;B++){I+=v[B].jqxAppointment.toString();if(B<v.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(var B=0;B<h;B++){p[B]=I.charCodeAt(B)}var b=new Blob([p],{type:"application/calendar"});var d;if(d){d(b,C+"_"+c+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+"_"+c+".ics")}}}}else{var t=this.getAppointments();var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";for(var E=0;E<t.length;E++){I+=t[E].jqxAppointment.toString();if(E<t.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(E=0;E<h;E++){p[E]=I.charCodeAt(E)}var b=new Blob([p],{type:"application/calendar"});if(!C){return I}if(d){d(b,C+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+".ics")}}}return}var t=this.getDataAppointments();var A=new Array();var F={};var r={};var n=this.host.find(".jqx-grid-cell:first");n.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var l="cell";var f=1;var G="column";var e=1;var z=a(this.columns.records[0].element);var o=0;a.each(this.appointmentDataFields,function(j,m){F[m]={};F[m].text=m;F[m].width=100;F[m].formatString="";F[m].localization=q.schedulerLocalization;if(j=="from"||j=="to"){F[m].type="date";F[m].formatString=q.exportSettings.dateTimeFormatString}else{F[m].type="string"}F[m].cellsAlign="left";A.push(F[m]);l="cell"+f;G="column"+e;if(w=="html"||w=="xls"||w=="pdf"){var i=function(J,R,Q,K,P,M,L,N,O){r[J]={};if(R==undefined){return}r[J]["font-size"]=R.css("font-size");r[J]["font-weight"]=R.css("font-weight");r[J]["font-style"]=R.css("font-style");r[J]["background-color"]=q._getexportcolor(R.css("background-color"));r[J]["color"]=q._getexportcolor(R.css("color"));r[J]["border-color"]=q._getexportcolor(R.css("border-top-color"));if(Q){r[J]["text-align"]="left"}else{r[J]["text-align"]="left";r[J]["formatString"]="";r[J]["dataType"]="string";if(L=="from"||L=="to"){r[J]["dataType"]="date";r[J]["formatString"]=q.exportSettings.dateTimeFormatString}}if(w=="html"||w=="pdf"){r[J]["border-top-width"]=R.css("border-top-width");r[J]["border-left-width"]=R.css("border-left-width");r[J]["border-right-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width");r[J]["border-top-style"]=R.css("border-top-style");r[J]["border-left-style"]=R.css("border-left-style");r[J]["border-right-style"]=R.css("border-right-style");r[J]["border-bottom-style"]=R.css("border-bottom-style");if(Q){if(o==0){r[J]["border-left-width"]=R.css("border-right-width")}r[J]["border-top-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width")}else{if(o==0){r[J]["border-left-width"]="1px"}r[J]["border-right-width"]="1px"}}if(Q){F[m].style=J}F[m].cellStyle=J};i(G,z,true,false,this,q,j);e++;i(l,n,false,false,this,q,j);f++}o++});var x=a.jqx.dataAdapter.ArrayExporter(t,F,r,y);if(C==null){this._renderrows();var u=x.exportTo(w);setTimeout(function(){q.exporting=false},50);return u}else{x.exportToFile(w,C,y,g)}this._renderrows();setTimeout(function(){q.exporting=false},50)},shadeColor:function(b,g){var h=parseInt(b.slice(1),16),c=g<0?0:255,i=g<0?g*-1:g,e=h>>16,d=h>>8&255,j=h&255;return"#"+(16777216+(Math.round((c-e)*i)+e)*65536+(Math.round((c-d)*i)+d)*256+(Math.round((c-j)*i)+j)).toString(16).slice(1)},hexToRgba:function(c,e){var b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c);var d=function(){var f=a.jqx.browser.msie&&a.jqx.browser.version<10;if(this.alpha==undefined||f){return"rgb("+this.r+", "+this.g+", "+this.b+")"}if(this.alpha>1){this.alpha=1}else{if(this.alpha<0){this.alpha=0}}return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"};if(e==undefined){return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),toString:d}:null}if(e>1){e=1}else{if(e<0){e=0}}return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),alpha:e,toString:d}:null},getAppointmentColors:function(f){var e="";var d="";var c="";e=this.hexToRgba(f,this.appointmentOpacity).toString();d=f;var b=function(h){var g=105;var i=(h.r*0.299)+(h.g*0.587)+(h.b*0.114);var j=(255-i<g)?"Black":"White";return j};c=b(this.hexToRgba(f,0.7));return{background:e,color:c,border:d}},getColors:function(g){if(g==-1){g=0}var c="";var e="";var f="";var i=this.resources?this.resources.colorScheme:null;if(!i){i="scheme01"}var b=new Array();for(var d=0;d<this.colorSchemes.length;d++){if(this.colorSchemes[d].name==i){b=this.colorSchemes[d].colors;break}}while(g>b.length-1){var j=parseInt(i.substring(6));if(j>=27){j=0}b=b.concat(this.colorSchemes[j].colors);j++}c=b[g];c=this.hexToRgba(b[g],this.appointmentOpacity).toString();e=b[g];var h=function(l){var k=105;var m=(l.r*0.299)+(l.g*0.587)+(l.b*0.114);var n=(255-m<k)?"Black":"White";return n};f=h(this.hexToRgba(b[g],0.7));return{background:c,color:f,border:e}},getAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var e=d[c].boundAppointment;e.toString=e.jqxAppointment.toString;b.push(e)}return b},getDataAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var f=d[c].boundAppointment;var e={};a.each(this.appointmentDataFields,function(h,i){e[i]=f[h];if(h=="from"||h=="to"){if("date"!=a.type(f[h])){e[i]=f[h].toDate()}}if(h=="recurrencePattern"){if(f[h]){e[i]=f[h].toString()}}if(h=="recurrenceException"){if(f[h]){e[i]="";for(var g=0;g<f[h].length;g++){e[i]+=f[h][g].toString();if(g<f[h].length-1){e[i]+=","}}}}try{if(JSON){e.toString=function(){return JSON.stringify(e)}}}catch(k){}});b.push(e)}return b},_refreshColumns:function(){this._initializeColumns();this.columnsheader=this.columnsheader||a('<div style="overflow: hidden;"></div>');this.columnsheader.children().remove();var b=this.columnsHeight;b=this._preparecolumnGroups();this.columnsheader.height(b);this._rendercolumnheaders()},_refreshColumnTitles:function(){var p=this._views[this._view].type;var o=this._views[this._view];var l=this;var d=new Array();if(l.columns.records[0].timeColumn){d.push({})}if(o.timeRuler&&o.timeRuler.timeZones){for(var v=0;v<o.timeRuler.timeZones.length;v++){d.push({})}}var q=function(A,G,I){var B="halfHour";if(o.timeRuler&&o.timeRuler.scale){B=o.timeRuler.scale}var K=24;var z=0;var J=23;if(o.timeRuler){if(o.timeRuler.scaleStartHour!=undefined){var z=parseInt(o.timeRuler.scaleStartHour)}if(o.timeRuler.scaleEndHour!=undefined){var J=parseInt(o.timeRuler.scaleEndHour)}if(z<0){z=0}if(J<0){J=23}if(z>23){z=0}if(J>23){J=23}K=J-z+1}var D=60;var H=2;if(B){switch(B){case"sixtyMinutes":case"hour":H=1;break;case"thirdyMinutes":case"halfHour":H=2;break;case"fifteenMinutes":case"quarterHour":H=4;break;case"tenMinutes":H=6;break;case"fiveMinutes":H=12;break}}var M=new Array();var L="auto";if(o.timeRuler&&o.timeRuler.formatString){L=o.timeRuler.formatString}var y=z;var E=K;var j=A.addHours(y);if(l.rtl){var j=A.addHours(J)}for(var F=0;F<E;F++){var x=j.toDate();if(L==="auto"){if((x.getHours()==0&&x.getMinutes()==0)||(x.getHours()==12&&x.getMinutes()==0)){var C="hh tt"}else{var C="hh:mm"}}else{if(a.isFunction(L)){var C=L(x)}else{C=L}}if(a.jqx.dataFormat.isDate(x)){x=a.jqx.dataFormat.formatdate(x,C,l.schedulerLocalization)}if(!l.rtl){j=j.addMinutes(D)}else{j=j.addMinutes(-D)}d.push({});l.columns.records[d.length-1].text=x}};var k=this.tableColumns;for(var t=0;t<this.tableColumns;t++){switch(p){case"dayView":var g=this.getViewStart();if(false===o.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}d.push({});this.columns.records[d.length-1].text=this._getDayName(g.dayOfWeek());break;case"weekView":case"monthView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}d.push({});if(l.rtl){u=6-u}this.columns.records[d.length-1].text=this._getDayName(u)}break;case"timelineDayView":var f=l._resources[t]?l._resources[t]:"Resource"+t;q(l.getViewStart(),f);break;case"timelineWeekView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}if(l.rtl){u=6-u}q(l.getViewStart().addDays(v),this._getDayName(u))}break;case"timelineMonthView":var n=l.getViewStart();var w="auto";if(o.timeRuler&&o.timeRuler.formatString){w=o.timeRuler.formatString}for(var v=0;v<41;v++){var u=n.dayOfWeek();if(false===o.showWeekends){if(u===0||u===6){continue}}if(l.rtl){u=6-u}var r=n.toDate();if(w==="auto"){var c="dd";r=n.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(w)){var c=w(r)}else{c=w}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,l.schedulerLocalization)}n=n.addDays(1);d.push({});l.columns.records[d.length-1].text=r}break}}var h=l.columnsHeight;var b=function(j,x){var i=l.columnGroupslevel*l.columnsHeight;i=i-(x.level*l.columnsHeight);return i};var s=0;for(var v=0;v<this.columns.records.length;v++){var e=this.columns.records[v];if(e.timeColumn){continue}if(l.columnGroups){if(l.columnGroups.length){h=b(e.datafield,e)}}var m=e.renderer!=null?e.renderer(e.text,e.align,h):l._rendercolumnheader(e.text,e.align,h,e);if(m==null){m=l._rendercolumnheader(e.text,e.align,h,l)}if(e.renderer!=null){m=a(m)}a(e.element).html(m)}},_editDialogLabel:function(){if(this.theme){return"jqx-scheduler-edit-dialog-label jqx-scheduler-edit-dialog-label-"+this.theme}return"jqx-scheduler-edit-dialog-label"},_editDialogField:function(){if(this.theme){return"jqx-scheduler-edit-dialog-field jqx-scheduler-edit-dialog-field-"+this.theme}return"jqx-scheduler-edit-dialog-field"},initRepeatPanels:function(p,i,c){var h=this;var b=a("<div></div>");i.append(b);var j=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatString+"</div>").appendTo(b);var l=a("<div class='"+h._editDialogField()+"'></div>").appendTo(b);var k=a("<div></div>").appendTo(l);var r=a("<div></div>");i.append(r);var m=a("<div></div>");r.append(m);var o=function(H,A){var u=a("<div></div>").appendTo(H);var E=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEndString+"</div>").appendTo(u);var D=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var G=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatNeverString+"</span></div>").appendTo(D);G.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:200,checked:true});h.editDialogFields[A].repeatEndNever=G;h.editDialogFields[A].repeatEndNeverLabel=E;var z=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var y=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var F=a("<div style='top: 3px;  position:relative;  float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatAfterString+"</span></div>").appendTo(y);F.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var B=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(y);B.jqxNumberInput({rtl:h.rtl,decimal:10,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var v=a("<div style='float: left; top: 3px;  margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatOccurrencesString+"</div>").appendTo(y);h.editDialogFields[A].repeatEndAfter=F;h.editDialogFields[A].repeatEndAfterValue=B;h.editDialogFields[A].repeatEndAfterLabel=z;var x=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var w=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var t=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatOnString+"</span></div>").appendTo(w);t.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var C=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(w);C.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:h.rtl,localization:h._getDateTimeInputLocalization(),firstDayOfWeek:h.schedulerLocalization.firstDay,todayString:h.schedulerLocalization.todayString,clearString:h.schedulerLocalization.clearString,value:c,formatString:h.editDialogDateFormatString,width:150,theme:h.theme});var s=C.jqxDateTimeInput("getInstance");h.editDialogFields[A].repeatEndOn=t;h.editDialogFields[A].repeatEndOnValue=C;h.editDialogFields[A].repeatEndOnLabel=x;return u};m.detach();h.editDialogFields.repeatEndPanel={};h.editDialogFields.repeatEndPanelContainer=m;o(m,"repeatEndPanel");var q=function(){var z=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ad=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(z);var ay=a("<div class='"+h._editDialogField()+"'></div>").appendTo(z);var am=a("<div style='float:left;'></div>").appendTo(ay);am.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var V=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryDayString+"</div>").appendTo(ay);h.editDialogFields.daily={};h.editDialogFields.daily.repeatDayInterval=am;h.editDialogFields.daily.repeatDayLabel=ad;h.editDialogFields.daily.panel=z;z.detach();h.editDialogFields.weekly={};var E=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ag=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(E);var t=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var at=a("<div style='float:left;'></div>").appendTo(t);at.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var W=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryWeekString+"</div>").appendTo(t);h.editDialogFields.weekly.repeatWeekInterval=at;h.editDialogFields.weekly.repeatWeekIntervalLabel=ag;var F=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(E);var Z=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var T=a("<div style='float:left;'></div>").appendTo(Z);h.editDialogFields.weekly.repeatDaysLabel=F;h.editDialogFields.weekly.repeatDays=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw,"firstTwoLetters");var B=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+P+"</span></div>");T.append(B);var Y=aw==1?true:false;B.jqxCheckBox({rtl:h.rtl,checked:Y,width:50,theme:h.theme});h.editDialogFields.weekly.repeatDays.push(B)}h.editDialogFields.weekly.panel=E;E.detach();h.editDialogFields.monthly={};var U=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var av=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(U);var M=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var A=a("<div style='float:left;'></div>").appendTo(M);A.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var ai=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthString+"</div>").appendTo(M);h.editDialogFields.monthly.repeatMonth=A;h.editDialogFields.monthly.repeatMonthLabel=av;var an=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(U);var H=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var x=a("<div style='float:left;'></div>").appendTo(H);var al=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthDayString+"</span></div>").appendTo(x);al.jqxRadioButton({rtl:h.rtl,groupName:"month",width:60,checked:true,theme:h.theme});var ao=a("<div style='float:left;'></div>").appendTo(x);ao.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.monthly.repeatMonthDay=ao;h.editDialogFields.monthly.repeatMonthDayBool=al;h.editDialogFields.monthly.repeatMonthDayLabel=an;var O=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(U);var aj=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var aa=a("<div style='float:left;'></div>").appendTo(aj);var G=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(aa);G.jqxRadioButton({groupName:"month",width:25,checked:false,theme:h.theme});var L=a("<div style='float:left;'></div>").appendTo(aa);var Q=new Array();Q.push(h.schedulerLocalization.editDialogRepeatFirstString);Q.push(h.schedulerLocalization.editDialogRepeatSecondString);Q.push(h.schedulerLocalization.editDialogRepeatThirdString);Q.push(h.schedulerLocalization.editDialogRepeatFourthString);Q.push(h.schedulerLocalization.editDialogRepeatLastString);L.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:Q,autoDropDownHeight:true,width:"auto",theme:h.theme});var S=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(aa);var ac=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);ac.push(P)}S.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,autoDropDownHeight:true,selectedIndex:1,source:ac,width:"auto",theme:h.theme});h.editDialogFields.monthly.repeatDayOfWeekBool=G;h.editDialogFields.monthly.repeatDayOfWeek=S;h.editDialogFields.monthly.repeatDayOfWeekLabel=O;h.editDialogFields.monthly.repeatDayOfWeekType=L;h.editDialogFields.monthly.panel=U;U.detach();h.editDialogFields.yearly={};var aq=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var R=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(aq);var ak=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ab=a("<div style='float:left;'></div>").appendTo(ak);ab.jqxNumberInput({decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var D=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryYearString+"</div>").appendTo(ak);h.editDialogFields.yearly.repeatYear=ab;h.editDialogFields.yearly.repeatYearLabel=R;var N=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(aq);var ah=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var X=a("<div style='float:left;'></div>").appendTo(ah);var af=a("<div style='position:relative; top: 6px; float:left;'></span></div>").appendTo(X);af.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:true,theme:h.theme});h.editDialogFields.yearly.repeatYearBool=af;h.editDialogFields.yearly.repeatYearBoolLabel=N;var v=a("<div style='float:left;'></div>").appendTo(X);var ap=new Array();for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}v.jqxDropDownList({height:27,selectedIndex:0,dropDownWidth:150,width:"auto",source:ap,theme:h.theme});h.editDialogFields.yearly.repeatYearMonth=v;var y=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(X);y.jqxNumberInput({height:25,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.yearly.repeatYearDay=y;var ae=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(aq);var s=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ar=a("<div style='float:left;'></div>").appendTo(s);var C=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(ar);C.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:false,theme:h.theme});var au=a("<div style='float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeekBool=C;h.editDialogFields.yearly.repeatDayOfWeekType=au;h.editDialogFields.yearly.repeatDayOfWeekLabel=ae;var K=new Array();K.push(h.schedulerLocalization.editDialogRepeatFirstString);K.push(h.schedulerLocalization.editDialogRepeatSecondString);K.push(h.schedulerLocalization.editDialogRepeatThirdString);K.push(h.schedulerLocalization.editDialogRepeatFourthString);K.push(h.schedulerLocalization.editDialogRepeatLastString);au.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:K,autoDropDownHeight:true,width:"auto",theme:h.theme});var I=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeek=I;var u=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);u.push(P)}I.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:1,autoDropDownHeight:true,source:u,width:"auto",theme:h.theme});var ap=new Array();var J=a("<div style='line-height:25px; height: 25px; margin-left: 5px; float:left;'>"+h.schedulerLocalization.editDialogRepeatOfString+"</div>").appendTo(ar);var w=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}h.editDialogFields.yearly.repeatDayOfWeekMonth=w;w.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:0,source:ap,width:"auto",theme:h.theme});h.editDialogFields.yearly.panel=aq;aq.detach()};if(h.editAppointment&&h.editAppointment.rootAppointment){q()}else{q()}var g=a("<div></div>");i.append(g);var f=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogExceptionsString+"</div>").appendTo(g);var e=a("<div class='"+h._editDialogField()+"'></div>").appendTo(g);var d=a("<div style='position:relative; top:2px;'>"+h.schedulerLocalization.editDialogResetExceptionsString+"</div>").appendTo(e);d.jqxCheckBox({width:"100%",theme:h.theme});g.hide();h.editDialogFields.resetExceptions=d;h.editDialogFields.resetExceptionsLabel=f;h.editDialogFields.resetExceptionsContainer=g;var n=new Array();n.push(h.schedulerLocalization.editDialogRepeatNeverString);n.push(h.schedulerLocalization.editDialogRepeatDailyString);n.push(h.schedulerLocalization.editDialogRepeatWeeklyString);n.push(h.schedulerLocalization.editDialogRepeatMonthlyString);n.push(h.schedulerLocalization.editDialogRepeatYearlyString);k.jqxDropDownList({rtl:h.rtl,height:27,width:"100%",autoDropDownHeight:true,theme:h.theme,source:n,selectedIndex:0});h.editDialogFields.repeat=k;h.editDialogFields.repeatLabel=j;h.editDialogFields.repeatContainer=b;h.editDialogFields.repeatPanel=r;this.addHandler(k,"change",function(u){var t=u.args.item.index;var s=function(){r.children().detach();switch(t){case 0:break;case 1:h.editDialogFields.daily.panel.css("visibility","visible");r.append(h.editDialogFields.daily.panel);break;case 2:h.editDialogFields.weekly.panel.css("visibility","visible");r.append(h.editDialogFields.weekly.panel);break;case 3:h.editDialogFields.monthly.panel.css("visibility","visible");r.append(h.editDialogFields.monthly.panel);break;case 4:h.editDialogFields.yearly.panel.css("visibility","visible");r.append(h.editDialogFields.yearly.panel);break}r.append(m);if(t==0){h.editDialogFields.repeatEndPanelContainer.hide()}else{h.editDialogFields.repeatEndPanelContainer.show()}if(!h.isTouchDevice()){p.jqxWindow({height:150});p.jqxWindow({height:i[0].scrollHeight+40})}}()})},_initMenu:function(){var c=this;if(this.host.jqxMenu){if(this.menu){if(this._hasOpenedMenu){return}this.removeHandler(this.menu,"keydown");this.removeHandler(this.menu,"closed");this.removeHandler(this.menu,"itemclick");this.menu.jqxMenu("destroy");this.menu.removeData();this.menu.remove()}this.menuitemsarray=new Array();this.menu=a('<div id="menu.jqxscheduler'+this.element.id+'" style="white-space: nowrap; z-index: 9999999999999;"></div>');this.host.append(this.menu);this.addHandler(a(window),"orientationchange.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.addHandler(a(window),"orientationchanged.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.removeHandler(this.menu,"keydown");this.addHandler(this.menu,"keydown",function(e){if(e.keyCode==27){c.menu.jqxMenu("close");c._hasOpenedMenu=false;c.focus()}});this.addHandler(this.menu,"open",function(e){if(c.contextMenuOpen){c.contextMenuOpen(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._raiseEvent("contextMenuOpen",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});c._removeFeedbackAndStopResize()});this.addHandler(this.menu,"close",function(e){if(c.contextMenuClose){c.contextMenuClose(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._hasOpenedMenu=false;if(document.activeElement&&document.activeElement.className.indexOf("jqx-menu")>=0&&!c.menuOpening){c.focus()}c._raiseEvent("contextMenuClose",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null})});this.addHandler(this.host,"contextmenu",function(e){e.preventDefault();e.stopPropagation();return false});this.addHandler(this.menu,"itemclick",function(h){var g=c.menu.jqxMenu("getItem",h.args.id);c._raiseEvent("contextMenuItemClick",{item:g,menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});if(c.contextMenuItemClick){var f=c.contextMenuItemClick(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,h);if(f==true){if(new Date()-c.renderedTime>500){c._renderrows()}c.menu.jqxMenu("close");c._hasOpenedMenu=false;return}}if(g.id=="createAppointment"){c._initDialog();c._openDialog();if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(g.id=="editAppointment"){var e=c.getJQXAppointmentByElement(c.selectedAppointment);if(!e.readOnly){var f=c._initDialog(e);if(f!==false){c._openDialog()}}if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}return true}}});var d=new Array();d.push({label:this.schedulerLocalization.contextMenuEditAppointmentString,id:"editAppointment"});d.push({label:this.schedulerLocalization.contextMenuCreateAppointmentString,id:"createAppointment"});var b={rtl:this.rtl,keyboardNavigation:true,source:d,popupZIndex:999999,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0};if(c.contextMenuCreate){c.contextMenuCreate(c.menu,b)}c._raiseEvent("contextMenuCreate",{menu:c.menu,settings:b});this.menu.jqxMenu(b)}},_initDialog:function(b,c){var m=this;var k=null;if(b&&b.isRecurrentAppointment()&&!m.editRecurrenceDialog.jqxWindow("isOpen")){var l=m.host.coord();var o=l.top+m.host.height()/2-m.editRecurrenceDialog.height()/2;var g=l.left+m.host.width()/2-m.editRecurrenceDialog.width()/2;m.editRecurrenceDialog.find("button:first").focus();setTimeout(function(){m.editRecurrenceDialog.find("button:first").focus()},25);m.editRecurrenceDialog.jqxWindow("move",g,o);m.editRecurrenceDialog.jqxWindow("open");m.editSeries=function(i){if(i){m._initDialog(b.rootAppointment);m._openDialog()}else{m._initDialog(b);m._openDialog()}};m.overlay.show();m.overlay.width(m.host.width());m.overlay.height(m.host.height());var l=m.host.coord();m.overlay.offset(l);if(!m._editDialog){m._initDialog()}return false}m.editAppointment=b;if(!b){k=m.getSelection();if(!k){m.focus();if(!m.focusedCell){m._updateFocusedCell()}if(m.focusedCell){m.focusedCell.setAttribute("data-selected","true");m._lastSelectedCell=m.focusedCell;m._updateCellsSelection(m.focusedCell);k=m.getSelection()}}}if(k||b){var d=k?k.from:b.from;var h=k?k.to:b.to;var n=m.getSelectedCells();if(n.length>0){var f=n[n.length-1].getAttribute("data-end-date");if(f){h=a.jqx.scheduler.utilities.getEndOfDay(h)}}m._editStart=d;m._editEnd=h}if(m.editDialogFields&&m.editDialogFields.resourceContainer&&m._resources.length>0){var e=new Array();for(var j=0;j<m._resources.length;j++){e.push(m._resources[j])}var r=true;if(e.length>10){r=false}m.editDialogFields.resource.jqxDropDownList({source:e,selectedIndex:0,autoDropDownHeight:r});if(!b){m.editDialogFields.resource.val(k.resourceId)}}if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(b&&b.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}if(m._editDialog==null){m._editDialog=null;var p=b==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;var q=a("<div><div>"+p+"</div><div id='dialog"+this.element.id+"'></div></div>");a(q).jqxWindow({rtl:m.rtl,autoFocus:false,autoOpen:false,animationType:"none",theme:m.theme,width:540,maxHeight:800,minHeight:110,resizable:false,initContent:function(){m.editDialogFields={};if(d==null&&h==null&&m._editStart&&m._editEnd){d=m._editStart;h=m._editEnd}q.jqxWindow("setTitle",p);var H=a(q.children()[1]);var A=a("<div></div>");H.append(A);var C=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogSubjectString+"</div>").appendTo(A);var ad=a("<div class='"+m._editDialogField()+"'></div>").appendTo(A);var U=a("<input type='text'/>").appendTo(ad);U.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});U.css("box-sizing","border-box");m.editDialogFields.subject=U;m.editDialogFields.subjectLabel=C;m.editDialogFields.subjectContainer=A;var P=a("<div></div>");H.append(P);var z=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogLocationString+"</div>").appendTo(P);var Z=a("<div class='"+m._editDialogField()+"'></div>").appendTo(P);var T=a("<input type='text'/>").appendTo(Z);T.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});T.css("box-sizing","border-box");m.editDialogFields.location=T;m.editDialogFields.locationLabel=z;m.editDialogFields.locationContainer=P;var L=a("<div></div>");H.append(L);var X=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogFromString+"</div>").appendTo(L);var av=a("<div class='"+m._editDialogField()+"'></div>").appendTo(L);var aq=a("<div></div>").appendTo(av);var V=null;if(!d){var ay=new Date();ay.setHours(9,0,0);V=ay;d=new a.jqx.date(ay)}else{V=d.toDate()}aq.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:V,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.from=aq;m.editDialogFields.fromLabel=X;m.editDialogFields.fromContainer=L;var aC=a("<div></div>");H.append(aC);var y=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogToString+"</div>").appendTo(aC);var Y=a("<div class='"+m._editDialogField()+"'></div>").appendTo(aC);var S=a("<div></div>").appendTo(Y);var x=null;if(!h){var ay=new Date();ay.setHours(10,0,0);x=ay;h=new a.jqx.date(ay)}else{x=h.toDate()}S.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:x,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.to=S;m.editDialogFields.toLabel=y;m.editDialogFields.toContainer=aC;m._changeFromUser=true;m.addHandler(aq,"change",function(aH){if(!m._changeFromUser){return}var aF=aH.args;var aK=aH.args.oldValue;var aJ=S.val("date");var aE=new a.jqx.date(aJ)-new a.jqx.date(aK);if(aE>0){var aG=aE*10000;var aI=a.jqx.timeSpan(aG);var i=new a.jqx.date(aH.args.newValue).add(aI);S.val(i.toDate())}});m.addHandler(S,"change",function(aE){if(!m._changeFromUser){return}var i=aE.args;var aG=aE.args.oldValue;var aF=S.val("date");if(aq.val("date")>=aF){S.val(aG)}});var t=a("<div></div>");H.append(t);var R=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogAllDayString+"</div>").appendTo(t);var ar=a("<div class='"+m._editDialogField()+"'></div>").appendTo(t);var ai=a("<div style='top: 8px; position:relative;'></div>").appendTo(ar);ai.jqxCheckBox({rtl:m.rtl,width:25,theme:m.theme});m.editDialogFields.allDay=ai;m.editDialogFields.allDayLabel=R;m.editDialogFields.allDayContainer=t;m.addHandler(t,"change",function(i){if(i.args.checked){S.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString});aq.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString})}else{S.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString});aq.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString})}});if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}if(m._views[m._view].type.indexOf("month")>=0||(d&&d.equals(h))||(h&&h.equals(a.jqx.scheduler.utilities.getEndOfDay(h))&&d&&d.equals(a.jqx.scheduler.utilities.getStartOfDay(d)))){m.editDialogFields.allDay.val(true)}var w=a("<div></div>");H.append(w);var W=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogTimeZoneString+"</div>").appendTo(w);var at=a("<div class='"+m._editDialogField()+"'></div>").appendTo(w);var ao=a("<div></div>").appendTo(at);var u=new Array();u.push({displayName:m.schedulerLocalization.editDialogSelectTimeZoneString,id:null});u=u.concat(m.timeZones);for(var aw=0;aw<u.length;aw++){var au=u[aw];var G=au.displayName.indexOf(")");if(G>=0){var af=au.displayName.substring(2+G)}else{var af=au.displayName}au.searchName=af}ao.jqxDropDownList({height:27,rtl:m.rtl,placeHolder:m.schedulerLocalization.editDialogSelectTimeZoneString,width:"100%",theme:m.theme,searchMember:"searchName",source:u,displayMember:"displayName",valueMember:"id"});m.editDialogFields.timeZone=ao;m.editDialogFields.timeZoneLabel=W;m.editDialogFields.timeZoneContainer=w;m.initRepeatPanels(q,H,h.toDate());if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(m.editAppointment&&m.editAppointment.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}var K=a("<div></div>");H.append(K);var aA=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogDescriptionString+"</div>").appendTo(K);var O=a("<div class='"+m._editDialogField()+"'></div>").appendTo(K);var D=a("<textarea type='text' resizable='off' style='position:relative; top: 3px; padding:3px;'></textarea>").appendTo(O);D.jqxInput({rtl:m.rtl,height:40,width:"100%",theme:m.theme});D.css("box-sizing","border-box");m.editDialogFields.description=D;m.editDialogFields.descriptionLabel=aA;m.editDialogFields.descriptionContainer=K;var ac=a("<div></div>");H.append(ac);var aD=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogColorString+"</div>").appendTo(ac);var Q=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ac);var F=a("<div></div>").appendTo(Q);var I=function(aE){if(aE==-1){return""}var i=m.colors[aE];var aF="";var aF="";aF+="<div style='margin-top: 1px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};var an=function(aG,aE){if(aE<0){aG.css("top","4px");aG.css("position","relative");return aG[0].outerHTML}var i=m.colors[aE];var aF="";aF+="<div style='margin-top: 2px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};F.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:-1,placeHolder:m.schedulerLocalization.editDialogColorPlaceHolderString,selectionRenderer:an,renderer:I,source:m.colors,width:"100%",theme:m.theme});m.editDialogFields.color=F;m.editDialogFields.colorLabel=aD;m.editDialogFields.colorContainer=ac;var ah=a("<div></div>");H.append(ah);var az=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogStatusString+"</div>").appendTo(ah);var N=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ah);var B=a("<div></div>").appendTo(N);B.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:2,autoDropDownHeight:true,source:m.schedulerLocalization.editDialogStatuses,width:"100%",theme:m.theme});m.editDialogFields.status=B;m.editDialogFields.statusLabel=az;m.editDialogFields.statusContainer=ah;var ag=a("<div></div>");H.append(ag);var M=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogResourceIdString+"</div>").appendTo(ag);var am=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ag);var ab=a("<div></div>").appendTo(am);var E=new Array();for(var aw=0;aw<m._resources.length;aw++){E.push(m._resources[aw])}var v=true;if(E.length>10){v=false}ab.jqxDropDownList({height:27,rtl:m.rtl,source:E,selectedIndex:0,autoDropDownHeight:v,width:"100%",theme:m.theme});m.editDialogFields.resource=ab;m.editDialogFields.resourceLabel=M;m.editDialogFields.resourceContainer=ag;if(E.length==0){ag.hide()}if(!b&&k){m.editDialogFields.resource.val(k.resourceId)}var ae=a("<div></div>");H.append(ae);var al=a("<div style='width:100%;' class='"+m._editDialogField()+"'></div>").appendTo(ae);var ap=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogCancelString+"</button>").appendTo(al);var aj=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogDeleteString+"</button>").appendTo(al);var ak=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteSeriesString+"</button>").appendTo(al);var J=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteString+"</button>").appendTo(al);var aa=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogSaveString+"</button>").appendTo(al);var aB=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveSeriesString+"</button>").appendTo(al);var s=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveString+"</button>").appendTo(al);var ax=25;if(m.isTouchDevice()){ax=null}aj.jqxButton({rtl:m.rtl,theme:m.theme});ak.jqxButton({rtl:m.rtl,theme:m.theme});J.jqxButton({rtl:m.rtl,theme:m.theme});aa.jqxButton({rtl:m.rtl,theme:m.theme});ap.jqxButton({rtl:m.rtl,theme:m.theme});aB.jqxButton({rtl:m.rtl,theme:m.theme});s.jqxButton({rtl:m.rtl,theme:m.theme});aB.hide();s.hide();m.editDialogFields.saveOccurrenceButton=s;m.editDialogFields.saveSeriesButton=aB;m.editDialogFields.saveButton=aa;m.editDialogFields.cancelButton=ap;m.editDialogFields.deleteButton=aj;m.editDialogFields.deleteSeriesButton=ak;m.editDialogFields.deleteExceptionsButton=J;m.editDialogFields.buttons=al;m.addHandler(aj,"click",function(){q.jqxWindow("close");m.overlay.hide();m._deleteAppointment(m.editAppointment)});m.addHandler(ap,"click",function(){q.jqxWindow("close");m.overlay.hide()});m.addHandler(s,"click",function(){if(!m.editAppointment.isException()){if(m.editAppointment.rootAppointment!=null){m.editAppointment.rootAppointment.exceptions.push(m.editAppointment);m.editAppointment.rootAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}else{m.editAppointment.exceptions.push(m.editAppointment);m.editAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}}else{var aG=m.editAppointment.rootAppointment?m.editAppointment.rootAppointment.exceptions:m.editAppointment.exceptions;for(var aF=0;aF<aG.length;aF++){if(aG[aF].occurrenceFrom.equals(m.editAppointment.occurrenceFrom)){aG[aF]=m.editAppointment;break}}}var aE=m._setAppointmentPropertiesFromDialog(m.editAppointment,"occurrence");if(!aE){return}m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment.boundAppointment};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aB,"click",function(){var aE=m.editAppointment;if(aE.rootAppointment){aE=aE.rootAppointment}var i=m._setAppointmentPropertiesFromDialog(aE,"series");if(!i){return}m.changedAppointments[aE.id]={type:"Update",appointment:aE.boundAppointment};m._raiseEvent("appointmentChange",{appointment:aE.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aa,"click",function(){var i=true;if(m.editAppointment==null){var aE=new a.jqx.scheduler.appointment();i=m._setAppointmentPropertiesFromDialog(aE,"none");if(i){m.addAppointment(aE)}}else{if(m.editAppointment.rootAppointment){s.trigger("click");i=false}else{if(m.editAppointment.isRecurrentAppointment()){aB.trigger("click");i=false}else{i=m._setAppointmentPropertiesFromDialog(m.editAppointment,"none");if(i){m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment?m.editAppointment.boundAppointment:null};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows()}}}}if(i){q.jqxWindow("close");m.overlay.hide()}});m.addHandler(q,"close",function(i){m.overlay.hide();m.focus();if(m.editDialogClose){m.editDialogClose(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null)}m._raiseEvent("editDialogClose",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null})});if(m.editDialogCreate){m.editDialogCreate(q,m.editDialogFields,m.editAppointment)}m._raiseEvent("editDialogCreate",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null});q.jqxWindow({height:H[0].scrollHeight+40})}});m._editDialog=q}if(!m.dialogOpenings){m.dialogOpenings=0}m.removeHandler(m._editDialog,"open");m.addHandler(m._editDialog,"open",function(t){if(m.editDialogOpen&&m.editDialogFields){var i=m.editDialogOpen(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null);if(i==true){return}}if(m.rtl){m._editDialog.find(".jqx-scheduler-edit-dialog-label").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-label-rtl"));m._editDialog.find(".jqx-scheduler-edit-dialog-field").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-field-rtl"));m.editDialogFields.saveOccurrenceButton.css("float","left");m.editDialogFields.saveSeriesButton.css("float","left");m.editDialogFields.saveButton.css("float","left");m.editDialogFields.cancelButton.css("float","left");m.editDialogFields.deleteButton.css("float","left");m.editDialogFields.deleteSeriesButton.css("float","left");m.editDialogFields.deleteExceptionsButton.css("float","left");m.editDialogFields.buttons.css("width","auto");m.editDialogFields.allDay.css("float","right")}setTimeout(function(){var v=m.editAppointment?m.editAppointment.boundAppointment:null;if(m.editAppointment&&m.editAppointment.rootAppointment){v=m.editAppointment.rootAppointment.boundAppointment}m._raiseEvent("editDialogOpen",{dialog:m._editDialog,fields:m.editDialogFields,appointment:v})});var s=function(){setTimeout(function(){if(!c){m.editDialogFields.subject.focus();m.editDialogFields.subject.select()}else{m.editDialogFields.deleteButton.focus()}},1)};var u=m.editAppointment==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;m._editDialog.jqxWindow({title:u});if(0==m.dialogOpenings&&!b){m.dialogOpenings++;if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}m.editDialogFields.deleteButton.hide();s();return}if(m.editDialogFields){m.editDialogFields.subject.val("");m.editDialogFields.location.val("");s();m.editDialogFields.resetExceptions.val(false);m.editDialogFields.description.val("");if(!b){m.editDialogFields.deleteButton.hide()}if(b){m.dialogOpenings++;m.editDialogFields.deleteButton.show();m.editDialogFields.subject.val(b.subject);m.editDialogFields.location.val(b.location);m.editDialogFields.description.val(b.description);m.editDialogFields.timeZone.val(b.timeZone);if(m.colors.indexOf(b.borderColor)>=0){m.editDialogFields.color.val(b.borderColor)}else{m.editDialogFields.color.jqxDropDownList("clearSelection")}m.editDialogFields.allDay.val(b.allDay);m.editDialogFields.resource.val(b.resourceId);m.editDialogFields.status.val(b.status);if(b.timeZone){b.from=b.from.toTimeZone(b.timeZone);b.to=b.to.toTimeZone(b.timeZone)}d=b.from;h=b.to;if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}m._setAppointmentPropertiesToDialog(b,d,h,k?k.resourceId:null)}else{m.editDialogFields.saveButton.show();m._setAppointmentPropertiesToDialog(null,d,h,k?k.resourceId:null)}if(d&&h){m._changeFromUser=false;m.editDialogFields.from.val(d.toDate());m.editDialogFields.to.val(h.toDate());m._changeFromUser=true}if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}}});m.removeHandler(m._editDialog,"keydown");m.addHandler(m._editDialog,"keydown",function(s){if(m.editDialogKeyDown){var i=m.editDialogKeyDown(q,m.editDialogFields,m.editAppointment,s);if(i!=undefined){return i}}if(s.keyCode==13){if(a(document.activeElement).ischildof(m._editDialog)){if(document.activeElement.nodeName.toLowerCase()=="button"){return true}if(b){if(b.isException()||b.rootAppointment){m.editDialogFields.saveOccurrenceButton.trigger("click")}else{if(b.isRecurrentAppointment()){m.editDialogFields.saveSeriesButton.trigger("click")}else{m.editDialogFields.saveButton.trigger("click")}}}else{m.editDialogFields.saveButton.trigger("click")}}}else{if(s.keyCode==27){m.editDialogFields.cancelButton.trigger("click")}}})},openMenu:function(e,c){var d=this;if(!d.menu){d._initMenu()}var b=d._views[d._view].type;if(d.contextMenu&&d.menu){if(!d.selectedAppointment){d.menu.jqxMenu("hideItem","editAppointment")}else{d.menu.jqxMenu("showItem","editAppointment")}if(arguments.length<2){if(d.selectedAppointment){var f=d.selectedAppointment.coord();e=f.left;c=f.top}else{if(d.focusedCell){var f=a(d.focusedCell).coord()}}e=f.left;c=f.top}d.menu.jqxMenu("open",e,c);d._hasOpenedMenu=true}},closeMenu:function(){var b=this;if(b.contextMenu&&b.menu){setTimeout(function(){b.menu.jqxMenu("close")})}},closeDialog:function(){var b=this;b._editDialog.jqxWindow("close")},openDialog:function(d,e){var f=this;var c=f._views[f._view].type;if(f.selectedJQXAppointment){var b=f._initDialog(f.selectedJQXAppointment);if(b!==false){f._openDialog(d,e)}}else{if(f.getSelection()==null){f.focus();f.focusedCell.setAttribute("data-selected","true");f._lastSelectedCell=f.focusedCell;f._updateCellsSelection(f.focusedCell)}f._initDialog();f._openDialog(d,e)}},_openDialog:function(d,c){var f=this;var j=f._views[f._view].type;if(!f.editDialog){return}var e=f.host.coord();f.overlay.show();f.overlay.css("z-index",9999999);f.overlay.width(f.host.width());f.overlay.height(f.host.height());f.overlay.offset(e);var g=f.isTouchDevice();if(g){f._editDialog.jqxWindow("move",e.left,e.top);f._editDialog.jqxWindow({draggable:false,maxWidth:f.host.width(),maxHeight:f.host.height()});f._editDialog.jqxWindow({width:f.host.width(),height:f.host.height()});f._editDialog.jqxWindow("open");f._editDialog.jqxWindow("move",e.left,e.top)}else{if(d!=undefined&&c!=undefined){f._editDialog.jqxWindow("move",d,c);f._editDialog.jqxWindow("open")}else{var i=f._editDialog.height();if(i<400){i=400}var h=e.top+f.host.height()/2-i/2;var b=e.left+f.host.width()/2-f._editDialog.width()/2;f._editDialog.jqxWindow("move",b,h);f._editDialog.jqxWindow("open")}}setTimeout(function(){f.overlay.css("z-index",999)},50)},_setAppointmentPropertiesFromDialog:function(c,d){var e=this;var b=function(n){var x=e._views[e._view].type;var u=e._views[e._view];var A=e.editDialogFields.from.val("date");var h=e.editDialogFields.to.val("date");if(A>h){e.editDialogFields.from.jqxDateTimeInput("focus");return false}if(A==h){if(x.indexOf("month")>=0){return true}return false}n.resourceId=e.editDialogFields.resource.val();if(e.editDialogFields.resourceContainer.css("display")=="none"){n.resourceId=""}n.description=e.editDialogFields.description.val();n.allDay=e.editDialogFields.allDay.val();n.status=e.editDialogFields.status.val();n.location=e.editDialogFields.location.val();n.timeZone=e.editDialogFields.timeZone.val();if(n.timeZone==""&&e.timeZone!=""){n.timeZone=e.timeZone}n.from=new a.jqx.date(A,n.timeZone);n.to=new a.jqx.date(h,n.timeZone);if(e.timeZone){n.from=n.from.toTimeZone(e.timeZone);n.to=n.to.toTimeZone(e.timeZone)}else{n.from=n.from.toTimeZone(null);n.to=n.to.toTimeZone(null)}if(n.allDay){n.from=a.jqx.scheduler.utilities.getStartOfDay(n.from);n.to=a.jqx.scheduler.utilities.getEndOfDay(n.to)}if(e.editDialogFields.color.val()){var v=e.getAppointmentColors(e.editDialogFields.color.val());n.color=v.color;n.background=v.background;n.borderColor=v.border}n.subject=e.editDialogFields.subject.val();var f=e.editDialogFields.repeat.jqxDropDownList("selectedIndex");var r=new a.jqx.scheduler.recurrencePattern();var j=e.editDialogFields.repeatEndPanel;r.timeZone=e.timeZone;r.from=n.from.clone();if(d=="occurrence"){if(n.rootAppointment){r.from=n.rootAppointment.from.clone()}}if(e.editDialogFields.resetExceptions.val()){n.exceptions=new Array();n.recurrenceException=new Array()}if(j.repeatEndNever.val()){r.count=1000;r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndAfter.val()){r.count=j.repeatEndAfterValue.val();r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndOn.val()){r.count=1000;var h=new a.jqx.date(j.repeatEndOnValue.jqxDateTimeInput("getDate"),e.timeZone);r.to=h}}}switch(f){case 0:default:n.clearRecurrence();break;case 1:var k=e.editDialogFields.daily;var F=k.repeatDayInterval.val();r.interval=F;r.freq="daily";break;case 2:var w=e.editDialogFields.weekly;var F=w.repeatWeekInterval.val();var q=[{Sunday:0},{Monday:1},{Tuesday:2},{Wednesday:3},{Thursday:4},{Friday:5},{Saturday:6}];var p=w.repeatDays;var o=new Array();r.weekDays={};for(var C=0;C<7;C++){var B=p[C].val();if(B){if(C==0){o.push(6)}else{o.push(C-1)}a.extend(r.weekDays,q[C])}}r.freq="weekly";r.byweekday=o;r.interval=F;break;case 3:var D=e.editDialogFields.monthly;var F=D.repeatMonth.val();if(D.repeatMonthDayBool.val()){r.day=D.repeatMonthDay.val();r.bymonthday=new Array();r.bymonthday.push(r.day)}else{var y=D.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=D.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="monthly";r.interval=F;break;case 4:var G=e.editDialogFields.yearly;var F=G.repeatYear.val();if(G.repeatYearBool.val()){r.day=G.repeatYearDay.val();r.month=G.repeatYearMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);r.byyearday=new Array();r.byyearday.push(r.day)}else{r.month=G.repeatDayOfWeekMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);var y=G.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=G.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="yearly";r.interval=F;break}if(n.rootAppointment){n.rootAppointment.recurrencePattern=r}else{if(f>0){n.recurrencePattern=r}}var m={};var t={};for(var H in e.appointmentDataFields){var g=e.appointmentDataFields[H];var z=n[H];m[H]=z;if(H=="from"||H=="to"){z=z.toDate()}t[g]=z}m.originalData=t;m.jqxAppointment=n;n.boundAppointment=m;return true}(c);return b},_setAppointmentPropertiesToDialog:function(e,h,d,g){var f=this;var c=function(){var p=f.editDialogFields.repeatEndPanel;p.repeatEndNever.jqxRadioButton({checked:true});p.repeatEndAfter.jqxRadioButton({checked:false});p.repeatEndAfterValue.val(1);p.repeatEndOnValue.val(l);var l=d.toDate();if(f.editDialogFields.daily){var j=f.editDialogFields.daily;j.repeatDayInterval.val(1)}if(f.editDialogFields.weekly){var o=f.editDialogFields.weekly;for(var m=0;m<o.repeatDays.length;m++){if(m==1){o.repeatDays[m].jqxCheckBox({checked:true})}else{o.repeatDays[m].jqxCheckBox({checked:false})}}o.repeatWeekInterval.val(1)}if(f.editDialogFields.monthly){var n=f.editDialogFields.monthly;n.repeatDayOfWeek.jqxDropDownList("selectIndex",1);n.repeatDayOfWeekBool.jqxRadioButton({checked:false});n.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);n.repeatMonthDayBool.jqxRadioButton({checked:true});n.repeatMonthDay.val(1);n.repeatMonth.val(1)}if(f.editDialogFields.yearly){var k=f.editDialogFields.yearly;k.repeatDayOfWeekMonth.jqxDropDownList("selectIndex",0);k.repeatDayOfWeekBool.jqxRadioButton({checked:false});k.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);k.repeatDayOfWeek.jqxDropDownList("selectIndex",1);k.repeatYear.val(1);k.repeatYearMonth.jqxDropDownList("selectIndex",0);k.repeatYearDay.val(1);k.repeatYearBool.val(true)}};c();if(e&&e.isRecurrentAppointment()){if(!e.rootAppointment){f.editDialogFields.resetExceptionsContainer.show()}else{f.editDialogFields.resetExceptionsContainer.hide()}}else{if(e){f.editDialogFields.resetExceptionsContainer.hide();f.editDialogFields.repeat.jqxDropDownList("selectIndex",0)}}if(!e){f.editDialogFields.timeZone.jqxDropDownList("clearSelection");if(!g){f.editDialogFields.resource.jqxDropDownList("selectIndex",0)}else{f.editDialogFields.resource.val(g)}f.editDialogFields.allDay.val(false);if(f._views[f._view].type.indexOf("month")>=0||(h&&h.equals(d))||(d&&d.equals(a.jqx.scheduler.utilities.getEndOfDay(d))&&h&&h.equals(a.jqx.scheduler.utilities.getStartOfDay(h)))){f.editDialogFields.allDay.val(true)}f.editDialogFields.color.jqxDropDownList("clearSelection");f.editDialogFields.description.val("");f.editDialogFields.subject.val("");f.editDialogFields.repeat.jqxDropDownList("selectIndex",0);return}var b=function(j){var r=j.recurrencePattern;if(j.rootAppointment){var r=j.rootAppointment.recurrencePattern}if(r==null){return}var k=r.freq;var p=0;if(k=="daily"){p=1}if(k=="weekly"){p=2}if(k=="monthly"){p=3}if(k=="yearly"){p=4}var n=f.editDialogFields.repeatEndPanel;if(r.count!=1000){n.repeatEndNever.jqxRadioButton({checked:false});n.repeatEndAfter.jqxRadioButton({checked:true});n.repeatEndAfterValue.val(r.count)}else{if(r.to.year()!=9999){n.repeatEndOn.jqxRadioButton({checked:true});n.repeatEndOnValue.val(r.to.toDate())}else{n.repeatEndNever.jqxRadioButton({checked:true})}}f.editDialogFields.repeat.jqxDropDownList("selectIndex",p);switch(p){case 1:var l=r.interval;var q=f.editDialogFields.daily;q.repeatDayInterval.val(l);break;case 2:var l=r.interval;var z=f.editDialogFields.weekly;z.repeatWeekInterval.val(l);var y=r.byweekday;for(var o=0;o<7;o++){var w=z.repeatDays[o];w.val(false)}for(var o=0;o<y.length;o++){var w=y[o];if(w==6){z.repeatDays[0].val(true)}else{z.repeatDays[w+1].val(true)}}break;case 3:var u=f.editDialogFields.monthly;u.repeatMonth.val(r.interval);if(r.bymonthday&&r.bymonthday.length>0){u.repeatMonthDayBool.jqxRadioButton({checked:true});u.repeatMonthDay.val(r.day)}else{u.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}u.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}u.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break;case 4:var t=f.editDialogFields.yearly;if(r.byyearday&&r.byyearday.length>0){t.repeatYearDay.val(r.byyearday[0]);t.repeatYearBool.val(true)}if(r.bymonth&&r.bymonth.length>0){t.repeatYearMonth.jqxDropDownList("selectIndex",r.bymonth[0]-1);t.repeatYearBool.val(true)}if(!r.byyearday||(r.byyearday&&r.byyearday.length==0)){t.repeatDayOfWeekMonth.jqxDropDownList("selectIndex",r.bymonth[0]-1);t.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}t.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}t.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break}};b(e)}});a.jqx.scheduler.column=function(b,c){this.owner=b;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="center";this.cellsalign="center";this.width="auto";this.minwidth=60;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(d,e){if(this[d]){var f=this[d];this[d]=e;this.owner._columnPropertyChanged(this,d,e,f)}else{if(this[d.toLowerCase()]){var f=this[d.toLowerCase()];this[d.toLowerCase()]=e;this.owner._columnPropertyChanged(this,d.toLowerCase(),e,f)}}};this._initfields=function(e){if(e!=null){var d=this;if(a.jqx.hasProperty(e,"dataField")){this.datafield=a.jqx.get(e,"dataField")}if(a.jqx.hasProperty(e,"displayField")){this.displayfield=a.jqx.get(e,"displayField")}else{this.displayfield=this.datafield}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"validation")){this.validation=a.jqx.get(e,"validation")}if(a.jqx.hasProperty(e,"autoCellHeight")){this.autoCellHeight=a.jqx.get(e,"autoCellHeight")}if(a.jqx.hasProperty(e,"text")){this.text=a.jqx.get(e,"text")}else{this.text=this.displayfield}if(a.jqx.hasProperty(e,"sortable")){this.sortable=a.jqx.get(e,"sortable")}if(a.jqx.hasProperty(e,"hidden")){this.hidden=a.jqx.get(e,"hidden")}if(a.jqx.hasProperty(e,"groupable")){this.groupable=a.jqx.get(e,"groupable")}if(a.jqx.hasProperty(e,"renderer")){this.renderer=a.jqx.get(e,"renderer")}if(a.jqx.hasProperty(e,"align")){this.align=a.jqx.get(e,"align")}if(a.jqx.hasProperty(e,"cellsAlign")){this.cellsalign=a.jqx.get(e,"cellsAlign")}if(a.jqx.hasProperty(e,"cellsFormat")){this.cellsFormat=a.jqx.get(e,"cellsFormat")}if(a.jqx.hasProperty(e,"width")){this.width=a.jqx.get(e,"width")}if(a.jqx.hasProperty(e,"minWidth")){this.minwidth=a.jqx.get(e,"minWidth")}if(a.jqx.hasProperty(e,"maxWidth")){this.maxwidth=a.jqx.get(e,"maxWidth")}if(a.jqx.hasProperty(e,"cellsRenderer")){this.cellsRenderer=a.jqx.get(e,"cellsRenderer")}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"pinned")){this.pinned=a.jqx.get(e,"pinned")}if(a.jqx.hasProperty(e,"filterable")){this.filterable=a.jqx.get(e,"filterable")}if(a.jqx.hasProperty(e,"filter")){this.filter=a.jqx.get(e,"filter")}if(a.jqx.hasProperty(e,"resizable")){this.resizable=a.jqx.get(e,"resizable")}if(a.jqx.hasProperty(e,"draggable")){this.draggable=a.jqx.get(e,"draggable")}if(a.jqx.hasProperty(e,"editable")){this.editable=a.jqx.get(e,"editable")}if(a.jqx.hasProperty(e,"initEditor")){this.initeditor=a.jqx.get(e,"initEditor")}if(a.jqx.hasProperty(e,"createEditor")){this.createeditor=a.jqx.get(e,"createEditor")}if(a.jqx.hasProperty(e,"destroyEditor")){this.destroyeditor=a.jqx.get(e,"destroyEditor")}if(a.jqx.hasProperty(e,"getEditorValue")){this.geteditorvalue=a.jqx.get(e,"getEditorValue")}if(a.jqx.hasProperty(e,"className")){this.classname=a.jqx.get(e,"className")}if(a.jqx.hasProperty(e,"cellClassName")){this.cellclassname=a.jqx.get(e,"cellClassName")}if(a.jqx.hasProperty(e,"rendered")){this.rendered=a.jqx.get(e,"rendered")}if(a.jqx.hasProperty(e,"exportable")){this.exportable=a.jqx.get(e,"exportable")}if(a.jqx.hasProperty(e,"nullable")){this.nullable=a.jqx.get(e,"nullable")}if(a.jqx.hasProperty(e,"columnGroup")){this.columngroup=a.jqx.get(e,"columnGroup")}if(!e instanceof String&&!(typeof e=="string")){for(var f in e){if(!d.hasOwnProperty(f)){if(!d.hasOwnProperty(f.toLowerCase())){b.host.remove();throw new Error("jqxScheduler: Invalid property name - "+f+".")}}}}}};this._initfields(c);return this};a.jqx.schedulerDataCollection=function(b){this.records=new Array();this.owner=b;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(d,c){this.records[d]=c};this.isempty=function(c){if(this.records[c]==undefined){return true}return false};this.initialize=function(c){if(c<1){c=1}this.records[c-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(c){return this.records.indexOf(c)};this.add=function(c){if(c==null){return false}this.records[this.records.length]=c;return true};this.insertAt=function(d,c){if(d==null||d==undefined){return false}if(c==null){return false}if(d>=0){if(d<this.records.length){this.records.splice(d,0,c);return true}else{return this.add(c)}}return false};this.remove=function(d){if(d==null||d==undefined){return false}var c=this.records.indexOf(d);if(c!=-1){this.records.splice(c,1);return true}return false};this.removeAt=function(d){if(d==null||d==undefined){return false}if(d<0){return false}if(d<this.records.length){var c=this.records[d];this.records.splice(d,1);return true}return false};return this};a.jqx.scheduler.dataView=function(b){this.that=this;this.scheduler=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(c,i){var l=this;if(a.isArray(c)){l.update(c);return}var j=c._source?true:false;var e=null;this._sortData=null;this._sortHierarchyData=null;if(j){e=c;c=c._source}else{e=new a.jqx.dataAdapter(c,{autoBind:false})}var f=function(p){e.recordids=[];e.records=new Array();e.cachedrecords=new Array();e.originaldata=new Array();e._options.totalrecords=p.totalrecords;e._options.originaldata=p.originaldata;e._options.recordids=p.recordids;e._options.cachedrecords=new Array();e._options.pagenum=p.pagenum;e._options.pageable=p.pageable;if(c.type!=undefined){e._options.type=c.type}if(c.formatdata!=undefined){e._options.formatData=c.formatdata}if(c.contenttype!=undefined){e._options.contentType=c.contenttype}if(c.async!=undefined){e._options.async=c.async}if(c.updaterow!=undefined){e._options.updaterow=c.updaterow}if(c.addrow!=undefined){e._options.addrow=c.addrow}if(c.deleterow!=undefined){e._options.deleterow=c.deleterow}if(p.pagesize==0){p.pagesize=10}e._options.pagesize=p.pagesize};var m=function(p){p.originaldata=e.originaldata;p.records=e.records;p.hierarchy=e.hierarchy;if(!p.scheduler.serverProcessing){p._sortData=null;p._sortfield=null;p._filteredData=null;p._sortHierarchyData=null}if(!p.hierarchy){p.hierarchy=new Array();e.hierarchy=new Array()}if(e._source.totalrecords){p.totalrecords=e._source.totalrecords}else{if(e._source.totalRecords){p.totalrecords=e._source.totalRecords}else{if(p.hierarchy.length!==0){p.totalrecords=p.hierarchy.length}else{p.totalrecords=p.records.length}}}p.cachedrecords=e.cachedrecords};f(this);this.source=c;if(i!==undefined){var n=i}var l=this;switch(c.datatype){case"local":case"array":default:if(c.localdata==null){c.localdata=[]}if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k)}break;case"ics":case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(p){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k);return}var h={};var g=0;var o={};var d=e._options.data;if(e._options.data){a.extend(e._options.data,o)}else{if(c.data){a.extend(o,c.data)}e._options.data=o}var k=function(){var q=a.jqx.browser.msie&&a.jqx.browser.version<9;var r=function(){m(l);l.update(e.records)};if(q){try{r()}catch(p){}}else{r()}};e.unbindDownloadComplete(b+l.scheduler.element.id);e.bindDownloadComplete(b+l.scheduler.element.id,k);e._source.loaderror=function(r,p,q){k()};if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}e._options.data=d}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(a.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(d)&&a.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(a.jqx.dataFormat.isDate(d)&&a.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(d)&&!a.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(l){if(this.scheduler.serverProcessing){return l}var c=new Array();if(this.filters.length){var f=new Array();var k=function(o,s){for(var q=0;q<o.length;q++){var r=o[q];r._visible=true;var m=undefined;for(var p=0;p<this.filters.length;p++){var n=this.filters[p].filter;var t=r[this.filters[p].datafield];var u=n.evaluate(t);if(m==undefined){m=u}else{if(n.operator=="or"){m=m||u}else{m=m&&u}}}r._visible=false;if(m||r.aggregate){r._visible=true;s.push(r);f[r.uid]=r}}};if(!this._filteredData){if(this.source.hierarchy||(this.scheduler.source.hierarchy&&this.scheduler.source.hierarchy.length>0)){var j=new Array();var g=function(n,o){for(var m=0;m<o.length;m++){var p=o[m];j.push(p);if(p.records&&p.records.length>0){g(p,p.records)}}};g(null,l);k.call(this,j,c);for(var d=0;d<c.length;d++){var e=c[d];while(e.parent){var h=e.parent;if(!f[h.uid]){h._visible=true;f[h.uid]=h}e=h}}c=l}else{k.call(this,l,c)}this._filteredData=c;this.rows=c}else{this.rows=this._filteredData}}else{this.rows=l}return this.rows};this.getid=function(j,d,e){if(a(j,d).length>0){return a(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=a(d).attr(j);if(c!=null&&c.toString().length>0){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.scheduler.appointmentsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.scheduler.appointmentsByKey["jqx"+f];if(!g){var g=this.scheduler.appointmentsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxScrollBar","",{});a.extend(a.jqx._jqxScrollBar.prototype,{defineInstance:function(){var b={height:null,width:null,vertical:false,min:0,max:1000,value:0,step:10,largestep:50,thumbMinSize:10,thumbSize:0,thumbStep:"auto",roundedCorners:"all",showButtons:true,disabled:false,touchMode:"auto",touchModeStyle:"auto",thumbTouchSize:0,_triggervaluechanged:true,rtl:false,areaDownCapture:false,areaUpCapture:false,_initialLayout:false,offset:0,reference:0,velocity:0,frame:0,timestamp:0,ticker:null,amplitude:0,target:0};if(this===a.jqx._jqxScrollBar.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){this.render()},render:function(){this._mouseup=new Date();var c=this;var d="<div id='jqxScrollOuterWrap' style='box-sizing: content-box; width:100%; height: 100%; align:left; border: 0px; valign:top; position: relative;'><div id='jqxScrollWrap' style='box-sizing: content-box; width:100%; height: 100%; left: 0px; top: 0px; align:left; valign:top; position: absolute;'><div id='jqxScrollBtnUp' style='box-sizing: content-box; align:left; valign:top; left: 0px; top: 0px; position: absolute;'><div></div></div><div id='jqxScrollAreaUp' style='box-sizing: content-box; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollThumb' style='box-sizing: content-box; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollAreaDown' style='box-sizing: content-box; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollBtnDown' style='box-sizing: content-box; align:left; valign:top; left: 0px; top: 0px; position: absolute;'><div></div></div></div></div>";if(a.jqx.utilities&&a.jqx.utilities.scrollBarButtonsVisibility=="hidden"){this.showButtons=false}if(c.WinJS){MSApp.execUnsafeLocalFunction(function(){c.host.html(d)})}else{this.element.innerHTML=d}if(this.width!=undefined&&parseInt(this.width)>0){this.host.width(parseInt(this.width))}if(this.height!=undefined&&parseInt(this.height)>0){this.host.height(parseInt(this.height))}this.isPercentage=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.width(this.width);this.isPercentage=true}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.height(this.height);this.isPercentage=true}if(this.isPercentage){var e=this;a.jqx.utilities.resize(this.host,function(){e._arrange()},false)}this.thumbCapture=false;this.scrollOuterWrap=a(this.element.firstChild);this.scrollWrap=a(this.scrollOuterWrap[0].firstChild);this.btnUp=a(this.scrollWrap[0].firstChild);this.areaUp=a(this.btnUp[0].nextSibling);this.btnThumb=a(this.areaUp[0].nextSibling);this.arrowUp=a(this.btnUp[0].firstChild);this.areaDown=a(this.btnThumb[0].nextSibling);this.btnDown=a(this.areaDown[0].nextSibling);this.arrowDown=a(this.btnDown[0].firstChild);var b=this.element.id;this.btnUp[0].id="jqxScrollBtnUp"+b;this.btnDown[0].id="jqxScrollBtnDown"+b;this.btnThumb[0].id="jqxScrollThumb"+b;this.areaUp[0].id="jqxScrollAreaUp"+b;this.areaDown[0].id="jqxScrollAreaDown"+b;this.scrollWrap[0].id="jqxScrollWrap"+b;this.scrollOuterWrap[0].id="jqxScrollOuterWrap"+b;if(!this.host.jqxRepeatButton){throw new Error("jqxScrollBar: Missing reference to jqxbuttons.js.");return}this.btnUp.jqxRepeatButton({_ariaDisabled:true,overrideTheme:true,disabled:this.disabled});this.btnDown.jqxRepeatButton({_ariaDisabled:true,overrideTheme:true,disabled:this.disabled});this.btnDownInstance=a.data(this.btnDown[0],"jqxRepeatButton").instance;this.btnUpInstance=a.data(this.btnUp[0],"jqxRepeatButton").instance;this.areaUp.jqxRepeatButton({_scrollAreaButton:true,_ariaDisabled:true,overrideTheme:true});this.areaDown.jqxRepeatButton({_scrollAreaButton:true,_ariaDisabled:true,overrideTheme:true});this.btnThumb.jqxButton({_ariaDisabled:true,overrideTheme:true,disabled:this.disabled});this.propertyChangeMap.value=function(f,h,g,i){if(!(isNaN(i))){if(g!=i){f.setPosition(parseFloat(i),true)}}};this.propertyChangeMap.width=function(f,h,g,i){if(f.width!=undefined&&parseInt(f.width)>0){f.host.width(parseInt(f.width));f._arrange()}};this.propertyChangeMap.height=function(f,h,g,i){if(f.height!=undefined&&parseInt(f.height)>0){f.host.height(parseInt(f.height));f._arrange()}};this.propertyChangeMap.theme=function(f,h,g,i){f.setTheme()};this.propertyChangeMap.max=function(f,h,g,i){if(!(isNaN(i))){if(g!=i){f.max=parseInt(i);if(f.min>f.max){f.max=f.min+1}f._arrange();f.setPosition(f.value)}}};this.propertyChangeMap.min=function(f,h,g,i){if(!(isNaN(i))){if(g!=i){f.min=parseInt(i);if(f.min>f.max){f.max=f.min+1}f._arrange();f.setPosition(f.value)}}};this.propertyChangeMap.disabled=function(f,h,g,i){if(g!=i){if(i){f.host.addClass(f.toThemeProperty("jqx-fill-state-disabled"))}else{f.host.removeClass(f.toThemeProperty("jqx-fill-state-disabled"))}f.btnUp.jqxRepeatButton("disabled",f.disabled);f.btnDown.jqxRepeatButton("disabled",f.disabled);f.btnThumb.jqxButton("disabled",f.disabled)}};this.propertyChangeMap.touchMode=function(f,h,g,i){if(g!=i){f._updateTouchBehavior();if(i===true){f.showButtons=false;f.refresh()}else{if(i===false){f.showButtons=true;f.refresh()}}}};this.propertyChangeMap.rtl=function(f,h,g,i){if(g!=i){f.refresh()}};this.buttonUpCapture=false;this.buttonDownCapture=false;this._updateTouchBehavior();this.setPosition(this.value);this._addHandlers();this.setTheme()},resize:function(c,b){this.width=c;this.height=b;this._arrange()},_updateTouchBehavior:function(){this.isTouchDevice=a.jqx.mobile.isTouchDevice();if(this.touchMode==true){if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.setTheme();return}this.isTouchDevice=true;a.jqx.mobile.setMobileSimulator(this.btnThumb[0]);this._removeHandlers();this._addHandlers();this.setTheme()}else{if(this.touchMode==false){this.isTouchDevice=false}}},_addHandlers:function(){var j=this;var e=false;try{if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){e=true;this._touchSupport=true}}catch(f){}if(j.isTouchDevice||e){this.addHandler(this.btnThumb,a.jqx.mobile.getTouchEventName("touchend"),function(k){var l=j.vertical?j.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):j.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");var m=j.toThemeProperty("jqx-fill-state-pressed");j.btnThumb.removeClass(l);j.btnThumb.removeClass(m);if(!j.disabled){j.handlemouseup(j,k)}return false});this.addHandler(this.btnThumb,a.jqx.mobile.getTouchEventName("touchstart"),function(k){if(!j.disabled){if(j.touchMode==true){k.clientX=k.originalEvent.clientX;k.clientY=k.originalEvent.clientY}else{var l=k;if(l.originalEvent.touches&&l.originalEvent.touches.length){k.clientX=l.originalEvent.touches[0].clientX;k.clientY=l.originalEvent.touches[0].clientY}else{k.clientX=k.originalEvent.clientX;k.clientY=k.originalEvent.clientY}}j.handlemousedown(k);if(k.preventDefault){k.preventDefault()}}});a.jqx.mobile.touchScroll(this.element,j.max,function(q,p,l,k,m){if(j.host.css("visibility")=="visible"){if(j.touchMode==true){m.clientX=m.originalEvent.clientX;m.clientY=m.originalEvent.clientY}else{var o=m;if(o.originalEvent.touches&&o.originalEvent.touches.length){m.clientX=o.originalEvent.touches[0].clientX;m.clientY=o.originalEvent.touches[0].clientY}else{m.clientX=m.originalEvent.clientX;m.clientY=m.originalEvent.clientY}}var n=j.vertical?j.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):j.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");j.btnThumb.addClass(n);j.btnThumb.addClass(j.toThemeProperty("jqx-fill-state-pressed"));j.thumbCapture=true;j.handlemousemove(m)}},j.element.id,j.host,j.host)}if(!this.isTouchDevice){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var b=null;if(window.parent&&document.referrer){b=document.referrer}if(b&&b.indexOf(document.location.host)!=-1){var g=function(k){if(!j.disabled){j.handlemouseup(j,k)}};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}}catch(i){}var c="click mouseup mousedown";this.addHandler(this.btnDown,c,function(l){var k=j.step;if(Math.abs(j.max-j.min)<=k){k=1}if(j.rtl&&!j.vertical){k=-j.step}switch(l.type){case"click":if(j.buttonDownCapture&&!j.isTouchDevice){if(!j.disabled){j.setPosition(j.value+k)}}else{if(!j.disabled&&j.isTouchDevice){j.setPosition(j.value+k)}}break;case"mouseup":if(!j.btnDownInstance.base.disabled&&j.buttonDownCapture){j.buttonDownCapture=false;j.btnDown.removeClass(j.toThemeProperty("jqx-scrollbar-button-state-pressed"));j.btnDown.removeClass(j.toThemeProperty("jqx-fill-state-pressed"));j._removeArrowClasses("pressed","down");j.handlemouseup(j,l);j.setPosition(j.value+k);return false}break;case"mousedown":if(!j.btnDownInstance.base.disabled){j.buttonDownCapture=true;j.btnDown.addClass(j.toThemeProperty("jqx-fill-state-pressed"));j.btnDown.addClass(j.toThemeProperty("jqx-scrollbar-button-state-pressed"));j._addArrowClasses("pressed","down");return false}break}});this.addHandler(this.btnUp,c,function(l){var k=j.step;if(Math.abs(j.max-j.min)<=k){k=1}if(j.rtl&&!j.vertical){k=-j.step}switch(l.type){case"click":if(j.buttonUpCapture&&!j.isTouchDevice){if(!j.disabled){j.setPosition(j.value-k)}}else{if(!j.disabled&&j.isTouchDevice){j.setPosition(j.value-k)}}break;case"mouseup":if(!j.btnUpInstance.base.disabled&&j.buttonUpCapture){j.buttonUpCapture=false;j.btnUp.removeClass(j.toThemeProperty("jqx-scrollbar-button-state-pressed"));j.btnUp.removeClass(j.toThemeProperty("jqx-fill-state-pressed"));j._removeArrowClasses("pressed","up");j.handlemouseup(j,l);j.setPosition(j.value-k);return false}break;case"mousedown":if(!j.btnUpInstance.base.disabled){j.buttonUpCapture=true;j.btnUp.addClass(j.toThemeProperty("jqx-fill-state-pressed"));j.btnUp.addClass(j.toThemeProperty("jqx-scrollbar-button-state-pressed"));j._addArrowClasses("pressed","up");return false}break}})}var h="click";if(this.isTouchDevice){h=a.jqx.mobile.getTouchEventName("touchend")}this.addHandler(this.areaUp,h,function(l){if(!j.disabled){var k=j.largestep;if(j.rtl&&!j.vertical){k=-j.largestep}j.setPosition(j.value-k);return false}});this.addHandler(this.areaDown,h,function(l){if(!j.disabled){var k=j.largestep;if(j.rtl&&!j.vertical){k=-j.largestep}j.setPosition(j.value+k);return false}});this.addHandler(this.areaUp,"mousedown",function(k){if(!j.disabled){j.areaUpCapture=true;return false}});this.addHandler(this.areaDown,"mousedown",function(k){if(!j.disabled){j.areaDownCapture=true;return false}});this.addHandler(this.btnThumb,"mousedown dragstart",function(k){if(k.type==="dragstart"){return false}if(!j.disabled){j.handlemousedown(k)}if(k.preventDefault){k.preventDefault()}});this.addHandler(a(document),"mouseup."+this.element.id,function(k){if(!j.disabled){j.handlemouseup(j,k)}});if(!this.isTouchDevice){this.mousemoveFunc=function(k){if(!j.disabled){j.handlemousemove(k)}};this.addHandler(a(document),"mousemove."+this.element.id,this.mousemoveFunc);this.addHandler(a(document),"mouseleave."+this.element.id,function(k){if(!j.disabled){j.handlemouseleave(k)}});this.addHandler(a(document),"mouseenter."+this.element.id,function(k){if(!j.disabled){j.handlemouseenter(k)}});if(!j.disabled){this.addHandler(this.btnUp,"mouseenter mouseleave",function(k){if(k.type==="mouseenter"){if(!j.disabled&&!j.btnUpInstance.base.disabled&&j.touchMode!=true){j.btnUp.addClass(j.toThemeProperty("jqx-scrollbar-button-state-hover"));j.btnUp.addClass(j.toThemeProperty("jqx-fill-state-hover"));j._addArrowClasses("hover","up")}}else{if(!j.disabled&&!j.btnUpInstance.base.disabled&&j.touchMode!=true){j.btnUp.removeClass(j.toThemeProperty("jqx-scrollbar-button-state-hover"));j.btnUp.removeClass(j.toThemeProperty("jqx-fill-state-hover"));j._removeArrowClasses("hover","up")}}});var d=j.toThemeProperty("jqx-scrollbar-thumb-state-hover");if(!j.vertical){d=j.toThemeProperty("jqx-scrollbar-thumb-state-hover-horizontal")}this.addHandler(this.btnThumb,"mouseenter mouseleave",function(k){if(k.type==="mouseenter"){if(!j.disabled&&j.touchMode!=true){j.btnThumb.addClass(d);j.btnThumb.addClass(j.toThemeProperty("jqx-fill-state-hover"))}}else{if(!j.disabled&&j.touchMode!=true){j.btnThumb.removeClass(d);j.btnThumb.removeClass(j.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.btnDown,"mouseenter mouseleave",function(k){if(k.type==="mouseenter"){if(!j.disabled&&!j.btnDownInstance.base.disabled&&j.touchMode!=true){j.btnDown.addClass(j.toThemeProperty("jqx-scrollbar-button-state-hover"));j.btnDown.addClass(j.toThemeProperty("jqx-fill-state-hover"));j._addArrowClasses("hover","down")}}else{if(!j.disabled&&!j.btnDownInstance.base.disabled&&j.touchMode!=true){j.btnDown.removeClass(j.toThemeProperty("jqx-scrollbar-button-state-hover"));j.btnDown.removeClass(j.toThemeProperty("jqx-fill-state-hover"));j._removeArrowClasses("hover","down")}}})}}},destroy:function(){var b=this.btnUp;var f=this.btnDown;var d=this.btnThumb;var c=this.scrollWrap;var h=this.areaUp;var e=this.areaDown;this.arrowUp.remove();delete this.arrowUp;this.arrowDown.remove();delete this.arrowDown;e.removeClass();h.removeClass();f.removeClass();b.removeClass();d.removeClass();b.jqxRepeatButton("destroy");f.jqxRepeatButton("destroy");h.jqxRepeatButton("destroy");e.jqxRepeatButton("destroy");d.jqxButton("destroy");var g=a.data(this.element,"jqxScrollBar");this._removeHandlers();this.btnUp=null;this.btnDown=null;this.scrollWrap=null;this.areaUp=null;this.areaDown=null;this.scrollOuterWrap=null;delete this.mousemoveFunc;delete this.btnDownInstance;delete this.btnUpInstance;delete this.scrollOuterWrap;delete this.scrollWrap;delete this.btnDown;delete this.areaDown;delete this.areaUp;delete this.btnDown;delete this.btnUp;delete this.btnThumb;delete this.propertyChangeMap.value;delete this.propertyChangeMap.min;delete this.propertyChangeMap.max;delete this.propertyChangeMap.touchMode;delete this.propertyChangeMap.disabled;delete this.propertyChangeMap.theme;delete this.propertyChangeMap;if(g){delete g.instance}this.host.removeData();this.host.remove();delete this.host;delete this.set;delete this.get;delete this.call;delete this.element},_removeHandlers:function(){this.removeHandler(this.btnUp,"mouseenter");this.removeHandler(this.btnDown,"mouseenter");this.removeHandler(this.btnThumb,"mouseenter");this.removeHandler(this.btnUp,"mouseleave");this.removeHandler(this.btnDown,"mouseleave");this.removeHandler(this.btnThumb,"mouseleave");this.removeHandler(this.btnUp,"click");this.removeHandler(this.btnDown,"click");this.removeHandler(this.btnDown,"mouseup");this.removeHandler(this.btnUp,"mouseup");this.removeHandler(this.btnDown,"mousedown");this.removeHandler(this.btnUp,"mousedown");this.removeHandler(this.areaUp,"mousedown");this.removeHandler(this.areaDown,"mousedown");this.removeHandler(this.areaUp,"click");this.removeHandler(this.areaDown,"click");this.removeHandler(this.btnThumb,"mousedown");this.removeHandler(this.btnThumb,"dragstart");this.removeHandler(a(document),"mouseup."+this.element.id);if(!this.mousemoveFunc){this.removeHandler(a(document),"mousemove."+this.element.id)}else{this.removeHandler(a(document),"mousemove."+this.element.id,this.mousemoveFunc)}this.removeHandler(a(document),"mouseleave."+this.element.id);this.removeHandler(a(document),"mouseenter."+this.element.id);var b=this},_addArrowClasses:function(c,b){if(c=="pressed"){c="selected"}if(c!=""){c="-"+c}if(this.vertical){if(b=="up"||b==undefined){this.arrowUp.addClass(this.toThemeProperty("jqx-icon-arrow-up"+c))}if(b=="down"||b==undefined){this.arrowDown.addClass(this.toThemeProperty("jqx-icon-arrow-down"+c))}}else{if(b=="up"||b==undefined){this.arrowUp.addClass(this.toThemeProperty("jqx-icon-arrow-left"+c))}if(b=="down"||b==undefined){this.arrowDown.addClass(this.toThemeProperty("jqx-icon-arrow-right"+c))}}},_removeArrowClasses:function(c,b){if(c=="pressed"){c="selected"}if(c!=""){c="-"+c}if(this.vertical){if(b=="up"||b==undefined){this.arrowUp.removeClass(this.toThemeProperty("jqx-icon-arrow-up"+c))}if(b=="down"||b==undefined){this.arrowDown.removeClass(this.toThemeProperty("jqx-icon-arrow-down"+c))}}else{if(b=="up"||b==undefined){this.arrowUp.removeClass(this.toThemeProperty("jqx-icon-arrow-left"+c))}if(b=="down"||b==undefined){this.arrowDown.removeClass(this.toThemeProperty("jqx-icon-arrow-right"+c))}}},setTheme:function(){var o=this.btnUp;var m=this.btnDown;var p=this.btnThumb;var e=this.scrollWrap;var g=this.areaUp;var h=this.areaDown;var f=this.arrowUp;var i=this.arrowDown;this.scrollWrap[0].className=this.toThemeProperty("jqx-reset");this.scrollOuterWrap[0].className=this.toThemeProperty("jqx-reset");var k=this.toThemeProperty("jqx-reset");this.areaDown[0].className=k;this.areaUp[0].className=k;var d=this.toThemeProperty("jqx-scrollbar")+" "+this.toThemeProperty("jqx-widget")+" "+this.toThemeProperty("jqx-widget-content");this.host.addClass(d);if(this.isTouchDevice){this.host.addClass(this.toThemeProperty("jqx-scrollbar-mobile"))}m[0].className=this.toThemeProperty("jqx-scrollbar-button-state-normal");o[0].className=this.toThemeProperty("jqx-scrollbar-button-state-normal");var q="";if(this.vertical){f[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-up");i[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-down");q=this.toThemeProperty("jqx-scrollbar-thumb-state-normal")}else{f[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-left");i[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-right");q=this.toThemeProperty("jqx-scrollbar-thumb-state-normal-horizontal")}q+=" "+this.toThemeProperty("jqx-fill-state-normal");p[0].className=q;if(this.disabled){e.addClass(this.toThemeProperty("jqx-fill-state-disabled"));e.removeClass(this.toThemeProperty("jqx-scrollbar-state-normal"))}else{e.addClass(this.toThemeProperty("jqx-scrollbar-state-normal"));e.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(this.roundedCorners=="all"){this.host.addClass(this.toThemeProperty("jqx-rc-all"));if(this.vertical){var j=a.jqx.cssroundedcorners("top");j=this.toThemeProperty(j);o.addClass(j);var c=a.jqx.cssroundedcorners("bottom");c=this.toThemeProperty(c);m.addClass(c)}else{var n=a.jqx.cssroundedcorners("left");n=this.toThemeProperty(n);o.addClass(n);var l=a.jqx.cssroundedcorners("right");l=this.toThemeProperty(l);m.addClass(l)}}else{var b=a.jqx.cssroundedcorners(this.roundedCorners);b=this.toThemeProperty(b);o.addClass(b);m.addClass(b)}var b=a.jqx.cssroundedcorners(this.roundedCorners);b=this.toThemeProperty(b);if(!p.hasClass(b)){p.addClass(b)}if(o.css("display")==="none"){this.showButtons=false;this.touchModeStyle=true;p.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-normal-touch"))}if(this.isTouchDevice&&this.touchModeStyle!=false){this.showButtons=false;p.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-normal-touch"))}},isScrolling:function(){if(this.thumbCapture==undefined||this.buttonDownCapture==undefined||this.buttonUpCapture==undefined||this.areaDownCapture==undefined||this.areaUpCapture==undefined){return false}return this.thumbCapture||this.buttonDownCapture||this.buttonUpCapture||this.areaDownCapture||this.areaUpCapture},track:function(){var d,b,e,c;d=Date.now();b=d-this.timestamp;this.timestamp=d;e=this.offset-this.frame;this.frame=this.offset;c=1000*e/(1+b);this.velocity=0.2*c+0.2*this.velocity},handlemousedown:function(e){if(this.thumbCapture==undefined||this.thumbCapture==false){this.thumbCapture=true;var c=this.btnThumb;if(c!=null){c.addClass(this.toThemeProperty("jqx-fill-state-pressed"));if(this.vertical){c.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"))}else{c.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal"))}}}var d=this;function b(f){d.reference=parseInt(d.btnThumb[0].style.top);d.offset=parseInt(d.btnThumb[0].style.top);if(!d.vertical){d.reference=parseInt(d.btnThumb[0].style.left);d.offset=parseInt(d.btnThumb[0].style.left)}d.velocity=d.amplitude=0;d.frame=d.offset;d.timestamp=Date.now();clearInterval(d.ticker);d.ticker=setInterval(function(){d.track()},100)}if(this.thumbCapture&&a.jqx.scrollAnimation){b(e)}this.dragStartX=e.clientX;this.dragStartY=e.clientY;this.dragStartValue=this.value},toggleHover:function(c,b){},refresh:function(){this._arrange()},_setElementPosition:function(c,b,d){if(!isNaN(b)){if(parseInt(c[0].style.left)!=parseInt(b)){c[0].style.left=b+"px"}}if(!isNaN(d)){if(parseInt(c[0].style.top)!=parseInt(d)){c[0].style.top=d+"px"}}},_setElementTopPosition:function(b,c){if(!isNaN(c)){b[0].style.top=c+"px"}},_setElementLeftPosition:function(c,b){if(!isNaN(b)){c[0].style.left=b+"px"}},handlemouseleave:function(e){var b=this.btnUp;var d=this.btnDown;if(this.buttonDownCapture||this.buttonUpCapture){b.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));d.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));this._removeArrowClasses("pressed")}if(this.thumbCapture!=true){return}var c=this.btnThumb;var f=this.vertical?this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");c.removeClass(f);c.removeClass(this.toThemeProperty("jqx-fill-state-pressed"))},handlemouseenter:function(e){var b=this.btnUp;var d=this.btnDown;if(this.buttonUpCapture){b.addClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));b.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this._addArrowClasses("pressed","up")}if(this.buttonDownCapture){d.addClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));d.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this._addArrowClasses("pressed","down")}if(this.thumbCapture!=true){return}var c=this.btnThumb;if(this.vertical){c.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"))}else{c.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal"))}c.addClass(this.toThemeProperty("jqx-fill-state-pressed"))},handlemousemove:function(b){var i=this.btnUp;var e=this.btnDown;var d=0;if(e==null||i==null){return}if(i!=null&&e!=null&&this.buttonDownCapture!=undefined&&this.buttonUpCapture!=undefined){if(this.buttonDownCapture&&b.which==d){e.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));e.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this._removeArrowClasses("pressed","down");this.buttonDownCapture=false}else{if(this.buttonUpCapture&&b.which==d){i.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));i.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this._removeArrowClasses("pressed","up");this.buttonUpCapture=false}}}if(this.thumbCapture!=true){return false}var k=this.btnThumb;if(b.which==d&&!this.isTouchDevice&&!this._touchSupport){this.thumbCapture=false;this._arrange();var j=this.vertical?this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");k.removeClass(j);k.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));return true}if(b.preventDefault!=undefined){b.preventDefault()}if(b.originalEvent!=null){b.originalEvent.mouseHandled=true}if(b.stopPropagation!=undefined){b.stopPropagation()}var l=0;try{if(!this.vertical){l=b.clientX-this.dragStartX}else{l=b.clientY-this.dragStartY}var f=this._btnAndThumbSize;if(!this._btnAndThumbSize){f=(this.vertical)?i.height()+e.height()+k.height():i.width()+e.width()+k.width()}var g=(this.max-this.min)/(this.scrollBarSize-f);if(this.thumbStep=="auto"){l*=g}else{l*=g;if(Math.abs(this.dragStartValue+l-this.value)>=parseInt(this.thumbStep)){var c=Math.round(parseInt(l)/this.thumbStep)*this.thumbStep;if(this.rtl&&!this.vertical){this.setPosition(this.dragStartValue-c)}else{this.setPosition(this.dragStartValue+c)}return false}else{return false}}var c=l;if(this.rtl&&!this.vertical){c=-l}this.setPosition(this.dragStartValue+c);this.offset=parseInt(k[0].style.left);if(this.vertical){this.offset=parseInt(k[0].style.top)}}catch(h){alert(h)}return false},handlemouseup:function(j,b){var g=false;if(this.thumbCapture){this.thumbCapture=false;var i=this.btnThumb;var h=this.vertical?this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");i.removeClass(h);i.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));g=true;this._mouseup=new Date();if(a.jqx.scrollAnimation){var d=this;function f(){var k,o;if(d.amplitude){k=Date.now()-d.timestamp;o=-d.amplitude*Math.exp(-k/325);if(o>0.5||o<-0.5){var l=(d.max-d.min)/(d.scrollBarSize-d._btnAndThumbSize);var n=l*(d.target+o);var m=n;if(d.rtl&&!d.vertical){m=-n}d.setPosition(d.dragStartValue+m);requestAnimationFrame(f)}else{var l=(d.max-d.min)/(d.scrollBarSize-d._btnAndThumbSize);var n=l*(d.target+o);var m=n;if(d.rtl&&!d.vertical){m=-n}d.setPosition(d.dragStartValue+m)}}}clearInterval(this.ticker);if(this.velocity>25||this.velocity<-25){this.amplitude=0.8*this.velocity;this.target=Math.round(this.offset+this.amplitude);if(!this.vertical){this.target-=this.reference}else{this.target-=this.reference}this.timestamp=Date.now();requestAnimationFrame(f)}}}this.areaDownCapture=this.areaUpCapture=false;if(this.buttonUpCapture||this.buttonDownCapture){var e=this.btnUp;var c=this.btnDown;this.buttonUpCapture=false;this.buttonDownCapture=false;e.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));c.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));e.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));c.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this._removeArrowClasses("pressed");g=true;this._mouseup=new Date()}if(g){if(b.preventDefault!=undefined){b.preventDefault()}if(b.originalEvent!=null){b.originalEvent.mouseHandled=true}if(b.stopPropagation!=undefined){b.stopPropagation()}}},setPosition:function(b,g){var d=this.element;if(b==undefined||b==NaN){b=this.min}if(b>=this.max){b=this.max}if(b<this.min){b=this.min}if(this.value!==b||g==true){if(b==this.max){var c=new a.Event("complete");this.host.trigger(c)}var f=this.value;if(this._triggervaluechanged){var e=new a.Event("valueChanged");e.previousValue=this.value;e.currentValue=b}this.value=b;this._positionelements();if(this._triggervaluechanged){this.host.trigger(e)}if(this.valueChanged){this.valueChanged({currentValue:this.value,previousvalue:f})}}return b},val:function(b){var c=function(e){for(var d in e){if(e.hasOwnProperty(d)){return false}}if(typeof b=="number"){return false}if(typeof b=="date"){return false}if(typeof b=="boolean"){return false}if(typeof b=="string"){return false}return true};if(c(b)||arguments.length==0){return this.value}else{this.setPosition(b);return b}},_getThumbSize:function(c){var b=this.max-this.min;var d=0;if(b>1){d=(c/(b+c)*c)}else{if(b==1){d=c-1}else{if(b==0){d=c}}}if(this.thumbSize>0){d=this.thumbSize}if(d<this.thumbMinSize){d=this.thumbMinSize}return Math.min(d,c)},_positionelements:function(){var g=this.element;var n=this.areaUp;var e=this.areaDown;var h=this.btnUp;var f=this.btnDown;var o=this.btnThumb;var b=this.scrollWrap;var p=this._height?this._height:this.host.height();var c=this._width?this._width:this.host.width();var l=(!this.vertical)?p:c;if(!this.showButtons){l=0}var m=(!this.vertical)?c:p;this.scrollBarSize=m;var d=this._getThumbSize(m-2*l);d=Math.floor(d);if(d<this.thumbMinSize){d=this.thumbMinSize}if(p==NaN||p<10){p=10}if(c==NaN||c<10){c=10}l+=2;this.btnSize=l;var i=this._btnAndThumbSize;if(!this._btnAndThumbSize){var i=(this.vertical)?2*this.btnSize+o.outerHeight():2*this.btnSize+o.outerWidth();i=Math.round(i)}var k=(m-i)/(this.max-this.min)*(this.value-this.min);if(this.rtl&&!this.vertical){k=(m-i)/(this.max-this.min)*(this.max-this.value-this.min)}k=Math.round(k);if(k<0){k=0}if(this.vertical){var j=m-k-i;if(j<0){j=0}e[0].style.height=j+"px";n[0].style.height=k+"px";this._setElementTopPosition(n,l);this._setElementTopPosition(o,l+k);this._setElementTopPosition(e,l+k+d)}else{n[0].style.width=k+"px";if(m-k-i>=0){e[0].style.width=m-k-i+"px"}else{e[0].style.width="0px"}this._setElementLeftPosition(n,l);this._setElementLeftPosition(o,l+k);this._setElementLeftPosition(e,2+l+k+d)}},_arrange:function(){var m=this;if(m._initialLayout){m._initialLayout=false;return}if(m.min>m.max){var x=m.min;m.min=m.max;m.max=x}if(m.min<0){var k=m.max-m.min;m.min=0;m.max=k}var d=m.element;var g=m.areaUp;var t=m.areaDown;var c=m.btnUp;var l=m.btnDown;var u=m.btnThumb;var p=m.scrollWrap;var n=parseInt(m.element.style.height);var q=parseInt(m.element.style.width);if(m.isPercentage){var n=m.host.height();var q=m.host.width()}if(isNaN(n)){n=0}if(isNaN(q)){q=0}m._width=q;m._height=n;var b=(!m.vertical)?n:q;if(!m.showButtons){b=0}c[0].style.width=b+"px";c[0].style.height=b+"px";l[0].style.width=b+"px";l[0].style.height=b+"px";if(m.vertical){p[0].style.width=q+2+"px"}else{p[0].style.height=n+2+"px"}m._setElementPosition(c,0,0);var s=b+2;if(m.vertical){m._setElementPosition(l,0,n-s)}else{m._setElementPosition(l,q-s,0)}var f=(!m.vertical)?q:n;m.scrollBarSize=f;var h=m._getThumbSize(f-2*s);h=Math.floor(h-2);if(h<m.thumbMinSize){h=m.thumbMinSize}var o=false;if(m.isTouchDevice&&m.touchModeStyle!=false){o=true}if(!m.vertical){u[0].style.width=h+"px";u[0].style.height=n+"px";if(o&&m.thumbTouchSize!==0){u.css({height:m.thumbTouchSize+"px"});u.css("margin-top",(m.host.height()-m.thumbTouchSize)/2)}}else{u[0].style.width=q+"px";u[0].style.height=h+"px";if(o&&m.thumbTouchSize!==0){u.css({width:m.thumbTouchSize+"px"});u.css("margin-left",(m.host.width()-m.thumbTouchSize)/2)}}if(n==NaN||n<10){n=10}if(q==NaN||q<10){q=10}m.btnSize=b;var e=(m.vertical)?2*s+(2+parseInt(u[0].style.height)):2*s+(2+parseInt(u[0].style.width));e=Math.round(e);m._btnAndThumbSize=e;var w=(f-e)/(m.max-m.min)*(m.value-m.min);if(m.rtl&&!m.vertical){w=(f-e)/(m.max-m.min)*(m.max-m.value-m.min)}w=Math.round(w);if(isNaN(w)||w<0||w===-Infinity||w===Infinity){w=0}if(m.vertical){var v=(f-w-e);if(v<0){v=0}t[0].style.height=v+"px";t[0].style.width=q+"px";g[0].style.height=w+"px";g[0].style.width=q+"px";var i=parseInt(m.element.style.height);if(m.isPercentage){i=m.host.height()}u[0].style.visibility="inherit";if(i-3*parseInt(b)<0||i<e){u[0].style.visibility="hidden"}m._setElementPosition(g,0,s);m._setElementPosition(u,0,s+w);m._setElementPosition(t,0,s+w+h)}else{if(w>0){g[0].style.width=w+"px"}if(n>0){g[0].style.height=n+"px"}var j=(f-w-e);if(j<0){j=0}t[0].style.width=j+"px";t[0].style.height=n+"px";var r=parseInt(m.element.style.width);if(m.isPercentage){r=m.host.width()}u[0].style.visibility="inherit";if((r-3*parseInt(b)<0)||(r<e)){u[0].style.visibility="hidden"}m._setElementPosition(g,s,0);m._setElementPosition(u,s+w,0);m._setElementPosition(t,s+w+h,0)}}})})(jqxBaseFramework);
 
@@ -170,7 +170,7 @@
 
 (function(a){a.jqx.jqxWidget("jqxSwitchButton","",{});a.extend(a.jqx._jqxSwitchButton.prototype,{defineInstance:function(){var b={disabled:false,checked:false,onLabel:"On",offLabel:"Off",toggleMode:"default",animationDuration:250,width:90,height:30,animationEnabled:true,thumbSize:"40%",orientation:"horizontal",switchRatio:"50%",metroMode:false,_isMouseDown:false,rtl:false,_dimensions:{horizontal:{size:"width",opSize:"height",oSize:"outerWidth",opOSize:"outerHeight",pos:"left",oPos:"top",opposite:"vertical"},vertical:{size:"height",opSize:"width",oSize:"outerHeight",opOSize:"outerWidth",pos:"top",oPos:"left",opposite:"horizontal"}},_touchEvents:{mousedown:"touchstart",click:"touchend",mouseup:"touchend",mousemove:"touchmove",mouseenter:"mouseenter",mouseleave:"mouseleave"},_borders:{},_isTouchDevice:false,_distanceRequired:3,_isDistanceTraveled:false,_thumb:undefined,_onLabel:undefined,_offLabel:undefined,_wrapper:undefined,_animationActive:false,aria:{"aria-checked":{name:"checked",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}},_events:["checked","unchecked","change"]};if(this===a.jqx._jqxSwitchButton.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){this._createFromInput();if(this.element.nodeName){if(this.element.nodeName=="INPUT"||this.element.nodeName=="BUTTON"){throw"jqxSwitchButton can be rendered only from a DIV tag."}}this.host.attr("role","checkbox");a.jqx.aria(this);this.render();var c=this;if(!c.element.tabIndex){c.host.attr("tabindex",0)}a.jqx.utilities.resize(this.host,function(){c.element.innerHTML="";c.render()})},_createFromInput:function(){var d=this;if(d.element.nodeName.toLowerCase()=="input"){d.field=d.element;if(d.field.className){d._className=d.field.className}var c={title:d.field.title};if(d.field.value){c.value=d.field.value}if(d.field.checked){c.checked=true}if(d.field.id.length){c.id=d.field.id.replace(/[^\w]/g,"_")+"_jqxSwitchButton"}else{c.id=a.jqx.utilities.createId()+"_jqxSwitchButton"}var f=a("<div></div>",c);f[0].style.cssText=d.field.style.cssText;if(!d.width){d.width=a(d.field).width()}if(!d.height){d.height=a(d.field).outerHeight()}a(d.field).hide().after(f);var e=d.host.data();d.host=f;d.host.data(e);d.element=f[0];d.element.id=d.field.id;d.field.id=c.id;if(d._className){d.host.addClass(d._className);a(d.field).removeClass(d._className)}if(d.field.tabIndex){var b=d.field.tabIndex;d.field.tabIndex=-1;d.element.tabIndex=b}}},resize:function(c,b){this.width=c;this.height=b;this.render()},render:function(){this.innerHTML="";if(this.theme&&this.theme!=""&&(this.theme.indexOf("metro")!=-1||this.theme.indexOf("windowsphone")!=-1||this.theme.indexOf("office")!=-1)){if(this.thumbSize=="40%"){this.thumbSize=12}this.metroMode=true}var c=a.data(document.body,"jqx-switchbutton")||1;this._idHandler(c);a.data(document.body,"jqx-draggables",++c);this._isTouchDevice=a.jqx.mobile.isTouchDevice();this.switchRatio=parseInt(this.switchRatio,10);this._render();this._addClasses();this._performLayout();this._removeEventHandlers();this._addEventHandles();this._disableSelection();var b=this;if(!this.checked){this._switchButton(false,0,true)}if(this.disabled){this.element.disabled=true}},setOnLabel:function(b){this._onLabel.html('<div style="display: inline-block;">'+b+"</div>");this._centerLabels()},setOffLabel:function(b){this._offLabel.html('<div style="display: inline-block;">'+b+"</div>");this._centerLabels()},toggle:function(){if(this.checked){this.uncheck()}else{this.check()}},val:function(b){if(arguments.length==0||(b!=null&&typeof(b)=="object")){return this.checked}if(typeof b=="string"){if(b=="true"){this.check()}if(b=="false"){this.uncheck()}if(b==""){this.indeterminate()}}else{if(b==true){this.check()}if(b==false){this.uncheck()}if(b==null){this.indeterminate()}}return this.checked},uncheck:function(){var b=this;this._switchButton(false);a.jqx.aria(this,"aria-checked",this.checked)},check:function(){var b=this;this._switchButton(true);a.jqx.aria(this,"aria-checked",this.checked)},_idHandler:function(b){if(!this.element.id){var c="jqx-switchbutton-"+b;this.element.id=c}},_dir:function(b){return this._dimensions[this.orientation][b]},_getEvent:function(c){if(this._isTouchDevice){var b=this._touchEvents[c];return a.jqx.mobile.getTouchEventName(b)}else{return c}},_render:function(){this._thumb=a("<div/>");this._onLabel=a("<div/>");this._offLabel=a("<div/>");this._wrapper=a("<div/>");this._onLabel.appendTo(this.host);this._thumb.appendTo(this.host);this._offLabel.appendTo(this.host);this.host.wrapInner(this._wrapper);this._wrapper=this.host.children();this.setOnLabel(this.onLabel);this.setOffLabel(this.offLabel)},_addClasses:function(){var c=this._thumb,d=this._onLabel,b=this._offLabel;this.host.addClass(this.toThemeProperty("jqx-switchbutton"));this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));this._wrapper.addClass(this.toThemeProperty("jqx-switchbutton-wrapper"));c.addClass(this.toThemeProperty("jqx-fill-state-normal"));c.addClass(this.toThemeProperty("jqx-switchbutton-thumb"));d.addClass(this.toThemeProperty("jqx-switchbutton-label-on"));d.addClass(this.toThemeProperty("jqx-switchbutton-label"));b.addClass(this.toThemeProperty("jqx-switchbutton-label-off"));b.addClass(this.toThemeProperty("jqx-switchbutton-label"));if(this.checked){this.host.addClass(this.toThemeProperty("jqx-switchbutton-on"))}else{this.host.removeClass(this.toThemeProperty("jqx-switchbutton-on"))}},_performLayout:function(){var g=this.host,e=this._dir("opSize"),f=this._dir("size"),i=this._wrapper,d;g.css({width:this.width,height:this.height});i.css(e,g[e]());this._thumbLayout();this._labelsLayout();d=this._borders[this._dir("opposite")];i.css(f,g[f]()+this._offLabel[this._dir("oSize")]()+d);i.css(e,g[e]());if(this.metroMode||(this.theme&&this.theme!=""&&(this.theme.indexOf("metro")!=-1||this.theme.indexOf("office")!=-1))){var c=this._thumb,h=this._onLabel,b=this._offLabel;h.css("position","relative");h.css("top","1px");h.css("margin-left","1px");b.css("position","relative");b.css("top","1px");b.css("left","-2px");b.css("margin-right","1px");b.height(h.height()-2);b.width(h.width()-3);h.height(h.height()-2);h.width(h.width()-3);this._thumb[this._dir("size")](this.thumbSize+3);this._thumb.css("top","-1px");this._thumb[this._dir("opSize")](g[this._dir("opSize")]()+2);this._thumb.css("position","relative");this.host.css("overflow","hidden");if(this.checked){this._onLabel.css("visibility","visible");this._offLabel.css("visibility","hidden");this._thumb.css("left","0px")}else{this._onLabel.css("visibility","hidden");this._offLabel.css("visibility","visible");this._thumb.css("left","-2px")}}},_thumbLayout:function(){var d=this.thumbSize,e=this.host,b=0,f={horizontal:0,vertical:0},c=this;if(d.toString().indexOf("%")>=0){d=e[this._dir("size")]()*parseInt(d,10)/100}this._thumb[this._dir("size")](d);this._thumb[this._dir("opSize")](e[this._dir("opSize")]());this._handleThumbBorders()},_handleThumbBorders:function(){this._borders.horizontal=parseInt(this._thumb.css("border-left-width"),10)||0;this._borders.horizontal+=parseInt(this._thumb.css("border-right-width"),10)||0;this._borders.vertical=parseInt(this._thumb.css("border-top-width"),10)||0;this._borders.vertical+=parseInt(this._thumb.css("border-bottom-width"),10)||0;var b=this._borders[this._dir("opposite")];if(this.orientation==="horizontal"){this._thumb.css("margin-top",-b/2);this._thumb.css("margin-left",0)}else{this._thumb.css("margin-left",-b/2);this._thumb.css("margin-top",0)}},_labelsLayout:function(){var g=this.host,c=this._thumb,e=this._dir("opSize"),h=this._dir("size"),b=this._dir("oSize"),f=g[h]()-c[b](),d=this._borders[this._dir("opposite")]/2;this._onLabel[h](f+d);this._offLabel[h](f+d);if(this.rtl){this._onLabel[h](f+2*d)}this._onLabel[e](g[e]());this._offLabel[e](g[e]());this._orderLabels();this._centerLabels()},_orderLabels:function(){if(this.orientation==="horizontal"){var b="left";if(this.rtl){b="right"}this._onLabel.css("float",b);this._thumb.css("float",b);this._offLabel.css("float",b)}else{this._onLabel.css("display","block");this._offLabel.css("display","block")}},_centerLabels:function(){var c=this._onLabel.children("div"),b=this._offLabel.children("div"),e=c.parent(),f=e.height(),g=c.outerHeight(),d=this._borders[this.orientation]/2||0;if(g==0){g=14}var h=Math.floor((f-g)/2)+d;c.css("margin-top",h);b.css("margin-top",h)},_removeEventHandlers:function(){var b="."+this.element.id;this.removeHandler(this._wrapper,this._getEvent("click")+b,this._clickHandle);this.removeHandler(this._thumb,this._getEvent("mousedown")+b,this._mouseDown);this.removeHandler(a(document),this._getEvent("mouseup")+b,this._mouseUp);this.removeHandler(a(document),this._getEvent("mousemove")+b,this._mouseMove);this.removeHandler(this._thumb,"mouseenter"+b);this.removeHandler(this._thumb,"mouseleave"+b);this.removeHandler(this._wrapper,"focus"+b);this.removeHandler(this._wrapper,"blur"+b)},_addEventHandles:function(){var c="."+this.element.id,b=this;this.addHandler(this.host,"focus"+c,function(d){b.host.addClass(b.toThemeProperty("jqx-fill-state-focus"));return false});this.addHandler(this.host,"blur"+c,function(){b.host.removeClass(b.toThemeProperty("jqx-fill-state-focus"))});this.addHandler(this._thumb,"mouseenter"+c,function(){b._thumb.addClass(b.toThemeProperty("jqx-fill-state-hover"))});this.addHandler(this._thumb,"mouseleave"+c,function(){b._thumb.removeClass(b.toThemeProperty("jqx-fill-state-hover"))});this.addHandler(this._wrapper,this._getEvent("click")+c,this._clickHandle,{self:this});this.addHandler(this._thumb,this._getEvent("mousedown")+c,this._mouseDown,{self:this});this.addHandler(a(document),this._getEvent("mouseup")+c,this._mouseUp,{self:this});this.addHandler(a(document),this._getEvent("mousemove")+c,this._mouseMove,{self:this})},enable:function(){this.disabled=false;this.element.disabled=false;a.jqx.aria(this,"aria-disabled",this.disabled)},disable:function(){this.disabled=true;this.element.disabled=true;a.jqx.aria(this,"aria-disabled",this.disabled)},_clickHandle:function(c){var b=c.data.self;if((b.toggleMode==="click"||b.toggleMode==="default")&&!b.disabled){if(!b._isDistanceTraveled&&!b._dragged){b._wrapper.stop();b.toggle()}}b._thumb.removeClass(b.toThemeProperty("jqx-fill-state-pressed"))},_mouseDown:function(c){var b=c.data.self,d=b._wrapper;if(b.metroMode){b.host.css("overflow","hidden");b._onLabel.css("visibility","visible");b._offLabel.css("visibility","visible")}b._mouseStartPosition=b._getMouseCoordinates(c);b._buttonStartPosition={left:parseInt(d.css("margin-left"),10)||0,top:parseInt(d.css("margin-top"),10)||0};if(!b.disabled&&(b.toggleMode==="slide"||b.toggleMode==="default")){b._wrapper.stop();b._isMouseDown=true;b._isDistanceTraveled=false;b._dragged=false}b._thumb.addClass(b.toThemeProperty("jqx-fill-state-pressed"))},_mouseUp:function(d){var c=d.data.self;if(c.metroMode){}c._isMouseDown=false;c._thumb.removeClass(c.toThemeProperty("jqx-fill-state-pressed"));if(!c._isDistanceTraveled){return}var f=c._wrapper,b=parseInt(f.css("margin-"+c._dir("pos")),10)||0,e=c._dropHandler(b);if(e){c._switchButton(!c.checked)}else{c._switchButton(c.checked,null,true)}c._isDistanceTraveled=false},_mouseMove:function(f){var d=f.data.self,b=d._getMouseCoordinates(f);if(d._isMouseDown&&d._distanceTraveled(b)){var e=d._dir("pos"),h=d._wrapper,c=d._buttonStartPosition[e],g=c+b[e]-d._mouseStartPosition[e],g=d._validatePosition(g);d._dragged=true;h.css("margin-"+d._dir("pos"),g);d._onLabel.css("visibility","visible");d._offLabel.css("visibility","visible");return false}},_distanceTraveled:function(b){if(this._isDistanceTraveled){return true}else{if(!this._isMouseDown){return false}else{var d=this._mouseStartPosition,c=this._distanceRequired;this._isDistanceTraveled=Math.abs(b.left-d.left)>=c||Math.abs(b.top-d.top)>=c;return this._isDistanceTraveled}}},_validatePosition:function(c){var d=this._borders[this._dir("opposite")],b=0,e=-(this.host[this._dir("size")]()-this._thumb[this._dir("oSize")]())-d;if(b<c){return b}if(e>c){return e}return c},_dropHandler:function(c){var b=0,d=-(this.host[this._dir("size")]()-this._thumb[this._dir("oSize")]()),g=Math.abs(d-b),e=Math.abs(c-this._buttonStartPosition[this._dir("pos")]),f=g*(this.switchRatio/100);if(e>=f){return true}return false},_switchButton:function(c,h,g){if(this.metroMode){this.host.css("overflow","hidden");this._onLabel.css("visibility","visible");this._offLabel.css("visibility","visible");if(c){this._thumb.css("left","0px")}else{this._thumb.css("left","-2px")}}else{this._onLabel.css("visibility","visible");this._offLabel.css("visibility","visible")}var i=this._wrapper,d=this,f={},e=this._borders[this._dir("opposite")],b=0;if(typeof h==="undefined"){h=(this.animationEnabled?this.animationDuration:0)}if(!this.rtl){if(!c){b=this.host[this._dir("size")]()-this._thumb[this._dir("oSize")]()+e}}else{if(c){b=this.host[this._dir("size")]()-this._thumb[this._dir("oSize")]()+e;if(this.metroMode){b+=5}}else{if(this.metroMode){b-=3}}}f["margin-"+this._dir("pos")]=-b;if(c){d.host.addClass(d.toThemeProperty("jqx-switchbutton-on"))}else{d.host.removeClass(d.toThemeProperty("jqx-switchbutton-on"))}i.animate(f,h,function(){if(c){d._onLabel.css("visibility","visible");d._offLabel.css("visibility","hidden")}else{d._onLabel.css("visibility","hidden");d._offLabel.css("visibility","visible")}d.checked=c;if(!g){d._handleEvent(!c)}})},_handleEvent:function(b){if(b!==this.checked){this._raiseEvent(2,{check:this.checked,checked:this.checked})}if(b){this._raiseEvent(0,{checked:this.checked})}else{this._raiseEvent(1,{checked:this.checked})}},_disableSelection:function(){var c=this.host,b=c.find("*");a.each(b,function(d,e){e.onselectstart=function(){return false};a(e).addClass("jqx-disableselect")})},_getMouseCoordinates:function(b){if(this._isTouchDevice){if(b.originalEvent.touches){return{left:b.originalEvent.touches[0].pageX,top:b.originalEvent.touches[0].pageY}}return{left:b.pageX,top:b.pageY}}else{return{left:b.pageX,top:b.pageY}}},destroy:function(){this._removeEventHandlers();this.host.removeClass(this.toThemeProperty("jqx-switchbutton"));this._wrapper.remove()},_raiseEvent:function(d,b){var c=a.Event(this._events[d]);c.args=b;return this.host.trigger(c)},_themeChanger:function(f,g,e){if(!f){return}if(typeof e==="undefined"){e=this.host}var h=e[0].className.split(" "),b=[],j=[],d=e.children();for(var c=0;c<h.length;c+=1){if(h[c].indexOf(f)>=0){b.push(h[c]);j.push(h[c].replace(f,g))}}this._removeOldClasses(b,e);this._addNewClasses(j,e);for(var c=0;c<d.length;c+=1){this._themeChanger(f,g,a(d[c]))}},_removeOldClasses:function(d,c){for(var b=0;b<d.length;b+=1){c.removeClass(d[b])}},_addNewClasses:function(d,c){for(var b=0;b<d.length;b+=1){c.addClass(d[b])}},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d._wrapper.css("margin-left","0px");d._wrapper.css("margin-top","0px");d._performLayout();d._wrapper.css("left","0px");d._wrapper.css("top","0px");d._switchButton(this.checked,0,true)}},propertyChangedHandler:function(b,c,e,d){if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}switch(c){case"disabled":if(d){b.disable()}else{b.enable()}break;case"switchRatio":b.switchRatio=parseInt(b.switchRatio,10);break;case"checked":if(d){b.check()}else{b.uncheck()}break;case"onLabel":b.setOnLabel(d);break;case"offLabel":b.setOffLabel(d);break;case"theme":a.jqx.utilities.setTheme(e,d,b.host);break;case"width":case"height":case"thumbSize":case"orientation":b._wrapper.css("margin-left","0px");b._wrapper.css("margin-top","0px");b._performLayout();b._wrapper.css("left","0px");b._wrapper.css("top","0px");b._switchButton(this.checked,0,true);break}}})})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxTabs","",{});a.extend(a.jqx._jqxTabs.prototype,{defineInstance:function(){var b={scrollAnimationDuration:200,enabledHover:true,disabled:false,collapsible:false,animationType:"none",enableScrollAnimation:true,contentTransitionDuration:450,toggleMode:"click",selectedItem:0,height:"auto",width:"auto",position:"top",selectionTracker:false,scrollable:true,scrollPosition:"right",scrollStep:70,autoHeight:true,headerHeight:null,showCloseButtons:false,canCloseAllTabs:true,closeButtonSize:16,arrowButtonSize:16,keyboardNavigation:true,reorder:false,selectionTrackerAnimationDuration:300,_isTouchDevice:false,roundedCorners:true,_headerExpandingBalance:0,_dragStarted:false,_tabCaptured:false,_lastUnorderedListPosition:0,_selectedItem:0,_titleList:[],_contentList:[],_contentWrapper:null,_unorderedList:null,_scrollTimeout:null,isCollapsed:false,touchMode:false,initTabContent:null,enableDropAnimation:false,_currentEvent:null,_needScroll:true,_isAnimated:{},_events:["created","selected","add","removed","enabled","disabled","selecting","unselecting","unselected","dragStart","dragEnd","locked","unlocked","collapsed","expanded","tabclick"],_initTabContentList:[],_invalidArgumentExceptions:{invalidScrollAnimationDuration:"The scroll animation duration is not valid!",invalidWidth:"Width you've entered is invalid!",invalidHeight:"Height you've entered is invalid!",invalidAnimationType:"You've entered invalid animation type!",invalidcontentTransitionDuration:"You've entered invalid value for contentTransitionDuration!",invalidToggleMode:"You've entered invalid value for toggleMode!",invalidPosition:"You've entered invalid position!",invalidScrollPosition:"You've entered invalid scroll position!",invalidScrollStep:"You've entered invalid scroll step!",invalidStructure:"Invalid structure!",invalidArrowSize:"Invalid scroll button size!",invalidCloseSize:"Invalid close button size!"},aria:{"aria-disabled":{name:"disabled",type:"boolean"}},rtl:false};if(this===a.jqx._jqxTabs.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){this._IE8=a.jqx.browser.msie&&a.jqx.browser.version<9;a.jqx.aria(this);this.element.className+=" "+this.toThemeProperty("jqx-tabs jqx-widget jqx-widget-content");this.element.setAttribute("role","tablist");var e=this.host.children();for(var b=0;b<e.length;b++){var d=e[b];if(d.nodeName.toLowerCase()==="ul"){this._unorderedList=d}else{if(d.nodeName.toLowerCase()==="div"){this._contentList.push(d)}}}this._unorderedListHelper=a(this._unorderedList);if(this._unorderedListHelper.initAnimate){this._unorderedListHelper.initAnimate()}this._closeButtonList=[];this._selectedItem=this.selectedItem;this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._needScroll=this.scrollable;if(this.selectionTracker){this.selectionTracker=this._seletionTrackerBrowserCheck()}if(this._isTouchDevice){this.reorder=false;this.keyboardNavigation=false}this._titleList=this._unorderedListHelper.children();var c=this._titleList.length;while(c){c--;this._titleList[c].setAttribute("role","tab");if(!this._titleList[c].getAttribute("id")){this._titleList[c].setAttribute("id",this.element.id+"Tab"+c)}this._contentList[c].setAttribute("role","tabpanel")}this._validateProperties();this._refresh();this._moveSelectionTrack(this._selectedItem,0);if(this.disabled){this.disable()}this.element.tabIndex=0;this._raiseEvent(0);this._enableWindowResize()},_hiddenParent:function(){var c=this;if(c.host.css("display")==="none"){return true}var b=false;a.each(c.host.parents(),function(){if(a(this).css("display")==="none"){b=true;return false}});return b},_enableWindowResize:function(){var b=this;var c=a.jqx.isHidden(b.host);a.jqx.utilities.resize(this.host,function(){if(c){b._uiRefresh(true);c=false}else{b.refresh()}b._refreshBarPosition()})},resize:function(c,b){this.width=c;this.height=b;var d=a.jqx.isHidden(this.host);if(d){this._uiRefresh(true);d=false}else{this.refresh()}},refresh:function(b){if(true!==b||b===undefined){this._setSize()}},_seletionTrackerBrowserCheck:function(){var b="Browser CodeName: "+navigator.appCodeName+"";b+="Browser Name: "+navigator.appName+"";b+="Browser Version: "+navigator.appVersion+"";b+="Platform: "+navigator.platform+"";b+="User-agent header: "+navigator.userAgent+"";if(b.indexOf("IEMobile")!==-1){return false}if(b.indexOf("Windows Phone OS")!==-1){return false}if(a.jqx.browser.msie&&a.jqx.browser.version<=7){return false}return true},render:function(){this._refresh()},_uiRefresh:function(b){this._unorderedListLeftBackup=this._unorderedListHelper.css("left");if(b){this._render()}this._addStyles();this._performLayout();this._prepareTabs();this._removeEventHandlers();this._addEventHandlers();if(this._unorderedListLeftBackup==="auto"){this._unorderedListLeftBackup=this._getArrowsDisplacement()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);if(this.rtl){if(this.scrollable&&this._rightArrow&&a(this._rightArrow).css("visibility")!=="hidden"){var e=2*this.arrowButtonSize;var d=this._width(this.element)-parseInt(this._width(this._unorderedList)+e+parseInt(this._unorderedListHelper.css("margin-left"),10),10);this._unorderedList.style.left=d+"px"}}var c=this;setTimeout(function(){c._performLayout()},100)},_refresh:function(){if(a.jqx.isHidden(this.host)){return}this._uiRefresh(true);this.host.addClass("jqx-tabs-header-position-"+this.position)},_addStyles:function(){this._unorderedList.className+=" "+this.toThemeProperty("jqx-tabs-title-container");this._unorderedList.style.outline="none";this._unorderedList.style.whiteSpace="nowrap";this._unorderedList.style.marginTop="0px";this._unorderedList.style.marginBottom="0px";this._unorderedList.style.padding="0px";this._unorderedList.style.background="transparent";this._unorderedList.style.border="none";this._unorderedList.style.borderStyle="none";this._unorderedList.style.textIndent="0px";var c=this.length();while(c){c--;var d=this._titleList[c],b="jqx-tabs-title jqx-item";d.style.padding="";if(this.position==="bottom"){b+=" jqx-tabs-title-bottom"}if(d.disabled){b+=" jqx-tabs-title-disable jqx-fill-state-disabled"}switch(this.position){case"top":b+=" jqx-rc-t";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-t"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-b");break;case"bottom":b+=" jqx-rc-b";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-b"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-t");break}d.className="jqx-reset jqx-disableselect "+this.toThemeProperty(b)}if(this.selectionTracker){switch(this.position){case"top":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-b"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-t");break;case"bottom":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-t"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-b");break}}},_raiseEvent:function(e,i){var g=new a.Event(this._events[e]);g.owner=this;g.args=i;if(e===6||e===7){g.cancel=false;this._currentEvent=g}var b="";try{b=this.host.trigger(g);if(e===1){var f=this;if(this.selectionTracker||this.animationType!=="none"){setTimeout(function(){if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}var j=new a.Event("loadContent");j.owner=this;if(f._contentList.length>0&&f._contentList[f.selectedItem]){a(f._contentList[f.selectedItem]).trigger(j)}},50+f.selectionTrackerAnimationDuration)}else{var d=new a.Event("loadContent");if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}d.owner=this;var h=new a.Event("resize");this.host.trigger(h)}}}catch(c){if(c&&console){console.log(c)}}return b},_getArrowsDisplacement:function(){if(!this._needScroll){return 0}var d;var c=this.arrowButtonSize;var b=this.arrowButtonSize;if(this.scrollPosition==="left"){d=c+b}else{if(this.scrollPosition==="both"){d=c}else{d=0}}return d},_scrollRight:function(e){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var f=parseInt(this._width(this._unorderedList)+parseInt(this._unorderedListHelper.css("margin-left"),10),10),h=this._width(this.element),g,i,b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),d=0,j;if(this.scrollable){g=this._leftArrow.offsetWidth;i=this._rightArrow.offsetWidth}else{g=0;i=0}e=(this.enableScrollAnimation)?e:0;if(this._width(this._headerWrapper)>parseInt(this._unorderedListHelper.css("margin-left"),10)+this._width(this._unorderedList)){d=c}else{if(Math.abs(b)+this.scrollStep<Math.abs(h-f)+g+i+c){d=b-this.scrollStep;j=b-this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{d=h-f-(2*this.arrowButtonSize-c);if(d<parseInt(this._unorderedListHelper.css("left"),10)-4&&d>parseInt(this._unorderedListHelper.css("left"),10)+4){j=h-f-g-i+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(d,j,e)},_scrollLeft:function(f){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),e=0,d;f=(this.enableScrollAnimation)?f:0;if(this._width(this._headerWrapper)>=this._width(this._unorderedList)){e=c}else{if(b+this.scrollStep<c){e=b+this.scrollStep;d=b+this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{e=c;if(e<parseInt(this._unorderedListHelper.css("left"),10)-4&&e>parseInt(this._unorderedListHelper.css("left"),10)+4){d=parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(e,d,f)},_performScrollAnimation:function(e,d,c){var b=this;if(d!==undefined){this._moveSelectionTrack(this._selectedItem,0,d)}this._lockAnimation("unorderedList");b._refreshBarPosition();this._unorderedListHelper.animate({left:e},c,function(){b._moveSelectionTrack(b.selectedItem,0);b._unlockAnimation("unorderedList");b._refreshBarPosition()})},_addKeyboardHandlers:function(){var b=this;if(this.keyboardNavigation){this.addHandler(this.host,"keydown",function(e){if(!b._activeAnimation()){var f=b._selectedItem;var d=b.selectionTracker;var c=b.getContentAt(f);if(a(e.target).ischildof(c)){return true}if(a(document.activeElement).ischildof(a(c))){return true}switch(e.keyCode){case 37:if(b.rtl){b.next()}else{b.previous()}return false;case 39:if(b.rtl){b.previous()}else{b.next()}return false;case 36:b.first();return false;case 35:b.last();return false;case 27:if(b._tabCaptured){b._cancelClick=true;b._uncapture(null,b.selectedItem);b._tabCaptured=false}break}b.selectionTracker=d}return true})}},_addScrollHandlers:function(){var b=this;this.addHandler(this._leftArrow,"mousedown",function(){b._startScrollRepeat(true,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mousedown",function(){b._startScrollRepeat(false,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(this._leftArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(a(document),"mouseup.tab"+this.element.id,this._mouseUpScrollDocumentHandler,this);this.addHandler(a(document),"mouseleave.tab"+this.element.id,this._mouseLeaveScrollDocumentHandler,this)},_mouseLeaveScrollDocumentHandler:function(c){var b=c.data;if(!b._scrollTimeout){return}clearTimeout(b._scrollTimeout)},_mouseUpScrollDocumentHandler:function(c){var b=c.data;clearTimeout(b._scrollTimeout)},_mouseUpDragDocumentHandler:function(c){var b=c.data;if(b._tabCaptured&&b._dragStarted){b._uncapture(c)}b._tabCaptured=false},_addReorderHandlers:function(){var b=this;b.addHandler(a(document),"mousemove.tab"+b.element.id,b._moveElement,b);b.addHandler(a(document),"mouseup.tab"+b.element.id,b._mouseUpDragDocumentHandler,b)},_addEventHandlers:function(){var e=this.length();while(e){e--;this._addEventListenerAt(e)}if(this.keyboardNavigation){this._addKeyboardHandlers()}if(this.scrollable){this._addScrollHandlers()}if(this.reorder&&!this._isTouchDevice){this._addReorderHandlers()}var d=this;try{if(document.referrer!==""||window.frameElement){if(window.top!==null&&window.top!==window.self){var c=function(){if(d._tabCaptured){d._cancelClick=true;d._uncapture(null,d.selectedItem);d._tabCaptured=false}};var f=null;if(window.parent&&document.referrer){f=document.referrer}if(f&&f.indexOf(document.location.host)!==-1){if(window.top.document){this.addHandler(a(window.top.document),"mouseup.tabs"+this.element.id,c)}}}}}catch(b){}},focus:function(){try{this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25)}catch(b){}},_getFocusedItem:function(c){var d=this.length();while(d){d--;var b=this._titleList[d],g=this._outerWidth(b,true),f=parseInt(a(b).offset().left,10),e=f;if((e<=c&&e+g>=c)&&(b!==this._capturedElement)&&(!this._titleList[d].locked)&&(this._titleList[d].disabled!==true)){return d}}return -1},_uncapture:function(f){var e=this.selectionTracker;this._unorderedListLeftBackup=this._unorderedListHelper.css("left");this._dragStarted=false;this._tabCaptured=false;var b=this._indexOf(this._capturedElement);if(!this._capturedElement){return}switch(this.position){case"top":this._capturedElement.style.bottom="0px";break;case"bottom":this._capturedElement.style.top="0px";break}var d;if(f){d=this._getFocusedItem(f.clientX)}if(d===-1||!f){this._capturedElement.style.left="0px"}else{this._raiseEvent(10,{item:b,dropIndex:d});this._reorderItems(d,b)}for(var c=0;c<this._titleList.length;c++){this._titleList[c].style.position="static"}this._reorderHeaderElements();this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._prepareTabs();if(d===-1||!f){this._selectedItem=b;this._moveSelectionTrack(b,0);this._addSelectStyle(this._selectedItem,true)}else{this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this._selectedItem,true)}if(document.selection){document.selection.clear()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);this.selectionTracker=e},_reorderItems:function(c,b){var e=this._titleList[this.selectedItem],d=this._titleList[b];if(typeof this._capturedElement==="undefined"){this._capturedElement=d}a(d).remove();if(b<c){if(this._titleList[c+1]){this._unorderedList.insertBefore(d,this._titleList[c+1])}else{this._unorderedList.appendChild(d)}}else{this._unorderedList.insertBefore(d,this._titleList[c])}this._reorderElementArrays(c,b);this._getSelectedItem(e);this._removeEventHandlers();this._addEventHandlers()},_reorderElementArrays:function(e,b){var f=this._contentList[b];if(b<e){for(var d=b;d<=e;d++){this._titleList[d]=this._titleList[d+1];this._contentList[d]=this._contentList[d+1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}else{for(var c=b;c>=e;c--){this._titleList[c]=this._titleList[c-1];this._contentList[c]=this._contentList[c-1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}},getSelectedItem:function(){return this.selectedItem},_getSelectedItem:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c){this._selectedItem=this.selectedItem=b;break}}},_moveElement:function(d){var c=d.data;if(c._tabCaptured){if(document.selection){document.selection.clear()}if(!c._dragStarted){var b=-parseInt(c._unorderedListHelper.css("left"),10);if(d.clientX+b>c._startX+3||d.clientX+b<c._startX-3){c._prepareTabForDragging();c._dragStarted=true}}else{c._performDrag(d);clearTimeout(c._scrollTimeout)}}},_performDrag:function(d){var c=this.getZoomFactor(),b=-parseInt(this._unorderedListHelper.css("left"),10);this._capturedElement.style.left=this._toPx(b+d.clientX/c-this._startX/c);this._lastX=d.clientX/c;this._moveSelectionTrack(this.selectedItem,0)},getZoomFactor:function(){var c=1;if(document.body.getBoundingClientRect){var d=document.body.getBoundingClientRect();var e=d.right-d.left;var b=document.body.offsetWidth;c=Math.round((e/b)*100)/100}return c},_prepareTabForDragging:function(){this._capturedElement.style.position="relative";this._capturedElement.style.left="0px";this._capturedElement.style.top="0px";this._capturedElement.style.zIndex=300;this.selectedItem=this._indexOf(this._capturedElement);switch(this.position){case"top":this._capturedElement.style.bottom=this._toPx(a(this._capturedElement).css("top"));break;case"bottom":this._capturedElement.style.top=this._toPx(a(this._capturedElement).css("top"));break}this._raiseEvent(9,{item:this._indexOf(this._capturedElement)})},_dragScroll:function(d){var b=parseInt(this._unorderedListHelper.css("left"),10);var c=this,e=a(c._headerWrapper);if(d.clientX<=e.offset().left){this._scrollLeft(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{if(d.clientX>e.offset().left+c._width(this._headerWrapper)){this._scrollRight(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{c._stop(c._unorderedListHelper);this._unlockAnimation("unorderedList");clearTimeout(this._scrollTimeout)}}this._scrollTimeout=setTimeout(function(){c._dragScroll(d)},this.scrollAnimationDuration);this._lastUnorderedListPosition=b},_captureElement:function(d,c){if(!this._tabCaptured&&!this._titleList[c].locked&&this._titleList[c].disabled!==true&&!this._activeAnimation()){var b=-parseInt(this._unorderedListHelper.css("left"),10);this._startX=b+d.clientX;this._startY=d.clientY;this._lastX=d.clientX;this._lastY=d.clientY;this._tabCaptured=true;this._capturedElement=this._titleList[c]}},_titleInteractionTrigger:function(b){if(this._headerExpandingBalance>0){this._removeOppositeBorder()}if(this._selectedItem!==b){this.select(this._titleList[b],"toggle");this._titleList[b].collapsed=false;if(!this.collapsible){if(this.height!=="auto"){this._contentWrapper.style.visibility="visible"}else{this._contentWrapper.style.display="block"}}}else{if(this.collapsible){if(this.isCollapsed){this.expand()}else{this.collapse()}}}},collapse:function(){var b=this._selectedItem,c=this;this.isCollapsed=true;if(c.height!=="auto"){c._contentWrapper.style.visibility="hidden"}else{c._contentWrapper.style.display="none"}c._raiseEvent(13,{item:b});if(this.position==="top"){c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed")}else{c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed-bottom");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed-bottom")}},expand:function(){var b=this._selectedItem,c=this;this.isCollapsed=false;this._select(b,c.contentTransitionDuration,null,false,true);if(c.height!=="auto"){c._contentWrapper.style.visibility="visible"}else{c._contentWrapper.style.display="block"}c._raiseEvent(14,{item:b});if(this.position==="top"){c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed"))}else{c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed-bottom"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed-bottom"))}},_addSelectHandler:function(b){var c=this;this.addHandler(this._titleList[b],"selectstart",function(){return false});this.addHandler(this._titleList[b],this.toggleMode,(function(d){return function(){c._raiseEvent("15",{item:d});if(!c._tabCaptured&&!c._cancelClick){c._titleInteractionTrigger(d)}return true}}(b)))},_addDragDropHandlers:function(b){var c=this;this.addHandler(this._titleList[b],"mousedown",function(d){c._captureElement(d,b)});this.addHandler(this._titleList[b],"mouseup",function(d){if(c._tabCaptured&&c._dragStarted){c._cancelClick=true;c._uncapture(d,b)}else{c._cancelClick=false}c._tabCaptured=false;return false})},_removeHoverStates:function(){var b=this;a.each(this._titleList,function(){b._removeClass(this,b.toThemeProperty("jqx-tabs-title-hover-top jqx-tabs-title-hover-bottom"))})},_addHoverHandlers:function(b){var d=this;var c=this._titleList[b];this.addHandler(c,"mouseenter mouseleave",function(g){if(b!==d._selectedItem){var f="jqx-fill-state-hover";if(d.position==="top"){f+=" jqx-tabs-title-hover-top"}else{f+=" jqx-tabs-title-hover-bottom"}if(g.type==="mouseenter"){c.className+=" "+d.toThemeProperty(f)}else{d._removeClass(c,d.toThemeProperty(f))}if(d.showCloseButtons){var e=d._closeButtonList[b];if(g.type==="mouseenter"){e.className+=" "+d.toThemeProperty("jqx-tabs-close-button-hover",true)}else{d._removeClass(e,d.toThemeProperty("jqx-tabs-close-button-hover",true))}}}})},_addEventListenerAt:function(c){var d=this;if(this._titleList[c].disabled){return}if(this.reorder&&!this._isTouchDevice){this._addDragDropHandlers(c)}this._addSelectHandler(c);if(this.enabledHover){this._addHoverHandlers(c)}var b=d._closeButtonList[c];this.removeHandler(b,"click");this.addHandler(b,"click",function(){d.removeAt(c);return false})},_removeEventHandlers:function(){var c=this;var b=c.length();while(b){b--;c._removeEventListenerAt(b)}if(c.scrollable){c.removeHandler(c._leftArrow,"mousedown");c.removeHandler(c._rightArrow,"mousedown")}c.removeHandler(a(document),"mousemove.tab"+c.element.id,c._moveElement);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpScrollDocumentHandler);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpDragDocumentHandler);c.removeHandler(c.host,"keydown")},_removeEventListenerAt:function(b){var c=this;c.removeHandler(c._titleList[b],c.toggleMode);c.removeHandler(c._titleList[b],"mouseenter");c.removeHandler(c._titleList[b],"mouseleave");c.removeHandler(c._titleList[b],"mousedown");c.removeHandler(c._titleList[b],"mouseup");c.removeHandler(c._closeButtonList[b],"click")},_moveSelectionTrack:function(n,c,b){var h=this;if(n===-1){return}if(this._titleList.length===0){return}if(n>=this._titleList.length){return}var m=this._titleList[n],o=a(m);h._refreshBarPosition();if(this.selectionTracker&&this._selectionTracker){var i;h._stop(h._selectionTrackerHelper);this._unlockAnimation("selectionTracker");if(b===undefined){i=parseInt(o.position().left,10);if(!isNaN(parseInt(this._unorderedListHelper.css("left"),10))){i+=parseInt(this._unorderedListHelper.css("left"),10)}if(!isNaN(parseInt(this._unorderedListHelper.css("margin-left"),10))){i+=parseInt(this._unorderedListHelper.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-left"),10))){i+=parseInt(o.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-right"),10))){}}else{i=b}var g=0;var e=0;if(this.position==="top"){g=this._height(h._headerWrapper)-m.offsetHeight;if(!this.autoHeight){e+=parseInt(o.css("margin-top"),10)}}this._lockAnimation("selectionTracker");var l=parseInt(o.css("padding-left"),10)+parseInt(o.css("padding-right"),10);var f=this.position==="top"?0:1;var k=parseInt(a(this._headerWrapper).css("padding-top"),10);var j=parseInt(o.css("padding-top"),10)+parseInt(o.css("padding-bottom"),10);this._selectionTracker.style.visibility="visible";this._moveSelectionTrackerContainer.style.visibility="visible";var d=parseInt(o.css("margin-top"),10);if(isNaN(d)){d=0}h._refreshBarPosition();h._selectionTrackerHelper.animate({top:k+d-f,left:i+"px",height:parseInt(this._height(m)+j,10),width:h._width(m)+l},c,function(){h._unlockAnimation("selectionTracker");h._selectionTracker.style.visibility="hidden";h._addSelectStyle(n,true);h._moveSelectionTrackerContainer.style.visibility="hidden"})}},destroy:function(){a.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(a(window.top.document),"mouseup.tabs"+this.element.id)}}this.host.remove()},_switchTabs:function(b,d){if(b!==d&&!this._activeAnimation()&&!this._tabCaptured){var c=this;this._raiseEvent(7,{item:d});this._raiseEvent(6,{item:b});if(this._currentEvent){if(this._currentEvent.cancel){this._currentEvent=null;return}}this._unselect(d,null,true);this._select(b,c.contentTransitionDuration,null,true);return true}return false},_activeAnimation:function(){for(var b in this._isAnimated){if(this._isAnimated.hasOwnProperty(b)){if(this._isAnimated[b]){return true}}}return false},_indexOf:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c||this._contentList[b]===c){return b}}return -1},_validateProperties:function(){try{if(this.scrollAnimationDuration<0||isNaN(this.scrollAnimationDuration)){throw new Error(this._invalidArgumentExceptions.invalidScrollAnimationDuration)}if(parseInt(this.width,10)<0&&this.width!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(parseInt(this.height,10)<0&&this.height!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.animationType!=="none"&&this.animationType!=="fade"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(this.contentTransitionDuration<0||isNaN(this.contentTransitionDuration)){throw new Error(this._invalidArgumentExceptions.invalidcontentTransitionDuration)}if(this.toggleMode!=="click"&&this.toggleMode!=="dblclick"&&this.toggleMode!=="mouseenter"&&this.toggleMode!=="none"){throw new Error(this._invalidArgumentExceptions.invalidToggleMode)}if(this.position!=="top"&&this.position!=="bottom"){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(this.scrollPosition!=="left"&&this.scrollPosition!=="right"&&this.scrollPosition!=="both"){throw new Error(this._invalidArgumentExceptions.invalidScrollPosition)}if(this.scrollStep<0||isNaN(this.scrollStep)){throw new Error(this._invalidArgumentExceptions.invalidScrollStep)}if(this._titleList.length!==this._contentList.length||this._titleList.length===0){throw new Error(this._invalidArgumentExceptions.invalidStructure)}if(this.arrowButtonSize<0||isNaN(this.arrowButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidArrowSize)}if(this.closeButtonSize<0||isNaN(this.closeButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidCloseSize)}}catch(b){try{console.log(b)}catch(c){}}},_startScrollRepeat:function(d,c){var b=this;if(d){this._scrollLeft(c)}else{this._scrollRight(c)}if(this._scrollTimeout){clearTimeout(this._scrollTimeout)}this._scrollTimeout=setTimeout(function(){b._startScrollRepeat(d,b.scrollAnimationDuration)},c)},_performLayout:function(){var b=this.length();while(b){b--;if(this.position==="top"||this.position==="bottom"){if(this.rtl){this._titleList[b].style["float"]="right"}else{this._titleList[b].style["float"]="left"}}}this._fitToSize();this._performHeaderLayout();this._fitToSize()},updatetabsheader:function(){this._performHeaderLayout()},_setSize:function(){var b=this;b._fitToSize();b._positionArrows(b._totalItemsWidth);if(b._totalItemsWidth>b.element.offsetWidth){b._unorderedList.style.width=b._toPx(b._totalItemsWidth)}else{b._unorderedList.style.width=b.element.offsetWidth-2+"px"}b._fitToSize()},_addArrows:function(){if(this._leftArrow&&this._rightArrow){a(this._leftArrow).remove();a(this._rightArrow).remove()}this._leftArrow=document.createElement("div");this._leftArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-left")+'"></span>';this._leftArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._leftArrow.style.zIndex=30;this._leftArrow.style.display="none";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.height="100%";this._rightArrow=document.createElement("div");this._rightArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-right")+'"></span>';this._rightArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._rightArrow.style.zIndex=30;this._rightArrow.style.display="none";this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.height="100%";this._headerWrapper.appendChild(this._leftArrow);this._headerWrapper.appendChild(this._rightArrow)},_tabsWithVisibleCloseButtons:function(){if(!this.showCloseButtons){return 0}var b=this.length();a.each(this._titleList,function(){var c=this.attr("hasclosebutton");if(c!==undefined&&c!==null){if(c==="false"||c===false){b--}}});return b},_calculateTitlesSize:function(){var g=this;function f(n,m){if(n){if(m){n.style.display="block"}else{n.style.display="none"}}}var l=0;var k=0;var h=this.length();if(this.rtl&&a.jqx.browser.msie&&a.jqx.browser.version<8){this._measureItem=document.createElement("span");this._measureItem.style.position="relative";this._measureItem.style.visibility="hidden";document.body.appendChild(this._measureItem)}while(h){h--;var j=this._titleList[h],b=g._closeButtonList[h];if(this._measureItem){this._measureItem.innerHTML=j.innerHTML;this._measureItem.html(this._titleList[h].html());j.style.width=g._toPx(g._width(this._measureItem))}j.style.position="static";f(b,false);k+=g._outerWidth(j,true);var e=g._outerHeight(j,true);if(l<e){l=e}if(g._height(j)===0){var i=j.cloneNode(true);document.body.appendChild(i);l=g._outerHeight(i,true);document.body.removeChild(i)}var c=j.getAttribute("hasCloseButton");var d;if(c!==undefined&&c!==null){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){if(c==="true"||c===true){k+=this.closeButtonSize;f(b,true)}else{if(c==="false"||c===false){f(b,false)}}}}else{if(this.showCloseButtons&&(this.canCloseAllTabs||this._tabsWithVisibleCloseButtons()>1)){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){k+=this.closeButtonSize;f(b,true)}}}j.style.height=this._toPx(g._height(j))}if(this._measureItem){a(this._measureItem).remove()}return{height:l,width:10+k}},_reorderHeaderElements:function(){if(this.selectionTracker){this._moveSelectionTrackerContainer.style.position="absolute";this._moveSelectionTrackerContainer.style.height="100%";this._moveSelectionTrackerContainer.style.top="0px";this._moveSelectionTrackerContainer.style.left="0px";this._moveSelectionTrackerContainer.style.width="100%"}this._headerWrapper.style.position="relative";this._headerWrapper.style.left="0px";this._headerWrapper.style.top="0px";if(this.scrollable){this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.position="absolute";this._rightArrow.style.top="0px";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.position="absolute";this._leftArrow.style.top="0px";var c=this.theme&&this.theme.indexOf("ui-")!==-1?3:0;if(c>0){this._rightArrow.className+=" "+this.toThemeProperty("jqx-rc-r");this._leftArrow.className+=" "+this.toThemeProperty("jqx-rc-l")}var b=this.scrollPosition;if(this.rtl){if(b==="left"){b="right"}if(b==="right"){b="left"}}switch(b){case"both":this._rightArrow.style.right="0px";this._leftArrow.style.left="0px";break;case"left":this._rightArrow.style.left=this._toPx(this.arrowButtonSize);this._leftArrow.style.left="0px";break;case"right":this._rightArrow.style.right=this._toPx(-c);this._leftArrow.style.right=this._toPx(parseInt(this.arrowButtonSize,10)-c);break}}},_positionArrows:function(b){if(b>=this._headerWrapper.offsetWidth&&this.scrollable){this._needScroll=true;if(this._unorderedListHelper.position().left===0){this._unorderedListLeftBackup=this._getArrowsDisplacement()+"px"}this._leftArrow.style.display="block";this._rightArrow.style.display="block"}else{this._needScroll=false;this._leftArrow.style.display="none";this._rightArrow.style.display="none";this._unorderedList.style.left="0px"}},_performHeaderLayout:function(){this._removeSelectStyle();var b=this._calculateTitlesSize();var e=b.height;var c=b.width;this._headerWrapper.style.height=this._toPx(e);this._unorderedList.style.height=this._toPx(e);if(this.headerHeight!==null&&this.headerHeight!=="auto"){this._headerWrapper.style.height=this._toPx(this.headerHeight);this._unorderedList.style.height=this._toPx(this.headerHeight)}var d=this._width(this.element);if(c>d){this._unorderedList.style.width=this._toPx(c)}else{this._unorderedList.style.width=this._toPx(d)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){this._unorderedList.style.position="relative";this._unorderedList.style.overflow="hidden"}this._reorderHeaderElements();c=c+parseInt(this._unorderedListHelper.css("margin-left"),10);this._totalItemsWidth=c;this._positionArrows(c);this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._verticalAlignElements();this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this.selectedItem)},_verticalAlignElements:function(){var j=this.length();while(j){j--;var n=this._titleList[j],p=a(n),b=p.children()[0],m=this._closeButtonList[j],k=parseInt(p.css("padding-top"),10);if(!k){k=0}if(this.autoHeight){var c=parseInt(p.css("padding-top"),10),o=parseInt(p.css("padding-bottom"),10),i=p.css("border-top-width"),f=p.css("border-bottom-width");if(i.indexOf("px")===-1){i=1}else{i=parseInt(i,10)}if(f.indexOf("px")===-1){f=1}else{f=parseInt(f,10)}n.style.height=this._toPx(this._outerHeight(this._unorderedList,true)-(c+o+i+f))}else{if(this.position==="top"){var h=this._height(this._unorderedList)-parseInt(this._outerHeight(n,true),10);if(parseInt(p.css("margin-top"),10)!==h&&h!==0){n.style.marginTop=this._toPx(h)}}else{n.style.height=this._toPx(this._height(n))}}b.style.height="100%";var e=this._height(n);if(m){var g=e/2-this._height(m)/2;m.style.marginTop=this._toPx(1+g)}var l=e/2-this._height(b)/2;b.style.marginTop=this._toPx(l)}if(this.scrollable){var d=(parseInt(this._headerWrapper.offsetHeight,10)-this.arrowButtonSize)/2;a(this._rightArrow).children()[0].style.marginTop=this._toPx(d);this._rightArrow.style.height="100%";a(this._leftArrow).children()[0].style.marginTop=this._toPx(d);this._leftArrow.style.height="100%"}},_getImageUrl:function(c){var b=c.css("background-image");b=b.replace('url("',"");b=b.replace('")',"");b=b.replace("url(","");b=b.replace(")","");return b},_fitToSize:function(){var c=false;var e=false;var d=this;if(d.width!==null&&d.width.toString().indexOf("%")!==-1){c=true}if(d.height!==null&&d.height.toString().indexOf("%")!==-1){e=true}if(c){this.element.style.width=this.width;this._contentWrapper.style.width="100%"}else{d.element.style.width=d._toPx(d.width);if(this.width!=="auto"){this._contentWrapper.style.width="100%"}}var b;if(e){this.element.style.height=this.height;this._contentWrapper.style.width="100%";this._contentWrapper.style.height="auto";b=this.element.offsetHeight-this._headerWrapper.offsetHeight-2;this._contentWrapper.style.height=b+"px"}else{if(this.height!=="auto"){d.element.style.height=d._toPx(d.height);b=this._height(d.element)-this._headerWrapper.offsetHeight;this._contentWrapper.style.height=d._toPx(b)}else{this._contentWrapper.style.height="auto"}}},_maxHeightTab:function(){var c=this.length();var d=-1;var b=-1;while(c){c--;if(d<this._outerHeight(this._titleList[c],true)){b=c}}return b},_addSelectionTracker:function(){if(this._moveSelectionTrackerContainer){a(this._moveSelectionTrackerContainer).remove()}this._moveSelectionTrackerContainer=document.createElement("div");this._moveSelectionTrackerContainer.className=this.toThemeProperty("jqx-tabs-selection-tracker-container");this._selectionTracker=document.createElement("div");this._selectionTracker.className=this.toThemeProperty("jqx-tabs-selection-tracker-"+this.position);this._selectionTracker.style.color="inherit";this._selectionTracker.style.position="absolute";this._selectionTracker.style.zIndex=10;this._selectionTracker.style.left="0px";this._selectionTracker.style.top="0px";this._selectionTracker.style.display="inline-block";this._moveSelectionTrackerContainer.appendChild(this._selectionTracker);this._headerWrapper.appendChild(this._moveSelectionTrackerContainer);this._selectionTrackerHelper=a(this._selectionTracker);if(this._selectionTrackerHelper.initAnimate){this._selectionTrackerHelper.initAnimate()}},_addContentWrapper:function(){var e="none";var b=this._contentWrapper===null;if(b){this._contentWrapper=document.createElement("div");this._contentWrapper.className=this.toThemeProperty("jqx-tabs-content jqx-widget-content");this._contentWrapper.style["float"]=e}var d=this.length();while(d){d--;this._contentList[d].className+=" "+this.toThemeProperty("jqx-tabs-content-element")}if(b){if(this.position==="top"){this.element.appendChild(this._contentWrapper)}else{this.element.insertBefore(this._contentWrapper,this.element.firstChild)}for(var c=0;c<this._contentList.length;c++){this._contentWrapper.appendChild(this._contentList[c])}}if(this.roundedCorners){if(this.position==="top"){this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-b")}else{this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-t")}this.element.className+=" "+this.toThemeProperty("jqx-rc-all")}},_addHeaderWrappers:function(){var d=this.length();if(this._headerWrapper!==undefined){a(this._headerWrapper).remove();if(this.bar){this.bar=null}}this._headerWrapper=document.createElement("div");this._headerWrapper.style.outline="none";if(this.position==="top"){this.element.insertBefore(this._headerWrapper,this.element.firstChild)}else{this.element.appendChild(this._headerWrapper)}this._headerWrapper.appendChild(this._unorderedList);var b="jqx-tabs-headerWrapper jqx-tabs-header jqx-widget-header";if(this.position==="bottom"){b+=" jqx-tabs-header-bottom"}if(this.roundedCorners){if(this.position==="top"){b+=" jqx-rc-t"}else{b+=" jqx-rc-b"}}this._headerWrapper.className=this.toThemeProperty(b);while(d){d--;var e=this._titleList[d];if(e.querySelector(".jqx-tabs-titleWrapper")===null){var f=document.createElement("div");f.className="jqx-tabs-titleWrapper";f.style.outline="none";f.style.position="relative";f.style.zIndex=15;var c=a(e).children();f.appendChild(c[0]);f.appendChild(c[1]);e.appendChild(f)}}},_render:function(){this._addCloseButtons();this._addHeaderWrappers();this._addContentWrapper();if(this.selectionTracker){this._addSelectionTracker()}this._addArrows()},_addCloseButton:function(c,e){var d=document.createElement("div"),g=this._titleList[c];d.className="jqx-tabs-titleContentWrapper jqx-disableselect";var f="left";if(this.rtl){f="right"}if(a(g).find(".jqx-tabs-close-button").length>0){a(g).find(".jqx-tabs-close-button").remove()}d.style["float"]=f;d.innerHTML=g.innerHTML;g.innerHTML="";var b=document.createElement("div");b.className=this.toThemeProperty("jqx-tabs-close-button");b.style.height=this._toPx(this.closeButtonSize);b.style.width=this._toPx(this.closeButtonSize);b.style["float"]=f;b.style.fontSize="1px";g.appendChild(d);g.appendChild(b);if(e===true){this._closeButtonList[c]=b}else{this._closeButtonList.splice(c,0,b)}if(!this.showCloseButtons){b.style.display="none"}else{if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[c]===1){b.style.display="none"}}}},_addCloseButtons:function(){var b=this.length();while(b){b--;this._addCloseButton(b,true)}},_prepareTabs:function(){var c=this.length();var b=this.selectionTracker;this.selectionTracker=false;while(c){c--;if(this._selectedItem!==c){this._unselect(c,null,false)}}this._select(this._selectedItem,0,null,false);this.selectionTracker=b;if(this.initTabContent){if(!this._initTabContentList[this.selectedItem]){if(!this._hiddenParent()){this.initTabContent(this.selectedItem);this._initTabContentList[this.selectedItem]=true}}}},_isValidIndex:function(b){return(b>=0&&b<this.length())},_removeSelectStyle:function(){var d=this.length();while(d){d--;var e=this._titleList[d];if(this.showCloseButtons){var c=this._closeButtonList[d];this._removeClass(c,this.toThemeProperty("jqx-tabs-close-button-selected"))}var b="jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-selected-bottom"}this._removeClass(e,this.toThemeProperty(b))}},_addSelectStyle:function(d,g){this._removeSelectStyle();if(!this.selectionTracker||(g!==undefined&&g)){var f=this._titleList[d];if(d>=0&&f!==undefined){var c=null;if(this.showCloseButtons){c=this._closeButtonList[d];if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[d]===1){c=null}}}var b="jqx-fill-state-hover",e=" jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-hover-top";e+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-hover-bottom";e+=" jqx-tabs-title-selected-bottom"}this._removeClass(f,this.toThemeProperty(b));f.className+=this.toThemeProperty(e);if(c!==null){c.className+=" "+this.toThemeProperty("jqx-tabs-close-button-selected")}}}},_addItemTo:function(g,c,e){if(c<g.length){var b,f;for(var d=c;d+1<g.length;d++){if(b===undefined){b=g[d+1];g[d+1]=g[d]}else{f=g[d+1];g[d+1]=b;b=f}}if(b===undefined){b=g[c]}g[c]=e;g.push(b)}else{g.push(e)}},_refreshBarPosition:function(){var c=this;if(!this.bar){var b=a("<span></span>");a(this._headerWrapper).append(b);b.addClass(this.toThemeProperty("jqx-tabs-bar"));this.bar=b}setTimeout(function(){var d=parseInt(c._unorderedListHelper.css("left"),10);var e=parseInt(c._unorderedListHelper.css("margin-left"));c.bar.css("left",e+c._titleList[c._selectedItem].offsetLeft+d);c.bar.width(a(c._titleList[c._selectedItem]).outerWidth()-2)})},_select:function(h,e,l,b,c){if(!this._tabCaptured){this.host.attr("hideFocus","true");var g=this;if(c===undefined){this._addSelectStyle(h)}else{this._addSelectStyle(h,c)}var k=a(g._titleList[h]),d=g._titleList[h].getAttribute("id"),j=a(g._contentList[h]);if(this.isCollapsed&&this.collapsible){j[0].style.display="none";this._selectCallback(h,l,b);return}g._refreshBarPosition();switch(this.animationType){case"none":if(!g.selectionTracker){for(var f=0;f<this._contentList.length;f++){if(h!==f&&a(g._contentList[f]).css("display")==="block"){g._contentList[f].style.display="none";a.jqx.aria(a(g._titleList[f]),"aria-selected",false);a.jqx.aria(a(g._contentList[f]),"aria-hidden",true)}}j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(this,"aria-activedescendant",d)}else{setTimeout(function(){j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)},this.selectionTrackerAnimationDuration)}this._selectCallback(h,l,b);break;case"fade":this._lockAnimation("contentListSelect");g._selectCallback(h,l,b);if(j.initAnimate&&j.fadeIn===undefined){j.initAnimate()}j.fadeIn({duration:1000,complete:function(){g._unlockAnimation("contentListSelect");a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)}});break}}},_selectCallback:function(c,d,b){this._selectedItem=c;this.selectedItem=this._selectedItem;if(d){d()}if(b){this._raiseEvent(1,{item:c})}},_unselect:function(d,i,b){if(d>=0){if(!this._tabCaptured){var g=this,e=g._contentList[d],c=a(e),h=g._titleList[d],f=a(h);if(c.initAnimate&&c.animate===undefined){c.initAnimate()}g._stop(c);if(this.animationType==="fade"){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}else{if(this.selectionTracker){setTimeout(function(){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)},this.selectionTrackerAnimationDuration)}else{e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}}this._unselectCallback(d,i,b);if(!this.selectionTracker){g._removeClass(h,g.toThemeProperty("jqx-tabs-title-selected jqx-fill-state-pressed"))}}}},_unselectCallback:function(c,d,b){if(b){this._raiseEvent(8,{item:c})}if(d){d()}},disable:function(){var b=this.length();while(b){b--;this.disableAt(b)}},enable:function(){var b=this.length();while(b){b--;this.enableAt(b)}},getEnabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(!this.disabled){b++}});return b},getDisabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(this.disabled){b++}});return b},removeAt:function(b){if(this._isValidIndex(b)&&(this.canCloseAllTabs||this.length()>1)){this._removeHoverStates();var d=this,c=d._outerWidth(this._titleList[b],true),g=this.getTitleAt(b);this._unorderedList.style.width=d._toPx(d._width(this._unorderedList)-c);a(this._titleList[b]).remove();a(this._contentList[b]).remove();this._titleList.splice(b,1);this._contentList.splice(b,1);d._closeButtonList.splice(b,1);this._addStyles();this._performHeaderLayout();this._removeEventHandlers();this._addEventHandlers();this._raiseEvent(3,{item:b,title:g});this._isAnimated={};var f;if(this.selectedItem>0){this._selectedItem=-1;if(this.selectedItem>=b){f=this._getPreviousIndex(this.selectedItem);this.select(f)}else{this.select(d.selectedItem)}}else{this._selectedItem=-1;f=this._getNextIndex(this.selectedItem);this.select(f)}if(parseInt(this._unorderedListHelper.css("left"),10)>this._getArrowsDisplacement()){this._unorderedList.style.left=d._toPx(this._getArrowsDisplacement())}if(d._width(this._unorderedList)<=d._width(this._headerWrapper)){var e=(this.enableScrollAnimation)?this.scrollAnimationDuration:0;this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:0},e,function(){d._unlockAnimation("unorderedList")})}}},removeFirst:function(){this.removeAt(0)},removeLast:function(){this.removeAt(this.length()-1)},disableAt:function(b){var d=this._titleList[b];if(!d.disabled||d.disabled===undefined){if(this.selectedItem===b){var c=this.next();if(!c){c=this.previous()}}d.disabled=true;this.removeHandler(d,this.toggleMode);if(this.enabledHover){a(d).off("mouseenter").off("mouseleave")}this._removeEventListenerAt(b);d.className+=" "+this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled");this._raiseEvent(5,{item:b})}},enableAt:function(b){var c=this._titleList[b];if(c.disabled){c.disabled=false;this._addEventListenerAt(b);this._removeClass(c,this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled"));this._raiseEvent(4,{item:b})}},addAt:function(d,g,e){if(d>=0&&d<=this.length()){this._removeHoverStates();var b=document.createElement("li");b.innerHTML=g;b.className=this.toThemeProperty("jqx-tabs-title jqx-item");var f=document.createElement("div");f.innerHTML=e;f.className=this.toThemeProperty("jqx-tabs-content-element");if(this.position==="bottom"){b.className+=" "+this.toThemeProperty("jqx-tabs-title-bottom")}var c=false;if(this._titleList.length===0){this._unorderedList.appendChild(b)}else{if(d<this.length()&&d>=0){this._unorderedList.insertBefore(b,this._titleList[d])}else{this._unorderedList.appendChild(b)}}this._contentWrapper.appendChild(f);this._addItemTo(this._titleList,d,b);this._addItemTo(this._contentList,d,f);this._addCloseButton(d);if(this._selectedItem>d){this._selectedItem++}this._switchTabs(d,this._selectedItem);this._selectedItem=d;this._uiRefresh(c);this._raiseEvent(2,{item:d});this._moveSelectionTrack(this._selectedItem,0)}},addFirst:function(c,b){this.addAt(0,c,b)},addLast:function(c,b){this.addAt(this.length(),c,b)},val:function(b){if(arguments.length===0||typeof(b)==="object"){return this._selectedItem}this.select(b);return this._selectedItem},select:function(b){if(typeof(b)==="object"){b=this._indexOf(b)}var d=b>=0&&b<this._titleList.length?this._titleList[b].getAttribute("canselect"):true;if(d===undefined||d===null||d==="true"||d===true){if(b!==this._selectedItem&&this._isValidIndex(b)){if(!this._activeAnimation()&&!this._titleList[b].disabled){var c=this._switchTabs(b,this._selectedItem);if(c){this.ensureVisible(b)}}}}},previous:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>0&&b<this._titleList.length){b--;if(!this._titleList[b].disabled){this.select(b);return true}}return false},_getPreviousIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>0&&c<=this._titleList.length){c--;if(!this._titleList[c].disabled){return c}}return b}else{return 0}},_getNextIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>=0&&c<this._titleList.length){if(!this._titleList[c].disabled){return c}c++}return b}else{return 0}},next:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>=0&&b<this._titleList.length-1){b++;if(!this._titleList[b].disabled){this.select(b);return true}}return false},first:function(){var b=0;if(this._titleList[b].disabled){this.next(b)}else{this.select(b)}},last:function(){var b=this._titleList.length-1;if(this._titleList[b].disabled){this.previous(b)}else{this.select(b)}},length:function(){return this._titleList.length},lockAt:function(b){if(this._isValidIndex(b)&&(!this._titleList[b].locked||this._titleList[b].locked===undefined)){this._titleList[b].locked=true;this._raiseEvent(11,{item:b})}},unlockAt:function(b){if(this._isValidIndex(b)&&this._titleList[b].locked){this._titleList[b].locked=false;this._raiseEvent(12,{item:b})}},lockAll:function(){var b=this.length();while(b){b--;this.lockAt(b)}},unlockAll:function(){var b=this.length();while(b){b--;this.unlockAt(b)}},showCloseButtonAt:function(b){if(this._isValidIndex(b)){if(!this.showCloseButtons){this.showCloseButtons=true;this.updatetabsheader()}this._closeButtonList[b].style.display="block";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=0}},hideCloseButtonAt:function(b){if(this._isValidIndex(b)){this._closeButtonList[b].style.display="none";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=1}},hideAllCloseButtons:function(){var b=this.length();while(b){b--;this.hideCloseButtonAt(b)}},showAllCloseButtons:function(){var b=this.length();while(b){b--;this.showCloseButtonAt(b)}},getTitleAt:function(b){if(this._titleList[b]){return a(this._titleList[b]).text()}return null},getContentAt:function(b){if(this._contentList[b]){return this._contentList[b]}return null},setTitleAt:function(b,c){if(this._titleList[b]){a(this._titleList[b]).text(c);if(this.showCloseButtons){this._addCloseButton(b);this._removeEventHandlers();this._addEventHandlers()}this.render();this.refresh()}},setContentAt:function(b,c){if(this._contentList[b]){a(this._contentList[b]).html(c)}},ensureVisible:function(e){var d=this;if(e===undefined||e===-1||e===null){e=this.selectedItem}if(!this._isValidIndex(e)){return false}var j=this._titleList[e];var l=parseInt(a(j).position().left,10)+parseInt(this._unorderedListHelper.css("margin-left"),10);var g=parseInt(this._unorderedListHelper.css("left"),10);var k=this._outerWidth(this._headerWrapper,true);var f=this._outerWidth(j,true);var i=g-this._getArrowsDisplacement();var b=k-this._getArrowsDisplacement()-i;var h,c;if(l<-i){h=-l+this._getArrowsDisplacement();c=this._getArrowsDisplacement()}else{if(l+f>b-this._getArrowsDisplacement()){h=-l+k-f-((this.scrollable)?(2*this.arrowButtonSize-this._getArrowsDisplacement()):0);c=k-f-this._getArrowsDisplacement()}else{this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration);return true}}this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:h},this.scrollAnimationDuration,function(){d._unlockAnimation("unorderedList");d._moveSelectionTrack(d._selectedItem,0);return true});this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration,c);return true},isVisibleAt:function(d){var c=this;if(d===undefined||d===-1||d===null){d=c.selectedItem}if(!c._isValidIndex(d)){return false}var h=c._titleList[d];var j=parseInt(a(h).position().left,10)+parseInt(c._unorderedListHelper.css("margin-left"),10);var f=parseInt(c._unorderedListHelper.css("left"),10);var i=c._outerWidth(c._headerWrapper,true);var e=c._outerWidth(h,true);var g=f-c._getArrowsDisplacement();var b=i-c._getArrowsDisplacement()-g;if(j<-g){return false}else{if(j+e>b){return false}else{return true}}return true},isDisabled:function(b){return this._titleList[b].disabled},_lockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=true}},_unlockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=false}},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length===2){d._setSize()}},propertyChangedHandler:function(b,c,e,d){if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length===2){return}this._validateProperties();switch(c){case"touchMode":if(d){b.enabledHover=false;b.keyboardNavigation=false}break;case"width":case"height":b._setSize();return;case"disabled":if(d){this.disable()}else{this.enable()}return;case"showCloseButtons":if(d){this.showAllCloseButtons()}else{this.hideAllCloseButtons()}this._performHeaderLayout();return;case"selectedItem":if(this._isValidIndex(d)){this.select(d)}return;case"scrollStep":case"contentTransitionDuration":case"scrollAnimationDuration":case"enableScrollAnimation":return;case"selectionTracker":if(d){this._refresh();this.select(this._selectedItem)}else{if(this._selectionTracker){this._selectionTrackerHelper.remove()}}return;case"scrollable":if(d){this._refresh();this.select(this._selectedItem)}else{a(this._leftArrow).remove();a(this._rightArrow).remove();this._performHeaderLayout()}return;case"autoHeight":this._performHeaderLayout();return;case"theme":a.jqx.utilities.setTheme(e,d,this.host);return}this._unorderedList.style.left="0px";this._refresh();this.select(this._selectedItem);this._addSelectStyle(this._selectedItem,true)},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_removeClass:function(c,b){a(c).removeClass(b)},_width:function(e){var b=a(e),g=b.css("border-left-width"),c=b.css("border-right-width"),d=parseInt(b.css("padding-left"),10),h=parseInt(b.css("padding-right"),10);if(g.indexOf("px")===-1){g=1}else{g=parseInt(g,10)}if(c.indexOf("px")===-1){c=1}else{c=parseInt(c,10)}var f=e.offsetWidth-(g+c+d+h);return f},_outerWidth:function(c,g){var f=c.offsetWidth;if(g){var b=a(c),d=parseInt(b.css("margin-left"),10),e=parseInt(b.css("margin-right"),10);f+=d+e}return f},_height:function(e){var c=a(e),h=c.css("border-top-width"),d=c.css("border-bottom-width"),f=parseInt(c.css("padding-top"),10),g=parseInt(c.css("padding-bottom"),10);if(h.indexOf("px")===-1){h=1}else{h=parseInt(h,10)}if(d.indexOf("px")===-1){d=1}else{d=parseInt(d,10)}var b=e.offsetHeight-(h+d+f+g);return b},_outerHeight:function(e,g){var f=e.offsetHeight;if(g){var b=a(e),c=parseInt(b.css("margin-top"),10),d=parseInt(b.css("margin-bottom"),10);f+=c+d}return f},_stop:function(b){if(b.stop){b.stop()}else{b.animate("stop",true)}}})}(jqxBaseFramework));
+(function(a){a.jqx.jqxWidget("jqxTabs","",{});a.extend(a.jqx._jqxTabs.prototype,{defineInstance:function(){var b={scrollAnimationDuration:200,enabledHover:true,disabled:false,collapsible:false,animationType:"none",enableScrollAnimation:true,contentTransitionDuration:450,toggleMode:"click",selectedItem:0,height:"auto",width:"auto",position:"top",selectionTracker:false,scrollable:true,scrollPosition:"right",scrollStep:70,autoHeight:true,headerHeight:null,showCloseButtons:false,canCloseAllTabs:true,closeButtonSize:16,arrowButtonSize:16,keyboardNavigation:true,reorder:false,selectionTrackerAnimationDuration:300,_isTouchDevice:false,roundedCorners:true,_headerExpandingBalance:0,_dragStarted:false,_tabCaptured:false,_lastUnorderedListPosition:0,_selectedItem:0,_titleList:[],_contentList:[],_contentWrapper:null,_unorderedList:null,_scrollTimeout:null,isCollapsed:false,touchMode:false,initTabContent:null,enableDropAnimation:false,_currentEvent:null,_needScroll:true,_isAnimated:{},_events:["created","selected","add","removed","enabled","disabled","selecting","unselecting","unselected","dragStart","dragEnd","locked","unlocked","collapsed","expanded","tabclick"],_initTabContentList:[],_invalidArgumentExceptions:{invalidScrollAnimationDuration:"The scroll animation duration is not valid!",invalidWidth:"Width you've entered is invalid!",invalidHeight:"Height you've entered is invalid!",invalidAnimationType:"You've entered invalid animation type!",invalidcontentTransitionDuration:"You've entered invalid value for contentTransitionDuration!",invalidToggleMode:"You've entered invalid value for toggleMode!",invalidPosition:"You've entered invalid position!",invalidScrollPosition:"You've entered invalid scroll position!",invalidScrollStep:"You've entered invalid scroll step!",invalidStructure:"Invalid structure!",invalidArrowSize:"Invalid scroll button size!",invalidCloseSize:"Invalid close button size!"},aria:{"aria-disabled":{name:"disabled",type:"boolean"}},rtl:false};if(this===a.jqx._jqxTabs.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){this._IE8=a.jqx.browser.msie&&a.jqx.browser.version<9;a.jqx.aria(this);this.element.className+=" "+this.toThemeProperty("jqx-tabs jqx-widget jqx-widget-content");this.element.setAttribute("role","tablist");var e=this.host.children();for(var b=0;b<e.length;b++){var d=e[b];if(d.nodeName.toLowerCase()==="ul"){this._unorderedList=d}else{if(d.nodeName.toLowerCase()==="div"){this._contentList.push(d)}}}this._unorderedListHelper=a(this._unorderedList);if(this._unorderedListHelper.initAnimate){this._unorderedListHelper.initAnimate()}this._closeButtonList=[];this._selectedItem=this.selectedItem;this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._needScroll=this.scrollable;if(this.selectionTracker){this.selectionTracker=this._seletionTrackerBrowserCheck()}if(this._isTouchDevice){this.reorder=false;this.keyboardNavigation=false}this._titleList=this._unorderedListHelper.children();var c=this._titleList.length;while(c){c--;this._titleList[c].setAttribute("role","tab");if(!this._titleList[c].getAttribute("id")){this._titleList[c].setAttribute("id",this.element.id+"Tab"+c)}this._contentList[c].setAttribute("role","tabpanel")}this._validateProperties();this._refresh();this._moveSelectionTrack(this._selectedItem,0);if(this.disabled){this.disable()}this.element.tabIndex=0;this._raiseEvent(0);this._enableWindowResize()},_hiddenParent:function(){var c=this;if(c.host.css("display")==="none"){return true}var b=false;a.each(c.host.parents(),function(){if(a(this).css("display")==="none"){b=true;return false}});return b},_enableWindowResize:function(){var b=this;var c=a.jqx.isHidden(b.host);a.jqx.utilities.resize(this.host,function(){if(c){b._uiRefresh(true);c=false}else{b.refresh()}b._refreshBarPosition()})},resize:function(c,b){this.width=c;this.height=b;var d=a.jqx.isHidden(this.host);if(d){this._uiRefresh(true);d=false}else{this.refresh()}},refresh:function(b){if(true!==b||b===undefined){this._setSize()}},_seletionTrackerBrowserCheck:function(){var b="Browser CodeName: "+navigator.appCodeName+"";b+="Browser Name: "+navigator.appName+"";b+="Browser Version: "+navigator.appVersion+"";b+="Platform: "+navigator.platform+"";b+="User-agent header: "+navigator.userAgent+"";if(b.indexOf("IEMobile")!==-1){return false}if(b.indexOf("Windows Phone OS")!==-1){return false}if(a.jqx.browser.msie&&a.jqx.browser.version<=7){return false}return true},render:function(){this._refresh()},_uiRefresh:function(b){this._unorderedListLeftBackup=this._unorderedListHelper.css("left");if(b){this._render()}this._addStyles();this._performLayout();this._prepareTabs();this._removeEventHandlers();this._addEventHandlers();if(this._unorderedListLeftBackup==="auto"){this._unorderedListLeftBackup=this._getArrowsDisplacement()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);if(this.rtl){if(this.scrollable&&this._rightArrow&&a(this._rightArrow).css("visibility")!=="hidden"){var e=2*this.arrowButtonSize;var d=this._width(this.element)-parseInt(this._width(this._unorderedList)+e+parseInt(this._unorderedListHelper.css("margin-left"),10),10);this._unorderedList.style.left=d+"px"}}var c=this;setTimeout(function(){c._performLayout()},100)},_refresh:function(){if(a.jqx.isHidden(this.host)){return}this._uiRefresh(true);this.host.addClass("jqx-tabs-header-position-"+this.position)},_addStyles:function(){this._unorderedList.className+=" "+this.toThemeProperty("jqx-tabs-title-container");this._unorderedList.style.outline="none";this._unorderedList.style.whiteSpace="nowrap";this._unorderedList.style.marginTop="0px";this._unorderedList.style.marginBottom="0px";this._unorderedList.style.padding="0px";this._unorderedList.style.background="transparent";this._unorderedList.style.border="none";this._unorderedList.style.borderStyle="none";this._unorderedList.style.textIndent="0px";var c=this.length();while(c){c--;var d=this._titleList[c],b="jqx-tabs-title jqx-item";d.style.padding="";if(this.position==="bottom"){b+=" jqx-tabs-title-bottom"}if(d.disabled){b+=" jqx-tabs-title-disable jqx-fill-state-disabled"}switch(this.position){case"top":b+=" jqx-rc-t";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-t"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-b");break;case"bottom":b+=" jqx-rc-b";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-b"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-t");break}d.className="jqx-reset jqx-disableselect "+this.toThemeProperty(b)}if(this.selectionTracker){switch(this.position){case"top":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-b"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-t");break;case"bottom":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-t"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-b");break}}},_raiseEvent:function(e,i){var g=new a.Event(this._events[e]);g.owner=this;g.args=i;if(e===6||e===7){g.cancel=false;this._currentEvent=g}var b="";try{b=this.host.trigger(g);if(e===1){var f=this;if(this.selectionTracker||this.animationType!=="none"){setTimeout(function(){if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}var j=new a.Event("loadContent");j.owner=this;if(f._contentList.length>0&&f._contentList[f.selectedItem]){a(f._contentList[f.selectedItem]).trigger(j)}},50+f.selectionTrackerAnimationDuration)}else{var d=new a.Event("loadContent");if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}d.owner=this;var h=new a.Event("resize");this.host.trigger(h)}}}catch(c){if(c&&console){console.log(c)}}return b},_getArrowsDisplacement:function(){if(!this._needScroll){return 0}var d;var c=this.arrowButtonSize;var b=this.arrowButtonSize;if(this.scrollPosition==="left"){d=c+b}else{if(this.scrollPosition==="both"){d=c}else{d=0}}return d},_scrollRight:function(e){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var f=parseInt(this._width(this._unorderedList)+parseInt(this._unorderedListHelper.css("margin-left"),10),10),h=this._width(this.element),g,i,b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),d=0,j;if(this.scrollable){g=this._leftArrow.offsetWidth;i=this._rightArrow.offsetWidth}else{g=0;i=0}e=(this.enableScrollAnimation)?e:0;if(this._width(this._headerWrapper)>parseInt(this._unorderedListHelper.css("margin-left"),10)+this._width(this._unorderedList)){d=c}else{if(Math.abs(b)+this.scrollStep<Math.abs(h-f)+g+i+c){d=b-this.scrollStep;j=b-this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{d=h-f-(2*this.arrowButtonSize-c);if(d<parseInt(this._unorderedListHelper.css("left"),10)-4&&d>parseInt(this._unorderedListHelper.css("left"),10)+4){j=h-f-g-i+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(d,j,e)},_scrollLeft:function(f){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),e=0,d;f=(this.enableScrollAnimation)?f:0;if(this._width(this._headerWrapper)>=this._width(this._unorderedList)){e=c}else{if(b+this.scrollStep<c){e=b+this.scrollStep;d=b+this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{e=c;if(e<parseInt(this._unorderedListHelper.css("left"),10)-4&&e>parseInt(this._unorderedListHelper.css("left"),10)+4){d=parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(e,d,f)},_performScrollAnimation:function(e,d,c){var b=this;if(d!==undefined){this._moveSelectionTrack(this._selectedItem,0,d)}this._lockAnimation("unorderedList");b._refreshBarPosition();this._unorderedListHelper.animate({left:e},c,function(){b._moveSelectionTrack(b.selectedItem,0);b._unlockAnimation("unorderedList");b._refreshBarPosition()})},_addKeyboardHandlers:function(){var b=this;if(this.keyboardNavigation){this.addHandler(this.host,"keydown",function(e){if(!b._activeAnimation()){var f=b._selectedItem;var d=b.selectionTracker;var c=b.getContentAt(f);if(a(e.target).ischildof(c)){return true}if(a(document.activeElement).ischildof(a(c))){return true}switch(e.keyCode){case 37:if(b.rtl){b.next()}else{b.previous()}return false;case 39:if(b.rtl){b.previous()}else{b.next()}return false;case 36:b.first();return false;case 35:b.last();return false;case 27:if(b._tabCaptured){b._cancelClick=true;b._uncapture(null,b.selectedItem);b._tabCaptured=false}break}b.selectionTracker=d}return true})}},_addScrollHandlers:function(){var b=this;this.addHandler(this._leftArrow,"mousedown",function(){b._startScrollRepeat(true,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mousedown",function(){b._startScrollRepeat(false,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(this._leftArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(a(document),"mouseup.tab"+this.element.id,this._mouseUpScrollDocumentHandler,this);this.addHandler(a(document),"mouseleave.tab"+this.element.id,this._mouseLeaveScrollDocumentHandler,this)},_mouseLeaveScrollDocumentHandler:function(c){var b=c.data;if(!b._scrollTimeout){return}clearTimeout(b._scrollTimeout)},_mouseUpScrollDocumentHandler:function(c){var b=c.data;clearTimeout(b._scrollTimeout)},_mouseUpDragDocumentHandler:function(c){var b=c.data;if(b._tabCaptured&&b._dragStarted){b._uncapture(c)}b._tabCaptured=false},_addReorderHandlers:function(){var b=this;b.addHandler(a(document),"mousemove.tab"+b.element.id,b._moveElement,b);b.addHandler(a(document),"mouseup.tab"+b.element.id,b._mouseUpDragDocumentHandler,b)},_addEventHandlers:function(){var e=this.length();while(e){e--;this._addEventListenerAt(e)}if(this.keyboardNavigation){this._addKeyboardHandlers()}if(this.scrollable){this._addScrollHandlers()}if(this.reorder&&!this._isTouchDevice){this._addReorderHandlers()}var d=this;try{if(document.referrer!==""||window.frameElement){if(window.top!==null&&window.top!==window.self){var c=function(){if(d._tabCaptured){d._cancelClick=true;d._uncapture(null,d.selectedItem);d._tabCaptured=false}};var f=null;if(window.parent&&document.referrer){f=document.referrer}if(f&&f.indexOf(document.location.host)!==-1){if(window.top.document){this.addHandler(a(window.top.document),"mouseup.tabs"+this.element.id,c)}}}}}catch(b){}},focus:function(){try{this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25)}catch(b){}},_getFocusedItem:function(c){var d=this.length();while(d){d--;var b=this._titleList[d],g=this._outerWidth(b,true),f=parseInt(a(b).offset().left,10),e=f;if((e<=c&&e+g>=c)&&(b!==this._capturedElement)&&(!this._titleList[d].locked)&&(this._titleList[d].disabled!==true)){return d}}return -1},_uncapture:function(f){var e=this.selectionTracker;this._unorderedListLeftBackup=this._unorderedListHelper.css("left");this._dragStarted=false;this._tabCaptured=false;var b=this._indexOf(this._capturedElement);if(!this._capturedElement){return}switch(this.position){case"top":this._capturedElement.style.bottom="0px";break;case"bottom":this._capturedElement.style.top="0px";break}var d;if(f){d=this._getFocusedItem(f.clientX)}if(d===-1||!f){this._capturedElement.style.left="0px"}else{this._raiseEvent(10,{item:b,dropIndex:d});this._reorderItems(d,b)}for(var c=0;c<this._titleList.length;c++){this._titleList[c].style.position="static"}this._reorderHeaderElements();this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._prepareTabs();if(d===-1||!f){this._selectedItem=b;this._moveSelectionTrack(b,0);this._addSelectStyle(this._selectedItem,true)}else{this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this._selectedItem,true)}if(document.selection){document.selection.clear()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);this.selectionTracker=e},_reorderItems:function(c,b){var e=this._titleList[this.selectedItem],d=this._titleList[b];if(typeof this._capturedElement==="undefined"){this._capturedElement=d}a(d).remove();if(b<c){if(this._titleList[c+1]){this._unorderedList.insertBefore(d,this._titleList[c+1])}else{this._unorderedList.appendChild(d)}}else{this._unorderedList.insertBefore(d,this._titleList[c])}this._reorderElementArrays(c,b);this._getSelectedItem(e);this._removeEventHandlers();this._addEventHandlers()},_reorderElementArrays:function(e,b){var f=this._contentList[b];if(b<e){for(var d=b;d<=e;d++){this._titleList[d]=this._titleList[d+1];this._contentList[d]=this._contentList[d+1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}else{for(var c=b;c>=e;c--){this._titleList[c]=this._titleList[c-1];this._contentList[c]=this._contentList[c-1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}},getSelectedItem:function(){return this.selectedItem},_getSelectedItem:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c){this._selectedItem=this.selectedItem=b;break}}},_moveElement:function(d){var c=d.data;if(c._tabCaptured){if(document.selection){document.selection.clear()}if(!c._dragStarted){var b=-parseInt(c._unorderedListHelper.css("left"),10);if(d.clientX+b>c._startX+3||d.clientX+b<c._startX-3){c._prepareTabForDragging();c._dragStarted=true}}else{c._performDrag(d);clearTimeout(c._scrollTimeout)}}},_performDrag:function(d){var c=this.getZoomFactor(),b=-parseInt(this._unorderedListHelper.css("left"),10);this._capturedElement.style.left=this._toPx(b+d.clientX/c-this._startX/c);this._lastX=d.clientX/c;this._moveSelectionTrack(this.selectedItem,0)},getZoomFactor:function(){var c=1;if(document.body.getBoundingClientRect){var d=document.body.getBoundingClientRect();var e=d.right-d.left;var b=document.body.offsetWidth;c=Math.round((e/b)*100)/100}return c},_prepareTabForDragging:function(){this._capturedElement.style.position="relative";this._capturedElement.style.left="0px";this._capturedElement.style.top="0px";this._capturedElement.style.zIndex=300;this.selectedItem=this._indexOf(this._capturedElement);switch(this.position){case"top":this._capturedElement.style.bottom=this._toPx(a(this._capturedElement).css("top"));break;case"bottom":this._capturedElement.style.top=this._toPx(a(this._capturedElement).css("top"));break}this._raiseEvent(9,{item:this._indexOf(this._capturedElement)})},_dragScroll:function(d){var b=parseInt(this._unorderedListHelper.css("left"),10);var c=this,e=a(c._headerWrapper);if(d.clientX<=e.offset().left){this._scrollLeft(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{if(d.clientX>e.offset().left+c._width(this._headerWrapper)){this._scrollRight(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{c._stop(c._unorderedListHelper);this._unlockAnimation("unorderedList");clearTimeout(this._scrollTimeout)}}this._scrollTimeout=setTimeout(function(){c._dragScroll(d)},this.scrollAnimationDuration);this._lastUnorderedListPosition=b},_captureElement:function(d,c){if(!this._tabCaptured&&!this._titleList[c].locked&&this._titleList[c].disabled!==true&&!this._activeAnimation()){var b=-parseInt(this._unorderedListHelper.css("left"),10);this._startX=b+d.clientX;this._startY=d.clientY;this._lastX=d.clientX;this._lastY=d.clientY;this._tabCaptured=true;this._capturedElement=this._titleList[c]}},_titleInteractionTrigger:function(b){if(this._headerExpandingBalance>0){this._removeOppositeBorder()}if(this._selectedItem!==b){this.select(this._titleList[b],"toggle");this._titleList[b].collapsed=false;if(!this.collapsible){if(this.height!=="auto"){this._contentWrapper.style.visibility="visible"}else{this._contentWrapper.style.display="block"}}}else{if(this.collapsible){if(this.isCollapsed){this.expand()}else{this.collapse()}}}},collapse:function(){var b=this._selectedItem,c=this;this.isCollapsed=true;if(c.height!=="auto"){c._contentWrapper.style.visibility="hidden"}else{c._contentWrapper.style.display="none"}c._raiseEvent(13,{item:b});if(this.position==="top"){c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed")}else{c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed-bottom");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed-bottom")}},expand:function(){var b=this._selectedItem,c=this;this.isCollapsed=false;this._select(b,c.contentTransitionDuration,null,false,true);if(c.height!=="auto"){c._contentWrapper.style.visibility="visible"}else{c._contentWrapper.style.display="block"}c._raiseEvent(14,{item:b});if(this.position==="top"){c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed"))}else{c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed-bottom"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed-bottom"))}},_addSelectHandler:function(b){var c=this;this.addHandler(this._titleList[b],"selectstart",function(){return false});this.addHandler(this._titleList[b],this.toggleMode,(function(d){return function(){c._raiseEvent("15",{item:d});if(!c._tabCaptured&&!c._cancelClick){c._titleInteractionTrigger(d)}return true}}(b)))},_addDragDropHandlers:function(b){var c=this;this.addHandler(this._titleList[b],"mousedown",function(d){c._captureElement(d,b)});this.addHandler(this._titleList[b],"mouseup",function(d){if(c._tabCaptured&&c._dragStarted){c._cancelClick=true;c._uncapture(d,b)}else{c._cancelClick=false}c._tabCaptured=false;return false})},_removeHoverStates:function(){var b=this;a.each(this._titleList,function(){b._removeClass(this,b.toThemeProperty("jqx-tabs-title-hover-top jqx-tabs-title-hover-bottom"))})},_addHoverHandlers:function(b){var d=this;var c=this._titleList[b];this.addHandler(c,"mouseenter mouseleave",function(g){if(b!==d._selectedItem){var f="jqx-fill-state-hover";if(d.position==="top"){f+=" jqx-tabs-title-hover-top"}else{f+=" jqx-tabs-title-hover-bottom"}if(g.type==="mouseenter"){c.className+=" "+d.toThemeProperty(f)}else{d._removeClass(c,d.toThemeProperty(f))}if(d.showCloseButtons){var e=d._closeButtonList[b];if(g.type==="mouseenter"){e.className+=" "+d.toThemeProperty("jqx-tabs-close-button-hover",true)}else{d._removeClass(e,d.toThemeProperty("jqx-tabs-close-button-hover",true))}}}})},_addEventListenerAt:function(c){var d=this;if(this._titleList[c].disabled){return}if(this.reorder&&!this._isTouchDevice){this._addDragDropHandlers(c)}this._addSelectHandler(c);if(this.enabledHover){this._addHoverHandlers(c)}var b=d._closeButtonList[c];this.removeHandler(b,"click");this.addHandler(b,"click",function(){var e=a(this).parents("li").index();d.removeAt(e);return false})},_removeEventHandlers:function(){var c=this;var b=c.length();while(b){b--;c._removeEventListenerAt(b)}if(c.scrollable){c.removeHandler(c._leftArrow,"mousedown");c.removeHandler(c._rightArrow,"mousedown")}c.removeHandler(a(document),"mousemove.tab"+c.element.id,c._moveElement);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpScrollDocumentHandler);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpDragDocumentHandler);c.removeHandler(c.host,"keydown")},_removeEventListenerAt:function(b){var c=this;c.removeHandler(c._titleList[b],c.toggleMode);c.removeHandler(c._titleList[b],"mouseenter");c.removeHandler(c._titleList[b],"mouseleave");c.removeHandler(c._titleList[b],"mousedown");c.removeHandler(c._titleList[b],"mouseup");c.removeHandler(c._closeButtonList[b],"click")},_moveSelectionTrack:function(n,c,b){var h=this;if(n===-1){return}if(this._titleList.length===0){return}if(n>=this._titleList.length){return}var m=this._titleList[n],o=a(m);h._refreshBarPosition();if(this.selectionTracker&&this._selectionTracker){var i;h._stop(h._selectionTrackerHelper);this._unlockAnimation("selectionTracker");if(b===undefined){i=parseInt(o.position().left,10);if(!isNaN(parseInt(this._unorderedListHelper.css("left"),10))){i+=parseInt(this._unorderedListHelper.css("left"),10)}if(!isNaN(parseInt(this._unorderedListHelper.css("margin-left"),10))){i+=parseInt(this._unorderedListHelper.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-left"),10))){i+=parseInt(o.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-right"),10))){}}else{i=b}var g=0;var e=0;if(this.position==="top"){g=this._height(h._headerWrapper)-m.offsetHeight;if(!this.autoHeight){e+=parseInt(o.css("margin-top"),10)}}this._lockAnimation("selectionTracker");var l=parseInt(o.css("padding-left"),10)+parseInt(o.css("padding-right"),10);var f=this.position==="top"?0:1;var k=parseInt(a(this._headerWrapper).css("padding-top"),10);var j=parseInt(o.css("padding-top"),10)+parseInt(o.css("padding-bottom"),10);this._selectionTracker.style.visibility="visible";this._moveSelectionTrackerContainer.style.visibility="visible";var d=parseInt(o.css("margin-top"),10);if(isNaN(d)){d=0}h._refreshBarPosition();h._selectionTrackerHelper.animate({top:k+d-f,left:i+"px",height:parseInt(this._height(m)+j,10),width:h._width(m)+l},c,function(){h._unlockAnimation("selectionTracker");h._selectionTracker.style.visibility="hidden";h._addSelectStyle(n,true);h._moveSelectionTrackerContainer.style.visibility="hidden"})}},destroy:function(){a.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(a(window.top.document),"mouseup.tabs"+this.element.id)}}this.host.remove()},_switchTabs:function(b,d){if(b!==d&&!this._activeAnimation()&&!this._tabCaptured){var c=this;this._raiseEvent(7,{item:d});this._raiseEvent(6,{item:b});if(this._currentEvent){if(this._currentEvent.cancel){this._currentEvent=null;return}}this._unselect(d,null,true);this._select(b,c.contentTransitionDuration,null,true);return true}return false},_activeAnimation:function(){for(var b in this._isAnimated){if(this._isAnimated.hasOwnProperty(b)){if(this._isAnimated[b]){return true}}}return false},_indexOf:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c||this._contentList[b]===c){return b}}return -1},_validateProperties:function(){try{if(this.scrollAnimationDuration<0||isNaN(this.scrollAnimationDuration)){throw new Error(this._invalidArgumentExceptions.invalidScrollAnimationDuration)}if(parseInt(this.width,10)<0&&this.width!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(parseInt(this.height,10)<0&&this.height!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.animationType!=="none"&&this.animationType!=="fade"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(this.contentTransitionDuration<0||isNaN(this.contentTransitionDuration)){throw new Error(this._invalidArgumentExceptions.invalidcontentTransitionDuration)}if(this.toggleMode!=="click"&&this.toggleMode!=="dblclick"&&this.toggleMode!=="mouseenter"&&this.toggleMode!=="none"){throw new Error(this._invalidArgumentExceptions.invalidToggleMode)}if(this.position!=="top"&&this.position!=="bottom"){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(this.scrollPosition!=="left"&&this.scrollPosition!=="right"&&this.scrollPosition!=="both"){throw new Error(this._invalidArgumentExceptions.invalidScrollPosition)}if(this.scrollStep<0||isNaN(this.scrollStep)){throw new Error(this._invalidArgumentExceptions.invalidScrollStep)}if(this._titleList.length!==this._contentList.length||this._titleList.length===0){throw new Error(this._invalidArgumentExceptions.invalidStructure)}if(this.arrowButtonSize<0||isNaN(this.arrowButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidArrowSize)}if(this.closeButtonSize<0||isNaN(this.closeButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidCloseSize)}}catch(b){try{console.log(b)}catch(c){}}},_startScrollRepeat:function(d,c){var b=this;if(d){this._scrollLeft(c)}else{this._scrollRight(c)}if(this._scrollTimeout){clearTimeout(this._scrollTimeout)}this._scrollTimeout=setTimeout(function(){b._startScrollRepeat(d,b.scrollAnimationDuration)},c)},_performLayout:function(){var b=this.length();while(b){b--;if(this.position==="top"||this.position==="bottom"){if(this.rtl){this._titleList[b].style["float"]="right"}else{this._titleList[b].style["float"]="left"}}}this._fitToSize();this._performHeaderLayout();this._fitToSize()},updatetabsheader:function(){this._performHeaderLayout()},_setSize:function(){var b=this;b._fitToSize();b._positionArrows(b._totalItemsWidth);if(b._totalItemsWidth>b.element.offsetWidth){b._unorderedList.style.width=b._toPx(b._totalItemsWidth)}else{b._unorderedList.style.width=b.element.offsetWidth-2+"px"}b._fitToSize()},_addArrows:function(){if(this._leftArrow&&this._rightArrow){a(this._leftArrow).remove();a(this._rightArrow).remove()}this._leftArrow=document.createElement("div");this._leftArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-left")+'"></span>';this._leftArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._leftArrow.style.zIndex=30;this._leftArrow.style.display="none";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.height="100%";this._rightArrow=document.createElement("div");this._rightArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-right")+'"></span>';this._rightArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._rightArrow.style.zIndex=30;this._rightArrow.style.display="none";this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.height="100%";this._headerWrapper.appendChild(this._leftArrow);this._headerWrapper.appendChild(this._rightArrow)},_tabsWithVisibleCloseButtons:function(){if(!this.showCloseButtons){return 0}var b=this.length();a.each(this._titleList,function(){var c=this.attr("hasclosebutton");if(c!==undefined&&c!==null){if(c==="false"||c===false){b--}}});return b},_calculateTitlesSize:function(){var g=this;function f(n,m){if(n){if(m){n.style.display="block"}else{n.style.display="none"}}}var l=0;var k=0;var h=this.length();if(this.rtl&&a.jqx.browser.msie&&a.jqx.browser.version<8){this._measureItem=document.createElement("span");this._measureItem.style.position="relative";this._measureItem.style.visibility="hidden";document.body.appendChild(this._measureItem)}while(h){h--;var j=this._titleList[h],b=g._closeButtonList[h];if(this._measureItem){this._measureItem.innerHTML=j.innerHTML;this._measureItem.html(this._titleList[h].html());j.style.width=g._toPx(g._width(this._measureItem))}j.style.position="static";f(b,false);k+=g._outerWidth(j,true);var e=g._outerHeight(j,true);if(l<e){l=e}if(g._height(j)===0){var i=j.cloneNode(true);document.body.appendChild(i);l=g._outerHeight(i,true);document.body.removeChild(i)}var c=j.getAttribute("hasCloseButton");var d;if(c!==undefined&&c!==null){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){if(c==="true"||c===true){k+=this.closeButtonSize;f(b,true)}else{if(c==="false"||c===false){f(b,false)}}}}else{if(this.showCloseButtons&&(this.canCloseAllTabs||this._tabsWithVisibleCloseButtons()>1)){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){k+=this.closeButtonSize;f(b,true)}}}j.style.height=this._toPx(g._height(j))}if(this._measureItem){a(this._measureItem).remove()}return{height:l,width:10+k}},_reorderHeaderElements:function(){if(this.selectionTracker){this._moveSelectionTrackerContainer.style.position="absolute";this._moveSelectionTrackerContainer.style.height="100%";this._moveSelectionTrackerContainer.style.top="0px";this._moveSelectionTrackerContainer.style.left="0px";this._moveSelectionTrackerContainer.style.width="100%"}this._headerWrapper.style.position="relative";this._headerWrapper.style.left="0px";this._headerWrapper.style.top="0px";if(this.scrollable){this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.position="absolute";this._rightArrow.style.top="0px";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.position="absolute";this._leftArrow.style.top="0px";var c=this.theme&&this.theme.indexOf("ui-")!==-1?3:0;if(c>0){this._rightArrow.className+=" "+this.toThemeProperty("jqx-rc-r");this._leftArrow.className+=" "+this.toThemeProperty("jqx-rc-l")}var b=this.scrollPosition;if(this.rtl){if(b==="left"){b="right"}if(b==="right"){b="left"}}switch(b){case"both":this._rightArrow.style.right="0px";this._leftArrow.style.left="0px";break;case"left":this._rightArrow.style.left=this._toPx(this.arrowButtonSize);this._leftArrow.style.left="0px";break;case"right":this._rightArrow.style.right=this._toPx(-c);this._leftArrow.style.right=this._toPx(parseInt(this.arrowButtonSize,10)-c);break}}},_positionArrows:function(b){if(b>=this._headerWrapper.offsetWidth&&this.scrollable){this._needScroll=true;if(this._unorderedListHelper.position().left===0){this._unorderedListLeftBackup=this._getArrowsDisplacement()+"px"}this._leftArrow.style.display="block";this._rightArrow.style.display="block"}else{this._needScroll=false;this._leftArrow.style.display="none";this._rightArrow.style.display="none";this._unorderedList.style.left="0px"}},_performHeaderLayout:function(){this._removeSelectStyle();var b=this._calculateTitlesSize();var e=b.height;var c=b.width;this._headerWrapper.style.height=this._toPx(e);this._unorderedList.style.height=this._toPx(e);if(this.headerHeight!==null&&this.headerHeight!=="auto"){this._headerWrapper.style.height=this._toPx(this.headerHeight);this._unorderedList.style.height=this._toPx(this.headerHeight)}var d=this._width(this.element);if(c>d){this._unorderedList.style.width=this._toPx(c)}else{this._unorderedList.style.width=this._toPx(d)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){this._unorderedList.style.position="relative";this._unorderedList.style.overflow="hidden"}this._reorderHeaderElements();c=c+parseInt(this._unorderedListHelper.css("margin-left"),10);this._totalItemsWidth=c;this._positionArrows(c);this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._verticalAlignElements();this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this.selectedItem)},_verticalAlignElements:function(){var j=this.length();while(j){j--;var n=this._titleList[j],p=a(n),b=p.children()[0],m=this._closeButtonList[j],k=parseInt(p.css("padding-top"),10);if(!k){k=0}if(this.autoHeight){var c=parseInt(p.css("padding-top"),10),o=parseInt(p.css("padding-bottom"),10),i=p.css("border-top-width"),f=p.css("border-bottom-width");if(i.indexOf("px")===-1){i=1}else{i=parseInt(i,10)}if(f.indexOf("px")===-1){f=1}else{f=parseInt(f,10)}n.style.height=this._toPx(this._outerHeight(this._unorderedList,true)-(c+o+i+f))}else{if(this.position==="top"){var h=this._height(this._unorderedList)-parseInt(this._outerHeight(n,true),10);if(parseInt(p.css("margin-top"),10)!==h&&h!==0){n.style.marginTop=this._toPx(h)}}else{n.style.height=this._toPx(this._height(n))}}b.style.height="100%";var e=this._height(n);if(m){var g=e/2-this._height(m)/2;m.style.marginTop=this._toPx(1+g)}var l=e/2-this._height(b)/2;b.style.marginTop=this._toPx(l)}if(this.scrollable){var d=(parseInt(this._headerWrapper.offsetHeight,10)-this.arrowButtonSize)/2;a(this._rightArrow).children()[0].style.marginTop=this._toPx(d);this._rightArrow.style.height="100%";a(this._leftArrow).children()[0].style.marginTop=this._toPx(d);this._leftArrow.style.height="100%"}},_getImageUrl:function(c){var b=c.css("background-image");b=b.replace('url("',"");b=b.replace('")',"");b=b.replace("url(","");b=b.replace(")","");return b},_fitToSize:function(){var c=false;var e=false;var d=this;if(d.width!==null&&d.width.toString().indexOf("%")!==-1){c=true}if(d.height!==null&&d.height.toString().indexOf("%")!==-1){e=true}if(c){this.element.style.width=this.width;this._contentWrapper.style.width="100%"}else{d.element.style.width=d._toPx(d.width);if(this.width!=="auto"){this._contentWrapper.style.width="100%"}}var b;if(e){this.element.style.height=this.height;this._contentWrapper.style.width="100%";this._contentWrapper.style.height="auto";b=this.element.offsetHeight-this._headerWrapper.offsetHeight-2;this._contentWrapper.style.height=b+"px"}else{if(this.height!=="auto"){d.element.style.height=d._toPx(d.height);b=this._height(d.element)-this._headerWrapper.offsetHeight;this._contentWrapper.style.height=d._toPx(b)}else{this._contentWrapper.style.height="auto"}}},_maxHeightTab:function(){var c=this.length();var d=-1;var b=-1;while(c){c--;if(d<this._outerHeight(this._titleList[c],true)){b=c}}return b},_addSelectionTracker:function(){if(this._moveSelectionTrackerContainer){a(this._moveSelectionTrackerContainer).remove()}this._moveSelectionTrackerContainer=document.createElement("div");this._moveSelectionTrackerContainer.className=this.toThemeProperty("jqx-tabs-selection-tracker-container");this._selectionTracker=document.createElement("div");this._selectionTracker.className=this.toThemeProperty("jqx-tabs-selection-tracker-"+this.position);this._selectionTracker.style.color="inherit";this._selectionTracker.style.position="absolute";this._selectionTracker.style.zIndex=10;this._selectionTracker.style.left="0px";this._selectionTracker.style.top="0px";this._selectionTracker.style.display="inline-block";this._moveSelectionTrackerContainer.appendChild(this._selectionTracker);this._headerWrapper.appendChild(this._moveSelectionTrackerContainer);this._selectionTrackerHelper=a(this._selectionTracker);if(this._selectionTrackerHelper.initAnimate){this._selectionTrackerHelper.initAnimate()}},_addContentWrapper:function(){var e="none";var b=this._contentWrapper===null;if(b){this._contentWrapper=document.createElement("div");this._contentWrapper.className=this.toThemeProperty("jqx-tabs-content jqx-widget-content");this._contentWrapper.style["float"]=e}var d=this.length();while(d){d--;this._contentList[d].className+=" "+this.toThemeProperty("jqx-tabs-content-element")}if(b){if(this.position==="top"){this.element.appendChild(this._contentWrapper)}else{this.element.insertBefore(this._contentWrapper,this.element.firstChild)}for(var c=0;c<this._contentList.length;c++){this._contentWrapper.appendChild(this._contentList[c])}}if(this.roundedCorners){if(this.position==="top"){this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-b")}else{this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-t")}this.element.className+=" "+this.toThemeProperty("jqx-rc-all")}},_addHeaderWrappers:function(){var d=this.length();if(this._headerWrapper!==undefined){a(this._headerWrapper).remove();if(this.bar){this.bar=null}}this._headerWrapper=document.createElement("div");this._headerWrapper.style.outline="none";if(this.position==="top"){this.element.insertBefore(this._headerWrapper,this.element.firstChild)}else{this.element.appendChild(this._headerWrapper)}this._headerWrapper.appendChild(this._unorderedList);var b="jqx-tabs-headerWrapper jqx-tabs-header jqx-widget-header";if(this.position==="bottom"){b+=" jqx-tabs-header-bottom"}if(this.roundedCorners){if(this.position==="top"){b+=" jqx-rc-t"}else{b+=" jqx-rc-b"}}this._headerWrapper.className=this.toThemeProperty(b);while(d){d--;var e=this._titleList[d];if(e.querySelector(".jqx-tabs-titleWrapper")===null){var f=document.createElement("div");f.className="jqx-tabs-titleWrapper";f.style.outline="none";f.style.position="relative";f.style.zIndex=15;var c=a(e).children();f.appendChild(c[0]);f.appendChild(c[1]);e.appendChild(f)}}},_render:function(){this._addCloseButtons();this._addHeaderWrappers();this._addContentWrapper();if(this.selectionTracker){this._addSelectionTracker()}this._addArrows()},_addCloseButton:function(c,e){var d=document.createElement("div"),g=this._titleList[c];d.className="jqx-tabs-titleContentWrapper jqx-disableselect";var f="left";if(this.rtl){f="right"}if(a(g).find(".jqx-tabs-close-button").length>0){a(g).find(".jqx-tabs-close-button").remove()}d.style["float"]=f;d.innerHTML=g.innerHTML;g.innerHTML="";var b=document.createElement("div");b.className=this.toThemeProperty("jqx-tabs-close-button");b.style.height=this._toPx(this.closeButtonSize);b.style.width=this._toPx(this.closeButtonSize);b.style["float"]=f;b.style.fontSize="1px";g.appendChild(d);g.appendChild(b);if(e===true){this._closeButtonList[c]=b}else{this._closeButtonList.splice(c,0,b)}if(!this.showCloseButtons){b.style.display="none"}else{if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[c]===1){b.style.display="none"}}}},_addCloseButtons:function(){var b=this.length();while(b){b--;this._addCloseButton(b,true)}},_prepareTabs:function(){var c=this.length();var b=this.selectionTracker;this.selectionTracker=false;while(c){c--;if(this._selectedItem!==c){this._unselect(c,null,false)}}this._select(this._selectedItem,0,null,false);this.selectionTracker=b;if(this.initTabContent){if(!this._initTabContentList[this.selectedItem]){if(!this._hiddenParent()){this.initTabContent(this.selectedItem);this._initTabContentList[this.selectedItem]=true}}}},_isValidIndex:function(b){return(b>=0&&b<this.length())},_removeSelectStyle:function(){var d=this.length();while(d){d--;var e=this._titleList[d];if(this.showCloseButtons){var c=this._closeButtonList[d];this._removeClass(c,this.toThemeProperty("jqx-tabs-close-button-selected"))}var b="jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-selected-bottom"}this._removeClass(e,this.toThemeProperty(b))}},_addSelectStyle:function(d,g){this._removeSelectStyle();if(!this.selectionTracker||(g!==undefined&&g)){var f=this._titleList[d];if(d>=0&&f!==undefined){var c=null;if(this.showCloseButtons){c=this._closeButtonList[d];if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[d]===1){c=null}}}var b="jqx-fill-state-hover",e=" jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-hover-top";e+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-hover-bottom";e+=" jqx-tabs-title-selected-bottom"}this._removeClass(f,this.toThemeProperty(b));f.className+=this.toThemeProperty(e);if(c!==null){c.className+=" "+this.toThemeProperty("jqx-tabs-close-button-selected")}}}},_addItemTo:function(g,c,e){if(c<g.length){var b,f;for(var d=c;d+1<g.length;d++){if(b===undefined){b=g[d+1];g[d+1]=g[d]}else{f=g[d+1];g[d+1]=b;b=f}}if(b===undefined){b=g[c]}g[c]=e;g.push(b)}else{g.push(e)}},_refreshBarPosition:function(){var c=this;if(!this.bar){var b=a("<span></span>");a(this._headerWrapper).append(b);b.addClass(this.toThemeProperty("jqx-tabs-bar"));this.bar=b}setTimeout(function(){var d=parseInt(c._unorderedListHelper.css("left"),10);var e=parseInt(c._unorderedListHelper.css("margin-left"));if(d){c.bar.css("left",e+c._titleList[c._selectedItem].offsetLeft+d)}else{c.bar.css("left",e+c._titleList[c._selectedItem].offsetLeft)}c.bar.width(a(c._titleList[c._selectedItem]).outerWidth()-2)})},_select:function(h,e,l,b,c){if(!this._tabCaptured){this.host.attr("hideFocus","true");var g=this;if(c===undefined){this._addSelectStyle(h)}else{this._addSelectStyle(h,c)}var k=a(g._titleList[h]),d=g._titleList[h].getAttribute("id"),j=a(g._contentList[h]);if(this.isCollapsed&&this.collapsible){j[0].style.display="none";this._selectCallback(h,l,b);return}g._refreshBarPosition();switch(this.animationType){case"none":if(!g.selectionTracker){for(var f=0;f<this._contentList.length;f++){if(h!==f&&a(g._contentList[f]).css("display")==="block"){g._contentList[f].style.display="none";a.jqx.aria(a(g._titleList[f]),"aria-selected",false);a.jqx.aria(a(g._contentList[f]),"aria-hidden",true)}}j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(this,"aria-activedescendant",d)}else{setTimeout(function(){j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)},this.selectionTrackerAnimationDuration)}this._selectCallback(h,l,b);break;case"fade":this._lockAnimation("contentListSelect");g._selectCallback(h,l,b);if(j.initAnimate&&j.fadeIn===undefined){j.initAnimate()}j.fadeIn({duration:1000,complete:function(){g._unlockAnimation("contentListSelect");a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)}});break}}},_selectCallback:function(c,d,b){this._selectedItem=c;this.selectedItem=this._selectedItem;if(d){d()}if(b){this._raiseEvent(1,{item:c})}},_unselect:function(d,i,b){if(d>=0){if(!this._tabCaptured){var g=this,e=g._contentList[d],c=a(e),h=g._titleList[d],f=a(h);if(c.initAnimate&&c.animate===undefined){c.initAnimate()}g._stop(c);if(this.animationType==="fade"){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}else{if(this.selectionTracker){setTimeout(function(){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)},this.selectionTrackerAnimationDuration)}else{e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}}this._unselectCallback(d,i,b);if(!this.selectionTracker){g._removeClass(h,g.toThemeProperty("jqx-tabs-title-selected jqx-fill-state-pressed"))}}}},_unselectCallback:function(c,d,b){if(b){this._raiseEvent(8,{item:c})}if(d){d()}},disable:function(){var b=this.length();while(b){b--;this.disableAt(b)}},enable:function(){var b=this.length();while(b){b--;this.enableAt(b)}},getEnabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(!this.disabled){b++}});return b},getDisabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(this.disabled){b++}});return b},removeAt:function(b){if(this._isValidIndex(b)&&(this.canCloseAllTabs||this.length()>1)){this._removeHoverStates();this._initTabContentList[b]=false;var d=this,c=d._outerWidth(this._titleList[b],true),g=this.getTitleAt(b);this._unorderedList.style.width=d._toPx(d._width(this._unorderedList)-c);a(this._titleList[b]).remove();a(this._contentList[b]).remove();this._titleList.splice(b,1);this._contentList.splice(b,1);d._closeButtonList.splice(b,1);this._addStyles();this._performHeaderLayout();this._removeEventHandlers();this._addEventHandlers();this._raiseEvent(3,{item:b,title:g});this._isAnimated={};var f;if(this.selectedItem>0){this._selectedItem=-1;if(this.selectedItem>=b){f=this._getPreviousIndex(this.selectedItem);this.select(f)}else{this.select(d.selectedItem)}}else{this._selectedItem=-1;f=this._getNextIndex(this.selectedItem);this.select(f)}if(parseInt(this._unorderedListHelper.css("left"),10)>this._getArrowsDisplacement()){this._unorderedList.style.left=d._toPx(this._getArrowsDisplacement())}if(d._width(this._unorderedList)<=d._width(this._headerWrapper)){var e=(this.enableScrollAnimation)?this.scrollAnimationDuration:0;this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:0},e,function(){d._unlockAnimation("unorderedList")})}}},removeFirst:function(){this.removeAt(0)},removeLast:function(){this.removeAt(this.length()-1)},disableAt:function(b){var d=this._titleList[b];if(!d.disabled||d.disabled===undefined){if(this.selectedItem===b){var c=this.next();if(!c){c=this.previous()}}d.disabled=true;this.removeHandler(d,this.toggleMode);if(this.enabledHover){a(d).off("mouseenter").off("mouseleave")}this._removeEventListenerAt(b);d.className+=" "+this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled");this._raiseEvent(5,{item:b})}},enableAt:function(b){var c=this._titleList[b];if(c.disabled){c.disabled=false;this._addEventListenerAt(b);this._removeClass(c,this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled"));this._raiseEvent(4,{item:b})}},addAt:function(d,g,e){if(d>=0&&d<=this.length()){this._removeHoverStates();var b=document.createElement("li");b.innerHTML=g;b.className=this.toThemeProperty("jqx-tabs-title jqx-item");var f=document.createElement("div");f.innerHTML=e;f.className=this.toThemeProperty("jqx-tabs-content-element");if(this.position==="bottom"){b.className+=" "+this.toThemeProperty("jqx-tabs-title-bottom")}var c=false;if(this._titleList.length===0){this._unorderedList.appendChild(b)}else{if(d<this.length()&&d>=0){this._unorderedList.insertBefore(b,this._titleList[d])}else{this._unorderedList.appendChild(b)}}this._contentWrapper.appendChild(f);this._addItemTo(this._titleList,d,b);this._addItemTo(this._contentList,d,f);this._addCloseButton(d);if(this._selectedItem>d){this._selectedItem++}this._switchTabs(d,this._selectedItem);this._selectedItem=d;this._uiRefresh(c);this._raiseEvent(2,{item:d});this._moveSelectionTrack(this._selectedItem,0)}},addFirst:function(c,b){this.addAt(0,c,b)},addLast:function(c,b){this.addAt(this.length(),c,b)},val:function(b){if(arguments.length===0||typeof(b)==="object"){return this._selectedItem}this.select(b);return this._selectedItem},select:function(b){if(typeof(b)==="object"){b=this._indexOf(b)}var d=b>=0&&b<this._titleList.length?this._titleList[b].getAttribute("canselect"):true;if(d===undefined||d===null||d==="true"||d===true){if(b!==this._selectedItem&&this._isValidIndex(b)){if(!this._activeAnimation()&&!this._titleList[b].disabled){var c=this._switchTabs(b,this._selectedItem);if(c){this.ensureVisible(b)}}}}},previous:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>0&&b<this._titleList.length){b--;if(!this._titleList[b].disabled){this.select(b);return true}}return false},_getPreviousIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>0&&c<=this._titleList.length){c--;if(!this._titleList[c].disabled){return c}}return b}else{return 0}},_getNextIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>=0&&c<this._titleList.length){if(!this._titleList[c].disabled){return c}c++}return b}else{return 0}},next:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>=0&&b<this._titleList.length-1){b++;if(!this._titleList[b].disabled){this.select(b);return true}}return false},first:function(){var b=0;if(this._titleList[b].disabled){this.next(b)}else{this.select(b)}},last:function(){var b=this._titleList.length-1;if(this._titleList[b].disabled){this.previous(b)}else{this.select(b)}},length:function(){return this._titleList.length},lockAt:function(b){if(this._isValidIndex(b)&&(!this._titleList[b].locked||this._titleList[b].locked===undefined)){this._titleList[b].locked=true;this._raiseEvent(11,{item:b})}},unlockAt:function(b){if(this._isValidIndex(b)&&this._titleList[b].locked){this._titleList[b].locked=false;this._raiseEvent(12,{item:b})}},lockAll:function(){var b=this.length();while(b){b--;this.lockAt(b)}},unlockAll:function(){var b=this.length();while(b){b--;this.unlockAt(b)}},showCloseButtonAt:function(b){if(this._isValidIndex(b)){if(!this.showCloseButtons){this.showCloseButtons=true;this.updatetabsheader()}this._closeButtonList[b].style.display="block";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=0}},hideCloseButtonAt:function(b){if(this._isValidIndex(b)){this._closeButtonList[b].style.display="none";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=1}},hideAllCloseButtons:function(){var b=this.length();while(b){b--;this.hideCloseButtonAt(b)}},showAllCloseButtons:function(){var b=this.length();while(b){b--;this.showCloseButtonAt(b)}},getTitleAt:function(b){if(this._titleList[b]){return a(this._titleList[b]).text()}return null},getContentAt:function(b){if(this._contentList[b]){return this._contentList[b]}return null},setTitleAt:function(b,c){if(this._titleList[b]){a(this._titleList[b]).text(c);if(this.showCloseButtons){this._addCloseButton(b);this._removeEventHandlers();this._addEventHandlers()}this.render();this.refresh()}},setContentAt:function(b,c){if(this._contentList[b]){a(this._contentList[b]).html(c)}},ensureVisible:function(e){var d=this;if(e===undefined||e===-1||e===null){e=this.selectedItem}if(!this._isValidIndex(e)){return false}var j=this._titleList[e];var l=parseInt(a(j).position().left,10)+parseInt(this._unorderedListHelper.css("margin-left"),10);var g=parseInt(this._unorderedListHelper.css("left"),10);var k=this._outerWidth(this._headerWrapper,true);var f=this._outerWidth(j,true);var i=g-this._getArrowsDisplacement();var b=k-this._getArrowsDisplacement()-i;var h,c;if(l<-i){h=-l+this._getArrowsDisplacement();c=this._getArrowsDisplacement()}else{if(l+f>b-this._getArrowsDisplacement()){h=-l+k-f-((this.scrollable)?(2*this.arrowButtonSize-this._getArrowsDisplacement()):0);c=k-f-this._getArrowsDisplacement()}else{this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration);return true}}this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:h},this.scrollAnimationDuration,function(){d._unlockAnimation("unorderedList");d._moveSelectionTrack(d._selectedItem,0);return true});this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration,c);return true},isVisibleAt:function(d){var c=this;if(d===undefined||d===-1||d===null){d=c.selectedItem}if(!c._isValidIndex(d)){return false}var h=c._titleList[d];var j=parseInt(a(h).position().left,10)+parseInt(c._unorderedListHelper.css("margin-left"),10);var f=parseInt(c._unorderedListHelper.css("left"),10);var i=c._outerWidth(c._headerWrapper,true);var e=c._outerWidth(h,true);var g=f-c._getArrowsDisplacement();var b=i-c._getArrowsDisplacement()-g;if(j<-g){return false}else{if(j+e>b){return false}else{return true}}return true},isDisabled:function(b){return this._titleList[b].disabled},_lockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=true}},_unlockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=false}},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length===2){d._setSize()}},propertyChangedHandler:function(b,c,e,d){if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length===2){return}this._validateProperties();switch(c){case"touchMode":if(d){b.enabledHover=false;b.keyboardNavigation=false}break;case"width":case"height":b._setSize();return;case"disabled":if(d){this.disable()}else{this.enable()}return;case"showCloseButtons":if(d){this.showAllCloseButtons()}else{this.hideAllCloseButtons()}this._performHeaderLayout();return;case"selectedItem":if(this._isValidIndex(d)){this.select(d)}return;case"scrollStep":case"contentTransitionDuration":case"scrollAnimationDuration":case"enableScrollAnimation":return;case"selectionTracker":if(d){this._refresh();this.select(this._selectedItem)}else{if(this._selectionTracker){this._selectionTrackerHelper.remove()}}return;case"scrollable":if(d){this._refresh();this.select(this._selectedItem)}else{a(this._leftArrow).remove();a(this._rightArrow).remove();this._performHeaderLayout()}return;case"autoHeight":this._performHeaderLayout();return;case"theme":a.jqx.utilities.setTheme(e,d,this.host);return}this._unorderedList.style.left="0px";this._refresh();this.select(this._selectedItem);this._addSelectStyle(this._selectedItem,true)},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_removeClass:function(c,b){a(c).removeClass(b)},_width:function(e){var b=a(e),g=b.css("border-left-width"),c=b.css("border-right-width"),d=parseInt(b.css("padding-left"),10),h=parseInt(b.css("padding-right"),10);if(g.indexOf("px")===-1){g=1}else{g=parseInt(g,10)}if(c.indexOf("px")===-1){c=1}else{c=parseInt(c,10)}var f=e.offsetWidth-(g+c+d+h);return f},_outerWidth:function(c,g){var f=c.offsetWidth;if(g){var b=a(c),d=parseInt(b.css("margin-left"),10),e=parseInt(b.css("margin-right"),10);f+=d+e}return f},_height:function(e){var c=a(e),h=c.css("border-top-width"),d=c.css("border-bottom-width"),f=parseInt(c.css("padding-top"),10),g=parseInt(c.css("padding-bottom"),10);if(h.indexOf("px")===-1){h=1}else{h=parseInt(h,10)}if(d.indexOf("px")===-1){d=1}else{d=parseInt(d,10)}var b=e.offsetHeight-(h+d+f+g);return b},_outerHeight:function(e,g){var f=e.offsetHeight;if(g){var b=a(e),c=parseInt(b.css("margin-top"),10),d=parseInt(b.css("margin-bottom"),10);f+=c+d}return f},_stop:function(b){if(b.stop){b.stop()}else{b.animate("stop",true)}}})}(jqxBaseFramework));
 
 (function(a){a.jqx.jqxWidget("jqxTagCloud","",{});a.extend(a.jqx._jqxTagCloud.prototype,{defineInstance:function(){var b={width:null,height:null,source:null,disabled:false,rtl:false,valueMember:"value",displayMember:"label",urlMember:"url",urlBase:"",autoBind:true,takeTopWeightedItems:false,displayLimit:null,minValueToDisplay:0,maxValueToDisplay:0,minFontSize:10,maxFontSize:24,fontSizeUnit:"px",displayValue:false,sortBy:"none",alterTextCase:"none",sortOrder:"ascending",textColor:null,minColor:null,maxColor:null,tagRenderer:null};if(this===a.jqx._jqxTagCloud.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b.render();b.dataBind(b.source,true)},dataBind:function(b,c){var h=this;h.records=[];var e=b._source?true:false;var i;if(e){i=b;b=b._source}else{b.datafields=[{name:h.displayMember},{name:h.valueMember},{name:h.urlMember}];i=new a.jqx.dataAdapter(b,{autoBind:true})}var j=function(){if(b.type!==undefined){i._options.type=b.type}if(b.formatdata!==undefined){i._options.formatData=b.formatdata}if(b.contenttype!==undefined){i._options.contentType=b.contenttype}if(b.async!==undefined){i._options.async=b.async}};var f=function(k){k._setSourceData(i);k._raiseEvent(1,{records:k.records});k._renderTags()};j(this);switch(b.datatype){case"local":case"array":default:if(b.localdata!=null||a.isArray(b)){i.unbindBindingUpdate(h.element.id);if(h.autoBind||(!h.autoBind&&!c)){i.dataBind()}f(h);i.bindBindingUpdate(h.element.id,function(k){f(h,k)})}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(b.localdata!=null){i.unbindBindingUpdate(h.element.id);if(h.autoBind||(!h.autoBind&&!c)){i.dataBind()}f(h);i.bindBindingUpdate(h.element.id,function(){f(h)});return}var d={};if(i._options.data){a.extend(i._options.data,d)}else{if(b.data){a.extend(d,b.data)}i._options.data=d}var g=function(){f(h)};i.unbindDownloadComplete(h.element.id);i.bindDownloadComplete(h.element.id,g);if(h.autoBind||(!h.autoBind&&!c)){i.dataBind()}}h._raiseEvent(2,{records:h.records})},destroy:function(){var b=this;b.removeHandler(b._el,"keydown");b.removeHandler(b._el,"click");b.host.empty();b.host.remove()},findTagIndex:function(c){var d=this;for(var b=0;b<d.records.length;b++){if(d.records[b][d.displayMember]===c){return d.records[b].index}}return -1},getHiddenTagsList:function(){return this.hiddenList.slice()},getRenderedTags:function(){return this.renderedData.slice()},getTagsList:function(){return this.records.slice()},insertAt:function(b,e){var d=this;e.index=b;if(e[this.displayMember]===undefined){throw new Error("jqxTagCloud: Insert tag requires a valid displayMember field to be supplied in the parameter")}var f=e[d.valueMember]!==undefined?parseFloat(e[d.valueMember]):0;e[d.valueMember]=isNaN(f)?0:f;if(d.source.insertTag&&typeof(d.source.insertTag)==="function"){d.source.insertTag(b,e,function(h){if(h){d.records.splice(b,0,e);for(var g=b+1;g<d.records.length;g++){d.records[g].index+=1}for(g=0;g<d.hiddenList.length;g++){if(d.hiddenList[g]>=b){d.hiddenList[g]++}}d._renderTags()}})}else{d.records.splice(b,0,e);for(var c=b+1;c<d.records.length;c++){d.records[c].index+=1}for(c=0;c<d.hiddenList.length;c++){if(d.hiddenList[c]>=b){d.hiddenList[c]++}}d._renderTags()}},updateAt:function(b,d){var c=this;if(d[this.displayMember]===undefined){throw new Error("jqxTagCloud: Update tag requires a valid displayMember field to be supplied in the parameter")}d.index=b;d.uid=c.records[b].uid;if(c.source.updateTag&&typeof(c.source.updateTag)==="function"){c.source.updateTag(b,d,function(e){if(e){a.each(d,function(f,g){c.records[b][f]=g});c._renderTags()}})}else{a.each(d,function(e,f){c.records[b][e]=f});c._renderTags()}},removeAt:function(b){var d=this;if(d.source.deleteTag&&typeof(d.source.deleteTag)==="function"){d.source.deleteTag(b,function(f){if(f){d.records.splice(b,1);for(var e=b;e<d.records.length;e++){d.records[e].index-=1}for(e=0;e<d.hiddenList.length;e++){if(d.hiddenList[e]>b){d.hiddenList[e]--}else{if(d.hiddenList[e]===b){d.hiddentList.splice(b,1)}}}}})}else{d.records.splice(b,1);for(var c=b;c<d.records.length;c++){d.records[c].index-=1}for(c=0;c<d.hiddenList.length;c++){if(d.hiddenList[c]>b){d.hiddenList[c]--}else{if(d.hiddenList[c]===b){d.hiddentList.splice(b,1)}}}}d._renderTags()},hideItem:function(b){var d=this;if(!(typeof(b)!=="number"||d.hiddenList.indexOf(b)!==-1)){d.hiddenList.push(b);var e=-1;for(var c=0;c<d.renderedData.length;c++){if(d.renderedData[c].index===b){e=c}}if(e!==-1){a(d._el).find("li")[e].style.display="none"}}},showItem:function(b){var d=this;if(d.hiddenList.indexOf(b)!==-1){var e=-1;for(var c=0;c<d.renderedData.length;c++){if(d.renderedData[c].index===b){e=c}}if(e!==-1){a(d._el).find("li")[e].style.display=""}d.hiddenList.splice(d.hiddenList.indexOf(b),1)}},render:function(){var b=this;b._updateSize();b.renderedData=[];b._el=a("<ul>");b.host.addClass(b.toThemeProperty("jqx-widget jqx-tag-cloud"));b._setRtl();b.host.append(b._el);b.focusedItem=null;b.minColor=b._parseColor(b.minColor);b.maxColor=b._parseColor(b.maxColor);b.displayLimit=parseInt(b.displayLimit);if(b.disabled){b.host.addClass(b.toThemeProperty("jqx-fill-state-disabled"))}b.addHandler(b._el,"click",function(d){if(a(document.activeElement).parents("#"+b._el[0].parentElement.id).length){}else{if(b.focusedItem!=null){a(b.focusedItem).focus()}else{a(b._el).find("a")[0].focus();b.focusedItem=document.activeElement}}if(b.disabled){d.preventDefault()}if(d.target.tagName.toLowerCase()==="a"){d.target.focus();b.focusedItem=document.activeElement}if(d.target.tagName.toLowerCase()==="li"){a(d.target).find("a").focus();b.focusedItem=document.activeElement}var c=a(d.target).closest("li").index();if(c!==-1){b._raiseEvent(0,{label:b.renderedData[c][b.displayMember],url:b.renderedData[c][b.urlMember],value:b.renderedData[c][b.valueMember],visibleIndex:c,index:b.renderedData[c].index,target:a(d.target).closest("li")[0],originalEvent:d})}});b._addKeyboardSupport()},resize:function(c,b){var d=this;d.width=c;d.height=b;d._updateSize()},propertyChangedHandler:function(b,c,f,e){var d=this;if(c==="source"){d.dataBind(b.source)}if(c==="displayLimit"){d[c]=parseInt(e)}if(c==="minColor"||c==="maxColor"){d[c]=d._parseColor(e)}if(c==="rtl"){d._setRtl();return}if(c==="width"||c==="height"){d._updateSize();return}if(c==="textColor"){if(!(d.minColor&&d.maxColor)){d._updateColor();return}}d._renderTags()},_alterCase:function(d){var c=this;function e(f){return f.replace(/\w\S*/g,function(g){return g.charAt(0).toUpperCase()+g.substr(1).toLowerCase()})}if(c.alterTextCase!=="none"){switch(c.alterTextCase){case"allLower":for(var b=0;b<d.length;b++){d[b][c.displayMember]=d[b][c.displayMember].toString().toLowerCase()}break;case"allUpper":for(b=0;b<d.length;b++){d[b][c.displayMember]=d[b][c.displayMember].toString().toUpperCase()}break;case"firstUpper":for(b=0;b<d.length;b++){d[b][c.displayMember]=d[b][c.displayMember].toString().toLowerCase();d[b][c.displayMember]=d[b][c.displayMember].substr(0,1).toUpperCase()+d[b][c.displayMember].substr(1)}break;case"titleCase":for(b=0;b<d.length;b++){d[b][c.displayMember]=e(d[b][c.displayMember].toString())}break;default:throw new Error("jqxTagCloud: Invalid alterTextCase value. Possible values: 'none', 'allLower', 'allUpper', 'firstUpper', 'titleCase'")}}return d},_addKeyboardSupport:function(){var b=this;b.addHandler(b._el,"keydown",function(c){if(c.keyCode==39){a("a:focus").closest("li").next().find("a").focus();b.focusedItem=document.activeElement}if(c.keyCode==37){a("a:focus").closest("li").prev().find("a").focus();b.focusedItem=document.activeElement}})},_renderTags:function(){var c=this;var f=c.records.slice();a.each(c.records,function(i,j){if(j[c.displayMember]===undefined){throw new Error("jqxTagCloud: 'label' property must be specified for every element.")}});f=c._filter(f);f=c._sort(f);f=c._alterCase(f);c._el.empty();if(f.length===0){return}var h=c._getMaxValue(f);var e=c._getMinValue(f);var g=h-e;for(var b=0;b<f.length;b++){var d=c._prepareTag(f[b],e,g);c._el.append(d);if(c.hiddenList.indexOf(f[b].index)!=-1){d[0].style.display="none"}}c.renderedData=f;c.focusedItem=null},_prepareTag:function(k,q,o){var m=this;if(!o){o=1}var f=a("<li>");var l="";if(null!==m.tagRenderer&&typeof(m.tagRenderer)==="function"){l=m.tagRenderer.apply(m,arguments)}else{l=k[m.displayMember]+(m.displayValue?"("+k[m.valueMember]+")":"")}l=a('<a rel="tag">').append(l);var g="javascript:void(0)";if(undefined!==k[m.urlMember]){g=(m.urlBase!=null?m.urlBase:"")+k[m.urlMember]}l.attr("href",g);f.append(l);f.addClass(m.toThemeProperty("jqx-tag-cloud-item"));var s=+m.minFontSize+((m.maxFontSize-m.minFontSize)*((k[m.valueMember]-q)/o));f[0].style.fontSize=s+m.fontSizeUnit;if(m.minColor&&m.maxColor){var p=m.minColor.split("(")[1].split(")")[0];p=p.split(",");var h=parseInt(p[0]);var j=parseInt(p[1]);var r=parseInt(p[2]);var i=parseFloat(p[3]);p=m.maxColor.split("(")[1].split(")")[0];p=p.split(",");var b=parseInt(p[0]);var e=parseInt(p[1]);var n=parseInt(p[2]);var d=parseFloat(p[3]);h+=Math.floor(((k[m.valueMember]-q)/o)*(b-h));j+=Math.floor(((k[m.valueMember]-q)/o)*(e-j));r+=Math.floor(((k[m.valueMember]-q)/o)*(n-r));i+=((k[m.valueMember]-q)/o)*(d-i);f[0].style.color="rgba("+h+","+j+","+r+","+i+")";f.find("a")[0].style.color="inherit"}else{if(m.textColor!==null){f[0].style.color=m.textColor;f.find("a")[0].style.color="inherit"}}return f},_parseColor:function(e){function k(b){var c={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};if(typeof c[b.toLowerCase()]!="undefined"){return c[b.toLowerCase()]}return false}var f=a("<span>").css("color",e);e=f.css("color");var i,h,d;if(e.substr(0,4)==="rgba"){return e}else{if(e.substr(0,3)==="rgb"){var j=e.split("(")[1].split(")")[0];j=j.split(",");i=parseInt(j[0]);h=parseInt(j[1]);d=parseInt(j[2]);return("rgba("+i+","+h+","+d+",1)")}else{if(e.substr(0,1)==="#"&&e.length===7){i=parseInt(e.substr(1,2),16);h=parseInt(e.substr(3,2),16);d=parseInt(e.substr(5,2),16);return("rgba("+i+","+h+","+d+",1)")}else{if(e.substr(0,1)==="#"&&e.length===4){i=parseInt(e.substr(1,1)+e.substr(1,1),16);h=parseInt(e.substr(2,1)+e.substr(2,1),16);d=parseInt(e.substr(3,1)+e.substr(3,1),16);return("rgba("+i+","+h+","+d+",1)")}else{if(e=k(e)){i=parseInt(e.substr(1,2),16);h=parseInt(e.substr(3,2),16);d=parseInt(e.substr(5,2),16);return("rgba("+i+","+h+","+d+",1)")}}}}}return e},_events:["itemClick","bindingUpdateComplete","bindingComplete"],_raiseEvent:function(d,b){var c=this._events[d],e=a.Event(c);e.args=b;return this.host.trigger(e)},_filter:function(d){var c=this;if(c.minValueToDisplay!=0){for(var b=0;b<d.length;){if(d[b][c.valueMember]<c.minValueToDisplay){d.splice(b,1)}else{b++}}}if(c.maxValueToDisplay!=0){for(var b=0;b<d.length;){if(d[b][c.valueMember]>c.maxValueToDisplay){d.splice(b,1)}else{b++}}}if(c.displayLimit!=null&&!isNaN(c.displayLimit)){if(c.takeTopWeightedItems===true){d.sort(function(f,e){if(f[c.valueMember]<e[c.valueMember]){return 1}if(f[c.valueMember]>e[c.valueMember]){return -1}return 0});d=d.slice(0,c.displayLimit);d.sort(function(f,e){if(f.index<e.index){return -1}if(f.index>e.index){return 1}return 0})}else{d=d.slice(0,c.displayLimit)}}return d},_sort:function(c){var b=this;if(b.sortBy!=="none"){if(b.sortBy==="label"){c.sort(function(e,d){if(e[b.displayMember]<d[b.displayMember]){return -1}if(e[b.displayMember]>d[b.displayMember]){return 1}return 0})}else{if(b.sortBy==="value"){c.sort(function(e,d){if(e[b.valueMember]<d[b.valueMember]){return -1}if(e[b.valueMember]>d[b.valueMember]){return 1}return 0})}else{throw new Error("jqxTagCloud: sortBy option needs to be either 'none' or 'label' or 'value'")}}if(b.sortOrder==="ascending"){return c}else{if(b.sortOrder==="descending"){return c.reverse()}else{throw new Error("jqxTagCloud: sortOrder option needs to be either 'ascending' or 'descending'")}}}return c},_getMaxValue:function(e){var d=this;var b=e[0][d.valueMember];for(var c=0;c<e.length;c++){if(b<e[c][d.valueMember]){b=e[c][d.valueMember]}}return b},_getMinValue:function(e){var d=this;var c=e[0][d.valueMember];for(var b=0;b<e.length;b++){if(c>e[b][d.valueMember]){c=e[b][d.valueMember]}}return c},_setSourceData:function(d){var c=this;c.records=d.records;for(var b=0;b<c.records.length;b++){var e=c.records[b][c.valueMember]!==undefined?parseFloat(c.records[b][c.valueMember]):0;c.records[b][c.valueMember]=isNaN(e)?0:e;c.records[b].index=b}c.hiddenList=[]},_updateColor:function(){var b=this;if(b.textColor){a(b._el).find("li").css("color",b.textColor)}},_updateSize:function(){var b=this;if(b.width){b.host.width(b.width)}if(b.height){b.host.height(b.height)}},_setRtl:function(){var b=this;if(b.rtl){b.host.addClass(b.toThemeProperty("jqx-rtl"))}else{b.host.removeClass(b.toThemeProperty("jqx-rtl"))}}})})(jqxBaseFramework);
 
@@ -182,15 +182,15 @@
 
 (function(a){a.jqx.jqxWidget("jqxTree","",{});a.extend(a.jqx._jqxTree.prototype,{defineInstance:function(){var b={items:new Array(),width:null,height:null,easing:"easeInOutCirc",animationShowDuration:"fast",animationHideDuration:"fast",treeElements:new Array(),disabled:false,itemsMember:"",displayMember:"",valueMember:"",enableHover:true,keyboardNavigation:true,enableKeyboardNavigation:true,toggleMode:"dblclick",source:null,checkboxes:false,checkSize:16,toggleIndicatorSize:18,hasThreeStates:false,selectedItem:null,touchMode:"auto",allowDrag:true,allowDrop:true,searchMode:"startswithignorecase",incrementalSearch:true,incrementalSearchDelay:700,animationHideDelay:0,submitCheckedItems:false,dragStart:null,dragEnd:null,rtl:false,dropAction:"default",events:["expand","collapse","select","initialized","added","removed","checkChange","dragEnd","dragStart","itemClick"],aria:{"aria-activedescendant":{name:"getActiveDescendant",type:"string"},"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxTree.prototype){return b}a.extend(true,this,b);return b},createInstance:function(c){var b=this;this.host.attr("role","tree");this.host.attr("data-role","treeview");this.enableKeyboardNavigation=this.keyboardNavigation;this.propertyChangeMap.disabled=function(f,h,g,i){if(b.disabled){b.host.addClass(b.toThemeProperty("jqx-tree-disabled"))}else{b.host.removeClass(b.toThemeProperty("jqx-tree-disabled"))}a.jqx.aria(b,"aria-disabled",i)};if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.width(this.width)}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.height(this.height)}if(!this.host.attr("tabindex")){this.host.attr("tabIndex",1)}if(this.disabled){this.host.addClass(this.toThemeProperty("jqx-tree-disabled"));a.jqx.aria(this,"aria-disabled",true)}if(this.host.jqxDragDrop){window.jqxTreeDragDrop()}this.originalInnerHTML=this.element.innerHTML;this.createdTree=false;if(this.element.innerHTML.indexOf("UL")){var e=this.host.find("ul:first");if(e.length>0){this.createTree(e[0]);this.createdTree=true}}if(this.source!=null){var d=this.loadItems(this.source);this.element.innerHTML=d;var e=this.host.find("ul:first");if(e.length>0){this.createTree(e[0]);this.createdTree=true}}this._itemslength=this.items.length;if(!this.createdTree){if(this.host.find("ul").length==0){this.host.append(a("<ul></ul>"));var e=this.host.find("ul:first");if(e.length>0){this.createTree(e[0]);this.createdTree=true}this.createdTree=true}}if(this.createdTree==true){this._render();this._handleKeys()}this._updateCheckLayout()},checkItems:function(f,h){var e=this;if(f!=null){var d=0;var g=false;var b=0;var i=a(f.element).find("li");b=i.length;a.each(i,function(j){var k=e.itemMapping["id"+this.id].item;if(k.checked!=false){if(k.checked==null){g=true}d++}});if(f!=h){if(d==b){this.checkItem(f.element,true,"tree")}else{if(d>0){this.checkItem(f.element,null,"tree")}else{this.checkItem(f.element,false,"tree")}}}else{var c=h.checked;var i=a(h.element).find("li");a.each(i,function(){var j=e.itemMapping["id"+this.id].item;e.checkItem(this,c,"tree")})}this.checkItems(this._parentItem(f),h)}else{var c=h.checked;var i=a(h.element).find("li");a.each(i,function(){var j=e.itemMapping["id"+this.id].item;e.checkItem(this,c,"tree")})}},_getMatches:function(e,f){if(e==undefined||e.length==0){return -1}var c=this.items;var b=new Array();for(var d=0;d<c.length;d++){if(this._isVisible(c[d])&&!c[d].disabled){b.push(c[d])}}c=b;if(f!=undefined){c=c.slice(f)}var g=new Array();a.each(c,function(j){var k=this.label;if(!k){k=""}var h=a.jqx.string.startsWithIgnoreCase(k.toString(),e);if(h){g.push({id:this.id,element:this.element})}});return g},_handleKeys:function(){var b=this;this.addHandler(this.host,"keydown",function(d){var s=d.keyCode;if(b.keyboardNavigation||b.enableKeyboardNavigation){if(b.selectedItem!=null){var l=b.selectedItem.element;if(b.incrementalSearch&&(!(s>=33&&s<=40))){var t=-1;if(!b._searchString){b._searchString=""}if((s==8||s==46)&&b._searchString.length>=1){b._searchString=b._searchString.substr(0,b._searchString.length-1)}var h=String.fromCharCode(s);var o=(!isNaN(parseInt(h)));var n=false;if((s>=65&&s<=97)||o||s==8||s==32||s==46){if(!d.shiftKey){h=h.toLocaleLowerCase()}if(s!=8&&s!=32&&s!=46){if(!(b._searchString.length>0&&b._searchString.substr(0,1)==h)){b._searchString+=h}}if(s==32){b._searchString+=" "}b._searchTime=new Date();var r=b.selectedItem;if(r){var g=r.id;var m=-1;for(var k=0;k<b.items.length;k++){if(b.items[k].id==g){m=k+1;break}}var f=b._getMatches(b._searchString,m);if(f.length==0||(f.length>0&&f[0].id==g)){var f=b._getMatches(b._searchString)}}else{var f=b._getMatches(b._searchString)}if(f.length>0){var r=b.selectedItem;if(b.selectedItem&&b.selectedItem.id!=f[0].id){b.clearSelection();b.selectItem(f[0].element,"keyboard")}b._lastSearchString=b._searchString}}if(b._searchTimer!=undefined){clearTimeout(b._searchTimer)}if(s==27||s==13){b._searchString="";b._lastSearchString=""}b._searchTimer=setTimeout(function(){b._searchString="";b._lastSearchString=""},500);if(t>=0){return}if(n){return false}}switch(s){case 32:if(b.checkboxes){b.fromKey=true;var q=a(b.selectedItem.checkBoxElement).jqxCheckBox("checked");b.checkItem(b.selectedItem.element,!q,"tree");if(b.hasThreeStates){b.checkItems(b.selectedItem,b.selectedItem)}return false}return true;case 33:var j=b._getItemsOnPage();var p=b.selectedItem;for(var k=0;k<j;k++){p=b._prevVisibleItem(p)}if(p!=null){b.selectItem(p.element,"keyboard");b.ensureVisible(p.element)}else{b.selectItem(b._firstItem().element,"keyboard");b.ensureVisible(b._firstItem().element)}return false;case 34:var j=b._getItemsOnPage();var c=b.selectedItem;for(var k=0;k<j;k++){c=b._nextVisibleItem(c)}if(c!=null){b.selectItem(c.element,"keyboard");b.ensureVisible(c.element)}else{b.selectItem(b._lastItem().element,"keyboard");b.ensureVisible(b._lastItem().element)}return false;case 37:case 39:if((s==37&&!b.rtl)||(s==39&&b.rtl)){if(b.selectedItem.hasItems&&b.selectedItem.isExpanded){b.collapseItem(l)}else{var e=b._parentItem(b.selectedItem);if(e!=null){b.selectItem(e.element,"keyboard");b.ensureVisible(e.element)}}}if((s==39&&!b.rtl)||(s==37&&b.rtl)){if(b.selectedItem.hasItems){if(!b.selectedItem.isExpanded){b.expandItem(l)}else{var c=b._nextVisibleItem(b.selectedItem);if(c!=null){b.selectItem(c.element,"keyboard");b.ensureVisible(c.element)}}}}return false;case 13:if(b.selectedItem.hasItems){if(b.selectedItem.isExpanded){b.collapseItem(l)}else{b.expandItem(l)}}return false;case 36:b.selectItem(b._firstItem().element,"keyboard");b.ensureVisible(b._firstItem().element);return false;case 35:b.selectItem(b._lastItem().element,"keyboard");b.ensureVisible(b._lastItem().element);return false;case 38:var p=b._prevVisibleItem(b.selectedItem);if(p!=null){b.selectItem(p.element,"keyboard");b.ensureVisible(p.element)}return false;case 40:var c=b._nextVisibleItem(b.selectedItem);if(c!=null){b.selectItem(c.element,"keyboard");b.ensureVisible(c.element)}return false}}}})},_firstItem:function(){var e=null;var d=this;var g=this.host.find("ul:first");var f=a(g).find("li");for(var c=0;c<=f.length-1;c++){var b=f[c];e=this.itemMapping["id"+b.id].item;if(d._isVisible(e)){return e}}return null},_lastItem:function(){var e=null;var d=this;var g=this.host.find("ul:first");var f=a(g).find("li");for(var c=f.length-1;c>=0;c--){var b=f[c];e=this.itemMapping["id"+b.id].item;if(d._isVisible(e)){return e}}return null},_parentItem:function(d){if(d==null||d==undefined){return null}var c=d.parentElement;if(!c){return null}var b=null;a.each(this.items,function(){if(this.element==c){b=this;return false}});return b},_nextVisibleItem:function(c){if(c==null||c==undefined){return null}var b=c;while(b!=null){b=b.nextItem;if(this._isVisible(b)&&!b.disabled){return b}}return null},_prevVisibleItem:function(c){if(c==null||c==undefined){return null}var b=c;while(b!=null){b=b.prevItem;if(this._isVisible(b)&&!b.disabled){return b}}return null},_isVisible:function(c){if(c==null||c==undefined){return false}if(!this._isElementVisible(c.element)){return false}var b=this._parentItem(c);if(b==null){return true}if(b!=null){if(!this._isElementVisible(b.element)){return false}if(b.isExpanded){while(b!=null){b=this._parentItem(b);if(b!=null&&!this._isElementVisible(b.element)){return false}if(b!=null&&!b.isExpanded){return false}}}else{return false}}return true},_getItemsOnPage:function(){var d=0;var c=this.panel.jqxPanel("getVScrollPosition");var b=parseInt(this.host.height());var f=0;var e=this._firstItem();if(parseInt(a(e.element).height())>0){while(f<=b){f+=parseInt(a(e.element).outerHeight());d++}}return d},_isElementVisible:function(b){if(b==null){return false}if(a(b).css("display")!="none"&&a(b).css("visibility")!="hidden"){return true}return false},refresh:function(c){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}if(this.panel){if(this.width!=null&&this.width.toString().indexOf("%")!=-1){var b=this;this.panel.jqxPanel("width","100%");b.removeHandler(a(window),"resize.jqxtree"+b.element.id);b.addHandler(a(window),"resize.jqxtree"+b.element.id,function(){b._calculateWidth()})}else{this.panel.jqxPanel("width",this.host.width())}this.panel.jqxPanel("_arrange")}this._calculateWidth();if(a.jqx.isHidden(this.host)){var b=this;if(this._hiddenTimer){clearInterval(this._hiddenTimer)}this._hiddenTimer=setInterval(function(){if(!a.jqx.isHidden(b.host)){clearInterval(b._hiddenTimer);b._calculateWidth()}},100)}if(c!=true){if(this.checkboxes){this._updateCheckLayout(null)}}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},loadItems:function(c){if(c==null){return}var b=this;this.items=new Array();var d="<ul>";a.map(c,function(e){if(e==undefined){return null}d+=b._parseItem(e)});d+="</ul>";return d},_parseItem:function(m){var g="";if(m==undefined){return null}var j=m.label;var l=m.value;if(!m.label&&m.html){j=m.html}if(this.displayMember!=undefined&&this.displayMember!=""){j=m[this.displayMember]}if(this.valueMember!=undefined&&this.valueMember!=""){l=m[this.valueMember]}if(!j){j="Item"}if(typeof m==="string"){j=m}var h=false;if(m.expanded!=undefined&&m.expanded){h=true}var f=false;if(m.locked!=undefined&&m.locked){f=true}var d=false;if(m.selected!=undefined&&m.selected){d=true}var e=false;if(m.disabled!=undefined&&m.disabled){e=true}var k=false;if(m.checked!=undefined&&m.checked){k=true}var i=m.icon;var c=m.iconsize;g+="<li";if(h){g+=' item-expanded="true" '}if(f){g+=' item-locked="true" '}if(e){g+=' item-disabled="true" '}if(d){g+=' item-selected="true" '}if(c){g+=' item-iconsize="'+m.iconsize+'" '}if(i!=null&&i!=undefined){g+=' item-icon="'+i+'" '}if(m.label&&!m.html){g+=' item-label="'+j+'" '}if(l!=null){g+=' item-value="'+l+'" '}if(m.checked!=undefined){g+=' item-checked="'+k+'" '}var b="";if(m.id!=undefined){b=m.id;g+=' id="'+b+'" '}else{b=this.createID();g+=' id="'+b+'" '}g+=">"+j;if(m.items){g+=this.loadItems(m.items)}else{if(this.itemsMember!=undefined&&this.itemsMember!=""){if(m[this.itemsMember]){g+=this.loadItems(m[this.itemsMember])}}}if(!this._valueList){this._valueList=new Array()}this._valueList[b]=m.value;g+="</li>";return g},ensureVisible:function(f){if(f==null||f==undefined){return}if(this.panel){var c=this.panel.jqxPanel("getVScrollPosition");var g=this.panel.jqxPanel("getHScrollPosition");var b=parseInt(this.host.height());var e=a(f).find(".jqx-tree-item:first");var h=a(e).position().top;if(c===0&&h===0){return}var d=this.panel.jqxPanel("hScrollBar").outerHeight();if(h<=c||h>=b+c){this.panel.jqxPanel("scrollTo",g,h-b+a(e).outerHeight()+d)}}},_syncItems:function(c){this._visibleItems=new Array();var b=this;a.each(c,function(){var e=a(this);if(e.css("display")!="none"){var d=e.outerHeight();if(e.height()>0){var f=parseInt(e.offset().top);b._visibleItems[b._visibleItems.length]={element:this,top:f,height:d,bottom:f+d}}}})},hitTest:function(h,g){var d=this;var b=this;var f=null;var e=this.host.find(".jqx-item");this._syncItems(e);if(b._visibleItems){var c=parseInt(b.host.offset().left);var i=b.host.outerWidth();a.each(b._visibleItems,function(k){if(h>=c&&h<c+i){if(this.top+5<g&&g<this.top+this.height){var j=a(this.element).parents("li:first");if(j.length>0){f=b.getItem(j[0]);if(f!=null){f.height=this.height;f.top=this.top;return false}}}}})}return f},addBefore:function(b,d,c){return this.addBeforeAfter(b,d,true,c)},addAfter:function(b,d,c){return this.addBeforeAfter(b,d,false,c)},addBeforeAfter:function(n,q,p,m){var k=this;var l=new Array();if(q&&q.treeInstance!=undefined){q=q.element}if(!a.isArray(n)){l[0]=n}else{l=n}var g="";var o=this;a.each(l,function(){g+=o._parseItem(this)});var b=a(g);if(k.element.innerHTML.indexOf("UL")){var h=k.host.find("ul:first")}if(q==undefined&&q==null){h.append(b)}else{if(p){a(q).before(b)}else{a(q).after(b)}}var d=b;for(var i=0;i<d.length;i++){this._createItem(d[i]);var c=a(d[i]).find("li");if(c.length>0){for(var f=0;f<c.length;f++){this._createItem(c[f])}}}var e=function(j){o._refreshMapping(false);o._updateItemsNavigation();if(j&&o.allowDrag&&o._enableDragDrop){o._enableDragDrop()}if(o.selectedItem!=null){a(o.selectedItem.titleElement).addClass(o.toThemeProperty("jqx-fill-state-pressed"));a(o.selectedItem.titleElement).addClass(o.toThemeProperty("jqx-tree-item-selected"))}};if(m==false){e(true);this._raiseEvent("4",{items:this.getItems()});return}e(false);o._render();this._raiseEvent("4",{items:this.getItems()});if(o.checkboxes){o._updateCheckLayout(null)}},addTo:function(n,g,f){var b=this;var i=new Array();if(g&&g.treeInstance!=undefined){g=g.element}if(!a.isArray(n)){i[0]=n}else{i=n}var m="";var t=this;a.each(i,function(){m+=t._parseItem(this)});var c=a(m);if(b.element.innerHTML.indexOf("UL")){var q=b.host.find("ul:first")}if(g==undefined&&g==null){q.append(c)}else{g=a(g);var k=g.find("ul:first");if(k.length==0){var s=a("<ul></ul>");a(g).append(s);k=g.find("ul:first");var r=b.itemMapping["id"+g[0].id].item;r.subtreeElement=k[0];r.hasItems=true;k.addClass(b.toThemeProperty("jqx-tree-dropdown"));if(t.rtl){k.addClass(b.toThemeProperty("jqx-tree-dropdown-rtl"))}k.append(c);var d=k.find("li:first");r.parentElement=d}else{k.append(c)}}var p=c;for(var h=0;h<p.length;h++){this._createItem(p[h]);var e=a(p[h]).find("li");if(e.length>0){for(var o=0;o<e.length;o++){this._createItem(e[o])}}}var l=function(j){t._refreshMapping(false);t._updateItemsNavigation();if(j&&t.allowDrag&&t._enableDragDrop){t._enableDragDrop()}if(t.selectedItem!=null){a(t.selectedItem.titleElement).addClass(t.toThemeProperty("jqx-fill-state-pressed"));a(t.selectedItem.titleElement).addClass(t.toThemeProperty("jqx-tree-item-selected"))}};if(f==false){l(true);this._raiseEvent("4",{items:this.getItems()});return}l(false);t._render();if(t.checkboxes){t._updateCheckLayout(null)}this._raiseEvent("4",{items:this.getItems()})},updateItem:function(e,i){var h=e.treeInstance!=undefined?e:this.getItem(e);if(!h){var d=e;e=i;i=d;var h=e.treeInstance!=undefined?e:this.getItem(e)}if(h){if(typeof(i)==="string"){i={label:i}}if(i.value){h.value=i.value}if(i.label){h.label=i.label;a.jqx.utilities.html(a(h.titleElement),i.label);var b=a.jqx.browser.msie&&a.jqx.browser.version<8;if(b){a(document.body).append(this._measureItem);this._measureItem.html(a(h.titleElement).text());var g=this._measureItem.width();if(h.icon){g+=20}if(a(a(h.titleElement).find("img")).length>0){g+=20}a(h.titleElement).css("max-width",g+"px");this._measureItem.remove()}}if(i.icon){if(a(h.element).children(".itemicon").length>0){a(h.element).find(".itemicon")[0].src=i.icon}else{var c=i.iconsize;if(!c){c=16}var f=a('<img width="'+c+'" height="'+c+'" style="float: left;" class="itemicon" src="'+i.icon+'"/>');a(h.titleElement).prepend(f);f.css("margin-right","6px");if(this.rtl){f.css("margin-right","0px");f.css("margin-left","6px");f.css("float","right")}}}if(i.expanded){this.expandItem(h)}if(i.disabled){this.disableItem(h)}if(i.selected){this.selectItem(h)}return true}return false},removeItem:function(b,d){if(b==undefined||b==null){return}if(b.treeInstance!=undefined){b=b.element}var e=this;var h=b.id;var c=-1;var f=this.getItem(b);if(f){c=this.items.indexOf(f);if(c!=-1){(function g(p){var n=-1;n=this.items.indexOf(p);if(n!=-1){this.items.splice(n,1)}var k=a(p.element).find("li");var j=k.length;var o=this;var l=new Array();if(j>0){a.each(k,function(i){var q=o.itemMapping["id"+this.id].item;l.push(q)});for(var m=0;m<l.length;m++){g.apply(this,[l[m]])}}}).apply(this,[f])}}if(this.host.find("#"+b.id).length>0){a(b).remove()}if(d==false){this._raiseEvent("5");return}e._updateItemsNavigation();if(e.allowDrag&&e._enableDragDrop){e._render(true,false)}else{e._render()}if(e.selectedItem!=null){if(e.selectedItem.element==b){a(e.selectedItem.titleElement).removeClass(e.toThemeProperty("jqx-fill-state-pressed"));a(e.selectedItem.titleElement).removeClass(e.toThemeProperty("jqx-tree-item-selected"));e.selectedItem=null}}this._raiseEvent("5");if(e.checkboxes){e._updateCheckLayout(null)}},clear:function(){this.items=new Array();this.itemMapping=new Array();var b=this.host.find("ul:first");if(b.length>0){b[0].innerHTML=""}this.selectedItem=null},disableItem:function(b){if(b==null){return false}if(b.treeInstance!=undefined){b=b.element}var c=this;a.each(c.items,function(){var d=this;if(d.element==b){d.disabled=true;a(d.titleElement).addClass(c.toThemeProperty("jqx-fill-state-disabled"));a(d.titleElement).addClass(c.toThemeProperty("jqx-tree-item-disabled"));if(c.checkboxes&&d.checkBoxElement){a(d.checkBoxElement).jqxCheckBox({disabled:true})}return false}})},_updateInputSelection:function(){if(this.input){if(this.selectedItem==null){this.input.val("")}else{var c=this.selectItem.value;if(c==null){c=this.selectedItem.label}this.input.val(c)}if(this.checkboxes){var b=this.getCheckedItems();if(this.submitCheckedItems){var f="";for(var d=0;d<b.length;d++){var e=b[d].value;if(e==null){e=b[d].label}if(d==b.length-1){f+=e}else{f+=e+","}}this.input.val(f)}}}},getCheckedItems:function(){var b=new Array();var c=this;a.each(c.items,function(){var d=this;if(d.checked){b.push(d)}});return b},getUncheckedItems:function(){var b=new Array();var c=this;a.each(c.items,function(){var d=this;if(!d.checked){b.push(d)}});return b},checkAll:function(){var b=this;a.each(b.items,function(){var c=this;if(!c.disabled){c.checked=true;a(c.checkBoxElement).jqxCheckBox("_setState",true)}});this._raiseEvent("6",{element:this,checked:true})},uncheckAll:function(){var b=this;a.each(b.items,function(){var c=this;if(!c.disabled){c.checked=false;a(c.checkBoxElement).jqxCheckBox("_setState",false)}});this._raiseEvent("6",{element:this,checked:false})},checkItem:function(d,f,b){if(d==null){return false}if(f===undefined){f=true}if(d.treeInstance!=undefined){d=d.element}var e=this;var c=false;var g=null;a.each(e.items,function(){var h=this;if(h.element==d&&!h.disabled){c=true;h.checked=f;g=h;a(h.checkBoxElement).jqxCheckBox({checked:f});return false}});if(c){this._raiseEvent("6",{element:d,checked:f});this._updateInputSelection()}if(b==undefined){if(g){if(this.hasThreeStates){this.checkItems(g,g)}}}},uncheckItem:function(b){this.checkItem(b,false)},enableItem:function(b){if(b==null){return false}if(b.treeInstance!=undefined){b=b.element}var c=this;a.each(c.items,function(){var d=this;if(d.element==b){d.disabled=false;a(d.titleElement).removeClass(c.toThemeProperty("jqx-fill-state-disabled"));a(d.titleElement).removeClass(c.toThemeProperty("jqx-tree-item-disabled"));if(c.checkboxes&&d.checkBoxElement){a(d.checkBoxElement).jqxCheckBox({disabled:false})}return false}})},enableAll:function(){var b=this;a.each(b.items,function(){var c=this;c.disabled=false;a(c.titleElement).removeClass(b.toThemeProperty("jqx-tree-item-disabled"));a(c.titleElement).removeClass(b.toThemeProperty("jqx-fill-state-disabled"));if(b.checkboxes&&c.checkBoxElement){a(c.checkBoxElement).jqxCheckBox({disabled:false})}})},lockItem:function(b){if(b==null){return false}var c=this;a.each(c.items,function(){var d=this;if(d.element==b){d.locked=true;return false}})},unlockItem:function(b){if(b==null){return false}var c=this;a.each(c.items,function(){var d=this;if(d.element==b){d.locked=false;return false}})},getItems:function(){return this.items},getItem:function(b){if(b==null||b==undefined){return null}if(this.itemMapping["id"+b.id]){var c=this.itemMapping["id"+b.id].item;return c}return null},isExpanded:function(b){if(b==null||b==undefined){return false}var c=this.itemMapping["id"+b.id].item;if(c!=null){return c.isExpanded}return false},isSelected:function(b){if(b==null||b==undefined){return false}var c=this.itemMapping["id"+b.id].item;if(c!=null){return c==this.selectedItem}return false},getPrevItem:function(c){var d=this.getItem(c);if(c.treeInstance!=undefined){d=c}var b=this._prevVisibleItem(d);return b},getNextItem:function(c){var d=this.getItem(c);if(c.treeInstance!=undefined){d=c}var b=this._nextVisibleItem(d);return b},getSelectedItem:function(b){return this.selectedItem},val:function(d){if(arguments.length==0||typeof(d)=="object"){return this.selectedItem}if(typeof d=="string"){var b=this.host.find("#"+d);if(b.length>0){var c=this.getItem(b[0]);this.selectItem(c)}}else{var c=this.getItem(d);this.selectItem(c)}},getActiveDescendant:function(){if(this.selectedItem){return this.selectedItem.element.id}return""},clearSelection:function(){this.selectItem(null)},selectItem:function(b,c){if(this.disabled){return}var d=this;if(b&&b.treeInstance!=undefined){b=b.element}if(b==null||b==undefined){if(d.selectedItem!=null){a(d.selectedItem.titleElement).removeClass(d.toThemeProperty("jqx-fill-state-pressed"));a(d.selectedItem.titleElement).removeClass(d.toThemeProperty("jqx-tree-item-selected"));d.selectedItem=null}return}if(this.selectedItem!=null&&this.selectedItem.element==b){return}var e=this.selectedItem!=null?this.selectedItem.element:null;if(e){a(e).removeAttr("aria-selected")}a.each(d.items,function(){var f=this;this.selected=false;if(!f.disabled){if(f.element==b){if(d.selectedItem==null||(d.selectedItem!=null&&d.selectedItem.titleElement!=f.titleElement)){if(d.selectedItem!=null){a(d.selectedItem.titleElement).removeClass(d.toThemeProperty("jqx-fill-state-pressed"));a(d.selectedItem.titleElement).removeClass(d.toThemeProperty("jqx-tree-item-selected"))}a(f.titleElement).addClass(d.toThemeProperty("jqx-fill-state-pressed"));a(f.titleElement).addClass(d.toThemeProperty("jqx-tree-item-selected"));d.selectedItem=f;this.selected=true;a(f.element).attr("aria-selected","true");a.jqx.aria(d,"aria-activedescendant",f.element.id)}}}});this._updateInputSelection();if(!c){c=null}this._raiseEvent("2",{element:b,prevElement:e,type:c})},collapseAll:function(){this.isUpdating=true;var d=this;var b=d.items;var c=this.animationHideDuration;this.animationHideDuration=0;a.each(b,function(){var e=this;if(e.isExpanded==true){d._collapseItem(d,e)}});setTimeout(function(){d.isUpdating=false;d._calculateWidth()},this.animationHideDuration);this.animationHideDuration=c},expandAll:function(){var c=this;this.isUpdating=true;var b=this.animationShowDuration;this.animationShowDuration=0;a.each(this.items,function(){var d=this;if(d.hasItems){c._expandItem(c,d)}});setTimeout(function(){c.isUpdating=false;c._calculateWidth()},this.animationShowDuration);this.animationShowDuration=b},collapseItem:function(b){if(b==null){return false}if(b.treeInstance!=undefined){b=b.element}var c=this;a.each(this.items,function(){var d=this;if(d.isExpanded==true&&d.element==b){c._collapseItem(c,d);return false}});return true},expandItem:function(b){if(b==null){return false}if(b.treeInstance!=undefined){b=b.element}var c=this;a.each(c.items,function(){var d=this;if(d.isExpanded==false&&d.element==b&&!d.disabled&&!d.locked){c._expandItem(c,d);if(d.parentElement){c.expandItem(d.parentElement)}}});return true},_getClosedSubtreeOffset:function(c){var b=a(c.subtreeElement);var e=-b.outerHeight();var d=-b.outerWidth();d=0;return{left:d,top:e}},_collapseItem:function(g,k,d,b){if(g==null||k==null){return false}if(k.disabled){return false}if(g.disabled){return false}if(g.locked){return false}var e=a(k.subtreeElement);var l=this._getClosedSubtreeOffset(k);var h=l.top;var c=l.left;var j=a(k.element);var f=g.animationHideDelay;f=0;if(e.data("timer").show!=null){clearTimeout(e.data("timer").show);e.data("timer").show=null}var i=function(){k.isExpanded=false;if(g.checkboxes){var n=e.find(".chkbox");n.stop();n.css("opacity",1);e.find(".chkbox").animate({opacity:0},50)}var m=a(k.arrow);g._arrowStyle(m,"",k.isExpanded);e.slideUp(g.animationHideDuration,function(){k.isCollapsing=false;g._calculateWidth();var o=a(k.arrow);g._arrowStyle(o,"",k.isExpanded);e.hide();g._raiseEvent("1",{element:k.element})})};if(f>0){e.data("timer").hide=setTimeout(function(){i()},f)}else{i()}},_expandItem:function(g,j){if(g==null||j==null){return false}if(j.isExpanded){return false}if(j.locked){return false}if(j.disabled){return false}if(g.disabled){return false}var e=a(j.subtreeElement);if((e.data("timer"))!=null&&e.data("timer").hide!=null){clearTimeout(e.data("timer").hide)}var i=a(j.element);var h=0;var d=0;if(parseInt(e.css("top"))==h){j.isExpanded=true;return}var c=a(j.arrow);g._arrowStyle(c,"",j.isExpanded);if(g.checkboxes){var f=e.find(".chkbox");f.stop();f.css("opacity",0);f.animate({opacity:1},g.animationShowDuration)}var c=a(j.arrow);g._arrowStyle(c,"",true);e.slideDown(g.animationShowDuration,g.easing,function(){var k=a(j.arrow);j.isExpanded=true;g._arrowStyle(k,"",j.isExpanded);j.isExpanding=false;g._raiseEvent("0",{element:j.element});g._calculateWidth()});if(g.checkboxes){g._updateCheckItemLayout(j);if(j.subtreeElement){var b=a(j.subtreeElement).find("li");a.each(b,function(){var k=g.getItem(this);if(k!=null){g._updateCheckItemLayout(k)}})}}},_calculateWidth:function(){var f=this;var g=this.checkboxes?20:0;var e=0;if(this.isUpdating){return}a.each(this.items,function(){var h=a(this.element).height();if(h!=0){var k=a(this.titleElement).outerWidth()+10+g+(1+this.level)*20;e=Math.max(e,k);if(this.hasItems){var i=parseInt(a(this.titleElement).css("padding-top"));if(isNaN(i)){i=0}i=i*2;i+=2;var j=(i+a(this.titleElement).height())/2-17/2;if(a.jqx.browser.msie&&a.jqx.browser.version<9){a(this.arrow).css("margin-top","3px")}else{if(parseInt(j)>=0){a(this.arrow).css("margin-top",parseInt(j)+"px")}}}}});if(this.toggleIndicatorSize>16){e=e+this.toggleIndicatorSize-16}if(f.panel){if(e>this.host.width()){var b=e-this.host.width();var d=f.panel.jqxPanel("vScrollBar").css("visibility")!=="hidden"?10:0;b+=d;f.panel.jqxPanel({horizontalScrollBarMax:b})}else{f.panel.jqxPanel({horizontalScrollBarMax:0})}}this.host.find("ul:first").width(e);var c=this.host.width()-30;if(c>0){this.host.find("ul:first").css("min-width",c)}if(f.panel){f.panel.jqxPanel("_arrange")}},_arrowStyle:function(c,h,b){var e=this;if(c.length>0){c.removeClass();var g="";if(h=="hover"){g="-"+h}var f=b?"-expand":"-collapse";var d="jqx-tree-item-arrow"+f+g;c.addClass(e.toThemeProperty(d));if(!this.rtl){var f=!b?"-right":"-down";c.addClass(e.toThemeProperty("jqx-icon-arrow"+f+""))}if(this.rtl){c.addClass(e.toThemeProperty(d+"-rtl"));var f=!b?"-left":"-down";c.addClass(e.toThemeProperty("jqx-icon-arrow"+f+""))}}},_initialize:function(f,c){var e=this;var d=0;this.host.addClass(e.toThemeProperty("jqx-widget"));this.host.addClass(e.toThemeProperty("jqx-widget-content"));this.host.addClass(e.toThemeProperty("jqx-tree"));this._updateDisabledState();var b=a.jqx.browser.msie&&a.jqx.browser.version<8;a.each(this.items,function(){var m=this;var g=a(m.element);var k=null;if(e.checkboxes&&!m.hasItems&&m.checkBoxElement){a(m.checkBoxElement).css("margin-left","0px")}if(!b){if(!m.hasItems){if(!e.rtl){m.element.style.marginLeft=parseInt(e.toggleIndicatorSize)+"px"}else{m.element.style.marginRight=parseInt(e.toggleIndicatorSize)+"px"}var j=a(m.arrow);if(j.length>0){j.remove();m.arrow=null}return true}else{if(!e.rtl){m.element.style.marginLeft="0px"}else{m.element.style.marginRight="0px"}}}else{if(!m.hasItems&&a(m.element).find("ul").length>0){a(m.element).find("ul").remove()}}var j=a(m.arrow);if(j.length>0){j.remove()}var k=a('<span style="height: 17px; border: none; background-color: transparent;" id="arrow'+g[0].id+'"></span>');k.prependTo(g);if(!e.rtl){k.css("float","left")}else{k.css("float","right")}k.css("clear","both");k.width(e.toggleIndicatorSize);e._arrowStyle(k,"",m.isExpanded);var l=parseInt(a(this.titleElement).css("padding-top"));if(isNaN(l)){l=0}l=l*2;l+=2;var n=(l+a(this.titleElement).height())/2-17/2;if(a.jqx.browser.msie&&a.jqx.browser.version<9){k.css("margin-top","3px")}else{if(parseInt(n)>=0){k.css("margin-top",parseInt(n)+"px")}}g.addClass(e.toThemeProperty("jqx-disableselect"));k.addClass(e.toThemeProperty("jqx-disableselect"));var h="click";var i=e.isTouchDevice();if(i){h=a.jqx.mobile.getTouchEventName("touchend")}e.addHandler(k,h,function(){if(!m.isExpanded){e._expandItem(e,m)}else{e._collapseItem(e,m)}return false});e.addHandler(k,"selectstart",function(){return false});e.addHandler(k,"mouseup",function(){if(!i){return false}});m.hasItems=a(m.element).find("li").length>0;m.arrow=k[0];if(!m.hasItems){k.css("visibility","hidden")}g.css("float","none")})},_getOffset:function(b){var f=a(window).scrollTop();var h=a(window).scrollLeft();var c=a.jqx.mobile.isSafariMobileBrowser();var g=a(b).offset();var e=g.top;var d=g.left;if(c!=null&&c){return{left:d-h,top:e-f}}else{return a(b).offset()}},_renderHover:function(c,e,b){var d=this;if(!b){var f=a(e.titleElement);d.addHandler(f,"mouseenter",function(){if(!e.disabled&&d.enableHover&&!d.disabled){f.addClass(d.toThemeProperty("jqx-fill-state-hover"));f.addClass(d.toThemeProperty("jqx-tree-item-hover"))}});d.addHandler(f,"mouseleave",function(){if(!e.disabled&&d.enableHover&&!d.disabled){f.removeClass(d.toThemeProperty("jqx-fill-state-hover"));f.removeClass(d.toThemeProperty("jqx-tree-item-hover"))}})}},_updateDisabledState:function(){if(this.disabled){this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}},_addInput:function(){if(this.input==null){var b=this.host.attr("name");if(b){this.host.attr("name","")}this.input=a("<input type='hidden'/>");this.host.append(this.input);this.input.attr("name",b);this._updateInputSelection()}},render:function(){this._updateItemsNavigation();this._render()},_render:function(f,i){if(a.jqx.browser.msie&&a.jqx.browser.version<8){var g=this;a.each(this.items,function(){var m=a(this.element);var o=m.parent();var l=parseInt(this.titleElement.css("margin-left"))+this.titleElement[0].scrollWidth+13;m.css("min-width",l);var n=parseInt(o.css("min-width"));if(isNaN(n)){n=0}var k=m.css("min-width");if(n<parseInt(m.css("min-width"))){o.css("min-width",k)}this.titleElement[0].style.width=null})}var h=1000;var c=[5,5];var g=this;a.data(g.element,"animationHideDelay",g.animationHideDelay);a.data(document.body,"treeel",this);this._initialize();var d=this.isTouchDevice();if(d&&this.toggleMode=="dblclick"){this.toggleMode="click"}if(f==undefined||f==true){a.each(this.items,function(){g._updateItemEvents(g,this)})}if(this.allowDrag&&this._enableDragDrop&&(i==undefined||i==true)){this._enableDragDrop()}this._addInput();if(this.host.jqxPanel){if(this.host.find("#panel"+this.element.id).length>0){this.panel.jqxPanel({touchMode:this.touchMode});this.panel.jqxPanel("refresh");return}this.host.find("ul:first").wrap('<div style="background-color: transparent; overflow: hidden; width: 100%; height: 100%;" id="panel'+this.element.id+'"></div>');var b=this.host.find("div:first");var j="fixed";if(this.height==null||this.height=="auto"){j="verticalwrap"}if(this.width==null||this.width=="auto"){if(j=="fixed"){j="horizontalwrap"}else{j="wrap"}}b.jqxPanel({rtl:this.rtl,theme:this.theme,width:"100%",height:"100%",touchMode:this.touchMode,sizeMode:j});if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.jqxPanel("content").css("left","0px")}b.data({nestedWidget:true});if(this.height==null||(this.height!=null&&this.height.toString().indexOf("%")!=-1)){if(this.isTouchDevice()){this.removeHandler(b,a.jqx.mobile.getTouchEventName("touchend")+".touchScroll touchcancel.touchScroll");this.removeHandler(b,a.jqx.mobile.getTouchEventName("touchmove")+".touchScroll");this.removeHandler(b,a.jqx.mobile.getTouchEventName("touchstart")+".touchScroll")}}var e=a.data(b[0],"jqxPanel").instance;if(e!=null){this.vScrollInstance=e.vScrollInstance;this.hScrollInstance=e.hScrollInstance}this.panelInstance=e;if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.host.attr("hideFocus",true);this.host.find("div").attr("hideFocus",true);this.host.find("ul").attr("hideFocus",true)}b[0].className="";this.panel=b}this._raiseEvent("3",this)},focus:function(){try{this.host.focus()}catch(b){}},_updateItemEvents:function(h,j){var b=this.isTouchDevice();if(b){this.toggleMode=a.jqx.mobile.getTouchEventName("touchend")}var i=a(j.element);if(h.enableRoundedCorners){i.addClass(h.toThemeProperty("jqx-rc-all"))}var e=!b?"mousedown":a.jqx.mobile.getTouchEventName("touchend");if(h.touchMode===true){h.removeHandler(a(j.checkBoxElement),"mousedown")}h.removeHandler(a(j.checkBoxElement),e);h.addHandler(a(j.checkBoxElement),e,function(k){if(!h.disabled){if(!this.treeItem.disabled){this.treeItem.checked=!this.treeItem.checked;h.checkItem(this.treeItem.element,this.treeItem.checked,"tree");if(h.hasThreeStates){h.checkItems(this.treeItem,this.treeItem)}}}return false});var c=a(j.titleElement);h.removeHandler(i);var f=this.allowDrag&&this._enableDragDrop;if(!f){h.removeHandler(c)}else{h.removeHandler(c,"mousedown.item");h.removeHandler(c,"click");h.removeHandler(c,"dblclick");h.removeHandler(c,"mouseenter");h.removeHandler(c,"mouseleave")}h._renderHover(i,j,b);var d=a(j.subtreeElement);if(d.length>0){var g=j.isExpanded?"block":"none";d.css({overflow:"hidden",display:g});d.data("timer",{})}h.addHandler(c,"selectstart",function(k){return false});if(a.jqx.browser.opera){h.addHandler(c,"mousedown.item",function(k){return false})}if(h.toggleMode!="click"){h.addHandler(c,"click",function(k){h.selectItem(j.element,"mouse");if(h.panel!=null){h.panel.jqxPanel({focused:true})}c.focus();h._raiseEvent("9",{element:j.element})})}h.addHandler(c,h.toggleMode,function(k){if(d.length>0){clearTimeout(d.data("timer").hide)}if(h.panel!=null){h.panel.jqxPanel({focused:true})}h.selectItem(j.element,"mouse");if(j.isExpanding==undefined){j.isExpanding=false}if(j.isCollapsing==undefined){j.isCollapsing=false}if(d.length>0){if(!j.isExpanded){if(false==j.isExpanding){j.isExpanding=true;h._expandItem(h,j)}}else{if(false==j.isCollapsing){j.isCollapsing=true;h._collapseItem(h,j,true)}}return false}})},isTouchDevice:function(){if(this._isTouchDevice!=undefined){return this._isTouchDevice}var b=a.jqx.mobile.isTouchDevice();if(this.touchMode==true){b=true}else{if(this.touchMode==false){b=false}}this._isTouchDevice=b;return b},createID:function(){return a.jqx.utilities.createId()},createTree:function(b){if(b==null){return}var d=this;var f=a(b).find("li");var c=0;this.items=new Array();this.itemMapping=new Array();a(b).addClass(d.toThemeProperty("jqx-tree-dropdown-root"));if(this.rtl){a(b).addClass(d.toThemeProperty("jqx-tree-dropdown-root-rtl"))}if(this.rtl||a.jqx.browser.msie&&a.jqx.browser.version<8){this._measureItem=a("<span style='position: relative; visibility: hidden;'></span>");this._measureItem.addClass(this.toThemeProperty("jqx-widget"));this._measureItem.addClass(this.toThemeProperty("jqx-fill-state-normal"));this._measureItem.addClass(this.toThemeProperty("jqx-tree-item"));this._measureItem.addClass(this.toThemeProperty("jqx-item"));a(document.body).append(this._measureItem)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){}for(var e=0;e<f.length;e++){this._createItem(f[e])}if(this.rtl||a.jqx.browser.msie&&a.jqx.browser.version<8){this._measureItem.remove()}this._updateItemsNavigation();this._updateCheckStates()},_updateCheckLayout:function(c){var b=this;if(!this.checkboxes){return}a.each(this.items,function(){if(this.level==c||c==undefined){b._updateCheckItemLayout(this)}})},_updateCheckItemLayout:function(b){if(this.checkboxes){if(a(b.titleElement).css("display")!="none"){var c=a(b.checkBoxElement);var d=a(b.titleElement).outerHeight()/2-1-parseInt(this.checkSize)/2;c.css("margin-top",d);if(!this.rtl){if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.titleElement.css("margin-left",parseInt(this.checkSize)+25)}else{if(b.hasItems){c.css("margin-left",this.toggleIndicatorSize)}}}}}},_updateCheckStates:function(){var b=this;if(b.hasThreeStates){a.each(this.items,function(){b._updateCheckState(this)})}else{a.each(this.items,function(){if(this.checked==null){b.checkItem(this.element,false,"tree")}})}},_updateCheckState:function(e){if(e==null||e==undefined){return}var d=this;var c=0;var f=false;var b=0;var g=a(e.element).find("li");b=g.length;if(e.checked&&b>0){a.each(g,function(h){var j=d.itemMapping["id"+this.id].item;var i=j.element.getAttribute("item-checked");if(i==undefined||i==null||i=="true"||i==true){d.checkItem(j.element,true,"tree")}})}a.each(g,function(h){var i=d.itemMapping["id"+this.id].item;if(i.checked!=false){if(i.checked==null){f=true}c++}});if(b>0){if(c==b){this.checkItem(e.element,true,"tree")}else{if(c>0){this.checkItem(e.element,null,"tree")}else{this.checkItem(e.element,false,"tree")}}}},_updateItemsNavigation:function(){var g=this.host.find("ul:first");var f=a(g).find("li");var c=0;for(var d=0;d<f.length;d++){var b=f[d];if(this.itemMapping["id"+b.id]){var e=this.itemMapping["id"+b.id].item;if(!e){continue}e.prevItem=null;e.nextItem=null;if(d>0){if(this.itemMapping["id"+f[d-1].id]){e.prevItem=this.itemMapping["id"+f[d-1].id].item}}if(d<f.length-1){if(this.itemMapping["id"+f[d+1].id]){e.nextItem=this.itemMapping["id"+f[d+1].id].item}}}}},_applyTheme:function(e,h){var f=this;this.host.removeClass("jqx-tree-"+e);this.host.removeClass("jqx-widget-"+e);this.host.removeClass("jqx-widget-content-"+e);this.host.addClass(f.toThemeProperty("jqx-tree"));this.host.addClass(f.toThemeProperty("jqx-widget"));var b=this.host.find("ul:first");a(b).removeClass(f.toThemeProperty("jqx-tree-dropdown-root-"+e));a(b).addClass(f.toThemeProperty("jqx-tree-dropdown-root"));if(this.rtl){a(b).removeClass(f.toThemeProperty("jqx-tree-dropdown-root-rtl-"+e));a(b).addClass(f.toThemeProperty("jqx-tree-dropdown-root-rtl"))}var g=a(b).find("li");for(var d=0;d<g.length;d++){var c=g[d];a(c).children().each(function(){if(this.tagName=="ul"||this.tagName=="UL"){a(this).removeClass(f.toThemeProperty("jqx-tree-dropdown-"+e));a(this).addClass(f.toThemeProperty("jqx-tree-dropdown"));if(f.rtl){a(this).removeClass(f.toThemeProperty("jqx-tree-dropdown-rtl-"+e));a(this).addClass(f.toThemeProperty("jqx-tree-dropdown-rtl"))}return false}})}a.each(this.items,function(){var k=this;var j=a(k.element);j.removeClass(f.toThemeProperty("jqx-tree-item-li-"+e));j.addClass(f.toThemeProperty("jqx-tree-item-li"));if(this.rtl){j.removeClass(f.toThemeProperty("jqx-tree-item-li-"+e));j.addClass(f.toThemeProperty("jqx-tree-item-li"))}a(k.titleElement).removeClass(f.toThemeProperty("jqx-tree-item-"+e));a(k.titleElement).addClass(f.toThemeProperty("jqx-tree-item"));a(k.titleElement).removeClass("jqx-item-"+e);a(k.titleElement).addClass(f.toThemeProperty("jqx-item"));var i=a(k.arrow);if(i.length>0){f._arrowStyle(i,"",k.isExpanded)}if(k.checkBoxElement){a(k.checkBoxElement).jqxCheckBox({theme:h})}if(f.enableRoundedCorners){j.removeClass("jqx-rc-all-"+e);j.addClass(f.toThemeProperty("jqx-rc-all"))}});if(this.host.jqxPanel){this.panel.jqxPanel({theme:h})}},_refreshMapping:function(f,p){var e=this.host.find("li");var b=new Array();var o=new Array();var h=a.data(document.body,"treeItemsStorage");var k=this;for(var i=0;i<e.length;i++){var j=e[i];var d=a(j);var n=h[j.id];if(n==null){continue}o[o.length]=n;if(f==undefined||f==true){this._updateItemEvents(this,n)}n.level=d.parents("li").length;n.treeInstance=this;var m=null;var g=null;if(n.titleElement[0].className.indexOf("jqx-fill-state-pressed")!=-1){a(n.titleElement).removeClass(k.toThemeProperty("jqx-fill-state-pressed"));a(n.titleElement).removeClass(k.toThemeProperty("jqx-tree-item-selected"))}var c=d.children();c.each(function(){if(this.tagName=="ul"||this.tagName=="UL"){n.subtreeElement=this;a(this).addClass(k.toThemeProperty("jqx-tree-dropdown"));if(k.rtl){a(this).addClass(k.toThemeProperty("jqx-tree-dropdown-rtl"))}return false}});var l=d.parents();l.each(function(){if((this.tagName=="li"||this.tagName=="LI")){g=this.id;m=this;return false}});n.parentElement=m;n.parentId=g;n.hasItems=a(n.element).find("li").length>0;if(n!=null){b[i]={element:j,item:n};b["id"+j.id]=b[i]}}this.itemMapping=b;this.items=o},_createItem:function(c){if(c==null||c==undefined){return}var q=c.id;if(!q){q=this.createID()}var E=c;var l=a(c);E.id=q;var g=a.data(document.body,"treeItemsStorage");if(g==undefined){g=new Array()}var w=this.items.length;this.items[w]=new a.jqx._jqxTree.jqxTreeItem();this.treeElements[q]=this.items[w];g[E.id]=this.items[w];a.data(document.body,"treeItemsStorage",g);w=this.items.length;var z=0;var G=this;var e=null;l.attr("role","treeitem");l.children().each(function(){if(this.tagName=="ul"||this.tagName=="UL"){G.items[w-1].subtreeElement=this;a(this).addClass(G.toThemeProperty("jqx-tree-dropdown"));if(G.rtl){a(this).addClass(G.toThemeProperty("jqx-tree-dropdown-rtl"));a(this).css("clear","both")}return false}});l.parents().each(function(){if((this.tagName=="li"||this.tagName=="LI")){z=this.id;e=this;return false}});var v=c.getAttribute("item-expanded");if(v==null||v==undefined||(v!="true"&&v!=true)){v=false}else{v=true}E.removeAttribute("item-expanded");var F=c.getAttribute("item-locked");if(F==null||F==undefined||(F!="true"&&F!=true)){F=false}else{F=true}E.removeAttribute("item-locked");var r=c.getAttribute("item-selected");if(r==null||r==undefined||(r!="true"&&r!=true)){r=false}else{r=true}E.removeAttribute("item-selected");var d=c.getAttribute("item-disabled");if(d==null||d==undefined||(d!="true"&&d!=true)){d=false}else{d=true}E.removeAttribute("item-disabled");var i=c.getAttribute("item-checked");if(i==null||i==undefined||(i!="true"&&i!=true)){i=false}else{i=true}var H=c.getAttribute("item-title");if(H==null||H==undefined||(H!="true"&&H!=true)){H=false}E.removeAttribute("item-title");var C=c.getAttribute("item-icon");var s=c.getAttribute("item-iconsize");var j=c.getAttribute("item-label");var u=c.getAttribute("item-value");E.removeAttribute("item-icon");E.removeAttribute("item-iconsize");E.removeAttribute("item-label");E.removeAttribute("item-value");var B=this.items[w-1];B.id=q;if(B.value==undefined){if(this._valueList&&this._valueList[q]){B.value=this._valueList[q]}else{B.value=u}}B.icon=C;B.iconsize=s;B.parentId=z;B.disabled=d;B.parentElement=e;B.element=c;B.locked=F;B.selected=r;B.checked=i;B.isExpanded=v;B.treeInstance=this;this.itemMapping[w-1]={element:E,item:B};this.itemMapping["id"+E.id]=this.itemMapping[w-1];var h=false;var D=false;h=false;if(this.rtl){a(B.element).css("float","right");a(B.element).css("clear","both")}if(!h||!D){if(a(E.firstChild).length>0){var s=16;if(B.icon){s=B.iconsize;if(!s){s=16}var C=a('<img width="'+s+'" height="'+s+'" style="float: left;" class="itemicon" src="'+B.icon+'"/>');a(E).prepend(C);C.css("margin-right","6px");if(this.rtl){C.css("margin-right","0px");C.css("margin-left","6px");C.css("float","right")}}var b=E.innerHTML.indexOf("<ul");if(b==-1){b=E.innerHTML.indexOf("<UL")}if(b==-1){B.originalTitle=E.innerHTML;E.innerHTML='<div style="display: inline-block;">'+E.innerHTML+"</div>";B.titleElement=a(a(E)[0].firstChild)}else{var A=E.innerHTML.substring(0,b);A=a.trim(A);B.originalTitle=A;A=a('<div style="display: inline-block;">'+A+"</div>");var n=a(E).find("ul:first");n.remove();E.innerHTML="";a(E).prepend(A);a(E).append(n);B.titleElement=A;if(this.rtl){A.css("float","right");n.css("padding-right","10px")}}if(s!==16){a(B.titleElement).css("line-height",s+"px")}if(a.jqx.browser.msie&&a.jqx.browser.version<8){a(a(E)[0].firstChild).css("display","inline-block");var m=false;if(this._measureItem.parents().length==0){a(document.body).append(this._measureItem);m=true}this._measureItem.css("min-width","20px");this._measureItem[0].innerHTML=(a(B.titleElement).text());var t=this._measureItem.width();if(B.icon){t+=20}if(a(a(B.titleElement).find("img")).length>0){t+=20}a(a(E)[0].firstChild).css("max-width",t+"px");if(m){this._measureItem.remove()}}}else{B.originalTitle="Item";a(E).append(a("<span>Item</span>"));a(E.firstChild).wrap("<span/>");B.titleElement=a(E)[0].firstChild;if(a.jqx.browser.msie&&a.jqx.browser.version<8){a(E.firstChild).css("display","inline-block")}}}var y=a(B.titleElement);var p=this.toThemeProperty("jqx-rc-all");if(this.allowDrag){y.addClass("draggable")}if(j==null||j==undefined){j=B.titleElement;B.label=a.trim(y.text())}else{B.label=j}a(E).addClass(this.toThemeProperty("jqx-tree-item-li"));if(this.rtl){a(E).addClass(this.toThemeProperty("jqx-tree-item-li-rtl"))}p+=" "+this.toThemeProperty("jqx-tree-item")+" "+this.toThemeProperty("jqx-item");if(this.rtl){p+=" "+this.toThemeProperty("jqx-tree-item-rtl")}y[0].className=y[0].className+" "+p;B.level=a(c).parents("li").length;B.hasItems=a(c).find("li").length>0;if(this.rtl&&B.parentElement){if(!this.checkboxes){}}if(this.checkboxes){if(this.host.jqxCheckBox){var o=a('<div style="overflow: visible; position: absolute; width: 18px; height: 18px;" tabIndex=0 class="chkbox"/>');o.width(parseInt(this.checkSize));o.height(parseInt(this.checkSize));a(E).prepend(o);if(this.rtl){o.css("float","right");o.css("position","static")}o.jqxCheckBox({hasInput:false,checked:B.checked,boxSize:this.checkSize,animationShowDelay:0,animationHideDelay:0,disabled:d,theme:this.theme});if(!this.rtl){y.css("margin-left",parseInt(this.checkSize)+8)}else{var x=5;if(B.parentElement){o.css("margin-right",x+5+"px")}else{o.css("margin-right",x+"px")}}B.checkBoxElement=o[0];o[0].treeItem=B;var f=y.outerHeight()/2-1-parseInt(this.checkSize)/2;o.css("margin-top",f);if(a.jqx.browser.msie&&a.jqx.browser.version<8){y.css("width","1%");y.css("margin-left",parseInt(this.checkSize)+25)}else{if(B.hasItems){if(!this.rtl){o.css("margin-left",this.toggleIndicatorSize)}}}}else{throw new Error("jqxTree: Missing reference to jqxcheckbox.js.");return}}else{if(a.jqx.browser.msie&&a.jqx.browser.version<8){y.css("width","1%")}}if(d){this.disableItem(B.element)}if(r){this.selectItem(B.element)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){a(E).css("margin","0px");a(E).css("padding","0px")}},destroy:function(){this.removeHandler(a(window),"resize.jqxtree"+this.element.id);this.host.removeClass();if(this.isTouchDevice()){this.removeHandler(this.panel,a.jqx.mobile.getTouchEventName("touchend")+".touchScroll touchcancel.touchScroll");this.removeHandler(this.panel,a.jqx.mobile.getTouchEventName("touchmove")+".touchScroll");this.removeHandler(this.panel,a.jqx.mobile.getTouchEventName("touchstart")+".touchScroll")}var c=this;var b=this.isTouchDevice();a.each(this.items,function(){var h=this;var f=a(this.element);var d=!b?"click":a.jqx.mobile.getTouchEventName("touchend");c.removeHandler(a(h.checkBoxElement),d);var i=a(h.titleElement);c.removeHandler(f);var g=c.allowDrag&&c._enableDragDrop;if(!g){c.removeHandler(i)}else{c.removeHandler(i,"mousedown.item");c.removeHandler(i,"click");c.removeHandler(i,"dblclick");c.removeHandler(i,"mouseenter");c.removeHandler(i,"mouseleave")}var e=a(h.arrow);if(e.length>0){c.removeHandler(e,d);c.removeHandler(e,"selectstart");c.removeHandler(e,"mouseup");if(!b){c.removeHandler(e,"mouseenter");c.removeHandler(e,"mouseleave")}c.removeHandler(i,"selectstart")}if(a.jqx.browser.opera){c.removeHandler(i,"mousedown.item")}if(c.toggleMode!="click"){c.removeHandler(i,"click")}c.removeHandler(i,c.toggleMode)});if(this.panel){this.panel.jqxPanel("destroy");this.panel=null}this.host.remove()},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=this.events[g];var e=c;e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);return b},propertyChangedHandler:function(d,k,b,i){if(this.isInitialized==undefined||this.isInitialized==false){return}if(k=="submitCheckedItems"){d._updateInputSelection()}if(k=="disabled"){d._updateDisabledState()}if(k=="theme"){d._applyTheme(b,i)}if(k=="keyboardNavigation"){d.enableKeyboardNavigation=i}if(k=="width"||k=="height"){d.refresh();d._initialize();d._calculateWidth();if(d.host.jqxPanel){var j="fixed";if(this.height==null||this.height=="auto"){j="verticalwrap"}if(this.width==null||this.width=="auto"){if(j=="fixed"){j="horizontalwrap"}else{j="wrap"}}d.panel.jqxPanel({sizeMode:j})}}if(k=="touchMode"){d._isTouchDevice=null;if(i){d.enableHover=false}d._render()}if(k=="source"||k=="checkboxes"){if(this.source!=null){var l=[];a.each(d.items,function(){if(this.isExpanded){l[l.length]={label:this.label,level:this.level}}});var f=d.loadItems(d.source);if(!d.host.jqxPanel){d.element.innerHTML=f}else{d.panel.jqxPanel("setcontent",f)}var e=d.disabled;var g=d.host.find("ul:first");if(g.length>0){d.createTree(g[0]);d._render()}var h=d;var c=h.animationShowDuration;h.animationShowDuration=0;d.disabled=false;if(l.length>0){a.each(d.items,function(){for(var n=0;n<l.length;n++){if(l[n].label==this.label&&l[n].level==this.level){var o=h.getItem(this.element);h._expandItem(h,o)}}})}d.disabled=e;h.animationShowDuration=c}}if(k=="hasThreeStates"){d._render();d._updateCheckStates()}if(k=="toggleIndicatorSize"){d._updateCheckLayout();d._render()}}})})(jqxBaseFramework);(function(a){a.jqx._jqxTree.jqxTreeItem=function(e,d,b){var c={label:null,id:e,parentId:d,parentElement:null,parentItem:null,disabled:false,selected:false,locked:false,checked:false,level:0,isExpanded:false,hasItems:false,element:null,subtreeElement:null,checkBoxElement:null,titleElement:null,arrow:null,prevItem:null,nextItem:null};return c}})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxTreeGrid","jqxDataTable",{});a.extend(a.jqx._jqxTreeGrid.prototype,{defineInstance:function(){if(this.base){this.base.treeGrid=this;this.base.exportSettings={recordsInView:false,columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,fileName:"jqxTreeGrid"}}var b={pageSizeMode:"default",checkboxes:false,hierarchicalCheckboxes:false,icons:false,showSubAggregates:false,aggregatesPosition:"top",rowDetailsRenderer:null,virtualModeCreateRecords:null,virtualModeRecordCreating:null,loadingFailed:false};if(this===a.jqx._jqxTreeGrid.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){this.theme=this.base.theme;var c=this},deleteRow:function(b){var c=this.base;c.deleterowbykey(b)},updateRow:function(b,d){var c=this.base;c.updaterowbykey(b,d)},setCellValue:function(c,b,e){var d=this.base;d.setCellValueByKey(c,b,e)},getCellValue:function(c,b){var d=this.base;return d.getCellValueByKey(c,b)},lockRow:function(b){var c=this.base;c.lockrowbykey(b)},unlockRow:function(b){var c=this.base;c.unlockrowbykey(b)},selectRow:function(b){var c=this.base;c.selectrowbykey(b)},unselectRow:function(b){var c=this.base;c.unselectrowbykey(b)},ensureRowVisible:function(b){var c=this.base;c.ensurerowvisiblebykey(b)},beginCellEdit:function(c,b){var e=this.base;var d=e.getColumn(b);e.beginroweditbykey(c,d)},beginRowEdit:function(b){var c=this.base;c.beginroweditbykey(b)},endCellEdit:function(c,b,e){var d=this.base;d.endroweditbykey(c,e)},endRowEdit:function(b,d){var c=this.base;c.endroweditbykey(b,d)},_showLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","visible");a(b.dataloadelement).css("display","block");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},_hideLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","hidden");a(b.dataloadelement).css("display","none");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},getKey:function(b){if(b){return b.uid}},getRows:function(){var b=this.base;if(b.source.hierarchy){if(b.source.hierarchy.length!=0){return b.source.hierarchy}}return b.source.records},getCheckedRows:function(){var c=this.base;var d=c._names();var e=new Array();var b=function(j,g){if(!g){return}for(var h=0;h<g.length;h++){if(!g[h]){continue}var f=a.extend({},g[h]);var k=c.rowinfo[g[h].uid];if(k&&k[d.checked]){j.push(f)}else{if(f[d.checked]){j.push(f)}}b(e,g[h].records)}};b(e,c.dataViewRecords);return e},getRow:function(d){var e=this.base;var b=e.source.records;if(e.source.hierarchy){var f=function(h){for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j].uid==d){return h[j]}if(h[j].records){var k=f(h[j].records);if(k){return k}}}};var g=f(e.source.hierarchy);return g}else{for(var c=0;c<b.length;c++){if(!b[c]){continue}if(b[c].uid==d){return b[c]}}}},_renderrows:function(){var N=this.base;var at=this;if(N._loading){return}if(N._updating){return}var J=N._names();if(N.source.hierarchy.length===0&&!N.loadingFailed){if(this.virtualModeCreateRecords){var an=function(c){if(c===false||(c&&c.length==0)){N._loading=false;N.loadingFailed=true;N.source.hierarchy=new Array();at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange();return}for(var j=0;j<c.length;j++){c[j].level=0;at.virtualModeRecordCreating(c[j]);N.rowsByKey[c[j].uid]=c[j]}N.source.hierarchy=c;if(!N.source._source.hierarchy){N.source._source.hierarchy={}}N._loading=false;at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange()};N._loading=true;this.virtualModeCreateRecords(null,an);this._showLoadElement()}}if(N.rendering){N.rendering()}var az=0;N.table[0].rows=new Array();var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-widget-content")+" "+N.toTP("jqx-item");if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var b=N.columns.records.length;var P=a.jqx.browser.msie&&a.jqx.browser.version<8;if(P){N.host.attr("hideFocus","true")}var v=new Array();var aG=function(s,w){for(var aK=0;aK<s.length;aK++){var c=s[aK];if(!c){continue}var j=!N.rowinfo[c.uid]?c.expanded:N.rowinfo[c.uid].expanded;if(N.dataview.filters.length==0){c._visible=true}if(c._visible!==false){if(j||c[J.leaf]){w.push(c);if(c.records&&c.records.length>0){var aL=aG(c.records,new Array());for(var x=0;x<aL.length;x++){w.push(aL[x])}}}else{w.push(c)}}}return w};var ap=N.source.hierarchy.length===0?N.source.records:N.source.hierarchy;ap=N.dataview.evaluate(ap);N.dataViewRecords=ap;if(this.showSubAggregates){var p=function(s,c){if(s!=0){if(c.length>0){if(c[c.length-1]){if(!c[c.length-1].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}else{if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(c[c.length-2]){if(!c[c.length-2].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}}}}}for(var j=0;j<c.length;j++){if(c[j]&&c[j].records){p(s+1,c[j].records)}}};p(0,ap)}var aq=function(s){var w=0;var i=new Array();for(var c=0;c<s.length;c++){var j=s[c];if(j[J.level]==0){w++}if(w>N.dataview.pagesize*N.dataview.pagenum&&w<=N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){i.push(j)}if(w>N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){break}}return i};if(N.source.hierarchy.length===0){if(N.dataview.pagesize=="all"||!N.pageable||N.serverProcessing){var al=ap;if(N.pageable&&N.serverProcessing&&ap.length>N.dataview.pagesize){var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}var v=al}else{var ap=aG.call(N,ap,new Array());if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al;var I=N.dataview.pagenum;N.updatepagerdetails();if(N.dataview.pagenum!=I){if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al}}N.renderedRecords=v;var D=v.length;var aH=N.tableZIndex;var k=0;var ar=0;if(P){for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}var aw=a('<table><tr><td role="gridcell" style="max-width: '+ax+"px; width:"+ax+'px;" class="'+aJ+'"></td></tr></table>');a(document.body).append(aw);var ah=aw.find("td");k=1+parseInt(ah.css("padding-left"))+parseInt(ah.css("padding-right"));aw.remove();break}}var B=N.rtl?" "+N.toTP("jqx-grid-table-rtl"):"";var y="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='table"+N.element.id+"'><colgroup>";var X="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='pinnedtable"+N.element.id+"'><colgroup>";var ac=null;for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];if(U.hidden){continue}ac=U;var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}ax-=k;if(ax<0){ax=0}if(P){var H=ax;if(Q==0){H++}X+="<col style='max-width: "+ax+"px; width: "+H+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+H+"px;'>"}else{X+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>"}ar+=ax}y+="</colgroup>";X+="</colgroup>";N._hiddencolumns=false;var r=false;if(D===0){var n='<tr role="row">';var q=N.host.height();if(N.pageable){q-=N.pagerHeight;if(N.pagerPosition==="both"){q-=N.pagerHeight}}q-=N.columnsHeight;if(N.filterable){var aC=N.filter.find(".filterrow");var A=N.filter.find(".filterrow-hidden");var E=1;if(A.length>0){E=0}q-=N.filterHeight+N.filterHeight*aC.length*E}if(N.showstatusbar){q-=N.statusBarHeight}if(N.showAggregates){q-=N.aggregatesHeight}if(q<25){q=25}if(N.hScrollBar[0].style.visibility!="hidden"){q-=N.hScrollBar.outerHeight()}if(N.height==="auto"||N.height===null||N.autoheight){q=100}var ax=N.host.width()+2;var aw='<td colspan="'+N.columns.records.length+'" role="gridcell" style="border-right-color: transparent; min-height: '+q+"px; height: "+q+"px;  min-width:"+ar+"px; max-width:"+ar+"px; width:"+ar+"px;";var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-center-align");aw+='" class="'+aJ+'">';if(!N._loading){aw+=N.gridlocalization.emptydatastring}aw+="</td>";n+=aw;y+=n;X+=n;N.table[0].style.width=ar+2+"px";az=ar}var m=N.source._source.hierarchy&&N.source._source.hierarchy.groupingDataFields?N.source._source.hierarchy.groupingDataFields.length:0;for(var R=0;R<v.length;R++){var au=v[R];var ad=au.uid;if(m>0){if(au[J.level]<m){ad=au.uid}}if(au.uid===undefined){au.uid=N.dataview.generatekey()}var n='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';if(au.aggregate){var n='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">'}var V=0;if(!N.rowinfo[ad]){var z=au[J.checked];if(z===undefined){z=false}N.rowinfo[ad]={selected:au[J.selected],checked:z,icon:au[J.icon],aggregate:au.aggregate,row:au,leaf:au[J.leaf],expanded:au[J.expanded]}}else{if(N.rowinfo[ad].checked===undefined){N.rowinfo[ad].checked=au[J.checked]}if(N.rowinfo[ad].icon===undefined){N.rowinfo[ad].icon=au[J.icon]}if(N.rowinfo[ad].aggregate===undefined){N.rowinfo[ad].aggregate=au[J.aggregate]}if(N.rowinfo[ad].row===undefined){N.rowinfo[ad].row=au}if(N.rowinfo[ad].leaf===undefined){N.rowinfo[ad].leaf=au[J.leaf]}if(N.rowinfo[ad].expanded===undefined){N.rowinfo[ad].expanded=au[J.expanded]}}var h=N.rowinfo[ad];h.row=au;if(au.originalRecord){h.originalRecord=au.originalRecord}var o=0;for(var Q=0;Q<b;Q++){var M=N.columns.records[Q];if(M.pinned||(N.rtl&&N.columns.records[b-1].pinned)){r=true}var ax=M.width;if(ax<M.minwidth){ax=M.minwidth}if(ax>M.maxwidth){ax=M.maxwidth}ax-=k;if(ax<0){ax=0}var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");if(M.pinned){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}if(N.sortcolumn===M.displayfield){aJ+=" "+N.toTP("jqx-grid-cell-sort")}if(N.altRows&&R%2!=0){aJ+=" "+N.toTP("jqx-grid-cell-alt")}if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var S="";if(m>0&&!P&&!au.aggregate){if(au[J.level]<m){S+=' colspan="'+b+'"';var H=0;for(var K=0;K<b;K++){var T=N.columns.records[K];if(T.hidden){continue}var aa=T.width;if(aa<T.minwidth){ax=T.minwidth}if(aa>T.maxwidth){ax=T.maxwidth}aa-=k;if(aa<0){aa=0}H+=aa}ax=H}}var aw='<td role="gridcell"'+S+' style="max-width:'+ax+"px; width:"+ax+"px;";var ak='<td role="gridcell"'+S+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+ax+"px; width:"+ax+"px;";if(Q==b-1&&b==1){aw+="border-right-color: transparent;";ak+="border-right-color: transparent;"}if(m>0&&au[J.level]<m&&!au.aggregate){if(N.rtl){aJ+=" "+N.toTP("jqx-right-align")}}else{if(M.cellsalign!="left"){if(M.cellsalign==="right"){aJ+=" "+N.toTP("jqx-right-align")}else{aJ+=" "+N.toTP("jqx-center-align")}}}if(h){if(h.selected){if(N.editKey!==ad){if(N.selectionMode!=="none"){aJ+=" "+N.toTP("jqx-grid-cell-selected");aJ+=" "+N.toTP("jqx-fill-state-pressed")}}}if(h.locked){aJ+=" "+N.toTP("jqx-grid-cell-locked")}if(h.aggregate){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}}if(!(M.hidden)){if(o==0&&!N.rtl){aw+="border-left-width: 0px;";ak+="border-left-width: 0px;"}else{aw+="border-right-width: 0px;";ak+="border-right-width: 0px;"}o++;V+=k+ax}else{aw+="display: none;";ak+="display: none;";N._hiddencolumns=true}if(M.pinned){aw+="pointer-events: auto;";ak+="pointer-events: auto;"}var u="";if((N.source.hierarchy.length==0||(!au.records||(au.records&&au.records.length===0)))&&!this.virtualModeCreateRecords){h.leaf=true}if(au.records&&au.records.length>0){h.leaf=false}if(N.dataview.filters.length>0){if(au.records&&au.records.length>0){var ab=false;for(var L=0;L<au.records.length;L++){if(au.records[L]._visible!==false&&au.records[L].aggregate==undefined){ab=true;break}}if(!ab){h.leaf=true}else{h.leaf=false}}}if(h&&!h.leaf){if(h.expanded){u+=N.toTP("jqx-tree-grid-expand-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-expand")}else{u+=N.toTP("jqx-grid-group-expand-rtl")}u+=" "+N.toTP("jqx-icon-arrow-down")}else{u+=N.toTP("jqx-tree-grid-collapse-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-collapse");u+=" "+N.toTP("jqx-icon-arrow-right")}else{u+=N.toTP("jqx-grid-group-collapse-rtl");u+=" "+N.toTP("jqx-icon-arrow-left")}}}if(!N.autoRowHeight||o===1||(N.autoRowHeight&&!M.autoCellHeight)){aJ+=" "+N.toTP("jqx-grid-cell-nowrap")}var W=N._getcellvalue(M,h.row);if(m>0&&!au.aggregate){if(au[J.level]<m){W=au.label}}if(M.cellsFormat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(W)){W=a.jqx.dataFormat.formatdate(W,M.cellsFormat,N.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(W)||(!isNaN(parseFloat(W))&&isFinite(W))){W=a.jqx.dataFormat.formatnumber(W,M.cellsFormat,N.gridlocalization)}}}}if(M.cellclassname!=""&&M.cellclassname){if(typeof M.cellclassname=="string"){aJ+=" "+M.cellclassname}else{var aI=M.cellclassname(R,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(aI){aJ+=" "+aI}}}if(M.cellsRenderer!=""&&M.cellsRenderer){var C=M.cellsRenderer(ad,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(C!==undefined){W=C}}if(h.aggregate){if(M.aggregates){var av=au.siblings.slice(0,au.siblings.length-1);var Y=N._calculateaggregate(M,null,true,av);au[M.displayfield]="";if(Y){if(M.aggregatesRenderer){if(Y){var G=M.aggregatesRenderer(Y[M.datafield],M,null,N.getcolumnaggregateddata(M.datafield,M.aggregates,false,av),"subAggregates");W=G;var O=Object.keys(Y[M.datafield]);au[M.displayfield]+=name+":"+Y[M.datafield][O[0]]+"\n"}}else{W="";au[M.displayfield]="";a.each(Y,function(){var i=this;for(var s in i){var c=s;c=N._getaggregatename(c);var j='<div style="position: relative; margin: 0px; overflow: hidden;">'+c+":"+i[s]+"</div>";W+=j;au[M.displayfield]+=c+":"+i[s]+"\n"}})}}else{W=""}}}if((o===1&&!N.rtl)||(M==ac&&N.rtl)||(m>0&&au[J.level]<m)){var af="";var d=N.toThemeProperty("jqx-tree-grid-indent");var Z=h.leaf?1:0;for(var F=0;F<au[J.level]+Z;F++){af+="<span class='"+d+"'></span>"}var am="<span class='"+u+"'></span>";var aA="";var e="";if(this.checkboxes&&!au.aggregate){var aD=N.toThemeProperty("jqx-tree-grid-checkbox")+" "+d+" "+N.toThemeProperty("jqx-checkbox-default")+" "+N.toThemeProperty("jqx-fill-state-normal")+" "+N.toThemeProperty("jqx-rc-all");var g=true;if(a.isFunction(this.checkboxes)){g=this.checkboxes(ad,au);if(g==undefined){g=false}}if(g){if(h){var ay=h.checked;if(this.hierarchicalCheckboxes==false&&ay===null){ay=false}if(ay){aA+="<span checked='true' class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-checked")+"'></div></span>"}else{if(ay===false){aA+="<span checked='undefined' class='"+aD+"'></span>"}else{aA+="<span class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-indeterminate")+"'></div></span>"}}}else{aA+="<span class='"+aD+"'></span>"}}}if(this.icons&&!au.aggregate){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+d;if(N.rtl){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+N.toThemeProperty("jqx-tree-grid-icon-rtl")+" "+d}var aB=N.toThemeProperty("jqx-tree-grid-icon-size")+" "+d;var f=h.icon;if(a.isFunction(this.icons)){h.icon=this.icons(ad,au);if(h.icon){f=true}}if(f){if(h.icon){e+="<span class='"+ag+"'><img class='"+aB+"' src='"+h.icon+"'/></span>"}else{e+="<span class='"+ag+"'></span>"}}}var ae=N.autoRowHeight&&o===1&&M.autoCellHeight?" "+N.toTP("jqx-grid-cell-wrap"):"";var aj=af+am+aA+e+"<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>";if(!N.rtl){W=aj}else{W="<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>"+e+aA+am+af}}if(m>0&&P&&Q>=m){if(au[J.level]<m){aw+="padding-left: 5px; border-left-width: 0px;";ak+="padding-left: 5px; border-left-width: 0px;";W="<span style='visibility: hidden;'>-</span>"}}aw+='" class="'+aJ+'">';aw+=W;aw+="</td>";ak+='" class="'+aJ+'">';ak+=W;ak+="</td>";if(!M.pinned){n+=aw;if(r){ao+=ak}}else{ao+=aw;n+=aw}if(m>0&&!P){if(au[J.level]<m&&!au.aggregate){break}}}if(az==0){N.table[0].style.width=V+2+"px";az=V}n+="</tr>";ao+="</tr>";y+=n;X+=ao;if(N.rowDetails&&!au.aggregate&&this.rowDetailsRenderer){var l='<tr data-role="row-details"><td valign="top" align="left" style="pointer-events: auto; max-width:'+ax+"px; width:"+ax+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+N.columns.records.length+'" role="gridcell"';var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-details");aJ+=" "+N.toTP("jqx-reset");var ai=this.rowDetailsRenderer(ad,au);if(ai){l+='" class="'+aJ+'"><div style="pointer-events: auto; overflow: hidden;"><div data-role="details">'+ai+"</div></div></td></tr>";y+=l;X+=l}}}y+="</table>";X+="</table>";if(r){if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(X+y)})}else{N.table[0].innerHTML=X+y}var aE=N.table.find("#table"+N.element.id);var aF=N.table.find("#pinnedtable"+N.element.id);aF.css("float","left");aF.css("pointer-events","none");aE.css("float","left");aF[0].style.position="absolute";aE[0].style.position="relative";aE[0].style.zIndex=aH-10;aF[0].style.zIndex=aH+10;N._table=aE;N._table[0].style.left="0px";N._pinnedTable=aF;if(P){aF[0].style.left="0px"}N._table[0].style.width=az+"px";N._pinnedTable[0].style.width=az+"px";if(N.rtl&&N._haspinned){N._pinnedTable[0].style.left=3-az+parseInt(N.element.style.width)+"px"}}else{if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(y)})}else{N.table[0].innerHTML=y}var K=N.table.find("#table"+N.element.id);N._table=K;if(a.jqx.browser.msie&&a.jqx.browser.version<10){N._table[0].style.width=az+"px"}if(D===0){N._table[0].style.width=(2+az)+"px"}}if(D===0){N._table[0].style.tableLayout="auto";if(N._pinnedTable){N._pinnedTable[0].style.tableLayout="auto"}}if(N.showAggregates){N._updatecolumnsaggregates()}if(N._loading&&D==0){N._arrange();this._showLoadElement()}if(N.rendered){N.rendered()}},propertyChangedHandler:function(d,l,c,k){if(d.isInitialized==undefined||d.isInitialized==false){return}var f=d.base;if(l=="pageSizeMode"||l=="hierarchicalCheckboxes"){d._renderrows()}else{if(l=="filterable"){f._render()}else{if(l==="height"){f.host.height(d.height);f.host.width(d.width);f._updatesize(false,true)}else{if(l==="width"){f.host.height(d.height);f.host.width(d.width);f._updatesize(true,false)}else{if(l==="source"){f.updateBoundData()}else{if(l==="columns"||l==="columnGroups"){f._columns=null;f._render()}else{if(l==="rtl"){f.content.css("left","");d.columns=d._columns;f.vScrollBar.jqxScrollBar({rtl:k});f.hScrollBar.jqxScrollBar({rtl:k});f._render()}else{if(l==="pagerMode"){d.pagerMode=k;f._initpager()}else{if(l=="pageSizeOptions"){f._initpager();var j=false;for(var e=0;e<k.length;e++){if(parseInt(k[e])==d.pageSize){j=true;break}}if(!j){a.jqx.set(d,[{pageSize:k[0]}])}}else{if(l=="pageSize"){var g=f.dataview.pagenum*f.dataview.pagesize;f.dataview.pagesize=f.pageSize;var h=Math.floor(g/f.dataview.pagesize);if(h!==f.dataview.pagenum||parseInt(k)!==parseInt(c)){d._raiseEvent("pageSizeChanged",{pagenum:k,oldpageSize:c,pageSize:f.dataview.pagesize});var m=d.goToPage(h);if(!m){f.refresh()}}}else{if(l==="pagerPosition"){f.refresh()}else{if(l==="selectionMode"){f.selectionMode=k.toLowerCase()}else{if(l=="touchmode"){f.touchDevice=null;f._removeHandlers();f.touchDevice=null;f.vScrollBar.jqxScrollBar({touchMode:k});f.hScrollBar.jqxScrollBar({touchMode:k});f._updateTouchScrolling();f._arrange();f._updatecolumnwidths();f._renderrows();f._addHandlers()}else{if(l=="enableHover"){return}else{if(l=="disabled"){if(k){f.base.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{f.base.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(f.pageable){if(f.pagernexttop){f.pagernexttop.jqxButton({disabled:k});f.pagerprevioustop.jqxButton({disabled:k});f.pagernextbottom.jqxButton({disabled:k});f.pagerpreviousbottom.jqxButton({disabled:k});f.pagerfirsttop.jqxButton({disabled:k});f.pagerfirstbottom.jqxButton({disabled:k});f.pagerlasttop.jqxButton({disabled:k});f.pagerlastbottom.jqxButton({disabled:k});if(f.pagershowrowscombotop.jqxDropDownList){if(f.pagerMode=="advanced"){f.pagershowrowscombotop.jqxDropDownList({disabled:false});f.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}f.base.host.find(".jqx-grid-pager-number").css("cursor",k?"default":"pointer")}f.base.host.find(".jqx-grid-group-collapse").css("cursor",k?"default":"pointer");f.base.host.find(".jqx-grid-group-expand").css("cursor",k?"default":"pointer")}else{if(l=="columnsHeight"){f._render()}else{if(l=="theme"){a.jqx.utilities.setTheme(c,k,f.base.host);f.vScrollBar.jqxScrollBar({theme:f.theme});f.hScrollBar.jqxScrollBar({theme:f.theme});if(f.pageable&&f.pagernexttop){f.pagernexttop.jqxButton({theme:f.theme});f.pagerprevioustop.jqxButton({theme:f.theme});f.pagernextbottom.jqxButton({theme:f.theme});f.pagerpreviousbottom.jqxButton({theme:f.theme});f.pagerfirsttop.jqxButton({theme:f.theme});f.pagerfirstbottom.jqxButton({theme:f.theme});f.pagerlasttop.jqxButton({theme:f.theme});f.pagerlastbottom.jqxButton({theme:f.theme});if(f.pagershowrowscombotop.jqxDropDownList){if(f.pagerMode=="advanced"){f.pagershowrowscombotop.jqxDropDownList({theme:f.theme});f.pagershowrowscombobottom.jqxDropDownList({theme:f.theme})}}}if(f.filterable){var b=a(".filterconditions");if(b.length>0){b.jqxDropDownList({theme:f.theme})}if(f.filtercolumnsList){f.filtercolumnsList.jqxDropDownList({theme:f.theme})}}f.refresh()}else{f.refresh()}}}}}}}}}}}}}}}}}},checkRow:function(c,d,b){var e=this.base;var g=e._names();if(e._loading){return}var f=e.rowinfo[c];if(f){f.checked=true;f.row[g.checked]=true;if(f.originalRecord){f.originalRecord[g.checked]=true}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(f.row,f.row)}if(d!==false){e._renderrows()}e._raiseEvent("rowCheck",{key:c,row:f.row})}else{var h=this.getRow(c);if(h){e.rowinfo[c]={row:h,checked:true};e.rowinfo[c].row[g.checked]=true;if(h.originalRecord){e.rowinfo[c].originalRecord=h.originalRecord}e._raiseEvent("rowCheck",{key:c,row:h});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(h,h)}if(d!==false){e._renderrows()}}}},checkRows:function(d,n){var e=this.base;var j=this;var i=e._names();var l=function(o){var p=new Array();var q=function(s){for(var r=0;r<s.length;r++){p.push(s[r]);if(!s[r]){continue}if(s[r].records){q(s[r].records)}}};if(o.records){q(o.records)}return p};if(d!=null){var f=0;var c=false;var g=0;var b=function(o){for(var p=0;p<o.length;p++){if(!o[p]){continue}var q=o[p][i.checked];if(q===undefined){q=false}if(q!=false){if(o[p][i.checked]==null){c=true}if(o[p].records){b(o[p].records)}f++}g++}};if(d.records){b(d.records)}if(d!=n){if(f==g){this.checkRow(d.uid,false,"tree")}else{if(f>0){this.indeterminateRow(d.uid,false,"tree")}else{this.uncheckRow(d.uid,false,"tree")}}}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}var m=d[i.parent]?d[i.parent]:null;this.checkRows(m,n)}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}},indeterminateRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=null;g.row[h.checked]=null;if(g.originalRecord){g.originalRecord[h.checked]=null}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:null};f.rowinfo[c].row[h.checked]=null;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},uncheckRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=false;g.row[h.checked]=false;if(g.originalRecord){g.originalRecord[h.checked]=false}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}f._raiseEvent("rowUncheck",{key:c,row:g.row})}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:false};f.rowinfo[c].row[h.checked]=false;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}f._raiseEvent("rowUncheck",{key:c,row:i});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},expandRows:function(c){var e=this;if(!c){return}if(e.virtualModeCreateRecords){a.each(c,function(){var f=this;var g=function(){e.base._loading=false;e.expandRows(f.records)};e.base._loading=false;e.expandRow(f.uid,g)})}else{for(var d=0;d<c.length;d++){var b=c[d];e.expandRow(b.uid);e.expandRows(b.records)}}},collapseRows:function(b){if(!b){return}for(var c=0;c<b.length;c++){this.collapseRow(b[c].uid);this.collapseRows(b[c].records)}},expandAll:function(){var b=this.base;b.beginUpdate();this.expandRows(this.getRows());b.endUpdate()},collapseAll:function(){var b=this.base;b.beginUpdate();this.collapseRows(this.getRows());b.endUpdate()},expandRow:function(h,j){var d=this.base;if(d._loading){return}var e=d._names();var f=this;var b=d.rowinfo[h];if(!b){var k=this.getRow(h);if(k){d.rowinfo[h]={row:k};if(k.originalRecord){d.rowinfo[h].originalRecord=k.originalRecord}b=d.rowinfo[h]}}if(b){if(b.expanded){b.row[e.expanded]=true;return}b.expanded=true;b.row[e.expanded]=true;if(b.originalRecord){b.originalRecord[e.expanded]=true}if(this.virtualModeCreateRecords&&!b.row._loadedOnDemand){var c=function(m){b.row._loadedOnDemand=true;if(m===false){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}return}for(var n=0;n<m.length;n++){m[n][e.level]=b.row[e.level]+1;m[n][e.parent]=b.row;if(d.rowsByKey[m[n].uid]){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}throw new Error("Please, check whether you Add Records with unique ID/Key. ")}d.rowsByKey[m[n].uid]=m[n];f.virtualModeRecordCreating(m[n])}if(!b.row.records){b.row.records=m}else{b.row.records=b.row.records.concat(m)}if((!m)||(m&&m.length==0)){b.leaf=true;b.row[e.leaf]=true}if(b.originalRecord){b.originalRecord.records=m;b.originalRecord[e.expanded]=true;if(m.length==0){b.originalRecord[e.leaf]=true}}d._loading=false;f._hideLoadElement();var l=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var o=l!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||o){d._arrange()}d._renderhorizontalscroll();if(j){j()}};if(!b.row[e.leaf]){d._loading=true;this._showLoadElement();this.virtualModeCreateRecords(b.row,c);return}}if(!d.updating()){var g=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var i=g!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||i){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowExpand",{row:b.row,key:h})}}},collapseRow:function(c){var d=this.base;var g=d._names();if(d._loading){return}var f=d.rowinfo[c];if(!f){var h=this.getRow(c);if(h){d.rowinfo[c]={row:h};if(h.originalRecord){d.rowinfo[c].originalRecord=h.originalRecord}f=d.rowinfo[c]}}if(f){if(!f.expanded){f.row[g.expanded]=false;return}f.expanded=false;f.row[g.expanded]=false;if(f.originalRecord){f.originalRecord[g.expanded]=false}if(!d.updating()){var b=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var e=b!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||e){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowCollapse",{row:f.row,key:c})}}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxTreeGrid","jqxDataTable",{});a.extend(a.jqx._jqxTreeGrid.prototype,{defineInstance:function(){if(this.base){this.base.treeGrid=this;this.base.exportSettings={recordsInView:false,columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,fileName:"jqxTreeGrid"}}var b={pageSizeMode:"default",checkboxes:false,hierarchicalCheckboxes:false,icons:false,showSubAggregates:false,aggregatesPosition:"top",rowDetailsRenderer:null,virtualModeCreateRecords:null,virtualModeRecordCreating:null,loadingFailed:false};if(this===a.jqx._jqxTreeGrid.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){this.theme=this.base.theme;var c=this},deleteRow:function(b){var c=this.base;c.deleterowbykey(b)},updateRow:function(b,d){var c=this.base;c.updaterowbykey(b,d)},setCellValue:function(c,b,e){var d=this.base;d.setCellValueByKey(c,b,e)},getCellValue:function(c,b){var d=this.base;return d.getCellValueByKey(c,b)},lockRow:function(b){var c=this.base;c.lockrowbykey(b)},unlockRow:function(b){var c=this.base;c.unlockrowbykey(b)},selectRow:function(b){var c=this.base;c.selectrowbykey(b)},unselectRow:function(b){var c=this.base;c.unselectrowbykey(b)},ensureRowVisible:function(b){var c=this.base;c.ensurerowvisiblebykey(b)},beginCellEdit:function(c,b){var e=this.base;var d=e.getColumn(b);e.beginroweditbykey(c,d)},beginRowEdit:function(b){var c=this.base;c.beginroweditbykey(b)},endCellEdit:function(c,b,e){var d=this.base;d.endroweditbykey(c,e)},endRowEdit:function(b,d){var c=this.base;c.endroweditbykey(b,d)},_showLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","visible");a(b.dataloadelement).css("display","block");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},_hideLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","hidden");a(b.dataloadelement).css("display","none");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},getKey:function(b){if(b){return b.uid}},getRows:function(){var b=this.base;if(b.source.hierarchy){if(b.source.hierarchy.length!=0){return b.source.hierarchy}}return b.source.records},getCheckedRows:function(){var c=this.base;var d=c._names();var e=new Array();var b=function(j,g){if(!g){return}for(var h=0;h<g.length;h++){if(!g[h]){continue}var f=a.extend({},g[h]);var k=c.rowinfo[g[h].uid];if(k&&k[d.checked]){j.push(f)}else{if(f[d.checked]){j.push(f)}}b(e,g[h].records)}};b(e,c.dataViewRecords);return e},getRow:function(d){var e=this.base;var b=e.source.records;if(e.source.hierarchy){var f=function(h){for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j].uid==d){return h[j]}if(h[j].records){var k=f(h[j].records);if(k){return k}}}};var g=f(e.source.hierarchy);return g}else{for(var c=0;c<b.length;c++){if(!b[c]){continue}if(b[c].uid==d){return b[c]}}}},_renderrows:function(){var N=this.base;var at=this;if(N._loading){return}if(N._updating){return}var J=N._names();if(N.source.hierarchy.length===0&&!N.loadingFailed){if(this.virtualModeCreateRecords){var an=function(c){if(c===false||(c&&c.length==0)){N._loading=false;N.loadingFailed=true;N.source.hierarchy=new Array();at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange();return}for(var j=0;j<c.length;j++){c[j].level=0;at.virtualModeRecordCreating(c[j]);N.rowsByKey[c[j].uid]=c[j]}N.source.hierarchy=c;if(!N.source._source.hierarchy){N.source._source.hierarchy={}}N._loading=false;at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange()};N._loading=true;this.virtualModeCreateRecords(null,an);this._showLoadElement()}}if(N.rendering){N.rendering()}var az=0;N.table[0].rows=new Array();var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-widget-content")+" "+N.toTP("jqx-item");if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var b=N.columns.records.length;var P=a.jqx.browser.msie&&a.jqx.browser.version<8;if(P){N.host.attr("hideFocus","true")}var v=new Array();var aG=function(s,w){for(var aK=0;aK<s.length;aK++){var c=s[aK];if(!c){continue}var j=!N.rowinfo[c.uid]?c.expanded:N.rowinfo[c.uid].expanded;if(N.dataview.filters.length==0){c._visible=true}if(c._visible!==false){if(j||c[J.leaf]){w.push(c);if(c.records&&c.records.length>0){var aL=aG(c.records,new Array());for(var x=0;x<aL.length;x++){w.push(aL[x])}}}else{w.push(c)}}}return w};var ap=N.source.hierarchy.length===0?N.source.records:N.source.hierarchy;ap=N.dataview.evaluate(ap);N.dataViewRecords=ap;if(this.showSubAggregates){var p=function(s,c){if(s!=0){if(c.length>0){if(c[c.length-1]){if(!c[c.length-1].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}else{if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(c[c.length-2]){if(!c[c.length-2].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}}}}}for(var j=0;j<c.length;j++){if(c[j]&&c[j].records){p(s+1,c[j].records)}}};p(0,ap)}var aq=function(s){var w=0;var i=new Array();for(var c=0;c<s.length;c++){var j=s[c];if(j[J.level]==0){w++}if(w>N.dataview.pagesize*N.dataview.pagenum&&w<=N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){i.push(j)}if(w>N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){break}}return i};if(N.source.hierarchy.length===0){if(N.dataview.pagesize=="all"||!N.pageable||N.serverProcessing){var al=ap;if(N.pageable&&N.serverProcessing&&ap.length>N.dataview.pagesize){var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}var v=al}else{var ap=aG.call(N,ap,new Array());if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al;var I=N.dataview.pagenum;N.updatepagerdetails();if(N.dataview.pagenum!=I){if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al}}N.renderedRecords=v;var D=v.length;var aH=N.tableZIndex;var k=0;var ar=0;if(P){for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}var aw=a('<table><tr><td role="gridcell" style="max-width: '+ax+"px; width:"+ax+'px;" class="'+aJ+'"></td></tr></table>');a(document.body).append(aw);var ah=aw.find("td");k=1+parseInt(ah.css("padding-left"))+parseInt(ah.css("padding-right"));aw.remove();break}}var B=N.rtl?" "+N.toTP("jqx-grid-table-rtl"):"";var y="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='table"+N.element.id+"'><colgroup>";var X="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='pinnedtable"+N.element.id+"'><colgroup>";var ac=null;for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];if(U.hidden){continue}ac=U;var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}ax-=k;if(ax<0){ax=0}if(P){var H=ax;if(Q==0){H++}X+="<col style='max-width: "+ax+"px; width: "+H+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+H+"px;'>"}else{X+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>"}ar+=ax}y+="</colgroup>";X+="</colgroup>";N._hiddencolumns=false;var r=false;if(D===0){var n='<tr role="row">';var q=N.host.height();if(N.pageable){q-=N.pagerHeight;if(N.pagerPosition==="both"){q-=N.pagerHeight}}q-=N.columnsHeight;if(N.filterable){var aC=N.filter.find(".filterrow");var A=N.filter.find(".filterrow-hidden");var E=1;if(A.length>0){E=0}q-=N.filterHeight+N.filterHeight*aC.length*E}if(N.showstatusbar){q-=N.statusBarHeight}if(N.showAggregates){q-=N.aggregatesHeight}if(q<25){q=25}if(N.hScrollBar[0].style.visibility!="hidden"){q-=N.hScrollBar.outerHeight()}if(N.height==="auto"||N.height===null||N.autoheight){q=100}var ax=N.host.width()+2;var aw='<td colspan="'+N.columns.records.length+'" role="gridcell" style="border-right-color: transparent; min-height: '+q+"px; height: "+q+"px;  min-width:"+ar+"px; max-width:"+ar+"px; width:"+ar+"px;";var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-center-align");aw+='" class="'+aJ+'">';if(!N._loading){aw+=N.gridlocalization.emptydatastring}aw+="</td>";n+=aw;y+=n;X+=n;N.table[0].style.width=ar+2+"px";az=ar}var m=N.source._source.hierarchy&&N.source._source.hierarchy.groupingDataFields?N.source._source.hierarchy.groupingDataFields.length:0;for(var R=0;R<v.length;R++){var au=v[R];var ad=au.uid;if(m>0){if(au[J.level]<m){ad=au.uid}}if(au.uid===undefined){au.uid=N.dataview.generatekey()}var n='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';if(au.aggregate){var n='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">'}var V=0;if(!N.rowinfo[ad]){var z=au[J.checked];if(z===undefined){z=false}N.rowinfo[ad]={selected:au[J.selected],checked:z,icon:au[J.icon],aggregate:au.aggregate,row:au,leaf:au[J.leaf],expanded:au[J.expanded]}}else{if(N.rowinfo[ad].checked===undefined){N.rowinfo[ad].checked=au[J.checked]}if(N.rowinfo[ad].icon===undefined){N.rowinfo[ad].icon=au[J.icon]}if(N.rowinfo[ad].aggregate===undefined){N.rowinfo[ad].aggregate=au[J.aggregate]}if(N.rowinfo[ad].row===undefined){N.rowinfo[ad].row=au}if(N.rowinfo[ad].leaf===undefined){N.rowinfo[ad].leaf=au[J.leaf]}if(N.rowinfo[ad].expanded===undefined){N.rowinfo[ad].expanded=au[J.expanded]}}var h=N.rowinfo[ad];h.row=au;if(au.originalRecord){h.originalRecord=au.originalRecord}var o=0;for(var Q=0;Q<b;Q++){var M=N.columns.records[Q];if(M.pinned||(N.rtl&&N.columns.records[b-1].pinned)){r=true}var ax=M.width;if(ax<M.minwidth){ax=M.minwidth}if(ax>M.maxwidth){ax=M.maxwidth}ax-=k;if(ax<0){ax=0}var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");if(M.pinned){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}if(N.sortcolumn===M.displayfield){aJ+=" "+N.toTP("jqx-grid-cell-sort")}if(N.altRows&&R%2!=0){aJ+=" "+N.toTP("jqx-grid-cell-alt")}if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var S="";if(m>0&&!P&&!au.aggregate){if(au[J.level]<m){S+=' colspan="'+b+'"';var H=0;for(var K=0;K<b;K++){var T=N.columns.records[K];if(T.hidden){continue}var aa=T.width;if(aa<T.minwidth){ax=T.minwidth}if(aa>T.maxwidth){ax=T.maxwidth}aa-=k;if(aa<0){aa=0}H+=aa}ax=H}}var aw='<td role="gridcell"'+S+' style="max-width:'+ax+"px; width:"+ax+"px;";var ak='<td role="gridcell"'+S+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+ax+"px; width:"+ax+"px;";if(Q==b-1&&b==1){aw+="border-right-color: transparent;";ak+="border-right-color: transparent;"}if(m>0&&au[J.level]<m&&!au.aggregate){if(N.rtl){aJ+=" "+N.toTP("jqx-right-align")}}else{if(M.cellsalign!="left"){if(M.cellsalign==="right"){aJ+=" "+N.toTP("jqx-right-align")}else{aJ+=" "+N.toTP("jqx-center-align")}}}if(h){if(h.selected){if(N.editKey!==ad){if(N.selectionMode!=="none"){aJ+=" "+N.toTP("jqx-grid-cell-selected");aJ+=" "+N.toTP("jqx-fill-state-pressed")}}}if(h.locked){aJ+=" "+N.toTP("jqx-grid-cell-locked")}if(h.aggregate){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}}if(!(M.hidden)){if(o==0&&!N.rtl){aw+="border-left-width: 0px;";ak+="border-left-width: 0px;"}else{aw+="border-right-width: 0px;";ak+="border-right-width: 0px;"}o++;V+=k+ax}else{aw+="display: none;";ak+="display: none;";N._hiddencolumns=true}if(M.pinned){aw+="pointer-events: auto;";ak+="pointer-events: auto;"}var u="";if((N.source.hierarchy.length==0||(!au.records||(au.records&&au.records.length===0)))&&!this.virtualModeCreateRecords){h.leaf=true}if(au.records&&au.records.length>0){h.leaf=false}if(N.dataview.filters.length>0){if(au.records&&au.records.length>0){var ab=false;for(var L=0;L<au.records.length;L++){if(au.records[L]._visible!==false&&au.records[L].aggregate==undefined){ab=true;break}}if(!ab){h.leaf=true}else{h.leaf=false}}}if(h&&!h.leaf){if(h.expanded){u+=N.toTP("jqx-tree-grid-expand-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-expand")}else{u+=N.toTP("jqx-grid-group-expand-rtl")}u+=" "+N.toTP("jqx-icon-arrow-down")}else{u+=N.toTP("jqx-tree-grid-collapse-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-collapse");u+=" "+N.toTP("jqx-icon-arrow-right")}else{u+=N.toTP("jqx-grid-group-collapse-rtl");u+=" "+N.toTP("jqx-icon-arrow-left")}}}if(!N.autoRowHeight||o===1||(N.autoRowHeight&&!M.autoCellHeight)){aJ+=" "+N.toTP("jqx-grid-cell-nowrap")}var W=N._getcellvalue(M,h.row);if(m>0&&!au.aggregate){if(au[J.level]<m){W=au.label}}if(M.cellsFormat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(W)){W=a.jqx.dataFormat.formatdate(W,M.cellsFormat,N.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(W)||(!isNaN(parseFloat(W))&&isFinite(W))){W=a.jqx.dataFormat.formatnumber(W,M.cellsFormat,N.gridlocalization)}}}}if(M.cellclassname!=""&&M.cellclassname){if(typeof M.cellclassname=="string"){aJ+=" "+M.cellclassname}else{var aI=M.cellclassname(R,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(aI){aJ+=" "+aI}}}if(M.cellsRenderer!=""&&M.cellsRenderer){var C=M.cellsRenderer(ad,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(C!==undefined){W=C}}if(h.aggregate){if(M.aggregates){var av=au.siblings.slice(0,au.siblings.length-1);var Y=N._calculateaggregate(M,null,true,av);au[M.displayfield]="";if(Y){if(M.aggregatesRenderer){if(Y){var G=M.aggregatesRenderer(Y[M.datafield],M,null,N.getcolumnaggregateddata(M.datafield,M.aggregates,false,av),"subAggregates");W=G;var O=Object.keys(Y[M.datafield]);au[M.displayfield]+=name+":"+Y[M.datafield][O[0]]+"\n"}}else{W="";au[M.displayfield]="";a.each(Y,function(){var i=this;for(var s in i){var c=s;c=N._getaggregatename(c);var j='<div style="position: relative; margin: 0px; overflow: hidden;">'+c+":"+i[s]+"</div>";W+=j;au[M.displayfield]+=c+":"+i[s]+"\n"}})}}else{W=""}}}if((o===1&&!N.rtl)||(M==ac&&N.rtl)||(m>0&&au[J.level]<m)){var af="";var d=N.toThemeProperty("jqx-tree-grid-indent");var Z=h.leaf?1:0;for(var F=0;F<au[J.level]+Z;F++){af+="<span class='"+d+"'></span>"}var am="<span class='"+u+"'></span>";var aA="";var e="";if(this.checkboxes&&!au.aggregate){var aD=N.toThemeProperty("jqx-tree-grid-checkbox")+" "+d+" "+N.toThemeProperty("jqx-checkbox-default")+" "+N.toThemeProperty("jqx-fill-state-normal")+" "+N.toThemeProperty("jqx-rc-all");var g=true;if(a.isFunction(this.checkboxes)){g=this.checkboxes(ad,au);if(g==undefined){g=false}}if(g){if(h){var ay=h.checked;if(ay===undefined){ay=false}if(this.hierarchicalCheckboxes==false&&ay===null){ay=false}if(ay){aA+="<span checked='true' class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-checked")+"'></div></span>"}else{if(ay===false){aA+="<span checked='undefined' class='"+aD+"'></span>"}else{aA+="<span class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-indeterminate")+"'></div></span>"}}}else{aA+="<span class='"+aD+"'></span>"}}}if(this.icons&&!au.aggregate){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+d;if(N.rtl){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+N.toThemeProperty("jqx-tree-grid-icon-rtl")+" "+d}var aB=N.toThemeProperty("jqx-tree-grid-icon-size")+" "+d;var f=h.icon;if(a.isFunction(this.icons)){h.icon=this.icons(ad,au);if(h.icon){f=true}}if(f){if(h.icon){e+="<span class='"+ag+"'><img class='"+aB+"' src='"+h.icon+"'/></span>"}else{e+="<span class='"+ag+"'></span>"}}}var ae=N.autoRowHeight&&o===1&&M.autoCellHeight?" "+N.toTP("jqx-grid-cell-wrap"):"";var aj=af+am+aA+e+"<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>";if(!N.rtl){W=aj}else{W="<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>"+e+aA+am+af}}if(m>0&&P&&Q>=m){if(au[J.level]<m){aw+="padding-left: 5px; border-left-width: 0px;";ak+="padding-left: 5px; border-left-width: 0px;";W="<span style='visibility: hidden;'>-</span>"}}aw+='" class="'+aJ+'">';aw+=W;aw+="</td>";ak+='" class="'+aJ+'">';ak+=W;ak+="</td>";if(!M.pinned){n+=aw;if(r){ao+=ak}}else{ao+=aw;n+=aw}if(m>0&&!P){if(au[J.level]<m&&!au.aggregate){break}}}if(az==0){N.table[0].style.width=V+2+"px";az=V}n+="</tr>";ao+="</tr>";y+=n;X+=ao;if(N.rowDetails&&!au.aggregate&&this.rowDetailsRenderer){var l='<tr data-role="row-details"><td valign="top" align="left" style="pointer-events: auto; max-width:'+ax+"px; width:"+ax+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+N.columns.records.length+'" role="gridcell"';var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-details");aJ+=" "+N.toTP("jqx-reset");var ai=this.rowDetailsRenderer(ad,au);if(ai){l+='" class="'+aJ+'"><div style="pointer-events: auto; overflow: hidden;"><div data-role="details">'+ai+"</div></div></td></tr>";y+=l;X+=l}}}y+="</table>";X+="</table>";if(r){if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(X+y)})}else{N.table[0].innerHTML=X+y}var aE=N.table.find("#table"+N.element.id);var aF=N.table.find("#pinnedtable"+N.element.id);aF.css("float","left");aF.css("pointer-events","none");aE.css("float","left");aF[0].style.position="absolute";aE[0].style.position="relative";aE[0].style.zIndex=aH-10;aF[0].style.zIndex=aH+10;N._table=aE;N._table[0].style.left="0px";N._pinnedTable=aF;if(P){aF[0].style.left="0px"}N._table[0].style.width=az+"px";N._pinnedTable[0].style.width=az+"px";if(N.rtl&&N._haspinned){N._pinnedTable[0].style.left=3-az+parseInt(N.element.style.width)+"px"}}else{if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(y)})}else{N.table[0].innerHTML=y}var K=N.table.find("#table"+N.element.id);N._table=K;if(a.jqx.browser.msie&&a.jqx.browser.version<10){N._table[0].style.width=az+"px"}if(D===0){N._table[0].style.width=(2+az)+"px"}}if(D===0){N._table[0].style.tableLayout="auto";if(N._pinnedTable){N._pinnedTable[0].style.tableLayout="auto"}}if(N.showAggregates){N._updatecolumnsaggregates()}if(N._loading&&D==0){N._arrange();this._showLoadElement()}if(N.rendered){N.rendered()}},propertyChangedHandler:function(d,m,c,l){if(d.isInitialized==undefined||d.isInitialized==false){return}var g=d.base;if(m=="pageSizeMode"||m=="hierarchicalCheckboxes"){d._renderrows()}else{if(m=="filterable"){g._render()}else{if(m==="height"){g.host.height(d.height);g.host.width(d.width);g._updatesize(false,true)}else{if(m==="width"){g.host.height(d.height);g.host.width(d.width);g._updatesize(true,false)}else{if(m==="source"){g.updateBoundData()}else{if(m==="columns"||m==="columnGroups"){g._columns=null;g._render()}else{if(m==="rtl"){g.content.css("left","");d.columns=d._columns;g.vScrollBar.jqxScrollBar({rtl:l});g.hScrollBar.jqxScrollBar({rtl:l});g._render()}else{if(m==="pagerMode"){d.pagerMode=l;g._initpager()}else{if(m=="pageSizeOptions"){g._initpager();var k=false;for(var f=0;f<l.length;f++){if(parseInt(l[f])==d.pageSize){k=true;break}}if(!k){a.jqx.set(d,[{pageSize:l[0]}])}}else{if(m=="pageSize"){var h=g.dataview.pagenum*g.dataview.pagesize;g.dataview.pagesize=g.pageSize;var j=Math.floor(h/g.dataview.pagesize);if(j!==g.dataview.pagenum||parseInt(l)!==parseInt(c)){d._raiseEvent("pageSizeChanged",{pagenum:l,oldpageSize:c,pageSize:g.dataview.pagesize});var n=d.goToPage(j);if(!n){g.refresh()}}}else{if(m==="pagerPosition"){g.refresh()}else{if(m==="selectionMode"){g.selectionMode=l.toLowerCase()}else{if(m=="touchmode"){g.touchDevice=null;g._removeHandlers();g.touchDevice=null;g.vScrollBar.jqxScrollBar({touchMode:l});g.hScrollBar.jqxScrollBar({touchMode:l});g._updateTouchScrolling();g._arrange();g._updatecolumnwidths();g._renderrows();g._addHandlers()}else{if(m=="enableHover"){return}else{if(m=="disabled"){if(l){g.base.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{g.base.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(g.pageable){if(g.pagernexttop){g.pagernexttop.jqxButton({disabled:l});g.pagerprevioustop.jqxButton({disabled:l});g.pagernextbottom.jqxButton({disabled:l});g.pagerpreviousbottom.jqxButton({disabled:l});g.pagerfirsttop.jqxButton({disabled:l});g.pagerfirstbottom.jqxButton({disabled:l});g.pagerlasttop.jqxButton({disabled:l});g.pagerlastbottom.jqxButton({disabled:l});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({disabled:false});g.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}g.base.host.find(".jqx-grid-pager-number").css("cursor",l?"default":"pointer")}g.base.host.find(".jqx-grid-group-collapse").css("cursor",l?"default":"pointer");g.base.host.find(".jqx-grid-group-expand").css("cursor",l?"default":"pointer")}else{if(m=="columnsHeight"){g._render()}else{if(m=="theme"){var e=l;g.theme=l;a.jqx.utilities.setTheme(c,l,g.host);g.vScrollBar.jqxScrollBar({theme:e});g.hScrollBar.jqxScrollBar({theme:e});if(g.pageable&&g.pagernexttop){g.pagernexttop.jqxButton({theme:e});g.pagerprevioustop.jqxButton({theme:e});g.pagernextbottom.jqxButton({theme:e});g.pagerpreviousbottom.jqxButton({theme:e});g.pagerfirsttop.jqxButton({theme:e});g.pagerfirstbottom.jqxButton({theme:e});g.pagerlasttop.jqxButton({theme:e});g.pagerlastbottom.jqxButton({theme:e});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({theme:e});g.pagershowrowscombobottom.jqxDropDownList({theme:e})}}}if(g.filterable){var b=a(".filterconditions");if(b.length>0){b.jqxDropDownList({theme:e})}if(g.filtercolumnsList){g.filtercolumnsList.jqxDropDownList({theme:e})}}g.refresh()}else{g.refresh()}}}}}}}}}}}}}}}}}},checkRow:function(c,d,b){var e=this.base;var g=e._names();if(e._loading){return}var f=e.rowinfo[c];if(f){f.checked=true;f.row[g.checked]=true;if(f.originalRecord){f.originalRecord[g.checked]=true}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(f.row,f.row)}if(d!==false){e._renderrows()}e._raiseEvent("rowCheck",{key:c,row:f.row})}else{var h=this.getRow(c);if(h){e.rowinfo[c]={row:h,checked:true};e.rowinfo[c].row[g.checked]=true;if(h.originalRecord){e.rowinfo[c].originalRecord=h.originalRecord}e._raiseEvent("rowCheck",{key:c,row:h});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(h,h)}if(d!==false){e._renderrows()}}}},checkRows:function(d,n){var e=this.base;var j=this;var i=e._names();var l=function(o){var p=new Array();var q=function(s){for(var r=0;r<s.length;r++){p.push(s[r]);if(!s[r]){continue}if(s[r].records){q(s[r].records)}}};if(o.records){q(o.records)}return p};if(d!=null){var f=0;var c=false;var g=0;var b=function(o){for(var p=0;p<o.length;p++){if(!o[p]){continue}var q=o[p][i.checked];if(q===undefined){q=false}if(q!=false){if(o[p][i.checked]==null){c=true}if(o[p].records){b(o[p].records)}f++}g++}};if(d.records){b(d.records)}if(d!=n){if(f==g){this.checkRow(d.uid,false,"tree")}else{if(f>0){this.indeterminateRow(d.uid,false,"tree")}else{this.uncheckRow(d.uid,false,"tree")}}}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}var m=d[i.parent]?d[i.parent]:null;this.checkRows(m,n)}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}},indeterminateRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=null;g.row[h.checked]=null;if(g.originalRecord){g.originalRecord[h.checked]=null}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:null};f.rowinfo[c].row[h.checked]=null;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},uncheckRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=false;g.row[h.checked]=false;if(g.originalRecord){g.originalRecord[h.checked]=false}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}f._raiseEvent("rowUncheck",{key:c,row:g.row})}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:false};f.rowinfo[c].row[h.checked]=false;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}f._raiseEvent("rowUncheck",{key:c,row:i});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},expandRows:function(c){var e=this;if(!c){return}if(e.virtualModeCreateRecords){a.each(c,function(){var f=this;var g=function(){e.base._loading=false;e.expandRows(f.records)};e.base._loading=false;e.expandRow(f.uid,g)})}else{for(var d=0;d<c.length;d++){var b=c[d];e.expandRow(b.uid);e.expandRows(b.records)}}},collapseRows:function(b){if(!b){return}for(var c=0;c<b.length;c++){this.collapseRow(b[c].uid);this.collapseRows(b[c].records)}},expandAll:function(){var b=this.base;b.beginUpdate();this.expandRows(this.getRows());b.endUpdate()},collapseAll:function(){var b=this.base;b.beginUpdate();this.collapseRows(this.getRows());b.endUpdate()},expandRow:function(h,j){var d=this.base;if(d._loading){return}var e=d._names();var f=this;var b=d.rowinfo[h];if(!b){var k=this.getRow(h);if(k){d.rowinfo[h]={row:k};if(k.originalRecord){d.rowinfo[h].originalRecord=k.originalRecord}b=d.rowinfo[h]}}if(b){if(b.expanded){b.row[e.expanded]=true;return}b.expanded=true;b.row[e.expanded]=true;if(b.originalRecord){b.originalRecord[e.expanded]=true}if(this.virtualModeCreateRecords&&!b.row._loadedOnDemand){var c=function(m){b.row._loadedOnDemand=true;if(m===false){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}return}for(var n=0;n<m.length;n++){m[n][e.level]=b.row[e.level]+1;m[n][e.parent]=b.row;if(d.rowsByKey[m[n].uid]){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}throw new Error("Please, check whether you Add Records with unique ID/Key. ")}d.rowsByKey[m[n].uid]=m[n];f.virtualModeRecordCreating(m[n])}if(!b.row.records){b.row.records=m}else{b.row.records=b.row.records.concat(m)}if((!m)||(m&&m.length==0)){b.leaf=true;b.row[e.leaf]=true}if(b.originalRecord){b.originalRecord.records=m;b.originalRecord[e.expanded]=true;if(m.length==0){b.originalRecord[e.leaf]=true}}d._loading=false;f._hideLoadElement();var l=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var o=l!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||o){d._arrange()}d._renderhorizontalscroll();if(j){j()}};if(!b.row[e.leaf]){d._loading=true;this._showLoadElement();this.virtualModeCreateRecords(b.row,c);return}}if(!d.updating()){var g=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var i=g!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||i){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowExpand",{row:b.row,key:h})}}},collapseRow:function(c){var d=this.base;var g=d._names();if(d._loading){return}var f=d.rowinfo[c];if(!f){var h=this.getRow(c);if(h){d.rowinfo[c]={row:h};if(h.originalRecord){d.rowinfo[c].originalRecord=h.originalRecord}f=d.rowinfo[c]}}if(f){if(!f.expanded){f.row[g.expanded]=false;return}f.expanded=false;f.row[g.expanded]=false;if(f.originalRecord){f.originalRecord[g.expanded]=false}if(!d.updating()){var b=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var e=b!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||e){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowCollapse",{row:f.row,key:c})}}}})})(jqxBaseFramework);
 
 (function(c){c.jqx.jqxWidget("jqxTreeMap","",{});var d={};d["default"]=(function(){function g(r,s,q,p){this.height=p;this.width=q;this.xoffset=r;this.yoffset=s;this.shortestEdge=function(){return Math.min(this.height,this.width)};this.getCoordinates=function(y){var x=[],v=this.xoffset,z=this.yoffset,w=j(y)/this.height,u=j(y)/this.width;if(this.width>=this.height){for(var t=0;t<y.length;t+=1){x.push([v,z,v+w,z+y[t]/w]);z=z+y[t]/w}}else{for(var t=0;t<y.length;t+=1){x.push([v,z,v+y[t]/u,z+u]);v=v+y[t]/u}}return x};this.cutArea=function(w){var y;if(this.width>=this.height){var x=w/this.height,t=this.width-x;y=new g(this.xoffset+x,this.yoffset,t,this.height)}else{var v=w/this.width,u=this.height-v;y=new g(this.xoffset,this.yoffset+v,this.width,u)}return y}}function o(t,r){var s=[],q=j(t),u=r/q;for(var p=0;p<t.length;p+=1){s[p]=t[p]*u}return s}function e(s,q,x,u,p){u=(typeof u==="undefined")?0:u;p=(typeof p==="undefined")?0:p;var v=[],w,t=[];if(h(s[0])){for(var r=0;r<s.length;r+=1){v[r]=i(s[r])}w=m(v,q,x,u,p);for(var r=0;r<s.length;r+=1){t.push(e(s[r],w[r][2]-w[r][0],w[r][3]-w[r][1],w[r][0],w[r][1]))}}else{t=m(s,q,x,u,p)}return t}function m(s,r,p,t,u){t=(typeof t==="undefined")?0:t;u=(typeof u==="undefined")?0:u;var q=f(o(s,r*p),[],new g(t,u,r,p),[]);return n(q)}function n(r){var s=[];for(var q=0;q<r.length;q+=1){for(var p=0;p<r[q].length;p+=1){s.push(r[q][p])}}return s}function f(u,t,q,p){var s,r,v;if(u.length===0){p.push(q.getCoordinates(t));return}s=q.shortestEdge();r=u[0];if(l(t,r,s)){t.push(r);f(u.slice(1),t,q,p)}else{v=q.cutArea(j(t),p);p.push(q.getCoordinates(t));f(u,[],v,p)}return p}function l(t,q,r){var s;if(t.length===0){return true}s=t.slice();s.push(q);var u=k(t,r),p=k(s,r);return u>=p}function k(t,s){var q=Math.min.apply(Math,t),p=Math.max.apply(Math,t),r=j(t);return Math.max(Math.pow(s,2)*p/Math.pow(r,2),Math.pow(r,2)/(Math.pow(s,2)*q))}function h(p){return p&&p.constructor===Array}function j(p){var r=0;for(var q=0;q<p.length;q+=1){r+=p[q]}return r}function i(p){var r=0;if(h(p[0])){for(var q=0;q<p.length;q+=1){r+=i(p[q])}}else{r=j(p)}return r}return e}());function b(g,l,i,h,j,f,k,e){this.label=g;this.value=l;this.parent=i;this.children=h;this.area=j||null;this.color=f;this.data=k;this.record=e}var a={HORIZONTAL:0,VERTICAL:1,BOTH:2};c.extend(c.jqx._jqxTreeMap.prototype,{defineInstance:function(){var e={width:600,height:600,renderCallbacks:{},legendScaleCallback:function(f){return f},hoverEnabled:false,selectionEnabled:true,singleSelection:true,showLegend:true,legendLabel:"Legend",headerHeight:25,colorRange:100,layout:"default",source:[],displayMember:null,valueMember:null,colorMode:"parent",baseColor:"#C2EEFF",legendPosition:{x:0,y:0},colorRanges:[{color:"#aa9988",min:0,max:10},{color:"#ccbbcc",min:11,max:50},{color:"#000",min:50,max:100}],_root:[]};if(this===c.jqx._jqxTreeMap.prototype){return e}c.extend(true,this,e);return e},createInstance:function(){this.render()},render:function(){this.host.addClass(this.toThemeProperty("jqx-widget"));this._destroy();this._root=new b(undefined,0,null,[],this.host);var e=function(h,k){var n={},l;var m=null;for(var j=0;j<h.length;j+=1){if(h[j].items){m=true;break}}var f=new Array();if(m){var g=function(v,s){for(var q=0;q<v.length;q+=1){v[q].parent=s;if(!v[q].data){v[q].data=v[q].value}if(v[q].value==null){v[q].value=0}if(isNaN(parseFloat(v[q].value))){var w=v[q].value.toString();var u="";for(var p=0;p<w.length;p++){var r=w.substring(p,p+1);if(r.match(/^[0-9]+$/)!=null||r=="."){u+=r}}v[q].value=new Number(u)}else{v[q].value=parseFloat(v[q].value)}f.push(v[q]);if(v[q].items){g(v[q].items,v[q].label)}}};g(h,null);h=f}for(var j=0;j<h.length;j+=1){l=h[j];if(l.value){if(l.parent!=null){if(!n[l.parent]){n[l.parent]=0}n[l.parent]+=l.value}}}for(var j=0;j<h.length;j+=1){l=h[j];if(n[l.label]!==undefined){l.value=n[l.label]}}k._buildTree(h,k._root);k._dataList=k._buildList();k._setStyles();var o=d["default"];if(k.layout==="simple"){o=d.simple}k._render(k._root,o);k._renderLegend()};if(c.jqx.dataAdapter&&this.source!=null&&this.source._source){this.dataBind(this.source,e);return}e(this.source,this);this._trigger("bindingComplete")},dataBind:function(e,m){this.records=new Array();var h=e._source?true:false;var f=new c.jqx.dataAdapter(e,{autoBind:false});if(h){f=e;e=e._source}var g=function(n){if(e.type!=undefined){f._options.type=e.type}if(e.formatdata!=undefined){f._options.formatData=e.formatdata}if(e.contenttype!=undefined){f._options.contentType=e.contenttype}if(e.async!=undefined){f._options.async=e.async}};var j=function(p,o){p.records=f.records;var q=new Array();for(var n=0;n<p.records.length;n++){var r=p.records[n];if(p.displayMember){r.label=r[p.displayMember]}if(p.valueMember){r.value=r[p.valueMember]}r.record=r;q.push(r)}p._trigger("bindingComplete");m(q,p)};g(this);var k=this;switch(e.datatype){case"local":case"array":default:if(e.localdata!=null){f.unbindBindingUpdate(this.element.id);f.dataBind();j(this);f.bindBindingUpdate(this.element.id,function(n){j(k,n)})}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(e.localdata!=null){f.unbindBindingUpdate(this.element.id);f.dataBind();j(this);f.bindBindingUpdate(this.element.id,function(){j(k)});return}var l={};if(f._options.data){c.extend(f._options.data,l)}else{if(e.data){c.extend(l,e.data)}f._options.data=l}var i=function(){j(k)};f.unbindDownloadComplete(k.element.id);f.bindDownloadComplete(k.element.id,i);f.dataBind()}},_destroy:function(){this.host.children().remove()},destroy:function(){this.host.remove()},refresh:function(e){if(!e){this._refresh()}},_refresh:function(){this.render()},_setStyles:function(){this.host.css({position:"relative",width:this.width,height:this.height});var e=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){e=true}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){e=true}var f=this;c.jqx.utilities.resize(this.host,function(){if(f.resizeTimer){clearTimeout(f.resizeTimer)}f.resizeTimer=setTimeout(function(){f.performLayout()},50)})},resize:function(f,e){this.width=f;this.height=e;this.performLayout()},performLayout:function(){var e=d["default"];this.clearSelection();this._layout(this._root,e)},_getValues:function(g){var e=[];for(var f=0;f<g.length;f+=1){e.push(g[f].value)}return e},_isColor:function(e){if(!e){return false}var f=this._colorEvaluator;if(f._isRgb(e)||f._isHex(e)){return true}return false},_colorEvaluator:{_toRgb:function(f){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(f);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null},_toHex:function(f){var i=f.r.toString(16),h=f.g.toString(16),e=f.b.toString(16);i=i.length===1?"0"+i:i;h=h.length===1?"0"+h:h;e=e.length===1?"0"+e:e;return"#"+i+h+e},_isRgb:function(e){return(/(rgb|rgba)\s*\(\s*\d+\s*(,\s*\d+\s*){2}(,\d+\.\d+)?\)(;?)/i).test(e)},_isHex:function(e){return(/^(#([0-9A-F]{3})([0-9A-F]{3})?)$/i).test(e)},getColorByValue:function(n,j,k){var o=this._colorEvaluator,m,l,e,f,g,j;if(o._isRgb(k)){k=o._toHex(k)}k=o._toRgb(k);e=j.length;m=-Infinity;for(var h=0;h<e;h+=1){if(m<j[h].value){m=j[h].value}}l=n/m;f=Math.round(l*this.colorRange);g=o._toHex({r:Math.max(k.r-f,0),g:Math.max(k.g-f,0),b:Math.max(k.b-f,0)});return g},parent:function(g){var f=g.parent.color,e=this._colorEvaluator;if(!g.parent){return"#fff"}if(!f){f=this.baseColor}f=e.getColorByValue.call(this,g.value,g.parent.children,f);g.color=f;return f},autoColors:function(g){var f=this.baseColor,e=this._colorEvaluator;f=e.getColorByValue.call(this,g.value,this._dataList,f);g.color=f;return f},rangeColors:function(f){var h=f.value,g;for(var e=0;e<this.colorRanges.length;e+=1){g=this.colorRanges[e];if(g.min<h&&g.max>=h){return g.color}}return"#fff"}},_getColor:function(f){var e=f.color,g=this.colorMode;if(this._isColor(e)){return e}if(typeof this._colorEvaluator[g]==="function"){return this._colorEvaluator[g].call(this,f)}else{throw"Invalid colorMode"}},_renderRect:function(i,f){var j=c("<div/>"),e=i[2]-i[0],l=i[3]-i[1];var g=this._getColor(f);j.css({position:"absolute",left:i[0]-1,top:i[1]-1,width:e,height:l,backgroundColor:g});j.addClass(this.toThemeProperty("jqx-treemap-rectangle"));var k=this._colorEvaluator;var h={data:f.data,label:f.label,value:f.value,parent:f.parent,record:f.record,color:g,rgb:k._toRgb(g)};if(f.parent==this._root){h.parent=null}if(typeof this.renderCallbacks["*"]==="function"){var m=this.renderCallbacks["*"](j,h);if(m!==undefined){return j}}if(typeof this.renderCallbacks[f.label]==="function"){this.renderCallbacks[f.label](j,h)}else{var e=j.width()-2;j.html('<span style="max-width:'+e+'px;" class="jqx-treemap-label">'+f.label+"</span>")}return j},_centerLabel:function(g,f){var e=g[0].firstChild;e.style.position="absolute";if(f===a.HORIZONTAL||f===a.BOTH){e.style.left=(g[0].offsetWidth-e.offsetWidth)/2+"px"}if(f===a.VERTICAL||f===a.BOTH){e.style.top=(g[0].offsetHeight-e.offsetHeight)/2+"px"}},_trigger:function(g,f){var h=c.Event(g);h.args=f;return this.host.trigger(h)},_addHandlers:function(e,g){var f=this;e.on("mouseenter",function(h){if(f.hoverEnabled){f.host.find(".jqx-treemap-rectangle").removeClass("jqx-treemap-rectangle-hover");e.addClass(f.toThemeProperty("jqx-treemap-rectangle-hover"))}f._trigger("mouseenterSector",g)});e.on("mouseleave",function(h){if(f.hoverEnabled){e.removeClass("jqx-treemap-rectangle-hover")}f._trigger("mouseleaveSector",g)});e.on("click",function(i){if(f.selectionEnabled){var h=c.data(this,"jqx-treemap-selected")||false;if(f.singleSelection){f.host.find(".jqx-treemap-rectangle-hover").each(function(j,k){c.data(k,"jqx-treemap-selected",false);c(k).removeClass("jqx-treemap-rectangle-hover")})}if(h){e.removeClass("jqx-treemap-rectangle-hover");h=false}else{e.addClass(f.toThemeProperty("jqx-treemap-rectangle-hover"));h=true}c.data(this,"jqx-treemap-selected",h);i.stopImmediatePropagation()}})},clearSelection:function(){this.host.find(".jqx-treemap-rectangle-hover").removeClass(this.toThemeProperty("jqx-treemap-rectangle-hover"));c.data(this,"jqx-treemap-selected",false)},_layoutArea:function(f,e){if(f.children.length&&f.children.length>0){this._centerLabel(e,a.HORIZONTAL);e.addClass(this.toThemeProperty("jqx-treemap-rectangle-parent"))}else{this._centerLabel(e,a.BOTH)}},_render:function(f,l){if(!f.children.length){return}var e=0;if(f.value){e=this.headerHeight}var n=this._getValues(f.children),g=f.area.offset(),j=l(n,f.area.width(),f.area.height()-e,0,e),k,m;for(var h=0;h<f.children.length;h+=1){k=f.children[h];m=this._renderRect(j[h],k);k.area=m;f.area.append(m);this._addHandlers(m,{label:k.label,value:k.value,color:k.color,sector:k.area,data:k.data});this._layoutArea(k,m);this._render(k,l)}},_layout:function(f,l){if(!f.children.length){return}var e=0;if(f.value){e=this.headerHeight}var n=this._getValues(f.children),g=f.area.offset(),h=l(n,f.area.width(),f.area.height()-e,0,e),m;for(var j=0;j<f.children.length;j+=1){var k=f.children[j];this._layoutRect(h[j],k);this._layoutArea(k,k.area);this._layout(k,l)}if(this.showLegend){c(".jqx-treemap-legend").remove();this._renderLegend()}},_layoutRect:function(i,f){var j=f.area,e=i[2]-i[0],l=i[3]-i[1];j.css({left:i[0]-1,top:i[1]-1,width:e,height:l});var k=this._colorEvaluator;var g=this._getColor(f);var h={data:f.data,label:f.label,value:f.value,parent:f.parent,record:f.record,color:g,rgb:k._toRgb(g)};if(f.parent==this._root){h.parent=null}if(typeof this.renderCallbacks["*"]==="function"){var m=this.renderCallbacks["*"](j,h);if(m!==undefined){return j}}if(typeof this.renderCallbacks[f.label]==="function"){this.renderCallbacks[f.label](j,h)}else{var e=j.width()-2;j.find(".jqx-treemap-label:first").css("max-width",e)}},_getBoundValues:function(){var g=this._root,f=[],k,j={},e={};j.value=g.value||Infinity;e.value=g.value||-Infinity;f.push(g);while(f.length){k=f.pop();if(j.value>k.value){j=k}if(e.value<k.value){e=k}for(var h=0;h<k.children.length;h+=1){f.push(k.children[h])}}return[j,e]},_getAutocolorRanges:function(){var l=this._getBoundValues(),g=5,e=l[1].value,j=l[0].value,f=(e-j)/g,m,k=[];for(var h=j;h<e;h+=f){m=Math.round(h);k.push({min:m,max:h+f,color:this._colorEvaluator.getColorByValue.call(this,m,this._dataList,this.baseColor)})}return k},_renderLegend:function(){if(!(/autoColors|rangeColors/).test(this.colorMode)||!this.showLegend){return}var e=this.colorRanges;if(this.colorMode==="autoColors"){e=this._getAutocolorRanges()}var f=this._renderColorLegend(e);this._renderLegendLabel(f)},_renderLegendLabel:function(f){var g=c('<tr><td colspan="'+f.find("td").length/2+'"/></tr>'),e=c('<div class="'+this.toThemeProperty("jqx-treemap-legend-label")+'" />');e.text(this.legendLabel);g.children().append(e);f.prepend(g)},_renderColorLegend:function(e){var o=c('<div class="'+this.toThemeProperty("jqx-treemap-legend")+'"/>'),q,n,r,p=function(i){return i};if(typeof this.legendScaleCallback==="function"){p=this.legendScaleCallback}var s=c('<table class="'+this.toThemeProperty("jqx-treemap-legend-table")+'"/>');o.append(s);s.append("<tr/>");o.append("<div/>");this.host.append(o);q=c(o.find("tr")[0]);n=c(o.find("div")[0]);n.addClass(this.toThemeProperty("jqx-treemap-legend-values"));var g=function(t,i){try{if(t.min<i.min){return -1}if(t.min>i.min){return 1}}catch(u){var v=u}return 0};e.sort(g);var f=Math.round(o.width()/e.length);var m=-2;var h=0;for(var k=0;k<e.length;k+=1){var j=c('<td class="'+this.toThemeProperty("jqx-treemap-legend-color")+'"/>');j.css("backgroundColor",e[k].color);q.append(j);if(k===0){var l=c('<span class="'+this.toThemeProperty("jqx-treemap-legend-max-value")+" "+this.toThemeProperty("jqx-treemap-legend-value")+'"/>');l.text(p(e[k].min));n.append(l);s.css("margin-left",l.width()/2);m+=l.width()/2;h=m}var l=c('<span class="'+this.toThemeProperty("jqx-treemap-legend-max-value")+" "+this.toThemeProperty("jqx-treemap-legend-value")+'"/>');m+=f;l.text(p(e[k].max));n.append(l);if(k==e.length-1){h+=l.width()/2;o.css("padding-right",h+5);m-=2}m-=l.width()/2;l.css("left",m);m+=l.width()/2}o.css({position:"absolute",left:this.legendPosition.x,bottom:this.legendPosition.y,visibility:(this.showLegend)?"visible":"hidden"});return o},_buildTree:function(k,f){var g=null,m,l,e=[];e.push(f);while(e.length){g=e.pop();for(var h=0;h<k.length;h+=1){l=k[h];if(l.parent===g.label||(!l.parent&&!g.label)){var j=g;m=new b(l.label,parseFloat(l.value,10),j,[],null,l.color,l.data,l.record);g.children.push(m);e.push(m)}}}return f},_buildList:function(){var f=[],e=[],h;e.push(this._root);while(e.length){h=e.pop();if(h!==this._root){f.push(h)}for(var g=0;g<h.children.length;g+=1){e.push(h.children[g])}}return f},propertyChangedHandler:function(g,e,h){if(e==="renderCallbacks"){return}if((/hoverEnabled|selectionEnabled/).test(e)){if(!h){this.host.find("jqx-treemap-rectangle-hover")}}else{if(e==="showLegend"){this.host.find("jqx-treemap-legend").toggle()}else{this._refresh()}}}})}(jqxBaseFramework));
 
-(function(a){a.jqx.jqxWidget("jqxValidator","",{});a.extend(a.jqx._jqxValidator.prototype,{defineInstance:function(){var b={rules:null,scroll:true,focus:true,scrollDuration:300,scrollCallback:null,position:"right",arrow:true,animation:"fade",animationDuration:150,closeOnClick:true,onError:null,onSuccess:null,ownerElement:null,_events:["validationError","validationSuccess"],hintPositionOffset:5,_inputHint:[],rtl:false,hintType:"tooltip"};if(this===a.jqx._jqxValidator.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){if(this.hintType=="label"&&this.animationDuration==150){this.animationDuration=0}this._configureInputs();this._removeEventListeners();this._addEventListeners()},destroy:function(){this._removeEventListeners();this.hide()},validate:function(q){var b=true,p,f=Infinity,j,h,c,k=[],o;this.updatePosition();var l=this;var d=0;for(var g=0;g<this.rules.length;g+=1){if(typeof this.rules[g].rule==="function"){d++}}this.positions=new Array();for(var g=0;g<this.rules.length;g+=1){var n=a(this.rules[g].input);if(typeof this.rules[g].rule==="function"){var m=function(s,r){p=s;if(false==p){b=false;var i=a(r.input);c=a(r.input);k.push(c);var t=c.offset();if(t){j=t.top;if(f>j){f=j;h=c}}}d--;if(d==0){if(typeof q==="function"){l._handleValidation(b,f,h,k);if(q){q(b)}}}};this._validateRule(this.rules[g],m)}else{p=this._validateRule(this.rules[g])}if(false==p){b=false;c=a(this.rules[g].input);k.push(c);var e=c.offset();if(e){j=e.top;if(f>j){f=j;h=c}}}}if(d==0){this._handleValidation(b,f,h,k);return b}else{return undefined}},validateInput:function(b){var e=this._getRulesForInput(b),d=true;for(var c=0;c<e.length;c+=1){if(!this._validateRule(e[c])){d=false}}return d},hideHint:function(b){var d=this._getRulesForInput(b);for(var c=0;c<d.length;c+=1){this._hideHintByRule(d[c])}},hide:function(){var c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];this._hideHintByRule(this.rules[b])}},updatePosition:function(){var c;this.positions=new Array();for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(c.hint){this._hintLayout(c.hint,a(c.input),c.position,c)}}},_getRulesForInput:function(b){var d=[];for(var c=0;c<this.rules.length;c+=1){if(this.rules[c].input===b){d.push(this.rules[c])}}return d},_validateRule:function(f,i){var b=a(f.input),h,e=true;var d=this;var g=function(k){if(!k){var j=d.animation;d.animation=null;if(f.hint){d._hideHintByRule(f)}if(a(b).css("display")=="none"){d._hideHintByRule(f);return}if(a(b).parents().length==0){d._hideHintByRule(f);return}h=f.hintRender.apply(d,[f.message,b]);d._hintLayout(h,b,f.position,f);d._showHint(h);f.hint=h;d._removeLowPriorityHints(f);if(i){i(false,f)}d.animation=j}else{d._hideHintByRule(f);if(i){i(true,f)}}};var c=false;if(typeof f.rule==="function"){c=f.rule.call(this,b,g);if(c==true&&i){i(true,f)}}if(typeof f.rule==="function"&&c==false){if(typeof f.hintRender==="function"&&!f.hint&&!this._higherPriorityActive(f)&&b.is(":visible")){h=f.hintRender.apply(this,[f.message,b]);this._removeLowPriorityHints(f);this._hintLayout(h,b,f.position,f);this._showHint(h);f.hint=h}e=false;if(i){i(false,f)}}else{this._hideHintByRule(f)}return e},_hideHintByRule:function(e){var c=a(e.input);var b=this,f;var d=function(){if(b.hintType!="label"){return}var g=b;if(g.position=="top"||g.position=="left"){if(c.prev().hasClass(".jqx-validator-error-label")){return}}else{if(c.next().hasClass(".jqx-validator-error-label")){return}}if(c[0].nodeName.toLowerCase()!="input"){if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}};if(e){f=e.hint;if(f){if(this.positions){if(this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]){this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]=null}}if(this.animation==="fade"){f.fadeOut(this.animationDuration,function(){f.remove();d()})}else{f.remove();d()}}e.hint=null}},_handleValidation:function(b,e,d,c){if(!b){this._scrollHandler(e);if(this.focus){d.focus()}this._raiseEvent(0,{invalidInputs:c});if(typeof this.onError==="function"){this.onError(c)}}else{this._raiseEvent(1);if(typeof this.onSuccess==="function"){this.onSuccess()}}},_scrollHandler:function(c){if(this.scroll){var b=this;a("html,body").animate({scrollTop:c},this.scrollDuration,function(){if(typeof b.scrollCallback==="function"){b.scrollCallback.call(b)}})}},_higherPriorityActive:function(d){var e=false,c;for(var b=this.rules.length-1;b>=0;b-=1){c=this.rules[b];if(e&&c.input===d.input&&c.hint){return true}if(c===d){e=true}}return false},_removeLowPriorityHints:function(d){var e=false,c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(e&&c.input===d.input){this._hideHintByRule(c)}if(c===d){e=true}}},_getHintRuleByInput:function(b){var d;for(var c=0;c<this.rules.length;c+=1){d=this.rules[c];if(a(d.input)[0]===b[0]&&d.hint){return d}}return null},_removeEventListeners:function(){var f,b,e;for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];e=f.action.split(",");b=a(f.input);for(var c=0;c<e.length;c+=1){this.removeHandler(b,a.trim(e[c])+".jqx-validator")}}},_addEventListeners:function(){var f,c;if(this.host.parents(".jqx-window").length>0){var b=this;var g=function(){b.updatePosition()};var e=this.host.parents(".jqx-window");this.addHandler(e,"closed",function(){b.hide()});this.addHandler(e,"moved",g);this.addHandler(e,"moving",g);this.addHandler(e,"resized",g);this.addHandler(e,"resizing",g);this.addHandler(a(document.parentWindow),"scroll",function(){if(b.scroll){g()}})}for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];c=a(f.input);this._addListenerTo(c,f)}},_addListenerTo:function(c,h){var b=this,f=h.action.split(",");var e=false;if(this._isjQWidget(c)){e=true}for(var d=0;d<f.length;d+=1){var g=a.trim(f[d]);if(e&&(g=="blur"||g=="focus")){if(c&&c[0].nodeName.toLowerCase()!="input"){c=c.find("input")}}this.addHandler(c,g+".jqx-validator",function(i){b._validateRule(h)})}},_configureInputs:function(){var b,d;this.rules=this.rules||[];for(var c=0;c<this.rules.length;c+=1){this._handleInput(c)}},_handleInput:function(b){var c=this.rules[b];if(!c.position){c.position=this.position}if(!c.message){c.message="Validation Failed!"}if(!c.action){c.action="blur"}if(!c.hintRender){c.hintRender=this._hintRender}if(!c.rule){c.rule=null}else{this._handleRule(c)}},_handleRule:function(f){var c=f.rule,e,d,b=false;if(typeof c==="string"){if(c.indexOf("=")>=0){c=c.split("=");d=c[1].split(",");c=c[0]}e=this["_"+c];if(e){f.rule=function(g,h){return e.apply(this,[g].concat(d))}}else{b=true}}else{if(typeof c!=="function"){b=true}else{f.rule=c}}if(b){throw new Error("Wrong parameter!")}},_required:function(b){switch(this._getType(b)){case"jqx-input-inner":if(b.find("input").length>0){return a.trim(b.find("input").val())!==""}break;case"textarea":case"password":case"jqx-input":case"jqx-text-area":case"text":var d=a.data(b[0]);if(d.jqxMaskedInput){var e=b.jqxMaskedInput("promptChar"),c=b.jqxMaskedInput("value");return c&&c.indexOf(e)<0}else{if(d.jqxNumberInput){return b.jqxNumberInput("inputValue")!==""}else{if(d.jqxDateTimeInput){return true}else{return a.trim(b.val())!==""}}}case"checkbox":return b.is(":checked");case"radio":return b.is(":checked");case"jqx-check-box":case"jqx-radio-button":return b[0].val();case"jqxCheckBox":case"jqxcheckbox":case"jqxradiobutton":case"jqxRadioButton":var c=b.find("input").val();if(c===true||c===1||c==="true"){return true}return false;break;case"div":if(b.is(".jqx-checkbox")){return b.jqxCheckBox("checked")}if(b.is(".jqx-radiobutton")){return b.jqxRadioButton("checked")}return false}return false},_notNumber:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d)})},_startWithLetter:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d.substring(0,1))})},_number:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=new Number(d);return !isNaN(c)&&isFinite(c)})},_phone:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^\(\d{3}\)(\d){3}-(\d){4}$/;return c.test(d)})},_length:function(c,d,b){return this._minLength(c,d)&&this._maxLength(c,b)},_maxLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length<=b})},_minLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length>=b})},_email:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return c.test(d)})},_zipCode:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/;return c.test(d)})},_ssn:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d{3}-\d{2}-\d{4}/;return c.test(d)})},_validateText:function(b,d){var c;if(this._isTextInput(b)){if(this._isjQWidget(b)){if(b.find("input").length>0){c=b.find("input").val()}else{c=b.val()}}else{c=b.val()}return d(c)}return false},_isjQWidget:function(b){var c=a.data(b[0]);if(c.jqxMaskedInput||c.jqxNumberInput||c.jqxDateTimeInput){return true}if(b[0].tagName.toLowerCase().indexOf("jqx")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-password-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-complex-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-formatted-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-masked-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-date-time-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-number-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-check-box")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-radio-button")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqxcheckbox")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("angular")>=0){return true}return false},_isTextInput:function(b){var c=this._getType(b);return c==="text"||c==="textarea"||c==="password"||c==="jqx-input-inner"||b.is(".jqx-input")||b.is(".jqx-text-area")},_getType:function(c){if(!c[0]){return}var b=c[0].tagName.toLowerCase(),d;if(b==="textarea"){return"textarea"}else{if(c.is(".jqx-input")){return"jqx-input"}else{if(c.is(".jqx-text-area")){return"jqx-text-area"}else{if(c.find(".jqx-input").length>0){return"jqx-input-inner"}else{if(b==="input"){d=a(c).attr("type")?a(c).attr("type").toLowerCase():"text";return d}}}}}if(b==="jqx-password-input"){return"password"}if(b==="jqx-check-box"){return"jqx-check-box"}if(b==="jqx-radio-button"){return"jqx-radio-button"}return b},_hintRender:function(f,c){if(this.hintType=="label"){var g=a('<label class="'+this.toThemeProperty("jqx-validator-error-label")+'"></label>');g.html(f);var d=false;if(c.parent().find(".jqx-input-label").length>0){g=c.parent().find(".jqx-input-label");if(c.data().jqxWidget.hint){g.html(f);g.addClass(this.toThemeProperty("jqx-validator-error-label"));c.data().jqxWidget.host.attr("hint",true)}d=true;this.hasHint=true}var e=this;if(this.closeOnClick){g.click(function(){e.hideHint(c.selector)})}if(!d){if(this.position=="left"||this.position=="top"){g.insertBefore(a(c))}else{g.insertAfter(a(c))}}return g}var g=a('<div class="'+this.toThemeProperty("jqx-validator-hint")+' jqx-rc-all"></div>'),b=this;g.html(f);if(this.closeOnClick){g.click(function(){b.hideHint(c.selector)})}if(this.ownerElement==null){g.appendTo(document.body)}else{if(this.ownerElement.innerHTML){g.appendTo(a(this.ownerElement))}else{g.appendTo(this.ownerElement)}}return g},_hintLayout:function(h,c,b,f){if(this._hintRender===f.hintRender){var i;i=this._getPosition(c,b,h,f);if(this.hintType=="label"){var e="2px";if(this.position=="left"||this.position=="top"){e="-2px"}if(c[0].nodeName.toLowerCase()!="input"&&c[0].nodeName.toLowerCase()!="textarea"){if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}}}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}var d=a("<span></span>");d.addClass(this.toThemeProperty("jqx-validator-hint"));d.html(h.text());d.appendTo(a(document.body));var g=d.outerWidth();d.remove();if(!this.hasHint){h.css({position:"relative",left:a(c).css("margin-left"),width:a(c).width(),top:e});if(b=="center"){h.css("width",g);h.css("left","0px");h.css("margin-left","auto");h.css("margin-right","auto")}}return}h.css({position:"absolute",left:i.left,top:i.top});if(this.arrow){this._addArrow(c,h,b,i)}}},_showHint:function(b){if(b){if(this.animation==="fade"){b.fadeOut(0);b.fadeIn(this.animationDuration)}}},_getPosition:function(i,f,d,g){var e=i.offset(),h,c;var b=i.outerWidth();var j=i.outerHeight();if(this.rtl&&f.indexOf("left")>=0){f="right"}if(this.rtl&&f.indexOf("right")>=0){f="left"}if(this.ownerElement!=null){e={left:0,top:0};e.top=parseInt(e.top)+i.position().top;e.left=parseInt(e.left)+i.position().left}if(g&&g.hintPositionRelativeElement){var k=a(g.hintPositionRelativeElement);e=k.offset();b=k.width();j=k.height()}if(f.indexOf("top")>=0){h=e.top-j}else{if(f.indexOf("bottom")>=0){h=e.top+d.outerHeight()+this.hintPositionOffset+5}else{h=e.top}}if(f.indexOf("center")>=0){c=e.left+this.hintPositionOffset+(b-d.outerWidth())/2}else{if(f.indexOf("left")>=0){c=e.left-d.outerWidth()-this.hintPositionOffset}else{if(f.indexOf("right")>=0){c=e.left+b+this.hintPositionOffset}else{c=e.left+this.hintPositionOffset}}}if(f.indexOf(":")>=0){f=f.split(":")[1].split(",");c+=parseInt(f[0],10);h+=parseInt(f[1],10)}if(!this.positions){this.positions=new Array()}if(this.positions[Math.round(h)+"_"+Math.round(c)]){if(this.positions[Math.round(h)+"_"+Math.round(c)].top==h){h+=i.outerHeight()}}this.positions[Math.round(h)+"_"+Math.round(c)]={left:c,top:h};return{left:c,top:h}},_addArrow:function(j,e,g,k){var l=a('<div class="'+this.toThemeProperty("jqx-validator-hint-arrow")+'"></div>'),d,i;if(this.rtl&&g.indexOf("left")>=0){g="right"}if(this.rtl&&g.indexOf("right")>=0){g="left"}e.children(".jqx-validator-hint-arrow").remove();e.append(l);var c=l.outerHeight(),f=l.outerWidth(),h=e.outerHeight(),b=e.outerWidth();this._addImage(l);if(g.indexOf("top")>=0){i=h-c}else{if(g.indexOf("bottom")>=0){i=-c}else{i=(h-c)/2-c/2}}if(g.indexOf("center")>=0){d=(b-f)/2}else{if(g.indexOf("left")>=0){d=b-f/2-1}else{if(g.indexOf("right")>=0){d=-f/2}}}if(g.indexOf("topright")>=0||g.indexOf("bottomright")>=0){d=0}if(g.indexOf("topleft")>=0||g.indexOf("bottomleft")>=0){d=b-f}l.css({position:"absolute",left:d,top:i})},_addImage:function(b){var c=b.css("background-image");c=c.replace('url("',"");c=c.replace('")',"");c=c.replace("url(","");c=c.replace(")","");b.css("background-image","none");b.append('<img src="'+c+'" alt="Arrow" style="position: relative; top: 0px; left: 0px; width: '+b.width()+"px; height: "+b.height()+'px;" />')},_raiseEvent:function(b,d){var c=a.Event(this._events[b]);c.args=d;return this.host.trigger(c)},propertyChangedHandler:function(b,c,e,d){if(c==="rules"){this._configureInputs();this._removeEventListeners();this._addEventListeners()}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxValidator","",{});a.extend(a.jqx._jqxValidator.prototype,{defineInstance:function(){var b={rules:null,scroll:true,focus:true,scrollDuration:300,scrollCallback:null,position:"right",arrow:true,animation:"fade",animationDuration:150,closeOnClick:true,onError:null,onSuccess:null,ownerElement:null,_events:["validationError","validationSuccess"],hintPositionOffset:5,_inputHint:[],rtl:false,hintType:"tooltip"};if(this===a.jqx._jqxValidator.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){if(this.hintType=="label"&&this.animationDuration==150){this.animationDuration=0}this._configureInputs();this._removeEventListeners();this._addEventListeners()},destroy:function(){this._removeEventListeners();this.hide()},validate:function(q){var b=true,p,f=Infinity,j,h,c,k=[],o;this.updatePosition();var l=this;var d=0;for(var g=0;g<this.rules.length;g+=1){if(typeof this.rules[g].rule==="function"){d++}}this.positions=new Array();for(var g=0;g<this.rules.length;g+=1){var n=a(this.rules[g].input);if(typeof this.rules[g].rule==="function"){var m=function(s,r){p=s;if(false==p){b=false;var i=a(r.input);c=a(r.input);k.push(c);var t=c.offset();if(t){j=t.top;if(f>j){f=j;h=c}}}d--;if(d==0){if(typeof q==="function"){l._handleValidation(b,f,h,k);if(q){q(b)}}}};this._validateRule(this.rules[g],m)}else{p=this._validateRule(this.rules[g])}if(false==p){b=false;c=a(this.rules[g].input);k.push(c);var e=c.offset();if(e){j=e.top;if(f>j){f=j;h=c}}}}if(d==0){this._handleValidation(b,f,h,k);return b}else{return undefined}},validateInput:function(b){var e=this._getRulesForInput(b),d=true;for(var c=0;c<e.length;c+=1){if(!this._validateRule(e[c])){d=false}}return d},hideHint:function(b){var d=this._getRulesForInput(b);for(var c=0;c<d.length;c+=1){this._hideHintByRule(d[c])}},hide:function(){var c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];this._hideHintByRule(this.rules[b])}},updatePosition:function(){var c;this.positions=new Array();for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(c.hint){this._hintLayout(c.hint,a(c.input),c.position,c)}}},_getRulesForInput:function(b){var d=[];for(var c=0;c<this.rules.length;c+=1){if(this.rules[c].input===b){d.push(this.rules[c])}}return d},_validateRule:function(f,i){var b=a(f.input),h,e=true;var d=this;var g=function(k){if(!k){var j=d.animation;d.animation=null;if(f.hint){d._hideHintByRule(f)}if(a(b).css("display")=="none"){d._hideHintByRule(f);return}if(a(b).parents().length==0){d._hideHintByRule(f);return}h=f.hintRender.apply(d,[f.message,b]);d._hintLayout(h,b,f.position,f);d._showHint(h);f.hint=h;d._removeLowPriorityHints(f);if(i){i(false,f)}d.animation=j}else{d._hideHintByRule(f);if(i){i(true,f)}}};var c=false;if(typeof f.rule==="function"){c=f.rule.call(this,b,g);if(c==true&&i){i(true,f)}}if(typeof f.rule==="function"&&c==false){if(typeof f.hintRender==="function"&&!f.hint&&!this._higherPriorityActive(f)&&b.is(":visible")){h=f.hintRender.apply(this,[f.message,b]);this._removeLowPriorityHints(f);this._hintLayout(h,b,f.position,f);this._showHint(h);f.hint=h}e=false;if(i){i(false,f)}}else{this._hideHintByRule(f)}return e},_hideHintByRule:function(e){var c=a(e.input);var b=this,f;var d=function(){if(b.hintType!="label"){return}var g=b;if(g.position=="top"||g.position=="left"){if(c.prev().hasClass(".jqx-validator-error-label")){return}}else{if(c.next().hasClass(".jqx-validator-error-label")){return}}if(c[0].nodeName.toLowerCase()!="input"){if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}};if(e){f=e.hint;if(f){if(this.positions){if(this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]){this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]=null}}if(this.animation==="fade"){f.fadeOut(this.animationDuration,function(){f.remove();d()})}else{f.remove();d()}}e.hint=null}},_handleValidation:function(b,e,d,c){if(!b){this._scrollHandler(e);if(this.focus){d.focus()}this._raiseEvent(0,{invalidInputs:c});if(typeof this.onError==="function"){this.onError(c)}}else{this._raiseEvent(1);if(typeof this.onSuccess==="function"){this.onSuccess()}}},_scrollHandler:function(c){if(this.scroll){var b=this;a("html,body").animate({scrollTop:c},this.scrollDuration,function(){if(typeof b.scrollCallback==="function"){b.scrollCallback.call(b)}})}},_higherPriorityActive:function(d){var e=false,c;for(var b=this.rules.length-1;b>=0;b-=1){c=this.rules[b];if(e&&c.input===d.input&&c.hint){return true}if(c===d){e=true}}return false},_removeLowPriorityHints:function(d){var e=false,c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(e&&c.input===d.input){this._hideHintByRule(c)}if(c===d){e=true}}},_getHintRuleByInput:function(b){var d;for(var c=0;c<this.rules.length;c+=1){d=this.rules[c];if(a(d.input)[0]===b[0]&&d.hint){return d}}return null},_removeEventListeners:function(){var f,b,e;for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];e=f.action.split(",");b=a(f.input);for(var c=0;c<e.length;c+=1){this.removeHandler(b,a.trim(e[c])+".jqx-validator")}}},_addEventListeners:function(){var f,c;if(this.host.parents(".jqx-window").length>0){var b=this;var g=function(){b.updatePosition()};var e=this.host.parents(".jqx-window");this.addHandler(e,"closed",function(){b.hide()});this.addHandler(e,"moved",g);this.addHandler(e,"moving",g);this.addHandler(e,"resized",g);this.addHandler(e,"resizing",g);this.addHandler(a(document.parentWindow),"scroll",function(){if(b.scroll){g()}})}for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];c=a(f.input);this._addListenerTo(c,f)}},_addListenerTo:function(c,h){var b=this,f=h.action.split(",");var e=false;if(this._isjQWidget(c)){e=true}for(var d=0;d<f.length;d+=1){var g=a.trim(f[d]);if(e&&(g=="blur"||g=="focus")){if(c&&c[0].nodeName.toLowerCase()!="input"){c=c.find("input")}}this.addHandler(c,g+".jqx-validator",function(i){b._validateRule(h)})}},_configureInputs:function(){var b,d;this.rules=this.rules||[];for(var c=0;c<this.rules.length;c+=1){this._handleInput(c)}},_handleInput:function(b){var c=this.rules[b];if(!c.position){c.position=this.position}if(!c.message){c.message="Validation Failed!"}if(!c.action){c.action="blur"}if(!c.hintRender){c.hintRender=this._hintRender}if(!c.rule){c.rule=null}else{this._handleRule(c)}},_handleRule:function(f){var c=f.rule,e,d,b=false;if(typeof c==="string"){if(c.indexOf("=")>=0){c=c.split("=");d=c[1].split(",");c=c[0]}e=this["_"+c];if(e){f.rule=function(g,h){return e.apply(this,[g].concat(d))}}else{b=true}}else{if(typeof c!=="function"){b=true}else{f.rule=c}}if(b){throw new Error("Wrong parameter!")}},_required:function(b){switch(this._getType(b)){case"jqx-input-inner":if(b.find("input").length>0){return a.trim(b.find("input").val())!==""}break;case"textarea":case"password":case"jqx-input":case"jqx-text-area":case"text":var d=a.data(b[0]);if(d.jqxMaskedInput){var e=b.jqxMaskedInput("promptChar"),c=b.jqxMaskedInput("value");return c&&c.indexOf(e)<0}else{if(d.jqxNumberInput){return b.jqxNumberInput("inputValue")!==""}else{if(d.jqxDateTimeInput){return true}else{return a.trim(b.val())!==""}}}case"checkbox":return b.is(":checked");case"radio":return b.is(":checked");case"jqx-check-box":case"jqx-radio-button":return b[0].val();case"jqxCheckBox":case"jqxcheckbox":case"jqxradiobutton":case"jqxRadioButton":var c=b.find("input").val();if(c===true||c===1||c==="true"){return true}return false;break;case"div":if(b.is(".jqx-checkbox")){return b.jqxCheckBox("checked")}if(b.is(".jqx-radiobutton")){return b.jqxRadioButton("checked")}return false}return false},_notNumber:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d)})},_startWithLetter:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d.substring(0,1))})},_number:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=new Number(d);return !isNaN(c)&&isFinite(c)})},_phone:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^\(\d{3}\)(\d){3}-(\d){4}$/;return c.test(d)})},_length:function(c,d,b){return this._minLength(c,d)&&this._maxLength(c,b)},_maxLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length<=b})},_minLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length>=b})},_email:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return c.test(d)})},_zipCode:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/;return c.test(d)})},_ssn:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d{3}-\d{2}-\d{4}/;return c.test(d)})},_validateText:function(b,d){var c;if(this._isTextInput(b)){if(this._isjQWidget(b)){if(b.find("input").length>0){c=b.find("input").val()}else{c=b.val()}}else{c=b.val()}return d(c)}return false},_isjQWidget:function(b){var c=a.data(b[0]);if(c.jqxMaskedInput||c.jqxNumberInput||c.jqxDateTimeInput){return true}if(b[0].tagName.toLowerCase().indexOf("jqx")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-password-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-complex-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-formatted-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-masked-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-date-time-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-number-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-check-box")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-radio-button")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqxcheckbox")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("angular")>=0){return true}return false},_isTextInput:function(b){var c=this._getType(b);return c==="text"||c==="textarea"||c==="password"||c==="jqx-input-inner"||b.is(".jqx-input")||b.is(".jqx-text-area")},_getType:function(c){if(!c[0]){return}var b=c[0].tagName.toLowerCase(),d;if(b==="textarea"){return"textarea"}else{if(c.is(".jqx-input")){return"jqx-input"}else{if(c.is(".jqx-text-area")){return"jqx-text-area"}else{if(c.find(".jqx-input").length>0){return"jqx-input-inner"}else{if(b==="input"){d=a(c).attr("type")?a(c).attr("type").toLowerCase():"text";return d}}}}}if(b==="jqx-password-input"){return"password"}if(b==="jqx-check-box"){return"jqx-check-box"}if(b==="jqx-radio-button"){return"jqx-radio-button"}return b},_hintRender:function(f,c){if(this.hintType=="label"){var g=a('<label class="'+this.toThemeProperty("jqx-validator-error-label")+'"></label>');g.html(f);var d=false;if(c.parent().find(".jqx-input-label").length>0&&!c.hasClass("jqx-dropdownlist")&&!c.hasClass("jqx-combobox")&&!c.hasClass("jqx-datetimeinput")){g=c.parent().find(".jqx-input-label");if(c.data().jqxWidget.hint){g.html(f);g.addClass(this.toThemeProperty("jqx-validator-error-label"));c.data().jqxWidget.host.attr("hint",true)}d=true;this.hasHint=true}var e=this;if(this.closeOnClick){g.click(function(){e.hideHint(c.selector)})}if(!d){if(this.position=="left"||this.position=="top"){g.insertBefore(a(c))}else{g.insertAfter(a(c))}}return g}var g=a('<div class="'+this.toThemeProperty("jqx-validator-hint")+' jqx-rc-all"></div>'),b=this;g.html(f);if(this.closeOnClick){g.click(function(){b.hideHint(c.selector)})}if(this.ownerElement==null){g.appendTo(document.body)}else{if(this.ownerElement.innerHTML){g.appendTo(a(this.ownerElement))}else{g.appendTo(this.ownerElement)}}return g},_hintLayout:function(h,c,b,f){if(this._hintRender===f.hintRender){var i;i=this._getPosition(c,b,h,f);if(this.hintType=="label"){var e="2px";if(this.position=="left"||this.position=="top"){e="-2px"}if(c[0].nodeName.toLowerCase()!="input"&&c[0].nodeName.toLowerCase()!="textarea"){if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}}}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}var d=a("<span></span>");d.addClass(this.toThemeProperty("jqx-validator-hint"));d.html(h.text());d.appendTo(a(document.body));var g=d.outerWidth();d.remove();if(!this.hasHint){h.css({position:"relative",left:a(c).css("margin-left"),width:a(c).width(),top:e});if(b=="center"){h.css("width",g);h.css("left","0px");h.css("margin-left","auto");h.css("margin-right","auto")}}return}h.css({position:"absolute",left:i.left,top:i.top});if(this.arrow){this._addArrow(c,h,b,i)}}},_showHint:function(b){if(b){if(this.animation==="fade"){b.fadeOut(0);b.fadeIn(this.animationDuration)}}},_getPosition:function(i,f,d,g){var e=i.offset(),h,c;var b=i.outerWidth();var j=i.outerHeight();if(this.rtl&&f.indexOf("left")>=0){f="right"}if(this.rtl&&f.indexOf("right")>=0){f="left"}if(this.ownerElement!=null){e={left:0,top:0};e.top=parseInt(e.top)+i.position().top;e.left=parseInt(e.left)+i.position().left}if(g&&g.hintPositionRelativeElement){var k=a(g.hintPositionRelativeElement);e=k.offset();b=k.width();j=k.height()}if(f.indexOf("top")>=0){h=e.top-j}else{if(f.indexOf("bottom")>=0){h=e.top+d.outerHeight()+this.hintPositionOffset+5}else{h=e.top}}if(f.indexOf("center")>=0){c=e.left+this.hintPositionOffset+(b-d.outerWidth())/2}else{if(f.indexOf("left")>=0){c=e.left-d.outerWidth()-this.hintPositionOffset}else{if(f.indexOf("right")>=0){c=e.left+b+this.hintPositionOffset}else{c=e.left+this.hintPositionOffset}}}if(f.indexOf(":")>=0){f=f.split(":")[1].split(",");c+=parseInt(f[0],10);h+=parseInt(f[1],10)}if(!this.positions){this.positions=new Array()}if(this.positions[Math.round(h)+"_"+Math.round(c)]){if(this.positions[Math.round(h)+"_"+Math.round(c)].top==h){h+=i.outerHeight()}}this.positions[Math.round(h)+"_"+Math.round(c)]={left:c,top:h};return{left:c,top:h}},_addArrow:function(j,e,g,k){var l=a('<div class="'+this.toThemeProperty("jqx-validator-hint-arrow")+'"></div>'),d,i;if(this.rtl&&g.indexOf("left")>=0){g="right"}if(this.rtl&&g.indexOf("right")>=0){g="left"}e.children(".jqx-validator-hint-arrow").remove();e.append(l);var c=l.outerHeight(),f=l.outerWidth(),h=e.outerHeight(),b=e.outerWidth();this._addImage(l);if(g.indexOf("top")>=0){i=h-c}else{if(g.indexOf("bottom")>=0){i=-c}else{i=(h-c)/2-c/2}}if(g.indexOf("center")>=0){d=(b-f)/2}else{if(g.indexOf("left")>=0){d=b-f/2-1}else{if(g.indexOf("right")>=0){d=-f/2}}}if(g.indexOf("topright")>=0||g.indexOf("bottomright")>=0){d=0}if(g.indexOf("topleft")>=0||g.indexOf("bottomleft")>=0){d=b-f}l.css({position:"absolute",left:d,top:i})},_addImage:function(b){var c=b.css("background-image");c=c.replace('url("',"");c=c.replace('")',"");c=c.replace("url(","");c=c.replace(")","");b.css("background-image","none");b.append('<img src="'+c+'" alt="Arrow" style="position: relative; top: 0px; left: 0px; width: '+b.width()+"px; height: "+b.height()+'px;" />')},_raiseEvent:function(b,d){var c=a.Event(this._events[b]);c.args=d;return this.host.trigger(c)},propertyChangedHandler:function(b,c,e,d){if(c==="rules"){this._configureInputs();this._removeEventListeners();this._addEventListeners()}}})})(jqxBaseFramework);
 
-(function(a){a.jqx.jqxWidget("jqxWindow","",{});a.extend(a.jqx._jqxWindow.prototype,{defineInstance:function(){var e={height:"auto",width:200,minHeight:50,maxHeight:1200,minWidth:50,maxWidth:1200,showCloseButton:true,disabled:false,autoOpen:true,keyboardCloseKey:"esc",title:"",content:"",draggable:true,resizable:true,animationType:"fade",closeAnimationDuration:250,showAnimationDuration:250,isModal:false,position:"center",closeButtonSize:16,closeButtonAction:"hide",modalOpacity:0.3,dragArea:null,okButton:null,cancelButton:null,dialogResult:{OK:false,Cancel:false,None:true},collapsed:false,showCollapseButton:false,collapseAnimationDuration:150,collapseButtonSize:16,rtl:false,keyboardNavigation:true,headerHeight:null,_events:["created","closed","moving","moved","open","collapse","expand","open","close","resize"],initContent:null,enableResize:true,restricter:null,autoFocus:true,closing:null,_invalidArgumentExceptions:{invalidHeight:"Invalid height!",invalidWidth:"Invalid width!",invalidMinHeight:"Invalid minHeight!",invalidMaxHeight:"Invalid maxHeight!",invalidMinWidth:"Invalid minWidth!",invalidMaxWidth:"Invalid maxWidth",invalidKeyCode:"Invalid keyCode!",invalidAnimationType:"Invalid animationType!",invalidCloseAnimationDuration:"Invalid closeAnimationDuration!",invalidShowAnimationDuration:"Invalid showAnimationDuration!",invalidPosition:"Invalid position!",invalidCloseButtonSize:"Invalid closeButtonSize!",invalidCollapseButtonSize:"Invalid collapseButtonSize!",invalidCloseButtonAction:"Invalid cluseButtonAction!",invalidModalOpacity:"Invalid modalOpacity!",invalidDragArea:"Invalid dragArea!",invalidDialogResult:"Invalid dialogResult!",invalidIsModal:"You can have just one modal window!"},_enableResizeCollapseBackup:null,_enableResizeBackup:undefined,_heightBeforeCollapse:null,_minHeightBeforeCollapse:null,_mouseDown:false,_isDragging:false,_rightContentWrapper:null,_leftContentWrapper:null,_headerContentWrapper:null,_closeButton:null,_collapseButton:null,_title:null,_content:null,_mousePosition:{},_windowPosition:{},_modalBackground:null,_SCROLL_WIDTH:21,_visible:true,modalBackgroundZIndex:1299,modalZIndex:1800,zIndex:1000,_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave",click:a.jqx.mobile.getTouchEventName("touchstart")}};if(this===a.jqx._jqxWindow.prototype){return e}a.extend(true,this,e);return e},createInstance:function(){if(this.host.initAnimate){this.host.initAnimate()}this.host.attr("role","dialog");this.host.removeAttr("data-bind");this.host.appendTo(document.body);var g=this;var f=function(l){for(var k=0;k<l.length;k++){var j=l[k];if(g[j]&&g[j].toString().indexOf("px")>=0){g[j]=parseInt(g[j],10)}}};f(["minWidth","minHeight","maxWidth","maxHeight","width","height"]);var h=function(){var j=parseInt(a(g.restricter).css("padding-top"),10);var i=parseInt(a(g.restricter).css("padding-left"),10);var k=parseInt(a(g.restricter).css("padding-bottom"),10);var m=parseInt(a(g.restricter).css("padding-right"),10);var l=a(g.restricter).coord();g.dragArea={left:i+l.left,top:j+l.top,width:1+m+a(g.restricter).width(),height:1+k+a(g.restricter).height()}};if(this.restricter){h()}if(this.restricter){this.addHandler(a(window),"resize."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){h()})}this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._validateProperties();this._createStructure();this._refresh();if(!this.autoOpen){this.element.style.display="none"}if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}if(!this.isModal){this._fixWindowZIndex()}this._setStartupSettings();this._positionWindow();this._raiseEvent(0);if(this.autoOpen){this._performLayout();var e=this;if(this.isModal){this._fixWindowZIndex("modal-show")}if(e.initContent){e.initContent();e._contentInitialized=true}this._raiseEvent(7);this._raiseEvent(9)}},refresh:function(){this._performLayout()},_setStartupSettings:function(){if(this.disabled){this.disable()}if(this.collapsed){this.collapsed=false;this.collapse(0)}if(!this.autoOpen){this.hide(null,0.001,true);this._visible=false}if(this.title!==null&&this.title!==""){this.setTitle(this.title)}if(this.content!==null&&this.content!==""){this.setContent(this.content)}this.title=this._headerContentWrapper.html();this.content=this._content.html()},_fixWindowZIndex:function(h){var g=a.data(document.body,"jqxwindows-list")||[],l=this.zIndex;if(!this.isModal){if(this._indexOf(this.host,g)<0){g.push(this.host)}a.data(document.body,"jqxwindows-list",g);if(g.length>1){var k=g[g.length-2];if(k.css("z-index")=="auto"){l=this.zIndex+g.length+1}else{var i=this.zIndex;l=parseInt(k.css("z-index"),10)+1;if(l<i){l=i}}}}else{if(g){g=this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}var f=a.data(document.body,"jqxwindows-modallist");if(!f){if(h=="modal-show"){var j=[];j.push(this.host);a.data(document.body,"jqxwindows-modallist",j);f=j}else{a.data(document.body,"jqxwindows-modallist",[]);f=[]}}else{if(h=="modal-show"){f.push(this.host)}else{var e=f.indexOf(this.host);if(e!=-1){f.splice(e,1)}}}l=this.modalZIndex;a.each(f,function(){if(this.data()){if(this.data().jqxWindow){var m=this.data().jqxWindow.instance;m._modalBackground.style.zIndex=l;m.element.style.zIndex=l+1;l+=2}}});a.data(document.body,"jqxwindow-modal",this.host);return}this.element.style.zIndex=l;this._sortByStyle("z-index",g)},_validateProperties:function(){try{this._validateSize();this._validateAnimationProperties();this._validateInteractionProperties();this._validateModalProperties();if(!this.position){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(isNaN(this.closeButtonSize)||parseInt(this.closeButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonSize)}if(isNaN(this.collapseButtonSize)||parseInt(this.collapseButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCollapseButtonSize)}}catch(e){throw new Error(e)}},_validateModalProperties:function(){if(this.modalOpacity<0||this.modalOpacity>1){throw new Error(this._invalidArgumentExceptions.invalidModalOpacity)}if(this.isModal&&!this._singleModalCheck()){throw new Error(this._invalidArgumentExceptions.invalidIsModal)}},_validateSize:function(){this._validateSizeLimits();if(this.height!=="auto"&&isNaN(parseInt(this.height,10))){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.width!=="auto"&&isNaN(parseInt(this.width,10))){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(this.height!=="auto"&&this.height<this.minHeight){this.height=this.minHeight}if(this.width<this.minWidth){this.width=this.minWidth}if(this.height!=="auto"&&this.height>this.maxHeight){this.height=this.maxHeight}if(this.width>this.maxWidth){this.width=this.maxWidth}if(this.dragArea===null){return}if(this.dragArea&&((this.dragArea.height!==null&&this.host.height()>this.dragArea.height)||(parseInt(this.height,10)>this.dragArea.height))||(this.dragArea.width!==null&&this.width>this.dragArea.width)||(this.maxHeight>this.dragArea.height||this.maxWidth>this.dragArea.width)){}},_validateSizeLimits:function(){if(this.maxHeight==null){this.maxHeight=9999}if(this.minWidth==null){this.minWidth=0}if(this.maxWidth==null){this.maxWidth=9999}if(this.minHeight==null){this.minHeight=0}if(isNaN(parseInt(this.minHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}if(isNaN(parseInt(this.maxHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxHeight)}if(isNaN(parseInt(this.minWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}if(isNaN(parseInt(this.maxWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxWidth)}if(this.minHeight&&this.maxHeight){if(parseInt(this.minHeight,10)>parseInt(this.maxHeight,10)&&this.maxHeight!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}}if(this.minWidth&&this.maxWidth){if(parseInt(this.minWidth,10)>parseInt(this.maxWidth,10)&&this.maxWidth!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}}},_validateAnimationProperties:function(){if(this.animationType!=="fade"&&this.animationType!=="slide"&&this.animationType!=="combined"&&this.animationType!=="none"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(isNaN(parseInt(this.closeAnimationDuration,10))||this.closeAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidCloseAnimationDuration)}if(isNaN(parseInt(this.showAnimationDuration,10))||this.showAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidShowAnimationDuration)}},_validateInteractionProperties:function(){if(parseInt(this.keyCode,10)<0||parseInt(this.keyCode,10)>130&&this.keyCode!=="esc"){throw new Error(this._invalidArgumentExceptions.invalidKeyCode)}if(this.dragArea!==null&&(typeof this.dragArea.width==="undefined"||typeof this.dragArea.height==="undefined"||typeof this.dragArea.left==="undefined"||typeof this.dragArea.top==="undefined")){throw new Error(this._invalidArgumentExceptions.invalidDragArea)}if(!this.dialogResult||(!this.dialogResult.OK&&!this.dialogResult.Cancel&&!this.dialogResult.None)){throw new Error(this._invalidArgumentExceptions.invalidDialogResult)}if(this.closeButtonAction!=="hide"&&this.closeButtonAction!=="close"){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonAction)}},_singleModalCheck:function(){var e=a.data(document.body,"jqxwindows-list")||[],f=e.length;while(f){f-=1;if(a(e[f].attr("id")).length>0){if(a(e[f].attr("id")).jqxWindow("isModal")){return false}}}return true},_createStructure:function(){var e=this.host.children();if(e.length===1){this._content=e[0];this._header=document.createElement("div");this._header.innerHTML=this.host.attr("caption");this.element.insertBefore(this._header,this._content);this.host.attr("caption","");this._header=a(this._header);this._content=a(this._content)}else{if(e.length===2){this._header=a(e[0]);this._content=a(e[1])}else{throw new Error("Invalid structure!")}}},_refresh:function(){this._render();this._addStyles();this._performLayout();this._removeEventHandlers();this._addEventHandlers();this._initializeResize()},_render:function(){this._addHeaderWrapper();this._addCloseButton();this._addCollapseButton();this._removeModal();this._makeModal()},_addHeaderWrapper:function(){if(!this._headerContentWrapper){this._header[0].innerHTML='<div style="float:left;">'+this._header[0].innerHTML+"</div>";this._headerContentWrapper=a(this._header.children()[0]);if(this.headerHeight!==null){this._header.height(this.headerHeight)}}},_addCloseButton:function(){if(!this._closeButton){this._closeButtonWrapper=document.createElement("div");this._closeButtonWrapper.className=this.toThemeProperty("jqx-window-close-button-background");this._closeButton=document.createElement("div");this._closeButton.className=this.toThemeProperty("jqx-window-close-button jqx-icon-close");this._closeButton.style.width="100%";this._closeButton.style.height="100%";this._closeButtonWrapper.appendChild(this._closeButton);this._header[0].appendChild(this._closeButtonWrapper);this._closeButtonWrapper=a(this._closeButtonWrapper);this._closeButton=a(this._closeButton)}},_addCollapseButton:function(){if(!this._collapseButton){this._collapseButtonWrapper=document.createElement("div");this._collapseButtonWrapper.className=this.toThemeProperty("jqx-window-collapse-button-background");this._collapseButton=document.createElement("div");this._collapseButton.className=this.toThemeProperty("jqx-window-collapse-button jqx-icon-arrow-up");this._collapseButton.style.width="100%";this._collapseButton.style.height="100%";this._collapseButtonWrapper.appendChild(this._collapseButton);this._header[0].appendChild(this._collapseButtonWrapper);this._collapseButtonWrapper=a(this._collapseButtonWrapper);this._collapseButton=a(this._collapseButton)}},_removeModal:function(){if(!this.isModal&&typeof this._modalBackground==="object"&&this._modalBackground!==null){a("."+this.toThemeProperty("jqx-window-modal")).remove();this._modalBackground=null}},focus:function(){try{this.host.focus();var f=this;setTimeout(function(){f.host.focus()},10)}catch(e){}},_makeModal:function(){if(this.isModal&&!this._modalBackground){var g=a.data(document.body,"jqxwindows-list");if(g){this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}this._modalBackground=document.createElement("div");this._modalBackground.className=this.toThemeProperty("jqx-window-modal");this._setModalBackgroundStyles();document.body.appendChild(this._modalBackground);this.addHandler(this._modalBackground,this._getEvent("click"),function(){return false});var f=this;var e=function(h,i){return i.contains(h)};this.addHandler(this._modalBackground,"mouseup",function(h){f._stopResizing(f);h.preventDefault()});this.addHandler(this._modalBackground,"mousedown",function(i){var h=f._getTabbables();if(h.length>0){h[0].focus();setTimeout(function(){h[0].focus()},100)}i.preventDefault();return false});this.addHandler(a(document),"keydown.window"+this.element.id,function(k){if(k.keyCode!==9){return}var h=a.data(document.body,"jqxwindows-modallist");if(h.length>1){if(h[h.length-1][0]!=f.element){return}}var j=f._getTabbables();var l=null;var i=null;if(f.element.offsetWidth===0||f.element.offsetHeight===0){return}if(j.length>0){l=j[0];i=j[j.length-1]}if(k.target==f.element){return}if(l==null){return}if(!e(k.target,f.element)){l.focus();return false}if(k.target===i&&!k.shiftKey){l.focus();return false}else{if(k.target===l&&k.shiftKey){i.focus();return false}}})}},_addStyles:function(){this.host.addClass(this.toThemeProperty("jqx-rc-all"));this.host.addClass(this.toThemeProperty("jqx-window"));this.host.addClass(this.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-window-header"));this._content.addClass(this.toThemeProperty("jqx-window-content"));this._header.addClass(this.toThemeProperty("jqx-widget-header"));this._content.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-disableselect"));this._header.addClass(this.toThemeProperty("jqx-rc-t"));this._content.addClass(this.toThemeProperty("jqx-rc-b"));if(!this.host.attr("tabindex")){this.element.tabIndex=0;this._header[0].tabIndex=0;this._content[0].tabIndex=0}this.element.setAttribute("hideFocus","true");this.element.style.outline="none"},_performHeaderLayout:function(){this._handleHeaderButtons();this._header[0].style.position="relative";if(this.rtl){this._headerContentWrapper[0].style.direction="rtl";this._headerContentWrapper[0].style["float"]="right"}else{this._headerContentWrapper[0].style.direction="ltr";this._headerContentWrapper[0].style["float"]="left"}this._performHeaderCloseButtonLayout();this._performHeaderCollapseButtonLayout();this._centerElement(this._headerContentWrapper,this._header,"y","margin");if(this.headerHeight){this._centerElement(this._closeButtonWrapper,this._header,"y","margin");this._centerElement(this._collapseButtonWrapper,this._header,"y","margin")}},_handleHeaderButtons:function(){if(!this._closeButtonWrapper){return}if(!this.showCloseButton){this._closeButtonWrapper[0].style.visibility="hidden"}else{this._closeButtonWrapper[0].style.visibility="visible";var e=this._toPx(this.closeButtonSize);this._closeButtonWrapper[0].style.width=e;this._closeButtonWrapper[0].style.height=e}if(!this.showCollapseButton){this._collapseButtonWrapper[0].style.visibility="hidden"}else{this._collapseButtonWrapper[0].style.visibility="visible";var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f}},_performHeaderCloseButtonLayout:function(){if(!this._closeButtonWrapper){return}var e=parseInt(this._header.css("padding-right"),10);if(!isNaN(e)){this._closeButtonWrapper.width(this._closeButton.width());if(!this.rtl){this._closeButtonWrapper[0].style.marginRight=this._toPx(e);this._closeButtonWrapper[0].style.marginLeft="0px"}else{this._closeButtonWrapper[0].style.marginRight="0px";this._closeButtonWrapper[0].style.marginLeft=this._toPx(e)}}this._closeButtonWrapper[0].style.position="absolute";if(!this.rtl){this._closeButtonWrapper[0].style.right="0px";this._closeButtonWrapper[0].style.left=""}else{this._closeButtonWrapper[0].style.right="";this._closeButtonWrapper[0].style.left="0px"}},_performHeaderCollapseButtonLayout:function(){if(!this._closeButtonWrapper){return}var g=parseInt(this._header.css("padding-right"),10);if(!isNaN(g)){var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f;if(!this.rtl){this._collapseButtonWrapper[0].style.marginRight=this._toPx(g);this._collapseButtonWrapper[0].style.marginLeft="0px"}else{this._collapseButtonWrapper[0].style.marginRight="0px";this._collapseButtonWrapper[0].style.marginLeft=this._toPx(g)}}this._collapseButtonWrapper[0].style.position="absolute";var e=this._toPx(this.showCloseButton?this._closeButton.outerWidth(true):0);if(!this.rtl){this._collapseButtonWrapper[0].style.right=e;this._collapseButtonWrapper[0].style.left=""}else{this._collapseButtonWrapper[0].style.right="";this._collapseButtonWrapper[0].style.left=e}this._centerElement(this._collapseButton,a(this._collapseButton[0].parentElement),"y")},_performWidgetLayout:function(){var e;if(this.width!=="auto"){if(this.width&&this.width.toString().indexOf("%")>=0){this.element.style.width=this.width}else{this.element.style.width=this._toPx(this.width)}}if(!this.collapsed){if(this.height!=="auto"){if(this.height&&this.height.toString().indexOf("%")>=0){this.element.style.height=this.height}else{this.element.style.height=this._toPx(this.height)}}else{this.element.style.height=this.host.height()+"px"}this.element.style.minHeight=this._toPx(this.minHeight)}this._setChildrenLayout();e=this._validateMinSize();this.element.style.maxHeight=this._toPx(this.maxHeight);this.element.style.minWidth=this._toPx(this.minWidth);this.element.style.maxWidth=this._toPx(this.maxWidth);if(!e){this._setChildrenLayout()}},_setChildrenLayout:function(){this._header.width(this.host.width()-(this._header.outerWidth(true)-this._header.width()));this._content.width(this.host.width()-(this._content.outerWidth(true)-this._content.width()));this._content.height(this.host.height()-this._header.outerHeight(true)-(this._content.outerHeight(true)-this._content.height()))},_validateMinSize:function(){var f=true;if(this.minHeight<this._header.height()){this.minHeight=this._header.height();f=false}var h=a(this._header.children()[0]).outerWidth(),e=this._header.children()[1]?a(this._header.children()[1]).outerWidth():0,g=h+e;if(this.minWidth<100){this.minWidth=Math.min(g,100);f=false}return f},_centerElement:function(h,f,e,g){if(typeof f.left==="number"&&typeof f.top==="number"&&typeof f.height==="number"&&typeof f.width==="number"){this._centerElementInArea(h,f,e)}else{this._centerElementInParent(h,f,e,g)}},_centerElementInParent:function(e,o,j,g){var n=e.css("display")==="none";var f,h;j=j.toLowerCase();if(g){f=g+"Top";h=g+"Left"}else{f="top";h="left"}if(j.indexOf("y")>=0){if(n){e[0].style.display="block"}var i=e.outerHeight(true),l;if(n){e[0].style.display="none"}l=o.height();var k=(Math.max(0,l-i))/2;e[0].style[f]=k+"px"}if(j.indexOf("x")>=0){if(n){e[0].style.display="block"}var q=e.outerWidth(true),p;if(n){e[0].style.display="none"}p=o.width();var m=(Math.max(0,p-q))/2;e[0].style[h]=m+"px"}},_centerElementInArea:function(f,e,h){h=h.toLowerCase();if(h.indexOf("y")>=0){var g=f.outerHeight(true);var j=e.height;var i=(j-g)/2;f[0].style.top=i+e.top+"px"}if(h.indexOf("x")>=0){var m=f.outerWidth(true);var l=e.width;var k=(l-m)/2;f[0].style.left=k+e.left+"px"}},_removeEventHandlers:function(){this.removeHandler(this._header,this._getEvent("mousedown"));this.removeHandler(this._header,this._getEvent("mousemove"));this.removeHandler(this._header,"focus");this.removeHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"));this.removeHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"));this.removeHandler(this.host,"keydown");this.removeHandler(this._closeButton,this._getEvent("click"));this.removeHandler(this._closeButton,this._getEvent("mouseenter"));this.removeHandler(this._closeButton,this._getEvent("mouseleave"));this.removeHandler(this._collapseButton,this._getEvent("click"));this.removeHandler(this._collapseButton,this._getEvent("mouseenter"));this.removeHandler(this._collapseButton,this._getEvent("mouseleave"));this.removeHandler(this.host,this._getEvent("mousedown"));if(this.okButton){this.removeHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler)}if(this.cancelButton){this.removeHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler)}this.removeHandler(this._header,this._getEvent("mouseenter"));this.removeHandler(this._header,this._getEvent("mouseleave"));this.removeHandler(this.host,"resizing",this._windowResizeHandler)},_removeFromArray:function(e,g){var f=this._indexOf(e,g);if(f>=0){return g.splice(this._indexOf(e,g),1)}else{return g}},_sortByStyle:function(e,l){for(var h=0;h<l.length;h++){for(var f=l.length-1;f>h;f--){var m=l[f],k=l[f-1],g;if(parseInt(m.css(e),10)<parseInt(k.css(e),10)){g=m;l[f]=k;l[f-1]=g}}}},_initializeResize:function(){if(this.resizable){var e=this;this.initResize({target:this.host,alsoResize:e._content,maxWidth:e.maxWidth,minWidth:e.minWidth,maxHeight:e.maxHeight,minHeight:e.minHeight,indicatorSize:10,resizeParent:e.dragArea})}},_removeResize:function(){this.removeResize()},_getEvent:function(e){if(this._isTouchDevice){return this._touchEvents[e]}else{return e}},_addEventHandlers:function(){this._addDragDropHandlers();this._addCloseHandlers();this._addCollapseHandlers();this._addFocusHandlers();this._documentResizeHandlers();this._closeButtonHover();this._collapseButtonHover();this._addDialogButtonsHandlers();this._addHeaderHoverEffect();this._addResizeHandlers();var e=this;this.addHandler(this._header,this._getEvent("mousemove"),function(){e._addHeaderCursorHandlers(e)})},_addResizeHandlers:function(){var e=this;e.addHandler(e.host,"resizing",e._windowResizeHandler,{self:e});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){e._performLayout()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){e._performLayout()})},_windowResizeHandler:function(h){var e=h.data.self;e._header.width(e.host.width()-(e._header.outerWidth(true)-e._header.width()));if(e.width&&e.width.toString().indexOf("%")>=0){var g=a(document.body).width()/100;var f=1/g;e.width=(f*h.args.width)+"%"}else{e.width=h.args.width}if(e.height&&e.height.toString().indexOf("%")>=0){var g=a(document.body).height()/100;var f=1/g;e.height=(f*h.args.height)+"%"}else{e.height=h.args.height}},_addHeaderHoverEffect:function(){var e=this;this.addHandler(this._header,this._getEvent("mouseenter"),function(){a(this).addClass(e.toThemeProperty("jqx-window-header-hover"))});this.addHandler(this._header,this._getEvent("mouseleave"),function(){a(this).removeClass(e.toThemeProperty("jqx-window-header-hover"))})},_addDialogButtonsHandlers:function(){if(this.okButton){this.addHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"ok"})}if(this.cancelButton){this.addHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"cancel"})}},_documentResizeHandlers:function(){var e=this;if(this.isModal){this.addHandler(a(window),"resize.window"+this.element.id,function(){if(typeof e._modalBackground==="object"&&e._modalBackground!==null){if(e.isOpen()){e._modalBackground.style.display="none"}if(!e.restricter){var f=e._getDocumentSize();e._modalBackground.style.width=f.width+"px";e._modalBackground.style.height=f.height+"px"}else{e._modalBackground.style.left=e._toPx(e.dragArea.left);e._modalBackground.style.top=e._toPx(e.dragArea.top);e._modalBackground.style.width=e._toPx(e.dragArea.width);e._modalBackground.style.height=e._toPx(e.dragArea.height)}if(e.isOpen()){e._modalBackground.style.display="block"}}})}},_setDialogResultHandler:function(f){var e=f.data.self;e._setDialogResult(f.data.result);e.closeWindow()},_setDialogResult:function(e){this.dialogResult.OK=false;this.dialogResult.None=false;this.dialogResult.Cancel=false;e=e.toLowerCase();switch(e){case"ok":this.dialogResult.OK=true;break;case"cancel":this.dialogResult.Cancel=true;break;default:this.dialogResult.None=true}},_getDocumentSize:function(){var e=a.jqx.browser.msie&&a.jqx.browser.version<9;var f=e?4:0;var g=f;if(document.body.scrollHeight>document.body.clientHeight&&e){f=this._SCROLL_WIDTH}if(document.body.scrollWidth>document.body.clientWidth&&e){g=this._SCROLL_WIDTH}return{width:a(document).width()-f,height:a(document).height()-g}},_closeButtonHover:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("mouseenter"),function(){e._closeButton.addClass(e.toThemeProperty("jqx-window-close-button-hover"))});this.addHandler(this._closeButton,this._getEvent("mouseleave"),function(){e._closeButton.removeClass(e.toThemeProperty("jqx-window-close-button-hover"))})},_collapseButtonHover:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("mouseenter"),function(){e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-hover"))});this.addHandler(this._collapseButton,this._getEvent("mouseleave"),function(){e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-hover"))})},_setModalBackgroundStyles:function(){if(this.isModal){var e=this._getDocumentSize();if(!(a.jqx.browser.msie&&a.jqx.browser.version<9)){this._modalBackground.style.opacity=this.modalOpacity}else{this._modalBackground.style.filter="alpha(opacity="+(this.modalOpacity*100)+")"}this._modalBackground.style.position="absolute";this._modalBackground.style.top="0px";this._modalBackground.style.left="0px";this._modalBackground.style.width=e.width;this._modalBackground.style.height=e.height;this._modalBackground.style.zIndex=this.modalBackgroundZIndex;if(!this.autoOpen){this._modalBackground.style.display="none"}}},_addFocusHandlers:function(){var e=this;this.addHandler(this.host,this._getEvent("mousedown"),function(){if(!e.isModal){e.bringToFront()}})},_indexOf:function(f,g){for(var e=0;e<g.length;e++){if(g[e][0]===f[0]){return e}}return -1},_addCloseHandlers:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("click"),function(f){return e._closeWindow(f)});if(this.keyboardCloseKey!=="none"){if(typeof this.keyboardCloseKey!=="number"&&this.keyboardCloseKey.toLowerCase()==="esc"){this.keyboardCloseKey=27}}this.addHandler(this.host,"keydown",function(f){if(f.keyCode===e.keyboardCloseKey&&e.keyboardCloseKey!=null&&e.keyboardCloseKey!="none"){e._closeWindow(f)}else{e._handleKeys(f)}},{self:this});this.addHandler(this.host,"keyup",function(){if(!e.keyboardNavigation){return}if(e._moved){var h=e.host.coord();var g=h.left;var f=h.top;e._raiseEvent(3,g,f,g,f);e._moved=false}})},_handleKeys:function(f){if(!this.keyboardNavigation){return}if(!this._headerFocused){return}if(a(document.activeElement).ischildof(this._content)){return}var e=f.ctrlKey;var m=f.keyCode;var k=this.host.coord();var j=k.left;var l=k.top;var g=this._getDraggingArea();var h=this.host.width();var n=this.host.height();var o=true;var i=10;switch(m){case 37:if(!e){if(this.draggable){if(j-i>=0){this.move(j-i,l)}}}else{if(this.resizable){this.resize(h-i,n)}}o=false;break;case 38:if(!e){if(this.draggable){if(l-i>=0){this.move(j,l-i)}}}else{if(this.resizable){this.resize(h,n-i)}}o=false;break;case 39:if(!e){if(this.draggable){if(j+h+i<=g.width){this.move(j+i,l)}}}else{if(this.resizable){this.resize(h+i,n)}}o=false;break;case 40:if(!e){if(this.draggable){if(l+n+i<=g.height){this.move(j,l+i)}}}else{if(this.resizable){this.resize(h,n+i)}}o=false;break}if(!o){if(f.preventDefault){f.preventDefault()}if(f.stopPropagation){f.stopPropagation()}}return o},_addCollapseHandlers:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("click"),function(){if(!e.collapsed){e.collapse()}else{e.expand()}})},_closeWindow:function(){this.closeWindow();return false},_addHeaderCursorHandlers:function(e){if(e.resizeArea&&e.resizable&&!e.collapsed){e._header[0].style.cursor=e._resizeWrapper.style.cursor;return}else{if(e.draggable){e._header[0].style.cursor="move";return}}e._header[0].style.cursor="default";if(e._resizeWrapper){e._resizeWrapper.style.cursor="default"}},_addDragDropHandlers:function(){if(this.draggable){var e=this;this.addHandler(this.host,"focus",function(){e._headerFocused=true});this.addHandler(this.host,"blur",function(){e._headerFocused=false});this.addHandler(this._header,"focus",function(){e._headerFocused=true;return false});this.addHandler(this._header,this._getEvent("mousedown"),function(j,i,k){if(i){j.pageX=i}if(k){j.pageY=k}e._headerMouseDownHandler(e,j);return true});this.addHandler(this._header,"dragstart",function(i){if(i.preventDefault){i.preventDefault()}return false});this.addHandler(this._header,this._getEvent("mousemove"),function(i){return e._headerMouseMoveHandler(e,i)});this.addHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"),function(i){return e._dragHandler(e,i)});this.addHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"),function(i){return e._dropHandler(e,i)});try{if(document.referrer!==""||window.frameElement){var h=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){h=document.referrer}}if(h&&h.indexOf(document.location.host)!=-1){var g=function(i){e._dropHandler(e,i)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}catch(f){}}},_headerMouseDownHandler:function(f,g){if(!f.isModal){f.bringToFront()}if(f._resizeDirection==null){var e=a.jqx.position(g);f._mousePosition.x=e.left;f._mousePosition.y=e.top;f._mouseDown=true;f._isDragging=false}},_headerMouseMoveHandler:function(f,i){if(f._mouseDown&&!f._isDragging){var j=a.jqx.mobile.getTouches(i);var k=j[0];var h=k.pageX,g=k.pageY;var e=a.jqx.position(i);h=e.left;g=e.top;if((h+3<f._mousePosition.x||h-3>f._mousePosition.x)||(g+3<f._mousePosition.y||g-3>f._mousePosition.y)){f._isDragging=true;f._mousePosition={x:h,y:g};f._windowPosition={x:f.host.coord().left,y:f.host.coord().top};a(document.body).addClass(f.toThemeProperty("jqx-disableselect"))}if(f._isTouchDevice){i.preventDefault();return true}return false}if(f._isDragging){if(f._isTouchDevice){i.preventDefault();return true}return false}return true},_dropHandler:function(g,j){var f=true;if(g._isDragging&&!g.isResizing&&!g._resizeDirection){var e=parseInt(g.host.css("left"),10),k=parseInt(g.host.css("top"),10),i=(g._isTouchDevice)?0:j.pageX,h=(g._isTouchDevice)?0:j.pageY;g.enableResize=g._enableResizeBackup;g._enableResizeBackup="undefined";g._raiseEvent(3,e,k,i,h);f=false;if(j.preventDefault!="undefined"){j.preventDefault()}if(j.originalEvent!=null){j.originalEvent.mouseHandled=true}if(j.stopPropagation!="undefined"){j.stopPropagation()}}g._isDragging=false;g._mouseDown=false;a(document.body).removeClass(g.toThemeProperty("jqx-disableselect"));return f},_dragHandler:function(m,h){if(m._isDragging&&!m.isResizing&&!m._resizeDirection){var l=(m._isTouchDevice)?h.originalEvent.which:h.which;if(typeof m._enableResizeBackup==="undefined"){m._enableResizeBackup=m.enableResize}m.enableResize=false;if(l===0&&a.jqx.browser.msie&&a.jqx.browser.version<8){return m._dropHandler(m,h)}var k=a.jqx.position(h);var j=k.left,i=k.top,g=j-m._mousePosition.x,f=i-m._mousePosition.y,e=m._windowPosition.x+g,n=m._windowPosition.y+f;m.move(e,n,h);h.preventDefault();return false}return true},_validateCoordinates:function(e,k,i,j){var h=this._getDraggingArea();e=(e<h.left)?h.left:e;k=(k<h.top)?h.top:k;var f=this.host.outerWidth(true);var g=this.host.outerHeight(true);if(e+f>=h.width+h.left-2*j){e=h.width+h.left-f-j}if(k+g>=h.height+h.top-i){k=h.height+h.top-g-i}return{x:e,y:k}},_performLayout:function(){this._performHeaderLayout();this._performWidgetLayout()},_parseDragAreaAttributes:function(){if(this.dragArea!==null){this.dragArea.height=parseInt(this.dragArea.height,10);this.dragArea.width=parseInt(this.dragArea.width,10);this.dragArea.top=parseInt(this.dragArea.top,10);this.dragArea.left=parseInt(this.dragArea.left,10)}},_positionWindow:function(){this._parseDragAreaAttributes();if(this.position instanceof Array&&this.position.length===2&&typeof this.position[0]==="number"&&typeof this.position[1]==="number"){this.element.style.left=this._toPx(this.position[0]);this.element.style.top=this._toPx(this.position[1])}else{if(this.position instanceof Object){if(this.position.left){this.host.offset(this.position)}else{if(this.position.x!==undefined&&this.position.y!==undefined){this.element.style.left=this._toPx(this.position.x);this.element.style.top=this._toPx(this.position.y)}else{if(this.position.center){this._centerElement(this.host,this.position.center,"xy");var g=this.position.center.coord();var f=parseInt(this.host.css("left"),10);var e=parseInt(this.host.css("top"),10);this.element.style.left=this._toPx(f+g.left);this.element.style.top=this._toPx(e+g.top)}}}}else{this._positionFromLiteral()}}},_getDraggingArea:function(){var e={};e.left=((this.dragArea&&this.dragArea.left)?this.dragArea.left:0);e.top=((this.dragArea&&this.dragArea.top)?this.dragArea.top:0);e.width=((this.dragArea&&this.dragArea.width)?this.dragArea.width:this._getDocumentSize().width);e.height=((this.dragArea&&this.dragArea.height)?this.dragArea.height:this._getDocumentSize().height);return e},_positionFromLiteral:function(){if(!(this.position instanceof Array)){this.position=this.position.split(",")}var e=this.position.length,f=this._getDraggingArea();while(e){e-=1;this.position[e]=this.position[e].replace(/ /g,"");switch(this.position[e]){case"top":this.element.style.top=this._toPx(f.top);break;case"left":this.element.style.left=this._toPx(f.left);break;case"bottom":this.element.style.top=this._toPx(f.height-this.host.height()+f.top);break;case"right":this.element.style.left=this._toPx(f.left+f.width-this.host.width());break;default:if(!this.dragArea){f=a(window)}this._centerElement(this.host,f,"xy");break}}},_raiseEvent:function(g){var f=this._events[g],h=a.Event(f),e={};if(g===2||g===3){e.x=arguments[1];e.y=arguments[2];e.pageX=arguments[3];e.pageY=arguments[4]}if(f==="closed"||f==="close"){e.dialogResult=this.dialogResult}h.args=e;return this.host.trigger(h)},destroy:function(){this.removeHandler(a(window),"resize.window"+this.element.id);this._removeEventHandlers();this._destroy()},_destroy:function(){if(this.isModal){if(this._modalBackground!==null){a(this._modalBackground).remove()}this.host.jqxWindow({isModal:false})}if(this.restricter){this.removeHandler(a(window),"resize."+this.element.id);this.removeHandler(a(window),"orientationchanged."+this.element.id);this.removeHandler(a(window),"orientationchange."+this.element.id)}this.host.remove();if(this._modalBackground!==null){a(this._modalBackground).remove()}},_toClose:function(f,e){return((f&&e[0]===this.element)||(e[0]!==this.element&&typeof e[0]==="object"))},propertyChangedHandler:function(e,g,m,k){this._validateProperties();switch(g){case"rtl":this._performLayout();break;case"dragArea":this._positionWindow();break;case"collapseButtonSize":this._performLayout();break;case"closeButtonSize":this._performLayout();break;case"isModal":this._refresh();this._fixWindowZIndex();if(k===false){var h=a.data(document.body,"jqxwindows-modallist");var l=[];for(var f=0;f<h.length;f++){var j=h[f][0];if(j!==this.element){l.push(h[f])}}}a.data(document.body,"jqxwindows-modallist",l);break;case"keyboardCloseKey":this._removeEventHandlers();this._addEventHandlers();break;case"disabled":if(k){this.disable()}else{this.disabled=true;this.enable()}break;case"showCloseButton":case"showCollapseButton":this._performLayout();break;case"height":this._performLayout();break;case"width":this._performLayout();break;case"title":this.setTitle(k);this.title=k;break;case"content":this.setContent(k);break;case"draggable":this._removeEventHandlers();this._addEventHandlers();this._removeResize();this._initializeResize();break;case"resizable":this.enableResize=k;if(k){this._initializeResize()}else{this._removeResize()}break;case"position":this._positionWindow();break;case"modalOpacity":this._setModalBackgroundStyles();break;case"okButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.okButton)}break;case"cancelButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.cancelButton)}break;case"collapsed":if(k){if(!m){this.collapsed=false;this.collapse(0)}}else{if(m){this.collapsed=true;this.expand(0)}}break;case"theme":a.jqx.utilities.setTheme(m,k,this.host);break;case"enableResize":return;case"maxWidth":case"maxHeight":case"minWidth":case"minHeight":e._performLayout();e._removeResize();e._initializeResize();return;default:return}},collapse:function(g){if(!this.collapsed&&this._animationInProgress!==true){if(this.host.css("display")=="none"){return}var e=this,h=this._header.outerHeight(true),i=parseInt(this._header.css("border-bottom-width"),10),f=parseInt(this._header.css("margin-bottom"),10);g=!isNaN(parseInt(g,10))?g:this.collapseAnimationDuration;if(!isNaN(i)){h-=2*i}if(!isNaN(f)){h+=f}this._heightBeforeCollapse=this.host.height();this._minHeightBeforeCollapse=this.host.css("min-height");this.element.style.minHeight=this._toPx(h);e._animationInProgress=true;this.host.animate({height:h},{duration:g,complete:function(){e._animationInProgress=false;e.collapsed=true;e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.addClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="none";e._raiseEvent(5);e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",false)}})}},expand:function(f){if(this.collapsed&&this._animationInProgress!==true){var e=this;f=!isNaN(parseInt(f,10))?f:this.collapseAnimationDuration;e._animationInProgress=true;this.host.animate({height:this._heightBeforeCollapse},{duration:f,complete:function(){e._animationInProgress=false;e.collapsed=false;e.element.style.minHeight=e._toPx(e._minHeightBeforeCollapse);e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.removeClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="block";e._raiseEvent(6);e._performWidgetLayout();e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",true)}})}},closeAll:function(h){h=true;var g=a.data(document.body,"jqxwindows-list"),f=g.length,e=a.data(document.body,"jqxwindow-modal")||[];while(f){f-=1;if(this._toClose(h,g[f])){g[f].jqxWindow("closeWindow","close");g.splice(f,1)}}if(this._toClose(h,e)){e.jqxWindow("closeWindow","close");a.data(document.body,"jqxwindow-modal",[])}a.data(document.body,"jqxwindows-list",g)},setTitle:function(f){if(typeof f==="string"){this._headerContentWrapper.html(f)}else{if(typeof f==="object"){try{this._headerContentWrapper[0].innerHTML="";if(f instanceof HTMLElement){this._headerContentWrapper[0].appendChild(f)}else{if(f.appendTo){f.appendTo(this._headerContentWrapper)}}}catch(e){throw new Error(e)}}}this.title=f;this._performLayout()},setContent:function(h){this._contentInitialized=false;var g=this._content,j=false;while(!j){g[0].style.width="auto";g[0].style.height="auto";if(g.hasClass("jqx-window")){j=true}else{g=a(g[0].parentNode)}}if(a.isArray(h)){for(var f=0;f<h.length;f++){h[f].appendTo(this._content)}}else{if(typeof h==="string"){a(this._content[0]).html(h)}else{if(typeof h==="object"){try{this._content[0].innerHTML="";if(h instanceof HTMLElement){this._content[0].appendChild(h)}else{if(h.appendTo){h.appendTo(this._content)}}}catch(e){throw new Error(e)}}}}this.content=h;this._performLayout()},disable:function(){this.disabled=true;this._removeEventHandlers();this._header.addClass(this.toThemeProperty("jqx-window-header-disabled"));this._closeButton.addClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.addClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this._content.addClass(this.toThemeProperty("jqx-window-content-disabled"));this.host.addClass(this.toThemeProperty("jqx-window-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this._removeResize()},enable:function(){if(this.disabled){this._addEventHandlers();this._header.removeClass(this.toThemeProperty("jqx-window-header-disabled"));this._content.removeClass(this.toThemeProperty("jqx-window-content-disabled"));this._closeButton.removeClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.removeClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this.host.removeClass(this.toThemeProperty("jqx-window-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.disabled=false;this._initializeResize()}},isOpen:function(){return this._visible},closeWindow:function(f){var e=this;f=(typeof f==="undefined")?this.closeButtonAction:f;this.hide(function(){if(f==="close"){e._destroy()}})},bringToFront:function(){var f=a.data(document.body,"jqxwindows-list");if(this.isModal){f=a.data(document.body,"jqxwindows-modallist");this._fixWindowZIndex("modal-hide");this._fixWindowZIndex("modal-show");return}var k=f[f.length-1],j=parseInt(k.css("z-index"),10),g=this._indexOf(this.host,f);for(var e=f.length-1;e>g;e-=1){var h=parseInt(f[e].css("z-index"),10)-1;f[e][0].style.zIndex=h}this.element.style.zIndex=j;this._sortByStyle("z-index",f)},hide:function(i,h,e){var g=this;if(this.closing){var f=this.closing();if(f===false){return}}h=h||this.closeAnimationDuration;switch(this.animationType){case"none":this.element.style.display="none";break;case"fade":g._animationInProgress=true;this.host.fadeOut({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"slide":g._animationInProgress=true;this.host.slideUp({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"combined":g._animationInProgress=true;this.host.animate({opacity:0,width:"0px",height:"0px"},{duration:h,complete:function(){g._animationInProgress=false;g.element.style.display="none";if(i instanceof Function){i()}}});break}this._visible=false;if(this.isModal){a(this._modalBackground).hide();this._fixWindowZIndex("modal-hide")}if(e!==true){this._raiseEvent(1);this._raiseEvent(8)}},open:function(f,e){this.show(f,e)},close:function(g,f,e){this.hide(g,f,e)},show:function(k,j){var i=this;this._setDialogResult("none");j=j||this.showAnimationDuration;switch(this.animationType){case"none":this.element.style.display="block";break;case"fade":i._animationInProgress=true;this.host.fadeIn({duration:j,complete:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"slide":i._animationInProgress=true;this.host.slideDown({duration:j,callback:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"combined":this.element.style.display="block";var g=i.host.width();var e=i.host.height();this.element.style.minWidth="0px";this.element.style.minHeight="0px";this.element.style.opacity=0;this.element.style.width="0px";this.element.style.height="0px";i._animationInProgress=true;this.host.animate({opacity:1,width:g+"px",height:e+"px"},{duration:j,complete:function(){i._animationInProgress=false;i._performLayout();if(k instanceof Function){k()}}});break}if(this.isModal){a(this._modalBackground).show();this._fixWindowZIndex("modal-show")}var h=this;if(!this._visible){if(j>150&&this.animationType!="none"){setTimeout(function(){if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}h._raiseEvent(7);h._raiseEvent(9)},j-150)}else{if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}this._raiseEvent(7);h._raiseEvent(9)}}this._visible=true;if(i.animationType!=="combined"){this._performLayout()}if(this.autoFocus){var f=function(){if(!h._isTouchDevice){h._content[0].focus()}};f();setTimeout(function(){f()},100)}},_getTabbables:function(){var f;if(a.jqx.browser.msie&&a.jqx.browser.version<9){f=this._content.find("*")}else{f=this._content[0].querySelectorAll("*")}var e=[];a.each(f,function(){if(d(this)){e[e.length]=this}});return e},move:function(n,m,e,h){var g=0,f=0,k,j,i;n=parseInt(n,10);m=parseInt(m,10);if(a.jqx.browser.msie){if(a(window).width()>a(document).width()&&!this.dragArea){f=this._SCROLL_WIDTH}if(a(window).height()<a(document).height()&&document.documentElement.clientWidth>document.documentElement.scrollWidth&&!this.dragArea){g=this._SCROLL_WIDTH}}k=this._validateCoordinates(n,m,f,g);if(parseInt(this.host.css("left"),10)!==k.x||parseInt(this.host.css("top"),10)!==k.y){if(e){var l=a.jqx.position(e);j=l.left;i=l.top}if(j===undefined){j=n}if(i===undefined){i=m}if(h!==false){this._raiseEvent(2,k.x,k.y,j,i)}}this.element.style.left=k.x+"px";this.element.style.top=k.y+"px";this._moved=true},_toPx:function(e){if(typeof e==="number"){return e+"px"}else{return e}}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(f){var e=a(f);return e.css("display")!=="none"&&e.css("visibility")!=="hidden"}function d(g){var e=g.getAttribute("tabindex"),f=e===null;return(f||e>=0)&&c(g,!f)}}(jqxBaseFramework));(function(b){var a=(function(c){return{resizeConfig:function(){this.resizeTarget=null;this.resizeIndicatorSize=5;this.resizeTargetChildren=null;this.isResizing=false;this.resizeArea=false;this.minWidth=1;this.maxWidth=100;this.minHeight=1;this.maxHeight=100;this.resizeParent=null;this.enableResize=true;this._resizeEvents=["resizing","resized","resize"];this._resizeMouseDown=false;this._resizeCurrentMode=null;this._mouseResizePosition={};this._resizeMethods=null;this._SCROLL_WIDTH=21},_resizeExceptions:{invalidTarget:"Invalid target!",invalidMinHeight:"Invalid minimal height!",invalidMaxHeight:"Invalid maximum height!",invalidMinWidth:"Invalid minimum width!",invalidMaxWidth:"Invalid maximum width!",invalidIndicatorSize:"Invalid indicator size!",invalidSize:"Invalid size!"},removeResize:function(){if(this.resizeTarget){var f=c(this.resizeTarget.children(".jqx-resize"));f.detach();var e=f.children();this._removeResizeEventListeners();for(var d=0;d<e.length;d+=1){c(e[d]).detach();this.resizeTarget.append(e[d])}f.remove()}this._resizeDirection=null},initResize:function(d){this.resizeConfig();this.resizeTarget=c(d.target);this.resizeIndicatorSize=d.indicatorSize||10;this.maxWidth=d.maxWidth||100;this.minWidth=d.minWidth||1;this.maxHeight=d.maxHeight||100;this.minHeight=d.minHeight||1;this.resizeParent=d.resizeParent;this._parseResizeParentProperties();this._validateResizeProperties();this._validateResizeTargetDimensions();this._getChildren(this.resizeTarget.maxWidth,this.resizeTarget.minWidth,this.resizeTarget.maxHeight,this.resizeTarget.minHeight,d.alsoResize);this._refreshResize();this._cursorBackup=this.resizeTarget.css("cursor");if(this._cursorBackup==="auto"){this._cursorBackup="default"}},_validateResizeTargetDimensions:function(){this.resizeTarget.maxWidth=this.maxWidth;this.resizeTarget.minWidth=((3*this.resizeIndicatorSize>this.minWidth)?3*this.resizeIndicatorSize:this.minWidth);this.resizeTarget.maxHeight=this.maxHeight;this.resizeTarget.minHeight=((3*this.resizeIndicatorSize>this.minHeight)?3*this.resizeIndicatorSize:this.minHeight)},_parseResizeParentProperties:function(){if(this.resizeParent){this.resizeParent.left=parseInt(this.resizeParent.left,10);this.resizeParent.top=parseInt(this.resizeParent.top,10);this.resizeParent.width=parseInt(this.resizeParent.width,10);this.resizeParent.height=parseInt(this.resizeParent.height,10)}},_getChildren:function(h,e,g,i,d){this.resizeTargetChildren=c(d);this.resizeTargetChildren=this.resizeTargetChildren.toArray();var f=this.resizeTargetChildren.length;while(f){f-=1;this.resizeTargetChildren[f]=c(this.resizeTargetChildren[f])}},_refreshResize:function(){this._renderResize();this._performResizeLayout();this._removeResizeEventListeners();this._addResizeEventHandlers()},_renderResize:function(){var d=this;if(d._resizeWrapper!==undefined&&c(d._resizeWrapper).parents().length>0){return}var e=document.createElement("div");e.className="jqx-resize jqx-rc-all";e.style.zIndex=8000;e.appendChild(d._header[0]);e.appendChild(d._content[0]);d.resizeTarget[0].appendChild(e);d._resizeWrapper=e},_performResizeLayout:function(){this._resizeWrapper.style.height=this.resizeTarget.height()+"px";this._resizeWrapper.style.width=this.resizeTarget.width()+"px"},_removeResizeEventListeners:function(){var d=this.resizeTarget.attr("id");this.removeHandler(this._resizeWrapper,"mousemove.resize"+d);this.removeHandler(this._resizeWrapper,"mousedown.resize"+d);this.removeHandler(c(document),"mousemove.resize"+d);this.removeHandler(c(document),"mouseup.resize"+d)},_addResizeEventHandlers:function(){var g=this.resizeTarget.attr("id");var d=this;if(d._isTouchDevice){this.addHandler(this._resizeWrapper,"touchmove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"touchstart.resize."+g,function(h){d._resizeCursorChangeHandler(d,h);d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"touchmove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"touchend.resize."+g,function(h){d._stopResizing(d,h)})}else{this.addHandler(this._resizeWrapper,"mousemove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"mousedown.resize."+g,function(h){d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"mousemove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"mouseup.resize."+g,function(h){d._stopResizing(d,h)})}try{if(document.referrer!==""||window.frameElement){var f=function(h){d._stopResizing(d,h)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",f,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",f)}}}}catch(e){}},_stopResizing:function(d){if(d.enableResize){if(d.isResizing){d._raiseResizeEvent(1)}d._resizeMouseDown=false;d.isResizing=false;d._resizeDirection=null;if(d.resizeTarget){d.resizeTarget.removeClass("jqx-disableselect")}}if(d._cursorBackup=="undefined"){d._cursorBackup="default"}if(d._resizeWrapper){d._resizeWrapper.style.cursor=d._cursorBackup}},_resizeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(e.isResizing&&e._resizeDirection){if(f.which===0&&c.jqx.browser.msie&&c.jqx.browser.version<9){e._stopResizing(f)}if(e._isTouchDevice){var d=c.jqx.position(f);e._performResize(d.left,d.top);return false}e._performResize(f.pageX,f.pageY);return false}else{if(e._isTouchDevice){var d=c.jqx.position(f);return e._resizeCaptureCursor(d.left,d.top)}return e._resizeCaptureCursor(f.pageX,f.pageY)}}},_resizeCaptureCursor:function(e,d){if(this._resizeMouseDown&&!this.isResizing&&this._resizeDirection){var f=3;if(this._isTouchDevice){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}if((e+f<this._mouseResizePosition.x||e-f>this._mouseResizePosition.x)||(d+f<this._mouseResizePosition.y||d-f>this._mouseResizePosition.y)){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}}},_resizeBackupData:function(){this.resizeTarget.lastWidth=this.resizeTarget.width();this.resizeTarget.lastHeight=this.resizeTarget.height();this.resizeTarget.x=parseInt(this.resizeTarget.css("left"),10);this.resizeTarget.y=parseInt(this.resizeTarget.css("top"),10);this._resizeBackupChildrenSize()},_resizeBackupChildrenSize:function(){var d=this.resizeTargetChildren.length,e;while(d){d-=1;e=this.resizeTargetChildren[d];this.resizeTargetChildren[d].lastWidth=e.width();this.resizeTargetChildren[d].lastHeight=e.height()}},_performResize:function(g,f){var e=g-this._mouseResizePosition.x,d=f-this._mouseResizePosition.y;if(this._resizeDirection){this._resize(this.resizeTarget,e,d)}},_resizeCursorChangeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(!e.isResizing){if(e._isTouchDevice){var d=c.jqx.position(f);e._changeCursor(d.left-parseInt(e.resizeTarget.css("left"),10),d.top-parseInt(e.resizeTarget.css("top"),10));return}e._changeCursor(f.pageX-parseInt(e.resizeTarget.css("left"),10),f.pageY-parseInt(e.resizeTarget.css("top"),10))}}},_resizeMouseDownHandler:function(e,f){if(e.enableResize){if(e._resizeDirection!==null){e._resizeMouseDown=true;if(e._isTouchDevice){var d=c.jqx.position(f);e._mouseResizePosition.x=d.left;e._mouseResizePosition.y=d.top}else{e._mouseResizePosition.x=f.pageX;e._mouseResizePosition.y=f.pageY}f.preventDefault()}}},_validateResizeProperties:function(){try{if(!this.resizeTarget||this.resizeTarget.length!==1){throw new Error(this._resizeExceptions.invalidTarget)}if(this.minHeight<0||isNaN(parseInt(this.minHeight,10))){throw new Error(this._resizeExceptions.invalidMinHeight)}if(this.maxHeight<=0||isNaN(parseInt(this.maxHeight,10))){throw new Error(this._resizeExceptions.invalidMaxHeight)}if(this.minWidth<0||isNaN(parseInt(this.minWidth,10))){throw new Error(this._resizeExceptions.invalidMinWidth)}if(this.maxWidth<0||isNaN(parseInt(this.maxWidth,10))){throw new Error(this._resizeExceptions.invalidMaxWidth)}if(this.resizeIndicatorSize<0||isNaN(parseInt(this.resizeIndicatorSize,10))){throw new Error(this._resizeExceptions.invalidIndicatorSize)}if(this.minHeight>this.maxHeight||this.minWidth>this.maxWidth){throw new Error(this._resizeExceptions.invalidSize)}}catch(d){throw new Error(d)}},_changeCursor:function(d,e){if(this.isResizing||this._resizeMouseDown){return}this.resizeArea=true;if(d<=this.resizeIndicatorSize&&d>=0&&e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="nw-resize";this._resizeDirection="topleft"}else{if(e<=this.resizeIndicatorSize&&e>0&&d>=this.resizeTarget.width()-this.resizeIndicatorSize){this._resizeWrapper.style.cursor="ne-resize";this._resizeDirection="topright"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="sw-resize";this._resizeDirection="bottomleft"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="se-resize";this._resizeDirection="bottomright"}else{if(d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="left"}else{if(e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="top"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="bottom"}else{if(d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="right"}else{this._resizeWrapper.style.cursor=this._cursorBackup;this._resizeDirection=null;this.resizeArea=false}}}}}}}}},_prepareResizeMethods:function(d){this._resizeMethods=[];if(d.indexOf("left")>=0){this._resizeMethods.push(this._resizeLeft)}if(d.indexOf("top")>=0){this._resizeMethods.push(this._resizeTop)}if(d.indexOf("right")>=0){this._resizeMethods.push(this._resizeRight)}if(d.indexOf("bottom")>=0){this._resizeMethods.push(this._resizeBottom)}},_validateResize:function(g,d,h,f,e){if(h==="horizontal"||h==="both"){return this._validateWidth(g,f,e)}else{if(h==="vertical"||h==="both"){return this._validateHeight(d,f,e)}}return{result:false,fix:0}},_getParent:function(){if(this.resizeParent!==null&&this.resizeParent!=="undefined"&&this.resizeParent.height&&this.resizeParent.width&&this.resizeParent.top&&this.resizeParent.left){return this.resizeParent}return{left:0,top:0,width:c(document).width(),height:c(document).height()}},_validateHeight:function(e,h,g){var i=0,d=2,f=this._getParent();if(c(window).width()>c(document).width()&&c.jqx.browser.msie&&f.height===c(document).height()){i=this._SCROLL_WIDTH}if(g==="bottom"&&(e+h.position().top+i+d>f.height+f.top)){return{fix:f.height-h.position().top-i-d+f.top,result:false}}if(g==="top"&&h.lastHeight-e+h.y<f.top){return{fix:e+(h.lastHeight-e+h.y)-f.top,result:false}}if(e<h.minHeight){return{fix:h.minHeight,result:false}}if(e>h.maxHeight){return{fix:h.maxHeight,result:false}}return{result:true,fix:e}},_validateWidth:function(h,g,f){var i=0,d=2,e=this._getParent();if(c(window).height()<c(document).height()&&c.jqx.browser.msie&&document.documentElement.clientWidth>=document.documentElement.scrollWidth&&e.width===c(document).width()){i=this._SCROLL_WIDTH}if(f==="right"&&(h+g.position().left+i+d>e.width+e.left)){return{fix:e.width-g.position().left-i-d+e.left,result:false}}if(f==="left"&&(g.lastWidth-h+g.x<e.left)){return{fix:h+(g.lastWidth-h+g.x)-e.left,result:false}}if(h<g.minWidth){return{fix:g.minWidth,result:false}}if(h>g.maxWidth){return{fix:g.maxWidth,result:false}}return{result:true,fix:h}},_resize:function(h,e,d){var j=this._resizeMethods.length;for(var g=0;g<j;g++){if(this._resizeMethods[g] instanceof Function){var f={element:h,x:e,y:d,self:this};this._resizeMethods[g](f)}}this._performResizeLayout()},resize:function(g,d){if(this.resizable){var f=g-this.host.width();var e=d-this.host.height();var h="right";if(e!==0){h="bottom"}this._resizeDirection=h;this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this._resize(this.resizeTarget,f,e);this.isResizing=false}},_setResizeChildrenSize:function(e,f){var h=this.resizeTargetChildren.length;while(h){h--;if(f==="width"){var g=this.resizeTargetChildren[h].lastWidth-(this.resizeTarget.lastWidth-e);if(g<this.resizeTarget.maxWidth&&g>0){this.resizeTargetChildren[h].width(g)}}else{var d=this.resizeTargetChildren[h].lastHeight-(this.resizeTarget.lastHeight-e);if(d<this.resizeTarget.maxHeight&&d>0){this.resizeTargetChildren[h].height(d)}}}},_resizeRight:function(g){var h=g.element.lastWidth+g.x,d=g.self._validateResize(h,0,"horizontal",g.element,"right");if(!d.result){h=d.fix}if(g.element.width()!==h){g.self._setResizeChildrenSize(h,"width");g.element.width(h);if(g.self.width.toString().indexOf("%")>=0){var f=c(document.body).width()/100;var e=1/f;g.element[0].style.width=(e*h)+"%";g.self._setChildrenLayout()}g.self._raiseResizeEvent(0)}return h},_resizeLeft:function(h){var i=h.element.lastWidth-h.x,e=h.self._validateResize(i,0,"horizontal",h.element,"left"),d=h.element.x+h.x;if(!e.result){d=h.element.x+(h.element.lastWidth-e.fix);i=e.fix;return}if(h.element.width()!==i){h.self._setResizeChildrenSize(i,"width");h.element.width(i);if(h.self.width.toString().indexOf("%")>=0){var g=c(document.body).width()/100;var f=1/g;h.element[0].style.width=(f*i)+"%";h.self._setChildrenLayout()}h.element[0].style.left=h.self._toPx(d);h.self._raiseResizeEvent(0)}return i},_resizeBottom:function(h){var e=h.element.lastHeight+h.y,d=h.self._validateResize(0,e,"vertical",h.element,"bottom");if(!d.result){e=d.fix}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.self._raiseResizeEvent(0)}return e},_resizeTop:function(h){var e=h.element.lastHeight-h.y,d=h.self._validateResize(0,e,"vertical",h.element,"top"),i=h.element.y+h.y;if(!d.result){i=h.element.y+(h.element.lastHeight-d.fix);e=d.fix;return}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.element[0].style.top=h.self._toPx(i);h.self._raiseResizeEvent(0)}return e},_raiseResizeEvent:function(f){var e=this._resizeEvents[f],g=c.Event(e),d={};d.width=parseInt(this.resizeTarget[0].style.width,10);d.height=parseInt(this.resizeTarget[0].style.height,10);g.args=d;if(f===0){e=this._resizeEvents[2];var h=c.Event(e);h.args=d;this.resizeTarget.trigger(h)}return this.resizeTarget.trigger(g)}}}(jqxBaseFramework));b.extend(b.jqx._jqxWindow.prototype,a)}(jqxBaseFramework));
+(function(a){a.jqx.jqxWidget("jqxWindow","",{});a.extend(a.jqx._jqxWindow.prototype,{defineInstance:function(){var e={height:"auto",width:200,minHeight:50,maxHeight:1200,minWidth:50,maxWidth:1200,showCloseButton:true,disabled:false,autoOpen:true,keyboardCloseKey:"esc",title:"",content:"",draggable:true,resizable:true,animationType:"fade",closeAnimationDuration:250,showAnimationDuration:250,isModal:false,position:"center",closeButtonSize:16,closeButtonAction:"hide",modalOpacity:0.3,dragArea:null,okButton:null,cancelButton:null,dialogResult:{OK:false,Cancel:false,None:true},collapsed:false,showCollapseButton:false,collapseAnimationDuration:150,collapseButtonSize:16,rtl:false,keyboardNavigation:true,headerHeight:null,_events:["created","closed","moving","moved","open","collapse","expand","open","close","resize"],initContent:null,enableResize:true,restricter:null,autoFocus:true,closing:null,_invalidArgumentExceptions:{invalidHeight:"Invalid height!",invalidWidth:"Invalid width!",invalidMinHeight:"Invalid minHeight!",invalidMaxHeight:"Invalid maxHeight!",invalidMinWidth:"Invalid minWidth!",invalidMaxWidth:"Invalid maxWidth",invalidKeyCode:"Invalid keyCode!",invalidAnimationType:"Invalid animationType!",invalidCloseAnimationDuration:"Invalid closeAnimationDuration!",invalidShowAnimationDuration:"Invalid showAnimationDuration!",invalidPosition:"Invalid position!",invalidCloseButtonSize:"Invalid closeButtonSize!",invalidCollapseButtonSize:"Invalid collapseButtonSize!",invalidCloseButtonAction:"Invalid cluseButtonAction!",invalidModalOpacity:"Invalid modalOpacity!",invalidDragArea:"Invalid dragArea!",invalidDialogResult:"Invalid dialogResult!",invalidIsModal:"You can have just one modal window!"},_enableResizeCollapseBackup:null,_enableResizeBackup:undefined,_heightBeforeCollapse:null,_minHeightBeforeCollapse:null,_mouseDown:false,_isDragging:false,_rightContentWrapper:null,_leftContentWrapper:null,_headerContentWrapper:null,_closeButton:null,_collapseButton:null,_title:null,_content:null,_mousePosition:{},_windowPosition:{},_modalBackground:null,_SCROLL_WIDTH:21,_visible:true,modalBackgroundZIndex:1299,modalZIndex:1800,zIndex:1000,_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave",click:a.jqx.mobile.getTouchEventName("touchstart")}};if(this===a.jqx._jqxWindow.prototype){return e}a.extend(true,this,e);return e},createInstance:function(){if(this.host.initAnimate){this.host.initAnimate()}this.host.attr("role","dialog");this.host.removeAttr("data-bind");this.host.appendTo(document.body);var g=this;var f=function(l){for(var k=0;k<l.length;k++){var j=l[k];if(g[j]&&g[j].toString().indexOf("px")>=0){g[j]=parseInt(g[j],10)}}};f(["minWidth","minHeight","maxWidth","maxHeight","width","height"]);var h=function(){var j=parseInt(a(g.restricter).css("padding-top"),10);var i=parseInt(a(g.restricter).css("padding-left"),10);var k=parseInt(a(g.restricter).css("padding-bottom"),10);var m=parseInt(a(g.restricter).css("padding-right"),10);var l=a(g.restricter).coord();g.dragArea={left:i+l.left,top:j+l.top,width:1+m+a(g.restricter).width(),height:1+k+a(g.restricter).height()}};if(this.restricter){h()}if(this.restricter){this.addHandler(a(window),"resize."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){h()})}this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._validateProperties();this._createStructure();this._refresh();if(!this.autoOpen){this.element.style.display="none"}if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}if(!this.isModal){this._fixWindowZIndex()}this._setStartupSettings();this._positionWindow();this._raiseEvent(0);if(this.autoOpen){this._performLayout();var e=this;if(this.isModal){this._fixWindowZIndex("modal-show")}if(e.initContent){e.initContent();e._contentInitialized=true}this._raiseEvent(7);this._raiseEvent(9)}},refresh:function(){this._performLayout()},_setStartupSettings:function(){if(this.disabled){this.disable()}if(this.collapsed){this.collapsed=false;this.collapse(0)}if(!this.autoOpen){this.hide(null,0.001,true);this._visible=false}if(this.title!==null&&this.title!==""){this.setTitle(this.title)}if(this.content!==null&&this.content!==""){this.setContent(this.content)}this.title=this._headerContentWrapper.html();this.content=this._content.html()},_fixWindowZIndex:function(h){var g=a.data(document.body,"jqxwindows-list")||[],l=this.zIndex;if(!this.isModal){if(this._indexOf(this.host,g)<0){g.push(this.host)}a.data(document.body,"jqxwindows-list",g);if(g.length>1){var k=g[g.length-2];if(k.css("z-index")=="auto"){l=this.zIndex+g.length+1}else{var i=this.zIndex;l=parseInt(k.css("z-index"),10)+1;if(l<i){l=i}}}}else{if(g){g=this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}var f=a.data(document.body,"jqxwindows-modallist");if(!f){if(h=="modal-show"){var j=[];j.push(this.host);a.data(document.body,"jqxwindows-modallist",j);f=j}else{a.data(document.body,"jqxwindows-modallist",[]);f=[]}}else{if(h=="modal-show"){f.push(this.host)}else{var e=f.indexOf(this.host);if(e!=-1){f.splice(e,1)}}}l=this.modalZIndex;a.each(f,function(){if(this.data()){if(this.data().jqxWindow){var m=this.data().jqxWindow.instance;m._modalBackground.style.zIndex=l;m.element.style.zIndex=l+1;l+=2}}});a.data(document.body,"jqxwindow-modal",this.host);return}this.element.style.zIndex=l;this._sortByStyle("z-index",g)},_validateProperties:function(){try{this._validateSize();this._validateAnimationProperties();this._validateInteractionProperties();this._validateModalProperties();if(!this.position){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(isNaN(this.closeButtonSize)||parseInt(this.closeButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonSize)}if(isNaN(this.collapseButtonSize)||parseInt(this.collapseButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCollapseButtonSize)}}catch(e){throw new Error(e)}},_validateModalProperties:function(){if(this.modalOpacity<0||this.modalOpacity>1){throw new Error(this._invalidArgumentExceptions.invalidModalOpacity)}if(this.isModal&&!this._singleModalCheck()){throw new Error(this._invalidArgumentExceptions.invalidIsModal)}},_validateSize:function(){this._validateSizeLimits();if(this.height!=="auto"&&isNaN(parseInt(this.height,10))){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.width!=="auto"&&isNaN(parseInt(this.width,10))){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(this.height!=="auto"&&this.height<this.minHeight){this.height=this.minHeight}if(this.width<this.minWidth){this.width=this.minWidth}if(this.height!=="auto"&&this.height>this.maxHeight){this.height=this.maxHeight}if(this.width>this.maxWidth){this.width=this.maxWidth}if(this.dragArea===null){return}if(this.dragArea&&((this.dragArea.height!==null&&this.host.height()>this.dragArea.height)||(parseInt(this.height,10)>this.dragArea.height))||(this.dragArea.width!==null&&this.width>this.dragArea.width)||(this.maxHeight>this.dragArea.height||this.maxWidth>this.dragArea.width)){}},_validateSizeLimits:function(){if(this.maxHeight==null){this.maxHeight=9999}if(this.minWidth==null){this.minWidth=0}if(this.maxWidth==null){this.maxWidth=9999}if(this.minHeight==null){this.minHeight=0}if(isNaN(parseInt(this.minHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}if(isNaN(parseInt(this.maxHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxHeight)}if(isNaN(parseInt(this.minWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}if(isNaN(parseInt(this.maxWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxWidth)}if(this.minHeight&&this.maxHeight){if(parseInt(this.minHeight,10)>parseInt(this.maxHeight,10)&&this.maxHeight!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}}if(this.minWidth&&this.maxWidth){if(parseInt(this.minWidth,10)>parseInt(this.maxWidth,10)&&this.maxWidth!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}}},_validateAnimationProperties:function(){if(this.animationType!=="fade"&&this.animationType!=="slide"&&this.animationType!=="combined"&&this.animationType!=="none"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(isNaN(parseInt(this.closeAnimationDuration,10))||this.closeAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidCloseAnimationDuration)}if(isNaN(parseInt(this.showAnimationDuration,10))||this.showAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidShowAnimationDuration)}},_validateInteractionProperties:function(){if(parseInt(this.keyCode,10)<0||parseInt(this.keyCode,10)>130&&this.keyCode!=="esc"){throw new Error(this._invalidArgumentExceptions.invalidKeyCode)}if(this.dragArea!==null&&(typeof this.dragArea.width==="undefined"||typeof this.dragArea.height==="undefined"||typeof this.dragArea.left==="undefined"||typeof this.dragArea.top==="undefined")){throw new Error(this._invalidArgumentExceptions.invalidDragArea)}if(!this.dialogResult||(!this.dialogResult.OK&&!this.dialogResult.Cancel&&!this.dialogResult.None)){throw new Error(this._invalidArgumentExceptions.invalidDialogResult)}if(this.closeButtonAction!=="hide"&&this.closeButtonAction!=="close"){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonAction)}},_singleModalCheck:function(){var e=a.data(document.body,"jqxwindows-list")||[],f=e.length;while(f){f-=1;if(a(e[f].attr("id")).length>0){if(a(e[f].attr("id")).jqxWindow("isModal")){return false}}}return true},_createStructure:function(){var e=this.host.children();if(e.length===1){this._content=e[0];this._header=document.createElement("div");this._header.innerHTML=this.host.attr("caption");this.element.insertBefore(this._header,this._content);this.host.attr("caption","");this._header=a(this._header);this._content=a(this._content)}else{if(e.length===2){this._header=a(e[0]);this._content=a(e[1])}else{throw new Error("Invalid structure!")}}},_refresh:function(){this._render();this._addStyles();this._performLayout();this._removeEventHandlers();this._addEventHandlers();this._initializeResize()},_render:function(){this._addHeaderWrapper();this._addCloseButton();this._addCollapseButton();this._removeModal();this._makeModal()},_addHeaderWrapper:function(){if(!this._headerContentWrapper){this._header[0].innerHTML='<div style="float:left;">'+this._header[0].innerHTML+"</div>";this._headerContentWrapper=a(this._header.children()[0]);if(this.headerHeight!==null){this._header.height(this.headerHeight)}}},_addCloseButton:function(){if(!this._closeButton){this._closeButtonWrapper=document.createElement("div");this._closeButtonWrapper.className=this.toThemeProperty("jqx-window-close-button-background");this._closeButton=document.createElement("div");this._closeButton.className=this.toThemeProperty("jqx-window-close-button jqx-icon-close");this._closeButton.style.width="100%";this._closeButton.style.height="100%";this._closeButtonWrapper.appendChild(this._closeButton);this._header[0].appendChild(this._closeButtonWrapper);this._closeButtonWrapper=a(this._closeButtonWrapper);this._closeButton=a(this._closeButton)}},_addCollapseButton:function(){if(!this._collapseButton){this._collapseButtonWrapper=document.createElement("div");this._collapseButtonWrapper.className=this.toThemeProperty("jqx-window-collapse-button-background");this._collapseButton=document.createElement("div");this._collapseButton.className=this.toThemeProperty("jqx-window-collapse-button jqx-icon-arrow-up");this._collapseButton.style.width="100%";this._collapseButton.style.height="100%";this._collapseButtonWrapper.appendChild(this._collapseButton);this._header[0].appendChild(this._collapseButtonWrapper);this._collapseButtonWrapper=a(this._collapseButtonWrapper);this._collapseButton=a(this._collapseButton)}},_removeModal:function(){if(!this.isModal&&typeof this._modalBackground==="object"&&this._modalBackground!==null){a("."+this.toThemeProperty("jqx-window-modal")).remove();this._modalBackground=null}},focus:function(){try{this.host.focus();var f=this;setTimeout(function(){f.host.focus()},10)}catch(e){}},_makeModal:function(){if(this.isModal&&!this._modalBackground){var g=a.data(document.body,"jqxwindows-list");if(g){this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}this._modalBackground=document.createElement("div");this._modalBackground.className=this.toThemeProperty("jqx-window-modal");this._setModalBackgroundStyles();document.body.appendChild(this._modalBackground);this.addHandler(this._modalBackground,this._getEvent("click"),function(){return false});var f=this;var e=function(h,i){return i.contains(h)};this.addHandler(this._modalBackground,"mouseup",function(h){f._stopResizing(f);h.preventDefault()});this.addHandler(this._modalBackground,"mousedown",function(i){var h=f._getTabbables();if(h.length>0){h[0].focus();setTimeout(function(){h[0].focus()},100)}i.preventDefault();return false});this.addHandler(a(document),"keydown.window"+this.element.id,function(k){if(k.keyCode!==9){return}var h=a.data(document.body,"jqxwindows-modallist");if(h.length>1){if(h[h.length-1][0]!=f.element){return}}var j=f._getTabbables();var l=null;var i=null;if(f.element.offsetWidth===0||f.element.offsetHeight===0){return}if(j.length>0){l=j[0];i=j[j.length-1]}if(k.target==f.element){return}if(l==null){return}if(!e(k.target,f.element)){l.focus();return false}if(k.target===i&&!k.shiftKey){l.focus();return false}else{if(k.target===l&&k.shiftKey){i.focus();return false}}})}},_addStyles:function(){this.host.addClass(this.toThemeProperty("jqx-rc-all"));this.host.addClass(this.toThemeProperty("jqx-window"));this.host.addClass(this.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-window-header"));this._content.addClass(this.toThemeProperty("jqx-window-content"));this._header.addClass(this.toThemeProperty("jqx-widget-header"));this._content.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-disableselect"));this._header.addClass(this.toThemeProperty("jqx-rc-t"));this._content.addClass(this.toThemeProperty("jqx-rc-b"));if(!this.host.attr("tabindex")){this.element.tabIndex=0;this._header[0].tabIndex=0;this._content[0].tabIndex=0}this.element.setAttribute("hideFocus","true");this.element.style.outline="none"},_performHeaderLayout:function(){this._handleHeaderButtons();this._header[0].style.position="relative";if(this.rtl){this._headerContentWrapper[0].style.direction="rtl";this._headerContentWrapper[0].style["float"]="right"}else{this._headerContentWrapper[0].style.direction="ltr";this._headerContentWrapper[0].style["float"]="left"}this._performHeaderCloseButtonLayout();this._performHeaderCollapseButtonLayout();this._centerElement(this._headerContentWrapper,this._header,"y","margin");if(this.headerHeight){this._centerElement(this._closeButtonWrapper,this._header,"y","margin");this._centerElement(this._collapseButtonWrapper,this._header,"y","margin")}},_handleHeaderButtons:function(){if(!this._closeButtonWrapper){return}if(!this.showCloseButton){this._closeButtonWrapper[0].style.visibility="hidden"}else{this._closeButtonWrapper[0].style.visibility="visible";var e=this._toPx(this.closeButtonSize);this._closeButtonWrapper[0].style.width=e;this._closeButtonWrapper[0].style.height=e}if(!this.showCollapseButton){this._collapseButtonWrapper[0].style.visibility="hidden"}else{this._collapseButtonWrapper[0].style.visibility="visible";var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f}},_performHeaderCloseButtonLayout:function(){if(!this._closeButtonWrapper){return}var e=parseInt(this._header.css("padding-right"),10);if(!isNaN(e)){this._closeButtonWrapper.width(this._closeButton.width());if(!this.rtl){this._closeButtonWrapper[0].style.marginRight=this._toPx(e);this._closeButtonWrapper[0].style.marginLeft="0px"}else{this._closeButtonWrapper[0].style.marginRight="0px";this._closeButtonWrapper[0].style.marginLeft=this._toPx(e)}}this._closeButtonWrapper[0].style.position="absolute";if(!this.rtl){this._closeButtonWrapper[0].style.right="0px";this._closeButtonWrapper[0].style.left=""}else{this._closeButtonWrapper[0].style.right="";this._closeButtonWrapper[0].style.left="0px"}},_performHeaderCollapseButtonLayout:function(){if(!this._closeButtonWrapper){return}var g=parseInt(this._header.css("padding-right"),10);if(!isNaN(g)){var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f;if(!this.rtl){this._collapseButtonWrapper[0].style.marginRight=this._toPx(g);this._collapseButtonWrapper[0].style.marginLeft="0px"}else{this._collapseButtonWrapper[0].style.marginRight="0px";this._collapseButtonWrapper[0].style.marginLeft=this._toPx(g)}}this._collapseButtonWrapper[0].style.position="absolute";var e=this._toPx(this.showCloseButton?this._closeButton.outerWidth(true):0);if(!this.rtl){this._collapseButtonWrapper[0].style.right=e;this._collapseButtonWrapper[0].style.left=""}else{this._collapseButtonWrapper[0].style.right="";this._collapseButtonWrapper[0].style.left=e}this._centerElement(this._collapseButton,a(this._collapseButton[0].parentElement),"y")},_performWidgetLayout:function(){var e;if(this.width!=="auto"){if(this.width&&this.width.toString().indexOf("%")>=0){this.element.style.width=this.width}else{this.element.style.width=this._toPx(this.width)}}if(!this.collapsed){if(this.height!=="auto"){if(this.height&&this.height.toString().indexOf("%")>=0){this.element.style.height=this.height}else{this.element.style.height=this._toPx(this.height)}}else{this.element.style.height=this.host.height()+"px"}this.element.style.minHeight=this._toPx(this.minHeight)}this._setChildrenLayout();e=this._validateMinSize();this.element.style.maxHeight=this._toPx(this.maxHeight);this.element.style.minWidth=this._toPx(this.minWidth);this.element.style.maxWidth=this._toPx(this.maxWidth);if(!e){this._setChildrenLayout()}},_setChildrenLayout:function(){this._header.width(this.host.width()-(this._header.outerWidth(true)-this._header.width()));this._content.width(this.host.width()-(this._content.outerWidth(true)-this._content.width()));this._content.height(this.host.height()-this._header.outerHeight(true)-(this._content.outerHeight(true)-this._content.height()))},_validateMinSize:function(){var f=true;if(this.minHeight<this._header.height()){this.minHeight=this._header.height();f=false}var h=a(this._header.children()[0]).outerWidth(),e=this._header.children()[1]?a(this._header.children()[1]).outerWidth():0,g=h+e;if(this.minWidth<100){this.minWidth=Math.min(g,100);f=false}return f},_centerElement:function(h,f,e,g){if(typeof f.left==="number"&&typeof f.top==="number"&&typeof f.height==="number"&&typeof f.width==="number"){this._centerElementInArea(h,f,e)}else{this._centerElementInParent(h,f,e,g)}},_centerElementInParent:function(e,o,j,g){var n=e.css("display")==="none";var f,h;j=j.toLowerCase();if(g){f=g+"Top";h=g+"Left"}else{f="top";h="left"}if(j.indexOf("y")>=0){if(n){e[0].style.display="block"}var i=e.outerHeight(true),l;if(n){e[0].style.display="none"}l=o.height();var k=(Math.max(0,l-i))/2;e[0].style[f]=k+"px"}if(j.indexOf("x")>=0){if(n){e[0].style.display="block"}var q=e.outerWidth(true),p;if(n){e[0].style.display="none"}p=o.width();var m=(Math.max(0,p-q))/2;e[0].style[h]=m+"px"}},_centerElementInArea:function(f,e,h){h=h.toLowerCase();if(h.indexOf("y")>=0){var g=f.outerHeight(true);var j=e.height;var i=(j-g)/2;f[0].style.top=i+e.top+"px"}if(h.indexOf("x")>=0){var m=f.outerWidth(true);var l=e.width;var k=(l-m)/2;f[0].style.left=k+e.left+"px"}},_removeEventHandlers:function(){this.removeHandler(this._header,this._getEvent("mousedown"));this.removeHandler(this._header,this._getEvent("mousemove"));this.removeHandler(this._header,"focus");this.removeHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"));this.removeHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"));this.removeHandler(this.host,"keydown");this.removeHandler(this._closeButton,this._getEvent("click"));this.removeHandler(this._closeButton,this._getEvent("mouseenter"));this.removeHandler(this._closeButton,this._getEvent("mouseleave"));this.removeHandler(this._collapseButton,this._getEvent("click"));this.removeHandler(this._collapseButton,this._getEvent("mouseenter"));this.removeHandler(this._collapseButton,this._getEvent("mouseleave"));this.removeHandler(this.host,this._getEvent("mousedown"));if(this.okButton){this.removeHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler)}if(this.cancelButton){this.removeHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler)}this.removeHandler(this._header,this._getEvent("mouseenter"));this.removeHandler(this._header,this._getEvent("mouseleave"));this.removeHandler(this.host,"resizing",this._windowResizeHandler)},_removeFromArray:function(e,g){var f=this._indexOf(e,g);if(f>=0){return g.splice(this._indexOf(e,g),1)}else{return g}},_sortByStyle:function(e,l){for(var h=0;h<l.length;h++){for(var f=l.length-1;f>h;f--){var m=l[f],k=l[f-1],g;if(parseInt(m.css(e),10)<parseInt(k.css(e),10)){g=m;l[f]=k;l[f-1]=g}}}},_initializeResize:function(){if(this.resizable){var e=this;this.initResize({target:this.host,alsoResize:e._content,maxWidth:e.maxWidth,minWidth:e.minWidth,maxHeight:e.maxHeight,minHeight:e.minHeight,indicatorSize:10,resizeParent:e.dragArea})}},_removeResize:function(){this.removeResize()},_getEvent:function(e){if(this._isTouchDevice){return this._touchEvents[e]}else{return e}},_addEventHandlers:function(){this._addDragDropHandlers();this._addCloseHandlers();this._addCollapseHandlers();this._addFocusHandlers();this._documentResizeHandlers();this._closeButtonHover();this._collapseButtonHover();this._addDialogButtonsHandlers();this._addHeaderHoverEffect();this._addResizeHandlers();var e=this;this.addHandler(this._header,this._getEvent("mousemove"),function(){e._addHeaderCursorHandlers(e)})},_addResizeHandlers:function(){var e=this;e.addHandler(e.host,"resizing",e._windowResizeHandler,{self:e});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){e._performLayout()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){e._performLayout()})},_windowResizeHandler:function(h){var e=h.data.self;e._header.width(e.host.width()-(e._header.outerWidth(true)-e._header.width()));if(e.width&&e.width.toString().indexOf("%")>=0){var g=a(document.body).width()/100;var f=1/g;e.width=(f*h.args.width)+"%"}else{e.width=h.args.width}if(e.height&&e.height.toString().indexOf("%")>=0){var g=a(document.body).height()/100;var f=1/g;e.height=(f*h.args.height)+"%"}else{e.height=h.args.height}},_addHeaderHoverEffect:function(){var e=this;this.addHandler(this._header,this._getEvent("mouseenter"),function(){a(this).addClass(e.toThemeProperty("jqx-window-header-hover"))});this.addHandler(this._header,this._getEvent("mouseleave"),function(){a(this).removeClass(e.toThemeProperty("jqx-window-header-hover"))})},_addDialogButtonsHandlers:function(){if(this.okButton){this.addHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"ok"})}if(this.cancelButton){this.addHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"cancel"})}},_documentResizeHandlers:function(){var e=this;if(this.isModal){this.addHandler(a(window),"resize.window"+this.element.id,function(){if(typeof e._modalBackground==="object"&&e._modalBackground!==null){if(e.isOpen()){e._modalBackground.style.display="none"}if(!e.restricter){var f=e._getDocumentSize();e._modalBackground.style.width=f.width+"px";e._modalBackground.style.height=f.height+"px"}else{e._modalBackground.style.left=e._toPx(e.dragArea.left);e._modalBackground.style.top=e._toPx(e.dragArea.top);e._modalBackground.style.width=e._toPx(e.dragArea.width);e._modalBackground.style.height=e._toPx(e.dragArea.height)}if(e.isOpen()){e._modalBackground.style.display="block"}}})}},_setDialogResultHandler:function(f){var e=f.data.self;e._setDialogResult(f.data.result);e.closeWindow()},_setDialogResult:function(e){this.dialogResult.OK=false;this.dialogResult.None=false;this.dialogResult.Cancel=false;e=e.toLowerCase();switch(e){case"ok":this.dialogResult.OK=true;break;case"cancel":this.dialogResult.Cancel=true;break;default:this.dialogResult.None=true}},_getDocumentSize:function(){var e=a.jqx.browser.msie&&a.jqx.browser.version<9;var f=e?4:0;var g=f;if(document.body.scrollHeight>document.body.clientHeight&&e){f=this._SCROLL_WIDTH}if(document.body.scrollWidth>document.body.clientWidth&&e){g=this._SCROLL_WIDTH}return{width:a(document).width()-f,height:a(document).height()-g}},_closeButtonHover:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("mouseenter"),function(){e._closeButton.addClass(e.toThemeProperty("jqx-window-close-button-hover"))});this.addHandler(this._closeButton,this._getEvent("mouseleave"),function(){e._closeButton.removeClass(e.toThemeProperty("jqx-window-close-button-hover"))})},_collapseButtonHover:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("mouseenter"),function(){e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-hover"))});this.addHandler(this._collapseButton,this._getEvent("mouseleave"),function(){e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-hover"))})},_setModalBackgroundStyles:function(){if(this.isModal){var e=this._getDocumentSize();if(!(a.jqx.browser.msie&&a.jqx.browser.version<9)){this._modalBackground.style.opacity=this.modalOpacity}else{this._modalBackground.style.filter="alpha(opacity="+(this.modalOpacity*100)+")"}this._modalBackground.style.position="absolute";this._modalBackground.style.top="0px";this._modalBackground.style.left="0px";this._modalBackground.style.width=e.width;this._modalBackground.style.height=e.height;this._modalBackground.style.zIndex=this.modalBackgroundZIndex;if(!this.autoOpen){this._modalBackground.style.display="none"}}},_addFocusHandlers:function(){var e=this;this.addHandler(this.host,this._getEvent("mousedown"),function(){if(!e.isModal){e.bringToFront()}})},_indexOf:function(f,g){for(var e=0;e<g.length;e++){if(g[e][0]===f[0]){return e}}return -1},_addCloseHandlers:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("click"),function(f){return e._closeWindow(f)});if(this.keyboardCloseKey!=="none"){if(typeof this.keyboardCloseKey!=="number"&&this.keyboardCloseKey.toLowerCase()==="esc"){this.keyboardCloseKey=27}}this.addHandler(this.host,"keydown",function(f){if(f.keyCode===e.keyboardCloseKey&&e.keyboardCloseKey!=null&&e.keyboardCloseKey!="none"){e._closeWindow(f)}else{e._handleKeys(f)}},{self:this});this.addHandler(this.host,"keyup",function(){if(!e.keyboardNavigation){return}if(e._moved){var h=e.host.coord();var g=h.left;var f=h.top;e._raiseEvent(3,g,f,g,f);e._moved=false}})},_handleKeys:function(f){if(!this.keyboardNavigation){return}if(!this._headerFocused){return}if(a(document.activeElement).ischildof(this._content)){return}var e=f.ctrlKey;var m=f.keyCode;var k=this.host.coord();var j=k.left;var l=k.top;var g=this._getDraggingArea();var h=this.host.width();var n=this.host.height();var o=true;var i=10;switch(m){case 37:if(!e){if(this.draggable){if(j-i>=0){this.move(j-i,l)}}}else{if(this.resizable){this.resize(h-i,n)}}o=false;break;case 38:if(!e){if(this.draggable){if(l-i>=0){this.move(j,l-i)}}}else{if(this.resizable){this.resize(h,n-i)}}o=false;break;case 39:if(!e){if(this.draggable){if(j+h+i<=g.width){this.move(j+i,l)}}}else{if(this.resizable){this.resize(h+i,n)}}o=false;break;case 40:if(!e){if(this.draggable){if(l+n+i<=g.height){this.move(j,l+i)}}}else{if(this.resizable){this.resize(h,n+i)}}o=false;break}if(!o){if(f.preventDefault){f.preventDefault()}if(f.stopPropagation){f.stopPropagation()}}return o},_addCollapseHandlers:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("click"),function(){if(!e.collapsed){e.collapse()}else{e.expand()}})},_closeWindow:function(){this.closeWindow();return false},_addHeaderCursorHandlers:function(e){if(e.resizeArea&&e.resizable&&!e.collapsed){e._header[0].style.cursor=e._resizeWrapper.style.cursor;return}else{if(e.draggable){e._header[0].style.cursor="move";return}}e._header[0].style.cursor="default";if(e._resizeWrapper){e._resizeWrapper.style.cursor="default"}},_addDragDropHandlers:function(){if(this.draggable){var e=this;this.addHandler(this.host,"focus",function(){e._headerFocused=true});this.addHandler(this.host,"blur",function(){e._headerFocused=false});this.addHandler(this._header,"focus",function(){e._headerFocused=true;return false});this.addHandler(this._header,this._getEvent("mousedown"),function(j,i,k){if(i){j.pageX=i}if(k){j.pageY=k}e._headerMouseDownHandler(e,j);return true});this.addHandler(this._header,"dragstart",function(i){if(i.preventDefault){i.preventDefault()}return false});this.addHandler(this._header,this._getEvent("mousemove"),function(i){return e._headerMouseMoveHandler(e,i)});this.addHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"),function(i){return e._dragHandler(e,i)});this.addHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"),function(i){return e._dropHandler(e,i)});try{if(document.referrer!==""||window.frameElement){var h=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){h=document.referrer}}if(h&&h.indexOf(document.location.host)!=-1){var g=function(i){e._dropHandler(e,i)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}catch(f){}}},_headerMouseDownHandler:function(f,g){if(!f.isModal){f.bringToFront()}if(f._resizeDirection==null){var e=a.jqx.position(g);f._mousePosition.x=e.left;f._mousePosition.y=e.top;f._mouseDown=true;f._isDragging=false}},_headerMouseMoveHandler:function(f,i){if(f._mouseDown&&!f._isDragging){var j=a.jqx.mobile.getTouches(i);var k=j[0];var h=k.pageX,g=k.pageY;var e=a.jqx.position(i);h=e.left;g=e.top;if((h+3<f._mousePosition.x||h-3>f._mousePosition.x)||(g+3<f._mousePosition.y||g-3>f._mousePosition.y)){f._isDragging=true;f._mousePosition={x:h,y:g};f._windowPosition={x:f.host.coord().left,y:f.host.coord().top};a(document.body).addClass(f.toThemeProperty("jqx-disableselect"))}if(f._isTouchDevice){i.preventDefault();return true}return false}if(f._isDragging){if(f._isTouchDevice){i.preventDefault();return true}return false}return true},_dropHandler:function(g,j){var f=true;if(g._isDragging&&!g.isResizing&&!g._resizeDirection){var e=parseInt(g.host.css("left"),10),k=parseInt(g.host.css("top"),10),i=(g._isTouchDevice)?0:j.pageX,h=(g._isTouchDevice)?0:j.pageY;g.enableResize=g._enableResizeBackup;g._enableResizeBackup="undefined";g._raiseEvent(3,e,k,i,h);f=false;if(j.preventDefault!="undefined"){j.preventDefault()}if(j.originalEvent!=null){j.originalEvent.mouseHandled=true}if(j.stopPropagation!="undefined"){j.stopPropagation()}}g._isDragging=false;g._mouseDown=false;a(document.body).removeClass(g.toThemeProperty("jqx-disableselect"));return f},_dragHandler:function(m,h){if(m._isDragging&&!m.isResizing&&!m._resizeDirection){var l=(m._isTouchDevice)?h.originalEvent.which:h.which;if(typeof m._enableResizeBackup==="undefined"){m._enableResizeBackup=m.enableResize}m.enableResize=false;if(l===0&&a.jqx.browser.msie&&a.jqx.browser.version<8){return m._dropHandler(m,h)}var k=a.jqx.position(h);var j=k.left,i=k.top,g=j-m._mousePosition.x,f=i-m._mousePosition.y,e=m._windowPosition.x+g,n=m._windowPosition.y+f;m.move(e,n,h);h.preventDefault();return false}return true},_validateCoordinates:function(e,k,i,j){var h=this._getDraggingArea();e=(e<h.left)?h.left:e;k=(k<h.top)?h.top:k;var f=this.host.outerWidth(true);var g=this.host.outerHeight(true);if(e+f>=h.width+h.left-2*j){e=h.width+h.left-f-j}if(k+g>=h.height+h.top-i){k=h.height+h.top-g-i}return{x:e,y:k}},_performLayout:function(){this._performHeaderLayout();this._performWidgetLayout()},_parseDragAreaAttributes:function(){if(this.dragArea!==null){this.dragArea.height=parseInt(this.dragArea.height,10);this.dragArea.width=parseInt(this.dragArea.width,10);this.dragArea.top=parseInt(this.dragArea.top,10);this.dragArea.left=parseInt(this.dragArea.left,10)}},_positionWindow:function(){this._parseDragAreaAttributes();if(this.position instanceof Array&&this.position.length===2&&typeof this.position[0]==="number"&&typeof this.position[1]==="number"){this.element.style.left=this._toPx(this.position[0]);this.element.style.top=this._toPx(this.position[1])}else{if(this.position instanceof Object){if(this.position.left){this.host.offset(this.position)}else{if(this.position.x!==undefined&&this.position.y!==undefined){this.element.style.left=this._toPx(this.position.x);this.element.style.top=this._toPx(this.position.y)}else{if(this.position.center){this._centerElement(this.host,this.position.center,"xy");var g=this.position.center.coord();var f=parseInt(this.host.css("left"),10);var e=parseInt(this.host.css("top"),10);this.element.style.left=this._toPx(f+g.left);this.element.style.top=this._toPx(e+g.top)}}}}else{this._positionFromLiteral()}}},_getDraggingArea:function(){var e={};e.left=((this.dragArea&&this.dragArea.left)?this.dragArea.left:0);e.top=((this.dragArea&&this.dragArea.top)?this.dragArea.top:0);e.width=((this.dragArea&&this.dragArea.width)?this.dragArea.width:this._getDocumentSize().width);e.height=((this.dragArea&&this.dragArea.height)?this.dragArea.height:this._getDocumentSize().height);return e},_positionFromLiteral:function(){if(!(this.position instanceof Array)){this.position=this.position.split(",")}var e=this.position.length,f=this._getDraggingArea();while(e){e-=1;this.position[e]=this.position[e].replace(/ /g,"");switch(this.position[e]){case"top":this.element.style.top=this._toPx(f.top);break;case"left":this.element.style.left=this._toPx(f.left);break;case"bottom":this.element.style.top=this._toPx(f.height-this.host.height()+f.top);break;case"right":this.element.style.left=this._toPx(f.left+f.width-this.host.width());break;default:if(!this.dragArea){f=a(window)}this._centerElement(this.host,f,"xy");break}}},_raiseEvent:function(g){var f=this._events[g],h=a.Event(f),e={};if(g===2||g===3){e.x=arguments[1];e.y=arguments[2];e.pageX=arguments[3];e.pageY=arguments[4]}if(f==="closed"||f==="close"){e.dialogResult=this.dialogResult}h.args=e;return this.host.trigger(h)},destroy:function(){this.removeHandler(a(window),"resize.window"+this.element.id);this._removeEventHandlers();this._destroy()},_destroy:function(){if(this.isModal){if(this._modalBackground!==null){a(this._modalBackground).remove()}this.host.jqxWindow({isModal:false})}if(this.restricter){this.removeHandler(a(window),"resize."+this.element.id);this.removeHandler(a(window),"orientationchanged."+this.element.id);this.removeHandler(a(window),"orientationchange."+this.element.id)}this.host.remove();if(this._modalBackground!==null){a(this._modalBackground).remove()}},_toClose:function(f,e){return((f&&e[0]===this.element)||(e[0]!==this.element&&typeof e[0]==="object"))},propertyChangedHandler:function(e,g,m,k){this._validateProperties();switch(g){case"rtl":this._performLayout();break;case"dragArea":this._positionWindow();break;case"collapseButtonSize":this._performLayout();break;case"closeButtonSize":this._performLayout();break;case"isModal":this._refresh();this._fixWindowZIndex();if(k===false){var h=a.data(document.body,"jqxwindows-modallist");var l=[];for(var f=0;f<h.length;f++){var j=h[f][0];if(j!==this.element){l.push(h[f])}}}a.data(document.body,"jqxwindows-modallist",l);break;case"keyboardCloseKey":this._removeEventHandlers();this._addEventHandlers();break;case"disabled":if(k){this.disable()}else{this.disabled=true;this.enable()}break;case"showCloseButton":case"showCollapseButton":this._performLayout();break;case"height":this._performLayout();break;case"width":this._performLayout();break;case"title":this.setTitle(k);this.title=k;break;case"content":this.setContent(k);break;case"draggable":this._removeEventHandlers();this._addEventHandlers();this._removeResize();this._initializeResize();break;case"resizable":this.enableResize=k;if(k){this._initializeResize()}else{this._removeResize()}break;case"position":this._positionWindow();break;case"modalOpacity":this._setModalBackgroundStyles();break;case"okButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.okButton)}break;case"cancelButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.cancelButton)}break;case"collapsed":if(k){if(!m){this.collapsed=false;this.collapse(0)}}else{if(m){this.collapsed=true;this.expand(0)}}break;case"theme":a.jqx.utilities.setTheme(m,k,this.host);break;case"enableResize":return;case"maxWidth":case"maxHeight":case"minWidth":case"minHeight":e._performLayout();e._removeResize();e._initializeResize();return;default:return}},collapse:function(g){if(!this.collapsed&&this._animationInProgress!==true){if(this.host.css("display")=="none"){return}var e=this,h=this._header.outerHeight(true),i=parseInt(this._header.css("border-bottom-width"),10),f=parseInt(this._header.css("margin-bottom"),10);g=!isNaN(parseInt(g,10))?g:this.collapseAnimationDuration;if(!isNaN(i)){h-=2*i}if(!isNaN(f)){h+=f}this._heightBeforeCollapse=this.host.height();this._minHeightBeforeCollapse=this.host.css("min-height");this.element.style.minHeight=this._toPx(h);e._animationInProgress=true;this.host.animate({height:h},{duration:g,complete:function(){e._animationInProgress=false;e.collapsed=true;e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.addClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="none";e._raiseEvent(5);e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",false)}})}},expand:function(f){if(this.collapsed&&this._animationInProgress!==true){var e=this;f=!isNaN(parseInt(f,10))?f:this.collapseAnimationDuration;e._animationInProgress=true;this.host.animate({height:this._heightBeforeCollapse},{duration:f,complete:function(){e._animationInProgress=false;e.collapsed=false;e.element.style.minHeight=e._toPx(e._minHeightBeforeCollapse);e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.removeClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="block";e._raiseEvent(6);e._performWidgetLayout();e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",true)}})}},closeAll:function(h){h=true;var g=a.data(document.body,"jqxwindows-list"),f=g.length,e=a.data(document.body,"jqxwindow-modal")||[];while(f){f-=1;if(this._toClose(h,g[f])){g[f].jqxWindow("closeWindow","close");g.splice(f,1)}}if(this._toClose(h,e)){e.jqxWindow("closeWindow","close");a.data(document.body,"jqxwindow-modal",[])}a.data(document.body,"jqxwindows-list",g)},setTitle:function(f){if(typeof f==="string"){this._headerContentWrapper.html(f)}else{if(typeof f==="object"){try{this._headerContentWrapper[0].innerHTML="";if(f instanceof HTMLElement){this._headerContentWrapper[0].appendChild(f)}else{if(f.appendTo){f.appendTo(this._headerContentWrapper)}}}catch(e){throw new Error(e)}}}this.title=f;this._performLayout()},setContent:function(h){this._contentInitialized=false;var g=this._content,j=false;while(!j){g[0].style.width="auto";g[0].style.height="auto";if(g.hasClass("jqx-window")){j=true}else{g=a(g[0].parentNode)}}if(a.isArray(h)){for(var f=0;f<h.length;f++){h[f].appendTo(this._content)}}else{if(typeof h==="string"){a(this._content[0]).html(h)}else{if(typeof h==="object"){try{this._content[0].innerHTML="";if(h instanceof HTMLElement){this._content[0].appendChild(h)}else{if(h.appendTo){h.appendTo(this._content)}}}catch(e){throw new Error(e)}}}}this.content=h;this._performLayout()},disable:function(){this.disabled=true;this._removeEventHandlers();this._header.addClass(this.toThemeProperty("jqx-window-header-disabled"));this._closeButton.addClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.addClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this._content.addClass(this.toThemeProperty("jqx-window-content-disabled"));this.host.addClass(this.toThemeProperty("jqx-window-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this._removeResize()},enable:function(){if(this.disabled){this._addEventHandlers();this._header.removeClass(this.toThemeProperty("jqx-window-header-disabled"));this._content.removeClass(this.toThemeProperty("jqx-window-content-disabled"));this._closeButton.removeClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.removeClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this.host.removeClass(this.toThemeProperty("jqx-window-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.disabled=false;this._initializeResize()}},isOpen:function(){return this._visible},closeWindow:function(f){var e=this;f=(typeof f==="undefined")?this.closeButtonAction:f;this.hide(function(){if(f==="close"){e._destroy()}})},bringToFront:function(){var f=a.data(document.body,"jqxwindows-list");if(this.isModal){f=a.data(document.body,"jqxwindows-modallist");this._fixWindowZIndex("modal-hide");this._fixWindowZIndex("modal-show");return}var k=f[f.length-1],j=parseInt(k.css("z-index"),10),g=this._indexOf(this.host,f);for(var e=f.length-1;e>g;e-=1){var h=parseInt(f[e].css("z-index"),10)-1;f[e][0].style.zIndex=h}this.element.style.zIndex=j;this._sortByStyle("z-index",f)},hide:function(i,h,e){var g=this;if(this.closing){var f=this.closing();if(f===false){return}}h=h||this.closeAnimationDuration;switch(this.animationType){case"none":this.element.style.display="none";break;case"fade":g._animationInProgress=true;this.host.fadeOut({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"slide":g._animationInProgress=true;this.host.slideUp({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"combined":g._animationInProgress=true;this.host.animate({opacity:0,width:"0px",height:"0px"},{duration:h,complete:function(){g._animationInProgress=false;g.element.style.display="none";if(i instanceof Function){i()}}});break}this._visible=false;if(this.isModal){a(this._modalBackground).hide();this._fixWindowZIndex("modal-hide")}if(e!==true){this._raiseEvent(1);this._raiseEvent(8)}},open:function(f,e){this.show(f,e)},close:function(g,f,e){this.hide(g,f,e)},show:function(k,j){var i=this;this._setDialogResult("none");j=j||this.showAnimationDuration;switch(this.animationType){case"none":this.element.style.display="block";break;case"fade":i._animationInProgress=true;this.host.fadeIn({duration:j,complete:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"slide":i._animationInProgress=true;this.host.slideDown({duration:j,callback:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"combined":this.element.style.display="block";var g=i.host.width();var e=i.host.height();this.element.style.minWidth="0px";this.element.style.minHeight="0px";this.element.style.opacity=0;this.element.style.width="0px";this.element.style.height="0px";i._animationInProgress=true;this.host.animate({opacity:1,width:g+"px",height:e+"px"},{duration:j,complete:function(){i._animationInProgress=false;i._performLayout();if(k instanceof Function){k()}}});break}if(this.isModal){a(this._modalBackground).show();this._fixWindowZIndex("modal-show")}var h=this;if(!this._visible){if(j>150&&this.animationType!="none"){setTimeout(function(){if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}h._raiseEvent(7);h._raiseEvent(9)},j-150)}else{if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}this._raiseEvent(7);h._raiseEvent(9)}}this._visible=true;if(i.animationType!=="combined"){this._performLayout()}if(this.autoFocus){var f=function(){if(!h._isTouchDevice){h._content[0].focus()}};f();setTimeout(function(){f()},100)}},_getTabbables:function(){var f;if(a.jqx.browser.msie&&a.jqx.browser.version<9){f=this._content.find("*")}else{f=this._content[0].querySelectorAll("*")}var e=[];a.each(f,function(){if(d(this)){e[e.length]=this}});return e},move:function(n,m,e,h){var g=0,f=0,k,j,i;n=parseInt(n,10);m=parseInt(m,10);if(a.jqx.browser.msie){if(a(window).width()>a(document).width()&&!this.dragArea){f=this._SCROLL_WIDTH}if(a(window).height()<a(document).height()&&document.documentElement.clientWidth>document.documentElement.scrollWidth&&!this.dragArea){g=this._SCROLL_WIDTH}}k=this._validateCoordinates(n,m,f,g);if(parseInt(this.host.css("left"),10)!==k.x||parseInt(this.host.css("top"),10)!==k.y){if(e){var l=a.jqx.position(e);j=l.left;i=l.top}if(j===undefined){j=n}if(i===undefined){i=m}if(h!==false){this._raiseEvent(2,k.x,k.y,j,i)}}this.element.style.left=k.x+"px";this.element.style.top=k.y+"px";this._moved=true},_toPx:function(e){if(typeof e==="number"){return e+"px"}else{return e}}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(f){var e=a(f);return e.css("display")!=="none"&&e.css("visibility")!=="hidden"}function d(g){var e=g.getAttribute("tabindex"),f=e===null;return(f||e>=0)&&c(g,!f)}}(jqxBaseFramework));(function(b){var a=(function(c){return{resizeConfig:function(){this.resizeTarget=null;this.resizeIndicatorSize=5;this.resizeTargetChildren=null;this.isResizing=false;this.resizeArea=false;this.minWidth=1;this.maxWidth=100;this.minHeight=1;this.maxHeight=100;this.resizeParent=null;this.enableResize=true;this._resizeEvents=["resizing","resized","resize"];this._resizeMouseDown=false;this._resizeCurrentMode=null;this._mouseResizePosition={};this._resizeMethods=null;this._SCROLL_WIDTH=21},_resizeExceptions:{invalidTarget:"Invalid target!",invalidMinHeight:"Invalid minimal height!",invalidMaxHeight:"Invalid maximum height!",invalidMinWidth:"Invalid minimum width!",invalidMaxWidth:"Invalid maximum width!",invalidIndicatorSize:"Invalid indicator size!",invalidSize:"Invalid size!"},removeResize:function(){if(this.resizeTarget){var f=c(this.resizeTarget.children(".jqx-resize"));f.detach();var e=f.children();this._removeResizeEventListeners();for(var d=0;d<e.length;d+=1){c(e[d]).detach();this.resizeTarget.append(e[d])}f.remove()}this._resizeDirection=null},initResize:function(d){this.resizeConfig();this.resizeTarget=c(d.target);this.resizeIndicatorSize=d.indicatorSize||10;this.maxWidth=d.maxWidth||100;this.minWidth=d.minWidth||1;this.maxHeight=d.maxHeight||100;this.minHeight=d.minHeight||1;this.resizeParent=d.resizeParent;this._parseResizeParentProperties();this._validateResizeProperties();this._validateResizeTargetDimensions();this._getChildren(this.resizeTarget.maxWidth,this.resizeTarget.minWidth,this.resizeTarget.maxHeight,this.resizeTarget.minHeight,d.alsoResize);this._refreshResize();this._cursorBackup=this.resizeTarget.css("cursor");if(this._cursorBackup==="auto"){this._cursorBackup="default"}},_validateResizeTargetDimensions:function(){this.resizeTarget.maxWidth=this.maxWidth;this.resizeTarget.minWidth=((3*this.resizeIndicatorSize>this.minWidth)?3*this.resizeIndicatorSize:this.minWidth);this.resizeTarget.maxHeight=this.maxHeight;this.resizeTarget.minHeight=((3*this.resizeIndicatorSize>this.minHeight)?3*this.resizeIndicatorSize:this.minHeight)},_parseResizeParentProperties:function(){if(this.resizeParent){this.resizeParent.left=parseInt(this.resizeParent.left,10);this.resizeParent.top=parseInt(this.resizeParent.top,10);this.resizeParent.width=parseInt(this.resizeParent.width,10);this.resizeParent.height=parseInt(this.resizeParent.height,10)}},_getChildren:function(h,e,g,i,d){this.resizeTargetChildren=c(d);this.resizeTargetChildren=this.resizeTargetChildren.toArray();var f=this.resizeTargetChildren.length;while(f){f-=1;this.resizeTargetChildren[f]=c(this.resizeTargetChildren[f])}},_refreshResize:function(){this._renderResize();this._performResizeLayout();this._removeResizeEventListeners();this._addResizeEventHandlers()},_renderResize:function(){var d=this;if(d._resizeWrapper!==undefined&&c(d._resizeWrapper).parents().length>0){return}var e=document.createElement("div");e.className="jqx-resize jqx-rc-all";e.style.zIndex=8000;e.appendChild(d._header[0]);e.appendChild(d._content[0]);d.resizeTarget[0].appendChild(e);d._resizeWrapper=e},_performResizeLayout:function(){this._resizeWrapper.style.height=this.resizeTarget.height()+"px";this._resizeWrapper.style.width=this.resizeTarget.width()+"px"},_removeResizeEventListeners:function(){var d=this.resizeTarget.attr("id");this.removeHandler(this._resizeWrapper,"mousemove.resize"+d);this.removeHandler(this._resizeWrapper,"mousedown.resize"+d);this.removeHandler(c(document),"mousemove.resize"+d);this.removeHandler(c(document),"mouseup.resize"+d)},_addResizeEventHandlers:function(){var g=this.resizeTarget.attr("id");var d=this;if(d._isTouchDevice){this.addHandler(this._resizeWrapper,"touchmove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"touchstart.resize."+g,function(h){d._resizeCursorChangeHandler(d,h);d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"touchmove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"touchend.resize."+g,function(h){d._stopResizing(d,h)})}else{this.addHandler(this._resizeWrapper,"mousemove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"mousedown.resize."+g,function(h){d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"mousemove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"mouseup.resize."+g,function(h){d._stopResizing(d,h)})}try{if(document.referrer!==""||window.frameElement){var f=function(h){d._stopResizing(d,h)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",f,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",f)}}}}catch(e){}},_stopResizing:function(d){if(d.enableResize){if(d.isResizing){d._raiseResizeEvent(1)}d._resizeMouseDown=false;d.isResizing=false;d._resizeDirection=null;if(d.resizeTarget){d.resizeTarget.removeClass("jqx-disableselect")}}if(d._cursorBackup=="undefined"){d._cursorBackup="default"}if(d._resizeWrapper){d._resizeWrapper.style.cursor=d._cursorBackup}},_resizeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(e.isResizing&&e._resizeDirection){if(f.which===0&&c.jqx.browser.msie&&c.jqx.browser.version<9){e._stopResizing(f)}if(e._isTouchDevice){var d=c.jqx.position(f);e._performResize(d.left,d.top);return false}e._performResize(f.pageX,f.pageY);return false}else{if(e._isTouchDevice){var d=c.jqx.position(f);return e._resizeCaptureCursor(d.left,d.top)}return e._resizeCaptureCursor(f.pageX,f.pageY)}}},_resizeCaptureCursor:function(e,d){if(this._resizeMouseDown&&!this.isResizing&&this._resizeDirection){var f=3;if(this._isTouchDevice){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}if((e+f<this._mouseResizePosition.x||e-f>this._mouseResizePosition.x)||(d+f<this._mouseResizePosition.y||d-f>this._mouseResizePosition.y)){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}}},_resizeBackupData:function(){this.resizeTarget.lastWidth=this.resizeTarget.width();this.resizeTarget.lastHeight=this.resizeTarget.height();this.resizeTarget.x=parseInt(this.resizeTarget.css("left"),10);this.resizeTarget.y=parseInt(this.resizeTarget.css("top"),10);this._resizeBackupChildrenSize()},_resizeBackupChildrenSize:function(){var d=this.resizeTargetChildren.length,e;while(d){d-=1;e=this.resizeTargetChildren[d];this.resizeTargetChildren[d].lastWidth=e.width();this.resizeTargetChildren[d].lastHeight=e.height()}},_performResize:function(g,f){var e=g-this._mouseResizePosition.x,d=f-this._mouseResizePosition.y;if(this._resizeDirection){this._resize(this.resizeTarget,e,d)}},_resizeCursorChangeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(!e.isResizing){if(e._isTouchDevice){var d=c.jqx.position(f);e._changeCursor(d.left-parseInt(e.resizeTarget.css("left"),10),d.top-parseInt(e.resizeTarget.css("top"),10));return}e._changeCursor(f.pageX-parseInt(e.resizeTarget.css("left"),10),f.pageY-parseInt(e.resizeTarget.css("top"),10))}}},_resizeMouseDownHandler:function(e,f){if(e.enableResize){if(e._resizeDirection!==null){e._resizeMouseDown=true;if(e._isTouchDevice){var d=c.jqx.position(f);e._mouseResizePosition.x=d.left;e._mouseResizePosition.y=d.top}else{e._mouseResizePosition.x=f.pageX;e._mouseResizePosition.y=f.pageY}f.preventDefault()}}},_validateResizeProperties:function(){try{if(!this.resizeTarget||this.resizeTarget.length!==1){throw new Error(this._resizeExceptions.invalidTarget)}if(this.minHeight<0||isNaN(parseInt(this.minHeight,10))){throw new Error(this._resizeExceptions.invalidMinHeight)}if(this.maxHeight<=0||isNaN(parseInt(this.maxHeight,10))){throw new Error(this._resizeExceptions.invalidMaxHeight)}if(this.minWidth<0||isNaN(parseInt(this.minWidth,10))){throw new Error(this._resizeExceptions.invalidMinWidth)}if(this.maxWidth<0||isNaN(parseInt(this.maxWidth,10))){throw new Error(this._resizeExceptions.invalidMaxWidth)}if(this.resizeIndicatorSize<0||isNaN(parseInt(this.resizeIndicatorSize,10))){throw new Error(this._resizeExceptions.invalidIndicatorSize)}if(this.minHeight>this.maxHeight||this.minWidth>this.maxWidth){throw new Error(this._resizeExceptions.invalidSize)}}catch(d){throw new Error(d)}},_changeCursor:function(d,e){if(this.isResizing||this._resizeMouseDown){return}this.resizeArea=true;if(d<=this.resizeIndicatorSize&&d>=0&&e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="nw-resize";this._resizeDirection="topleft"}else{if(e<=this.resizeIndicatorSize&&e>0&&d>=this.resizeTarget.width()-this.resizeIndicatorSize){this._resizeWrapper.style.cursor="ne-resize";this._resizeDirection="topright"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="sw-resize";this._resizeDirection="bottomleft"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="se-resize";this._resizeDirection="bottomright"}else{if(d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="left"}else{if(e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="top"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="bottom"}else{if(d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="right"}else{this._resizeWrapper.style.cursor=this._cursorBackup;this._resizeDirection=null;this.resizeArea=false}}}}}}}}},_prepareResizeMethods:function(d){this._resizeMethods=[];if(d.indexOf("left")>=0){this._resizeMethods.push(this._resizeLeft)}if(d.indexOf("top")>=0){this._resizeMethods.push(this._resizeTop)}if(d.indexOf("right")>=0){this._resizeMethods.push(this._resizeRight)}if(d.indexOf("bottom")>=0){this._resizeMethods.push(this._resizeBottom)}},_validateResize:function(g,d,h,f,e){if(h==="horizontal"||h==="both"){return this._validateWidth(g,f,e)}else{if(h==="vertical"||h==="both"){return this._validateHeight(d,f,e)}}return{result:false,fix:0}},_getParent:function(){if(this.resizeParent!==null&&this.resizeParent!=="undefined"&&this.resizeParent.height&&this.resizeParent.width&&this.resizeParent.top&&this.resizeParent.left){return this.resizeParent}return{left:0,top:0,width:c(document).width(),height:c(document).height()}},_validateHeight:function(e,h,g){var i=0,d=2,f=this._getParent();if(c(window).width()>c(document).width()&&c.jqx.browser.msie&&f.height===c(document).height()){i=this._SCROLL_WIDTH}if(g==="bottom"&&(e+h.position().top+i+d>f.height+f.top)){return{fix:f.height-h.position().top-i-d+f.top,result:false}}if(g==="top"&&h.lastHeight-e+h.y<f.top){return{fix:e+(h.lastHeight-e+h.y)-f.top,result:false}}if(e<h.minHeight){return{fix:h.minHeight,result:false}}if(e>h.maxHeight){return{fix:h.maxHeight,result:false}}return{result:true,fix:e}},_validateWidth:function(h,g,f){var i=0,d=2,e=this._getParent();if(c(window).height()<c(document).height()&&c.jqx.browser.msie&&document.documentElement.clientWidth>=document.documentElement.scrollWidth&&e.width===c(document).width()){i=this._SCROLL_WIDTH}if(f==="right"&&(h+g.position().left+i+d>e.width+e.left)){return{fix:e.width-g.position().left-i-d+e.left,result:false}}if(f==="left"&&(g.lastWidth-h+g.x<e.left)){return{fix:h+(g.lastWidth-h+g.x)-e.left,result:false}}if(h<g.minWidth){return{fix:g.minWidth,result:false}}if(h>g.maxWidth){return{fix:g.maxWidth,result:false}}return{result:true,fix:h}},_resize:function(h,e,d){var j=this._resizeMethods.length;for(var g=0;g<j;g++){if(this._resizeMethods[g] instanceof Function){var f={element:h,x:e,y:d,self:this};this._resizeMethods[g](f)}}this._performResizeLayout()},resize:function(g,d){if(this.resizable){var f=g-this.host.width();var e=d-this.host.height();var h="right";if(e!==0){h="bottom"}this._resizeDirection=h;this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this._resize(this.resizeTarget,f,e);this.isResizing=false;if(f>0&&e>0){this._resizeDirection="right";this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this._resize(this.resizeTarget,f,e);this.isResizing=false}}},_setResizeChildrenSize:function(e,f){var h=this.resizeTargetChildren.length;while(h){h--;if(f==="width"){var g=this.resizeTargetChildren[h].lastWidth-(this.resizeTarget.lastWidth-e);if(g<this.resizeTarget.maxWidth&&g>0){this.resizeTargetChildren[h].width(g)}}else{var d=this.resizeTargetChildren[h].lastHeight-(this.resizeTarget.lastHeight-e);if(d<this.resizeTarget.maxHeight&&d>0){this.resizeTargetChildren[h].height(d)}}}},_resizeRight:function(g){var h=g.element.lastWidth+g.x,d=g.self._validateResize(h,0,"horizontal",g.element,"right");if(!d.result){h=d.fix}if(g.element.width()!==h){g.self._setResizeChildrenSize(h,"width");g.element.width(h);if(g.self.width.toString().indexOf("%")>=0){var f=c(document.body).width()/100;var e=1/f;g.element[0].style.width=(e*h)+"%";g.self._setChildrenLayout()}g.self._raiseResizeEvent(0)}return h},_resizeLeft:function(h){var i=h.element.lastWidth-h.x,e=h.self._validateResize(i,0,"horizontal",h.element,"left"),d=h.element.x+h.x;if(!e.result){d=h.element.x+(h.element.lastWidth-e.fix);i=e.fix;return}if(h.element.width()!==i){h.self._setResizeChildrenSize(i,"width");h.element.width(i);if(h.self.width.toString().indexOf("%")>=0){var g=c(document.body).width()/100;var f=1/g;h.element[0].style.width=(f*i)+"%";h.self._setChildrenLayout()}h.element[0].style.left=h.self._toPx(d);h.self._raiseResizeEvent(0)}return i},_resizeBottom:function(h){var e=h.element.lastHeight+h.y,d=h.self._validateResize(0,e,"vertical",h.element,"bottom");if(!d.result){e=d.fix}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.self._raiseResizeEvent(0)}return e},_resizeTop:function(h){var e=h.element.lastHeight-h.y,d=h.self._validateResize(0,e,"vertical",h.element,"top"),i=h.element.y+h.y;if(!d.result){i=h.element.y+(h.element.lastHeight-d.fix);e=d.fix;return}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.element[0].style.top=h.self._toPx(i);h.self._raiseResizeEvent(0)}return e},_raiseResizeEvent:function(f){var e=this._resizeEvents[f],g=c.Event(e),d={};d.width=parseInt(this.resizeTarget[0].style.width,10);d.height=parseInt(this.resizeTarget[0].style.height,10);g.args=d;if(f===0){e=this._resizeEvents[2];var h=c.Event(e);h.args=d;this.resizeTarget.trigger(h)}return this.resizeTarget.trigger(g)}}}(jqxBaseFramework));b.extend(b.jqx._jqxWindow.prototype,a)}(jqxBaseFramework));
 
-(function(a){a.jqx.jqxWidget("jqxHeatMap","",{});a.extend(a.jqx._jqxHeatMap.prototype,{defineInstance:function(){var b={width:"auto",xAxis:{labels:[],opposedPosition:false,isInversed:false,minimum:null,maximum:null,labelFormat:"short",},yAxis:{labels:[],opposedPosition:false,isInversed:false,},source:[],title:"Title",paletteSettings:{palette:[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}],type:"Gradient",emptyPointColor:"#eee"},legendSettings:{position:"Right"},tooltipRender:null,_isXAxisInversed:false,_isYAxisInversed:false,};if(this===a.jqx._jqxHeatMap.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._setDefaultValues();b._renderAllElements();b._addHandlers()},_addHandlers:function(){var b=this;b.host.find(".jqx-heatmap-cell").on("mouseenter",function(c){var e=c.target;var d=e.getAttribute("data-value");if(b.legendSettings.position==="Top"||b.legendSettings.position==="Bottom"){b._showLegendArrow("horizontal",d)}else{b._showLegendArrow("vertical",d)}if(b._hideTimer){clearTimeout(b._hideTimer)}b._showTooltip(c.target);e.classList.toggle("jqx-opacity-50")});b.host.find(".jqx-heatmap-cell").on("mouseleave",function(){var d=event.target;var c;b._arrow.style.display="";d.classList.toggle("jqx-opacity-50");c=setTimeout(function(){b._tooltipContainer.classList.add("jqx-heatmap-hidden")},300);b._hideTimer=c});b.host.find(".jqx-color-container, .jqx-color-container-tick").on("click",function(){var c=a(this).attr("data-value");var d=a(this).attr("data-color-index");b._hideCells(d);b._toggleClass("jqx-color-container","jqx-selected-color",c);b._toggleClass("jqx-color-container-tick","jqx-opacity-50",c)})},_setDefaultValues:function(){var e=this;var d=Object.keys(e.xAxis);var b=Object.keys(e.yAxis);var c=Object.keys(e.legendSettings);var f=Object.keys(e.paletteSettings);if(d.indexOf("labels")===-1){e.xAxis.labels=[]}if(d.indexOf("opposedPosition")===-1){e.xAxis.opposedPosition=false}if(d.indexOf("isInversed")===-1){e.xAxis.isInversed=false}if(b.indexOf("opposedPosition")===-1){e.yAxis.opposedPosition=false}if(b.indexOf("isInversed")===-1){e.yAxis.isInversed=false}if(c.indexOf("position")===-1){e.legendSettings.position="Right"}if(f.indexOf("type")===-1){e.paletteSettings.type="Gradient"}if(f.indexOf("palette")===-1){e.paletteSettings.palette=[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}]}if(f.indexOf("emptyPointColor")===-1){e.paletteSettings.emptyPointColor="#eee"}},_showTooltip:function(l){var i=this;var d=document.createElement("div");var p=l.getAttribute("data-value");var e=l.getAttribute("data-date");var g=l.getAttribute("data-column");var f=i.xAxis.labels[g];var c=l.getAttribute("data-row");var n=i.yAxis.labels[c];var k=f+" | "+n+" : "+p;var o=l.offsetWidth;var j=10;var h;var q;var b;if(!i._tooltipContainer){i._tooltipContainer=d}i.element.appendChild(i._tooltipContainer);i._tooltipContainer.classList.remove("jqx-heatmap-hidden");i._tooltipContainer.className="jqx-heatmap-tooltip";if(i.tooltipRender){if(i.xAxis.minimum&&i.xAxis.maximum){var m={xLabel:f,yLabel:n,value:p,date:e,content:k}}else{var m={xLabel:f,yLabel:n,value:p,content:k}}i.tooltipRender(m);k=m.content}if(i.xAxis.minimum&&i.xAxis.maximum){i._tooltipContainer.innerHTML=p+" on "+i._defaultDateTooltipFormat(new Date(e))}else{i._tooltipContainer.innerHTML=k}h=i._tooltipContainer.offsetWidth;q=i._tooltipContainer.offsetHeight;b=h-o;i._tooltipContainer.style.top=(l.offsetTop-q+j)+"px";if(b>0){i._tooltipContainer.style.left=(l.offsetLeft-b/2)+"px"}else{i._tooltipContainer.style.left=(l.offsetLeft+Math.abs(b)/2)+"px"}},_defaultDateTooltipFormat:function(c){var b={day:"numeric",weekday:"short",month:"short",year:"numeric"};var d=new Intl.DateTimeFormat("en-US",b);return d.format(c)},_getAllDates:function(){var d=this;var g=new Date(d.xAxis.minimum);var i=new Date(d.xAxis.maximum);var h=d.source[0].length;var f=[];var e=[];for(var c=g,b=0;c<=i;c.setDate(c.getDate()+1),b++){if(b<h){e.push(c.toISOString());continue}f.push(e);d._addMonthLabel(e);e=[];b=0;e.push(c.toISOString())}d._dateArray=f},_addMonthLabel:function(f){var e=this;var c={month:e.xAxis.labelFormat};var d=new Intl.DateTimeFormat("en-US",c);var b=new Date(f[0]);var g=d.format(b);e.xAxis.labels.push(g)},_renderGrid:function(){var g=this;var b=document.createElement("div");var e=document.createElement("div");var l=document.createElement("div");var f=document.createElement("div");b.className="jqx-heatmap-grid";e.className="jqx-x-axis-container";l.className="jqx-y-axis-container";f.className="jqx-heatmap-container-wrapper";g._setAxisOrigin();for(var d=0,c=g.source.length;d<c;d++){var k=document.createElement("div");var h=g.source[d];g._setGridColumn(k,d,c);for(var m=0,i=h.length;m<i;m++){var j=document.createElement("div");g._setGridCell(j,d,m,h);k.appendChild(j)}b.appendChild(k)}f.style.width=g._toPx(g.width);e.appendChild(b);l.appendChild(e);f.appendChild(l);g._gridXAxisContainer=e;g._gridYAxisContainer=l;g._gridContainerWrapper=f;g.element.appendChild(f)},_renderAxis:function(d,h,k,m){var f=this;var j=document.createElement("div");var c=f.element.querySelector(".jqx-heatmap-grid").offsetHeight;for(var g=0,b=h.length;g<b;g++){var n=h[g];var e=document.createElement("div");e.innerHTML=n;e.className=m;if(d==="x"){e.style.width="calc(100% /"+b+")";if(f.xAxis.minimum&&f.xAxis.maximum){var l=f.source.length;var i=(n.duplicates/l)*100;e.innerHTML=n.name;e.style.width=i+"%";if(f.xAxis.isInversed){e.style.textAlign="right"}else{e.style.textAlign="left"}}}else{j.style.height=c+"px";e.style.height="calc(100% /"+b+")"}j.appendChild(e)}if(d==="x"){j.className=k;f._gridXAxisContainer.appendChild(j)}else{j.className=k;f._gridYAxisContainer.appendChild(j)}},_getLabels:function(b){var d=this;var e={};var f=[];var c=0;b.forEach(function(h,g){if(h===b[g+1]){c++}else{c++;e={name:h,duplicates:c};f.push(e);c=0}});d.xAxis.labels=f},_renderAllAxis:function(){var d=this;var c;var e;var b;if(d.xAxis.minimum&&d.xAxis.maximum){d._getLabels(d.xAxis.labels)}d._renderAxis("x",d.xAxis.labels,"jqx-x-axis","jqx-x-axis-label");d._renderAxis("y",d.yAxis.labels,"jqx-y-axis","jqx-y-axis-label");b=d.element.querySelector(".jqx-y-axis");c=d.element.querySelectorAll(".jqx-x-axis-label");e=d.element.querySelectorAll(".jqx-y-axis-label");if(d.xAxis.opposedPosition){d._gridXAxisContainer.style.flexDirection="column-reverse";b.classList.add("jqx-margin-top-auto");c.forEach(function(f){f.classList.add("jqx-top")})}if(d.yAxis.opposedPosition){d._gridYAxisContainer.style.flexDirection="row";e.forEach(function(f){f.classList.add("jqx-right")})}},_setGridColumn:function(d,c,b){d.id="jqx-column-"+c;d.classList.add("jqx-column");d.style.width="calc(100% / "+b+")"},_setGridCell:function(b,c,e,h){var i=this;var n=h[e];b.classList.add("jqx-heatmap-cell");b.setAttribute("data-row",e);b.setAttribute("data-column",c);b.setAttribute("data-value",n);if(i.xAxis.minimum&&i.xAxis.maximum){b.setAttribute("data-date",i._dateArray[c][e])}for(var j=0,d=i.paletteSettings.palette.length;j<d;j++){if(n===null){continue}var m=Number(n);var f=i.paletteSettings.palette[j].value;var g=Number(f);var l=null;var k=null;if(j+1<d){l=i.paletteSettings.palette[j+1].value;k=Number(l)}if(k&&((m>=g&&m<k)||m<i._minValue)){b.setAttribute("data-color-index",j);break}else{if(!k&&(m>=g)){b.setAttribute("data-color-index",j)}}}if(i.xAxis.minimum&&i.xAxis.maximum){if(n===null){b.classList.add("jqx-empty-cell")}return}if(n===null){b.innerHTML="&nbsp";b.classList.add("jqx-empty-cell");return}b.innerHTML=n},_getTicksMinMax:function(){var h=this;var f=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=f[0].value;var g=f[0].value;var d=[];for(var i=0,e=f.length;i<e;i++){var c=f[i].value;var b=f[i].label||"";d.push({value:c,label:b});if(c<j){j=c;continue}if(c>g){g=c;continue}}h._minValue=j;h._maxValue=g;h._ticksArray=d},_renderTitle:function(){var c=this;var b=document.createElement("div");b.className="jqx-heatmap-title";b.innerHTML=c.title;b.style.width=c._toPx(c.width);c._title=b;c.element.appendChild(b)},_renderLegend:function(b){var e=this;var d=document.createElement("div");var c=e.paletteSettings.type==="Gradient"?document.createElement("canvas"):document.createElement("div");var f=document.createElement("div");d.classList.add("jqx-legend-"+b);c.classList.add("jqx-palette-"+b);f.classList.add("jqx-arrow-"+b);e._drawLegend(d,c,b);d.appendChild(c);d.appendChild(f);e._gridContainerWrapper.appendChild(d);e._arrow=f;e._palette=c;e._legend=d;e._adjustLegend(b)},_drawLegend:function(c,e,b){var d=this;if(b==="vertical"){if(d.xAxis.opposedPosition===true){c.classList.add("jqx-margin-top-auto")}if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"vertical")}else{d._drawFixedLegend(e,"vertical")}if(d.legendSettings.position==="Left"){c.classList.add("jqx-left")}d._gridXAxisContainer.width="calc(100% - "+c.offsetWidth+"px)"}else{if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"horizontal")}else{d._drawFixedLegend(e,"horizontal")}if(d.legendSettings.position==="Bottom"){c.classList.add("jqx-bottom")}if(d.yAxis.opposedPosition===true){c.classList.add("jqx-margin-right-auto")}}},_drawFixedLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=h.element.querySelector(".jqx-heatmap-grid").offsetWidth;var b=h.element.querySelector(".jqx-heatmap-grid").offsetHeight;if(f==="horizontal"){e.classList.add("jqx-fixed")}for(var i=0,c=d.length;i<c;i++){var g=d[i];var k=document.createElement("div");var l=((j/c)/j)*100;k.id="jqx-color-container-"+i;k.className="jqx-color-container";k.setAttribute("data-value",g.value);k.setAttribute("data-color-index",i);k.setAttribute("data-color",g.color);k.style.background=g.color;if(f==="vertical"){k.style.width="10px";k.style.height="calc("+b+"px / "+c+")"}else{k.style.width=l+"%";k.style.height="10px"}e.appendChild(k)}},_drawGradientLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var b=e.getContext("2d");if(f==="vertical"){var k=b.createLinearGradient(0,0,0,150)}else{var k=b.createLinearGradient(0,0,300,0)}if(h.paletteSettings.type==="Gradient"){h._checkNewMinMax()}for(var i=0,c=d.length;i<c;i++){var g=d[i];var j=((g.value-h._minValue)/(h._maxValue-h._minValue));k.addColorStop(j,g.color)}b.fillStyle=k;b.fillRect(0,0,300,150);h._canvasContext=b},_getSourceMinMax:function(){var g=this;var e=g.source[0][0];var b=g.source[0][0];for(var d=0,f=g.source.length;d<f;d++){for(var h=0,i=g.source[d].length;h<i;h++){var c=g.source[d][h];if(c===null){continue}if(e>c){e=c;continue}if(b<c){b=c;continue}}}return{min:e,max:b}},_checkNewMinMax:function(){var c=this;var b=JSON.parse(JSON.stringify(c.paletteSettings.palette));var d=c._getSourceMinMax();if(c._minValue>d.min){c._minValue=d.min;b.splice(0,0,{value:d.min,color:b[0].color})}if(c._maxValue<d.max){c._maxValue=d.max;b.push({value:d.max,color:b[b.length-1].color})}},_adjustLegend:function(b){var c=this;if(b==="vertical"){c._setVerticalLegendHeight();c._renderScale("vertical")}else{c._setHorizontalLegendWidth();c._renderScale("horizontal")}},_renderScale:function(b){var g=this;for(var d=0,f=g._ticksArray.length;d<f;d++){var c=g._ticksArray[d].value;var h=g._ticksArray[d].label;var e=document.createElement("div");if(g.paletteSettings.type==="Fixed"){e.classList.add("jqx-color-container-tick")}e.classList.add("jqx-tick","jqx-tick-"+b);e.setAttribute("data-value",c);e.setAttribute("data-color-index",d);e.innerHTML=h||c;g._setLegendTicksPosition(e,c,d,b);g._legend.appendChild(e)}if(b==="vertical"){g._tick=e;g._setVerticalLegendWidth()}},_setLegendTicksPosition:function(f,g,c,h){var i=this;var n="6px";if(i.paletteSettings.type==="Gradient"){if(g===i._minValue||g===i._maxValue){if(g===i._minValue){if(h==="vertical"){f.style.top="-0.5%"}else{f.style.left="-3px"}}else{if(h==="vertical"){f.style.top="96%"}else{f.style.right="-11px"}}f.classList.add("jqx-no-line")}else{var k=((g-i._minValue)/(i._maxValue-i._minValue))*100;if(h==="vertical"){f.style.top="calc("+k+"% - "+n+")"}else{f.style.left="calc("+k+"% - "+n+")"}}}else{var b=i.element.querySelector(".jqx-color-container").offsetHeight;var d=i.element.querySelector(".jqx-color-container").offsetWidth;var m=5;if(h==="vertical"){if(c===0){f.style.top=c*b+"px"}else{f.style.top=c*b-m+"px"}}else{if(c===0){f.style.left=c*d+"px"}else{var e=i.paletteSettings.palette.length;var j=i.element.querySelector(".jqx-heatmap-grid").offsetWidth;var l=((j/e)/j)*100;f.style.left="calc("+l*c+"% - "+m+"px)"}}f.classList.add("jqx-no-line")}},_showLegendArrow:function(b,f){var e=this;var d="6px";var c=((f-e._minValue)/(e._maxValue-e._minValue))*100;if(e.paletteSettings.type==="Gradient"&&f<=e._maxValue){e._arrow.style.display="block";if(b==="vertical"){e._arrow.style.top="calc("+c+"% - "+d+")"}else{e._arrow.style.left="calc("+c+"% - "+d+")"}}},_setVerticalLegendWidth:function(){var b=this;var d=15;var c=15;b._legend.style.width=d+b._tick.offsetWidth+"px";b._gridXAxisContainer.style.width="calc(100% - "+(b._legend.offsetWidth+c)+"px)"},_setVerticalLegendHeight:function(){var c=this;var b=c.element.querySelector(".jqx-heatmap-grid").offsetHeight;c._legend.style.height=b+"px"},_setHorizontalLegendWidth:function(){var c=this;var b=c.element.querySelector(".jqx-y-axis").offsetWidth;c._legend.style.width="calc(100% - "+b+"px)"},_hideCells:function(g){var f=this;var d=f.element.querySelectorAll('.jqx-heatmap-cell[data-color-index="'+g+'"]');for(var c=0,e=d.length;c<e;c++){var b=d[c];b.classList.toggle("jqx-heatmap-hidden")}},_toggleClass:function(j,i,h){var e=this;var g=e.element.querySelectorAll("."+j);for(var f=0,c=g.length;f<c;f++){var d=g[f];var b=d.getAttribute("data-value");if(h===b){d.classList.toggle(i);return}}},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_getLegendColor:function(i,e){var f=this;var d=149;var b=299;var g=((i-f._minValue)/(f._maxValue-f._minValue))*d;var h=((i-f._minValue)/(f._maxValue-f._minValue))*b;var j=null;var c=null;if(i>f._maxValue||i<f._minValue){return}if(e==="vertical"){j=f._canvasContext.getImageData(0,g,1,1).data}else{j=f._canvasContext.getImageData(h,0,1,1).data}c="rgba("+j[0]+", "+j[1]+", "+j[2]+", "+(j[3]/255)+")";return c},_getFixedLegendColor:function(h){var g=this;var e=JSON.parse(JSON.stringify(g.paletteSettings.palette));for(var d=0,f=e.length;d<f;d++){var b=e[d];var c=e[d+1];if(c&&((h>=b.value&&h<c.value)||h<g._minValue)){return b.color}else{if(!c&&h>=b.value){return b.color}}}},_setCellsBackground:function(c){var h=this;var f=h.element.querySelectorAll(".jqx-heatmap-cell");for(var e=0,g=f.length;e<g;e++){var b=f[e];var i=f[e].getAttribute("data-value");if(i==="null"){b.style.background=h.paletteSettings.emptyPointColor}else{if(h.paletteSettings.type==="Gradient"){var d=h._getLegendColor(i,c)}else{var d=h._getFixedLegendColor(i)}b.style.background=d}}},_renderLegendPosition:function(){var b=this;switch(b.legendSettings.position){default:case"Right":b._gridContainerWrapper.style.flexDirection="row";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Left":b._gridContainerWrapper.style.flexDirection="row-reverse";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Top":b._gridContainerWrapper.style.flexDirection="column-reverse";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break;case"Bottom":b._gridContainerWrapper.style.flexDirection="column";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break}},_reverseXAxisOrigin:function(){var b=this;b.xAxis.labels.reverse();b.source.reverse();b._isXAxisInversed=!b._isXAxisInversed;if(b.xAxis.minimum&&b.xAxis.maximum){b._dateArray.reverse()}},_reverseYAxisOrigin:function(){var b=this;b.yAxis.labels.reverse();b._isYAxisInversed=!b._isYAxisInversed;b._reverseNestedArray(b.source);if(b.xAxis.minimum&&b.xAxis.maximum){b._reverseNestedArray(b._dateArray)}},_reverseNestedArray:function(e){for(var b=0,d=e.length;b<d;b++){var c=e[b];c.reverse()}},_setAxisOrigin:function(){var b=this;if(b.xAxis.isInversed!==b._isXAxisInversed){b._reverseXAxisOrigin()}if(b.yAxis.isInversed!==b._isYAxisInversed){b._reverseYAxisOrigin()}},_destroyGrid:function(){var b=this;a(b._gridContainerWrapper).remove();if(b.xAxis.minimum&&b.xAxis.maximum){b.xAxis.labels=[]}},_destroyTitle:function(){var b=this;a(b._title).remove()},_renderAllElements:function(){var b=this;b._renderTitle();b._getTicksMinMax();if(b.xAxis.minimum&&b.xAxis.maximum){b._getAllDates()}b._renderGrid();b._renderAllAxis();b._renderLegendPosition()},_rerender:function(){var b=this;b._destroyTitle();b._destroyGrid();b._renderAllElements();b._addHandlers()},setLegendPosition:function(b){var c=this;if(c.legendSettings.position!==b){c.legendSettings.position=b;c._rerender()}},setOpposedXAxisPosition:function(c){var b=this;if(b.xAxis.opposedPosition!==c){b.xAxis.opposedPosition=c;b._rerender()}},setOpposedYAxisPosition:function(c){var b=this;if(b.yAxis.opposedPosition!==c){b.yAxis.opposedPosition=c;b._rerender()}},reverseXAxisPosition:function(c){var b=this;b.xAxis.isInversed=c;b._rerender()},reverseYAxisPosition:function(c){var b=this;b.yAxis.isInversed=c;b._rerender()},setPaletteType:function(b){var c=this;c.paletteSettings.type=b;c._rerender()},destroy:function(){var b=this;b.host.remove()}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxHeatMap","",{});a.extend(a.jqx._jqxHeatMap.prototype,{defineInstance:function(){var b={width:"auto",xAxis:{labels:[],opposedPosition:false,isInversed:false,minimum:null,maximum:null,labelFormat:"short",},yAxis:{labels:[],opposedPosition:false,isInversed:false,},source:[],title:"Title",paletteSettings:{palette:[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}],type:"Gradient",emptyPointColor:"#eee"},legendSettings:{position:"Right"},tooltipRender:null,_isXAxisInversed:false,_isYAxisInversed:false,};if(this===a.jqx._jqxHeatMap.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;if("NodeList" in window&&!NodeList.prototype.forEach){console.info("polyfill for IE11");NodeList.prototype.forEach=function(e,c){c=c||window;for(var d=0;d<this.length;d++){e.call(c,this[d],d,this)}}}b._setDefaultValues();b._renderAllElements();b._addHandlers()},_addHandlers:function(){var b=this;b.host.find(".jqx-heatmap-cell").on("mouseenter",function(c){var e=c.target;var d=e.getAttribute("data-value");if(b.legendSettings.position==="Top"||b.legendSettings.position==="Bottom"){b._showLegendArrow("horizontal",d)}else{b._showLegendArrow("vertical",d)}if(b._hideTimer){clearTimeout(b._hideTimer)}b._showTooltip(c.target);e.classList.toggle("jqx-opacity-50")});b.host.find(".jqx-heatmap-cell").on("mouseleave",function(){var d=event.target;var c;b._arrow.style.display="";d.classList.toggle("jqx-opacity-50");c=setTimeout(function(){b._tooltipContainer.classList.add("jqx-heatmap-hidden")},300);b._hideTimer=c});b.host.find(".jqx-color-container, .jqx-color-container-tick").on("click",function(){var c=a(this).attr("data-value");var d=a(this).attr("data-color-index");b._hideCells(d);b._toggleClass("jqx-color-container","jqx-selected-color",c);b._toggleClass("jqx-color-container-tick","jqx-opacity-50",c)})},_setDefaultValues:function(){var e=this;var d=Object.keys(e.xAxis);var b=Object.keys(e.yAxis);var c=Object.keys(e.legendSettings);var f=Object.keys(e.paletteSettings);if(d.indexOf("labels")===-1){e.xAxis.labels=[]}if(d.indexOf("opposedPosition")===-1){e.xAxis.opposedPosition=false}if(d.indexOf("isInversed")===-1){e.xAxis.isInversed=false}if(b.indexOf("opposedPosition")===-1){e.yAxis.opposedPosition=false}if(b.indexOf("isInversed")===-1){e.yAxis.isInversed=false}if(c.indexOf("position")===-1){e.legendSettings.position="Right"}if(f.indexOf("type")===-1){e.paletteSettings.type="Gradient"}if(f.indexOf("palette")===-1){e.paletteSettings.palette=[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}]}if(f.indexOf("emptyPointColor")===-1){e.paletteSettings.emptyPointColor="#eee"}},_showTooltip:function(l){var i=this;var d=document.createElement("div");var p=l.getAttribute("data-value");var e=l.getAttribute("data-date");var g=l.getAttribute("data-column");var f=i.xAxis.labels[g];var c=l.getAttribute("data-row");var n=i.yAxis.labels[c];var k=f+" | "+n+" : "+p;var o=l.offsetWidth;var j=10;var h;var q;var b;if(!i._tooltipContainer){i._tooltipContainer=d}i.element.appendChild(i._tooltipContainer);i._tooltipContainer.classList.remove("jqx-heatmap-hidden");i._tooltipContainer.className="jqx-heatmap-tooltip";if(i.tooltipRender){if(i.xAxis.minimum&&i.xAxis.maximum){var m={xLabel:f,yLabel:n,value:p,date:e,content:k}}else{var m={xLabel:f,yLabel:n,value:p,content:k}}i.tooltipRender(m);k=m.content}if(i.xAxis.minimum&&i.xAxis.maximum){i._tooltipContainer.innerHTML=p+" on "+i._defaultDateTooltipFormat(new Date(e))}else{i._tooltipContainer.innerHTML=k}h=i._tooltipContainer.offsetWidth;q=i._tooltipContainer.offsetHeight;b=h-o;i._tooltipContainer.style.top=(l.offsetTop-q+j)+"px";if(b>0){i._tooltipContainer.style.left=(l.offsetLeft-b/2)+"px"}else{i._tooltipContainer.style.left=(l.offsetLeft+Math.abs(b)/2)+"px"}},_defaultDateTooltipFormat:function(c){var b={day:"numeric",weekday:"short",month:"short",year:"numeric"};var d=new Intl.DateTimeFormat("en-US",b);return d.format(c)},_getAllDates:function(){var d=this;var g=new Date(d.xAxis.minimum);var i=new Date(d.xAxis.maximum);var h=d.source[0].length;var f=[];var e=[];for(var c=g,b=0;c<=i;c.setDate(c.getDate()+1),b++){if(b<h){e.push(c.toISOString());continue}f.push(e);d._addMonthLabel(e);e=[];b=0;e.push(c.toISOString())}d._dateArray=f},_addMonthLabel:function(f){var e=this;var c={month:e.xAxis.labelFormat};var d=new Intl.DateTimeFormat("en-US",c);var b=new Date(f[0]);var g=d.format(b);e.xAxis.labels.push(g)},_renderGrid:function(){var g=this;var b=document.createElement("div");var e=document.createElement("div");var l=document.createElement("div");var f=document.createElement("div");b.className="jqx-heatmap-grid";e.className="jqx-x-axis-container";l.className="jqx-y-axis-container";f.className="jqx-heatmap-container-wrapper";g._setAxisOrigin();for(var d=0,c=g.source.length;d<c;d++){var k=document.createElement("div");var h=g.source[d];g._setGridColumn(k,d,c);for(var m=0,i=h.length;m<i;m++){var j=document.createElement("div");g._setGridCell(j,d,m,h);k.appendChild(j)}b.appendChild(k)}f.style.width=g._toPx(g.width);e.appendChild(b);l.appendChild(e);f.appendChild(l);g._gridXAxisContainer=e;g._gridYAxisContainer=l;g._gridContainerWrapper=f;g.element.appendChild(f)},_renderAxis:function(d,h,k,m){var f=this;var j=document.createElement("div");var c=f.element.querySelector(".jqx-heatmap-grid").offsetHeight;for(var g=0,b=h.length;g<b;g++){var n=h[g];var e=document.createElement("div");e.innerHTML=n;e.className=m;if(d==="x"){e.style.width="calc(100% /"+b+")";if(f.xAxis.minimum&&f.xAxis.maximum){var l=f.source.length;var i=(n.duplicates/l)*100;e.innerHTML=n.name;e.style.width=i+"%";if(f.xAxis.isInversed){e.style.textAlign="right"}else{e.style.textAlign="left"}}}else{j.style.height=c+"px";e.style.height="calc(100% /"+b+")"}j.appendChild(e)}if(d==="x"){j.className=k;f._gridXAxisContainer.appendChild(j)}else{j.className=k;f._gridYAxisContainer.appendChild(j)}},_getLabels:function(b){var d=this;var e={};var f=[];var c=0;b.forEach(function(h,g){if(h===b[g+1]){c++}else{c++;e={name:h,duplicates:c};f.push(e);c=0}});d.xAxis.labels=f},_renderAllAxis:function(){var d=this;var c;var e;var b;if(d.xAxis.minimum&&d.xAxis.maximum){d._getLabels(d.xAxis.labels)}d._renderAxis("x",d.xAxis.labels,"jqx-x-axis","jqx-x-axis-label");d._renderAxis("y",d.yAxis.labels,"jqx-y-axis","jqx-y-axis-label");b=d.element.querySelector(".jqx-y-axis");c=d.element.querySelectorAll(".jqx-x-axis-label");e=d.element.querySelectorAll(".jqx-y-axis-label");if(d.xAxis.opposedPosition){d._gridXAxisContainer.style.flexDirection="column-reverse";b.classList.add("jqx-margin-top-auto");c.forEach(function(f){f.classList.add("jqx-top")})}if(d.yAxis.opposedPosition){d._gridYAxisContainer.style.flexDirection="row";e.forEach(function(f){f.classList.add("jqx-right")})}},_setGridColumn:function(d,c,b){d.id="jqx-column-"+c;d.classList.add("jqx-column");d.style.width="calc(100% / "+b+")"},_setGridCell:function(b,c,e,h){var i=this;var n=h[e];b.classList.add("jqx-heatmap-cell");b.setAttribute("data-row",e);b.setAttribute("data-column",c);b.setAttribute("data-value",n);if(i.xAxis.minimum&&i.xAxis.maximum){b.setAttribute("data-date",i._dateArray[c][e])}for(var j=0,d=i.paletteSettings.palette.length;j<d;j++){if(n===null){continue}var m=Number(n);var f=i.paletteSettings.palette[j].value;var g=Number(f);var l=null;var k=null;if(j+1<d){l=i.paletteSettings.palette[j+1].value;k=Number(l)}if(k&&((m>=g&&m<k)||m<i._minValue)){b.setAttribute("data-color-index",j);break}else{if(!k&&(m>=g)){b.setAttribute("data-color-index",j)}}}if(i.xAxis.minimum&&i.xAxis.maximum){if(n===null){b.classList.add("jqx-empty-cell")}return}if(n===null){b.innerHTML="&nbsp";b.classList.add("jqx-empty-cell");return}b.innerHTML=n},_getTicksMinMax:function(){var h=this;var f=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=f[0].value;var g=f[0].value;var d=[];for(var i=0,e=f.length;i<e;i++){var c=f[i].value;var b=f[i].label||"";d.push({value:c,label:b});if(c<j){j=c;continue}if(c>g){g=c;continue}}h._minValue=j;h._maxValue=g;h._ticksArray=d},_renderTitle:function(){var c=this;var b=document.createElement("div");b.className="jqx-heatmap-title";b.innerHTML=c.title;b.style.width=c._toPx(c.width);c._title=b;c.element.appendChild(b)},_renderLegend:function(b){var e=this;var d=document.createElement("div");var c=e.paletteSettings.type==="Gradient"?document.createElement("canvas"):document.createElement("div");var f=document.createElement("div");d.classList.add("jqx-legend-"+b);c.classList.add("jqx-palette-"+b);f.classList.add("jqx-arrow-"+b);e._drawLegend(d,c,b);d.appendChild(c);d.appendChild(f);e._gridContainerWrapper.appendChild(d);e._arrow=f;e._palette=c;e._legend=d;e._adjustLegend(b)},_drawLegend:function(c,e,b){var d=this;if(b==="vertical"){if(d.xAxis.opposedPosition===true){c.classList.add("jqx-margin-top-auto")}if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"vertical")}else{d._drawFixedLegend(e,"vertical")}if(d.legendSettings.position==="Left"){c.classList.add("jqx-left")}d._gridXAxisContainer.width="calc(100% - "+c.offsetWidth+"px)"}else{if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"horizontal")}else{d._drawFixedLegend(e,"horizontal")}if(d.legendSettings.position==="Bottom"){c.classList.add("jqx-bottom")}if(d.yAxis.opposedPosition===true){c.classList.add("jqx-margin-right-auto")}}},_drawFixedLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=h.element.querySelector(".jqx-heatmap-grid").offsetWidth;var b=h.element.querySelector(".jqx-heatmap-grid").offsetHeight;if(f==="horizontal"){e.classList.add("jqx-fixed")}for(var i=0,c=d.length;i<c;i++){var g=d[i];var k=document.createElement("div");var l=((j/c)/j)*100;k.id="jqx-color-container-"+i;k.className="jqx-color-container";k.setAttribute("data-value",g.value);k.setAttribute("data-color-index",i);k.setAttribute("data-color",g.color);k.style.background=g.color;if(f==="vertical"){k.style.width="10px";k.style.height="calc("+b+"px / "+c+")"}else{k.style.width=l+"%";k.style.height="10px"}e.appendChild(k)}},_drawGradientLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var b=e.getContext("2d");if(f==="vertical"){var k=b.createLinearGradient(0,0,0,150)}else{var k=b.createLinearGradient(0,0,300,0)}if(h.paletteSettings.type==="Gradient"){h._checkNewMinMax()}for(var i=0,c=d.length;i<c;i++){var g=d[i];var j=((g.value-h._minValue)/(h._maxValue-h._minValue));k.addColorStop(j,g.color)}b.fillStyle=k;b.fillRect(0,0,300,150);h._canvasContext=b},_getSourceMinMax:function(){var g=this;var e=g.source[0][0];var b=g.source[0][0];for(var d=0,f=g.source.length;d<f;d++){for(var h=0,i=g.source[d].length;h<i;h++){var c=g.source[d][h];if(c===null){continue}if(e>c){e=c;continue}if(b<c){b=c;continue}}}return{min:e,max:b}},_checkNewMinMax:function(){var c=this;var b=JSON.parse(JSON.stringify(c.paletteSettings.palette));var d=c._getSourceMinMax();if(c._minValue>d.min){c._minValue=d.min;b.splice(0,0,{value:d.min,color:b[0].color})}if(c._maxValue<d.max){c._maxValue=d.max;b.push({value:d.max,color:b[b.length-1].color})}},_adjustLegend:function(b){var c=this;if(b==="vertical"){c._setVerticalLegendHeight();c._renderScale("vertical")}else{c._setHorizontalLegendWidth();c._renderScale("horizontal")}},_renderScale:function(b){var g=this;for(var d=0,f=g._ticksArray.length;d<f;d++){var c=g._ticksArray[d].value;var h=g._ticksArray[d].label;var e=document.createElement("div");if(g.paletteSettings.type==="Fixed"){e.classList.add("jqx-color-container-tick")}e.classList.add("jqx-tick","jqx-tick-"+b);e.setAttribute("data-value",c);e.setAttribute("data-color-index",d);e.innerHTML=h||c;g._setLegendTicksPosition(e,c,d,b);g._legend.appendChild(e)}if(b==="vertical"){g._tick=e;g._setVerticalLegendWidth()}},_setLegendTicksPosition:function(f,g,c,h){var i=this;var n="6px";if(i.paletteSettings.type==="Gradient"){if(g===i._minValue||g===i._maxValue){if(g===i._minValue){if(h==="vertical"){f.style.top="-0.5%"}else{f.style.left="-3px"}}else{if(h==="vertical"){f.style.top="96%"}else{f.style.right="-11px"}}f.classList.add("jqx-no-line")}else{var k=((g-i._minValue)/(i._maxValue-i._minValue))*100;if(h==="vertical"){f.style.top="calc("+k+"% - "+n+")"}else{f.style.left="calc("+k+"% - "+n+")"}}}else{var b=i.element.querySelector(".jqx-color-container").offsetHeight;var d=i.element.querySelector(".jqx-color-container").offsetWidth;var m=5;if(h==="vertical"){if(c===0){f.style.top=c*b+"px"}else{f.style.top=c*b-m+"px"}}else{if(c===0){f.style.left=c*d+"px"}else{var e=i.paletteSettings.palette.length;var j=i.element.querySelector(".jqx-heatmap-grid").offsetWidth;var l=((j/e)/j)*100;f.style.left="calc("+l*c+"% - "+m+"px)"}}f.classList.add("jqx-no-line")}},_showLegendArrow:function(b,f){var e=this;var d="6px";var c=((f-e._minValue)/(e._maxValue-e._minValue))*100;if(e.paletteSettings.type==="Gradient"&&f<=e._maxValue){e._arrow.style.display="block";if(b==="vertical"){e._arrow.style.top="calc("+c+"% - "+d+")"}else{e._arrow.style.left="calc("+c+"% - "+d+")"}}},_setVerticalLegendWidth:function(){var b=this;var d=15;var c=15;b._legend.style.width=d+b._tick.offsetWidth+"px";b._gridXAxisContainer.style.width="calc(100% - "+(b._legend.offsetWidth+c)+"px)"},_setVerticalLegendHeight:function(){var c=this;var b=c.element.querySelector(".jqx-heatmap-grid").offsetHeight;c._legend.style.height=b+"px"},_setHorizontalLegendWidth:function(){var c=this;var b=c.element.querySelector(".jqx-y-axis").offsetWidth;c._legend.style.width="calc(100% - "+b+"px)"},_hideCells:function(g){var f=this;var d=f.element.querySelectorAll('.jqx-heatmap-cell[data-color-index="'+g+'"]');for(var c=0,e=d.length;c<e;c++){var b=d[c];b.classList.toggle("jqx-heatmap-hidden")}},_toggleClass:function(j,i,h){var e=this;var g=e.element.querySelectorAll("."+j);for(var f=0,c=g.length;f<c;f++){var d=g[f];var b=d.getAttribute("data-value");if(h===b){d.classList.toggle(i);return}}},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_getLegendColor:function(i,e){var f=this;var d=149;var b=299;var g=((i-f._minValue)/(f._maxValue-f._minValue))*d;var h=((i-f._minValue)/(f._maxValue-f._minValue))*b;var j=null;var c=null;if(i>f._maxValue||i<f._minValue){return}if(e==="vertical"){j=f._canvasContext.getImageData(0,g,1,1).data}else{j=f._canvasContext.getImageData(h,0,1,1).data}c="rgba("+j[0]+", "+j[1]+", "+j[2]+", "+(j[3]/255)+")";return c},_getFixedLegendColor:function(h){var g=this;var e=JSON.parse(JSON.stringify(g.paletteSettings.palette));for(var d=0,f=e.length;d<f;d++){var b=e[d];var c=e[d+1];if(c&&((h>=b.value&&h<c.value)||h<g._minValue)){return b.color}else{if(!c&&h>=b.value){return b.color}}}},_setCellsBackground:function(c){var h=this;var f=h.element.querySelectorAll(".jqx-heatmap-cell");for(var e=0,g=f.length;e<g;e++){var b=f[e];var i=f[e].getAttribute("data-value");if(i==="null"){b.style.background=h.paletteSettings.emptyPointColor}else{if(h.paletteSettings.type==="Gradient"){var d=h._getLegendColor(i,c)}else{var d=h._getFixedLegendColor(i)}b.style.background=d}}},_renderLegendPosition:function(){var b=this;switch(b.legendSettings.position){default:case"Right":b._gridContainerWrapper.style.flexDirection="row";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Left":b._gridContainerWrapper.style.flexDirection="row-reverse";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Top":b._gridContainerWrapper.style.flexDirection="column-reverse";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break;case"Bottom":b._gridContainerWrapper.style.flexDirection="column";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break}},_reverseXAxisOrigin:function(){var b=this;b.xAxis.labels.reverse();b.source.reverse();b._isXAxisInversed=!b._isXAxisInversed;if(b.xAxis.minimum&&b.xAxis.maximum){b._dateArray.reverse()}},_reverseYAxisOrigin:function(){var b=this;b.yAxis.labels.reverse();b._isYAxisInversed=!b._isYAxisInversed;b._reverseNestedArray(b.source);if(b.xAxis.minimum&&b.xAxis.maximum){b._reverseNestedArray(b._dateArray)}},_reverseNestedArray:function(e){for(var b=0,d=e.length;b<d;b++){var c=e[b];c.reverse()}},_setAxisOrigin:function(){var b=this;if(b.xAxis.isInversed!==b._isXAxisInversed){b._reverseXAxisOrigin()}if(b.yAxis.isInversed!==b._isYAxisInversed){b._reverseYAxisOrigin()}},_destroyGrid:function(){var b=this;a(b._gridContainerWrapper).remove();if(b.xAxis.minimum&&b.xAxis.maximum){b.xAxis.labels=[]}},_destroyTitle:function(){var b=this;a(b._title).remove()},_renderAllElements:function(){var b=this;b._renderTitle();b._getTicksMinMax();if(b.xAxis.minimum&&b.xAxis.maximum){b._getAllDates()}b._renderGrid();b._renderAllAxis();b._renderLegendPosition()},_rerender:function(){var b=this;b._destroyTitle();b._destroyGrid();b._renderAllElements();b._addHandlers()},setLegendPosition:function(b){var c=this;if(c.legendSettings.position!==b){c.legendSettings.position=b;c._rerender()}},setOpposedXAxisPosition:function(c){var b=this;if(b.xAxis.opposedPosition!==c){b.xAxis.opposedPosition=c;b._rerender()}},setOpposedYAxisPosition:function(c){var b=this;if(b.yAxis.opposedPosition!==c){b.yAxis.opposedPosition=c;b._rerender()}},reverseXAxisPosition:function(c){var b=this;b.xAxis.isInversed=c;b._rerender()},reverseYAxisPosition:function(c){var b=this;b.yAxis.isInversed=c;b._rerender()},setPaletteType:function(b){var c=this;c.paletteSettings.type=b;c._rerender()},destroy:function(){var b=this;b.host.remove()}})})(jqxBaseFramework);
 
 (function(a){a.jqx.jqxWidget("jqxTimePicker","",{});a.extend(a.jqx._jqxTimePicker.prototype,{defineInstance:function(){var b={autoSwitchToMinutes:false,footer:false,footerTemplate:null,format:"12-hour",minuteInterval:1,selection:"hour",value:new Date(),view:"portrait",width:500,height:500,animation:true,disabled:false,readonly:false,unfocusable:false,name:"",_events:["change"]};if(this===a.jqx._jqxTimePicker.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._createTimePicker()},_createTimePicker:function(){this.widgetID=this.element.id;var c=this;var b='<div class="'+c.toThemeProperty("jqx-container jqx-rc-all jqx-widget")+'"><div class="'+c.toThemeProperty("jqx-header jqx-unselectable jqx-widget-header")+'"><div class="'+c.toThemeProperty("jqx-hour-minute-container")+'"><div class ="'+c.toThemeProperty("jqx-hour-container")+'"></div><div>:</div><div class="'+c.toThemeProperty("jqx-minute-container")+'"></div></div><div class="'+c.toThemeProperty("jqx-am-pm-container")+'"><div class="'+c.toThemeProperty("jqx-am-container")+'">AM</div><div class="'+c.toThemeProperty("jqx-pm-container")+'">PM</div></div></div><div class="'+c.toThemeProperty("jqx-main-container jqx-widget-content")+'"><div class="'+c.toThemeProperty("jqx-svg-container jqx-item")+'"><div class="'+c.toThemeProperty("jqx-svg-picker jqx-fill-state-normal jqx-item")+'"></div></div><div class="'+c.toThemeProperty("jqx-footer")+'"></div></div><input name="'+this.name+'" type="hidden"></div>';c.element.innerHTML=b;c.element.className+=c.toThemeProperty("jqx-time-picker jqx-rc-all jqx-widget");c.element.setAttribute("view",c.view);c._container=c.element.getElementsByTagName("div")[0];c._header=c.element.getElementsByClassName("jqx-header")[0];c._hourMinuteContainer=c.element.getElementsByClassName("jqx-hour-minute-container")[0];c._hourContainer=c.element.getElementsByClassName("jqx-hour-container")[0];c._minuteContainer=c.element.getElementsByClassName("jqx-minute-container")[0];c._ampmContainer=c.element.getElementsByClassName("jqx-am-pm-container")[0];c._amContainer=c.element.getElementsByClassName("jqx-am-container")[0];c._pmContainer=c.element.getElementsByClassName("jqx-pm-container")[0];c._main=c.element.getElementsByClassName("jqx-main-container")[0];c._svgContainer=c.element.getElementsByClassName("jqx-svg-container")[0];c._picker=c.element.getElementsByClassName("jqx-svg-picker")[0];c._footer=c.element.getElementsByClassName("jqx-footer")[0];c._hiddenInput=c.element.getElementsByTagName("input")[0];if(c.footer){c.element.setAttribute("footer","")}if(c.readonly){c.element.setAttribute("readonly","")}if(c.disabled){c.element.setAttribute("disabled","")}c.coerce=true;c.min=0;c._drawMin="0";c.startAngle=-270;c.endAngle=90;c._angleDifference=c.endAngle-c.startAngle;c.ticksVisibility="none";c._tickIntervalHandler={};c._tickIntervalHandler.labelsSize={};c._distance={majorTickDistance:0,minorTickDistance:0,labelDistance:10};c._measurements={};a(c.element).css({width:c.width,height:c.height});a.jqx.utilities.resize(c.host,function(){c._resizeHandler()});c._validateInitialPropertyValues();c._applyInitialSettings();if(!c._isVisible()){c._renderingSuspended=true;return}c._setPickerSize();a(c._picker).jqxDraw();c._draw=a(c._picker).jqxDraw("getInstance");c._getMeasurements();c._getAngleRangeCoefficient();c._renderSVG();c._setFocusable();c._addEventHandlers()},_getAngleRangeCoefficient:function(){var b=this;b._angleRangeCoefficient=b._angleDifference/b._range},_getAngleByValue:function(e,g,c){var d=this;if(g!==false&&d.logarithmicScale){e=Math.log10(e)}var b=(e-d._drawMin)*d._angleRangeCoefficient;var f;if(!d.inverted){f=d.endAngle-b}else{f=d.startAngle+b}if(c){return f}return f*Math.PI/180+Math.PI/2},_addGaugeTicksAndLabels:function(){var f=this,m=Math.max(f._tickIntervalHandler.labelsSize.minLabelSize,f._tickIntervalHandler.labelsSize.maxLabelSize),u=f._majorTicksInterval,o=f._minorTicksInterval,l={},b=f._distance,c=f._measurements.radius,v=c-b.majorTickDistance,k=c-b.minorTickDistance;var r,d,e,h,q,s;if(f.ticksVisibility!=="none"&&f._plotTicks!==false){r=function(i){f._drawTick(i,v,"major")};d=function(i){f._drawTick(f._getAngleByValue(i,true),k,"minor")}}else{r=function(){};d=function(){}}if(f.labelsVisibility!=="none"&&f._plotLabels!==false){e=function(w,i,j){f._drawLabel(w,i,b.labelDistance,j)}}else{e=function(){}}if(!f.inverted){q=f.endAngle;s=f.startAngle}else{q=f.startAngle;s=f.endAngle}h=f._getAngleByValue(f._drawMin,false);r(h);l[f._drawMin]=true;e(h,f.min,false);var t=f._drawMin-f._drawMin%u,g;if(f._drawMin>=0){t+=u}for(var p=t;p>=f._drawMin;p=p-o){g=p}h=f._getAngleByValue(t,false);r(h);l[t]=true;if(2*Math.PI*f._measurements.innerRadius*(this._getAngleDifference(q,f._getAngleByValue(t,false,true))/360)>m){e(h,f._getActualValue(t),t<f._drawMax)}var p;for(p=t+u;p<f._drawMax-u;p+=u){h=f._getAngleByValue(p,false);r(h);l[p]=true;e(h,f._getActualValue(p),true)}if(l[p]===undefined&&p<=f._drawMax){h=f._getAngleByValue(p,false);r(h);l[p]=true;if(2*Math.PI*f._measurements.innerRadius*(this._getAngleDifference(s,f._getAngleByValue(p,false,true))/360)>=m){e(h,f._getActualValue(p),true)}if(f._normalizedStartAngle!==f.endAngle){h=f._getAngleByValue(f._drawMax,false);r(h);l[f._drawMax]=true;if(2*Math.PI*f._measurements.innerRadius*(this._getAngleDifference(s,q)/360)>=m){e(h,f.max,false)}}}if(!f.logarithmicScale){for(var n=g;n<f._drawMax;n+=o){if(l[n]){continue}d(n)}}else{this.drawGaugeLogarithmicScaleMinorTicks(l,u,d)}},_getAngleDifference:function(d,c){var b=Math.abs(c-d)%360,e=b>180?360-b:b;return e},_getActualValue:function(b){if(!this.logarithmicScale){return b}else{return Math.pow(10,b)}},_computeArrowBodyPoints:function(m,g,d,f){var l=this,n=Math.sin(g),p=Math.cos(g),k=m-d*p+f*n,e=m+d*n+f*p,j=m+d*p+f*n,c=m-d*n+f*p,i=m+d*p,b=m-d*n,h=m-d*p,q=m+d*n,o="M "+i+","+b+" L "+h+","+q+" L "+k+","+e+" "+j+","+c;l._headCenter={x:(k+j)/2,y:(e+c)/2};return o},_documentMoveHandler:function(c){var b=this;if(b._dragging){b._changeSelection(c,true)}},_documentUpHandler:function(){var b=this;if(b._dragging){b._inInnerCircle=false;b._dragging=false;if(b.autoSwitchToMinutes&&b.selection==="hour"){if(b.animation){a(b._picker).addClass("animate");setTimeout(function(){b.selection="minute";b._changeToMinuteSelection()},250);setTimeout(function(){a(b._picker).removeClass("animate")},550)}else{b.selection="minute";b._changeToMinuteSelection()}}}},_drawArrow:function(e,m,f){var h=this,g=h.selection==="hour",j=h.format==="12-hour";var i=h._oldTimePart;delete h._oldTimePart;if(m===undefined){if(g){m=h.value.getHours();if(j&&m>12){m-=12}}else{m=h.value.getMinutes()}}if(i===undefined||f||!h.animation){h._drawArrowSVG(e,m);return}if(g&&!j){h._animate24HourView(i,m);return}var d,l;if(g){d=0.2;l=12;m=m%l;i=i%l}else{d=1;l=60}var c=m-i,k=i-m;if(c<0){c+=l}if(k<0){k+=l}if(k<c){d*=-1}function b(){i+=d;i=parseFloat((i%l).toFixed(1));if(i<0){i+=l}h._drawArrowSVG(e,i);if(i!==m%l){h._animationFrameId=requestAnimationFrame(b)}}h._animationFrameId=requestAnimationFrame(b)},_animate24HourView:function(i,l){var h=this;var e=0.2;h._inInnerCircle=false;var j=i===0||i>12,f=l===0||l>12;if(j!==f){if(j){i=Math.abs(i-12)}else{i=(i+12)%24}h._inInnerCircle=f;h._drawArrowSVG(true,i);if(i===l){return}}else{h._inInnerCircle=f}var d=i,g=l;if(h._inInnerCircle){if(g===0&&d<18){g=12}else{if(d===0&&g<18){d=12}}}var c=g-d,k=d-g;if(c<0){c+=12}if(k<0){k+=12}if(k<c){e*=-1}function b(m){h._inInnerCircle=m;if(m){i=parseFloat((i+e).toFixed(1));if(i<0){i+=24}else{if(i<1){i=i+12}}if(i===12||i===24){i=0}}else{i+=e;if(i!==12){i=parseFloat((i%12).toFixed(1))}if(i<=0){i+=12}}h._drawArrowSVG(true,i);if(i!==l){h._animationFrameId=requestAnimationFrame(function(){b(m)})}else{h._inInnerCircle=false}}h._animationFrameId=requestAnimationFrame(function(){b(h._inInnerCircle)})},_drawArrowSVG:function(g,e){var c=this,b=c._measurements,f=c._getAngleByValue(e);var d;if(!c._inInnerCircle){d=c._computeArrowBodyPoints(b.radius,f,1,b.innerRadius-c._largestLabelSize/2)}else{d=c._computeArrowBodyPoints(b.radius,f,1,b.innerRadius-c._largestLabelSize/2-45)}if(g){c._arrow.setAttribute("d",d);c._head.setAttribute("cx",c._headCenter.x);c._head.setAttribute("cy",c._headCenter.y);c._head.setAttribute("r",c._largestLabelSize);c._headRect=c._head.getBoundingClientRect();if(e%1===0){c._highlightLabel(e)}}else{c._arrow=c._draw.path(d,{"class":c.toThemeProperty("jqx-needle jqx-widget-header")});c._head=c._draw.circle(c._headCenter.x,c._headCenter.y,c._largestLabelSize,{"class":c.toThemeProperty("jqx-needle-central-circle jqx-widget-header")});c._headRect=c._head.getBoundingClientRect()}},_drawLabel:function(f,m,d){var g=this,e=g._measurements,c=e.radius,h={"class":g.toThemeProperty("jqx-label jqx-unselectable jqx-item"),"font-size":e.fontSize,"font-family":e.fontFamily,"font-weight":e.fontWeight,"font-style":e.fontStyle};if(g.selection==="hour"){if(g._plotInnerCircle){if(m>0){m+=12}else{m="00"}}else{if(m===0){m=12}}}else{if(m.toString().length===1){m="0"+m}}var b=g._draw.measureText(m,0,h),l=c-d-g._largestLabelSize/2,k=c+l*Math.sin(f),i=c+l*Math.cos(f),j=g._draw.text(m,Math.round(k)-b.width/2,Math.round(i)-b.height/2,b.width,b.height,0,h);j.setAttribute("value",parseFloat(m))},_getCenterCoordinates:function(){var c=this,f=c._picker.getBoundingClientRect(),b=c._measurements.radius,e=document.body.scrollLeft||document.documentElement.scrollLeft,d=document.body.scrollTop||document.documentElement.scrollTop;return{x:f.left+e+b,y:f.top+d+b}},_headerClickHandler:function(d){var c=this;if(c.disabled||c.readonly){return}switch(d.target){case c._hourContainer:if(c.selection!=="hour"){c.selection="hour";c._changeToHourSelection()}break;case c._minuteContainer:if(c.selection!=="minute"){c.selection="minute";c._changeToMinuteSelection()}break;case c._amContainer:if(!a(c._amContainer).hasClass("jqx-selected")){c._selectAmPm("am");var b=new Date(c.value.getTime());c.value.setHours(c.value.getHours()-12);c._hiddenInput.value=c.value;c._raiseEvent("0",{value:c.value,oldValue:b})}break;case c._pmContainer:if(!a(c._pmContainer).hasClass("jqx-selected")){c._selectAmPm("pm");var b=new Date(c.value.getTime());c.value.setHours(c.value.getHours()+12);c._hiddenInput.value=c.value;c._raiseEvent("0",{value:c.value,oldValue:b})}break}},_highlightLabel:function(f){var c=this;if(c._highlightedLabel){if(parseFloat(c._highlightedLabel.getAttribute("value"))===f){return}var h=function(l,j){var k=new RegExp("\\s?"+j+"\\s?","gm");var i=l.replace(k,"");return i};if(c._highlightedLabel.className.baseVal.indexOf(c.toThemeProperty("jqx-selected"))>-1){var e=c._highlightedLabel.className.baseVal;var b=h(e,c.toThemeProperty("jqx-selected"));c._highlightedLabel.className.baseVal=b}c._highlightedLabel=undefined}var g;if(c.selection==="hour"){if(f===undefined){f=c.value.getHours()}if(c.format==="12-hour"){if(f===0){f=12}else{if(f>12){f-=12}}}g=f}else{if(f===undefined){f=c.value.getMinutes()}g=Math.round(f/5)*5;if(g===60){g=0}}var d=c._picker.querySelector('.jqx-label[value="'+g+'"]');if(d&&(g===f||c._overlapsLabel(d))){c._highlightedLabel=d;d.className.baseVal+=" "+c.toThemeProperty("jqx-selected")}},_isVisible:function(){var b=this.host[0];return !!(b.offsetWidth||b.offsetHeight||b.getClientRects().length)},_getMeasurements:function(){var h=this,c=h._measurements,k=document.createElement("div");var i,g,j,b,e,f;k.className="jqx-label";k.style.position="absolute";k.style.visibility="hidden";h._svgContainer.appendChild(k);if(h.selection==="hour"){i="1";g="23";h.max=12;h._drawMax="12";h._range=12}else{i="00";g="55";h.max=60;h._drawMax="60";h._range=60}k.innerHTML=i;j=k.offsetWidth;e=k.offsetHeight;k.innerHTML=g;b=k.offsetWidth;f=k.offsetHeight;h._largestLabelSize=Math.max(j,e,b,f);h._tickIntervalHandler.labelsSize.minLabelSize=e;h._tickIntervalHandler.labelsSize.maxLabelSize=f;var d=window.getComputedStyle(k);c.fontSize=d.fontSize;c.fontFamily=d.fontFamily;c.fontWeight=d.fontWeight;c.fontStyle=d.fontStyle;h._svgContainer.removeChild(k)},_renderHours:function(){var b=this;b._highlightedLabel=undefined;b._majorTicksInterval=1;b._addGaugeTicksAndLabels();if(b.format==="24-hour"){b._plotInnerCircle=true;b._distance.labelDistance=55;b._addGaugeTicksAndLabels();b._plotInnerCircle=false;b._distance.labelDistance=10}},_renderMinutes:function(){var b=this;b._highlightedLabel=undefined;b._majorTicksInterval=5;b._addGaugeTicksAndLabels()},_renderSVG:function(){var c=this;if(!c._isVisible()||c._renderingSuspended){c._renderingSuspended=true;return}c._centralCircle=c._draw.circle(c._measurements.radius,c._measurements.radius,4,{"class":c.toThemeProperty("jqx-needle-central-circle jqx-widget-header")});if(c.selection==="hour"&&c.format==="24-hour"&&(c.value.getHours()===0||c.value.getHours()>12)){c._inInnerCircle=true}c._drawArrow(false);c._inInnerCircle=false;if(c.selection==="hour"){c.interval=1;c._renderHours();var b=c.value.getHours();if(c.format==="12-hour"&&b>12){b-=12}c._highlightLabel(b)}else{c.interval=c.minuteInterval;c._renderMinutes();c._highlightLabel(c.value.getMinutes())}},_selectAmPm:function(c){var b=this;if(c==="am"){b._ampm="am";a(b._pmContainer).removeClass(b.toThemeProperty("jqx-selected"));a(b._amContainer).addClass(b.toThemeProperty("jqx-selected"))}else{b._ampm="pm";a(b._amContainer).removeClass(b.toThemeProperty("jqx-selected"));a(b._pmContainer).addClass(b.toThemeProperty("jqx-selected"))}},_setFocusable:function(){var c=this;if(c.disabled||c.unfocusable){c._hourContainer.removeAttribute("tabindex");c._minuteContainer.removeAttribute("tabindex");c._amContainer.removeAttribute("tabindex");c._pmContainer.removeAttribute("tabindex");c._picker.removeAttribute("tabindex");return}var b=c.tabIndex>0?c.tabIndex:0;c._hourContainer.tabIndex=b;c._minuteContainer.tabIndex=b;c._amContainer.tabIndex=b;c._pmContainer.tabIndex=b;c._picker.tabIndex=b},_setPickerSize:function(){var e=this,d=e._svgContainer.offsetWidth,c=e._svgContainer.offsetHeight;var b=Math.min(d,c)*0.9;if(e._pickerSize!==undefined&&e._pickerSize!==b){e._sizeChanged=true}else{e._sizeChanged=false}e._pickerSize=b;e._measurements.radius=b/2;e._measurements.innerRadius=e._measurements.radius-10;b+="px";e._picker.style.width=b;e._picker.style.height=b},refresh:function(c){var b=this;if(c!==true){b.render()}},setHours:function(b){var c=this;if(b==undefined||(isNaN(b)&&Object.keys(b).length==0)){throw"The setHours method required a parameter. Its type should be number."}if(b===24){b=0}else{b=Math.max(0,Math.min(b,23))}if(b<12){c._selectAmPm("am")}else{c._selectAmPm("pm")}if(c.format==="12-hour"){if(b===0){b=12}else{if(b>12){b-=12}}}c._updateHours(b,arguments[1]);if(c.selection==="hour"){c._inInnerCircle=c.format==="24-hour"&&(b===0||b>12);c._drawArrow(true,b,arguments[2]);if(!c.animation){c._inInnerCircle=false}}},setMinutes:function(b){var c=this;if(b==undefined||(isNaN(b)&&Object.keys(b).length==0)){throw"The setMinutes method required a parameter. Its type should be number."}if(b===60){b=0}else{b=Math.max(0,Math.min(b,59))}c._updateMinutes(b);if(c.selection==="minute"){c._drawArrow(true,b,arguments[1])}},propertyChangedHandler:function(d,j,b,i){var f=d;if(b!=i||i instanceof Object){switch(j){case"disabled":if(f.disabled){f.host.addClass(f.toThemeProperty("jqx-fill-state-disabled"));f.element.setAttribute("disabled","")}else{f.host.removeClass(f.toThemeProperty("jqx-fill-state-disabled"));f.element.removeAttribute("disabled")}f._setFocusable();break;case"footer":case"view":f._resizeHandler();break;case"footerTemplate":f._validateFooterTemplate();break;case"format":var h=f.value.getHours();if(i==="12-hour"){f._ampmContainer.removeClass("jqx-hidden");if(f.value.getHours()<12){f._selectAmPm("am")}else{f._selectAmPm("pm")}if(h===0){h=12}else{if(h>12){h-=12}}}else{f._ampmContainer.addClass("jqx-hidden")}f._hourContainer.innerHTML=h;if(f.selection==="hour"){f._draw.clear();f._renderSVG()}break;case"minuteInterval":var c=Math.max(1,Math.min(i,60));if(c!==i){f.minuteInterval=c}if(f.selection==="minute"){f.interval=c}break;case"selection":if(i==="hour"){f._changeToHourSelection()}else{f._changeToMinuteSelection()}break;case"value":f._oldValue=b;f._validateValue();var g=f.value.getHours()===b.getHours(),e=f.value.getMinutes()===b.getMinutes();if(!(g&&e)){if(e){f.setHours(f.value.getHours())}else{if(!g){f.setHours(f.value.getHours(),true)}f.setMinutes(f.value.getMinutes())}}delete f._oldValue;break}}},_applyInitialSettings:function(){var d=this,e=d.value;var b,c;b=e.getHours();c=e.getMinutes();if(d.format==="12-hour"){if(b<12){d._ampm="am";d._amContainer.className+=" "+d.toThemeProperty("jqx-selected");if(b===0){b=12}}else{d._ampm="pm";d._pmContainer.className+=" "+d.toThemeProperty("jqx-selected");if(b>12){b-=12}}}else{d._ampmContainer.className+=" "+d.toThemeProperty("jqx-hidden")}c=c.toString();if(c.length===1){c="0"+c}d._hourContainer.innerHTML=b;d._minuteContainer.innerHTML=c;if(d.selection==="hour"){d._hourContainer.className+=" "+d.toThemeProperty("jqx-selected")}else{d._minuteContainer.className+=" "+d.toThemeProperty("jqx-selected")}},_getValueByAngle:function(g,c){var d=this;var f,b,e;if(!d.inverted){f=d.endAngle;b=g}else{f=g;b=d._normalizedStartAngle}while(f<b){f+=360}e=((f-b)/d._angleDifference)*d._range+parseFloat(d._drawMin);if(d.logarithmicScale){if(d.customInterval){return parseFloat(Math.pow(10,this.getCoercedValue(e,true)).toFixed(12))}e=Math.pow(10,e)}if(c&&!d.coerce){return Math.round(e)}return this._getCoercedValue(e,false)},_getCoercedValue:function(m,h,k){var g=this;if(!g.coerce){return m}var b=!g.logarithmicScale,l,f;l=parseFloat(g.min);f=parseFloat(g.max);var p=m-l,o=p%parseFloat(g.interval),j=12;if(o===0){return m}var e=parseFloat((p-o).toFixed(j)),d=e+parseFloat(g.interval);if(((g.max-g.min)<=parseFloat(g.interval))&&b){var c=l,i=f;return m>=c+(i-c)/2?i:c}if(Math.abs(p-e)<Math.abs(p-d)){return e+l}else{var n=d+l;return n>f?e+l:n}},_changeSelection:function(c,g){var h=this,j=c.pageX,i=c.pageY,b=h._getCenterCoordinates(),e=Math.sqrt(Math.pow(b.x-j,2)+Math.pow(b.y-i,2));h._measurements.center=b;if(c.type==="mousedown"){if(e>h._measurements.radius){c.stopPropagation();return}else{h._dragging=true}}if(h.format==="24-hour"&&h.selection==="hour"&&e<h._measurements.radius-50){h._inInnerCircle=true}else{h._inInnerCircle=false}var k=Math.atan2(i-b.y,j-b.x);var f=-1*k*180/Math.PI;if(f<0){f+=360}h._angle=f;var d=h._getValueByAngle(h._angle);if(h.selection==="hour"){if(h.format==="24-hour"){if(h._inInnerCircle){if(d!==0&&d!==12){d+=12}else{d=0}}else{if(d===0){d=12}}}else{if(d===0){d=12}}h._updateHours(d)}else{if(d===60){d=0}h._updateMinutes(d)}if(h._oldTimePart===undefined){return}cancelAnimationFrame(h._animationFrameId);h._drawArrow(true,d,g)},_changeToHourSelection:function(){var c=this,b=c._centralCircle.parentElement||c._centralCircle.parentNode;cancelAnimationFrame(c._animationFrameId);c.interval=1;a(c._hourContainer).addClass(c.toThemeProperty("jqx-selected"));a(c._minuteContainer).removeClass(c.toThemeProperty("jqx-selected"));b.removeChild(c._centralCircle);b.removeChild(c._arrow);b.removeChild(c._head);c._getMeasurements();c._getAngleRangeCoefficient();c._draw.clear();b.appendChild(c._centralCircle);b.appendChild(c._arrow);b.appendChild(c._head);c._renderHours();if(c.format==="24-hour"&&(c.value.getHours()===0||c.value.getHours()>12)){c._inInnerCircle=true}c._drawArrow(true,undefined,true);c._inInnerCircle=false},_changeToMinuteSelection:function(){var c=this,b=c._centralCircle.parentElement||c._centralCircle.parentNode;c._inInnerCircle=false;cancelAnimationFrame(c._animationFrameId);c.interval=c.minuteInterval;a(c._hourContainer).removeClass(c.toThemeProperty("jqx-selected"));a(c._minuteContainer).addClass(c.toThemeProperty("jqx-selected"));b.removeChild(c._centralCircle);b.removeChild(c._arrow);b.removeChild(c._head);c._getMeasurements();c._getAngleRangeCoefficient();c._draw.clear();b.appendChild(c._centralCircle);b.appendChild(c._arrow);b.appendChild(c._head);c._renderMinutes();c._drawArrow(true,undefined,true)},_overlapsLabel:function(d){var f=this,c=d.getBoundingClientRect(),e=f._headRect,b=!(c.right-10<e.left||c.left+10>e.right||c.bottom-10<e.top||c.top+10>e.bottom);return b},_parseDateString:function(e,g){var d=e.indexOf("Date("),f=e.indexOf(")");var b=e;if(d!==-1&&f!==-1){b=e.slice(d+5,f);b=b.replace(/'/g,"").replace(/"/g,"").replace(/^\s+|\s+$|\s+(?=\s)/g,"");if(b.trim()===""){return new Date()}if(new RegExp(/(^(\d+)(\s*,\s*\d+)+$)/g).test(b)){b=b.replace(/\s/g,"");b=b.split(",");b.map(function(i,h){b[h]=parseInt(i)});b.unshift(null);b=new (Function.prototype.bind.apply(Date,b));return b}}if(b.trim()===""){return g}if(!isNaN(b)){return new Date(parseInt(b,10))}try{b=new Date(b)}catch(c){b=g}if(isNaN(b.getTime())){return g}return b},_updateHours:function(b,c){var f=this;var e=b;if(f.format==="12-hour"){if(f._ampm==="am"){if(e===12){e=0}}else{if(e<12){e+=12}}}else{e=b}var d=f._oldValue!==undefined?f._oldValue:new Date(f.value.getTime()),g=d.getHours();if(e===g){delete f._oldTimePart;return}f._oldTimePart=g;if(f._oldValue===undefined){f.value.setHours(e)}f._hourContainer.innerHTML=b;if(c!==true){f._hiddenInput.value=f.value;f._raiseEvent("0",{value:f.value,oldValue:d})}},_updateMinutes:function(d){var e=this,c=e._oldValue!==undefined?e._oldValue:new Date(e.value.getTime()),b=c.getMinutes();if(d===b){delete e._oldTimePart;return}e._oldTimePart=b;if(e._oldValue===undefined){e.value.setMinutes(d)}d=d.toString();if(d.length===1){d="0"+d}e._minuteContainer.innerHTML=d;e._hiddenInput.value=e.value;e._raiseEvent("0",{value:e.value,oldValue:c})},_validateFooterTemplate:function(){var d=this,b=d.footerTemplate;var f=window.navigator.userAgent;var c=f.indexOf("MSIE")>-1||f.indexOf("NET")>-1;if(b===null||c){d._footer.innerHTML="";return}var e;if(b instanceof HTMLTemplateElement){e=b}else{if(typeof b==="string"){e=document.getElementById(b);if(!(e instanceof HTMLTemplateElement)){e=undefined}}}if(e===undefined){d.footerTemplate=null;d._footer.innerHTML="";return}var g=document.importNode(e.content,true);d._footer.appendChild(g)},_validateInitialPropertyValues:function(){var b=this;b._validateFooterTemplate();b.minuteInterval=Math.max(1,Math.min(b.minuteInterval,60));b._validateValue()},_validateValue:function(){var c=this,d=c.value,e=c._oldValue!==undefined?this._oldValue:new Date();if(d instanceof Date){return}else{if(typeof d==="string"){if(/^\d{1,2}:\d{1,2}$/.test(d)){var b=d.split(":");c.value=new Date(e.getFullYear(),e.getMonth(),e.getDate(),parseFloat(b[0]),parseFloat(b[1]));return}c.value=c._parseDateString(d,e)}else{c.value=e}}},destroy:function(){var b=this;b._removeEventHandlers();b._draw.clear();b.host.removeData();b.host.removeClass();b.host.remove();delete b.element;delete b.host},_keydownHandler:function(h){var g=this;if(g._dragging){return}var f=g.enableShadowDOM?(g.shadowRoot.activeElement||document.activeElement):document.activeElement,e=h.key;if(g._header.contains(f)&&(e==="Enter"||e===" ")){h.preventDefault();g._headerClickHandler({target:f})}else{if(f===g._picker&&!h.altKey){var c;if(e==="ArrowRight"||e==="ArrowUp"){c=1}else{if(e==="ArrowLeft"||e==="ArrowDown"){c=-1}}if(c){h.preventDefault();if(g.selection==="hour"){var b=g.value.getHours();if(b===0&&c===-1){b=23}else{if(b===23&&c===1){b=0}else{b+=c}}if(g.format==="12-hour"){if(b>=12&&a(g._amContainer).hasClass("jqx-selected")){b-=12}else{if(b<12&&a(g._pmContainer).hasClass("jqx-selected")){b+=12}}}g.setHours(b,undefined,true)}else{var d=g.value.getMinutes();c*=g.minuteInterval;if(d+c>=60){d=0}else{if(d<c*-1){if(60%c===0){d=60+c}else{d=60-(60%c)}}else{d+=c}}g.setMinutes(d,true)}}}}},_resizeHandler:function(){var c=this;var b=false;if(!c._isVisible()){c._renderingSuspended=true;return}else{c._renderingSuspended=false;b=true;c._getMeasurements();c._getAngleRangeCoefficient()}c._setPickerSize();if(c._sizeChanged||b){c._draw.clear();c._renderSVG();c._sizeChanged=false;c._draw.refresh()}else{c._headRect=c._head.getBoundingClientRect();c._highlightLabel()}},_pickerDownHandler:function(c){var b=this;if(b.disabled||b.readonly||!jqx.mobile.isTouchDevice()&&c.which!==1){return}b._changeSelection(c)},_pickerMoveHandler:function(b){},_addEventHandlers:function(){var b=this;b.addHandler(a(b.element),"keydown.timepicker"+b.widgetID,b._keydownHandler.bind(this));b.addHandler(a(b.element),"resize.timepicker"+b.widgetID,b._resizeHandler.bind(this));b.addHandler(a(b._header),"click.timepicker"+b.widgetID,b._headerClickHandler.bind(this));b.addHandler(a(b._picker),"mousedown.timepicker"+b.widgetID,b._pickerDownHandler.bind(this));b.addHandler(a(document),"mousemove.timepicker"+b.widgetID,b._documentMoveHandler.bind(this));b.addHandler(a(document),"mouseup.timepicker"+b.widgetID,b._documentUpHandler.bind(this))},_removeEventHandlers:function(){var b=this;b.removeHandler(a(b.element),"keydown.timepicker"+b.widgetID);b.removeHandler(a(b.element),"resize.timepicker"+b.widgetID);b.removeHandler(a(b._header),"click.timepicker"+b.widgetID);b.removeHandler(a(b._picker),"mousedown.timepicker"+b.widgetID);b.removeHandler(a(b._picker),"mousemove.timepicker"+b.widgetID);b.removeHandler(a(document),"mousemove.timepicker"+b.widgetID);b.removeHandler(a(document),"mouseup.timepicker"+b.widgetID)},_raiseEvent:function(g,e){var c=this._events[g];var f=new a.Event(c);f.owner=this;f.args=e;var b;try{b=this.host.trigger(f)}catch(d){}return b},_getEvent:function(c){var b=this;if(b._isTouchDevice){return b._touchEvents[c]}else{return c}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxangular.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxangular.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxbargauge.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxbargauge.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxbulletchart.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxbulletchart.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxbuttongroup.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxbuttongroup.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxButtonGroup","",{});a.extend(a.jqx._jqxButtonGroup.prototype,{defineInstance:function(){var b={mode:"default",roundedCorners:true,disabled:false,enableHover:false,orientation:"horizontal",width:null,height:null,_eventsMap:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend")},_events:["selected","unselected","buttonclick"],_buttonId:{},_selected:null,_pressed:null,rtl:false,template:"",_baseId:"group_button",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButtonGroup.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(c);c._baseId=c._baseId+c.element.id;c.addHandler(c.host,"selectstart",function(d){if(!c.disabled){d.preventDefault()}})},refresh:function(){var b=this;if(b.width){if(b.width.toString()&&b.width.toString().indexOf("%")>=0){b.element.style.width=b.width}else{b.host.width(b.width)}}if(b.height){b.host.height(b.height)}b._refreshButtons()},render:function(){this.refresh()},resize:function(){this.refresh()},_getEvent:function(c){var b=this;if(b._isTouchDevice){var d=b._eventsMap[c]||c;d+="."+b.element.id;return d}c+="."+b.element.id;return c},_refreshButtons:function(){var f=this;if(f.lastElement){f.lastElement.remove()}f.lastElement=a("<div style='clear: both;'></div>");var c=f.host.children(),e=c.length,g;switch(f.mode){case"radio":f.host.attr("role","radiogroup");break;case"checkbox":case"default":f.host.attr("role","group");break}var d=new Number(100/e).toFixed(2);for(var b=0;b<e;b+=1){g=a(c[b]);if(f.width){if(f.orientation==="horizontal"){g.css("width",d+"%");g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("white-space","nowrap");g.css("text-overflow","ellipsis");g.css("overflow","hidden")}else{g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("width","100%")}}f._refreshButton(g,b,e)}f.lastElement.appendTo(f.host)},_refreshButton:function(c,b,d){(function(e){var f=this;e=f._render(e);f._removeStyles(e);f._addStyles(e,b,d);f._performLayout(e);f._removeButtonListeners(e);f._addButtonListeners(e);f._handleButtonId(e,b);if(f.mode==="radio"){e.attr("role","radio")}else{e.attr("role","button")}e.attr("disabled",f.disabled);if(f.disabled){e.addClass(f.toThemeProperty("jqx-fill-state-disabled"))}else{e.removeClass(f.toThemeProperty("jqx-fill-state-disabled"))}}).apply(this,[c])},destroy:function(b){var f=this;var d=f.host.children(),e=d.length,g;for(var c=0;c<e;c+=1){g=a(d[c]);f._removeStyles(g);f._removeButtonListeners(g)}if(b!==false){f.host.remove()}},_render:function(b){var c=this;if(b[0].tagName.toLowerCase()==="button"){return c._renderFromButton(b)}else{return c._renderButton(b)}},_renderButton:function(b){var c;b.wrapInner("<div/>");return b},_removeStyles:function(b){var c=this;var d=c.toThemeProperty;c.host.removeClass("jqx-widget");c.host.removeClass("jqx-rc-all");b.removeClass(d.call(this,"jqx-fill-state-normal"));b.removeClass(d.call(this,"jqx-group-button-normal"));b.removeClass(d.call(this,"jqx-rc-tl"));b.removeClass(d.call(this,"jqx-rc-bl"));b.removeClass(d.call(this,"jqx-rc-tr"));b.removeClass(d.call(this,"jqx-rc-br"));b.css("margin-left",0)},_addStyles:function(c,b,e){var d=this;var f=this.toThemeProperty;d.host.addClass(f.call(this,"jqx-widget"));d.host.addClass(f.call(this,"jqx-rc-all"));d.host.addClass(f.call(this,"jqx-buttongroup"));c.addClass(f.call(this,"jqx-button"));c.addClass(f.call(this,"jqx-group-button-normal"));c.addClass(f.call(this,"jqx-fill-state-normal"));if(d.template){c.addClass(f.call(this,"jqx-"+d.template))}if(d.roundedCorners){if(b===0){d._addRoundedCorners(c,true)}else{if(b===e-1){d._addRoundedCorners(c,false)}}}if(d.orientation==="horizontal"){c.css("margin-left",-parseInt(c.css("border-left-width"),10))}else{c.css("margin-top",-parseInt(c.css("border-left-width"),10))}},_addRoundedCorners:function(b,d){var c=this;var e=c.toThemeProperty;if(c.orientation==="horizontal"){if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-bl"))}else{b.addClass(e.call(this,"jqx-rc-tr"));b.addClass(e.call(this,"jqx-rc-br"))}}else{if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-tr"))}else{b.addClass(e.call(this,"jqx-rc-bl"));b.addClass(e.call(this,"jqx-rc-br"))}}},_centerContent:function(c,b){c.css({"margin-top":(b.height()-c.height())/2,"margin-left":(b.width()-c.width())/2});return c},_renderFromButton:function(b){var c=b.val();if(c===""){c=b.html()}var e;var d=b[0].id;b.wrap("<div/>");e=b.parent();e.attr("style",b.attr("style"));b.remove();a.jqx.utilities.html(e,c);e[0].id=d;return e},_performLayout:function(b){if(this.orientation==="horizontal"){if(this.rtl){b.css("float","right")}else{b.css("float","left")}}else{b.css("float","none")}this._centerContent(a(b.children()),b)},_mouseEnterHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-hover"));c.addClass(f.call(b,"jqx-fill-state-hover"))},_mouseLeaveHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.removeClass(f.call(b,"jqx-group-button-hover"));c.removeClass(f.call(b,"jqx-fill-state-hover"))},_mouseDownHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._pressed=c;var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-pressed"));c.addClass(f.call(b,"jqx-fill-state-pressed"))},_mouseUpHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._handleSelection(c);b._pressed=null;c=b._buttonId[c[0].id];b._raiseEvent(2,{index:c.num,button:c.btn})},_isDisabled:function(b){if(!b||!b[0]){return false}return this._buttonId[b[0].id].disabled},_documentUpHandler:function(d){var b=d.data.self,c=b._pressed;if(c&&!b._buttonId[c[0].id].selected){c.removeClass(b.toThemeProperty("jqx-fill-state-pressed"));b._pressed=null}},_addButtonListeners:function(c){var e=this;var b=e.addHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler,{self:e});b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler,{self:e});b(c,d.call(e,"mousedown"),e._mouseDownHandler,{self:e});b(c,d.call(e,"mouseup"),e._mouseUpHandler,{self:e});b(a(document),d.call(e,"mouseup"),e._documentUpHandler,{self:e})},_removeButtonListeners:function(c){var e=this;var b=e.removeHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler);b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler);b(c,d.call(e,"mousedown"),e._mouseDownHandler);b(c,d.call(e,"mouseup"),e._mouseUpHandler);b(a(document),d.call(e,"mouseup"),e._documentUpHandler)},_handleSelection:function(b){var c=this;if(c.mode==="radio"){c._handleRadio(b)}else{if(c.mode==="checkbox"){c._handleCheckbox(b)}else{c._handleDefault(b)}}},_handleRadio:function(b){var d=this;var c=d._getSelectedButton();if(c&&c.btn[0].id!==b[0].id){d._unselectButton(c.btn,true)}for(var e in d._buttonId){d._buttonId[e].selected=true;d._unselectButton(d._buttonId[e].btn,false)}d._selectButton(b,true)},_handleCheckbox:function(c){var d=this;var b=d._buttonId[c[0].id];if(b.selected){d._unselectButton(b.btn,true)}else{d._selectButton(c,true)}},_handleDefault:function(b){var c=this;c._selectButton(b,false);for(var d in c._buttonId){c._buttonId[d].selected=true;c._unselectButton(c._buttonId[d].btn,false)}},_getSelectedButton:function(){var b=this;for(var c in b._buttonId){if(b._buttonId[c].selected){return b._buttonId[c]}}return null},_getSelectedButtons:function(){var c=this;var b=[];for(var d in c._buttonId){if(c._buttonId[d].selected){b.push(c._buttonId[d].num)}}return b},_getButtonByIndex:function(b){var c=this;var e;for(var d in c._buttonId){if(c._buttonId[d].num===b){return c._buttonId[d]}}return null},_selectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(b.selected){return}var f=d.toThemeProperty;b.btn.addClass(f.call(this,"jqx-group-button-pressed"));b.btn.addClass(f.call(this,"jqx-fill-state-pressed"));b.selected=true;if(e){d._raiseEvent(0,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",true)},_unselectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(!b.selected){return}var f=d.toThemeProperty;b.btn.removeClass(f.call(this,"jqx-group-button-pressed"));b.btn.removeClass(f.call(this,"jqx-fill-state-pressed"));b.selected=false;if(e){d._raiseEvent(1,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",false)},setSelection:function(b){var d=this;if(b===-1){d.clearSelection();return}if(d.mode==="checkbox"){if(typeof b==="number"){d._setSelection(b)}else{for(var c=0;c<b.length;c+=1){d._setSelection(b[c])}}}else{if(typeof b==="number"&&d.mode==="radio"){d._setSelection(b)}}},_setSelection:function(b){var d=this;var c=d._getButtonByIndex(b);if(c){d._handleSelection(c.btn)}},getSelection:function(){var b=this;if(b.mode==="radio"){if(b._getSelectedButton()){return b._getSelectedButton().num}}else{if(b.mode==="checkbox"){return b._getSelectedButtons()}}return undefined},disable:function(){var c=this;c.disabled=true;var d;for(var b in c._buttonId){d=c._buttonId[b];c.disableAt(d.num)}a.jqx.aria(c,"aria-disabled",true)},enable:function(){var c=this;c.disabled=false;var d;for(var b in c._buttonId){d=c._buttonId[b];c.enableAt(d.num)}a.jqx.aria(c,"aria-disabled",false)},disableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(!c.disabled){c.disabled=true;c.btn.addClass(d.toThemeProperty("jqx-fill-state-disabled"))}},enableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(c.disabled){c.disabled=false;c.btn.removeClass(d.toThemeProperty("jqx-fill-state-disabled"))}},_handleButtonId:function(b,d){var f=b[0].id,e={btn:b,num:d,selected:false},c;if(!f){f=this._baseId+b.index()}b[0].id=f;this._buttonId[f]=e;return f},_raiseEvent:function(d,c){var b=a.Event(this._events[d]);b.args=c;return this.host.trigger(b)},_unselectAll:function(){for(var b in this._buttonId){this._unselectButton(this._buttonId[b].btn,false)}},clearSelection:function(){this._unselectAll()},propertyChangedHandler:function(b,c,e,d){if(c==="theme"&&d!==null){a.jqx.utilities.setTheme(e,d,b.host)}if(c==="template"){b.refresh()}if(c==="mode"){b._unselectAll();b.refresh();return}else{if(c==="disabled"){if(d){b.disable()}else{b.enable()}}else{b.refresh()}}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxButtonGroup","",{});a.extend(a.jqx._jqxButtonGroup.prototype,{defineInstance:function(){var b={mode:"default",roundedCorners:true,disabled:false,enableHover:false,orientation:"horizontal",width:null,height:null,_eventsMap:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend")},_events:["selected","unselected","buttonclick"],_buttonId:{},_selected:null,_pressed:null,rtl:false,template:"",_baseId:"group_button",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButtonGroup.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(c);c._baseId=c._baseId+c.element.id;c.addHandler(c.host,"selectstart",function(d){if(!c.disabled){d.preventDefault()}})},refresh:function(){var b=this;if(b.width){if(b.width.toString()&&b.width.toString().indexOf("%")>=0){b.element.style.width=b.width}else{b.host.width(b.width)}}if(b.height){b.host.height(b.height)}b._refreshButtons()},render:function(){this.refresh()},resize:function(){this.refresh()},_getEvent:function(c){var b=this;if(b._isTouchDevice){var d=b._eventsMap[c]||c;d+="."+b.element.id;return d}c+="."+b.element.id;return c},_refreshButtons:function(){var f=this;if(f.lastElement){f.lastElement.remove()}f.lastElement=a("<div style='clear: both;'></div>");var c=f.host.children(),e=c.length,g;switch(f.mode){case"radio":f.host.attr("role","radiogroup");break;case"checkbox":case"default":f.host.attr("role","group");break}var d=new Number(100/e).toFixed(2);for(var b=0;b<e;b+=1){g=a(c[b]);if(f.width){if(f.orientation==="horizontal"){g.css("width",d+"%");g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("white-space","nowrap");g.css("text-overflow","ellipsis");g.css("overflow","hidden")}else{g.css("box-sizing","border-box");g.css("-moz-box-sizing","border-box");g.css("width","100%")}}f._refreshButton(g,b,e)}f.lastElement.appendTo(f.host)},_refreshButton:function(c,b,d){(function(e){var f=this;e=f._render(e);f._removeStyles(e);f._addStyles(e,b,d);f._performLayout(e);f._removeButtonListeners(e);f._addButtonListeners(e);f._handleButtonId(e,b);if(f.mode==="radio"){e.attr("role","radio")}else{e.attr("role","button")}e.attr("disabled",f.disabled);if(f.disabled){e.addClass(f.toThemeProperty("jqx-fill-state-disabled"))}else{e.removeClass(f.toThemeProperty("jqx-fill-state-disabled"))}}).apply(this,[c])},destroy:function(b){var f=this;var d=f.host.children(),e=d.length,g;for(var c=0;c<e;c+=1){g=a(d[c]);f._removeStyles(g);f._removeButtonListeners(g)}if(b!==false){f.host.remove()}},_render:function(b){var c=this;if(b[0].tagName.toLowerCase()==="button"){return c._renderFromButton(b)}else{return c._renderButton(b)}},_renderButton:function(b){var c;b.wrapInner("<div/>");return b},_removeStyles:function(b){var c=this;var d=c.toThemeProperty;c.host.removeClass("jqx-widget");c.host.removeClass("jqx-rc-all");b.removeClass(d.call(this,"jqx-fill-state-normal"));b.removeClass(d.call(this,"jqx-group-button-normal"));b.removeClass(d.call(this,"jqx-rc-tl"));b.removeClass(d.call(this,"jqx-rc-bl"));b.removeClass(d.call(this,"jqx-rc-tr"));b.removeClass(d.call(this,"jqx-rc-br"));b.css("margin-left",0)},_addStyles:function(c,b,e){var d=this;var f=this.toThemeProperty;d.host.addClass(f.call(this,"jqx-widget"));d.host.addClass(f.call(this,"jqx-rc-all"));d.host.addClass(f.call(this,"jqx-buttongroup"));c.addClass(f.call(this,"jqx-button"));c.addClass(f.call(this,"jqx-group-button-normal"));c.addClass(f.call(this,"jqx-fill-state-normal"));if(d.template){c.addClass(f.call(this,"jqx-"+d.template))}if(d.roundedCorners){if(b===0){d._addRoundedCorners(c,true)}else{if(b===e-1){d._addRoundedCorners(c,false)}}}if(d.orientation==="horizontal"){c.css("margin-left",-parseInt(c.css("border-left-width"),10))}else{c.css("margin-top",-parseInt(c.css("border-left-width"),10))}},_addRoundedCorners:function(b,d){var c=this;var e=c.toThemeProperty;if(c.orientation==="horizontal"){if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-bl"))}else{b.addClass(e.call(this,"jqx-rc-tr"));b.addClass(e.call(this,"jqx-rc-br"))}}else{if(d){b.addClass(e.call(this,"jqx-rc-tl"));b.addClass(e.call(this,"jqx-rc-tr"))}else{b.addClass(e.call(this,"jqx-rc-bl"));b.addClass(e.call(this,"jqx-rc-br"))}}},_centerContent:function(c,b){c.css({"margin-top":(b.height()-c.height())/2,"margin-left":(b.width()-c.width())/2});return c},_renderFromButton:function(b){var c=b.val();if(c===""){c=b.html()}var e;var d=b[0].id;b.wrap("<div/>");e=b.parent();e.attr("style",b.attr("style"));b.remove();a.jqx.utilities.html(e,c);e[0].id=d;return e},_performLayout:function(b){if(this.orientation==="horizontal"){if(this.rtl){b.css("float","right")}else{b.css("float","left")}}else{b.css("float","none")}this._centerContent(a(b.children()),b)},_mouseEnterHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-hover"));c.addClass(f.call(b,"jqx-fill-state-hover"))},_mouseLeaveHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}var f=b.toThemeProperty;c.removeClass(f.call(b,"jqx-group-button-hover"));c.removeClass(f.call(b,"jqx-fill-state-hover"))},_mouseDownHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._pressed=c;var f=b.toThemeProperty;c.addClass(f.call(b,"jqx-group-button-pressed"));c.addClass(f.call(b,"jqx-fill-state-pressed"))},_mouseUpHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._handleSelection(c);b._pressed=null;c=b._buttonId[c[0].id];b._raiseEvent(2,{index:c.num,button:c.btn})},_isDisabled:function(b){if(!b||!b[0]){return false}return this._buttonId[b[0].id].disabled},_documentUpHandler:function(d){var b=d.data.self,c=b._pressed;if(c&&!b._buttonId[c[0].id].selected){c.removeClass(b.toThemeProperty("jqx-fill-state-pressed"));b._pressed=null}},_addButtonListeners:function(c){var e=this;var b=e.addHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler,{self:e});b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler,{self:e});b(c,d.call(e,"mousedown"),e._mouseDownHandler,{self:e});b(c,d.call(e,"mouseup"),e._mouseUpHandler,{self:e});b(a(document),d.call(e,"mouseup"),e._documentUpHandler,{self:e})},_removeButtonListeners:function(c){var e=this;var b=e.removeHandler;var d=e._getEvent;b(c,d.call(e,"mouseenter"),e._mouseEnterHandler);b(c,d.call(e,"mouseleave"),e._mouseLeaveHandler);b(c,d.call(e,"mousedown"),e._mouseDownHandler);b(c,d.call(e,"mouseup"),e._mouseUpHandler);b(a(document),d.call(e,"mouseup"),e._documentUpHandler)},_handleSelection:function(b){var c=this;if(c.mode==="radio"){c._handleRadio(b)}else{if(c.mode==="checkbox"){c._handleCheckbox(b)}else{c._handleDefault(b)}}},_handleRadio:function(b){var d=this;var c=d._getSelectedButton();if(c&&c.btn[0].id!==b[0].id){d._unselectButton(c.btn,true)}for(var e in d._buttonId){d._buttonId[e].selected=true;d._unselectButton(d._buttonId[e].btn,false)}d._selectButton(b,true)},_handleCheckbox:function(c){var d=this;var b=d._buttonId[c[0].id];if(b.selected){d._unselectButton(b.btn,true)}else{d._selectButton(c,true)}},_handleDefault:function(b){var c=this;c._selectButton(b,false);for(var d in c._buttonId){c._buttonId[d].selected=true;c._unselectButton(c._buttonId[d].btn,false)}},_getSelectedButton:function(){var b=this;for(var c in b._buttonId){if(b._buttonId[c].selected){return b._buttonId[c]}}return null},_getSelectedButtons:function(){var c=this;var b=[];for(var d in c._buttonId){if(c._buttonId[d].selected){b.push(c._buttonId[d].num)}}return b},_getButtonByIndex:function(b){var c=this;var e;for(var d in c._buttonId){if(c._buttonId[d].num===b){return c._buttonId[d]}}return null},_selectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(b.selected){return}var f=d.toThemeProperty;b.btn.addClass(f.call(this,"jqx-group-button-pressed"));b.btn.addClass(f.call(this,"jqx-fill-state-pressed"));b.selected=true;if(e){d._raiseEvent(0,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",true)},_unselectButton:function(c,e){var d=this;var b=d._buttonId[c[0].id];if(!b.selected){return}var f=d.toThemeProperty;b.btn.removeClass(f.call(this,"jqx-group-button-pressed"));b.btn.removeClass(f.call(this,"jqx-fill-state-pressed"));b.selected=false;if(e){d._raiseEvent(1,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",false)},setSelection:function(b){var d=this;if(b===-1){d.clearSelection();return}if(d.mode==="checkbox"){if(typeof b==="number"){d._setSelection(b)}else{for(var c=0;c<b.length;c+=1){d._setSelection(b[c])}}}else{if(typeof b==="number"&&d.mode==="radio"){d._setSelection(b)}}},_setSelection:function(b){var d=this;var c=d._getButtonByIndex(b);if(c){d._handleSelection(c.btn)}},getSelection:function(){var b=this;if(b.mode==="radio"){if(b._getSelectedButton()){return b._getSelectedButton().num}}else{if(b.mode==="checkbox"){return b._getSelectedButtons()}}return undefined},disable:function(){var c=this;c.disabled=true;var d;for(var b in c._buttonId){d=c._buttonId[b];c.disableAt(d.num)}a.jqx.aria(c,"aria-disabled",true)},enable:function(){var c=this;c.disabled=false;var d;for(var b in c._buttonId){d=c._buttonId[b];c.enableAt(d.num)}a.jqx.aria(c,"aria-disabled",false)},disableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(!c.disabled){c.disabled=true;c.btn.addClass(d.toThemeProperty("jqx-fill-state-disabled"))}},enableAt:function(b){var d=this;var c=d._getButtonByIndex(b);if(c.disabled){c.disabled=false;c.btn.removeClass(d.toThemeProperty("jqx-fill-state-disabled"))}},_handleButtonId:function(b,d){var f=b[0].id,e={btn:b,num:d,selected:false},c;if(!f){f=this._baseId+b.index()}b[0].id=f;this._buttonId[f]=e;return f},_raiseEvent:function(d,c){var b=a.Event(this._events[d]);b.args=c;return this.host.trigger(b)},_unselectAll:function(){for(var b in this._buttonId){this._unselectButton(this._buttonId[b].btn,false)}},clearSelection:function(){this._unselectAll()},propertyChangedHandler:function(b,c,e,d){if(c==="theme"&&d!==null){a.jqx.utilities.setTheme(e,d,b.host)}if(c==="rtl"){b.refresh()}if(c==="template"){b.refresh()}if(c==="mode"){b._unselectAll();b.refresh();return}else{if(c==="disabled"){if(d){b.disable()}else{b.enable()}}else{b.refresh()}}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxbuttons.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxbuttons.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.cssroundedcorners=function(b){var d={all:"jqx-rc-all",top:"jqx-rc-t",bottom:"jqx-rc-b",left:"jqx-rc-l",right:"jqx-rc-r","top-right":"jqx-rc-tr","top-left":"jqx-rc-tl","bottom-right":"jqx-rc-br","bottom-left":"jqx-rc-bl"};for(var c in d){if(!d.hasOwnProperty(c)){continue}if(b==c){return d[c]}}};a.jqx.jqxWidget("jqxButton","",{});a.extend(a.jqx._jqxButton.prototype,{defineInstance:function(){var b={type:"",cursor:"arrow",roundedCorners:"all",disabled:false,height:null,width:null,overrideTheme:false,enableHover:true,enableDefault:true,enablePressed:true,imgPosition:"center",imgSrc:"",imgWidth:16,imgHeight:16,value:null,textPosition:"",textImageRelation:"overlay",rtl:false,_ariaDisabled:false,_scrollAreaButton:false,template:"default",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButton.prototype){return b}a.extend(true,this,b);return b},_addImage:function(c){var g=this;if(g.element.nodeName.toLowerCase()=="input"||g.element.nodeName.toLowerCase()=="button"||g.element.nodeName.toLowerCase()=="div"){if(!g._img){g.field=g.element;if(g.field.className){g._className=g.field.className}var i={title:g.field.title};var j=null;if(g.field.getAttribute("value")){var j=g.field.getAttribute("value")}else{if(g.element.nodeName.toLowerCase()!="input"){var j=g.element.innerHTML}}if(g.value){j=g.value}if(g.field.id.length){i.id=g.field.id.replace(/[^\w]/g,"_")+"_"+c}else{i.id=a.jqx.utilities.createId()+"_"+c}var b=document.createElement("div");b.id=i.id;b.title=i.title;b.style.cssText=g.field.style.cssText;b.style.boxSizing="border-box";var f=document.createElement("img");f.setAttribute("src",g.imgSrc);f.setAttribute("width",g.imgWidth);f.setAttribute("height",g.imgHeight);b.appendChild(f);g._img=f;var l=document.createElement("span");if(j){l.innerHTML=j;g.value=j}b.appendChild(l);g._text=l;g.field.style.display="none";if(g.field.parentNode){g.field.parentNode.insertBefore(b,g.field.nextSibling)}var e=g.host.data();g.host=a(b);g.host.data(e);g.element=b;g.element.id=g.field.id;g.field.id=i.id;var k=new a(g.element);var h=new a(g.field);if(g._className){k.addClass(g._className);h.removeClass(g._className)}if(g.field.tabIndex){var d=g.field.tabIndex;g.field.tabIndex=-1;g.element.tabIndex=d}}else{g._img.setAttribute("src",g.imgSrc);g._img.setAttribute("width",g.imgWidth);g._img.setAttribute("height",g.imgHeight);g._text.innerHTML=g.value}if(!g.imgSrc){g._img.style.display="none"}else{g._img.style.display="inline"}if(!g.value){g._text.style.display="none"}else{g._text.style.display="inline"}g._positionTextAndImage()}},_positionTextAndImage:function(){var k=this;var r=k.element.offsetWidth;var q=k.element.offsetHeight;var m=k.imgWidth;var v=k.imgHeight;if(k.imgSrc==""){m=0;v=0}var f=k._text.offsetWidth;var b=k._text.offsetHeight;var i=4;var c=4;var l=4;var n=0;var u=0;switch(k.textImageRelation){case"imageBeforeText":case"textBeforeImage":n=m+f+2*l+i+2*c;u=Math.max(v,b)+2*l+i+2*c;break;case"imageAboveText":case"textAboveImage":n=Math.max(m,f)+2*l;u=v+b+i+2*l+2*c;break;case"overlay":n=Math.max(m,f)+2*l;u=Math.max(v,b)+2*l;break}if(!k.width){k.element.style.width=n+"px";r=n}if(!k.height){k.element.style.height=u+"px";q=u}k._img.style.position="absolute";k._text.style.position="absolute";k.element.style.position="relative";k.element.style.overflow="hidden";var e={};var z={};var s=function(E,D,G,C,F){if(D.width<C){D.width=C}if(D.height<F){D.height=F}switch(G){case"left":E.style.left=D.left+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topLeft":E.style.left=D.left+"px";E.style.top=D.top+"px";break;case"bottomLeft":E.style.left=D.left+"px";E.style.top=D.top+D.height-F+"px";break;default:case"center":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"top":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+"px";break;case"bottom":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height-F+"px";break;case"right":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+"px";break;case"bottomRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height-F+"px";break}};var g=0;var p=0;var x=r;var j=q;var A=(x-g)/2;var y=(j-p)/2;var B=k._img;var o=k._text;var t=j-p;var d=x-g;g+=c;p+=c;x=x-c-2;d=d-2*c-2;t=t-2*c-2;switch(k.textImageRelation){case"imageBeforeText":switch(k.imgPosition){case"left":case"topLeft":case"bottomLeft":z={left:g,top:p,width:g+m,height:t};e={left:g+m+i,top:p,width:d-m-i,height:t};break;case"center":case"top":case"bottom":z={left:A-f/2-m/2-i/2,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break;case"right":case"topRight":case"bottomRight":z={left:x-f-m-i,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textBeforeImage":switch(k.textPosition){case"left":case"topLeft":case"bottomLeft":e={left:g,top:p,width:g+f,height:t};z={left:g+f+i,top:p,width:d-f-i,height:t};break;case"center":case"top":case"bottom":e={left:A-f/2-m/2-i/2,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break;case"right":case"topRight":case"bottomRight":e={left:x-f-m-i,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"imageAboveText":switch(k.imgPosition){case"topRight":case"top":case"topLeft":z={left:g,top:p,width:d,height:v};e={left:g,top:p+v+i,width:d,height:t-v-i};break;case"left":case"center":case"right":z={left:g,top:y-v/2-b/2-i/2,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:t-z.top-i-v};break;case"bottomLeft":case"bottom":case"bottomRight":z={left:g,top:j-v-b-i,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:b};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textAboveImage":switch(k.textPosition){case"topRight":case"top":case"topLeft":e={left:g,top:p,width:d,height:b};z={left:g,top:p+b+i,width:d,height:t-b-i};break;case"left":case"center":case"right":e={left:g,top:y-v/2-b/2-i/2,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:t-e.top-i-b};break;case"bottomLeft":case"bottom":case"bottomRight":e={left:g,top:j-v-b-i,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:v};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"overlay":default:e={left:g,top:p,width:d,height:t};z={left:g,top:p,width:d,height:t};s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break}},createInstance:function(d){var e=this;e._setSize();var b=e.isMaterialized();e.buttonObj=new a(e.element);if(e.imgSrc!=""||e.textPosition!=""||(e.element.value&&e.element.value.indexOf("<")>=0)||e.value!=null){e.refresh();e._addImage("jqxButton");e.buttonObj=new a(e.element)}if(!e._ariaDisabled){e.element.setAttribute("role","button")}if(e.type!==""){e.element.setAttribute("type",e.type)}if(!e.overrideTheme){e.buttonObj.addClass(e.toThemeProperty(a.jqx.cssroundedcorners(e.roundedCorners)));if(e.enableDefault){e.buttonObj.addClass(e.toThemeProperty("jqx-button"))}e.buttonObj.addClass(e.toThemeProperty("jqx-widget"))}e.isTouchDevice=a.jqx.mobile.isTouchDevice();if(!e._ariaDisabled){a.jqx.aria(this)}if(e.cursor!="arrow"){if(!e.disabled){e.element.style.cursor=e.cursor}else{e.element.style.cursor="arrow"}}var g="mouseenter mouseleave mousedown focus blur";if(e._scrollAreaButton){var g="mousedown"}if(e.isTouchDevice){e.addHandler(e.host,a.jqx.mobile.getTouchEventName("touchstart"),function(h){e.isPressed=true;e.refresh()});e.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+e.element.id,function(h){e.isPressed=false;e.refresh()})}e.addHandler(e.host,g,function(h){switch(h.type){case"mouseenter":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=true;e.refresh()}}break;case"mouseleave":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=false;e.refresh()}}break;case"mousedown":if(!e.disabled){e.isPressed=true;e.refresh()}break;case"focus":if(!e.disabled){e.isFocused=true;e.refresh()}break;case"blur":if(!e.disabled){e.isFocused=false;e.refresh()}break}});e.mouseupfunc=function(h){if(!e.disabled){if(e.isPressed||e.isMouseOver){e.isPressed=false;e.refresh()}}};e.addHandler(document,"mouseup.button"+e.element.id,e.mouseupfunc);try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.that){var f="";if(window.parent&&document.referrer){f=document.referrer}if(f.indexOf(document.location.host)!=-1){if(window.top.document){window.top.document.addEventListener("mouseup",e._topDocumentMouseupHandler)}}}}}catch(c){}e.propertyChangeMap.roundedCorners=function(h,j,i,k){h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(i)));h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(k)))};e.propertyChangeMap.disabled=function(h,j,i,k){if(i!=k){h.refresh();h.element.setAttribute("disabled",k);h.element.disabled=k;if(!k){h.element.style.cursor=h.cursor}else{h.element.style.cursor="default"}a.jqx.aria(h,"aria-disabled",h.disabled)}};e.propertyChangeMap.rtl=function(h,j,i,k){if(i!=k){h.refresh()}};e.propertyChangeMap.template=function(h,j,i,k){if(i!=k){h.buttonObj.removeClass(h.toThemeProperty("jqx-"+i));h.refresh()}};e.propertyChangeMap.theme=function(h,j,i,k){h.buttonObj.removeClass(h.element);if(i){h.buttonObj.removeClass("jqx-button-"+i);h.buttonObj.removeClass("jqx-widget-"+i);h.buttonObj.removeClass("jqx-fill-state-normal-"+i);h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners))+"-"+i)}if(h.enableDefault){h.buttonObj.addClass(h.toThemeProperty("jqx-button"))}h.buttonObj.addClass(h.toThemeProperty("jqx-widget"));if(!h.overrideTheme){h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners)))}h._oldCSSCurrent=null;h.refresh()};if(e.disabled){e.element.disabled=true;e.element.setAttribute("disabled","true")}},resize:function(c,b){this.width=c;this.height=b;this._setSize()},val:function(d){var c=this;var b=c.host.find("input");if(b.length>0){if(arguments.length==0||typeof(d)=="object"){return b.val()}b.val(d);c.refresh();return b.val()}if(arguments.length==0||typeof(d)=="object"){if(c.element.nodeName.toLowerCase()=="button"){return a(c.element).text()}return c.element.value}if(arguments.length>0&&c._text){c._text.innerHTML=arguments[0];c.refresh();return}else{if(arguments.length>0&&c.element.nodeName==="DIV"){c.element.innerHTML=arguments[0];c.refresh()}}c.element.value=arguments[0];if(c.element.nodeName.toLowerCase()=="button"){a(c.element).html(arguments[0])}c.refresh()},_setSize:function(){var d=this;var b=d.height;var c=d.width;if(b){if(!isNaN(b)){b=b+"px"}d.element.style.height=b}if(c){if(!isNaN(c)){c=c+"px"}d.element.style.width=c}},_removeHandlers:function(){var b=this;b.removeHandler(b.host,"selectstart");b.removeHandler(b.host,"click");b.removeHandler(b.host,"focus");b.removeHandler(b.host,"blur");b.removeHandler(b.host,"mouseenter");b.removeHandler(b.host,"mouseleave");b.removeHandler(b.host,"mousedown");b.removeHandler(a(document),"mouseup.button"+b.element.id,b.mouseupfunc);window.top.document.removeEventListener("mouseup",b._topDocumentMouseupHandler);if(b.isTouchDevice){b.removeHandler(b.host,a.jqx.mobile.getTouchEventName("touchstart"));b.removeHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+b.element.id)}b.mouseupfunc=null;delete b.mouseupfunc},focus:function(){this.host.focus()},destroy:function(){var b=this;b._removeHandlers();var c=a.data(b.element,"jqxButton");if(c){delete c.instance}b.host.removeClass();b.host.removeData();b.host.remove();delete b.set;delete b.get;delete b.call;delete b.element;delete b.host},render:function(){this.refresh()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d._setSize();d.refresh()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(d==e){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c==="type"){b.element.setAttribute("type",d)}if(c=="textImageRelation"||c=="textPosition"||c=="imgPosition"){if(b._img){b._positionTextAndImage()}else{b._addImage("jqxButton")}}if(c=="imgSrc"||c=="imgWidth"||c=="imgHeight"){b._addImage("jqxButton")}if(c==="value"){b.val(d)}if(c=="width"||c=="height"){b._setSize();b.refresh()}},refresh:function(){var c=this;if(c.overrideTheme){return}var e=c.toThemeProperty("jqx-fill-state-focus");var i=c.toThemeProperty("jqx-fill-state-disabled");var b=c.toThemeProperty("jqx-fill-state-normal");if(!c.enableDefault){b=""}var h=c.toThemeProperty("jqx-fill-state-hover");var f=c.toThemeProperty("jqx-fill-state-pressed");var g=c.toThemeProperty("jqx-fill-state-pressed");if(!c.enablePressed){f=""}var d="";if(!c.host){return}c.element.disabled=c.disabled;if(c.disabled){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}d=b+" "+i;if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}c.buttonObj.addClass(d);c._oldCSSCurrent=d;return}else{if(c.isMouseOver&&!c.isTouchDevice){if(c.isPressed){d=g}else{d=h}}else{if(c.isPressed){d=f}else{d=b}}}if(c.isFocused){d+=" "+e}if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}if(d!=c._oldCSSCurrent){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}c.buttonObj.addClass(d);c._oldCSSCurrent=d}if(c.rtl){c.buttonObj.addClass(c.toThemeProperty("jqx-rtl"));c.element.style.direction="rtl"}if(c.isMaterialized()){c.host.addClass("buttonRipple")}}});a.jqx.jqxWidget("jqxLinkButton","",{});a.extend(a.jqx._jqxLinkButton.prototype,{defineInstance:function(){this.disabled=false;this.height=null;this.width=null;this.rtl=false;this.href=null},createInstance:function(c){var f=this;this.host.onselectstart=function(){return false};this.host.attr("role","button");var b=this.height||this.element.offsetHeight;var d=this.width||this.element.offsetWidth;this.href=this.element.getAttribute("href");this.target=this.element.getAttribute("target");this.content=this.host.text();this.element.innerHTML="";var g=document.createElement("input");g.type="button";g.className="jqx-wrapper "+this.toThemeProperty("jqx-reset");this._setSize(g,d,b);g.value=this.content;var e=new a(this.element);e.addClass(this.toThemeProperty("jqx-link"));this.element.style.color="inherit";this.element.appendChild(g);this._setSize(g,d,b);var h=c==undefined?{}:c[0]||{};a(g).jqxButton(h);this.wrapElement=g;if(this.disabled){this.element.disabled=true}this.propertyChangeMap.disabled=function(i,k,j,l){i.element.disabled=l;i.wrapElement.jqxButton({disabled:l})};this.addHandler(a(g),"click",function(i){if(!this.disabled){f.onclick(i)}return false})},_setSize:function(c,d,b){var e=this;if(b){if(!isNaN(b)){b=b+"px"}c.style.height=b}if(d){if(!isNaN(d)){d=d+"px"}c.style.width=d}},onclick:function(b){if(this.target!=null){window.open(this.href,this.target)}else{window.location=this.href}}});a.jqx.jqxWidget("jqxRepeatButton","jqxButton",{});a.extend(a.jqx._jqxRepeatButton.prototype,{defineInstance:function(){this.delay=50},createInstance:function(d){var e=this;var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var f=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.addHandler(a(document),b,function(g){if(e.timeout!=null){clearTimeout(e.timeout);e.timeout=null;e.refresh()}if(e.timer!=undefined){clearInterval(e.timer);e.timer=null;e.refresh()}});this.addHandler(this.base.host,f,function(g){if(e.timer!=null){clearInterval(e.timer)}e.timeout=setTimeout(function(){clearInterval(e.timer);e.timer=setInterval(function(h){e.ontimer(h)},e.delay)},150)});this.mousemovefunc=function(g){if(!c){if(g.which==0){if(e.timer!=null){clearInterval(e.timer);e.timer=null}}}};this.addHandler(this.base.host,"mousemove",this.mousemovefunc)},destroy:function(){var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var e=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.removeHandler(this.base.host,"mousemove",this.mousemovefunc);this.removeHandler(this.base.host,e);this.removeHandler(a(document),b);this.timer=null;delete this.mousemovefunc;delete this.timer;var d=a.data(this.base.element,"jqxRepeatButton");if(d){delete d.instance}a(this.base.element).removeData();this.base.destroy();delete this.base},stop:function(){clearInterval(this.timer);this.timer=null},ontimer:function(b){var b=new a.Event("click");if(this.base!=null&&this.base.host!=null){this.base.host.trigger(b)}}});a.jqx.jqxWidget("jqxToggleButton","jqxButton",{});a.extend(a.jqx._jqxToggleButton.prototype,{defineInstance:function(){this.toggled=false;this.uiToggle=true;this.aria={"aria-checked":{name:"toggled",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}}},createInstance:function(b){var c=this;c.base.overrideTheme=true;c.isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(this);c.propertyChangeMap.roundedCorners=function(d,f,e,g){d.base.buttonObj.removeClass(d.toThemeProperty(a.jqx.cssroundedcorners(e)));d.base.buttonObj.addClass(d.toThemeProperty(a.jqx.cssroundedcorners(g)))};c.propertyChangeMap.toggled=function(d,f,e,g){d.refresh()};c.propertyChangeMap.disabled=function(d,f,e,g){d.base.disabled=g;d.refresh()};c.addHandler(c.base.host,"click",function(d){if(!c.base.disabled&&c.uiToggle){c.toggle()}});if(!c.isTouchDevice){c.addHandler(c.base.host,"mouseenter",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(c.base.host,"mouseleave",function(d){if(!c.base.disabled){c.refresh()}})}c.addHandler(c.base.host,"mousedown",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(a(document),"mouseup.togglebutton"+c.base.element.id,function(d){if(!c.base.disabled){c.refresh()}})},destroy:function(){this._removeHandlers();this.base.destroy()},_removeHandlers:function(){this.removeHandler(this.base.host,"click");this.removeHandler(this.base.host,"mouseenter");this.removeHandler(this.base.host,"mouseleave");this.removeHandler(this.base.host,"mousedown");this.removeHandler(a(document),"mouseup.togglebutton"+this.base.element.id)},toggle:function(){this.toggled=!this.toggled;this.refresh();a.jqx.aria(this,"aria-checked",this.toggled)},unCheck:function(){this.toggled=false;this.refresh()},check:function(){this.toggled=true;this.refresh()},refresh:function(){var c=this;var h=c.base.toThemeProperty("jqx-fill-state-disabled");var b=c.base.toThemeProperty("jqx-fill-state-normal");if(!c.base.enableDefault){b=""}var g=c.base.toThemeProperty("jqx-fill-state-hover");var e=c.base.toThemeProperty("jqx-fill-state-pressed");var f=c.base.toThemeProperty("jqx-fill-state-pressed");var d="";c.base.element.disabled=c.base.disabled;if(c.base.disabled){d=b+" "+h;c.base.buttonObj.addClass(d);return}else{if(c.base.isMouseOver&&!c.isTouchDevice){if(c.base.isPressed||c.toggled){d=f}else{d=g}}else{if(c.base.isPressed||c.toggled){d=e}else{d=b}}}if(c.base.template!=="default"&&c.base.template!==""){d+=" jqx-"+c.base.template;if(c.base.theme!=""){d+=" jqx-"+c.template+"-"+c.base.theme}}if(c.base.buttonObj.hasClass(h)&&h!=d){c.base.buttonObj.removeClass(h)}if(c.base.buttonObj.hasClass(b)&&b!=d){c.base.buttonObj.removeClass(b)}if(c.base.buttonObj.hasClass(g)&&g!=d){c.base.buttonObj.removeClass(g)}if(c.base.buttonObj.hasClass(e)&&e!=d){c.base.buttonObj.removeClass(e)}if(c.base.buttonObj.hasClass(f)&&f!=d){c.base.buttonObj.removeClass(f)}if(!c.base.buttonObj.hasClass(d)){c.base.buttonObj.addClass(d)}},_topDocumentMouseupHandler:function(c){var b=this;b.isPressed=false;b.refresh()}})})(jqxBaseFramework);
+(function(a){a.jqx.cssroundedcorners=function(b){var d={all:"jqx-rc-all",top:"jqx-rc-t",bottom:"jqx-rc-b",left:"jqx-rc-l",right:"jqx-rc-r","top-right":"jqx-rc-tr","top-left":"jqx-rc-tl","bottom-right":"jqx-rc-br","bottom-left":"jqx-rc-bl"};for(var c in d){if(!d.hasOwnProperty(c)){continue}if(b==c){return d[c]}}};a.jqx.jqxWidget("jqxButton","",{});a.extend(a.jqx._jqxButton.prototype,{defineInstance:function(){var b={type:"",cursor:"arrow",roundedCorners:"all",disabled:false,height:null,width:null,overrideTheme:false,enableHover:true,enableDefault:true,enablePressed:true,imgPosition:"center",imgSrc:"",imgWidth:16,imgHeight:16,value:null,textPosition:"",textImageRelation:"overlay",rtl:false,_ariaDisabled:false,_scrollAreaButton:false,template:"default",aria:{"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxButton.prototype){return b}a.extend(true,this,b);return b},_addImage:function(c){var g=this;if(g.element.nodeName.toLowerCase()=="input"||g.element.nodeName.toLowerCase()=="button"||g.element.nodeName.toLowerCase()=="div"){if(!g._img){g.field=g.element;if(g.field.className){g._className=g.field.className}var i={title:g.field.title};var j=null;if(g.field.getAttribute("value")){var j=g.field.getAttribute("value")}else{if(g.element.nodeName.toLowerCase()!="input"){var j=g.element.innerHTML}}if(g.value){j=g.value}if(g.field.id.length){i.id=g.field.id.replace(/[^\w]/g,"_")+"_"+c}else{i.id=a.jqx.utilities.createId()+"_"+c}var b=document.createElement("div");b.id=i.id;b.title=i.title;b.style.cssText=g.field.style.cssText;b.style.boxSizing="border-box";var f=document.createElement("img");f.setAttribute("src",g.imgSrc);f.setAttribute("width",g.imgWidth);f.setAttribute("height",g.imgHeight);b.appendChild(f);g._img=f;var l=document.createElement("span");if(j){l.innerHTML=j;g.value=j}b.appendChild(l);g._text=l;g.field.style.display="none";if(g.field.parentNode){g.field.parentNode.insertBefore(b,g.field.nextSibling)}var e=g.host.data();g.host=a(b);g.host.data(e);g.element=b;g.element.id=g.field.id;g.field.id=i.id;var k=new a(g.element);var h=new a(g.field);if(g._className){k.addClass(g._className);h.removeClass(g._className)}if(g.field.tabIndex){var d=g.field.tabIndex;g.field.tabIndex=-1;g.element.tabIndex=d}}else{g._img.setAttribute("src",g.imgSrc);g._img.setAttribute("width",g.imgWidth);g._img.setAttribute("height",g.imgHeight);g._text.innerHTML=g.value}if(!g.imgSrc){g._img.style.display="none"}else{g._img.style.display="inline"}if(!g.value){g._text.style.display="none"}else{g._text.style.display="inline"}g._positionTextAndImage()}},_positionTextAndImage:function(){var k=this;var r=k.element.offsetWidth;var q=k.element.offsetHeight;var m=k.imgWidth;var v=k.imgHeight;if(k.imgSrc==""){m=0;v=0}var f=k._text.offsetWidth;var b=k._text.offsetHeight;var i=4;var c=4;var l=4;var n=0;var u=0;switch(k.textImageRelation){case"imageBeforeText":case"textBeforeImage":n=m+f+2*l+i+2*c;u=Math.max(v,b)+2*l+i+2*c;break;case"imageAboveText":case"textAboveImage":n=Math.max(m,f)+2*l;u=v+b+i+2*l+2*c;break;case"overlay":n=Math.max(m,f)+2*l;u=Math.max(v,b)+2*l;break}if(!k.width){k.element.style.width=n+"px";r=n}if(!k.height){k.element.style.height=u+"px";q=u}k._img.style.position="absolute";k._text.style.position="absolute";k.element.style.position="relative";k.element.style.overflow="hidden";var e={};var z={};var s=function(E,D,G,C,F){if(D.width<C){D.width=C}if(D.height<F){D.height=F}switch(G){case"left":E.style.left=D.left+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topLeft":E.style.left=D.left+"px";E.style.top=D.top+"px";break;case"bottomLeft":E.style.left=D.left+"px";E.style.top=D.top+D.height-F+"px";break;default:case"center":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"top":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+"px";break;case"bottom":E.style.left=D.left+D.width/2-C/2+"px";E.style.top=D.top+D.height-F+"px";break;case"right":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height/2-F/2+"px";break;case"topRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+"px";break;case"bottomRight":E.style.left=D.left+D.width-C+"px";E.style.top=D.top+D.height-F+"px";break}};var g=0;var p=0;var x=r;var j=q;var A=(x-g)/2;var y=(j-p)/2;var B=k._img;var o=k._text;var t=j-p;var d=x-g;g+=c;p+=c;x=x-c-2;d=d-2*c-2;t=t-2*c-2;switch(k.textImageRelation){case"imageBeforeText":switch(k.imgPosition){case"left":case"topLeft":case"bottomLeft":z={left:g,top:p,width:g+m,height:t};e={left:g+m+i,top:p,width:d-m-i,height:t};break;case"center":case"top":case"bottom":z={left:A-f/2-m/2-i/2,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break;case"right":case"topRight":case"bottomRight":z={left:x-f-m-i,top:p,width:m,height:t};e={left:z.left+m+i,top:p,width:x-z.left-m-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textBeforeImage":switch(k.textPosition){case"left":case"topLeft":case"bottomLeft":e={left:g,top:p,width:g+f,height:t};z={left:g+f+i,top:p,width:d-f-i,height:t};break;case"center":case"top":case"bottom":e={left:A-f/2-m/2-i/2,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break;case"right":case"topRight":case"bottomRight":e={left:x-f-m-i,top:p,width:f,height:t};z={left:e.left+f+i,top:p,width:x-e.left-f-i,height:t};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"imageAboveText":switch(k.imgPosition){case"topRight":case"top":case"topLeft":z={left:g,top:p,width:d,height:v};e={left:g,top:p+v+i,width:d,height:t-v-i};break;case"left":case"center":case"right":z={left:g,top:y-v/2-b/2-i/2,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:t-z.top-i-v};break;case"bottomLeft":case"bottom":case"bottomRight":z={left:g,top:j-v-b-i,width:d,height:v};e={left:g,top:z.top+i+v,width:d,height:b};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"textAboveImage":switch(k.textPosition){case"topRight":case"top":case"topLeft":e={left:g,top:p,width:d,height:b};z={left:g,top:p+b+i,width:d,height:t-b-i};break;case"left":case"center":case"right":e={left:g,top:y-v/2-b/2-i/2,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:t-e.top-i-b};break;case"bottomLeft":case"bottom":case"bottomRight":e={left:g,top:j-v-b-i,width:d,height:b};z={left:g,top:e.top+i+b,width:d,height:v};break}s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break;case"overlay":default:e={left:g,top:p,width:d,height:t};z={left:g,top:p,width:d,height:t};s(B,z,k.imgPosition,m,v);s(o,e,k.textPosition,f,b);break}},createInstance:function(d){var e=this;e._setSize();var b=e.isMaterialized();e.buttonObj=new a(e.element);if(e.imgSrc!=""||e.textPosition!=""||(e.element.value&&e.element.value.indexOf("<")>=0)||e.value!=null){e.refresh();e._addImage("jqxButton");e.buttonObj=new a(e.element)}if(!e._ariaDisabled){e.element.setAttribute("role","button")}if(e.type!==""){e.element.setAttribute("type",e.type)}if(!e.overrideTheme){e.buttonObj.addClass(e.toThemeProperty(a.jqx.cssroundedcorners(e.roundedCorners)));if(e.enableDefault){e.buttonObj.addClass(e.toThemeProperty("jqx-button"))}e.buttonObj.addClass(e.toThemeProperty("jqx-widget"))}e.isTouchDevice=a.jqx.mobile.isTouchDevice();if(!e._ariaDisabled){a.jqx.aria(this)}if(e.cursor!="arrow"){if(!e.disabled){e.element.style.cursor=e.cursor}else{e.element.style.cursor="arrow"}}var g="mouseenter mouseleave mousedown focus blur";if(e._scrollAreaButton){var g="mousedown"}if(e.isTouchDevice){e.addHandler(e.host,a.jqx.mobile.getTouchEventName("touchstart"),function(h){e.isPressed=true;e.refresh()});e.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+e.element.id,function(h){e.isPressed=false;e.refresh()})}e.addHandler(e.host,g,function(h){switch(h.type){case"mouseenter":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=true;e.refresh()}}break;case"mouseleave":if(!e.isTouchDevice){if(!e.disabled&&e.enableHover){e.isMouseOver=false;e.refresh()}}break;case"mousedown":if(!e.disabled){e.isPressed=true;e.refresh()}break;case"focus":if(!e.disabled){e.isFocused=true;e.refresh()}break;case"blur":if(!e.disabled){e.isFocused=false;e.refresh()}break}});e.mouseupfunc=function(h){if(!e.disabled){if(e.isPressed||e.isMouseOver){e.isPressed=false;e.refresh()}}};e.addHandler(document,"mouseup.button"+e.element.id,e.mouseupfunc);try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.that){var f="";if(window.parent&&document.referrer){f=document.referrer}if(f.indexOf(document.location.host)!=-1){if(window.top.document){window.top.document.addEventListener("mouseup",e._topDocumentMouseupHandler)}}}}}catch(c){}e.propertyChangeMap.roundedCorners=function(h,j,i,k){h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(i)));h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(k)))};e.propertyChangeMap.disabled=function(h,j,i,k){if(i!=k){h.refresh();h.element.setAttribute("disabled",k);h.element.disabled=k;if(!k){h.element.style.cursor=h.cursor}else{h.element.style.cursor="default"}a.jqx.aria(h,"aria-disabled",h.disabled)}};e.propertyChangeMap.rtl=function(h,j,i,k){if(i!=k){h.refresh()}};e.propertyChangeMap.template=function(h,j,i,k){if(i!=k){h.buttonObj.removeClass(h.toThemeProperty("jqx-"+i));h.refresh()}};e.propertyChangeMap.theme=function(h,j,i,k){h.buttonObj.removeClass(h.element);if(i){h.buttonObj.removeClass("jqx-button-"+i);h.buttonObj.removeClass("jqx-widget-"+i);h.buttonObj.removeClass("jqx-fill-state-normal-"+i);h.buttonObj.removeClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners))+"-"+i)}if(h.enableDefault){h.buttonObj.addClass(h.toThemeProperty("jqx-button"))}h.buttonObj.addClass(h.toThemeProperty("jqx-widget"));if(!h.overrideTheme){h.buttonObj.addClass(h.toThemeProperty(a.jqx.cssroundedcorners(h.roundedCorners)))}h._oldCSSCurrent=null;h.refresh()};if(e.disabled){e.element.disabled=true;e.element.setAttribute("disabled","true")}},resize:function(c,b){this.width=c;this.height=b;this._setSize()},val:function(d){var c=this;var b=c.host.find("input");if(b.length>0){if(arguments.length==0||typeof(d)=="object"){return b.val()}b.val(d);c.refresh();return b.val()}if(arguments.length==0||typeof(d)=="object"){if(c.element.nodeName.toLowerCase()=="button"){return a(c.element).text()}return c.element.value}if(arguments.length>0&&c._text){c._text.innerHTML=arguments[0];c.refresh();return}else{if(arguments.length>0&&c.element.nodeName==="DIV"){c.element.innerHTML=arguments[0];c.refresh()}}c.element.value=arguments[0];if(c.element.nodeName.toLowerCase()=="button"){a(c.element).html(arguments[0])}c.refresh()},_setSize:function(){var d=this;var b=d.height;var c=d.width;if(b){if(!isNaN(b)){b=b+"px"}d.element.style.height=b}if(c){if(!isNaN(c)){c=c+"px"}d.element.style.width=c}},_removeHandlers:function(){var b=this;b.removeHandler(b.host,"selectstart");b.removeHandler(b.host,"click");b.removeHandler(b.host,"focus");b.removeHandler(b.host,"blur");b.removeHandler(b.host,"mouseenter");b.removeHandler(b.host,"mouseleave");b.removeHandler(b.host,"mousedown");b.removeHandler(a(document),"mouseup.button"+b.element.id,b.mouseupfunc);if(b.isTouchDevice){b.removeHandler(b.host,a.jqx.mobile.getTouchEventName("touchstart"));b.removeHandler(a(document),a.jqx.mobile.getTouchEventName("touchend")+"."+b.element.id)}b.mouseupfunc=null;delete b.mouseupfunc},focus:function(){this.host.focus()},destroy:function(){var b=this;b._removeHandlers();var c=a.data(b.element,"jqxButton");if(c){delete c.instance}b.host.removeClass();b.host.removeData();b.host.remove();delete b.set;delete b.get;delete b.call;delete b.element;delete b.host},render:function(){this.refresh()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d._setSize();d.refresh()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(d==e){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c==="type"){b.element.setAttribute("type",d)}if(c=="textImageRelation"||c=="textPosition"||c=="imgPosition"){if(b._img){b._positionTextAndImage()}else{b._addImage("jqxButton")}}if(c=="imgSrc"||c=="imgWidth"||c=="imgHeight"){b._addImage("jqxButton")}if(c==="value"){b.val(d)}if(c=="width"||c=="height"){b._setSize();b.refresh()}},refresh:function(){var c=this;if(c.overrideTheme){return}var e=c.toThemeProperty("jqx-fill-state-focus");var i=c.toThemeProperty("jqx-fill-state-disabled");var b=c.toThemeProperty("jqx-fill-state-normal");if(!c.enableDefault){b=""}var h=c.toThemeProperty("jqx-fill-state-hover");var f=c.toThemeProperty("jqx-fill-state-pressed");var g=c.toThemeProperty("jqx-fill-state-pressed");if(!c.enablePressed){f=""}var d="";if(!c.host){return}c.element.disabled=c.disabled;if(c.disabled){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}d=b+" "+i;if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}c.buttonObj.addClass(d);c._oldCSSCurrent=d;return}else{if(c.isMouseOver&&!c.isTouchDevice){if(c.isPressed){d=g}else{d=h}}else{if(c.isPressed){d=f}else{d=b}}}if(c.isFocused){d+=" "+e}if(c.template!=="default"&&c.template!==""){d+=" jqx-"+c.template;if(c.theme!=""){d+=" jqx-"+c.template+"-"+c.theme}}if(d!=c._oldCSSCurrent){if(c._oldCSSCurrent){c.buttonObj.removeClass(c._oldCSSCurrent)}c.buttonObj.addClass(d);c._oldCSSCurrent=d}if(c.rtl){c.buttonObj.addClass(c.toThemeProperty("jqx-rtl"));c.element.style.direction="rtl"}if(c.isMaterialized()){c.host.addClass("buttonRipple")}}});a.jqx.jqxWidget("jqxLinkButton","",{});a.extend(a.jqx._jqxLinkButton.prototype,{defineInstance:function(){this.disabled=false;this.height=null;this.width=null;this.rtl=false;this.href=null},createInstance:function(c){var f=this;this.host.onselectstart=function(){return false};this.host.attr("role","button");var b=this.height||this.element.offsetHeight;var d=this.width||this.element.offsetWidth;this.href=this.element.getAttribute("href");this.target=this.element.getAttribute("target");this.content=this.host.text();this.element.innerHTML="";var g=document.createElement("input");g.type="button";g.className="jqx-wrapper "+this.toThemeProperty("jqx-reset");this._setSize(g,d,b);g.value=this.content;var e=new a(this.element);e.addClass(this.toThemeProperty("jqx-link"));this.element.style.color="inherit";this.element.appendChild(g);this._setSize(g,d,b);var h=c==undefined?{}:c[0]||{};a(g).jqxButton(h);this.wrapElement=g;if(this.disabled){this.element.disabled=true}this.propertyChangeMap.disabled=function(i,k,j,l){i.element.disabled=l;i.wrapElement.jqxButton({disabled:l})};this.addHandler(a(g),"click",function(i){if(!this.disabled){f.onclick(i)}return false})},_setSize:function(c,d,b){var e=this;if(b){if(!isNaN(b)){b=b+"px"}c.style.height=b}if(d){if(!isNaN(d)){d=d+"px"}c.style.width=d}},onclick:function(b){if(this.target!=null){window.open(this.href,this.target)}else{window.location=this.href}}});a.jqx.jqxWidget("jqxRepeatButton","jqxButton",{});a.extend(a.jqx._jqxRepeatButton.prototype,{defineInstance:function(){this.delay=50},createInstance:function(d){var e=this;var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var f=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.addHandler(a(document),b,function(g){if(e.timeout!=null){clearTimeout(e.timeout);e.timeout=null;e.refresh()}if(e.timer!=undefined){clearInterval(e.timer);e.timer=null;e.refresh()}});this.addHandler(this.base.host,f,function(g){if(e.timer!=null){clearInterval(e.timer)}e.timeout=setTimeout(function(){clearInterval(e.timer);e.timer=setInterval(function(h){e.ontimer(h)},e.delay)},150)});this.mousemovefunc=function(g){if(!c){if(g.which==0){if(e.timer!=null){clearInterval(e.timer);e.timer=null}}}};this.addHandler(this.base.host,"mousemove",this.mousemovefunc)},destroy:function(){var c=a.jqx.mobile.isTouchDevice();var b=!c?"mouseup."+this.base.element.id:"touchend."+this.base.element.id;var e=!c?"mousedown."+this.base.element.id:"touchstart."+this.base.element.id;this.removeHandler(this.base.host,"mousemove",this.mousemovefunc);this.removeHandler(this.base.host,e);this.removeHandler(a(document),b);this.timer=null;delete this.mousemovefunc;delete this.timer;var d=a.data(this.base.element,"jqxRepeatButton");if(d){delete d.instance}a(this.base.element).removeData();this.base.destroy();delete this.base},stop:function(){clearInterval(this.timer);this.timer=null},ontimer:function(b){var b=new a.Event("click");if(this.base!=null&&this.base.host!=null){this.base.host.trigger(b)}}});a.jqx.jqxWidget("jqxToggleButton","jqxButton",{});a.extend(a.jqx._jqxToggleButton.prototype,{defineInstance:function(){this.toggled=false;this.uiToggle=true;this.aria={"aria-checked":{name:"toggled",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}}},createInstance:function(b){var c=this;c.base.overrideTheme=true;c.isTouchDevice=a.jqx.mobile.isTouchDevice();a.jqx.aria(this);c.propertyChangeMap.roundedCorners=function(d,f,e,g){d.base.buttonObj.removeClass(d.toThemeProperty(a.jqx.cssroundedcorners(e)));d.base.buttonObj.addClass(d.toThemeProperty(a.jqx.cssroundedcorners(g)))};c.propertyChangeMap.toggled=function(d,f,e,g){d.refresh()};c.propertyChangeMap.disabled=function(d,f,e,g){d.base.disabled=g;d.refresh()};c.addHandler(c.base.host,"click",function(d){if(!c.base.disabled&&c.uiToggle){c.toggle()}});if(!c.isTouchDevice){c.addHandler(c.base.host,"mouseenter",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(c.base.host,"mouseleave",function(d){if(!c.base.disabled){c.refresh()}})}c.addHandler(c.base.host,"mousedown",function(d){if(!c.base.disabled){c.refresh()}});c.addHandler(a(document),"mouseup.togglebutton"+c.base.element.id,function(d){if(!c.base.disabled){c.refresh()}})},destroy:function(){this._removeHandlers();this.base.destroy()},_removeHandlers:function(){this.removeHandler(this.base.host,"click");this.removeHandler(this.base.host,"mouseenter");this.removeHandler(this.base.host,"mouseleave");this.removeHandler(this.base.host,"mousedown");this.removeHandler(a(document),"mouseup.togglebutton"+this.base.element.id)},toggle:function(){this.toggled=!this.toggled;this.refresh();a.jqx.aria(this,"aria-checked",this.toggled)},unCheck:function(){this.toggled=false;this.refresh()},check:function(){this.toggled=true;this.refresh()},refresh:function(){var c=this;var h=c.base.toThemeProperty("jqx-fill-state-disabled");var b=c.base.toThemeProperty("jqx-fill-state-normal");if(!c.base.enableDefault){b=""}var g=c.base.toThemeProperty("jqx-fill-state-hover");var e=c.base.toThemeProperty("jqx-fill-state-pressed");var f=c.base.toThemeProperty("jqx-fill-state-pressed");var d="";c.base.element.disabled=c.base.disabled;if(c.base.disabled){d=b+" "+h;c.base.buttonObj.addClass(d);return}else{if(c.base.isMouseOver&&!c.isTouchDevice){if(c.base.isPressed||c.toggled){d=f}else{d=g}}else{if(c.base.isPressed||c.toggled){d=e}else{d=b}}}if(c.base.template!=="default"&&c.base.template!==""){d+=" jqx-"+c.base.template;if(c.base.theme!=""){d+=" jqx-"+c.template+"-"+c.base.theme}}if(c.base.buttonObj.hasClass(h)&&h!=d){c.base.buttonObj.removeClass(h)}if(c.base.buttonObj.hasClass(b)&&b!=d){c.base.buttonObj.removeClass(b)}if(c.base.buttonObj.hasClass(g)&&g!=d){c.base.buttonObj.removeClass(g)}if(c.base.buttonObj.hasClass(e)&&e!=d){c.base.buttonObj.removeClass(e)}if(c.base.buttonObj.hasClass(f)&&f!=d){c.base.buttonObj.removeClass(f)}if(!c.base.buttonObj.hasClass(d)){c.base.buttonObj.addClass(d)}},_topDocumentMouseupHandler:function(c){var b=this;b.isPressed=false;b.refresh()}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxcalendar.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxcalendar.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxchart.annotations.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxchart.annotations.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxchart.api.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxchart.api.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxchart.core.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxchart.core.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxchart.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxchart.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxchart.rangeselector.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxchart.rangeselector.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxchart.waterfall.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxchart.waterfall.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxcheckbox.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxcheckbox.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxCheckBox","",{});a.extend(a.jqx._jqxCheckBox.prototype,{defineInstance:function(){var b={animationShowDelay:300,animationHideDelay:300,width:null,height:null,boxSize:"16px",checked:false,hasThreeStates:false,disabled:false,enableContainerClick:true,locked:false,groupName:"",keyboardCheck:true,enableHover:true,hasInput:true,rtl:false,updated:null,disabledContainer:false,changeType:null,_canFocus:true,aria:{"aria-checked":{name:"checked",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}},events:["checked","unchecked","indeterminate","change"]};if(this===a.jqx._jqxCheckBox.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._createFromInput("CheckBox");c.render()},_createFromInput:function(c){var j=this;if(j.element.nodeName.toLowerCase()=="input"){j.field=j.element;if(j.field.className){j._className=j.field.className}var l={title:j.field.title};if(j.field.value){l.value=j.field.value}if(j.field.checked){l.checked=true}if(j.field.id.length){l.id=j.field.id.replace(/[^\w]/g,"_")+"_"+c}else{l.id=a.jqx.utilities.createId()+"_"+c}var e=j.element.nextSibling;var h=false;if(e&&(e.nodeName=="#text"||e.nodeName=="span")){h=true}var k=0;var b=a("<div></div>",l);if(h){b.append(e);var i=a("<span>"+a(e).text()+"</span>");i.appendTo(a(document.body));k+=i.width();i.remove()}b[0].style.cssText=j.field.style.cssText;if(!j.width){j.width=a(j.field).width()+k+10}if(!j.height){j.height=a(j.field).outerHeight()+10}a(j.field).hide().after(b);var g=j.host.data();j.host=b;j.host.data(g);j.element=b[0];j.element.id=j.field.id;j.field.id=l.id;if(j._className){j.host.addClass(j._className);a(j.field).removeClass(j._className)}if(j.field.tabIndex){var d=j.field.tabIndex;j.field.tabIndex=-1;j.element.tabIndex=d}}},_addInput:function(){if(this.hasInput){if(this.input){this.input.remove()}var b=this.host.attr("name");this.input=a("<input type='hidden'/>");this.host.append(this.input);if(b){this.input.attr("name",b)}this.input.val(this.checked);this.host.attr("role","checkbox");a.jqx.aria(this)}},render:function(){this.init=true;var d=this;this.setSize();this.propertyChangeMap.width=function(h,j,i,k){d.setSize()};this.propertyChangeMap.height=function(h,j,i,k){d.setSize()};this._removeHandlers();if(!this.width){this.host.css("overflow-x","visible")}if(!this.height){this.host.css("overflow-y","visible")}if(this.checkbox){this.checkbox.remove();this.checkbox=null}if(this.checkMark){this.checkMark.remove();this.checkMark=null}if(this.box){this.box.remove();this.box=null}if(this.clear){this.clear.remove();this.clear=null}if(this.boxSize==null){this.boxSize=16}var g=parseInt(this.boxSize)+"px";var f="16px";var e=Math.floor((parseInt(this.boxSize)-16)/2);var b=e;e+="px";b+="px";if(parseInt(this.boxSize)!=16){this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="position: relative; left: '+e+"; top: "+b+"; width: "+f+"; height: "+f+';"></span></div></div>')}else{this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="width: '+g+"; height: "+g+';"></span></div></div>')}this.host.prepend(this.checkbox);if(!this.disabledContainer){if(!this.host.attr("tabIndex")){this.host.attr("tabIndex",0)}this.clear=a('<div style="clear: both;"></div>');this.host.append(this.clear)}this.checkMark=a(this.checkbox[0].firstChild.firstChild);this.box=this.checkbox;this.box.addClass(this.toThemeProperty("jqx-checkbox-default")+" "+this.toThemeProperty("jqx-fill-state-normal")+" "+this.toThemeProperty("jqx-rc-all"));if(this.disabled){this.disable()}if(!this.disabledContainer){this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-checkbox"))}if(this.locked&&!this.disabledContainer){this.host.css("cursor","auto")}var c=this.element.getAttribute("checked");if(c=="checked"||c=="true"||c==true){this.checked=true}this._addInput();this._render();this._addHandlers();this.init=false;this._centerBox();if(this.isMaterialized()){a(this.checkbox).addClass("ripple");a.jqx.ripple(a(this.checkbox),this.host,"checkbox")}},_centerBox:function(){if(this.height&&this.height.toString().indexOf("%")==-1&&this.box){var b=parseInt(this.height);this.host.css("line-height",b+"px");var c=b-parseInt(this.boxSize)-1;c/=2;this.box.css("margin-top",parseInt(c))}},refresh:function(b){if(!b){this.setSize();this._render()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},setSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}else{if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.element.style.width=this.width}}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}else{if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.element.style.height=this.height}}}this._centerBox()},_addHandlers:function(){var d=this;var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b=a.jqx.mobile.getTouchEventName("touchend")}this.addHandler(this.box,b,function(e){if(!d.disabled&&!d.enableContainerClick&&!d.locked){d.changeType="mouse";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}});if(!this.disabledContainer){this.addHandler(this.host,"keydown",function(e){if(!d.disabled&&!d.locked&&d.keyboardCheck){if(e.keyCode==32){if(!d._canFocus){return true}d.changeType="keyboard";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}}});this.addHandler(this.host,b,function(e){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.clickTime=new Date();d.changeType="mouse";d.toggle();if(e.preventDefault){e.preventDefault()}if(d._canFocus){d.focus()}return false}});this.addHandler(this.host,"selectstart",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}return false}});this.addHandler(this.host,"mouseup",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}}});this.addHandler(this.host,"focus",function(e){if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.addClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}a(d.checkbox).removeClass("active");if(!d.clickTime||(d.clickTime&&(new Date()-d.clickTime>300))){a(d.checkbox).addClass("active")}d.hovered=true;return false}});this.addHandler(this.host,"blur",function(e){a(d.checkbox).removeClass("active");if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.removeClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}});this.addHandler(this.host,"mouseenter",function(e){if(d.locked){d.host.css("cursor","arrow")}if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=true;return false}}});this.addHandler(this.host,"mouseleave",function(e){if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}}});this.addHandler(this.box,"mouseenter",function(){if(d.locked){return}if(!d.disabled&&!d.enableContainerClick){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"))}});this.addHandler(this.box,"mouseleave",function(){if(!d.disabled&&!d.enableContainerClick){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}})}},focus:function(){try{this.host.focus()}catch(b){}},_removeHandlers:function(){var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b="touchend"}if(this.box){this.removeHandler(this.box,b);this.removeHandler(this.box,"mouseenter");this.removeHandler(this.box,"mouseleave")}this.removeHandler(this.host,b);this.removeHandler(this.host,"mouseup");this.removeHandler(this.host,"selectstart");this.removeHandler(this.host,"mouseenter");this.removeHandler(this.host,"mouseleave");this.removeHandler(this.host,"keydown");this.removeHandler(this.host,"blur");this.removeHandler(this.host,"focus")},_render:function(){if(!this.disabled){if(this.enableContainerClick){this.host.css("cursor","pointer")}else{if(!this.init){this.host.css("cursor","auto")}}}else{this.disable()}if(this.rtl){this.box.addClass(this.toThemeProperty("jqx-checkbox-rtl"));this.host.addClass(this.toThemeProperty("jqx-rtl"))}this.updateStates();this.host.attr("checked",this.checked)},_setState:function(c,b){if(this.checked!=c){this.checked=c;if(this.checked){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-checked")}else{if(this.checked==null){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-indeterminate")}else{this.checkMark[0].className=""}}}if(b===false||b===true){this.locked=b}if(c){this.element.setAttribute("checked",true)}else{this.element.removeAttribute("checked")}},val:function(b){if(arguments.length==0||(b!=null&&typeof(b)=="object")){return this.checked}if(typeof b=="string"){if(b=="true"){this.check()}if(b=="false"){this.uncheck()}if(b==""){this.indeterminate()}}else{if(b==true){this.check()}if(b==false){this.uncheck()}if(b==null){this.indeterminate()}}return this.checked},check:function(){this.checked=true;var c=this;this.checkMark.removeClass();this.element.setAttribute("checked",true);if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}if(this.groupName!=null&&this.groupName.length>0){var d=a.find(this.toThemeProperty(".jqx-checkbox",true));a.each(d,function(){var e=a(this).jqxCheckBox("groupName");if(e==c.groupName&&this!=c.element){a(this).jqxCheckBox("uncheck")}})}var b=this.changeType;this._raiseEvent("0",true);this.changeType=b;this._raiseEvent("3",{checked:true});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},uncheck:function(){this.checked=false;var c=this;this.element.removeAttribute("checked");if(a.jqx.browser.msie||this.animationHideDelay==0){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}}else{this.checkMark.css("opacity",1);this.checkMark.stop().animate({opacity:0},this.animationHideDelay,function(){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}})}var b=this.changeType;this._raiseEvent("1");this.changeType=b;this._raiseEvent("3",{checked:false});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},indeterminate:function(){this.checked=null;this.checkMark.removeClass();if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}var b=this.changeType;this._raiseEvent("2");this._raiseEvent("3",{checked:null});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked","undefined");this.host.attr("checked","undefined")}},toggle:function(){if(this.disabled){return}if(this.locked){return}if(this.groupName!=null&&this.groupName.length>0){if(this.checked!=true){this.checked=true;this.updateStates()}return}this.oldChecked=this.checked;if(this.checked==true){this.checked=this.hasThreeStates?null:false}else{this.checked=this.checked!=null}this.updateStates();if(this.input!=undefined){this.input.val(this.checked)}},updateStates:function(){if(this.checked){this.check()}else{if(this.checked==false){this.uncheck()}else{if(this.checked==null){this.indeterminate()}}}},disable:function(){this.disabled=true;if(this.checked==true){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.addClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled"));a.jqx.aria(this,"aria-disabled",this.disabled)},enable:function(){if(this.checked==true){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.disabled=false;a.jqx.aria(this,"aria-disabled",this.disabled)},destroy:function(){this.host.remove()},_raiseEvent:function(g,e){if(this.init){return}var c=this.events[g];var f=new a.Event(c);f.owner=this;if(!e){e={}}e.type=this.changeType;this.changeType=null;f.args=e;try{var b=this.host.trigger(f)}catch(d){}return b},propertiesChangedHandler:function(b,c,d){if(d.width&&d.height&&Object.keys(d).length==2){b.setSize()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c=="enableContainerClick"&&!b.disabled&&!b.locked){if(d){b.host.css("cursor","pointer")}else{b.host.css("cursor","auto")}}if(c=="rtl"){if(d){b.box.addClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.addClass(b.toThemeProperty("jqx-rtl"))}else{b.box.removeClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.removeClass(b.toThemeProperty("jqx-rtl"))}}if(c=="boxSize"){b.render()}if(c=="theme"){a.jqx.utilities.setTheme(e,d,b.host)}if(c=="checked"){if(d!=e){switch(d){case true:b.check();break;case false:b.uncheck();break;case null:b.indeterminate();break}}}if(c=="disabled"){if(d!=e){if(d){b.disable()}else{b.enable()}}}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxCheckBox","",{});a.extend(a.jqx._jqxCheckBox.prototype,{defineInstance:function(){var b={animationShowDelay:300,animationHideDelay:300,width:null,height:null,boxSize:"16px",checked:false,hasThreeStates:false,disabled:false,enableContainerClick:true,locked:false,groupName:"",keyboardCheck:true,enableHover:true,hasInput:true,rtl:false,updated:null,disabledContainer:false,changeType:null,_canFocus:true,aria:{"aria-checked":{name:"checked",type:"boolean"},"aria-disabled":{name:"disabled",type:"boolean"}},events:["checked","unchecked","indeterminate","change"]};if(this===a.jqx._jqxCheckBox.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){var c=this;c._createFromInput("CheckBox");c.render()},_createFromInput:function(c){var j=this;if(j.element.nodeName.toLowerCase()=="input"){j.field=j.element;if(j.field.className){j._className=j.field.className}var l={title:j.field.title};if(j.field.value){l.value=j.field.value}if(j.field.checked){l.checked=true}if(j.field.id.length){l.id=j.field.id.replace(/[^\w]/g,"_")+"_"+c}else{l.id=a.jqx.utilities.createId()+"_"+c}var e=j.element.nextSibling;var h=false;if(e&&(e.nodeName=="#text"||e.nodeName=="span")){h=true}var k=0;var b=a("<div></div>",l);if(h){b.append(e);var i=a("<span>"+a(e).text()+"</span>");i.appendTo(a(document.body));k+=i.width();i.remove()}b[0].style.cssText=j.field.style.cssText;if(!j.width){j.width=a(j.field).width()+k+10}if(!j.height){j.height=a(j.field).outerHeight()+10}a(j.field).hide().after(b);var g=j.host.data();j.host=b;j.host.data(g);j.element=b[0];j.element.id=j.field.id;j.field.id=l.id;if(j._className){j.host.addClass(j._className);a(j.field).removeClass(j._className)}if(j.field.tabIndex){var d=j.field.tabIndex;j.field.tabIndex=-1;j.element.tabIndex=d}}},_addInput:function(){if(this.hasInput){if(this.input){this.input.remove()}var b=this.host.attr("name");this.input=a("<input type='hidden'/>");this.host.append(this.input);if(b){this.input.attr("name",b)}this.input.val(this.checked);this.host.attr("role","checkbox");a.jqx.aria(this)}},render:function(){this.init=true;var d=this;this.setSize();this.propertyChangeMap.width=function(h,j,i,k){d.setSize()};this.propertyChangeMap.height=function(h,j,i,k){d.setSize()};this._removeHandlers();if(!this.width){this.host.css("overflow-x","visible")}if(!this.height){this.host.css("overflow-y","visible")}if(this.checkbox){this.checkbox.remove();this.checkbox=null}if(this.checkMark){this.checkMark.remove();this.checkMark=null}if(this.box){this.box.remove();this.box=null}if(this.clear){this.clear.remove();this.clear=null}if(this.boxSize==null){this.boxSize=16}var g=parseInt(this.boxSize)+"px";var f="16px";var e=Math.floor((parseInt(this.boxSize)-16)/2);var b=e;e+="px";b+="px";if(parseInt(this.boxSize)!=16){this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="position: relative; left: '+e+"; top: "+b+"; width: "+f+"; height: "+f+';"></span></div></div>')}else{this.checkbox=a('<div><div style="width: '+g+"; height: "+g+';"><span style="width: '+g+"; height: "+g+';"></span></div></div>')}this.host.prepend(this.checkbox);if(!this.disabledContainer){if(!this.host.attr("tabIndex")){this.host.attr("tabIndex",0)}this.clear=a('<div style="clear: both;"></div>');this.host.append(this.clear)}this.checkMark=a(this.checkbox[0].firstChild.firstChild);this.box=this.checkbox;this.box.addClass(this.toThemeProperty("jqx-checkbox-default")+" "+this.toThemeProperty("jqx-fill-state-normal")+" "+this.toThemeProperty("jqx-rc-all"));if(this.disabled){this.disable()}if(!this.disabledContainer){this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-checkbox"))}if(this.locked&&!this.disabledContainer){this.host.css("cursor","auto")}var c=this.element.getAttribute("checked");if(c=="checked"||c=="true"||c==true){this.checked=true}this._addInput();this._render();this._addHandlers();this.init=false;this._centerBox();if(this.isMaterialized()){a(this.checkbox).addClass("ripple");a.jqx.ripple(a(this.checkbox),this.host,"checkbox")}},_centerBox:function(){if(this.height&&this.height.toString().indexOf("%")==-1&&this.box){var b=parseInt(this.height);this.host.css("line-height",b+"px");var c=b-parseInt(this.boxSize)-1;c/=2;this.box.css("margin-top",parseInt(c))}},refresh:function(b){if(!b){this.setSize();this._render()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},setSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}else{if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.element.style.width=this.width}}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}else{if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.element.style.height=this.height}}}this._centerBox()},_addHandlers:function(){var d=this;var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b=a.jqx.mobile.getTouchEventName("touchend")}this.addHandler(this.box,b,function(e){if(!d.disabled&&!d.enableContainerClick&&!d.locked){d.changeType="mouse";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}});if(!this.disabledContainer){this.addHandler(this.host,"keydown",function(e){if(!d.disabled&&!d.locked&&d.keyboardCheck){if(e.keyCode==32){if(!d._canFocus){return true}d.changeType="keyboard";d.toggle();if(d.updated){e.owner=d;d.updated(e,d.checked,d.oldChecked)}if(e.preventDefault){e.preventDefault()}return false}}});this.addHandler(this.host,b,function(e){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.clickTime=new Date();d.changeType="mouse";d.toggle();if(e.preventDefault){e.preventDefault()}if(d._canFocus){d.focus()}return false}});this.addHandler(this.host,"selectstart",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}return false}});this.addHandler(this.host,"mouseup",function(e){if(!d.disabled&&d.enableContainerClick){if(e.preventDefault){e.preventDefault()}}});this.addHandler(this.host,"focus",function(e){if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.addClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}a(d.checkbox).removeClass("active");if(!d.clickTime||(d.clickTime&&(new Date()-d.clickTime>300))){a(d.checkbox).addClass("active")}d.hovered=true;return false}});this.addHandler(this.host,"blur",function(e){a(d.checkbox).removeClass("active");if(!d.disabled&&!d.locked){if(!d._canFocus){return true}if(d.enableHover){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"))}d.box.removeClass(d.toThemeProperty("jqx-fill-state-focus"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}});this.addHandler(this.host,"mouseenter",function(e){if(d.locked){d.host.css("cursor","arrow")}if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=true;return false}}});this.addHandler(this.host,"mouseleave",function(e){if(d.enableHover){if(!d.disabled&&d.enableContainerClick&&!d.locked){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(e.preventDefault){e.preventDefault()}d.hovered=false;return false}}});this.addHandler(this.box,"mouseenter",function(){if(d.locked){return}if(!d.disabled&&!d.enableContainerClick){d.box.addClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.addClass(d.toThemeProperty("jqx-fill-state-hover"))}});this.addHandler(this.box,"mouseleave",function(){if(!d.disabled&&!d.enableContainerClick){d.box.removeClass(d.toThemeProperty("jqx-checkbox-hover"));d.box.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}})}},focus:function(){try{this.host.focus()}catch(b){}},_removeHandlers:function(){var c=a.jqx.mobile.isTouchDevice();var b="mousedown";if(c){b="touchend"}if(this.box){this.removeHandler(this.box,b);this.removeHandler(this.box,"mouseenter");this.removeHandler(this.box,"mouseleave")}this.removeHandler(this.host,b);this.removeHandler(this.host,"mouseup");this.removeHandler(this.host,"selectstart");this.removeHandler(this.host,"mouseenter");this.removeHandler(this.host,"mouseleave");this.removeHandler(this.host,"keydown");this.removeHandler(this.host,"blur");this.removeHandler(this.host,"focus")},_render:function(){if(!this.disabled){if(this.enableContainerClick){this.host.css("cursor","pointer")}else{if(!this.init){this.host.css("cursor","auto")}}}else{this.disable()}if(this.rtl){this.box.addClass(this.toThemeProperty("jqx-checkbox-rtl"));this.host.addClass(this.toThemeProperty("jqx-rtl"))}this.updateStates();this.host.attr("checked",this.checked)},_setState:function(c,b){if(this.checked!=c){this.checked=c;if(this.checked){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-checked")}else{if(this.checked==null){this.checkMark[0].className=this.toThemeProperty("jqx-checkbox-check-indeterminate")}else{this.checkMark[0].className=""}}}if(b===false||b===true){this.locked=b}if(c){this.element.setAttribute("checked",true)}else{this.element.removeAttribute("checked")}},val:function(b){if(arguments.length==0||(b!=null&&typeof(b)=="object")){return this.checked}if(typeof b=="string"){if(b=="true"){this.check()}if(b=="false"){this.uncheck()}if(b==""){this.indeterminate()}}else{if(b==true){this.check()}if(b==false){this.uncheck()}if(b==null){this.indeterminate()}}return this.checked},check:function(){this.checked=true;var c=this;this.checkMark.removeClass();this.element.setAttribute("checked",true);if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-checked"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}if(this.groupName!=null&&this.groupName.length>0){var d=a.find(this.toThemeProperty(".jqx-checkbox",true));a.each(d,function(){var e=a(this).jqxCheckBox("groupName");if(e==c.groupName&&this!=c.element){a(this).jqxCheckBox("uncheck")}})}var b=this.changeType;this._raiseEvent("0",{checked:true});this.changeType=b;this._raiseEvent("3",{checked:true});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},uncheck:function(){this.checked=false;var c=this;this.element.removeAttribute("checked");if(a.jqx.browser.msie||this.animationHideDelay==0){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}}else{this.checkMark.css("opacity",1);this.checkMark.stop().animate({opacity:0},this.animationHideDelay,function(){if(c.checkMark[0].className!=""){c.checkMark[0].className=""}})}var b=this.changeType;this._raiseEvent("1");this.changeType=b;this._raiseEvent("3",{checked:false});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked",this.checked);this.host.attr("checked",this.checked)}},indeterminate:function(){this.checked=null;this.checkMark.removeClass();if(a.jqx.browser.msie||this.animationShowDelay==0){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"))}else{this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate"));this.checkMark.css("opacity",0);this.checkMark.stop().animate({opacity:1},this.animationShowDelay,function(){})}var b=this.changeType;this._raiseEvent("2");this._raiseEvent("3",{checked:null});if(this.input!=undefined){this.input.val(this.checked);a.jqx.aria(this,"aria-checked","undefined");this.host.attr("checked","undefined")}},toggle:function(){if(this.disabled){return}if(this.locked){return}if(this.groupName!=null&&this.groupName.length>0){if(this.checked!=true){this.checked=true;this.updateStates()}return}this.oldChecked=this.checked;if(this.checked==true){this.checked=this.hasThreeStates?null:false}else{this.checked=this.checked!=null}this.updateStates();if(this.input!=undefined){this.input.val(this.checked)}},updateStates:function(){if(this.checked){this.check()}else{if(this.checked==false){this.uncheck()}else{if(this.checked==null){this.indeterminate()}}}},disable:function(){this.disabled=true;if(this.checked==true){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.addClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.addClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.addClass(this.toThemeProperty("jqx-checkbox-disabled"));a.jqx.aria(this,"aria-disabled",this.disabled)},enable:function(){if(this.checked==true){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-disabled"))}else{if(this.checked==null){this.checkMark.removeClass(this.toThemeProperty("jqx-checkbox-check-indeterminate-disabled"))}}this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled-box"));this.host.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.box.removeClass(this.toThemeProperty("jqx-checkbox-disabled"));this.disabled=false;a.jqx.aria(this,"aria-disabled",this.disabled)},destroy:function(){this.host.remove()},_raiseEvent:function(g,e){if(this.init){return}var c=this.events[g];var f=new a.Event(c);f.owner=this;if(!e){e={}}e.type=this.changeType;this.changeType=null;f.args=e;try{var b=this.host.trigger(f)}catch(d){}return b},propertiesChangedHandler:function(b,c,d){if(d.width&&d.height&&Object.keys(d).length==2){b.setSize()}},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(c=="enableContainerClick"&&!b.disabled&&!b.locked){if(d){b.host.css("cursor","pointer")}else{b.host.css("cursor","auto")}}if(c=="rtl"){if(d){b.box.addClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.addClass(b.toThemeProperty("jqx-rtl"))}else{b.box.removeClass(b.toThemeProperty("jqx-checkbox-rtl"));b.host.removeClass(b.toThemeProperty("jqx-rtl"))}}if(c=="boxSize"){b.render()}if(c=="theme"){a.jqx.utilities.setTheme(e,d,b.host)}if(c=="checked"){if(d!=e){switch(d){case true:b.check();break;case false:b.uncheck();break;case null:b.indeterminate();break}}}if(c=="disabled"){if(d!=e){if(d){b.disable()}else{b.enable()}}}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxcolorpicker.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxcolorpicker.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxcombobox.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxcombobox.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxcomplexinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxcomplexinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxcore.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxcore.js	Fri May 01 16:37:31 2020 +0200
@@ -1,16 +1,16 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-var oldBrowser=document.all&&!document.addEventListener;if(!oldBrowser){(function(bd,G){var q,an,ak=bd.document,bo=bd.location,bt=bd.navigator,ax=bd.JQXLite,X=bd.$,aR=Array.prototype.push,aD=Array.prototype.slice,aA=Array.prototype.indexOf,y=Object.prototype.toString,b=Object.prototype.hasOwnProperty,aw=String.prototype.trim,C=function(bu,bv){return new C.fn.init(bu,bv,q)},aE=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,at=/\S/,a8=/\s+/,S=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,aF=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,e=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,j=/^[\],:{}\s]*$/,t=/(?:^|:|,)(?:\s*\[)+/g,a5=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,K=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,au=/^-ms-/,aS=/-([\da-z])/gi,m=function(bu,bv){return(bv+"").toUpperCase()},a4=function(){if(ak.addEventListener){ak.removeEventListener("DOMContentLoaded",a4,false);C.ready()}else{if(ak.readyState==="complete"){ak.detachEvent("onreadystatechange",a4);C.ready()}}},a0={};C.fn=C.prototype={constructor:C,init:function(bu,bx,by){var bw,bz,bv,bA;if(!bu){return this}if(bu.nodeType){this.context=this[0]=bu;this.length=1;return this}if(typeof bu==="string"){if(bu.charAt(0)==="<"&&bu.charAt(bu.length-1)===">"&&bu.length>=3){bw=[null,bu,null]}else{bw=aF.exec(bu)}if(bw&&(bw[1]||!bx)){if(bw[1]){bx=bx instanceof C?bx[0]:bx;bA=(bx&&bx.nodeType?bx.ownerDocument||bx:ak);bu=C.parseHTML(bw[1],bA,true);if(e.test(bw[1])&&C.isPlainObject(bx)){this.attr.call(bu,bx,true)}return C.merge(this,bu)}else{bz=ak.getElementById(bw[2]);if(bz&&bz.parentNode){if(bz.id!==bw[2]){return by.find(bu)}this.length=1;this[0]=bz}this.context=ak;this.selector=bu;return this}}else{if(!bx||bx.jqx){return(bx||by).find(bu)}else{return this.constructor(bx).find(bu)}}}else{if(C.isFunction(bu)){return by.ready(bu)}}if(bu.selector!==G){this.selector=bu.selector;this.context=bu.context}return C.makeArray(bu,this)},selector:"",jqx:"4.5.0",length:0,size:function(){return this.length},toArray:function(){return aD.call(this)},get:function(bu){return bu==null?this.toArray():(bu<0?this[this.length+bu]:this[bu])},pushStack:function(bv,bx,bu){var bw=C.merge(this.constructor(),bv);bw.prevObject=this;bw.context=this.context;if(bx==="find"){bw.selector=this.selector+(this.selector?" ":"")+bu}else{if(bx){bw.selector=this.selector+"."+bx+"("+bu+")"}}return bw},each:function(bv,bu){return C.each(this,bv,bu)},ready:function(bu){C.ready.promise().done(bu);return this},eq:function(bu){bu=+bu;return bu===-1?this.slice(bu):this.slice(bu,bu+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(aD.apply(this,arguments),"slice",aD.call(arguments).join(","))},map:function(bu){return this.pushStack(C.map(this,function(bw,bv){return bu.call(bw,bv,bw)}))},end:function(){return this.prevObject||this.constructor(null)},push:aR,sort:[].sort,splice:[].splice};C.fn.init.prototype=C.fn;C.extend=C.fn.extend=function(){var bD,bw,bu,bv,bA,bB,bz=arguments[0]||{},by=1,bx=arguments.length,bC=false;if(typeof bz==="boolean"){bC=bz;bz=arguments[1]||{};by=2}if(typeof bz!=="object"&&!C.isFunction(bz)){bz={}}if(bx===by){bz=this;--by}for(;by<bx;by++){if((bD=arguments[by])!=null){for(bw in bD){bu=bz[bw];bv=bD[bw];if(bz===bv){continue}if(bC&&bv&&(C.isPlainObject(bv)||(bA=C.isArray(bv)))){if(bA){bA=false;bB=bu&&C.isArray(bu)?bu:[]}else{bB=bu&&C.isPlainObject(bu)?bu:{}}bz[bw]=C.extend(bC,bB,bv)}else{if(bv!==G){bz[bw]=bv}}}}}return bz};C.extend({noConflict:function(bu){if(bd.$===C){bd.$=X}if(bu&&bd.JQXLite===C){bd.JQXLite=ax}return C},isReady:false,readyWait:1,holdReady:function(bu){if(bu){C.readyWait++}else{C.ready(true)}},ready:function(bu){if(bu===true?--C.readyWait:C.isReady){return}if(!ak.body){return setTimeout(C.ready,1)}C.isReady=true;if(bu!==true&&--C.readyWait>0){return}an.resolveWith(ak,[C]);if(C.fn.trigger){C(ak).trigger("ready").off("ready")}},isFunction:function(bu){return C.type(bu)==="function"},isArray:Array.isArray||function(bu){return C.type(bu)==="array"},isWindow:function(bu){return bu!=null&&bu==bu.window},isNumeric:function(bu){return !isNaN(parseFloat(bu))&&isFinite(bu)},type:function(bu){return bu==null?String(bu):a0[y.call(bu)]||"object"},isPlainObject:function(bw){if(!bw||C.type(bw)!=="object"||bw.nodeType||C.isWindow(bw)){return false}try{if(bw.constructor&&!b.call(bw,"constructor")&&!b.call(bw.constructor.prototype,"isPrototypeOf")){return false}}catch(bv){return false}var bu;for(bu in bw){}return bu===G||b.call(bw,bu)},isEmptyObject:function(bv){var bu;for(bu in bv){return false}return true},error:function(bu){throw new Error(bu)},parseHTML:function(bx,bw,bu){var bv;if(!bx||typeof bx!=="string"){return null}if(typeof bw==="boolean"){bu=bw;bw=0}bw=bw||ak;if((bv=e.exec(bx))){return[bw.createElement(bv[1])]}bv=C.buildFragment([bx],bw,bu?null:[]);return C.merge([],(bv.cacheable?C.clone(bv.fragment):bv.fragment).childNodes)},parseJSON:function(bu){if(!bu||typeof bu!=="string"){return null}bu=C.trim(bu);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(bu)}if(j.test(bu.replace(a5,"@").replace(K,"]").replace(t,""))){return(new Function("return "+bu))()}C.error("Invalid JSON: "+bu)},parseXML:function(bw){var bu,bv;if(!bw||typeof bw!=="string"){return null}try{if(bd.DOMParser){bv=new DOMParser();bu=bv.parseFromString(bw,"text/xml")}else{bu=new ActiveXObject("Microsoft.XMLDOM");bu.async="false";bu.loadXML(bw)}}catch(bx){bu=G}if(!bu||!bu.documentElement||bu.getElementsByTagName("parsererror").length){C.error("Invalid XML: "+bw)}return bu},noop:function(){},globalEval:function(bu){if(bu&&at.test(bu)){(bd.execScript||function(bv){bd["eval"].call(bd,bv)})(bu)}},camelCase:function(bu){return bu.replace(au,"ms-").replace(aS,m)},nodeName:function(bv,bu){return bv.nodeName&&bv.nodeName.toLowerCase()===bu.toLowerCase()},each:function(bz,bA,bw){var bv,bx=0,by=bz.length,bu=by===G||C.isFunction(bz);if(bw){if(bu){for(bv in bz){if(bA.apply(bz[bv],bw)===false){break}}}else{for(;bx<by;){if(bA.apply(bz[bx++],bw)===false){break}}}}else{if(bu){for(bv in bz){if(bA.call(bz[bv],bv,bz[bv])===false){break}}}else{for(;bx<by;){if(bA.call(bz[bx],bx,bz[bx++])===false){break}}}}return bz},trim:aw&&!aw.call("\uFEFF\xA0")?function(bu){return bu==null?"":aw.call(bu)}:function(bu){return bu==null?"":(bu+"").replace(S,"")},makeArray:function(bu,bw){var bx,bv=bw||[];if(bu!=null){bx=C.type(bu);if(bu.length==null||bx==="string"||bx==="function"||bx==="regexp"||C.isWindow(bu)){aR.call(bv,bu)}else{C.merge(bv,bu)}}return bv},inArray:function(bx,bv,bw){var bu;if(bv){if(aA){return aA.call(bv,bx,bw)}bu=bv.length;bw=bw?bw<0?Math.max(0,bu+bw):bw:0;for(;bw<bu;bw++){if(bw in bv&&bv[bw]===bx){return bw}}}return -1},merge:function(by,bw){var bu=bw.length,bx=by.length,bv=0;if(typeof bu==="number"){for(;bv<bu;bv++){by[bx++]=bw[bv]}}else{while(bw[bv]!==G){by[bx++]=bw[bv++]}}by.length=bx;return by},grep:function(bv,bA,bu){var bz,bw=[],bx=0,by=bv.length;bu=!!bu;for(;bx<by;bx++){bz=!!bA(bv[bx],bx);if(bu!==bz){bw.push(bv[bx])}}return bw},map:function(bu,bB,bC){var bz,bA,by=[],bw=0,bv=bu.length,bx=bu instanceof C||bv!==G&&typeof bv==="number"&&((bv>0&&bu[0]&&bu[bv-1])||bv===0||C.isArray(bu));if(bx){for(;bw<bv;bw++){bz=bB(bu[bw],bw,bC);if(bz!=null){by[by.length]=bz}}}else{for(bA in bu){bz=bB(bu[bA],bA,bC);if(bz!=null){by[by.length]=bz}}}return by.concat.apply([],by)},guid:1,proxy:function(by,bx){var bw,bu,bv;if(typeof bx==="string"){bw=by[bx];bx=by;by=bw}if(!C.isFunction(by)){return G}bu=aD.call(arguments,2);bv=function(){return by.apply(bx,bu.concat(aD.call(arguments)))};bv.guid=by.guid=by.guid||C.guid++;return bv},access:function(bu,bA,bD,bB,by,bE,bC){var bw,bz=bD==null,bx=0,bv=bu.length;if(bD&&typeof bD==="object"){for(bx in bD){C.access(bu,bA,bx,bD[bx],1,bE,bB)}by=1}else{if(bB!==G){bw=bC===G&&C.isFunction(bB);if(bz){if(bw){bw=bA;bA=function(bG,bF,bH){return bw.call(C(bG),bH)}}else{bA.call(bu,bB);bA=null}}if(bA){for(;bx<bv;bx++){bA(bu[bx],bD,bw?bB.call(bu[bx],bx,bA(bu[bx],bD)):bB,bC)}}by=1}}return by?bu:bz?bA.call(bu):bv?bA(bu[0],bD):bE},now:function(){return(new Date()).getTime()}});C.ready.promise=function(bx){if(!an){an=C.Deferred();if(ak.readyState==="complete"){setTimeout(C.ready,1)}else{if(ak.addEventListener){ak.addEventListener("DOMContentLoaded",a4,false);bd.addEventListener("load",C.ready,false)}else{ak.attachEvent("onreadystatechange",a4);bd.attachEvent("onload",C.ready);var bw=false;try{bw=bd.frameElement==null&&ak.documentElement}catch(bv){}if(bw&&bw.doScroll){(function bu(){if(!C.isReady){try{bw.doScroll("left")}catch(by){return setTimeout(bu,50)}C.ready()}})()}}}}return an.promise(bx)};C.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(bv,bu){a0["[object "+bu+"]"]=bu.toLowerCase()});q=C(ak);var aX={};function B(bv){var bu=aX[bv]={};C.each(bv.split(a8),function(bx,bw){bu[bw]=true});return bu}C.Callbacks=function(bE){bE=typeof bE==="string"?(aX[bE]||B(bE)):C.extend({},bE);var bx,bu,by,bw,bz,bA,bB=[],bC=!bE.once&&[],bv=function(bF){bx=bE.memory&&bF;bu=true;bA=bw||0;bw=0;bz=bB.length;by=true;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bF[0],bF[1])===false&&bE.stopOnFalse){bx=false;break}}by=false;if(bB){if(bC){if(bC.length){bv(bC.shift())}}else{if(bx){bB=[]}else{bD.disable()}}}},bD={add:function(){if(bB){var bG=bB.length;(function bF(bH){C.each(bH,function(bJ,bI){var bK=C.type(bI);if(bK==="function"){if(!bE.unique||!bD.has(bI)){bB.push(bI)}}else{if(bI&&bI.length&&bK!=="string"){bF(bI)}}})})(arguments);if(by){bz=bB.length}else{if(bx){bw=bG;bv(bx)}}}return this},remove:function(){if(bB){C.each(arguments,function(bH,bF){var bG;while((bG=C.inArray(bF,bB,bG))>-1){bB.splice(bG,1);if(by){if(bG<=bz){bz--}if(bG<=bA){bA--}}}})}return this},has:function(bF){return C.inArray(bF,bB)>-1},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=G;return this},disabled:function(){return !bB},lock:function(){bC=G;if(!bx){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){bF=bF||[];bF=[bG,bF.slice?bF.slice():bF];if(bB&&(!bu||bC)){if(by){bC.push(bF)}else{bv(bF)}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bu}};return bD};C.extend({Deferred:function(bw){var bv=[["resolve","done",C.Callbacks("once memory"),"resolved"],["reject","fail",C.Callbacks("once memory"),"rejected"],["notify","progress",C.Callbacks("memory")]],bx="pending",by={state:function(){return bx},always:function(){bu.done(arguments).fail(arguments);return this},then:function(){var bz=arguments;return C.Deferred(function(bA){C.each(bv,function(bC,bB){var bE=bB[0],bD=bz[bC];bu[bB[1]](C.isFunction(bD)?function(){var bF=bD.apply(this,arguments);if(bF&&C.isFunction(bF.promise)){bF.promise().done(bA.resolve).fail(bA.reject).progress(bA.notify)}else{bA[bE+"With"](this===bu?bA:this,[bF])}}:bA[bE])});bz=null}).promise()},promise:function(bz){return bz!=null?C.extend(bz,by):by}},bu={};by.pipe=by.then;C.each(bv,function(bA,bz){var bC=bz[2],bB=bz[3];by[bz[1]]=bC.add;if(bB){bC.add(function(){bx=bB},bv[bA^1][2].disable,bv[2][2].lock)}bu[bz[0]]=bC.fire;bu[bz[0]+"With"]=bC.fireWith});by.promise(bu);if(bw){bw.call(bu,bu)}return bu},when:function(by){var bw=0,bA=aD.call(arguments),bu=bA.length,bv=bu!==1||(by&&C.isFunction(by.promise))?bu:0,bD=bv===1?by:C.Deferred(),bx=function(bF,bG,bE){return function(bH){bG[bF]=this;bE[bF]=arguments.length>1?aD.call(arguments):bH;if(bE===bC){bD.notifyWith(bG,bE)}else{if(!(--bv)){bD.resolveWith(bG,bE)}}}},bC,bz,bB;if(bu>1){bC=new Array(bu);bz=new Array(bu);bB=new Array(bu);for(;bw<bu;bw++){if(bA[bw]&&C.isFunction(bA[bw].promise)){bA[bw].promise().done(bx(bw,bB,bA)).fail(bD.reject).progress(bx(bw,bz,bC))}else{--bv}}}if(!bv){bD.resolveWith(bB,bA)}return bD.promise()}});C.support=(function(){var bG,bF,bD,bE,bx,bC,bB,bz,by,bw,bu,bv=ak.createElement("div");bv.setAttribute("className","t");bv.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";bF=bv.getElementsByTagName("*");bD=bv.getElementsByTagName("a")[0];if(!bF||!bD||!bF.length){return{}}bE=ak.createElement("select");bx=bE.appendChild(ak.createElement("option"));bC=bv.getElementsByTagName("input")[0];bD.style.cssText="top:1px;float:left;opacity:.5";bG={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bD.getAttribute("style")),hrefNormalized:(bD.getAttribute("href")==="/a"),opacity:/^0.5/.test(bD.style.opacity),cssFloat:!!bD.style.cssFloat,checkOn:(bC.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!ak.createElement("form").enctype,html5Clone:ak.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",boxModel:(ak.compatMode==="CSS1Compat"),submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};bC.checked=true;bG.noCloneChecked=bC.cloneNode(true).checked;bE.disabled=true;bG.optDisabled=!bx.disabled;try{delete bv.test}catch(bA){bG.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",bu=function(){bG.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick");bv.detachEvent("onclick",bu)}bC=ak.createElement("input");bC.value="t";bC.setAttribute("type","radio");bG.radioValue=bC.value==="t";bC.setAttribute("checked","checked");bC.setAttribute("name","t");bv.appendChild(bC);bB=ak.createDocumentFragment();bB.appendChild(bv.lastChild);bG.checkClone=bB.cloneNode(true).cloneNode(true).lastChild.checked;bG.appendChecked=bC.checked;bB.removeChild(bC);bB.appendChild(bv);if(bv.attachEvent){for(by in {submit:true,change:true,focusin:true}){bz="on"+by;bw=(bz in bv);if(!bw){bv.setAttribute(bz,"return;");bw=(typeof bv[bz]==="function")}bG[by+"Bubbles"]=bw}}C(function(){var bI,bM,bK,bL,bJ="padding:0;margin:0;border:0;display:block;overflow:hidden;",bH=ak.getElementsByTagName("body")[0];if(!bH){return}bI=ak.createElement("div");bI.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";bH.insertBefore(bI,bH.firstChild);bM=ak.createElement("div");bI.appendChild(bM);bM.innerHTML="<table><tr><td></td><td>t</td></tr></table>";bK=bM.getElementsByTagName("td");bK[0].style.cssText="padding:0;margin:0;border:0;display:none";bw=(bK[0].offsetHeight===0);bK[0].style.display="";bK[1].style.display="none";bG.reliableHiddenOffsets=bw&&(bK[0].offsetHeight===0);bM.innerHTML="";bM.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";bG.boxSizing=(bM.offsetWidth===4);bG.doesNotIncludeMarginInBodyOffset=(bH.offsetTop!==1);if(bd.getComputedStyle){bG.pixelPosition=(bd.getComputedStyle(bM,null)||{}).top!=="1%";bG.boxSizingReliable=(bd.getComputedStyle(bM,null)||{width:"4px"}).width==="4px";bL=ak.createElement("div");bL.style.cssText=bM.style.cssText=bJ;bL.style.marginRight=bL.style.width="0";bM.style.width="1px";bM.appendChild(bL);bG.reliableMarginRight=!parseFloat((bd.getComputedStyle(bL,null)||{}).marginRight)}if(typeof bM.style.zoom!=="undefined"){bM.innerHTML="";bM.style.cssText=bJ+"width:1px;padding:1px;display:inline;zoom:1";bG.inlineBlockNeedsLayout=(bM.offsetWidth===3);bM.style.display="block";bM.style.overflow="visible";bM.innerHTML="<div></div>";bM.firstChild.style.width="5px";bG.shrinkWrapBlocks=(bM.offsetWidth!==3);bI.style.zoom=1}bH.removeChild(bI);bI=bM=bK=bL=null});bB.removeChild(bv);bF=bD=bE=bx=bC=bB=bv=null;return bG})();var aK=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aq=/([A-Z])/g;C.extend({cache:{},deletedIds:[],uuid:0,expando:"JQXLite"+(C.fn.jqx+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(bu){bu=bu.nodeType?C.cache[bu[C.expando]]:bu[C.expando];return !!bu&&!M(bu)},data:function(bx,bv,bz,by){if(!C.acceptData(bx)){return}var bA,bC,bD=C.expando,bB=typeof bv==="string",bE=bx.nodeType,bu=bE?C.cache:bx,bw=bE?bx[bD]:bx[bD]&&bD;if((!bw||!bu[bw]||(!by&&!bu[bw].data))&&bB&&bz===G){return}if(!bw){if(bE){bx[bD]=bw=C.deletedIds.pop()||C.guid++}else{bw=bD}}if(!bu[bw]){bu[bw]={};if(!bE){bu[bw].toJSON=C.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){bu[bw]=C.extend(bu[bw],bv)}else{bu[bw].data=C.extend(bu[bw].data,bv)}}bA=bu[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==G){bA[C.camelCase(bv)]=bz}if(bB){bC=bA[bv];if(bC==null){bC=bA[C.camelCase(bv)]}}else{bC=bA}return bC},removeData:function(bx,bv,by){if(!C.acceptData(bx)){return}var bB,bA,bz,bC=bx.nodeType,bu=bC?C.cache:bx,bw=bC?bx[C.expando]:C.expando;if(!bu[bw]){return}if(bv){bB=by?bu[bw]:bu[bw].data;if(bB){if(!C.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=C.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?M:C.isEmptyObject)(bB)){return}}}if(!by){delete bu[bw].data;if(!M(bu[bw])){return}}if(bC){C.cleanData([bx],true)}else{if(C.support.deleteExpando||bu!=bu.window){delete bu[bw]}else{bu[bw]=null}}},_data:function(bv,bu,bw){return C.data(bv,bu,bw,true)},acceptData:function(bv){var bu=bv.nodeName&&C.noData[bv.nodeName.toLowerCase()];return !bu||bu!==true&&bv.getAttribute("classid")===bu}});C.fn.extend({data:function(bD,bC){var by,bv,bB,bu,bx,bw=this[0],bA=0,bz=null;if(bD===G){if(this.length){bz=C.data(bw);if(bw.nodeType===1&&!C._data(bw,"parsedAttrs")){bB=bw.attributes;for(bx=bB.length;bA<bx;bA++){bu=bB[bA].name;if(!bu.indexOf("data-")){bu=C.camelCase(bu.substring(5));a9(bw,bu,bz[bu])}}C._data(bw,"parsedAttrs",true)}}return bz}if(typeof bD==="object"){return this.each(function(){C.data(this,bD)})}by=bD.split(".",2);by[1]=by[1]?"."+by[1]:"";bv=by[1]+"!";return C.access(this,function(bE){if(bE===G){bz=this.triggerHandler("getData"+bv,[by[0]]);if(bz===G&&bw){bz=C.data(bw,bD);bz=a9(bw,bD,bz)}return bz===G&&by[1]?this.data(by[0]):bz}by[1]=bE;this.each(function(){var bF=C(this);bF.triggerHandler("setData"+bv,by);C.data(this,bD,bE);bF.triggerHandler("changeData"+bv,by)})},null,bC,arguments.length>1,null,false)},removeData:function(bu){return this.each(function(){C.removeData(this,bu)})}});function a9(bw,bv,bx){if(bx===G&&bw.nodeType===1){var bu="data-"+bv.replace(aq,"-$1").toLowerCase();bx=bw.getAttribute(bu);if(typeof bx==="string"){try{bx=bx==="true"?true:bx==="false"?false:bx==="null"?null:+bx+""===bx?+bx:aK.test(bx)?C.parseJSON(bx):bx}catch(by){}C.data(bw,bv,bx)}else{bx=G}}return bx}function M(bv){var bu;for(bu in bv){if(bu==="data"&&C.isEmptyObject(bv[bu])){continue}if(bu!=="toJSON"){return false}}return true}C.extend({queue:function(bw,bv,bx){var bu;if(bw){bv=(bv||"fx")+"queue";bu=C._data(bw,bv);if(bx){if(!bu||C.isArray(bx)){bu=C._data(bw,bv,C.makeArray(bx))}else{bu.push(bx)}}return bu||[]}},dequeue:function(bz,by){by=by||"fx";var bv=C.queue(bz,by),bA=bv.length,bx=bv.shift(),bu=C._queueHooks(bz,by),bw=function(){C.dequeue(bz,by)};if(bx==="inprogress"){bx=bv.shift();bA--}if(bx){if(by==="fx"){bv.unshift("inprogress")}delete bu.stop;bx.call(bz,bw,bu)}if(!bA&&bu){bu.empty.fire()}},_queueHooks:function(bw,bv){var bu=bv+"queueHooks";return C._data(bw,bu)||C._data(bw,bu,{empty:C.Callbacks("once memory").add(function(){C.removeData(bw,bv+"queue",true);C.removeData(bw,bu,true)})})}});C.fn.extend({queue:function(bu,bv){var bw=2;if(typeof bu!=="string"){bv=bu;bu="fx";bw--}if(arguments.length<bw){return C.queue(this[0],bu)}return bv===G?this:this.each(function(){var bx=C.queue(this,bu,bv);C._queueHooks(this,bu);if(bu==="fx"&&bx[0]!=="inprogress"){C.dequeue(this,bu)}})},dequeue:function(bu){return this.each(function(){C.dequeue(this,bu)})},delay:function(bv,bu){bv=C.fx?C.fx.speeds[bv]||bv:bv;bu=bu||"fx";return this.queue(bu,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(bu){return this.queue(bu||"fx",[])},promise:function(bw,bA){var bv,bx=1,bB=C.Deferred(),bz=this,bu=this.length,by=function(){if(!(--bx)){bB.resolveWith(bz,[bz])}};if(typeof bw!=="string"){bA=bw;bw=G}bw=bw||"fx";while(bu--){bv=C._data(bz[bu],bw+"queueHooks");if(bv&&bv.empty){bx++;bv.empty.add(by)}}by();return bB.promise(bA)}});var bh,aT,ay,aI=/[\t\r\n]/g,aP=/\r/g,d=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,h=/^a(?:rea|)$/i,ae=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,A=C.support.getSetAttribute;C.fn.extend({attr:function(bu,bv){return C.access(this,C.attr,bu,bv,arguments.length>1)},removeAttr:function(bu){return this.each(function(){C.removeAttr(this,bu)})},prop:function(bu,bv){return C.access(this,C.prop,bu,bv,arguments.length>1)},removeProp:function(bu){bu=C.propFix[bu]||bu;return this.each(function(){try{this[bu]=G;delete this[bu]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,bu;if(C.isFunction(by)){return this.each(function(bC){C(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(a8);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,bu=bA.length;bB<bu;bB++){if(bz.indexOf(" "+bA[bB]+" ")<0){bz+=bA[bB]+" "}}bx.className=C.trim(bz)}}}}return this},removeClass:function(bA){var bx,by,bz,bB,bv,bw,bu;if(C.isFunction(bA)){return this.each(function(bC){C(this).removeClass(bA.call(this,bC,this.className))})}if((bA&&typeof bA==="string")||bA===G){bx=(bA||"").split(a8);for(bw=0,bu=this.length;bw<bu;bw++){bz=this[bw];if(bz.nodeType===1&&bz.className){by=(" "+bz.className+" ").replace(aI," ");for(bB=0,bv=bx.length;bB<bv;bB++){while(by.indexOf(" "+bx[bB]+" ")>=0){by=by.replace(" "+bx[bB]+" "," ")}}bz.className=bA?C.trim(by):""}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,bu=typeof bv==="boolean";if(C.isFunction(bx)){return this.each(function(by){C(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=C(this),bB=bv,bC=bx.split(a8);while((bA=bC[bz++])){bB=bu?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){C._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":C._data(this,"__className__")||""}}})},hasClass:function(bu){var bx=" "+bu+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aI," ").indexOf(bx)>=0){return true}}return false},val:function(bx){var bu,bv,by,bw=this[0];if(!arguments.length){if(bw){bu=C.valHooks[bw.type]||C.valHooks[bw.nodeName.toLowerCase()];if(bu&&"get" in bu&&(bv=bu.get(bw,"value"))!==G){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aP,""):bv==null?"":bv}return}by=C.isFunction(bx);return this.each(function(bA){var bB,bz=C(this);if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(C.isArray(bB)){bB=C.map(bB,function(bC){return bC==null?"":bC+""})}}}bu=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()];if(!bu||!("set" in bu)||bu.set(this,bB,"value")===G){this.value=bB}})}});C.extend({valHooks:{option:{get:function(bu){var bv=bu.attributes.value;return !bv||bv.specified?bu.value:bu.text}},select:{get:function(bu){var bA,bw,bC=bu.options,by=bu.selectedIndex,bx=bu.type==="select-one"||by<0,bB=bx?null:[],bz=bx?by+1:bC.length,bv=by<0?bz:bx?by:0;for(;bv<bz;bv++){bw=bC[bv];if((bw.selected||bv===by)&&(C.support.optDisabled?!bw.disabled:bw.getAttribute("disabled")===null)&&(!bw.parentNode.disabled||!C.nodeName(bw.parentNode,"optgroup"))){bA=C(bw).val();if(bx){return bA}bB.push(bA)}}return bB},set:function(bv,bw){var bu=C.makeArray(bw);C(bv).find("option").each(function(){this.selected=C.inArray(C(this).val(),bu)>=0});if(!bu.length){bv.selectedIndex=-1}return bu}}},attrFn:{},attr:function(bA,bx,bB,bz){var bw,bu,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&C.isFunction(C.fn[bx])){return C(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return C.prop(bA,bx,bB)}by=bv!==1||!C.isXMLDoc(bA);if(by){bx=bx.toLowerCase();bu=C.attrHooks[bx]||(ae.test(bx)?aT:bh)}if(bB!==G){if(bB===null){C.removeAttr(bA,bx);return}else{if(bu&&"set" in bu&&by&&(bw=bu.set(bA,bB,bx))!==G){return bw}else{bA.setAttribute(bx,bB+"");return bB}}}else{if(bu&&"get" in bu&&by&&(bw=bu.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?G:bw}}},removeAttr:function(bx,bz){var by,bA,bv,bu,bw=0;if(bz&&bx.nodeType===1){bA=bz.split(a8);for(;bw<bA.length;bw++){bv=bA[bw];if(bv){by=C.propFix[bv]||bv;bu=ae.test(bv);if(!bu){C.attr(bx,bv,"")}bx.removeAttribute(A?bv:by);if(bu&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(bu,bv){if(d.test(bu.nodeName)&&bu.parentNode){C.error("type property can't be changed")}else{if(!C.support.radioValue&&bv==="radio"&&C.nodeName(bu,"input")){var bw=bu.value;bu.setAttribute("type",bv);if(bw){bu.value=bw}return bv}}}},value:{get:function(bv,bu){if(bh&&C.nodeName(bv,"button")){return bh.get(bv,bu)}return bu in bv?bv.value:null},set:function(bv,bw,bu){if(bh&&C.nodeName(bv,"button")){return bh.set(bv,bw,bu)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,bu,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!C.isXMLDoc(bz);if(by){bx=C.propFix[bx]||bx;bu=C.propHooks[bx]}if(bA!==G){if(bu&&"set" in bu&&(bw=bu.set(bz,bA,bx))!==G){return bw}else{return(bz[bx]=bA)}}else{if(bu&&"get" in bu&&(bw=bu.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var bu=bv.getAttributeNode("tabindex");return bu&&bu.specified?parseInt(bu.value,10):z.test(bv.nodeName)||h.test(bv.nodeName)&&bv.href?0:G}}}});aT={get:function(bv,bu){var bx,bw=C.prop(bv,bu);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(bu))&&bx.nodeValue!==false?bu.toLowerCase():G},set:function(bv,bx,bu){var bw;if(bx===false){C.removeAttr(bv,bu)}else{bw=C.propFix[bu]||bu;if(bw in bv){bv[bw]=true}bv.setAttribute(bu,bu.toLowerCase())}return bu}};if(!C.support.enctype){C.propFix.enctype="encoding"}var bf=/^(?:textarea|input|select)$/i,n=/^([^\.]*|)(?:\.(.+)|)$/,F=/(?:^|\s)hover(\.\S+|)\b/,aH=/^key/,bi=/^(?:mouse|contextmenu)|click/,N=/^(?:focusinfocus|focusoutblur)$/,bs=function(bu){return C.event.special.hover?bu:bu.replace(F,"mouseenter$1 mouseleave$1")};C.event={add:function(bx,bB,bI,bz,by){var bC,bA,bJ,bH,bG,bE,bu,bF,bv,bw,bD;if(bx.nodeType===3||bx.nodeType===8||!bB||!bI||!(bC=C._data(bx))){return}if(bI.handler){bv=bI;bI=bv.handler;by=bv.selector}if(!bI.guid){bI.guid=C.guid++}bJ=bC.events;if(!bJ){bC.events=bJ={}}bA=bC.handle;if(!bA){bC.handle=bA=function(bK){return typeof C!=="undefined"&&(!bK||C.event.triggered!==bK.type)?C.event.dispatch.apply(bA.elem,arguments):G};bA.elem=bx}bB=C.trim(bs(bB)).split(" ");for(bH=0;bH<bB.length;bH++){bG=n.exec(bB[bH])||[];bE=bG[1];bu=(bG[2]||"").split(".").sort();bD=C.event.special[bE]||{};bE=(by?bD.delegateType:bD.bindType)||bE;bD=C.event.special[bE]||{};bF=C.extend({type:bE,origType:bG[1],data:bz,handler:bI,guid:bI.guid,selector:by,needsContext:by&&C.expr.match.needsContext.test(by),namespace:bu.join(".")},bv);bw=bJ[bE];if(!bw){bw=bJ[bE]=[];bw.delegateCount=0;if(!bD.setup||bD.setup.call(bx,bz,bu,bA)===false){if(bx.addEventListener){bx.addEventListener(bE,bA,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bE,bA)}}}}if(bD.add){bD.add.call(bx,bF);if(!bF.handler.guid){bF.handler.guid=bI.guid}}if(by){bw.splice(bw.delegateCount++,0,bF)}else{bw.push(bF)}C.event.global[bE]=true}bx=null},global:{},remove:function(bx,bC,bI,by,bB){var bJ,bK,bF,bw,bv,bz,bA,bH,bE,bu,bG,bD=C.hasData(bx)&&C._data(bx);if(!bD||!(bH=bD.events)){return}bC=C.trim(bs(bC||"")).split(" ");for(bJ=0;bJ<bC.length;bJ++){bK=n.exec(bC[bJ])||[];bF=bw=bK[1];bv=bK[2];if(!bF){for(bF in bH){C.event.remove(bx,bF+bC[bJ],bI,by,true)}continue}bE=C.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bu=bH[bF]||[];bz=bu.length;bv=bv?new RegExp("(^|\\.)"+bv.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(bA=0;bA<bu.length;bA++){bG=bu[bA];if((bB||bw===bG.origType)&&(!bI||bI.guid===bG.guid)&&(!bv||bv.test(bG.namespace))&&(!by||by===bG.selector||by==="**"&&bG.selector)){bu.splice(bA--,1);if(bG.selector){bu.delegateCount--}if(bE.remove){bE.remove.call(bx,bG)}}}if(bu.length===0&&bz!==bu.length){if(!bE.teardown||bE.teardown.call(bx,bv,bD.handle)===false){C.removeEvent(bx,bF,bD.handle)}delete bH[bF]}}if(C.isEmptyObject(bH)){delete bD.handle;C.removeData(bx,"events",true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bC,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bu,bx,bD,bH,bz,by,bF,bE,bB,bI,bG=bv.type||bv,bw=[];if(N.test(bG+C.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bx=true}if(bG.indexOf(".")>=0){bw=bG.split(".");bG=bw.shift();bw.sort()}if((!bA||C.event.customEvent[bG])&&!C.event.global[bG]){return}bv=typeof bv==="object"?bv[C.expando]?bv:new C.Event(bG,bv):new C.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bx;bv.namespace=bw.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bw.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){bu=C.cache;for(bD in bu){if(bu[bD].events&&bu[bD].events[bG]){C.event.trigger(bv,bC,bu[bD].handle.elem,true)}}return}bv.result=G;if(!bv.target){bv.target=bA}bC=bC!=null?C.makeArray(bC):[];bC.unshift(bv);bF=C.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bC)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!C.isWindow(bA)){bI=bF.delegateType||bG;bH=N.test(bI+bG)?bA:bA.parentNode;for(bz=bA;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz===(bA.ownerDocument||ak)){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bD=0;bD<bB.length&&!bv.isPropagationStopped();bD++){bH=bB[bD][0];bv.type=bB[bD][1];bE=(C._data(bH,"events")||{})[bv.type]&&C._data(bH,"handle");if(bE){bE.apply(bH,bC)}bE=by&&bH[by];if(bE&&C.acceptData(bH)&&bE.apply&&bE.apply(bH,bC)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bC)===false)&&!(bG==="click"&&C.nodeName(bA,"a"))&&C.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!C.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}C.event.triggered=bG;bA[bG]();C.event.triggered=G;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(bu){bu=C.event.fix(bu||bd.event);var bB,bA,bK,bE,bD,bv,bC,bI,bx,bJ,by=((C._data(this,"events")||{})[bu.type]||[]),bz=by.delegateCount,bG=aD.call(arguments),bw=!bu.exclusive&&!bu.namespace,bF=C.event.special[bu.type]||{},bH=[];bG[0]=bu;bu.delegateTarget=this;if(bF.preDispatch&&bF.preDispatch.call(this,bu)===false){return}if(bz&&!(bu.button&&bu.type==="click")){for(bK=bu.target;bK!=this;bK=bK.parentNode||this){if(bK.disabled!==true||bu.type!=="click"){bD={};bC=[];for(bB=0;bB<bz;bB++){bI=by[bB];bx=bI.selector;if(bD[bx]===G){bD[bx]=bI.needsContext?C(bx,this).index(bK)>=0:C.find(bx,this,null,[bK]).length}if(bD[bx]){bC.push(bI)}}if(bC.length){bH.push({elem:bK,matches:bC})}}}}if(by.length>bz){bH.push({elem:this,matches:by.slice(bz)})}for(bB=0;bB<bH.length&&!bu.isPropagationStopped();bB++){bv=bH[bB];bu.currentTarget=bv.elem;for(bA=0;bA<bv.matches.length&&!bu.isImmediatePropagationStopped();bA++){bI=bv.matches[bA];if(bw||(!bu.namespace&&!bI.namespace)||bu.namespace_re&&bu.namespace_re.test(bI.namespace)){bu.data=bI.data;bu.handleObj=bI;bE=((C.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bE!==G){bu.result=bE;if(bE===false){bu.preventDefault();bu.stopPropagation()}}}}}if(bF.postDispatch){bF.postDispatch.call(this,bu)}return bu.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,bu){if(bv.which==null){bv.which=bu.charCode!=null?bu.charCode:bu.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,bu,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||ak;bz=by.documentElement;bu=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||bu&&bu.scrollLeft||0)-(bz&&bz.clientLeft||bu&&bu.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||bu&&bu.scrollTop||0)-(bz&&bz.clientTop||bu&&bu.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==G){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[C.expando]){return bw}var bv,bz,bu=bw,bx=C.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=C.Event(bu);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=bu[bz]}if(!bw.target){bw.target=bu.srcElement||ak}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}bw.metaKey=!!bw.metaKey;return bx.filter?bx.filter(bw,bu):bw},special:{load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,bu){if(C.isWindow(this)){this.onbeforeunload=bu}},teardown:function(bv,bu){if(this.onbeforeunload===bu){this.onbeforeunload=null}}}},simulate:function(bv,bx,bw,bu){var by=C.extend(new C.Event(),bw,{type:bv,isSimulated:true,originalEvent:{}});if(bu){C.event.trigger(by,null,bx)}else{C.event.dispatch.call(bx,by)}if(by.isDefaultPrevented()){bw.preventDefault()}}};C.event.handle=C.event.dispatch;C.removeEvent=ak.removeEventListener?function(bv,bu,bw){if(bv.removeEventListener){bv.removeEventListener(bu,bw,false)}}:function(bw,bv,bx){var bu="on"+bv;if(bw.detachEvent){if(typeof bw[bu]==="undefined"){bw[bu]=null}bw.detachEvent(bu,bx)}};C.Event=function(bv,bu){if(!(this instanceof C.Event)){return new C.Event(bv,bu)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?f:bn}else{this.type=bv}if(bu){C.extend(this,bu)}this.timeStamp=bv&&bv.timeStamp||C.now();this[C.expando]=true};function bn(){return false}function f(){return true}C.Event.prototype={preventDefault:function(){this.isDefaultPrevented=f;var bu=this.originalEvent;if(!bu){return}if(bu.preventDefault){bu.preventDefault()}else{bu.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=f;var bu=this.originalEvent;if(!bu){return}if(bu.stopPropagation){bu.stopPropagation()}bu.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=f;this.stopPropagation()},isDefaultPrevented:bn,isPropagationStopped:bn,isImmediatePropagationStopped:bn};C.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,bu){C.event.special[bv]={delegateType:bu,bindType:bu,handle:function(bz){var bx,bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector;if(!bA||(bA!==bB&&!C.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=bu}return bx}}});C.fn.extend({on:function(bw,bu,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof bu!=="string"){bz=bz||bu;bu=G}for(bx in bw){this.on(bx,bu,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=bu;bz=bu=G}else{if(by==null){if(typeof bu==="string"){by=bz;bz=G}else{by=bz;bz=bu;bu=G}}}if(by===false){by=bn}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){C().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=C.guid++)}return this.each(function(){C.event.add(this,bw,by,bz,bu)})},off:function(bw,bu,by){var bv,bx;if(bw&&bw.preventDefault&&bw.handleObj){bv=bw.handleObj;C(bw.delegateTarget).off(bv.namespace?bv.origType+"."+bv.namespace:bv.origType,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(bx in bw){this.off(bx,bu,bw[bx])}return this}if(bu===false||typeof bu==="function"){by=bu;bu=G}if(by===false){by=bn}return this.each(function(){C.event.remove(this,bw,by,bu)})},delegate:function(bu,bv,bx,bw){return this.on(bv,bu,bx,bw)},undelegate:function(bu,bv,bw){return arguments.length===1?this.off(bu,"**"):this.off(bv,bu||"**",bw)},trigger:function(bu,bv){return this.each(function(){C.event.trigger(bu,bv,this)})},triggerHandler:function(bu,bv){if(this[0]){return C.event.trigger(bu,bv,this[0],true)}},toggle:function(bx){var bv=arguments,bu=bx.guid||C.guid++,bw=0,by=function(bz){var bA=(C._data(this,"lastToggle"+bx.guid)||0)%bw;C._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=bu;while(bw<bv.length){bv[bw++].guid=bu}return this.click(by)},hover:function(bu,bv){return this.mouseenter(bu).mouseleave(bv||bu)}});C.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,bu){C.fn[bu]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(bu,null,bx,bw):this.trigger(bu)};if(aH.test(bu)){C.event.fixHooks[bu]=C.event.keyHooks}if(bi.test(bu)){C.event.fixHooks[bu]=C.event.mouseHooks}});
+var oldBrowser=document.all&&!document.addEventListener;if(!oldBrowser){(function(bd,G){var q,an,ak=bd.document,bo=bd.location,bt=bd.navigator,ax=bd.JQXLite,X=bd.$,aR=Array.prototype.push,aD=Array.prototype.slice,aA=Array.prototype.indexOf,y=Object.prototype.toString,b=Object.prototype.hasOwnProperty,aw=String.prototype.trim,C=function(bu,bv){return new C.fn.init(bu,bv,q)},aE=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,at=/\S/,a8=/\s+/,S=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,aF=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,e=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,j=/^[\],:{}\s]*$/,t=/(?:^|:|,)(?:\s*\[)+/g,a5=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,K=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,au=/^-ms-/,aS=/-([\da-z])/gi,m=function(bu,bv){return(bv+"").toUpperCase()},a4=function(){if(ak.addEventListener){ak.removeEventListener("DOMContentLoaded",a4,false);C.ready()}else{if(ak.readyState==="complete"){ak.detachEvent("onreadystatechange",a4);C.ready()}}},a0={};C.fn=C.prototype={constructor:C,init:function(bu,bx,by){var bw,bz,bv,bA;if(!bu){return this}if(bu.nodeType){this.context=this[0]=bu;this.length=1;return this}if(typeof bu==="string"){if(bu.charAt(0)==="<"&&bu.charAt(bu.length-1)===">"&&bu.length>=3){bw=[null,bu,null]}else{bw=aF.exec(bu)}if(bw&&(bw[1]||!bx)){if(bw[1]){bx=bx instanceof C?bx[0]:bx;bA=(bx&&bx.nodeType?bx.ownerDocument||bx:ak);bu=C.parseHTML(bw[1],bA,true);if(e.test(bw[1])&&C.isPlainObject(bx)){this.attr.call(bu,bx,true)}return C.merge(this,bu)}else{bz=ak.getElementById(bw[2]);if(bz&&bz.parentNode){if(bz.id!==bw[2]){return by.find(bu)}this.length=1;this[0]=bz}this.context=ak;this.selector=bu;return this}}else{if(!bx||bx.jqx){return(bx||by).find(bu)}else{return this.constructor(bx).find(bu)}}}else{if(C.isFunction(bu)){return by.ready(bu)}}if(bu.selector!==G){this.selector=bu.selector;this.context=bu.context}return C.makeArray(bu,this)},selector:"",jqx:"4.5.0",length:0,size:function(){return this.length},toArray:function(){return aD.call(this)},get:function(bu){return bu==null?this.toArray():(bu<0?this[this.length+bu]:this[bu])},pushStack:function(bv,bx,bu){var bw=C.merge(this.constructor(),bv);bw.prevObject=this;bw.context=this.context;if(bx==="find"){bw.selector=this.selector+(this.selector?" ":"")+bu}else{if(bx){bw.selector=this.selector+"."+bx+"("+bu+")"}}return bw},each:function(bv,bu){return C.each(this,bv,bu)},ready:function(bu){C.ready.promise().done(bu);return this},eq:function(bu){bu=+bu;return bu===-1?this.slice(bu):this.slice(bu,bu+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(aD.apply(this,arguments),"slice",aD.call(arguments).join(","))},map:function(bu){return this.pushStack(C.map(this,function(bw,bv){return bu.call(bw,bv,bw)}))},end:function(){return this.prevObject||this.constructor(null)},push:aR,sort:[].sort,splice:[].splice};C.fn.init.prototype=C.fn;C.extend=C.fn.extend=function(){var bD,bw,bu,bv,bA,bB,bz=arguments[0]||{},by=1,bx=arguments.length,bC=false;if(typeof bz==="boolean"){bC=bz;bz=arguments[1]||{};by=2}if(typeof bz!=="object"&&!C.isFunction(bz)){bz={}}if(bx===by){bz=this;--by}for(;by<bx;by++){if((bD=arguments[by])!=null){for(bw in bD){bu=bz[bw];bv=bD[bw];if(bz===bv){continue}if(bC&&bv&&(C.isPlainObject(bv)||(bA=C.isArray(bv)))){if(bA){bA=false;bB=bu&&C.isArray(bu)?bu:[]}else{bB=bu&&C.isPlainObject(bu)?bu:{}}bz[bw]=C.extend(bC,bB,bv)}else{if(bv!==G){bz[bw]=bv}}}}}return bz};C.extend({noConflict:function(bu){if(bd.$===C){bd.$=X}if(bu&&bd.JQXLite===C){bd.JQXLite=ax}return C},isReady:false,readyWait:1,holdReady:function(bu){if(bu){C.readyWait++}else{C.ready(true)}},ready:function(bu){if(bu===true?--C.readyWait:C.isReady){return}if(!ak.body){return setTimeout(C.ready,1)}C.isReady=true;if(bu!==true&&--C.readyWait>0){return}an.resolveWith(ak,[C]);if(C.fn.trigger){C(ak).trigger("ready").off("ready")}},isFunction:function(bu){return C.type(bu)==="function"},isArray:Array.isArray||function(bu){return C.type(bu)==="array"},isWindow:function(bu){return bu!=null&&bu==bu.window},isNumeric:function(bu){return !isNaN(parseFloat(bu))&&isFinite(bu)},type:function(bu){return bu==null?String(bu):a0[y.call(bu)]||"object"},isPlainObject:function(bw){if(!bw||C.type(bw)!=="object"||bw.nodeType||C.isWindow(bw)){return false}try{if(bw.constructor&&!b.call(bw,"constructor")&&!b.call(bw.constructor.prototype,"isPrototypeOf")){return false}}catch(bv){return false}var bu;for(bu in bw){}return bu===G||b.call(bw,bu)},isEmptyObject:function(bv){var bu;for(bu in bv){return false}return true},error:function(bu){throw new Error(bu)},parseHTML:function(bx,bw,bu){var bv;if(!bx||typeof bx!=="string"){return null}if(typeof bw==="boolean"){bu=bw;bw=0}bw=bw||ak;if((bv=e.exec(bx))){return[bw.createElement(bv[1])]}bv=C.buildFragment([bx],bw,bu?null:[]);return C.merge([],(bv.cacheable?C.clone(bv.fragment):bv.fragment).childNodes)},parseJSON:function(bu){if(!bu||typeof bu!=="string"){return null}bu=C.trim(bu);if(bd.JSON&&bd.JSON.parse){return bd.JSON.parse(bu)}if(j.test(bu.replace(a5,"@").replace(K,"]").replace(t,""))){return(new Function("return "+bu))()}C.error("Invalid JSON: "+bu)},parseXML:function(bw){var bu,bv;if(!bw||typeof bw!=="string"){return null}try{if(bd.DOMParser){bv=new DOMParser();bu=bv.parseFromString(bw,"text/xml")}else{bu=new ActiveXObject("Microsoft.XMLDOM");bu.async="false";bu.loadXML(bw)}}catch(bx){bu=G}if(!bu||!bu.documentElement||bu.getElementsByTagName("parsererror").length){C.error("Invalid XML: "+bw)}return bu},noop:function(){},globalEval:function(bu){if(bu&&at.test(bu)){(bd.execScript||function(bv){bd["eval"].call(bd,bv)})(bu)}},camelCase:function(bu){return bu.replace(au,"ms-").replace(aS,m)},nodeName:function(bv,bu){return bv.nodeName&&bv.nodeName.toLowerCase()===bu.toLowerCase()},each:function(bz,bA,bw){var bv,bx=0,by=bz.length,bu=by===G||C.isFunction(bz);if(bw){if(bu){for(bv in bz){if(bA.apply(bz[bv],bw)===false){break}}}else{for(;bx<by;){if(bA.apply(bz[bx++],bw)===false){break}}}}else{if(bu){for(bv in bz){if(bA.call(bz[bv],bv,bz[bv])===false){break}}}else{for(;bx<by;){if(bA.call(bz[bx],bx,bz[bx++])===false){break}}}}return bz},trim:aw&&!aw.call("\uFEFF\xA0")?function(bu){return bu==null?"":aw.call(bu)}:function(bu){return bu==null?"":(bu+"").replace(S,"")},makeArray:function(bu,bw){var bx,bv=bw||[];if(bu!=null){bx=C.type(bu);if(bu.length==null||bx==="string"||bx==="function"||bx==="regexp"||C.isWindow(bu)){aR.call(bv,bu)}else{C.merge(bv,bu)}}return bv},inArray:function(bx,bv,bw){var bu;if(bv){if(aA){return aA.call(bv,bx,bw)}bu=bv.length;bw=bw?bw<0?Math.max(0,bu+bw):bw:0;for(;bw<bu;bw++){if(bw in bv&&bv[bw]===bx){return bw}}}return -1},merge:function(by,bw){var bu=bw.length,bx=by.length,bv=0;if(typeof bu==="number"){for(;bv<bu;bv++){by[bx++]=bw[bv]}}else{while(bw[bv]!==G){by[bx++]=bw[bv++]}}by.length=bx;return by},grep:function(bv,bA,bu){var bz,bw=[],bx=0,by=bv.length;bu=!!bu;for(;bx<by;bx++){bz=!!bA(bv[bx],bx);if(bu!==bz){bw.push(bv[bx])}}return bw},map:function(bu,bB,bC){var bz,bA,by=[],bw=0,bv=bu.length,bx=bu instanceof C||bv!==G&&typeof bv==="number"&&((bv>0&&bu[0]&&bu[bv-1])||bv===0||C.isArray(bu));if(bx){for(;bw<bv;bw++){bz=bB(bu[bw],bw,bC);if(bz!=null){by[by.length]=bz}}}else{for(bA in bu){bz=bB(bu[bA],bA,bC);if(bz!=null){by[by.length]=bz}}}return by.concat.apply([],by)},guid:1,proxy:function(by,bx){var bw,bu,bv;if(typeof bx==="string"){bw=by[bx];bx=by;by=bw}if(!C.isFunction(by)){return G}bu=aD.call(arguments,2);bv=function(){return by.apply(bx,bu.concat(aD.call(arguments)))};bv.guid=by.guid=by.guid||C.guid++;return bv},access:function(bu,bA,bD,bB,by,bE,bC){var bw,bz=bD==null,bx=0,bv=bu.length;if(bD&&typeof bD==="object"){for(bx in bD){C.access(bu,bA,bx,bD[bx],1,bE,bB)}by=1}else{if(bB!==G){bw=bC===G&&C.isFunction(bB);if(bz){if(bw){bw=bA;bA=function(bG,bF,bH){return bw.call(C(bG),bH)}}else{bA.call(bu,bB);bA=null}}if(bA){for(;bx<bv;bx++){bA(bu[bx],bD,bw?bB.call(bu[bx],bx,bA(bu[bx],bD)):bB,bC)}}by=1}}return by?bu:bz?bA.call(bu):bv?bA(bu[0],bD):bE},now:function(){return(new Date()).getTime()}});C.ready.promise=function(bx){if(!an){an=C.Deferred();if(ak.readyState==="complete"){setTimeout(C.ready,1)}else{if(ak.addEventListener){ak.addEventListener("DOMContentLoaded",a4,false);bd.addEventListener("load",C.ready,false)}else{ak.attachEvent("onreadystatechange",a4);bd.attachEvent("onload",C.ready);var bw=false;try{bw=bd.frameElement==null&&ak.documentElement}catch(bv){}if(bw&&bw.doScroll){(function bu(){if(!C.isReady){try{bw.doScroll("left")}catch(by){return setTimeout(bu,50)}C.ready()}})()}}}}return an.promise(bx)};C.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(bv,bu){a0["[object "+bu+"]"]=bu.toLowerCase()});q=C(ak);var aX={};function B(bv){var bu=aX[bv]={};C.each(bv.split(a8),function(bx,bw){bu[bw]=true});return bu}C.Callbacks=function(bE){bE=typeof bE==="string"?(aX[bE]||B(bE)):C.extend({},bE);var bx,bu,by,bw,bz,bA,bB=[],bC=!bE.once&&[],bv=function(bF){bx=bE.memory&&bF;bu=true;bA=bw||0;bw=0;bz=bB.length;by=true;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bF[0],bF[1])===false&&bE.stopOnFalse){bx=false;break}}by=false;if(bB){if(bC){if(bC.length){bv(bC.shift())}}else{if(bx){bB=[]}else{bD.disable()}}}},bD={add:function(){if(bB){var bG=bB.length;(function bF(bH){C.each(bH,function(bJ,bI){var bK=C.type(bI);if(bK==="function"){if(!bE.unique||!bD.has(bI)){bB.push(bI)}}else{if(bI&&bI.length&&bK!=="string"){bF(bI)}}})})(arguments);if(by){bz=bB.length}else{if(bx){bw=bG;bv(bx)}}}return this},remove:function(){if(bB){C.each(arguments,function(bH,bF){var bG;while((bG=C.inArray(bF,bB,bG))>-1){bB.splice(bG,1);if(by){if(bG<=bz){bz--}if(bG<=bA){bA--}}}})}return this},has:function(bF){return C.inArray(bF,bB)>-1},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=G;return this},disabled:function(){return !bB},lock:function(){bC=G;if(!bx){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){bF=bF||[];bF=[bG,bF.slice?bF.slice():bF];if(bB&&(!bu||bC)){if(by){bC.push(bF)}else{bv(bF)}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bu}};return bD};C.extend({Deferred:function(bw){var bv=[["resolve","done",C.Callbacks("once memory"),"resolved"],["reject","fail",C.Callbacks("once memory"),"rejected"],["notify","progress",C.Callbacks("memory")]],bx="pending",by={state:function(){return bx},always:function(){bu.done(arguments).fail(arguments);return this},then:function(){var bz=arguments;return C.Deferred(function(bA){C.each(bv,function(bC,bB){var bE=bB[0],bD=bz[bC];bu[bB[1]](C.isFunction(bD)?function(){var bF=bD.apply(this,arguments);if(bF&&C.isFunction(bF.promise)){bF.promise().done(bA.resolve).fail(bA.reject).progress(bA.notify)}else{bA[bE+"With"](this===bu?bA:this,[bF])}}:bA[bE])});bz=null}).promise()},promise:function(bz){return bz!=null?C.extend(bz,by):by}},bu={};by.pipe=by.then;C.each(bv,function(bA,bz){var bC=bz[2],bB=bz[3];by[bz[1]]=bC.add;if(bB){bC.add(function(){bx=bB},bv[bA^1][2].disable,bv[2][2].lock)}bu[bz[0]]=bC.fire;bu[bz[0]+"With"]=bC.fireWith});by.promise(bu);if(bw){bw.call(bu,bu)}return bu},when:function(by){var bw=0,bA=aD.call(arguments),bu=bA.length,bv=bu!==1||(by&&C.isFunction(by.promise))?bu:0,bD=bv===1?by:C.Deferred(),bx=function(bF,bG,bE){return function(bH){bG[bF]=this;bE[bF]=arguments.length>1?aD.call(arguments):bH;if(bE===bC){bD.notifyWith(bG,bE)}else{if(!(--bv)){bD.resolveWith(bG,bE)}}}},bC,bz,bB;if(bu>1){bC=new Array(bu);bz=new Array(bu);bB=new Array(bu);for(;bw<bu;bw++){if(bA[bw]&&C.isFunction(bA[bw].promise)){bA[bw].promise().done(bx(bw,bB,bA)).fail(bD.reject).progress(bx(bw,bz,bC))}else{--bv}}}if(!bv){bD.resolveWith(bB,bA)}return bD.promise()}});C.support=(function(){var bG,bF,bD,bE,bx,bC,bB,bz,by,bw,bu,bv=ak.createElement("div");bv.setAttribute("className","t");bv.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";bF=bv.getElementsByTagName("*");bD=bv.getElementsByTagName("a")[0];if(!bF||!bD||!bF.length){return{}}bE=ak.createElement("select");bx=bE.appendChild(ak.createElement("option"));bC=bv.getElementsByTagName("input")[0];bD.style.cssText="top:1px;float:left;opacity:.5";bG={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bD.getAttribute("style")),hrefNormalized:(bD.getAttribute("href")==="/a"),opacity:/^0.5/.test(bD.style.opacity),cssFloat:!!bD.style.cssFloat,checkOn:(bC.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!ak.createElement("form").enctype,html5Clone:ak.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",boxModel:(ak.compatMode==="CSS1Compat"),submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};bC.checked=true;bG.noCloneChecked=bC.cloneNode(true).checked;bE.disabled=true;bG.optDisabled=!bx.disabled;try{delete bv.test}catch(bA){bG.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",bu=function(){bG.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick");bv.detachEvent("onclick",bu)}bC=ak.createElement("input");bC.value="t";bC.setAttribute("type","radio");bG.radioValue=bC.value==="t";bC.setAttribute("checked","checked");bC.setAttribute("name","t");bv.appendChild(bC);bB=ak.createDocumentFragment();bB.appendChild(bv.lastChild);bG.checkClone=bB.cloneNode(true).cloneNode(true).lastChild.checked;bG.appendChecked=bC.checked;bB.removeChild(bC);bB.appendChild(bv);if(bv.attachEvent){for(by in {submit:true,change:true,focusin:true}){bz="on"+by;bw=(bz in bv);if(!bw){bv.setAttribute(bz,"return;");bw=(typeof bv[bz]==="function")}bG[by+"Bubbles"]=bw}}C(function(){var bI,bM,bK,bL,bJ="padding:0;margin:0;border:0;display:block;overflow:hidden;",bH=ak.getElementsByTagName("body")[0];if(!bH){return}bI=ak.createElement("div");bI.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";bH.insertBefore(bI,bH.firstChild);bM=ak.createElement("div");bI.appendChild(bM);bM.innerHTML="<table><tr><td></td><td>t</td></tr></table>";bK=bM.getElementsByTagName("td");bK[0].style.cssText="padding:0;margin:0;border:0;display:none";bw=(bK[0].offsetHeight===0);bK[0].style.display="";bK[1].style.display="none";bG.reliableHiddenOffsets=bw&&(bK[0].offsetHeight===0);bM.innerHTML="";bM.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";bG.boxSizing=(bM.offsetWidth===4);bG.doesNotIncludeMarginInBodyOffset=(bH.offsetTop!==1);if(bd.getComputedStyle){bG.pixelPosition=(bd.getComputedStyle(bM,null)||{}).top!=="1%";bG.boxSizingReliable=(bd.getComputedStyle(bM,null)||{width:"4px"}).width==="4px";bL=ak.createElement("div");bL.style.cssText=bM.style.cssText=bJ;bL.style.marginRight=bL.style.width="0";bM.style.width="1px";bM.appendChild(bL);bG.reliableMarginRight=!parseFloat((bd.getComputedStyle(bL,null)||{}).marginRight)}if(typeof bM.style.zoom!=="undefined"){bM.innerHTML="";bM.style.cssText=bJ+"width:1px;padding:1px;display:inline;zoom:1";bG.inlineBlockNeedsLayout=(bM.offsetWidth===3);bM.style.display="block";bM.style.overflow="visible";bM.innerHTML="<div></div>";bM.firstChild.style.width="5px";bG.shrinkWrapBlocks=(bM.offsetWidth!==3);bI.style.zoom=1}bH.removeChild(bI);bI=bM=bK=bL=null});bB.removeChild(bv);bF=bD=bE=bx=bC=bB=bv=null;return bG})();var aK=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aq=/([A-Z])/g;C.extend({cache:{},deletedIds:[],uuid:0,expando:"JQXLite"+(C.fn.jqx+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(bu){bu=bu.nodeType?C.cache[bu[C.expando]]:bu[C.expando];return !!bu&&!M(bu)},data:function(bx,bv,bz,by){if(!C.acceptData(bx)){return}var bA,bC,bD=C.expando,bB=typeof bv==="string",bE=bx.nodeType,bu=bE?C.cache:bx,bw=bE?bx[bD]:bx[bD]&&bD;if((!bw||!bu[bw]||(!by&&!bu[bw].data))&&bB&&bz===G){return}if(!bw){if(bE){bx[bD]=bw=C.deletedIds.pop()||C.guid++}else{bw=bD}}if(!bu[bw]){bu[bw]={};if(!bE){bu[bw].toJSON=C.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){bu[bw]=C.extend(bu[bw],bv)}else{bu[bw].data=C.extend(bu[bw].data,bv)}}bA=bu[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==G){bA[C.camelCase(bv)]=bz}if(bB){bC=bA[bv];if(bC==null){bC=bA[C.camelCase(bv)]}}else{bC=bA}return bC},removeData:function(bx,bv,by){if(!C.acceptData(bx)){return}var bB,bA,bz,bC=bx.nodeType,bu=bC?C.cache:bx,bw=bC?bx[C.expando]:C.expando;if(!bu[bw]){return}if(bv){bB=by?bu[bw]:bu[bw].data;if(bB){if(!C.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=C.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?M:C.isEmptyObject)(bB)){return}}}if(!by){delete bu[bw].data;if(!M(bu[bw])){return}}if(bC){C.cleanData([bx],true)}else{if(C.support.deleteExpando||bu!=bu.window){delete bu[bw]}else{bu[bw]=null}}},_data:function(bv,bu,bw){return C.data(bv,bu,bw,true)},acceptData:function(bv){var bu=bv.nodeName&&C.noData[bv.nodeName.toLowerCase()];return !bu||bu!==true&&bv.getAttribute("classid")===bu}});C.fn.extend({data:function(bD,bC){var by,bv,bB,bu,bx,bw=this[0],bA=0,bz=null;if(bD===G){if(this.length){bz=C.data(bw);if(bw.nodeType===1&&!C._data(bw,"parsedAttrs")){bB=bw.attributes;for(bx=bB.length;bA<bx;bA++){bu=bB[bA].name;if(!bu.indexOf("data-")){bu=C.camelCase(bu.substring(5));a9(bw,bu,bz[bu])}}C._data(bw,"parsedAttrs",true)}}return bz}if(typeof bD==="object"){return this.each(function(){C.data(this,bD)})}by=bD.split(".",2);by[1]=by[1]?"."+by[1]:"";bv=by[1]+"!";return C.access(this,function(bE){if(bE===G){bz=this.triggerHandler("getData"+bv,[by[0]]);if(bz===G&&bw){bz=C.data(bw,bD);bz=a9(bw,bD,bz)}return bz===G&&by[1]?this.data(by[0]):bz}by[1]=bE;this.each(function(){var bF=C(this);bF.triggerHandler("setData"+bv,by);C.data(this,bD,bE);bF.triggerHandler("changeData"+bv,by)})},null,bC,arguments.length>1,null,false)},removeData:function(bu){return this.each(function(){C.removeData(this,bu)})}});function a9(bw,bv,bx){if(bx===G&&bw.nodeType===1){var bu="data-"+bv.replace(aq,"-$1").toLowerCase();bx=bw.getAttribute(bu);if(typeof bx==="string"){try{bx=bx==="true"?true:bx==="false"?false:bx==="null"?null:+bx+""===bx?+bx:aK.test(bx)?C.parseJSON(bx):bx}catch(by){}C.data(bw,bv,bx)}else{bx=G}}return bx}function M(bv){var bu;for(bu in bv){if(bu==="data"&&C.isEmptyObject(bv[bu])){continue}if(bu!=="toJSON"){return false}}return true}C.extend({queue:function(bw,bv,bx){var bu;if(bw){bv=(bv||"fx")+"queue";bu=C._data(bw,bv);if(bx){if(!bu||C.isArray(bx)){bu=C._data(bw,bv,C.makeArray(bx))}else{bu.push(bx)}}return bu||[]}},dequeue:function(bz,by){by=by||"fx";var bv=C.queue(bz,by),bA=bv.length,bx=bv.shift(),bu=C._queueHooks(bz,by),bw=function(){C.dequeue(bz,by)};if(bx==="inprogress"){bx=bv.shift();bA--}if(bx){if(by==="fx"){bv.unshift("inprogress")}delete bu.stop;bx.call(bz,bw,bu)}if(!bA&&bu){bu.empty.fire()}},_queueHooks:function(bw,bv){var bu=bv+"queueHooks";return C._data(bw,bu)||C._data(bw,bu,{empty:C.Callbacks("once memory").add(function(){C.removeData(bw,bv+"queue",true);C.removeData(bw,bu,true)})})}});C.fn.extend({queue:function(bu,bv){var bw=2;if(typeof bu!=="string"){bv=bu;bu="fx";bw--}if(arguments.length<bw){return C.queue(this[0],bu)}return bv===G?this:this.each(function(){var bx=C.queue(this,bu,bv);C._queueHooks(this,bu);if(bu==="fx"&&bx[0]!=="inprogress"){C.dequeue(this,bu)}})},dequeue:function(bu){return this.each(function(){C.dequeue(this,bu)})},delay:function(bv,bu){bv=C.fx?C.fx.speeds[bv]||bv:bv;bu=bu||"fx";return this.queue(bu,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(bu){return this.queue(bu||"fx",[])},promise:function(bw,bA){var bv,bx=1,bB=C.Deferred(),bz=this,bu=this.length,by=function(){if(!(--bx)){bB.resolveWith(bz,[bz])}};if(typeof bw!=="string"){bA=bw;bw=G}bw=bw||"fx";while(bu--){bv=C._data(bz[bu],bw+"queueHooks");if(bv&&bv.empty){bx++;bv.empty.add(by)}}by();return bB.promise(bA)}});var bh,aT,ay,aI=/[\t\r\n]/g,aP=/\r/g,d=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,h=/^a(?:rea|)$/i,ae=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,A=C.support.getSetAttribute;C.fn.extend({attr:function(bu,bv){return C.access(this,C.attr,bu,bv,arguments.length>1)},removeAttr:function(bu){return this.each(function(){C.removeAttr(this,bu)})},prop:function(bu,bv){return C.access(this,C.prop,bu,bv,arguments.length>1)},removeProp:function(bu){bu=C.propFix[bu]||bu;return this.each(function(){try{this[bu]=G;delete this[bu]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,bu;if(C.isFunction(by)){return this.each(function(bC){C(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(a8);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,bu=bA.length;bB<bu;bB++){if(bz.indexOf(" "+bA[bB]+" ")<0){bz+=bA[bB]+" "}}bx.className=C.trim(bz)}}}}return this},removeClass:function(bA){var bx,by,bz,bB,bv,bw,bu;if(C.isFunction(bA)){return this.each(function(bC){C(this).removeClass(bA.call(this,bC,this.className))})}if((bA&&typeof bA==="string")||bA===G){bx=(bA||"").split(a8);for(bw=0,bu=this.length;bw<bu;bw++){bz=this[bw];if(bz.nodeType===1&&bz.className){by=(" "+bz.className+" ").replace(aI," ");for(bB=0,bv=bx.length;bB<bv;bB++){while(by.indexOf(" "+bx[bB]+" ")>=0){by=by.replace(" "+bx[bB]+" "," ")}}bz.className=bA?C.trim(by):""}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,bu=typeof bv==="boolean";if(C.isFunction(bx)){return this.each(function(by){C(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=C(this),bB=bv,bC=bx.split(a8);while((bA=bC[bz++])){bB=bu?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){C._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":C._data(this,"__className__")||""}}})},hasClass:function(bu){var bx=" "+bu+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aI," ").indexOf(bx)>=0){return true}}return false},val:function(bx){var bu,bv,by,bw=this[0];if(!arguments.length){if(bw){bu=C.valHooks[bw.type]||C.valHooks[bw.nodeName.toLowerCase()];if(bu&&"get" in bu&&(bv=bu.get(bw,"value"))!==G){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aP,""):bv==null?"":bv}return}by=C.isFunction(bx);return this.each(function(bA){var bB,bz=C(this);if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(C.isArray(bB)){bB=C.map(bB,function(bC){return bC==null?"":bC+""})}}}bu=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()];if(!bu||!("set" in bu)||bu.set(this,bB,"value")===G){this.value=bB}})}});C.extend({valHooks:{option:{get:function(bu){var bv=bu.attributes.value;return !bv||bv.specified?bu.value:bu.text}},select:{get:function(bu){var bA,bw,bC=bu.options,by=bu.selectedIndex,bx=bu.type==="select-one"||by<0,bB=bx?null:[],bz=bx?by+1:bC.length,bv=by<0?bz:bx?by:0;for(;bv<bz;bv++){bw=bC[bv];if((bw.selected||bv===by)&&(C.support.optDisabled?!bw.disabled:bw.getAttribute("disabled")===null)&&(!bw.parentNode.disabled||!C.nodeName(bw.parentNode,"optgroup"))){bA=C(bw).val();if(bx){return bA}bB.push(bA)}}return bB},set:function(bv,bw){var bu=C.makeArray(bw);C(bv).find("option").each(function(){this.selected=C.inArray(C(this).val(),bu)>=0});if(!bu.length){bv.selectedIndex=-1}return bu}}},attrFn:{},attr:function(bA,bx,bB,bz){var bw,bu,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&C.isFunction(C.fn[bx])){return C(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return C.prop(bA,bx,bB)}by=bv!==1||!C.isXMLDoc(bA);if(by){bx=bx.toLowerCase();bu=C.attrHooks[bx]||(ae.test(bx)?aT:bh)}if(bB!==G){if(bB===null){C.removeAttr(bA,bx);return}else{if(bu&&"set" in bu&&by&&(bw=bu.set(bA,bB,bx))!==G){return bw}else{bA.setAttribute(bx,bB+"");return bB}}}else{if(bu&&"get" in bu&&by&&(bw=bu.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?G:bw}}},removeAttr:function(bx,bz){var by,bA,bv,bu,bw=0;if(bz&&bx.nodeType===1){bA=bz.split(a8);for(;bw<bA.length;bw++){bv=bA[bw];if(bv){by=C.propFix[bv]||bv;bu=ae.test(bv);if(!bu){C.attr(bx,bv,"")}bx.removeAttribute(A?bv:by);if(bu&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(bu,bv){if(d.test(bu.nodeName)&&bu.parentNode){C.error("type property can't be changed")}else{if(!C.support.radioValue&&bv==="radio"&&C.nodeName(bu,"input")){var bw=bu.value;bu.setAttribute("type",bv);if(bw){bu.value=bw}return bv}}}},value:{get:function(bv,bu){if(bh&&C.nodeName(bv,"button")){return bh.get(bv,bu)}return bu in bv?bv.value:null},set:function(bv,bw,bu){if(bh&&C.nodeName(bv,"button")){return bh.set(bv,bw,bu)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,bu,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!C.isXMLDoc(bz);if(by){bx=C.propFix[bx]||bx;bu=C.propHooks[bx]}if(bA!==G){if(bu&&"set" in bu&&(bw=bu.set(bz,bA,bx))!==G){return bw}else{return(bz[bx]=bA)}}else{if(bu&&"get" in bu&&(bw=bu.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var bu=bv.getAttributeNode("tabindex");return bu&&bu.specified?parseInt(bu.value,10):z.test(bv.nodeName)||h.test(bv.nodeName)&&bv.href?0:G}}}});aT={get:function(bv,bu){var bx,bw=C.prop(bv,bu);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(bu))&&bx.nodeValue!==false?bu.toLowerCase():G},set:function(bv,bx,bu){var bw;if(bx===false){C.removeAttr(bv,bu)}else{bw=C.propFix[bu]||bu;if(bw in bv){bv[bw]=true}bv.setAttribute(bu,bu.toLowerCase())}return bu}};if(!C.support.enctype){C.propFix.enctype="encoding"}var bf=/^(?:textarea|input|select)$/i,n=/^([^\.]*|)(?:\.(.+)|)$/,F=/(?:^|\s)hover(\.\S+|)\b/,aH=/^key/,bi=/^(?:mouse|contextmenu)|click/,N=/^(?:focusinfocus|focusoutblur)$/,bs=function(bu){return C.event.special.hover?bu:bu.replace(F,"mouseenter$1 mouseleave$1")};C.event={add:function(bx,bB,bI,bz,by){var bC,bA,bJ,bH,bG,bE,bu,bF,bv,bw,bD;if(bx.nodeType===3||bx.nodeType===8||!bB||!bI||!(bC=C._data(bx))){return}if(bI.handler){bv=bI;bI=bv.handler;by=bv.selector}if(!bI.guid){bI.guid=C.guid++}bJ=bC.events;if(!bJ){bC.events=bJ={}}bA=bC.handle;if(!bA){bC.handle=bA=function(bK){return typeof C!=="undefined"&&(!bK||C.event.triggered!==bK.type)?C.event.dispatch.apply(bA.elem,arguments):G};bA.elem=bx}bB=C.trim(bs(bB)).split(" ");for(bH=0;bH<bB.length;bH++){bG=n.exec(bB[bH])||[];bE=bG[1];bu=(bG[2]||"").split(".").sort();bD=C.event.special[bE]||{};bE=(by?bD.delegateType:bD.bindType)||bE;bD=C.event.special[bE]||{};bF=C.extend({type:bE,origType:bG[1],data:bz,handler:bI,guid:bI.guid,selector:by,needsContext:by&&C.expr.match.needsContext.test(by),namespace:bu.join(".")},bv);bw=bJ[bE];if(!bw){bw=bJ[bE]=[];bw.delegateCount=0;if(!bD.setup||bD.setup.call(bx,bz,bu,bA)===false){if(bx.addEventListener){if(bz&&bz.passive!==G){bx.addEventListener(bE,bA,bz)}else{bx.addEventListener(bE,bA,false)}}else{if(bx.attachEvent){bx.attachEvent("on"+bE,bA)}}}}if(bD.add){bD.add.call(bx,bF);if(!bF.handler.guid){bF.handler.guid=bI.guid}}if(by){bw.splice(bw.delegateCount++,0,bF)}else{bw.push(bF)}C.event.global[bE]=true}bx=null},global:{},remove:function(bx,bC,bI,by,bB){var bJ,bK,bF,bw,bv,bz,bA,bH,bE,bu,bG,bD=C.hasData(bx)&&C._data(bx);if(!bD||!(bH=bD.events)){return}bC=C.trim(bs(bC||"")).split(" ");for(bJ=0;bJ<bC.length;bJ++){bK=n.exec(bC[bJ])||[];bF=bw=bK[1];bv=bK[2];if(!bF){for(bF in bH){C.event.remove(bx,bF+bC[bJ],bI,by,true)}continue}bE=C.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bu=bH[bF]||[];bz=bu.length;bv=bv?new RegExp("(^|\\.)"+bv.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(bA=0;bA<bu.length;bA++){bG=bu[bA];if((bB||bw===bG.origType)&&(!bI||bI.guid===bG.guid)&&(!bv||bv.test(bG.namespace))&&(!by||by===bG.selector||by==="**"&&bG.selector)){bu.splice(bA--,1);if(bG.selector){bu.delegateCount--}if(bE.remove){bE.remove.call(bx,bG)}}}if(bu.length===0&&bz!==bu.length){if(!bE.teardown||bE.teardown.call(bx,bv,bD.handle)===false){C.removeEvent(bx,bF,bD.handle)}delete bH[bF]}}if(C.isEmptyObject(bH)){delete bD.handle;C.removeData(bx,"events",true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bC,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bu,bx,bD,bH,bz,by,bF,bE,bB,bI,bG=bv.type||bv,bw=[];if(N.test(bG+C.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bx=true}if(bG.indexOf(".")>=0){bw=bG.split(".");bG=bw.shift();bw.sort()}if((!bA||C.event.customEvent[bG])&&!C.event.global[bG]){return}bv=typeof bv==="object"?bv[C.expando]?bv:new C.Event(bG,bv):new C.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bx;bv.namespace=bw.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bw.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){bu=C.cache;for(bD in bu){if(bu[bD].events&&bu[bD].events[bG]){C.event.trigger(bv,bC,bu[bD].handle.elem,true)}}return}bv.result=G;if(!bv.target){bv.target=bA}bC=bC!=null?C.makeArray(bC):[];bC.unshift(bv);bF=C.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bC)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!C.isWindow(bA)){bI=bF.delegateType||bG;bH=N.test(bI+bG)?bA:bA.parentNode;for(bz=bA;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz===(bA.ownerDocument||ak)){bB.push([bz.defaultView||bz.parentWindow||bd,bI])}}for(bD=0;bD<bB.length&&!bv.isPropagationStopped();bD++){bH=bB[bD][0];bv.type=bB[bD][1];bE=(C._data(bH,"events")||{})[bv.type]&&C._data(bH,"handle");if(bE){bE.apply(bH,bC)}bE=by&&bH[by];if(bE&&C.acceptData(bH)&&bE.apply&&bE.apply(bH,bC)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bC)===false)&&!(bG==="click"&&C.nodeName(bA,"a"))&&C.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!C.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}C.event.triggered=bG;bA[bG]();C.event.triggered=G;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(bu){bu=C.event.fix(bu||bd.event);var bB,bA,bK,bE,bD,bv,bC,bI,bx,bJ,by=((C._data(this,"events")||{})[bu.type]||[]),bz=by.delegateCount,bG=aD.call(arguments),bw=!bu.exclusive&&!bu.namespace,bF=C.event.special[bu.type]||{},bH=[];bG[0]=bu;bu.delegateTarget=this;if(bF.preDispatch&&bF.preDispatch.call(this,bu)===false){return}if(bz&&!(bu.button&&bu.type==="click")){for(bK=bu.target;bK!=this;bK=bK.parentNode||this){if(bK.disabled!==true||bu.type!=="click"){bD={};bC=[];for(bB=0;bB<bz;bB++){bI=by[bB];bx=bI.selector;if(bD[bx]===G){bD[bx]=bI.needsContext?C(bx,this).index(bK)>=0:C.find(bx,this,null,[bK]).length}if(bD[bx]){bC.push(bI)}}if(bC.length){bH.push({elem:bK,matches:bC})}}}}if(by.length>bz){bH.push({elem:this,matches:by.slice(bz)})}for(bB=0;bB<bH.length&&!bu.isPropagationStopped();bB++){bv=bH[bB];bu.currentTarget=bv.elem;for(bA=0;bA<bv.matches.length&&!bu.isImmediatePropagationStopped();bA++){bI=bv.matches[bA];if(bw||(!bu.namespace&&!bI.namespace)||bu.namespace_re&&bu.namespace_re.test(bI.namespace)){bu.data=bI.data;bu.handleObj=bI;bE=((C.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bE!==G){bu.result=bE;if(bE===false){bu.preventDefault();bu.stopPropagation()}}}}}if(bF.postDispatch){bF.postDispatch.call(this,bu)}return bu.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,bu){if(bv.which==null){bv.which=bu.charCode!=null?bu.charCode:bu.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,bu,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||ak;bz=by.documentElement;bu=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||bu&&bu.scrollLeft||0)-(bz&&bz.clientLeft||bu&&bu.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||bu&&bu.scrollTop||0)-(bz&&bz.clientTop||bu&&bu.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==G){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[C.expando]){return bw}var bv,bz,bu=bw,bx=C.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=C.Event(bu);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=bu[bz]}if(!bw.target){bw.target=bu.srcElement||ak}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}bw.metaKey=!!bw.metaKey;return bx.filter?bx.filter(bw,bu):bw},special:{load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,bu){if(C.isWindow(this)){this.onbeforeunload=bu}},teardown:function(bv,bu){if(this.onbeforeunload===bu){this.onbeforeunload=null}}}},simulate:function(bv,bx,bw,bu){var by=C.extend(new C.Event(),bw,{type:bv,isSimulated:true,originalEvent:{}});if(bu){C.event.trigger(by,null,bx)}else{C.event.dispatch.call(bx,by)}if(by.isDefaultPrevented()){bw.preventDefault()}}};C.event.handle=C.event.dispatch;C.removeEvent=ak.removeEventListener?function(bv,bu,bw){if(bv.removeEventListener){bv.removeEventListener(bu,bw,false)}}:function(bw,bv,bx){var bu="on"+bv;if(bw.detachEvent){if(typeof bw[bu]==="undefined"){bw[bu]=null}bw.detachEvent(bu,bx)}};C.Event=function(bv,bu){if(!(this instanceof C.Event)){return new C.Event(bv,bu)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?f:bn}else{this.type=bv}if(bu){C.extend(this,bu)}this.timeStamp=bv&&bv.timeStamp||C.now();this[C.expando]=true};function bn(){return false}function f(){return true}C.Event.prototype={preventDefault:function(){this.isDefaultPrevented=f;var bu=this.originalEvent;if(!bu){return}if(bu.preventDefault){bu.preventDefault()}else{bu.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=f;var bu=this.originalEvent;if(!bu){return}if(bu.stopPropagation){bu.stopPropagation()}bu.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=f;this.stopPropagation()},isDefaultPrevented:bn,isPropagationStopped:bn,isImmediatePropagationStopped:bn};C.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,bu){C.event.special[bv]={delegateType:bu,bindType:bu,handle:function(bz){var bx,bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector;if(!bA||(bA!==bB&&!C.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=bu}return bx}}});C.fn.extend({on:function(bw,bu,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof bu!=="string"){bz=bz||bu;bu=G}for(bx in bw){this.on(bx,bu,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=bu;bz=bu=G}else{if(by==null){if(typeof bu==="string"){by=bz;bz=G}else{by=bz;bz=bu;bu=G}}}if(by===false){by=bn}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){C().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=C.guid++)}return this.each(function(){C.event.add(this,bw,by,bz,bu)})},off:function(bw,bu,by){var bv,bx;if(bw&&bw.preventDefault&&bw.handleObj){bv=bw.handleObj;C(bw.delegateTarget).off(bv.namespace?bv.origType+"."+bv.namespace:bv.origType,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(bx in bw){this.off(bx,bu,bw[bx])}return this}if(bu===false||typeof bu==="function"){by=bu;bu=G}if(by===false){by=bn}return this.each(function(){C.event.remove(this,bw,by,bu)})},delegate:function(bu,bv,bx,bw){return this.on(bv,bu,bx,bw)},undelegate:function(bu,bv,bw){return arguments.length===1?this.off(bu,"**"):this.off(bv,bu||"**",bw)},trigger:function(bu,bv){return this.each(function(){C.event.trigger(bu,bv,this)})},triggerHandler:function(bu,bv){if(this[0]){return C.event.trigger(bu,bv,this[0],true)}},toggle:function(bx){var bv=arguments,bu=bx.guid||C.guid++,bw=0,by=function(bz){var bA=(C._data(this,"lastToggle"+bx.guid)||0)%bw;C._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=bu;while(bw<bv.length){bv[bw++].guid=bu}return this.click(by)},hover:function(bu,bv){return this.mouseenter(bu).mouseleave(bv||bu)}});C.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,bu){C.fn[bu]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(bu,null,bx,bw):this.trigger(bu)};if(aH.test(bu)){C.event.fixHooks[bu]=C.event.keyHooks}if(bi.test(bu)){C.event.fixHooks[bu]=C.event.mouseHooks}});
 /*!
          * Sizzle CSS Selector Engine
          * Copyright 2012 JQXLite Foundation and other contributors
          * Released under the MIT license
          * http://sizzlejs.com/
          */
-(function(cn,bM){var cs,bF,cg,bv,bR,b5,bI,bL,bH,ce,bE=true,bZ="undefined",cu=("sizcache"+Math.random()).replace(".",""),bz=String,bD=cn.document,bG=bD.documentElement,bW=0,bK=0,b9=[].pop,cr=[].push,bQ=[].slice,bT=[].indexOf||function(cE){var cD=0,cC=this.length;for(;cD<cC;cD++){if(this[cD]===cE){return cD}}return -1},cw=function(cC,cD){cC[cu]=cD==null||cD;return cC},cA=function(){var cC={},cD=[];return cw(function(cE,cF){if(cD.push(cE)>cg.cacheLength){delete cC[cD.shift()]}return(cC[cE+" "]=cF)},cC)},cp=cA(),cq=cA(),bS=cA(),b3="[\\x20\\t\\r\\n\\f]",bP="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",bN=bP.replace("w","w#"),cz="([*^$|!~]?=)",ck="\\["+b3+"*("+bP+")"+b3+"*(?:"+cz+b3+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+bN+")|)|)"+b3+"*\\]",cB=":("+bP+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+ck+")|[^:]|\\\\.)*|.*))\\)|)",b4=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+b3+"*((?:-\\d)?\\d*)"+b3+"*\\)|)(?=[^-]|$)",co=new RegExp("^"+b3+"+|((?:^|[^\\\\])(?:\\\\.)*)"+b3+"+$","g"),bA=new RegExp("^"+b3+"*,"+b3+"*"),cc=new RegExp("^"+b3+"*([\\x20\\t\\r\\n\\f>+~])"+b3+"*"),ch=new RegExp(cB),cj=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,b8=/^:not/,cm=/[\x20\t\r\n\f]*[+~]/,cv=/:not\($/,bX=/h\d/i,ci=/input|select|textarea|button/i,bY=/\\(?!\\)/g,cb={ID:new RegExp("^#("+bP+")"),CLASS:new RegExp("^\\.("+bP+")"),NAME:new RegExp("^\\[name=['\"]?("+bP+")['\"]?\\]"),TAG:new RegExp("^("+bP.replace("w","w*")+")"),ATTR:new RegExp("^"+ck),PSEUDO:new RegExp("^"+cB),POS:new RegExp(b4,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+b3+"*(even|odd|(([+-]|)(\\d*)n|)"+b3+"*(?:([+-]|)"+b3+"*(\\d+)|))"+b3+"*\\)|)","i"),needsContext:new RegExp("^"+b3+"*[>+~]|"+b4,"i")},cf=function(cC){var cE=bD.createElement("div");try{return cC(cE)}catch(cD){return false}finally{cE=null}},bC=cf(function(cC){cC.appendChild(bD.createComment(""));return !cC.getElementsByTagName("*").length}),b7=cf(function(cC){cC.innerHTML="<a href='#'></a>";return cC.firstChild&&typeof cC.firstChild.getAttribute!==bZ&&cC.firstChild.getAttribute("href")==="#"}),bV=cf(function(cD){cD.innerHTML="<select></select>";var cC=typeof cD.lastChild.getAttribute("multiple");return cC!=="boolean"&&cC!=="string"}),b6=cf(function(cC){cC.innerHTML="<div class='hidden e'></div><div class='hidden'></div>";if(!cC.getElementsByClassName||!cC.getElementsByClassName("e").length){return false}cC.lastChild.className="e";return cC.getElementsByClassName("e").length===2}),bu=cf(function(cD){cD.id=cu+0;cD.innerHTML="<a name='"+cu+"'></a><div name='"+cu+"'></div>";bG.insertBefore(cD,bG.firstChild);var cC=bD.getElementsByName&&bD.getElementsByName(cu).length===2+bD.getElementsByName(cu+0).length;bF=!bD.getElementById(cu);bG.removeChild(cD);return cC});try{bQ.call(bG.childNodes,0)[0].nodeType}catch(cy){bQ=function(cD){var cE,cC=[];for(;(cE=this[cD]);cD++){cC.push(cE)}return cC}}function cl(cF,cC,cH,cK){cH=cH||[];cC=cC||bD;var cI,cD,cJ,cE,cG=cC.nodeType;if(!cF||typeof cF!=="string"){return cH}if(cG!==1&&cG!==9){return[]}cJ=bR(cC);if(!cJ&&!cK){if((cI=cj.exec(cF))){if((cE=cI[1])){if(cG===9){cD=cC.getElementById(cE);if(cD&&cD.parentNode){if(cD.id===cE){cH.push(cD);return cH}}else{return cH}}else{if(cC.ownerDocument&&(cD=cC.ownerDocument.getElementById(cE))&&b5(cC,cD)&&cD.id===cE){cH.push(cD);return cH}}}else{if(cI[2]){cr.apply(cH,bQ.call(cC.getElementsByTagName(cF),0));return cH}else{if((cE=cI[3])&&b6&&cC.getElementsByClassName){cr.apply(cH,bQ.call(cC.getElementsByClassName(cE),0));return cH}}}}}return ct(cF.replace(co,"$1"),cC,cH,cK,cJ)}cl.matches=function(cD,cC){return cl(cD,null,null,cC)};cl.matchesSelector=function(cC,cD){return cl(cD,null,null,[cC]).length>0};function cd(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return cD==="input"&&cE.type===cC}}function by(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return(cD==="input"||cD==="button")&&cE.type===cC}}function ca(cC){return cw(function(cD){cD=+cD;return cw(function(cE,cI){var cG,cF=cC([],cE.length,cD),cH=cF.length;while(cH--){if(cE[(cG=cF[cH])]){cE[cG]=!(cI[cG]=cE[cG])}}})})}bv=cl.getText=function(cG){var cF,cD="",cE=0,cC=cG.nodeType;if(cC){if(cC===1||cC===9||cC===11){if(typeof cG.textContent==="string"){return cG.textContent}else{for(cG=cG.firstChild;cG;cG=cG.nextSibling){cD+=bv(cG)}}}else{if(cC===3||cC===4){return cG.nodeValue}}}else{for(;(cF=cG[cE]);cE++){cD+=bv(cF)}}return cD};bR=cl.isXML=function(cC){var cD=cC&&(cC.ownerDocument||cC).documentElement;return cD?cD.nodeName!=="HTML":false};b5=cl.contains=bG.contains?function(cD,cC){var cF=cD.nodeType===9?cD.documentElement:cD,cE=cC&&cC.parentNode;return cD===cE||!!(cE&&cE.nodeType===1&&cF.contains&&cF.contains(cE))}:bG.compareDocumentPosition?function(cD,cC){return cC&&!!(cD.compareDocumentPosition(cC)&16)}:function(cD,cC){while((cC=cC.parentNode)){if(cC===cD){return true}}return false};cl.attr=function(cE,cD){var cF,cC=bR(cE);if(!cC){cD=cD.toLowerCase()}if((cF=cg.attrHandle[cD])){return cF(cE)}if(cC||bV){return cE.getAttribute(cD)}cF=cE.getAttributeNode(cD);return cF?typeof cE[cD]==="boolean"?cE[cD]?cD:null:cF.specified?cF.value:null:null};cg=cl.selectors={cacheLength:50,createPseudo:cw,match:cb,attrHandle:b7?{}:{href:function(cC){return cC.getAttribute("href",2)},type:function(cC){return cC.getAttribute("type")}},find:{ID:bF?function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC&&cC.parentNode?[cC]:[]}}:function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC?cC.id===cF||typeof cC.getAttributeNode!==bZ&&cC.getAttributeNode("id").value===cF?[cC]:bM:[]}},TAG:bC?function(cC,cD){if(typeof cD.getElementsByTagName!==bZ){return cD.getElementsByTagName(cC)}}:function(cC,cG){var cF=cG.getElementsByTagName(cC);if(cC==="*"){var cH,cE=[],cD=0;for(;(cH=cF[cD]);cD++){if(cH.nodeType===1){cE.push(cH)}}return cE}return cF},NAME:bu&&function(cC,cD){if(typeof cD.getElementsByName!==bZ){return cD.getElementsByName(name)}},CLASS:b6&&function(cE,cD,cC){if(typeof cD.getElementsByClassName!==bZ&&!cC){return cD.getElementsByClassName(cE)}}},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(cC){cC[1]=cC[1].replace(bY,"");cC[3]=(cC[4]||cC[5]||"").replace(bY,"");if(cC[2]==="~="){cC[3]=" "+cC[3]+" "}return cC.slice(0,4)},CHILD:function(cC){cC[1]=cC[1].toLowerCase();if(cC[1]==="nth"){if(!cC[2]){cl.error(cC[0])}cC[3]=+(cC[3]?cC[4]+(cC[5]||1):2*(cC[2]==="even"||cC[2]==="odd"));cC[4]=+((cC[6]+cC[7])||cC[2]==="odd")}else{if(cC[2]){cl.error(cC[0])}}return cC},PSEUDO:function(cD){var cE,cC;if(cb.CHILD.test(cD[0])){return null}if(cD[3]){cD[2]=cD[3]}else{if((cE=cD[4])){if(ch.test(cE)&&(cC=bw(cE,true))&&(cC=cE.indexOf(")",cE.length-cC)-cE.length)){cE=cE.slice(0,cC);cD[0]=cD[0].slice(0,cC)}cD[2]=cE}}return cD.slice(0,3)}},filter:{ID:bF?function(cC){cC=cC.replace(bY,"");return function(cD){return cD.getAttribute("id")===cC}}:function(cC){cC=cC.replace(bY,"");return function(cE){var cD=typeof cE.getAttributeNode!==bZ&&cE.getAttributeNode("id");return cD&&cD.value===cC}},TAG:function(cC){if(cC==="*"){return function(){return true}}cC=cC.replace(bY,"").toLowerCase();return function(cD){return cD.nodeName&&cD.nodeName.toLowerCase()===cC}},CLASS:function(cC){var cD=cp[cu][cC+" "];return cD||(cD=new RegExp("(^|"+b3+")"+cC+"("+b3+"|$)"))&&cp(cC,function(cE){return cD.test(cE.className||(typeof cE.getAttribute!==bZ&&cE.getAttribute("class"))||"")})},ATTR:function(cE,cD,cC){return function(cH,cG){var cF=cl.attr(cH,cE);if(cF==null){return cD==="!="}if(!cD){return true}cF+="";return cD==="="?cF===cC:cD==="!="?cF!==cC:cD==="^="?cC&&cF.indexOf(cC)===0:cD==="*="?cC&&cF.indexOf(cC)>-1:cD==="$="?cC&&cF.substr(cF.length-cC.length)===cC:cD==="~="?(" "+cF+" ").indexOf(cC)>-1:cD==="|="?cF===cC||cF.substr(0,cC.length+1)===cC+"-":false}},CHILD:function(cC,cE,cF,cD){if(cC==="nth"){return function(cI){var cH,cJ,cG=cI.parentNode;if(cF===1&&cD===0){return true}if(cG){cJ=0;for(cH=cG.firstChild;cH;cH=cH.nextSibling){if(cH.nodeType===1){cJ++;if(cI===cH){break}}}}cJ-=cD;return cJ===cF||(cJ%cF===0&&cJ/cF>=0)}}return function(cH){var cG=cH;switch(cC){case"only":case"first":while((cG=cG.previousSibling)){if(cG.nodeType===1){return false}}if(cC==="first"){return true}cG=cH;case"last":while((cG=cG.nextSibling)){if(cG.nodeType===1){return false}}return true}}},PSEUDO:function(cF,cE){var cC,cD=cg.pseudos[cF]||cg.setFilters[cF.toLowerCase()]||cl.error("unsupported pseudo: "+cF);if(cD[cu]){return cD(cE)}if(cD.length>1){cC=[cF,cF,"",cE];return cg.setFilters.hasOwnProperty(cF.toLowerCase())?cw(function(cI,cK){var cH,cG=cD(cI,cE),cJ=cG.length;while(cJ--){cH=bT.call(cI,cG[cJ]);cI[cH]=!(cK[cH]=cG[cJ])}}):function(cG){return cD(cG,0,cC)}}return cD}},pseudos:{not:cw(function(cC){var cD=[],cE=[],cF=bI(cC.replace(co,"$1"));return cF[cu]?cw(function(cH,cM,cK,cI){var cL,cG=cF(cH,null,cI,[]),cJ=cH.length;while(cJ--){if((cL=cG[cJ])){cH[cJ]=!(cM[cJ]=cL)}}}):function(cI,cH,cG){cD[0]=cI;cF(cD,null,cG,cE);return !cE.pop()}}),has:cw(function(cC){return function(cD){return cl(cC,cD).length>0}}),contains:cw(function(cC){return function(cD){return(cD.textContent||cD.innerText||bv(cD)).indexOf(cC)>-1}}),enabled:function(cC){return cC.disabled===false},disabled:function(cC){return cC.disabled===true},checked:function(cC){var cD=cC.nodeName.toLowerCase();return(cD==="input"&&!!cC.checked)||(cD==="option"&&!!cC.selected)},selected:function(cC){if(cC.parentNode){cC.parentNode.selectedIndex}return cC.selected===true},parent:function(cC){return !cg.pseudos.empty(cC)},empty:function(cD){var cC;cD=cD.firstChild;while(cD){if(cD.nodeName>"@"||(cC=cD.nodeType)===3||cC===4){return false}cD=cD.nextSibling}return true},header:function(cC){return bX.test(cC.nodeName)},text:function(cE){var cD,cC;return cE.nodeName.toLowerCase()==="input"&&(cD=cE.type)==="text"&&((cC=cE.getAttribute("type"))==null||cC.toLowerCase()===cD)},radio:cd("radio"),checkbox:cd("checkbox"),file:cd("file"),password:cd("password"),image:cd("image"),submit:by("submit"),reset:by("reset"),button:function(cD){var cC=cD.nodeName.toLowerCase();return cC==="input"&&cD.type==="button"||cC==="button"},input:function(cC){return ci.test(cC.nodeName)},focus:function(cC){var cD=cC.ownerDocument;return cC===cD.activeElement&&(!cD.hasFocus||cD.hasFocus())&&!!(cC.type||cC.href||~cC.tabIndex)},active:function(cC){return cC===cC.ownerDocument.activeElement},first:ca(function(){return[0]}),last:ca(function(cC,cD){return[cD-1]}),eq:ca(function(cC,cE,cD){return[cD<0?cD+cE:cD]}),even:ca(function(cC,cE){for(var cD=0;cD<cE;cD+=2){cC.push(cD)}return cC}),odd:ca(function(cC,cE){for(var cD=1;cD<cE;cD+=2){cC.push(cD)}return cC}),lt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;--cD>=0;){cC.push(cD)}return cC}),gt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;++cD<cF;){cC.push(cD)}return cC})}};function bx(cD,cC,cE){if(cD===cC){return cE}var cF=cD.nextSibling;while(cF){if(cF===cC){return -1}cF=cF.nextSibling}return 1}bL=bG.compareDocumentPosition?function(cD,cC){if(cD===cC){bH=true;return 0}return(!cD.compareDocumentPosition||!cC.compareDocumentPosition?cD.compareDocumentPosition:cD.compareDocumentPosition(cC)&4)?-1:1}:function(cK,cJ){if(cK===cJ){bH=true;return 0}else{if(cK.sourceIndex&&cJ.sourceIndex){return cK.sourceIndex-cJ.sourceIndex}}var cH,cD,cE=[],cC=[],cG=cK.parentNode,cI=cJ.parentNode,cL=cG;if(cG===cI){return bx(cK,cJ)}else{if(!cG){return -1}else{if(!cI){return 1}}}while(cL){cE.unshift(cL);cL=cL.parentNode}cL=cI;while(cL){cC.unshift(cL);cL=cL.parentNode}cH=cE.length;cD=cC.length;for(var cF=0;cF<cH&&cF<cD;cF++){if(cE[cF]!==cC[cF]){return bx(cE[cF],cC[cF])}}return cF===cH?bx(cK,cC[cF],-1):bx(cE[cF],cJ,1)};[0,0].sort(bL);bE=!bH;cl.uniqueSort=function(cE){var cF,cG=[],cD=1,cC=0;bH=bE;cE.sort(bL);if(bH){for(;(cF=cE[cD]);cD++){if(cF===cE[cD-1]){cC=cG.push(cD)}}while(cC--){cE.splice(cG[cC],1)}}return cE};cl.error=function(cC){throw new Error("Syntax error, unrecognized expression: "+cC)};function bw(cG,cL){var cD,cH,cJ,cK,cI,cE,cC,cF=cq[cu][cG+" "];if(cF){return cL?0:cF.slice(0)}cI=cG;cE=[];cC=cg.preFilter;while(cI){if(!cD||(cH=bA.exec(cI))){if(cH){cI=cI.slice(cH[0].length)||cI}cE.push(cJ=[])}cD=false;if((cH=cc.exec(cI))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cH[0].replace(co," ")}for(cK in cg.filter){if((cH=cb[cK].exec(cI))&&(!cC[cK]||(cH=cC[cK](cH)))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cK;cD.matches=cH}}if(!cD){break}}return cL?cI.length:cI?cl.error(cG):cq(cG,cE).slice(0)}function b1(cG,cE,cF){var cC=cE.dir,cH=cF&&cE.dir==="parentNode",cD=bK++;return cE.first?function(cK,cJ,cI){while((cK=cK[cC])){if(cH||cK.nodeType===1){return cG(cK,cJ,cI)}}}:function(cL,cK,cJ){if(!cJ){var cI,cM=bW+" "+cD+" ",cN=cM+cs;while((cL=cL[cC])){if(cH||cL.nodeType===1){if((cI=cL[cu])===cN){return cL.sizset}else{if(typeof cI==="string"&&cI.indexOf(cM)===0){if(cL.sizset){return cL}}else{cL[cu]=cN;if(cG(cL,cK,cJ)){cL.sizset=true;return cL}cL.sizset=false}}}}}else{while((cL=cL[cC])){if(cH||cL.nodeType===1){if(cG(cL,cK,cJ)){return cL}}}}}}function bJ(cC){return cC.length>1?function(cG,cF,cD){var cE=cC.length;while(cE--){if(!cC[cE](cG,cF,cD)){return false}}return true}:cC[0]}function b0(cC,cD,cE,cF,cI){var cG,cL=[],cH=0,cJ=cC.length,cK=cD!=null;for(;cH<cJ;cH++){if((cG=cC[cH])){if(!cE||cE(cG,cF,cI)){cL.push(cG);if(cK){cD.push(cH)}}}}return cL}function cx(cE,cD,cG,cF,cH,cC){if(cF&&!cF[cu]){cF=cx(cF)}if(cH&&!cH[cu]){cH=cx(cH,cC)}return cw(function(cS,cP,cK,cR){var cU,cQ,cM,cL=[],cT=[],cJ=cP.length,cI=cS||bU(cD||"*",cK.nodeType?[cK]:cK,[]),cN=cE&&(cS||!cD)?b0(cI,cL,cE,cK,cR):cI,cO=cG?cH||(cS?cE:cJ||cF)?[]:cP:cN;if(cG){cG(cN,cO,cK,cR)}if(cF){cU=b0(cO,cT);cF(cU,[],cK,cR);cQ=cU.length;while(cQ--){if((cM=cU[cQ])){cO[cT[cQ]]=!(cN[cT[cQ]]=cM)}}}if(cS){if(cH||cE){if(cH){cU=[];cQ=cO.length;while(cQ--){if((cM=cO[cQ])){cU.push((cN[cQ]=cM))}}cH(null,(cO=[]),cU,cR)}cQ=cO.length;while(cQ--){if((cM=cO[cQ])&&(cU=cH?bT.call(cS,cM):cL[cQ])>-1){cS[cU]=!(cP[cU]=cM)}}}}else{cO=b0(cO===cP?cO.splice(cJ,cO.length):cO);if(cH){cH(null,cP,cO,cR)}else{cr.apply(cP,cO)}}})}function b2(cI){var cD,cG,cE,cH=cI.length,cL=cg.relative[cI[0].type],cM=cL||cg.relative[" "],cF=cL?1:0,cJ=b1(function(cN){return cN===cD},cM,true),cK=b1(function(cN){return bT.call(cD,cN)>-1},cM,true),cC=[function(cP,cO,cN){return(!cL&&(cN||cO!==ce))||((cD=cO).nodeType?cJ(cP,cO,cN):cK(cP,cO,cN))}];for(;cF<cH;cF++){if((cG=cg.relative[cI[cF].type])){cC=[b1(bJ(cC),cG)]}else{cG=cg.filter[cI[cF].type].apply(null,cI[cF].matches);if(cG[cu]){cE=++cF;for(;cE<cH;cE++){if(cg.relative[cI[cE].type]){break}}return cx(cF>1&&bJ(cC),cF>1&&cI.slice(0,cF-1).join("").replace(co,"$1"),cG,cF<cE&&b2(cI.slice(cF,cE)),cE<cH&&b2((cI=cI.slice(cE))),cE<cH&&cI.join(""))}cC.push(cG)}}return bJ(cC)}function bB(cF,cE){var cC=cE.length>0,cG=cF.length>0,cD=function(cQ,cK,cP,cO,cW){var cL,cM,cR,cV=[],cU=0,cN="0",cH=cQ&&[],cS=cW!=null,cT=ce,cJ=cQ||cG&&cg.find.TAG("*",cW&&cK.parentNode||cK),cI=(bW+=cT==null?1:Math.E);if(cS){ce=cK!==bD&&cK;cs=cD.el}for(;(cL=cJ[cN])!=null;cN++){if(cG&&cL){for(cM=0;(cR=cF[cM]);cM++){if(cR(cL,cK,cP)){cO.push(cL);break}}if(cS){bW=cI;cs=++cD.el}}if(cC){if((cL=!cR&&cL)){cU--}if(cQ){cH.push(cL)}}}cU+=cN;if(cC&&cN!==cU){for(cM=0;(cR=cE[cM]);cM++){cR(cH,cV,cK,cP)}if(cQ){if(cU>0){while(cN--){if(!(cH[cN]||cV[cN])){cV[cN]=b9.call(cO)}}}cV=b0(cV)}cr.apply(cO,cV);if(cS&&!cQ&&cV.length>0&&(cU+cE.length)>1){cl.uniqueSort(cO)}}if(cS){bW=cI;ce=cT}return cH};cD.el=0;return cC?cw(cD):cD}bI=cl.compile=function(cC,cH){var cE,cD=[],cG=[],cF=bS[cu][cC+" "];if(!cF){if(!cH){cH=bw(cC)}cE=cH.length;while(cE--){cF=b2(cH[cE]);if(cF[cu]){cD.push(cF)}else{cG.push(cF)}}cF=bS(cC,bB(cG,cD))}return cF};function bU(cD,cG,cF){var cE=0,cC=cG.length;for(;cE<cC;cE++){cl(cD,cG[cE],cF)}return cF}function ct(cE,cC,cG,cK,cJ){var cH,cN,cD,cM,cL,cI=bw(cE),cF=cI.length;if(!cK){if(cI.length===1){cN=cI[0]=cI[0].slice(0);if(cN.length>2&&(cD=cN[0]).type==="ID"&&cC.nodeType===9&&!cJ&&cg.relative[cN[1].type]){cC=cg.find.ID(cD.matches[0].replace(bY,""),cC,cJ)[0];if(!cC){return cG}cE=cE.slice(cN.shift().length)}for(cH=cb.POS.test(cE)?-1:cN.length-1;cH>=0;cH--){cD=cN[cH];if(cg.relative[(cM=cD.type)]){break}if((cL=cg.find[cM])){if((cK=cL(cD.matches[0].replace(bY,""),cm.test(cN[0].type)&&cC.parentNode||cC,cJ))){cN.splice(cH,1);cE=cK.length&&cN.join("");if(!cE){cr.apply(cG,bQ.call(cK,0));return cG}break}}}}}bI(cE,cI)(cK,cC,cJ,cG,cm.test(cE));return cG}if(bD.querySelectorAll){(function(){var cH,cI=ct,cG=/'|\\/g,cE=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,cD=[":focus"],cC=[":active"],cF=bG.matchesSelector||bG.mozMatchesSelector||bG.webkitMatchesSelector||bG.oMatchesSelector||bG.msMatchesSelector;cf(function(cJ){cJ.innerHTML="<select><option selected=''></option></select>";if(!cJ.querySelectorAll("[selected]").length){cD.push("\\["+b3+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!cJ.querySelectorAll(":checked").length){cD.push(":checked")}});cf(function(cJ){cJ.innerHTML="<p test=''></p>";if(cJ.querySelectorAll("[test^='']").length){cD.push("[*^$]="+b3+"*(?:\"\"|'')")}cJ.innerHTML="<input type='hidden'/>";if(!cJ.querySelectorAll(":enabled").length){cD.push(":enabled",":disabled")}});cD=new RegExp(cD.join("|"));ct=function(cP,cK,cR,cU,cT){if(!cU&&!cT&&!cD.test(cP)){var cN,cS,cM=true,cJ=cu,cL=cK,cQ=cK.nodeType===9&&cP;if(cK.nodeType===1&&cK.nodeName.toLowerCase()!=="object"){cN=bw(cP);if((cM=cK.getAttribute("id"))){cJ=cM.replace(cG,"\\$&")}else{cK.setAttribute("id",cJ)}cJ="[id='"+cJ+"'] ";cS=cN.length;while(cS--){cN[cS]=cJ+cN[cS].join("")}cL=cm.test(cP)&&cK.parentNode||cK;cQ=cN.join(",")}if(cQ){try{cr.apply(cR,bQ.call(cL.querySelectorAll(cQ),0));return cR}catch(cO){}finally{if(!cM){cK.removeAttribute("id")}}}}return cI(cP,cK,cR,cU,cT)};if(cF){cf(function(cK){cH=cF.call(cK,"div");try{cF.call(cK,"[test!='']:sizzle");cC.push("!=",cB)}catch(cJ){}});cC=new RegExp(cC.join("|"));cl.matchesSelector=function(cK,cM){cM=cM.replace(cE,"='$1']");if(!bR(cK)&&!cC.test(cM)&&!cD.test(cM)){try{var cJ=cF.call(cK,cM);if(cJ||cH||cK.document&&cK.document.nodeType!==11){return cJ}}catch(cL){}}return cl(cM,null,null,[cK]).length>0}}})()}cg.pseudos.nth=cg.pseudos.eq;function bO(){}cg.filters=bO.prototype=cg.pseudos;cg.setFilters=new bO();cl.attr=C.attr;C.find=cl;C.expr=cl.selectors;C.expr[":"]=C.expr.pseudos;C.unique=cl.uniqueSort;C.text=cl.getText;C.isXMLDoc=cl.isXML;C.contains=cl.contains})(bd);var U=/Until$/,ag=/^(?:parents|prev(?:Until|All))/,bq=/^.[^:#\[\.,]*$/,aQ=C.expr.match.needsContext,ao={children:true,contents:true,next:true,prev:true};C.fn.extend({find:function(bu){var by,bv,bA,bB,bz,bx,bw=this;if(typeof bu!=="string"){return C(bu).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(C.contains(bw[by],this)){return true}}})}bx=this.pushStack("","find",bu);for(by=0,bv=this.length;by<bv;by++){bA=bx.length;C.find(bu,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bx){var bw,bv=C(bx,this),bu=bv.length;return this.filter(function(){for(bw=0;bw<bu;bw++){if(C.contains(this,bv[bw])){return true}}})},not:function(bu){return this.pushStack(az(this,bu,false),"not",bu)},filter:function(bu){return this.pushStack(az(this,bu,true),"filter",bu)},is:function(bu){return !!bu&&(typeof bu==="string"?aQ.test(bu)?C(bu,this.context).index(this[0])>=0:C.filter(bu,this).length>0:this.filter(bu).length>0)},closest:function(by,bx){var bz,bw=0,bu=this.length,bv=[],bA=aQ.test(by)||typeof by!=="string"?C(by,bx||this.context):0;for(;bw<bu;bw++){bz=this[bw];while(bz&&bz.ownerDocument&&bz!==bx&&bz.nodeType!==11){if(bA?bA.index(bz)>-1:C.find.matchesSelector(bz,by)){bv.push(bz);break}bz=bz.parentNode}}bv=bv.length>1?C.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(bu){if(!bu){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof bu==="string"){return C.inArray(this[0],C(bu))}return C.inArray(bu.jqx?bu[0]:bu,this)},add:function(bu,bv){var bx=typeof bu==="string"?C(bu,bv):C.makeArray(bu&&bu.nodeType?[bu]:bu),bw=C.merge(this.get(),bx);return this.pushStack(x(bx[0])||x(bw[0])?bw:C.unique(bw))},addBack:function(bu){return this.add(bu==null?this.prevObject:this.prevObject.filter(bu))}});C.fn.andSelf=C.fn.addBack;function x(bu){return !bu||!bu.parentNode||bu.parentNode.nodeType===11}function aB(bv,bu){do{bv=bv[bu]}while(bv&&bv.nodeType!==1);return bv}C.each({parent:function(bv){var bu=bv.parentNode;return bu&&bu.nodeType!==11?bu:null},parents:function(bu){return C.dir(bu,"parentNode")},parentsUntil:function(bv,bu,bw){return C.dir(bv,"parentNode",bw)},next:function(bu){return aB(bu,"nextSibling")},prev:function(bu){return aB(bu,"previousSibling")},nextAll:function(bu){return C.dir(bu,"nextSibling")},prevAll:function(bu){return C.dir(bu,"previousSibling")},nextUntil:function(bv,bu,bw){return C.dir(bv,"nextSibling",bw)},prevUntil:function(bv,bu,bw){return C.dir(bv,"previousSibling",bw)},siblings:function(bu){return C.sibling((bu.parentNode||{}).firstChild,bu)},children:function(bu){return C.sibling(bu.firstChild)},contents:function(bu){return C.nodeName(bu,"iframe")?bu.contentDocument||bu.contentWindow.document:C.merge([],bu.childNodes)}},function(bu,bv){C.fn[bu]=function(by,bw){var bx=C.map(this,bv,by);if(!U.test(bu)){bw=by}if(bw&&typeof bw==="string"){bx=C.filter(bw,bx)}bx=this.length>1&&!ao[bu]?C.unique(bx):bx;if(this.length>1&&ag.test(bu)){bx=bx.reverse()}return this.pushStack(bx,bu,aD.call(arguments).join(","))}});C.extend({filter:function(bw,bu,bv){if(bv){bw=":not("+bw+")"}return bu.length===1?C.find.matchesSelector(bu[0],bw)?[bu[0]]:[]:C.find.matches(bw,bu)},dir:function(bw,bv,by){var bu=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===G||bx.nodeType!==1||!C(bx).is(by))){if(bx.nodeType===1){bu.push(bx)}bx=bx[bv]}return bu},sibling:function(bw,bv){var bu=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){bu.push(bw)}}return bu}});function az(bx,bw,bu){bw=bw||0;if(C.isFunction(bw)){return C.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===bu})}else{if(bw.nodeType){return C.grep(bx,function(bz,by){return(bz===bw)===bu})}else{if(typeof bw==="string"){var bv=C.grep(bx,function(by){return by.nodeType===1});if(bq.test(bw)){return C.filter(bw,bv,!bu)}else{bw=C.filter(bw,bv)}}}}return C.grep(bx,function(bz,by){return(C.inArray(bz,bw)>=0)===bu})}function a(bu){var bw=aJ.split("|"),bv=bu.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aJ="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aa=/ JQXLite\d+="(?:null|\d+)"/g,ah=/^\s+/,L=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,c=/<([\w:]+)/,v=/<tbody/i,P=/<|&#?\w+;/,W=/<(?:script|style|link)/i,I=/<(?:script|object|embed|option|style)/i,ac=new RegExp("<(?:"+aJ+")[\\s/>]","i"),R=/^(?:checkbox|radio)$/,o=/checked\s*(?:[^=]|=\s*.checked.)/i,bp=/\/(java|ecma)script/i,aG=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,am={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},T=a(ak),bg=T.appendChild(ak.createElement("div"));am.optgroup=am.option;am.tbody=am.tfoot=am.colgroup=am.caption=am.thead;am.th=am.td;if(!C.support.htmlSerialize){am._default=[1,"X<div>","</div>"]}C.fn.extend({text:function(bu){return C.access(this,function(bv){return bv===G?C.text(this):this.empty().append((this[0]&&this[0].ownerDocument||ak).createTextNode(bv))},null,bu,arguments.length)},wrapAll:function(bu){if(C.isFunction(bu)){return this.each(function(bw){C(this).wrapAll(bu.call(this,bw))})}if(this[0]){var bv=C(bu,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(bu){if(C.isFunction(bu)){return this.each(function(bv){C(this).wrapInner(bu.call(this,bv))})}return this.each(function(){var bv=C(this),bw=bv.contents();if(bw.length){bw.wrapAll(bu)}else{bv.append(bu)}})},wrap:function(bu){var bv=C.isFunction(bu);return this.each(function(bw){C(this).wrapAll(bv?bu.call(this,bw):bu)})},unwrap:function(){return this.parent().each(function(){if(!C.nodeName(this,"body")){C(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.appendChild(bu)}})},prepend:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.insertBefore(bu,this.firstChild)}})},before:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(bu,this),"before",this.selector)}},after:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(this,bu),"after",this.selector)}},remove:function(bu,bx){var bw,bv=0;for(;(bw=this[bv])!=null;bv++){if(!bu||C.filter(bu,[bw]).length){if(!bx&&bw.nodeType===1){C.cleanData(bw.getElementsByTagName("*"));C.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){var bv,bu=0;for(;(bv=this[bu])!=null;bu++){if(bv.nodeType===1){C.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,bu){bv=bv==null?false:bv;bu=bu==null?bv:bu;return this.map(function(){return C.clone(this,bv,bu)})},html:function(bu){return C.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===G){return bx.nodeType===1?bx.innerHTML.replace(aa,""):G}if(typeof by==="string"&&!W.test(by)&&(C.support.htmlSerialize||!ac.test(by))&&(C.support.leadingWhitespace||!ah.test(by))&&!am[(c.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(L,"<$1></$2>");try{for(;bw<bv;bw++){bx=this[bw]||{};if(bx.nodeType===1){C.cleanData(bx.getElementsByTagName("*"));bx.innerHTML=by}}bx=0}catch(bz){}}if(bx){this.empty().append(by)}},null,bu,arguments.length)},replaceWith:function(bu){if(!x(this[0])){if(C.isFunction(bu)){return this.each(function(bx){var bw=C(this),bv=bw.html();bw.replaceWith(bu.call(this,bx,bv))})}if(typeof bu!=="string"){bu=C(bu).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;C(this).remove();if(bw){C(bw).before(bu)}else{C(bv).append(bu)}})}return this.length?this.pushStack(C(C.isFunction(bu)?bu():bu),"replaceWith",bu):this},detach:function(bu){return this.remove(bu,true)},domManip:function(bA,bE,bD){bA=[].concat.apply([],bA);var bw,by,bz,bC,bx=0,bB=bA[0],bv=[],bu=this.length;if(!C.support.checkClone&&bu>1&&typeof bB==="string"&&o.test(bB)){return this.each(function(){C(this).domManip(bA,bE,bD)})}if(C.isFunction(bB)){return this.each(function(bG){var bF=C(this);bA[0]=bB.call(this,bG,bE?bF.html():G);bF.domManip(bA,bE,bD)})}if(this[0]){bw=C.buildFragment(bA,this,bv);bz=bw.fragment;by=bz.firstChild;if(bz.childNodes.length===1){bz=by}if(by){bE=bE&&C.nodeName(by,"tr");for(bC=bw.cacheable||bu-1;bx<bu;bx++){bD.call(bE&&C.nodeName(this[bx],"table")?a3(this[bx],"tbody"):this[bx],bx===bC?bz:C.clone(bz,true,true))}}bz=by=null;if(bv.length){C.each(bv,function(bF,bG){if(bG.src){if(C.ajax){C.ajax({url:bG.src,type:"GET",dataType:"script",async:false,global:false,"throws":true})}else{C.error("no ajax")}}else{C.globalEval((bG.text||bG.textContent||bG.innerHTML||"").replace(aG,""))}if(bG.parentNode){bG.parentNode.removeChild(bG)}})}}return this}});function a3(bv,bu){return bv.getElementsByTagName(bu)[0]||bv.appendChild(bv.ownerDocument.createElement(bu))}function r(bB,bv){if(bv.nodeType!==1||!C.hasData(bB)){return}var by,bx,bu,bA=C._data(bB),bz=C._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,bu=bw[by].length;bx<bu;bx++){C.event.add(bv,by,bw[by][bx])}}}if(bz.data){bz.data=C.extend({},bz.data)}}function ab(bv,bu){var bw;if(bu.nodeType!==1){return}if(bu.clearAttributes){bu.clearAttributes()}if(bu.mergeAttributes){bu.mergeAttributes(bv)}bw=bu.nodeName.toLowerCase();if(bw==="object"){if(bu.parentNode){bu.outerHTML=bv.outerHTML}if(C.support.html5Clone&&(bv.innerHTML&&!C.trim(bu.innerHTML))){bu.innerHTML=bv.innerHTML}}else{if(bw==="input"&&R.test(bv.type)){bu.defaultChecked=bu.checked=bv.checked;if(bu.value!==bv.value){bu.value=bv.value}}else{if(bw==="option"){bu.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){bu.defaultValue=bv.defaultValue}else{if(bw==="script"&&bu.text!==bv.text){bu.text=bv.text}}}}}bu.removeAttribute(C.expando)}C.buildFragment=function(bx,by,bv){var bw,bu,bz,bA=bx[0];by=by||ak;by=!by.nodeType&&by[0]||by;by=by.ownerDocument||by;if(bx.length===1&&typeof bA==="string"&&bA.length<512&&by===ak&&bA.charAt(0)==="<"&&!I.test(bA)&&(C.support.checkClone||!o.test(bA))&&(C.support.html5Clone||!ac.test(bA))){bu=true;bw=C.fragments[bA];bz=bw!==G}if(!bw){bw=by.createDocumentFragment();C.clean(bx,by,bw,bv);if(bu){C.fragments[bA]=bz&&bw}}return{fragment:bw,cacheable:bu}};C.fragments={};C.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(bu,bv){C.fn[bu]=function(bw){var by,bA=0,bz=[],bC=C(bw),bx=bC.length,bB=this.length===1&&this[0].parentNode;if((bB==null||bB&&bB.nodeType===11&&bB.childNodes.length===1)&&bx===1){bC[bv](this[0]);return this}else{for(;bA<bx;bA++){by=(bA>0?this.clone(true):this).get();C(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,bu,bC.selector)}}});function bk(bu){if(typeof bu.getElementsByTagName!=="undefined"){return bu.getElementsByTagName("*")}else{if(typeof bu.querySelectorAll!=="undefined"){return bu.querySelectorAll("*")}else{return[]}}}function al(bu){if(R.test(bu.type)){bu.defaultChecked=bu.checked}}C.extend({clone:function(by,bA,bw){var bu,bv,bx,bz;if(C.support.html5Clone||C.isXMLDoc(by)||!ac.test("<"+by.nodeName+">")){bz=by.cloneNode(true)}else{bg.innerHTML=by.outerHTML;bg.removeChild(bz=bg.firstChild)}if((!C.support.noCloneEvent||!C.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!C.isXMLDoc(by)){ab(by,bz);bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){if(bv[bx]){ab(bu[bx],bv[bx])}}}if(bA){r(by,bz);if(bw){bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){r(bu[bx],bv[bx])}}}bu=bv=null;return bz},clean:function(bH,bw,bu,bx){var bE,bD,bG,bL,bA,bK,bB,by,bv,bF,bJ,bC,bz=bw===ak&&T,bI=[];if(!bw||typeof bw.createDocumentFragment==="undefined"){bw=ak}for(bE=0;(bG=bH[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!P.test(bG)){bG=bw.createTextNode(bG)}else{bz=bz||a(bw);bB=bw.createElement("div");bz.appendChild(bB);bG=bG.replace(L,"<$1></$2>");bL=(c.exec(bG)||["",""])[1].toLowerCase();bA=am[bL]||am._default;bK=bA[0];bB.innerHTML=bA[1]+bG+bA[2];while(bK--){bB=bB.lastChild}if(!C.support.tbody){by=v.test(bG);bv=bL==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bA[1]==="<table>"&&!by?bB.childNodes:[];for(bD=bv.length-1;bD>=0;--bD){if(C.nodeName(bv[bD],"tbody")&&!bv[bD].childNodes.length){bv[bD].parentNode.removeChild(bv[bD])}}}if(!C.support.leadingWhitespace&&ah.test(bG)){bB.insertBefore(bw.createTextNode(ah.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;bB.parentNode.removeChild(bB)}}if(bG.nodeType){bI.push(bG)}else{C.merge(bI,bG)}}if(bB){bG=bB=bz=null}if(!C.support.appendChecked){for(bE=0;(bG=bI[bE])!=null;bE++){if(C.nodeName(bG,"input")){al(bG)}else{if(typeof bG.getElementsByTagName!=="undefined"){C.grep(bG.getElementsByTagName("input"),al)}}}}if(bu){bJ=function(bM){if(!bM.type||bp.test(bM.type)){return bx?bx.push(bM.parentNode?bM.parentNode.removeChild(bM):bM):bu.appendChild(bM)}};for(bE=0;(bG=bI[bE])!=null;bE++){if(!(C.nodeName(bG,"script")&&bJ(bG))){bu.appendChild(bG);if(typeof bG.getElementsByTagName!=="undefined"){bC=C.grep(C.merge([],bG.getElementsByTagName("script")),bJ);bI.splice.apply(bI,[bE+1,0].concat(bC));bE+=bC.length}}}}return bI},cleanData:function(bv,bD){var by,bw,bx,bC,bz=0,bE=C.expando,bu=C.cache,bA=C.support.deleteExpando,bB=C.event.special;for(;(bx=bv[bz])!=null;bz++){if(bD||C.acceptData(bx)){bw=bx[bE];by=bw&&bu[bw];if(by){if(by.events){for(bC in by.events){if(bB[bC]){C.event.remove(bx,bC)}else{C.removeEvent(bx,bC,by.handle)}}}if(bu[bw]){delete bu[bw];if(bA){delete bx[bE]}else{if(bx.removeAttribute){bx.removeAttribute(bE)}else{bx[bE]=null}}C.deletedIds.push(bw)}}}}}});(function(){var bu,bv;C.uaMatch=function(bx){bx=bx.toLowerCase();var bw=/(chrome)[ \/]([\w.]+)/.exec(bx)||/(webkit)[ \/]([\w.]+)/.exec(bx)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(bx)||/(msie) ([\w.]+)/.exec(bx)||bx.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(bx)||[];return{browser:bw[1]||"",version:bw[2]||"0"}};bu=C.uaMatch(bt.userAgent);bv={};if(bu.browser){bv[bu.browser]=true;bv.version=bu.version}if(bv.chrome){bv.webkit=true}else{if(bv.webkit){bv.safari=true}}C.browser=bv;C.sub=function(){function bx(bz,bA){return new bx.fn.init(bz,bA)}C.extend(true,bx,this);bx.superclass=this;bx.fn=bx.prototype=this();bx.fn.constructor=bx;bx.sub=this.sub;bx.fn.init=function by(bz,bA){if(bA&&bA instanceof C&&!(bA instanceof bx)){bA=bx(bA)}return C.fn.init.call(this,bz,bA,bw)};bx.fn.init.prototype=bx.fn;var bw=bx(ak);return bx}})();var Q,bc,l,ad=/alpha\([^)]*\)/i,aj=/opacity=([^)]*)/,w=/^(top|right|bottom|left)$/,ai=/^(none|table(?!-c[ea]).+)/,av=/^margin/,i=new RegExp("^("+aE+")(.*)$","i"),aV=new RegExp("^("+aE+")(?!px)[a-z%]+$","i"),E=new RegExp("^([-+])=("+aE+")","i"),J={BODY:"block"},ba={position:"absolute",visibility:"hidden",display:"block"},aL={letterSpacing:0,fontWeight:400},D=["Top","Right","Bottom","Left"],O=["Webkit","O","Moz","ms"],be=C.fn.toggle;function a2(bx,bv){if(bv in bx){return bv}var by=bv.charAt(0).toUpperCase()+bv.slice(1),bu=bv,bw=O.length;while(bw--){bv=O[bw]+by;if(bv in bx){return bv}}return bu}function ap(bv,bu){bv=bu||bv;return C.css(bv,"display")==="none"||!C.contains(bv.ownerDocument,bv)}function bb(bz,bu){var by,bA,bv=[],bw=0,bx=bz.length;for(;bw<bx;bw++){by=bz[bw];if(!by.style){continue}bv[bw]=C._data(by,"olddisplay");if(bu){if(!bv[bw]&&by.style.display==="none"){by.style.display=""}if(by.style.display===""&&ap(by)){bv[bw]=C._data(by,"olddisplay",aN(by.nodeName))}}else{bA=Q(by,"display");if(!bv[bw]&&bA!=="none"){C._data(by,"olddisplay",bA)}}}for(bw=0;bw<bx;bw++){by=bz[bw];if(!by.style){continue}if(!bu||by.style.display==="none"||by.style.display===""){by.style.display=bu?bv[bw]||"":"none"}}return bz}C.fn.extend({css:function(bu,bv){return C.access(this,function(bx,bw,by){return by!==G?C.style(bx,bw,by):C.css(bx,bw)},bu,bv,arguments.length>1)},show:function(){return bb(this,true)},hide:function(){return bb(this)},toggle:function(bw,bv){var bu=typeof bw==="boolean";if(C.isFunction(bw)&&C.isFunction(bv)){return be.apply(this,arguments)}return this.each(function(){if(bu?bw:ap(this)){C(this).show()}else{C(this).hide()}})}});C.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var bu=Q(bw,"opacity");return bu===""?"1":bu}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":C.support.cssFloat?"cssFloat":"styleFloat"},style:function(bw,bv,bC,bx){if(!bw||bw.nodeType===3||bw.nodeType===8||!bw.style){return}var bA,bB,bD,by=C.camelCase(bv),bu=bw.style;bv=C.cssProps[by]||(C.cssProps[by]=a2(bu,by));bD=C.cssHooks[bv]||C.cssHooks[by];if(bC!==G){bB=typeof bC;if(bB==="string"&&(bA=E.exec(bC))){bC=(bA[1]+1)*bA[2]+parseFloat(C.css(bw,bv));bB="number"}if(bC==null||bB==="number"&&isNaN(bC)){return}if(bB==="number"&&!C.cssNumber[by]){bC+="px"}if(!bD||!("set" in bD)||(bC=bD.set(bw,bC,bx))!==G){try{bu[bv]=bC}catch(bz){}}}else{if(bD&&"get" in bD&&(bA=bD.get(bw,false,bx))!==G){return bA}return bu[bv]}},css:function(bA,by,bz,bv){var bB,bx,bu,bw=C.camelCase(by);by=C.cssProps[bw]||(C.cssProps[bw]=a2(bA.style,bw));bu=C.cssHooks[by]||C.cssHooks[bw];if(bu&&"get" in bu){bB=bu.get(bA,true,bv)}if(bB===G){bB=Q(bA,by)}if(bB==="normal"&&by in aL){bB=aL[by]}if(bz||bv!==G){bx=parseFloat(bB);return bz||C.isNumeric(bx)?bx||0:bB}return bB},swap:function(by,bx,bz){var bw,bv,bu={};for(bv in bx){bu[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=bu[bv]}return bw}});if(bd.getComputedStyle){Q=function(bB,bv){var bu,by,bx,bA,bz=bd.getComputedStyle(bB,null),bw=bB.style;if(bz){bu=bz.getPropertyValue(bv)||bz[bv];if(bu===""&&!C.contains(bB.ownerDocument,bB)){bu=C.style(bB,bv)}if(aV.test(bu)&&av.test(bv)){by=bw.width;bx=bw.minWidth;bA=bw.maxWidth;bw.minWidth=bw.maxWidth=bw.width=bu;bu=bz.width;bw.width=by;bw.minWidth=bx;bw.maxWidth=bA}}return bu}}else{if(ak.documentElement.currentStyle){Q=function(by,bw){var bz,bu,bv=by.currentStyle&&by.currentStyle[bw],bx=by.style;if(bv==null&&bx&&bx[bw]){bv=bx[bw]}if(aV.test(bv)&&!w.test(bw)){bz=bx.left;bu=by.runtimeStyle&&by.runtimeStyle.left;if(bu){by.runtimeStyle.left=by.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bz;if(bu){by.runtimeStyle.left=bu}}return bv===""?"auto":bv}}}function aO(bu,bw,bx){var bv=i.exec(bw);return bv?Math.max(0,bv[1]-(bx||0))+(bv[2]||"px"):bw}function aZ(bx,bv,bu,bz){var bw=bu===(bz?"border":"content")?4:bv==="width"?1:0,by=0;for(;bw<4;bw+=2){if(bu==="margin"){by+=C.css(bx,bu+D[bw],true)}if(bz){if(bu==="content"){by-=parseFloat(Q(bx,"padding"+D[bw]))||0}if(bu!=="margin"){by-=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}else{by+=parseFloat(Q(bx,"padding"+D[bw]))||0;if(bu!=="padding"){by+=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}}return by}function Y(bx,bv,bu){var by=bv==="width"?bx.offsetWidth:bx.offsetHeight,bw=true,bz=C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box";if(by<=0||by==null){by=Q(bx,bv);if(by<0||by==null){by=bx.style[bv]}if(aV.test(by)){return by}bw=bz&&(C.support.boxSizingReliable||by===bx.style[bv]);by=parseFloat(by)||0}return(by+aZ(bx,bv,bu||(bz?"border":"content"),bw))+"px"}function aN(bw){if(J[bw]){return J[bw]}var bu=C("<"+bw+">").appendTo(ak.body),bv=bu.css("display");bu.remove();if(bv==="none"||bv===""){bc=ak.body.appendChild(bc||C.extend(ak.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!l||!bc.createElement){l=(bc.contentWindow||bc.contentDocument).document;l.write("<!doctype html><html><body>");l.close()}bu=l.body.appendChild(l.createElement(bw));bv=Q(bu,"display");ak.body.removeChild(bc)}J[bw]=bv;return bv}C.each(["height","width"],function(bv,bu){C.cssHooks[bu]={get:function(by,bx,bw){if(bx){if(by.offsetWidth===0&&ai.test(Q(by,"display"))){return C.swap(by,ba,function(){return Y(by,bu,bw)})}else{return Y(by,bu,bw)}}},set:function(bx,by,bw){return aO(bx,by,bw?aZ(bx,bu,bw,C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box"):0)}}});if(!C.support.opacity){C.cssHooks.opacity={get:function(bv,bu){return aj.test((bu&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":bu?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,bu=C.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&C.trim(bw.replace(ad,""))===""&&bx.removeAttribute){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ad.test(bw)?bw.replace(ad,bu):bw+" "+bu}}}C(function(){if(!C.support.reliableMarginRight){C.cssHooks.marginRight={get:function(bv,bu){return C.swap(bv,{display:"inline-block"},function(){if(bu){return Q(bv,"marginRight")}})}}}if(!C.support.pixelPosition&&C.fn.position){C.each(["top","left"],function(bu,bv){C.cssHooks[bv]={get:function(by,bx){if(bx){var bw=Q(by,bv);return aV.test(bw)?C(by).position()[bv]+"px":bw}}}})}});if(C.expr&&C.expr.filters){C.expr.filters.hidden=function(bu){return(bu.offsetWidth===0&&bu.offsetHeight===0)||(!C.support.reliableHiddenOffsets&&((bu.style&&bu.style.display)||Q(bu,"display"))==="none")};C.expr.filters.visible=function(bu){return !C.expr.filters.hidden(bu)}}C.each({margin:"",padding:"",border:"Width"},function(bu,bv){C.cssHooks[bu+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[bu+D[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}};if(!av.test(bu)){C.cssHooks[bu+bv].set=aO}});var g=/%20/g,af=/\[\]$/,br=/\r?\n/g,aU=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,p=/^(?:select|textarea)/i;C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?C.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||aU.test(this.type))}).map(function(bu,bv){var bw=C(this).val();return bw==null?null:C.isArray(bw)?C.map(bw,function(by,bx){return{name:bv.name,value:by.replace(br,"\r\n")}}):{name:bv.name,value:bw.replace(br,"\r\n")}}).get()}});C.param=function(bu,bw){var bx,bv=[],by=function(bz,bA){bA=C.isFunction(bA)?bA():(bA==null?"":bA);bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===G){bw=C.ajaxSettings&&C.ajaxSettings.traditional}if(C.isArray(bu)||(bu.jqx&&!C.isPlainObject(bu))){C.each(bu,function(){by(this.name,this.value)})}else{for(bx in bu){s(bx,bu[bx],bw,by)}}return bv.join("&").replace(g,"+")};function s(bw,by,bv,bx){var bu;if(C.isArray(by)){C.each(by,function(bA,bz){if(bv||af.test(bw)){bx(bw,bz)}else{s(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&C.type(by)==="object"){for(bu in by){s(bw+"["+bu+"]",by[bu],bv,bx)}}else{bx(bw,by)}}}if(C.support.ajax){C.ajaxTransport(function(bu){if(!bu.crossDomain||C.support.cors){var bv;return{send:function(bB,bw){var bz,by,bA=bu.xhr();if(bu.username){bA.open(bu.type,bu.url,bu.async,bu.username,bu.password)}else{bA.open(bu.type,bu.url,bu.async)}if(bu.xhrFields){for(by in bu.xhrFields){bA[by]=bu.xhrFields[by]}}if(bu.mimeType&&bA.overrideMimeType){bA.overrideMimeType(bu.mimeType)}if(!bu.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((bu.hasContent&&bu.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=G;if(bz){bA.onreadystatechange=C.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}try{bI.text=bA.responseText}catch(bJ){}try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&bu.isLocal&&!bu.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!bu.async){bv()}else{if(bA.readyState===4){setTimeout(bv,0)}else{bz=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};C(bd).unload(xhrOnUnloadAbort)}xhrCallbacks[bz]=bv}bA.onreadystatechange=bv}}},abort:function(){if(bv){bv(0,1)}}}}})}var a6,a1,ar=/^(?:toggle|show|hide)$/,aM=new RegExp("^(?:([-+])=|)("+aE+")([a-z%]*)$","i"),a7=/queueHooks$/,k=[bm],H={"*":[function(bu,bB){var bx,bC,bD=this.createTween(bu,bB),by=aM.exec(bB),bz=bD.cur(),bv=+bz||0,bw=1,bA=20;if(by){bx=+by[2];bC=by[3]||(C.cssNumber[bu]?"":"px");if(bC!=="px"&&bv){bv=C.css(bD.elem,bu,true)||bx||1;do{bw=bw||".5";bv=bv/bw;C.style(bD.elem,bu,bv+bC)}while(bw!==(bw=bD.cur()/bz)&&bw!==1&&--bA)}bD.unit=bC;bD.start=bv;bD.end=by[1]?bv+(by[1]+1)*bx:bx}return bD}]};function bl(){setTimeout(function(){a6=G},0);return(a6=C.now())}function Z(bv,bu){C.each(bu,function(bA,by){var bz=(H[bA]||[]).concat(H["*"]),bw=0,bx=bz.length;for(;bw<bx;bw++){if(bz[bw].call(bv,bA,by)){return}}})}function bj(bw,bA,bD){var bE,bz=0,bu=0,bv=k.length,bC=C.Deferred().always(function(){delete by.elem}),by=function(){var bK=a6||bl(),bH=Math.max(0,bx.startTime+bx.duration-bK),bF=bH/bx.duration||0,bJ=1-bF,bG=0,bI=bx.tweens.length;for(;bG<bI;bG++){bx.tweens[bG].run(bJ)}bC.notifyWith(bw,[bx,bJ,bH]);if(bJ<1&&bI){return bH}else{bC.resolveWith(bw,[bx]);return false}},bx=bC.promise({elem:bw,props:C.extend({},bA),opts:C.extend(true,{specialEasing:{}},bD),originalProperties:bA,originalOptions:bD,startTime:a6||bl(),duration:bD.duration,tweens:[],createTween:function(bI,bF,bH){var bG=C.Tween(bw,bx.opts,bI,bF,bx.opts.specialEasing[bI]||bx.opts.easing);bx.tweens.push(bG);return bG},stop:function(bG){var bF=0,bH=bG?bx.tweens.length:0;for(;bF<bH;bF++){bx.tweens[bF].run(1)}if(bG){bC.resolveWith(bw,[bx,bG])}else{bC.rejectWith(bw,[bx,bG])}return this}}),bB=bx.props;aW(bB,bx.opts.specialEasing);for(;bz<bv;bz++){bE=k[bz].call(bx,bw,bB,bx.opts);if(bE){return bE}}Z(bx,bB);if(C.isFunction(bx.opts.start)){bx.opts.start.call(bw,bx)}C.fx.timer(C.extend(by,{anim:bx,queue:bx.opts.queue,elem:bw}));return bx.progress(bx.opts.progress).done(bx.opts.done,bx.opts.complete).fail(bx.opts.fail).always(bx.opts.always)}function aW(bx,bz){var bw,bv,bA,by,bu;for(bw in bx){bv=C.camelCase(bw);bA=bz[bv];by=bx[bw];if(C.isArray(by)){bA=by[1];by=bx[bw]=by[0]}if(bw!==bv){bx[bv]=by;delete bx[bw]}bu=C.cssHooks[bv];if(bu&&"expand" in bu){by=bu.expand(by);delete bx[bv];for(bw in by){if(!(bw in bx)){bx[bw]=by[bw];bz[bw]=bA}}}else{bz[bv]=bA}}}C.Animation=C.extend(bj,{tweener:function(bv,by){if(C.isFunction(bv)){by=bv;bv=["*"]}else{bv=bv.split(" ")}var bx,bu=0,bw=bv.length;for(;bu<bw;bu++){bx=bv[bu];H[bx]=H[bx]||[];H[bx].unshift(by)}},prefilter:function(bv,bu){if(bu){k.unshift(bv)}else{k.push(bv)}}});function bm(by,bE,bu){var bD,bw,bG,bx,bK,bA,bJ,bI,bH,bz=this,bv=by.style,bF={},bC=[],bB=by.nodeType&&ap(by);if(!bu.queue){bI=C._queueHooks(by,"fx");if(bI.unqueued==null){bI.unqueued=0;bH=bI.empty.fire;bI.empty.fire=function(){if(!bI.unqueued){bH()}}}bI.unqueued++;bz.always(function(){bz.always(function(){bI.unqueued--;if(!C.queue(by,"fx").length){bI.empty.fire()}})})}if(by.nodeType===1&&("height" in bE||"width" in bE)){bu.overflow=[bv.overflow,bv.overflowX,bv.overflowY];if(C.css(by,"display")==="inline"&&C.css(by,"float")==="none"){if(!C.support.inlineBlockNeedsLayout||aN(by.nodeName)==="inline"){bv.display="inline-block"}else{bv.zoom=1}}}if(bu.overflow){bv.overflow="hidden";if(!C.support.shrinkWrapBlocks){bz.done(function(){bv.overflow=bu.overflow[0];bv.overflowX=bu.overflow[1];bv.overflowY=bu.overflow[2]})}}for(bD in bE){bG=bE[bD];if(ar.exec(bG)){delete bE[bD];bA=bA||bG==="toggle";if(bG===(bB?"hide":"show")){continue}bC.push(bD)}}bx=bC.length;if(bx){bK=C._data(by,"fxshow")||C._data(by,"fxshow",{});if("hidden" in bK){bB=bK.hidden}if(bA){bK.hidden=!bB}if(bB){C(by).show()}else{bz.done(function(){C(by).hide()})}bz.done(function(){var bL;C.removeData(by,"fxshow",true);for(bL in bF){C.style(by,bL,bF[bL])}});for(bD=0;bD<bx;bD++){bw=bC[bD];bJ=bz.createTween(bw,bB?bK[bw]:0);bF[bw]=bK[bw]||C.style(by,bw);if(!(bw in bK)){bK[bw]=bJ.start;if(bB){bJ.end=bJ.start;bJ.start=bw==="width"||bw==="height"?1:0}}}}}function u(bw,bv,by,bu,bx){return new u.prototype.init(bw,bv,by,bu,bx)}C.Tween=u;u.prototype={constructor:u,init:function(bx,bv,bz,bu,by,bw){this.elem=bx;this.prop=bz;this.easing=by||"swing";this.options=bv;this.start=this.now=this.cur();this.end=bu;this.unit=bw||(C.cssNumber[bz]?"":"px")},cur:function(){var bu=u.propHooks[this.prop];return bu&&bu.get?bu.get(this):u.propHooks._default.get(this)},run:function(bw){var bv,bu=u.propHooks[this.prop];if(this.options.duration){this.pos=bv=C.easing[this.easing](bw,this.options.duration*bw,0,1,this.options.duration)}else{this.pos=bv=bw}this.now=(this.end-this.start)*bv+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(bu&&bu.set){bu.set(this)}else{u.propHooks._default.set(this)}return this}};u.prototype.init.prototype=u.prototype;u.propHooks={_default:{get:function(bv){var bu;if(bv.elem[bv.prop]!=null&&(!bv.elem.style||bv.elem.style[bv.prop]==null)){return bv.elem[bv.prop]}bu=C.css(bv.elem,bv.prop,false,"");return !bu||bu==="auto"?0:bu},set:function(bu){if(C.fx.step[bu.prop]){C.fx.step[bu.prop](bu)}else{if(bu.elem.style&&(bu.elem.style[C.cssProps[bu.prop]]!=null||C.cssHooks[bu.prop])){C.style(bu.elem,bu.prop,bu.now+bu.unit)}else{bu.elem[bu.prop]=bu.now}}}}};u.propHooks.scrollTop=u.propHooks.scrollLeft={set:function(bu){if(bu.elem.nodeType&&bu.elem.parentNode){bu.elem[bu.prop]=bu.now}}};C.each(["toggle","show","hide"],function(bv,bu){var bw=C.fn[bu];C.fn[bu]=function(bx,bz,by){return bx==null||typeof bx==="boolean"||(!bv&&C.isFunction(bx)&&C.isFunction(bz))?bw.apply(this,arguments):this.animate(aY(bu,true),bx,bz,by)}});C.fn.extend({fadeTo:function(bu,bx,bw,bv){return this.filter(ap).css("opacity",0).show().end().animate({opacity:bx},bu,bw,bv)},animate:function(bA,bx,bz,by){var bw=C.isEmptyObject(bA),bu=C.speed(bx,bz,by),bv=function(){var bB=bj(this,C.extend({},bA),bu);if(bw){bB.stop(true)}};return bw||bu.queue===false?this.each(bv):this.queue(bu.queue,bv)},stop:function(bw,bv,bu){var bx=function(by){var bz=by.stop;delete by.stop;bz(bu)};if(typeof bw!=="string"){bu=bv;bv=bw;bw=G}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bB=true,by=bw!=null&&bw+"queueHooks",bA=C.timers,bz=C._data(this);if(by){if(bz[by]&&bz[by].stop){bx(bz[by])}}else{for(by in bz){if(bz[by]&&bz[by].stop&&a7.test(by)){bx(bz[by])}}}for(by=bA.length;by--;){if(bA[by].elem===this&&(bw==null||bA[by].queue===bw)){bA[by].anim.stop(bu);bB=false;bA.splice(by,1)}}if(bB||!bu){C.dequeue(this,bw)}})}});function aY(bw,by){var bx,bu={height:bw},bv=0;by=by?1:0;for(;bv<4;bv+=2-by){bx=D[bv];bu["margin"+bx]=bu["padding"+bx]=bw}if(by){bu.opacity=bu.width=bw}return bu}C.each({slideDown:aY("show"),slideUp:aY("hide"),slideToggle:aY("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(bu,bv){C.fn[bu]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});C.speed=function(bw,bx,bv){var bu=bw&&typeof bw==="object"?C.extend({},bw):{complete:bv||!bv&&bx||C.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!C.isFunction(bx)&&bx};bu.duration=C.fx.off?0:typeof bu.duration==="number"?bu.duration:bu.duration in C.fx.speeds?C.fx.speeds[bu.duration]:C.fx.speeds._default;if(bu.queue==null||bu.queue===true){bu.queue="fx"}bu.old=bu.complete;bu.complete=function(){if(C.isFunction(bu.old)){bu.old.call(this)}if(bu.queue){C.dequeue(this,bu.queue)}};return bu};C.easing={linear:function(bu){return bu},swing:function(bu){return 0.5-Math.cos(bu*Math.PI)/2}};C.timers=[];C.fx=u.prototype.init;C.fx.tick=function(){var bw,bv=C.timers,bu=0;a6=C.now();for(;bu<bv.length;bu++){bw=bv[bu];if(!bw()&&bv[bu]===bw){bv.splice(bu--,1)}}if(!bv.length){C.fx.stop()}a6=G};C.fx.timer=function(bu){if(bu()&&C.timers.push(bu)&&!a1){a1=setInterval(C.fx.tick,C.fx.interval)}};C.fx.interval=13;C.fx.stop=function(){clearInterval(a1);a1=null};C.fx.speeds={slow:600,fast:200,_default:400};C.fx.step={};if(C.expr&&C.expr.filters){C.expr.filters.animated=function(bu){return C.grep(C.timers,function(bv){return bu===bv.elem}).length}}var V=/^(?:body|html)$/i;C.fn.offset=function(bE){if(arguments.length){return bE===G?this:this.each(function(bF){C.offset.setOffset(this,bE,bF)})}var bv,bA,bB,by,bC,bu,bx,bz={top:0,left:0},bw=this[0],bD=bw&&bw.ownerDocument;if(!bD){return}if((bA=bD.body)===bw){return C.offset.bodyOffset(bw)}bv=bD.documentElement;if(!C.contains(bv,bw)){return bz}if(typeof bw.getBoundingClientRect!=="undefined"){bz=bw.getBoundingClientRect()}bB=aC(bD);by=bv.clientTop||bA.clientTop||0;bC=bv.clientLeft||bA.clientLeft||0;bu=bB.pageYOffset||bv.scrollTop;bx=bB.pageXOffset||bv.scrollLeft;return{top:bz.top+bu-by,left:bz.left+bx-bC}};C.offset={bodyOffset:function(bu){var bw=bu.offsetTop,bv=bu.offsetLeft;if(C.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(C.css(bu,"marginTop"))||0;bv+=parseFloat(C.css(bu,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=C.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=C(bx),bv=bz.offset(),bu=C.css(bx,"top"),bE=C.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&C.inArray("auto",[bu,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(bu)||0;by=parseFloat(bE)||0}if(C.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};C.fn.extend({isRendered:function(){var bv=this;var bu=this[0];if(bu.parentNode==null||(bu.offsetWidth===0||bu.offsetHeight===0)){return false}return true},getSizeFromStyle:function(){var by=this;var bx=null;var bu=null;var bw=this[0];var bv;if(bw.style.width){bx=bw.style.width}if(bw.style.height){bu=bw.style.height}if(bd.getComputedStyle){bv=getComputedStyle(bw,null)}else{bv=bw.currentStyle}if(bv){if(bv.width){bx=bv.width}if(bv.height){bu=bv.height}}if(bx==="0px"){bx=0}if(bu==="0px"){bu=0}if(bx===null){bx=0}if(bu===null){bu=0}return{width:bx,height:bu}},initAnimate:function(){},sizeStyleChanged:function(bx){var bw=this;var by;var bu=function(bz){var bA=by;if(bz&&bz[0]&&bz[0].attributeName==="style"&&bz[0].type==="attributes"){if(bA.element.offsetWidth!==bA.offsetWidth||bA.element.offsetHeight!==bA.offsetHeight){bA.offsetWidth=bA.element.offsetWidth;bA.offsetHeight=bA.element.offsetHeight;if(bw.isRendered()){bA.callback()}}}};by={element:bw[0],offsetWidth:bw[0].offsetWidth,offsetHeight:bw[0].offsetHeight,callback:bx};try{if(!bw.elementStyleObserver){bw.elementStyleObserver=new MutationObserver(bu);bw.elementStyleObserver.observe(bw[0],{attributes:true,childList:false,characterData:false})}}catch(bv){}},position:function(){if(!this[0]){return}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),bu=V.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(C.css(bw,"marginTop"))||0;bx.left-=parseFloat(C.css(bw,"marginLeft"))||0;bu.top+=parseFloat(C.css(bv[0],"borderTopWidth"))||0;bu.left+=parseFloat(C.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-bu.top,left:bx.left-bu.left}},offsetParent:function(){return this.map(function(){var bu=this.offsetParent||ak.body;while(bu&&(!V.test(bu.nodeName)&&C.css(bu,"position")==="static")){bu=bu.offsetParent}return bu||ak.body})}});C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var bu=/Y/.test(bv);C.fn[bw]=function(bx){return C.access(this,function(by,bB,bA){var bz=aC(by);if(bA===G){return bz?(bv in bz)?bz[bv]:bz.document.documentElement[bB]:by[bB]}if(bz){bz.scrollTo(!bu?bA:C(bz).scrollLeft(),bu?bA:C(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aC(bu){return C.isWindow(bu)?bu:bu.nodeType===9?bu.defaultView||bu.parentWindow:false}C.each({Height:"height",Width:"width"},function(bu,bv){C.each({padding:"inner"+bu,content:bv,"":"outer"+bu},function(bw,bx){C.fn[bx]=function(bB,bA){var bz=arguments.length&&(bw||typeof bB!=="boolean"),by=bw||(bB===true||bA===true?"margin":"border");return C.access(this,function(bD,bC,bE){var bF;if(C.isWindow(bD)){return bD.document.documentElement["client"+bu]}if(bD.nodeType===9){bF=bD.documentElement;return Math.max(bD.body["scroll"+bu],bF["scroll"+bu],bD.body["offset"+bu],bF["offset"+bu],bF["client"+bu])}return bE===G?C.css(bD,bC,bE,by):C.style(bD,bC,bE,by)},bv,bz?bB:G,bz,null)}})});bd.JQXLite=bd.jqxHelper=C;if(typeof define==="function"&&define.amd&&define.amd.JQXLite){define("jqx",[],function(){return C})}})(window)}(function(a){if(a.jQuery){a.minQuery=a.JQXLite=a.jQuery;return}if(!a.$){a.$=a.minQuery=a.JQXLite}else{a.minQuery=a.JQXLite=a.$}})(window);JQXLite.generateID=function(){var a=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};var b="";do{b="jqx"+a()+a()+a()}while($("#"+b).length>0);return b};var jqxBaseFramework=window.jqxBaseFramework=window.minQuery||window.jQuery;(function(b){b.jqx=b.jqx||{};window.jqx=b.jqx;var a={createInstance:function(c,e,g){if(e=="jqxDataAdapter"){var f=g[0];var d=g[1]||{};return new b.jqx.dataAdapter(f,d)}b(c)[e](g||{});return b(c)[e]("getInstance")}};window.jqwidgets=a;b.jqx.define=function(c,d,e){c[d]=function(){if(this.baseType){this.base=new c[this.baseType]();this.base.defineInstance()}this.defineInstance();this.metaInfo()};c[d].prototype.defineInstance=function(){};c[d].prototype.metaInfo=function(){};c[d].prototype.base=null;c[d].prototype.baseType=undefined;if(e&&c[e]){c[d].prototype.baseType=e}};b.jqx.invoke=function(f,e){if(e.length==0){return}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):b({}).toArray();while(f[g]==undefined&&f.base!=null){if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}f=f.base}if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}return};b.jqx.getByPriority=function(c){var e=undefined;for(var d=0;d<c.length&&e==undefined;d++){if(e==undefined&&c[d]!=undefined){e=c[d]}}return e};b.jqx.hasProperty=function(d,c){if(typeof(c)=="object"){for(var f in c){var e=d;while(e){if(e.hasOwnProperty(f)){return true}if(e.hasOwnProperty(f.toLowerCase())){return true}e=e.base}return false}}else{while(d){if(d.hasOwnProperty(c)){return true}if(d.hasOwnProperty(c.toLowerCase())){return true}d=d.base}}return false};b.jqx.hasFunction=function(f,e){if(e.length==0){return false}if(f==undefined){return false}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):{};while(f[g]==undefined&&f.base!=null){if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}f=f.base}if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}return false};b.jqx.isPropertySetter=function(d,c){if(c.length==1&&typeof(c[0])=="object"){return true}if(c.length==2&&typeof(c[0])=="string"&&!b.jqx.hasFunction(d,c)){return true}return false};b.jqx.validatePropertySetter=function(g,e,c){if(!b.jqx.propertySetterValidation){return true}if(e.length==1&&typeof(e[0])=="object"){for(var f in e[0]){var h=g;while(!h.hasOwnProperty(f)&&h.base){h=h.base}if(!h||!h.hasOwnProperty(f)){if(!c){var d=h.hasOwnProperty(f.toString().toLowerCase());if(!d){throw"Invalid property: "+f}else{return true}}return false}}return true}if(e.length!=2){if(!c){throw"Invalid property: "+e.length>=0?e[0]:""}return false}while(!g.hasOwnProperty(e[0])&&g.base){g=g.base}if(!g||!g.hasOwnProperty(e[0])){if(!c){throw"Invalid property: "+e[0]}return false}return true};if(!Object.keys){Object.keys=(function(){var e=Object.prototype.hasOwnProperty,f=!({toString:null}).propertyIsEnumerable("toString"),d=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=d.length;return function(j){if(typeof j!=="object"&&(typeof j!=="function"||j===null)){throw new TypeError("Object.keys called on non-object")}var g=[],k,h;for(k in j){if(e.call(j,k)){g.push(k)}}if(f){for(h=0;h<c;h++){if(e.call(j,d[h])){g.push(d[h])}}}return g}}())}b.jqx.set=function(f,i){var d=0;if(i.length==1&&typeof(i[0])=="object"){if(f.isInitialized&&Object.keys&&Object.keys(i[0]).length>1){var g=!f.base?f.element:f.base.element;var c=b.data(g,f.widgetName).initArgs;if(c&&JSON&&JSON.stringify&&i[0]&&c[0]){try{if(JSON.stringify(i[0])==JSON.stringify(c[0])){var h=true;b.each(i[0],function(l,m){if(f[l]!=m){h=false;return false}});if(h){return}}}catch(e){}}f.batchUpdate=i[0];var j={};var k={};b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){if(f[l]!=m){j[l]=f[l];k[l]=m;d++}}else{if(n.hasOwnProperty(l.toLowerCase())){if(f[l.toLowerCase()]!=m){j[l.toLowerCase()]=f[l.toLowerCase()];k[l.toLowerCase()]=m;d++}}}});if(d<2){f.batchUpdate=null}}b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){b.jqx.setvalueraiseevent(n,l,m)}else{if(n.hasOwnProperty(l.toLowerCase())){b.jqx.setvalueraiseevent(n,l.toLowerCase(),m)}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+l+"'"}}}});if(f.batchUpdate!=null){f.batchUpdate=null;if(f.propertiesChangedHandler&&d>1){f.propertiesChangedHandler(f,j,k)}}}else{if(i.length==2){while(!f.hasOwnProperty(i[0])&&f.base){f=f.base}if(f.hasOwnProperty(i[0])){b.jqx.setvalueraiseevent(f,i[0],i[1])}else{if(f.hasOwnProperty(i[0].toLowerCase())){b.jqx.setvalueraiseevent(f,i[0].toLowerCase(),i[1])}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+i[0]+"'"}}}}}};b.jqx.setvalueraiseevent=function(d,e,f){var c=d[e];d[e]=f;if(!d.isInitialized){return}if(d.propertyChangedHandler!=undefined){d.propertyChangedHandler(d,e,c,f)}if(d.propertyChangeMap!=undefined&&d.propertyChangeMap[e]!=undefined){d.propertyChangeMap[e](d,e,c,f)}};b.jqx.get=function(f,e){if(e==undefined||e==null){return undefined}if(f.propertyMap){var d=f.propertyMap(e);if(d!=null){return d}}if(f.hasOwnProperty(e)){return f[e]}if(f.hasOwnProperty(e.toLowerCase())){return f[e.toLowerCase()]}var c=undefined;if(typeof(e)==Array){if(e.length!=1){return undefined}c=e[0]}else{if(typeof(e)=="string"){c=e}}while(!f.hasOwnProperty(c)&&f.base){f=f.base}if(f){return f[c]}return undefined};b.jqx.serialize=function(f){var c="";if(b.isArray(f)){c="[";for(var e=0;e<f.length;e++){if(e>0){c+=", "}c+=b.jqx.serialize(f[e])}c+="]"}else{if(typeof(f)=="object"){c="{";var d=0;for(var e in f){if(d++>0){c+=", "}c+=e+": "+b.jqx.serialize(f[e])}c+="}"}else{c=f.toString()}}return c};b.jqx.propertySetterValidation=true;b.jqx.jqxWidgetProxy=function(h,d,c){var e=b(d);var g=b.data(d,h);if(g==undefined){return undefined}var f=g.instance;if(b.jqx.hasFunction(f,c)){return b.jqx.invoke(f,c)}if(b.jqx.isPropertySetter(f,c)){if(b.jqx.validatePropertySetter(f,c)){b.jqx.set(f,c);return undefined}}else{if(typeof(c)=="object"&&c.length==0){return}else{if(typeof(c)=="object"&&c.length==1&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c[0])}else{if(typeof(c)=="string"&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c)}}}}throw"jqxCore: Invalid parameter '"+b.jqx.serialize(c)+"' does not exist."};b.jqx.applyWidget=function(d,f,l,m){var h=false;try{h=window.MSApp!=undefined}catch(g){}var n=b(d);if(!m){m=new b.jqx["_"+f]()}else{m.host=n;m.element=d}if(d.id==""){d.id=b.jqx.utilities.createId()}var k={host:n,element:d,instance:m,initArgs:l};m.widgetName=f;b.data(d,f,k);b.data(d,"jqxWidget",k.instance);var j=new Array();var m=k.instance;while(m){m.isInitialized=false;j.push(m);m=m.base}j.reverse();j[0].theme=b.jqx.theme||"";b.jqx.jqxWidgetProxy(f,d,l);for(var c in j){m=j[c];if(c==0){m.host=n;m.element=d;m.WinJS=h}if(m!=undefined){if(m.definedInstance){m.definedInstance()}if(m.createInstance!=null){if(h){MSApp.execUnsafeLocalFunction(function(){m.createInstance(l)})}else{m.createInstance(l)}}}}for(var c in j){if(j[c]!=undefined){j[c].isInitialized=true}}if(h){MSApp.execUnsafeLocalFunction(function(){k.instance.refresh(true)})}else{k.instance.refresh(true)}};b.jqx.jqxWidget=function(c,d,g){var j=false;try{var l=Array.prototype.slice.call(g,0)}catch(i){var l=""}try{j=window.MSApp!=undefined}catch(i){}var h=c;var m="";if(d){m="_"+d}b.jqx.define(b.jqx,"_"+h,m);var k=new Array();if(!window[h]){var f=function(n){if(n==null){return""}var e=b.type(n);switch(e){case"string":case"number":case"date":case"boolean":case"bool":if(n===null){return""}return n.toString()}var o="";b.each(n,function(q,r){var t=r;if(q>0){o+=", "}o+="[";var p=0;if(b.type(t)=="object"){for(var s in t){if(p>0){o+=", "}o+="{"+s+":"+t[s]+"}";p++}}else{if(p>0){o+=", "}o+="{"+q+":"+t+"}";p++}o+="]"});return o};a[h]=window[h]=function(e,s){var n=[];if(!s){s={}}n.push(s);var o=e;if(b.type(o)==="object"&&e[0]){o=e[0].id;if(o===""){o=e[0].id=b.jqx.utilities.createId()}}else{if(b.type(e)==="object"&&e&&e.nodeName){o=e.id;if(o===""){o=e.id=b.jqx.utilities.createId()}}}if(window.jqxWidgets&&window.jqxWidgets[o]){if(s){b.each(window.jqxWidgets[o],function(t){var u=b(this.element).data();if(u&&u.jqxWidget){b(this.element)[h](s)}})}if(window.jqxWidgets[o].length==1){var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o][0]}}var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o]}}var p=b(e);if(p.length===0){p=b("<div></div>");if(h==="jqxInput"||h==="jqxPasswordInput"||h==="jqxMaskedInput"){p=b("<input/>")}if(h==="jqxTextArea"){p=b("<textarea></textarea>")}if(h==="jqxButton"||h==="jqxRepeatButton"||h==="jqxToggleButton"){p=b("<button/>")}if(h==="jqxSplitter"){p=b("<div><div>Panel 1</div><div>Panel 2</div></div>")}if(h==="jqxTabs"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div>Content 1</div><div>Content 2</div></div>")}if(h==="jqxRibbon"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div><div>Content 1</div><div>Content 2</div></div></div>")}if(h==="jqxDocking"){p=b("<div><div><div><div>Title 1</div><div>Content 1</div></div></div></div>")}if(h==="jqxWindow"){p=b("<div><div>Title 1</div><div>Content 1</div></div>")}}var r=[];b.each(p,function(w){var y=p[w];b.jqx.applyWidget(y,h,n,undefined);if(!k[h]){var u=b.data(y,"jqxWidget");var x=b.jqx["_"+h].prototype.defineInstance();var v={};if(b.jqx["_"+h].prototype.metaInfo){v=b.jqx["_"+h].prototype.metaInfo()}if(h=="jqxDockingLayout"){x=b.extend(x,b.jqx._jqxLayout.prototype.defineInstance())}if(h=="jqxToggleButton"||h=="jqxRepeatButton"){x=b.extend(x,b.jqx._jqxButton.prototype.defineInstance())}if(h=="jqxTreeGrid"){x=b.extend(x,b.jqx._jqxDataTable.prototype.defineInstance())}var t=function(A){var z=b.data(A,"jqxWidget");this.widgetInstance=z;var B=b.extend(this,z);B.on=B.addEventListener=function(D,E){B.addHandler(!B.base?B.host:B.base.host,D,E)};B.off=B.removeEventListener=function(D){B.removeHandler(!B.base?B.host:B.base.host,D)};for(var C in z){if(b.type(z[C])=="function"){B[C]=b.proxy(z[C],z)}}return B};k[h]=t;b.each(x,function(A,z){Object.defineProperty(t.prototype,A,{get:function(){if(this.widgetInstance){return this.widgetInstance[A]}return z},set:function(H){if(this.widgetInstance&&(this.widgetInstance[A]!=H||A==="width"||A==="height")){var F=this.widgetInstance[A];var E=H;var D=b.type(F);var B=b.type(E);var G=false;if(D!=B||A==="source"||A==="width"||A==="height"){G=true}if(G||(f(F)!=f(E))){var C={};C[A]=H;if(this.widgetInstance.host){this.widgetInstance.host[h](C)}else{this.widgetInstance.base.host[h](C)}this.widgetInstance[A]=H;if(this.widgetInstance.propertyUpdated){this.widgetInstance.propertyUpdated(A,F,H)}}}}})})}var u=new k[h](y);r.push(u);if(!window.jqxWidgets){window.jqxWidgets=new Array()}if(!window.jqxWidgets[o]){window.jqxWidgets[o]=new Array()}window.jqxWidgets[o].push(u)});if(r.length===1){return r[0]}return r}}b.fn[h]=function(){var e=Array.prototype.slice.call(arguments,0);if(e.length==0||(e.length==1&&typeof(e[0])=="object")){if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}return this.each(function(){var q=b(this);var p=this;var r=b.data(p,h);if(r==null){b.jqx.applyWidget(p,h,e,undefined)}else{b.jqx.jqxWidgetProxy(h,this,e)}})}else{if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}var o=null;var n=0;this.each(function(){var p=b.jqx.jqxWidgetProxy(h,this,e);if(n==0){o=p;n++}else{if(n==1){var q=[];q.push(o);o=q}o.push(p)}})}return o};try{b.extend(b.jqx["_"+h].prototype,Array.prototype.slice.call(g,0)[0])}catch(i){}b.extend(b.jqx["_"+h].prototype,{toThemeProperty:function(e,n){return b.jqx.toThemeProperty(this,e,n)},isMaterialized:function(){if(!this.theme){return false}if(this.theme.indexOf("material")>=0){return true}},isModern:function(){if(!this.theme){return false}if(this.theme.indexOf("light")>=0){return true}if(this.theme==="dark"){return true}},_addBarAndLabel:function(p){var o=this;var e=b("<label></label");e[0].innerHTML=this.placeHolder;e.addClass(o.toThemeProperty("jqx-input-label"));p.after(e);o.label=e;var n=b("<span></span>");p.after(n);n.addClass(o.toThemeProperty("jqx-input-bar"));o.bar=n;o.bar.css("top",this.host.height())}});b.jqx["_"+h].prototype.refresh=function(){if(this.base){this.base.refresh(true)}};b.jqx["_"+h].prototype.createInstance=function(){};b.jqx["_"+h].prototype.addEventHandler=function(n,e){if(this.base){this.base.host.on(n,e)}else{this.host.on(n,e)}};b.jqx["_"+h].prototype.removeEventHandler=function(n,e){if(this.base){this.base.host.off(n)}else{this.host.off(n)}};b.jqx["_"+h].prototype.applyTo=function(o,n){if(!(n instanceof Array)){var e=[];e.push(n);n=e}b.jqx.applyWidget(o,h,n,this)};b.jqx["_"+h].prototype.getInstance=function(){return this};b.jqx["_"+h].prototype.propertyChangeMap={};b.jqx["_"+h].prototype.addHandler=function(p,e,n,o){b.jqx.addHandler(b(p),e,n,o)};b.jqx["_"+h].prototype.removeHandler=function(o,e,n){b.jqx.removeHandler(b(o),e,n)};b.jqx["_"+h].prototype.setOptions=function(){if(!this.host||!this.host.length||this.host.length!=1){return}return b.jqx.jqxWidgetProxy(h,this.host[0],arguments)}};b.jqx.toThemeProperty=function(d,e,j){if(d.theme==""){return e}var h=e.split(" ");var c="";for(var g=0;g<h.length;g++){if(g>0){c+=" "}var f=h[g];if(j!=null&&j){c+=f+"-"+d.theme}else{c+=f+" "+f+"-"+d.theme}}return c};b.jqx.addHandler=function(h,j,f,g){var d=j.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.addEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){h[0].addEventListener("DOMMouseScroll",f,false)}else{h[0].addEventListener("mousewheel",f,false)}continue;case"mousemove":if(!g){h[0].addEventListener("mousemove",f,false);continue}break}}if(g==undefined||g==null){if(h.on){h.on(e,f)}else{h.bind(e,f)}}else{if(h.on){h.on(e,g,f)}else{h.bind(e,g,f)}}}};b.jqx.removeHandler=function(g,h,f){if(!h){if(g.off){g.off()}else{g.unbind()}return}var d=h.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.removeEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){g[0].removeEventListener("DOMMouseScroll",f,false)}else{g[0].removeEventListener("mousewheel",f,false)}continue;case"mousemove":if(f){g[0].removeEventListener("mousemove",f,false);continue}break}}if(e==undefined){if(g.off){g.off()}else{g.unbind()}continue}if(f==undefined){if(g.off){g.off(e)}else{g.unbind(e)}}else{if(g.off){g.off(e,f)}else{g.unbind(e,f)}}}};b.jqx.credits=b.jqx.credits||"";b.jqx.theme=b.jqx.theme||"";b.jqx.scrollAnimation=b.jqx.scrollAnimation||false;b.jqx.resizeDelay=b.jqx.resizeDelay||10;b.jqx.ready=function(){b(window).trigger("jqxReady")};b.jqx.init=function(){b.each(arguments[0],function(c,d){if(c=="theme"){b.jqx.theme=d}if(c=="scrollBarSize"){b.jqx.utilities.scrollBarSize=d}if(c=="touchScrollBarSize"){b.jqx.utilities.touchScrollBarSize=d}if(c=="scrollBarButtonsVisibility"){b.jqx.utilities.scrollBarButtonsVisibility=d}})};b.jqx.utilities=b.jqx.utilities||{};b.extend(b.jqx.utilities,{scrollBarSize:13,touchScrollBarSize:8,scrollBarButtonsVisibility:"visible",createId:function(){var c=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return"jqxWidget"+c()+c()+c()},setTheme:function(g,h,f){if(typeof f==="undefined"){return}if(!f[0].className.split){return}if(g===undefined){g=""}if(h===undefined){h=""}var j=f[0].className.split(" "),c=[],k=[],e=f.children();for(var d=0;d<j.length;d+=1){if(j[d].indexOf(g)>=0){if(g.length>0){c.push(j[d]);k.push(j[d].replace(g,h))}else{k.push(j[d].replace("-"+h,"")+"-"+h)}}}this._removeOldClasses(c,f);this._addNewClasses(k,f);for(var d=0;d<e.length;d+=1){this.setTheme(g,h,b(e[d]))}},_removeOldClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.removeClass(e[c])}},_addNewClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.addClass(e[c])}},getOffset:function(c){var e=b.jqx.mobile.getLeftPos(c[0]);var d=b.jqx.mobile.getTopPos(c[0]);return{top:d,left:e}},resize:function(h,t,q,p){if(p===undefined){p=true}var m=-1;var l=this;var e=function(v){if(!l.hiddenWidgets){return -1}var w=-1;for(var u=0;u<l.hiddenWidgets.length;u++){if(v.id){if(l.hiddenWidgets[u].id==v.id){w=u;break}}else{if(l.hiddenWidgets[u].id==v[0].id){w=u;break}}}return w};if(this.resizeHandlers){for(var j=0;j<this.resizeHandlers.length;j++){if(h.id){if(this.resizeHandlers[j].id==h.id){m=j;break}}else{if(this.resizeHandlers[j].id==h[0].id){m=j;break}}}if(q===true){if(m!=-1){this.resizeHandlers.splice(m,1);if(this.watchedElementData&&this.watchedElementData.length>0){this.watchedElementData.splice(m,1)}}if(this.resizeHandlers.length==0){var o=b(window);if(o.off){o.off("resize.jqx");o.off("orientationchange.jqx");o.off("orientationchanged.jqx")}else{o.unbind("resize.jqx");o.unbind("orientationchange.jqx");o.unbind("orientationchanged.jqx")}this.resizeHandlers=null}var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}else{if(q===true){var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}var l=this;var n=function(w,F){if(!l.resizeHandlers){return}var G=function(J){var i=-1;var K=J.parentNode;while(K){i++;K=K.parentNode}return i};var v=function(L,J){if(!L.widget||!J.widget){return 0}var K=G(L.widget[0]);var i=G(J.widget[0]);try{if(K<i){return -1}if(K>i){return 1}}catch(M){var N=M}return 0};var x=function(J){if(l.hiddenWidgets.length>0){l.hiddenWidgets.sort(v);var i=function(){var L=false;var N=new Array();for(var M=0;M<l.hiddenWidgets.length;M++){var K=l.hiddenWidgets[M];if(b.jqx.isHidden(K.widget)){L=true;N.push(K)}else{if(K.callback){K.callback(F)}}}l.hiddenWidgets=N;if(!L){clearInterval(l.__resizeInterval)}};if(J==false){i();if(l.__resizeInterval){clearInterval(l.__resizeInterval)}return}if(l.__resizeInterval){clearInterval(l.__resizeInterval)}l.__resizeInterval=setInterval(function(){i()},100)}};if(l.hiddenWidgets&&l.hiddenWidgets.length>0){x(false)}l.hiddenWidgets=new Array();l.resizeHandlers.sort(v);for(var C=0;C<l.resizeHandlers.length;C++){var I=l.resizeHandlers[C];var E=I.widget;var B=I.data;if(!B){continue}if(!B.jqxWidget){continue}var u=B.jqxWidget.width;var H=B.jqxWidget.height;if(B.jqxWidget.base){if(u==undefined){u=B.jqxWidget.base.width}if(H==undefined){H=B.jqxWidget.base.height}}if(u===undefined&&H===undefined){u=B.jqxWidget.element.style.width;H=B.jqxWidget.element.style.height}var D=false;if(u!=null&&u.toString().indexOf("%")!=-1){D=true}if(H!=null&&H.toString().indexOf("%")!=-1){D=true}if(b.jqx.isHidden(E)){if(e(E)===-1){if(D||w===true){if(I.data.nestedWidget!==true){l.hiddenWidgets.push(I)}}}}else{if(w===undefined||w!==true){if(D){I.callback(F);if(l.watchedElementData){for(var z=0;z<l.watchedElementData.length;z++){if(l.watchedElementData[z].element==B.jqxWidget.element){l.watchedElementData[z].offsetWidth=B.jqxWidget.element.offsetWidth;l.watchedElementData[z].offsetHeight=B.jqxWidget.element.offsetHeight;break}}}if(l.hiddenWidgets.indexOf(I)>=0){l.hiddenWidgets.splice(l.hiddenWidgets.indexOf(I),1)}}if(B.jqxWidget.element){var y=B.jqxWidget.element.className;if(y.indexOf("dropdownlist")>=0||y.indexOf("datetimeinput")>=0||y.indexOf("combobox")>=0||y.indexOf("menu")>=0){if(B.jqxWidget.isOpened){var A=B.jqxWidget.isOpened();if(A){if(F&&F=="resize"&&b.jqx.mobile.isTouchDevice()){continue}B.jqxWidget.close()}}}}}}}x()};if(!this.resizeHandlers){this.resizeHandlers=new Array();var o=b(window);if(o.on){this._resizeTimer=null;this._initResize=null;o.on("resize.jqx",function(i){if(l._resizeTimer!=undefined){clearTimeout(l._resizeTimer)}if(!l._initResize){l._initResize=true;n(null,"resize")}else{l._resizeTimer=setTimeout(function(){n(null,"resize")},b.jqx.resizeDelay)}});o.on("orientationchange.jqx",function(i){n(null,"orientationchange")});o.on("orientationchanged.jqx",function(i){n(null,"orientationchange")})}else{o.bind("resize.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchange.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchanged.jqx",function(i){n(null,"orientationchange")})}}var f=h.data();if(p){if(m===-1){this.resizeHandlers.push({id:h[0].id,widget:h,callback:t,data:f})}}try{var d=f.jqxWidget.width;var s=f.jqxWidget.height;if(f.jqxWidget.base){if(d==undefined){d=f.jqxWidget.base.width}if(s==undefined){s=f.jqxWidget.base.height}}if(d===undefined&&s===undefined){d=f.jqxWidget.element.style.width;s=f.jqxWidget.element.style.height}var k=false;if(d!=null&&d.toString().indexOf("%")!=-1){k=true}if(s!=null&&s.toString().indexOf("%")!=-1){k=true}if(k){if(!this.watchedElementData){this.watchedElementData=[]}var l=this;var g=function(i){if(l.watchedElementData.forEach){l.watchedElementData.forEach(function(u){if(u.element.offsetWidth!==u.offsetWidth||u.element.offsetHeight!==u.offsetHeight){u.offsetWidth=u.element.offsetWidth;u.offsetHeight=u.element.offsetHeight;if(u.timer){clearTimeout(u.timer)}u.timer=setTimeout(function(){if(!b.jqx.isHidden(b(u.element))){u.callback()}else{u.timer=setInterval(function(){if(!b.jqx.isHidden(b(u.element))){clearInterval(u.timer);u.callback()}},100)}})}})}};l.watchedElementData.push({element:h[0],offsetWidth:h[0].offsetWidth,offsetHeight:h[0].offsetHeight,callback:t});if(!l.observer){l.observer=new MutationObserver(g);l.observer.observe(document.body,{attributes:true,childList:true,characterData:true})}}}catch(r){}if(b.jqx.isHidden(h)&&p===true){n(true)}b.jqx.resize=function(){n(null,"resize")}},parseJSON:function(e){if(!e||typeof e!=="string"){return null}var c=/^[\],:{}\s]*$/,g=/(?:^|:|,)(?:\s*\[)+/g,d=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,f=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g;e=b.trim(e);if(window.JSON&&window.JSON.parse){return window.JSON.parse(e)}if(c.test(e.replace(d,"@").replace(f,"]").replace(g,""))){return(new Function("return "+e))()}throw new Error("Invalid JSON: "+e)},html:function(d,e){if(!b(d).on){return b(d).html(e)}try{return b.access(d,function(s){var f=d[0]||{},m=0,j=d.length;if(s===undefined){return f.nodeType===1?f.innerHTML.replace(rinlinejQuery,""):undefined}var r=/<(?:script|style|link)/i,n="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",h=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,p=/<([\w:]+)/,g=/<(?:script|object|embed|option|style)/i,k=new RegExp("<(?:"+n+")[\\s/>]","i"),q=/^\s+/,t={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};if(typeof s==="string"&&!r.test(s)&&(b.support.htmlSerialize||!k.test(s))&&(b.support.leadingWhitespace||!q.test(s))&&!t[(p.exec(s)||["",""])[1].toLowerCase()]){s=s.replace(h,"<$1></$2>");try{for(;m<j;m++){f=this[m]||{};if(f.nodeType===1){b.cleanData(f.getElementsByTagName("*"));f.innerHTML=s}}f=0}catch(o){}}if(f){d.empty().append(s)}},null,e,arguments.length)}catch(c){return b(d).html(e)}},hasTransform:function(e){var d="";d=e.css("transform");if(d==""||d=="none"){d=e.parents().css("transform");if(d==""||d=="none"){var c=b.jqx.utilities.getBrowser();if(c.browser=="msie"){d=e.css("-ms-transform");if(d==""||d=="none"){d=e.parents().css("-ms-transform")}}else{if(c.browser=="chrome"){d=e.css("-webkit-transform");if(d==""||d=="none"){d=e.parents().css("-webkit-transform")}}else{if(c.browser=="opera"){d=e.css("-o-transform");if(d==""||d=="none"){d=e.parents().css("-o-transform")}}else{if(c.browser=="mozilla"){d=e.css("-moz-transform");if(d==""||d=="none"){d=e.parents().css("-moz-transform")}}}}}}else{return d!=""&&d!="none"}}if(d==""||d=="none"){d=b(document.body).css("transform")}return d!=""&&d!="none"&&d!=null},getBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=/(chrome)[ \/]([\w.]+)/.exec(d)||/(webkit)[ \/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||d.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[];var e={browser:c[1]||"",version:c[2]||"0"};if(d.indexOf("rv:11.0")>=0&&d.indexOf(".net4.0c")>=0){e.browser="msie";e.version="11";c[1]="msie"}if(d.indexOf("edge")>=0){e.browser="msie";e.version="12";c[1]="msie"}e[c[1]]=c[1];return e}});b.jqx.browser=b.jqx.utilities.getBrowser();b.jqx.isHidden=function(d){if(!d||!d[0]){return false}var c=d[0].offsetWidth,e=d[0].offsetHeight;if(c===0||e===0){return true}else{return false}};b.jqx.ariaEnabled=true;b.jqx.aria=function(d,f,e){if(!b.jqx.ariaEnabled){return}if(f==undefined){b.each(d.aria,function(h,i){var k=!d.base?d.host.attr(h):d.base.host.attr(h);if(k!=undefined&&!b.isFunction(k)){var j=k;switch(i.type){case"number":j=new Number(k);if(isNaN(j)){j=k}break;case"boolean":j=k=="true"?true:false;break;case"date":j=new Date(k);if(j=="Invalid Date"||isNaN(j)){j=k}break}d[i.name]=j}else{var k=d[i.name];if(b.isFunction(k)){k=d[i.name]()}if(k==undefined){k=""}try{!d.base?d.host.attr(h,k.toString()):d.base.host.attr(h,k.toString())}catch(g){}}})}else{try{if(d.host){if(!d.base){if(d.host){if(d.element.setAttribute){d.element.setAttribute(f,e.toString())}else{d.host.attr(f,e.toString())}}else{d.attr(f,e.toString())}}else{if(d.base.host){d.base.host.attr(f,e.toString())}else{d.attr(f,e.toString())}}}else{if(d.setAttribute){d.setAttribute(f,e.toString())}}}catch(c){}}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(d){var c=this.length;var e=Number(arguments[1])||0;e=(e<0)?Math.ceil(e):Math.floor(e);if(e<0){e+=c}for(;e<c;e++){if(e in this&&this[e]===d){return e}}return -1}}b.jqx.mobile=b.jqx.mobile||{};b.jqx.position=function(c){var f=parseInt(c.pageX);var e=parseInt(c.pageY);if(b.jqx.mobile.isTouchDevice()){var d=b.jqx.mobile.getTouches(c);var g=d[0];f=parseInt(g.pageX);e=parseInt(g.pageY)}return{left:f,top:e}};b.extend(b.jqx.mobile,{_touchListener:function(i,g){var c=function(j,l){var k=document.createEvent("MouseEvents");k.initMouseEvent(j,l.bubbles,l.cancelable,l.view,l.detail,l.screenX,l.screenY,l.clientX,l.clientY,l.ctrlKey,l.altKey,l.shiftKey,l.metaKey,l.button,l.relatedTarget);k._pageX=l.pageX;k._pageY=l.pageY;return k};var h={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var f=c(h[i.type],i);i.target.dispatchEvent(f);var d=i.target["on"+h[i.type]];if(typeof d==="function"){d(i)}},setMobileSimulator:function(d,f){if(this.isTouchDevice()){return}this.simulatetouches=true;if(f==false){this.simulatetouches=false}var e={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var c=this;if(window.addEventListener){var g=function(){for(var h in e){if(d.addEventListener){d.removeEventListener(h,c._touchListener);d.addEventListener(h,c._touchListener,false)}}};if(b.jqx.browser.msie){g()}else{g()}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Android")!=-1){return true}if(d.indexOf("IEMobile")!=-1){return true}if(d.indexOf("Windows Phone")!=-1){return true}if(d.indexOf("WPDesktop")!=-1){return true}if(d.indexOf("ZuneWP7")!=-1){return true}if(d.indexOf("BlackBerry")!=-1&&d.indexOf("Mobile Safari")!=-1){return true}if(d.indexOf("ipod")!=-1){return true}if(d.indexOf("nokia")!=-1||d.indexOf("Nokia")!=-1){return true}if(d.indexOf("Chrome/17")!=-1){return false}if(d.indexOf("CrOS")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")==-1&&d.indexOf("Mini")==-1&&d.indexOf("Platform: Win")!=-1){return false}if(d.indexOf("HybridDeviceTouch")!=-1){return true}if(d.indexOf("HybridDeviceMouse")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")!=-1&&d.indexOf("Opera Mobi")!=-1){return true}if(d.indexOf("Mozilla/5.0 (X11; Linux x86_64)")!=-1){return false}var f={ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"};try{if(this.touchDevice!=undefined){return this.touchDevice}this.touchDevice=false;for(var h in f){if(f.hasOwnProperty(h)){var k=f[h];var g=d.match(new RegExp("(?:"+k+")([^\\s;]+)"));if(g){if(h.toString()=="blackberry"){this.touchDevice=false;return false}this.touchDevice=true;return true}}}var j=navigator.userAgent;if(navigator.platform.toLowerCase().indexOf("win")!=-1){if(j.indexOf("Windows Phone")>=0||j.indexOf("WPDesktop")>=0||j.indexOf("IEMobile")>=0||j.indexOf("ZuneWP7")>=0){this.touchDevice=true;return true}else{if(j.indexOf("Touch")>=0){var c=("MSPointerDown" in window)||("pointerdown" in window);if(c){this.touchDevice=true;return true}if(j.indexOf("ARM")>=0){this.touchDevice=true;return true}this.touchDevice=false;return false}}}if(navigator.platform.toLowerCase().indexOf("win")!=-1){this.touchDevice=false;return false}if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){this.touchDevice=true}return this.touchDevice}catch(l){this.touchDevice=false;return false}},getLeftPos:function(c){var d=c.offsetLeft;while((c=c.offsetParent)!=null){if(c.tagName!="HTML"){d+=c.offsetLeft;if(document.all){d+=c.clientLeft}}}return d},getTopPos:function(d){var f=d.offsetTop;var c=b(d).coord();while((d=d.offsetParent)!=null){if(d.tagName!="HTML"){f+=(d.offsetTop-d.scrollTop);if(document.all){f+=d.clientTop}}}var e=navigator.userAgent.toLowerCase();var g=(e.indexOf("windows phone")!=-1||e.indexOf("WPDesktop")!=-1||e.indexOf("ZuneWP7")!=-1||e.indexOf("msie 9")!=-1||e.indexOf("msie 11")!=-1||e.indexOf("msie 10")!=-1)&&e.indexOf("touch")!=-1;if(g){return c.top}if(this.isSafariMobileBrowser()){if(this.isSafari4MobileBrowser()&&this.isIPadSafariMobileBrowser()){return f}if(e.indexOf("version/7")!=-1){return c.top}if(e.indexOf("version/6")!=-1||e.indexOf("version/5")!=-1){f=f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return f+b(window).scrollTop()}return c.top}return f},isChromeMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("android")!=-1;return c},isOperaMiniMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1||d.indexOf("opera mobi")!=-1;return c},isOperaMiniBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1;return c},isNewSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/5")!=-1);return c},isSafari4MobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/4")!=-1);return c},isWindowsPhone:function(){var d=navigator.userAgent.toLowerCase();var c=(d.indexOf("windows phone")!=-1||d.indexOf("WPDesktop")!=-1||d.indexOf("ZuneWP7")!=-1||d.indexOf("msie 9")!=-1||d.indexOf("msie 11")!=-1||d.indexOf("msie 10")!=-1&&d.indexOf("touch")!=-1);return c},isSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return true}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return true}var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1||d.indexOf("mobile safari")!=-1;return c},isIPadSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1;return c},isMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("android")!=-1;return c},getTouches:function(c){if(c.originalEvent){if(c.originalEvent.touches&&c.originalEvent.touches.length){return c.originalEvent.touches}else{if(c.originalEvent.changedTouches&&c.originalEvent.changedTouches.length){return c.originalEvent.changedTouches}}}if(!c.touches){c.touches=new Array();c.touches[0]=c.originalEvent!=undefined?c.originalEvent:c;if(c.originalEvent!=undefined&&c.pageX){c.touches[0]=c}if(c.type=="mousemove"){c.touches[0]=c}}return c.touches},getTouchEventName:function(c){if(this.isWindowsPhone()){var d=navigator.userAgent.toLowerCase();if(d.indexOf("windows phone 7")!=-1){if(c.toLowerCase().indexOf("start")!=-1){return"MSPointerDown"}if(c.toLowerCase().indexOf("move")!=-1){return"MSPointerMove"}if(c.toLowerCase().indexOf("end")!=-1){return"MSPointerUp"}}if(c.toLowerCase().indexOf("start")!=-1){return"pointerdown"}if(c.toLowerCase().indexOf("move")!=-1){return"pointermove"}if(c.toLowerCase().indexOf("end")!=-1){return"pointerup"}}else{return c}},dispatchMouseEvent:function(c,g,f){if(this.simulatetouches){return}var d=document.createEvent("MouseEvent");d.initMouseEvent(c,true,true,g.view,1,g.screenX,g.screenY,g.clientX,g.clientY,false,false,false,false,0,null);if(f!=null){f.dispatchEvent(d)}},getRootNode:function(c){while(c.nodeType!==1){c=c.parentNode}return c},setTouchScroll:function(c,d){if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[d]=c},touchScroll:function(B,M,Z,H,x,n){if(B==null){return}var G=this;var f=0;var r=0;var g=0;var i=0;var t=0;var j=0;if(!this.scrolling){this.scrolling=[]}this.scrolling[H]=false;var k=false;var p=b(B);var R=["select","input","textarea"];var X=0;var J=0;if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[H]=true;var H=H;var w=this.getTouchEventName("touchstart")+".touchScroll";var D=this.getTouchEventName("touchend")+".touchScroll";var ab=this.getTouchEventName("touchmove")+".touchScroll";var l,W,z,ah,V,Y,aj,Q,aa,d,F,ad,af,O,e,v,u,S,c,E,ag,o;Q=M;var aj=0;var aa=0;var h=0;var T=0;var ai=0;var Y=x.jqxScrollBar("max");var o=325;function A(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientY}else{if(am.originalEvent&&am.originalEvent.clientY!==undefined){return am.originalEvent.clientY}else{var al=G.getTouches(am);return al[0].clientY}}}function ae(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientX}else{if(am.originalEvent&&am.originalEvent.clientX!==undefined){return am.originalEvent.clientX}else{var al=G.getTouches(am);return al[0].clientX}}}var I=function(){var ap,am,aq,ao;ap=Date.now();am=ap-v;v=ap;aq=aa-e;var an=h-ah;e=aa;ah=h;F=true;ao=1000*aq/(1+am);var al=1000*an/(1+am);af=0.8*ao+0.2*af;O=0.8*al+0.2*O};var C=false;var X=function(am){if(!G.enableScrolling[H]){return true}if(b.inArray(am.target.tagName.toLowerCase(),R)!==-1){return}aa=n.jqxScrollBar("value");h=x.jqxScrollBar("value");var an=G.getTouches(am);var ao=an[0];if(an.length==1){G.dispatchMouseEvent("mousedown",ao,G.getRootNode(ao.target))}Y=x.jqxScrollBar("max");Q=n.jqxScrollBar("max");function al(ap){C=false;F=true;d=A(ap);ag=ae(ap);af=S=O=0;e=aa;ah=h;v=Date.now();clearInterval(u);u=setInterval(I,100);T=aa;ai=h;if(aa>0&&aa<Q&&n[0].style.visibility!="hidden"){}}al(am);k=false;r=ao.pageY;t=ao.pageX;if(G.simulatetouches){if(ao._pageY!=undefined){r=ao._pageY;t=ao._pageX}}G.scrolling[H]=true;f=0;i=0;return true};if(p.on){p.on(w,X)}else{p.bind(w,X)}var ac=function(am,al){aa=(am>Q)?Q:(am<aj)?aj:am;Z(null,am,0,0,al);return(am>Q)?"max":(am<aj)?"min":"value"};var m=function(am,al){h=(am>Y)?Y:(am<aj)?aj:am;Z(am,null,0,0,al);return(am>Y)?"max":(am<aj)?"min":"value"};function U(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){ac(c+am);requestAnimationFrame(U)}else{ac(c)}}}function N(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){m(E+am);requestAnimationFrame(N)}else{m(E)}}}var y=function(al){if(!G.enableScrolling[H]){return true}if(!G.scrolling[H]){return true}if(C){al.preventDefault();al.stopPropagation()}var aq=G.getTouches(al);if(aq.length>1){return true}var am=aq[0].pageY;var ao=aq[0].pageX;if(G.simulatetouches){if(aq[0]._pageY!=undefined){am=aq[0]._pageY;ao=aq[0]._pageX}}var au=am-r;var av=ao-t;J=am;var at=ao;g=au-f;j=av-i;k=true;f=au;i=av;var an=x!=null?x[0].style.visibility!="hidden":true;var ar=n!=null?n[0].style.visibility!="hidden":true;function ap(ay){var aA,az,ax;if(F){aA=A(ay);ax=ae(ay);az=d-aA;V=ag-ax;var aw="value";if(az>2||az<-2){d=aA;aw=ac(aa+az,ay);I();if(aw=="min"&&T===0){return true}if(aw=="max"&&T===Q){return true}if(!ar){return true}ay.preventDefault();ay.stopPropagation();C=true;return false}else{if(V>2||V<-2){ag=ax;aw=m(h+V,ay);I();if(aw=="min"&&ai===0){return true}if(aw=="max"&&ai===Y){return true}if(!an){return true}C=true;ay.preventDefault();ay.stopPropagation();return false}}ay.preventDefault()}}if(an||ar){if((an)||(ar)){ap(al)}}};if(p.on){p.on(ab,y)}else{p.bind(ab,y)}var s=function(am){if(!G.enableScrolling[H]){return true}var an=G.getTouches(am)[0];if(!G.scrolling[H]){return true}F=false;clearInterval(u);if(af>10||af<-10){S=0.8*af;c=Math.round(aa+S);v=Date.now();requestAnimationFrame(U)}else{if(O>10||O<-10){S=0.8*O;E=Math.round(h+S);v=Date.now();requestAnimationFrame(N)}else{}}G.scrolling[H]=false;if(k){G.dispatchMouseEvent("mouseup",an,am.target)}else{var an=G.getTouches(am)[0],al=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,al);G.dispatchMouseEvent("click",an,al);return true}};if(this.simulatetouches){var q=b(window).on!=undefined||b(window).bind;var P=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};b(window).on!=undefined?b(document).on("mouseup.touchScroll",P):b(document).bind("mouseup.touchScroll",P);if(window.frameElement){if(window.top!=null){var L=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};if(window.top.document){b(window.top.document).on?b(window.top.document).on("mouseup",L):b(window.top.document).bind("mouseup",L)}}}var ak=b(document).on!=undefined||b(document).bind;var K=function(al){if(!G.scrolling[H]){return true}G.scrolling[H]=false;var an=G.getTouches(al)[0],am=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,am);G.dispatchMouseEvent("click",an,am)};b(document).on!=undefined?b(document).on("touchend",K):b(document).bind("touchend",K)}if(p.on){p.on("dragstart",function(al){al.preventDefault()});p.on("selectstart",function(al){al.preventDefault()})}p.on?p.on(D+" touchcancel.touchScroll",s):p.bind(D+" touchcancel.touchScroll",s)}});b.jqx.cookie=b.jqx.cookie||{};b.extend(b.jqx.cookie,{cookie:function(f,g,d){if(arguments.length>1&&String(g)!=="[object Object]"){d=b.extend({},d);if(g===null||g===undefined){d.expires=-1}if(typeof d.expires==="number"){var i=d.expires,e=d.expires=new Date();e.setDate(e.getDate()+i)}g=String(g);return(document.cookie=[encodeURIComponent(f),"=",d.raw?g:encodeURIComponent(g),d.expires?"; expires="+d.expires.toUTCString():"",d.path?"; path="+d.path:"",d.domain?"; domain="+d.domain:"",d.secure?"; secure":""].join(""))}d=g||{};var c,h=d.raw?function(j){return j}:decodeURIComponent;return(c=new RegExp("(?:^|; )"+encodeURIComponent(f)+"=([^;]*)").exec(document.cookie))?h(c[1]):null}});b.jqx.string=b.jqx.string||{};b.extend(b.jqx.string,{replace:function(g,e,f){if(e===f){return this}var c=g;var d=c.indexOf(e);while(d!=-1){c=c.replace(e,f);d=c.indexOf(e)}return c},contains:function(c,d){if(c==null||d==null){return false}return c.indexOf(d)!=-1},containsIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toString().toUpperCase().indexOf(d.toString().toUpperCase())!=-1},equals:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.slice(0,d.length)==d}return false},equalsIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.toUpperCase().slice(0,d.length)==d.toUpperCase()}return false},startsWith:function(c,d){if(c==null||d==null){return false}return c.slice(0,d.length)==d},startsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toUpperCase().slice(0,d.length)==d.toUpperCase()},normalize:function(c){if(c.charCodeAt(c.length-1)==65279){c=c.substring(0,c.length-1)}return c},endsWith:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.slice(-d.length)==d},endsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.toUpperCase().slice(-d.length)==d.toUpperCase()}});b.extend(b.easing,{easeOutBack:function(f,g,e,j,i,h){if(h==undefined){h=1.70158}return j*((g=g/i-1)*g*((h+1)*g+h)+1)+e},easeInQuad:function(f,g,e,i,h){return i*(g/=h)*g+e},easeInOutCirc:function(f,g,e,i,h){if((g/=h/2)<1){return -i/2*(Math.sqrt(1-g*g)-1)+e}return i/2*(Math.sqrt(1-(g-=2)*g)+1)+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e},easeInCubic:function(f,g,e,i,h){return i*(g/=h)*g*g+e},easeOutCubic:function(f,g,e,i,h){return i*((g=g/h-1)*g*g+1)+e},easeInOutCubic:function(f,g,e,i,h){if((g/=h/2)<1){return i/2*g*g*g+e}return i/2*((g-=2)*g*g+2)+e},easeInSine:function(f,g,e,i,h){return -i*Math.cos(g/h*(Math.PI/2))+i+e},easeOutSine:function(f,g,e,i,h){return i*Math.sin(g/h*(Math.PI/2))+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e}})})(jqxBaseFramework);(function(b){if(b.event&&b.event.special){b.extend(b.event.special,{close:{noBubble:true},open:{noBubble:true},cellclick:{noBubble:true},rowclick:{noBubble:true},tabclick:{noBubble:true},selected:{noBubble:true},expanded:{noBubble:true},collapsed:{noBubble:true},valuechanged:{noBubble:true},expandedItem:{noBubble:true},collapsedItem:{noBubble:true},expandingItem:{noBubble:true},collapsingItem:{noBubble:true}})}if(b.fn.extend){b.fn.extend({ischildof:function(g){if(!b(this).parents){var c=g.element.contains(this.element);return c}var e=b(this).parents().get();for(var d=0;d<e.length;d++){if(typeof g!="string"){var f=e[d];if(g!==undefined){if(f==g[0]){return true}}}else{if(g!==undefined){if(b(e[d]).is(g)){return true}}}}return false}})}b.fn.jqxProxy=function(){var e=b(this).data().jqxWidget;var c=Array.prototype.slice.call(arguments,0);var d=e.element;if(!d){d=e.base.element}return b.jqx.jqxWidgetProxy(e.widgetName,d,c)};var a=b.originalVal=b.fn.val;b.fn.val=function(d){if(typeof d=="undefined"){if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){return c.val()}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){return c.val()}}return a.call(this)}else{if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}return a.call(this,d)}};if(b.fn.modal&&b.fn.modal.Constructor){b.fn.modal.Constructor.prototype.enforceFocus=function(){b(document).off("focusin.bs.modal").on("focusin.bs.modal",b.proxy(function(c){if(this.$element[0]!==c.target&&!this.$element.has(c.target).length){if(b(c.target).parents().hasClass("jqx-popup")){return true}this.$element.trigger("focus")}},this))}}b.fn.coord=function(n){var e,j,i={top:0,left:0},f=this[0],l=f&&f.ownerDocument;if(!l){return}e=l.documentElement;if(!b.contains(e,f)){return i}if(typeof f.getBoundingClientRect!==undefined){i=f.getBoundingClientRect()}var d=function(o){return b.isWindow(o)?o:o.nodeType===9?o.defaultView||o.parentWindow:false};j=d(l);var h=0;var c=0;var g=navigator.userAgent.toLowerCase();var m=g.indexOf("ipad")!=-1||g.indexOf("iphone")!=-1;if(m){h=2}if(true==n){if(document.body.style.position!="static"&&document.body.style.position!=""){var k=b(document.body).coord();h=-k.left;c=-k.top}}return{top:c+i.top+(j.pageYOffset||e.scrollTop)-(e.clientTop||0),left:h+i.left+(j.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};b.jqx.ripplers=[];b.jqx.ripple=function(f,e,o){if(!e){e=f}var h=b(f);var j=false;h.append("<span class='ink'></span>");var p=h.find(".ink");var c=false;for(var g=0;g<b.jqx.ripplers.length;g++){var k=b.jqx.ripplers[g];if(k.element[0]===f[0]){c=true;break}}if(!c){b.jqx.ripplers.push({ink:p,element:f,hostElement:e,hostElementType:o})}if(o==="checkbox"||o==="radiobutton"){var l=Math.max(h.outerWidth(),h.outerHeight());p.css({height:l,width:l});var n=h.width()/2-p.width()/2;var m=h.height()/2-p.height()/2;p.css({top:m+"px",left:n+"px"})}if(b.jqx.ripplers.length===1){b(document).on("mouseup",function(r){b.jqx.ripple.mouseCaptured=false;for(var q=0;q<b.jqx.ripplers.length;q++){var d=b.jqx.ripplers[q];d.ink.removeClass("active");d.element.removeClass("active");if(o!=="checkbox"&&o!=="radiobutton"){if(d.ink.hasClass("animate")){d.ink.removeClass("animate")}}}})}e.off("mousedown.ripple");e.on("mousedown.ripple",function(i){var d=b(f);b.jqx.ripple.mouseCaptured=true;setTimeout(function(){if(d.find(".ink").length==0){d.append("<span class='ink'></span>")}var r=d.find(".ink");r.removeClass("animate");if(!r.height()&&!r.width()){var s=Math.max(d.outerWidth(),d.outerHeight());r.css({height:s,width:s})}if(o==="checkbox"||o==="radiobutton"){if(o==="checkbox"){if(e.jqxCheckBox("disabled")){return}}if(o==="radiobutton"){if(e.jqxRadioButton("disabled")){return}}var q=d.width()/2-r.width()/2;var t=d.height()/2-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate");r.on("animationend",function(){if(b.jqx.ripple.mouseCaptured){r.removeClass("animate");r.addClass("active");f.addClass("active")}});return}var q=i.pageX-d.offset().left-r.width()/2;var t=i.pageY-d.offset().top-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate")})})}})(jqxBaseFramework);
+(function(cn,bM){var cs,bF,cg,bv,bR,b5,bI,bL,bH,ce,bE=true,bZ="undefined",cu=("sizcache"+Math.random()).replace(".",""),bz=String,bD=cn.document,bG=bD.documentElement,bW=0,bK=0,b9=[].pop,cr=[].push,bQ=[].slice,bT=[].indexOf||function(cE){var cD=0,cC=this.length;for(;cD<cC;cD++){if(this[cD]===cE){return cD}}return -1},cw=function(cC,cD){cC[cu]=cD==null||cD;return cC},cA=function(){var cC={},cD=[];return cw(function(cE,cF){if(cD.push(cE)>cg.cacheLength){delete cC[cD.shift()]}return(cC[cE+" "]=cF)},cC)},cp=cA(),cq=cA(),bS=cA(),b3="[\\x20\\t\\r\\n\\f]",bP="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",bN=bP.replace("w","w#"),cz="([*^$|!~]?=)",ck="\\["+b3+"*("+bP+")"+b3+"*(?:"+cz+b3+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+bN+")|)|)"+b3+"*\\]",cB=":("+bP+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+ck+")|[^:]|\\\\.)*|.*))\\)|)",b4=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+b3+"*((?:-\\d)?\\d*)"+b3+"*\\)|)(?=[^-]|$)",co=new RegExp("^"+b3+"+|((?:^|[^\\\\])(?:\\\\.)*)"+b3+"+$","g"),bA=new RegExp("^"+b3+"*,"+b3+"*"),cc=new RegExp("^"+b3+"*([\\x20\\t\\r\\n\\f>+~])"+b3+"*"),ch=new RegExp(cB),cj=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,b8=/^:not/,cm=/[\x20\t\r\n\f]*[+~]/,cv=/:not\($/,bX=/h\d/i,ci=/input|select|textarea|button/i,bY=/\\(?!\\)/g,cb={ID:new RegExp("^#("+bP+")"),CLASS:new RegExp("^\\.("+bP+")"),NAME:new RegExp("^\\[name=['\"]?("+bP+")['\"]?\\]"),TAG:new RegExp("^("+bP.replace("w","w*")+")"),ATTR:new RegExp("^"+ck),PSEUDO:new RegExp("^"+cB),POS:new RegExp(b4,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+b3+"*(even|odd|(([+-]|)(\\d*)n|)"+b3+"*(?:([+-]|)"+b3+"*(\\d+)|))"+b3+"*\\)|)","i"),needsContext:new RegExp("^"+b3+"*[>+~]|"+b4,"i")},cf=function(cC){var cE=bD.createElement("div");try{return cC(cE)}catch(cD){return false}finally{cE=null}},bC=cf(function(cC){cC.appendChild(bD.createComment(""));return !cC.getElementsByTagName("*").length}),b7=cf(function(cC){cC.innerHTML="<a href='#'></a>";return cC.firstChild&&typeof cC.firstChild.getAttribute!==bZ&&cC.firstChild.getAttribute("href")==="#"}),bV=cf(function(cD){cD.innerHTML="<select></select>";var cC=typeof cD.lastChild.getAttribute("multiple");return cC!=="boolean"&&cC!=="string"}),b6=cf(function(cC){cC.innerHTML="<div class='hidden e'></div><div class='hidden'></div>";if(!cC.getElementsByClassName||!cC.getElementsByClassName("e").length){return false}cC.lastChild.className="e";return cC.getElementsByClassName("e").length===2}),bu=cf(function(cD){cD.id=cu+0;cD.innerHTML="<a name='"+cu+"'></a><div name='"+cu+"'></div>";bG.insertBefore(cD,bG.firstChild);var cC=bD.getElementsByName&&bD.getElementsByName(cu).length===2+bD.getElementsByName(cu+0).length;bF=!bD.getElementById(cu);bG.removeChild(cD);return cC});try{bQ.call(bG.childNodes,0)[0].nodeType}catch(cy){bQ=function(cD){var cE,cC=[];for(;(cE=this[cD]);cD++){cC.push(cE)}return cC}}function cl(cF,cC,cH,cK){cH=cH||[];cC=cC||bD;var cI,cD,cJ,cE,cG=cC.nodeType;if(!cF||typeof cF!=="string"){return cH}if(cG!==1&&cG!==9){return[]}cJ=bR(cC);if(!cJ&&!cK){if((cI=cj.exec(cF))){if((cE=cI[1])){if(cG===9){cD=cC.getElementById(cE);if(cD&&cD.parentNode){if(cD.id===cE){cH.push(cD);return cH}}else{return cH}}else{if(cC.ownerDocument&&(cD=cC.ownerDocument.getElementById(cE))&&b5(cC,cD)&&cD.id===cE){cH.push(cD);return cH}}}else{if(cI[2]){cr.apply(cH,bQ.call(cC.getElementsByTagName(cF),0));return cH}else{if((cE=cI[3])&&b6&&cC.getElementsByClassName){cr.apply(cH,bQ.call(cC.getElementsByClassName(cE),0));return cH}}}}}return ct(cF.replace(co,"$1"),cC,cH,cK,cJ)}cl.matches=function(cD,cC){return cl(cD,null,null,cC)};cl.matchesSelector=function(cC,cD){return cl(cD,null,null,[cC]).length>0};function cd(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return cD==="input"&&cE.type===cC}}function by(cC){return function(cE){var cD=cE.nodeName.toLowerCase();return(cD==="input"||cD==="button")&&cE.type===cC}}function ca(cC){return cw(function(cD){cD=+cD;return cw(function(cE,cI){var cG,cF=cC([],cE.length,cD),cH=cF.length;while(cH--){if(cE[(cG=cF[cH])]){cE[cG]=!(cI[cG]=cE[cG])}}})})}bv=cl.getText=function(cG){var cF,cD="",cE=0,cC=cG.nodeType;if(cC){if(cC===1||cC===9||cC===11){if(typeof cG.textContent==="string"){return cG.textContent}else{for(cG=cG.firstChild;cG;cG=cG.nextSibling){cD+=bv(cG)}}}else{if(cC===3||cC===4){return cG.nodeValue}}}else{for(;(cF=cG[cE]);cE++){cD+=bv(cF)}}return cD};bR=cl.isXML=function(cC){var cD=cC&&(cC.ownerDocument||cC).documentElement;return cD?cD.nodeName!=="HTML":false};b5=cl.contains=bG.contains?function(cD,cC){var cF=cD.nodeType===9?cD.documentElement:cD,cE=cC&&cC.parentNode;return cD===cE||!!(cE&&cE.nodeType===1&&cF.contains&&cF.contains(cE))}:bG.compareDocumentPosition?function(cD,cC){return cC&&!!(cD.compareDocumentPosition(cC)&16)}:function(cD,cC){while((cC=cC.parentNode)){if(cC===cD){return true}}return false};cl.attr=function(cE,cD){var cF,cC=bR(cE);if(!cC){cD=cD.toLowerCase()}if((cF=cg.attrHandle[cD])){return cF(cE)}if(cC||bV){return cE.getAttribute(cD)}cF=cE.getAttributeNode(cD);return cF?typeof cE[cD]==="boolean"?cE[cD]?cD:null:cF.specified?cF.value:null:null};cg=cl.selectors={cacheLength:50,createPseudo:cw,match:cb,attrHandle:b7?{}:{href:function(cC){return cC.getAttribute("href",2)},type:function(cC){return cC.getAttribute("type")}},find:{ID:bF?function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC&&cC.parentNode?[cC]:[]}}:function(cF,cE,cD){if(typeof cE.getElementById!==bZ&&!cD){var cC=cE.getElementById(cF);return cC?cC.id===cF||typeof cC.getAttributeNode!==bZ&&cC.getAttributeNode("id").value===cF?[cC]:bM:[]}},TAG:bC?function(cC,cD){if(typeof cD.getElementsByTagName!==bZ){return cD.getElementsByTagName(cC)}}:function(cC,cG){var cF=cG.getElementsByTagName(cC);if(cC==="*"){var cH,cE=[],cD=0;for(;(cH=cF[cD]);cD++){if(cH.nodeType===1){cE.push(cH)}}return cE}return cF},NAME:bu&&function(cC,cD){if(typeof cD.getElementsByName!==bZ){return cD.getElementsByName(name)}},CLASS:b6&&function(cE,cD,cC){if(typeof cD.getElementsByClassName!==bZ&&!cC){return cD.getElementsByClassName(cE)}}},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(cC){cC[1]=cC[1].replace(bY,"");cC[3]=(cC[4]||cC[5]||"").replace(bY,"");if(cC[2]==="~="){cC[3]=" "+cC[3]+" "}return cC.slice(0,4)},CHILD:function(cC){cC[1]=cC[1].toLowerCase();if(cC[1]==="nth"){if(!cC[2]){cl.error(cC[0])}cC[3]=+(cC[3]?cC[4]+(cC[5]||1):2*(cC[2]==="even"||cC[2]==="odd"));cC[4]=+((cC[6]+cC[7])||cC[2]==="odd")}else{if(cC[2]){cl.error(cC[0])}}return cC},PSEUDO:function(cD){var cE,cC;if(cb.CHILD.test(cD[0])){return null}if(cD[3]){cD[2]=cD[3]}else{if((cE=cD[4])){if(ch.test(cE)&&(cC=bw(cE,true))&&(cC=cE.indexOf(")",cE.length-cC)-cE.length)){cE=cE.slice(0,cC);cD[0]=cD[0].slice(0,cC)}cD[2]=cE}}return cD.slice(0,3)}},filter:{ID:bF?function(cC){cC=cC.replace(bY,"");return function(cD){return cD.getAttribute("id")===cC}}:function(cC){cC=cC.replace(bY,"");return function(cE){var cD=typeof cE.getAttributeNode!==bZ&&cE.getAttributeNode("id");return cD&&cD.value===cC}},TAG:function(cC){if(cC==="*"){return function(){return true}}cC=cC.replace(bY,"").toLowerCase();return function(cD){return cD.nodeName&&cD.nodeName.toLowerCase()===cC}},CLASS:function(cC){var cD=cp[cu][cC+" "];return cD||(cD=new RegExp("(^|"+b3+")"+cC+"("+b3+"|$)"))&&cp(cC,function(cE){return cD.test(cE.className||(typeof cE.getAttribute!==bZ&&cE.getAttribute("class"))||"")})},ATTR:function(cE,cD,cC){return function(cH,cG){var cF=cl.attr(cH,cE);if(cF==null){return cD==="!="}if(!cD){return true}cF+="";return cD==="="?cF===cC:cD==="!="?cF!==cC:cD==="^="?cC&&cF.indexOf(cC)===0:cD==="*="?cC&&cF.indexOf(cC)>-1:cD==="$="?cC&&cF.substr(cF.length-cC.length)===cC:cD==="~="?(" "+cF+" ").indexOf(cC)>-1:cD==="|="?cF===cC||cF.substr(0,cC.length+1)===cC+"-":false}},CHILD:function(cC,cE,cF,cD){if(cC==="nth"){return function(cI){var cH,cJ,cG=cI.parentNode;if(cF===1&&cD===0){return true}if(cG){cJ=0;for(cH=cG.firstChild;cH;cH=cH.nextSibling){if(cH.nodeType===1){cJ++;if(cI===cH){break}}}}cJ-=cD;return cJ===cF||(cJ%cF===0&&cJ/cF>=0)}}return function(cH){var cG=cH;switch(cC){case"only":case"first":while((cG=cG.previousSibling)){if(cG.nodeType===1){return false}}if(cC==="first"){return true}cG=cH;case"last":while((cG=cG.nextSibling)){if(cG.nodeType===1){return false}}return true}}},PSEUDO:function(cF,cE){var cC,cD=cg.pseudos[cF]||cg.setFilters[cF.toLowerCase()]||cl.error("unsupported pseudo: "+cF);if(cD[cu]){return cD(cE)}if(cD.length>1){cC=[cF,cF,"",cE];return cg.setFilters.hasOwnProperty(cF.toLowerCase())?cw(function(cI,cK){var cH,cG=cD(cI,cE),cJ=cG.length;while(cJ--){cH=bT.call(cI,cG[cJ]);cI[cH]=!(cK[cH]=cG[cJ])}}):function(cG){return cD(cG,0,cC)}}return cD}},pseudos:{not:cw(function(cC){var cD=[],cE=[],cF=bI(cC.replace(co,"$1"));return cF[cu]?cw(function(cH,cM,cK,cI){var cL,cG=cF(cH,null,cI,[]),cJ=cH.length;while(cJ--){if((cL=cG[cJ])){cH[cJ]=!(cM[cJ]=cL)}}}):function(cI,cH,cG){cD[0]=cI;cF(cD,null,cG,cE);return !cE.pop()}}),has:cw(function(cC){return function(cD){return cl(cC,cD).length>0}}),contains:cw(function(cC){return function(cD){return(cD.textContent||cD.innerText||bv(cD)).indexOf(cC)>-1}}),enabled:function(cC){return cC.disabled===false},disabled:function(cC){return cC.disabled===true},checked:function(cC){var cD=cC.nodeName.toLowerCase();return(cD==="input"&&!!cC.checked)||(cD==="option"&&!!cC.selected)},selected:function(cC){if(cC.parentNode){cC.parentNode.selectedIndex}return cC.selected===true},parent:function(cC){return !cg.pseudos.empty(cC)},empty:function(cD){var cC;cD=cD.firstChild;while(cD){if(cD.nodeName>"@"||(cC=cD.nodeType)===3||cC===4){return false}cD=cD.nextSibling}return true},header:function(cC){return bX.test(cC.nodeName)},text:function(cE){var cD,cC;return cE.nodeName.toLowerCase()==="input"&&(cD=cE.type)==="text"&&((cC=cE.getAttribute("type"))==null||cC.toLowerCase()===cD)},radio:cd("radio"),checkbox:cd("checkbox"),file:cd("file"),password:cd("password"),image:cd("image"),submit:by("submit"),reset:by("reset"),button:function(cD){var cC=cD.nodeName.toLowerCase();return cC==="input"&&cD.type==="button"||cC==="button"},input:function(cC){return ci.test(cC.nodeName)},focus:function(cC){var cD=cC.ownerDocument;return cC===cD.activeElement&&(!cD.hasFocus||cD.hasFocus())&&!!(cC.type||cC.href||~cC.tabIndex)},active:function(cC){return cC===cC.ownerDocument.activeElement},first:ca(function(){return[0]}),last:ca(function(cC,cD){return[cD-1]}),eq:ca(function(cC,cE,cD){return[cD<0?cD+cE:cD]}),even:ca(function(cC,cE){for(var cD=0;cD<cE;cD+=2){cC.push(cD)}return cC}),odd:ca(function(cC,cE){for(var cD=1;cD<cE;cD+=2){cC.push(cD)}return cC}),lt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;--cD>=0;){cC.push(cD)}return cC}),gt:ca(function(cC,cF,cE){for(var cD=cE<0?cE+cF:cE;++cD<cF;){cC.push(cD)}return cC})}};function bx(cD,cC,cE){if(cD===cC){return cE}var cF=cD.nextSibling;while(cF){if(cF===cC){return -1}cF=cF.nextSibling}return 1}bL=bG.compareDocumentPosition?function(cD,cC){if(cD===cC){bH=true;return 0}return(!cD.compareDocumentPosition||!cC.compareDocumentPosition?cD.compareDocumentPosition:cD.compareDocumentPosition(cC)&4)?-1:1}:function(cK,cJ){if(cK===cJ){bH=true;return 0}else{if(cK.sourceIndex&&cJ.sourceIndex){return cK.sourceIndex-cJ.sourceIndex}}var cH,cD,cE=[],cC=[],cG=cK.parentNode,cI=cJ.parentNode,cL=cG;if(cG===cI){return bx(cK,cJ)}else{if(!cG){return -1}else{if(!cI){return 1}}}while(cL){cE.unshift(cL);cL=cL.parentNode}cL=cI;while(cL){cC.unshift(cL);cL=cL.parentNode}cH=cE.length;cD=cC.length;for(var cF=0;cF<cH&&cF<cD;cF++){if(cE[cF]!==cC[cF]){return bx(cE[cF],cC[cF])}}return cF===cH?bx(cK,cC[cF],-1):bx(cE[cF],cJ,1)};[0,0].sort(bL);bE=!bH;cl.uniqueSort=function(cE){var cF,cG=[],cD=1,cC=0;bH=bE;cE.sort(bL);if(bH){for(;(cF=cE[cD]);cD++){if(cF===cE[cD-1]){cC=cG.push(cD)}}while(cC--){cE.splice(cG[cC],1)}}return cE};cl.error=function(cC){throw new Error("Syntax error, unrecognized expression: "+cC)};function bw(cG,cL){var cD,cH,cJ,cK,cI,cE,cC,cF=cq[cu][cG+" "];if(cF){return cL?0:cF.slice(0)}cI=cG;cE=[];cC=cg.preFilter;while(cI){if(!cD||(cH=bA.exec(cI))){if(cH){cI=cI.slice(cH[0].length)||cI}cE.push(cJ=[])}cD=false;if((cH=cc.exec(cI))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cH[0].replace(co," ")}for(cK in cg.filter){if((cH=cb[cK].exec(cI))&&(!cC[cK]||(cH=cC[cK](cH)))){cJ.push(cD=new bz(cH.shift()));cI=cI.slice(cD.length);cD.type=cK;cD.matches=cH}}if(!cD){break}}return cL?cI.length:cI?cl.error(cG):cq(cG,cE).slice(0)}function b1(cG,cE,cF){var cC=cE.dir,cH=cF&&cE.dir==="parentNode",cD=bK++;return cE.first?function(cK,cJ,cI){while((cK=cK[cC])){if(cH||cK.nodeType===1){return cG(cK,cJ,cI)}}}:function(cL,cK,cJ){if(!cJ){var cI,cM=bW+" "+cD+" ",cN=cM+cs;while((cL=cL[cC])){if(cH||cL.nodeType===1){if((cI=cL[cu])===cN){return cL.sizset}else{if(typeof cI==="string"&&cI.indexOf(cM)===0){if(cL.sizset){return cL}}else{cL[cu]=cN;if(cG(cL,cK,cJ)){cL.sizset=true;return cL}cL.sizset=false}}}}}else{while((cL=cL[cC])){if(cH||cL.nodeType===1){if(cG(cL,cK,cJ)){return cL}}}}}}function bJ(cC){return cC.length>1?function(cG,cF,cD){var cE=cC.length;while(cE--){if(!cC[cE](cG,cF,cD)){return false}}return true}:cC[0]}function b0(cC,cD,cE,cF,cI){var cG,cL=[],cH=0,cJ=cC.length,cK=cD!=null;for(;cH<cJ;cH++){if((cG=cC[cH])){if(!cE||cE(cG,cF,cI)){cL.push(cG);if(cK){cD.push(cH)}}}}return cL}function cx(cE,cD,cG,cF,cH,cC){if(cF&&!cF[cu]){cF=cx(cF)}if(cH&&!cH[cu]){cH=cx(cH,cC)}return cw(function(cS,cP,cK,cR){var cU,cQ,cM,cL=[],cT=[],cJ=cP.length,cI=cS||bU(cD||"*",cK.nodeType?[cK]:cK,[]),cN=cE&&(cS||!cD)?b0(cI,cL,cE,cK,cR):cI,cO=cG?cH||(cS?cE:cJ||cF)?[]:cP:cN;if(cG){cG(cN,cO,cK,cR)}if(cF){cU=b0(cO,cT);cF(cU,[],cK,cR);cQ=cU.length;while(cQ--){if((cM=cU[cQ])){cO[cT[cQ]]=!(cN[cT[cQ]]=cM)}}}if(cS){if(cH||cE){if(cH){cU=[];cQ=cO.length;while(cQ--){if((cM=cO[cQ])){cU.push((cN[cQ]=cM))}}cH(null,(cO=[]),cU,cR)}cQ=cO.length;while(cQ--){if((cM=cO[cQ])&&(cU=cH?bT.call(cS,cM):cL[cQ])>-1){cS[cU]=!(cP[cU]=cM)}}}}else{cO=b0(cO===cP?cO.splice(cJ,cO.length):cO);if(cH){cH(null,cP,cO,cR)}else{cr.apply(cP,cO)}}})}function b2(cI){var cD,cG,cE,cH=cI.length,cL=cg.relative[cI[0].type],cM=cL||cg.relative[" "],cF=cL?1:0,cJ=b1(function(cN){return cN===cD},cM,true),cK=b1(function(cN){return bT.call(cD,cN)>-1},cM,true),cC=[function(cP,cO,cN){return(!cL&&(cN||cO!==ce))||((cD=cO).nodeType?cJ(cP,cO,cN):cK(cP,cO,cN))}];for(;cF<cH;cF++){if((cG=cg.relative[cI[cF].type])){cC=[b1(bJ(cC),cG)]}else{cG=cg.filter[cI[cF].type].apply(null,cI[cF].matches);if(cG[cu]){cE=++cF;for(;cE<cH;cE++){if(cg.relative[cI[cE].type]){break}}return cx(cF>1&&bJ(cC),cF>1&&cI.slice(0,cF-1).join("").replace(co,"$1"),cG,cF<cE&&b2(cI.slice(cF,cE)),cE<cH&&b2((cI=cI.slice(cE))),cE<cH&&cI.join(""))}cC.push(cG)}}return bJ(cC)}function bB(cF,cE){var cC=cE.length>0,cG=cF.length>0,cD=function(cQ,cK,cP,cO,cW){var cL,cM,cR,cV=[],cU=0,cN="0",cH=cQ&&[],cS=cW!=null,cT=ce,cJ=cQ||cG&&cg.find.TAG("*",cW&&cK.parentNode||cK),cI=(bW+=cT==null?1:Math.E);if(cS){ce=cK!==bD&&cK;cs=cD.el}for(;(cL=cJ[cN])!=null;cN++){if(cG&&cL){for(cM=0;(cR=cF[cM]);cM++){if(cR(cL,cK,cP)){cO.push(cL);break}}if(cS){bW=cI;cs=++cD.el}}if(cC){if((cL=!cR&&cL)){cU--}if(cQ){cH.push(cL)}}}cU+=cN;if(cC&&cN!==cU){for(cM=0;(cR=cE[cM]);cM++){cR(cH,cV,cK,cP)}if(cQ){if(cU>0){while(cN--){if(!(cH[cN]||cV[cN])){cV[cN]=b9.call(cO)}}}cV=b0(cV)}cr.apply(cO,cV);if(cS&&!cQ&&cV.length>0&&(cU+cE.length)>1){cl.uniqueSort(cO)}}if(cS){bW=cI;ce=cT}return cH};cD.el=0;return cC?cw(cD):cD}bI=cl.compile=function(cC,cH){var cE,cD=[],cG=[],cF=bS[cu][cC+" "];if(!cF){if(!cH){cH=bw(cC)}cE=cH.length;while(cE--){cF=b2(cH[cE]);if(cF[cu]){cD.push(cF)}else{cG.push(cF)}}cF=bS(cC,bB(cG,cD))}return cF};function bU(cD,cG,cF){var cE=0,cC=cG.length;for(;cE<cC;cE++){cl(cD,cG[cE],cF)}return cF}function ct(cE,cC,cG,cK,cJ){var cH,cN,cD,cM,cL,cI=bw(cE),cF=cI.length;if(!cK){if(cI.length===1){cN=cI[0]=cI[0].slice(0);if(cN.length>2&&(cD=cN[0]).type==="ID"&&cC.nodeType===9&&!cJ&&cg.relative[cN[1].type]){cC=cg.find.ID(cD.matches[0].replace(bY,""),cC,cJ)[0];if(!cC){return cG}cE=cE.slice(cN.shift().length)}for(cH=cb.POS.test(cE)?-1:cN.length-1;cH>=0;cH--){cD=cN[cH];if(cg.relative[(cM=cD.type)]){break}if((cL=cg.find[cM])){if((cK=cL(cD.matches[0].replace(bY,""),cm.test(cN[0].type)&&cC.parentNode||cC,cJ))){cN.splice(cH,1);cE=cK.length&&cN.join("");if(!cE){cr.apply(cG,bQ.call(cK,0));return cG}break}}}}}bI(cE,cI)(cK,cC,cJ,cG,cm.test(cE));return cG}if(bD.querySelectorAll){(function(){var cH,cI=ct,cG=/'|\\/g,cE=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,cD=[":focus"],cC=[":active"],cF=bG.matchesSelector||bG.mozMatchesSelector||bG.webkitMatchesSelector||bG.oMatchesSelector||bG.msMatchesSelector;cf(function(cJ){cJ.innerHTML="<select><option selected=''></option></select>";if(!cJ.querySelectorAll("[selected]").length){cD.push("\\["+b3+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!cJ.querySelectorAll(":checked").length){cD.push(":checked")}});cf(function(cJ){cJ.innerHTML="<p test=''></p>";if(cJ.querySelectorAll("[test^='']").length){cD.push("[*^$]="+b3+"*(?:\"\"|'')")}cJ.innerHTML="<input type='hidden'/>";if(!cJ.querySelectorAll(":enabled").length){cD.push(":enabled",":disabled")}});cD=new RegExp(cD.join("|"));ct=function(cP,cK,cR,cU,cT){if(!cU&&!cT&&!cD.test(cP)){var cN,cS,cM=true,cJ=cu,cL=cK,cQ=cK.nodeType===9&&cP;if(cK.nodeType===1&&cK.nodeName.toLowerCase()!=="object"){cN=bw(cP);if((cM=cK.getAttribute("id"))){cJ=cM.replace(cG,"\\$&")}else{cK.setAttribute("id",cJ)}cJ="[id='"+cJ+"'] ";cS=cN.length;while(cS--){cN[cS]=cJ+cN[cS].join("")}cL=cm.test(cP)&&cK.parentNode||cK;cQ=cN.join(",")}if(cQ){try{cr.apply(cR,bQ.call(cL.querySelectorAll(cQ),0));return cR}catch(cO){}finally{if(!cM){cK.removeAttribute("id")}}}}return cI(cP,cK,cR,cU,cT)};if(cF){cf(function(cK){cH=cF.call(cK,"div");try{cF.call(cK,"[test!='']:sizzle");cC.push("!=",cB)}catch(cJ){}});cC=new RegExp(cC.join("|"));cl.matchesSelector=function(cK,cM){cM=cM.replace(cE,"='$1']");if(!bR(cK)&&!cC.test(cM)&&!cD.test(cM)){try{var cJ=cF.call(cK,cM);if(cJ||cH||cK.document&&cK.document.nodeType!==11){return cJ}}catch(cL){}}return cl(cM,null,null,[cK]).length>0}}})()}cg.pseudos.nth=cg.pseudos.eq;function bO(){}cg.filters=bO.prototype=cg.pseudos;cg.setFilters=new bO();cl.attr=C.attr;C.find=cl;C.expr=cl.selectors;C.expr[":"]=C.expr.pseudos;C.unique=cl.uniqueSort;C.text=cl.getText;C.isXMLDoc=cl.isXML;C.contains=cl.contains})(bd);var U=/Until$/,ag=/^(?:parents|prev(?:Until|All))/,bq=/^.[^:#\[\.,]*$/,aQ=C.expr.match.needsContext,ao={children:true,contents:true,next:true,prev:true};C.fn.extend({find:function(bu){var by,bv,bA,bB,bz,bx,bw=this;if(typeof bu!=="string"){return C(bu).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(C.contains(bw[by],this)){return true}}})}bx=this.pushStack("","find",bu);for(by=0,bv=this.length;by<bv;by++){bA=bx.length;C.find(bu,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bx){var bw,bv=C(bx,this),bu=bv.length;return this.filter(function(){for(bw=0;bw<bu;bw++){if(C.contains(this,bv[bw])){return true}}})},not:function(bu){return this.pushStack(az(this,bu,false),"not",bu)},filter:function(bu){return this.pushStack(az(this,bu,true),"filter",bu)},is:function(bu){return !!bu&&(typeof bu==="string"?aQ.test(bu)?C(bu,this.context).index(this[0])>=0:C.filter(bu,this).length>0:this.filter(bu).length>0)},closest:function(by,bx){var bz,bw=0,bu=this.length,bv=[],bA=aQ.test(by)||typeof by!=="string"?C(by,bx||this.context):0;for(;bw<bu;bw++){bz=this[bw];while(bz&&bz.ownerDocument&&bz!==bx&&bz.nodeType!==11){if(bA?bA.index(bz)>-1:C.find.matchesSelector(bz,by)){bv.push(bz);break}bz=bz.parentNode}}bv=bv.length>1?C.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(bu){if(!bu){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof bu==="string"){return C.inArray(this[0],C(bu))}return C.inArray(bu.jqx?bu[0]:bu,this)},add:function(bu,bv){var bx=typeof bu==="string"?C(bu,bv):C.makeArray(bu&&bu.nodeType?[bu]:bu),bw=C.merge(this.get(),bx);return this.pushStack(x(bx[0])||x(bw[0])?bw:C.unique(bw))},addBack:function(bu){return this.add(bu==null?this.prevObject:this.prevObject.filter(bu))}});C.fn.andSelf=C.fn.addBack;function x(bu){return !bu||!bu.parentNode||bu.parentNode.nodeType===11}function aB(bv,bu){do{bv=bv[bu]}while(bv&&bv.nodeType!==1);return bv}C.each({parent:function(bv){var bu=bv.parentNode;return bu&&bu.nodeType!==11?bu:null},parents:function(bu){return C.dir(bu,"parentNode")},parentsUntil:function(bv,bu,bw){return C.dir(bv,"parentNode",bw)},next:function(bu){return aB(bu,"nextSibling")},prev:function(bu){return aB(bu,"previousSibling")},nextAll:function(bu){return C.dir(bu,"nextSibling")},prevAll:function(bu){return C.dir(bu,"previousSibling")},nextUntil:function(bv,bu,bw){return C.dir(bv,"nextSibling",bw)},prevUntil:function(bv,bu,bw){return C.dir(bv,"previousSibling",bw)},siblings:function(bu){return C.sibling((bu.parentNode||{}).firstChild,bu)},children:function(bu){return C.sibling(bu.firstChild)},contents:function(bu){return C.nodeName(bu,"iframe")?bu.contentDocument||bu.contentWindow.document:C.merge([],bu.childNodes)}},function(bu,bv){C.fn[bu]=function(by,bw){var bx=C.map(this,bv,by);if(!U.test(bu)){bw=by}if(bw&&typeof bw==="string"){bx=C.filter(bw,bx)}bx=this.length>1&&!ao[bu]?C.unique(bx):bx;if(this.length>1&&ag.test(bu)){bx=bx.reverse()}return this.pushStack(bx,bu,aD.call(arguments).join(","))}});C.extend({filter:function(bw,bu,bv){if(bv){bw=":not("+bw+")"}return bu.length===1?C.find.matchesSelector(bu[0],bw)?[bu[0]]:[]:C.find.matches(bw,bu)},dir:function(bw,bv,by){var bu=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===G||bx.nodeType!==1||!C(bx).is(by))){if(bx.nodeType===1){bu.push(bx)}bx=bx[bv]}return bu},sibling:function(bw,bv){var bu=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){bu.push(bw)}}return bu}});function az(bx,bw,bu){bw=bw||0;if(C.isFunction(bw)){return C.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===bu})}else{if(bw.nodeType){return C.grep(bx,function(bz,by){return(bz===bw)===bu})}else{if(typeof bw==="string"){var bv=C.grep(bx,function(by){return by.nodeType===1});if(bq.test(bw)){return C.filter(bw,bv,!bu)}else{bw=C.filter(bw,bv)}}}}return C.grep(bx,function(bz,by){return(C.inArray(bz,bw)>=0)===bu})}function a(bu){var bw=aJ.split("|"),bv=bu.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aJ="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aa=/ JQXLite\d+="(?:null|\d+)"/g,ah=/^\s+/,L=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,c=/<([\w:]+)/,v=/<tbody/i,P=/<|&#?\w+;/,W=/<(?:script|style|link)/i,I=/<(?:script|object|embed|option|style)/i,ac=new RegExp("<(?:"+aJ+")[\\s/>]","i"),R=/^(?:checkbox|radio)$/,o=/checked\s*(?:[^=]|=\s*.checked.)/i,bp=/\/(java|ecma)script/i,aG=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,am={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},T=a(ak),bg=T.appendChild(ak.createElement("div"));am.optgroup=am.option;am.tbody=am.tfoot=am.colgroup=am.caption=am.thead;am.th=am.td;if(!C.support.htmlSerialize){am._default=[1,"X<div>","</div>"]}C.fn.extend({text:function(bu){return C.access(this,function(bv){return bv===G?C.text(this):this.empty().append((this[0]&&this[0].ownerDocument||ak).createTextNode(bv))},null,bu,arguments.length)},wrapAll:function(bu){if(C.isFunction(bu)){return this.each(function(bw){C(this).wrapAll(bu.call(this,bw))})}if(this[0]){var bv=C(bu,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(bu){if(C.isFunction(bu)){return this.each(function(bv){C(this).wrapInner(bu.call(this,bv))})}return this.each(function(){var bv=C(this),bw=bv.contents();if(bw.length){bw.wrapAll(bu)}else{bv.append(bu)}})},wrap:function(bu){var bv=C.isFunction(bu);return this.each(function(bw){C(this).wrapAll(bv?bu.call(this,bw):bu)})},unwrap:function(){return this.parent().each(function(){if(!C.nodeName(this,"body")){C(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.appendChild(bu)}})},prepend:function(){return this.domManip(arguments,true,function(bu){if(this.nodeType===1||this.nodeType===11){this.insertBefore(bu,this.firstChild)}})},before:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(bu,this),"before",this.selector)}},after:function(){if(!x(this[0])){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}if(arguments.length){var bu=C.clean(arguments);return this.pushStack(C.merge(this,bu),"after",this.selector)}},remove:function(bu,bx){var bw,bv=0;for(;(bw=this[bv])!=null;bv++){if(!bu||C.filter(bu,[bw]).length){if(!bx&&bw.nodeType===1){C.cleanData(bw.getElementsByTagName("*"));C.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){var bv,bu=0;for(;(bv=this[bu])!=null;bu++){if(bv.nodeType===1){C.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,bu){bv=bv==null?false:bv;bu=bu==null?bv:bu;return this.map(function(){return C.clone(this,bv,bu)})},html:function(bu){return C.access(this,function(by){var bx=this[0]||{},bw=0,bv=this.length;if(by===G){return bx.nodeType===1?bx.innerHTML.replace(aa,""):G}if(typeof by==="string"&&!W.test(by)&&(C.support.htmlSerialize||!ac.test(by))&&(C.support.leadingWhitespace||!ah.test(by))&&!am[(c.exec(by)||["",""])[1].toLowerCase()]){by=by.replace(L,"<$1></$2>");try{for(;bw<bv;bw++){bx=this[bw]||{};if(bx.nodeType===1){C.cleanData(bx.getElementsByTagName("*"));bx.innerHTML=by}}bx=0}catch(bz){}}if(bx){this.empty().append(by)}},null,bu,arguments.length)},replaceWith:function(bu){if(!x(this[0])){if(C.isFunction(bu)){return this.each(function(bx){var bw=C(this),bv=bw.html();bw.replaceWith(bu.call(this,bx,bv))})}if(typeof bu!=="string"){bu=C(bu).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;C(this).remove();if(bw){C(bw).before(bu)}else{C(bv).append(bu)}})}return this.length?this.pushStack(C(C.isFunction(bu)?bu():bu),"replaceWith",bu):this},detach:function(bu){return this.remove(bu,true)},domManip:function(bA,bE,bD){bA=[].concat.apply([],bA);var bw,by,bz,bC,bx=0,bB=bA[0],bv=[],bu=this.length;if(!C.support.checkClone&&bu>1&&typeof bB==="string"&&o.test(bB)){return this.each(function(){C(this).domManip(bA,bE,bD)})}if(C.isFunction(bB)){return this.each(function(bG){var bF=C(this);bA[0]=bB.call(this,bG,bE?bF.html():G);bF.domManip(bA,bE,bD)})}if(this[0]){bw=C.buildFragment(bA,this,bv);bz=bw.fragment;by=bz.firstChild;if(bz.childNodes.length===1){bz=by}if(by){bE=bE&&C.nodeName(by,"tr");for(bC=bw.cacheable||bu-1;bx<bu;bx++){bD.call(bE&&C.nodeName(this[bx],"table")?a3(this[bx],"tbody"):this[bx],bx===bC?bz:C.clone(bz,true,true))}}bz=by=null;if(bv.length){C.each(bv,function(bF,bG){if(bG.src){if(C.ajax){C.ajax({url:bG.src,type:"GET",dataType:"script",async:false,global:false,"throws":true})}else{C.error("no ajax")}}else{C.globalEval((bG.text||bG.textContent||bG.innerHTML||"").replace(aG,""))}if(bG.parentNode){bG.parentNode.removeChild(bG)}})}}return this}});function a3(bv,bu){return bv.getElementsByTagName(bu)[0]||bv.appendChild(bv.ownerDocument.createElement(bu))}function r(bB,bv){if(bv.nodeType!==1||!C.hasData(bB)){return}var by,bx,bu,bA=C._data(bB),bz=C._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,bu=bw[by].length;bx<bu;bx++){C.event.add(bv,by,bw[by][bx])}}}if(bz.data){bz.data=C.extend({},bz.data)}}function ab(bv,bu){var bw;if(bu.nodeType!==1){return}if(bu.clearAttributes){bu.clearAttributes()}if(bu.mergeAttributes){bu.mergeAttributes(bv)}bw=bu.nodeName.toLowerCase();if(bw==="object"){if(bu.parentNode){bu.outerHTML=bv.outerHTML}if(C.support.html5Clone&&(bv.innerHTML&&!C.trim(bu.innerHTML))){bu.innerHTML=bv.innerHTML}}else{if(bw==="input"&&R.test(bv.type)){bu.defaultChecked=bu.checked=bv.checked;if(bu.value!==bv.value){bu.value=bv.value}}else{if(bw==="option"){bu.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){bu.defaultValue=bv.defaultValue}else{if(bw==="script"&&bu.text!==bv.text){bu.text=bv.text}}}}}bu.removeAttribute(C.expando)}C.buildFragment=function(bx,by,bv){var bw,bu,bz,bA=bx[0];by=by||ak;by=!by.nodeType&&by[0]||by;by=by.ownerDocument||by;if(bx.length===1&&typeof bA==="string"&&bA.length<512&&by===ak&&bA.charAt(0)==="<"&&!I.test(bA)&&(C.support.checkClone||!o.test(bA))&&(C.support.html5Clone||!ac.test(bA))){bu=true;bw=C.fragments[bA];bz=bw!==G}if(!bw){bw=by.createDocumentFragment();C.clean(bx,by,bw,bv);if(bu){C.fragments[bA]=bz&&bw}}return{fragment:bw,cacheable:bu}};C.fragments={};C.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(bu,bv){C.fn[bu]=function(bw){var by,bA=0,bz=[],bC=C(bw),bx=bC.length,bB=this.length===1&&this[0].parentNode;if((bB==null||bB&&bB.nodeType===11&&bB.childNodes.length===1)&&bx===1){bC[bv](this[0]);return this}else{for(;bA<bx;bA++){by=(bA>0?this.clone(true):this).get();C(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,bu,bC.selector)}}});function bk(bu){if(typeof bu.getElementsByTagName!=="undefined"){return bu.getElementsByTagName("*")}else{if(typeof bu.querySelectorAll!=="undefined"){return bu.querySelectorAll("*")}else{return[]}}}function al(bu){if(R.test(bu.type)){bu.defaultChecked=bu.checked}}C.extend({clone:function(by,bA,bw){var bu,bv,bx,bz;if(C.support.html5Clone||C.isXMLDoc(by)||!ac.test("<"+by.nodeName+">")){bz=by.cloneNode(true)}else{bg.innerHTML=by.outerHTML;bg.removeChild(bz=bg.firstChild)}if((!C.support.noCloneEvent||!C.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!C.isXMLDoc(by)){ab(by,bz);bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){if(bv[bx]){ab(bu[bx],bv[bx])}}}if(bA){r(by,bz);if(bw){bu=bk(by);bv=bk(bz);for(bx=0;bu[bx];++bx){r(bu[bx],bv[bx])}}}bu=bv=null;return bz},clean:function(bH,bw,bu,bx){var bE,bD,bG,bL,bA,bK,bB,by,bv,bF,bJ,bC,bz=bw===ak&&T,bI=[];if(!bw||typeof bw.createDocumentFragment==="undefined"){bw=ak}for(bE=0;(bG=bH[bE])!=null;bE++){if(typeof bG==="number"){bG+=""}if(!bG){continue}if(typeof bG==="string"){if(!P.test(bG)){bG=bw.createTextNode(bG)}else{bz=bz||a(bw);bB=bw.createElement("div");bz.appendChild(bB);bG=bG.replace(L,"<$1></$2>");bL=(c.exec(bG)||["",""])[1].toLowerCase();bA=am[bL]||am._default;bK=bA[0];bB.innerHTML=bA[1]+bG+bA[2];while(bK--){bB=bB.lastChild}if(!C.support.tbody){by=v.test(bG);bv=bL==="table"&&!by?bB.firstChild&&bB.firstChild.childNodes:bA[1]==="<table>"&&!by?bB.childNodes:[];for(bD=bv.length-1;bD>=0;--bD){if(C.nodeName(bv[bD],"tbody")&&!bv[bD].childNodes.length){bv[bD].parentNode.removeChild(bv[bD])}}}if(!C.support.leadingWhitespace&&ah.test(bG)){bB.insertBefore(bw.createTextNode(ah.exec(bG)[0]),bB.firstChild)}bG=bB.childNodes;bB.parentNode.removeChild(bB)}}if(bG.nodeType){bI.push(bG)}else{C.merge(bI,bG)}}if(bB){bG=bB=bz=null}if(!C.support.appendChecked){for(bE=0;(bG=bI[bE])!=null;bE++){if(C.nodeName(bG,"input")){al(bG)}else{if(typeof bG.getElementsByTagName!=="undefined"){C.grep(bG.getElementsByTagName("input"),al)}}}}if(bu){bJ=function(bM){if(!bM.type||bp.test(bM.type)){return bx?bx.push(bM.parentNode?bM.parentNode.removeChild(bM):bM):bu.appendChild(bM)}};for(bE=0;(bG=bI[bE])!=null;bE++){if(!(C.nodeName(bG,"script")&&bJ(bG))){bu.appendChild(bG);if(typeof bG.getElementsByTagName!=="undefined"){bC=C.grep(C.merge([],bG.getElementsByTagName("script")),bJ);bI.splice.apply(bI,[bE+1,0].concat(bC));bE+=bC.length}}}}return bI},cleanData:function(bv,bD){var by,bw,bx,bC,bz=0,bE=C.expando,bu=C.cache,bA=C.support.deleteExpando,bB=C.event.special;for(;(bx=bv[bz])!=null;bz++){if(bD||C.acceptData(bx)){bw=bx[bE];by=bw&&bu[bw];if(by){if(by.events){for(bC in by.events){if(bB[bC]){C.event.remove(bx,bC)}else{C.removeEvent(bx,bC,by.handle)}}}if(bu[bw]){delete bu[bw];if(bA){delete bx[bE]}else{if(bx.removeAttribute){bx.removeAttribute(bE)}else{bx[bE]=null}}C.deletedIds.push(bw)}}}}}});(function(){var bu,bv;C.uaMatch=function(bx){bx=bx.toLowerCase();var bw=/(chrome)[ \/]([\w.]+)/.exec(bx)||/(webkit)[ \/]([\w.]+)/.exec(bx)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(bx)||/(msie) ([\w.]+)/.exec(bx)||bx.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(bx)||[];return{browser:bw[1]||"",version:bw[2]||"0"}};bu=C.uaMatch(bt.userAgent);bv={};if(bu.browser){bv[bu.browser]=true;bv.version=bu.version}if(bv.chrome){bv.webkit=true}else{if(bv.webkit){bv.safari=true}}C.browser=bv;C.sub=function(){function bx(bz,bA){return new bx.fn.init(bz,bA)}C.extend(true,bx,this);bx.superclass=this;bx.fn=bx.prototype=this();bx.fn.constructor=bx;bx.sub=this.sub;bx.fn.init=function by(bz,bA){if(bA&&bA instanceof C&&!(bA instanceof bx)){bA=bx(bA)}return C.fn.init.call(this,bz,bA,bw)};bx.fn.init.prototype=bx.fn;var bw=bx(ak);return bx}})();var Q,bc,l,ad=/alpha\([^)]*\)/i,aj=/opacity=([^)]*)/,w=/^(top|right|bottom|left)$/,ai=/^(none|table(?!-c[ea]).+)/,av=/^margin/,i=new RegExp("^("+aE+")(.*)$","i"),aV=new RegExp("^("+aE+")(?!px)[a-z%]+$","i"),E=new RegExp("^([-+])=("+aE+")","i"),J={BODY:"block"},ba={position:"absolute",visibility:"hidden",display:"block"},aL={letterSpacing:0,fontWeight:400},D=["Top","Right","Bottom","Left"],O=["Webkit","O","Moz","ms"],be=C.fn.toggle;function a2(bx,bv){if(bv in bx){return bv}var by=bv.charAt(0).toUpperCase()+bv.slice(1),bu=bv,bw=O.length;while(bw--){bv=O[bw]+by;if(bv in bx){return bv}}return bu}function ap(bv,bu){bv=bu||bv;return C.css(bv,"display")==="none"||!C.contains(bv.ownerDocument,bv)}function bb(bz,bu){var by,bA,bv=[],bw=0,bx=bz.length;for(;bw<bx;bw++){by=bz[bw];if(!by.style){continue}bv[bw]=C._data(by,"olddisplay");if(bu){if(!bv[bw]&&by.style.display==="none"){by.style.display=""}if(by.style.display===""&&ap(by)){bv[bw]=C._data(by,"olddisplay",aN(by.nodeName))}}else{bA=Q(by,"display");if(!bv[bw]&&bA!=="none"){C._data(by,"olddisplay",bA)}}}for(bw=0;bw<bx;bw++){by=bz[bw];if(!by.style){continue}if(!bu||by.style.display==="none"||by.style.display===""){by.style.display=bu?bv[bw]||"":"none"}}return bz}C.fn.extend({css:function(bu,bv){return C.access(this,function(bx,bw,by){return by!==G?C.style(bx,bw,by):C.css(bx,bw)},bu,bv,arguments.length>1)},show:function(){return bb(this,true)},hide:function(){return bb(this)},toggle:function(bw,bv){var bu=typeof bw==="boolean";if(C.isFunction(bw)&&C.isFunction(bv)){return be.apply(this,arguments)}return this.each(function(){if(bu?bw:ap(this)){C(this).show()}else{C(this).hide()}})}});C.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var bu=Q(bw,"opacity");return bu===""?"1":bu}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":C.support.cssFloat?"cssFloat":"styleFloat"},style:function(bw,bv,bC,bx){if(!bw||bw.nodeType===3||bw.nodeType===8||!bw.style){return}var bA,bB,bD,by=C.camelCase(bv),bu=bw.style;bv=C.cssProps[by]||(C.cssProps[by]=a2(bu,by));bD=C.cssHooks[bv]||C.cssHooks[by];if(bC!==G){bB=typeof bC;if(bB==="string"&&(bA=E.exec(bC))){bC=(bA[1]+1)*bA[2]+parseFloat(C.css(bw,bv));bB="number"}if(bC==null||bB==="number"&&isNaN(bC)){return}if(bB==="number"&&!C.cssNumber[by]){bC+="px"}if(!bD||!("set" in bD)||(bC=bD.set(bw,bC,bx))!==G){try{bu[bv]=bC}catch(bz){}}}else{if(bD&&"get" in bD&&(bA=bD.get(bw,false,bx))!==G){return bA}return bu[bv]}},css:function(bA,by,bz,bv){var bB,bx,bu,bw=C.camelCase(by);by=C.cssProps[bw]||(C.cssProps[bw]=a2(bA.style,bw));bu=C.cssHooks[by]||C.cssHooks[bw];if(bu&&"get" in bu){bB=bu.get(bA,true,bv)}if(bB===G){bB=Q(bA,by)}if(bB==="normal"&&by in aL){bB=aL[by]}if(bz||bv!==G){bx=parseFloat(bB);return bz||C.isNumeric(bx)?bx||0:bB}return bB},swap:function(by,bx,bz){var bw,bv,bu={};for(bv in bx){bu[bv]=by.style[bv];by.style[bv]=bx[bv]}bw=bz.call(by);for(bv in bx){by.style[bv]=bu[bv]}return bw}});if(bd.getComputedStyle){Q=function(bB,bv){var bu,by,bx,bA,bz=bd.getComputedStyle(bB,null),bw=bB.style;if(bz){bu=bz.getPropertyValue(bv)||bz[bv];if(bu===""&&!C.contains(bB.ownerDocument,bB)){bu=C.style(bB,bv)}if(aV.test(bu)&&av.test(bv)){by=bw.width;bx=bw.minWidth;bA=bw.maxWidth;bw.minWidth=bw.maxWidth=bw.width=bu;bu=bz.width;bw.width=by;bw.minWidth=bx;bw.maxWidth=bA}}return bu}}else{if(ak.documentElement.currentStyle){Q=function(by,bw){var bz,bu,bv=by.currentStyle&&by.currentStyle[bw],bx=by.style;if(bv==null&&bx&&bx[bw]){bv=bx[bw]}if(aV.test(bv)&&!w.test(bw)){bz=bx.left;bu=by.runtimeStyle&&by.runtimeStyle.left;if(bu){by.runtimeStyle.left=by.currentStyle.left}bx.left=bw==="fontSize"?"1em":bv;bv=bx.pixelLeft+"px";bx.left=bz;if(bu){by.runtimeStyle.left=bu}}return bv===""?"auto":bv}}}function aO(bu,bw,bx){var bv=i.exec(bw);return bv?Math.max(0,bv[1]-(bx||0))+(bv[2]||"px"):bw}function aZ(bx,bv,bu,bz){var bw=bu===(bz?"border":"content")?4:bv==="width"?1:0,by=0;for(;bw<4;bw+=2){if(bu==="margin"){by+=C.css(bx,bu+D[bw],true)}if(bz){if(bu==="content"){by-=parseFloat(Q(bx,"padding"+D[bw]))||0}if(bu!=="margin"){by-=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}else{by+=parseFloat(Q(bx,"padding"+D[bw]))||0;if(bu!=="padding"){by+=parseFloat(Q(bx,"border"+D[bw]+"Width"))||0}}}return by}function Y(bx,bv,bu){var by=bv==="width"?bx.offsetWidth:bx.offsetHeight,bw=true,bz=C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box";if(by<=0||by==null){by=Q(bx,bv);if(by<0||by==null){by=bx.style[bv]}if(aV.test(by)){return by}bw=bz&&(C.support.boxSizingReliable||by===bx.style[bv]);by=parseFloat(by)||0}return(by+aZ(bx,bv,bu||(bz?"border":"content"),bw))+"px"}function aN(bw){if(J[bw]){return J[bw]}var bu=C("<"+bw+">").appendTo(ak.body),bv=bu.css("display");bu.remove();if(bv==="none"||bv===""){bc=ak.body.appendChild(bc||C.extend(ak.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!l||!bc.createElement){l=(bc.contentWindow||bc.contentDocument).document;l.write("<!doctype html><html><body>");l.close()}bu=l.body.appendChild(l.createElement(bw));bv=Q(bu,"display");ak.body.removeChild(bc)}J[bw]=bv;return bv}C.each(["height","width"],function(bv,bu){C.cssHooks[bu]={get:function(by,bx,bw){if(bx){if(by.offsetWidth===0&&ai.test(Q(by,"display"))){return C.swap(by,ba,function(){return Y(by,bu,bw)})}else{return Y(by,bu,bw)}}},set:function(bx,by,bw){return aO(bx,by,bw?aZ(bx,bu,bw,C.support.boxSizing&&C.css(bx,"boxSizing")==="border-box"):0)}}});if(!C.support.opacity){C.cssHooks.opacity={get:function(bv,bu){return aj.test((bu&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":bu?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,bu=C.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&C.trim(bw.replace(ad,""))===""&&bx.removeAttribute){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ad.test(bw)?bw.replace(ad,bu):bw+" "+bu}}}C(function(){if(!C.support.reliableMarginRight){C.cssHooks.marginRight={get:function(bv,bu){return C.swap(bv,{display:"inline-block"},function(){if(bu){return Q(bv,"marginRight")}})}}}if(!C.support.pixelPosition&&C.fn.position){C.each(["top","left"],function(bu,bv){C.cssHooks[bv]={get:function(by,bx){if(bx){var bw=Q(by,bv);return aV.test(bw)?C(by).position()[bv]+"px":bw}}}})}});if(C.expr&&C.expr.filters){C.expr.filters.hidden=function(bu){return(bu.offsetWidth===0&&bu.offsetHeight===0)||(!C.support.reliableHiddenOffsets&&((bu.style&&bu.style.display)||Q(bu,"display"))==="none")};C.expr.filters.visible=function(bu){return !C.expr.filters.hidden(bu)}}C.each({margin:"",padding:"",border:"Width"},function(bu,bv){C.cssHooks[bu+bv]={expand:function(by){var bx,bz=typeof by==="string"?by.split(" "):[by],bw={};for(bx=0;bx<4;bx++){bw[bu+D[bx]+bv]=bz[bx]||bz[bx-2]||bz[0]}return bw}};if(!av.test(bu)){C.cssHooks[bu+bv].set=aO}});var g=/%20/g,af=/\[\]$/,br=/\r?\n/g,aU=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,p=/^(?:select|textarea)/i;C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?C.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||p.test(this.nodeName)||aU.test(this.type))}).map(function(bu,bv){var bw=C(this).val();return bw==null?null:C.isArray(bw)?C.map(bw,function(by,bx){return{name:bv.name,value:by.replace(br,"\r\n")}}):{name:bv.name,value:bw.replace(br,"\r\n")}}).get()}});C.param=function(bu,bw){var bx,bv=[],by=function(bz,bA){bA=C.isFunction(bA)?bA():(bA==null?"":bA);bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===G){bw=C.ajaxSettings&&C.ajaxSettings.traditional}if(C.isArray(bu)||(bu.jqx&&!C.isPlainObject(bu))){C.each(bu,function(){by(this.name,this.value)})}else{for(bx in bu){s(bx,bu[bx],bw,by)}}return bv.join("&").replace(g,"+")};function s(bw,by,bv,bx){var bu;if(C.isArray(by)){C.each(by,function(bA,bz){if(bv||af.test(bw)){bx(bw,bz)}else{s(bw+"["+(typeof bz==="object"?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&C.type(by)==="object"){for(bu in by){s(bw+"["+bu+"]",by[bu],bv,bx)}}else{bx(bw,by)}}}if(C.support.ajax){C.ajaxTransport(function(bu){if(!bu.crossDomain||C.support.cors){var bv;return{send:function(bB,bw){var bz,by,bA=bu.xhr();if(bu.username){bA.open(bu.type,bu.url,bu.async,bu.username,bu.password)}else{bA.open(bu.type,bu.url,bu.async)}if(bu.xhrFields){for(by in bu.xhrFields){bA[by]=bu.xhrFields[by]}}if(bu.mimeType&&bA.overrideMimeType){bA.overrideMimeType(bu.mimeType)}if(!bu.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((bu.hasContent&&bu.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=G;if(bz){bA.onreadystatechange=C.noop;if(xhrOnUnloadAbort){delete xhrCallbacks[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}try{bI.text=bA.responseText}catch(bJ){}try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&bu.isLocal&&!bu.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!bu.async){bv()}else{if(bA.readyState===4){setTimeout(bv,0)}else{bz=++xhrId;if(xhrOnUnloadAbort){if(!xhrCallbacks){xhrCallbacks={};C(bd).unload(xhrOnUnloadAbort)}xhrCallbacks[bz]=bv}bA.onreadystatechange=bv}}},abort:function(){if(bv){bv(0,1)}}}}})}var a6,a1,ar=/^(?:toggle|show|hide)$/,aM=new RegExp("^(?:([-+])=|)("+aE+")([a-z%]*)$","i"),a7=/queueHooks$/,k=[bm],H={"*":[function(bu,bB){var bx,bC,bD=this.createTween(bu,bB),by=aM.exec(bB),bz=bD.cur(),bv=+bz||0,bw=1,bA=20;if(by){bx=+by[2];bC=by[3]||(C.cssNumber[bu]?"":"px");if(bC!=="px"&&bv){bv=C.css(bD.elem,bu,true)||bx||1;do{bw=bw||".5";bv=bv/bw;C.style(bD.elem,bu,bv+bC)}while(bw!==(bw=bD.cur()/bz)&&bw!==1&&--bA)}bD.unit=bC;bD.start=bv;bD.end=by[1]?bv+(by[1]+1)*bx:bx}return bD}]};function bl(){setTimeout(function(){a6=G},0);return(a6=C.now())}function Z(bv,bu){C.each(bu,function(bA,by){var bz=(H[bA]||[]).concat(H["*"]),bw=0,bx=bz.length;for(;bw<bx;bw++){if(bz[bw].call(bv,bA,by)){return}}})}function bj(bw,bA,bD){var bE,bz=0,bu=0,bv=k.length,bC=C.Deferred().always(function(){delete by.elem}),by=function(){var bK=a6||bl(),bH=Math.max(0,bx.startTime+bx.duration-bK),bF=bH/bx.duration||0,bJ=1-bF,bG=0,bI=bx.tweens.length;for(;bG<bI;bG++){bx.tweens[bG].run(bJ)}bC.notifyWith(bw,[bx,bJ,bH]);if(bJ<1&&bI){return bH}else{bC.resolveWith(bw,[bx]);return false}},bx=bC.promise({elem:bw,props:C.extend({},bA),opts:C.extend(true,{specialEasing:{}},bD),originalProperties:bA,originalOptions:bD,startTime:a6||bl(),duration:bD.duration,tweens:[],createTween:function(bI,bF,bH){var bG=C.Tween(bw,bx.opts,bI,bF,bx.opts.specialEasing[bI]||bx.opts.easing);bx.tweens.push(bG);return bG},stop:function(bG){var bF=0,bH=bG?bx.tweens.length:0;for(;bF<bH;bF++){bx.tweens[bF].run(1)}if(bG){bC.resolveWith(bw,[bx,bG])}else{bC.rejectWith(bw,[bx,bG])}return this}}),bB=bx.props;aW(bB,bx.opts.specialEasing);for(;bz<bv;bz++){bE=k[bz].call(bx,bw,bB,bx.opts);if(bE){return bE}}Z(bx,bB);if(C.isFunction(bx.opts.start)){bx.opts.start.call(bw,bx)}C.fx.timer(C.extend(by,{anim:bx,queue:bx.opts.queue,elem:bw}));return bx.progress(bx.opts.progress).done(bx.opts.done,bx.opts.complete).fail(bx.opts.fail).always(bx.opts.always)}function aW(bx,bz){var bw,bv,bA,by,bu;for(bw in bx){bv=C.camelCase(bw);bA=bz[bv];by=bx[bw];if(C.isArray(by)){bA=by[1];by=bx[bw]=by[0]}if(bw!==bv){bx[bv]=by;delete bx[bw]}bu=C.cssHooks[bv];if(bu&&"expand" in bu){by=bu.expand(by);delete bx[bv];for(bw in by){if(!(bw in bx)){bx[bw]=by[bw];bz[bw]=bA}}}else{bz[bv]=bA}}}C.Animation=C.extend(bj,{tweener:function(bv,by){if(C.isFunction(bv)){by=bv;bv=["*"]}else{bv=bv.split(" ")}var bx,bu=0,bw=bv.length;for(;bu<bw;bu++){bx=bv[bu];H[bx]=H[bx]||[];H[bx].unshift(by)}},prefilter:function(bv,bu){if(bu){k.unshift(bv)}else{k.push(bv)}}});function bm(by,bE,bu){var bD,bw,bG,bx,bK,bA,bJ,bI,bH,bz=this,bv=by.style,bF={},bC=[],bB=by.nodeType&&ap(by);if(!bu.queue){bI=C._queueHooks(by,"fx");if(bI.unqueued==null){bI.unqueued=0;bH=bI.empty.fire;bI.empty.fire=function(){if(!bI.unqueued){bH()}}}bI.unqueued++;bz.always(function(){bz.always(function(){bI.unqueued--;if(!C.queue(by,"fx").length){bI.empty.fire()}})})}if(by.nodeType===1&&("height" in bE||"width" in bE)){bu.overflow=[bv.overflow,bv.overflowX,bv.overflowY];if(C.css(by,"display")==="inline"&&C.css(by,"float")==="none"){if(!C.support.inlineBlockNeedsLayout||aN(by.nodeName)==="inline"){bv.display="inline-block"}else{bv.zoom=1}}}if(bu.overflow){bv.overflow="hidden";if(!C.support.shrinkWrapBlocks){bz.done(function(){bv.overflow=bu.overflow[0];bv.overflowX=bu.overflow[1];bv.overflowY=bu.overflow[2]})}}for(bD in bE){bG=bE[bD];if(ar.exec(bG)){delete bE[bD];bA=bA||bG==="toggle";if(bG===(bB?"hide":"show")){continue}bC.push(bD)}}bx=bC.length;if(bx){bK=C._data(by,"fxshow")||C._data(by,"fxshow",{});if("hidden" in bK){bB=bK.hidden}if(bA){bK.hidden=!bB}if(bB){C(by).show()}else{bz.done(function(){C(by).hide()})}bz.done(function(){var bL;C.removeData(by,"fxshow",true);for(bL in bF){C.style(by,bL,bF[bL])}});for(bD=0;bD<bx;bD++){bw=bC[bD];bJ=bz.createTween(bw,bB?bK[bw]:0);bF[bw]=bK[bw]||C.style(by,bw);if(!(bw in bK)){bK[bw]=bJ.start;if(bB){bJ.end=bJ.start;bJ.start=bw==="width"||bw==="height"?1:0}}}}}function u(bw,bv,by,bu,bx){return new u.prototype.init(bw,bv,by,bu,bx)}C.Tween=u;u.prototype={constructor:u,init:function(bx,bv,bz,bu,by,bw){this.elem=bx;this.prop=bz;this.easing=by||"swing";this.options=bv;this.start=this.now=this.cur();this.end=bu;this.unit=bw||(C.cssNumber[bz]?"":"px")},cur:function(){var bu=u.propHooks[this.prop];return bu&&bu.get?bu.get(this):u.propHooks._default.get(this)},run:function(bw){var bv,bu=u.propHooks[this.prop];if(this.options.duration){this.pos=bv=C.easing[this.easing](bw,this.options.duration*bw,0,1,this.options.duration)}else{this.pos=bv=bw}this.now=(this.end-this.start)*bv+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(bu&&bu.set){bu.set(this)}else{u.propHooks._default.set(this)}return this}};u.prototype.init.prototype=u.prototype;u.propHooks={_default:{get:function(bv){var bu;if(bv.elem[bv.prop]!=null&&(!bv.elem.style||bv.elem.style[bv.prop]==null)){return bv.elem[bv.prop]}bu=C.css(bv.elem,bv.prop,false,"");return !bu||bu==="auto"?0:bu},set:function(bu){if(C.fx.step[bu.prop]){C.fx.step[bu.prop](bu)}else{if(bu.elem.style&&(bu.elem.style[C.cssProps[bu.prop]]!=null||C.cssHooks[bu.prop])){C.style(bu.elem,bu.prop,bu.now+bu.unit)}else{bu.elem[bu.prop]=bu.now}}}}};u.propHooks.scrollTop=u.propHooks.scrollLeft={set:function(bu){if(bu.elem.nodeType&&bu.elem.parentNode){bu.elem[bu.prop]=bu.now}}};C.each(["toggle","show","hide"],function(bv,bu){var bw=C.fn[bu];C.fn[bu]=function(bx,bz,by){return bx==null||typeof bx==="boolean"||(!bv&&C.isFunction(bx)&&C.isFunction(bz))?bw.apply(this,arguments):this.animate(aY(bu,true),bx,bz,by)}});C.fn.extend({fadeTo:function(bu,bx,bw,bv){return this.filter(ap).css("opacity",0).show().end().animate({opacity:bx},bu,bw,bv)},animate:function(bA,bx,bz,by){var bw=C.isEmptyObject(bA),bu=C.speed(bx,bz,by),bv=function(){var bB=bj(this,C.extend({},bA),bu);if(bw){bB.stop(true)}};return bw||bu.queue===false?this.each(bv):this.queue(bu.queue,bv)},stop:function(bw,bv,bu){var bx=function(by){var bz=by.stop;delete by.stop;bz(bu)};if(typeof bw!=="string"){bu=bv;bv=bw;bw=G}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bB=true,by=bw!=null&&bw+"queueHooks",bA=C.timers,bz=C._data(this);if(by){if(bz[by]&&bz[by].stop){bx(bz[by])}}else{for(by in bz){if(bz[by]&&bz[by].stop&&a7.test(by)){bx(bz[by])}}}for(by=bA.length;by--;){if(bA[by].elem===this&&(bw==null||bA[by].queue===bw)){bA[by].anim.stop(bu);bB=false;bA.splice(by,1)}}if(bB||!bu){C.dequeue(this,bw)}})}});function aY(bw,by){var bx,bu={height:bw},bv=0;by=by?1:0;for(;bv<4;bv+=2-by){bx=D[bv];bu["margin"+bx]=bu["padding"+bx]=bw}if(by){bu.opacity=bu.width=bw}return bu}C.each({slideDown:aY("show"),slideUp:aY("hide"),slideToggle:aY("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(bu,bv){C.fn[bu]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});C.speed=function(bw,bx,bv){var bu=bw&&typeof bw==="object"?C.extend({},bw):{complete:bv||!bv&&bx||C.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!C.isFunction(bx)&&bx};bu.duration=C.fx.off?0:typeof bu.duration==="number"?bu.duration:bu.duration in C.fx.speeds?C.fx.speeds[bu.duration]:C.fx.speeds._default;if(bu.queue==null||bu.queue===true){bu.queue="fx"}bu.old=bu.complete;bu.complete=function(){if(C.isFunction(bu.old)){bu.old.call(this)}if(bu.queue){C.dequeue(this,bu.queue)}};return bu};C.easing={linear:function(bu){return bu},swing:function(bu){return 0.5-Math.cos(bu*Math.PI)/2}};C.timers=[];C.fx=u.prototype.init;C.fx.tick=function(){var bw,bv=C.timers,bu=0;a6=C.now();for(;bu<bv.length;bu++){bw=bv[bu];if(!bw()&&bv[bu]===bw){bv.splice(bu--,1)}}if(!bv.length){C.fx.stop()}a6=G};C.fx.timer=function(bu){if(bu()&&C.timers.push(bu)&&!a1){a1=setInterval(C.fx.tick,C.fx.interval)}};C.fx.interval=13;C.fx.stop=function(){clearInterval(a1);a1=null};C.fx.speeds={slow:600,fast:200,_default:400};C.fx.step={};if(C.expr&&C.expr.filters){C.expr.filters.animated=function(bu){return C.grep(C.timers,function(bv){return bu===bv.elem}).length}}var V=/^(?:body|html)$/i;C.fn.offset=function(bE){if(arguments.length){return bE===G?this:this.each(function(bF){C.offset.setOffset(this,bE,bF)})}var bv,bA,bB,by,bC,bu,bx,bz={top:0,left:0},bw=this[0],bD=bw&&bw.ownerDocument;if(!bD){return}if((bA=bD.body)===bw){return C.offset.bodyOffset(bw)}bv=bD.documentElement;if(!C.contains(bv,bw)){return bz}if(typeof bw.getBoundingClientRect!=="undefined"){bz=bw.getBoundingClientRect()}bB=aC(bD);by=bv.clientTop||bA.clientTop||0;bC=bv.clientLeft||bA.clientLeft||0;bu=bB.pageYOffset||bv.scrollTop;bx=bB.pageXOffset||bv.scrollLeft;return{top:bz.top+bu-by,left:bz.left+bx-bC}};C.offset={bodyOffset:function(bu){var bw=bu.offsetTop,bv=bu.offsetLeft;if(C.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(C.css(bu,"marginTop"))||0;bv+=parseFloat(C.css(bu,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=C.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=C(bx),bv=bz.offset(),bu=C.css(bx,"top"),bE=C.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&C.inArray("auto",[bu,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(bu)||0;by=parseFloat(bE)||0}if(C.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};C.fn.extend({isRendered:function(){var bv=this;var bu=this[0];if(bu.parentNode==null||(bu.offsetWidth===0||bu.offsetHeight===0)){return false}return true},getSizeFromStyle:function(){var by=this;var bx=null;var bu=null;var bw=this[0];var bv;if(bw.style.width){bx=bw.style.width}if(bw.style.height){bu=bw.style.height}if(bd.getComputedStyle){bv=getComputedStyle(bw,null)}else{bv=bw.currentStyle}if(bv){if(bv.width){bx=bv.width}if(bv.height){bu=bv.height}}if(bx==="0px"){bx=0}if(bu==="0px"){bu=0}if(bx===null){bx=0}if(bu===null){bu=0}return{width:bx,height:bu}},initAnimate:function(){},sizeStyleChanged:function(bx){var bw=this;var by;var bu=function(bz){var bA=by;if(bz&&bz[0]&&bz[0].attributeName==="style"&&bz[0].type==="attributes"){if(bA.element.offsetWidth!==bA.offsetWidth||bA.element.offsetHeight!==bA.offsetHeight){bA.offsetWidth=bA.element.offsetWidth;bA.offsetHeight=bA.element.offsetHeight;if(bw.isRendered()){bA.callback()}}}};by={element:bw[0],offsetWidth:bw[0].offsetWidth,offsetHeight:bw[0].offsetHeight,callback:bx};try{if(!bw.elementStyleObserver){bw.elementStyleObserver=new MutationObserver(bu);bw.elementStyleObserver.observe(bw[0],{attributes:true,childList:false,characterData:false})}}catch(bv){}},position:function(){if(!this[0]){return}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),bu=V.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(C.css(bw,"marginTop"))||0;bx.left-=parseFloat(C.css(bw,"marginLeft"))||0;bu.top+=parseFloat(C.css(bv[0],"borderTopWidth"))||0;bu.left+=parseFloat(C.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-bu.top,left:bx.left-bu.left}},offsetParent:function(){return this.map(function(){var bu=this.offsetParent||ak.body;while(bu&&(!V.test(bu.nodeName)&&C.css(bu,"position")==="static")){bu=bu.offsetParent}return bu||ak.body})}});C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(bw,bv){var bu=/Y/.test(bv);C.fn[bw]=function(bx){return C.access(this,function(by,bB,bA){var bz=aC(by);if(bA===G){return bz?(bv in bz)?bz[bv]:bz.document.documentElement[bB]:by[bB]}if(bz){bz.scrollTo(!bu?bA:C(bz).scrollLeft(),bu?bA:C(bz).scrollTop())}else{by[bB]=bA}},bw,bx,arguments.length,null)}});function aC(bu){return C.isWindow(bu)?bu:bu.nodeType===9?bu.defaultView||bu.parentWindow:false}C.each({Height:"height",Width:"width"},function(bu,bv){C.each({padding:"inner"+bu,content:bv,"":"outer"+bu},function(bw,bx){C.fn[bx]=function(bB,bA){var bz=arguments.length&&(bw||typeof bB!=="boolean"),by=bw||(bB===true||bA===true?"margin":"border");return C.access(this,function(bD,bC,bE){var bF;if(C.isWindow(bD)){return bD.document.documentElement["client"+bu]}if(bD.nodeType===9){bF=bD.documentElement;return Math.max(bD.body["scroll"+bu],bF["scroll"+bu],bD.body["offset"+bu],bF["offset"+bu],bF["client"+bu])}return bE===G?C.css(bD,bC,bE,by):C.style(bD,bC,bE,by)},bv,bz?bB:G,bz,null)}})});bd.JQXLite=bd.jqxHelper=C;if(typeof define==="function"&&define.amd&&define.amd.JQXLite){define("jqx",[],function(){return C})}})(window)}(function(a){if(a.jQuery){a.minQuery=a.JQXLite=a.jQuery;return}if(!a.$){a.$=a.minQuery=a.JQXLite}else{a.minQuery=a.JQXLite=a.$}})(window);JQXLite.generateID=function(){var a=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};var b="";do{b="jqx"+a()+a()+a()}while($("#"+b).length>0);return b};var jqxBaseFramework=window.jqxBaseFramework=window.minQuery||window.jQuery;(function(b){b.jqx=b.jqx||{};window.jqx=b.jqx;var a={createInstance:function(c,e,g){if(e=="jqxDataAdapter"){var f=g[0];var d=g[1]||{};return new b.jqx.dataAdapter(f,d)}b(c)[e](g||{});return b(c)[e]("getInstance")}};window.jqwidgets=a;b.jqx.define=function(c,d,e){c[d]=function(){if(this.baseType){this.base=new c[this.baseType]();this.base.defineInstance()}this.defineInstance();this.metaInfo()};c[d].prototype.defineInstance=function(){};c[d].prototype.metaInfo=function(){};c[d].prototype.base=null;c[d].prototype.baseType=undefined;if(e&&c[e]){c[d].prototype.baseType=e}};b.jqx.invoke=function(f,e){if(e.length==0){return}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):b({}).toArray();while(f[g]==undefined&&f.base!=null){if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}f=f.base}if(f[g]!=undefined&&b.isFunction(f[g])){return f[g].apply(f,d)}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]!=undefined&&b.isFunction(f[c])){return f[c].apply(f,d)}}return};b.jqx.getByPriority=function(c){var e=undefined;for(var d=0;d<c.length&&e==undefined;d++){if(e==undefined&&c[d]!=undefined){e=c[d]}}return e};b.jqx.hasProperty=function(d,c){if(typeof(c)=="object"){for(var f in c){var e=d;while(e){if(e.hasOwnProperty(f)){return true}if(e.hasOwnProperty(f.toLowerCase())){return true}e=e.base}return false}}else{while(d){if(d.hasOwnProperty(c)){return true}if(d.hasOwnProperty(c.toLowerCase())){return true}d=d.base}}return false};b.jqx.hasFunction=function(f,e){if(e.length==0){return false}if(f==undefined){return false}var g=typeof(e)==Array||e.length>0?e[0]:e;var d=typeof(e)==Array||e.length>1?Array.prototype.slice.call(e,1):{};while(f[g]==undefined&&f.base!=null){if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}f=f.base}if(f[g]&&b.isFunction(f[g])){return true}if(typeof g=="string"){var c=g.toLowerCase();if(f[c]&&b.isFunction(f[c])){return true}}return false};b.jqx.isPropertySetter=function(d,c){if(c.length==1&&typeof(c[0])=="object"){return true}if(c.length==2&&typeof(c[0])=="string"&&!b.jqx.hasFunction(d,c)){return true}return false};b.jqx.validatePropertySetter=function(g,e,c){if(!b.jqx.propertySetterValidation){return true}if(e.length==1&&typeof(e[0])=="object"){for(var f in e[0]){var h=g;while(!h.hasOwnProperty(f)&&h.base){h=h.base}if(!h||!h.hasOwnProperty(f)){if(!c){var d=h.hasOwnProperty(f.toString().toLowerCase());if(!d){throw"Invalid property: "+f}else{return true}}return false}}return true}if(e.length!=2){if(!c){throw"Invalid property: "+e.length>=0?e[0]:""}return false}while(!g.hasOwnProperty(e[0])&&g.base){g=g.base}if(!g||!g.hasOwnProperty(e[0])){if(!c){throw"Invalid property: "+e[0]}return false}return true};if(!Object.keys){Object.keys=(function(){var e=Object.prototype.hasOwnProperty,f=!({toString:null}).propertyIsEnumerable("toString"),d=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=d.length;return function(j){if(typeof j!=="object"&&(typeof j!=="function"||j===null)){throw new TypeError("Object.keys called on non-object")}var g=[],k,h;for(k in j){if(e.call(j,k)){g.push(k)}}if(f){for(h=0;h<c;h++){if(e.call(j,d[h])){g.push(d[h])}}}return g}}())}b.jqx.set=function(f,i){var d=0;if(i.length==1&&typeof(i[0])=="object"){if(f.isInitialized&&Object.keys&&Object.keys(i[0]).length>1){var g=!f.base?f.element:f.base.element;var c=b.data(g,f.widgetName).initArgs;if(c&&JSON&&JSON.stringify&&i[0]&&c[0]){try{if(JSON.stringify(i[0])==JSON.stringify(c[0])){var h=true;b.each(i[0],function(l,m){if(f[l]!=m){h=false;return false}});if(h){return}}}catch(e){}}f.batchUpdate=i[0];var j={};var k={};b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){if(f[l]!=m){j[l]=f[l];k[l]=m;d++}}else{if(n.hasOwnProperty(l.toLowerCase())){if(f[l.toLowerCase()]!=m){j[l.toLowerCase()]=f[l.toLowerCase()];k[l.toLowerCase()]=m;d++}}}});if(d<2){f.batchUpdate=null}}b.each(i[0],function(l,m){var n=f;while(!n.hasOwnProperty(l)&&n.base!=null){n=n.base}if(n.hasOwnProperty(l)){b.jqx.setvalueraiseevent(n,l,m)}else{if(n.hasOwnProperty(l.toLowerCase())){b.jqx.setvalueraiseevent(n,l.toLowerCase(),m)}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+l+"'"}}}});if(f.batchUpdate!=null){f.batchUpdate=null;if(f.propertiesChangedHandler&&d>1){f.propertiesChangedHandler(f,j,k)}}}else{if(i.length==2){while(!f.hasOwnProperty(i[0])&&f.base){f=f.base}if(f.hasOwnProperty(i[0])){b.jqx.setvalueraiseevent(f,i[0],i[1])}else{if(f.hasOwnProperty(i[0].toLowerCase())){b.jqx.setvalueraiseevent(f,i[0].toLowerCase(),i[1])}else{if(b.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+i[0]+"'"}}}}}};b.jqx.setvalueraiseevent=function(d,e,f){var c=d[e];d[e]=f;if(!d.isInitialized){return}if(d.propertyChangedHandler!=undefined){d.propertyChangedHandler(d,e,c,f)}if(d.propertyChangeMap!=undefined&&d.propertyChangeMap[e]!=undefined){d.propertyChangeMap[e](d,e,c,f)}};b.jqx.get=function(f,e){if(e==undefined||e==null){return undefined}if(f.propertyMap){var d=f.propertyMap(e);if(d!=null){return d}}if(f.hasOwnProperty(e)){return f[e]}if(f.hasOwnProperty(e.toLowerCase())){return f[e.toLowerCase()]}var c=undefined;if(typeof(e)==Array){if(e.length!=1){return undefined}c=e[0]}else{if(typeof(e)=="string"){c=e}}while(!f.hasOwnProperty(c)&&f.base){f=f.base}if(f){return f[c]}return undefined};b.jqx.serialize=function(f){var c="";if(b.isArray(f)){c="[";for(var e=0;e<f.length;e++){if(e>0){c+=", "}c+=b.jqx.serialize(f[e])}c+="]"}else{if(typeof(f)=="object"){c="{";var d=0;for(var e in f){if(d++>0){c+=", "}c+=e+": "+b.jqx.serialize(f[e])}c+="}"}else{c=f.toString()}}return c};b.jqx.propertySetterValidation=true;b.jqx.jqxWidgetProxy=function(h,d,c){var e=b(d);var g=b.data(d,h);if(g==undefined){return undefined}var f=g.instance;if(b.jqx.hasFunction(f,c)){return b.jqx.invoke(f,c)}if(b.jqx.isPropertySetter(f,c)){if(b.jqx.validatePropertySetter(f,c)){b.jqx.set(f,c);return undefined}}else{if(typeof(c)=="object"&&c.length==0){return}else{if(typeof(c)=="object"&&c.length==1&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c[0])}else{if(typeof(c)=="string"&&b.jqx.hasProperty(f,c[0])){return b.jqx.get(f,c)}}}}throw"jqxCore: Invalid parameter '"+b.jqx.serialize(c)+"' does not exist."};b.jqx.applyWidget=function(d,f,l,m){var h=false;try{h=window.MSApp!=undefined}catch(g){}var n=b(d);if(!m){m=new b.jqx["_"+f]()}else{m.host=n;m.element=d}if(d.id==""){d.id=b.jqx.utilities.createId()}var k={host:n,element:d,instance:m,initArgs:l};m.widgetName=f;b.data(d,f,k);b.data(d,"jqxWidget",k.instance);var j=new Array();var m=k.instance;while(m){m.isInitialized=false;j.push(m);m=m.base}j.reverse();j[0].theme=b.jqx.theme||"";b.jqx.jqxWidgetProxy(f,d,l);for(var c in j){m=j[c];if(c==0){m.host=n;m.element=d;m.WinJS=h}if(m!=undefined){if(m.definedInstance){m.definedInstance()}if(m.createInstance!=null){if(h){MSApp.execUnsafeLocalFunction(function(){m.createInstance(l)})}else{m.createInstance(l)}}}}for(var c in j){if(j[c]!=undefined){j[c].isInitialized=true}}if(h){MSApp.execUnsafeLocalFunction(function(){k.instance.refresh(true)})}else{k.instance.refresh(true)}};b.jqx.jqxWidget=function(c,d,g){var j=false;try{var l=Array.prototype.slice.call(g,0)}catch(i){var l=""}try{j=window.MSApp!=undefined}catch(i){}var h=c;var m="";if(d){m="_"+d}b.jqx.define(b.jqx,"_"+h,m);var k=new Array();if(!window[h]){var f=function(n){if(n==null){return""}var e=b.type(n);switch(e){case"string":case"number":case"date":case"boolean":case"bool":if(n===null){return""}return n.toString()}var o="";b.each(n,function(q,r){var t=r;if(q>0){o+=", "}o+="[";var p=0;if(b.type(t)=="object"){for(var s in t){if(p>0){o+=", "}o+="{"+s+":"+t[s]+"}";p++}}else{if(p>0){o+=", "}o+="{"+q+":"+t+"}";p++}o+="]"});return o};a[h]=window[h]=function(e,s){var n=[];if(!s){s={}}n.push(s);var o=e;if(b.type(o)==="object"&&e[0]){o=e[0].id;if(o===""){o=e[0].id=b.jqx.utilities.createId()}}else{if(b.type(e)==="object"&&e&&e.nodeName){o=e.id;if(o===""){o=e.id=b.jqx.utilities.createId()}}}if(window.jqxWidgets&&window.jqxWidgets[o]){if(s){b.each(window.jqxWidgets[o],function(t){var u=b(this.element).data();if(u&&u.jqxWidget){b(this.element)[h](s)}})}if(window.jqxWidgets[o].length==1){var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o][0]}}var q=b(window.jqxWidgets[o][0].widgetInstance.element).data();if(q&&q.jqxWidget){return window.jqxWidgets[o]}}var p=b(e);if(p.length===0){p=b("<div></div>");if(h==="jqxInput"||h==="jqxPasswordInput"||h==="jqxMaskedInput"){p=b("<input/>")}if(h==="jqxTextArea"){p=b("<textarea></textarea>")}if(h==="jqxButton"||h==="jqxRepeatButton"||h==="jqxToggleButton"){p=b("<button/>")}if(h==="jqxSplitter"){p=b("<div><div>Panel 1</div><div>Panel 2</div></div>")}if(h==="jqxTabs"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div>Content 1</div><div>Content 2</div></div>")}if(h==="jqxRibbon"){p=b("<div><ul><li>Tab 1</li><li>Tab 2</li></ul><div><div>Content 1</div><div>Content 2</div></div></div>")}if(h==="jqxDocking"){p=b("<div><div><div><div>Title 1</div><div>Content 1</div></div></div></div>")}if(h==="jqxWindow"){p=b("<div><div>Title 1</div><div>Content 1</div></div>")}}var r=[];b.each(p,function(w){var y=p[w];b.jqx.applyWidget(y,h,n,undefined);if(!k[h]){var u=b.data(y,"jqxWidget");var x=b.jqx["_"+h].prototype.defineInstance();var v={};if(b.jqx["_"+h].prototype.metaInfo){v=b.jqx["_"+h].prototype.metaInfo()}if(h=="jqxDockingLayout"){x=b.extend(x,b.jqx._jqxLayout.prototype.defineInstance())}if(h=="jqxToggleButton"||h=="jqxRepeatButton"){x=b.extend(x,b.jqx._jqxButton.prototype.defineInstance())}if(h=="jqxTreeGrid"){x=b.extend(x,b.jqx._jqxDataTable.prototype.defineInstance())}var t=function(A){var z=b.data(A,"jqxWidget");this.widgetInstance=z;var B=b.extend(this,z);B.on=B.addEventListener=function(D,E){B.addHandler(!B.base?B.host:B.base.host,D,E)};B.off=B.removeEventListener=function(D){B.removeHandler(!B.base?B.host:B.base.host,D)};for(var C in z){if(b.type(z[C])=="function"){B[C]=b.proxy(z[C],z)}}return B};k[h]=t;b.each(x,function(A,z){Object.defineProperty(t.prototype,A,{get:function(){if(this.widgetInstance){return this.widgetInstance[A]}return z},set:function(H){if(this.widgetInstance&&(this.widgetInstance[A]!=H||A==="width"||A==="height")){var F=this.widgetInstance[A];var E=H;var D=b.type(F);var B=b.type(E);var G=false;if(D!=B||A==="source"||A==="width"||A==="height"){G=true}if(G||(f(F)!=f(E))){var C={};C[A]=H;if(this.widgetInstance.host){this.widgetInstance.host[h](C)}else{this.widgetInstance.base.host[h](C)}this.widgetInstance[A]=H;if(this.widgetInstance.propertyUpdated){this.widgetInstance.propertyUpdated(A,F,H)}}}}})})}var u=new k[h](y);r.push(u);if(!window.jqxWidgets){window.jqxWidgets=new Array()}if(!window.jqxWidgets[o]){window.jqxWidgets[o]=new Array()}window.jqxWidgets[o].push(u)});if(r.length===1){return r[0]}return r}}b.fn[h]=function(){var e=Array.prototype.slice.call(arguments,0);if(e.length==0||(e.length==1&&typeof(e[0])=="object")){if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}return this.each(function(){var q=b(this);var p=this;var r=b.data(p,h);if(r==null){b.jqx.applyWidget(p,h,e,undefined)}else{b.jqx.jqxWidgetProxy(h,this,e)}})}else{if(this.length==0){if(this.selector){throw new Error("Invalid Selector - "+this.selector+"! Please, check whether the used ID or CSS Class name is correct.")}else{throw new Error("Invalid Selector! Please, check whether the used ID or CSS Class name is correct.")}}var o=null;var n=0;this.each(function(){var p=b.jqx.jqxWidgetProxy(h,this,e);if(n==0){o=p;n++}else{if(n==1){var q=[];q.push(o);o=q}o.push(p)}})}return o};try{b.extend(b.jqx["_"+h].prototype,Array.prototype.slice.call(g,0)[0])}catch(i){}b.extend(b.jqx["_"+h].prototype,{toThemeProperty:function(e,n){return b.jqx.toThemeProperty(this,e,n)},isMaterialized:function(){if(!this.theme){return false}if(this.theme.indexOf("material")>=0){return true}},isModern:function(){if(!this.theme){return false}if(this.theme.indexOf("light")>=0){return true}if(this.theme==="dark"){return true}},_addBarAndLabel:function(p){var o=this;var e=b("<label></label");e[0].innerHTML=this.placeHolder;e.addClass(o.toThemeProperty("jqx-input-label"));p.after(e);o.label=e;var n=b("<span></span>");p.after(n);n.addClass(o.toThemeProperty("jqx-input-bar"));o.bar=n;o.bar.css("top",this.host.height())}});b.jqx["_"+h].prototype.refresh=function(){if(this.base){this.base.refresh(true)}};b.jqx["_"+h].prototype.createInstance=function(){};b.jqx["_"+h].prototype.addEventHandler=function(n,e){if(this.base){this.base.host.on(n,e)}else{this.host.on(n,e)}};b.jqx["_"+h].prototype.removeEventHandler=function(n,e){if(this.base){this.base.host.off(n)}else{this.host.off(n)}};b.jqx["_"+h].prototype.applyTo=function(o,n){if(!(n instanceof Array)){var e=[];e.push(n);n=e}b.jqx.applyWidget(o,h,n,this)};b.jqx["_"+h].prototype.getInstance=function(){return this};b.jqx["_"+h].prototype.propertyChangeMap={};b.jqx["_"+h].prototype.addHandler=function(p,e,n,o){b.jqx.addHandler(b(p),e,n,o)};b.jqx["_"+h].prototype.removeHandler=function(o,e,n){b.jqx.removeHandler(b(o),e,n)};b.jqx["_"+h].prototype.setOptions=function(){if(!this.host||!this.host.length||this.host.length!=1){return}return b.jqx.jqxWidgetProxy(h,this.host[0],arguments)}};b.jqx.toThemeProperty=function(d,e,j){if(d.theme==""){return e}var h=e.split(" ");var c="";for(var g=0;g<h.length;g++){if(g>0){c+=" "}var f=h[g];if(j!=null&&j){c+=f+"-"+d.theme}else{c+=f+" "+f+"-"+d.theme}}return c};b.jqx.addHandler=function(h,j,f,g){var d=j.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.addEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){h[0].addEventListener("DOMMouseScroll",f,false)}else{h[0].addEventListener("mousewheel",f,false)}continue;case"mousemove":if(!g){h[0].addEventListener("mousemove",f,false);continue}break;case"touchmove":if(!g){h[0].addEventListener("touchmove",f,false);continue}else{if(g&&g.passive){h[0].addEventListener("touchmove",f,g);continue}}break}}if(g==undefined||g==null){if(h.on){h.on(e,f)}else{h.bind(e,f)}}else{if(h.on){h.on(e,g,f)}else{h.bind(e,g,f)}}}};b.jqx.removeHandler=function(g,h,f){if(!h){if(g.off){g.off()}else{g.unbind()}return}var d=h.split(" ");for(var c=0;c<d.length;c++){var e=d[c];if(window.removeEventListener){switch(e){case"mousewheel":if(b.jqx.browser.mozilla){g[0].removeEventListener("DOMMouseScroll",f,false)}else{g[0].removeEventListener("mousewheel",f,false)}continue;case"mousemove":if(f){g[0].removeEventListener("mousemove",f,false);continue}break;case"touchmove":if(f){g[0].removeEventListener("touchmove",f,false);continue}break}}if(e==undefined){if(g.off){g.off()}else{g.unbind()}continue}if(f==undefined){if(g.off){g.off(e)}else{g.unbind(e)}}else{if(g.off){g.off(e,f)}else{g.unbind(e,f)}}}};b.jqx.credits=b.jqx.credits||"";b.jqx.theme=b.jqx.theme||"";b.jqx.scrollAnimation=b.jqx.scrollAnimation||false;b.jqx.resizeDelay=b.jqx.resizeDelay||10;b.jqx.ready=function(){b(window).trigger("jqxReady")};b.jqx.init=function(){b.each(arguments[0],function(c,d){if(c=="theme"){b.jqx.theme=d}if(c=="scrollBarSize"){b.jqx.utilities.scrollBarSize=d}if(c=="touchScrollBarSize"){b.jqx.utilities.touchScrollBarSize=d}if(c=="scrollBarButtonsVisibility"){b.jqx.utilities.scrollBarButtonsVisibility=d}})};b.jqx.utilities=b.jqx.utilities||{};b.extend(b.jqx.utilities,{scrollBarSize:13,touchScrollBarSize:8,scrollBarButtonsVisibility:"visible",createId:function(){var c=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return"jqxWidget"+c()+c()+c()},setTheme:function(g,h,f){if(typeof f==="undefined"){return}if(!f[0].className.split){return}if(g===undefined){g=""}if(h===undefined){h=""}var j=f[0].className.split(" "),c=[],k=[],e=f.children();for(var d=0;d<j.length;d+=1){if(j[d].indexOf(g)>=0){if(g.length>0){c.push(j[d]);k.push(j[d].replace(g,h))}else{k.push(j[d].replace("-"+h,"")+"-"+h)}}}this._removeOldClasses(c,f);this._addNewClasses(k,f);for(var d=0;d<e.length;d+=1){this.setTheme(g,h,b(e[d]))}},_removeOldClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.removeClass(e[c])}},_addNewClasses:function(e,d){for(var c=0;c<e.length;c+=1){d.addClass(e[c])}},getOffset:function(c){var e=b.jqx.mobile.getLeftPos(c[0]);var d=b.jqx.mobile.getTopPos(c[0]);return{top:d,left:e}},resize:function(h,t,q,p){if(p===undefined){p=true}var m=-1;var l=this;var e=function(v){if(!l.hiddenWidgets){return -1}var w=-1;for(var u=0;u<l.hiddenWidgets.length;u++){if(v.id){if(l.hiddenWidgets[u].id==v.id){w=u;break}}else{if(l.hiddenWidgets[u].id==v[0].id){w=u;break}}}return w};if(this.resizeHandlers){for(var j=0;j<this.resizeHandlers.length;j++){if(h.id){if(this.resizeHandlers[j].id==h.id){m=j;break}}else{if(this.resizeHandlers[j].id==h[0].id){m=j;break}}}if(q===true){if(m!=-1){this.resizeHandlers.splice(m,1);if(this.watchedElementData&&this.watchedElementData.length>0){this.watchedElementData.splice(m,1)}}if(this.resizeHandlers.length==0){var o=b(window);if(o.off){o.off("resize.jqx");o.off("orientationchange.jqx");o.off("orientationchanged.jqx")}else{o.unbind("resize.jqx");o.unbind("orientationchange.jqx");o.unbind("orientationchanged.jqx")}this.resizeHandlers=null}var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}else{if(q===true){var c=e(h);if(c!=-1&&this.hiddenWidgets){this.hiddenWidgets.splice(c,1)}return}}var l=this;var n=function(w,F){if(!l.resizeHandlers){return}var G=function(J){var i=-1;var K=J.parentNode;while(K){i++;K=K.parentNode}return i};var v=function(L,J){if(!L.widget||!J.widget){return 0}var K=G(L.widget[0]);var i=G(J.widget[0]);try{if(K<i){return -1}if(K>i){return 1}}catch(M){var N=M}return 0};var x=function(J){if(l.hiddenWidgets.length>0){l.hiddenWidgets.sort(v);var i=function(){var L=false;var N=new Array();for(var M=0;M<l.hiddenWidgets.length;M++){var K=l.hiddenWidgets[M];if(b.jqx.isHidden(K.widget)){L=true;N.push(K)}else{if(K.callback){K.callback(F)}}}l.hiddenWidgets=N;if(!L){clearInterval(l.__resizeInterval)}};if(J==false){i();if(l.__resizeInterval){clearInterval(l.__resizeInterval)}return}if(l.__resizeInterval){clearInterval(l.__resizeInterval)}l.__resizeInterval=setInterval(function(){i()},100)}};if(l.hiddenWidgets&&l.hiddenWidgets.length>0){x(false)}l.hiddenWidgets=new Array();l.resizeHandlers.sort(v);for(var C=0;C<l.resizeHandlers.length;C++){var I=l.resizeHandlers[C];var E=I.widget;var B=I.data;if(!B){continue}if(!B.jqxWidget){continue}var u=B.jqxWidget.width;var H=B.jqxWidget.height;if(B.jqxWidget.base){if(u==undefined){u=B.jqxWidget.base.width}if(H==undefined){H=B.jqxWidget.base.height}}if(u===undefined&&H===undefined){u=B.jqxWidget.element.style.width;H=B.jqxWidget.element.style.height}var D=false;if(u!=null&&u.toString().indexOf("%")!=-1){D=true}if(H!=null&&H.toString().indexOf("%")!=-1){D=true}if(b.jqx.isHidden(E)){if(e(E)===-1){if(D||w===true){if(I.data.nestedWidget!==true){l.hiddenWidgets.push(I)}}}}else{if(w===undefined||w!==true){if(D){I.callback(F);if(l.watchedElementData){for(var z=0;z<l.watchedElementData.length;z++){if(l.watchedElementData[z].element==B.jqxWidget.element){l.watchedElementData[z].offsetWidth=B.jqxWidget.element.offsetWidth;l.watchedElementData[z].offsetHeight=B.jqxWidget.element.offsetHeight;break}}}if(l.hiddenWidgets.indexOf(I)>=0){l.hiddenWidgets.splice(l.hiddenWidgets.indexOf(I),1)}}if(B.jqxWidget.element){var y=B.jqxWidget.element.className;if(y.indexOf("dropdownlist")>=0||y.indexOf("datetimeinput")>=0||y.indexOf("combobox")>=0||y.indexOf("menu")>=0){if(B.jqxWidget.isOpened){var A=B.jqxWidget.isOpened();if(A){if(F&&F=="resize"&&b.jqx.mobile.isTouchDevice()){continue}B.jqxWidget.close()}}}}}}}x()};if(!this.resizeHandlers){this.resizeHandlers=new Array();var o=b(window);if(o.on){this._resizeTimer=null;this._initResize=null;o.on("resize.jqx",function(i){if(l._resizeTimer!=undefined){clearTimeout(l._resizeTimer)}if(!l._initResize){l._initResize=true;n(null,"resize")}else{l._resizeTimer=setTimeout(function(){n(null,"resize")},b.jqx.resizeDelay)}});o.on("orientationchange.jqx",function(i){n(null,"orientationchange")});o.on("orientationchanged.jqx",function(i){n(null,"orientationchange")})}else{o.bind("resize.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchange.jqx",function(i){n(null,"orientationchange")});o.bind("orientationchanged.jqx",function(i){n(null,"orientationchange")})}}var f=h.data();if(p){if(m===-1){this.resizeHandlers.push({id:h[0].id,widget:h,callback:t,data:f})}}try{var d=f.jqxWidget.width;var s=f.jqxWidget.height;if(f.jqxWidget.base){if(d==undefined){d=f.jqxWidget.base.width}if(s==undefined){s=f.jqxWidget.base.height}}if(d===undefined&&s===undefined){d=f.jqxWidget.element.style.width;s=f.jqxWidget.element.style.height}var k=false;if(d!=null&&d.toString().indexOf("%")!=-1){k=true}if(s!=null&&s.toString().indexOf("%")!=-1){k=true}if(k){if(!this.watchedElementData){this.watchedElementData=[]}var l=this;var g=function(i){if(l.watchedElementData.forEach){l.watchedElementData.forEach(function(u){if(u.element.offsetWidth!==u.offsetWidth||u.element.offsetHeight!==u.offsetHeight){u.offsetWidth=u.element.offsetWidth;u.offsetHeight=u.element.offsetHeight;if(u.timer){clearTimeout(u.timer)}u.timer=setTimeout(function(){if(!b.jqx.isHidden(b(u.element))){u.callback()}else{u.timer=setInterval(function(){if(!b.jqx.isHidden(b(u.element))){clearInterval(u.timer);u.callback()}},100)}})}})}};l.watchedElementData.push({element:h[0],offsetWidth:h[0].offsetWidth,offsetHeight:h[0].offsetHeight,callback:t});if(!l.observer){l.observer=new MutationObserver(g);l.observer.observe(document.body,{attributes:true,childList:true,characterData:true})}}}catch(r){}if(b.jqx.isHidden(h)&&p===true){n(true)}b.jqx.resize=function(){n(null,"resize")}},parseJSON:function(e){if(!e||typeof e!=="string"){return null}var c=/^[\],:{}\s]*$/,g=/(?:^|:|,)(?:\s*\[)+/g,d=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,f=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g;e=b.trim(e);if(window.JSON&&window.JSON.parse){return window.JSON.parse(e)}if(c.test(e.replace(d,"@").replace(f,"]").replace(g,""))){return(new Function("return "+e))()}throw new Error("Invalid JSON: "+e)},html:function(d,e){if(!b(d).on){return b(d).html(e)}try{return b.access(d,function(s){var f=d[0]||{},m=0,j=d.length;if(s===undefined){return f.nodeType===1?f.innerHTML.replace(rinlinejQuery,""):undefined}var r=/<(?:script|style|link)/i,n="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",h=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,p=/<([\w:]+)/,g=/<(?:script|object|embed|option|style)/i,k=new RegExp("<(?:"+n+")[\\s/>]","i"),q=/^\s+/,t={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};if(typeof s==="string"&&!r.test(s)&&(b.support.htmlSerialize||!k.test(s))&&(b.support.leadingWhitespace||!q.test(s))&&!t[(p.exec(s)||["",""])[1].toLowerCase()]){s=s.replace(h,"<$1></$2>");try{for(;m<j;m++){f=this[m]||{};if(f.nodeType===1){b.cleanData(f.getElementsByTagName("*"));f.innerHTML=s}}f=0}catch(o){}}if(f){d.empty().append(s)}},null,e,arguments.length)}catch(c){return b(d).html(e)}},hasTransform:function(e){var d="";d=e.css("transform");if(d==""||d=="none"){d=e.parents().css("transform");if(d==""||d=="none"){var c=b.jqx.utilities.getBrowser();if(c.browser=="msie"){d=e.css("-ms-transform");if(d==""||d=="none"){d=e.parents().css("-ms-transform")}}else{if(c.browser=="chrome"){d=e.css("-webkit-transform");if(d==""||d=="none"){d=e.parents().css("-webkit-transform")}}else{if(c.browser=="opera"){d=e.css("-o-transform");if(d==""||d=="none"){d=e.parents().css("-o-transform")}}else{if(c.browser=="mozilla"){d=e.css("-moz-transform");if(d==""||d=="none"){d=e.parents().css("-moz-transform")}}}}}}else{return d!=""&&d!="none"}}if(d==""||d=="none"){d=b(document.body).css("transform")}return d!=""&&d!="none"&&d!=null},getBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=/(chrome)[ \/]([\w.]+)/.exec(d)||/(webkit)[ \/]([\w.]+)/.exec(d)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(d)||/(msie) ([\w.]+)/.exec(d)||d.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(d)||[];var e={browser:c[1]||"",version:c[2]||"0"};if(d.indexOf("rv:11.0")>=0&&d.indexOf(".net4.0c")>=0){e.browser="msie";e.version="11";c[1]="msie"}if(d.indexOf("edge")>=0){e.browser="msie";e.version="12";c[1]="msie"}e[c[1]]=c[1];return e}});b.jqx.browser=b.jqx.utilities.getBrowser();b.jqx.isHidden=function(d){if(!d||!d[0]){return false}var c=d[0].offsetWidth,e=d[0].offsetHeight;if(c===0||e===0){return true}else{return false}};b.jqx.ariaEnabled=true;b.jqx.aria=function(d,f,e){if(!b.jqx.ariaEnabled){return}if(f==undefined){b.each(d.aria,function(h,i){var k=!d.base?d.host.attr(h):d.base.host.attr(h);if(k!=undefined&&!b.isFunction(k)){var j=k;switch(i.type){case"number":j=new Number(k);if(isNaN(j)){j=k}break;case"boolean":j=k=="true"?true:false;break;case"date":j=new Date(k);if(j=="Invalid Date"||isNaN(j)){j=k}break}d[i.name]=j}else{var k=d[i.name];if(b.isFunction(k)){k=d[i.name]()}if(k==undefined){k=""}try{!d.base?d.host.attr(h,k.toString()):d.base.host.attr(h,k.toString())}catch(g){}}})}else{try{if(d.host){if(!d.base){if(d.host){if(d.element.setAttribute){d.element.setAttribute(f,e.toString())}else{d.host.attr(f,e.toString())}}else{d.attr(f,e.toString())}}else{if(d.base.host){d.base.host.attr(f,e.toString())}else{d.attr(f,e.toString())}}}else{if(d.setAttribute){d.setAttribute(f,e.toString())}}}catch(c){}}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(d){var c=this.length;var e=Number(arguments[1])||0;e=(e<0)?Math.ceil(e):Math.floor(e);if(e<0){e+=c}for(;e<c;e++){if(e in this&&this[e]===d){return e}}return -1}}b.jqx.mobile=b.jqx.mobile||{};b.jqx.position=function(c){var f=parseInt(c.pageX);var e=parseInt(c.pageY);if(b.jqx.mobile.isTouchDevice()){var d=b.jqx.mobile.getTouches(c);var g=d[0];f=parseInt(g.pageX);e=parseInt(g.pageY)}return{left:f,top:e}};b.extend(b.jqx.mobile,{_touchListener:function(i,g){var c=function(j,l){var k=document.createEvent("MouseEvents");k.initMouseEvent(j,l.bubbles,l.cancelable,l.view,l.detail,l.screenX,l.screenY,l.clientX,l.clientY,l.ctrlKey,l.altKey,l.shiftKey,l.metaKey,l.button,l.relatedTarget);k._pageX=l.pageX;k._pageY=l.pageY;return k};var h={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var f=c(h[i.type],i);i.target.dispatchEvent(f);var d=i.target["on"+h[i.type]];if(typeof d==="function"){d(i)}},setMobileSimulator:function(d,f){if(this.isTouchDevice()){return}this.simulatetouches=true;if(f==false){this.simulatetouches=false}var e={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var c=this;if(window.addEventListener){var g=function(){for(var h in e){if(d.addEventListener){d.removeEventListener(h,c._touchListener);d.addEventListener(h,c._touchListener,false)}}};if(b.jqx.browser.msie){g()}else{g()}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Android")!=-1){return true}if(d.indexOf("IEMobile")!=-1){return true}if(d.indexOf("Windows Phone")!=-1){return true}if(d.indexOf("WPDesktop")!=-1){return true}if(d.indexOf("ZuneWP7")!=-1){return true}if(d.indexOf("BlackBerry")!=-1&&d.indexOf("Mobile Safari")!=-1){return true}if(d.indexOf("ipod")!=-1){return true}if(d.indexOf("nokia")!=-1||d.indexOf("Nokia")!=-1){return true}if(d.indexOf("Chrome/17")!=-1){return false}if(d.indexOf("CrOS")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")==-1&&d.indexOf("Mini")==-1&&d.indexOf("Platform: Win")!=-1){return false}if(d.indexOf("HybridDeviceTouch")!=-1){return true}if(d.indexOf("HybridDeviceMouse")!=-1){return false}if(d.indexOf("Opera")!=-1&&d.indexOf("Mobi")!=-1&&d.indexOf("Opera Mobi")!=-1){return true}if(d.indexOf("Mozilla/5.0 (X11; Linux x86_64)")!=-1){return false}var f={ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"};try{if(this.touchDevice!=undefined){return this.touchDevice}this.touchDevice=false;for(var h in f){if(f.hasOwnProperty(h)){var k=f[h];var g=d.match(new RegExp("(?:"+k+")([^\\s;]+)"));if(g){if(h.toString()=="blackberry"){this.touchDevice=false;return false}this.touchDevice=true;return true}}}var j=navigator.userAgent;if(navigator.platform.toLowerCase().indexOf("win")!=-1){if(j.indexOf("Windows Phone")>=0||j.indexOf("WPDesktop")>=0||j.indexOf("IEMobile")>=0||j.indexOf("ZuneWP7")>=0){this.touchDevice=true;return true}else{if(j.indexOf("Touch")>=0){var c=("MSPointerDown" in window)||("pointerdown" in window);if(c){this.touchDevice=true;return true}if(j.indexOf("ARM")>=0){this.touchDevice=true;return true}this.touchDevice=false;return false}}}if(navigator.platform.toLowerCase().indexOf("win")!=-1){this.touchDevice=false;return false}if(("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch){this.touchDevice=true}return this.touchDevice}catch(l){this.touchDevice=false;return false}},getLeftPos:function(c){var d=c.offsetLeft;while((c=c.offsetParent)!=null){if(c.tagName!="HTML"){d+=c.offsetLeft;if(document.all){d+=c.clientLeft}}}return d},getTopPos:function(d){var f=d.offsetTop;var c=b(d).coord();while((d=d.offsetParent)!=null){if(d.tagName!="HTML"){f+=(d.offsetTop-d.scrollTop);if(document.all){f+=d.clientTop}}}var e=navigator.userAgent.toLowerCase();var g=(e.indexOf("windows phone")!=-1||e.indexOf("WPDesktop")!=-1||e.indexOf("ZuneWP7")!=-1||e.indexOf("msie 9")!=-1||e.indexOf("msie 11")!=-1||e.indexOf("msie 10")!=-1)&&e.indexOf("touch")!=-1;if(g){return c.top}if(this.isSafariMobileBrowser()){if(this.isSafari4MobileBrowser()&&this.isIPadSafariMobileBrowser()){return f}if(e.indexOf("version/7")!=-1){return c.top}if(e.indexOf("version/6")!=-1||e.indexOf("version/5")!=-1){f=f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return f+b(window).scrollTop()}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return f+b(window).scrollTop()}return c.top}return f},isChromeMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("android")!=-1;return c},isOperaMiniMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1||d.indexOf("opera mobi")!=-1;return c},isOperaMiniBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("opera mini")!=-1;return c},isNewSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/5")!=-1);return c},isSafari4MobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1;c=c&&(d.indexOf("version/4")!=-1);return c},isWindowsPhone:function(){var d=navigator.userAgent.toLowerCase();var c=(d.indexOf("windows phone")!=-1||d.indexOf("WPDesktop")!=-1||d.indexOf("ZuneWP7")!=-1||d.indexOf("msie 9")!=-1||d.indexOf("msie 11")!=-1||d.indexOf("msie 10")!=-1&&d.indexOf("touch")!=-1);return c},isSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();if(/(Android.*Chrome\/[.0-9]* (!?Mobile))/.exec(navigator.userAgent)){return true}if(/(Android.*Chrome\/[.0-9]* Mobile)/.exec(navigator.userAgent)){return true}var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("ipod")!=-1||d.indexOf("mobile safari")!=-1;return c},isIPadSafariMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1;return c},isMobileBrowser:function(){var d=navigator.userAgent.toLowerCase();var c=d.indexOf("ipad")!=-1||d.indexOf("iphone")!=-1||d.indexOf("android")!=-1;return c},getTouches:function(c){if(c.originalEvent){if(c.originalEvent.touches&&c.originalEvent.touches.length){return c.originalEvent.touches}else{if(c.originalEvent.changedTouches&&c.originalEvent.changedTouches.length){return c.originalEvent.changedTouches}}}if(!c.touches){c.touches=new Array();c.touches[0]=c.originalEvent!=undefined?c.originalEvent:c;if(c.originalEvent!=undefined&&c.pageX){c.touches[0]=c}if(c.type=="mousemove"){c.touches[0]=c}}return c.touches},getTouchEventName:function(c){if(this.isWindowsPhone()){var d=navigator.userAgent.toLowerCase();if(d.indexOf("windows phone 7")!=-1){if(c.toLowerCase().indexOf("start")!=-1){return"MSPointerDown"}if(c.toLowerCase().indexOf("move")!=-1){return"MSPointerMove"}if(c.toLowerCase().indexOf("end")!=-1){return"MSPointerUp"}}if(c.toLowerCase().indexOf("start")!=-1){return"pointerdown"}if(c.toLowerCase().indexOf("move")!=-1){return"pointermove"}if(c.toLowerCase().indexOf("end")!=-1){return"pointerup"}}else{return c}},dispatchMouseEvent:function(c,g,f){if(this.simulatetouches){return}var d=document.createEvent("MouseEvent");d.initMouseEvent(c,true,true,g.view,1,g.screenX,g.screenY,g.clientX,g.clientY,false,false,false,false,0,null);if(f!=null){f.dispatchEvent(d)}},getRootNode:function(c){while(c.nodeType!==1){c=c.parentNode}return c},setTouchScroll:function(c,d){if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[d]=c},touchScroll:function(B,M,Z,H,x,n){if(B==null){return}var G=this;var f=0;var r=0;var g=0;var i=0;var t=0;var j=0;if(!this.scrolling){this.scrolling=[]}this.scrolling[H]=false;var k=false;var p=b(B);var R=["select","input","textarea"];var X=0;var J=0;if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[H]=true;var H=H;var w=this.getTouchEventName("touchstart")+".touchScroll";var D=this.getTouchEventName("touchend")+".touchScroll";var ab=this.getTouchEventName("touchmove")+".touchScroll";var l,W,z,ah,V,Y,aj,Q,aa,d,F,ad,af,O,e,v,u,S,c,E,ag,o;Q=M;var aj=0;var aa=0;var h=0;var T=0;var ai=0;var Y=x.jqxScrollBar("max");var o=325;function A(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientY}else{if(am.originalEvent&&am.originalEvent.clientY!==undefined){return am.originalEvent.clientY}else{var al=G.getTouches(am);return al[0].clientY}}}function ae(am){if(am.targetTouches&&(am.targetTouches.length>=1)){return am.targetTouches[0].clientX}else{if(am.originalEvent&&am.originalEvent.clientX!==undefined){return am.originalEvent.clientX}else{var al=G.getTouches(am);return al[0].clientX}}}var I=function(){var ap,am,aq,ao;ap=Date.now();am=ap-v;v=ap;aq=aa-e;var an=h-ah;e=aa;ah=h;F=true;ao=1000*aq/(1+am);var al=1000*an/(1+am);af=0.8*ao+0.2*af;O=0.8*al+0.2*O};var C=false;var X=function(am){if(!G.enableScrolling[H]){return true}if(b.inArray(am.target.tagName.toLowerCase(),R)!==-1){return}aa=n.jqxScrollBar("value");h=x.jqxScrollBar("value");var an=G.getTouches(am);var ao=an[0];if(an.length==1){G.dispatchMouseEvent("mousedown",ao,G.getRootNode(ao.target))}Y=x.jqxScrollBar("max");Q=n.jqxScrollBar("max");function al(ap){C=false;F=true;d=A(ap);ag=ae(ap);af=S=O=0;e=aa;ah=h;v=Date.now();clearInterval(u);u=setInterval(I,100);T=aa;ai=h;if(aa>0&&aa<Q&&n[0].style.visibility!="hidden"){}}al(am);k=false;r=ao.pageY;t=ao.pageX;if(G.simulatetouches){if(ao._pageY!=undefined){r=ao._pageY;t=ao._pageX}}G.scrolling[H]=true;f=0;i=0;return true};if(p.on){p.on(w,X)}else{p.bind(w,X)}var ac=function(am,al){aa=(am>Q)?Q:(am<aj)?aj:am;Z(null,am,0,0,al);return(am>Q)?"max":(am<aj)?"min":"value"};var m=function(am,al){h=(am>Y)?Y:(am<aj)?aj:am;Z(am,null,0,0,al);return(am>Y)?"max":(am<aj)?"min":"value"};function U(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){ac(c+am);requestAnimationFrame(U)}else{ac(c)}}}function N(){var al,am;if(S){al=Date.now()-v;am=-S*Math.exp(-al/o);if(am>0.5||am<-0.5){m(E+am);requestAnimationFrame(N)}else{m(E)}}}var y=function(al){if(!G.enableScrolling[H]){return true}if(!G.scrolling[H]){return true}if(C){al.preventDefault();al.stopPropagation()}var aq=G.getTouches(al);if(aq.length>1){return true}var am=aq[0].pageY;var ao=aq[0].pageX;if(G.simulatetouches){if(aq[0]._pageY!=undefined){am=aq[0]._pageY;ao=aq[0]._pageX}}var au=am-r;var av=ao-t;J=am;var at=ao;g=au-f;j=av-i;k=true;f=au;i=av;var an=x!=null?x[0].style.visibility!="hidden":true;var ar=n!=null?n[0].style.visibility!="hidden":true;function ap(ay){var aA,az,ax;if(F){aA=A(ay);ax=ae(ay);az=d-aA;V=ag-ax;var aw="value";if(az>2||az<-2){d=aA;aw=ac(aa+az,ay);I();if(aw=="min"&&T===0){return true}if(aw=="max"&&T===Q){return true}if(!ar){return true}ay.preventDefault();ay.stopPropagation();C=true;return false}else{if(V>2||V<-2){ag=ax;aw=m(h+V,ay);I();if(aw=="min"&&ai===0){return true}if(aw=="max"&&ai===Y){return true}if(!an){return true}C=true;ay.preventDefault();ay.stopPropagation();return false}}ay.preventDefault()}}if(an||ar){if((an)||(ar)){ap(al)}}};if(p.on){p.on(ab,y)}else{p.bind(ab,y)}var s=function(am){if(!G.enableScrolling[H]){return true}var an=G.getTouches(am)[0];if(!G.scrolling[H]){return true}F=false;clearInterval(u);if(af>10||af<-10){S=0.8*af;c=Math.round(aa+S);v=Date.now();requestAnimationFrame(U)}else{if(O>10||O<-10){S=0.8*O;E=Math.round(h+S);v=Date.now();requestAnimationFrame(N)}else{}}G.scrolling[H]=false;if(k){G.dispatchMouseEvent("mouseup",an,am.target)}else{var an=G.getTouches(am)[0],al=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,al);G.dispatchMouseEvent("click",an,al);return true}};if(this.simulatetouches){var q=b(window).on!=undefined||b(window).bind;var P=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};b(window).on!=undefined?b(document).on("mouseup.touchScroll",P):b(document).bind("mouseup.touchScroll",P);if(window.frameElement){if(window.top!=null){var L=function(al){try{s(al)}catch(am){}G.scrolling[H]=false};if(window.top.document){b(window.top.document).on?b(window.top.document).on("mouseup",L):b(window.top.document).bind("mouseup",L)}}}var ak=b(document).on!=undefined||b(document).bind;var K=function(al){if(!G.scrolling[H]){return true}G.scrolling[H]=false;var an=G.getTouches(al)[0],am=G.getRootNode(an.target);G.dispatchMouseEvent("mouseup",an,am);G.dispatchMouseEvent("click",an,am)};b(document).on!=undefined?b(document).on("touchend",K):b(document).bind("touchend",K)}if(p.on){p.on("dragstart",function(al){al.preventDefault()});p.on("selectstart",function(al){al.preventDefault()})}p.on?p.on(D+" touchcancel.touchScroll",s):p.bind(D+" touchcancel.touchScroll",s)}});b.jqx.cookie=b.jqx.cookie||{};b.extend(b.jqx.cookie,{cookie:function(f,g,d){if(arguments.length>1&&String(g)!=="[object Object]"){d=b.extend({},d);if(g===null||g===undefined){d.expires=-1}if(typeof d.expires==="number"){var i=d.expires,e=d.expires=new Date();e.setDate(e.getDate()+i)}g=String(g);return(document.cookie=[encodeURIComponent(f),"=",d.raw?g:encodeURIComponent(g),d.expires?"; expires="+d.expires.toUTCString():"",d.path?"; path="+d.path:"",d.domain?"; domain="+d.domain:"",d.secure?"; secure":""].join(""))}d=g||{};var c,h=d.raw?function(j){return j}:decodeURIComponent;return(c=new RegExp("(?:^|; )"+encodeURIComponent(f)+"=([^;]*)").exec(document.cookie))?h(c[1]):null}});b.jqx.string=b.jqx.string||{};b.extend(b.jqx.string,{replace:function(g,e,f){if(e===f){return this}var c=g;var d=c.indexOf(e);while(d!=-1){c=c.replace(e,f);d=c.indexOf(e)}return c},contains:function(c,d){if(c==null||d==null){return false}return c.indexOf(d)!=-1},containsIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toString().toUpperCase().indexOf(d.toString().toUpperCase())!=-1},equals:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.slice(0,d.length)==d}return false},equalsIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);if(d.length==c.length){return c.toUpperCase().slice(0,d.length)==d.toUpperCase()}return false},startsWith:function(c,d){if(c==null||d==null){return false}return c.slice(0,d.length)==d},startsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}return c.toUpperCase().slice(0,d.length)==d.toUpperCase()},normalize:function(c){if(c.charCodeAt(c.length-1)==65279){c=c.substring(0,c.length-1)}return c},endsWith:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.slice(-d.length)==d},endsWithIgnoreCase:function(c,d){if(c==null||d==null){return false}c=this.normalize(c);return c.toUpperCase().slice(-d.length)==d.toUpperCase()}});b.extend(b.easing,{easeOutBack:function(f,g,e,j,i,h){if(h==undefined){h=1.70158}return j*((g=g/i-1)*g*((h+1)*g+h)+1)+e},easeInQuad:function(f,g,e,i,h){return i*(g/=h)*g+e},easeInOutCirc:function(f,g,e,i,h){if((g/=h/2)<1){return -i/2*(Math.sqrt(1-g*g)-1)+e}return i/2*(Math.sqrt(1-(g-=2)*g)+1)+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e},easeInCubic:function(f,g,e,i,h){return i*(g/=h)*g*g+e},easeOutCubic:function(f,g,e,i,h){return i*((g=g/h-1)*g*g+1)+e},easeInOutCubic:function(f,g,e,i,h){if((g/=h/2)<1){return i/2*g*g*g+e}return i/2*((g-=2)*g*g+2)+e},easeInSine:function(f,g,e,i,h){return -i*Math.cos(g/h*(Math.PI/2))+i+e},easeOutSine:function(f,g,e,i,h){return i*Math.sin(g/h*(Math.PI/2))+e},easeInOutSine:function(f,g,e,i,h){return -i/2*(Math.cos(Math.PI*g/h)-1)+e}})})(jqxBaseFramework);(function(b){if(b.event&&b.event.special){b.extend(b.event.special,{close:{noBubble:true},open:{noBubble:true},cellclick:{noBubble:true},rowclick:{noBubble:true},tabclick:{noBubble:true},selected:{noBubble:true},expanded:{noBubble:true},collapsed:{noBubble:true},valuechanged:{noBubble:true},expandedItem:{noBubble:true},collapsedItem:{noBubble:true},expandingItem:{noBubble:true},collapsingItem:{noBubble:true}})}if(b.fn.extend){b.fn.extend({ischildof:function(g){if(!b(this).parents){var c=g.element.contains(this.element);return c}var e=b(this).parents().get();for(var d=0;d<e.length;d++){if(typeof g!="string"){var f=e[d];if(g!==undefined){if(f==g[0]){return true}}}else{if(g!==undefined){if(b(e[d]).is(g)){return true}}}}return false}})}b.fn.jqxProxy=function(){var e=b(this).data().jqxWidget;var c=Array.prototype.slice.call(arguments,0);var d=e.element;if(!d){d=e.base.element}return b.jqx.jqxWidgetProxy(e.widgetName,d,c)};var a=b.originalVal=b.fn.val;b.fn.val=function(d){if(typeof d=="undefined"){if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){return c.val()}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){return c.val()}}return a.call(this)}else{if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}if(this[0]&&this[0].tagName.toLowerCase().indexOf("angular")>=0){var c=b(this).find(".jqx-widget").data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}return a.call(this,d)}};if(b.fn.modal&&b.fn.modal.Constructor){b.fn.modal.Constructor.prototype.enforceFocus=function(){b(document).off("focusin.bs.modal").on("focusin.bs.modal",b.proxy(function(c){if(this.$element[0]!==c.target&&!this.$element.has(c.target).length){if(b(c.target).parents().hasClass("jqx-popup")){return true}this.$element.trigger("focus")}},this))}}b.fn.coord=function(n){var e,j,i={top:0,left:0},f=this[0],l=f&&f.ownerDocument;if(!l){return}e=l.documentElement;if(!b.contains(e,f)){return i}if(typeof f.getBoundingClientRect!==undefined){i=f.getBoundingClientRect()}var d=function(o){return b.isWindow(o)?o:o.nodeType===9?o.defaultView||o.parentWindow:false};j=d(l);var h=0;var c=0;var g=navigator.userAgent.toLowerCase();var m=g.indexOf("ipad")!=-1||g.indexOf("iphone")!=-1;if(m){h=2}if(true==n){if(document.body.style.position!="static"&&document.body.style.position!=""){var k=b(document.body).coord();h=-k.left;c=-k.top}}return{top:c+i.top+(j.pageYOffset||e.scrollTop)-(e.clientTop||0),left:h+i.left+(j.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};b.jqx.ripplers=[];b.jqx.ripple=function(f,e,o){if(!e){e=f}var h=b(f);var j=false;h.append("<span class='ink'></span>");var p=h.find(".ink");var c=false;for(var g=0;g<b.jqx.ripplers.length;g++){var k=b.jqx.ripplers[g];if(k.element[0]===f[0]){c=true;break}}if(!c){b.jqx.ripplers.push({ink:p,element:f,hostElement:e,hostElementType:o})}if(o==="checkbox"||o==="radiobutton"){var l=Math.max(h.outerWidth(),h.outerHeight());p.css({height:l,width:l});var n=h.width()/2-p.width()/2;var m=h.height()/2-p.height()/2;p.css({top:m+"px",left:n+"px"})}if(b.jqx.ripplers.length===1){b(document).on("mouseup",function(r){b.jqx.ripple.mouseCaptured=false;for(var q=0;q<b.jqx.ripplers.length;q++){var d=b.jqx.ripplers[q];d.ink.removeClass("active");d.element.removeClass("active");if(o!=="checkbox"&&o!=="radiobutton"){if(d.ink.hasClass("animate")){d.ink.removeClass("animate")}}}})}e.off("mousedown.ripple");e.on("mousedown.ripple",function(i){var d=b(f);b.jqx.ripple.mouseCaptured=true;setTimeout(function(){if(d.find(".ink").length==0){d.append("<span class='ink'></span>")}var r=d.find(".ink");r.removeClass("animate");if(!r.height()&&!r.width()){var s=Math.max(d.outerWidth(),d.outerHeight());r.css({height:s,width:s})}if(o==="checkbox"||o==="radiobutton"){if(o==="checkbox"){if(e.jqxCheckBox("disabled")){return}}if(o==="radiobutton"){if(e.jqxRadioButton("disabled")){return}}var q=d.width()/2-r.width()/2;var t=d.height()/2-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate");r.on("animationend",function(){if(b.jqx.ripple.mouseCaptured){r.removeClass("animate");r.addClass("active");f.addClass("active")}});return}var q=i.pageX-d.offset().left-r.width()/2;var t=i.pageY-d.offset().top-r.height()/2;r.css({top:t+"px",left:q+"px"}).addClass("animate")})})}})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxdata.export.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdata.export.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(b){var a=(function(){var c={},u,q,j,l,g,h,o,p;function d(B,A,x,z,y,v,w){this.hierarchy=y;this.exportFormat=v;this.filename=w;B.beginFile(w);n(B);k(B);B.endFile(w);return B.getFile()}function n(z){var x=true;b.each(q,function(){if(this.hidden){x=false;return false}});z.beginHeader(x);var w=0;for(var v in q){if(q[v].columnsDataFields){v=q[v].columnsDataFields[w].displayfield}var y=m(v,q[v]);z.appendHeaderCell(q[v],v,y,x,w);w++}z.endHeader(x)}function k(x){x.beginBody();if(this.hierarchy){var w=function(z){for(var y=0;y<z.length;y+=1){if(z[y]!==undefined){x.beginRow(z[y].level);e(x,z[y],y,true);if(z[y].records){x.beginRows(z[y].level);w(z[y].records);x.endRows(z[y].level)}x.endRow(z[y].level)}}};w(u);x.endBody();return}for(var v=0;v<u.length;v+=1){if(u[v]!==undefined){e(x,u[v],v)}}x.endBody()}function e(A,z,B,v){var x;if(v!=true){A.beginRow()}var y=0;for(var w in q){if(q[w].columnsDataFields){w=q[w].columnsDataFields[y].displayfield}x=s(B,w);if(x){if(x.level!=undefined){if(x.index-1>z.level&&x.index-1<x.maxLevel){y++;continue}}if(x.maxLevel!=undefined){if(x.index-1==x.maxLevel){x=b.extend({},x);x.merge=x.maxLevel-z.level-1}}}if(z.level!=undefined&&z.label!=undefined){if(this.exportFormat==="xml"||this.exportFormat==="json"){var C={};C.text="group";A.appendBodyCell(z.label,C,x,z,y,"group");break}}if(z.hasOwnProperty(w)){A.appendBodyCell(z[w],q[w],x,z,y)}else{A.appendBodyCell("",q[w],x,z,y)}y++}if(v!=true){A.endRow()}}function m(w,x){if(x.style){return j[x.style]}var v=t();if(v.length>0){return v[0].style}return null}function t(){if(!g){g=new Array();b.each(j,function(v,w){g[g.length]={name:v,style:w}})}return g}function s(A,z){var B=q[z];if(B){if(B.customCellStyles){var x=B.customCellStyles[A];if(x){return j[x]}}if(B.cellStyle){if(B.cellAltStyle){var w=A%2;if(w==0){return j[B.cellStyle]}return j[B.cellAltStyle]}return j[B.cellStyle]}else{var v=t();if(v.length>0){var w=A%(v.length-1);var y=v[w+1].style;return y}}}return null}function r(y,w,x){var v=document.createElement("input");v.name=w;v.value=y;v.type="hidden";x.appendChild(v);return v}function f(x,v,w){var y=document.createElement("textarea");y.name=v;y.value=x;w.appendChild(y);return y}function i(w,z,y,v,A){var x=document.createElement("form");r(w,"filename",x);r(z,"format",x);f(y,"content",x);if(v==undefined||v==""){if(window&&window.location.toString().indexOf("jqwidgets.com")>=0){v="https://jqwidgets.com/export_server/dataexport.php"}else{v="http://jquerygrid.net/export_server/dataexport.php"}}x.action=v;x.method="post";if(A){x.acceptCharset=A}document.body.appendChild(x);return x}l=function(A,y,x,w,z,v){if(!(this instanceof a)){return new a(A,y,x,z,v)}u=A;q=y;j=x;this.exportTo=function(K,H,G,B){K=K.toString().toLowerCase();var D=c[K];if(typeof D==="undefined"){throw"You can't export to "+K+" format."}if(K==="pdf"&&B==undefined){var M=this.exportTo(K,H,K,"pdf");if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var L=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);L.cellInitialize();var J=b(M).find("th");var I=b(M).find("tr");var N=0;L.setFontSize(13*72/96);var F=595;switch(b.jqx.pdfExport.paperSize){case"legal":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=1008}break;case"letter":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=792}break;case"a3":var F=841;if(b.jqx.pdfExport.orientation!=="portrait"){F=1190}break;case"a4":var F=595;if(b.jqx.pdfExport.orientation!=="portrait"){F=842}break;case"a5":var F=420;if(b.jqx.pdfExport.orientation!=="portrait"){F=595}break}F-=20;var E=0;var C=[];b.each(J,function(O){var P=parseInt(this.style.width);if(isNaN(P)){P=25}var Q=P*72/96;C[O]=Q;E+=Q});if(E>F){b.each(C,function(O){C[O]=(C[O]/E)*100;C[O]=C[O]*F/100})}b.each(J,function(P){var T=C[P];var S=25*72/96;var R=L.getTextDimensions(b(this).html());var Q=b(this).html();if(R.w+3>T){var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U.length>3){Q=U.substring(0,U.length-3)+"..."}else{Q=U.substring(0,1)+"..."}var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U!=Q){Q=U}}L.cell(10,10,T,S,Q,N)});N++;b.each(I,function(V){if(V===0){return true}var P=b(this).children();var Q=P.length>J.length;if(Q){var Y=P.length-J.length;var Z="";var X=C[0];var U=25*72/96;for(var R=0;R<=Y;R++){var O=P[R].innerHTML;if(O==="+"||O==="-"){O=O+" "}if(O==="&nbsp;"){O="   "}Z+=O}var T=L.getTextDimensions(Z);if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N);for(var R=Y+1;R<P.length;R++){var V=R-Y;var X=C[V];var U=25*72/96;var Z=b(P[R]).html();var T=L.getTextDimensions(b(P[R]).html());if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N)}N++;return true}b.each(P,function(ab){var af=C[ab];var ae=25*72/96;var ad=b(this).html();var ac=L.getTextDimensions(b(this).html());if(ac.w+3>af){var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag.length>3){ad=ag.substring(0,ag.length-3)+"..."}else{ad=ag.substring(0,1)+"..."}var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag!=ad){ad=ag}}L.cell(10,10,af,ae,ad,N)});N++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}return L}return d(D,u,q,j,H,G,B)};this.exportToFile=function(L,B,O,F,I){if(L==="pdf"){var N=this.exportTo(L,I,L,B);if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var M=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);if(F=="utf-8"||F=="UTF-8"){M.setFont("courier","normal")}M.cellInitialize();var K=b(N).find("th");var J=b(N).find("tr");var P=0;M.setFontSize(13*72/96);var G=595;switch(b.jqx.pdfExport.paperSize){case"legal":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=1008}break;case"letter":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=792}break;case"a3":var G=841;if(b.jqx.pdfExport.orientation!=="portrait"){G=1190}break;case"a4":var G=595;if(b.jqx.pdfExport.orientation!=="portrait"){G=842}break;case"a5":var G=420;if(b.jqx.pdfExport.orientation!=="portrait"){G=595}break}G-=20;var E=0;var C=[];b.each(K,function(Q){var R=parseInt(this.style.width);if(isNaN(R)){R=25}var S=R*72/96;C[Q]=S;E+=S});if(E>G){b.each(C,function(Q){C[Q]=(C[Q]/E)*100;C[Q]=C[Q]*G/100})}b.each(K,function(R){var V=C[R];var U=25*72/96;var T=M.getTextDimensions(b(this).html());var S=b(this).html();if(T.w+3>V){var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W.length>3){S=W.substring(0,W.length-3)+"..."}else{S=W.substring(0,1)+"..."}var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W!=S){S=W}}M.cell(10,10,V,U,S,P)});P++;b.each(J,function(X){if(X===0){return true}var R=b(this).children();var S=R.length>K.length;if(S){var aa=R.length-K.length;var ab="";var Z=C[0];var W=25*72/96;for(var T=0;T<=aa;T++){var Q=R[T].innerHTML;if(Q==="+"||Q==="-"){Q=Q+" "}if(Q==="&nbsp;"){Q="   "}ab+=Q}var V=M.getTextDimensions(ab);if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P);for(var T=aa+1;T<R.length;T++){var X=T-aa;var Z=C[X];var W=25*72/96;var ab=b(R[T]).html();if(ab==="&nbsp;"){ab="   "}var V=M.getTextDimensions(b(R[T]).html());if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P)}P++;return true}b.each(R,function(ad){var ah=C[ad];var ag=25*72/96;var af=b(this).html();if(af==="&nbsp;"){af="   "}var ae=M.getTextDimensions(b(this).html());if(ae.w+3>ah){var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai.length>3){af=ai.substring(0,ai.length-3)+"..."}else{af=ai.substring(0,1)+"..."}var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai!=af){af=ai}}M.cell(10,10,ah,ag,af,P)});P++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}M.save(B+".pdf");return}var H=this.exportTo(L,I,L,B),D=i(B,L,H,O,F);D.submit();document.body.removeChild(D)};this.exportToLocalFile=function(F,C,D,B){var E=this.exportTo(F,D,B);document.location.href="data:application/octet-stream;filename="+C+","+encodeURIComponent(E)}};l.extend=function(v,w){if(w instanceof b.jqx.dataAdapter.DataExportModuleBase){c[v]=w}else{throw"The module "+v+" is not instance of DataExportModuleBase."}};return l}());b.jqx.dataAdapter.ArrayExporter=a})(jqxBaseFramework);(function(b){var a=function(){this.formatData=function(f,e,c,h){if(e==="date"){var d="";if(typeof f==="string"){d=b.jqx.dataFormat.tryparsedate(f);f=d}if(f===""||f===null){return""}d=b.jqx.dataFormat.formatdate(f,c,h);if((d&&d.toString()=="NaN")||d==null){return""}f=d}else{if(e==="number"||e==="float"||e==="int"||e=="integer"){if(f===""||f===null){return""}if(!isNaN(new Number(f))){var g=b.jqx.dataFormat.formatnumber(f,c,h);if(g.toString()=="NaN"){return""}else{f=g}}}else{f=f}}if(f===null){return""}return f};this.getFormat=function(f){var c=f?f.formatString:"";var e=f?f.localization:"";var d="string";d=f?f.type:"string";if(d=="number"||d=="float"){if(!c){c="f2"}}if(d=="int"||d=="integer"){if(!c){c="n0"}}if(d=="date"){if(!c){c="d"}}return{type:d,formatString:c,localization:e}};this.beginFile=function(){throw"Not implemented!"};this.beginHeader=function(){throw"Not implemented!"};this.appendHeaderCell=function(){throw"Not implemented!"};this.endHeader=function(){throw"Not implemented!"};this.beginBody=function(){throw"Not implemented!"};this.beginRow=function(){throw"Not implemented!"};this.beginRows=function(){throw"Not implemented!"};this.endRows=function(){throw"Not implemented!"};this.appendBodyCell=function(){throw"Not implemented!"};this.endRow=function(){throw"Not implemented!"};this.endBody=function(){throw"Not implemented!"};this.endFile=function(){throw"Not implemented!"};this.getFile=function(){throw"Not implemented!"}};b.jqx.dataAdapter.DataExportModuleBase=a})(jqxBaseFramework);(function(d){var c=function(j){var e,h,g;var l=0;var i=this;this.beginFile=function(){e=""};this.beginHeader=function(){};this.appendHeaderCell=function(q,r,p,m,n){if(p){if(p.level!=undefined){if(n<p.maxLevel){return}else{if(n===p.maxLevel){if(m){k(q.text)}for(var o=0;o<p.maxLevel;o++){k("")}return}}}}g=m;if(m){k(q.text)}};this.endHeader=function(){this.endRow()};this.beginBody=function(){l=0};this.beginRow=function(){if((l>0)||(l==0&&g)){e+="\n"}l++};this.appendBodyCell=function(q,m,p,r,n){if(p){if(p.maxLevel!=undefined){if(n===p.maxLevel){k(q,m);for(var o=0;o<p.maxLevel-r.level-1;o++){k("",m)}return}}}k(q,m)};this.endRow=function(){e=e.substring(0,e.length-1)};this.endBody=function(){};this.endFile=function(){};this.getFile=function(){return e};function f(m,o){if(o){var n=i.getFormat(o);m=i.formatData(m,n.type,n.formatString,n.localization)}m='"'+m+'"';return m}function k(m,n){m=f(m,n);e+=m+j}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var a=function(){};a.prototype=new c(",");var b=function(){};b.prototype=new c("\t");d.jqx.dataAdapter.ArrayExporter.extend("csv",new a());d.jqx.dataAdapter.ArrayExporter.extend("tsv",new b())})(jqxBaseFramework);(function(d){var a=function(){var i=false;var g;var h;var j=0;this.setPDF=function(){i=true};this.beginFile=function(k){if(i||k==undefined){g='<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}else{g='<html>\n\t<head>\n\t\t<title></title>\n\t\t<meta http-equiv=Content-type content="text/html; charset=UTF-8">\n\t</head>\n\t<body>\n\t\t<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}};this.beginHeader=function(){if(i){g+="\n\t<thead><tr>"}else{g+="\n\t\t\t<thead>"}};this.appendHeaderCell=function(m,n,l,k){h=k;if(!k){return}if(i){g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}else{if(l.disabled){return}if(l.merge){if(m.width){g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="'+f(l)+'">'+m.text+"</th>"}}else{if(m.width){g+='\n\t\t\t\t<th style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}}}};this.endHeader=function(){if(i){g+="\n\t</tr></thead>"}else{g+="\n\t\t\t</thead>"}};this.beginBody=function(){if(i){g+="\n\t<tbody>"}else{g+="\n\t\t\t<tbody>"}j=0};this.beginRow=function(){if(i){g+="\n\t<tr>"}else{g+="\n\t\t\t\t<tr>"}j++};this.appendBodyCell=function(l,n,k){var m=this.getFormat(n);if(l===""){l="&nbsp;"}if(i){if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(k.merge){if(j==1&&!h){g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}}};this.endRow=function(){if(i){g+="\n\t</tr>"}else{g+="\n\t\t\t\t</tr>"}};this.endBody=function(){if(i){g+="\n\t</tbody>"}else{g+="\n\t\t\t</tbody>"}};this.endFile=function(k){if(i||k==undefined){g+="\n</table>"}else{g+="\n\t\t</table>\n\t</body>\n</html>\n"}};this.getFile=function(){return g};function f(m){var k="";for(var l in m){if(m.hasOwnProperty(l)){if(i&&l=="font-size"){m[l]="100%"}k+=l+":"+m[l]+";"}}return k}};a.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var e=function(){};e.prototype=new a();var c=function(){};c.prototype=new a();var b=new c();d.jqx.dataAdapter.ArrayExporter.extend("html",new e());d.jqx.dataAdapter.ArrayExporter.extend("pdf",b)})(jqxBaseFramework);(function(b){var a=function(){var h,l,d,i,c,j,m={style:"",stylesMap:{font:{color:"Color","font-family":"FontName","font-style":"Italic","font-weight":"Bold"},interior:{"background-color":"Color",background:"Color"},alignment:{left:"Left",center:"Center",right:"Right"}},startStyle:function(p){this.style+='\n\t\t<Style ss:ID="'+p+'" ss:Name="'+p+'">'},buildAlignment:function(q){if(q["text-align"]){var r=this.stylesMap.alignment[q["text-align"]];if(!r){r="Left"}var p='\n\t\t\t<Alignment ss:Vertical="Bottom" ss:Horizontal="'+r+'"/>';this.style+=p}},buildBorder:function(s){if(s["border-color"]){var r="\n\t\t\t<Borders>";var u='\n\t\t\t\t<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var p='\n\t\t\t\t<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var q='\n\t\t\t\t<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var t='\n\t\t\t\t<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';r+=u;r+=p;r+=q;r+=t;r+="\n\t\t\t</Borders>";this.style+=r}},buildFont:function(q){var r=this.stylesMap.font,p="\n\t\t\t<Font ";for(var s in r){if(typeof q[s]!=="undefined"){if(s==="font-style"&&q[s].toString().toLowerCase()==="italic"){p+='ss:Italic="1" '}else{if(s==="font-weight"&&q[s].toString().toLowerCase()==="bold"){p+='ss:Bold="1" '}else{if(s==="color"){p+="ss:"+r[s]+'="'+q[s]+'" '}}}}}p+="/>";this.style+=p},buildInterior:function(q){var r=this.stylesMap.interior,t="\n\t\t\t<Interior ";var p=false;for(var s in r){if(typeof q[s]!=="undefined"){t+="ss:"+r[s]+'="'+q[s]+'" ';p=true}}if(p){t+='ss:Pattern="Solid"'}t+="/>";this.style+=t},buildFormat:function(q){if(q.dataType=="number"||q.dataType=="float"||q.dataType=="int"||q.dataType=="integer"){var p=q.formatString;if(p==""||p.indexOf("n")!=-1||p.indexOf("N")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="0"/>'}else{if(p=="f"||p=="F"||p=="D"||p.indexOf("d")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="#,##0.00_);[Red](#,##0.00)"/>'}else{if(p.indexOf("p")!=-1||p.indexOf("P")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="Percent"/>'}else{if(p.indexOf("c")!=-1||p.indexOf("C")!=-1){if(q.currencysymbol&&parseInt(q.currencysymbol.charCodeAt(0))==8364){this.style+='\n\t\t\t<NumberFormat ss:Format="Euro Currency"/>'}else{this.style+='\n\t\t\t<NumberFormat ss:Format="Currency"/>'}}}}}}else{if(q.dataType=="date"){this.style+='\n\t\t\t<NumberFormat ss:Format="Short Date"/>'}}},closeStyle:function(){this.style+="\n\t\t</Style>"},toString:function(){var p=this.style;this.style="";return p}};this.beginFile=function(){c={};j=0;h='<?xml version="1.0"?>\n\t<?mso-application progid="Excel.Sheet"?> \n\t<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:o="urn:schemas-microsoft-com:office:office" \n\txmlns:x="urn:schemas-microsoft-com:office:excel" \n\txmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:html="http://www.w3.org/TR/REC-html40"> \n\t<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> \n\t<Version>12.00</Version> \n\t</DocumentProperties> \n\t<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> \n\t<WindowHeight>8130</WindowHeight> \n\t<WindowWidth>15135</WindowWidth> \n\t<WindowTopX>120</WindowTopX> \n\t<WindowTopY>45</WindowTopY> \n\t<ProtectStructure>False</ProtectStructure> \n\t<ProtectWindows>False</ProtectWindows> \n\t</ExcelWorkbook> \n\t<Styles>'};this.beginHeader=function(){l='\n\t<Worksheet ss:Name="Sheet1">\n\t\t<Table>';d=[];i=[]};this.appendHeaderCell=function(r,s,q){var p=r.width!=undefined?r.width:r.text.length*10;l+='\n\t\t\t<Column ss:Width="'+p+'"/>';d.push(r);i.push(q)};this.endHeader=function(p){if(p){this.beginRow();for(var q=0;q<d.length;q+=1){if(i[q].disabled){continue}g.call(this,d[q]["text"],null,i[q])}this.endRow()}};this.beginBody=function(){};this.beginRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="<Row>";return}l+="\n\t\t\t<Row>"};this.beginRows=function(p){l+="\n\t\t\t\t<Rows>"};this.appendBodyCell=function(r,p,q,s){g.call(this,r,p,q,s)};this.endRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Row>";return}l+="\n\t\t\t</Row>"};this.endRows=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Rows>";return}};this.endBody=function(){l+="\n\t\t</Table>"};this.endFile=function(){l+="\n\t</Worksheet>\n</Workbook>";h+="\n\t</Styles>"};this.getFile=function(){return h+l};function g(t,w,s,v){var r="String";var u=this.getFormat(w);if(t!=null&&t.toString().substring(0,3)=="_AG"){t=t.toString().substring(3);r="String"}else{if(u.type=="date"){var q=t;t=this.formatData(t,u.type,u.formatString,u.localization);if(t===null||t===""){t="";r="String"}else{t=q.toISOString();r="DateTime"}}if(u.type=="string"){if(t===null||t===undefined){t=""}else{if(t.toString().indexOf("&")>=0){t=t.toString().replace(/&/g,"&amp;")}if(t.toString().indexOf(">")>=0){t=t.toString().replace(/>/g,"&gt;")}if(t.toString().indexOf("<")>=0){t=t.toString().replace(/</g,"&lt;")}if(t.toString().indexOf('"')>=0){t=t.toString().replace(/"/g,"&quot;")}if(t.toString().indexOf("'")>=0){t=t.toString().replace(/'/g,"&apos;")}}}if(s.dataType=="number"||s.dataType=="float"||s.dataType=="int"||s.dataType=="integer"){r="Number";t=parseFloat(t);if(t===null||isNaN(t)||t===""){t="";r="String"}if(t&&r!="String"&&t!=""){if(w&&w.formatString&&w.formatString.indexOf("p")>=0){t=t/100}}s.currencysymbol=w.localization.currencysymbol}}var p=f(s);if(s.merge){l+='\n\t\t\t\t<Cell ss:MergeAcross="'+s.merge+'" ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}else{l+='\n\t\t\t\t<Cell ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}}function n(){j+=1;return"xls-style-"+j}function k(q){for(var p in c){if(o(q,c[p])&&o(c[p],q)){return p}}return undefined}function o(t,q){var s=true;for(var r in t){if(t[r]!==q[r]){s=false}}return s}function e(q,p){m.startStyle(q);m.buildAlignment(p);m.buildBorder(p);m.buildFont(p);m.buildInterior(p);m.buildFormat(p);m.closeStyle();h+=m.toString()}function f(p){if(!p){return""}var q=k(p);if(typeof q==="undefined"){q=n();c[q]=p;e(q,p)}return q}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xls",new a())})(jqxBaseFramework);(function(b){var a=function(){var e,c,d;this.beginFile=function(){e='<?xml version="1.0" encoding="UTF-8" ?>';e+="\n<table>"};this.beginHeader=function(){c=[]};this.appendHeaderCell=function(f,g){c.push(g)};this.endHeader=function(){};this.beginBody=function(g,f){};this.beginRow=function(g){if(g!=undefined){if(this.hierarchy){e+="\n\t";for(var f=0;f<g;f++){e+="\t\t"}e+="<row>";d=0;return}}e+="\n\t<row>";d=0};this.beginRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="<rows>";d=0;return}e+="\n\t\t<rows>"};this.appendBodyCell=function(j,n,g,m,h,l){var k=this.getFormat(n);j=this.formatData(j,k.type,k.formatString,k.localization);if(k.type=="string"){if(j.toString().indexOf("&")>=0){j=j.toString().replace(/&/g,"&amp;")}if(j.toString().indexOf(">")>=0){j=j.toString().replace(/>/g,"&gt;")}if(j.toString().indexOf("<")>=0){j=j.toString().replace(/</g,"&lt;")}if(j.toString().indexOf('"')>=0){j=j.toString().replace(/"/g,"&quot;")}if(j.toString().indexOf("'")>=0){j=j.toString().replace(/'/g,"&apos;")}}if(m.level!=undefined){if(this.hierarchy){e+="\n\t\t";for(var f=0;f<m.level;f++){e+="\t\t"}if(l===undefined){e+="<"+c[d]+">"+j+"</"+c[d]+">"}else{e+="<"+l+">"+j+"</"+l+">"}}else{if(l!=undefined){e+="\n\t\t<"+l+">"+j+"</"+l+">"}else{e+="\n\t\t<"+c[d]+">"+j+"</"+c[d]+">"}}}else{e+="\n\t\t<"+c[d]+">"+j+"</"+c[d]+">"}d++};this.endRow=function(g){if(g!=undefined){if(this.hierarchy){e+="\n\t";for(var f=0;f<g;f++){e+="\t\t"}e+="</row>";d=0;return}}e+="\n\t</row>";d=0};this.endRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="</rows>";d=0;return}e+="\n\t\t</rows>"};this.endBody=function(){};this.endFile=function(){e+="\n</table>"};this.getFile=function(){return e}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xml",new a())})(jqxBaseFramework);(function(d){var j=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,l={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function a(n){return'"'+n.replace(j,function(o){var p=l[o];return typeof p==="string"?p:"\\u"+("0000"+o.charCodeAt(0).toString(16)).slice(-4)})+'"'}function b(o){return o<10?"0"+o:o}function e(o){var n;if(isFinite(o.valueOf())){n=o.getUTCFullYear()+"-"+b(o.getUTCMonth()+1)+"-"+b(o.getUTCDate())+"T"+b(o.getUTCHours())+":"+b(o.getUTCMinutes())+":"+b(o.getUTCSeconds())+'Z"'}else{n="null"}return n}function g(q){var n=q.length,o=[],p;for(p=0;p<n;p++){o.push(h(p,q)||"null")}return"["+o.join(",")+"]"}function m(q){var o=[],p,n;for(p in q){if(Object.prototype.hasOwnProperty.call(q,p)){n=h(p,q);if(n){o.push(a(p)+":"+n)}}}return"{"+o.join(",")+"}"}function i(n){switch(Object.prototype.toString.call(n)){case"[object Date]":return e(n);case"[object Array]":return g(n)}return m(n)}function k(o,n){switch(n){case"string":return a(o);case"number":case"float":case"integer":case"int":return isFinite(o)?o:"null";case"boolean":return o}return"null"}function h(o,n){var q=n[o],p=typeof q;if(q&&typeof q==="object"&&typeof q.toJSON==="function"){q=q.toJSON(o);p=typeof q}if(/(number|float|int|integer|string|boolean)/.test(p)||(!q&&p==="object")){return k(q,p)}else{return i(q)}}function f(n){if(window.JSON&&typeof window.JSON.stringify==="function"){return window.JSON.stringify(n)}return h("",{"":n})}var c=function(){var q=this;this.prepareData=function(t,v){if(v){var u=q.getFormat(v);t=q.formatData(t,u.type,u.formatString,u.localization)}return t};var n,p,r,o=[],s=0;this.beginFile=function(){p=[]};this.beginHeader=function(){};this.appendHeaderCell=function(t){};this.endHeader=function(){};this.beginBody=function(u,t){};this.beginRow=function(){if(hierarchy){o[s]={}}else{r={}}};this.beginRows=function(){o[s].rows=[];s++;o[s]={}};this.endRows=function(){s--};this.appendBodyCell=function(u,t){var v=this.prepareData(u,t);if(hierarchy){o[s][t.text]=v}else{r[t.text]=v}};this.endRow=function(){if(hierarchy){if(s==0){p.push(o[s])}else{o[s-1].rows.push(o[s])}}else{p.push(r)}};this.endBody=function(){};this.endFile=function(){n=f(p)};this.getFile=function(){return n}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();d.jqx.dataAdapter.ArrayExporter.extend("json",new c())})(jqxBaseFramework);var pdfDataExport=window.jqxPdfDataExport=(function(){if(typeof btoa==="undefined"){window.btoa=function(m){var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=h.split(""),g,f,e,q,p,o,n,t,l=0,u=0,k="",j=[],d;do{g=m.charCodeAt(l++);f=m.charCodeAt(l++);e=m.charCodeAt(l++);t=g<<16|f<<8|e;q=t>>18&63;p=t>>12&63;o=t>>6&63;n=t&63;j[u++]=s[q]+s[p]+s[o]+s[n]}while(l<m.length);k=j.join("");d=m.length%3;return(d?k.slice(0,d-3):k)+"===".slice(d||3)}}if(typeof atob==="undefined"){window.atob=function(l){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f,e,d,p,o,n,m,q,k=0,r=0,h="",j=[];if(!l){return l}l+="";do{p=g.indexOf(l.charAt(k++));o=g.indexOf(l.charAt(k++));n=g.indexOf(l.charAt(k++));m=g.indexOf(l.charAt(k++));q=p<<18|o<<12|n<<6|m;f=q>>16&255;e=q>>8&255;d=q&255;if(n===64){j[r++]=String.fromCharCode(f)}else{if(m===64){j[r++]=String.fromCharCode(f,e)}else{j[r++]=String.fromCharCode(f,e,d)}}}while(k<l.length);h=j.join("");return h}}var c=typeof Object.keys==="function"?function(d){return Object.keys(d).length}:function(d){var f=0,g;for(g in d){if(d.hasOwnProperty(g)){f++}}return f},a=function(d){this.topics={};this.context=d;this.publish=function(h,m){if(this.topics[h]){var j=this.topics[h],o=[],n,g,e,f,k=function(){};m=Array.prototype.slice.call(arguments,1);for(g=0,e=j.length;g<e;g++){f=j[g];n=f[0];if(f[1]){f[0]=k;o.push(g)}n.apply(this.context,m)}for(g=0,e=o.length;g<e;g++){j.splice(o[g],1)}}};this.subscribe=function(e,g,f){if(!this.topics[e]){this.topics[e]=[[g,f]]}else{this.topics[e].push([g,f])}return{topic:e,callback:g}};this.unsubscribe=function(h){if(this.topics[h.topic]){var f=this.topics[h.topic],g,e;for(g=0,e=f.length;g<e;g++){if(f[g][0]===h.callback){f.splice(g,1)}}}}};function b(E,ae,M,V){if(typeof E==="undefined"){E="p"}else{E=E.toString().toLowerCase()}if(typeof ae==="undefined"){ae="mm"}if(typeof M==="undefined"){M="a4"}if(typeof V==="undefined"&&typeof zpipe==="undefined"){V=false}var at=M.toString().toLowerCase(),ao="0.9.0rc2",t=[],F=0,av=V,U="1.3",N={a3:[841.89,1190.55],a4:[595.28,841.89],a5:[420.94,595.28],letter:[612,792],legal:[612,1008]},ad="0 g",H="0 G",g=0,f=[],n=2,v=false,D=[],ai={},Q={},aj=16,d,z=0.200025,B,C,ak,O={title:"",subject:"",author:"",keywords:"",creator:""},R=0,T=0,P={},G=new a(P),af,aq,p=function(i){return i.toFixed(2)},o=function(i){return i.toFixed(3)},A=function(i){var k=(i).toFixed(0);if(i<10){return"0"+k}else{return k}},r=function(i){var k=(i).toFixed(0);if(k.length<10){return new Array(11-k.length).join("0")+k}else{return k}},ab=function(i){if(v){f[g].push(i)}else{t.push(i);F+=i.length+1}},w=function(){n++;D[n]=F;ab(n+" 0 obj");return n},K=function(i){ab("stream");ab(i);ab("endstream")},am,S,ap,al,aa=function(){am=C*ak;S=B*ak;var aB,aA,k,aw,ax,az,ay;for(aB=1;aB<=g;aB++){w();ab("<</Type /Page");ab("/Parent 1 0 R");ab("/Resources 2 0 R");ab("/Contents "+(n+1)+" 0 R>>");ab("endobj");aA=f[aB].join("\n");w();if(av){k=[];for(ax=0;ax<aA.length;++ax){k[ax]=aA.charCodeAt(ax)}ay=adler32cs.from(aA);az=new Deflater(6);az.append(new Uint8Array(k));aA=az.flush();k=[new Uint8Array([120,156]),new Uint8Array(aA),new Uint8Array([ay&255,(ay>>8)&255,(ay>>16)&255,(ay>>24)&255])];aA="";for(ax in k){if(k.hasOwnProperty(ax)){aA+=String.fromCharCode.apply(null,k[ax])}}ab("<</Length "+aA.length+" /Filter [/FlateDecode]>>")}else{ab("<</Length "+aA.length+">>")}K(aA);ab("endobj")}D[1]=F;ab("1 0 obj");ab("<</Type /Pages");ap="/Kids [";for(ax=0;ax<g;ax++){ap+=(3+2*ax)+" 0 R "}ab(ap+"]");ab("/Count "+g);ab("/MediaBox [0 0 "+p(am)+" "+p(S)+"]");ab(">>");ab("endobj")},X=function(i){i.objectNumber=w();ab("<</BaseFont/"+i.PostScriptName+"/Type/Font");if(typeof i.encoding==="string"){ab("/Encoding/"+i.encoding)}ab("/Subtype/Type1>>");ab("endobj")},J=function(){var i;for(i in ai){if(ai.hasOwnProperty(i)){X(ai[i])}}},L=function(){G.publish("putXobjectDict")},x=function(){ab("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");ab("/Font <<");var i;for(i in ai){if(ai.hasOwnProperty(i)){ab("/"+i+" "+ai[i].objectNumber+" 0 R")}}ab(">>");ab("/XObject <<");L();ab(">>")},h=function(){J();G.publish("putResources");D[2]=F;ab("2 0 obj");ab("<<");x();ab(">>");ab("endobj");G.publish("postPutResources")},m=function(aw,k,ax){var i;if(Q[k]===i){Q[k]={}}Q[k][ax]=aw},au={},u=function(i,ax,az,aw){var ay="F"+(c(ai)+1).toString(10),k=ai[ay]={id:ay,PostScriptName:i,fontName:ax,fontStyle:az,encoding:aw,metadata:{}};m(ay,ax,az);G.publish("addFont",k);return ay},e=function(){var k="helvetica",aG="times",aI="courier",aF="normal",aE="bold",aD="italic",aH="bolditalic",ax="StandardEncoding",aA=[["Helvetica",k,aF],["Helvetica-Bold",k,aE],["Helvetica-Oblique",k,aD],["Helvetica-BoldOblique",k,aH],["Courier",aI,aF],["Courier-Bold",aI,aE],["Courier-Oblique",aI,aD],["Courier-BoldOblique",aI,aH],["Times-Roman",aG,aF],["Times-Bold",aG,aE],["Times-Italic",aG,aD],["Times-BoldItalic",aG,aH]],aC,ay,aB,az;for(aC=0,ay=aA.length;aC<ay;aC++){var aw=ax;aB=u(aA[aC][0],aA[aC][1],aA[aC][2],aw);az=aA[aC][0].split("-");m(aB,az[0],az[1]||"")}G.publish("addFonts",{fonts:ai,dictionary:Q})},s=function(aG,ax){var aC,aA,az,ay,aE,aD,aw,aF,k,aB;if(ax===az){ax={}}ay=ax.sourceEncoding?ay:"Unicode";aD=ax.outputEncoding;if((ax.autoencode||aD)&&ai[d].metadata&&ai[d].metadata[ay]&&ai[d].metadata[ay].encoding){aE=ai[d].metadata[ay].encoding;if(!aD&&ai[d].encoding){aD=ai[d].encoding}if(!aD&&aE.codePages){aD=aE.codePages[0]}if(typeof aD==="string"){aD=aE[aD]}if(aD){aF=false;aw=[];for(aC=0,aA=aG.length;aC<aA;aC++){k=aD[aG.charCodeAt(aC)];if(k){aw.push(String.fromCharCode(k))}else{aw.push(aG[aC])}if(aw[aC].charCodeAt(0)>>8){aF=true}}aG=aw.join("")}}aC=aG.length;while(aF===az&&aC!==0){if(aG.charCodeAt(aC-1)>>8){aF=true}aC--}if(!aF){return aG}else{aw=ax.noBOM?[]:[254,255];for(aC=0,aA=aG.length;aC<aA;aC++){k=aG.charCodeAt(aC);aB=k>>8;if(aB>>8){throw new Error("Character at position "+aC.toString(10)+" of string '"+aG+"' exceeds 16bits. Cannot be encoded into UCS-2 BE")}aw.push(aB);aw.push(k-(aB<<8))}return String.fromCharCode.apply(az,aw)}},Z=function(k,i){return s(k,i).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Y=function(){ab("/Producer (pdfDataExport "+ao+")");if(O.title){ab("/Title ("+Z(O.title)+")")}if(O.subject){ab("/Subject ("+Z(O.subject)+")")}if(O.author){ab("/Author ("+Z(O.author)+")")}if(O.keywords){ab("/Keywords ("+Z(O.keywords)+")")}if(O.creator){ab("/Creator ("+Z(O.creator)+")")}var i=new Date();ab("/CreationDate (D:"+[i.getFullYear(),A(i.getMonth()+1),A(i.getDate()),A(i.getHours()),A(i.getMinutes()),A(i.getSeconds())].join("")+")")},W=function(){ab("/Type /Catalog");ab("/Pages 1 0 R");ab("/OpenAction [3 0 R /FitH null]");ab("/PageLayout /OneColumn");G.publish("putCatalog")},l=function(){ab("/Size "+(n+1));ab("/Root "+n+" 0 R");ab("/Info "+(n-1)+" 0 R")},ar=function(){g++;v=true;f[g]=[]},ah=function(){ar();ab(p(z*ak)+" w");ab(H);if(R!==0){ab(R.toString(10)+" J")}if(T!==0){ab(T.toString(10)+" j")}G.publish("addPage",{pageNumber:g})},y=function(aw,ay){var i,k;if(aw===k){aw=ai[d].fontName}if(ay===k){ay=ai[d].fontStyle}try{i=Q[aw][ay]}catch(ax){i=k}if(!i){throw new Error("Unable to look up font label for font '"+aw+"', '"+ay+"'. Refer to getFontList() for available fonts.")}return i},q=function(){v=false;t=[];D=[];ab("%PDF-"+U);aa();h();w();ab("<<");Y();ab(">>");ab("endobj");w();ab("<<");W();ab(">>");ab("endobj");var aw=F,k;ab("xref");ab("0 "+(n+1));ab("0000000000 65535 f ");for(k=1;k<=n;k++){ab(r(D[k])+" 00000 n ")}ab("trailer");ab("<<");l();ab(">>");ab("startxref");ab(aw);ab("%%EOF");v=true;return t.join("\n")},ac=function(i){var k="S";if(i==="F"){k="f"}else{if(i==="FD"||i==="DF"){k="B"}}return k},I=function(az,aw){var ay,aB,aA,aC,ax,k;switch(az){case ay:return q();case"save":if(navigator.getUserMedia){if(window.URL===undefined){return P.output("dataurlnewwindow")}else{if(window.URL.createObjectURL===undefined){return P.output("dataurlnewwindow")}}}aB=q();aA=aB.length;aC=new Uint8Array(new ArrayBuffer(aA));for(ax=0;ax<aA;ax++){aC[ax]=aB.charCodeAt(ax)}k=new Blob([aC],{type:"application/pdf"});saveAs(k,aw);break;case"datauristring":case"dataurlstring":return"data:application/pdf;base64,"+btoa(q());case"datauri":case"dataurl":document.location.href="data:application/pdf;base64,"+btoa(q());break;case"dataurlnewwindow":window.open("data:application/pdf;base64,"+btoa(q()));break;default:throw new Error('Output type "'+az+'" is not supported.')}};if(ae==="pt"){ak=1}else{if(ae==="mm"){ak=72/25.4}else{if(ae==="cm"){ak=72/2.54}else{if(ae==="in"){ak=72}else{throw ("Invalid unit: "+ae)}}}}if(N.hasOwnProperty(at)){B=N[at][1]/ak;C=N[at][0]/ak}else{try{B=M[1];C=M[0]}catch(an){throw ("Invalid format: "+M)}}if(E==="p"||E==="portrait"){E="p";if(C>B){af=C;C=B;B=af}}else{if(E==="l"||E==="landscape"){E="l";if(B>C){af=C;C=B;B=af}}else{throw ("Invalid orientation: "+E)}}P.internal={pdfEscape:Z,getStyle:ac,getFont:function(){return ai[y.apply(P,arguments)]},getFontSize:function(){return aj},btoa:btoa,write:function(i,ax,aw,k){ab(arguments.length===1?i:Array.prototype.join.call(arguments," "))},getCoordinateString:function(i){return p(i*ak)},getVerticalCoordinateString:function(i){return p((B-i)*ak)},collections:{},newObject:w,putStream:K,events:G,scaleFactor:ak,pageSize:{width:C,height:B},output:function(k,i){return I(k,i)}};P.addPage=function(){ah();return this};var ag=["","0","00","000","0000"];var j=function(aA,aw){var ax=["FEFF"];for(var az=0,k=aA.length,ay;az<k;++az){ay=aA.charCodeAt(az).toString(16).toUpperCase();ax.push(ag[4-ay.length],ay)}return ax.join("")};P.text16=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}aw.autoencode=false;if(typeof aF==="string"){aB=j(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=j(k[ay],aw)}aB=k.join("> Tj\nT* <")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n<"+aB+"> Tj\nET");return this};P.text=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}if(typeof aF==="string"){aB=Z(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=Z(k[ay],aw)}aB=k.join(") Tj\nT* (")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n("+aB+") Tj\nET");return this};P.line=function(k,ax,i,aw){ab(p(k*ak)+" "+p((B-ax)*ak)+" m "+p(i*ak)+" "+p((B-aw)*ak)+" l S");return this};P.lines=function(k,aF,aE,aO,aK){var ay,aM,aC,aD,aB,aA,aI,aG,aN,aL,az,aJ,ax,aH,aw;if(typeof k==="number"){aM=aE;aC=k;aD=aF;k=aM;aF=aC;aE=aD}aK=ac(aK);aO=aO===ay?[1,1]:aO;ab(o(aF*ak)+" "+o((B-aE)*ak)+" m ");aB=aO[0];aA=aO[1];aG=k.length;aH=aF;aw=aE;for(aI=0;aI<aG;aI++){aN=k[aI];if(aN.length===2){aH=aN[0]*aB+aH;aw=aN[1]*aA+aw;ab(o(aH*ak)+" "+o((B-aw)*ak)+" l")}else{aL=aN[0]*aB+aH;az=aN[1]*aA+aw;aJ=aN[2]*aB+aH;ax=aN[3]*aA+aw;aH=aN[4]*aB+aH;aw=aN[5]*aA+aw;ab(o(aL*ak)+" "+o((B-az)*ak)+" "+o(aJ*ak)+" "+o((B-ax)*ak)+" "+o(aH*ak)+" "+o((B-aw)*ak)+" c")}}ab(aK);return this};P.rect=function(i,az,k,ax,aw){var ay=ac(aw);ab([p(i*ak),p((B-az)*ak),p(k*ak),p(-ax*ak),"re",ay].join(" "));return this};P.triangle=function(ax,aA,k,ay,i,aw,az){this.lines([[k-ax,ay-aA],[i-k,aw-ay],[ax-i,aA-aw]],ax,aA,[1,1],az);return this};P.roundedRect=function(k,aB,aw,ay,aA,az,ax){var i=4/3*(Math.SQRT2-1);this.lines([[(aw-2*aA),0],[(aA*i),0,aA,az-(az*i),aA,az],[0,(ay-2*az)],[0,(az*i),-(aA*i),az,-aA,az],[(-aw+2*aA),0],[-(aA*i),0,-aA,-(az*i),-aA,-az],[0,(-ay+2*az)],[0,-(az*i),(aA*i),-az,aA,-az]],k+aA,aB,[1,1],ax);return this};P.ellipse=function(i,aB,az,ay,k){var aA=ac(k),ax=4/3*(Math.SQRT2-1)*az,aw=4/3*(Math.SQRT2-1)*ay;ab([p((i+az)*ak),p((B-aB)*ak),"m",p((i+az)*ak),p((B-(aB-aw))*ak),p((i+ax)*ak),p((B-(aB-ay))*ak),p(i*ak),p((B-(aB-ay))*ak),"c"].join(" "));ab([p((i-ax)*ak),p((B-(aB-ay))*ak),p((i-az)*ak),p((B-(aB-aw))*ak),p((i-az)*ak),p((B-aB)*ak),"c"].join(" "));ab([p((i-az)*ak),p((B-(aB+aw))*ak),p((i-ax)*ak),p((B-(aB+ay))*ak),p(i*ak),p((B-(aB+ay))*ak),"c"].join(" "));ab([p((i+ax)*ak),p((B-(aB+ay))*ak),p((i+az)*ak),p((B-(aB+aw))*ak),p((i+az)*ak),p((B-aB)*ak),"c",aA].join(" "));return this};P.circle=function(i,ax,aw,k){return this.ellipse(i,ax,aw,aw,k)};P.setProperties=function(i){var k;for(k in O){if(O.hasOwnProperty(k)&&i[k]){O[k]=i[k]}}return this};P.setFontSize=function(i){aj=i;return this};P.setFont=function(i,k){d=y(i,k);return this};P.setFontStyle=P.setFontType=function(k){var i;d=y(i,k);return this};P.getFontList=function(){var aw={},k,ax,i;for(k in Q){if(Q.hasOwnProperty(k)){aw[k]=i=[];for(ax in Q[k]){if(Q[k].hasOwnProperty(ax)){i.push(ax)}}}}return aw};P.setLineWidth=function(i){ab((i*ak).toFixed(2)+" w");return this};P.setDrawColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" G"}else{k=p(ay/255)+" G"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"RG"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"RG"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"K"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"K"].join(" ")}}}ab(k);return this};P.setFillColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" g"}else{k=p(ay/255)+" g"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"rg"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"rg"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"k"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"k"].join(" ")}}}ab(k);return this};P.setTextColor=function(aw,k,i){if((aw===0&&k===0&&i===0)||(typeof k==="undefined")){ad=o(aw/255)+" g"}else{ad=[o(aw/255),o(k/255),o(i/255),"rg"].join(" ")}return this};P.CapJoinStyles={0:0,butt:0,but:0,bevel:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,milter:2};P.setLineCap=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line cap style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}R=k;ab(k.toString(10)+" J");return this};P.setLineJoin=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line join style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}T=k;ab(k.toString(10)+" j");return this};P.output=I;P.save=function(i){P.output("save",i)};for(aq in b.API){if(b.API.hasOwnProperty(aq)){if(aq==="events"&&b.API.events.length){(function(ax,az){var ay,aw,k;for(k=az.length-1;k!==-1;k--){ay=az[k][0];aw=az[k][1];ax.subscribe.apply(ax,[ay].concat(typeof aw==="function"?[aw]:aw))}}(G,b.API.events))}else{P[aq]=b.API[aq]}}}e();d="F1";ah();G.publish("initialized");return P}b.API={events:[]};return b}());(function(i){var b=0,m=0,a,o,h,c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined},f=1,e=false,d=function(p,t,q,r,s){c={x:p,y:t,w:q,h:r,ln:s}},k=function(){return c},j=function(p){b=p},l=function(){return b},n=function(p){m=p},g=function(p){return m};i.getTextDimensions=function(p){a=this.internal.getFont().fontName;o=this.internal.getFontSize();h=this.internal.getFont().fontStyle;var s=0.264583*72/25.4,q,r;r=document.createElement("font");r.id="pdfDataExportCell";r.style.fontStyle=h;r.style.fontName=a;r.style.fontSize=o+"pt";r.innerHTML=p;document.body.appendChild(r);q={w:(r.offsetWidth+1)*s,h:(r.offsetHeight+1)*s};document.body.removeChild(r);return q};i.cellAddPage=function(){this.addPage();d(undefined,undefined,undefined,undefined,undefined);e=true;f+=1;n(1)};i.cellInitialize=function(){b=0;c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined};f=1;e=false;n(0)};i.cell=function(z,v,A,s,p,u){this.lnMod=this.lnMod===undefined?0:this.lnMod;if(this.printingHeaderRow!==true&&this.lnMod!==0){u=u+this.lnMod}if((((u*s)+v+(s*2))/f)>=this.internal.pageSize.height&&f===1&&!e){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}if(l()===0){j(Math.round((this.internal.pageSize.height-(s*2))/s))}}else{if(e&&k().ln!==u&&g()===l()){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}}}var B=k(),r=this.getTextDimensions(p),t=1;if(B.x!==undefined&&B.ln===u){z=B.x+B.w}if(B.y!==undefined&&B.y===v){v=B.y}if(B.h!==undefined&&B.h===s){s=B.h}if(B.ln!==undefined&&B.ln===u){u=B.ln;t=0}if(e){v=s*(g()+t)}else{v=(v+(s*Math.abs(l()*f-u-l())))}this.rect(z,v,A,s);var q=/[а-яА-ЯЁё]/.test(p);if(q){this.text16(p,z+3,v+s-3)}else{this.text(p,z+3,v+s-3)}n(g()+t);d(z,v,A,s,u);return this};i.getKeys=(typeof Object.keys==="function")?function(p){if(!p){return[]}return Object.keys(p)}:function(p){var q=[],r;for(r in p){if(p.hasOwnProperty(r)){q.push(r)}}return q};i.arrayMax=function(u,t){var p=u[0],q,s,r;for(q=0,s=u.length;q<s;q+=1){r=u[q];if(t){if(t(p,r)===-1){p=r}}else{if(r>p){p=r}}}return p};i.table=function(J,r,I){var v=[],p=[],D,z,B,x,E,y,G={},A={},u,s,H=[],C,F=[],t,q,w;this.lnMod=0;if(I){z=I.autoSize||false;B=this.printHeaders=I.printHeaders||true;x=I.autoStretch||true}if(!J){throw"No data for PDF table"}if(r===undefined||(r===null)){v=this.getKeys(J[0])}else{if(r[0]&&(typeof r[0]!=="string")){for(E=0,y=r.length;E<y;E+=1){D=r[E];v.push(D.name);p.push(D.prompt)}}else{v=r}}if(I.autoSize){w=function(K){return K[D]};for(E=0,y=v.length;E<y;E+=1){D=v[E];G[D]=J.map(w);H.push(this.getTextDimensions(p[E]||D).w);s=G[D];for(C=0,y=s.length;C<y;C+=1){u=s[C];H.push(this.getTextDimensions(u).w)}A[D]=i.arrayMax(H)}}if(I.printHeaders){for(E=0,y=v.length;E<y;E+=1){D=v[E];F.push([10,10,A[D],25,String(p.length?p[E]:D)])}this.setTableHeaderRow(F);this.printHeaderRow(1)}for(E=0,y=J.length;E<y;E+=1){t=J[E];for(C=0,q=v.length;C<q;C+=1){D=v[C];this.cell(10,10,A[D],25,String(t[D]),E+2)}}return this};i.setTableHeaderRow=function(p){this.tableHeaderRow=p};i.printHeaderRow=function(p){if(!this.tableHeaderRow){throw"Property tableHeaderRow does not exist."}var q,s,r,t;this.printingHeaderRow=true;for(r=0,t=this.tableHeaderRow.length;r<t;r+=1){q=this.tableHeaderRow[r];s=[].concat(q);this.cell.apply(this,s.concat(p))}this.printingHeaderRow=false}}(pdfDataExport.API));(function(c){var b=c.getCharWidthsArray=function(s,u){if(!u){u={}}var h=u.widths?u.widths:this.internal.getFont().metadata.Unicode.widths,r=h.fof?h.fof:1,n=u.kerning?u.kerning:this.internal.getFont().metadata.Unicode.kerning,p=n.fof?n.fof:1;var m,j,o,k,q=0,t=h[0]||r,g=[];for(m=0,j=s.length;m<j;m++){o=s.charCodeAt(m);g.push((h[o]||t)/r+(n[o]&&n[o][q]||0)/p);q=o}return g};var e=function(j){var h=j.length,g=0;while(h){h--;g+=j[h]}return g};var a=c.getStringUnitWidth=function(h,g){return e(b.call(this,h,g))};var d=function(g,n,h,j){var q=[];var m=0,k=g.length,p=0;while(m!==k&&p+n[m]<h){p+=n[m];m++}q.push(g.slice(0,m));var o=m;p=0;while(m!==k){if(p+n[m]>j){q.push(g.slice(o,m));p=0;o=m}p+=n[m];m++}if(o!==m){q.push(g.slice(o,m))}return q};var f=function(s,k,v){if(!v){v={}}var t=b(" ",v)[0];var r=s.split(" ");var w=[],x=[w],h=v.textIndent||0,u=0,p=0,g,q;var o,m,n;for(o=0,m=r.length;o<m;o++){g=r[o];q=b(g,v);p=e(q);if(h+u+p>k){if(p>k){n=d(g,q,k-(h+u),k);w.push(n.shift());w=[n.pop()];while(n.length){x.push([n.shift()])}p=e(q.slice(g.length-w[0].length))}else{w=[g]}x.push(w);h=p;u=t}else{w.push(g);h+=u+p;u=t}}var j=[];for(o=0,m=x.length;o<m;o++){j.push(x[o].join(" "))}return j};c.splitTextToSize=function(q,m,r){if(!r){r={}}var h=r.fontSize||this.internal.getFontSize(),g=(function(l){var t={0:1},i={};if(!l.widths||!l.kerning){var u=this.internal.getFont(l.fontName,l.fontStyle),s="Unicode";if(u.metadata[s]){return{widths:u.metadata[s].widths||t,kerning:u.metadata[s].kerning||i}}}else{return{widths:l.widths,kerning:l.kerning}}return{widths:t,kerning:i}}).call(this,r);var p;if(q.match(/[\n\r]/)){p=q.split(/\r\n|\r|\n/g)}else{p=[q]}var j=1*this.internal.scaleFactor*m/h;g.textIndent=r.textIndent?r.textIndent*1*this.internal.scaleFactor/h:0;var o,n,k=[];for(o=0,n=p.length;o<n;o++){k=k.concat(f(p[o],j,g))}return k}})(pdfDataExport.API);(function(c){var d="addImage_";var f=function(m){var l,h;if(!m.charCodeAt(0)===255||!m.charCodeAt(1)===216||!m.charCodeAt(2)===255||!m.charCodeAt(3)===224||!m.charCodeAt(6)==="J".charCodeAt(0)||!m.charCodeAt(7)==="F".charCodeAt(0)||!m.charCodeAt(8)==="I".charCodeAt(0)||!m.charCodeAt(9)==="F".charCodeAt(0)||!m.charCodeAt(10)===0){throw new Error("getJpegSize requires a binary jpeg file")}var j=m.charCodeAt(4)*256+m.charCodeAt(5);var k=4,g=m.length;while(k<g){k+=j;if(m.charCodeAt(k)!==255){throw new Error("getJpegSize could not find the size of the image")}if(m.charCodeAt(k+1)===192){h=m.charCodeAt(k+5)*256+m.charCodeAt(k+6);l=m.charCodeAt(k+7)*256+m.charCodeAt(k+8);return[l,h]}else{k+=2;j=m.charCodeAt(k)*256+m.charCodeAt(k+1)}}},b=function(g){var m=this.internal.newObject(),h=this.internal.write,l=this.internal.putStream;g.n=m;h("<</Type /XObject");h("/Subtype /Image");h("/Width "+g.w);h("/Height "+g.h);if(g.cs==="Indexed"){h("/ColorSpace [/Indexed /DeviceRGB "+(g.pal.length/3-1)+" "+(m+1)+" 0 R]")}else{h("/ColorSpace /"+g.cs);if(g.cs==="DeviceCMYK"){h("/Decode [1 0 1 0 1 0 1 0]")}}h("/BitsPerComponent "+g.bpc);if("f" in g){h("/Filter /"+g.f)}if("dp" in g){h("/DecodeParms <<"+g.dp+">>")}if("trns" in g&&g.trns.constructor==Array){var k="";for(var j=0;j<g.trns.length;j++){k+=(g[k][j]+" "+g.trns[j]+" ");h("/Mask ["+k+"]")}}if("smask" in g){h("/SMask "+(m+1)+" 0 R")}h("/Length "+g.data.length+">>");l(g.data);h("endobj")},e=function(){var g=this.internal.collections[d+"images"];for(var h in g){b.call(this,g[h])}},a=function(){var g=this.internal.collections[d+"images"],h=this.internal.write,k;for(var j in g){k=g[j];h("/I"+k.i,k.n,"0","R")}};c.addImage=function(g,s,q,p,t,l){if(typeof g==="object"&&g.nodeType===1){var j=document.createElement("canvas");j.width=g.clientWidth;j.height=g.clientHeight;var u=j.getContext("2d");if(!u){throw ("addImage requires canvas to be supported by browser.")}u.drawImage(g,0,0,j.width,j.height);g=j.toDataURL("image/jpeg");s="JPEG"}if(s.toUpperCase()!=="JPEG"){throw new Error("addImage currently only supports format 'JPEG', not '"+s+"'")}var i,n=this.internal.collections[d+"images"],m=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString;if(g.substring(0,23)==="data:image/jpeg;base64,"){g=atob(g.replace("data:image/jpeg;base64,",""))}if(n){i=Object.keys?Object.keys(n).length:(function(w){var h=0;for(var v in w){if(w.hasOwnProperty(v)){h++}}return h})(n)}else{i=0;this.internal.collections[d+"images"]=n={};this.internal.events.subscribe("putResources",e);this.internal.events.subscribe("putXobjectDict",a)}var r=f(g);var k={w:r[0],h:r[1],cs:"DeviceRGB",bpc:8,f:"DCTDecode",i:i,data:g};n[i]=k;if(!t&&!l){t=-96;l=-96}if(t<0){t=(-1)*k.w*72/t/this.internal.scaleFactor}if(l<0){l=(-1)*k.h*72/l/this.internal.scaleFactor}if(t===0){t=l*k.w/k.h}if(l===0){l=t*k.h/k.w}this.internal.write("q",m(t),"0 0",m(l),m(q),o(p+l),"cm /I"+k.i,"Do Q");return this}})(pdfDataExport.API);(function(a){var e=function(q){var w="0123456789abcdef",o="klmnopqrstuvwxyz",h={};for(var r=0;r<o.length;r++){h[o[r]]=w[r]}var p,m={},n=1,t,k=m,g=[],s,l="",u="",v,j=q.length-1,f;r=1;while(r!=j){f=q[r];r+=1;if(f=="'"){if(t){v=t.join("");t=p}else{t=[]}}else{if(t){t.push(f)}else{if(f=="{"){g.push([k,v]);k={};v=p}else{if(f=="}"){s=g.pop();s[0][s[1]]=k;v=p;k=s[0]}else{if(f=="-"){n=-1}else{if(v===p){if(h.hasOwnProperty(f)){l+=h[f];v=parseInt(l,16)*n;n=+1;l=""}else{l+=f}}else{if(h.hasOwnProperty(f)){u+=h[f];k[v]=parseInt(u,16)*n;n=+1;v=p;u=""}else{u+=f}}}}}}}}return m};var d={codePages:["WinAnsiEncoding"],WinAnsiEncoding:e("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")},c={Unicode:{Courier:d,"Courier-Bold":d,"Courier-BoldOblique":d,"Courier-Oblique":d,Helvetica:d,"Helvetica-Bold":d,"Helvetica-BoldOblique":d,"Helvetica-Oblique":d,"Times-Roman":d,"Times-Bold":d,"Times-BoldItalic":d,"Times-Italic":d}},b={Unicode:{"Courier-Oblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":e("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),Courier:e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-BoldOblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Bold":e("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),Helvetica:e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),"Helvetica-BoldOblique":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),"Courier-Bold":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Italic":e("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),"Times-Roman":e("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),"Helvetica-Oblique":e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")}};a.events.push(["addFonts",function(i){var f,g,h,k,j="Unicode",l;for(g in i.fonts){if(i.fonts.hasOwnProperty(g)){f=i.fonts[g];h=b[j][f.PostScriptName];if(h){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.widths=h.widths;k.kerning=h.kerning}l=c[j][f.PostScriptName];if(l){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.encoding=l;if(l.codePages&&l.codePages.length){f.encoding=l.codePages[0]}}}}}])})(pdfDataExport.API);var saveAs=window.jqxSaveAs=saveAs||(navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator))||(function(h){var r=h.document,l=function(){return h.URL||h.webkitURL||h},e=h.URL||h.webkitURL||h,n=$("<a></a>")[0],g="download" in n,j=function(t){var s=r.createEvent("MouseEvents");s.initMouseEvent("click",true,false,h,0,0,0,0,0,false,false,false,false,0,null);return t.dispatchEvent(s)},o=h.webkitRequestFileSystem,p=h.requestFileSystem||o||h.mozRequestFileSystem,m=function(s){(h.setImmediate||h.setTimeout)(function(){throw s},0)},c="application/octet-stream",k=0,b=[],i=function(){var t=b.length;while(t--){var s=b[t];if(typeof s==="string"){e.revokeObjectURL(s)}else{s.remove()}}b.length=0},q=function(t,s,w){s=[].concat(s);var v=s.length;while(v--){var x=t["on"+s[v]];if(typeof x==="function"){try{x.call(t,w||t)}catch(u){m(u)}}}},f=function(t,u){var v=this,B=t.type,E=false,x,w,s=function(){var F=l().createObjectURL(t);b.push(F);return F},A=function(){q(v,"writestart progress write writeend".split(" "))},D=function(){if(E||!x){x=s(t)}if(w){w.location.href=x}v.readyState=v.DONE;A()},z=function(F){return function(){if(v.readyState!==v.DONE){return F.apply(this,arguments)}}},y={create:true,exclusive:false},C;v.readyState=v.INIT;if(!u){u="download"}if(g){x=s(t);n.href=x;n.download=u;if(j(n)){v.readyState=v.DONE;A();return}}if(h.chrome&&B&&B!==c){C=t.slice||t.webkitSlice;t=C.call(t,0,t.size,c);E=true}if(o&&u!=="download"){u+=".download"}if(B===c||o){w=h}else{w=h.open()}if(!p){D();return}k+=t.size;p(h.TEMPORARY,k,z(function(F){F.root.getDirectory("saved",y,z(function(G){var H=function(){G.getFile(u,y,z(function(I){I.createWriter(z(function(J){J.onwriteend=function(K){w.location.href=I.toURL();b.push(I);v.readyState=v.DONE;q(v,"writeend",K)};J.onerror=function(){var K=J.error;if(K.code!==K.ABORT_ERR){D()}};"writestart progress write abort".split(" ").forEach(function(K){J["on"+K]=v["on"+K]});J.write(t);v.abort=function(){J.abort();v.readyState=v.DONE};v.readyState=v.WRITING}),D)}),D)};G.getFile(u,{create:false},z(function(I){I.remove();H()}),z(function(I){if(I.code===I.NOT_FOUND_ERR){H()}else{D()}}))}),D)}),D)},d=f.prototype,a=function(s,t){return new f(s,t)};d.abort=function(){var s=this;s.readyState=s.DONE;q(s,"abort")};d.readyState=d.INIT=0;d.WRITING=1;d.DONE=2;d.error=d.onwritestart=d.onprogress=d.onwrite=d.onabort=d.onerror=d.onwriteend=null;if(h.addEventListener){h.addEventListener("unload",i,false)}return a}(self));(function(a){var b="pdfDataExport IE Below 9 Shim plugin";a.output=function(e,d){return this.internal.output(e,d);var c="Output.pdf";switch(e){case"datauristring":case"dataurlstring":case"datauri":case"dataurl":case"dataurlnewwindow":if(console){console.log(b+": Data URIs are not supported on IE6-9.")}break;case"save":c=d;break}}})(pdfDataExport.API);
+(function(b){var a=(function(){var c={},u,q,j,l,g,h,o,p;function d(C,B,x,A,y,v,w){var z=this;if(!z){z=window.jqx}z.hierarchy=y;z.exportFormat=v;z.filename=w;C.beginFile(w);n(C);k(C);C.endFile(w);return C.getFile()}function n(z){var x=true;b.each(q,function(){if(this.hidden){x=false;return false}});z.beginHeader(x);var w=0;for(var v in q){if(q[v].columnsDataFields){v=q[v].columnsDataFields[w].displayfield}var y=m(v,q[v]);z.appendHeaderCell(q[v],v,y,x,w);w++}z.endHeader(x)}function k(y){var x=this;if(!x){x=window.jqx}y.beginBody();if(x.hierarchy){var w=function(A){for(var z=0;z<A.length;z+=1){if(A[z]!==undefined){y.hierarchy=true;y.beginRow(A[z].level);e(y,A[z],z,true);if(A[z].records){y.beginRows(A[z].level);w(A[z].records);y.endRows(A[z].level)}y.endRow(A[z].level)}}};w(u);y.endBody();return}for(var v=0;v<u.length;v+=1){if(u[v]!==undefined){e(y,u[v],v)}}y.endBody()}function e(x,A,y,D){var C=this;if(!C){C=window.jqx}var w;if(D!=true){x.beginRow()}var B=0;for(var z in q){if(q[z].columnsDataFields){z=q[z].columnsDataFields[B].displayfield}w=s(y,z);if(w){if(w.level!=undefined){if(w.index-1>A.level&&w.index-1<w.maxLevel){B++;continue}}if(w.maxLevel!=undefined){if(w.index-1==w.maxLevel){w=b.extend({},w);w.merge=w.maxLevel-A.level-1}}}if(A.level!=undefined&&A.label!=undefined){if(C.exportFormat==="xml"||C.exportFormat==="json"){var v={};v.text="group";x.appendBodyCell(A.label,v,w,A,B,"group");break}}if(A.hasOwnProperty(z)){x.appendBodyCell(A[z],q[z],w,A,B)}else{x.appendBodyCell("",q[z],w,A,B)}B++}if(D!=true){x.endRow()}}function m(w,x){if(x.style){return j[x.style]}var v=t();if(v.length>0){return v[0].style}return null}function t(){if(!g){g=new Array();b.each(j,function(v,w){g[g.length]={name:v,style:w}})}return g}function s(A,z){var B=q[z];if(B){if(B.customCellStyles){var x=B.customCellStyles[A];if(x){return j[x]}}if(B.cellStyle){if(B.cellAltStyle){var w=A%2;if(w==0){return j[B.cellStyle]}return j[B.cellAltStyle]}return j[B.cellStyle]}else{var v=t();if(v.length>0){var w=A%(v.length-1);var y=v[w+1].style;return y}}}return null}function r(y,w,x){var v=document.createElement("input");v.name=w;v.value=y;v.type="hidden";x.appendChild(v);return v}function f(x,v,w){var y=document.createElement("textarea");y.name=v;y.value=x;w.appendChild(y);return y}function i(w,z,y,v,A){var x=document.createElement("form");r(w,"filename",x);r(z,"format",x);f(y,"content",x);if(v==undefined||v==""){if(window&&window.location.toString().indexOf("jqwidgets.com")>=0){v="https://jqwidgets.com/export_server/dataexport.php"}else{v="http://jquerygrid.net/export_server/dataexport.php"}}x.action=v;x.method="post";if(A){x.acceptCharset=A}document.body.appendChild(x);return x}l=function(A,y,x,w,z,v){if(!(this instanceof a)){return new a(A,y,x,z,v)}u=A;q=y;j=x;this.exportTo=function(K,H,G,B){K=K.toString().toLowerCase();var D=c[K];if(typeof D==="undefined"){throw"You can't export to "+K+" format."}if(K==="pdf"&&B==undefined){var M=this.exportTo(K,H,K,"pdf");if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var L=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);L.cellInitialize();var J=b(M).find("th");var I=b(M).find("tr");var N=0;L.setFontSize(13*72/96);var F=595;switch(b.jqx.pdfExport.paperSize){case"legal":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=1008}break;case"letter":var F=612;if(b.jqx.pdfExport.orientation!=="portrait"){F=792}break;case"a3":var F=841;if(b.jqx.pdfExport.orientation!=="portrait"){F=1190}break;case"a4":var F=595;if(b.jqx.pdfExport.orientation!=="portrait"){F=842}break;case"a5":var F=420;if(b.jqx.pdfExport.orientation!=="portrait"){F=595}break}F-=20;var E=0;var C=[];b.each(J,function(O){var P=parseInt(this.style.width);if(isNaN(P)){P=25}var Q=P*72/96;C[O]=Q;E+=Q});if(J.length===0){b.each(I[0].cells,function(O){var P=parseInt(this.style.width);if(isNaN(P)){P=F/I[0].cells.length}var Q=P*72/96;C[O]=Q;E+=Q})}if(E>F){b.each(C,function(O){C[O]=(C[O]/E)*100;C[O]=C[O]*F/100})}b.each(J,function(P){var T=C[P];var S=25*72/96;var R=L.getTextDimensions(b(this).html());var Q=b(this).html();if(R.w+3>T){var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U.length>3){Q=U.substring(0,U.length-3)+"..."}else{Q=U.substring(0,1)+"..."}var O=L.splitTextToSize(Q,T-3);var U=O[0];if(U!=Q){Q=U}}L.cell(10,10,T,S,Q,N)});N++;b.each(I,function(V){if(V===0){return true}var P=b(this).children();var Q=P.length>J.length&&J.length>0;if(Q){var Y=P.length-J.length;var Z="";var X=C[0];var U=25*72/96;for(var R=0;R<=Y;R++){var O=P[R].innerHTML;if(O==="+"||O==="-"){O=O+" "}if(O==="&nbsp;"){O="   "}Z+=O}var T=L.getTextDimensions(Z);if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N);for(var R=Y+1;R<P.length;R++){var V=R-Y;var X=C[V];var U=25*72/96;var Z=b(P[R]).html();var T=L.getTextDimensions(b(P[R]).html());if(T.w+3>X){var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S.length>3){Z=S.substring(0,S.length-3)+"..."}else{Z=S.substring(0,1)+"..."}var W=L.splitTextToSize(Z,X-3);var S=W[0];if(S!=Z){Z=S}}L.cell(10,10,X,U,Z,N)}N++;return true}b.each(P,function(ab){var af=C[ab];var ae=25*72/96;var ad=b(this).html();var ac=L.getTextDimensions(b(this).html());if(ac.w+3>af){var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag.length>3){ad=ag.substring(0,ag.length-3)+"..."}else{ad=ag.substring(0,1)+"..."}var aa=L.splitTextToSize(ad,af-3);var ag=aa[0];if(ag!=ad){ad=ag}}L.cell(10,10,af,ae,ad,N)});N++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}return L}return d(D,u,q,j,H,G,B)};this.exportToFile=function(L,B,O,F,I){if(L==="pdf"){var N=this.exportTo(L,I,L,B);if(!b.jqx.pdfExport){b.jqx.pdfExport={orientation:"portrait",paperSize:"a4"}}var M=new pdfDataExport(b.jqx.pdfExport.orientation,"pt",b.jqx.pdfExport.paperSize);if(F=="utf-8"||F=="UTF-8"){M.setFont("courier","normal")}M.cellInitialize();var K=b(N).find("th");var J=b(N).find("tr");var P=0;M.setFontSize(13*72/96);var G=595;switch(b.jqx.pdfExport.paperSize){case"legal":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=1008}break;case"letter":var G=612;if(b.jqx.pdfExport.orientation!=="portrait"){G=792}break;case"a3":var G=841;if(b.jqx.pdfExport.orientation!=="portrait"){G=1190}break;case"a4":var G=595;if(b.jqx.pdfExport.orientation!=="portrait"){G=842}break;case"a5":var G=420;if(b.jqx.pdfExport.orientation!=="portrait"){G=595}break}G-=20;var E=0;var C=[];b.each(K,function(Q){var R=parseInt(this.style.width);if(isNaN(R)){R=25}var S=R*72/96;C[Q]=S;E+=S});if(K.length===0){b.each(J[0].cells,function(Q){var R=parseInt(this.style.width);if(isNaN(R)){R=G/J[0].cells.length}var S=R*72/96;C[Q]=S;E+=S})}if(E>G){b.each(C,function(Q){C[Q]=(C[Q]/E)*100;C[Q]=C[Q]*G/100})}b.each(K,function(R){var V=C[R];var U=25*72/96;var T=M.getTextDimensions(b(this).html());var S=b(this).html();if(T.w+3>V){var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W.length>3){S=W.substring(0,W.length-3)+"..."}else{S=W.substring(0,1)+"..."}var Q=M.splitTextToSize(S,V-3);var W=Q[0];if(W!=S){S=W}}M.cell(10,10,V,U,S,P)});P++;b.each(J,function(X){if(X===0){return true}var R=b(this).children();var S=R.length>K.length&&K.length>0;if(S){var aa=R.length-K.length;var ab="";var Z=C[0];var W=25*72/96;for(var T=0;T<=aa;T++){var Q=R[T].innerHTML;if(Q==="+"||Q==="-"){Q=Q+" "}if(Q==="&nbsp;"){Q="   "}ab+=Q}var V=M.getTextDimensions(ab);if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P);for(var T=aa+1;T<R.length;T++){var X=T-aa;var Z=C[X];var W=25*72/96;var ab=b(R[T]).html();if(ab==="&nbsp;"){ab="   "}var V=M.getTextDimensions(b(R[T]).html());if(V.w+3>Z){var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U.length>3){ab=U.substring(0,U.length-3)+"..."}else{ab=U.substring(0,1)+"..."}var Y=M.splitTextToSize(ab,Z-3);var U=Y[0];if(U!=ab){ab=U}}M.cell(10,10,Z,W,ab,P)}P++;return true}b.each(R,function(ad){var ah=C[ad];var ag=25*72/96;var af=b(this).html();if(af==="&nbsp;"){af="   "}var ae=M.getTextDimensions(b(this).html());if(ae.w+3>ah){var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai.length>3){af=ai.substring(0,ai.length-3)+"..."}else{af=ai.substring(0,1)+"..."}var ac=M.splitTextToSize(af,ah-3);var ai=ac[0];if(ai!=af){af=ai}}M.cell(10,10,ah,ag,af,P)});P++});if(b.jqx.browser.msie&&b.jqx.browser.version<10){throw new Error("PDF export requires a browser with HTML5 support");return}M.save(B+".pdf");return}var H=this.exportTo(L,I,L,B),D=i(B,L,H,O,F);D.submit();document.body.removeChild(D)};this.exportToLocalFile=function(F,C,D,B){var E=this.exportTo(F,D,B);document.location.href="data:application/octet-stream;filename="+C+","+encodeURIComponent(E)}};l.extend=function(v,w){if(w instanceof b.jqx.dataAdapter.DataExportModuleBase){c[v]=w}else{throw"The module "+v+" is not instance of DataExportModuleBase."}};return l}());b.jqx.dataAdapter.ArrayExporter=a})(jqxBaseFramework);(function(b){var a=function(){this.formatData=function(f,e,c,h){if(e==="date"){var d="";if(typeof f==="string"){d=b.jqx.dataFormat.tryparsedate(f);f=d}if(f===""||f===null){return""}d=b.jqx.dataFormat.formatdate(f,c,h);if((d&&d.toString()=="NaN")||d==null){return""}f=d}else{if(e==="number"||e==="float"||e==="int"||e=="integer"){if(f===""||f===null){return""}if(!isNaN(new Number(f))){var g=b.jqx.dataFormat.formatnumber(f,c,h);if(g.toString()=="NaN"){return""}else{f=g}}}else{f=f}}if(f===null){return""}return f};this.getFormat=function(f){var c=f?f.formatString:"";var e=f?f.localization:"";var d="string";d=f?f.type:"string";if(d=="number"||d=="float"){if(!c){c="f2"}}if(d=="int"||d=="integer"){if(!c){c="n0"}}if(d=="date"){if(!c){c="d"}}return{type:d,formatString:c,localization:e}};this.beginFile=function(){throw"Not implemented!"};this.beginHeader=function(){throw"Not implemented!"};this.appendHeaderCell=function(){throw"Not implemented!"};this.endHeader=function(){throw"Not implemented!"};this.beginBody=function(){throw"Not implemented!"};this.beginRow=function(){throw"Not implemented!"};this.beginRows=function(){throw"Not implemented!"};this.endRows=function(){throw"Not implemented!"};this.appendBodyCell=function(){throw"Not implemented!"};this.endRow=function(){throw"Not implemented!"};this.endBody=function(){throw"Not implemented!"};this.endFile=function(){throw"Not implemented!"};this.getFile=function(){throw"Not implemented!"}};b.jqx.dataAdapter.DataExportModuleBase=a})(jqxBaseFramework);(function(d){var c=function(j){var e,h,g;var l=0;var i=this;this.beginFile=function(){e=""};this.beginHeader=function(){};this.appendHeaderCell=function(q,r,p,m,n){if(p){if(p.level!=undefined){if(n<p.maxLevel){return}else{if(n===p.maxLevel){if(m){k(q.text)}for(var o=0;o<p.maxLevel;o++){k("")}return}}}}g=m;if(m){k(q.text)}};this.endHeader=function(){this.endRow()};this.beginBody=function(){l=0};this.beginRow=function(){if((l>0)||(l==0&&g)){e+="\n"}l++};this.appendBodyCell=function(q,m,p,r,n){if(p){if(p.maxLevel!=undefined){if(n===p.maxLevel){k(q,m);for(var o=0;o<p.maxLevel-r.level-1;o++){k("",m)}return}}}k(q,m)};this.endRow=function(){e=e.substring(0,e.length-1)};this.endBody=function(){};this.endFile=function(){};this.getFile=function(){return e};function f(m,o){if(o){var n=i.getFormat(o);m=i.formatData(m,n.type,n.formatString,n.localization)}m='"'+m+'"';return m}function k(m,n){m=f(m,n);e+=m+j}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var a=function(){};a.prototype=new c(",");var b=function(){};b.prototype=new c("\t");d.jqx.dataAdapter.ArrayExporter.extend("csv",new a());d.jqx.dataAdapter.ArrayExporter.extend("tsv",new b())})(jqxBaseFramework);(function(d){var a=function(){var i=false;var g;var h;var j=0;this.setPDF=function(){i=true};this.beginFile=function(k){if(i||k==undefined){g='<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}else{g='<html>\n\t<head>\n\t\t<title></title>\n\t\t<meta http-equiv=Content-type content="text/html; charset=UTF-8">\n\t</head>\n\t<body>\n\t\t<table style="empty-cells: show;" cellspacing="0" cellpadding="2">'}};this.beginHeader=function(){if(i){g+="\n\t<thead><tr>"}else{g+="\n\t\t\t<thead>"}};this.appendHeaderCell=function(m,n,l,k){h=k;if(!k){return}if(i){g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}else{if(l.disabled){return}if(l.merge){if(m.width){g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+="\n\t\t\t\t<th colspan="+(1+l.merge)+' style="'+f(l)+'">'+m.text+"</th>"}}else{if(m.width){g+='\n\t\t\t\t<th style="width: '+m.width+"px; "+f(l)+'">'+m.text+"</th>"}else{g+='\n\t\t\t\t<th style="'+f(l)+'">'+m.text+"</th>"}}}};this.endHeader=function(){if(i){g+="\n\t</tr></thead>"}else{g+="\n\t\t\t</thead>"}};this.beginBody=function(){if(i){g+="\n\t<tbody>"}else{g+="\n\t\t\t<tbody>"}j=0};this.beginRow=function(){if(i){g+="\n\t<tr>"}else{g+="\n\t\t\t\t<tr>"}j++};this.appendBodyCell=function(l,n,k){var m=this.getFormat(n);if(l===""){l="&nbsp;"}if(i){if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(k.merge){if(j==1&&!h){g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+="\n\t\t\t\t\t<td colspan="+(1+k.merge)+' style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}else{if(j==1&&!h){g+='\n\t\t\t\t\t<td style="'+f(k)+' border-top-width: 1px;">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}else{g+='\n\t\t\t\t\t<td style="'+f(k)+'">'+this.formatData(l,m.type,m.formatString,m.localization)+"</td>"}}}};this.endRow=function(){if(i){g+="\n\t</tr>"}else{g+="\n\t\t\t\t</tr>"}};this.endBody=function(){if(i){g+="\n\t</tbody>"}else{g+="\n\t\t\t</tbody>"}};this.endFile=function(k){if(i||k==undefined){g+="\n</table>"}else{g+="\n\t\t</table>\n\t</body>\n</html>\n"}};this.getFile=function(){return g};function f(m){var k="";for(var l in m){if(m.hasOwnProperty(l)){if(i&&l=="font-size"){m[l]="100%"}k+=l+":"+m[l]+";"}}return k}};a.prototype=new d.jqx.dataAdapter.DataExportModuleBase();var e=function(){};e.prototype=new a();var c=function(){};c.prototype=new a();var b=new c();d.jqx.dataAdapter.ArrayExporter.extend("html",new e());d.jqx.dataAdapter.ArrayExporter.extend("pdf",b)})(jqxBaseFramework);(function(b){var a=function(){var h,l,d,i,c,j,m={style:"",stylesMap:{font:{color:"Color","font-family":"FontName","font-style":"Italic","font-weight":"Bold"},interior:{"background-color":"Color",background:"Color"},alignment:{left:"Left",center:"Center",right:"Right"}},startStyle:function(p){this.style+='\n\t\t<Style ss:ID="'+p+'" ss:Name="'+p+'">'},buildAlignment:function(q){if(q["text-align"]){var r=this.stylesMap.alignment[q["text-align"]];if(!r){r="Left"}var p='\n\t\t\t<Alignment ss:Vertical="Bottom" ss:Horizontal="'+r+'"/>';this.style+=p}},buildBorder:function(s){if(s["border-color"]){var r="\n\t\t\t<Borders>";var u='\n\t\t\t\t<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var p='\n\t\t\t\t<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var q='\n\t\t\t\t<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';var t='\n\t\t\t\t<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1" ss:Color="'+s["border-color"]+'"/>';r+=u;r+=p;r+=q;r+=t;r+="\n\t\t\t</Borders>";this.style+=r}},buildFont:function(q){var r=this.stylesMap.font,p="\n\t\t\t<Font ";for(var s in r){if(typeof q[s]!=="undefined"){if(s==="font-style"&&q[s].toString().toLowerCase()==="italic"){p+='ss:Italic="1" '}else{if(s==="font-weight"&&q[s].toString().toLowerCase()==="bold"){p+='ss:Bold="1" '}else{if(s==="color"){p+="ss:"+r[s]+'="'+q[s]+'" '}}}}}p+="/>";this.style+=p},buildInterior:function(q){var r=this.stylesMap.interior,t="\n\t\t\t<Interior ";var p=false;for(var s in r){if(typeof q[s]!=="undefined"){t+="ss:"+r[s]+'="'+q[s]+'" ';p=true}}if(p){t+='ss:Pattern="Solid"'}t+="/>";this.style+=t},buildFormat:function(q){if(q.dataType=="number"||q.dataType=="float"||q.dataType=="int"||q.dataType=="integer"){var p=q.formatString;if(p==""||p.indexOf("n")!=-1||p.indexOf("N")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="0"/>'}else{if(p=="f"||p=="F"||p=="D"||p.indexOf("d")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="#,##0.00_);[Red](#,##0.00)"/>'}else{if(p.indexOf("p")!=-1||p.indexOf("P")!=-1){this.style+='\n\t\t\t<NumberFormat ss:Format="Percent"/>'}else{if(p.indexOf("c")!=-1||p.indexOf("C")!=-1){if(q.currencysymbol&&parseInt(q.currencysymbol.charCodeAt(0))==8364){this.style+='\n\t\t\t<NumberFormat ss:Format="Euro Currency"/>'}else{this.style+='\n\t\t\t<NumberFormat ss:Format="Currency"/>'}}}}}}else{if(q.dataType=="date"){this.style+='\n\t\t\t<NumberFormat ss:Format="Short Date"/>'}}},closeStyle:function(){this.style+="\n\t\t</Style>"},toString:function(){var p=this.style;this.style="";return p}};this.beginFile=function(){c={};j=0;h='<?xml version="1.0"?>\n\t<?mso-application progid="Excel.Sheet"?> \n\t<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:o="urn:schemas-microsoft-com:office:office" \n\txmlns:x="urn:schemas-microsoft-com:office:excel" \n\txmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" \n\txmlns:html="http://www.w3.org/TR/REC-html40"> \n\t<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> \n\t<Version>12.00</Version> \n\t</DocumentProperties> \n\t<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> \n\t<WindowHeight>8130</WindowHeight> \n\t<WindowWidth>15135</WindowWidth> \n\t<WindowTopX>120</WindowTopX> \n\t<WindowTopY>45</WindowTopY> \n\t<ProtectStructure>False</ProtectStructure> \n\t<ProtectWindows>False</ProtectWindows> \n\t</ExcelWorkbook> \n\t<Styles>'};this.beginHeader=function(){l='\n\t<Worksheet ss:Name="Sheet1">\n\t\t<Table>';d=[];i=[]};this.appendHeaderCell=function(r,s,q){var p=r.width!=undefined?r.width:r.text.length*10;l+='\n\t\t\t<Column ss:Width="'+p+'"/>';d.push(r);i.push(q)};this.endHeader=function(p){if(p){this.beginRow();for(var q=0;q<d.length;q+=1){if(i[q].disabled){continue}g.call(this,d[q]["text"],null,i[q])}this.endRow()}};this.beginBody=function(){};this.beginRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="<Row>";return}l+="\n\t\t\t<Row>"};this.beginRows=function(p){l+="\n\t\t\t\t<Rows>"};this.appendBodyCell=function(r,p,q,s){g.call(this,r,p,q,s)};this.endRow=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Row>";return}l+="\n\t\t\t</Row>"};this.endRows=function(q){if(q!=undefined){l+="\n\t\t\t";for(var p=0;p<q;p++){l+="\t"}l+="</Rows>";return}};this.endBody=function(){l+="\n\t\t</Table>"};this.endFile=function(){l+="\n\t</Worksheet>\n</Workbook>";h+="\n\t</Styles>"};this.getFile=function(){return h+l};function g(t,w,s,v){var r="String";var u=this.getFormat(w);if(t!=null&&t.toString().substring(0,3)=="_AG"){t=t.toString().substring(3);r="String"}else{if(u.type=="date"){var q=t;t=this.formatData(t,u.type,u.formatString,u.localization);if(t===null||t===""){t="";r="String"}else{t=q.toISOString();r="DateTime"}}if(u.type=="string"){if(t===null||t===undefined){t=""}else{if(t.toString().indexOf("&")>=0){t=t.toString().replace(/&/g,"&amp;")}if(t.toString().indexOf(">")>=0){t=t.toString().replace(/>/g,"&gt;")}if(t.toString().indexOf("<")>=0){t=t.toString().replace(/</g,"&lt;")}if(t.toString().indexOf('"')>=0){t=t.toString().replace(/"/g,"&quot;")}if(t.toString().indexOf("'")>=0){t=t.toString().replace(/'/g,"&apos;")}}}if(s.dataType=="number"||s.dataType=="float"||s.dataType=="int"||s.dataType=="integer"){r="Number";t=parseFloat(t);if(t===null||isNaN(t)||t===""){t="";r="String"}if(t&&r!="String"&&t!=""){if(w&&w.formatString&&w.formatString.indexOf("p")>=0){t=t/100}}s.currencysymbol=w.localization.currencysymbol}}var p=f(s);if(s.merge){l+='\n\t\t\t\t<Cell ss:MergeAcross="'+s.merge+'" ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}else{l+='\n\t\t\t\t<Cell ss:StyleID="'+p+'"><Data ss:Type="'+r+'">'+t+"</Data></Cell>"}}function n(){j+=1;return"xls-style-"+j}function k(q){for(var p in c){if(o(q,c[p])&&o(c[p],q)){return p}}return undefined}function o(t,q){var s=true;for(var r in t){if(t[r]!==q[r]){s=false}}return s}function e(q,p){m.startStyle(q);m.buildAlignment(p);m.buildBorder(p);m.buildFont(p);m.buildInterior(p);m.buildFormat(p);m.closeStyle();h+=m.toString()}function f(p){if(!p){return""}var q=k(p);if(typeof q==="undefined"){q=n();c[q]=p;e(q,p)}return q}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xls",new a())})(jqxBaseFramework);(function(b){var a=function(){var e,c,d;this.beginFile=function(){e='<?xml version="1.0" encoding="UTF-8" ?>';e+="\n<table>"};this.beginHeader=function(){c=[]};this.appendHeaderCell=function(f,g){c.push(g)};this.endHeader=function(){};this.beginBody=function(g,f){};this.beginRow=function(h){var g=this;if(!g){g=window.jqx}if(h!=undefined){if(g.hierarchy){e+="\n\t";for(var f=0;f<h;f++){e+="\t\t"}e+="<row>";d=0;return}}e+="\n\t<row>";d=0};this.beginRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="<rows>";d=0;return}e+="\n\t\t<rows>"};this.appendBodyCell=function(h,n,f,o,j,m){var k=this;if(!k){k=window.jqx}var l=this.getFormat(n);h=this.formatData(h,l.type,l.formatString,l.localization);if(l.type=="string"){if(h.toString().indexOf("&")>=0){h=h.toString().replace(/&/g,"&amp;")}if(h.toString().indexOf(">")>=0){h=h.toString().replace(/>/g,"&gt;")}if(h.toString().indexOf("<")>=0){h=h.toString().replace(/</g,"&lt;")}if(h.toString().indexOf('"')>=0){h=h.toString().replace(/"/g,"&quot;")}if(h.toString().indexOf("'")>=0){h=h.toString().replace(/'/g,"&apos;")}}if(o.level!=undefined){if(k.hierarchy){e+="\n\t\t";for(var g=0;g<o.level;g++){e+="\t\t"}if(m===undefined){e+="<"+c[d]+">"+h+"</"+c[d]+">"}else{e+="<"+m+">"+h+"</"+m+">"}}else{if(m!=undefined){e+="\n\t\t<"+m+">"+h+"</"+m+">"}else{e+="\n\t\t<"+c[d]+">"+h+"</"+c[d]+">"}}}else{e+="\n\t\t<"+c[d]+">"+h+"</"+c[d]+">"}d++};this.endRow=function(h){var g=this;if(!g){g=window.jqx}if(h!=undefined){if(g.hierarchy){e+="\n\t";for(var f=0;f<h;f++){e+="\t\t"}e+="</row>";d=0;return}}e+="\n\t</row>";d=0};this.endRows=function(g){if(g!=undefined){e+="\n\t\t";for(var f=0;f<g;f++){e+="\t\t"}e+="</rows>";d=0;return}e+="\n\t\t</rows>"};this.endBody=function(){};this.endFile=function(){e+="\n</table>"};this.getFile=function(){return e}};a.prototype=new b.jqx.dataAdapter.DataExportModuleBase();b.jqx.dataAdapter.ArrayExporter.extend("xml",new a())})(jqxBaseFramework);(function(d){var j=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,l={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function a(n){return'"'+n.replace(j,function(o){var p=l[o];return typeof p==="string"?p:"\\u"+("0000"+o.charCodeAt(0).toString(16)).slice(-4)})+'"'}function b(o){return o<10?"0"+o:o}function e(o){var n;if(isFinite(o.valueOf())){n=o.getUTCFullYear()+"-"+b(o.getUTCMonth()+1)+"-"+b(o.getUTCDate())+"T"+b(o.getUTCHours())+":"+b(o.getUTCMinutes())+":"+b(o.getUTCSeconds())+'Z"'}else{n="null"}return n}function g(q){var n=q.length,o=[],p;for(p=0;p<n;p++){o.push(h(p,q)||"null")}return"["+o.join(",")+"]"}function m(q){var o=[],p,n;for(p in q){if(Object.prototype.hasOwnProperty.call(q,p)){n=h(p,q);if(n){o.push(a(p)+":"+n)}}}return"{"+o.join(",")+"}"}function i(n){switch(Object.prototype.toString.call(n)){case"[object Date]":return e(n);case"[object Array]":return g(n)}return m(n)}function k(o,n){switch(n){case"string":return a(o);case"number":case"float":case"integer":case"int":return isFinite(o)?o:"null";case"boolean":return o}return"null"}function h(o,n){var q=n[o],p=typeof q;if(q&&typeof q==="object"&&typeof q.toJSON==="function"){q=q.toJSON(o);p=typeof q}if(/(number|float|int|integer|string|boolean)/.test(p)||(!q&&p==="object")){return k(q,p)}else{return i(q)}}function f(n){if(window.JSON&&typeof window.JSON.stringify==="function"){return window.JSON.stringify(n)}return h("",{"":n})}var c=function(){var q=this;this.prepareData=function(t,v){if(v){var u=q.getFormat(v);t=q.formatData(t,u.type,u.formatString,u.localization)}return t};var n,p,r,o=[],s=0;this.beginFile=function(){p=[]};this.beginHeader=function(){};this.appendHeaderCell=function(t){};this.endHeader=function(){};this.beginBody=function(u,t){};this.beginRow=function(){var t=this;if(!t){t=window.jqx}if(t.hierarchy||window.jqx.hierarchy){o[s]={}}else{r={}}};this.beginRows=function(){o[s].rows=[];s++;o[s]={}};this.endRows=function(){s--};this.appendBodyCell=function(v,t){var u=this;if(!u){u=window.jqx}var w=this.prepareData(v,t);if(u.hierarchy||window.jqx.hierarchy){o[s][t.text]=w}else{r[t.text]=w}};this.endRow=function(){var t=this;if(!t){t=window.jqx}if(t.hierarchy||window.jqx.hierarchy){if(s==0){p.push(o[s])}else{o[s-1].rows.push(o[s])}}else{p.push(r)}};this.endBody=function(){};this.endFile=function(){n=f(p)};this.getFile=function(){return n}};c.prototype=new d.jqx.dataAdapter.DataExportModuleBase();d.jqx.dataAdapter.ArrayExporter.extend("json",new c())})(jqxBaseFramework);var pdfDataExport=window.jqxPdfDataExport=(function(){if(typeof btoa==="undefined"){window.btoa=function(m){var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s=h.split(""),g,f,e,q,p,o,n,t,l=0,u=0,k="",j=[],d;do{g=m.charCodeAt(l++);f=m.charCodeAt(l++);e=m.charCodeAt(l++);t=g<<16|f<<8|e;q=t>>18&63;p=t>>12&63;o=t>>6&63;n=t&63;j[u++]=s[q]+s[p]+s[o]+s[n]}while(l<m.length);k=j.join("");d=m.length%3;return(d?k.slice(0,d-3):k)+"===".slice(d||3)}}if(typeof atob==="undefined"){window.atob=function(l){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",f,e,d,p,o,n,m,q,k=0,r=0,h="",j=[];if(!l){return l}l+="";do{p=g.indexOf(l.charAt(k++));o=g.indexOf(l.charAt(k++));n=g.indexOf(l.charAt(k++));m=g.indexOf(l.charAt(k++));q=p<<18|o<<12|n<<6|m;f=q>>16&255;e=q>>8&255;d=q&255;if(n===64){j[r++]=String.fromCharCode(f)}else{if(m===64){j[r++]=String.fromCharCode(f,e)}else{j[r++]=String.fromCharCode(f,e,d)}}}while(k<l.length);h=j.join("");return h}}var c=typeof Object.keys==="function"?function(d){return Object.keys(d).length}:function(d){var f=0,g;for(g in d){if(d.hasOwnProperty(g)){f++}}return f},a=function(d){this.topics={};this.context=d;this.publish=function(h,m){if(this.topics[h]){var j=this.topics[h],o=[],n,g,e,f,k=function(){};m=Array.prototype.slice.call(arguments,1);for(g=0,e=j.length;g<e;g++){f=j[g];n=f[0];if(f[1]){f[0]=k;o.push(g)}n.apply(this.context,m)}for(g=0,e=o.length;g<e;g++){j.splice(o[g],1)}}};this.subscribe=function(e,g,f){if(!this.topics[e]){this.topics[e]=[[g,f]]}else{this.topics[e].push([g,f])}return{topic:e,callback:g}};this.unsubscribe=function(h){if(this.topics[h.topic]){var f=this.topics[h.topic],g,e;for(g=0,e=f.length;g<e;g++){if(f[g][0]===h.callback){f.splice(g,1)}}}}};function b(E,ae,M,V){if(typeof E==="undefined"){E="p"}else{E=E.toString().toLowerCase()}if(typeof ae==="undefined"){ae="mm"}if(typeof M==="undefined"){M="a4"}if(typeof V==="undefined"&&typeof zpipe==="undefined"){V=false}var at=M.toString().toLowerCase(),ao="0.9.0rc2",t=[],F=0,av=V,U="1.3",N={a3:[841.89,1190.55],a4:[595.28,841.89],a5:[420.94,595.28],letter:[612,792],legal:[612,1008]},ad="0 g",H="0 G",g=0,f=[],n=2,v=false,D=[],ai={},Q={},aj=16,d,z=0.200025,B,C,ak,O={title:"",subject:"",author:"",keywords:"",creator:""},R=0,T=0,P={},G=new a(P),af,aq,p=function(i){return i.toFixed(2)},o=function(i){return i.toFixed(3)},A=function(i){var k=(i).toFixed(0);if(i<10){return"0"+k}else{return k}},r=function(i){var k=(i).toFixed(0);if(k.length<10){return new Array(11-k.length).join("0")+k}else{return k}},ab=function(i){if(v){f[g].push(i)}else{t.push(i);F+=i.length+1}},w=function(){n++;D[n]=F;ab(n+" 0 obj");return n},K=function(i){ab("stream");ab(i);ab("endstream")},am,S,ap,al,aa=function(){am=C*ak;S=B*ak;var aB,aA,k,aw,ax,az,ay;for(aB=1;aB<=g;aB++){w();ab("<</Type /Page");ab("/Parent 1 0 R");ab("/Resources 2 0 R");ab("/Contents "+(n+1)+" 0 R>>");ab("endobj");aA=f[aB].join("\n");w();if(av){k=[];for(ax=0;ax<aA.length;++ax){k[ax]=aA.charCodeAt(ax)}ay=adler32cs.from(aA);az=new Deflater(6);az.append(new Uint8Array(k));aA=az.flush();k=[new Uint8Array([120,156]),new Uint8Array(aA),new Uint8Array([ay&255,(ay>>8)&255,(ay>>16)&255,(ay>>24)&255])];aA="";for(ax in k){if(k.hasOwnProperty(ax)){aA+=String.fromCharCode.apply(null,k[ax])}}ab("<</Length "+aA.length+" /Filter [/FlateDecode]>>")}else{ab("<</Length "+aA.length+">>")}K(aA);ab("endobj")}D[1]=F;ab("1 0 obj");ab("<</Type /Pages");ap="/Kids [";for(ax=0;ax<g;ax++){ap+=(3+2*ax)+" 0 R "}ab(ap+"]");ab("/Count "+g);ab("/MediaBox [0 0 "+p(am)+" "+p(S)+"]");ab(">>");ab("endobj")},X=function(i){i.objectNumber=w();ab("<</BaseFont/"+i.PostScriptName+"/Type/Font");if(typeof i.encoding==="string"){ab("/Encoding/"+i.encoding)}ab("/Subtype/Type1>>");ab("endobj")},J=function(){var i;for(i in ai){if(ai.hasOwnProperty(i)){X(ai[i])}}},L=function(){G.publish("putXobjectDict")},x=function(){ab("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");ab("/Font <<");var i;for(i in ai){if(ai.hasOwnProperty(i)){ab("/"+i+" "+ai[i].objectNumber+" 0 R")}}ab(">>");ab("/XObject <<");L();ab(">>")},h=function(){J();G.publish("putResources");D[2]=F;ab("2 0 obj");ab("<<");x();ab(">>");ab("endobj");G.publish("postPutResources")},m=function(aw,k,ax){var i;if(Q[k]===i){Q[k]={}}Q[k][ax]=aw},au={},u=function(i,ax,az,aw){var ay="F"+(c(ai)+1).toString(10),k=ai[ay]={id:ay,PostScriptName:i,fontName:ax,fontStyle:az,encoding:aw,metadata:{}};m(ay,ax,az);G.publish("addFont",k);return ay},e=function(){var k="helvetica",aG="times",aI="courier",aF="normal",aE="bold",aD="italic",aH="bolditalic",ax="StandardEncoding",aA=[["Helvetica",k,aF],["Helvetica-Bold",k,aE],["Helvetica-Oblique",k,aD],["Helvetica-BoldOblique",k,aH],["Courier",aI,aF],["Courier-Bold",aI,aE],["Courier-Oblique",aI,aD],["Courier-BoldOblique",aI,aH],["Times-Roman",aG,aF],["Times-Bold",aG,aE],["Times-Italic",aG,aD],["Times-BoldItalic",aG,aH]],aC,ay,aB,az;for(aC=0,ay=aA.length;aC<ay;aC++){var aw=ax;aB=u(aA[aC][0],aA[aC][1],aA[aC][2],aw);az=aA[aC][0].split("-");m(aB,az[0],az[1]||"")}G.publish("addFonts",{fonts:ai,dictionary:Q})},s=function(aG,ax){var aC,aA,az,ay,aE,aD,aw,aF,k,aB;if(ax===az){ax={}}ay=ax.sourceEncoding?ay:"Unicode";aD=ax.outputEncoding;if((ax.autoencode||aD)&&ai[d].metadata&&ai[d].metadata[ay]&&ai[d].metadata[ay].encoding){aE=ai[d].metadata[ay].encoding;if(!aD&&ai[d].encoding){aD=ai[d].encoding}if(!aD&&aE.codePages){aD=aE.codePages[0]}if(typeof aD==="string"){aD=aE[aD]}if(aD){aF=false;aw=[];for(aC=0,aA=aG.length;aC<aA;aC++){k=aD[aG.charCodeAt(aC)];if(k){aw.push(String.fromCharCode(k))}else{aw.push(aG[aC])}if(aw[aC].charCodeAt(0)>>8){aF=true}}aG=aw.join("")}}aC=aG.length;while(aF===az&&aC!==0){if(aG.charCodeAt(aC-1)>>8){aF=true}aC--}if(!aF){return aG}else{aw=ax.noBOM?[]:[254,255];for(aC=0,aA=aG.length;aC<aA;aC++){k=aG.charCodeAt(aC);aB=k>>8;if(aB>>8){throw new Error("Character at position "+aC.toString(10)+" of string '"+aG+"' exceeds 16bits. Cannot be encoded into UCS-2 BE")}aw.push(aB);aw.push(k-(aB<<8))}return String.fromCharCode.apply(az,aw)}},Z=function(k,i){return s(k,i).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Y=function(){ab("/Producer (pdfDataExport "+ao+")");if(O.title){ab("/Title ("+Z(O.title)+")")}if(O.subject){ab("/Subject ("+Z(O.subject)+")")}if(O.author){ab("/Author ("+Z(O.author)+")")}if(O.keywords){ab("/Keywords ("+Z(O.keywords)+")")}if(O.creator){ab("/Creator ("+Z(O.creator)+")")}var i=new Date();ab("/CreationDate (D:"+[i.getFullYear(),A(i.getMonth()+1),A(i.getDate()),A(i.getHours()),A(i.getMinutes()),A(i.getSeconds())].join("")+")")},W=function(){ab("/Type /Catalog");ab("/Pages 1 0 R");ab("/OpenAction [3 0 R /FitH null]");ab("/PageLayout /OneColumn");G.publish("putCatalog")},l=function(){ab("/Size "+(n+1));ab("/Root "+n+" 0 R");ab("/Info "+(n-1)+" 0 R")},ar=function(){g++;v=true;f[g]=[]},ah=function(){ar();ab(p(z*ak)+" w");ab(H);if(R!==0){ab(R.toString(10)+" J")}if(T!==0){ab(T.toString(10)+" j")}G.publish("addPage",{pageNumber:g})},y=function(aw,ay){var i,k;if(aw===k){aw=ai[d].fontName}if(ay===k){ay=ai[d].fontStyle}try{i=Q[aw][ay]}catch(ax){i=k}if(!i){throw new Error("Unable to look up font label for font '"+aw+"', '"+ay+"'. Refer to getFontList() for available fonts.")}return i},q=function(){v=false;t=[];D=[];ab("%PDF-"+U);aa();h();w();ab("<<");Y();ab(">>");ab("endobj");w();ab("<<");W();ab(">>");ab("endobj");var aw=F,k;ab("xref");ab("0 "+(n+1));ab("0000000000 65535 f ");for(k=1;k<=n;k++){ab(r(D[k])+" 00000 n ")}ab("trailer");ab("<<");l();ab(">>");ab("startxref");ab(aw);ab("%%EOF");v=true;return t.join("\n")},ac=function(i){var k="S";if(i==="F"){k="f"}else{if(i==="FD"||i==="DF"){k="B"}}return k},I=function(az,aw){var ay,aB,aA,aC,ax,k;switch(az){case ay:return q();case"save":if(navigator.getUserMedia){if(window.URL===undefined){return P.output("dataurlnewwindow")}else{if(window.URL.createObjectURL===undefined){return P.output("dataurlnewwindow")}}}aB=q();aA=aB.length;aC=new Uint8Array(new ArrayBuffer(aA));for(ax=0;ax<aA;ax++){aC[ax]=aB.charCodeAt(ax)}k=new Blob([aC],{type:"application/pdf"});saveAs(k,aw);break;case"datauristring":case"dataurlstring":return"data:application/pdf;base64,"+btoa(q());case"datauri":case"dataurl":document.location.href="data:application/pdf;base64,"+btoa(q());break;case"dataurlnewwindow":window.open("data:application/pdf;base64,"+btoa(q()));break;default:throw new Error('Output type "'+az+'" is not supported.')}};if(ae==="pt"){ak=1}else{if(ae==="mm"){ak=72/25.4}else{if(ae==="cm"){ak=72/2.54}else{if(ae==="in"){ak=72}else{throw ("Invalid unit: "+ae)}}}}if(N.hasOwnProperty(at)){B=N[at][1]/ak;C=N[at][0]/ak}else{try{B=M[1];C=M[0]}catch(an){throw ("Invalid format: "+M)}}if(E==="p"||E==="portrait"){E="p";if(C>B){af=C;C=B;B=af}}else{if(E==="l"||E==="landscape"){E="l";if(B>C){af=C;C=B;B=af}}else{throw ("Invalid orientation: "+E)}}P.internal={pdfEscape:Z,getStyle:ac,getFont:function(){return ai[y.apply(P,arguments)]},getFontSize:function(){return aj},btoa:btoa,write:function(i,ax,aw,k){ab(arguments.length===1?i:Array.prototype.join.call(arguments," "))},getCoordinateString:function(i){return p(i*ak)},getVerticalCoordinateString:function(i){return p((B-i)*ak)},collections:{},newObject:w,putStream:K,events:G,scaleFactor:ak,pageSize:{width:C,height:B},output:function(k,i){return I(k,i)}};P.addPage=function(){ah();return this};var ag=["","0","00","000","0000"];var j=function(aA,aw){var ax=["FEFF"];for(var az=0,k=aA.length,ay;az<k;++az){ay=aA.charCodeAt(az).toString(16).toUpperCase();ax.push(ag[4-ay.length],ay)}return ax.join("")};P.text16=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}aw.autoencode=false;if(typeof aF==="string"){aB=j(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=j(k[ay],aw)}aB=k.join("> Tj\nT* <")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n<"+aB+"> Tj\nET");return this};P.text=function(aF,aE,aC,aw){var ax,aA,az,aD,k,aB,ay;if(typeof aF==="number"){aA=aC;az=aF;aD=aE;aF=aA;aE=az;aC=aD}if(typeof aF==="string"&&aF.match(/[\n\r]/)){aF=aF.split(/\r\n|\r|\n/g)}if(typeof aw==="undefined"){aw={noBOM:true,autoencode:true}}else{if(aw.noBOM===ax){aw.noBOM=true}if(aw.autoencode===ax){aw.autoencode=true}}if(typeof aF==="string"){aB=Z(aF,aw)}else{if(aF instanceof Array){k=aF.concat();for(ay=k.length-1;ay!==-1;ay--){k[ay]=Z(k[ay],aw)}aB=k.join(") Tj\nT* (")}else{throw new Error('Type of text must be string or Array. "'+aF+'" is not recognized.')}}ab("BT\n/"+d+" "+aj+" Tf\n"+aj+" TL\n"+ad+"\n"+p(aE*ak)+" "+p((B-aC)*ak)+" Td\n("+aB+") Tj\nET");return this};P.line=function(k,ax,i,aw){ab(p(k*ak)+" "+p((B-ax)*ak)+" m "+p(i*ak)+" "+p((B-aw)*ak)+" l S");return this};P.lines=function(k,aF,aE,aO,aK){var ay,aM,aC,aD,aB,aA,aI,aG,aN,aL,az,aJ,ax,aH,aw;if(typeof k==="number"){aM=aE;aC=k;aD=aF;k=aM;aF=aC;aE=aD}aK=ac(aK);aO=aO===ay?[1,1]:aO;ab(o(aF*ak)+" "+o((B-aE)*ak)+" m ");aB=aO[0];aA=aO[1];aG=k.length;aH=aF;aw=aE;for(aI=0;aI<aG;aI++){aN=k[aI];if(aN.length===2){aH=aN[0]*aB+aH;aw=aN[1]*aA+aw;ab(o(aH*ak)+" "+o((B-aw)*ak)+" l")}else{aL=aN[0]*aB+aH;az=aN[1]*aA+aw;aJ=aN[2]*aB+aH;ax=aN[3]*aA+aw;aH=aN[4]*aB+aH;aw=aN[5]*aA+aw;ab(o(aL*ak)+" "+o((B-az)*ak)+" "+o(aJ*ak)+" "+o((B-ax)*ak)+" "+o(aH*ak)+" "+o((B-aw)*ak)+" c")}}ab(aK);return this};P.rect=function(i,az,k,ax,aw){var ay=ac(aw);ab([p(i*ak),p((B-az)*ak),p(k*ak),p(-ax*ak),"re",ay].join(" "));return this};P.triangle=function(ax,aA,k,ay,i,aw,az){this.lines([[k-ax,ay-aA],[i-k,aw-ay],[ax-i,aA-aw]],ax,aA,[1,1],az);return this};P.roundedRect=function(k,aB,aw,ay,aA,az,ax){var i=4/3*(Math.SQRT2-1);this.lines([[(aw-2*aA),0],[(aA*i),0,aA,az-(az*i),aA,az],[0,(ay-2*az)],[0,(az*i),-(aA*i),az,-aA,az],[(-aw+2*aA),0],[-(aA*i),0,-aA,-(az*i),-aA,-az],[0,(-ay+2*az)],[0,-(az*i),(aA*i),-az,aA,-az]],k+aA,aB,[1,1],ax);return this};P.ellipse=function(i,aB,az,ay,k){var aA=ac(k),ax=4/3*(Math.SQRT2-1)*az,aw=4/3*(Math.SQRT2-1)*ay;ab([p((i+az)*ak),p((B-aB)*ak),"m",p((i+az)*ak),p((B-(aB-aw))*ak),p((i+ax)*ak),p((B-(aB-ay))*ak),p(i*ak),p((B-(aB-ay))*ak),"c"].join(" "));ab([p((i-ax)*ak),p((B-(aB-ay))*ak),p((i-az)*ak),p((B-(aB-aw))*ak),p((i-az)*ak),p((B-aB)*ak),"c"].join(" "));ab([p((i-az)*ak),p((B-(aB+aw))*ak),p((i-ax)*ak),p((B-(aB+ay))*ak),p(i*ak),p((B-(aB+ay))*ak),"c"].join(" "));ab([p((i+ax)*ak),p((B-(aB+ay))*ak),p((i+az)*ak),p((B-(aB+aw))*ak),p((i+az)*ak),p((B-aB)*ak),"c",aA].join(" "));return this};P.circle=function(i,ax,aw,k){return this.ellipse(i,ax,aw,aw,k)};P.setProperties=function(i){var k;for(k in O){if(O.hasOwnProperty(k)&&i[k]){O[k]=i[k]}}return this};P.setFontSize=function(i){aj=i;return this};P.setFont=function(i,k){d=y(i,k);return this};P.setFontStyle=P.setFontType=function(k){var i;d=y(i,k);return this};P.getFontList=function(){var aw={},k,ax,i;for(k in Q){if(Q.hasOwnProperty(k)){aw[k]=i=[];for(ax in Q[k]){if(Q[k].hasOwnProperty(ax)){i.push(ax)}}}}return aw};P.setLineWidth=function(i){ab((i*ak).toFixed(2)+" w");return this};P.setDrawColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" G"}else{k=p(ay/255)+" G"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"RG"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"RG"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"K"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"K"].join(" ")}}}ab(k);return this};P.setFillColor=function(ay,ax,aw,i){var k;if(ax===undefined||(i===undefined&&ay===ax===aw)){if(typeof ay==="string"){k=ay+" g"}else{k=p(ay/255)+" g"}}else{if(i===undefined){if(typeof ay==="string"){k=[ay,ax,aw,"rg"].join(" ")}else{k=[p(ay/255),p(ax/255),p(aw/255),"rg"].join(" ")}}else{if(typeof ay==="string"){k=[ay,ax,aw,i,"k"].join(" ")}else{k=[p(ay),p(ax),p(aw),p(i),"k"].join(" ")}}}ab(k);return this};P.setTextColor=function(aw,k,i){if((aw===0&&k===0&&i===0)||(typeof k==="undefined")){ad=o(aw/255)+" g"}else{ad=[o(aw/255),o(k/255),o(i/255),"rg"].join(" ")}return this};P.CapJoinStyles={0:0,butt:0,but:0,bevel:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,milter:2};P.setLineCap=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line cap style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}R=k;ab(k.toString(10)+" J");return this};P.setLineJoin=function(i){var k=this.CapJoinStyles[i];if(k===undefined){throw new Error("Line join style of '"+i+"' is not recognized. See or extend .CapJoinStyles property for valid styles")}T=k;ab(k.toString(10)+" j");return this};P.output=I;P.save=function(i){P.output("save",i)};for(aq in b.API){if(b.API.hasOwnProperty(aq)){if(aq==="events"&&b.API.events.length){(function(ax,az){var ay,aw,k;for(k=az.length-1;k!==-1;k--){ay=az[k][0];aw=az[k][1];ax.subscribe.apply(ax,[ay].concat(typeof aw==="function"?[aw]:aw))}}(G,b.API.events))}else{P[aq]=b.API[aq]}}}e();d="F1";ah();G.publish("initialized");return P}b.API={events:[]};return b}());(function(i){var b=0,m=0,a,o,h,c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined},f=1,e=false,d=function(p,t,q,r,s){c={x:p,y:t,w:q,h:r,ln:s}},k=function(){return c},j=function(p){b=p},l=function(){return b},n=function(p){m=p},g=function(p){return m};i.getTextDimensions=function(p){a=this.internal.getFont().fontName;o=this.internal.getFontSize();h=this.internal.getFont().fontStyle;var s=0.264583*72/25.4,q,r;r=document.createElement("font");r.id="pdfDataExportCell";r.style.fontStyle=h;r.style.fontName=a;r.style.fontSize=o+"pt";r.innerHTML=p;document.body.appendChild(r);q={w:(r.offsetWidth+1)*s,h:(r.offsetHeight+1)*s};document.body.removeChild(r);return q};i.cellAddPage=function(){this.addPage();d(undefined,undefined,undefined,undefined,undefined);e=true;f+=1;n(1)};i.cellInitialize=function(){b=0;c={x:undefined,y:undefined,w:undefined,h:undefined,ln:undefined};f=1;e=false;n(0)};i.cell=function(z,v,A,s,p,u){this.lnMod=this.lnMod===undefined?0:this.lnMod;if(this.printingHeaderRow!==true&&this.lnMod!==0){u=u+this.lnMod}if((((u*s)+v+(s*2))/f)>=this.internal.pageSize.height&&f===1&&!e){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}if(l()===0){j(Math.round((this.internal.pageSize.height-(s*2))/s))}}else{if(e&&k().ln!==u&&g()===l()){this.cellAddPage();if(this.printHeaders&&this.tableHeaderRow){this.printHeaderRow(u);this.lnMod+=1;u+=1}}}var B=k(),r=this.getTextDimensions(p),t=1;if(B.x!==undefined&&B.ln===u){z=B.x+B.w}if(B.y!==undefined&&B.y===v){v=B.y}if(B.h!==undefined&&B.h===s){s=B.h}if(B.ln!==undefined&&B.ln===u){u=B.ln;t=0}if(e){v=s*(g()+t)}else{v=(v+(s*Math.abs(l()*f-u-l())))}this.rect(z,v,A,s);var q=/[а-яА-ЯЁё]/.test(p);if(q){this.text16(p,z+3,v+s-3)}else{this.text(p,z+3,v+s-3)}n(g()+t);d(z,v,A,s,u);return this};i.getKeys=(typeof Object.keys==="function")?function(p){if(!p){return[]}return Object.keys(p)}:function(p){var q=[],r;for(r in p){if(p.hasOwnProperty(r)){q.push(r)}}return q};i.arrayMax=function(u,t){var p=u[0],q,s,r;for(q=0,s=u.length;q<s;q+=1){r=u[q];if(t){if(t(p,r)===-1){p=r}}else{if(r>p){p=r}}}return p};i.table=function(J,r,I){var v=[],p=[],D,z,B,x,E,y,G={},A={},u,s,H=[],C,F=[],t,q,w;this.lnMod=0;if(I){z=I.autoSize||false;B=this.printHeaders=I.printHeaders||true;x=I.autoStretch||true}if(!J){throw"No data for PDF table"}if(r===undefined||(r===null)){v=this.getKeys(J[0])}else{if(r[0]&&(typeof r[0]!=="string")){for(E=0,y=r.length;E<y;E+=1){D=r[E];v.push(D.name);p.push(D.prompt)}}else{v=r}}if(I.autoSize){w=function(K){return K[D]};for(E=0,y=v.length;E<y;E+=1){D=v[E];G[D]=J.map(w);H.push(this.getTextDimensions(p[E]||D).w);s=G[D];for(C=0,y=s.length;C<y;C+=1){u=s[C];H.push(this.getTextDimensions(u).w)}A[D]=i.arrayMax(H)}}if(I.printHeaders){for(E=0,y=v.length;E<y;E+=1){D=v[E];F.push([10,10,A[D],25,String(p.length?p[E]:D)])}this.setTableHeaderRow(F);this.printHeaderRow(1)}for(E=0,y=J.length;E<y;E+=1){t=J[E];for(C=0,q=v.length;C<q;C+=1){D=v[C];this.cell(10,10,A[D],25,String(t[D]),E+2)}}return this};i.setTableHeaderRow=function(p){this.tableHeaderRow=p};i.printHeaderRow=function(p){if(!this.tableHeaderRow){throw"Property tableHeaderRow does not exist."}var q,s,r,t;this.printingHeaderRow=true;for(r=0,t=this.tableHeaderRow.length;r<t;r+=1){q=this.tableHeaderRow[r];s=[].concat(q);this.cell.apply(this,s.concat(p))}this.printingHeaderRow=false}}(pdfDataExport.API));(function(c){var b=c.getCharWidthsArray=function(s,u){if(!u){u={}}var h=u.widths?u.widths:this.internal.getFont().metadata.Unicode.widths,r=h.fof?h.fof:1,n=u.kerning?u.kerning:this.internal.getFont().metadata.Unicode.kerning,p=n.fof?n.fof:1;var m,j,o,k,q=0,t=h[0]||r,g=[];for(m=0,j=s.length;m<j;m++){o=s.charCodeAt(m);g.push((h[o]||t)/r+(n[o]&&n[o][q]||0)/p);q=o}return g};var e=function(j){var h=j.length,g=0;while(h){h--;g+=j[h]}return g};var a=c.getStringUnitWidth=function(h,g){return e(b.call(this,h,g))};var d=function(g,n,h,j){var q=[];var m=0,k=g.length,p=0;while(m!==k&&p+n[m]<h){p+=n[m];m++}q.push(g.slice(0,m));var o=m;p=0;while(m!==k){if(p+n[m]>j){q.push(g.slice(o,m));p=0;o=m}p+=n[m];m++}if(o!==m){q.push(g.slice(o,m))}return q};var f=function(s,k,v){if(!v){v={}}var t=b(" ",v)[0];var r=s.split(" ");var w=[],x=[w],h=v.textIndent||0,u=0,p=0,g,q;var o,m,n;for(o=0,m=r.length;o<m;o++){g=r[o];q=b(g,v);p=e(q);if(h+u+p>k){if(p>k){n=d(g,q,k-(h+u),k);w.push(n.shift());w=[n.pop()];while(n.length){x.push([n.shift()])}p=e(q.slice(g.length-w[0].length))}else{w=[g]}x.push(w);h=p;u=t}else{w.push(g);h+=u+p;u=t}}var j=[];for(o=0,m=x.length;o<m;o++){j.push(x[o].join(" "))}return j};c.splitTextToSize=function(q,m,r){if(!r){r={}}var h=r.fontSize||this.internal.getFontSize(),g=(function(l){var t={0:1},i={};if(!l.widths||!l.kerning){var u=this.internal.getFont(l.fontName,l.fontStyle),s="Unicode";if(u.metadata[s]){return{widths:u.metadata[s].widths||t,kerning:u.metadata[s].kerning||i}}}else{return{widths:l.widths,kerning:l.kerning}}return{widths:t,kerning:i}}).call(this,r);var p;if(q.match(/[\n\r]/)){p=q.split(/\r\n|\r|\n/g)}else{p=[q]}var j=1*this.internal.scaleFactor*m/h;g.textIndent=r.textIndent?r.textIndent*1*this.internal.scaleFactor/h:0;var o,n,k=[];for(o=0,n=p.length;o<n;o++){k=k.concat(f(p[o],j,g))}return k}})(pdfDataExport.API);(function(c){var d="addImage_";var f=function(m){var l,h;if(!m.charCodeAt(0)===255||!m.charCodeAt(1)===216||!m.charCodeAt(2)===255||!m.charCodeAt(3)===224||!m.charCodeAt(6)==="J".charCodeAt(0)||!m.charCodeAt(7)==="F".charCodeAt(0)||!m.charCodeAt(8)==="I".charCodeAt(0)||!m.charCodeAt(9)==="F".charCodeAt(0)||!m.charCodeAt(10)===0){throw new Error("getJpegSize requires a binary jpeg file")}var j=m.charCodeAt(4)*256+m.charCodeAt(5);var k=4,g=m.length;while(k<g){k+=j;if(m.charCodeAt(k)!==255){throw new Error("getJpegSize could not find the size of the image")}if(m.charCodeAt(k+1)===192){h=m.charCodeAt(k+5)*256+m.charCodeAt(k+6);l=m.charCodeAt(k+7)*256+m.charCodeAt(k+8);return[l,h]}else{k+=2;j=m.charCodeAt(k)*256+m.charCodeAt(k+1)}}},b=function(g){var m=this.internal.newObject(),h=this.internal.write,l=this.internal.putStream;g.n=m;h("<</Type /XObject");h("/Subtype /Image");h("/Width "+g.w);h("/Height "+g.h);if(g.cs==="Indexed"){h("/ColorSpace [/Indexed /DeviceRGB "+(g.pal.length/3-1)+" "+(m+1)+" 0 R]")}else{h("/ColorSpace /"+g.cs);if(g.cs==="DeviceCMYK"){h("/Decode [1 0 1 0 1 0 1 0]")}}h("/BitsPerComponent "+g.bpc);if("f" in g){h("/Filter /"+g.f)}if("dp" in g){h("/DecodeParms <<"+g.dp+">>")}if("trns" in g&&g.trns.constructor==Array){var k="";for(var j=0;j<g.trns.length;j++){k+=(g[k][j]+" "+g.trns[j]+" ");h("/Mask ["+k+"]")}}if("smask" in g){h("/SMask "+(m+1)+" 0 R")}h("/Length "+g.data.length+">>");l(g.data);h("endobj")},e=function(){var g=this.internal.collections[d+"images"];for(var h in g){b.call(this,g[h])}},a=function(){var g=this.internal.collections[d+"images"],h=this.internal.write,k;for(var j in g){k=g[j];h("/I"+k.i,k.n,"0","R")}};c.addImage=function(g,s,q,p,t,l){if(typeof g==="object"&&g.nodeType===1){var j=document.createElement("canvas");j.width=g.clientWidth;j.height=g.clientHeight;var u=j.getContext("2d");if(!u){throw ("addImage requires canvas to be supported by browser.")}u.drawImage(g,0,0,j.width,j.height);g=j.toDataURL("image/jpeg");s="JPEG"}if(s.toUpperCase()!=="JPEG"){throw new Error("addImage currently only supports format 'JPEG', not '"+s+"'")}var i,n=this.internal.collections[d+"images"],m=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString;if(g.substring(0,23)==="data:image/jpeg;base64,"){g=atob(g.replace("data:image/jpeg;base64,",""))}if(n){i=Object.keys?Object.keys(n).length:(function(w){var h=0;for(var v in w){if(w.hasOwnProperty(v)){h++}}return h})(n)}else{i=0;this.internal.collections[d+"images"]=n={};this.internal.events.subscribe("putResources",e);this.internal.events.subscribe("putXobjectDict",a)}var r=f(g);var k={w:r[0],h:r[1],cs:"DeviceRGB",bpc:8,f:"DCTDecode",i:i,data:g};n[i]=k;if(!t&&!l){t=-96;l=-96}if(t<0){t=(-1)*k.w*72/t/this.internal.scaleFactor}if(l<0){l=(-1)*k.h*72/l/this.internal.scaleFactor}if(t===0){t=l*k.w/k.h}if(l===0){l=t*k.h/k.w}this.internal.write("q",m(t),"0 0",m(l),m(q),o(p+l),"cm /I"+k.i,"Do Q");return this}})(pdfDataExport.API);(function(a){var e=function(q){var w="0123456789abcdef",o="klmnopqrstuvwxyz",h={};for(var r=0;r<o.length;r++){h[o[r]]=w[r]}var p,m={},n=1,t,k=m,g=[],s,l="",u="",v,j=q.length-1,f;r=1;while(r!=j){f=q[r];r+=1;if(f=="'"){if(t){v=t.join("");t=p}else{t=[]}}else{if(t){t.push(f)}else{if(f=="{"){g.push([k,v]);k={};v=p}else{if(f=="}"){s=g.pop();s[0][s[1]]=k;v=p;k=s[0]}else{if(f=="-"){n=-1}else{if(v===p){if(h.hasOwnProperty(f)){l+=h[f];v=parseInt(l,16)*n;n=+1;l=""}else{l+=f}}else{if(h.hasOwnProperty(f)){u+=h[f];k[v]=parseInt(u,16)*n;n=+1;v=p;u=""}else{u+=f}}}}}}}}return m};var d={codePages:["WinAnsiEncoding"],WinAnsiEncoding:e("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")},c={Unicode:{Courier:d,"Courier-Bold":d,"Courier-BoldOblique":d,"Courier-Oblique":d,Helvetica:d,"Helvetica-Bold":d,"Helvetica-BoldOblique":d,"Helvetica-Oblique":d,"Times-Roman":d,"Times-Bold":d,"Times-BoldItalic":d,"Times-Italic":d}},b={Unicode:{"Courier-Oblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":e("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),Courier:e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-BoldOblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Bold":e("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),Helvetica:e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),"Helvetica-BoldOblique":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),"Courier-Bold":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Italic":e("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),"Times-Roman":e("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),"Helvetica-Oblique":e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")}};a.events.push(["addFonts",function(i){var f,g,h,k,j="Unicode",l;for(g in i.fonts){if(i.fonts.hasOwnProperty(g)){f=i.fonts[g];h=b[j][f.PostScriptName];if(h){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.widths=h.widths;k.kerning=h.kerning}l=c[j][f.PostScriptName];if(l){if(f.metadata[j]){k=f.metadata[j]}else{k=f.metadata[j]={}}k.encoding=l;if(l.codePages&&l.codePages.length){f.encoding=l.codePages[0]}}}}}])})(pdfDataExport.API);var saveAs=window.jqxSaveAs=saveAs||(navigator.msSaveBlob&&navigator.msSaveBlob.bind(navigator))||(function(h){var r=h.document,l=function(){return h.URL||h.webkitURL||h},e=h.URL||h.webkitURL||h,n=$("<a></a>")[0],g="download" in n,j=function(t){var s=r.createEvent("MouseEvents");s.initMouseEvent("click",true,false,h,0,0,0,0,0,false,false,false,false,0,null);return t.dispatchEvent(s)},o=h.webkitRequestFileSystem,p=h.requestFileSystem||o||h.mozRequestFileSystem,m=function(s){(h.setImmediate||h.setTimeout)(function(){throw s},0)},c="application/octet-stream",k=0,b=[],i=function(){var t=b.length;while(t--){var s=b[t];if(typeof s==="string"){e.revokeObjectURL(s)}else{s.remove()}}b.length=0},q=function(t,s,w){s=[].concat(s);var v=s.length;while(v--){var x=t["on"+s[v]];if(typeof x==="function"){try{x.call(t,w||t)}catch(u){m(u)}}}},f=function(t,u){var v=this,B=t.type,E=false,x,w,s=function(){var F=l().createObjectURL(t);b.push(F);return F},A=function(){q(v,"writestart progress write writeend".split(" "))},D=function(){if(E||!x){x=s(t)}if(w){w.location.href=x}v.readyState=v.DONE;A()},z=function(F){return function(){if(v.readyState!==v.DONE){return F.apply(this,arguments)}}},y={create:true,exclusive:false},C;v.readyState=v.INIT;if(!u){u="download"}if(g){x=s(t);n.href=x;n.download=u;if(j(n)){v.readyState=v.DONE;A();return}}if(h.chrome&&B&&B!==c){C=t.slice||t.webkitSlice;t=C.call(t,0,t.size,c);E=true}if(o&&u!=="download"){u+=".download"}if(B===c||o){w=h}else{w=h.open()}if(!p){D();return}k+=t.size;p(h.TEMPORARY,k,z(function(F){F.root.getDirectory("saved",y,z(function(G){var H=function(){G.getFile(u,y,z(function(I){I.createWriter(z(function(J){J.onwriteend=function(K){w.location.href=I.toURL();b.push(I);v.readyState=v.DONE;q(v,"writeend",K)};J.onerror=function(){var K=J.error;if(K.code!==K.ABORT_ERR){D()}};"writestart progress write abort".split(" ").forEach(function(K){J["on"+K]=v["on"+K]});J.write(t);v.abort=function(){J.abort();v.readyState=v.DONE};v.readyState=v.WRITING}),D)}),D)};G.getFile(u,{create:false},z(function(I){I.remove();H()}),z(function(I){if(I.code===I.NOT_FOUND_ERR){H()}else{D()}}))}),D)}),D)},d=f.prototype,a=function(s,t){return new f(s,t)};d.abort=function(){var s=this;s.readyState=s.DONE;q(s,"abort")};d.readyState=d.INIT=0;d.WRITING=1;d.DONE=2;d.error=d.onwritestart=d.onprogress=d.onwrite=d.onabort=d.onerror=d.onwriteend=null;if(h.addEventListener){h.addEventListener("unload",i,false)}return a}(self));(function(a){var b="pdfDataExport IE Below 9 Shim plugin";a.output=function(e,d){return this.internal.output(e,d);var c="Output.pdf";switch(e){case"datauristring":case"dataurlstring":case"datauri":case"dataurl":case"dataurlnewwindow":if(console){console.log(b+": Data URIs are not supported on IE6-9.")}break;case"save":c=d;break}}})(pdfDataExport.API);
 
--- a/www/jqwidgets/jqxdata.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdata.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdatatable.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdatatable.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(b){b.jqx.jqxWidget("jqxDataTable","",{});b.extend(b.jqx._jqxDataTable.prototype,{defineInstance:function(){var c={altRows:false,aggregatesHeight:34,autoShowLoadElement:true,autoRowHeight:true,columnsHeight:30,columns:[],columnGroups:null,columnsResize:false,columnsReorder:false,dataview:null,disabled:false,editable:false,editSettings:{saveOnPageChange:true,saveOnBlur:true,saveOnSelectionChange:true,cancelOnEsc:true,saveOnEnter:true,editSingleCell:false,editOnDoubleClick:true,editOnF2:true},enableHover:true,enableBrowserSelection:false,filterHeight:35,filterable:false,filterMode:"default",groupsRenderer:null,groups:new Array(),headerZIndex:359,height:null,handleKeyboardNavigation:null,indentWidth:25,initRowDetails:false,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed.",localization:null,pagerHeight:40,pageSize:10,pageSizeOptions:["5","10","20"],pageable:false,pagerPosition:"bottom",pagerMode:"default",pageSizeMode:"default",pagerButtonsCount:5,pagerRenderer:null,ready:null,rendertoolbar:null,rowDetails:false,renderStatusBar:null,rendered:null,rendering:null,rtl:false,sortable:false,showtoolbar:false,showstatusbar:false,statusBarHeight:34,serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:b.jqx.utilities.scrollBarSize,touchScrollBarSize:b.jqx.utilities.touchScrollBarSize,showAggregates:false,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,beginEdit:null,endEdit:null,autokoupdates:true,columnsVirtualization:false,exportSettings:{columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,recordsInView:true,fileName:"jqxDataTable"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},toolbarHeight:34,tableZIndex:369,_updating:false,touchmode:"auto",width:null,that:this,incrementalSearch:true,events:["bindingComplete","sort","filter","pageChanged","pageSizeChanged","rowClick","rowDoubleClick","cellValueChanged","rowBeginEdit","rowEndEdit","rowSelect","rowUnselect","rowCheck","rowUncheck","columnResized","columnReordered","rowExpand","rowCollapse","cellBeginEdit","cellEndEdit"]};if(this===b.jqx._jqxDataTable.prototype){return c}b.extend(true,this,c);this.that=this;return c},createInstance:function(e){var l=this;if(b.jqx.utilities.scrollBarSize!=13){l.scrollBarSize=b.jqx.utilities.scrollBarSize}if((l.element.nodeName.toLowerCase()=="table")||b(l.element).children("table").length>0){var n=l.host.find("tbody tr");var d=l.host.find("th");var w=new Array();if(d.length===0){d=n[0];n.splice(0,1)}if(l.localizestrings){l.localizestrings();if(l.localization!=null){l.localizestrings(l.localization,false)}}var z=[];for(var u=0;u<n.length;u++){var k=n[u];var h={};for(var t=0;t<d.length;t++){var g=b.trim(b(d[t]).text());if(u===0){var s={name:g};if(l.columns[t]&&l.columns[t].cellsFormat){var v=l.columns[t].cellsFormat.toLowerCase();if(v.indexOf("p")!=-1||v.indexOf("c")!=-1||v.indexOf("n")!=-1||v.indexOf("f")!=-1){s.type="number"}if(v.indexOf("d")!=-1||v.indexOf("m")!=-1||v.indexOf("y")!=-1||v.indexOf("h")!=-1||v.indexOf("m")!=-1||v.indexOf("s")!=-1||v.indexOf("t")!=-1){s.type="date"}}w.push(s)}var c=b(k).find("td:eq("+t+")");var f=w[t].type;if(f){var p=l.getvaluebytype(b.trim(c.text()),w[t]);h[g]=p}else{h[g]=b.trim(c.text())}}z[z.length]=h}l.host.wrap("<div></div>");var m=l.host.parent();var q=l.host.data();q.jqxDataTable.host=m;q.jqxDataTable.element=m[0];l.host.parent()[0].id=l.element.id;try{l.host.parent()[0].style=l.element.style}catch(r){}l.element=m[0];l.host=m;l.host.data(q);var o={dataFields:w,localdata:z,datatype:"array"};var y=new b.jqx.dataAdapter(o);l.source=y}if(l.source&&!l.source.dataBind){l.source=new b.jqx.dataAdapter(l.source)}var x=l.source._source.datafields;if(x&&x.length>0){l._camelCase=l.source._source.dataFields!==undefined;l.selectionMode=l.selectionMode.toLowerCase()}if(l.host.attr("tabindex")==null){l.host.attr("tabindex","0")}l.host.attr("role","grid");l.host.attr("align","left");l.host.addClass(l.toTP("jqx-grid"));l.host.addClass(l.toTP("jqx-reset"));l.host.addClass(l.toTP("jqx-rc-all"));l.host.addClass(l.toTP("jqx-widget"));l.host.addClass(l.toTP("jqx-widget-content"));if(l._testmodules()){return}l.render(true);b.jqx.utilities.resize(l.host,function(){var A=b(window).width();var i=b(window).height();var j=l.host.width();var B=l.host.height();if(l._lastHostWidth!=j||l._lastHostHeight!=B){l._updatesize(l._lastHostWidth!=j,l._lastHostHeight!=B)}l._lastWidth=A;l._lastHeight=i;l._lastHostWidth=j;l._lastHostHeight=B})},getvaluebytype:function(h,d){var f=h;if(h==null){return h}if(this.gridlocalization.decimalseparator==","){if(h.indexOf(this.gridlocalization.decimalseparator)>=0){h=h.replace(this.gridlocalization.decimalseparator,".")}}if(h.indexOf(this.gridlocalization.currencysymbol)>=0){h=h.replace(this.gridlocalization.currencysymbol,"")}if(h.indexOf(this.gridlocalization.percentagesymbol)>=0){h=h.replace(this.gridlocalization.percentagesymbol,"")}if(b.isArray(h)&&d.type!="array"){for(var e=0;e<h.length;e++){h[e]=this.getvaluebytype(h[e],d)}return h}if(d.type=="date"){if(h=="NaN"){h=""}else{var g=new Date(h);if(typeof h=="string"){if(d.format){var c=b.jqx.dataFormat.parsedate(h,d.format);if(c!=null){g=c}}}if(g.toString()=="NaN"||g.toString()=="Invalid Date"){if(b.jqx.dataFormat){h=b.jqx.dataFormat.tryparsedate(h)}else{h=g}}else{h=g}if(h==null){h=f}}}else{if(d.type=="float"||d.type=="number"||d.type=="decimal"){if(h=="NaN"){h=""}else{var h=parseFloat(h);if(isNaN(h)){h=f}}}else{if(d.type=="int"||d.type=="integer"){var h=parseInt(h);if(isNaN(h)){h=f}}else{if(d.type=="bool"||d.type=="boolean"){if(h!=null){if(h.toLowerCase!=undefined){if(h.toLowerCase()=="false"){h=false}else{if(h.toLowerCase()=="true"){h=true}}}}if(h==1){h=true}else{if(h==0&&h!==""){h=false}else{h=""}}}}}}return h},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var d=b('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var c=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){c=true}}if(c){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var e=false;if(this.width==="auto"||this.width===null||this.autoWidth){e=true}if(e){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(d){var c=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");c.addClass(this.toTP("jqx-widget"));b(document.body).append(c);if(d=="cell"){this._cellheight=c.height()}else{this._columnheight=c.height()}c.remove()},_testmodules:function(){var g="";var e=this;var c=function(){if(g.length!=""){g+=","}};if(!this.host.jqxScrollBar){c();g+=" jqxscrollbar.js"}if(!this.host.jqxButton){c();g+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){c();g+=" jqxdata.js"}if(g!=""||this.editable||this.filterable||this.pageable){var d=[];var f=function(h){switch(h){case"checkbox":if(!e.host.jqxCheckBox&&!d.checkbox){d.checkbox=true;c();g+=" jqxcheckbox.js"}break;case"dropdownlist":if(!e.host.jqxDropDownList&&!d.dropdownlist){c();d.dropdownlist=true;g+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!e.host.jqxListBox&&!d.listbox){c();d.listbox=true;g+=" jqxlistbox.js"}}break}};if((this.filterable&&this.filterMode!="simple")||(this.pagerMode=="advanced"&&this.pageable)){f("dropdownlist")}if(g!=""){throw new Error("jqxDataTable: Missing references to the following module(s): "+g);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();this.host.focus();var d=this;setTimeout(function(){d.wrapper.focus();d.host.focus()},25);this.focused=true}catch(c){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},isBindingCompleted:function(){return !this._loading},_updatesize:function(i,h){if(this._loading){return}var f=this;var g=f.host.width();var e=f.host.height();if(!f._oldWidth){f._oldWidth=g}if(!f._oldHeight){f._oldHeight=e}if(f._resizeTimer!=undefined){clearTimeout(f._resizeTimer);f._resizeTimer=null}var d=300;var c=function(){if(f._resizeTimer){clearTimeout(f._resizeTimer)}f.resizingGrid=true;if(b.jqx.isHidden(f.host)){return}f._updatecolumnwidths();f.refresh();f._oldWidth=g;f._oldHeight=e;f.resizingGrid=false};c();f._resizeTimer=setTimeout(function(){var k=f.host.width();var j=f.host.height();if(f._oldWidth!=k||f._oldHeight!=j){c()}},d)},resize:function(d,c){if(d!=undefined){this.width=d}if(c!=undefined){this.height=c}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var c=b.jqx.mobile.isTouchDevice();this.touchDevice=c;if(this.touchmode==true){c=true;b.jqx.mobile.setMobileSimulator(this.table[0]);this.touchDevice=c}else{if(this.touchmode==false){c=false}}if(c){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return c},toTP:function(c){return this.toThemeProperty(c)},localizestrings:function(c,f){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(c!=null){for(var h in c){if(h.toLowerCase()!==h){c[h.toLowerCase()]=c[h]}}var j=["pagergotopagestring","pagershowrowsstring","pagerrangestring","pagernextbuttonstring","pagerpreviousbuttonstring","pagerfirstbuttonstring","pagerlastbuttonstring","toppagerstring","firstDay","days","months","AM","PM","patterns","percentsymbol","currencysymbol","currencysymbolposition","decimalseparator","thousandsseparator","filterapplystring","filteraddnew","filtercancelstring","filterclearstring","filterstring","filterstringcomparisonoperators","filternumericcomparisonoperators","filterdatecomparisonoperators","filterbooleancomparisonoperators","emptydatastring","filterselectstring","todaystring","clearstring","validationstring","loadtext","filtersearchstring","loadingErrorMessage"];var g=this;for(var e=0;e<j.length;e++){var d=j[e];if(c[d]!==undefined){g.gridlocalization[d]=c[d]}}if(c.loadingErrorMessage){this.loadingErrorMessage=c.loadingErrorMessage}if(f!==false){this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",filterapplystring:"Apply",filtercancelstring:"Cancel",filterclearstring:"Clear Filter",filterstring:"advanced",filtersearchstring:"Search:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed."}}},_updateScrollbars:function(m){var p=false;if(this.width==="auto"||this.width===null||this.autowidth){if(this.maxWidth==999999){p=true}}var d=parseInt(this.scrollBarSize);var j=this.table?this.table.height():0;var n=0;var e="inherit";var h=this.vScrollBar[0].style.visibility;var l=this.hScrollBar[0].style.visibility;if(!m){var g=this.host.height()}else{var g=m}if(!this.columnGroups){g-=this.showHeader?this.columnsHeight:0}else{g-=this.showHeader?this.columnsheader.height():0}if(this.filterable){g-=this.filter.height()}if(this.pageable){g-=this.pagerHeight;if(this.pagerPosition==="both"){g-=this.pagerHeight}}if(this.showtoolbar){g-=this.toolbarHeight}if(this.showstatusbar){g-=this.statusBarHeight}if(this.showAggregates){g-=this.aggregatesHeight}var q=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){q=true}}if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}else{this.vScrollBar[0].style.visibility="hidden"}if((h!=this.vScrollBar[0].style.visibility)){this._updatecolumnwidths();var i=this.table.height();if(j!=i){j=i;if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}}}if(this.scrollBarSize==0){n=0}var o=this.table?this.table.width():0;if(o>3){o-=3}var c=parseInt(this.host.css("border-left-width"))+parseInt(this.host.css("border-right-width"));var r=c+this.host.width()-n;if(o>r&&!p){this.hScrollBar[0].style.visibility=e;this.hScrollBar.jqxScrollBar({max:o-r});n=4+parseInt(d);if(d==0){n=0}if(!q){if(j>g-n+4&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.hScrollBar.jqxScrollBar({max:c+o-r});var f=this.vScrollBar[0].style.visibility==="hidden";this.vScrollBar[0].style.visibility=e;this._updatecolumnwidths();if(f){this.hScrollBar.jqxScrollBar({max:o-r+n+c})}var k=this.table?this.table.width():0;if(k>3){k-=3}if(k!=o){if(k<r){this.hScrollBar.jqxScrollBar({max:c+k-r});this.hScrollBar[0].style.visibility="hidden";n=0}}}this.vScrollBar.jqxScrollBar({max:j-g+n})}}else{this.hScrollBar[0].style.visibility="hidden"}if(this.source.records.length===0&&(this.source.hierarchy&&this.source.hierarchy.length===0)){this.vScrollBar[0].style.visibility="hidden";this.bottomRight[0].style.visibility="hidden"}if(this.vScrollBar[0].style.visibility=="hidden"){if(this.vScrollInstance.value!=0){this.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>"+e+"</span>");d.addClass(this.toTP("jqx-widget"));d.addClass(this.toTP("jqx-grid"));d.addClass(this.toTP("jqx-grid-column-header"));d.addClass(this.toTP("jqx-widget-header"));b(document.body).append(d);var c=d.outerWidth()+20;d.remove();return c},_arrangeAutoHeight:function(e){if(!e){e=0}if(this.height==="auto"||this.height===null||this.autoheight){var h=this.table.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:-1}else{g+=this.showHeader?this.columnsheader.height():-1}g+=this.showstatusbar?this.statusBarHeight:0;g+=this.showAggregates?this.aggregatesHeight:0;g+=this.showtoolbar?this.toolbarHeight:0;g+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){g+=this.pageable?this.pagerHeight:0}g+=h;if(this.filterable){var f=this.filter.find(".filterrow");var c=this.filter.find(".filterrow-hidden");var d=1;if(c.length>0){d=0}g+=this.filterHeight-1+this.filterHeight*f.length*d}if(g+e>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(g+e)}return true}return false},_arrangeAutoWidth:function(e){if(!e){e=0}if(this.width==="auto"||this.width===null||this.autowidth){var d=0;for(var f=0;f<this.columns.records.length;f++){var c=this.columns.records[f].width;if(this.columns.records[f].hidden){continue}if(c=="auto"){c=this._measureElementWidth(this.columns.records[f].text);d+=c}else{d+=c}}var g=d;if(g+e>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(g+e)}return true}return false},_measureTopAndHeight:function(){var d=this.host.height();var h=0;if(this.showtoolbar){h+=this.toolbarHeight;d-=parseInt(this.toolbarHeight)}if(this.filterable){var g=this.filter.find(".filterrow");var e=this.filter.find(".filterrow-hidden");var f=1;if(e.length>0){f=0}h+=this.filterHeight;d-=parseInt(this.filterHeight);var c=f==1?g.length:0;h+=this.filterHeight*c;d-=this.filterHeight*c}if(this.pageable&&this.pagerPosition!="bottom"){h+=parseInt(this.pagerHeight)+1;if(d>this.pagerHeight&&this.pagerPosition==="both"){d-=parseInt(this.pagerHeight)}}return{top:h,height:d}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var v=this.host.width();var r=this.host.height();var j=r;var i=this;if(this.pageable){if(this.pagerPosition==="bottom"){this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="both"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="top"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="hidden"}}}}else{this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="hidden"}var q=0;if(this.showtoolbar){this.toolbar.width(v);this.toolbar.height(this.toolbarHeight-1);this.toolbar.css("top",0);q+=this.toolbarHeight;r-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.filterable){this.filter.width(v);this.filter.css("top",q);var t=this.filter.find(".filterrow");var h=this.filter.find(".filterrow-hidden");var A=1;if(h.length>0){A=0}this.filter.height(this.filterHeight-1+this.filterHeight*t.length*A);q+=this.filterHeight;r-=parseInt(this.filterHeight);var x=A==1?t.length:0;q+=this.filterHeight*x;r-=this.filterHeight*x}if(this.showstatusbar){this.statusbar.width(!this.table?v:Math.max(v,this.table.width()));this.statusbar.height(this.statusBarHeight-1)}else{this.statusbar[0].style.height="0px"}if(this.showAggregates){this.aggregates.height(this.aggregatesHeight-1)}else{this.aggregates[0].style.height="0px"}if(this.pageable&&this.pagerPosition!="bottom"){this.toppager[0].style.width=v+"px";this.toppager[0].style.height=parseInt(this.pagerHeight)+"px";this.toppager[0].style.top=parseInt(q)+"px";q+=parseInt(this.pagerHeight)+1;if(r>this.pagerHeight){r-=parseInt(this.pagerHeight)}}else{if(this.toppager[0].style.width!=v+"px"){this.toppager[0].style.width=parseInt(v)+"px"}if(this.toppager[0].style.height!=this.pagerHeight+"px"){this.toppager[0].style.height=parseInt(this.pagerHeight)+"px"}if(this.toppager[0].style.top!=q+"px"){this.toppager[0].style.top=q+"px"}var y=this.pagerPosition!="bottom"?this.pagerHeight:0;var d=q+y+"px";if(this.content[0].style.top!=d){this.content[0].style.top=q+this.pagerHeight+"px"}}this._updateScrollbars(j);var c=parseInt(this.scrollBarSize);var n=4;var e=2;var f=0;if(this.vScrollBar[0].style.visibility!="hidden"){f=c+n}if(this.hScrollBar[0].style.visibility!="hidden"){e=c+n+2}if(c==0){f=0;e=0}if(this.showAggregates){if(this.hScrollBar[0].style.visibility==="hidden"){this.aggregates.width(!this.table?v:Math.max(v,this.table.width())+4)}else{this.aggregates.width("auto")}}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var w=this._arrangeAutoHeight(e-2);var s=this._arrangeAutoWidth(f+1);if(w||s){var v=this.host.width();this.toppager[0].style.width=parseInt(v)+"px";this.toolbar[0].style.width=parseInt(v)+"px";this.statusbar[0].style.width=parseInt(v)+"px";this.filter[0].style.width=parseInt(v)+"px"}if(w){var B=this._measureTopAndHeight();q=B.top;r=B.height}}var m=0;if(this.pageable){m=this.pagerHeight;if(this.pagerPosition!="top"){e+=this.pagerHeight}}if(this.showAggregates){e+=this.aggregatesHeight;m+=this.aggregatesHeight}if(this.showstatusbar){e+=this.statusBarHeight;m+=this.statusBarHeight}if(this.hScrollBar[0].style.height!=c+"px"){this.hScrollBar[0].style.height=parseInt(c)+"px"}if(this.hScrollBar[0].style.top!=q+r-n-c-m+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=q+r-n-c-m-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var g=false;var z=false;if(f==0){if(l!=(v-2)+"px"){this.hScrollBar[0].style.width=(v-2)+"px";g=true}}else{if(l!=(v-c-n)+"px"){this.hScrollBar[0].style.width=(v-c-n+"px");g=true}}if(this.vScrollBar[0].style.width!=c+"px"){this.vScrollBar[0].style.width=c+"px";z=true}if(this.vScrollBar[0].style.height!=parseInt(r)-e+"px"){this.vScrollBar[0].style.height=(parseInt(r)-e+"px");z=true}if(this.vScrollBar[0].style.left!=parseInt(v)-parseInt(c)-n+"px"||this.vScrollBar[0].style.top!=q+"px"){this.vScrollBar[0].style.top=q+"px";this.vScrollBar[0].style.left=parseInt(v)-parseInt(c)-n+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:q});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:c+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var u=this.hScrollInstance;u.disabled=this.disabled;if(g){u.refresh()}if(z){k.refresh()}var o=function(C){if((C.vScrollBar[0].style.visibility!="hidden")&&(C.hScrollBar[0].style.visibility!="hidden")){C.bottomRight[0].style.visibility="inherit";C.bottomRight[0].style.left=1+parseInt(C.vScrollBar.css("left"))+"px";C.bottomRight[0].style.top=parseInt(C.hScrollBar.css("top"))+"px";if(C.rtl){C.bottomRight.css("left","0px")}C.bottomRight[0].style.width=parseInt(c)+3+"px";C.bottomRight[0].style.height=parseInt(c)+4+"px";if(C.showAggregates){C.bottomRight.css("z-index",99);C.bottomRight.height(parseInt(c)+4+C.aggregatesHeight);C.bottomRight.css({top:parseInt(C.hScrollBar.css("top"))-C.aggregatesHeight})}}else{C.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=v-f+"px"){this.content[0].style.width=v-f+"px"}if(this.content[0].style.height!=r-e+3+"px"){this.content[0].style.height=r-e+3+"px"}if(this.content[0].style.top!=q+"px"){this.content[0].style.top=parseInt(q)+"px"}if(this.rtl){this.content.css("left",f);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",f)}if(this.table){var p=this.table.width();if(p<v-f){this.content.css("left",v-p+2);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",v-p+2)}}}}if(this.showAggregates){this.aggregates.css("top",q+r-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0));if(this.rtl){this.aggregates.css("left","0px")}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({top:q+r-n-c-m+this.aggregatesHeight+"px"});this.aggregates.css("top",1+q+r-c-5-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0))}o(this)}if(this.showstatusbar){this.statusbar.css("top",q+r-this.statusBarHeight-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.statusbar.css("left",this.content.css("left"))}else{this.statusbar.css("left","0px")}}}if(this.pageable){this.pager[0].style.width=v+"px";this.pager[0].style.height=this.pagerHeight+"px";this.pager[0].style.top=parseInt(q)+parseInt(r)-parseInt(this.pagerHeight)-1+"px"}else{this.pager[0].style.height="0px"}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(v!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(r!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostwidth=v},scrollOffset:function(e,d){if(arguments.length==0||(e!=null&&typeof(e)=="object"&&!e.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(e!=null&&typeof(e)=="object"){var d=e.left;var c=e.top;var e=c}if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(c){if(c==null||c==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",c)}},scrolltop:function(c){if(c==null||c==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",c)}},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(c){this._updating=false;if(c===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(h,j,c){if(this.loadingstate===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}var g=this;if(h==null){h={}}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataView();this.dataview.pageable=this.pageable;this.dataview.grid=this;if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pageSize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pageSize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}}this._loading=true;this.dataview.update=function(y){g._loading=false;g.rowsByKey=new Array();var C=g.source._source.datafields;if(g.groups&&g.groups.length>0){var s=Object.prototype.toString;var m=g.groups[0];Object.prototype.toString=(typeof m=="function")?m:function(){return this[m]};if(!g.source.records.sort){var u=new Array();var q=0;var E=0;var D={};b.each(D,function(){u[E+q++]=this});D=u}g.source.records.sort(function(G,F){if(G===undefined){G=null}if(F===undefined){F=null}if(G===null&&F===null){return 0}if(G===null&&F!==null){return -1}if(G!==null&&F===null){return 1}var J=0;var I=0;if(G&&G.uid){J=G.uid}if(F&&F.uid){I=F.uid}G=G.toString();F=F.toString();if(b.jqx.dataFormat.isNumber(G)&&b.jqx.dataFormat.isNumber(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(b.jqx.dataFormat.isDate(G)&&b.jqx.dataFormat.isDate(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(G)&&!b.jqx.dataFormat.isNumber(F)){G=String(G).toLowerCase();F=String(F).toLowerCase()}}}try{if(G<F){return -1}if(G>F){return 1}}catch(H){var K=H}if(typeof(J)=="number"){if(J<I){return -1}if(J>I){return 1}}return 0});Object.prototype.toString=s}for(var A=0;A<g.source.records.length;A++){var p=g.source.records[A];g.rowsByKey[p.uid]=p;if(p.records&&p.records.length>0){var t=function(F){for(var G=0;G<F.length;G++){if(!F[G]){continue}g.rowsByKey[F[G].uid]=F[G];if(F[G].records&&F[G].records.length>0){t(F[G].records)}}};t(p.records)}if(A===0){var n=false;if(C){for(var z=0;z<C.length;z++){if(!C[z]){continue}if(!C[z].type){n=true;C[z].type="string";var l=p[C[z].name];if(l==undefined){continue}if(l===true||l===false){C[z].type="boolean"}if(l!=null&&l.toString().indexOf(g.gridlocalization.currencysymbol)>-1||l.toString().indexOf(g.gridlocalization.percentsymbol)>-1){var v=l.toString().split(" ").length;var k=new Number(g._toNumber(l.toString()));if(!isNaN(k)&&v==1){C[z].type="number"}}if(b.jqx.dataFormat.isNumber(l)||(!isNaN(parseFloat(l))&&isFinite(l))){C[z].type="number"}if(b.jqx.dataFormat.isDate(l)){C[z].type="date"}}}}if(n){for(var z=0;z<C.length;z++){var w=g.source.getvaluebytype(p[C[z].name],C[z]);if(w!=null&&C[z].type=="number"){var B=w;B=new Number(g._toNumber(B.toString()));if(!isNaN(B)){w=B}}p[C[z].name]=w}}}}if(j==="pager"||j==="filter"||j==="sort"){g.refresh()}else{g._render()}if(g.autoShowLoadElement&&!g._loading){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(!g.disabled){if(g.pagernexttop){g.pagerfirsttop.jqxButton({disabled:false});g.pagerfirstbottom.jqxButton({disabled:false});g.pagerlasttop.jqxButton({disabled:false});g.pagerlastbottom.jqxButton({disabled:false});g.pagernexttop.jqxButton({disabled:false});g.pagerprevioustop.jqxButton({disabled:false});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({disabled:false});g.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}g.pagernextbottom.jqxButton({disabled:false});g.pagerpreviousbottom.jqxButton({disabled:false})}}}g._updateTouchScrolling();g._raiseEvent("bindingComplete");if(c){c()}if(!g.initializedcall){g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){g._updatesize(true)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var r=6000+Math.floor((Math.random()*4000)+1);var x=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(x)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},r)}if(g.host.css("visibility")=="hidden"){var o=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}};this.dataview.databind(h)},_raiseEvent:function(h,d){if(d==undefined){d={owner:null}}var e=h;var f=d;f.owner=this;var g=new b.Event(e);g.owner=this;g.args=f;var c=this.host.trigger(g);d=g.args;return c},ensureColumnVisible:function(d){var g=0;var c=0;for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield!=d){g+=this.columns.records[f].width}else{g+=this.columns.records[f].width;c=this.columns.records[f].width;break}}if(this.hScrollBar.css("visibility")!="hidden"){var h=this.hScrollBar.jqxScrollBar("value");var e=h+this.host.width();if(h>g-c){this.hScrollBar.jqxScrollBar("setPosition",g-c)}else{if(g>e){this.hScrollBar.jqxScrollBar("setPosition",h+g-e)}}}},ensurerowvisiblebykey:function(o){if(this.vScrollBar[0].style.visibility==="hidden"){return false}var p=this._getuirow(o);if(!p){return}var m=this.vScrollBar.jqxScrollBar("value");var e=this.host.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:0}else{g+=this.showHeader?this.columnsheader.height():0}if(this.filterable){g+=this.filter.height()}if(this.pageable){if(this.pagerPosition==="top"){g+=this.pagerHeight}}if(this.showtoolbar){g+=this.toolbarHeight}e-=g;if(this.pageable&&this.pagerPosition!=="top"){e-=this.pagerHeight}if(this.showstatusbar){e-=this.statusBarHeight}if(this.showAggregates){e-=this.aggregatesHeight}if(this.hScrollBar.css("visibility")!="hidden"){e-=20}var n=this.host.coord().top+g;var f=m;var c=e+f;var i=p.coord().top+m-n;i=Math.round(i);var l=i+p.outerHeight();l=Math.round(l);if(Math.round(p.position().top)===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var j=b(this._table.children()[1]).children().length-1;var d=this._getuikey(j);var k=this._getuirow(d);if(k){if(k[0]===p[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}}if(i<f){var h=i-p.height();if(h<0){h=0}return this.vScrollBar.jqxScrollBar("setPosition",h)}if(l>c){return this.vScrollBar.jqxScrollBar("setPosition",4+l-e)}},ensureRowVisible:function(c){var d=this._getkey(c);this.ensurerowvisiblebykey(d)},getColumn:function(c){var d=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==c||this.displayfield==c){d=this;return false}})}return d},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}var d=g;g=g.toLowerCase();var f=this.getColumn(e);if(f==null){return}var i=f[g];f[g]=h;f[d]=h;var c=this.getColumn(e);if(c!=null){c[g]=h}switch(g){case"filteritems":case"text":case"editable":case"resizable":case"draggable":case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(g=="align"){this._rendercolumnheaders();this.refresh()}else{if(g=="text"||g=="class"||g=="hidden"||g=="pinned"||g=="resizable"||g=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(g=="width"||g=="maxwidth"||g=="minwidth"){f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(c,e){if(c==null||e==null){return null}e=e.toLowerCase();var d=this.getColumn(c);return d[e]},setColumnProperty:function(c,d,e){this._setcolumnproperty(c,d,e)},hideColumn:function(c){this._setcolumnproperty(c,"hidden",true)},showColumn:function(c){this._setcolumnproperty(c,"hidden",false)},updateBoundData:function(d,c){this.databind(this.source,d,c)},refresh:function(c){if(c!=true){if(b.jqx.isHidden(this.host)){return}this.vScrollInstance.setPosition(0);this._renderrows();this.updatepagerdetails();this._arrange();if(this._arrangeFilterRow){this._arrangeFilterRow()}this._renderhorizontalscroll();this._showicons();if(this.showAggregates){this._updateaggregates()}this._updateTouchScrolling()}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var d="www.jqwidgets.com";if(location.hostname.indexOf(d.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var e=String.fromCharCode(83,80,65,78);var c=String.fromCharCode(72,84,84,80,58,47,47);var f=document.createElement(e);f.id=b.jqx.utilities.createId();f.innerHTML=d;f.style.position="absolute";f.style.right="5px";f.style.bottom="5px";f.style.color="#909090";f.style.cursor="pointer";f.style.zIndex="999999";f.style.display="none";f.style.fontSize="9px";f.onmousedown=function(){open(c+d)};this.content[0].appendChild(f);this._gridRenderElement=f}}},_updateTouchScrolling:function(){var d=this.that;if(d.isTouchDevice()){var f=b.jqx.mobile.getTouchEventName("touchstart");var e=b.jqx.mobile.getTouchEventName("touchend");var c=b.jqx.mobile.getTouchEventName("touchmove");if(d.table){d.removeHandler(d.table,f+".touchScroll");d.removeHandler(d.table,c+".touchScroll");d.removeHandler(d.table,e+".touchScroll");d.removeHandler(d.table,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(d.table[0],Math.max(d.vScrollInstance.max,d.hScrollInstance.max),function(i,h){if(h!=null&&d.vScrollBar.css("visibility")!="hidden"){var g=d.vScrollInstance.value;d.vScrollInstance.setPosition(h)}if(i!=null&&d.hScrollBar.css("visibility")!="hidden"){var g=d.hScrollInstance.value;d.hScrollInstance.setPosition(i)}d.scrolled=new Date();d.vScrollInstance.thumbCapture=true},this.element.id,this.hScrollBar,this.vScrollBar)}}},_showicons:function(){if(!this.table){return}for(var e=0;e<this.columns.records.length;e++){var g=this.columns.records[e];b(g.filtericon).hide();b(g.sortasc).hide();b(g.sortdesc).hide();if(this.filterMode!=="simple"){for(var d=0;d<this.dataview.filters.length;d++){var f=this.dataview.filters[d];if(f.datafield===g.displayfield){b(g.filtericon).show();break}}}if(this.sortcolumn!==null){if(this.sortcolumn===g.displayfield){if(this.sortdirection!=null){if(this.sortdirection.ascending){b(g.sortasc).show()}else{b(g.sortdesc).show()}}}}if((g.align!="left"&&g.align!="center"&&!this.rtl)||(this.rtl&&g.align!="right"&&g.align!="center")){var h=b.jqx.isHidden(b(g.filtericon))?0:16;h+=b.jqx.isHidden(b(g.sortasc))?0:16;h+=b.jqx.isHidden(b(g.sortdesc))?0:16;var c=b(b(b(g.element).children()[0]).children()[0]);if(!this.rtl){if(h>0){c.css("margin-right",4+h+"px")}else{c.css("margin-right","4px")}}else{if(h>0){c.css("margin-left",4+h+"px")}else{c.css("margin-left","4px")}}}}},render:function(j){var f="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='toppager' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='statusbar' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerText="";this.element.innerHTML=f;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var h=this.host.find("#verticalScrollBar"+this.element.id);var l=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=h.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=l.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=b.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=b.data(this.hScrollBar[0],"jqxScrollBar").instance;this.filter=this.host.find("#filter");this.filter[0].id="filter"+this.element.id;this.filter.addClass(this.toTP("jqx-widget-header"));this.filter.addClass(this.toTP("jqx-grid-toolbar"));this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-grid-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.aggregates=this.host.find("#aggregates");this.aggregates[0].id="aggregates"+this.element.id;this.aggregates.addClass(this.toTP("jqx-grid-statusbar"));this.aggregates.addClass(this.toTP("jqx-widget-header"));this.statusbar=this.host.find("#statusbar");this.statusbar[0].id="statusbar"+this.element.id;this.statusbar.addClass(this.toTP("jqx-grid-statusbar"));this.statusbar.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.toppager=this.host.find("#toppager");this.toppager.addClass(this.toTP("jqx-grid-pager-top"));this.toppager.addClass(this.toTP("jqx-widget-header"));this.gridtable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var c=this.source.datafields;if(c==null&&this.source._source){c=this.source._source.datafields}if(c){for(var d=0;d<this.columns.length;d++){var e=this.columns[d];if(e&&e.cellsFormat&&e.cellsFormat.length>2){for(var k=0;k<c.length;k++){if(c[k].name==e.datafield&&!c[k].format){c[k].format=e.cellsFormat;break}}}}}this.databind(this.source);if(this.showtoolbar){this.toolbar.css("visibility","inherit")}if(this.showstatusbar){this.statusbar.css("visibility","inherit")}if(this.showAggregates){this.aggregates.css("visibility","inherit")}this.tableheight=null;var g=this;var i=function(){if(g.content){g.content[0].scrollTop=0;g.content[0].scrollLeft=0}if(g.gridcontent){g.gridcontent[0].scrollLeft=0;g.gridcontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(m){i();return false});if(j!==true){this._render()}},_render:function(){var e=this;if(e.dataview==null){return}if(e._loading){return}if(e.columnsHeight!=25||e.columnGroups){e._measureElement("column")}if(e.filterable){e.filter[0].style.visibility="inherit"}else{e.filter[0].style.visibility="hidden"}e.rowinfo=new Array();e._removeHandlers();if(e.columns==null){e.columns=new b.jqx.dataCollection(e.element)}else{e._initializeColumns()}var c=false;var f=false;if(e.width!=null&&e.width.toString().indexOf("%")!=-1){c=true}if(c){e.element.style.width=e.width}else{e.host.width(e.width)}if(e.height!=null&&e.height.toString().indexOf("%")!=-1){f=true}if(f){e.element.style.height=e.height}else{e.host.height(e.height)}e._lastHostWidth=e.host.width();e._lastHostHeight=e.host.height();b.jqx.utilities.html(e.content,"");e.columnsheader=e.columnsheader||b('<div style="overflow: hidden;"></div>');e.columnsheader.remove();e.columnsheader.addClass(e.toTP("jqx-widget-header"));e.columnsheader.addClass(e.toTP("jqx-grid-header"));if(!e.showHeader){e.columnsheader.css("display","none")}else{if(e.columnsheader){e.columnsheader.css("display","block")}}e.gridcontent=e.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');e.gridcontent.remove();var d=e.columnsHeight;d=e._preparecolumnGroups();e.columnsheader.height(d);e.content.append(e.columnsheader);e.content.append(e.gridcontent);e._rendercolumnheaders();e.tableheight=null;e.gridcontent.find("#contenttable"+e.element.id).remove();if(e.table!=null){e.table.remove();e.table=null}e.table=b('<div id="contenttable'+e.element.id+'" style="overflow: hidden; position: relative;"></div>');e.gridcontent.addClass(e.toTP("jqx-grid-content"));e.gridcontent.addClass(e.toTP("jqx-widget-content"));e.gridcontent.append(e.table);e._renderrows();if(e.filterable){e._renderfilter()}if(e.pageable){e._initpager()}e._arrange();if(e.renderStatusBar){e.renderStatusBar(e.statusbar)}if(e.rendertoolbar){e.rendertoolbar(e.toolbar)}if(e.showAggregates){e._updateaggregates()}if(e.disabled){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}e._renderhorizontalscroll();e._showicons();e._addHandlers()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},_initpager:function(){var g=this;var c=this.gridlocalization.pagergotopagestring;var i=this.gridlocalization.pagerrangestring;var d=this.gridlocalization.pagershowrowsstring;var h=(this.pagerHeight-28)/2;this.pagerdiv=this.pagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');this.toppagerdiv=this.toppagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.toppagerdiv.remove();return}if(!this.pagerRenderer){this.pagerdiv.css("top",h);this.toppagerdiv.css("top",h);var f=function(s,E){var n=this;var r=b('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');var D=b('<div style="float: right; margin-right: 7px;"></div>');var t=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var j=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var m=b('<div type="button" style="margin-left: 3px; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var q=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var z=b('<div style="margin-right: 7px; float: right;"></div>');var x=b('<div style="margin-right: 7px; float: right;"></div>');var p=b('<div style="padding-bottom: 3px; margin-right: 3px; float: right;"></div>');r.attr("disabled",n.disabled);var A=b('<div id="gridpagerlist" style="margin-top: 0px; margin-right: 7px; float: right;"></div>');A[0].id="gridpagerlist"+E+n.element.id;n.removeHandler(t,"mousedown");n.removeHandler(t,"mouseup");n.removeHandler(t,"click");n.removeHandler(j,"mousedown");n.removeHandler(j,"mouseup");n.removeHandler(j,"click");n.removeHandler(m,"mousedown");n.removeHandler(m,"mouseup");n.removeHandler(m,"click");n.removeHandler(q,"mousedown");n.removeHandler(q,"mouseup");n.removeHandler(q,"click");if(!n.rtl){j.attr("title",n.gridlocalization.pagerpreviousbuttonstring);t.attr("title",n.gridlocalization.pagernextbuttonstring)}else{t.attr("title",n.gridlocalization.pagerpreviousbuttonstring);j.attr("title",n.gridlocalization.pagernextbuttonstring)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){p.css("padding-top","3px")}this["pagerfirst"+E]=m;this["pagerlast"+E]=q;this["pagernext"+E]=t;this["pagerprevious"+E]=j;this["pagergotoinput"+E]=r;this["pagerdetails"+E]=z;this["pagershowrows"+E]=x;this["pagergotolabel"+E]=D;this["pagershowrowscombo"+E]=A;this["pagerbuttons"+E]=p;if(n.pagerMode=="default"){if(!n.rtl){m.attr("title",n.gridlocalization.pagerfirstbuttonstring);q.attr("title",n.gridlocalization.pagerlastbuttonstring)}else{q.attr("title",n.gridlocalization.pagerfirstbuttonstring);m.attr("title",n.gridlocalization.pagerlastbuttonstring)}var v=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");v.addClass(n.toThemeProperty("jqx-icon-arrow-first"));m.wrapInner(v);var o=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");o.addClass(n.toThemeProperty("jqx-icon-arrow-last"));q.wrapInner(o);if(!n.rtl){s.append(m);s.append(j);s.append(p);s.append(t);s.append(q)}else{s.append(q);s.append(t);s.append(p);s.append(j);s.append(m)}q.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});m.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var C=!n.rtl?"left":"right";p.css("float",C);q.css("float",C);m.css("float",C);t.css("float",C);j.css("float",C);z.css("float",n.rtl?"left":"right");if(n.rtl){z.css("margin-left","7px");z.css("margin-right","0px")}else{z.css("margin-left","0px");z.css("margin-right","7px")}}else{if(!n.rtl){s.append(t);s.append(j)}}t.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});j.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var k=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");k.addClass(n.toThemeProperty("jqx-icon-arrow-left"));j.wrapInner(k);var l=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");l.addClass(n.toThemeProperty("jqx-icon-arrow-right"));t.wrapInner(l);if(!n.rtl){s.append(z)}if(n.pagerMode!="default"){if(!n.rtl){s.append(A);s.append(x);s.append(r);s.append(D)}else{s.append(D);s.append(r);s.append(x);s.append(A);s.append(z);s.append(t);s.append(j)}var u=n.pageSizeOptions;A.jqxDropDownList({_checkForHiddenParent:false,rtl:n.rtl,disabled:n.disabled,source:u,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:n.theme});var B=0;for(var y=0;y<u.length;y++){if(this.pageSize>=u[y]){B=y}}D[0].innerHTML=c;A.jqxDropDownList({selectedIndex:B});var w=r.find("input");w.addClass(n.toThemeProperty("jqx-input"));w.addClass(n.toThemeProperty("jqx-widget-content"));if(this.rtl){w.css("direction","rtl")}var n=this;this.removeHandler(A,"select");this.addHandler(A,"select",function(K){if(K.args){if(n.vScrollInstance){n.vScrollInstance.setPosition(0)}var I=K.args.index;n.pagershowrowscombotop.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.renderSelection("mouse");n.pagershowrowscombotop.data().jqxDropDownList.instance.renderSelection("mouse");var L=n.dataview.pagenum*n.dataview.pagesize;var H=u[I];var J=n.pageSize;n.pageSize=parseInt(H);if(isNaN(n.pageSize)){n.pageSize=10}if(H>=100){n.pagershowrowscombotop.jqxDropDownList({width:55});n.pagershowrowscombobottom.jqxDropDownList({width:55})}else{n.pagershowrowscombotop.jqxDropDownList({width:44});n.pagershowrowscombobottom.jqxDropDownList({width:44})}n.dataview.pagesize=n.pageSize;var G=Math.floor(L/n.dataview.pagesize);if(G!==n.dataview.pagenum||parseInt(H)!==parseInt(J)){n._raiseEvent("pageSizeChanged",{pagenum:G,oldpageSize:J,pageSize:n.dataview.pagesize});var F=n.goToPage(G);if(!F){if(!n.serverProcessing){n.refresh()}else{n.updateBoundData("pager")}}}}});var r=r.find("input");r.addClass(n.toThemeProperty("jqx-grid-pager-input"));r.addClass(n.toThemeProperty("jqx-rc-all"));this.removeHandler(r,"keydown");this.removeHandler(r,"change");n.addHandler(r,"keydown",function(F){if(F.keyCode>=65&&F.keyCode<=90){return false}if(F.keyCode=="13"){var G=r.val();G=parseInt(G);if(!isNaN(G)){n.goToPage(G-1)}return false}});n.addHandler(r,"change",function(){var F=r.val();F=parseInt(F);if(!isNaN(F)){n.goToPage(F-1)}})}x[0].innerHTML=d;n.addHandler(t,"mouseenter",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseenter",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mouseleave",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseleave",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mousedown",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(t,"mouseup",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(j,"mousedown",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});n.addHandler(j,"mouseup",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});if(n.pagerMode==="default"){n.addHandler(q,"mouseenter",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseenter",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mouseleave",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseleave",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mousedown",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mousedown",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))});n.addHandler(q,"mouseup",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mouseup",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))})}n.addHandler(b(document),"mouseup.pagerbuttons"+E+this.element.id,function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"));k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"));if(o){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"));v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))}});n.addHandler(t,"click",function(){if(!t.jqxButton("disabled")){if(!n.rtl){n.goToNextPage()}else{n.goToPrevPage()}}});n.addHandler(j,"click",function(){if(!j.jqxButton("disabled")){if(!n.rtl){n.goToPrevPage()}else{n.goToNextPage()}}});if(this.pagerMode==="default"){n.addHandler(m,"click",function(){if(!m.jqxButton("disabled")){if(!n.rtl){n.goToPage(0)}else{var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}}});n.addHandler(q,"click",function(){if(!q.jqxButton("disabled")){if(!n.rtl){var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}else{n.goToPage(0)}}})}};this.pagerdiv.children().remove();this.toppagerdiv.children().remove();f.call(this,this.pagerdiv,"bottom");f.call(this,this.toppagerdiv,"top");this.pager.append(this.pagerdiv);this.toppager.append(this.toppagerdiv);this.updatepagerdetails()}else{this.pagerdiv.children().remove();this.toppager.children().remove();var e=this.pagerRenderer();if(e!=null){this.pagerdiv.append(b(e))}this.pager.append(this.pagerdiv);var e=this.pagerRenderer();if(e!=null){this.toppagerdiv.append(b(e))}this.toppager.append(this.toppagerdiv)}},_updatepagertheme:function(){},goToPage:function(f,h){if(this._loading){return false}if(this.editKey!=undefined){if(this.editSettings.saveOnPageChange){var e=this.endroweditbykey(this.editKey);if(!e){return false}}else{return false}}if(f==null||f==undefined){f=0}if(f==-1){f=0}if(f<0){return false}var d=this.dataview.totalrecords;var g=this.dataview.pagenum;var c=Math.ceil(d/this.pageSize);if(f>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(f>0){f=c-1}}if(this.dataview.pagenum!=f){if(this.pageable){this.dataview.pagenum=f;this._raiseEvent("pageChanged",{pagenum:f,oldpagenum:g,pageSize:this.dataview.pagesize})}if(!this.serverProcessing){this.refresh();if(h){if(b.isFunction(h)){h()}}}else{this.updateBoundData("pager",h)}return true}return false},goToPrevPage:function(e){if(this.dataview.pagenum>0){return this.goToPage(this.dataview.pagenum-1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){var d=this.dataview.totalrecords;var c=Math.ceil(d/this.pageSize);return this.goToPage(c-1,e)}}return false},goToNextPage:function(e){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var c=Math.ceil(d/this.pageSize);if(this.dataview.pagenum<c-1){return this.goToPage(this.dataview.pagenum+1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){return this.goToPage(0,e)}}return false},updatepagerdetails:function(){if(!this.pageable){return}var j=this;if(!this.serverProcessing){if(this.source.hierarchy){var m=j._names();var g=0;var r=function(y,w){for(var x=0;x<w.length;x++){if(j.dataview.filters.length==0){w[x]._visible=true}if(w[x]._visible!==false){g++}if(j.treeGrid&&j.treeGrid.pageSizeMode=="root"){continue}if(w[x].records&&(w[x][m.expanded]||w[x][m.leaf])){if(w[x]._visible!==false){r(y+1,w[x].records);if(this.treeGrid&&b(this.treeGrid).jqxTreeGrid("showSubAggregates")){if(y!=0){g--}}}}}};r(0,this.dataview.rows);this.dataview.totalrecords=g}else{this.dataview.totalrecords=this.dataview.rows.length}}var d=this.dataview.pagenum*this.pageSize;var u=(this.dataview.pagenum+1)*this.pageSize;if(u>=this.dataview.totalrecords){u=this.dataview.totalrecords}var v=this.dataview.totalrecords;d++;var t=Math.ceil(v/this.dataview.pagesize);if(t>=1){t--}t++;if(this.pageSizeMode=="root"){t=Math.ceil(this.rootRecordsLength/this.dataview.pagesize);if(t>=1){t--}t++;v=this.rootRecordsLength;this.dataview.totalrecords=this.rootRecordsLength}if(this.pagerMode!="default"){if(this["pagergotoinputbottom"]){var k=this["pagergotoinputbottom"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t);k=this["pagergotoinputtop"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t)}}else{var o="";var n=this.pagerButtonsCount;if(n==0||!n){n=5}var s=0;if(this.rtl){s=n-1}while((this.rtl&&s>=0)||(!this.rtl&&s<n)){var e=1+s;var p=this.dataview.pagenum/n;var f=Math.floor(p);e+=f*n;var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(e>t&&!this.rtl){break}else{if(this.rtl&&e>t){s--;continue}}if(!this.rtl){if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>";if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}}else{if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>"}if(this.rtl){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(!this.rtl){s++}else{s--}}if(!this["pagerbuttonsbottom"]){return}var h=this["pagerbuttonsbottom"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");var h=this["pagerbuttonstop"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");this["pagerbuttonsbottom"][0].innerHTML=o;this["pagerbuttonstop"][0].innerHTML=o;if(this.disabled){this.host.find(".jqx-grid-pager-number").css("cursor","default")}var q=function(){h.click(function(i){if(j.disabled){return}var w=b(i.target).attr("data-page");j.goToPage(parseInt(w)-1)});h.mouseenter(function(i){if(j.disabled){return}b(i.target).addClass(j.toTP("jqx-fill-state-hover"))});h.mouseleave(function(i){if(j.disabled){return}b(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};if(this.pagerPosition==="both"||this.pagerPosition==="bottom"){var h=this["pagerbuttonsbottom"].find("a");q(h)}if(this.pagerPosition==="both"||this.pagerPosition==="top"){var h=this["pagerbuttonstop"].find("a");q(h)}}if(u==0&&u<d){d=0}if(this["pagerdetailsbottom"]){if(!this.rtl){this["pagerdetailsbottom"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v;this["pagerdetailstop"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v}else{this["pagerdetailsbottom"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d;this["pagerdetailstop"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d}}if(this.pagerMode=="default"){var l=this["pagerbuttonsbottom"].width()+b(this["pagerdetailsbottom"]).width()+160;this.pagerdiv.css("min-width",l);this.toppagerdiv.css("min-width",l)}if(d>u){this.goToPrevPage()}},_preparecolumnGroups:function(){var o=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var m=this;for(var g=0;g<this.columnGroups.length;g++){this.columnGroups[g].parent=null;this.columnGroups[g].groups=null}for(var g=0;g<this.columns.records.length;g++){this.columns.records[g].parent=null;this.columns.records[g].groups=null}var n=function(j){for(var t=0;t<m.columnGroups.length;t++){var u=m.columnGroups[t];if(u.name===j){return u}}return null};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];if(!p.groups){p.groups=null}if(p.parentGroup){p.parentgroup=p.parentGroup}if(p.parentgroup){var r=n(p.parentgroup);if(r){p.parent=r;if(!r.groups){r.groups=new Array()}if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];if(p.columngroup){var r=n(p.columngroup);if(r){if(!r.groups){r.groups=new Array()}p.parent=r;if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}var q=0;for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];var d=p;p.level=0;while(d.parent){d=d.parent;p.level++}var d=p;var c=p.level;q=Math.max(q,p.level);while(d.parent){d=d.parent;if(d){d.level=--c}}}var l=function(x){var w=new Array();if(x.columngroup){w.push(x)}if(!x.groups){return new Array()}for(var v=0;v<x.groups.length;v++){if(x.groups[v].columngroup){w.push(x.groups[v])}else{if(x.groups[v].groups){var u=l(x.groups[v]);for(var t=0;t<u.length;t++){w.push(u[t])}}}}return w};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];var e=l(p);p.columns=e;var h=new Array();var s=0;for(var f=0;f<e.length;f++){h.push(this.columns.records.indexOf(e[f]));if(e[f].pinned){s++}}if(s!=0){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group cannot be pinned.")}h.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var k=1;k<h.length;k++){if(h[k]!=h[k-1]+1){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+q;o=this.columnGroupslevel*this.columnsHeight}return o},wheel:function(e,d){if(d.autoheight&&d.hScrollBar.css("visibility")=="hidden"){e.returnValue=true;return true}var f=0;if(!e){e=window.event}if(e.originalEvent&&e.originalEvent.wheelDelta){e.wheelDelta=e.originalEvent.wheelDelta}if(e.wheelDelta){f=e.wheelDelta/120}else{if(e.detail){f=-e.detail/3}}if(f){var c=d._handleDelta(f);if(c){if(e.preventDefault){e.preventDefault()}if(e.originalEvent!=null){e.originalEvent.mouseHandled=true}if(e.stopPropagation!=undefined){e.stopPropagation()}}if(c){c=false;e.returnValue=c;return c}else{return false}}if(e.preventDefault){e.preventDefault()}e.returnValue=false},_handleDelta:function(e){if(this.vScrollBar.css("visibility")!="hidden"){var d=this.vScrollInstance.value;if(e<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var c=this.vScrollInstance.value;if(d!=c){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var d=this.hScrollInstance.value;if(e>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var c=this.hScrollInstance.value;if(d!=c){return true}}}return false},_removeHandlers:function(){this.removeHandler(this.host,"focus");this.removeHandler(b(window),"jqxReady."+this.element.id);if(this._mousewheelfunc){this.removeHandler(this.host,"mousewheel",this._mousewheelfunc)}var c="mousedown";if(this.isTouchDevice()){c=b.jqx.mobile.getTouchEventName("touchstart")}this.removeHandler(this.host,"dragstart."+this.element.id);this.removeHandler(this.host,"keydown");if(this.table){this.removeHandler(this.table,"mouseleave");this.removeHandler(this.table,"mousemove");this.removeHandler(this.table,c);this.removeHandler(this.table,"selectstart."+this.element.id);if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.removeHandler(this.table,"dblclick")}}},_addHandlers:function(){var f=this;this._mousewheelfunc=this._mousewheelfunc||function(i){f.wheel(i,f);return false};this.addHandler(this.host,"dragstart."+this.element.id,function(i){return false});this.addHandler(this.table,"selectstart."+this.element.id,function(i){if(f.enableBrowserSelection){return true}if(f.filterable){if(b(i.target).ischildof(f.filterrow)){return true}}if(f.rowDetails){if(b(i.target).parents("[data-role=details]").length>0){return true}}if(undefined==f.editKey){return false}});this.addHandler(b(window),"jqxReady."+this.element.id,function(){f._updatecolumnwidths();f.refresh()});if(this.editable){this.addHandler(b(document),"mousedown.gridedit"+this.element.id,function(k){if(f.editable&&f.editSettings.saveOnBlur){if(f.editKey!=null){if(!f.vScrollInstance.isScrolling()&&!f.vScrollInstance.isScrolling()){var s=f.host.coord();var p=f.host.width();var l=f.host.height();var u=false;var j=false;var t=false;if(k.pageY<s.top||k.pageY>s.top+l){u=true;j=true}if(k.pageX<s.left||k.pageX>s.left+p){u=true;t=true}if(u){var m=function(y){var x=b(y.children()[0]).data();if(x&&!x.jqxWidget){x=y.data()}if(!x){x=y.data()}if(x.jqxWidget&&x.jqxWidget.container&&x.jqxWidget.container[0].style.display=="block"){var i=x.jqxWidget;var z=i.container.coord().top;var w=i.container.coord().top+i.container.height();if(j&&(k.pageY<z||k.pageY>w)){u=true;i.close();return true}else{return false}}};var r=f._editors;if(r){for(var n=0;n<r.length;n++){var o=r[n].editor;var v=m(o);var q=o.attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}else{q=o.children().attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}}if(v===false){return}}}}if(u){f.endroweditbykey(f.editKey)}}}}})}this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"focus",function(i){if(i.preventDefault){}});var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}}else{f._timer=setTimeout(function(){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}},5)}};this.hScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f._renderhorizontalscroll()}}else{f._timer=setTimeout(function(){if(f.table){f._renderhorizontalscroll()}},5)}};var e="mousedown";if(this.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend");if(b.jqx.browser.msie&&b.jqx.browser.version<10){e="mousedown"}}var h=function(s,r){var m=null;var n=f._table.coord();var u=n.top;var A=n.left;var B=f._table[0].rows;for(var o=0;o<B.length;o++){var z=B[o];var w=z.cells;for(var p=0;p<w.length;p++){var t=w[p];var l=t.offsetLeft+A;var q=t.offsetTop+u;var k=t.offsetWidth;var v=t.offsetHeight;if(k===0||v===0){continue}if(q<=r&&r<q+v){if(l<=s&&s<l+k){m=t;break}}else{break}}}return m};var c=function(){if(f.hoveredRow){var j=f.hoveredRow[0].cells;var i=function(m){for(var n=0;n<m.length;n++){var l=m[n];var o=l.className;o=o.replace(" "+f.toTP("jqx-fill-state-hover"),"");o=o.replace(" "+f.toTP("jqx-grid-cell-hover"),"");l.className=o}};i(j);if(f._pinnedTable&&j.length>0){var k=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;i(k)}}f.hoveredRow=null};this.addHandler(this.table,"mouseleave",function(i){c();if(f.wrapper){f.wrapper.parent().removeAttr("tabindex",0);f.wrapper.removeAttr("tabindex",1);f.content.removeAttr("tabindex",2)}});var g=function(o){if(!f.enableHover){return true}f.hoveredRow=o;if(!o){return true}var l=o[0].cells;var n=f.rowDetails&&!f.treeGrid;var q=n&&!f.treeGrid?1:0;var k=0;if(q>0&&f.rtl){q=0;k=1}for(var m=q;m<l.length-k;m++){var j=l[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}if(f._pinnedTable){if(f._pinnedTable[0].rows.length){var p=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;for(var m=q;m<p.length-k;m++){var j=p[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}}}};if(f.isTouchDevice()){f.enableHover=false}this.addHandler(this.table,"mousemove",function(j){var i=j.pageX;var m=j.pageY;if(f.disabled){return true}if(!f.enableHover){return true}if(f.hScrollInstance.isScrolling()||f.vScrollInstance.isScrolling()){return true}var l=h(i,m);if(!l){return true}var k=b(l).parent();c();if(f.rowDetails&&f.treeGrid){if(k.attr("data-role")=="row-details"){return true}}if(f.renderedRecords&&f.renderedRecords.length===0){return true}if(f.editKey!=null){if(f.editKey===k.attr("data-key")){return true}}g(k);return true});this.addHandler(this.host,"keydown",function(i){return f._handleKey(i)});if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(i){f.table.trigger("mousedown",i)})}this.addHandler(this.table,e,function(B){var D=B.target;var q=null;if(f.disabled){return true}if(f.touchmode&&B.originalEvent&&B.originalEvent._pageX){return}var i=f.table.coord();var s=B.pageX;var r=B.pageY;if(b.jqx.browser.msie&&b.jqx.browser.version<9){if(arguments&&arguments.length==2){s=arguments[1].pageX;r=arguments[1].pageY}}if(f.isTouchDevice()){var E=b.jqx.position(B);s=E.left;r=E.top;if(isNaN(s)||isNaN(r)){var E=b.jqx.position(B.originalEvent);s=E.left;r=E.top}}q=h(s,r);var p=b(q).parent();var F=p.attr("data-key");if(f.rowDetails&&f.treeGrid){if(p.attr("data-role")=="row-details"){return true}}var v=function(){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}B.stopPropagation()}f.host.focus()};if(F!==undefined){var m=b(q).index();var k=f.columns.records[m];if(F==f.editKey){if(f.editSettings.editSingleCell){if(f.clickedTD==q){return true}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}}else{return true}}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}f.clickedTD=q;var l=f.rowinfo[F];if(l&&l.group){return true}var A=false;if(l){var C=f.getrowdisplayindex(l.row);var t=f.getrowindex(l.row);f._raiseEvent("rowClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});var o=new Date().getTime();var w=300;if(!f.clickTime){f.clickTime=new Date()}if(f._lastSelectedKey==F&&(o-f.clickTime.getTime()<w)){f._raiseEvent("rowDoubleClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});A=true;if(B.preventDefault){B.preventDefault()}}}f.clickTime=new Date();if(q.className.indexOf("jqx-grid-group")>=0){if(!l.expanded){f.showdetailsbykey(F)}else{f.hidedetailsbykey(F)}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("jqx-grid-group")>=0&&f.treeGrid){if(!l.expanded){f.treeGrid.expandRow(F)}else{f.treeGrid.collapseRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}if(B.preventDefault){B.preventDefault()}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("checkbox")>=0&&f.treeGrid){if(!l.checked){f.treeGrid.checkRow(F)}else{f.treeGrid.uncheckRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}}else{var m=b(q).index();var k=f.columns.records[m];if(B.stopPropagation){B.stopPropagation()}if(f.editable&&f.editKey==null){if(f._lastSelectedKey==F&&f.editSettings.editOnDoubleClick&&A){var u=f.beginroweditbykey(F,k);return true}}if(f.isTouchDevice()){if(f.scrolled&&new Date()-f.scrolled<500){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return false}}if(f.selectionMode==="singlerow"&&f.selectionMode!=="custom"){f.selectrowbykey(F,"mouse",false);f._lastSelectedKey=F;f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}else{if(f.selectionMode!=="custom"){if(!B.ctrlKey&&!B.metaKey){f.clearSelection(false)}if(B.shiftKey){if(f._lastSelectedKey){var l=f.rowinfo[f._lastSelectedKey];f._doSelection(f._lastSelectedKey,true,false);var j=b(f._table.children()[1]).children(("[data-key="+f._lastSelectedKey+"]"));var n=j.index();var z=p.index();f._selectRange(z,n);f.selectrowbykey(F,"mouse",false);f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}}}f._lastSelectedKey=F;f.clickTime=new Date();if(f.selectionMode!=="custom"){if(l){if(l.selected){f.unselectrowbykey(F,"mouse",false)}else{f.selectrowbykey(F,"mouse",false)}v()}}else{return true}f._updateSelection();if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return true}}}}}})},_updateSelection:function(){var l=this;var r=b(l._table.children()[1]).children();var n=l._pinnedTable?b(l._pinnedTable.children()[1]).children():null;var e=l.rowDetails&&!l.treeGrid;var d=e?1:0;var f=0;if(d>0&&l.rtl){d=0;f=1}for(var h=0;h<r.length;h++){var q=r[h].cells;if(n){var c=n[h].cells}var p=null;if(r[h].getAttribute){p=r[h].getAttribute("data-key")}if(l.rowinfo[p]&&l.selectionMode!=="none"){if(l.rowinfo[p].selected){for(var g=d;g<q.length-f;g++){var o=q[g];b(o).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"));if(c){b(c[g]).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"))}}}else{for(var g=d;g<q.length-f;g++){var o=q[g];if(c){var k=c[g]}var m=o.className;m=m.replace(" jqx-fill-state-pressed","");m=m.replace(" jqx-fill-state-pressed-"+l.theme,"");m=m.replace(" jqx-grid-cell-selected","");m=m.replace(" jqx-grid-cell-selected-"+l.theme,"");o.className=m;if(k){k.className=m}}}}}},_selectRange:function(f,e){var c=b(b(this._table.children()[1]).children()[e]);var j=this;if(f>e){var h=e;var d=c;while(h<f){var d=d.next();var g=d.attr("data-key");j._doSelection(g,true,false);h++}}else{if(f<e){var h=e;var d=c;while(h>f){var d=d.prev();var g=d.attr("data-key");this._doSelection(g,true,false);h--}}}},_getuikey:function(d,g){var f=null;var e=b(this._table.children()[1]).children();f=b(e[d]).attr("data-key");if(b(e[d]).attr("data-role")){var c=b(e[d]);if(g=="next"){while(c){c=c.next();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}else{if(g=="prev"){while(c){c=c.prev();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}}return null}return f},getRows:function(){return this.source.records},getView:function(){var d=this;var e=this._names();var f=new Array();var c=function(k,h){if(!h){return}for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j]._visible!==false){var g=b.extend({},h[j]);k.push(g);if(h[j][e.expanded]){g.records=new Array();c(g.records,h[j].records)}else{if(d.dataview.filters.length>0){g.records=new Array();c(g.records,h[j].records)}}}}};c(f,this.dataViewRecords);return f},getKeys:function(){var d=new Array();var e=this.source.records;for(var c=0;c<e.length;c++){d.push(e[c].uid)}return d},getKey:function(c){var d=this.getRows();if(d){return d[c].uid}else{return -1}},_getkey:function(e){if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}var f=null;var d=function(){var l=b(this._table.children()[1]).children();var k=null;var n=0;if(this.pageable){n-=this.dataview.pagenum*this.dataview.pagesize}if(this.groups.length>0){var h=0;for(var j=0;j<l.length;j++){var o=b(l[j]);var m=o.children()[0].getAttribute("colspan");if(m>0){continue}if(h===n+e){k=o.attr("data-key");return k}h++}return k}if(this.rowDetails){var h=0;for(var j=0;j<l.length;j++){if(h===e+n){k=b(l[j]).attr("data-key");return k}if(j%2==1){h++}}}else{k=b(l[n+e]).attr("data-key")}return k};f=d.call(this);if(f==null){if(this.pageable){var c=Math.floor(e/this.dataview.pagesize);if(this.dataview.pagenum!=c){var g=this.getRows()[e];if(g&&g.uid!=null){return g.uid}else{if(isNaN(c)){return null}this.goToPage(c);f=d.call(this)}}}}return f},_getuirow:function(g){try{var c=b(this._table.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._table.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_getpinneduirow:function(g){if(!this._pinnedTable){return null}try{var c=b(this._pinnedTable.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._pinnedTable.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_names:function(){var d={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"};if(!this.source||(this.source&&!this.source._source.hierarchy)){return d}var c=this.source._source.hierarchy.reservedNames;if(!c){return d}return c},_getMatches:function(f,g){if(f==undefined||f.length==0){return -1}var c=this.renderedRecords;if(g!=undefined){c=c.slice(g)}var e=0;if(this.rowDetails&&!this.treeGrid){e++}if(e<this.columns.records.length){var d=this.columns.records[e].datafield}else{new Array()}var h=new Array();b.each(c,function(k){var l=this[d];if(!l){l=""}var j=b.jqx.string.startsWithIgnoreCase(l.toString(),f);if(j){h.push(this.uid)}});return h},_handleKey:function(X){if(this._loading){return true}if(b(X.target).ischildof(this.filter)){return true}if(b(X.target).ischildof(this.toolbar)){return true}if(b(X.target).ischildof(this.statusbar)){return true}var T=this._names();var I=this;var s=X.charCode?X.charCode:X.keyCode?X.keyCode:0;var n=this._lastSelectedKey;var V=this.rowinfo[n];var v=this._getuirow(n);var x=X.shiftKey&&this.selectionMode!="singlerow";var Q=X.ctrlKey||X.metaKey;if(!v){return}if(this.handleKeyboardNavigation){var u=this.handleKeyboardNavigation(s);if(u){return true}}if(this.editable&&this.editKey==undefined&&s===113&&this.editSettings.editOnF2){this.beginroweditbykey(v.attr("data-key"))}if(this.editKey==undefined){if(!Q&&!x&&this.incrementalSearch&&(!(s>=33&&s<=40))){var z=-1;if(!this._searchString){this._searchString=""}if((s==8||s==46)&&this._searchString.length>=1){this._searchString=this._searchString.substr(0,this._searchString.length-1)}var e=String.fromCharCode(s);var H=(!isNaN(parseInt(e)));var J=false;if((s>=65&&s<=97)||H||s==8||s==32||s==46){if(!X.shiftKey){e=e.toLocaleLowerCase()}if(s!=8&&s!=32&&s!=46){if(!(this._searchString.length>0&&this._searchString.substr(0,1)==e)){this._searchString+=e}}if(s==32){this._searchString+=" "}this._searchTime=new Date();var n=this.getSelection();if(n.length>=1){var t=n[0].uid;var C=-1;for(var S=0;S<this.renderedRecords.length;S++){if(this.renderedRecords[S].uid==t){C=S;break}}var B=this._getMatches(this._searchString,C);if(B.length==0||(B.length>0&&B[0]==t)){var B=this._getMatches(this._searchString)}}else{var B=this._getMatches(this._searchString)}if(B.length>0){var n=this.getSelection();if(n.length>=1){var c=B.indexOf(n[0].uid);if(c==-1){this.clearSelection(false);this.selectrowbykey(B[0])}else{var h=c+1;if(h>=B.length){h=0}this.clearSelection(false);this.selectrowbykey(B[h])}}else{this.clearSelection(false);this.selectrowbykey(B[0])}this._lastSearchString=this._searchString}}if(this._searchTimer!=undefined){clearTimeout(this._searchTimer)}if(s==27||s==13){this._searchString="";this._lastSearchString=""}this._searchTimer=setTimeout(function(){I._searchString="";I._lastSearchString=""},500);if(z>=0){return}if(J){return false}}}if(this.editKey!=undefined){if(s===27&&this.editSettings.cancelOnEsc){this.endroweditbykey(this.editKey,true)}else{if(s===13&&this.editSettings.saveOnEnter){if(X.target&&X.target.nodeName.toLowerCase()!="div"&&X.target.nodeName.toLowerCase()!="input"){return true}this.endroweditbykey(this.editKey,false)}else{if(this.editSettings.editSingleCell){if(this.editColumn){var P=this.columns.records.indexOf(this.editColumn);if(s==9&&P<this.columns.records.length-1&&!X.shiftKey){var M=this.editKey;var y=null;for(var S=P+1;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){y=this.columns.records[S];break}}if(y){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,y)}}else{if(s==9&&X.shiftKey&&P>0){var M=this.editKey;var E=null;for(var S=P-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){E=this.columns.records[S];break}}if(E){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,E)}}}if(s==9){var o=this.rowinfo[this.editKey];var C=this.getrowindex(o);var v=this._getuirow(this.editKey);if(!X.shiftKey&&!y){var N=null;for(var S=0;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});var q=this.endroweditbykey(this.editKey,false);if(q){this._doSelection(F,true,true);this.beginroweditbykey(F,N)}else{this.beginroweditbykey(this.editKey,N)}}}}else{if(!E&&X.shiftKey){var N=null;for(var S=this.columns.records.length-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});this.endroweditbykey(this.editKey,false);this._doSelection(F,true,true);this.beginroweditbykey(F,N)}}}}return false}}}}}return true}if(X.ctrlKey||X.metaKey){var f=String.fromCharCode(s).toLowerCase();if(f=="c"||f=="x"){var n=this.getSelection();if(n.length>=1){var w="";for(var K=0;K<this.renderedRecords.length;K++){var Y=this.renderedRecords[K];for(var S=0;S<n.length;S++){var o=n[S];if(o.uid===Y.uid){for(var R=0;R<this.columns.records.length;R++){var A=this.getCellTextByKey(o.uid,this.columns.records[R].displayfield);w+=A;if(R<this.columns.records.length-1){w+="\t"}}w+="\r\n";break}}}if(w!=""){w=w.substring(0,w.length-1)}if(window.clipboardData){window.clipboardData.setData("Text",w)}else{var O=b('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');O.val(w);b("body").append(O);O.select();setTimeout(function(){document.designMode="off";O.select();O.remove()},100)}}}}if(s===32&&this.treeGrid){if(this.treeGrid.checkboxes){var n=this.getSelection();if(n.length>1){for(var S=0;S<n.length;S++){var G=n[S].uid;if(this.rowinfo[G].checked){this.treeGrid.uncheckRow(G,false)}else{this.treeGrid.checkRow(G,false)}}this._renderrows();return false}else{var t=v.attr("data-key");if(t){if(this.rowinfo[t].checked){this.treeGrid.uncheckRow(t)}else{this.treeGrid.checkRow(t)}return false}}}}var d=v.index();var W=function(Z){var j=null;var p=b(I._table.children()[1]).children().length-1;var i=b(b(I._table.children()[1]).children()[p]);var aa=i.attr("data-role");if(!aa){j=i.attr("data-key")}else{while(i){i=i.prev();if(i){var aa=i.attr("data-role");if(!aa){j=i.attr("data-key");break}}}}if(Z=="all"){return{row:i,key:j}}return j};var g=function(p){var j=null;var i=b(b(I._table.children()[1]).children()[0]);var Z=i.attr("data-role");if(!Z){j=i.attr("data-key")}else{while(i){i=i.next();if(i){var Z=i.attr("data-role");if(!Z){j=i.attr("data-key");break}}}}if(p=="all"){return{row:i,key:j}}return j};var t=null;var l=function(){if(!Q&&!x){I.clearSelection(false)}if(s==33||s==37){var j=d;t=I._getuikey(j,"prev");if(!t){t=g()}}else{if(s==34||s==39){var j=d;t=I._getuikey(j,"next");if(!t){t=W()}}else{if(s==38){t=W()}else{if(s==40){t=g()}}}}I._lastSelectedKey=t;var p=I.rowsByKey[t];var j=I.getrowindex(p);var i=I.getrowdisplayindex(p);I._raiseEvent("rowSelect",{key:t,index:i,boundIndex:j,row:I.rowsByKey[t]});I._doSelection(t,true,true);I.host.focus()};var k=function(){I.clearSelection(false);var i=g();if(x||Q){I._selectRange(v.index(),0)}else{I._lastSelectedKey=i}I.selectrowbykey(i,"keyboard")};var r=function(){I.clearSelection(false);var i=W("all");var j=i.key;if(x||Q){I._selectRange(v.index(),i.row.index())}else{I._lastSelectedKey=j}I.selectrowbykey(j,"keyboard")};if(this.treeGrid&&this.rtl){if(s==37){s=39}else{if(s==39){s=37}}}if(s==36||(Q&&s==38)){k();return false}else{if(s==35||(Q&&s==40)){r();return false}else{if(s==33||s==37){var t=v.attr("data-key");if(this.rowDetails&&s==37&&!this.treeGrid){this.hidedetailsbykey(t);return false}else{if(this.treeGrid&&s==37){if(this.rowinfo[t].row&&!this.rowinfo[t].row[T.parent]&&!this.rowinfo[t][T.leaf]&&!this.rowinfo[t].expanded){return false}if(this.rowinfo[t].expanded&&!this.rowinfo[t][T.leaf]){this.treeGrid.collapseRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row[T.parent]){t=this.rowinfo[t].row[T.parent].uid}}if(this.rowinfo[t][T.leaf]){return false}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToPrevPage(l)}else{this.goToNextPage(l)}return false}if(this.treeGrid&&this.pageable&&s==33){this.goToPrevPage(l);return false}}else{if(s==34||s==39){var t=v.attr("data-key");if(this.rowDetails&&s==39&&!this.treeGrid){this.showdetailsbykey(t);return false}else{if(this.treeGrid&&s==39){if(this.rowinfo[t][T.leaf]){return false}if(!this.rowinfo[t].expanded){this.treeGrid.expandRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row.records&&this.rowinfo[t].row.records.length>0){if(this.dataview.filters.length>0){var m=this.rowinfo[t].row.records;for(var S=0;S<m.length;S++){if(m[S]._visible){t=m[S].uid;break}}}else{t=this.rowinfo[t].row.records[0].uid}}}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToNextPage(l)}else{this.goToPrevPage(l)}return false}if(this.treeGrid&&this.pageable&&s==34){this.goToNextPage(l);return false}}else{if(s==38){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToPrevPage(l);return false}}else{if(s==40){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToNextPage(l);return false}}}}}}}if(t!=null){if(!Q&&!x){this.clearSelection(false)}if(this.rowinfo[t]){if(this.rowinfo[t].selected&&(Q||x)){this._doSelection(this._lastSelectedKey,false,false);this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowUnselect",{key:t,index:L,boundIndex:C,row:o});return false}}this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);this._doSelection(t,true,false);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:t,index:L,boundIndex:C,row:o});if(this.treeGrid){if(s==37){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null&&this.dataview.pagenum>0){while(this._getuirow(t)==null&&this.dataview.pagenum>0){this.goToPrevPage()}}}else{if(s==39){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null){this.goToNextPage()}}}}return false}},_selection:function(c){if("selectionStart" in c[0]){var h=c[0];var i=h.selectionEnd-h.selectionStart;return{start:h.selectionStart,end:h.selectionEnd,length:i,text:h.value}}else{var f=document.selection.createRange();if(f==null){return{start:0,end:h.value.length,length:0}}var d=c[0].createTextRange();var g=d.duplicate();d.moveToBookmark(f.getBookmark());g.setEndPoint("EndToStart",d);var i=f.text.length;return{start:g.text.length,end:g.text.length+f.text.length,length:i,text:f.text}}},_doSelection:function(c,e,d){if(c==null){this.clearSelection();return}if(this.selectionMode==="singlerow"){this.clearSelection(false)}var f=this.rowinfo[c];if(f){f.selected=e;this.ensurerowvisiblebykey(c)}else{this.ensurerowvisiblebykey(c);var f=this.rowinfo[c];if(f){f.selected=e}else{this.rowinfo[c]={selected:e}}}if(this.selectionMode!="none"){if(d!==false){this._renderrows()}}},clearSelection:function(e){if(this.rowinfo){var f=this.getRows();for(var h in this.rowinfo){var g=this.rowinfo[h];if(g.selected){g.selected=false;var d=f.indexOf(g.row);var c=this.getrowdisplayindex(g.row);this._raiseEvent("rowUnselect",{key:h,index:c,boundIndex:d,row:g.row})}}}if(e!==false){this._renderrows()}},exportData:function(t){if(!b.jqx.dataAdapter.ArrayExporter){if(!this.treeGrid){throw"jqxDataTable: Missing reference to jqxdata.export.js!"}throw"jqxTreeGrid: Missing reference to jqxdata.export.js!"}var h=this.exportSettings.columnsHeader;if(h==undefined){h=true}var w=this.exportSettings.hiddenColumns;if(w==undefined){w=false}var P=this.exportSettings.serverURL;var I=this.exportSettings.characterSet;var ac=this.exportSettings.collapsedRecords;if(ac==undefined){ac=false}var F=this.exportSettings.fileName;if(F===undefined){F=this.treeGrid?"jqxTreeGrid_Data":"jqxDataTable_Data"}var s=this;var Y=this.getRows();if(this.exportSettings.recordsInView==true){Y=this.getView()}if(this.treeGrid&&this.treeGrid.virtualModeCreateRecords){var Y=this.treeGrid.getRows()}if(this.groups&&this.groups.length>0){var k=this.source.getGroupedRecords(this.groups,"records","label",null,"data",null,"parent",Y);var m=function(o,ae){for(var ag=0;ag<o.length;ag++){var j=b.extend({},o[ag]);ae.push(j);if(j.records&&j.records.length>0){var ah=m(j.records,new Array());for(var af=0;af<ah.length;af++){if(ah[af].leaf){ae.push(ah[af])}else{ae.push(ah[af])}}}}return ae};var S=m.call(this,k,new Array());Y=S}if(Y.length==0){throw"No data to export."}this.exporting=true;if(this.altRows){this._renderrows()}var p=new Array();for(var X=0;X<this.columns.records.length;X++){if(!w&&this.columns.records[X].hidden){continue}p.push(b.extend({},this.columns.records[X]))}if(this.groups&&this.groups.length>0){if(p.length>0){var aa=this._names();for(var X=0;X<Y.length;X++){if(!Y[X][aa.leaf]){if(!s.rtl){Y[X][p[0].displayfield]=Y[X].label}else{Y[X][p[p.length-1].displayfield]=Y[X].label}}}}}var g=0;if(this.treeGrid){var L=this.treeGrid.getRows();if(this.exportSettings.recordsInView==true){L=this.getView()}var aa=this._names();var d=function(ae){for(var af=0;af<ae.length;af++){var j=ae[af];var o=j[aa.expanded]||(!j[aa.expanded]&&ac);g=Math.max(g,1+j[aa.level]);if(j.records&&j.records.length>0&&o){d(ae[af].records)}}};d(L);if(t!="xml"&&t!="json"){var u=p.length;for(var X=0;X<g;X++){var Q=new a(this,this);Q.width=this.indentWidth;Q.datafield="Level"+X;Q.displayfield="Level"+X;Q.align="center";Q.cellsalign="center";Q.text="";if(!this.rtl){p.splice(X,0,Q)}else{p.splice(u,0,Q)}}var y=new Array();var x=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?true:false;var U=function(af){for(var ah=0;ah<af.length;ah++){var o=b.extend({},af[ah]);for(var ag=0;ag<o[aa.level];ag++){o["Level"+ag]=""}var ae=o[aa.expanded]||(!o[aa.expanded]&&ac);if(t=="xls"||t=="html"||t=="pdf"){if(o.records&&o.records.length>0){o["Level"+o[aa.level]]=ae?"-":"+"}else{o["Level"+o[aa.level]]=""}}else{o["Level"+o[aa.level]]=""}if(o[aa.leaf]){o["Level"+o[aa.level]]=""}for(var ag=o[aa.level]+1;ag<g;ag++){o["Level"+ag]=""}if(x&&!o[aa.leaf]){if(!s.rtl){o[p[g].displayfield]=o.label}else{o[p[p.length-g-1].displayfield]=o.label}}if(o.aggregate){var aj=t=="xls"?"_AG":"";for(var ag=g;ag<p.length;ag++){var ai=ag;if(s.rtl){ai=p.length-ag-1}if(o[p[ai].displayfield]!=undefined){o[p[ai].displayfield]=aj+o[p[ai].displayfield]}}}y.push(o);if(ae&&!o[aa.leaf]){U(o.records)}}};U(L);Y=y}else{Y=L}}var f=w!=undefined?w:false;var Z={};var C={};var l=[];var M=this.host.find(".jqx-grid-cell:first");var n=this.host.find(".jqx-grid-cell-alt:first");var ad=this.toThemeProperty;M.removeClass(ad("jqx-grid-cell-selected"));M.removeClass(ad("jqx-fill-state-pressed"));n.removeClass(ad("jqx-grid-cell-selected"));n.removeClass(ad("jqx-fill-state-pressed"));M.removeClass(ad("jqx-grid-cell-hover"));M.removeClass(ad("jqx-fill-state-hover"));n.removeClass(ad("jqx-grid-cell-hover"));n.removeClass(ad("jqx-fill-state-hover"));var E="cell";var B=1;var K="column";var z=1;var A=[];for(var V=0;V<p.length;V++){var Q=p[V];if(Q.cellclassname!=""){Q.customCellStyles=new Array();if(typeof Q.cellclassname=="string"){Q.customCellStyles.push(Q.cellclassname)}else{for(var X=0;X<Y.length;X++){var c=X;var W=Q.cellclassname(c,Q.displayfield,Y[X][Q.displayfield],Y[X]);if(W){Q.customCellStyles[X]=W}}}}}b.each(p,function(ag){var aj=ag;if(s.treeGrid){if(ag>=g){aj=p.length-g-1}else{if(g>0&&ag<g){aj=0}}}var ak=b(s._table[0].rows[0].cells[aj]);if(s._table[0].rows.length>1){var j=b(s._table[0].rows[1].cells[aj]);if(j.length==0){var j=b(s._table[0].rows[1].cells[0])}}if(ak.length==0){var ak=b(s._table[0].rows[0].cells[0])}var af=this;var ah=function(an){var ap=s.toThemeProperty;an.removeClass(ap("jqx-cell"));an.removeClass(ap("jqx-grid-cell-selected"));an.removeClass(ap("jqx-fill-state-pressed"));an.removeClass(ap("jqx-grid-cell-hover"));an.removeClass(ap("jqx-fill-state-hover"));if(af.customCellStyles){for(var ao in af.customCellStyles){an.removeClass(af.customCellStyles[ao])}}};ah(ak);if(j){ah(j)}if(this.displayfield==null){return true}if(s.showAggregates){if(s.getcolumnaggregateddata){if(s.treeGrid){var am=function(an,ao){for(var ap=0;ap<an.length;ap++){var o=an[ap];if(o.level===0){ao.push(o)}}return ao};A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,am(Y,[])))}else{A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,Y))}}}var ai=s._getexportcolumntype(this);if(this.exportable&&(!this.hidden||f)){Z[this.displayfield]={};Z[this.displayfield].text=this.text;Z[this.displayfield].width=parseInt(this.width);if(isNaN(Z[this.displayfield].width)){Z[this.displayfield].width=60}if(Z[this.displayfield].width>500){Z[this.displayfield].width=500}Z[this.displayfield].formatString=this.cellsFormat;Z[this.displayfield].localization=s.gridlocalization;Z[this.displayfield].type=ai;Z[this.displayfield].cellsAlign=this.cellsalign;Z[this.displayfield].hidden=!h;Z[this.displayfield].index=aj;Z[this.displayfield].maxIndex=p.length}E="cell"+B;var al=this.element;if(t!="json"&&t!="xml"){K="column"+z;var i=function(o,av,au,an,at,ap,ao,aq,ar){C[o]={index:1+ao,maxIndex:p.length};if(ap.rtl){C[o].index=p.length-ao}if(t=="html"||t=="xls"||t=="pdf"){if(av){C[o]["font-size"]=av.css("font-size");C[o]["font-weight"]=av.css("font-weight");C[o]["font-style"]=av.css("font-style");C[o]["background-color"]=ap._getexportcolor(av.css("background-color"));C[o]["color"]=ap._getexportcolor(av.css("color"));C[o]["border-color"]=ap._getexportcolor(av.css("border-top-color"))}if(au){C[o]["text-align"]=at.align}else{C[o]["text-align"]=at.cellsalign;C[o]["formatString"]=at.cellsFormat;C[o]["dataType"]=ai}if(t=="html"||t=="pdf"){C[o]["border-top-width"]="0px";if(!ap.rtl){C[o]["border-left-width"]="0px";C[o]["border-right-width"]="1px"}else{C[o]["border-left-width"]="1px";C[o]["border-right-width"]="0px";if(ao==p.length-g-1&&au){C[o]["border-right-width"]="1px"}}C[o]["border-bottom-width"]="1px";if(av){C[o]["border-top-style"]=av.css("border-top-style");C[o]["border-left-style"]=av.css("border-left-style");C[o]["border-right-style"]=av.css("border-right-style");C[o]["border-bottom-style"]=av.css("border-bottom-style")}if(au){if(ao==0&&!ap.rtl){C[o]["border-left-width"]="1px"}else{if(ao==p.length-1&&ap.rtl){C[o]["border-right-width"]="1px"}}if(av){C[o]["border-top-width"]="1px";C[o]["border-bottom-width"]=av.css("border-bottom-width")}}else{if(ao==0&&!ap.rtl){C[o]["border-left-width"]="1px"}else{if(ao==p.length-1&&ap.rtl){C[o]["border-right-width"]="1px"}}}if(av){C[o]["height"]=av.css("height")}if(ap.treeGrid&&!au){if(C[o].index-1<g){if(ap.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}else{if(C[o].index-1==g){if(!ap.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}}}}}if(at.exportable&&(!at.hidden||f)){if(aq==true){if(!Z[at.displayfield].customCellStyles){Z[at.displayfield].customCellStyles=new Array()}Z[at.displayfield].customCellStyles[ar]=o}else{if(au){Z[at.displayfield].style=o}else{if(!an){Z[at.displayfield].cellStyle=o}else{Z[at.displayfield].cellAltStyle=o}}}}};i(K,al,true,false,this,s,ag);z++;i(E,ak,false,false,this,s,ag);if(s.altRows){E="cellalt"+B;i(E,j,false,true,this,s,ag)}if(this.customCellStyles){for(var ae in af.customCellStyles){ak.removeClass(af.customCellStyles[ae])}for(var ae in af.customCellStyles){ak.addClass(af.customCellStyles[ae]);i(E+af.customCellStyles[ae],ak,false,false,this,s,ag,true,ae);ak.removeClass(af.customCellStyles[ae])}}B++}});if(t!="json"&&t!="xml"){if(g>0&&this.treeGrid){var ab=g+1;if(this.rtl){ab=p.length-g}if(C["column"+ab]){var e=C["column"+ab];e.merge=g;e["border-left-width"]="1px";var H=C["cell"+ab];for(var X=0;X<p.length;X++){var ab=X+1;if(this.rtl){ab=p.length-X}C["column"+ab].level=X;C["column"+ab].maxLevel=g;C["cell"+ab].maxLevel=g;var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g}}}if(C["cellalt"+ab]){C["cellalt"+ab].maxLevel=g}}for(var X=0;X<g;X++){var ab=X+1;var D=X;if(this.rtl){ab=p.length-X}var r=C["column"+ab];r.disabled=true;C["cell"+ab].level=D;C["cell"+ab].maxLevel=g;C["column"+ab].level=D;if(C["cellalt"+ab]){C["cellalt"+ab].level=D;C["cellalt"+ab].maxLevel=g}var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g;C["cell"+ab+Q.customCellStyles[R]].level=D}}}if(t=="html"||t=="pdf"||t=="xls"){r["font-size"]=e["font-size"];r["font-weight"]=e["font-weight"];r["font-style"]=e["font-style"];r["background-color"]=e["background-color"];r.color=e.color;r["border-color"]=e["border-color"];if(t=="html"||t=="pdf"){r["border-top-width"]=e["border-top-width"];r["border-left-width"]=e["border-left-width"];if(this.rtl){r["border-right-width"]=e["border-right-width"];if(X==0){r["border-right-width"]="1px"}}if(X==0&&!this.rtl){r["border-left-width"]="0px"}else{if(X==0&&this.rtl){r["border-left-width"]="0px"}}if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}r["border-bottom-width"]="0px";var r=C["cell"+ab];if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}}}}}}}if(this.showAggregates){var G=[];var N=t=="xls"?"_AG":"";var O=0;if(this.rowDetails&&!this.treeGrid){O++}if(A.length>0){b.each(p,function(j){if(this.aggregates){for(var ae=0;ae<this.aggregates.length;ae++){if(!G[ae]){G[ae]={}}if(G[ae]){var af=s._getaggregatename(this.aggregates[ae]);var ag=s._getaggregatetype(this.aggregates[ae]);var o=A[j-O];if(o){G[ae][this.displayfield]=N+af+": "+o[ag]}}}}});b.each(p,function(j){for(var o=0;o<G.length;o++){if(G[o][this.displayfield]==undefined){G[o][this.displayfield]=N}}})}b.each(G,function(){Y.push(this)})}var J=this;var T=b.jqx.dataAdapter.ArrayExporter(Y,Z,C,P,this.treeGrid&&(t=="xml"||t=="json"));if(F==undefined){this._renderrows();var q=this.treeGrid&&(t=="xml"||t=="json");var v=T.exportTo(t,this.treeGrid&&(t=="xml"||t=="json"));if(this.showAggregates){b.each(G,function(){Y.pop(this)})}setTimeout(function(){J.exporting=false},50);return v}else{var q=this.treeGrid&&(t=="xml"||t=="json");T.exportToFile(t,F,P,I,q)}if(this.showAggregates){b.each(G,function(){Y.pop(this)})}this._renderrows();setTimeout(function(){J.exporting=false},50)},_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(c){return this._intToHex(c.r)+this._intToHex(c.g)+this._intToHex(c.b)},_intToHex:function(d){var c=(parseInt(d).toString(16));if(c.length==1){c=("0"+c)}return c.toUpperCase()},_getexportcolumntype:function(g){var h=this;var f="string";var e=h.source.datafields||((h.source._source)?h.source._source.datafields:null);if(e){var j="";b.each(e,function(){if(this.name==g.displayfield){if(this.type){j=this.type}return false}});if(j){return j}}if(g!=null){if(this.dataview.cachedrecords==undefined){return f}var c=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return f}c=this.dataview.cachedrecords[0][g.displayfield];if(c!=null&&c.toString()==""){return"string"}}else{b.each(this.dataview.cachedrecords,function(){c=this[g.displayfield];return false})}if(c!=null){if(g.cellsFormat.indexOf("c")!=-1){return"number"}if(g.cellsFormat.indexOf("n")!=-1){return"number"}if(g.cellsFormat.indexOf("p")!=-1){return"number"}if(g.cellsFormat.indexOf("d")!=-1){return"date"}if(g.cellsFormat.indexOf("y")!=-1){return"date"}if(g.cellsFormat.indexOf("M")!=-1){return"date"}if(g.cellsFormat.indexOf("m")!=-1){return"date"}if(g.cellsFormat.indexOf("t")!=-1){return"date"}if(typeof c=="boolean"){f="boolean"}else{if(b.jqx.dataFormat.isNumber(c)){f="number"}else{var i=new Date(c);if(i.toString()=="NaN"||i.toString()=="Invalid Date"){if(b.jqx.dataFormat){i=b.jqx.dataFormat.tryparsedate(c);if(i!=null){if(i&&i.getFullYear()){if(i.getFullYear()==1970&&i.getMonth()==0&&i.getDate()==1){var d=new Number(c);if(!isNaN(d)){return"number"}return"string"}}return"date"}else{f="string"}}else{f="string"}}else{f="date"}}}}}return f},showDetails:function(c){var d=this._getkey(c);this.showdetailsbykey(d)},hideDetails:function(c){var d=this._getkey(c);this.hidedetailsbykey(d)},setCellValueByKey:function(E,t,x){var o=this;var j=this.rowsByKey[E];var k=this.getrowindex(j);var h=j;if(h!=null&&h[t]==x){return false}if(h!=null&&h[t]===null&&x===""){return}var n="";if(h!=null&&h[t]!==x){var e=this.getColumn(t);var f="string";var B=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(B){var u="";b.each(B,function(){if(this.name==e.displayfield){if(this.type){u=this.type}return false}});if(u){f=u}}n=h[t];if(!e.nullable||(x!=null&&x!==""&&e.nullable&&x.label===undefined)){if(b.jqx.dataFormat.isNumber(n)||f=="number"||f=="float"||f=="int"||f=="decimal"&&f!="date"){x=new Number(x);x=parseFloat(x);if(isNaN(x)){x=0}}else{if(b.jqx.dataFormat.isDate(n)||f=="date"){if(x!=""){var A=x;A=new Date(A);if(A!="Invalid Date"&&A!=null){x=A}else{if(A=="Invalid Date"){A=new Date();x=A}}}}}if(h[t]===x){return}}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;h[t]=x;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[t]=x}}if(x!=null&&x.label!=null){var e=this.getColumn(t);h[e.displayfield]=x.label;h[t]=x.value;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[e.displayfield]=x.label;s[t]=x.value}}}}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var z=k;var w=this.source._source._localdata()[z];this.source.suspendKO=true;var l=w;if(l[t]&&l[t].subscribe){if(x!=null&&x.label!=null){l[e.displayfield](x.label);l[t](x.value)}else{l[t](x)}}else{var B=this.source._source.datafields;var d=null;var C=null;if(B){b.each(B,function(){if(this.name==t){C=this.map;return false}})}if(C==null){if(x!=null&&x.label!=null){l[t]=x.value;l[e.displayfield]=x.label}else{l[t]=x}}else{var g=C.split(this.source.mapChar);if(g.length>0){var c=l;for(var v=0;v<g.length-1;v++){c=c[g[v]]}c[g[g.length-1]]=x}}this.source._source._localdata.replace(w,b.extend({},l))}this.source.suspendKO=false}}var q;if(this.source.updaterow&&(q==undefined||q==true)){var m=false;var r=function(p){if(false==p){this.setCellValue(j,t,n,true,false)}};try{var i=E;m=this.source.updaterow(i,h,r);if(m==undefined){m=true}}catch(y){m=false;this.setCellValue(j,t,n);return}}var D=this.getrowdisplayindex(j);var e=this.getColumn(t);this._raiseEvent("cellValueChanged",{value:x,oldValue:n,dataField:t,displayField:e.displayfield,key:E,boundIndex:k,index:D,row:this.rowsByKey[E]});if(this.editable){if(this.editKey!=null){return}}this._renderrows()},setCellValue:function(g,d,f){if(g==null||d==null){return false}var c=parseInt(g);var e=this._getkey(c);this.setCellValueByKey(e,d,f)},getCellText:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellTextByKey(e,d)},getCellTextByKey:function(e,d){if(e==null||d==null){return null}var c=this.getCellValueByKey(e,d);var f=this.getColumn(d);if(f&&f.cellsFormat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(c)){c=b.jqx.dataFormat.formatdate(c,f.cellsFormat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(c)||(!isNaN(parseFloat(c))&&isFinite(c))){c=b.jqx.dataFormat.formatnumber(c,f.cellsFormat,this.gridlocalization)}}}}return c},getCellValue:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellValueByKey(e,d)},getCellValueByKey:function(e,d){var h=this.rowsByKey[e];if(!h&&this.treeGrid){h=this.treeGrid.getRow(e)}var c=this.getrowindex(h);var f=h;var g="";if(f!=null){return f[d]}return null},beginRowEdit:function(c){var d=this._getkey(c);this.beginroweditbykey(d)},beginCellEdit:function(d,c){var e=this._getkey(d);var f=this.getColumn(c);this.beginroweditbykey(e,f)},endCellEdit:function(d,c,e){this.endRowEdit(d,e)},endRowEdit:function(c,e){var d=this._getkey(c);this.endroweditbykey(d,e)},getrowindex:function(f){var d=this.getRows().indexOf(f);if(d!=-1){return d}if(this.groups&&this.groups.length>0){var c=this.getRows();for(var e=0;e<c.length;e++){if(f.originalRecord){if(c[e].uid==f.originalRecord.uid){d=e;break}}else{if(c[e].uid==f.uid){d=e;break}}}}return d},getrowdisplayindex:function(g){if(this.treeGrid){return -1}var c=this.getView();var e=c.indexOf(g);if(e!=-1){return e}if(g==undefined){return e}var d=c;for(var f=0;f<d.length;f++){if(d[f].uid==g.uid||(g.originalRecord&&d[f].uid==g.originalRecord.uid)){e=f;break}}return e},beginroweditbykey:function(H,r){if(this.beginEdit){var B=this.beginEdit(H,r);if(B===false){return false}}var E=!this.treeGrid?this.groups.length:this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(E>0){var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}if(n.level<E){return false}}if(this._lastSelectedKey==null){this.selectrowbykey(H)}if(this.editKey===H&&this.editKey!=undefined){return false}if(this.rowinfo[H]&&this.rowinfo[H].locked){return false}if(this.editKey!=null){this.endroweditbykey(H,true);return false}var F=this.editSettings.editSingleCell;if(!r&&F&&this.columns.records&&this.columns.records.length>0){for(var z=0;z<this.columns.records.length;z++){r=this.columns.records[z];if(r.editable&&!r.hidden){break}}if(!r){return false}}if(F&&r&&!r.editable){this.editKey=null;return false}if(F){this.editColumn=r}var p=this;var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}var o=this.getrowindex(n);var D=this._getuirow(H);var t=this._getpinneduirow(H);this._editors=new Array();var q=false;if(D){var j=D[0].cells;var u=0;for(var z=0;z<j.length;z++){var h=this.columns.records[z];var d=j[z];if(h.rowDetailscolumn){continue}if(h.checkboxcolumn){continue}if(h.pinned){d=t[0].cells[z]}if(F&&r&&h.datafield!=r.datafield){continue}b(d).removeClass(this.toTP("jqx-grid-cell-selected"));b(d).removeClass(this.toTP("jqx-fill-state-pressed"));b(d).removeClass(this.toTP("jqx-grid-cell-hover"));b(d).removeClass(this.toTP("jqx-fill-state-hover"));if(h.columntype=="none"){continue}var v=b(d).outerWidth();var x=b(d).width();if(u===0){u=b(d).outerHeight()-1}b(d).css("padding","0px");var e="<div style='height:"+u+"px; width: 100%; overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 9999;'></div>";var s=this.getCellTextByKey(H,h.displayfield);d.innerHTML=e;var f=b(d.firstChild);switch(h.columntype){case"textbox":case"default":var k=b("<input style='border: none;' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox'/>").appendTo(f);if(this.rtl){k.css("direction","rtl")}k.addClass(this.toThemeProperty("jqx-input"));k.addClass(this.toThemeProperty("jqx-widget-content"));k.addClass(this.toThemeProperty("jqx-cell-editor"));k[0].onfocus=function(i){setTimeout(function(){if(i){var I=b(i.target).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}else{var I=b(document.activeElement).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}if(p.content){p.content[0].scrollTop=0;p.content[0].scrollLeft=0}if(p.gridcontent){p.gridcontent[0].scrollLeft=0;p.gridcontent[0].scrollTop=0}},10)};if(!h.editable){k.attr("disabled",true);k.attr("readOnly",true);k.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{if(!q){q=true;var g=b.jqx.browser.msie&&b.jqx.browser.version>10;if(!g){k.focus()}var c=k;setTimeout(function(){var J=c.val().length;if(!g){c.focus()}try{if("selectionStart" in c[0]){c[0].setSelectionRange(0,J)}else{var i=c[0].createTextRange();i.collapse(true);i.moveEnd("character",J);i.moveStart("character",0);i.select()}}catch(I){var K=I}},10)}}k.width(x);k.height(u);if(b.jqx.browser.msie&&b.jqx.browser.version<9){k.css("line-height",parseInt(u)+"px")}k.css("text-align",h.cellsalign);if(s===null){s=""}if(s==undefined){s=""}k.val(s);if(h.createeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.createeditor(!this.treeGrid?o:H,s,k,C,x,u)}this._editors.push({column:h,editor:k});if(h.cellsFormat!=""){if(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1){k.keydown(function(I){var O=I.charCode?I.charCode:I.keyCode?I.keyCode:0;var L=String.fromCharCode(O);var M=parseInt(L);if(isNaN(M)){return true}if(p._selection(k).length>0){return true}var K="";var J=k.val();if(h.cellsFormat.length>1){var N=parseInt(h.cellsFormat.substring(1));if(isNaN(N)){N=0}}else{var N=0}if(N>0){if(J.indexOf(p.gridlocalization.decimalseparator)!=-1){if(p._selection(k).start>J.indexOf(p.gridlocalization.decimalseparator)){return true}}}for(var P=0;P<J.length-N;P++){var i=J.substring(P,P+1);if(i.match(/^[0-9]+$/)!=null){K+=i}}if(K.length>=11){return false}})}}if(h.initeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.initeditor(!this.treeGrid?o:H,s,k,C,x,u)}break;case"custom":case"template":if(!this.editorsCache){this.editorsCache=new Array()}var l=b("<div style='width: 100%; height: 100%; border: none;'></div>").appendTo(f);var y=b.trim(h.datafield).split(" ").join("");if(y.indexOf(".")!=-1){y=y.replace(".","")}var A=this.editorsCache["templateeditor_"+y];if(h.columntype=="custom"){var A=this.editorsCache["customeditor_"+y+"_"+H]}var C=s;var s=this.getCellValueByKey(H,h.displayfield);if(!A){var k=b("<div style='border: none;'></div>");k.width(v);k.height(u);A=k;if(s===null){s=""}if(h.columntype!="custom"){this.editorsCache["templateeditor_"+y]=k}else{this.editorsCache["customeditor_"+y+"_"+H]=k}k.appendTo(l);if(h.createeditor){h.createeditor(!this.treeGrid?o:H,s,k,C,v,u)}}else{var k=A;k.width(v);k.height(u);k.appendTo(l)}if(h.initeditor){h.initeditor(!this.treeGrid?o:H,s,k,C,v,u)}this._editors.push({column:h,editor:k});break}}}this.editKey=H;this.beginUpdate();var G=this.getrowdisplayindex(n);this._raiseEvent("rowBeginEdit",{key:H,index:G,boundIndex:o,row:this.rowsByKey[H]});if(F){var n=this.rowsByKey[H];var w=null;var m=null;if(n){w=n[r.datafield];m=n[r.displayfield]}this._raiseEvent("cellBeginEdit",{value:w,displayValue:m,key:H,index:G,dataField:r.datafield,displayField:r.displayfield,boundIndex:o,row:this.rowsByKey[H]})}this.endUpdate(false)},_toNumber:function(f){if(!f.indexOf&&f!=undefined){f=f.toString()}if(f.indexOf(this.gridlocalization.currencysymbol)>-1){f=f.replace(this.gridlocalization.currencysymbol,"")}var c=function(l,j,k){var h=l;if(j==k){return l}var i=h.indexOf(j);while(i!=-1){h=h.replace(j,k);i=h.indexOf(j)}return h};f=c(f,this.gridlocalization.thousandsseparator,"");f=f.replace(this.gridlocalization.decimalseparator,".");if(f.indexOf(this.gridlocalization.percentsymbol)>-1){f=f.replace(this.gridlocalization.percentsymbol,"")}var g="";for(var d=0;d<f.length;d++){var e=f.substring(d,d+1);if(e==="-"){g+="-"}if(e==="."){g+="."}if(e.match(/^[0-9]+$/)!=null){g+=e}}f=g;f=f.replace(/ /g,"");return f},_geteditorvalue:function(h,j,k,d){var m=new String();if(j){if(!h.geteditorvalue){switch(h.columntype){case"textbox":default:m=j.val();if(h.cellsFormat!=""){var l="string";var g=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(g){var n="";b.each(g,function(){if(this.name==h.displayfield){if(this.type){n=this.type}return false}});if(n){l=n}}var i=l==="number"||l==="float"||l==="int"||l==="integer";var f=l==="date"||l==="time";if(i||(l==="string"&&(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1))){if(m===""&&h.nullable){return""}m=this._toNumber(m);m=new Number(m);if(isNaN(m)){m=""}}if(f||(l==="string"&&(h.cellsFormat.indexOf("H")!=-1||h.cellsFormat.indexOf("m")!=-1||h.cellsFormat.indexOf("M")!=-1||h.cellsFormat.indexOf("y")!=-1||h.cellsFormat.indexOf("h")!=-1||h.cellsFormat.indexOf("d")!=-1))){if(m===""&&h.nullable){return""}var e=m;m=new Date(m);if(m=="Invalid Date"||m==null||h.cellsFormat.length>1){if(b.jqx.dataFormat){m=b.jqx.dataFormat.parsedate(e,h.cellsFormat,this.gridlocalization)}if(m=="Invalid Date"||m==null){m=""}}}}if(h.displayfield!=h.datafield){m={label:m,value:m}}break}}if(h.geteditorvalue){var c=this.getCellValueByKey(d,h.displayfield);m=h.geteditorvalue(!this.treeGrid?k:d,c,j)}}return m},_validateEditors:function(c){var k=this;var d=true;var s=k.rowsByKey[c];var l=k.getrowindex(s);var m=k._editors;var c=k.editKey;var p=k._getuirow(c);for(var h=0;h<m.length;h++){var j=m[h].editor;var f=m[h].column;var o=k._geteditorvalue(f,j,l,c);if(f.validation){j.removeClass(k.toThemeProperty("jqx-grid-validation-label"));var e=f.datafield;try{var r=f.validation({value:o,row:c,datafield:f.datafield,displayfield:f.displayfield,column:f},o);var g=k.gridlocalization.validationstring;if(r.message!=undefined){g=r.message}var q=typeof r=="boolean"?r:r.result;if(!q){if(r.showmessage==undefined||r.showmessage==true){k._showvalidationpopup(p,e,g,j)}d=false}}catch(n){k._showvalidationpopup(p,e,k.gridlocalization.validationstring,j);d=false}}}return d},endroweditbykey:function(p,r){var k=this;if(k.editKey===null){return}if(this.endEdit){var n=this.endEdit(p);if(n===false){return}}var t=k.rowsByKey[p];var l=k.getrowindex(t);var m=k._editors;var e=k.editKey;var q=k._getuirow(e);if(r!==true){var d=true;if(m){d=k._validateEditors(e);if(d){var h=b.extend({},t);var c=b.extend({},t);for(var g=0;g<m.length;g++){var j=m[g].editor;var f=m[g].column;var o=k._geteditorvalue(f,j,l,e);if(o&&o.label!=undefined){h[f.displayfield]=o.label;h[f.datafield]=o.value}else{h[f.displayfield]=o}}var s=function(){k.dataview._sortHierarchyData=null;k.dataview._sortData=null;for(var x=0;x<m.length;x++){var B=m[x].editor;var v=m[x].column;var C=k._geteditorvalue(v,B,l,e);var u=c[v.displayfield];if(C&&C.label!=undefined){t[v.displayfield]=C.label;t[v.datafield]=C.value}else{t[v.displayfield]=C}if(k.treeGrid){var D=k.treeGrid.getRow(e);if(D){D[v.displayfield]=C}}if(k.editorsCache){var E=function(i){if(i&&i.jqxWidget){var G=i.jqxWidget.element.className;if(G.indexOf("dropdownlist")>=0||G.indexOf("datetimeinput")>=0||G.indexOf("combobox")>=0||G.indexOf("menu")>=0){if(i.jqxWidget.isOpened){var F=i.jqxWidget.isOpened();if(F){i.jqxWidget.close()}}}}};var z="customeditor_"+v.displayfield+"_"+p;var y="templateeditor_"+v.displayfield;if(k.editorsCache[z]){var w=b(k.editorsCache[z]).data();var A=k.editorsCache[z];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w);k.editorsCache[z].detach()}if(k.editorsCache[y]){k.editorsCache[y].detach();var w=b(k.editorsCache[y]).data();var A=k.editorsCache[y];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w)}}if(C!=u){k.beginUpdate();k._raiseEvent("cellValueChanged",{value:C,oldValue:u,dataField:v.datafield,displayField:v.displayfield,key:p,index:l,row:t});k.endUpdate(false)}}};k.updaterowbykey(k.editKey,h,false,s)}}if(!d){return false}}k._detachEditors(e);return true},_detachEditors:function(l){var g=this;var m=g.rowsByKey[l];var i=g.getrowindex(m);if(g.editorsCache){for(var h in g.editorsCache){var f=b(g.editorsCache[h]).data();if(f&&f.jqxWidget){var c=f.jqxWidget.element.className;if(c.indexOf("dropdownlist")>=0||c.indexOf("datetimeinput")>=0||c.indexOf("combobox")>=0||c.indexOf("menu")>=0){if(f.jqxWidget.isOpened){var e=f.jqxWidget.isOpened();if(e){f.jqxWidget.close()}}}}b(g.editorsCache[h]).detach()}}g.beginUpdate();var d=g.getrowdisplayindex(m);if(g.editSettings.editSingleCell){var m=g.rowsByKey[l];var k=null;var j=null;if(m){k=m[g.editColumn.datafield];j=m[g.editColumn.displayfield]}g._raiseEvent("cellEndEdit",{value:k,displayValue:j,key:l,index:d,dataField:g.editColumn.datafield,displayField:g.editColumn.displayfield,boundIndex:i,row:g.rowsByKey[l]})}g._raiseEvent("rowEndEdit",{key:l,index:d,boundIndex:i,row:g.rowsByKey[l]});g.endUpdate(false);g.editColumn=null;g.editKey=null;g._renderrows();g._renderhorizontalscroll();g.host.focus();setTimeout(function(){g.host.focus()},10)},_showvalidationpopup:function(r,e,s,m){if(s==undefined){var s=this.gridlocalization.validationstring}m.addClass(this.toThemeProperty("jqx-grid-validation-label"));var p=b("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var o=b("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");p.html(s);o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));p.addClass(this.toThemeProperty("jqx-grid-validation"));p.addClass(this.toThemeProperty("jqx-rc-all"));p.hide();o.hide();p.prependTo(this.table);o.prependTo(this.table);var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);var l=this.getColumn(e).uielement;if(!r){return}var k=r;p.css("top",parseInt(k.position().top)+30+"px");var c=parseInt(p.css("top"));o.css("top",c-11);o.removeClass();o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var f=false;if(c>=this._table.height()){o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));c=parseInt(k.position().top)-k.outerHeight()-5;if(c<0){c=0;o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}p.css("top",c+"px");o.css("top",c+p.outerHeight()-9)}var n=-g+parseInt(b(l).position().left);var q=parseInt(this._table.css("left"));if(isNaN(q)){q=0}if(q!=0){g=0}o.css("left",g+n+30);var d=p.width();if(d+n>this.host.width()-20){var i=d+n-this.host.width()+40;n-=i}if(!f){p.css("left",g+n)}else{p.css("left",g+parseInt(b(l).position().left)-p.outerWidth())}m.mouseenter(function(){if(m.hasClass("jqx-grid-validation-label")){p.show();o.show()}});m.mouseleave(function(){p.hide();o.hide()});if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:p,validationrow:o}},addRow:function(d,p,j,n){if(p!=undefined){this._datachanged=true;if(j==undefined){j="last"}var o=false;var k=this.that;if(d==null){var f=this.dataview.filters&&this.dataview.filters.length>0;var m=!f?this.dataview.totalrecords:this.source.records.length;if(!this.pageable){if(this.source._source.totalrecords){this.dataview.totalrecords=this.source._source.totalrecords}else{if(this.source._source.totalRecords){this.dataview.totalrecords=this.source._source.totalRecords}else{if(this.source.hierarchy.length!==0){this.dataview.totalrecords=this.source.hierarchy.length}else{this.dataview.totalrecords=this.source.records.length}}}var m=!f?this.dataview.totalrecords:this.source.records.length}if(!b.isArray(p)){d=this.dataview.getid(this.dataview.source.id,p,m);if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{var c=new Array();b.each(p,function(e,q){var r=k.dataview.getid(k.dataview.source.id,p[e],m+e);c.push(r);if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}});d=c}}else{if(!b.isArray(p)){if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{b.each(p,function(e,q){var r=d[e];if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}})}}var i=this.treeGrid?(this.treeGrid.virtualModeCreateRecords?true:false):false;var g=function(v,q,A,t){if(v._loading){throw new Error("jqxDataTable: "+v.loadingErrorMessage);return false}var r=v.vScrollInstance.value;var z=false;if(!b.isArray(A)){A.uid=q;v.rowsByKey[q]=A;if(q==n){n=null}z=v.source.addRecord(A,t,n,i)}else{b.each(A,function(B,C){var D=null;if(q!=null&&q[B]!=null){D=q[B]}this.uid=D;v.rowsByKey[D]=this;if(q==n){n=null}z=v.source.addRecord(this,t,n,i)})}if(v.groups&&v.groups.length>0){var w=Object.prototype.toString;var y=v.groups[0];Object.prototype.toString=(typeof y=="function")?y:function(){return this[y]};if(!v.source.records.sort){var x=new Array();var u=0;var e=0;var s=[];b.each(s,function(){x[e+u++]=this});s=x}v.source.records.sort(function(C,B){if(C===undefined){C=null}if(B===undefined){B=null}if(C===null&&B===null){return 0}if(C===null&&B!==null){return -1}if(C!==null&&B===null){return 1}var F=0;var E=0;if(C&&C.uid){F=C.uid}if(B&&B.uid){E=B.uid}C=C.toString();B=B.toString();if(b.jqx.dataFormat.isNumber(C)&&b.jqx.dataFormat.isNumber(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(b.jqx.dataFormat.isDate(C)&&b.jqx.dataFormat.isDate(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(C)&&!b.jqx.dataFormat.isNumber(B)){C=String(C).toLowerCase();B=String(B).toLowerCase()}}}try{if(C<B){return -1}if(C>B){return 1}}catch(D){var G=D}if(typeof(F)=="number"){if(F<E){return -1}if(F>E){return 1}}return 0});Object.prototype.toString=w}v.dataview._filteredData=null;v.dataview._sortData=null;v.dataview._sortHierarchyData=null;if(v._updating==undefined||v._updating==false){v.refresh()}if(v.source&&v.source._knockoutdatasource&&!v._updateFromAdapter&&v.autokoupdates){if(v.source._source._localdata){v.source.suspendKO=true;v.source._source._localdata.push(A);v.source.suspendKO=false}}v.vScrollInstance.setPosition(r);return z};if(this.source.addrow){var h=function(e,q){if(e==true||e==undefined){if(q!=undefined){d=q}g(k,d,p,j)}};try{if(!k.treeGrid){o=this.source.addrow(d,p,j,h)}else{o=this.source.addrow(d,p,j,n,h)}if(o==undefined){o=true}}catch(l){o=false}if(o==false){return false}}else{g(this,d,p,j)}return o}return false},deleteRow:function(c){var d=this._getkey(c);this.deleterowbykey(d)},deleterowbykey:function(g){if(g!=undefined){this._datachanged=true;var h=false;var f=this.that;var d=function(m,l){if(m._loading){throw new Error("jqxDataTable: "+m.loadingErrorMessage);return false}m.dataview._filteredData=null;m.dataview._sortData=null;m.dataview._sortHierarchyData=null;var o=false;var p=m.vScrollInstance.value;if(!b.isArray(l)){var o=false;if(m.rowsByKey[l]){o=true;if(m.rowinfo[l]&&m.rowinfo[l].selected){m.unselectrowbykey(l,false)}if(m.treeGrid){var n=m._names();var k=m.rowsByKey[l][n.parent]}delete m.rowsByKey[l];if(m.treeGrid){if(m.rowinfo[l]){var i=m.rowinfo[l].row.records;var j=function(q){for(var r=0;r<q.length;r++){var s=q[r].uid;delete m.rowsByKey[s];delete m.rowinfo[s];if(q[r].records){j(q[r].records)}}};if(i){j(i)}}}delete m.rowinfo[l];m.source.deleteRecord(l);if(k){if(n&&k.records&&k.records.length==0){k[n.leaf]=true;m.rowinfo[k.uid][n.leaf]=true}}}}else{b.each(l,function(){var t=this;if(m.rowsByKey[t]){o=true;if(m.rowinfo[t].selected){m.unselectrowbykey(t,false)}if(m.treeGrid){var u=m._names();var s=m.rowsByKey[t][u.parent]}delete m.rowsByKey[t];if(m.treeGrid){if(m.rowinfo[t]){var q=m.rowinfo[t].row.records;var r=function(v){for(var w=0;w<v.length;w++){var x=v[w].uid;delete m.rowsByKey[x];delete m.rowinfo[x];if(v[w].records){r(v[w].records)}}};if(q){r(q);delete m.rowinfo[t]}}}m.source.deleteRecord(t);if(s){if(u&&s.records&&s.records.length==0){s[u.leaf]=true;m.rowinfo[s.uid][u.leaf]=true}}}})}m.refresh();if(m.source&&m.source._knockoutdatasource&&!m._updateFromAdapter&&m.autokoupdates){if(m.source._source._localdata){m.source.suspendKO=true;m.source._source._localdata.pop();m.source.suspendKO=false}}m.vScrollInstance.setPosition(p);return o};if(this.source.deleterow){var c=function(i){if(i==true||i==undefined){d(f,g)}};try{this.source.deleterow(g,c);if(h==undefined){h=true}}catch(e){h=false}}else{h=d(f,g)}return h}return false},updateRow:function(c,e){var d=this._getkey(c);this.updaterowbykey(d,e)},updaterowbykey:function(c,k,g,i){if(c!=undefined&&k!=undefined){var f=this.that;var j=false;var d=function(o,l,t){if(o._loading){throw new Error("jqxDataTable: "+o.loadingErrorMessage);return false}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;var r=false;if(!b.isArray(l)){var n=o.rowsByKey[l];var s=function(v){if(!v){r=false}else{for(var u=0;u<o.columns.records.length;u++){v[o.columns.records[u].datafield]=t[o.columns.records[u].datafield];if(o.groups.length>0&&v.originalRecord){v.originalRecord[o.columns.records[u].datafield]=t[o.columns.records[u].datafield]}}r=true}};s(n);if(o.treeGrid){n=o.treeGrid.getRow(l);s(n)}}else{b.each(l,function(w,x){var v=o.rowsByKey[this];var u=function(z,y){if(!v){r=false}else{v[this]=t[w]}r=true};u(this,v);if(o.treeGrid){v=o.treeGrid.getRow(this);u(this,v)}})}var m=o.vScrollInstance.value;if(g==undefined||g==true){if(o._updating==undefined||o._updating==false){o._renderrows()}}if(o.showAggregates&&o._updatecolumnsaggregates){o._updatecolumnsaggregates()}if(o.source&&o.source._knockoutdatasource&&!o._updateFromAdapter&&o.autokoupdates){if(o.source._source._localdata){var n=o.rowsByKey[l];var p=o.getrowindex(n);var q=o.source._source._localdata()[p];o.source.suspendKO=true;o.source._source._localdata.replace(q,b.extend({},n));o.source.suspendKO=false}}o.vScrollInstance.setPosition(m);return r};if(this.source.updaterow){var e=function(l){if(l==true||l==undefined){d(f,c,k);if(i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}};try{j=this.source.updaterow(c,k,e);if(j==undefined){j=true}}catch(h){j=false}}else{j=d(f,c,k);if(j&&i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}return j}return false},lockRow:function(c){var d=this._getkey(c);this.lockrowbykey(d)},unlockRow:function(c){var d=this._getkey(c);this.unlockrowbykey(d)},lockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=true}else{this.rowinfo[c]={locked:true}}this._renderrows()},unlockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=false}else{this.rowinfo[c]={locked:false}}this._renderrows()},selectRow:function(c){var d=this._getkey(c);this.selectrowbykey(d)},unselectRow:function(c){var d=this._getkey(c);this.unselectrowbykey(d)},selectrowbykey:function(e,h,f){if(h!="keyboard"&&h!="mouse"){this._lastSelectedKey=e}var g=f!==false?true:false;this._doSelection(e,true,g);var i=this.rowsByKey[e];var d=this.getrowindex(i);var c=this.getrowdisplayindex(i);this._raiseEvent("rowSelect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},unselectrowbykey:function(e,f){var g=f!==false?true:false;this._doSelection(e,false,g);var h=this.rowsByKey[e];var d=this.getrowindex(h);var c=this.getrowdisplayindex(h);this._raiseEvent("rowUnselect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},getSelection:function(){var c=new Array();if(this.rowinfo){for(var e in this.rowinfo){var d=this.rowinfo[e];if(d.selected){c.push(d.row)}}}return c},showdetailsbykey:function(k){if(!this.rowDetails){return}var l=this.rowinfo[k];if(l){l.expanded=true;var f=b(this._table.children()[1]).children(("[data-key="+k+"]"));var i=b(this._pinnedTable.children()[1]).children(("[data-key="+k+"]"));if(f){var c=i.children();var h=b(c[0]);if(this.rtl){var h=b(c[c.length-1])}if(!this.rtl){h.removeClass(this.toThemeProperty("jqx-grid-group-collapse"));h.addClass(this.toThemeProperty("jqx-grid-group-expand"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-right"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{h.removeClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));h.addClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-left"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}f.next().show();var d=i.next();d.show();if(b.jqx.browser.msie&&b.jqx.browser.version<8){f.next().children().show();i.next().children().show()}if(!l.initialized){var j=l.detailsHeight;var m=this.initRowDetails(k,l.row,b(b(d).children().children().children()[0]),l);l.details=b(d).children().children().children()[0];l.initialized=true;if(m===false||l.detailsHeight!=j){if(m===false){l.expanded=false;l.nodetails=true;d.hide()}this._renderrows()}}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var g=this.getrowindex(l.row);var e=this.getrowdisplayindex(l.row);this._raiseEvent("rowExpand",{row:l.row,index:e,boundIndex:g,rowKey:k})}}},hidedetailsbykey:function(h){if(!this.rowDetails){return}var j=this.rowinfo[h];if(j){j.expanded=false;var d=b(this._table.children()[1]).children(("[data-key="+h+"]"));var e=b(this._pinnedTable.children()[1]).children(("[data-key="+h+"]"));if(d){var g=e.children();var i=b(g[0]);if(this.rtl){var i=b(g[g.length-1])}if(!this.rtl){i.addClass(this.toThemeProperty("jqx-grid-group-collapse"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand"));i.addClass(this.toThemeProperty("jqx-icon-arrow-right"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{i.addClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));i.addClass(this.toThemeProperty("jqx-icon-arrow-left"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}d.next().hide();e.next().hide();if(b.jqx.browser.msie&&b.jqx.browser.version<8){d.next().children().hide();e.next().children().hide()}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var f=this.getrowindex(j.row);var c=this.getrowdisplayindex(j.row);this._raiseEvent("rowCollapse",{row:j.row,index:c,boundIndex:f,rowKey:h})}}},_getvirtualcolumnsindexes:function(d,l,h,k,c){if(this.rowDetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:h+k}}var e=0;var i=-1;var f=h+k;if(this.autorowheight){return{start:0,end:h+k}}if(!c){for(var g=0;g<h+k;g++){var m=g;if(!this.columns.records[g].hidden){e+=this.columns.records[g].width}if(e>=d&&i==-1){i=g}if(e>l+d){f=g;break}}}f++;if(f>h+k){f=h+k}if(i==-1){i=0}return{start:i,end:f}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var h=parseInt(u);if(this.table==null){return}var q=this.columnsrow;var r=0;var i=this.columns.records.length-r;var e=this.columns.records;var l=this.source.records.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){h=t.max-h}}if(l&&!this._haspinned){this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<r+i;w++){var f=e[w];if(f.pinned){var g=null;if(this.showAggregates){if(this.statusbar[0].cells){g=this.statusbar[0].cells[w]}}if(this.filterrow){if(this.filterrow[0].cells){var x=this.filterrow[0].cells[w]}}if(!this.rtl){var c=q[0].cells[w];c.style.marginLeft=h+"px";if(g){g.style.marginLeft=h+"px"}if(this.filterrow&&x){x.style.marginLeft=h+"px"}}else{var c=q[0].cells[w];c.style.marginLeft=-parseInt(u)+"px";if(g){g.style.marginLeft=-parseInt(u)+"px"}if(this.filterrow&&x){x.style.marginLeft=-parseInt(u)+"px"}}}}if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this._table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned==false){if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}}if(this.filterrow){this.filterrow[0].style.left=-h+"px";if(this.rtl){this.filterrow[0].style.left=-h+parseInt(this.content.css("left"))+"px"}}}if(this.showAggregates){if(this.aggregates[0].cells){var k=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){k=2+parseInt(this.hScrollBar.css("left"))}else{k=3+parseInt(this.vScrollBar.width())}}}this.aggregates[0].style.marginLeft=-h+k+"px"}}},_initializeColumns:function(){var d=this.source.datafields;if(d==null&&this.source._source){d=this.source._source.datafields}var k=d?d.length>0:false;if(this.columns&&this.columns.records){for(var e=0;e<this.columns.records.length;e++){this._removecolumnhandlers(this.columns.records[e])}}var j=this;var c=new b.jqx.dataCollection(this.element);var h=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.selectionMode=="checkbox"){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.checkboxcolumn=true;f.editable=false;f.columntype="checkbox";f.groupable=false;f.draggable=false;f.filterable=false;f.resizable=false;f.datafield="_checkboxcolumn";c.add(f)}if(this.rowDetails&&!this.treeGrid){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.editable=false;f.rowDetailscolumn=true;f.groupable=false;f.draggable=false;f.pinned=true;f.filterable=false;f.resizable=false;f.text="";c.add(f)}var g=new Array();b.each(this.columns,function(i){if(j.columns[i]!=undefined){var l=new a(j,this);l.visibleindex=h++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){j._haspinned=true}if(this.datafield==null){if(j.source&&j.source._source&&(j.source._source.datatype=="array")){if(!k){if(!j.source._source.datafields){j.source._source.datafields=new Array();j.source._source.datafields.push({name:i.toString()})}else{j.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();l.datafield=this.datafield;l.displayfield=this.displayfield}}else{if(g[this.datafield]){throw new Error("jqxDataTable: Invalid column 'dataField' setting. jqxDataTable's columns should be initialized with unique data fields.");j.host.remove();return false}else{g[this.datafield]=true}}c.add(l)}});if(this.rtl){c.records.reverse()}this.columns=c},addFilter:function(c,e){var d=this.getColumn(c);if(!d){return}this.dataview.addFilter(c,e)},removeFilter:function(c){var d=this.getColumn(c);if(!d){return}this.dataview.removeFilter(c)},clearFilters:function(d,c){this.dataview.filters=new Array();this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(c!==false){this.resetfilter()}if(d===false){return}this.applyFilters()},resetfilter:function(){if(this.filterinput){this.filterinput.val("")}if(this.filterrow){for(var f=0;f<this.filterrow[0].cells.length;f++){var m=this.filterrow[0].cells[f];var l=b(m).find("input:first");var j=b(m).find(".filterconditions");var e=this.columns.records[f];var d="";if(!e.filterable){continue}l.val("");var g=this.getcolumntypebydatafield(e);var c=new b.jqx.filter();var h,k;switch(g){case"number":case"int":case"float":case"decimal":h="numericfilter";k=c.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":h="booleanfilter";k=c.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":h="datefilter";k=c.getoperatorsbyfiltertype("datefilter");break;case"string":h="stringfilter";k=c.getoperatorsbyfiltertype("stringfilter");break}if(j.length>0){if(h==="stringfilter"){j.jqxDropDownList({selectedIndex:2})}else{j.jqxDropDownList({selectedIndex:0})}}}}},applyFilters:function(){if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this.serverProcessing){this.dataview.pagenum=0;this.updateBoundData("filter")}else{this.goToPage(0);this.refresh()}if(arguments&&arguments.length>0){if(this._updateSimpleFilter){if(this.filtercolumnsList){var d=this.filtercolumnsList.jqxDropDownList("getSelectedItem").value;this._updateSimpleFilter(d)}}if(this._updateFilterRow){this._updateFilterRow()}}this._raiseEvent("filter",{filters:this.dataview.filters})},sortBy:function(d,g){this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}if(d==null){g=null;d=this.sortcolumn}if(d){var f=this;var e;if(g=="a"||g=="asc"||g=="ascending"||g==true){e=true}else{e=false}if(g!=null){f.sortdirection={ascending:e,descending:!e}}else{f.sortdirection={ascending:false,descending:false}}if(g!=null){f.sortcolumn=d}else{f.sortcolumn=null}if(f.source.sort){f.dataview.sortfield=d;if(g==null){f.dataview.sortfielddirection=""}else{f.dataview.sortfielddirection=e?"asc":"desc"}if(f.source.sort&&!this._loading){f.source.sort(d,g)}}f.dataview.sortBy(d,g);f._raiseEvent("sort",{sortcolumn:this.sortcolumn,sortdirection:this.sortdirection})}if(!this.serverProcessing){this.refresh()}else{this.updateBoundData("sort")}},_togglesort:function(d){var f=this;if(this.disabled){return}if(d.sortable&&f.sortable){var c={sortcolumn:this.sortcolumn,sortdirection:this.sortdirection};var e=null;if(c.sortcolumn!=null&&c.sortcolumn==d.displayfield){e=c.sortdirection.ascending;if(e==true){e=false}else{e=null}}else{e=true}f.sortBy(d.displayfield,e)}},_renderfilter:function(){var h=this;var j=b("<div style='position: relative; margin: 4px;'><input style='width: 200px; height: 22px; direction: ltr;' role='textbox' type='text'/><div style='cursor: pointer; height: 100%;'><div></div></div></div>");j.height(22);var o=j.find("input");var g=j.find("div:first");j.addClass(this.toThemeProperty("jqx-rc-all"));j.addClass(this.toThemeProperty("jqx-widget"));j.addClass(this.toThemeProperty("jqx-input-group"));o.addClass(this.toThemeProperty("jqx-input"));o.addClass(this.toThemeProperty("jqx-rc-l"));o.addClass(this.toThemeProperty("jqx-input-group-addon"));o.addClass(this.toThemeProperty("jqx-widget"));o.addClass(this.toThemeProperty("jqx-widget-content"));g.addClass(this.toThemeProperty("jqx-fill-state-normal"));g.addClass(this.toThemeProperty("jqx-rc-r"));g.addClass(this.toThemeProperty("jqx-input-group-addon"));g.find("div").addClass(this.toThemeProperty("jqx-icon-search"));if(this.rtl){o.addClass(this.toThemeProperty("jqx-rtl"));o.css("direction","rtl")}this.filter.children().remove();this.filterbutton=g;var d=new Array();for(var f=0;f<h.columns.records.length;f++){if(h.columns.records[f].datafield&&h.columns.records[f].filterable){d.push({label:h.columns.records[f].text,value:h.columns.records[f].displayfield})}}var p=d.length<10?true:false;var l=b("<div style='position: relative; top: 50%; display: none; margin-right: 4px; margin-left: 4px; float: left;'>"+this.gridlocalization.filtersearchstring+"</div>");this.filter.append(l);var c=b("<div class='filtercolumns' style='position: relative; margin: 4px; float: left;'></div>");this.filter.append(c);if(c.jqxDropDownList){c.jqxDropDownList({theme:this.theme,enableBrowserBoundsDetection:true,autoDropDownHeight:p,rtl:h.rtl,dropDownWidth:220,selectedIndex:0,width:"auto",height:20,source:d,displayMember:"label",valueMember:"value"})}this.filtercolumnsList=c;var n=function(q){h.filterinput.val("");for(var r=0;r<h.dataview.filters.length;r++){var s=h.dataview.filters[r];if(s.datafield===q){h.filterinput.val(s.filter.getfilterat(0).filtervalue)}}};if(h.filterHeight!==35){h.filtercolumnsList.css("margin-top",h.filterHeight/2-10);j.css("margin-top",h.filterHeight/2-10)}h._updateSimpleFilter=n;this.addHandler(c,"select",function(q){var i=q.args.item.value;n(i)});if(this.filterMode==="simple"){this.filtercolumnsList.hide();l.show();l.css("margin-top",-this.filter.height()/2);j.css("float","left")}else{this.filtercolumnsList.show();l.hide()}var m=function(){if(!g.hasClass("jqx-fill-state-disabled")){var r=o.val();if(c.jqxDropDownList){var u=c.jqxDropDownList("getSelectedItem")}var w=function(B,x,i){var A=new b.jqx.filter();var z=h.getcolumntypebydatafield(B);var C=h._getfiltertype(z);if(C=="datefilter"){var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{if(C=="numericfilter"||C=="booleanfilter"){if(C=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(x.indexOf(h.gridlocalization.decimalseparator)>=0){x=x.replace(h.gridlocalization.decimalseparator,".")}}if(x.indexOf(h.gridlocalization.currencysymbol)>=0){x=x.replace(h.gridlocalization.currencysymbol,"")}if(x.indexOf(h.gridlocalization.percentagesymbol)>=0){x=x.replace(h.gridlocalization.percentagesymbol,"")}}var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{var y=A.createfilter(C,x,"CONTAINS")}}A.operator=i;A.addfilter(0,y);return A};if(h.filterMode!=="simple"){if(u){var v=u.value;var t=h.getColumn(v);var s=w(t,r,"and");if(r.length>0){h.removeFilter(v);h.addFilter(v,s);h.applyFilters()}else{h.removeFilter(v);h.applyFilters()}if(h.filterMode==="advanced"){if(h._updateFilterRow){h._updateFilterRow(true)}}}}else{h.clearFilters(false,false);if(r.length>0){for(var q=0;q<h.columns.records.length;q++){var t=h.columns.records[q];var s=w(t,r,"or");h.addFilter(t.datafield,s)}}h.applyFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}}};o.keydown(function(i){if(i.keyCode===13){m();if(i.preventDefault){i.preventDefault()}return false}});g.click(function(){m()});this.filterinput=o;this.filter.append(j);if(this.filterMode=="advanced"){var e=b("<a style='float: left; position: relative; margin: 2px; margin-left: 10px;' href='#'>"+this.gridlocalization.filterstring+"</a>");j.append(e);this.addHandler(e,"click",function(q){var i=function(u){if(h.filterrow){for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var v=b(t).find("input:first");var z=h.columns.records[x];if(!z.filterable){continue}if(u===true){v.val("")}for(var w=0;w<h.dataview.filters.length;w++){var y=h.dataview.filters[w];if(y.datafield===z.displayfield){v.val(y.filter.getfilterat(0).filtervalue);break}}}}};var s=function(v){if(h.filterrow){var u=0;for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var w=b(t).find("input:first");var y=h.columns.records[x];if(y.hidden){t.style.visibility="hidden"}else{t.style.visibility="inherit"}if(!y.filterable){continue}t.style.left=parseInt(u)+parseInt(y.uielement[0].style.left)+"px";t.style.width=6+y.width+"px";if(w[0]){w[0].style.width=y.width-6-22+"px"}}}};h._updateFilterRow=i;h._arrangeFilterRow=s;var r=function(){h.filtercolumnsList.jqxDropDownList({disabled:true});h.filterinput.addClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",true);h.filterbutton.addClass(h.toThemeProperty("jqx-fill-state-disabled"))};if(h.filter.find(".filterrow").length===0){h._renderadvancedfilter();r();i();h._arrange();s()}else{if(h.filter.find(".filterrow").css("display")==="none"){r();h.filter.find(".filterrow").removeClass("filterrow-hidden");i();h.filter.find(".filterrow").show();s()}else{h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));n(h.filtercolumnsList.jqxDropDownList("getSelectedItem").value);h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide()}h._arrange()}return false})}var k=b("<div style='float: left; width: 16px; height: 16px; position: relative; margin: 3px;'></div>");k.attr("title",h.gridlocalization.filterclearstring);k.addClass(h.toThemeProperty("jqx-icon-close"));j.append(k);k.hide();h.filtericon=k;k.click(function(){h.clearFilters();h.filtericon.fadeOut(200)});if(h.dataview.filters.length>0){if(h.filterMode!="advanced"){n(h.dataview.filters[0].datafield)}else{if(h._updateFilterRow){h._updateFilterRow()}}}},_renderadvancedfilter:function(){var h=this;var c=function(){h.clearFilters(false,false);var n=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var p=h.filterinput.val();for(var m=0;m<h.filterrow[0].cells.length;m++){var v=h.filterrow[0].cells[m];var u=b(v).find("input:first");var r=b(v).find(".filterconditions");var l=h.columns.records[m];var k="";if(!l.filterable){continue}if(l.displayfield===n){h.filterinput.val(u.val())}var q,t;var o=h.getcolumntypebydatafield(l);var j=new b.jqx.filter();switch(o){case"number":case"int":case"float":case"decimal":q="numericfilter";t=j.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":q="booleanfilter";t=j.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":q="datefilter";t=j.getoperatorsbyfiltertype("datefilter");break;case"string":q="stringfilter";t=j.getoperatorsbyfiltertype("stringfilter");break}if(r.length==0){if(q==="stringfilter"){k=t[2]}else{k=t[0]}}else{var y=r.jqxDropDownList("getSelectedItem");if(y){k=t[y.index]}else{if(q==="stringfilter"){k=t[2]}else{k=t[0]}}}var w=u.val();if(w.length>0||(w.length==0&&k=="NOT_NULL")||(w.length==0&&k=="NOT_EMPTY")||(w.length==0&&k=="EMPTY")||(w.length==0&&k=="NULL")){var s=l.displayfield;var x=new b.jqx.filter();if(q=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(w.indexOf(h.gridlocalization.decimalseparator)>=0){w=w.replace(h.gridlocalization.decimalseparator,".")}}if(w.indexOf(h.gridlocalization.currencysymbol)>=0){w=w.replace(h.gridlocalization.currencysymbol,"")}if(w.indexOf(h.gridlocalization.percentagesymbol)>=0){w=w.replace(h.gridlocalization.percentagesymbol,"")}}var j=x.createfilter(q,w,k,null,l.cellsFormat,h.gridlocalization);x.addfilter(0,j);h.addFilter(s,x)}}if(h.dataview.filters.length>0){h.applyFilters()}else{h.clearFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}};var e=function(){var m=b("<div style='position: relative;' class='filterrow'></div>").appendTo(h.filter);h.filterrow=m;m[0].cells=new Array();m.height(24);m.width(h.table.width());var k=0;var j=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var l=h.filterinput.val();b.each(h.columns.records,function(){var p=this;var n=b("<div></div>").appendTo(m);n.css("position","absolute");n.css("left",k+parseInt(p.uielement[0].style.left));if(p.pinned){n.css("z-index",h.tableZIndex+h.columns.records.length);n.addClass(h.toThemeProperty("jqx-widget-header"))}m[0].cells.push(n[0]);if(!this.filterable){return true}var o=b("<input style='margin-left: 4px; height: 20px; float: left;' role='textbox' type='text'/>").appendTo(n);o.keydown(function(r){if(r.keyCode===13){c()}});if(p.displayfield===j){o.val(l)}o.addClass(h.toThemeProperty("jqx-input"));o.addClass(h.toThemeProperty("jqx-rc-all"));o.addClass(h.toThemeProperty("jqx-widget"));o.addClass(h.toThemeProperty("jqx-widget-content"));var q=b("<div style='cursor: pointer; margin-left: 4px; margin-bottom: 4px; margin-top: 6px; width: 18px; position: relative; margin-top: 4px; float: left;'></div>").appendTo(n);q.append(b("<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"));o.focus(function(){h.ensureColumnVisible(p.displayfield);h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield);setTimeout(function(){h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield)},10)});q.click(function(){var u=b("<div class='filterconditions' style='position: relative; margin-top: 1px; float: left;'></div>");u.insertAfter(q);q.remove();var s=h.getcolumntypebydatafield(p);var t=h._getfiltersbytype(s);var r;if(s==="string"){r=2}else{r=0}u.jqxDropDownList({theme:h.theme,enableBrowserBoundsDetection:true,renderMode:"simple",arrowSize:0,selectedIndex:r,rtl:h.rtl,dropDownWidth:230,dropDownHeight:180,width:20,height:20,source:t,selectionRenderer:function(){return"<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"}});h.addHandler(u,"close",function(v){o.focus();setTimeout(function(){o.focus()},10)});u.removeAttr("tabindex");u.find("div").removeAttr("tabindex");u.jqxDropDownList("open")});o[0].style.width=p.width-6-22+"px"});b("<div style='clear: both;'></div>").appendTo(m)};e();var i=b("<div style='position:relative;' class='filterrow'></div>").appendTo(h.filter);var f=b("<input type='button' style='position: relative; float: left; margin-top: 4px; margin-left: 4px;' value='"+h.gridlocalization.filterapplystring+"'/>").appendTo(i);var g=b("<input type='button' style='position: relative; float: left; margin-top: 4px;  margin-left: 4px;' value='"+h.gridlocalization.filtercancelstring+"'/>").appendTo(i);var d=0;f.css("left",d);g.css("left",d);f.css("top","4px");g.css("top","4px");f.jqxButton({theme:h.theme});g.jqxButton({theme:h.theme});g.click(function(){h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide();h._arrange()});f.click(function(){c()});h._renderhorizontalscroll()},_getfiltertype:function(c){var d="stringfilter";switch(c){case"number":case"int":case"float":case"decimal":d="numericfilter";break;case"boolean":case"bool":d="booleanfilter";break;case"date":case"time":d="datefilter";break;case"string":d="stringfilter";break}return d},getcolumntypebydatafield:function(e){var f=this;var d="string";var c=f.source.datafields||((f.source._source)?f.source._source.datafields:null);if(c){var g="";b.each(c,function(){if(this.name==e.displayfield){if(this.type){g=this.type}return false}});if(g){return g}}return d},_getfiltersbytype:function(c){var d=this;var e="";switch(c){case"number":case"float":case"int":e=d.gridlocalization.filternumericcomparisonoperators;break;case"date":e=d.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":e=d.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:e=d.gridlocalization.filterstringcomparisonoperators;break}return e},_getcellvalue:function(c,e){var d=null;d=e[c.datafield];if(c.displayfield!=null){d=e[c.displayfield]}if(d==null){d=""}return d},_renderrows:function(ap){if(this.editable){if(this.editKey!=null){if(ap!==false){var M=this.endroweditbykey(this.editKey)}}}if(this.treeGrid){this.treeGrid._renderrows();return}if(this._loading){return}if(this._updating){return}if(this.rendering){this.rendering()}var ab=this;var T=0;this.table[0].rows=new Array();var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-widget-content");if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var K=this.columns.records.length;var ao=b.jqx.browser.msie&&b.jqx.browser.version<8;if(ao){this.host.attr("hideFocus","true")}var R=ab.groups.length;var ai=new Array();var k=this.source.records;k=this.dataview.evaluate(k);this.dataViewRecords=k;if(this.dataview.pagesize=="all"||!this.pageable||this.serverProcessing){var u=k;if(this.pageable&&this.serverProcessing&&k.length>this.dataview.pagesize){var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}}else{var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}if(ab.groups&&ab.groups.length>0){var P=this.pageable?this.dataview.pagesize*this.dataview.pagenum:0;var z=function(w){var au=0;var i=new Array();for(var c=0;c<w.length;c++){var j=w[c];if(j.level==0){au++}if(au>ab.dataview.pagesize*ab.dataview.pagenum&&au<=ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){i.push(j)}if(au>ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){break}}return i};if(this.pageSizeMode==="root"){var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",k,0);ab.rootRecordsLength=v.length;v=z(v)}else{var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",u,P)}var y=function(j,w){for(var av=0;av<j.length;av++){var c=j[av];w.push(c);if(c.records&&c.records.length>0){var aw=y(c.records,new Array());for(var au=0;au<aw.length;au++){if(aw[au].leaf){w.push(aw[au])}else{w.push(aw[au])}}}}return w};var ai=y.call(ab,v,new Array());u=ai;this.rowsByKey=new Array();for(var am=0;am<u.length;am++){var G=u[am];this.rowsByKey[G.uid]=G}}var ai=u;this.renderedRecords=ai;var U=ai.length;var V=this.tableZIndex;var aq=0;var aa=0;if(ao){for(var al=0;al<K;al++){var Z=this.columns.records[al];var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}var l=b('<table><tr><td role="gridcell" style="max-width: '+e+"px; width:"+e+'px;" class="'+H+'"></td></tr></table>');b(document.body).append(l);var n=l.find("td");aq=1+parseInt(n.css("padding-left"))+parseInt(n.css("padding-right"));l.remove();break}}var ak=this.rtl?" "+this.toTP("jqx-grid-table-rtl"):"";var B="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='table"+this.element.id+"'><colgroup>";var ar="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='pinnedtable"+this.element.id+"'><colgroup>";var I=0;var s=K;for(var al=0;al<K;al++){var Z=this.columns.records[al];if(Z.hidden){I++;s--;continue}var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}e-=aq;if(e<0){e=0}if(ao){var ac=e;if(al==I){ac++}if(Z.rowDetailscolumn){var ac=ac+4;ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}else{ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}}else{ar+="<col style='max-width: "+e+"px; width: "+e+"px;'>";B+="<col style='max-width: "+e+"px; width: "+e+"px;'>"}aa+=e}B+="</colgroup>";ar+="</colgroup>";this._hiddencolumns=false;var g=false;if(this.rowDetails&&this._pinnedTable){this._pinnedTable.find("[data-role=details]").detach();this._table.find("[data-role=details]").detach()}if(U===0){var o='<tr role="row">';var m=this.host.height();if(this.pageable){m-=this.pagerHeight;if(this.pagerPosition==="both"){m-=this.pagerHeight}}m-=this.columnsHeight;if(this.filterable){var ag=this.filter.find(".filterrow");var D=this.filter.find(".filterrow-hidden");var C=1;if(D.length>0){C=0}m-=this.filterHeight+this.filterHeight*ag.length*C}if(this.showstatusbar){m-=this.statusBarHeight}if(this.showAggregates){m-=this.aggregatesHeight}if(m<25){m=25}if(this.hScrollBar[0].style.visibility!="hidden"){m-=this.hScrollBar.outerHeight()}if(this.height==="auto"||this.height===null||this.autoheight){m=300}var l='<td colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+m+"px; height: "+m+"px; max-width:"+aa+"px; width:"+aa+"px;";var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-center-align");l+='" class="'+H+'">';l+=this.gridlocalization.emptydatastring;l+="</td>";o+=l;B+=o;ar+=o;this.table[0].style.width=aa+2+"px";T=aa}var q=this.getRows();var x=new Array();for(var am=0;am<ai.length;am++){var G=ai[am];var L=G.uid;if(undefined===G.uid){G.uid=this.dataview.generatekey()}var o='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';if(R>0){if(G.level<R){var o='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">'}}var p=0;var S=0;for(var al=0;al<K;al++){var ae=this.columns.records[al];if(ae.pinned||(this.rtl&&this.columns.records[K-1].pinned)){g=true}var e=ae.width;if(e<ae.minwidth){e=ae.minwidth}if(e>ae.maxwidth){e=ae.maxwidth}e-=aq;if(e<0){e=0}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(ae.pinned){H+=" "+this.toTP("jqx-grid-cell-pinned")}if(this.sortcolumn===ae.displayfield){H+=" "+this.toTP("jqx-grid-cell-sort")}if(this.altRows&&am%2!=0){H+=" "+this.toTP("jqx-grid-cell-alt")}if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var O="";if(R>0){if(G.level<R){if(!ao){H+=" "+this.toTP("jqx-grid-cell-pinned");O+=' colspan="'+K+'"';var ac=0;for(var ad=0;ad<K;ad++){var at=ab.columns.records[ad];var A=at.width;if(A<at.minwidth){e=at.minwidth}if(A>at.maxwidth){e=at.maxwidth}A-=aq;if(A<0){A=0}if(!at.hidden){ac+=A}}e=ac}else{H+=" "+this.toTP("jqx-grid-cell-pinned")}}}var l='<td role="gridcell" '+O+' style="max-width:'+e+"px; width:"+e+"px;";var af='<td role="gridcell" '+O+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+e+"px; width:"+e+"px;";if(al==K-1&&K==1){l+="border-right-color: transparent;";af+="border-right-color: transparent;"}var Y=false;if(R>0){if(G.level<R){Y=true}}if(!Y){if(ae.cellsalign!="left"){if(ae.cellsalign==="right"){H+=" "+this.toTP("jqx-right-align")}else{H+=" "+this.toTP("jqx-center-align")}}}else{if(this.rtl){H+=" "+this.toTP("jqx-right-align")}}if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].selected&&!ae.rowDetailscolumn){if(this.editKey!==G.uid){if(this.selectionMode!=="none"){H+=" "+this.toTP("jqx-grid-cell-selected");H+=" "+this.toTP("jqx-fill-state-pressed")}}}if(this.rowinfo[G.uid].locked){H+=" "+this.toTP("jqx-grid-cell-locked")}}if(!(ae.hidden)){p+=aq+e;if(S==0){l+="border-left-width: 0px;";af+="border-left-width: 0px;"}S++}else{if(!Y){l+="display: none;";af+="display: none;";this._hiddencolumns=true}}if(R>0&&ao&&Y&&al>=R){l+="font-size: 1px; border-color: transparent;  color: transparent;";af+="font-size: 1px; border-color: transparent; color: transparent;"}if(ae.pinned){l+="pointer-events: auto;";af+="pointer-events: auto;"}if(!Y&&ae.rowDetailscolumn){if(this.rowinfo[G.uid]){if(!this.rowinfo[G.uid].nodetails){if(this.rowinfo[G.uid].expanded){if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-expand")}else{H+=" "+this.toTP("jqx-grid-group-expand-rtl")}H+=" "+this.toTP("jqx-icon-arrow-down")}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}if(!this.autoRowHeight||(this.autoRowHeight&&!ae.autoCellHeight)){H+=" "+this.toTP("jqx-grid-cell-nowrap ")}var aj=ab._getcellvalue(ae,G);var f=ae.cellsFormat;if(R>0){if(G.level<R){aj=G.label;f=ab.getColumn(ab.groups[G.level]).cellsFormat}}if(f!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(aj)){aj=b.jqx.dataFormat.formatdate(aj,f,ab.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(aj)||(!isNaN(parseFloat(aj))&&isFinite(aj))){aj=b.jqx.dataFormat.formatnumber(aj,f,ab.gridlocalization)}}}}if(!Y){if(ae.cellclassname!=""&&ae.cellclassname){if(typeof ae.cellclassname=="string"){H+=" "+ae.cellclassname}else{var r=ae.cellclassname(am,ae.datafield,aj,G);if(r){H+=" "+r}}}if(ae.cellsRenderer!=""&&ae.cellsRenderer){var d=q.indexOf(G);if(d===-1){if(G.originalRecord){var d=q.indexOf(G.originalRecord)}}aj=ae.cellsRenderer(d,ae.datafield,aj,G);if(aj&&(aj.indexOf("<jqx-")>=0||aj.indexOf(" ng-")>=0)){x.push({rowKey:G.uid,row:d,column:ae.datafield,value:aj,columnIndex:al})}}}else{if(this.groupsRenderer){aj=this.groupsRenderer(aj,G,G.level)}}l+='" class="'+H+'">';l+=aj;l+="</td>";af+='" class="'+H+'">';af+=aj;af+="</td>";if(!ae.pinned){o+=l;if(g){E+=af}}else{E+=l;o+=l}if(R>0&&!ao){if(G.level<R){break}}}if(T==0){this.table[0].style.width=p+2+"px";T=p}o+="</tr>";E+="</tr>";B+=o;ar+=E;if(!this.rowinfo[G.uid]){this.rowinfo[G.uid]={group:Y,row:G,details:null,detailsHeight:200,initialized:false,expanded:false}}else{if(!("group" in this.rowinfo[G.uid])){this.rowinfo[G.uid].group=Y}if(!("row" in this.rowinfo[G.uid])){this.rowinfo[G.uid].row=G}if(!("details" in this.rowinfo[G.uid])){this.rowinfo[G.uid].details=null}if(!("detailsHeight" in this.rowinfo[G.uid])){this.rowinfo[G.uid].detailsHeight=200}if(!("initialized" in this.rowinfo[G.uid])){this.rowinfo[G.uid].initialized=false}if(!("expanded" in this.rowinfo[G.uid])){this.rowinfo[G.uid].expanded=false}}if(this.serverProcessing){this.rowinfo[G.uid].row=G}if(this.rowDetails){var F=this.rowinfo[G.uid].detailsHeight;if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].expanded){var ah='<tr data-role="row-details"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-details");H+=" "+this.toTP("jqx-reset");ah+='" class="'+H+'"><div style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px;"><div data-role="details"></div></div></td></tr>';B+=ah;ar+=ah}}B+="</table>";ar+="</table>";if(g){if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(ar+B)})}else{ab.table[0].innerHTML=ar+B}var W=this.table.find("#table"+this.element.id);var X=this.table.find("#pinnedtable"+this.element.id);X.css("float","left");X.css("pointer-events","none");W.css("float","left");X[0].style.position="absolute";W[0].style.position="relative";W[0].style.zIndex=V-10;X[0].style.zIndex=V+10;this._table=W;this._table[0].style.left="0px";this._pinnedTable=X;this._pinnedTable[0].style.left="0px";this._pinnedTable[0].style.width=T+"px";this._table[0].style.width=T+"px";if(this.rtl){if(T>parseInt(this.element.style.width)&&this._haspinned){this._pinnedTable[0].style.left=3-T+parseInt(this.element.style.width)+"px"}}if(this.rowDetails){for(var am=0;am<U;am++){var G=ai[am];var L=G.uid;if(this.rowinfo[L].details){var N=b(this._table.children()[1]).children(("[data-key="+L+"]"));var Q=b(this._pinnedTable.children()[1]).children(("[data-key="+L+"]"));if(N){var h=Q.next();var J=b(b(h).children().children());J.children().detach();J.append(this.rowinfo[G.uid].details)}}}}}else{if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(B)})}else{ab.table[0].innerHTML=B}var ad=this.table.find("#table"+this.element.id);this._table=ad;if(b.jqx.browser.msie&&b.jqx.browser.version<10){this._table[0].style.width=T+"px"}if(U===0){this._table[0].style.width=(2+T)+"px"}}if(U===0){this._table[0].style.tableLayout="auto";if(this._pinnedTable){this._pinnedTable[0].style.tableLayout="auto"}}if(x&&x.length>0){var an=this._table[0].rows;b.each(x,function(){var w=this.row;var au=this.rowKey;var j=this.column;var i=this.columnIndex;var t=ab._getuirow(au);if(t){var c=t[0].cells[i];if(b.jqx.angularCompile){b.jqx.angularCompile(c,"<div>"+c.innerHTML+"</div>")}}})}if(this.rendered){this.rendered()}},getcolumnindex:function(c){var d=this.getColumn(c);var e=this.columns.records.indexOf(d);return e},setcolumnindex:function(e,i,j){var h=this.getColumn(e);if(h.pinned){return}if(h.hidden){return}if(h.checkboxcolumn){return}if(h.grouped){return}var l=this.columns.records.indexOf(h);this.columns.records.splice(l,1);this.columns.records.splice(i,0,h);var f=0;var n=this.headerZIndex;this.columnsrow.children().detach();var k=this.toThemeProperty("jqx-grid-cell");k+=" "+this.toThemeProperty("jqx-grid-cell-pinned");k+=" "+this.toThemeProperty("jqx-item");var m=this;var c=null;if(m.filterrow!=undefined){var c=b(m.filterrow.children()[0])}this.columnsrow[0].cells=[];var g=false;b.each(this.columns.records,function(p,s){var q=this.uielement;m.columnsrow.append(q);if(!m.rtl){q.css("z-index",n--)}else{q.css("z-index",n++)}var o=!m.rtl?250+n-1:250+n+1;if(this.pinned){q.css("z-index",o)}var r=this.width;q.css("left",f);m.columnsrow[0].cells[m.columnsrow[0].cells.length]=q[0];if(this.hidden){g=true}if(!(this.hidden&&this.hideable)){f+=r}});if(this.groupable){var d=this.groups.length;if(d>0){if(l-d>=0){l-=d;i-=d}}}if(this.rowDetails){if(l-1>=0){l--;i--}}if(this.selectionMode=="checkbox"){if(l-1>=0){l--;i--}}var h=this._columns[l];this._columns.splice(l,1);this._columns.splice(i,0,h);this.resize();this._rendercolumnGroups();this._raiseEvent("columnReordered",{dataField:h.datafield,oldIndex:l,newIndex:i})},_pinnedColumnsLength:function(){var c=0;b.each(this.columns.records,function(){if(this.pinned){c++}if(this.grouped){c++}});if(this.rowDetails){c++}if(this.selectionMode=="checkbox"){c++}return c},_handlecolumnsReorder:function(){var g=this;var h=-1;var d=false;if(!g.columnsReorder){return}var f="mousemove.reorder"+this.element.id;var e="mousedown.reorder"+this.element.id;var i="mouseup.reorder"+this.element.id;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true;f=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;e=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;i=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id}this.removeHandler(b(document),f);this.addHandler(b(document),f,function(x){if(g.resizing){return true}if(g.reordercolumn!=null){var m=parseInt(x.pageX);var u=parseInt(x.pageY);if(c){var t=g.getTouches(x);var p=t[0];if(p!=undefined){m=parseInt(p.pageX);u=parseInt(p.pageY)}}var j=g.host.coord();var w=parseInt(j.left);var k=parseInt(j.top);if(g.dragmousedownoffset==undefined||g.dragmousedownoffset==null){g.dragmousedownoffset={left:0,top:0}}var B=parseInt(m)-parseInt(g.dragmousedownoffset.left);var s=parseInt(u)-parseInt(g.dragmousedownoffset.top);g.reordercolumn.css({left:B+"px",top:s+"px"});d=false;if(m>=w&&m<=w+g.host.width()){if(u>=k&&u<=k+g.host.height()){d=true}}h=-1;if(d){g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-dragcancel-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-drag-icon"));var n=g.columnsheader.coord();var q=n.top+g.columnsheader.height();if(g.columnsdropline!=null){if(u>=n.top&&u<=q){h=g._handlereordercolumnsdroplines(m);if(g.columnGroups){if(h!=-1){var l=0;l+=g._pinnedColumnsLength();var o=h.index;if(o>=l){var y=g.columns.records[o];if(y!=undefined){var v=g.columns.records.indexOf(g.getColumn(y.datafield));if(y.datafield==null){var v=g.columns.records.indexOf(g.getcolumnbytext(y.text))}var r=b.data(g.reordercolumn[0],"reorderrecord");var A=g.columns.records.indexOf(g.getColumn(r));var z=y;if(A<v){if(h.position=="before"){z=g.columns.records[v-1]}}if(z.columngroup!=g.getColumn(r).columngroup){g.columnsdropline.hide();return}}}}}}else{g.columnsdropline.fadeOut("slow")}}}else{if(g.columnsdropline!=null){g.columnsdropline.fadeOut("slow")}g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-drag-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-dragcancel-icon"))}if(x.preventDefault){x.preventDefault();x.stopPropagation()}if(c){x.preventDefault();x.stopPropagation();return false}}});this.columnsbounds=new Array();this.removeHandler(b(document),e);this.addHandler(b(document),e,function(k){if(g.resizing){return true}g.columnsbounds=new Array();var m=g.host.coord().left;var l=g.host.coord().top;if(g.showtoolbar){l+=g.toolbarHeight}if(g.filter){l+=g.filter.height()}var j=0;b.each(g.columns.records,function(o){var p=this;if(p.hidden){g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:0,height:2};return true}if(j==0){if(!g.rtl){m=parseInt(g.host.coord().left)-g.hScrollInstance.value}else{m=parseInt(g.host.coord().left)-g.hScrollInstance.max+g.hScrollInstance.value}}j++;var n=2+g.columnsHeight;if(g.columnshierarchy){l=b(p.uielement).coord().top;n=b(p.uielement).height()}g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:p.width,height:n};m+=p.width})});this.removeHandler(b(document),i);this.addHandler(b(document),i,function(j){if(g.resizing){return true}g.__drag=false;b(document.body).removeClass("jqx-disableselect");var l=parseInt(j.pageX);var t=parseInt(j.pageY);if(c){var o=g.getTouches(j);var n=o[0];l=parseInt(n.pageX);t=parseInt(n.pageY)}var m=g.host.coord();var v=parseInt(m.left);var w=parseInt(m.top);if(g.showtoolbar){w+=g.toolbarHeight}g.columndragstarted=false;g.dragmousedown=null;if(g.reordercolumn!=null){var k=b.data(g.reordercolumn[0],"reorderrecord");var x=g.columns.records.indexOf(g.getColumn(k));g.reordercolumn.remove();g.reordercolumn=null;var p=0;p+=g._pinnedColumnsLength();if(k!=null){if(d){if(h!=-1){var q=h.index;if(q>=p){var s=g.columns.records[q];if(s!=undefined){var u=g.columns.records.indexOf(g.getColumn(s.datafield));if(s.datafield==null){var u=g.columns.records.indexOf(g.getcolumnbytext(s.text))}if(g.columnGroups){var r=s;if(x<u){if(h.position=="before"){r=g.columns.records[u-1]}}if(r.columngroup!=g.getColumn(k).columngroup){if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}return}}if(x<u){if(h.position=="before"){g.setcolumnindex(k,u-1)}else{g.setcolumnindex(k,u)}}else{if(x>u){g.setcolumnindex(k,u)}}}}}}if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}}}})},getcolumnbytext:function(d){var c=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.text==d){c=this;return false}})}return c},_handlereordercolumnsdroplines:function(i){var c=this;var h=-1;var e=c._pinnedColumnsLength();var g=parseInt(c.host.coord().left);var d=g+c.host.width();var f=c.vScrollBar.css("visibility")!="hidden"?19:0;if(!c.rtl){f=0}b.each(c.columnsbounds,function(j){if(j>=e){if(this.width==0){return true}if(i<=this.left+this.width/2){if(i>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+parseInt(this.left)+"px");c.columnsdropline.css("top",parseInt(this.top)+"px");c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"before"};return false}else{if(i>=this.left+this.width/2){if(this.left+this.width>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+1+this.left+this.width);c.columnsdropline.css("top",this.top);c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"after"}}}}});return h},_createreordercolumn:function(d,f,i){var h=this;var g=f;if(h.reordercolumn){h.reordercolumn.remove()}if(h.columnsdropline){h.columnsdropline.remove()}h.reordercolumn=b("<div></div>");var k=d.clone();h.reordercolumn.css("z-index",999999);k.css("border-width","1px");k.css("opacity","0.4");var j=b(k.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(j.length>0){j.css("display","none")}var c=b(k.find(".jqx-icon-close"));if(c.length>0){c.css("display","none")}h.reordercolumnicon=b('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.reordercolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.reordercolumn.css("float","left");h.reordercolumn.css("position","absolute");var e=h.host.coord();k.width(d.width()+16);h.reordercolumn.append(k);h.reordercolumn.height(d.height());h.reordercolumn.width(k.width());h.reordercolumn.append(h.reordercolumnicon);b(document.body).append(h.reordercolumn);k.css("margin-left",0);k.css("left",0);k.css("top",0);h.reordercolumn.css("left",g.left+h.dragmousedown.left);h.reordercolumn.css("top",g.top+h.dragmousedown.top);if(i!=undefined&&i){h.columnsdropline=b('<div style="z-index: 9999; display: none; position: absolute;"></div>');h.columnsdropline.width(2);h.columnsdropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));b(document.body).append(h.columnsdropline)}},_handlecolumnsdragreorder:function(d,g){if(this.reordercolumn){this.reordercolumn.remove()}if(this.columnsdropline){this.columnsdropline.remove()}this.dragmousedown=null;this.dragmousedownoffset=null;this.columndragstarted=false;this.reordercolumn=null;var h=this;var f;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true}var e="mousedown.drag";var f="mousemove.drag";if(c){e=b.jqx.mobile.getTouchEventName("touchstart")+".drag";f=b.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(g,"dragstart",function(i){return false})}this.addHandler(g,e,function(k){if(false==d.draggable){return true}if(h.resizing){return true}h.__drag=true;var j=k.pageX;var i=k.pageY;if(c){var l=h.getTouches(k);var n=l[0];j=n.pageX;i=n.pageY}h.dragmousedown={left:j,top:i};var m=b(k.target).coord();h.dragmousedownoffset={left:parseInt(j)-parseInt(m.left),top:parseInt(i-m.top)};if(k.preventDefault){k.preventDefault()}return true});this.addHandler(g,f,function(k){if(!d.draggable){return true}if(undefined==d.datafield){return true}if(d.pinned){return true}if(h.resizing){return true}if(h.dragmousedown){var j=k.pageX;var i=k.pageY;if(c){var m=h.getTouches(k);var o=m[0];if(o!=undefined){j=o.pageX;i=o.pageY}}f={left:j,top:i};if(!h.columndragstarted&&h.reordercolumn==null){var l=Math.abs(f.left-h.dragmousedown.left);var n=Math.abs(f.top-h.dragmousedown.top);if(l>3||n>3){h._createreordercolumn(g,f,true);b(document.body).addClass("jqx-disableselect");b.data(h.reordercolumn[0],"reorderrecord",d.datafield)}}}})},getTouches:function(c){return b.jqx.mobile.getTouches(c)},_handlecolumnsResize:function(){var i=this;if(this.columnsResize){var k=false;if(i.isTouchDevice()){k=true}var g="mousemove.resize"+this.element.id;var d="mousedown.resize"+this.element.id;var e="mouseup.resize"+this.element.id;if(k){var g=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var e=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id}this.removeHandler(b(document),g);this.addHandler(b(document),g,function(n){if(i.resizablecolumn!=null&&!i.disabled&&i.resizing){if(i.resizeline!=null){var s=i.resizablecolumn.columnelement;var p=i.host.coord();var v=parseInt(i.resizestartline.coord().left);var l=v-i._startcolumnwidth;var w=i.resizablecolumn.column.minwidth;if(w=="auto"){w=0}else{w=parseInt(w)}var m=i.resizablecolumn.column.maxwidth;if(m=="auto"){m=0}else{m=parseInt(m)}var q=n.pageX;if(k){var t=b.jqx.mobile.getTouches(n);var r=t[0];q=r.pageX}l+=w;var u=m>0?v+m:0;var o=m==0?true:i._startcolumnwidth+q-v<m?true:false;if(i.rtl){var o=true}if(o){if(!i.rtl){if(q>=p.left&&q>=l){if(u!=0&&n.pageX<u){i.resizeline.css("left",q)}else{if(u==0){i.resizeline.css("left",q)}}if(k){return false}}}else{if(q>=p.left&&q<=p.left+i.host.width()){i.resizeline.css("left",q);if(k){return false}}}}}}if(!k&&i.resizablecolumn!=null){return false}});this.removeHandler(b(document),d);this.addHandler(b(document),d,function(m){if(i.resizablecolumn!=null&&!i.disabled){var l=i.resizablecolumn.columnelement;if(l.coord().top+l.height()+5<m.pageY){i.resizablecolumn=null;return}if(l.coord().top-5>m.pageY){i.resizablecolumn=null;return}i._startcolumnwidth=i.resizablecolumn.column.width;i.resizablecolumn.column._width=null;b(document.body).addClass("jqx-disableselect");b(document.body).addClass("jqx-position-reset");i._mouseDownResize=new Date();i.resizing=true;i._resizecolumn=i.resizablecolumn.column;i.resizeline=i.resizeline||b('<div style="position: absolute;"></div>');i.resizestartline=i.resizestartline||b('<div style="position: absolute;"></div>');i.resizebackground=i.resizebackground||b('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>');i.resizebackground.css("opacity",0.01);i.resizebackground.css("cursor","col-resize");i.resizeline.css("cursor","col-resize");i.resizestartline.css("cursor","col-resize");i.resizeline.addClass(i.toThemeProperty("jqx-grid-column-resizeline"));i.resizestartline.addClass(i.toThemeProperty("jqx-grid-column-resizestartline"));b(document.body).append(i.resizeline);b(document.body).append(i.resizestartline);b(document.body).append(i.resizebackground);var n=i.resizablecolumn.columnelement.coord();i.resizebackground.css("left",i.host.coord().left);i.resizebackground.css("top",i.host.coord().top);i.resizebackground.width(i.host.width());i.resizebackground.height(i.host.height());i.resizebackground.css("z-index",999999999);var o=function(q){if(!i.rtl){q.css("left",parseInt(n.left)+i._startcolumnwidth)}else{q.css("left",parseInt(n.left))}var s=0;var t=i.showtoolbar?i.toolbarHeight:0;s+=t;var v=i.showstatusbar?i.statusBarHeight:0;s+=v;var r=i.showAggregates?i.aggregatesHeight:0;s+=r;if(i.pageable&&i.pagerPosition!="bottom"){s+=i.pagerHeight}if(i.filterable){s+=i.filter.height()}var p=0;if(i.pageable&&i.pagerPosition!="top"){p=i.pagerHeight}var u=i.hScrollBar.css("visibility")!="hidden"?i.scrollBarSize:0;q.css("top",parseInt(n.top));q.css("z-index",9999999999);if(i.columnGroups){q.height(i.host.height()+i.resizablecolumn.columnelement.height()-p-s-u-i.columnGroupslevel*i.columnsHeight)}else{q.height(i.host.height()-p-s-u)}q.show("fast")};o(i.resizeline);o(i.resizestartline);i.dragmousedown=null}});var f=function(){b(document.body).removeClass("jqx-disableselect");b(document.body).removeClass("jqx-position-reset");if(!i.resizing){return}i._mouseUpResize=new Date();var t=i._mouseUpResize-i._mouseDownResize;if(t<200){i.resizing=false;if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove()}return}i.resizing=false;if(i.disabled){return}var n=i.host.width();if(i.vScrollBar[0].style.visibility!="hidden"){n-=20}if(n<0){n=0}if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){var u=parseInt(i.resizeline.css("left"));var o=parseInt(i.resizestartline.css("left"));var s=i._startcolumnwidth+u-o;if(i.rtl){var s=i._startcolumnwidth-u+o}var r=i._resizecolumn.width;i._resizecolumn.width=s;if(i._resizecolumn._percentagewidth!=undefined){i._resizecolumn._percentagewidth=(s/n)*100}for(var q=0;q<i._columns.length;q++){if(i._columns[q].datafield===i._resizecolumn.datafield){i._columns[q].width=i._resizecolumn.width;break}}var l=i.hScrollBar[0].style.visibility;var p=i._resizecolumn.displayfield;i._updatecolumnwidths();i.refresh();i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove();i.resizablecolumn=null;i._raiseEvent("columnResized",{dataField:p,oldWidth:r,newWidth:s})}else{i.resizablecolumn=null}};try{if(document.referrer!=""||window.frameElement){var c=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){c=document.referrer}}if(c&&c.indexOf(document.location.host)!=-1){var h=function(l){f()};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",h,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",h)}}}}}catch(j){}this.removeHandler(b(document),e);this.addHandler(b(document),e,function(m){var l=b.data(document.body,"contextmenu"+i.element.id);if(l!=null&&i.autoshowcolumnsmenubutton){return true}f()})}},_updatecolumnwidths:function(){var k=this.host.width();var c=k;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){k-=parseInt(this.scrollBarSize)+6;c=k}var j="";if(this.columns==undefined||this.columns.records==undefined){return}var i=this;var h=false;b.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=i.vScrollBar[0].style.visibility=="hidden"?0:i.scrollBarSize+5;if(i.scrollBarSize==0){n=0}m=parseFloat(this.width)*c/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(c)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}k-=Math.round(m)}else{if(this.width!="auto"&&!this._width){k-=this.width}else{j+=this.text}}}});var f=this.columnsheader.find("#columntable"+this.element.id);if(f.length==0){return}var d=0;var g=f.find(".jqx-grid-column-header");var e=0;b.each(this.columns.records,function(n,q){var m=b(g[n]);var t=false;var s=this.width;var o=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){s=parseFloat(this._percentagewidth)*c/100}else{s=parseFloat(this.width)*c/100}s=Math.round(s);t=true}if(this.width!="auto"&&!this._width&&!t){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(t){if(s<this.minwidth&&this.minwidth!="auto"){s=this.minwidth;this.width=s}if(s>this.maxwidth&&this.maxwidth!="auto"){s=this.maxwidth;this.width=s}if(parseInt(m[0].style.width)!=s){m.width(s);this.width=s}}else{var l=Math.floor(k*(this.text.length/j.length));if(isNaN(l)){l=this.minwidth}var p=(k*(this.text.length/j.length))-l;d+=p;if(d>=1){d-=1;l++}if(d>=0.5&&n==i.columns.records.length-1){l++}if(l<0){var r=b("<span>"+this.text+"</span>");b(document.body).append(r);l=10+r.width();r.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=l;m.width(this.width)}}if(parseInt(m[0].style.left)!=e){m.css("left",e)}if(!(this.hidden)){e+=this.width}this._requirewidthupdate=true;if(o!==this.width){h=true}});this.columnsheader.width(2+e);f.width(this.columnsheader.width());this._resizecolumnGroups();if(h){this._renderrows()}if(this.showAggregates){this._refreshcolumnsaggregates()}},_rendercolumnheaders:function(){var r=this;if(this._updating){return}if(r.columns.records.length>r.headerZIndex){r.headerZIndex=r.columns.records.length+10}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var g=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');g[0].cells=new Array();var l=0;var h=0;var s="";var u=this.host.width();var f=u;var w=new Array();var t=new Array();b.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){u-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){u-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*f/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}u-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}u-=this.width}}}}else{s+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(r._haspinned){this.pinned=true}w[w.length]=this}else{t[t.length]=this}});if(!this.rtl){for(var o=0;o<w.length;o++){this.columns.replace(o,w[o])}for(var m=0;m<t.length;m++){this.columns.replace(w.length+m,t[m])}}else{var e=0;w.reverse();for(var o=this.columns.records.length-1;o>=this.columns.records.length-w.length;o--){this.columns.replace(o,w[e++])}for(var m=0;m<t.length;m++){this.columns.replace(m,t[m])}}var v=this.headerZIndex;var d=0;var n=r.columnsHeight;var q=function(j,k){var i=r.columnGroupslevel*r.columnsHeight;i=i-(k.level*r.columnsHeight);return i};var c=0;b.each(this.columns.records,function(K,I){this.height=r.columnsHeight;if(r.columnGroups){if(r.columnGroups.length){this.height=q(this.datafield,this);n=this.height}}var N=r.toTP("jqx-grid-column-header")+" "+r.toTP("jqx-widget-header");if(r.rtl){N+=" "+r.toTP("jqx-grid-column-header-rtl")}if(!r.enableBrowserSelection){N+=" "+r.toTP("jqx-disableselect")}var L=!r.rtl?250+v-1:250+v+1;var G=!r.rtl?v--:v++;var x=b('<div role="columnheader" style="z-index: '+G+';position: absolute; height: 100%;" class="'+N+'"><div style="height: 100%; width: 100%;"></div></div>');if(r.rtl&&K===0){x[0].style.borderLeftColor="transparent"}if(r.columnGroups){x[0].style.height=n+"px";x[0].style.bottom="0px";if(this.pinned){x[0].style.zIndex=L}}this.uielement=x;this.element=x;if(this.classname!=""&&this.classname){x.addClass(this.classname)}var C=this.width;var D=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){C=parseFloat(this._percentagewidth)*f/100}else{C=parseFloat(this.width)*f/100}C=Math.round(C);D=true}if(this.width!="auto"&&!this._width&&!D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}x[0].style.width=parseInt(C)+"px"}else{if(D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}x.width(C);this.width=C}else{var H=Math.floor(u*(this.text.length/s.length));var E=(u*(this.text.length/s.length))-H;c+=E;if(c>=1){c-=1;H++}if(c>=0.5&&K==r.columns.records.length-1){H++}if(isNaN(H)){H=this.minwidth}if(H<0){var F=b("<span>"+this.text+"</span>");b(document.body).append(F);H=10+F.width();F.remove()}if(H<this.minwidth){H=this.minwidth}if(H>this.maxwidth){H=this.maxwidth}this._width="auto";this.width=parseInt(H);C=this.width;x.width(this.width)}}if(this.hidden){x.css("display","none")}var k=b(x.children()[0]);g[0].cells[K]=x[0];var p=false;var J=false;var z=this.renderer!=null?this.renderer(this.text,this.align,n):r._rendercolumnheader(this.text,this.align,n,r);if(z==null){z=r._rendercolumnheader(this.text,this.align,n,r)}if(this.renderer!=null){z=b(z)}p=true;if(r.WinJS){MSApp.execUnsafeLocalFunction(function(){k.append(b(z))})}else{if(this.renderer){k.append(b(z))}else{if(z){k[0].innerHTML=z}}}if(z!=null){var B=b('<div class="iconscontainer" style="height: '+n+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortascbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortdescbutton")+'" style="width: 100%; height:100%;"></div></div></div>');k.append(B);var O=B.children();this.sortasc=O[1];this.sortdesc=O[2];this.filtericon=O[0];this.iconscontainer=B;if(r.rtl){B.css("margin-left","0px");B.css("left","0px");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}}g.append(x);if(r.columnsReorder&&this.draggable&&r._handlecolumnsdragreorder){r._handlecolumnsdragreorder(this,x)}var M=this;r.addHandler(x,"click",function(i){if(M.checkboxcolumn){return true}if(r._togglesort){if(!r._loading){r._togglesort(M)}}i.preventDefault()});if(r.columnsResize&&!J){var y=false;var j="mousemove";if(r.isTouchDevice()){y=true;j=b.jqx.mobile.getTouchEventName("touchstart")}r.addHandler(x,j,function(P){if(!M.resizable){r.resizablecolumn=null;return true}var i=parseInt(P.pageX);var R=5;var U=parseInt(x.coord().left);if(r.hasTransform){U=b.jqx.utilities.getOffset(x).left}if(r._handlecolumnsResize){if(y){var Q=b.jqx.mobile.getTouches(P);var T=Q[0];i=T.pageX;R=40;if(i>=U+M.width-R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize")}else{x.css("cursor","");r.resizablecolumn=null}return true}var S=M.width;if(r.rtl){S=0}if(i>=U+S-R){if(i<=U+S+R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize");return false}else{x.css("cursor","");r.resizablecolumn=null}}else{x.css("cursor","");if(i<U+S-R){if(!M._animating&&!M._menuvisible){x.mouseenter()}}r.resizablecolumn=null}}})}x.css("left",h);if(!(this.hidden)){h+=C}if(M.rendered){var A=M.rendered(b(k[0].firstChild),M.align,n);if(A&&B!=null){B.hide()}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}this.columnsrow=g;r.columnsheader.append(g);g.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsReorder){this._handlecolumnsReorder()}if(this._handlecolumnsResize){this._handlecolumnsResize()}if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var o=0;for(var l=0;l<this.columns.records.length;l++){if(this.columns.records[l].pinned){o++}}var t=this.headerZIndex-o+this.columns.records.length;var n=this;var g=n.toTP("jqx-grid-column-header")+" "+n.toTP("jqx-grid-columngroup-header")+" "+n.toTP("jqx-widget-header");if(n.rtl){g+=" "+n.toTP("jqx-grid-columngroup-header-rtl")}var e=this.columnsheader.find("#columntable"+this.element.id);e.find("jqx-grid-columngroup-header").remove();for(var h=0;h<this.columnGroupslevel-1;h++){for(var l=0;l<this.columnGroups.length;l++){var q=this.columnGroups[l];var c=q.level;if(c!==h){continue}var p=c*this.columnsHeight;var d=99999;if(q.groups){var s=function(w){var v=0;for(var u=0;u<w.groups.length;u++){var i=w.groups[u];if(!i.groups){if(!i.hidden){v+=i.width;d=Math.min(parseInt(i.element[0].style.left),d)}}else{v+=s(i)}}return v};q.width=s(q);q.left=d;var r=this.columnsHeight;var m=t--;var f=b('<div role="columnheader" style="z-index: '+m+';position: absolute;" class="'+g+'"></div>');var k=b(this._rendercolumnheader(q.text,q.align,this.columnsHeight,this));f.append(k);f[0].style.left=d+"px";if(d===0){f[0].style.borderLeftColor="transparent"}f[0].style.top=p+"px";f[0].style.height=r+"px";f[0].style.width=-1+q.width+"px";e.append(f);q.element=f}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var d=0;d<this.columnGroups.length;d++){var j=this.columnGroups[d];var k=j.level;var h=k*this.columnsHeight;var g=99999;if(j.groups){var f=function(n){var m=0;for(var l=0;l<n.groups.length;l++){var i=n.groups[l];if(!i.groups){if(!i.hidden){m+=i.width;g=Math.min(parseInt(i.element[0].style.left),g)}}else{m+=f(i)}}return m};j.width=f(j);j.left=g;var c=this.columnsHeight;var e=j.element;e[0].style.left=g+"px";e[0].style.top=h+"px";e[0].style.height=c+"px";e[0].style.width=-1+j.width+"px"}}},_removecolumnhandlers:function(f){var d=this;var c=b(f.element);if(c.length>0){d.removeHandler(c,"mouseenter");d.removeHandler(c,"mouseleave");var e=b(f.filtericon);d.removeHandler(e,"mousedown");d.removeHandler(e,"click");d.removeHandler(c,"click")}},_calculateaggregate:function(k,o,d,h){if(!k.datafield){return null}var e=k.aggregates;if(!e){e=o}if(e){var f=new Array();for(var n=0;n<e.length;n++){if(e[n]=="count"){continue}f[f.length]=k.cellsFormat}if(this.source&&this.source.getAggregatedData){if(h==undefined){h=this.getRows();if(this.dataViewRecords){h=this.dataViewRecords}}var s=h;var c=-1;if(this.treeGrid){var q=new Array();var r=function(u){for(var t=0;t<u.length;t++){if(u[t]==undefined){continue}if(c==-1){c=u[t].level}if(!u[t].aggregate){q.push(u[t])}if(!u[t].leaf&&u[t].records&&u[t].records.length>0){r(u[t].records)}}};r(h);h=q}if(this.treeGrid&&this.filterable&&this.dataview.filters.length>0){var p=new Array();for(var n=0;n<h.length;n++){if(h[n]&&h[n]._visible!==false){p.push(h[n])}}h=p;var l=new Array();for(var n=0;n<s.length;n++){if(s[n]&&s[n]._visible!==false){l.push(s[n])}}s=l}if(d==undefined||d==true){var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,h,c);if(this.treeGrid){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){if(m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}}return m}else{var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,h,c);if(this.treeGrid&&m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}return m}}}return null},getcolumnaggregateddata:function(d,h,i,e){var f=this.getColumn(d);if(!f){return""}var k=(i==undefined||i==false)?false:i;if(h==null){return""}var c=f.aggregates;f.aggregates=null;var j=this._calculateaggregate(f,h,k,e);var g={};if(j){g=j[d];f.aggregates=c}return g},_updatecolumnaggregates:function(e,h,c){var f=this;if(!h){c.children().remove();c.html("");if(e.aggregatesRenderer){var g={};if(e.aggregates){g=this.getcolumnaggregateddata(e.datafield,e.aggregates)}var d=e.aggregatesRenderer({},e,c,null);c.html(d)}return}c.children().remove();c.html("");if(e.aggregatesRenderer){if(h){var d=e.aggregatesRenderer(h[e.datafield],e,c,this.getcolumnaggregateddata(e.datafield,e.aggregates),"aggregates");c.html(d)}}else{b.each(h,function(){var j=this;for(g in j){var k=b('<div style="position: relative; margin: 4px; overflow: hidden;"></div>');var i=g;i=f._getaggregatename(i);k.html(i+":"+j[g]);if(f.rtl){k.addClass(f.toThemeProperty("jqx-rtl"))}c.append(k)}})}},_getaggregatetype:function(d){switch(d){case"min":case"max":case"count":case"avg":case"product":case"var":case"varp":case"stdev":case"stdevp":case"sum":return d}var c=d;for(var e in d){c=e;break}return c},_getaggregatename:function(d){var c=d;switch(d){case"min":c="Min";break;case"max":c="Max";break;case"count":c="Count";break;case"avg":c="Avg";break;case"product":c="Product";break;case"var":c="Var";break;case"stdevp":c="StDevP";break;case"stdev":c="StDev";break;case"varp":c="VarP";case"sum":c="Sum";break}if(d===c&&typeof(c)!="string"){for(var e in d){c=e;break}}return c},_updatecolumnsaggregates:function(){var g=this.getRows();if(this.dataViewRecords){g=this.dataViewRecords}var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){for(var f=0;f<c;f++){var h=b(this.aggregates[0].cells[f]);var e=this.columns.records[f];var d=this._calculateaggregate(e,null,true,g);this._updatecolumnaggregates(e,d,h)}}},_refreshcolumnsaggregates:function(){var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){var f=0;for(var e=0;e<c;e++){var g=b(this.aggregates[0].cells[e]);var d=this.columns.records[e];if(g){g.width(d.width);g[0].style.left=f+"px";if(!(d.hidden&&d.hideable)){f+=d.width}else{g.css("display","none")}}}}},_updateaggregates:function(){var c=b('<div style="position: relative;" id="statusrow'+this.element.id+'"></div>');var f=0;var m=this.columns.records.length;var l=this.toThemeProperty("jqx-grid-cell");if(this.rtl){l+=" "+this.toThemeProperty("jqx-grid-cell-rtl");f=0;c.css("border-left-width","0px");this.aggregates.css("border-left-color","transparent")}l+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var n=m+10;var o=new Array();this.aggregates[0].cells=o;for(var h=0;h<m;h++){var g=this.columns.records[h];var i=this._calculateaggregate(g);var d=g.width;if(d<g.minwidth){d=g.minwidth}if(d>g.maxwidth){d=g.maxwidth}var e=l;if(g.cellsalign){e+=" "+this.toThemeProperty("jqx-"+g.cellsalign+"-align")}var k=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+e+'"></div>');c.append(k);k.css("left",f);if(!this.rtl){k.css("z-index",n--)}else{k.css("z-index",n++);if(h==0){k.css("border-left-width","0px")}}k.width(d);k[0].style.left=f+"px";if(!(g.hidden&&g.hideable)){f+=d}else{k.css("display","none")}o[o.length]=k[0];this._updatecolumnaggregates(g,i,k)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){c.css("z-index",n--)}c.width(parseInt(f)+2);c.height(this.aggregatesHeight);this.aggregates.children().remove();this.aggregates.append(c);this.aggregates.removeClass(this.toThemeProperty("jqx-widget-header"));this.aggregates.addClass(l);this.aggregates.css("border-bottom-color","transparent");this.aggregates.css("border-top-width","1px");if(this.rtl&&this.hScrollBar.css("visibility")!="hidden"){this._renderhorizontalscroll()}},destroy:function(){var h=this;if(h.columns&&h.columns.records){for(var f=0;f<h.columns.records.length;f++){h._removecolumnhandlers(h.columns.records[f])}}h.removeHandler(b(document),"mouseup.pagerbuttonstop");h.removeHandler(b(document),"mouseup.pagerbuttonsbottom");h.removeHandler(h.content,"scroll");h.removeHandler(h.content,"mousedown");h.removeHandler(b(document),"mousedown.gridedit"+h.element.id);var g="mousemove.resize"+h.element.id;var c="mousedown.resize"+h.element.id;var e="mouseup.resize"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);var g="mousemove.reorder"+h.element.id;var c="mousedown.reorder"+h.element.id;var e="mouseup.reorder"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);if(h.filterable){if(h.filterrow){for(var f=0;f<h.filterrow[0].cells.length;f++){var k=h.filterrow[0].cells[f];var j=b(k).find(".filterconditions");var d=h.columns.records[f];if(j.length>0){j.jqxDropDownList("destroy")}}}if(h.filtercolumnsList){h.filtercolumnsList.jqxDropDownList("destroy")}}if(h.pageable){if(h.pagershowrowscombotop&&h.pagershowrowscombotop.jqxDropDownList){h.pagershowrowscombotop.jqxDropDownList("destroy")}if(h.pagershowrowscombobottom&&h.pagershowrowscombobottom.jqxDropDownList){h.pagershowrowscombobottom.jqxDropDownList("destroy")}var l=h.pagerbuttonsbottom.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();var l=h.pagerbuttonstop.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();if(h.pagernexttop){h.pagernexttop.jqxButton("destroy");h.pagerprevioustop.jqxButton("destroy");h.pagernextbottom.jqxButton("destroy");h.pagerpreviousbottom.jqxButton("destroy");h.pagerfirsttop.jqxButton("destroy");h.pagerfirstbottom.jqxButton("destroy");h.pagerlasttop.jqxButton("destroy");h.pagerlastbottom.jqxButton("destroy")}}h._removeHandlers();h.vScrollBar.jqxScrollBar("destroy");h.hScrollBar.jqxScrollBar("destroy");delete h.vScrollBar;delete h.hScrollBar;delete h._mousewheelfunc;b.jqx.utilities.resize(h.host,null,true);h.host.remove()},propertiesChangedHandler:function(c,d,e){if(e.width&&e.height&&Object.keys(e).length==2){c.refresh()}},propertyChangedHandler:function(e,l,d,k){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}if(k!==d){if(l=="filterable"){e._render()}else{if(l==="height"){e.host.height(e.height);e.host.width(e.width);e._updatesize(false,true)}else{if(l==="width"){e.host.height(e.height);e.host.width(e.width);e._updatesize(true,false)}else{if(l==="source"){e.updateBoundData()}else{if(l==="columns"||l==="columnGroups"){e._columns=null;e._render()}else{if(l==="rtl"){e.content.css("left","");e.columns=e._columns;e.vScrollBar.jqxScrollBar({rtl:k});e.hScrollBar.jqxScrollBar({rtl:k});e._render()}else{if(l==="pagerMode"){e.pagerMode=k;e._initpager()}else{if(l=="pageSizeOptions"){e._initpager();var j=false;for(var f=0;f<k.length;f++){if(parseInt(k[f])==e.pageSize){j=true;break}}if(!j){b.jqx.set(e,[{pageSize:k[0]}])}}else{if(l=="pageSize"){var g=e.dataview.pagenum*e.dataview.pagesize;e.dataview.pagesize=e.pageSize;var h=Math.floor(g/e.dataview.pagesize);if(h!==e.dataview.pagenum||parseInt(k)!==parseInt(d)){e._raiseEvent("pageSizeChanged",{pagenum:k,oldpageSize:d,pageSize:e.dataview.pagesize});var m=e.goToPage(h);if(!m){if(!e.serverProcessing){e.refresh()}else{e.updateBoundData("pager")}}}}else{if(l==="pagerPosition"){e.refresh()}else{if(l==="selectionMode"){e.selectionMode=k.toLowerCase()}else{if(l=="touchmode"){e.touchDevice=null;e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:k});e.hScrollBar.jqxScrollBar({touchMode:k});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._renderrows();e._addHandlers()}else{if(l=="enableHover"){return}else{if(l=="disabled"){if(k){e.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(e.pageable){if(e.pagernexttop){e.pagernexttop.jqxButton({disabled:k});e.pagerprevioustop.jqxButton({disabled:k});e.pagernextbottom.jqxButton({disabled:k});e.pagerpreviousbottom.jqxButton({disabled:k});e.pagerfirsttop.jqxButton({disabled:k});e.pagerfirstbottom.jqxButton({disabled:k});e.pagerlasttop.jqxButton({disabled:k});e.pagerlastbottom.jqxButton({disabled:k});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({disabled:false});e.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}e.host.find(".jqx-grid-pager-number").css("cursor",k?"default":"pointer")}e.host.find(".jqx-grid-group-collapse").css("cursor",k?"default":"pointer");e.host.find(".jqx-grid-group-expand").css("cursor",k?"default":"pointer")}else{if(l=="columnsHeight"){e._render()}else{if(l=="theme"){b.jqx.utilities.setTheme(d,k,e.host);e.vScrollBar.jqxScrollBar({theme:e.theme});e.hScrollBar.jqxScrollBar({theme:e.theme});if(e.pageable&&e.pagernexttop){e.pagernexttop.jqxButton({theme:e.theme});e.pagerprevioustop.jqxButton({theme:e.theme});e.pagernextbottom.jqxButton({theme:e.theme});e.pagerpreviousbottom.jqxButton({theme:e.theme});e.pagerfirsttop.jqxButton({theme:e.theme});e.pagerfirstbottom.jqxButton({theme:e.theme});e.pagerlasttop.jqxButton({theme:e.theme});e.pagerlastbottom.jqxButton({theme:e.theme});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({theme:e.theme});e.pagershowrowscombobottom.jqxDropDownList({theme:e.theme})}}}if(e.filterable){var c=b(".filterconditions");if(c.length>0){c.jqxDropDownList({theme:e.theme})}if(e.filtercolumnsList){e.filtercolumnsList.jqxDropDownList({theme:e.theme})}}e.refresh()}else{e.refresh()}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(f,g,c,d){var e="4px";if(d.columnGroups){e=(c/2-this._columnheight/2);if(e<0){e=4}e+="px"}else{if(this.columnsHeight!=25){e=(this.columnsHeight/2-this._columnheight/2);if(e<0){e=4}e+="px"}}return'<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+g+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+e+"; margin-top: "+e+';"><span style="text-overflow: ellipsis; cursor: default;">'+f+"</span></div>"}});function a(c,d){this.owner=c;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.aggregates=null;this.aggregatesRenderer=null;this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(e,f){if(this[e]){var g=this[e];this[e]=f;this.owner._columnPropertyChanged(this,e,f,g)}else{if(this[e.toLowerCase()]){var g=this[e.toLowerCase()];this[e.toLowerCase()]=f;this.owner._columnPropertyChanged(this,e.toLowerCase(),f,g)}}};this._initfields=function(f){if(f!=null){var e=this;if(b.jqx.hasProperty(f,"dataField")){this.datafield=b.jqx.get(f,"dataField")}if(b.jqx.hasProperty(f,"displayField")){this.displayfield=b.jqx.get(f,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"validation")){this.validation=b.jqx.get(f,"validation")}if(b.jqx.hasProperty(f,"autoCellHeight")){this.autoCellHeight=b.jqx.get(f,"autoCellHeight")}if(b.jqx.hasProperty(f,"text")){this.text=b.jqx.get(f,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(f,"sortable")){this.sortable=b.jqx.get(f,"sortable")}if(b.jqx.hasProperty(f,"hidden")){this.hidden=b.jqx.get(f,"hidden")}if(b.jqx.hasProperty(f,"groupable")){this.groupable=b.jqx.get(f,"groupable")}if(b.jqx.hasProperty(f,"renderer")){this.renderer=b.jqx.get(f,"renderer")}if(b.jqx.hasProperty(f,"align")){this.align=b.jqx.get(f,"align")}if(b.jqx.hasProperty(f,"cellsAlign")){this.cellsalign=b.jqx.get(f,"cellsAlign")}if(b.jqx.hasProperty(f,"cellsFormat")){this.cellsFormat=b.jqx.get(f,"cellsFormat")}if(b.jqx.hasProperty(f,"width")){this.width=b.jqx.get(f,"width")}if(b.jqx.hasProperty(f,"minWidth")){this.minwidth=b.jqx.get(f,"minWidth")}if(b.jqx.hasProperty(f,"maxWidth")){this.maxwidth=b.jqx.get(f,"maxWidth")}if(b.jqx.hasProperty(f,"cellsRenderer")){this.cellsRenderer=b.jqx.get(f,"cellsRenderer")}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"pinned")){this.pinned=b.jqx.get(f,"pinned")}if(b.jqx.hasProperty(f,"filterable")){this.filterable=b.jqx.get(f,"filterable")}if(b.jqx.hasProperty(f,"filter")){this.filter=b.jqx.get(f,"filter")}if(b.jqx.hasProperty(f,"resizable")){this.resizable=b.jqx.get(f,"resizable")}if(b.jqx.hasProperty(f,"draggable")){this.draggable=b.jqx.get(f,"draggable")}if(b.jqx.hasProperty(f,"editable")){this.editable=b.jqx.get(f,"editable")}if(b.jqx.hasProperty(f,"initEditor")){this.initeditor=b.jqx.get(f,"initEditor")}if(b.jqx.hasProperty(f,"createEditor")){this.createeditor=b.jqx.get(f,"createEditor")}if(b.jqx.hasProperty(f,"destroyEditor")){this.destroyeditor=b.jqx.get(f,"destroyEditor")}if(b.jqx.hasProperty(f,"getEditorValue")){this.geteditorvalue=b.jqx.get(f,"getEditorValue")}if(b.jqx.hasProperty(f,"className")){this.classname=b.jqx.get(f,"className")}if(b.jqx.hasProperty(f,"cellClassName")){this.cellclassname=b.jqx.get(f,"cellClassName")}if(b.jqx.hasProperty(f,"aggregates")){this.aggregates=b.jqx.get(f,"aggregates")}if(b.jqx.hasProperty(f,"aggregatesRenderer")){this.aggregatesRenderer=b.jqx.get(f,"aggregatesRenderer")}if(b.jqx.hasProperty(f,"rendered")){this.rendered=b.jqx.get(f,"rendered")}if(b.jqx.hasProperty(f,"exportable")){this.exportable=b.jqx.get(f,"exportable")}if(b.jqx.hasProperty(f,"nullable")){this.nullable=b.jqx.get(f,"nullable")}if(b.jqx.hasProperty(f,"columnGroup")){this.columngroup=b.jqx.get(f,"columnGroup")}if(!f instanceof String&&!(typeof f=="string")){for(var g in f){if(!e.hasOwnProperty(g)){if(!e.hasOwnProperty(g.toLowerCase())){c.host.remove();throw new Error("jqxDataTable: Invalid property name - "+g+".")}}}}}};this._initfields(d);return this}b.jqx.dataCollection=function(c){this.records=new Array();this.owner=c;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(e,d){this.records[e]=d};this.isempty=function(d){if(this.records[d]==undefined){return true}return false};this.initialize=function(d){if(d<1){d=1}this.records[d-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(d){return this.records.indexOf(d)};this.add=function(d){if(d==null){return false}this.records[this.records.length]=d;return true};this.insertAt=function(e,d){if(e==null||e==undefined){return false}if(d==null){return false}if(e>=0){if(e<this.records.length){this.records.splice(e,0,d);return true}else{return this.add(d)}}return false};this.remove=function(e){if(e==null||e==undefined){return false}var d=this.records.indexOf(e);if(d!=-1){this.records.splice(d,1);return true}return false};this.removeAt=function(e){if(e==null||e==undefined){return false}if(e<0){return false}if(e<this.records.length){var d=this.records[e];this.records.splice(e,1);return true}return false};return this};b.jqx.dataView=function(){this.that=this;this.grid=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(y,p){var w=y._source?true:false;var g=null;this._sortData=null;this._sortHierarchyData=null;if(w){g=y;y=y._source}else{g=new b.jqx.dataAdapter(y,{autoBind:false})}var e=function(m){g.recordids=[];g.records=new Array();g.cachedrecords=new Array();g.originaldata=new Array();g._options.totalrecords=m.totalrecords;g._options.originaldata=m.originaldata;g._options.recordids=m.recordids;g._options.cachedrecords=new Array();g._options.pagenum=m.pagenum;g._options.pageable=m.pageable;if(y.type!=undefined){g._options.type=y.type}if(y.formatdata!=undefined){g._options.formatData=y.formatdata}if(y.contenttype!=undefined){g._options.contentType=y.contenttype}if(y.async!=undefined){g._options.async=y.async}if(y.updaterow!=undefined){g._options.updaterow=y.updaterow}if(y.addrow!=undefined){g._options.addrow=y.addrow}if(y.deleterow!=undefined){g._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}g._options.pagesize=m.pagesize};var B=function(m){m.originaldata=g.originaldata;m.records=g.records;m.hierarchy=g.hierarchy;if(!m.grid.serverProcessing){m._sortData=null;m._sortfield=null;m._filteredData=null;m._sortHierarchyData=null}if(!m.hierarchy){m.hierarchy=new Array();g.hierarchy=new Array()}if(g._source.totalrecords){m.totalrecords=g._source.totalrecords}else{if(g._source.totalRecords){m.totalrecords=g._source.totalRecords}else{if(m.hierarchy.length!==0){m.totalrecords=m.hierarchy.length}else{m.totalrecords=m.records.length}}}m.cachedrecords=g.cachedrecords};e(this);this.source=y;if(p!==undefined){var k=p}var h=this;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(m){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<this.filters.length;j++){var f=this.filters[j].datafield;var l=this.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[f+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=f;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var c=this.grid.getColumn(i[A].datafield);if(c&&c.cellsformat){var z=this.grid.source.formatDate(i[A].value,c.cellsformat,this.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=f;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=f;t.type=i[A].type;var d=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==f){r.filters.push(t);d=true;break}}}if(!d){C.push({field:f,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterslength=v;b.extend(E,{sortdatafield:h.sortfield,sortorder:h.sortfielddirection,pagenum:h.pagenum,pagesize:h.grid.pageSize});var F=g._options.data;if(g._options.data){b.extend(g._options.data,E)}else{if(y.data){b.extend(E,y.data)}g._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){B(h);h.update()};if(o){try{q()}catch(m){}}else{q()}};g.unbindDownloadComplete(h.grid.element.id);g.bindDownloadComplete(h.grid.element.id,n);g._source.loaderror=function(q,m,o){n()};if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}g._options.data=F}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this.sortBy=function(e,c){var d=this;if(c==null){this.sortfield="";this.sortfielddirection="";return}if(c==undefined){c=true}if(c=="a"||c=="asc"||c=="ascending"||c==true){c=true}else{c=false}if(e=="constructor"){e=""}this.sortfield=e;this.sortfielddirection=c?"asc":"desc"};this._sort=function(d){if(!this.sortfield||!this.sortfielddirection){return d}if(this._sortfield==this.sortfield&&this._sortfielddirection==this.sortfielddirection&&this._sortData){return this._sortData}var g=this;var j=Object.prototype.toString;Object.prototype.toString=(typeof g.sortfield=="function")?g.sortfield:function(){return this[g.sortfield]};var f="";if(this.source.datafields){b.each(this.source.datafields,function(){if(this.name==g.sortfield){if(this.type){f=this.type}return false}})}var c=new Array();for(var e=0;e<d.length;e++){c.push(b.extend({originalRecord:d[e]},d[e]))}this._sortfield=this.sortfield;this._sortfielddirection=this.sortfielddirection;if(this.sortfielddirection==="desc"){var h=c.sort(function(k,i){return g._compare(k,i,f)}).reverse()}else{var h=c.sort(function(k,i){return g._compare(k,i,f)})}this._sortData=h;Object.prototype.toString=j;return h};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(b.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(b.jqx.dataFormat.isNumber(d)&&b.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(b.jqx.dataFormat.isDate(d)&&b.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(d)&&!b.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(p){if(this.grid.serverProcessing){if(p){if(this.grid.source._source.id==""||this.grid.source._source.id==null){if(this.grid.pageable){var c=this.grid.pageSize*this.pagenum;this.grid.rowsByKey=new Array();var h=this;b.each(p,function(i){this.uid=c;h.grid.rowsByKey[this.uid]=this;c++})}}}return p}var d=new Array();if(this.filters.length){var j=new Array();var o=function(s,w){for(var u=0;u<s.length;u++){var v=s[u];v._visible=true;var q=undefined;for(var t=0;t<this.filters.length;t++){var r=this.filters[t].filter;var x=v[this.filters[t].datafield];var y=r.evaluate(x);if(q==undefined){q=y}else{if(r.operator=="or"){q=q||y}else{q=q&&y}}}v._visible=false;if(q||v.aggregate){v._visible=true;w.push(v);j[v.uid]=v}}};if(!this._filteredData){if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var n=new Array();var k=function(r,s){for(var q=0;q<s.length;q++){var t=s[q];n.push(t);if(t.records&&t.records.length>0){k(t,t.records)}}};k(null,p);o.call(this,n,d);for(var e=0;e<d.length;e++){var g=d[e];while(g.parent){var m=g.parent;if(!j[m.uid]){m._visible=true;j[m.uid]=m}g=m}}d=p}else{o.call(this,p,d)}this._filteredData=d;this.rows=d}else{this.rows=this._filteredData}}else{this.rows=p}if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var h=this;var l=new Array();this._sortData=null;var f=function(t,q){h._sortData=null;var r=null;if(h.source.hierarchy.groupingDataFields){if(q&&q.length>0&&q[0].level<h.source.hierarchy.groupingDataFields.length){r=new Array();for(var s=0;s<q.length;s++){r.push(b.extend({originalRecord:q[s]},q[s]))}}else{r=h._sort(q)}}else{r=h._sort(q)}if(t.records){t.records=r}else{t=t.concat(r)}for(var s=0;s<r.length;s++){if(r[s].records&&r[s].records.length){f(r[s],r[s].records)}}return t};if(this.sortfield||this.sortfielddirection){if(this._sortHierarchyData){l=this._sortHierarchyData}else{l=f(l,p)}this.rows=l;this._sortHierarchyData=l}}else{this.rows=this._sort(this.rows)}return this.rows};this.getid=function(j,d,e){if(b(j,d).length>0){return b(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=b(d).attr(j);if(c!=null&&c.toString().length>0){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.grid.rowsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.grid.rowsByKey["jqx"+f];if(!g){var g=this.grid.rowsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
+(function(b){b.jqx.jqxWidget("jqxDataTable","",{});b.extend(b.jqx._jqxDataTable.prototype,{defineInstance:function(){var c={altRows:false,aggregatesHeight:34,autoShowLoadElement:true,autoRowHeight:true,columnsHeight:30,columns:[],columnGroups:null,columnsResize:false,columnsReorder:false,dataview:null,disabled:false,editable:false,editSettings:{saveOnPageChange:true,saveOnBlur:true,saveOnSelectionChange:true,cancelOnEsc:true,saveOnEnter:true,editSingleCell:false,editOnDoubleClick:true,editOnF2:true},enableHover:true,enableBrowserSelection:false,filterHeight:35,filterable:false,filterMode:"default",groupsRenderer:null,groups:new Array(),headerZIndex:359,height:null,handleKeyboardNavigation:null,indentWidth:25,initRowDetails:false,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed.",localization:null,pagerHeight:40,pageSize:10,pageSizeOptions:["5","10","20"],pageable:false,pagerPosition:"bottom",pagerMode:"default",pageSizeMode:"default",pagerButtonsCount:5,pagerRenderer:null,ready:null,rendertoolbar:null,rowDetails:false,renderStatusBar:null,rendered:null,rendering:null,rtl:false,sortable:false,showtoolbar:false,showstatusbar:false,statusBarHeight:34,serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:b.jqx.utilities.scrollBarSize,touchScrollBarSize:b.jqx.utilities.touchScrollBarSize,showAggregates:false,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,beginEdit:null,endEdit:null,autokoupdates:true,columnsVirtualization:false,exportSettings:{columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,recordsInView:true,fileName:"jqxDataTable"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},toolbarHeight:34,tableZIndex:369,_updating:false,touchmode:"auto",width:null,that:this,incrementalSearch:true,events:["bindingComplete","sort","filter","pageChanged","pageSizeChanged","rowClick","rowDoubleClick","cellValueChanged","rowBeginEdit","rowEndEdit","rowSelect","rowUnselect","rowCheck","rowUncheck","columnResized","columnReordered","rowExpand","rowCollapse","cellBeginEdit","cellEndEdit"]};if(this===b.jqx._jqxDataTable.prototype){return c}b.extend(true,this,c);this.that=this;return c},createInstance:function(e){var l=this;if(b.jqx.utilities.scrollBarSize!=13){l.scrollBarSize=b.jqx.utilities.scrollBarSize}if((l.element.nodeName.toLowerCase()=="table")||b(l.element).children("table").length>0){var n=l.host.find("tbody tr");var d=l.host.find("th");var w=new Array();if(d.length===0){d=n[0];n.splice(0,1)}if(l.localizestrings){l.localizestrings();if(l.localization!=null){l.localizestrings(l.localization,false)}}var z=[];for(var u=0;u<n.length;u++){var k=n[u];var h={};for(var t=0;t<d.length;t++){var g=b.trim(b(d[t]).text());if(u===0){var s={name:g};if(l.columns[t]&&l.columns[t].cellsFormat){var v=l.columns[t].cellsFormat.toLowerCase();if(v.indexOf("p")!=-1||v.indexOf("c")!=-1||v.indexOf("n")!=-1||v.indexOf("f")!=-1){s.type="number"}if(v.indexOf("d")!=-1||v.indexOf("m")!=-1||v.indexOf("y")!=-1||v.indexOf("h")!=-1||v.indexOf("m")!=-1||v.indexOf("s")!=-1||v.indexOf("t")!=-1){s.type="date"}}w.push(s)}var c=b(k).find("td:eq("+t+")");var f=w[t].type;if(f){var p=l.getvaluebytype(b.trim(c.text()),w[t]);h[g]=p}else{h[g]=b.trim(c.text())}}z[z.length]=h}l.host.wrap("<div></div>");var m=l.host.parent();var q=l.host.data();q.jqxDataTable.host=m;q.jqxDataTable.element=m[0];l.host.parent()[0].id=l.element.id;try{l.host.parent()[0].style=l.element.style}catch(r){}l.element=m[0];l.host=m;l.host.data(q);var o={dataFields:w,localdata:z,datatype:"array"};var y=new b.jqx.dataAdapter(o);l.source=y}if(l.source&&!l.source.dataBind){l.source=new b.jqx.dataAdapter(l.source)}var x=l.source._source.datafields;if(x&&x.length>0){l._camelCase=l.source._source.dataFields!==undefined;l.selectionMode=l.selectionMode.toLowerCase()}if(l.host.attr("tabindex")==null){l.host.attr("tabindex","0")}l.host.attr("role","grid");l.host.attr("align","left");l.host.addClass(l.toTP("jqx-grid"));l.host.addClass(l.toTP("jqx-reset"));l.host.addClass(l.toTP("jqx-rc-all"));l.host.addClass(l.toTP("jqx-widget"));l.host.addClass(l.toTP("jqx-widget-content"));if(l._testmodules()){return}l.render(true);b.jqx.utilities.resize(l.host,function(){var A=b(window).width();var i=b(window).height();var j=l.host.width();var B=l.host.height();if(l._lastHostWidth!=j||l._lastHostHeight!=B){l._updatesize(l._lastHostWidth!=j,l._lastHostHeight!=B)}l._lastWidth=A;l._lastHeight=i;l._lastHostWidth=j;l._lastHostHeight=B})},getvaluebytype:function(h,d){var f=h;if(h==null){return h}if(this.gridlocalization.decimalseparator==","){if(h.indexOf(this.gridlocalization.decimalseparator)>=0){h=h.replace(this.gridlocalization.decimalseparator,".")}}if(h.indexOf(this.gridlocalization.currencysymbol)>=0){h=h.replace(this.gridlocalization.currencysymbol,"")}if(h.indexOf(this.gridlocalization.percentagesymbol)>=0){h=h.replace(this.gridlocalization.percentagesymbol,"")}if(b.isArray(h)&&d.type!="array"){for(var e=0;e<h.length;e++){h[e]=this.getvaluebytype(h[e],d)}return h}if(d.type=="date"){if(h=="NaN"){h=""}else{var g=new Date(h);if(typeof h=="string"){if(d.format){var c=b.jqx.dataFormat.parsedate(h,d.format);if(c!=null){g=c}}}if(g.toString()=="NaN"||g.toString()=="Invalid Date"){if(b.jqx.dataFormat){h=b.jqx.dataFormat.tryparsedate(h)}else{h=g}}else{h=g}if(h==null){h=f}}}else{if(d.type=="float"||d.type=="number"||d.type=="decimal"){if(h=="NaN"){h=""}else{var h=parseFloat(h);if(isNaN(h)){h=f}}}else{if(d.type=="int"||d.type=="integer"){var h=parseInt(h);if(isNaN(h)){h=f}}else{if(d.type=="bool"||d.type=="boolean"){if(h!=null){if(h.toLowerCase!=undefined){if(h.toLowerCase()=="false"){h=false}else{if(h.toLowerCase()=="true"){h=true}}}}if(h==1){h=true}else{if(h==0&&h!==""){h=false}else{h=""}}}}}}return h},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var d=b('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var c=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){c=true}}if(c){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var e=false;if(this.width==="auto"||this.width===null||this.autoWidth){e=true}if(e){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(d){var c=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");c.addClass(this.toTP("jqx-widget"));b(document.body).append(c);if(d=="cell"){this._cellheight=c.height()}else{this._columnheight=c.height()}c.remove()},_testmodules:function(){var g="";var e=this;var c=function(){if(g.length!=""){g+=","}};if(!this.host.jqxScrollBar){c();g+=" jqxscrollbar.js"}if(!this.host.jqxButton){c();g+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){c();g+=" jqxdata.js"}if(g!=""||this.editable||this.filterable||this.pageable){var d=[];var f=function(h){switch(h){case"checkbox":if(!e.host.jqxCheckBox&&!d.checkbox){d.checkbox=true;c();g+=" jqxcheckbox.js"}break;case"dropdownlist":if(!e.host.jqxDropDownList&&!d.dropdownlist){c();d.dropdownlist=true;g+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!e.host.jqxListBox&&!d.listbox){c();d.listbox=true;g+=" jqxlistbox.js"}}break}};if((this.filterable&&this.filterMode!="simple")||(this.pagerMode=="advanced"&&this.pageable)){f("dropdownlist")}if(g!=""){throw new Error("jqxDataTable: Missing references to the following module(s): "+g);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();this.host.focus();var d=this;setTimeout(function(){d.wrapper.focus();d.host.focus()},25);this.focused=true}catch(c){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},isBindingCompleted:function(){return !this._loading},_updatesize:function(i,h){if(this._loading){return}var f=this;var g=f.host.width();var e=f.host.height();if(!f._oldWidth){f._oldWidth=g}if(!f._oldHeight){f._oldHeight=e}if(f._resizeTimer!=undefined){clearTimeout(f._resizeTimer);f._resizeTimer=null}var d=300;var c=function(){if(f._resizeTimer){clearTimeout(f._resizeTimer)}f.resizingGrid=true;if(b.jqx.isHidden(f.host)){return}f._updatecolumnwidths();f.refresh();f._oldWidth=g;f._oldHeight=e;f.resizingGrid=false};c();f._resizeTimer=setTimeout(function(){var k=f.host.width();var j=f.host.height();if(f._oldWidth!=k||f._oldHeight!=j){c()}},d)},resize:function(d,c){if(d!=undefined){this.width=d}if(c!=undefined){this.height=c}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var c=b.jqx.mobile.isTouchDevice();this.touchDevice=c;if(this.touchmode==true){c=true;b.jqx.mobile.setMobileSimulator(this.table[0]);this.touchDevice=c}else{if(this.touchmode==false){c=false}}if(c){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return c},toTP:function(c){return this.toThemeProperty(c)},localizestrings:function(c,f){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(c!=null){for(var h in c){if(h.toLowerCase()!==h){c[h.toLowerCase()]=c[h]}}var j=["pagergotopagestring","pagershowrowsstring","pagerrangestring","pagernextbuttonstring","pagerpreviousbuttonstring","pagerfirstbuttonstring","pagerlastbuttonstring","toppagerstring","firstDay","days","months","AM","PM","patterns","percentsymbol","currencysymbol","currencysymbolposition","decimalseparator","thousandsseparator","filterapplystring","filteraddnew","filtercancelstring","filterclearstring","filterstring","filterstringcomparisonoperators","filternumericcomparisonoperators","filterdatecomparisonoperators","filterbooleancomparisonoperators","emptydatastring","filterselectstring","todaystring","clearstring","validationstring","loadtext","filtersearchstring","loadingErrorMessage"];var g=this;for(var e=0;e<j.length;e++){var d=j[e];if(c[d]!==undefined){g.gridlocalization[d]=c[d]}}if(c.loadingErrorMessage){this.loadingErrorMessage=c.loadingErrorMessage}if(f!==false){this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",filterapplystring:"Apply",filtercancelstring:"Cancel",filterclearstring:"Clear Filter",filterstring:"advanced",filtersearchstring:"Search:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed."}}},_updateScrollbars:function(m){var p=false;if(this.width==="auto"||this.width===null||this.autowidth){if(this.maxWidth==999999){p=true}}var d=parseInt(this.scrollBarSize);var j=this.table?this.table.height():0;var n=0;var e="inherit";var h=this.vScrollBar[0].style.visibility;var l=this.hScrollBar[0].style.visibility;if(!m){var g=this.host.height()}else{var g=m}if(!this.columnGroups){g-=this.showHeader?this.columnsHeight:0}else{g-=this.showHeader?this.columnsheader.height():0}if(this.filterable){g-=this.filter.height()}if(this.pageable){g-=this.pagerHeight;if(this.pagerPosition==="both"){g-=this.pagerHeight}}if(this.showtoolbar){g-=this.toolbarHeight}if(this.showstatusbar){g-=this.statusBarHeight}if(this.showAggregates){g-=this.aggregatesHeight}var q=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){q=true}}if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}else{this.vScrollBar[0].style.visibility="hidden"}if((h!=this.vScrollBar[0].style.visibility)){this._updatecolumnwidths();var i=this.table.height();if(j!=i){j=i;if(!q&&j>g&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.vScrollBar[0].style.visibility=e;n=4+parseInt(d);this.vScrollBar.jqxScrollBar({max:j-g})}}}if(this.scrollBarSize==0){n=0}var o=this.table?this.table.width():0;if(o>3){o-=3}var c=parseInt(this.host.css("border-left-width"))+parseInt(this.host.css("border-right-width"));var r=c+this.host.width()-n;if(o>r&&!p){this.hScrollBar[0].style.visibility=e;this.hScrollBar.jqxScrollBar({max:o-r});n=4+parseInt(d);if(d==0){n=0}if(!q){if(j>g-n+4&&(this.source.records.length>0||(this.source.hierarchy&&this.source.hierarchy.length>0))){this.hScrollBar.jqxScrollBar({max:c+o-r});var f=this.vScrollBar[0].style.visibility==="hidden";this.vScrollBar[0].style.visibility=e;this._updatecolumnwidths();if(f){this.hScrollBar.jqxScrollBar({max:o-r+n+c})}var k=this.table?this.table.width():0;if(k>3){k-=3}if(k!=o){if(k<r){this.hScrollBar.jqxScrollBar({max:c+k-r});this.hScrollBar[0].style.visibility="hidden";n=0}}}this.vScrollBar.jqxScrollBar({max:j-g+n})}}else{this.hScrollBar[0].style.visibility="hidden"}if(this.source.records.length===0&&(this.source.hierarchy&&this.source.hierarchy.length===0)){this.vScrollBar[0].style.visibility="hidden";this.bottomRight[0].style.visibility="hidden"}if(this.vScrollBar[0].style.visibility=="hidden"){if(this.vScrollInstance.value!=0){this.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>"+e+"</span>");d.addClass(this.toTP("jqx-widget"));d.addClass(this.toTP("jqx-grid"));d.addClass(this.toTP("jqx-grid-column-header"));d.addClass(this.toTP("jqx-widget-header"));b(document.body).append(d);var c=d.outerWidth()+20;d.remove();return c},_arrangeAutoHeight:function(e){if(!e){e=0}if(this.height==="auto"||this.height===null||this.autoheight){var h=this.table.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:-1}else{g+=this.showHeader?this.columnsheader.height():-1}g+=this.showstatusbar?this.statusBarHeight:0;g+=this.showAggregates?this.aggregatesHeight:0;g+=this.showtoolbar?this.toolbarHeight:0;g+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){g+=this.pageable?this.pagerHeight:0}g+=h;if(this.filterable){var f=this.filter.find(".filterrow");var c=this.filter.find(".filterrow-hidden");var d=1;if(c.length>0){d=0}g+=this.filterHeight-1+this.filterHeight*f.length*d}if(g+e>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(g+e)}return true}return false},_arrangeAutoWidth:function(e){if(!e){e=0}if(this.width==="auto"||this.width===null||this.autowidth){var d=0;for(var f=0;f<this.columns.records.length;f++){var c=this.columns.records[f].width;if(this.columns.records[f].hidden){continue}if(c=="auto"){c=this._measureElementWidth(this.columns.records[f].text);d+=c}else{d+=c}}var g=d;if(g+e>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(g+e)}return true}return false},_measureTopAndHeight:function(){var d=this.host.height();var h=0;if(this.showtoolbar){h+=this.toolbarHeight;d-=parseInt(this.toolbarHeight)}if(this.filterable){var g=this.filter.find(".filterrow");var e=this.filter.find(".filterrow-hidden");var f=1;if(e.length>0){f=0}h+=this.filterHeight;d-=parseInt(this.filterHeight);var c=f==1?g.length:0;h+=this.filterHeight*c;d-=this.filterHeight*c}if(this.pageable&&this.pagerPosition!="bottom"){h+=parseInt(this.pagerHeight)+1;if(d>this.pagerHeight&&this.pagerPosition==="both"){d-=parseInt(this.pagerHeight)}}return{top:h,height:d}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var v=this.host.width();var r=this.host.height();var j=r;var i=this;if(this.pageable){if(this.pagerPosition==="bottom"){this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="both"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="inherit"}else{if(this.pagerPosition==="top"){this.toppager[0].style.visibility="inherit";this.pager[0].style.visibility="hidden"}}}}else{this.toppager[0].style.visibility="hidden";this.pager[0].style.visibility="hidden"}var q=0;if(this.showtoolbar){this.toolbar.width(v);this.toolbar.height(this.toolbarHeight-1);this.toolbar.css("top",0);q+=this.toolbarHeight;r-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.filterable){this.filter.width(v);this.filter.css("top",q);var t=this.filter.find(".filterrow");var h=this.filter.find(".filterrow-hidden");var A=1;if(h.length>0){A=0}this.filter.height(this.filterHeight-1+this.filterHeight*t.length*A);q+=this.filterHeight;r-=parseInt(this.filterHeight);var x=A==1?t.length:0;q+=this.filterHeight*x;r-=this.filterHeight*x}if(this.showstatusbar){this.statusbar.width(!this.table?v:Math.max(v,this.table.width()));this.statusbar.height(this.statusBarHeight-1)}else{this.statusbar[0].style.height="0px"}if(this.showAggregates){this.aggregates.height(this.aggregatesHeight-1)}else{this.aggregates[0].style.height="0px"}if(this.pageable&&this.pagerPosition!="bottom"){this.toppager[0].style.width=v+"px";this.toppager[0].style.height=parseInt(this.pagerHeight)+"px";this.toppager[0].style.top=parseInt(q)+"px";q+=parseInt(this.pagerHeight)+1;if(r>this.pagerHeight){r-=parseInt(this.pagerHeight)}}else{if(this.toppager[0].style.width!=v+"px"){this.toppager[0].style.width=parseInt(v)+"px"}if(this.toppager[0].style.height!=this.pagerHeight+"px"){this.toppager[0].style.height=parseInt(this.pagerHeight)+"px"}if(this.toppager[0].style.top!=q+"px"){this.toppager[0].style.top=q+"px"}var y=this.pagerPosition!="bottom"?this.pagerHeight:0;var d=q+y+"px";if(this.content[0].style.top!=d){this.content[0].style.top=q+this.pagerHeight+"px"}}this._updateScrollbars(j);var c=parseInt(this.scrollBarSize);var n=4;var e=2;var f=0;if(this.vScrollBar[0].style.visibility!="hidden"){f=c+n}if(this.hScrollBar[0].style.visibility!="hidden"){e=c+n+2}if(c==0){f=0;e=0}if(this.showAggregates){if(this.hScrollBar[0].style.visibility==="hidden"){this.aggregates.width(!this.table?v:Math.max(v,this.table.width())+4)}else{this.aggregates.width("auto")}}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var w=this._arrangeAutoHeight(e-2);var s=this._arrangeAutoWidth(f+1);if(w||s){var v=this.host.width();this.toppager[0].style.width=parseInt(v)+"px";this.toolbar[0].style.width=parseInt(v)+"px";this.statusbar[0].style.width=parseInt(v)+"px";this.filter[0].style.width=parseInt(v)+"px"}if(w){var B=this._measureTopAndHeight();q=B.top;r=B.height}}var m=0;if(this.pageable){m=this.pagerHeight;if(this.pagerPosition!="top"){e+=this.pagerHeight}}if(this.showAggregates){e+=this.aggregatesHeight;m+=this.aggregatesHeight}if(this.showstatusbar){e+=this.statusBarHeight;m+=this.statusBarHeight}if(this.hScrollBar[0].style.height!=c+"px"){this.hScrollBar[0].style.height=parseInt(c)+"px"}if(this.hScrollBar[0].style.top!=q+r-n-c-m+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=q+r-n-c-m-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var g=false;var z=false;if(f==0){if(l!=(v-2)+"px"){this.hScrollBar[0].style.width=(v-2)+"px";g=true}}else{if(l!=(v-c-n)+"px"){this.hScrollBar[0].style.width=(v-c-n+"px");g=true}}if(this.vScrollBar[0].style.width!=c+"px"){this.vScrollBar[0].style.width=c+"px";z=true}if(this.vScrollBar[0].style.height!=parseInt(r)-e+"px"){this.vScrollBar[0].style.height=(parseInt(r)-e+"px");z=true}if(this.vScrollBar[0].style.left!=parseInt(v)-parseInt(c)-n+"px"||this.vScrollBar[0].style.top!=q+"px"){this.vScrollBar[0].style.top=q+"px";this.vScrollBar[0].style.left=parseInt(v)-parseInt(c)-n+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:q});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:c+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var u=this.hScrollInstance;u.disabled=this.disabled;if(g){u.refresh()}if(z){k.refresh()}var o=function(C){if((C.vScrollBar[0].style.visibility!="hidden")&&(C.hScrollBar[0].style.visibility!="hidden")){C.bottomRight[0].style.visibility="inherit";C.bottomRight[0].style.left=1+parseInt(C.vScrollBar.css("left"))+"px";C.bottomRight[0].style.top=parseInt(C.hScrollBar.css("top"))+"px";if(C.rtl){C.bottomRight.css("left","0px")}C.bottomRight[0].style.width=parseInt(c)+3+"px";C.bottomRight[0].style.height=parseInt(c)+4+"px";if(C.showAggregates){C.bottomRight.css("z-index",99);C.bottomRight.height(parseInt(c)+4+C.aggregatesHeight);C.bottomRight.css({top:parseInt(C.hScrollBar.css("top"))-C.aggregatesHeight})}}else{C.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=v-f+"px"){this.content[0].style.width=v-f+"px"}if(this.content[0].style.height!=r-e+3+"px"){this.content[0].style.height=r-e+3+"px"}if(this.content[0].style.top!=q+"px"){this.content[0].style.top=parseInt(q)+"px"}if(this.rtl){this.content.css("left",f);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",f)}if(this.table){var p=this.table.width();if(p<v-f){this.content.css("left",v-p+2);if(this.filter&&(this.filter.children().length>0)){b(this.filter.children()).css("left",v-p+2)}}}}if(this.showAggregates){this.aggregates.css("top",q+r-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0));if(this.rtl){this.aggregates.css("left","0px")}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({top:q+r-n-c-m+this.aggregatesHeight+"px"});this.aggregates.css("top",1+q+r-c-5-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?(this.statusBarHeight+1):0))}o(this)}if(this.showstatusbar){this.statusbar.css("top",q+r-this.statusBarHeight-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.statusbar.css("left",this.content.css("left"))}else{this.statusbar.css("left","0px")}}}if(this.pageable){this.pager[0].style.width=v+"px";this.pager[0].style.height=this.pagerHeight+"px";this.pager[0].style.top=parseInt(q)+parseInt(r)-parseInt(this.pagerHeight)-1+"px"}else{this.pager[0].style.height="0px"}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(v!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(r!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostwidth=v},scrollOffset:function(e,d){if(arguments.length==0||(e!=null&&typeof(e)=="object"&&!e.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(e!=null&&typeof(e)=="object"){var d=e.left;var c=e.top;var e=c}if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(c){if(c==null||c==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",c)}},scrolltop:function(c){if(c==null||c==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",c)}},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(c){this._updating=false;if(c===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(h,j,c){if(this.loadingstate===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}var g=this;if(h==null){h={}}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataView();this.dataview.pageable=this.pageable;this.dataview.grid=this;if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pageSize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pageSize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}}this._loading=true;this.dataview.update=function(y){g._loading=false;g.rowsByKey=new Array();var C=g.source._source.datafields;if(g.groups&&g.groups.length>0){var s=Object.prototype.toString;var m=g.groups[0];Object.prototype.toString=(typeof m=="function")?m:function(){return this[m]};if(!g.source.records.sort){var u=new Array();var q=0;var E=0;var D={};b.each(D,function(){u[E+q++]=this});D=u}g.source.records.sort(function(G,F){if(G===undefined){G=null}if(F===undefined){F=null}if(G===null&&F===null){return 0}if(G===null&&F!==null){return -1}if(G!==null&&F===null){return 1}var J=0;var I=0;if(G&&G.uid){J=G.uid}if(F&&F.uid){I=F.uid}G=G.toString();F=F.toString();if(b.jqx.dataFormat.isNumber(G)&&b.jqx.dataFormat.isNumber(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(b.jqx.dataFormat.isDate(G)&&b.jqx.dataFormat.isDate(F)){if(G<F){return -1}if(G>F){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(G)&&!b.jqx.dataFormat.isNumber(F)){G=String(G).toLowerCase();F=String(F).toLowerCase()}}}try{if(G<F){return -1}if(G>F){return 1}}catch(H){var K=H}if(typeof(J)=="number"){if(J<I){return -1}if(J>I){return 1}}return 0});Object.prototype.toString=s}for(var A=0;A<g.source.records.length;A++){var p=g.source.records[A];g.rowsByKey[p.uid]=p;if(p.records&&p.records.length>0){var t=function(F){for(var G=0;G<F.length;G++){if(!F[G]){continue}g.rowsByKey[F[G].uid]=F[G];if(F[G].records&&F[G].records.length>0){t(F[G].records)}}};t(p.records)}if(A===0){var n=false;if(C){for(var z=0;z<C.length;z++){if(!C[z]){continue}if(!C[z].type){n=true;C[z].type="string";var l=p[C[z].name];if(l==undefined){continue}if(l===true||l===false){C[z].type="boolean"}if(l!=null&&l.toString().indexOf(g.gridlocalization.currencysymbol)>-1||l.toString().indexOf(g.gridlocalization.percentsymbol)>-1){var v=l.toString().split(" ").length;var k=new Number(g._toNumber(l.toString()));if(!isNaN(k)&&v==1){C[z].type="number"}}if(b.jqx.dataFormat.isNumber(l)||(!isNaN(parseFloat(l))&&isFinite(l))){C[z].type="number"}if(b.jqx.dataFormat.isDate(l)){C[z].type="date"}}}}if(n){for(var z=0;z<C.length;z++){var w=g.source.getvaluebytype(p[C[z].name],C[z]);if(w!=null&&C[z].type=="number"){var B=w;B=new Number(g._toNumber(B.toString()));if(!isNaN(B)){w=B}}p[C[z].name]=w}}}}if(j==="pager"||j==="filter"||j==="sort"){g.refresh()}else{g._render()}if(g.autoShowLoadElement&&!g._loading){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(!g.disabled){if(g.pagernexttop){g.pagerfirsttop.jqxButton({disabled:false});g.pagerfirstbottom.jqxButton({disabled:false});g.pagerlasttop.jqxButton({disabled:false});g.pagerlastbottom.jqxButton({disabled:false});g.pagernexttop.jqxButton({disabled:false});g.pagerprevioustop.jqxButton({disabled:false});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({disabled:false});g.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}g.pagernextbottom.jqxButton({disabled:false});g.pagerpreviousbottom.jqxButton({disabled:false})}}}g._updateTouchScrolling();g._raiseEvent("bindingComplete");if(c){c()}if(!g.initializedcall){g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){g._updatesize(true)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var r=6000+Math.floor((Math.random()*4000)+1);var x=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(x)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},r)}if(g.host.css("visibility")=="hidden"){var o=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}};this.dataview.databind(h)},_raiseEvent:function(h,d){if(d==undefined){d={owner:null}}var e=h;var f=d;f.owner=this;var g=new b.Event(e);g.owner=this;g.args=f;var c=this.host.trigger(g);d=g.args;return c},ensureColumnVisible:function(d){var g=0;var c=0;for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield!=d){g+=this.columns.records[f].width}else{g+=this.columns.records[f].width;c=this.columns.records[f].width;break}}if(this.hScrollBar.css("visibility")!="hidden"){var h=this.hScrollBar.jqxScrollBar("value");var e=h+this.host.width();if(h>g-c){this.hScrollBar.jqxScrollBar("setPosition",g-c)}else{if(g>e){this.hScrollBar.jqxScrollBar("setPosition",h+g-e)}}}},ensurerowvisiblebykey:function(o){if(this.vScrollBar[0].style.visibility==="hidden"){return false}var p=this._getuirow(o);if(!p){return}var m=this.vScrollBar.jqxScrollBar("value");var e=this.host.height();var g=0;if(!this.columnGroups){g+=this.showHeader?this.columnsHeight:0}else{g+=this.showHeader?this.columnsheader.height():0}if(this.filterable){g+=this.filter.height()}if(this.pageable){if(this.pagerPosition==="top"){g+=this.pagerHeight}}if(this.showtoolbar){g+=this.toolbarHeight}e-=g;if(this.pageable&&this.pagerPosition!=="top"){e-=this.pagerHeight}if(this.showstatusbar){e-=this.statusBarHeight}if(this.showAggregates){e-=this.aggregatesHeight}if(this.hScrollBar.css("visibility")!="hidden"){e-=20}var n=this.host.coord().top+g;var f=m;var c=e+f;var i=p.coord().top+m-n;i=Math.round(i);var l=i+p.outerHeight();l=Math.round(l);if(Math.round(p.position().top)===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var j=b(this._table.children()[1]).children().length-1;var d=this._getuikey(j);var k=this._getuirow(d);if(k){if(k[0]===p[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}}if(i<f){var h=i-p.height();if(h<0){h=0}return this.vScrollBar.jqxScrollBar("setPosition",h)}if(l>c){return this.vScrollBar.jqxScrollBar("setPosition",4+l-e)}},ensureRowVisible:function(c){var d=this._getkey(c);this.ensurerowvisiblebykey(d)},getColumn:function(c){var d=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==c||this.displayfield==c){d=this;return false}})}return d},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}var d=g;g=g.toLowerCase();var f=this.getColumn(e);if(f==null){return}var i=f[g];f[g]=h;f[d]=h;var c=this.getColumn(e);if(c!=null){c[g]=h}switch(g){case"filteritems":case"text":case"editable":case"resizable":case"draggable":case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(g=="align"){this._rendercolumnheaders();this.refresh()}else{if(g=="text"||g=="class"||g=="hidden"||g=="pinned"||g=="resizable"||g=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(g=="width"||g=="maxwidth"||g=="minwidth"){f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(c,e){if(c==null||e==null){return null}e=e.toLowerCase();var d=this.getColumn(c);return d[e]},setColumnProperty:function(c,d,e){this._setcolumnproperty(c,d,e)},hideColumn:function(c){this._setcolumnproperty(c,"hidden",true)},showColumn:function(c){this._setcolumnproperty(c,"hidden",false)},updateBoundData:function(d,c){this.databind(this.source,d,c)},refresh:function(c){if(c!=true){if(b.jqx.isHidden(this.host)){return}this.vScrollInstance.setPosition(0);this._renderrows();this.updatepagerdetails();this._arrange();if(this._arrangeFilterRow){this._arrangeFilterRow()}this._renderhorizontalscroll();this._showicons();if(this.showAggregates){this._updateaggregates()}this._updateTouchScrolling()}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var d="www.jqwidgets.com";if(location.hostname.indexOf(d.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var e=String.fromCharCode(83,80,65,78);var c=String.fromCharCode(72,84,84,80,58,47,47);var f=document.createElement(e);f.id=b.jqx.utilities.createId();f.innerHTML=d;f.style.position="absolute";f.style.right="5px";f.style.bottom="5px";f.style.color="#909090";f.style.cursor="pointer";f.style.zIndex="999999";f.style.display="none";f.style.fontSize="9px";f.onmousedown=function(){open(c+d)};this.content[0].appendChild(f);this._gridRenderElement=f}}},_updateTouchScrolling:function(){var d=this.that;if(d.isTouchDevice()){var f=b.jqx.mobile.getTouchEventName("touchstart");var e=b.jqx.mobile.getTouchEventName("touchend");var c=b.jqx.mobile.getTouchEventName("touchmove");if(d.table){d.removeHandler(d.table,f+".touchScroll");d.removeHandler(d.table,c+".touchScroll");d.removeHandler(d.table,e+".touchScroll");d.removeHandler(d.table,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(d.table[0],Math.max(d.vScrollInstance.max,d.hScrollInstance.max),function(i,h){if(h!=null&&d.vScrollBar.css("visibility")!="hidden"){var g=d.vScrollInstance.value;d.vScrollInstance.setPosition(h)}if(i!=null&&d.hScrollBar.css("visibility")!="hidden"){var g=d.hScrollInstance.value;d.hScrollInstance.setPosition(i)}d.scrolled=new Date();d.vScrollInstance.thumbCapture=true},this.element.id,this.hScrollBar,this.vScrollBar)}}},_showicons:function(){if(!this.table){return}for(var e=0;e<this.columns.records.length;e++){var g=this.columns.records[e];b(g.filtericon).hide();b(g.sortasc).hide();b(g.sortdesc).hide();if(this.filterMode!=="simple"){for(var d=0;d<this.dataview.filters.length;d++){var f=this.dataview.filters[d];if(f.datafield===g.displayfield){b(g.filtericon).show();break}}}if(this.sortcolumn!==null){if(this.sortcolumn===g.displayfield){if(this.sortdirection!=null){if(this.sortdirection.ascending){b(g.sortasc).show()}else{b(g.sortdesc).show()}}}}if((g.align!="left"&&g.align!="center"&&!this.rtl)||(this.rtl&&g.align!="right"&&g.align!="center")){var h=b.jqx.isHidden(b(g.filtericon))?0:16;h+=b.jqx.isHidden(b(g.sortasc))?0:16;h+=b.jqx.isHidden(b(g.sortdesc))?0:16;var c=b(b(b(g.element).children()[0]).children()[0]);if(!this.rtl){if(h>0){c.css("margin-right",4+h+"px")}else{c.css("margin-right","4px")}}else{if(h>0){c.css("margin-left",4+h+"px")}else{c.css("margin-left","4px")}}}}},render:function(j){var f="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='toppager' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='statusbar' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerText="";this.element.innerHTML=f;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var h=this.host.find("#verticalScrollBar"+this.element.id);var l=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=h.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=l.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=b.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=b.data(this.hScrollBar[0],"jqxScrollBar").instance;this.filter=this.host.find("#filter");this.filter[0].id="filter"+this.element.id;this.filter.addClass(this.toTP("jqx-widget-header"));this.filter.addClass(this.toTP("jqx-grid-toolbar"));this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-grid-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.aggregates=this.host.find("#aggregates");this.aggregates[0].id="aggregates"+this.element.id;this.aggregates.addClass(this.toTP("jqx-grid-statusbar"));this.aggregates.addClass(this.toTP("jqx-widget-header"));this.statusbar=this.host.find("#statusbar");this.statusbar[0].id="statusbar"+this.element.id;this.statusbar.addClass(this.toTP("jqx-grid-statusbar"));this.statusbar.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.toppager=this.host.find("#toppager");this.toppager.addClass(this.toTP("jqx-grid-pager-top"));this.toppager.addClass(this.toTP("jqx-widget-header"));this.gridtable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var c=this.source.datafields;if(c==null&&this.source._source){c=this.source._source.datafields}if(c){for(var d=0;d<this.columns.length;d++){var e=this.columns[d];if(e&&e.cellsFormat&&e.cellsFormat.length>2){for(var k=0;k<c.length;k++){if(c[k].name==e.datafield&&!c[k].format){c[k].format=e.cellsFormat;break}}}}}this.databind(this.source);if(this.showtoolbar){this.toolbar.css("visibility","inherit")}if(this.showstatusbar){this.statusbar.css("visibility","inherit")}if(this.showAggregates){this.aggregates.css("visibility","inherit")}this.tableheight=null;var g=this;var i=function(){if(g.content){g.content[0].scrollTop=0;g.content[0].scrollLeft=0}if(g.gridcontent){g.gridcontent[0].scrollLeft=0;g.gridcontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(m){i();return false});if(j!==true){this._render()}},_render:function(){var e=this;if(e.dataview==null){return}if(e._loading){return}if(e.columnsHeight!=25||e.columnGroups){e._measureElement("column")}if(e.filterable){e.filter[0].style.visibility="inherit"}else{e.filter[0].style.visibility="hidden"}e.rowinfo=new Array();e._removeHandlers();if(e.columns==null){e.columns=new b.jqx.dataCollection(e.element)}else{e._initializeColumns()}var c=false;var f=false;if(e.width!=null&&e.width.toString().indexOf("%")!=-1){c=true}if(c){e.element.style.width=e.width}else{e.host.width(e.width)}if(e.height!=null&&e.height.toString().indexOf("%")!=-1){f=true}if(f){e.element.style.height=e.height}else{e.host.height(e.height)}e._lastHostWidth=e.host.width();e._lastHostHeight=e.host.height();b.jqx.utilities.html(e.content,"");e.columnsheader=e.columnsheader||b('<div style="overflow: hidden;"></div>');e.columnsheader.remove();e.columnsheader.addClass(e.toTP("jqx-widget-header"));e.columnsheader.addClass(e.toTP("jqx-grid-header"));if(!e.showHeader){e.columnsheader.css("display","none")}else{if(e.columnsheader){e.columnsheader.css("display","block")}}e.gridcontent=e.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');e.gridcontent.remove();var d=e.columnsHeight;d=e._preparecolumnGroups();e.columnsheader.height(d);e.content.append(e.columnsheader);e.content.append(e.gridcontent);e._rendercolumnheaders();e.tableheight=null;e.gridcontent.find("#contenttable"+e.element.id).remove();if(e.table!=null){e.table.remove();e.table=null}e.table=b('<div id="contenttable'+e.element.id+'" style="overflow: hidden; position: relative;"></div>');e.gridcontent.addClass(e.toTP("jqx-grid-content"));e.gridcontent.addClass(e.toTP("jqx-widget-content"));e.gridcontent.append(e.table);e._renderrows();if(e.filterable){e._renderfilter()}if(e.pageable){e._initpager()}e._arrange();if(e.renderStatusBar){e.renderStatusBar(e.statusbar)}if(e.rendertoolbar){e.rendertoolbar(e.toolbar)}if(e.showAggregates){e._updateaggregates()}if(e.disabled){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}e._renderhorizontalscroll();e._showicons();e._addHandlers()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},_initpager:function(){var g=this;var c=this.gridlocalization.pagergotopagestring;var i=this.gridlocalization.pagerrangestring;var d=this.gridlocalization.pagershowrowsstring;var h=(this.pagerHeight-28)/2;this.pagerdiv=this.pagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');this.toppagerdiv=this.toppagerdiv||b('<div style="line-height: 28px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.toppagerdiv.remove();return}if(!this.pagerRenderer){this.pagerdiv.css("top",h);this.toppagerdiv.css("top",h);var f=function(s,E){var n=this;var r=b('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');var D=b('<div style="float: right; margin-right: 7px;"></div>');var t=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var j=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var m=b('<div type="button" style="margin-left: 3px; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var q=b('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>');var z=b('<div style="margin-right: 7px; float: right;"></div>');var x=b('<div style="margin-right: 7px; float: right;"></div>');var p=b('<div style="padding-bottom: 3px; margin-right: 3px; float: right;"></div>');r.attr("disabled",n.disabled);var A=b('<div id="gridpagerlist" style="margin-top: 0px; margin-right: 7px; float: right;"></div>');A[0].id="gridpagerlist"+E+n.element.id;n.removeHandler(t,"mousedown");n.removeHandler(t,"mouseup");n.removeHandler(t,"click");n.removeHandler(j,"mousedown");n.removeHandler(j,"mouseup");n.removeHandler(j,"click");n.removeHandler(m,"mousedown");n.removeHandler(m,"mouseup");n.removeHandler(m,"click");n.removeHandler(q,"mousedown");n.removeHandler(q,"mouseup");n.removeHandler(q,"click");if(!n.rtl){j.attr("title",n.gridlocalization.pagerpreviousbuttonstring);t.attr("title",n.gridlocalization.pagernextbuttonstring)}else{t.attr("title",n.gridlocalization.pagerpreviousbuttonstring);j.attr("title",n.gridlocalization.pagernextbuttonstring)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){p.css("padding-top","3px")}this["pagerfirst"+E]=m;this["pagerlast"+E]=q;this["pagernext"+E]=t;this["pagerprevious"+E]=j;this["pagergotoinput"+E]=r;this["pagerdetails"+E]=z;this["pagershowrows"+E]=x;this["pagergotolabel"+E]=D;this["pagershowrowscombo"+E]=A;this["pagerbuttons"+E]=p;if(n.pagerMode=="default"){if(!n.rtl){m.attr("title",n.gridlocalization.pagerfirstbuttonstring);q.attr("title",n.gridlocalization.pagerlastbuttonstring)}else{q.attr("title",n.gridlocalization.pagerfirstbuttonstring);m.attr("title",n.gridlocalization.pagerlastbuttonstring)}var v=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");v.addClass(n.toThemeProperty("jqx-icon-arrow-first"));m.wrapInner(v);var o=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");o.addClass(n.toThemeProperty("jqx-icon-arrow-last"));q.wrapInner(o);if(!n.rtl){s.append(m);s.append(j);s.append(p);s.append(t);s.append(q)}else{s.append(q);s.append(t);s.append(p);s.append(j);s.append(m)}q.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});m.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var C=!n.rtl?"left":"right";p.css("float",C);q.css("float",C);m.css("float",C);t.css("float",C);j.css("float",C);z.css("float",n.rtl?"left":"right");if(n.rtl){z.css("margin-left","7px");z.css("margin-right","0px")}else{z.css("margin-left","0px");z.css("margin-right","7px")}}else{if(!n.rtl){s.append(t);s.append(j)}}t.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});j.jqxButton({cursor:"pointer",disabled:n.disabled,theme:n.theme});var k=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");k.addClass(n.toThemeProperty("jqx-icon-arrow-left"));j.wrapInner(k);var l=b("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");l.addClass(n.toThemeProperty("jqx-icon-arrow-right"));t.wrapInner(l);if(!n.rtl){s.append(z)}if(n.pagerMode!="default"){if(!n.rtl){s.append(A);s.append(x);s.append(r);s.append(D)}else{s.append(D);s.append(r);s.append(x);s.append(A);s.append(z);s.append(t);s.append(j)}var u=n.pageSizeOptions;A.jqxDropDownList({_checkForHiddenParent:false,rtl:n.rtl,disabled:n.disabled,source:u,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:n.theme});var B=0;for(var y=0;y<u.length;y++){if(this.pageSize>=u[y]){B=y}}D[0].innerHTML=c;A.jqxDropDownList({selectedIndex:B});var w=r.find("input");w.addClass(n.toThemeProperty("jqx-input"));w.addClass(n.toThemeProperty("jqx-widget-content"));if(this.rtl){w.css("direction","rtl")}var n=this;this.removeHandler(A,"select");this.addHandler(A,"select",function(K){if(K.args){if(n.vScrollInstance){n.vScrollInstance.setPosition(0)}var I=K.args.index;n.pagershowrowscombotop.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.selectIndex(I);n.pagershowrowscombobottom.data().jqxDropDownList.instance.renderSelection("mouse");n.pagershowrowscombotop.data().jqxDropDownList.instance.renderSelection("mouse");var L=n.dataview.pagenum*n.dataview.pagesize;var H=u[I];var J=n.pageSize;n.pageSize=parseInt(H);if(isNaN(n.pageSize)){n.pageSize=10}if(H>=100){n.pagershowrowscombotop.jqxDropDownList({width:55});n.pagershowrowscombobottom.jqxDropDownList({width:55})}else{n.pagershowrowscombotop.jqxDropDownList({width:44});n.pagershowrowscombobottom.jqxDropDownList({width:44})}n.dataview.pagesize=n.pageSize;var G=Math.floor(L/n.dataview.pagesize);if(G!==n.dataview.pagenum||parseInt(H)!==parseInt(J)){n._raiseEvent("pageSizeChanged",{pagenum:G,oldpageSize:J,pageSize:n.dataview.pagesize});var F=n.goToPage(G);if(!F){if(!n.serverProcessing){n.refresh()}else{n.updateBoundData("pager")}}}}});var r=r.find("input");r.addClass(n.toThemeProperty("jqx-grid-pager-input"));r.addClass(n.toThemeProperty("jqx-rc-all"));this.removeHandler(r,"keydown");this.removeHandler(r,"change");n.addHandler(r,"keydown",function(F){if(F.keyCode>=65&&F.keyCode<=90){return false}if(F.keyCode=="13"){var G=r.val();G=parseInt(G);if(!isNaN(G)){n.goToPage(G-1)}return false}});n.addHandler(r,"change",function(){var F=r.val();F=parseInt(F);if(!isNaN(F)){n.goToPage(F-1)}})}x[0].innerHTML=d;n.addHandler(t,"mouseenter",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseenter",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mouseleave",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-hover"))});n.addHandler(j,"mouseleave",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-hover"))});n.addHandler(t,"mousedown",function(){l.addClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(t,"mouseup",function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"))});n.addHandler(j,"mousedown",function(){k.addClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});n.addHandler(j,"mouseup",function(){k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"))});if(n.pagerMode==="default"){n.addHandler(q,"mouseenter",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseenter",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mouseleave",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-hover"))});n.addHandler(m,"mouseleave",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-hover"))});n.addHandler(q,"mousedown",function(){o.addClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mousedown",function(){v.addClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))});n.addHandler(q,"mouseup",function(){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"))});n.addHandler(m,"mouseup",function(){v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))})}n.addHandler(b(document),"mouseup.pagerbuttons"+E+this.element.id,function(){l.removeClass(n.toThemeProperty("jqx-icon-arrow-right-selected"));k.removeClass(n.toThemeProperty("jqx-icon-arrow-left-selected"));if(o){o.removeClass(n.toThemeProperty("jqx-icon-arrow-last-selected"));v.removeClass(n.toThemeProperty("jqx-icon-arrow-first-selected"))}});n.addHandler(t,"click",function(){if(!t.jqxButton("disabled")){if(!n.rtl){n.goToNextPage()}else{n.goToPrevPage()}}});n.addHandler(j,"click",function(){if(!j.jqxButton("disabled")){if(!n.rtl){n.goToPrevPage()}else{n.goToNextPage()}}});if(this.pagerMode==="default"){n.addHandler(m,"click",function(){if(!m.jqxButton("disabled")){if(!n.rtl){n.goToPage(0)}else{var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}}});n.addHandler(q,"click",function(){if(!q.jqxButton("disabled")){if(!n.rtl){var G=n.dataview.totalrecords;var F=Math.ceil(G/n.pageSize);n.goToPage(F-1)}else{n.goToPage(0)}}})}};this.pagerdiv.children().remove();this.toppagerdiv.children().remove();f.call(this,this.pagerdiv,"bottom");f.call(this,this.toppagerdiv,"top");this.pager.append(this.pagerdiv);this.toppager.append(this.toppagerdiv);this.updatepagerdetails()}else{this.pagerdiv.children().remove();this.toppager.children().remove();var e=this.pagerRenderer();if(e!=null){this.pagerdiv.append(b(e))}this.pager.append(this.pagerdiv);var e=this.pagerRenderer();if(e!=null){this.toppagerdiv.append(b(e))}this.toppager.append(this.toppagerdiv)}},_updatepagertheme:function(){},goToPage:function(f,h){if(this._loading){return false}if(this.editKey!=undefined){if(this.editSettings.saveOnPageChange){var e=this.endroweditbykey(this.editKey);if(!e){return false}}else{return false}}if(f==null||f==undefined){f=0}if(f==-1){f=0}if(f<0){return false}var d=this.dataview.totalrecords;var g=this.dataview.pagenum;var c=Math.ceil(d/this.pageSize);if(f>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(f>0){f=c-1}}if(this.dataview.pagenum!=f){if(this.pageable){this.dataview.pagenum=f;this._raiseEvent("pageChanged",{pagenum:f,oldpagenum:g,pageSize:this.dataview.pagesize})}if(!this.serverProcessing){this.refresh();if(h){if(b.isFunction(h)){h()}}}else{this.updateBoundData("pager",h)}return true}return false},goToPrevPage:function(e){if(this.dataview.pagenum>0){return this.goToPage(this.dataview.pagenum-1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){var d=this.dataview.totalrecords;var c=Math.ceil(d/this.pageSize);return this.goToPage(c-1,e)}}return false},goToNextPage:function(e){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var c=Math.ceil(d/this.pageSize);if(this.dataview.pagenum<c-1){return this.goToPage(this.dataview.pagenum+1,e)}else{if(this.pagerMode!="default"&&this.pagerMode!="advanced"){return this.goToPage(0,e)}}return false},updatepagerdetails:function(){if(!this.pageable){return}var j=this;if(!this.serverProcessing){if(this.source.hierarchy){var m=j._names();var g=0;var r=function(y,w){for(var x=0;x<w.length;x++){if(j.dataview.filters.length==0){w[x]._visible=true}if(w[x]._visible!==false){g++}if(j.treeGrid&&j.treeGrid.pageSizeMode=="root"){continue}if(w[x].records&&(w[x][m.expanded]||w[x][m.leaf])){if(w[x]._visible!==false){r(y+1,w[x].records);if(j.treeGrid&&b(j.treeGrid).jqxTreeGrid("showSubAggregates")){if(y!=0){g--}}}}}};r(0,this.dataview.rows);this.dataview.totalrecords=g}else{this.dataview.totalrecords=this.dataview.rows.length}}var d=this.dataview.pagenum*this.pageSize;var u=(this.dataview.pagenum+1)*this.pageSize;if(u>=this.dataview.totalrecords){u=this.dataview.totalrecords}var v=this.dataview.totalrecords;d++;var t=Math.ceil(v/this.dataview.pagesize);if(t>=1){t--}t++;if(this.pageSizeMode=="root"){t=Math.ceil(this.rootRecordsLength/this.dataview.pagesize);if(t>=1){t--}t++;v=this.rootRecordsLength;this.dataview.totalrecords=this.rootRecordsLength}if(this.pagerMode!="default"){if(this["pagergotoinputbottom"]){var k=this["pagergotoinputbottom"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t);k=this["pagergotoinputtop"].find("input");k.val(this.dataview.pagenum+1);k.attr("title","1 - "+t)}}else{var o="";var n=this.pagerButtonsCount;if(n==0||!n){n=5}var s=0;if(this.rtl){s=n-1}while((this.rtl&&s>=0)||(!this.rtl&&s<n)){var e=1+s;var p=this.dataview.pagenum/n;var f=Math.floor(p);e+=f*n;var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(e>t&&!this.rtl){break}else{if(this.rtl&&e>t){s--;continue}}if(!this.rtl){if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>";if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}}else{if(s===n-1){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(t>=1+e){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(1+e)+"'>...</a>"}}if(this.dataview.pagenum===e-1){c+=" "+this.toTP("jqx-fill-state-pressed")}o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+e+"'>"+e+"</a>"}if(this.rtl){var c=this.toTP("jqx-grid-pager-number");c+=" "+this.toTP("jqx-rc-all");if(s==0&&e>n){o+="<a class='"+c+"' tabindex=-1 href='javascript:;' data-page='"+(-1+e)+"'>...</a>"}}if(!this.rtl){s++}else{s--}}if(!this["pagerbuttonsbottom"]){return}var h=this["pagerbuttonsbottom"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");var h=this["pagerbuttonstop"].find("a");this.removeHandler(h,"click");this.removeHandler(h,"mouseenter");this.removeHandler(h,"mouseleave");this["pagerbuttonsbottom"][0].innerHTML=o;this["pagerbuttonstop"][0].innerHTML=o;if(this.disabled){this.host.find(".jqx-grid-pager-number").css("cursor","default")}var q=function(){h.click(function(i){if(j.disabled){return}var w=b(i.target).attr("data-page");j.goToPage(parseInt(w)-1)});h.mouseenter(function(i){if(j.disabled){return}b(i.target).addClass(j.toTP("jqx-fill-state-hover"))});h.mouseleave(function(i){if(j.disabled){return}b(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};if(this.pagerPosition==="both"||this.pagerPosition==="bottom"){var h=this["pagerbuttonsbottom"].find("a");q(h)}if(this.pagerPosition==="both"||this.pagerPosition==="top"){var h=this["pagerbuttonstop"].find("a");q(h)}}if(u==0&&u<d){d=0}if(this["pagerdetailsbottom"]){if(!this.rtl){this["pagerdetailsbottom"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v;this["pagerdetailstop"][0].innerHTML=d+"-"+u+this.gridlocalization.pagerrangestring+v}else{this["pagerdetailsbottom"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d;this["pagerdetailstop"][0].innerHTML=v+this.gridlocalization.pagerrangestring+u+"-"+d}}if(this.pagerMode=="default"){var l=this["pagerbuttonsbottom"].width()+b(this["pagerdetailsbottom"]).width()+160;this.pagerdiv.css("min-width",l);this.toppagerdiv.css("min-width",l)}if(d>u){this.goToPrevPage()}},_preparecolumnGroups:function(){var o=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var m=this;for(var g=0;g<this.columnGroups.length;g++){this.columnGroups[g].parent=null;this.columnGroups[g].groups=null}for(var g=0;g<this.columns.records.length;g++){this.columns.records[g].parent=null;this.columns.records[g].groups=null}var n=function(j){for(var t=0;t<m.columnGroups.length;t++){var u=m.columnGroups[t];if(u.name===j){return u}}return null};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];if(!p.groups){p.groups=null}if(p.parentGroup){p.parentgroup=p.parentGroup}if(p.parentgroup){var r=n(p.parentgroup);if(r){p.parent=r;if(!r.groups){r.groups=new Array()}if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];if(p.columngroup){var r=n(p.columngroup);if(r){if(!r.groups){r.groups=new Array()}p.parent=r;if(r.groups.indexOf(p)===-1){r.groups.push(p)}}}}var q=0;for(var g=0;g<this.columns.records.length;g++){var p=this.columns.records[g];var d=p;p.level=0;while(d.parent){d=d.parent;p.level++}var d=p;var c=p.level;q=Math.max(q,p.level);while(d.parent){d=d.parent;if(d){d.level=--c}}}var l=function(x){var w=new Array();if(x.columngroup){w.push(x)}if(!x.groups){return new Array()}for(var v=0;v<x.groups.length;v++){if(x.groups[v].columngroup){w.push(x.groups[v])}else{if(x.groups[v].groups){var u=l(x.groups[v]);for(var t=0;t<u.length;t++){w.push(u[t])}}}}return w};for(var g=0;g<this.columnGroups.length;g++){var p=this.columnGroups[g];var e=l(p);p.columns=e;var h=new Array();var s=0;for(var f=0;f<e.length;f++){h.push(this.columns.records.indexOf(e[f]));if(e[f].pinned){s++}}if(s!=0){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group cannot be pinned.")}h.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var k=1;k<h.length;k++){if(h[k]!=h[k-1]+1){throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+q;o=this.columnGroupslevel*this.columnsHeight}return o},wheel:function(e,d){if(d.autoheight&&d.hScrollBar.css("visibility")=="hidden"){e.returnValue=true;return true}var f=0;if(!e){e=window.event}if(e.originalEvent&&e.originalEvent.wheelDelta){e.wheelDelta=e.originalEvent.wheelDelta}if(e.wheelDelta){f=e.wheelDelta/120}else{if(e.detail){f=-e.detail/3}}if(f){var c=d._handleDelta(f);if(c){if(e.preventDefault){e.preventDefault()}if(e.originalEvent!=null){e.originalEvent.mouseHandled=true}if(e.stopPropagation!=undefined){e.stopPropagation()}}if(c){c=false;e.returnValue=c;return c}else{return false}}if(e.preventDefault){e.preventDefault()}e.returnValue=false},_handleDelta:function(e){if(this.vScrollBar.css("visibility")!="hidden"){var d=this.vScrollInstance.value;if(e<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var c=this.vScrollInstance.value;if(d!=c){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var d=this.hScrollInstance.value;if(e>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var c=this.hScrollInstance.value;if(d!=c){return true}}}return false},_removeHandlers:function(){this.removeHandler(this.host,"focus");this.removeHandler(b(window),"jqxReady."+this.element.id);if(this._mousewheelfunc){this.removeHandler(this.host,"mousewheel",this._mousewheelfunc)}var c="mousedown";if(this.isTouchDevice()){c=b.jqx.mobile.getTouchEventName("touchstart")}this.removeHandler(this.host,"dragstart."+this.element.id);this.removeHandler(this.host,"keydown");if(this.table){this.removeHandler(this.table,"mouseleave");this.removeHandler(this.table,"mousemove");this.removeHandler(this.table,c);this.removeHandler(this.table,"selectstart."+this.element.id);if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.removeHandler(this.table,"dblclick")}}},_addHandlers:function(){var f=this;this._mousewheelfunc=this._mousewheelfunc||function(i){f.wheel(i,f);return false};this.addHandler(this.host,"dragstart."+this.element.id,function(i){return false});this.addHandler(this.table,"selectstart."+this.element.id,function(i){if(f.enableBrowserSelection){return true}if(f.filterable){if(b(i.target).ischildof(f.filterrow)){return true}}if(f.rowDetails){if(b(i.target).parents("[data-role=details]").length>0){return true}}if(undefined==f.editKey){return false}});this.addHandler(b(window),"jqxReady."+this.element.id,function(){f._updatecolumnwidths();f.refresh()});if(this.editable){this.addHandler(b(document),"mousedown.gridedit"+this.element.id,function(k){if(f.editable&&f.editSettings.saveOnBlur){if(f.editKey!=null){if(!f.vScrollInstance.isScrolling()&&!f.vScrollInstance.isScrolling()){var s=f.host.coord();var p=f.host.width();var l=f.host.height();var u=false;var j=false;var t=false;if(k.pageY<s.top||k.pageY>s.top+l){u=true;j=true}if(k.pageX<s.left||k.pageX>s.left+p){u=true;t=true}if(u){var m=function(y){var x=b(y.children()[0]).data();if(x&&!x.jqxWidget){x=y.data()}if(!x){x=y.data()}if(x.jqxWidget&&x.jqxWidget.container&&x.jqxWidget.container[0].style.display=="block"){var i=x.jqxWidget;var z=i.container.coord().top;var w=i.container.coord().top+i.container.height();if(j&&(k.pageY<z||k.pageY>w)){u=true;i.close();return true}else{return false}}};var r=f._editors;if(r){for(var n=0;n<r.length;n++){var o=r[n].editor;var v=m(o);var q=o.attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}else{q=o.children().attr("aria-owns");if(q){if(q==document.activeElement.id){return true}if(b(document.activeElement).ischildof(b("#"+q))){return true}}}if(v===false){return}}}}if(u){f.endroweditbykey(f.editKey)}}}}})}this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"focus",function(i){if(i.preventDefault){}});var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}}else{f._timer=setTimeout(function(){if(f.table){f.table[0].style.top=0-f.vScrollInstance.value+"px"}},5)}};this.hScrollInstance.valueChanged=function(i){if(f._timer){clearTimeout(f._timer)}if(d){if(f.table){f._renderhorizontalscroll()}}else{f._timer=setTimeout(function(){if(f.table){f._renderhorizontalscroll()}},5)}};var e="mousedown";if(this.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend");if(b.jqx.browser.msie&&b.jqx.browser.version<10){e="mousedown"}}var h=function(s,r){var m=null;var n=f._table.coord();var u=n.top;var A=n.left;var B=f._table[0].rows;for(var o=0;o<B.length;o++){var z=B[o];var w=z.cells;for(var p=0;p<w.length;p++){var t=w[p];var l=t.offsetLeft+A;var q=t.offsetTop+u;var k=t.offsetWidth;var v=t.offsetHeight;if(k===0||v===0){continue}if(q<=r&&r<q+v){if(l<=s&&s<l+k){m=t;break}}else{break}}}return m};var c=function(){if(f.hoveredRow){var j=f.hoveredRow[0].cells;var i=function(m){for(var n=0;n<m.length;n++){var l=m[n];var o=l.className;o=o.replace(" "+f.toTP("jqx-fill-state-hover"),"");o=o.replace(" "+f.toTP("jqx-grid-cell-hover"),"");l.className=o}};i(j);if(f._pinnedTable&&j.length>0){var k=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;i(k)}}f.hoveredRow=null};this.addHandler(this.table,"mouseleave",function(i){c();if(f.wrapper){f.wrapper.parent().removeAttr("tabindex",0);f.wrapper.removeAttr("tabindex",1);f.content.removeAttr("tabindex",2)}});var g=function(o){if(!f.enableHover){return true}f.hoveredRow=o;if(!o){return true}var l=o[0].cells;var n=f.rowDetails&&!f.treeGrid;var q=n&&!f.treeGrid?1:0;var k=0;if(q>0&&f.rtl){q=0;k=1}for(var m=q;m<l.length-k;m++){var j=l[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}if(f._pinnedTable){if(f._pinnedTable[0].rows.length){var p=f._pinnedTable[0].rows[f.hoveredRow[0].rowIndex].cells;for(var m=q;m<p.length-k;m++){var j=p[m];j.className+=" "+f.toTP("jqx-fill-state-hover")+" "+f.toTP("jqx-grid-cell-hover")}}}};if(f.isTouchDevice()){f.enableHover=false}this.addHandler(this.table,"mousemove",function(j){var i=j.pageX;var m=j.pageY;if(f.disabled){return true}if(!f.enableHover){return true}if(f.hScrollInstance.isScrolling()||f.vScrollInstance.isScrolling()){return true}var l=h(i,m);if(!l){return true}var k=b(l).parent();c();if(f.rowDetails&&f.treeGrid){if(k.attr("data-role")=="row-details"){return true}}if(f.renderedRecords&&f.renderedRecords.length===0){return true}if(f.editKey!=null){if(f.editKey===k.attr("data-key")){return true}}g(k);return true});this.addHandler(this.host,"keydown",function(i){return f._handleKey(i)});if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(i){f.table.trigger("mousedown",i)})}this.addHandler(this.table,e,function(B){var D=B.target;var q=null;if(f.disabled){return true}if(f.touchmode&&B.originalEvent&&B.originalEvent._pageX){return}var i=f.table.coord();var s=B.pageX;var r=B.pageY;if(b.jqx.browser.msie&&b.jqx.browser.version<9){if(arguments&&arguments.length==2){s=arguments[1].pageX;r=arguments[1].pageY}}if(f.isTouchDevice()){var E=b.jqx.position(B);s=E.left;r=E.top;if(isNaN(s)||isNaN(r)){var E=b.jqx.position(B.originalEvent);s=E.left;r=E.top}}q=h(s,r);var p=b(q).parent();var F=p.attr("data-key");if(f.rowDetails&&f.treeGrid){if(p.attr("data-role")=="row-details"){return true}}var v=function(){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}B.stopPropagation()}f.host.focus()};if(F!==undefined){var m=b(q).index();var k=f.columns.records[m];if(F==f.editKey){if(f.editSettings.editSingleCell){if(f.clickedTD==q){return true}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}}else{return true}}else{if(f.editKey!=null&&f.editSettings.saveOnSelectionChange){var u=f.endroweditbykey(f.editKey);if(!u){return true}}}f.clickedTD=q;var l=f.rowinfo[F];if(l&&l.group){return true}var A=false;if(l){var C=f.getrowdisplayindex(l.row);var t=f.getrowindex(l.row);f._raiseEvent("rowClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});var o=new Date().getTime();var w=300;if(!f.clickTime){f.clickTime=new Date()}if(f._lastSelectedKey==F&&(o-f.clickTime.getTime()<w)){f._raiseEvent("rowDoubleClick",{index:C,boundIndex:t,key:F,row:l.row,originalEvent:B,dataField:k.datafield});A=true;if(B.preventDefault){B.preventDefault()}}}f.clickTime=new Date();if(q.className.indexOf("jqx-grid-group")>=0){if(!l.expanded){f.showdetailsbykey(F)}else{f.hidedetailsbykey(F)}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("jqx-grid-group")>=0&&f.treeGrid){if(!l.expanded){f.treeGrid.expandRow(F)}else{f.treeGrid.collapseRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}if(B.preventDefault){B.preventDefault()}}else{if(B.target&&B.target.className.indexOf&&B.target.className.indexOf("checkbox")>=0&&f.treeGrid){if(!l.checked){f.treeGrid.checkRow(F)}else{f.treeGrid.uncheckRow(F)}g(f._getuirow(F));if(B.stopPropagation){B.stopPropagation()}}else{var m=b(q).index();var k=f.columns.records[m];if(B.stopPropagation){B.stopPropagation()}if(f.editable&&f.editKey==null){if(f._lastSelectedKey==F&&f.editSettings.editOnDoubleClick&&A){var u=f.beginroweditbykey(F,k);return true}}if(f.isTouchDevice()){if(f.scrolled&&new Date()-f.scrolled<500){if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return false}}if(f.selectionMode==="singlerow"&&f.selectionMode!=="custom"){f.selectrowbykey(F,"mouse",false);f._lastSelectedKey=F;f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}else{if(f.selectionMode!=="custom"){if(!B.ctrlKey&&!B.metaKey){f.clearSelection(false)}if(B.shiftKey){if(f._lastSelectedKey){var l=f.rowinfo[f._lastSelectedKey];f._doSelection(f._lastSelectedKey,true,false);var j=b(f._table.children()[1]).children(("[data-key="+f._lastSelectedKey+"]"));var n=j.index();var z=p.index();f._selectRange(z,n);f.selectrowbykey(F,"mouse",false);f._updateSelection();if(B.preventDefault){B.preventDefault()}v();return true}}}f._lastSelectedKey=F;f.clickTime=new Date();if(f.selectionMode!=="custom"){if(l){if(l.selected){f.unselectrowbykey(F,"mouse",false)}else{f.selectrowbykey(F,"mouse",false)}v()}}else{return true}f._updateSelection();if(!f.enableBrowserSelection){if(B.preventDefault){B.preventDefault()}}return true}}}}}})},_updateSelection:function(){var l=this;var r=b(l._table.children()[1]).children();var n=l._pinnedTable?b(l._pinnedTable.children()[1]).children():null;var e=l.rowDetails&&!l.treeGrid;var d=e?1:0;var f=0;if(d>0&&l.rtl){d=0;f=1}for(var h=0;h<r.length;h++){var q=r[h].cells;if(n){var c=n[h].cells}var p=null;if(r[h].getAttribute){p=r[h].getAttribute("data-key")}if(l.rowinfo[p]&&l.selectionMode!=="none"){if(l.rowinfo[p].selected){for(var g=d;g<q.length-f;g++){var o=q[g];b(o).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"));if(c){b(c[g]).addClass(l.toTP("jqx-grid-cell-selected")+" "+l.toTP("jqx-fill-state-pressed"))}}}else{for(var g=d;g<q.length-f;g++){var o=q[g];if(c){var k=c[g]}var m=o.className;m=m.replace(" jqx-fill-state-pressed","");m=m.replace(" jqx-fill-state-pressed-"+l.theme,"");m=m.replace(" jqx-grid-cell-selected","");m=m.replace(" jqx-grid-cell-selected-"+l.theme,"");o.className=m;if(k){k.className=m}}}}}},_selectRange:function(f,e){var c=b(b(this._table.children()[1]).children()[e]);var j=this;if(f>e){var h=e;var d=c;while(h<f){var d=d.next();var g=d.attr("data-key");j._doSelection(g,true,false);h++}}else{if(f<e){var h=e;var d=c;while(h>f){var d=d.prev();var g=d.attr("data-key");this._doSelection(g,true,false);h--}}}},_getuikey:function(d,g){var f=null;var e=b(this._table.children()[1]).children();f=b(e[d]).attr("data-key");if(b(e[d]).attr("data-role")){var c=b(e[d]);if(g=="next"){while(c){c=c.next();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}else{if(g=="prev"){while(c){c=c.prev();if(c){var h=c.attr("data-role");if(!h){f=c.attr("data-key");return f}}}}}return null}return f},getRows:function(){return this.source.records},getView:function(){var d=this;var e=this._names();var f=new Array();var c=function(k,h){if(!h){return}for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j]._visible!==false){var g=b.extend({},h[j]);k.push(g);if(h[j][e.expanded]){g.records=new Array();c(g.records,h[j].records)}else{if(d.dataview.filters.length>0){g.records=new Array();c(g.records,h[j].records)}}}}};c(f,this.dataViewRecords);return f},getKeys:function(){var d=new Array();var e=this.source.records;for(var c=0;c<e.length;c++){d.push(e[c].uid)}return d},getKey:function(c){var d=this.getRows();if(d){return d[c].uid}else{return -1}},_getkey:function(e){if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}var f=null;var d=function(){var l=b(this._table.children()[1]).children();var k=null;var n=0;if(this.pageable){n-=this.dataview.pagenum*this.dataview.pagesize}if(this.groups.length>0){var h=0;for(var j=0;j<l.length;j++){var o=b(l[j]);var m=o.children()[0].getAttribute("colspan");if(m>0){continue}if(h===n+e){k=o.attr("data-key");return k}h++}return k}if(this.rowDetails){var h=0;for(var j=0;j<l.length;j++){if(h===e+n){k=b(l[j]).attr("data-key");return k}if(j%2==1){h++}}}else{k=b(l[n+e]).attr("data-key")}return k};f=d.call(this);if(f==null){if(this.pageable){var c=Math.floor(e/this.dataview.pagesize);if(this.dataview.pagenum!=c){var g=this.getRows()[e];if(g&&g.uid!=null){return g.uid}else{if(isNaN(c)){return null}this.goToPage(c);f=d.call(this)}}}}return f},_getuirow:function(g){try{var c=b(this._table.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._table.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_getpinneduirow:function(g){if(!this._pinnedTable){return null}try{var c=b(this._pinnedTable.children()[1]).children(("[data-key="+g+"]"));if(c.length>0){return c}}catch(e){var d=b(this._pinnedTable.children()[1]).children();for(var f=0;f<d.length;f++){var j=d[f];var h=j.getAttribute("data-key");if(g==h){return b(j)}}return null}return null},_names:function(){var d={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"};if(!this.source||(this.source&&!this.source._source.hierarchy)){return d}var c=this.source._source.hierarchy.reservedNames;if(!c){return d}return c},_getMatches:function(f,g){if(f==undefined||f.length==0){return -1}var c=this.renderedRecords;if(g!=undefined){c=c.slice(g)}var e=0;if(this.rowDetails&&!this.treeGrid){e++}if(e<this.columns.records.length){var d=this.columns.records[e].datafield}else{new Array()}var h=new Array();b.each(c,function(k){var l=this[d];if(!l){l=""}var j=b.jqx.string.startsWithIgnoreCase(l.toString(),f);if(j){h.push(this.uid)}});return h},_handleKey:function(X){if(this._loading){return true}if(b(X.target).ischildof(this.filter)){return true}if(b(X.target).ischildof(this.toolbar)){return true}if(b(X.target).ischildof(this.statusbar)){return true}var T=this._names();var I=this;var s=X.charCode?X.charCode:X.keyCode?X.keyCode:0;var n=this._lastSelectedKey;var V=this.rowinfo[n];var v=this._getuirow(n);var x=X.shiftKey&&this.selectionMode!="singlerow";var Q=X.ctrlKey||X.metaKey;if(!v){return}if(this.handleKeyboardNavigation){var u=this.handleKeyboardNavigation(s);if(u){return true}}if(this.editable&&this.editKey==undefined&&s===113&&this.editSettings.editOnF2){this.beginroweditbykey(v.attr("data-key"))}if(this.editKey==undefined){if(!Q&&!x&&this.incrementalSearch&&(!(s>=33&&s<=40))){var z=-1;if(!this._searchString){this._searchString=""}if((s==8||s==46)&&this._searchString.length>=1){this._searchString=this._searchString.substr(0,this._searchString.length-1)}var e=String.fromCharCode(s);var H=(!isNaN(parseInt(e)));var J=false;if((s>=65&&s<=97)||H||s==8||s==32||s==46){if(!X.shiftKey){e=e.toLocaleLowerCase()}if(s!=8&&s!=32&&s!=46){if(!(this._searchString.length>0&&this._searchString.substr(0,1)==e)){this._searchString+=e}}if(s==32){this._searchString+=" "}this._searchTime=new Date();var n=this.getSelection();if(n.length>=1){var t=n[0].uid;var C=-1;for(var S=0;S<this.renderedRecords.length;S++){if(this.renderedRecords[S].uid==t){C=S;break}}var B=this._getMatches(this._searchString,C);if(B.length==0||(B.length>0&&B[0]==t)){var B=this._getMatches(this._searchString)}}else{var B=this._getMatches(this._searchString)}if(B.length>0){var n=this.getSelection();if(n.length>=1){var c=B.indexOf(n[0].uid);if(c==-1){this.clearSelection(false);this.selectrowbykey(B[0])}else{var h=c+1;if(h>=B.length){h=0}this.clearSelection(false);this.selectrowbykey(B[h])}}else{this.clearSelection(false);this.selectrowbykey(B[0])}this._lastSearchString=this._searchString}}if(this._searchTimer!=undefined){clearTimeout(this._searchTimer)}if(s==27||s==13){this._searchString="";this._lastSearchString=""}this._searchTimer=setTimeout(function(){I._searchString="";I._lastSearchString=""},500);if(z>=0){return}if(J){return false}}}if(this.editKey!=undefined){if(s===27&&this.editSettings.cancelOnEsc){this.endroweditbykey(this.editKey,true)}else{if(s===13&&this.editSettings.saveOnEnter){if(X.target&&X.target.nodeName.toLowerCase()!="div"&&X.target.nodeName.toLowerCase()!="input"){return true}this.endroweditbykey(this.editKey,false)}else{if(this.editSettings.editSingleCell){if(this.editColumn){var P=this.columns.records.indexOf(this.editColumn);if(s==9&&P<this.columns.records.length-1&&!X.shiftKey){var M=this.editKey;var y=null;for(var S=P+1;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){y=this.columns.records[S];break}}if(y){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,y)}}else{if(s==9&&X.shiftKey&&P>0){var M=this.editKey;var E=null;for(var S=P-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){E=this.columns.records[S];break}}if(E){this.endroweditbykey(this.editKey,false);this.beginroweditbykey(M,E)}}}if(s==9){var o=this.rowinfo[this.editKey];var C=this.getrowindex(o);var v=this._getuirow(this.editKey);if(!X.shiftKey&&!y){var N=null;for(var S=0;S<this.columns.records.length;S++){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});var q=this.endroweditbykey(this.editKey,false);if(q){this._doSelection(F,true,true);this.beginroweditbykey(F,N)}else{this.beginroweditbykey(this.editKey,N)}}}}else{if(!E&&X.shiftKey){var N=null;for(var S=this.columns.records.length-1;S>=0;S--){if(this.columns.records[S].editable&&!this.columns.records[S].hidden){N=this.columns.records[S];break}}if(N){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){var F=v.attr("data-key");break}}}if(F){this.clearSelection(false);this._lastSelectedKey=F;var o=this.rowsByKey[F];var C=this.getrowindex(o);var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:F,index:L,boundIndex:C,row:this.rowsByKey[F]});this.endroweditbykey(this.editKey,false);this._doSelection(F,true,true);this.beginroweditbykey(F,N)}}}}return false}}}}}return true}if(X.ctrlKey||X.metaKey){var f=String.fromCharCode(s).toLowerCase();if(f=="c"||f=="x"){var n=this.getSelection();if(n.length>=1){var w="";for(var K=0;K<this.renderedRecords.length;K++){var Y=this.renderedRecords[K];for(var S=0;S<n.length;S++){var o=n[S];if(o.uid===Y.uid){for(var R=0;R<this.columns.records.length;R++){var A=this.getCellTextByKey(o.uid,this.columns.records[R].displayfield);w+=A;if(R<this.columns.records.length-1){w+="\t"}}w+="\r\n";break}}}if(w!=""){w=w.substring(0,w.length-1)}if(window.clipboardData){window.clipboardData.setData("Text",w)}else{var O=b('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');O.val(w);b("body").append(O);O.select();setTimeout(function(){document.designMode="off";O.select();O.remove()},100)}}}}if(s===32&&this.treeGrid){if(this.treeGrid.checkboxes){var n=this.getSelection();if(n.length>1){for(var S=0;S<n.length;S++){var G=n[S].uid;if(this.rowinfo[G].checked){this.treeGrid.uncheckRow(G,false)}else{this.treeGrid.checkRow(G,false)}}this._renderrows();return false}else{var t=v.attr("data-key");if(t){if(this.rowinfo[t].checked){this.treeGrid.uncheckRow(t)}else{this.treeGrid.checkRow(t)}return false}}}}var d=v.index();var W=function(Z){var j=null;var p=b(I._table.children()[1]).children().length-1;var i=b(b(I._table.children()[1]).children()[p]);var aa=i.attr("data-role");if(!aa){j=i.attr("data-key")}else{while(i){i=i.prev();if(i){var aa=i.attr("data-role");if(!aa){j=i.attr("data-key");break}}}}if(Z=="all"){return{row:i,key:j}}return j};var g=function(p){var j=null;var i=b(b(I._table.children()[1]).children()[0]);var Z=i.attr("data-role");if(!Z){j=i.attr("data-key")}else{while(i){i=i.next();if(i){var Z=i.attr("data-role");if(!Z){j=i.attr("data-key");break}}}}if(p=="all"){return{row:i,key:j}}return j};var t=null;var l=function(){if(!Q&&!x){I.clearSelection(false)}if(s==33||s==37){var j=d;t=I._getuikey(j,"prev");if(!t){t=g()}}else{if(s==34||s==39){var j=d;t=I._getuikey(j,"next");if(!t){t=W()}}else{if(s==38){t=W()}else{if(s==40){t=g()}}}}I._lastSelectedKey=t;var p=I.rowsByKey[t];var j=I.getrowindex(p);var i=I.getrowdisplayindex(p);I._raiseEvent("rowSelect",{key:t,index:i,boundIndex:j,row:I.rowsByKey[t]});I._doSelection(t,true,true);I.host.focus()};var k=function(){I.clearSelection(false);var i=g();if(x||Q){I._selectRange(v.index(),0)}else{I._lastSelectedKey=i}I.selectrowbykey(i,"keyboard")};var r=function(){I.clearSelection(false);var i=W("all");var j=i.key;if(x||Q){I._selectRange(v.index(),i.row.index())}else{I._lastSelectedKey=j}I.selectrowbykey(j,"keyboard")};if(this.treeGrid&&this.rtl){if(s==37){s=39}else{if(s==39){s=37}}}if(s==36||(Q&&s==38)){k();return false}else{if(s==35||(Q&&s==40)){r();return false}else{if(s==33||s==37){var t=v.attr("data-key");if(this.rowDetails&&s==37&&!this.treeGrid){this.hidedetailsbykey(t);return false}else{if(this.treeGrid&&s==37){if(this.rowinfo[t].row&&!this.rowinfo[t].row[T.parent]&&!this.rowinfo[t][T.leaf]&&!this.rowinfo[t].expanded){return false}if(this.rowinfo[t].expanded&&!this.rowinfo[t][T.leaf]){this.treeGrid.collapseRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row[T.parent]){t=this.rowinfo[t].row[T.parent].uid}}if(this.rowinfo[t][T.leaf]){return false}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToPrevPage(l)}else{this.goToNextPage(l)}return false}if(this.treeGrid&&this.pageable&&s==33){this.goToPrevPage(l);return false}}else{if(s==34||s==39){var t=v.attr("data-key");if(this.rowDetails&&s==39&&!this.treeGrid){this.showdetailsbykey(t);return false}else{if(this.treeGrid&&s==39){if(this.rowinfo[t][T.leaf]){return false}if(!this.rowinfo[t].expanded){this.treeGrid.expandRow(t);return false}else{if(this.rowinfo[t].row&&this.rowinfo[t].row.records&&this.rowinfo[t].row.records.length>0){if(this.dataview.filters.length>0){var m=this.rowinfo[t].row.records;for(var S=0;S<m.length;S++){if(m[S]._visible){t=m[S].uid;break}}}else{t=this.rowinfo[t].row.records[0].uid}}}}}if(this.pageable&&!this.treeGrid){if(!this.rtl){this.goToNextPage(l)}else{this.goToPrevPage(l)}return false}if(this.treeGrid&&this.pageable&&s==34){this.goToNextPage(l);return false}}else{if(s==38){while(v){v=v.prev();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToPrevPage(l);return false}}else{if(s==40){while(v){v=v.next();if(v){var D=v.attr("data-role");if(!D){t=v.attr("data-key");break}}}if(this.pageable&&t==null){this.goToNextPage(l);return false}}}}}}}if(t!=null){if(!Q&&!x){this.clearSelection(false)}if(this.rowinfo[t]){if(this.rowinfo[t].selected&&(Q||x)){this._doSelection(this._lastSelectedKey,false,false);this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowUnselect",{key:t,index:L,boundIndex:C,row:o});return false}}this._lastSelectedKey=t;var o=this.rowsByKey[t];var C=this.getrowindex(o);this._doSelection(t,true,false);I._updateSelection();var L=this.getrowdisplayindex(o);this._raiseEvent("rowSelect",{key:t,index:L,boundIndex:C,row:o});if(this.treeGrid){if(s==37){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null&&this.dataview.pagenum>0){while(this._getuirow(t)==null&&this.dataview.pagenum>0){this.goToPrevPage()}}}else{if(s==39){var v=this._getuirow(t);var U=null;if(v){var D=v.attr("data-role");if(!D){U=v.attr("data-key")}}if(this.pageable&&U==null){this.goToNextPage()}}}}return false}},_selection:function(c){if("selectionStart" in c[0]){var h=c[0];var i=h.selectionEnd-h.selectionStart;return{start:h.selectionStart,end:h.selectionEnd,length:i,text:h.value}}else{var f=document.selection.createRange();if(f==null){return{start:0,end:h.value.length,length:0}}var d=c[0].createTextRange();var g=d.duplicate();d.moveToBookmark(f.getBookmark());g.setEndPoint("EndToStart",d);var i=f.text.length;return{start:g.text.length,end:g.text.length+f.text.length,length:i,text:f.text}}},_doSelection:function(c,e,d){if(c==null){this.clearSelection();return}if(this.selectionMode==="singlerow"){this.clearSelection(false)}var f=this.rowinfo[c];if(f){f.selected=e;this.ensurerowvisiblebykey(c)}else{this.ensurerowvisiblebykey(c);var f=this.rowinfo[c];if(f){f.selected=e}else{this.rowinfo[c]={selected:e}}}if(this.selectionMode!="none"){if(d!==false){this._renderrows()}}},clearSelection:function(e){if(this.rowinfo){var f=this.getRows();for(var h in this.rowinfo){var g=this.rowinfo[h];if(g.selected){g.selected=false;var d=f.indexOf(g.row);var c=this.getrowdisplayindex(g.row);this._raiseEvent("rowUnselect",{key:h,index:c,boundIndex:d,row:g.row})}}}if(e!==false){this._renderrows()}},exportData:function(t){if(!b.jqx.dataAdapter.ArrayExporter){if(!this.treeGrid){throw"jqxDataTable: Missing reference to jqxdata.export.js!"}throw"jqxTreeGrid: Missing reference to jqxdata.export.js!"}var h=this.exportSettings.columnsHeader;if(h==undefined){h=true}var w=this.exportSettings.hiddenColumns;if(w==undefined){w=false}var P=this.exportSettings.serverURL;var I=this.exportSettings.characterSet;var ac=this.exportSettings.collapsedRecords;if(ac==undefined){ac=false}var F=this.exportSettings.fileName;if(F===undefined){F=this.treeGrid?"jqxTreeGrid_Data":"jqxDataTable_Data"}var s=this;var Y=this.getRows();if(this.exportSettings.recordsInView==true){Y=this.getView()}if(this.treeGrid&&this.treeGrid.virtualModeCreateRecords){var Y=this.treeGrid.getRows()}if(this.groups&&this.groups.length>0){var k=this.source.getGroupedRecords(this.groups,"records","label",null,"data",null,"parent",Y);var m=function(o,ad){for(var af=0;af<o.length;af++){var j=b.extend({},o[af]);ad.push(j);if(j.records&&j.records.length>0){var ag=m(j.records,new Array());for(var ae=0;ae<ag.length;ae++){if(ag[ae].leaf){ad.push(ag[ae])}else{ad.push(ag[ae])}}}}return ad};var S=m.call(this,k,new Array());Y=S}if(Y.length==0){throw"No data to export."}this.exporting=true;if(this.altRows){this._renderrows()}var p=new Array();for(var X=0;X<this.columns.records.length;X++){if(!w&&this.columns.records[X].hidden){continue}p.push(b.extend({},this.columns.records[X]))}if(this.groups&&this.groups.length>0){if(p.length>0){var aa=this._names();for(var X=0;X<Y.length;X++){if(!Y[X][aa.leaf]){if(!s.rtl){Y[X][p[0].displayfield]=Y[X].label}else{Y[X][p[p.length-1].displayfield]=Y[X].label}}}}}var g=0;if(this.treeGrid){var L=this.treeGrid.getRows();if(this.exportSettings.recordsInView==true){L=this.getView()}var aa=this._names();var d=function(ad){for(var ae=0;ae<ad.length;ae++){var j=ad[ae];var o=j[aa.expanded]||(!j[aa.expanded]&&ac);g=Math.max(g,1+j[aa.level]);if(j.records&&j.records.length>0&&o){d(ad[ae].records)}}};d(L);if(t!="xml"&&t!="json"){var u=p.length;for(var X=0;X<g;X++){var Q=new a(this,this);Q.width=this.indentWidth;Q.datafield="Level"+X;Q.displayfield="Level"+X;Q.align="center";Q.cellsalign="center";Q.text="";if(!this.rtl){p.splice(X,0,Q)}else{p.splice(u,0,Q)}}var y=new Array();var x=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?true:false;var U=function(ae){for(var ag=0;ag<ae.length;ag++){var o=b.extend({},ae[ag]);for(var af=0;af<o[aa.level];af++){o["Level"+af]=""}var ad=o[aa.expanded]||(!o[aa.expanded]&&ac);if(t=="xls"||t=="html"||t=="pdf"){if(o.records&&o.records.length>0){o["Level"+o[aa.level]]=ad?"-":"+"}else{o["Level"+o[aa.level]]=""}}else{o["Level"+o[aa.level]]=""}if(o[aa.leaf]){o["Level"+o[aa.level]]=""}for(var af=o[aa.level]+1;af<g;af++){o["Level"+af]=""}if(x&&!o[aa.leaf]){if(!s.rtl){o[p[g].displayfield]=o.label}else{o[p[p.length-g-1].displayfield]=o.label}}if(o.aggregate){var ai=t=="xls"?"_AG":"";for(var af=g;af<p.length;af++){var ah=af;if(s.rtl){ah=p.length-af-1}if(o[p[ah].displayfield]!=undefined){o[p[ah].displayfield]=ai+o[p[ah].displayfield]}}}y.push(o);if(ad&&!o[aa.leaf]){U(o.records)}}};U(L);Y=y}else{Y=L}}var f=w!=undefined?w:false;var Z={};var C={};var l=[];var M=this.host.find(".jqx-grid-cell:first");var n=this.host.find(".jqx-grid-cell-alt:first");var K=this;M.removeClass(K.toThemeProperty("jqx-grid-cell-selected"));M.removeClass(K.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(K.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(K.toThemeProperty("jqx-fill-state-pressed"));M.removeClass(K.toThemeProperty("jqx-grid-cell-hover"));M.removeClass(K.toThemeProperty("jqx-fill-state-hover"));n.removeClass(K.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(K.toThemeProperty("jqx-fill-state-hover"));var E="cell";var B=1;var J="column";var z=1;var A=[];for(var V=0;V<p.length;V++){var Q=p[V];if(Q.cellclassname!=""){Q.customCellStyles=new Array();if(typeof Q.cellclassname=="string"){Q.customCellStyles.push(Q.cellclassname)}else{for(var X=0;X<Y.length;X++){var c=X;var W=Q.cellclassname(c,Q.displayfield,Y[X][Q.displayfield],Y[X]);if(W){Q.customCellStyles[X]=W}}}}}b.each(p,function(af){var ai=af;if(s.treeGrid){if(af>=g){ai=p.length-g-1}else{if(g>0&&af<g){ai=0}}}var aj=b(s._table[0].rows[0].cells[ai]);if(s._table[0].rows.length>1){var j=b(s._table[0].rows[1].cells[ai]);if(j.length==0){var j=b(s._table[0].rows[1].cells[0])}}if(aj.length==0){var aj=b(s._table[0].rows[0].cells[0])}var ae=this;var ag=function(am){am.removeClass(K.toThemeProperty("jqx-cell"));am.removeClass(K.toThemeProperty("jqx-grid-cell-selected"));am.removeClass(K.toThemeProperty("jqx-fill-state-pressed"));am.removeClass(K.toThemeProperty("jqx-grid-cell-hover"));am.removeClass(K.toThemeProperty("jqx-fill-state-hover"));if(ae.customCellStyles){for(var an in ae.customCellStyles){am.removeClass(ae.customCellStyles[an])}}};ag(aj);if(j){ag(j)}if(this.displayfield==null){return true}if(s.showAggregates){if(s.getcolumnaggregateddata){if(s.treeGrid){var al=function(am,an){for(var ao=0;ao<am.length;ao++){var o=am[ao];if(o.level===0){an.push(o)}}return an};A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,al(Y,[])))}else{A.push(s.getcolumnaggregateddata(this.displayfield,this.aggregates,true,Y))}}}var ah=s._getexportcolumntype(this);if(this.exportable&&(!this.hidden||f)){Z[this.displayfield]={};Z[this.displayfield].text=this.text;Z[this.displayfield].width=parseInt(this.width);if(isNaN(Z[this.displayfield].width)){Z[this.displayfield].width=60}if(Z[this.displayfield].width>500){Z[this.displayfield].width=500}Z[this.displayfield].formatString=this.cellsFormat;Z[this.displayfield].localization=s.gridlocalization;Z[this.displayfield].type=ah;Z[this.displayfield].cellsAlign=this.cellsalign;Z[this.displayfield].hidden=!h;Z[this.displayfield].index=ai;Z[this.displayfield].maxIndex=p.length}E="cell"+B;var ak=this.element;if(t!="json"&&t!="xml"){J="column"+z;var i=function(o,au,at,am,ar,ao,an,ap,aq){C[o]={index:1+an,maxIndex:p.length};if(ao.rtl){C[o].index=p.length-an}if(t=="html"||t=="xls"||t=="pdf"){if(au){C[o]["font-size"]=au.css("font-size");C[o]["font-weight"]=au.css("font-weight");C[o]["font-style"]=au.css("font-style");C[o]["background-color"]=ao._getexportcolor(au.css("background-color"));C[o]["color"]=ao._getexportcolor(au.css("color"));C[o]["border-color"]=ao._getexportcolor(au.css("border-top-color"))}if(at){C[o]["text-align"]=ar.align}else{C[o]["text-align"]=ar.cellsalign;C[o]["formatString"]=ar.cellsFormat;C[o]["dataType"]=ah}if(t=="html"||t=="pdf"){C[o]["border-top-width"]="0px";if(!ao.rtl){C[o]["border-left-width"]="0px";C[o]["border-right-width"]="1px"}else{C[o]["border-left-width"]="1px";C[o]["border-right-width"]="0px";if(an==p.length-g-1&&at){C[o]["border-right-width"]="1px"}}C[o]["border-bottom-width"]="1px";if(au){C[o]["border-top-style"]=au.css("border-top-style");C[o]["border-left-style"]=au.css("border-left-style");C[o]["border-right-style"]=au.css("border-right-style");C[o]["border-bottom-style"]=au.css("border-bottom-style")}if(at){if(an==0&&!ao.rtl){C[o]["border-left-width"]="1px"}else{if(an==p.length-1&&ao.rtl){C[o]["border-right-width"]="1px"}}if(au){C[o]["border-top-width"]="1px";C[o]["border-bottom-width"]=au.css("border-bottom-width")}}else{if(an==0&&!ao.rtl){C[o]["border-left-width"]="1px"}else{if(an==p.length-1&&ao.rtl){C[o]["border-right-width"]="1px"}}}if(au){C[o]["height"]=au.css("height")}if(ao.treeGrid&&!at){if(C[o].index-1<g){if(ao.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}else{if(C[o].index-1==g){if(!ao.rtl){C[o]["border-left-width"]="0px"}else{C[o]["border-right-width"]="0px"}}}}}}if(ar.exportable&&(!ar.hidden||f)){if(ap==true){if(!Z[ar.displayfield].customCellStyles){Z[ar.displayfield].customCellStyles=new Array()}Z[ar.displayfield].customCellStyles[aq]=o}else{if(at){Z[ar.displayfield].style=o}else{if(!am){Z[ar.displayfield].cellStyle=o}else{Z[ar.displayfield].cellAltStyle=o}}}}};i(J,ak,true,false,this,s,af);z++;i(E,aj,false,false,this,s,af);if(s.altRows){E="cellalt"+B;i(E,j,false,true,this,s,af)}if(this.customCellStyles){for(var ad in ae.customCellStyles){aj.removeClass(ae.customCellStyles[ad])}for(var ad in ae.customCellStyles){aj.addClass(ae.customCellStyles[ad]);i(E+ae.customCellStyles[ad],aj,false,false,this,s,af,true,ad);aj.removeClass(ae.customCellStyles[ad])}}B++}});if(t!="json"&&t!="xml"){if(g>0&&this.treeGrid){var ab=g+1;if(this.rtl){ab=p.length-g}if(C["column"+ab]){var e=C["column"+ab];e.merge=g;e["border-left-width"]="1px";var H=C["cell"+ab];for(var X=0;X<p.length;X++){var ab=X+1;if(this.rtl){ab=p.length-X}C["column"+ab].level=X;C["column"+ab].maxLevel=g;C["cell"+ab].maxLevel=g;var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g}}}if(C["cellalt"+ab]){C["cellalt"+ab].maxLevel=g}}for(var X=0;X<g;X++){var ab=X+1;var D=X;if(this.rtl){ab=p.length-X}var r=C["column"+ab];r.disabled=true;C["cell"+ab].level=D;C["cell"+ab].maxLevel=g;C["column"+ab].level=D;if(C["cellalt"+ab]){C["cellalt"+ab].level=D;C["cellalt"+ab].maxLevel=g}var Q=p[X];if(Q.customCellStyles){for(var R in Q.customCellStyles){if(C["cell"+ab+Q.customCellStyles[R]]){C["cell"+ab+Q.customCellStyles[R]].maxLevel=g;C["cell"+ab+Q.customCellStyles[R]].level=D}}}if(t=="html"||t=="pdf"||t=="xls"){r["font-size"]=e["font-size"];r["font-weight"]=e["font-weight"];r["font-style"]=e["font-style"];r["background-color"]=e["background-color"];r.color=e.color;r["border-color"]=e["border-color"];if(t=="html"||t=="pdf"){r["border-top-width"]=e["border-top-width"];r["border-left-width"]=e["border-left-width"];if(this.rtl){r["border-right-width"]=e["border-right-width"];if(X==0){r["border-right-width"]="1px"}}if(X==0&&!this.rtl){r["border-left-width"]="0px"}else{if(X==0&&this.rtl){r["border-left-width"]="0px"}}if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}r["border-bottom-width"]="0px";var r=C["cell"+ab];if(!this.rtl){r["border-right-width"]="0px"}else{if(this.rtl){r["border-left-width"]="0px"}}}}}}}}if(this.showAggregates){var G=[];var N=t=="xls"?"_AG":"";var O=0;if(this.rowDetails&&!this.treeGrid){O++}if(A.length>0){b.each(p,function(j){if(this.aggregates){for(var ad=0;ad<this.aggregates.length;ad++){if(!G[ad]){G[ad]={}}if(G[ad]){var ae=s._getaggregatename(this.aggregates[ad]);var af=s._getaggregatetype(this.aggregates[ad]);var o=A[j-O];if(o){G[ad][this.displayfield]=N+ae+": "+o[af]}}}}});b.each(p,function(j){for(var o=0;o<G.length;o++){if(G[o][this.displayfield]==undefined){G[o][this.displayfield]=N}}})}b.each(G,function(){Y.push(this)})}var K=this;var T=b.jqx.dataAdapter.ArrayExporter(Y,Z,C,P,this.treeGrid&&(t=="xml"||t=="json"));if(F==undefined){this._renderrows();var q=this.treeGrid&&(t=="xml"||t=="json");var v=T.exportTo(t,this.treeGrid&&(t=="xml"||t=="json"));if(this.showAggregates){b.each(G,function(){Y.pop(this)})}setTimeout(function(){K.exporting=false},50);return v}else{var q=this.treeGrid&&(t=="xml"||t=="json");T.exportToFile(t,F,P,I,q)}if(this.showAggregates){b.each(G,function(){Y.pop(this)})}this._renderrows();setTimeout(function(){K.exporting=false},50)},_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(c){return this._intToHex(c.r)+this._intToHex(c.g)+this._intToHex(c.b)},_intToHex:function(d){var c=(parseInt(d).toString(16));if(c.length==1){c=("0"+c)}return c.toUpperCase()},_getexportcolumntype:function(g){var h=this;var f="string";var e=h.source.datafields||((h.source._source)?h.source._source.datafields:null);if(e){var j="";b.each(e,function(){if(this.name==g.displayfield){if(this.type){j=this.type}return false}});if(j){return j}}if(g!=null){if(this.dataview.cachedrecords==undefined){return f}var c=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return f}c=this.dataview.cachedrecords[0][g.displayfield];if(c!=null&&c.toString()==""){return"string"}}else{b.each(this.dataview.cachedrecords,function(){c=this[g.displayfield];return false})}if(c!=null){if(g.cellsFormat.indexOf("c")!=-1){return"number"}if(g.cellsFormat.indexOf("n")!=-1){return"number"}if(g.cellsFormat.indexOf("p")!=-1){return"number"}if(g.cellsFormat.indexOf("d")!=-1){return"date"}if(g.cellsFormat.indexOf("y")!=-1){return"date"}if(g.cellsFormat.indexOf("M")!=-1){return"date"}if(g.cellsFormat.indexOf("m")!=-1){return"date"}if(g.cellsFormat.indexOf("t")!=-1){return"date"}if(typeof c=="boolean"){f="boolean"}else{if(b.jqx.dataFormat.isNumber(c)){f="number"}else{var i=new Date(c);if(i.toString()=="NaN"||i.toString()=="Invalid Date"){if(b.jqx.dataFormat){i=b.jqx.dataFormat.tryparsedate(c);if(i!=null){if(i&&i.getFullYear()){if(i.getFullYear()==1970&&i.getMonth()==0&&i.getDate()==1){var d=new Number(c);if(!isNaN(d)){return"number"}return"string"}}return"date"}else{f="string"}}else{f="string"}}else{f="date"}}}}}return f},showDetails:function(c){var d=this._getkey(c);this.showdetailsbykey(d)},hideDetails:function(c){var d=this._getkey(c);this.hidedetailsbykey(d)},setCellValueByKey:function(E,t,x){var o=this;var j=this.rowsByKey[E];var k=this.getrowindex(j);var h=j;if(h!=null&&h[t]==x){return false}if(h!=null&&h[t]===null&&x===""){return}var n="";if(h!=null&&h[t]!==x){var e=this.getColumn(t);var f="string";var B=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(B){var u="";b.each(B,function(){if(this.name==e.displayfield){if(this.type){u=this.type}return false}});if(u){f=u}}n=h[t];if(!e.nullable||(x!=null&&x!==""&&e.nullable&&x.label===undefined)){if(b.jqx.dataFormat.isNumber(n)||f=="number"||f=="float"||f=="int"||f=="decimal"&&f!="date"){x=new Number(x);x=parseFloat(x);if(isNaN(x)){x=0}}else{if(b.jqx.dataFormat.isDate(n)||f=="date"){if(x!=""){var A=x;A=new Date(A);if(A!="Invalid Date"&&A!=null){x=A}else{if(A=="Invalid Date"){A=new Date();x=A}}}}}if(h[t]===x){return}}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;h[t]=x;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[t]=x}}if(x!=null&&x.label!=null){var e=this.getColumn(t);h[e.displayfield]=x.label;h[t]=x.value;if(this.treeGrid){var s=this.treeGrid.getRow(E);if(s){s[e.displayfield]=x.label;s[t]=x.value}}}}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var z=k;var w=this.source._source._localdata()[z];this.source.suspendKO=true;var l=w;if(l[t]&&l[t].subscribe){if(x!=null&&x.label!=null){l[e.displayfield](x.label);l[t](x.value)}else{l[t](x)}}else{var B=this.source._source.datafields;var d=null;var C=null;if(B){b.each(B,function(){if(this.name==t){C=this.map;return false}})}if(C==null){if(x!=null&&x.label!=null){l[t]=x.value;l[e.displayfield]=x.label}else{l[t]=x}}else{var g=C.split(this.source.mapChar);if(g.length>0){var c=l;for(var v=0;v<g.length-1;v++){c=c[g[v]]}c[g[g.length-1]]=x}}this.source._source._localdata.replace(w,b.extend({},l))}this.source.suspendKO=false}}var q;if(this.source.updaterow&&(q==undefined||q==true)){var m=false;var r=function(p){if(false==p){this.setCellValue(j,t,n,true,false)}};try{var i=E;m=this.source.updaterow(i,h,r);if(m==undefined){m=true}}catch(y){m=false;this.setCellValue(j,t,n);return}}var D=this.getrowdisplayindex(j);var e=this.getColumn(t);this._raiseEvent("cellValueChanged",{value:x,oldValue:n,dataField:t,displayField:e.displayfield,key:E,boundIndex:k,index:D,row:this.rowsByKey[E]});if(this.editable){if(this.editKey!=null){return}}this._renderrows()},setCellValue:function(g,d,f){if(g==null||d==null){return false}var c=parseInt(g);var e=this._getkey(c);this.setCellValueByKey(e,d,f)},getCellText:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellTextByKey(e,d)},getCellTextByKey:function(e,d){if(e==null||d==null){return null}var c=this.getCellValueByKey(e,d);var f=this.getColumn(d);if(f&&f.cellsFormat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(c)){c=b.jqx.dataFormat.formatdate(c,f.cellsFormat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(c)||(!isNaN(parseFloat(c))&&isFinite(c))){c=b.jqx.dataFormat.formatnumber(c,f.cellsFormat,this.gridlocalization)}}}}return c},getCellValue:function(f,d){if(f==null||d==null){return false}var c=parseInt(f);var e=this._getkey(c);return this.getCellValueByKey(e,d)},getCellValueByKey:function(e,d){var h=this.rowsByKey[e];if(!h&&this.treeGrid){h=this.treeGrid.getRow(e)}var c=this.getrowindex(h);var f=h;var g="";if(f!=null){return f[d]}return null},beginRowEdit:function(c){var d=this._getkey(c);this.beginroweditbykey(d)},beginCellEdit:function(d,c){var e=this._getkey(d);var f=this.getColumn(c);this.beginroweditbykey(e,f)},endCellEdit:function(d,c,e){this.endRowEdit(d,e)},endRowEdit:function(c,e){var d=this._getkey(c);this.endroweditbykey(d,e)},getrowindex:function(f){var d=this.getRows().indexOf(f);if(d!=-1){return d}if(this.groups&&this.groups.length>0){var c=this.getRows();for(var e=0;e<c.length;e++){if(f.originalRecord){if(c[e].uid==f.originalRecord.uid){d=e;break}}else{if(c[e].uid==f.uid){d=e;break}}}}return d},getrowdisplayindex:function(g){if(this.treeGrid){return -1}var c=this.getView();var e=c.indexOf(g);if(e!=-1){return e}if(g==undefined){return e}var d=c;for(var f=0;f<d.length;f++){if(d[f].uid==g.uid||(g.originalRecord&&d[f].uid==g.originalRecord.uid)){e=f;break}}return e},beginroweditbykey:function(H,r){if(this.beginEdit){var B=this.beginEdit(H,r);if(B===false){return false}}var E=!this.treeGrid?this.groups.length:this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(E>0){var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}if(n.level<E){return false}}if(this._lastSelectedKey==null){this.selectrowbykey(H)}if(this.editKey===H&&this.editKey!=undefined){return false}if(this.rowinfo[H]&&this.rowinfo[H].locked){return false}if(this.editKey!=null){this.endroweditbykey(H,true);return false}var F=this.editSettings.editSingleCell;if(!r&&F&&this.columns.records&&this.columns.records.length>0){for(var z=0;z<this.columns.records.length;z++){r=this.columns.records[z];if(r.editable&&!r.hidden){break}}if(!r){return false}}if(F&&r&&!r.editable){this.editKey=null;return false}if(F){this.editColumn=r}var p=this;var n=this.rowsByKey[H];if(this.treeGrid){var n=this.treeGrid.getRow(H)}var o=this.getrowindex(n);var D=this._getuirow(H);var t=this._getpinneduirow(H);this._editors=new Array();var q=false;if(D){var j=D[0].cells;var u=0;for(var z=0;z<j.length;z++){var h=this.columns.records[z];var d=j[z];if(h.rowDetailscolumn){continue}if(h.checkboxcolumn){continue}if(h.pinned){d=t[0].cells[z]}if(F&&r&&h.datafield!=r.datafield){continue}b(d).removeClass(this.toTP("jqx-grid-cell-selected"));b(d).removeClass(this.toTP("jqx-fill-state-pressed"));b(d).removeClass(this.toTP("jqx-grid-cell-hover"));b(d).removeClass(this.toTP("jqx-fill-state-hover"));if(h.columntype=="none"){continue}var v=b(d).outerWidth();var x=b(d).width();if(u===0){u=b(d).outerHeight()-1}b(d).css("padding","0px");var e="<div style='height:"+u+"px; width: 100%; overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 9999;'></div>";var s=this.getCellTextByKey(H,h.displayfield);d.innerHTML=e;var f=b(d.firstChild);switch(h.columntype){case"textbox":case"default":var k=b("<input style='border: none;' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox'/>").appendTo(f);if(this.rtl){k.css("direction","rtl")}k.addClass(this.toThemeProperty("jqx-input"));k.addClass(this.toThemeProperty("jqx-widget-content"));k.addClass(this.toThemeProperty("jqx-cell-editor"));k[0].onfocus=function(i){setTimeout(function(){if(i){var I=b(i.target).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}else{var I=b(document.activeElement).parent().parent().index();if(I>=0){p.ensureColumnVisible(p.columns.records[I].datafield)}}if(p.content){p.content[0].scrollTop=0;p.content[0].scrollLeft=0}if(p.gridcontent){p.gridcontent[0].scrollLeft=0;p.gridcontent[0].scrollTop=0}},10)};if(!h.editable){k.attr("disabled",true);k.attr("readOnly",true);k.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{if(!q){q=true;var g=b.jqx.browser.msie&&b.jqx.browser.version>10;if(!g){k.focus()}var c=k;setTimeout(function(){var J=c.val().length;if(!g){c.focus()}try{if("selectionStart" in c[0]){c[0].setSelectionRange(0,J)}else{var i=c[0].createTextRange();i.collapse(true);i.moveEnd("character",J);i.moveStart("character",0);i.select()}}catch(I){var K=I}},10)}}k.width(x);k.height(u);if(b.jqx.browser.msie&&b.jqx.browser.version<9){k.css("line-height",parseInt(u)+"px")}k.css("text-align",h.cellsalign);if(s===null){s=""}if(s==undefined){s=""}k.val(s);if(h.createeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.createeditor(!this.treeGrid?o:H,s,k,C,x,u)}this._editors.push({column:h,editor:k});if(h.cellsFormat!=""){if(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1){k.keydown(function(I){var O=I.charCode?I.charCode:I.keyCode?I.keyCode:0;var L=String.fromCharCode(O);var M=parseInt(L);if(isNaN(M)){return true}if(p._selection(k).length>0){return true}var K="";var J=k.val();if(h.cellsFormat.length>1){var N=parseInt(h.cellsFormat.substring(1));if(isNaN(N)){N=0}}else{var N=0}if(N>0){if(J.indexOf(p.gridlocalization.decimalseparator)!=-1){if(p._selection(k).start>J.indexOf(p.gridlocalization.decimalseparator)){return true}}}for(var P=0;P<J.length-N;P++){var i=J.substring(P,P+1);if(i.match(/^[0-9]+$/)!=null){K+=i}}if(K.length>=11){return false}})}}if(h.initeditor){var C=s;var s=this.getCellValueByKey(H,h.displayfield);h.initeditor(!this.treeGrid?o:H,s,k,C,x,u)}break;case"custom":case"template":if(!this.editorsCache){this.editorsCache=new Array()}var l=b("<div style='width: 100%; height: 100%; border: none;'></div>").appendTo(f);var y=b.trim(h.datafield).split(" ").join("");if(y.indexOf(".")!=-1){y=y.replace(".","")}var A=this.editorsCache["templateeditor_"+y];if(h.columntype=="custom"){var A=this.editorsCache["customeditor_"+y+"_"+H]}var C=s;var s=this.getCellValueByKey(H,h.displayfield);if(!A){var k=b("<div style='border: none;'></div>");k.width(v);k.height(u);A=k;if(s===null){s=""}if(h.columntype!="custom"){this.editorsCache["templateeditor_"+y]=k}else{this.editorsCache["customeditor_"+y+"_"+H]=k}k.appendTo(l);if(h.createeditor){h.createeditor(!this.treeGrid?o:H,s,k,C,v,u)}}else{var k=A;k.width(v);k.height(u);k.appendTo(l)}if(h.initeditor){h.initeditor(!this.treeGrid?o:H,s,k,C,v,u)}this._editors.push({column:h,editor:k});break}}}this.editKey=H;this.beginUpdate();var G=this.getrowdisplayindex(n);this._raiseEvent("rowBeginEdit",{key:H,index:G,boundIndex:o,row:this.rowsByKey[H]});if(F){var n=this.rowsByKey[H];var w=null;var m=null;if(n){w=n[r.datafield];m=n[r.displayfield]}this._raiseEvent("cellBeginEdit",{value:w,displayValue:m,key:H,index:G,dataField:r.datafield,displayField:r.displayfield,boundIndex:o,row:this.rowsByKey[H]})}this.endUpdate(false)},_toNumber:function(f){if(!f.indexOf&&f!=undefined){f=f.toString()}if(f.indexOf(this.gridlocalization.currencysymbol)>-1){f=f.replace(this.gridlocalization.currencysymbol,"")}var c=function(l,j,k){var h=l;if(j==k){return l}var i=h.indexOf(j);while(i!=-1){h=h.replace(j,k);i=h.indexOf(j)}return h};f=c(f,this.gridlocalization.thousandsseparator,"");f=f.replace(this.gridlocalization.decimalseparator,".");if(f.indexOf(this.gridlocalization.percentsymbol)>-1){f=f.replace(this.gridlocalization.percentsymbol,"")}var g="";for(var d=0;d<f.length;d++){var e=f.substring(d,d+1);if(e==="-"){g+="-"}if(e==="."){g+="."}if(e.match(/^[0-9]+$/)!=null){g+=e}}f=g;f=f.replace(/ /g,"");return f},_geteditorvalue:function(h,j,k,d){var m=new String();if(j){if(!h.geteditorvalue){switch(h.columntype){case"textbox":default:m=j.val();if(h.cellsFormat!=""){var l="string";var g=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(g){var n="";b.each(g,function(){if(this.name==h.displayfield){if(this.type){n=this.type}return false}});if(n){l=n}}var i=l==="number"||l==="float"||l==="int"||l==="integer";var f=l==="date"||l==="time";if(i||(l==="string"&&(h.cellsFormat.indexOf("p")!=-1||h.cellsFormat.indexOf("c")!=-1||h.cellsFormat.indexOf("n")!=-1||h.cellsFormat.indexOf("f")!=-1))){if(m===""&&h.nullable){return""}m=this._toNumber(m);m=new Number(m);if(isNaN(m)){m=""}}if(f||(l==="string"&&(h.cellsFormat.indexOf("H")!=-1||h.cellsFormat.indexOf("m")!=-1||h.cellsFormat.indexOf("M")!=-1||h.cellsFormat.indexOf("y")!=-1||h.cellsFormat.indexOf("h")!=-1||h.cellsFormat.indexOf("d")!=-1))){if(m===""&&h.nullable){return""}var e=m;m=new Date(m);if(m=="Invalid Date"||m==null||h.cellsFormat.length>1){if(b.jqx.dataFormat){m=b.jqx.dataFormat.parsedate(e,h.cellsFormat,this.gridlocalization)}if(m=="Invalid Date"||m==null){m=""}}}}if(h.displayfield!=h.datafield){m={label:m,value:m}}break}}if(h.geteditorvalue){var c=this.getCellValueByKey(d,h.displayfield);m=h.geteditorvalue(!this.treeGrid?k:d,c,j)}}return m},_validateEditors:function(c){var k=this;var d=true;var s=k.rowsByKey[c];var l=k.getrowindex(s);var m=k._editors;var c=k.editKey;var p=k._getuirow(c);for(var h=0;h<m.length;h++){var j=m[h].editor;var f=m[h].column;var o=k._geteditorvalue(f,j,l,c);if(f.validation){j.removeClass(k.toThemeProperty("jqx-grid-validation-label"));var e=f.datafield;try{var r=f.validation({value:o,row:c,datafield:f.datafield,displayfield:f.displayfield,column:f},o);var g=k.gridlocalization.validationstring;if(r.message!=undefined){g=r.message}var q=typeof r=="boolean"?r:r.result;if(!q){if(r.showmessage==undefined||r.showmessage==true){k._showvalidationpopup(p,e,g,j)}d=false}}catch(n){k._showvalidationpopup(p,e,k.gridlocalization.validationstring,j);d=false}}}return d},endroweditbykey:function(p,r){var k=this;if(k.editKey===null){return}if(this.endEdit){var n=this.endEdit(p);if(n===false){return}}var t=k.rowsByKey[p];var l=k.getrowindex(t);var m=k._editors;var e=k.editKey;var q=k._getuirow(e);if(r!==true){var d=true;if(m){d=k._validateEditors(e);if(d){var h=b.extend({},t);var c=b.extend({},t);for(var g=0;g<m.length;g++){var j=m[g].editor;var f=m[g].column;var o=k._geteditorvalue(f,j,l,e);if(o&&o.label!=undefined){h[f.displayfield]=o.label;h[f.datafield]=o.value}else{h[f.displayfield]=o}}var s=function(){k.dataview._sortHierarchyData=null;k.dataview._sortData=null;for(var x=0;x<m.length;x++){var B=m[x].editor;var v=m[x].column;var C=k._geteditorvalue(v,B,l,e);var u=c[v.displayfield];if(C&&C.label!=undefined){t[v.displayfield]=C.label;t[v.datafield]=C.value}else{t[v.displayfield]=C}if(k.treeGrid){var D=k.treeGrid.getRow(e);if(D){D[v.displayfield]=C}}if(k.editorsCache){var E=function(i){if(i&&i.jqxWidget){var G=i.jqxWidget.element.className;if(G.indexOf("dropdownlist")>=0||G.indexOf("datetimeinput")>=0||G.indexOf("combobox")>=0||G.indexOf("menu")>=0){if(i.jqxWidget.isOpened){var F=i.jqxWidget.isOpened();if(F){i.jqxWidget.close()}}}}};var z="customeditor_"+v.displayfield+"_"+p;var y="templateeditor_"+v.displayfield;if(k.editorsCache[z]){var w=b(k.editorsCache[z]).data();var A=k.editorsCache[z];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w);k.editorsCache[z].detach()}if(k.editorsCache[y]){k.editorsCache[y].detach();var w=b(k.editorsCache[y]).data();var A=k.editorsCache[y];if(!w.jqxWidget&&b(A).children()[0]&&b(b(A).children()[0]).data().jqxWidget){w=b(b(A).children()[0]).data()}E(w)}}if(C!=u){k.beginUpdate();k._raiseEvent("cellValueChanged",{value:C,oldValue:u,dataField:v.datafield,displayField:v.displayfield,key:p,index:l,row:t});k.endUpdate(false)}}};k.updaterowbykey(k.editKey,h,false,s)}}if(!d){return false}}k._detachEditors(e);return true},_detachEditors:function(l){var g=this;var m=g.rowsByKey[l];var i=g.getrowindex(m);if(g.editorsCache){for(var h in g.editorsCache){var f=b(g.editorsCache[h]).data();if(f&&f.jqxWidget){var c=f.jqxWidget.element.className;if(c.indexOf("dropdownlist")>=0||c.indexOf("datetimeinput")>=0||c.indexOf("combobox")>=0||c.indexOf("menu")>=0){if(f.jqxWidget.isOpened){var e=f.jqxWidget.isOpened();if(e){f.jqxWidget.close()}}}}b(g.editorsCache[h]).detach()}}g.beginUpdate();var d=g.getrowdisplayindex(m);if(g.editSettings.editSingleCell){var m=g.rowsByKey[l];var k=null;var j=null;if(m){k=m[g.editColumn.datafield];j=m[g.editColumn.displayfield]}g._raiseEvent("cellEndEdit",{value:k,displayValue:j,key:l,index:d,dataField:g.editColumn.datafield,displayField:g.editColumn.displayfield,boundIndex:i,row:g.rowsByKey[l]})}g._raiseEvent("rowEndEdit",{key:l,index:d,boundIndex:i,row:g.rowsByKey[l]});g.endUpdate(false);g.editColumn=null;g.editKey=null;g._renderrows();g._renderhorizontalscroll();g.host.focus();setTimeout(function(){g.host.focus()},10)},_showvalidationpopup:function(r,e,s,m){if(s==undefined){var s=this.gridlocalization.validationstring}m.addClass(this.toThemeProperty("jqx-grid-validation-label"));var p=b("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var o=b("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");p.html(s);o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));p.addClass(this.toThemeProperty("jqx-grid-validation"));p.addClass(this.toThemeProperty("jqx-rc-all"));p.hide();o.hide();p.prependTo(this.table);o.prependTo(this.table);var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);var l=this.getColumn(e).uielement;if(!r){return}var k=r;p.css("top",parseInt(k.position().top)+30+"px");var c=parseInt(p.css("top"));o.css("top",c-11);o.removeClass();o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var f=false;if(c>=this._table.height()){o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));o.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));c=parseInt(k.position().top)-k.outerHeight()-5;if(c<0){c=0;o.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}p.css("top",c+"px");o.css("top",c+p.outerHeight()-9)}var n=-g+parseInt(b(l).position().left);var q=parseInt(this._table.css("left"));if(isNaN(q)){q=0}if(q!=0){g=0}o.css("left",g+n+30);var d=p.width();if(d+n>this.host.width()-20){var i=d+n-this.host.width()+40;n-=i}if(!f){p.css("left",g+n)}else{p.css("left",g+parseInt(b(l).position().left)-p.outerWidth())}m.mouseenter(function(){if(m.hasClass("jqx-grid-validation-label")){p.show();o.show()}});m.mouseleave(function(){p.hide();o.hide()});if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:p,validationrow:o}},addRow:function(d,p,j,n){if(p!=undefined){this._datachanged=true;if(j==undefined){j="last"}var o=false;var k=this.that;if(d==null){var f=this.dataview.filters&&this.dataview.filters.length>0;var m=!f?this.dataview.totalrecords:this.source.records.length;if(!this.pageable){if(this.source._source.totalrecords){this.dataview.totalrecords=this.source._source.totalrecords}else{if(this.source._source.totalRecords){this.dataview.totalrecords=this.source._source.totalRecords}else{if(this.source.hierarchy.length!==0){this.dataview.totalrecords=this.source.hierarchy.length}else{this.dataview.totalrecords=this.source.records.length}}}var m=!f?this.dataview.totalrecords:this.source.records.length}if(!b.isArray(p)){d=this.dataview.getid(this.dataview.source.id,p,m);if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{var c=new Array();b.each(p,function(e,q){var r=k.dataview.getid(k.dataview.source.id,p[e],m+e);c.push(r);if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}});d=c}}else{if(!b.isArray(p)){if(this.getColumn(this.dataview.source.id)){p[this.dataview.source.id]=d}}else{b.each(p,function(e,q){var r=d[e];if(k.getColumn(k.dataview.source.id)){p[e][k.dataview.source.id]=r}})}}var i=this.treeGrid?(this.treeGrid.virtualModeCreateRecords?true:false):false;var g=function(v,q,A,t){if(v._loading){throw new Error("jqxDataTable: "+v.loadingErrorMessage);return false}var r=v.vScrollInstance.value;var z=false;if(!b.isArray(A)){A.uid=q;v.rowsByKey[q]=A;if(q==n){n=null}z=v.source.addRecord(A,t,n,i)}else{b.each(A,function(B,C){var D=null;if(q!=null&&q[B]!=null){D=q[B]}this.uid=D;v.rowsByKey[D]=this;if(q==n){n=null}z=v.source.addRecord(this,t,n,i)})}if(v.groups&&v.groups.length>0){var w=Object.prototype.toString;var y=v.groups[0];Object.prototype.toString=(typeof y=="function")?y:function(){return this[y]};if(!v.source.records.sort){var x=new Array();var u=0;var e=0;var s=[];b.each(s,function(){x[e+u++]=this});s=x}v.source.records.sort(function(C,B){if(C===undefined){C=null}if(B===undefined){B=null}if(C===null&&B===null){return 0}if(C===null&&B!==null){return -1}if(C!==null&&B===null){return 1}var F=0;var E=0;if(C&&C.uid){F=C.uid}if(B&&B.uid){E=B.uid}C=C.toString();B=B.toString();if(b.jqx.dataFormat.isNumber(C)&&b.jqx.dataFormat.isNumber(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(b.jqx.dataFormat.isDate(C)&&b.jqx.dataFormat.isDate(B)){if(C<B){return -1}if(C>B){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(C)&&!b.jqx.dataFormat.isNumber(B)){C=String(C).toLowerCase();B=String(B).toLowerCase()}}}try{if(C<B){return -1}if(C>B){return 1}}catch(D){var G=D}if(typeof(F)=="number"){if(F<E){return -1}if(F>E){return 1}}return 0});Object.prototype.toString=w}v.dataview._filteredData=null;v.dataview._sortData=null;v.dataview._sortHierarchyData=null;if(v._updating==undefined||v._updating==false){v.refresh()}if(v.source&&v.source._knockoutdatasource&&!v._updateFromAdapter&&v.autokoupdates){if(v.source._source._localdata){v.source.suspendKO=true;v.source._source._localdata.push(A);v.source.suspendKO=false}}v.vScrollInstance.setPosition(r);return z};if(this.source.addrow){var h=function(e,q){if(e==true||e==undefined){if(q!=undefined){d=q}g(k,d,p,j)}};try{if(!k.treeGrid){o=this.source.addrow(d,p,j,h)}else{o=this.source.addrow(d,p,j,n,h)}if(o==undefined){o=true}}catch(l){o=false}if(o==false){return false}}else{g(this,d,p,j)}return o}return false},deleteRow:function(c){var d=this._getkey(c);this.deleterowbykey(d)},deleterowbykey:function(g){if(g!=undefined){this._datachanged=true;var h=false;var f=this.that;var d=function(m,l){if(m._loading){throw new Error("jqxDataTable: "+m.loadingErrorMessage);return false}m.dataview._filteredData=null;m.dataview._sortData=null;m.dataview._sortHierarchyData=null;var o=false;var p=m.vScrollInstance.value;if(!b.isArray(l)){var o=false;if(m.rowsByKey[l]){o=true;if(m.rowinfo[l]&&m.rowinfo[l].selected){m.unselectrowbykey(l,false)}if(m.treeGrid){var n=m._names();var k=m.rowsByKey[l][n.parent]}delete m.rowsByKey[l];if(m.treeGrid){if(m.rowinfo[l]){var i=m.rowinfo[l].row.records;var j=function(q){for(var r=0;r<q.length;r++){var s=q[r].uid;delete m.rowsByKey[s];delete m.rowinfo[s];if(q[r].records){j(q[r].records)}}};if(i){j(i)}}}delete m.rowinfo[l];m.source.deleteRecord(l);if(k){if(n&&k.records&&k.records.length==0){k[n.leaf]=true;m.rowinfo[k.uid][n.leaf]=true}}}}else{b.each(l,function(){var t=this;if(m.rowsByKey[t]){o=true;if(m.rowinfo[t].selected){m.unselectrowbykey(t,false)}if(m.treeGrid){var u=m._names();var s=m.rowsByKey[t][u.parent]}delete m.rowsByKey[t];if(m.treeGrid){if(m.rowinfo[t]){var q=m.rowinfo[t].row.records;var r=function(v){for(var w=0;w<v.length;w++){var x=v[w].uid;delete m.rowsByKey[x];delete m.rowinfo[x];if(v[w].records){r(v[w].records)}}};if(q){r(q);delete m.rowinfo[t]}}}m.source.deleteRecord(t);if(s){if(u&&s.records&&s.records.length==0){s[u.leaf]=true;m.rowinfo[s.uid][u.leaf]=true}}}})}m.refresh();if(m.source&&m.source._knockoutdatasource&&!m._updateFromAdapter&&m.autokoupdates){if(m.source._source._localdata){m.source.suspendKO=true;m.source._source._localdata.pop();m.source.suspendKO=false}}m.vScrollInstance.setPosition(p);return o};if(this.source.deleterow){var c=function(i){if(i==true||i==undefined){d(f,g)}};try{this.source.deleterow(g,c);if(h==undefined){h=true}}catch(e){h=false}}else{h=d(f,g)}return h}return false},updateRow:function(c,e){var d=this._getkey(c);this.updaterowbykey(d,e)},updaterowbykey:function(c,k,g,i){if(c!=undefined&&k!=undefined){var f=this.that;var j=false;var d=function(o,l,t){if(o._loading){throw new Error("jqxDataTable: "+o.loadingErrorMessage);return false}o.dataview._filteredData=null;o.dataview._sortData=null;o.dataview._sortHierarchyData=null;var r=false;if(!b.isArray(l)){var n=o.rowsByKey[l];var s=function(v){if(!v){r=false}else{for(var u=0;u<o.columns.records.length;u++){v[o.columns.records[u].datafield]=t[o.columns.records[u].datafield];if(o.groups.length>0&&v.originalRecord){v.originalRecord[o.columns.records[u].datafield]=t[o.columns.records[u].datafield]}}r=true}};s(n);if(o.treeGrid){n=o.treeGrid.getRow(l);s(n)}}else{b.each(l,function(w,x){var v=o.rowsByKey[this];var u=function(z,y){if(!v){r=false}else{v[this]=t[w]}r=true};u(this,v);if(o.treeGrid){v=o.treeGrid.getRow(this);u(this,v)}})}var m=o.vScrollInstance.value;if(g==undefined||g==true){if(o._updating==undefined||o._updating==false){o._renderrows()}}if(o.showAggregates&&o._updatecolumnsaggregates){o._updatecolumnsaggregates()}if(o.source&&o.source._knockoutdatasource&&!o._updateFromAdapter&&o.autokoupdates){if(o.source._source._localdata){var n=o.rowsByKey[l];var p=o.getrowindex(n);var q=o.source._source._localdata()[p];o.source.suspendKO=true;o.source._source._localdata.replace(q,b.extend({},n));o.source.suspendKO=false}}o.vScrollInstance.setPosition(m);return r};if(this.source.updaterow){var e=function(l){if(l==true||l==undefined){d(f,c,k);if(i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}};try{j=this.source.updaterow(c,k,e);if(j==undefined){j=true}}catch(h){j=false}}else{j=d(f,c,k);if(j&&i){i()}f._renderrows(false);if(f.autoRowHeight){f._updateScrollbars();f._arrange()}}return j}return false},lockRow:function(c){var d=this._getkey(c);this.lockrowbykey(d)},unlockRow:function(c){var d=this._getkey(c);this.unlockrowbykey(d)},lockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=true}else{this.rowinfo[c]={locked:true}}this._renderrows()},unlockrowbykey:function(c){if(this.rowinfo[c]){this.rowinfo[c].locked=false}else{this.rowinfo[c]={locked:false}}this._renderrows()},selectRow:function(c){var d=this._getkey(c);this.selectrowbykey(d)},unselectRow:function(c){var d=this._getkey(c);this.unselectrowbykey(d)},selectrowbykey:function(e,h,f){if(h!="keyboard"&&h!="mouse"){this._lastSelectedKey=e}var g=f!==false?true:false;this._doSelection(e,true,g);var i=this.rowsByKey[e];var d=this.getrowindex(i);var c=this.getrowdisplayindex(i);this._raiseEvent("rowSelect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},unselectrowbykey:function(e,f){var g=f!==false?true:false;this._doSelection(e,false,g);var h=this.rowsByKey[e];var d=this.getrowindex(h);var c=this.getrowdisplayindex(h);this._raiseEvent("rowUnselect",{key:e,index:c,boundIndex:d,row:this.rowsByKey[e]})},getSelection:function(){var c=new Array();if(this.rowinfo){for(var e in this.rowinfo){var d=this.rowinfo[e];if(d.selected){c.push(d.row)}}}return c},showdetailsbykey:function(k){if(!this.rowDetails){return}var l=this.rowinfo[k];if(l){l.expanded=true;var f=b(this._table.children()[1]).children(("[data-key="+k+"]"));var i=b(this._pinnedTable.children()[1]).children(("[data-key="+k+"]"));if(f){var c=i.children();var h=b(c[0]);if(this.rtl){var h=b(c[c.length-1])}if(!this.rtl){h.removeClass(this.toThemeProperty("jqx-grid-group-collapse"));h.addClass(this.toThemeProperty("jqx-grid-group-expand"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-right"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{h.removeClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));h.addClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));h.removeClass(this.toThemeProperty("jqx-icon-arrow-left"));h.addClass(this.toThemeProperty("jqx-icon-arrow-down"))}f.next().show();var d=i.next();d.show();if(b.jqx.browser.msie&&b.jqx.browser.version<8){f.next().children().show();i.next().children().show()}if(!l.initialized){var j=l.detailsHeight;var m=this.initRowDetails(k,l.row,b(b(d).children().children().children()[0]),l);l.details=b(d).children().children().children()[0];l.initialized=true;if(m===false||l.detailsHeight!=j){if(m===false){l.expanded=false;l.nodetails=true;d.hide()}this._renderrows()}}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var g=this.getrowindex(l.row);var e=this.getrowdisplayindex(l.row);this._raiseEvent("rowExpand",{row:l.row,index:e,boundIndex:g,rowKey:k})}}},hidedetailsbykey:function(h){if(!this.rowDetails){return}var j=this.rowinfo[h];if(j){j.expanded=false;var d=b(this._table.children()[1]).children(("[data-key="+h+"]"));var e=b(this._pinnedTable.children()[1]).children(("[data-key="+h+"]"));if(d){var g=e.children();var i=b(g[0]);if(this.rtl){var i=b(g[g.length-1])}if(!this.rtl){i.addClass(this.toThemeProperty("jqx-grid-group-collapse"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand"));i.addClass(this.toThemeProperty("jqx-icon-arrow-right"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}else{i.addClass(this.toThemeProperty("jqx-grid-group-collapse-rtl"));i.removeClass(this.toThemeProperty("jqx-grid-group-expand-rtl"));i.addClass(this.toThemeProperty("jqx-icon-arrow-left"));i.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))}d.next().hide();e.next().hide();if(b.jqx.browser.msie&&b.jqx.browser.version<8){d.next().children().hide();e.next().children().hide()}this._updateScrollbars();if(this.height==="auto"||this.height===null||this.autoheight){this._arrange()}var f=this.getrowindex(j.row);var c=this.getrowdisplayindex(j.row);this._raiseEvent("rowCollapse",{row:j.row,index:c,boundIndex:f,rowKey:h})}}},_getvirtualcolumnsindexes:function(d,l,h,k,c){if(this.rowDetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:h+k}}var e=0;var i=-1;var f=h+k;if(this.autorowheight){return{start:0,end:h+k}}if(!c){for(var g=0;g<h+k;g++){var m=g;if(!this.columns.records[g].hidden){e+=this.columns.records[g].width}if(e>=d&&i==-1){i=g}if(e>l+d){f=g;break}}}f++;if(f>h+k){f=h+k}if(i==-1){i=0}return{start:i,end:f}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var h=parseInt(u);if(this.table==null){return}var q=this.columnsrow;var r=0;var i=this.columns.records.length-r;var e=this.columns.records;var l=this.source.records.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){h=t.max-h}}if(l&&!this._haspinned){this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<r+i;w++){var f=e[w];if(f.pinned){var g=null;if(this.showAggregates){if(this.statusbar[0].cells){g=this.statusbar[0].cells[w]}}if(this.filterrow){if(this.filterrow[0].cells){var x=this.filterrow[0].cells[w]}}if(!this.rtl){var c=q[0].cells[w];c.style.marginLeft=h+"px";if(g){g.style.marginLeft=h+"px"}if(this.filterrow&&x){x.style.marginLeft=h+"px"}}else{var c=q[0].cells[w];c.style.marginLeft=-parseInt(u)+"px";if(g){g.style.marginLeft=-parseInt(u)+"px"}if(this.filterrow&&x){x.style.marginLeft=-parseInt(u)+"px"}}}}if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(this.columns.records[m].pinned){continue}if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this._table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}else{if(this._haspinned==false){if(this.columnsVirtualization){var s=this._getvirtualcolumnsindexes(h,this.host.width(),0,this.columns.records.length,false);var n=s.start;var p=s.end;for(var o=0;o<n;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=p;o<this.columns.records.length;o++){var m=o;var v=this.columns.records[m].element[0];if(v.parentNode){v.parentNode.removeChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(d.parentNode){d.parentNode.removeChild(d)}}}for(var o=n;o<p;o++){var m=o;v=this.columns.records[m].element[0];if(!v.parentNode){this.columnsrow[0].appendChild(v)}if(this.filterrow&&this.filterrow[0]){var d=this.filterrow[0].cells[m];if(!d.parentNode){this.filterrow[0].appendChild(d)}}}}this.table[0].style.left=-h+"px";q[0].style.marginLeft=-h+"px"}}if(this.filterrow){this.filterrow[0].style.left=-h+"px";if(this.rtl){this.filterrow[0].style.left=-h+parseInt(this.content.css("left"))+"px"}}}if(this.showAggregates){if(this.aggregates[0].cells){var k=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){k=2+parseInt(this.hScrollBar.css("left"))}else{k=3+parseInt(this.vScrollBar.width())}}}this.aggregates[0].style.marginLeft=-h+k+"px"}}},_initializeColumns:function(){var d=this.source.datafields;if(d==null&&this.source._source){d=this.source._source.datafields}var k=d?d.length>0:false;if(this.columns&&this.columns.records){for(var e=0;e<this.columns.records.length;e++){this._removecolumnhandlers(this.columns.records[e])}}var j=this;var c=new b.jqx.dataCollection(this.element);var h=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.selectionMode=="checkbox"){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.checkboxcolumn=true;f.editable=false;f.columntype="checkbox";f.groupable=false;f.draggable=false;f.filterable=false;f.resizable=false;f.datafield="_checkboxcolumn";c.add(f)}if(this.rowDetails&&!this.treeGrid){var f=new a(j,this);f.visibleindex=h++;f.width=j.indentWidth;f.editable=false;f.rowDetailscolumn=true;f.groupable=false;f.draggable=false;f.pinned=true;f.filterable=false;f.resizable=false;f.text="";c.add(f)}var g=new Array();b.each(this.columns,function(i){if(j.columns[i]!=undefined){var l=new a(j,this);l.visibleindex=h++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){j._haspinned=true}if(this.datafield==null){if(j.source&&j.source._source&&(j.source._source.datatype=="array")){if(!k){if(!j.source._source.datafields){j.source._source.datafields=new Array();j.source._source.datafields.push({name:i.toString()})}else{j.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();l.datafield=this.datafield;l.displayfield=this.displayfield}}else{if(g[this.datafield]){throw new Error("jqxDataTable: Invalid column 'dataField' setting. jqxDataTable's columns should be initialized with unique data fields.");j.host.remove();return false}else{g[this.datafield]=true}}c.add(l)}});if(this.rtl){c.records.reverse()}this.columns=c},addFilter:function(c,e){var d=this.getColumn(c);if(!d){return}this.dataview.addFilter(c,e)},removeFilter:function(c){var d=this.getColumn(c);if(!d){return}this.dataview.removeFilter(c)},clearFilters:function(d,c){this.dataview.filters=new Array();this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(c!==false){this.resetfilter()}if(d===false){return}this.applyFilters()},resetfilter:function(){if(this.filterinput){this.filterinput.val("")}if(this.filterrow){for(var f=0;f<this.filterrow[0].cells.length;f++){var m=this.filterrow[0].cells[f];var l=b(m).find("input:first");var j=b(m).find(".filterconditions");var e=this.columns.records[f];var d="";if(!e.filterable){continue}l.val("");var g=this.getcolumntypebydatafield(e);var c=new b.jqx.filter();var h,k;switch(g){case"number":case"int":case"float":case"decimal":h="numericfilter";k=c.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":h="booleanfilter";k=c.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":h="datefilter";k=c.getoperatorsbyfiltertype("datefilter");break;case"string":h="stringfilter";k=c.getoperatorsbyfiltertype("stringfilter");break}if(j.length>0){if(h==="stringfilter"){j.jqxDropDownList({selectedIndex:2})}else{j.jqxDropDownList({selectedIndex:0})}}}}},applyFilters:function(){if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this.serverProcessing){this.dataview.pagenum=0;this.updateBoundData("filter")}else{this.goToPage(0);this.refresh()}if(arguments&&arguments.length>0){if(this._updateSimpleFilter){if(this.filtercolumnsList){var d=this.filtercolumnsList.jqxDropDownList("getSelectedItem").value;this._updateSimpleFilter(d)}}if(this._updateFilterRow){this._updateFilterRow()}}this._raiseEvent("filter",{filters:this.dataview.filters})},sortBy:function(d,g){this.dataview._filteredData=null;this.dataview._sortData=null;this.dataview._sortHierarchyData=null;if(this._loading){throw new Error("jqxDataTable: "+this.loadingErrorMessage);return false}if(this.editable){if(this.editKey!=null){var c=this.endroweditbykey(this.editKey)}}if(d==null){g=null;d=this.sortcolumn}if(d){var f=this;var e;if(g=="a"||g=="asc"||g=="ascending"||g==true){e=true}else{e=false}if(g!=null){f.sortdirection={ascending:e,descending:!e}}else{f.sortdirection={ascending:false,descending:false}}if(g!=null){f.sortcolumn=d}else{f.sortcolumn=null}if(f.source.sort){f.dataview.sortfield=d;if(g==null){f.dataview.sortfielddirection=""}else{f.dataview.sortfielddirection=e?"asc":"desc"}if(f.source.sort&&!this._loading){f.source.sort(d,g)}}f.dataview.sortBy(d,g);f._raiseEvent("sort",{sortcolumn:this.sortcolumn,sortdirection:this.sortdirection})}if(!this.serverProcessing){this.refresh()}else{this.updateBoundData("sort")}},_togglesort:function(d){var f=this;if(this.disabled){return}if(d.sortable&&f.sortable){var c={sortcolumn:this.sortcolumn,sortdirection:this.sortdirection};var e=null;if(c.sortcolumn!=null&&c.sortcolumn==d.displayfield){e=c.sortdirection.ascending;if(e==true){e=false}else{e=null}}else{e=true}f.sortBy(d.displayfield,e)}},_renderfilter:function(){var h=this;var j=b("<div style='position: relative; margin: 4px;'><input style='width: 200px; height: 22px; direction: ltr;' role='textbox' type='text'/><div style='cursor: pointer; height: 100%;'><div></div></div></div>");j.height(22);var o=j.find("input");var g=j.find("div:first");j.addClass(this.toThemeProperty("jqx-rc-all"));j.addClass(this.toThemeProperty("jqx-widget"));j.addClass(this.toThemeProperty("jqx-input-group"));o.addClass(this.toThemeProperty("jqx-input"));o.addClass(this.toThemeProperty("jqx-rc-l"));o.addClass(this.toThemeProperty("jqx-input-group-addon"));o.addClass(this.toThemeProperty("jqx-widget"));o.addClass(this.toThemeProperty("jqx-widget-content"));g.addClass(this.toThemeProperty("jqx-fill-state-normal"));g.addClass(this.toThemeProperty("jqx-rc-r"));g.addClass(this.toThemeProperty("jqx-input-group-addon"));g.find("div").addClass(this.toThemeProperty("jqx-icon-search"));if(this.rtl){o.addClass(this.toThemeProperty("jqx-rtl"));o.css("direction","rtl")}this.filter.children().remove();this.filterbutton=g;var d=new Array();for(var f=0;f<h.columns.records.length;f++){if(h.columns.records[f].datafield&&h.columns.records[f].filterable){d.push({label:h.columns.records[f].text,value:h.columns.records[f].displayfield})}}var p=d.length<10?true:false;var l=b("<div style='position: relative; top: 50%; display: none; margin-right: 4px; margin-left: 4px; float: left;'>"+this.gridlocalization.filtersearchstring+"</div>");this.filter.append(l);var c=b("<div class='filtercolumns' style='position: relative; margin: 4px; float: left;'></div>");this.filter.append(c);if(c.jqxDropDownList){c.jqxDropDownList({theme:this.theme,enableBrowserBoundsDetection:true,autoDropDownHeight:p,rtl:h.rtl,dropDownWidth:220,selectedIndex:0,width:"auto",height:20,source:d,displayMember:"label",valueMember:"value"})}this.filtercolumnsList=c;var n=function(q){h.filterinput.val("");for(var r=0;r<h.dataview.filters.length;r++){var s=h.dataview.filters[r];if(s.datafield===q){h.filterinput.val(s.filter.getfilterat(0).filtervalue)}}};if(h.filterHeight!==35){h.filtercolumnsList.css("margin-top",h.filterHeight/2-10);j.css("margin-top",h.filterHeight/2-10)}h._updateSimpleFilter=n;this.addHandler(c,"select",function(q){var i=q.args.item.value;n(i)});if(this.filterMode==="simple"){this.filtercolumnsList.hide();l.show();l.css("margin-top",-this.filter.height()/2);j.css("float","left")}else{this.filtercolumnsList.show();l.hide()}var m=function(){if(!g.hasClass("jqx-fill-state-disabled")){var r=o.val();if(c.jqxDropDownList){var u=c.jqxDropDownList("getSelectedItem")}var w=function(B,x,i){var A=new b.jqx.filter();var z=h.getcolumntypebydatafield(B);var C=h._getfiltertype(z);if(C=="datefilter"){var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{if(C=="numericfilter"||C=="booleanfilter"){if(C=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(x.indexOf(h.gridlocalization.decimalseparator)>=0){x=x.replace(h.gridlocalization.decimalseparator,".")}}if(x.indexOf(h.gridlocalization.currencysymbol)>=0){x=x.replace(h.gridlocalization.currencysymbol,"")}if(x.indexOf(h.gridlocalization.percentagesymbol)>=0){x=x.replace(h.gridlocalization.percentagesymbol,"")}}var y=A.createfilter(C,x,"EQUAL",null,B.cellsFormat,h.gridlocalization)}else{var y=A.createfilter(C,x,"CONTAINS")}}A.operator=i;A.addfilter(0,y);return A};if(h.filterMode!=="simple"){if(u){var v=u.value;var t=h.getColumn(v);var s=w(t,r,"and");if(r.length>0){h.removeFilter(v);h.addFilter(v,s);h.applyFilters()}else{h.removeFilter(v);h.applyFilters()}if(h.filterMode==="advanced"){if(h._updateFilterRow){h._updateFilterRow(true)}}}}else{h.clearFilters(false,false);if(r.length>0){for(var q=0;q<h.columns.records.length;q++){var t=h.columns.records[q];var s=w(t,r,"or");h.addFilter(t.datafield,s)}}h.applyFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}}};o.keydown(function(i){if(i.keyCode===13){m();if(i.preventDefault){i.preventDefault()}return false}});g.click(function(){m()});this.filterinput=o;this.filter.append(j);if(this.filterMode=="advanced"){var e=b("<a style='float: left; position: relative; margin: 2px; margin-left: 10px;' href='#'>"+this.gridlocalization.filterstring+"</a>");j.append(e);this.addHandler(e,"click",function(q){var i=function(u){if(h.filterrow){for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var v=b(t).find("input:first");var z=h.columns.records[x];if(!z.filterable){continue}if(u===true){v.val("")}for(var w=0;w<h.dataview.filters.length;w++){var y=h.dataview.filters[w];if(y.datafield===z.displayfield){v.val(y.filter.getfilterat(0).filtervalue);break}}}}};var s=function(v){if(h.filterrow){var u=0;for(var x=0;x<h.filterrow[0].cells.length;x++){var t=h.filterrow[0].cells[x];var w=b(t).find("input:first");var y=h.columns.records[x];if(y.hidden){t.style.visibility="hidden"}else{t.style.visibility="inherit"}if(!y.filterable){continue}t.style.left=parseInt(u)+parseInt(y.uielement[0].style.left)+"px";t.style.width=6+y.width+"px";if(w[0]){w[0].style.width=y.width-6-22+"px"}}}};h._updateFilterRow=i;h._arrangeFilterRow=s;var r=function(){h.filtercolumnsList.jqxDropDownList({disabled:true});h.filterinput.addClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",true);h.filterbutton.addClass(h.toThemeProperty("jqx-fill-state-disabled"))};if(h.filter.find(".filterrow").length===0){h._renderadvancedfilter();r();i();h._arrange();s()}else{if(h.filter.find(".filterrow").css("display")==="none"){r();h.filter.find(".filterrow").removeClass("filterrow-hidden");i();h.filter.find(".filterrow").show();s()}else{h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));n(h.filtercolumnsList.jqxDropDownList("getSelectedItem").value);h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide()}h._arrange()}return false})}var k=b("<div style='float: left; width: 16px; height: 16px; position: relative; margin: 3px;'></div>");k.attr("title",h.gridlocalization.filterclearstring);k.addClass(h.toThemeProperty("jqx-icon-close"));j.append(k);k.hide();h.filtericon=k;k.click(function(){h.clearFilters();h.filtericon.fadeOut(200)});if(h.dataview.filters.length>0){if(h.filterMode!="advanced"){n(h.dataview.filters[0].datafield)}else{if(h._updateFilterRow){h._updateFilterRow()}}}},_renderadvancedfilter:function(){var h=this;var c=function(){h.clearFilters(false,false);var n=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var p=h.filterinput.val();for(var m=0;m<h.filterrow[0].cells.length;m++){var v=h.filterrow[0].cells[m];var u=b(v).find("input:first");var r=b(v).find(".filterconditions");var l=h.columns.records[m];var k="";if(!l.filterable){continue}if(l.displayfield===n){h.filterinput.val(u.val())}var q,t;var o=h.getcolumntypebydatafield(l);var j=new b.jqx.filter();switch(o){case"number":case"int":case"float":case"decimal":q="numericfilter";t=j.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":q="booleanfilter";t=j.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":q="datefilter";t=j.getoperatorsbyfiltertype("datefilter");break;case"string":q="stringfilter";t=j.getoperatorsbyfiltertype("stringfilter");break}if(r.length==0){if(q==="stringfilter"){k=t[2]}else{k=t[0]}}else{var y=r.jqxDropDownList("getSelectedItem");if(y){k=t[y.index]}else{if(q==="stringfilter"){k=t[2]}else{k=t[0]}}}var w=u.val();if(w.length>0||(w.length==0&&k=="NOT_NULL")||(w.length==0&&k=="NOT_EMPTY")||(w.length==0&&k=="EMPTY")||(w.length==0&&k=="NULL")){var s=l.displayfield;var x=new b.jqx.filter();if(q=="numericfilter"){if(h.gridlocalization.decimalseparator==","){if(w.indexOf(h.gridlocalization.decimalseparator)>=0){w=w.replace(h.gridlocalization.decimalseparator,".")}}if(w.indexOf(h.gridlocalization.currencysymbol)>=0){w=w.replace(h.gridlocalization.currencysymbol,"")}if(w.indexOf(h.gridlocalization.percentagesymbol)>=0){w=w.replace(h.gridlocalization.percentagesymbol,"")}}var j=x.createfilter(q,w,k,null,l.cellsFormat,h.gridlocalization);x.addfilter(0,j);h.addFilter(s,x)}}if(h.dataview.filters.length>0){h.applyFilters()}else{h.clearFilters()}if(h.dataview.filters.length==0){h.filtericon.fadeOut(200)}else{h.filtericon.fadeIn(200)}};var e=function(){var m=b("<div style='position: relative;' class='filterrow'></div>").appendTo(h.filter);h.filterrow=m;m[0].cells=new Array();m.height(24);m.width(h.table.width());var k=0;var j=h.filtercolumnsList.jqxDropDownList("getSelectedItem").value;var l=h.filterinput.val();b.each(h.columns.records,function(){var p=this;var n=b("<div></div>").appendTo(m);n.css("position","absolute");n.css("left",k+parseInt(p.uielement[0].style.left));if(p.pinned){n.css("z-index",h.tableZIndex+h.columns.records.length);n.addClass(h.toThemeProperty("jqx-widget-header"))}m[0].cells.push(n[0]);if(!this.filterable){return true}var o=b("<input style='margin-left: 4px; height: 20px; float: left;' role='textbox' type='text'/>").appendTo(n);o.keydown(function(r){if(r.keyCode===13){c()}});if(p.displayfield===j){o.val(l)}o.addClass(h.toThemeProperty("jqx-input"));o.addClass(h.toThemeProperty("jqx-rc-all"));o.addClass(h.toThemeProperty("jqx-widget"));o.addClass(h.toThemeProperty("jqx-widget-content"));var q=b("<div style='cursor: pointer; margin-left: 4px; margin-bottom: 4px; margin-top: 6px; width: 18px; position: relative; margin-top: 4px; float: left;'></div>").appendTo(n);q.append(b("<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"));o.focus(function(){h.ensureColumnVisible(p.displayfield);h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield);setTimeout(function(){h.filter[0].scrollLeft=0;h.ensureColumnVisible(p.displayfield)},10)});q.click(function(){var u=b("<div class='filterconditions' style='position: relative; margin-top: 1px; float: left;'></div>");u.insertAfter(q);q.remove();var s=h.getcolumntypebydatafield(p);var t=h._getfiltersbytype(s);var r;if(s==="string"){r=2}else{r=0}u.jqxDropDownList({theme:h.theme,enableBrowserBoundsDetection:true,renderMode:"simple",arrowSize:0,selectedIndex:r,rtl:h.rtl,dropDownWidth:230,dropDownHeight:180,width:20,height:20,source:t,selectionRenderer:function(){return"<div style='width: 16px; height: 16px;' class='"+h.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"}});h.addHandler(u,"close",function(v){o.focus();setTimeout(function(){o.focus()},10)});u.removeAttr("tabindex");u.find("div").removeAttr("tabindex");u.jqxDropDownList("open")});o[0].style.width=p.width-6-22+"px"});b("<div style='clear: both;'></div>").appendTo(m)};e();var i=b("<div style='position:relative;' class='filterrow'></div>").appendTo(h.filter);var f=b("<input type='button' style='position: relative; float: left; margin-top: 4px; margin-left: 4px;' value='"+h.gridlocalization.filterapplystring+"'/>").appendTo(i);var g=b("<input type='button' style='position: relative; float: left; margin-top: 4px;  margin-left: 4px;' value='"+h.gridlocalization.filtercancelstring+"'/>").appendTo(i);var d=0;f.css("left",d);g.css("left",d);f.css("top","4px");g.css("top","4px");f.jqxButton({theme:h.theme});g.jqxButton({theme:h.theme});g.click(function(){h.filtercolumnsList.jqxDropDownList({disabled:false});h.filterinput.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filterinput.attr("disabled",false);h.filterbutton.removeClass(h.toThemeProperty("jqx-fill-state-disabled"));h.filter.find(".filterrow").addClass("filterrow-hidden");h.filter.find(".filterrow").hide();h._arrange()});f.click(function(){c()});h._renderhorizontalscroll()},_getfiltertype:function(c){var d="stringfilter";switch(c){case"number":case"int":case"float":case"decimal":d="numericfilter";break;case"boolean":case"bool":d="booleanfilter";break;case"date":case"time":d="datefilter";break;case"string":d="stringfilter";break}return d},getcolumntypebydatafield:function(e){var f=this;var d="string";var c=f.source.datafields||((f.source._source)?f.source._source.datafields:null);if(c){var g="";b.each(c,function(){if(this.name==e.displayfield){if(this.type){g=this.type}return false}});if(g){return g}}return d},_getfiltersbytype:function(c){var d=this;var e="";switch(c){case"number":case"float":case"int":e=d.gridlocalization.filternumericcomparisonoperators;break;case"date":e=d.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":e=d.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:e=d.gridlocalization.filterstringcomparisonoperators;break}return e},_getcellvalue:function(c,e){var d=null;d=e[c.datafield];if(c.displayfield!=null){d=e[c.displayfield]}if(d==null){d=""}return d},_renderrows:function(ap){if(this.editable){if(this.editKey!=null){if(ap!==false){var M=this.endroweditbykey(this.editKey)}}}if(this.treeGrid){this.treeGrid._renderrows();return}if(this._loading){return}if(this._updating){return}if(this.rendering){this.rendering()}var ab=this;var T=0;this.table[0].rows=new Array();var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-widget-content");if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var K=this.columns.records.length;var ao=b.jqx.browser.msie&&b.jqx.browser.version<8;if(ao){this.host.attr("hideFocus","true")}var R=ab.groups.length;var ai=new Array();var k=this.source.records;k=this.dataview.evaluate(k);this.dataViewRecords=k;if(this.dataview.pagesize=="all"||!this.pageable||this.serverProcessing){var u=k;if(this.pageable&&this.serverProcessing&&k.length>this.dataview.pagesize){var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}}else{var u=k.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}if(ab.groups&&ab.groups.length>0){var P=this.pageable?this.dataview.pagesize*this.dataview.pagenum:0;var z=function(w){var au=0;var i=new Array();for(var c=0;c<w.length;c++){var j=w[c];if(j.level==0){au++}if(au>ab.dataview.pagesize*ab.dataview.pagenum&&au<=ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){i.push(j)}if(au>ab.dataview.pagesize*ab.dataview.pagenum+ab.dataview.pagesize){break}}return i};if(this.pageSizeMode==="root"){var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",k,0);ab.rootRecordsLength=v.length;v=z(v)}else{var v=ab.source.getGroupedRecords(ab.groups,"records","label",null,"data",null,"parent",u,P)}var y=function(j,w){for(var av=0;av<j.length;av++){var c=j[av];w.push(c);if(c.records&&c.records.length>0){var aw=y(c.records,new Array());for(var au=0;au<aw.length;au++){if(aw[au].leaf){w.push(aw[au])}else{w.push(aw[au])}}}}return w};var ai=y.call(ab,v,new Array());u=ai;this.rowsByKey=new Array();for(var am=0;am<u.length;am++){var G=u[am];this.rowsByKey[G.uid]=G}}var ai=u;this.renderedRecords=ai;var U=ai.length;var V=this.tableZIndex;var aq=0;var aa=0;if(ao){for(var al=0;al<K;al++){var Z=this.columns.records[al];var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}var l=b('<table><tr><td role="gridcell" style="max-width: '+e+"px; width:"+e+'px;" class="'+H+'"></td></tr></table>');b(document.body).append(l);var n=l.find("td");aq=1+parseInt(n.css("padding-left"))+parseInt(n.css("padding-right"));l.remove();break}}var ak=this.rtl?" "+this.toTP("jqx-grid-table-rtl"):"";var B="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='table"+this.element.id+"'><colgroup>";var ar="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+ak+"' id='pinnedtable"+this.element.id+"'><colgroup>";var I=0;var s=K;for(var al=0;al<K;al++){var Z=this.columns.records[al];if(Z.hidden){I++;s--;continue}var e=Z.width;if(e<Z.minwidth){e=Z.minwidth}if(e>Z.maxwidth){e=Z.maxwidth}e-=aq;if(e<0){e=0}if(ao){var ac=e;if(al==I){ac++}if(Z.rowDetailscolumn){var ac=ac+4;ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}else{ar+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>";B+="<col style='max-width: "+ac+"px; width: "+ac+"px;'>"}}else{ar+="<col style='max-width: "+e+"px; width: "+e+"px;'>";B+="<col style='max-width: "+e+"px; width: "+e+"px;'>"}aa+=e}B+="</colgroup>";ar+="</colgroup>";this._hiddencolumns=false;var g=false;if(this.rowDetails&&this._pinnedTable){this._pinnedTable.find("[data-role=details]").detach();this._table.find("[data-role=details]").detach()}if(U===0){var o='<tr role="row">';var m=this.host.height();if(this.pageable){m-=this.pagerHeight;if(this.pagerPosition==="both"){m-=this.pagerHeight}}m-=this.columnsHeight;if(this.filterable){var ag=this.filter.find(".filterrow");var D=this.filter.find(".filterrow-hidden");var C=1;if(D.length>0){C=0}m-=this.filterHeight+this.filterHeight*ag.length*C}if(this.showstatusbar){m-=this.statusBarHeight}if(this.showAggregates){m-=this.aggregatesHeight}if(m<25){m=25}if(this.hScrollBar[0].style.visibility!="hidden"){m-=this.hScrollBar.outerHeight()}if(this.height==="auto"||this.height===null||this.autoheight){m=300}var l='<td colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+m+"px; height: "+m+"px; max-width:"+aa+"px; width:"+aa+"px;";var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-center-align");l+='" class="'+H+'">';l+=this.gridlocalization.emptydatastring;l+="</td>";o+=l;B+=o;ar+=o;this.table[0].style.width=aa+2+"px";T=aa}var q=this.getRows();var x=new Array();for(var am=0;am<ai.length;am++){var G=ai[am];var L=G.uid;if(undefined===G.uid){G.uid=this.dataview.generatekey()}var o='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';if(R>0){if(G.level<R){var o='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">';var E='<tr data-role="row-group" data-key="'+L+'" role="row" id="row'+am+this.element.id+'">'}}var p=0;var S=0;for(var al=0;al<K;al++){var ae=this.columns.records[al];if(ae.pinned||(this.rtl&&this.columns.records[K-1].pinned)){g=true}var e=ae.width;if(e<ae.minwidth){e=ae.minwidth}if(e>ae.maxwidth){e=ae.maxwidth}e-=aq;if(e<0){e=0}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(ae.pinned){H+=" "+this.toTP("jqx-grid-cell-pinned")}if(this.sortcolumn===ae.displayfield){H+=" "+this.toTP("jqx-grid-cell-sort")}if(this.altRows&&am%2!=0){H+=" "+this.toTP("jqx-grid-cell-alt")}if(this.rtl){H+=" "+this.toTP("jqx-cell-rtl")}var O="";if(R>0){if(G.level<R){if(!ao){H+=" "+this.toTP("jqx-grid-cell-pinned");O+=' colspan="'+K+'"';var ac=0;for(var ad=0;ad<K;ad++){var at=ab.columns.records[ad];var A=at.width;if(A<at.minwidth){e=at.minwidth}if(A>at.maxwidth){e=at.maxwidth}A-=aq;if(A<0){A=0}if(!at.hidden){ac+=A}}e=ac}else{H+=" "+this.toTP("jqx-grid-cell-pinned")}}}var l='<td role="gridcell" '+O+' style="max-width:'+e+"px; width:"+e+"px;";var af='<td role="gridcell" '+O+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+e+"px; width:"+e+"px;";if(al==K-1&&K==1){l+="border-right-color: transparent;";af+="border-right-color: transparent;"}var Y=false;if(R>0){if(G.level<R){Y=true}}if(!Y){if(ae.cellsalign!="left"){if(ae.cellsalign==="right"){H+=" "+this.toTP("jqx-right-align")}else{H+=" "+this.toTP("jqx-center-align")}}}else{if(this.rtl){H+=" "+this.toTP("jqx-right-align")}}if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].selected&&!ae.rowDetailscolumn){if(this.editKey!==G.uid){if(this.selectionMode!=="none"){H+=" "+this.toTP("jqx-grid-cell-selected");H+=" "+this.toTP("jqx-fill-state-pressed")}}}if(this.rowinfo[G.uid].locked){H+=" "+this.toTP("jqx-grid-cell-locked")}}if(!(ae.hidden)){p+=aq+e;if(S==0){l+="border-left-width: 0px;";af+="border-left-width: 0px;"}S++}else{if(!Y){l+="display: none;";af+="display: none;";this._hiddencolumns=true}}if(R>0&&ao&&Y&&al>=R){l+="font-size: 1px; border-color: transparent;  color: transparent;";af+="font-size: 1px; border-color: transparent; color: transparent;"}if(ae.pinned){l+="pointer-events: auto;";af+="pointer-events: auto;"}if(!Y&&ae.rowDetailscolumn){if(this.rowinfo[G.uid]){if(!this.rowinfo[G.uid].nodetails){if(this.rowinfo[G.uid].expanded){if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-expand")}else{H+=" "+this.toTP("jqx-grid-group-expand-rtl")}H+=" "+this.toTP("jqx-icon-arrow-down")}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}}else{if(!this.rtl){H+=" "+this.toTP("jqx-grid-group-collapse");H+=" "+this.toTP("jqx-icon-arrow-right")}else{H+=" "+this.toTP("jqx-grid-group-collapse-rtl");H+=" "+this.toTP("jqx-icon-arrow-left")}}}if(!this.autoRowHeight||(this.autoRowHeight&&!ae.autoCellHeight)){H+=" "+this.toTP("jqx-grid-cell-nowrap ")}var aj=ab._getcellvalue(ae,G);var f=ae.cellsFormat;if(R>0){if(G.level<R){aj=G.label;f=ab.getColumn(ab.groups[G.level]).cellsFormat}}if(f!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(aj)){aj=b.jqx.dataFormat.formatdate(aj,f,ab.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(aj)||(!isNaN(parseFloat(aj))&&isFinite(aj))){aj=b.jqx.dataFormat.formatnumber(aj,f,ab.gridlocalization)}}}}if(!Y){if(ae.cellclassname!=""&&ae.cellclassname){if(typeof ae.cellclassname=="string"){H+=" "+ae.cellclassname}else{var r=ae.cellclassname(am,ae.datafield,aj,G);if(r){H+=" "+r}}}if(ae.cellsRenderer!=""&&ae.cellsRenderer){var d=q.indexOf(G);if(d===-1){if(G.originalRecord){var d=q.indexOf(G.originalRecord)}}aj=ae.cellsRenderer(d,ae.datafield,aj,G);if(aj&&(aj.indexOf("<jqx-")>=0||aj.indexOf(" ng-")>=0)){x.push({rowKey:G.uid,row:d,column:ae.datafield,value:aj,columnIndex:al})}}}else{if(this.groupsRenderer){aj=this.groupsRenderer(aj,G,G.level)}}l+='" class="'+H+'">';l+=aj;l+="</td>";af+='" class="'+H+'">';af+=aj;af+="</td>";if(!ae.pinned){o+=l;if(g){E+=af}}else{E+=l;o+=l}if(R>0&&!ao){if(G.level<R){break}}}if(T==0){this.table[0].style.width=p+2+"px";T=p}o+="</tr>";E+="</tr>";B+=o;ar+=E;if(!this.rowinfo[G.uid]){this.rowinfo[G.uid]={group:Y,row:G,details:null,detailsHeight:200,initialized:false,expanded:false}}else{if(!("group" in this.rowinfo[G.uid])){this.rowinfo[G.uid].group=Y}if(!("row" in this.rowinfo[G.uid])){this.rowinfo[G.uid].row=G}if(!("details" in this.rowinfo[G.uid])){this.rowinfo[G.uid].details=null}if(!("detailsHeight" in this.rowinfo[G.uid])){this.rowinfo[G.uid].detailsHeight=200}if(!("initialized" in this.rowinfo[G.uid])){this.rowinfo[G.uid].initialized=false}if(!("expanded" in this.rowinfo[G.uid])){this.rowinfo[G.uid].expanded=false}}if(this.serverProcessing){this.rowinfo[G.uid].row=G}if(this.rowDetails){var F=this.rowinfo[G.uid].detailsHeight;if(this.rowinfo[G.uid]){if(this.rowinfo[G.uid].expanded){var ah='<tr data-role="row-details"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}}else{var ah='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"'}var H=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");H+=" "+this.toTP("jqx-details");H+=" "+this.toTP("jqx-reset");ah+='" class="'+H+'"><div style="pointer-events: auto; overflow: hidden; min-height: '+F+"px; max-height: "+F+"px; height: "+F+'px;"><div data-role="details"></div></div></td></tr>';B+=ah;ar+=ah}}B+="</table>";ar+="</table>";if(g){if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(ar+B)})}else{ab.table[0].innerHTML=ar+B}var W=this.table.find("#table"+this.element.id);var X=this.table.find("#pinnedtable"+this.element.id);X.css("float","left");X.css("pointer-events","none");W.css("float","left");X[0].style.position="absolute";W[0].style.position="relative";W[0].style.zIndex=V-10;X[0].style.zIndex=V+10;this._table=W;this._table[0].style.left="0px";this._pinnedTable=X;this._pinnedTable[0].style.left="0px";this._pinnedTable[0].style.width=T+"px";this._table[0].style.width=T+"px";if(this.rtl){if(T>parseInt(this.element.style.width)&&this._haspinned){this._pinnedTable[0].style.left=3-T+parseInt(this.element.style.width)+"px"}}if(this.rowDetails){for(var am=0;am<U;am++){var G=ai[am];var L=G.uid;if(this.rowinfo[L].details){var N=b(this._table.children()[1]).children(("[data-key="+L+"]"));var Q=b(this._pinnedTable.children()[1]).children(("[data-key="+L+"]"));if(N){var h=Q.next();var J=b(b(h).children().children());J.children().detach();J.append(this.rowinfo[G.uid].details)}}}}}else{if(ab.WinJS){MSApp.execUnsafeLocalFunction(function(){ab.table.html(B)})}else{ab.table[0].innerHTML=B}var ad=this.table.find("#table"+this.element.id);this._table=ad;if(b.jqx.browser.msie&&b.jqx.browser.version<10){this._table[0].style.width=T+"px"}if(U===0){this._table[0].style.width=(2+T)+"px"}}if(U===0){this._table[0].style.tableLayout="auto";if(this._pinnedTable){this._pinnedTable[0].style.tableLayout="auto"}}if(x&&x.length>0){var an=this._table[0].rows;b.each(x,function(){var w=this.row;var au=this.rowKey;var j=this.column;var i=this.columnIndex;var t=ab._getuirow(au);if(t){var c=t[0].cells[i];if(b.jqx.angularCompile){b.jqx.angularCompile(c,"<div>"+c.innerHTML+"</div>")}}})}if(this.rendered){this.rendered()}},getcolumnindex:function(c){var d=this.getColumn(c);var e=this.columns.records.indexOf(d);return e},setcolumnindex:function(e,i,j){var h=this.getColumn(e);if(h.pinned){return}if(h.hidden){return}if(h.checkboxcolumn){return}if(h.grouped){return}var l=this.columns.records.indexOf(h);this.columns.records.splice(l,1);this.columns.records.splice(i,0,h);var f=0;var n=this.headerZIndex;this.columnsrow.children().detach();var k=this.toThemeProperty("jqx-grid-cell");k+=" "+this.toThemeProperty("jqx-grid-cell-pinned");k+=" "+this.toThemeProperty("jqx-item");var m=this;var c=null;if(m.filterrow!=undefined){var c=b(m.filterrow.children()[0])}this.columnsrow[0].cells=[];var g=false;b.each(this.columns.records,function(p,s){var q=this.uielement;m.columnsrow.append(q);if(!m.rtl){q.css("z-index",n--)}else{q.css("z-index",n++)}var o=!m.rtl?250+n-1:250+n+1;if(this.pinned){q.css("z-index",o)}var r=this.width;q.css("left",f);m.columnsrow[0].cells[m.columnsrow[0].cells.length]=q[0];if(this.hidden){g=true}if(!(this.hidden&&this.hideable)){f+=r}});if(this.groupable){var d=this.groups.length;if(d>0){if(l-d>=0){l-=d;i-=d}}}if(this.rowDetails){if(l-1>=0){l--;i--}}if(this.selectionMode=="checkbox"){if(l-1>=0){l--;i--}}var h=this._columns[l];this._columns.splice(l,1);this._columns.splice(i,0,h);this.resize();this._rendercolumnGroups();this._raiseEvent("columnReordered",{dataField:h.datafield,oldIndex:l,newIndex:i})},_pinnedColumnsLength:function(){var c=0;b.each(this.columns.records,function(){if(this.pinned){c++}if(this.grouped){c++}});if(this.rowDetails){c++}if(this.selectionMode=="checkbox"){c++}return c},_handlecolumnsReorder:function(){var g=this;var h=-1;var d=false;if(!g.columnsReorder){return}var f="mousemove.reorder"+this.element.id;var e="mousedown.reorder"+this.element.id;var i="mouseup.reorder"+this.element.id;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true;f=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;e=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;i=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id}this.removeHandler(b(document),f);this.addHandler(b(document),f,function(x){if(g.resizing){return true}if(g.reordercolumn!=null){var m=parseInt(x.pageX);var u=parseInt(x.pageY);if(c){var t=g.getTouches(x);var p=t[0];if(p!=undefined){m=parseInt(p.pageX);u=parseInt(p.pageY)}}var j=g.host.coord();var w=parseInt(j.left);var k=parseInt(j.top);if(g.dragmousedownoffset==undefined||g.dragmousedownoffset==null){g.dragmousedownoffset={left:0,top:0}}var B=parseInt(m)-parseInt(g.dragmousedownoffset.left);var s=parseInt(u)-parseInt(g.dragmousedownoffset.top);g.reordercolumn.css({left:B+"px",top:s+"px"});d=false;if(m>=w&&m<=w+g.host.width()){if(u>=k&&u<=k+g.host.height()){d=true}}h=-1;if(d){g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-dragcancel-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-drag-icon"));var n=g.columnsheader.coord();var q=n.top+g.columnsheader.height();if(g.columnsdropline!=null){if(u>=n.top&&u<=q){h=g._handlereordercolumnsdroplines(m);if(g.columnGroups){if(h!=-1){var l=0;l+=g._pinnedColumnsLength();var o=h.index;if(o>=l){var y=g.columns.records[o];if(y!=undefined){var v=g.columns.records.indexOf(g.getColumn(y.datafield));if(y.datafield==null){var v=g.columns.records.indexOf(g.getcolumnbytext(y.text))}var r=b.data(g.reordercolumn[0],"reorderrecord");var A=g.columns.records.indexOf(g.getColumn(r));var z=y;if(A<v){if(h.position=="before"){z=g.columns.records[v-1]}}if(z.columngroup!=g.getColumn(r).columngroup){g.columnsdropline.hide();return}}}}}}else{g.columnsdropline.fadeOut("slow")}}}else{if(g.columnsdropline!=null){g.columnsdropline.fadeOut("slow")}g.reordercolumnicon.removeClass(g.toThemeProperty("jqx-grid-drag-icon"));g.reordercolumnicon.addClass(g.toThemeProperty("jqx-grid-dragcancel-icon"))}if(x.preventDefault){x.preventDefault();x.stopPropagation()}if(c){x.preventDefault();x.stopPropagation();return false}}});this.columnsbounds=new Array();this.removeHandler(b(document),e);this.addHandler(b(document),e,function(k){if(g.resizing){return true}g.columnsbounds=new Array();var m=g.host.coord().left;var l=g.host.coord().top;if(g.showtoolbar){l+=g.toolbarHeight}if(g.filter){l+=g.filter.height()}var j=0;b.each(g.columns.records,function(o){var p=this;if(p.hidden){g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:0,height:2};return true}if(j==0){if(!g.rtl){m=parseInt(g.host.coord().left)-g.hScrollInstance.value}else{m=parseInt(g.host.coord().left)-g.hScrollInstance.max+g.hScrollInstance.value}}j++;var n=2+g.columnsHeight;if(g.columnshierarchy){l=b(p.uielement).coord().top;n=b(p.uielement).height()}g.columnsbounds[g.columnsbounds.length]={top:l,column:p,left:m,width:p.width,height:n};m+=p.width})});this.removeHandler(b(document),i);this.addHandler(b(document),i,function(j){if(g.resizing){return true}g.__drag=false;b(document.body).removeClass("jqx-disableselect");var l=parseInt(j.pageX);var t=parseInt(j.pageY);if(c){var o=g.getTouches(j);var n=o[0];l=parseInt(n.pageX);t=parseInt(n.pageY)}var m=g.host.coord();var v=parseInt(m.left);var w=parseInt(m.top);if(g.showtoolbar){w+=g.toolbarHeight}g.columndragstarted=false;g.dragmousedown=null;if(g.reordercolumn!=null){var k=b.data(g.reordercolumn[0],"reorderrecord");var x=g.columns.records.indexOf(g.getColumn(k));g.reordercolumn.remove();g.reordercolumn=null;var p=0;p+=g._pinnedColumnsLength();if(k!=null){if(d){if(h!=-1){var q=h.index;if(q>=p){var s=g.columns.records[q];if(s!=undefined){var u=g.columns.records.indexOf(g.getColumn(s.datafield));if(s.datafield==null){var u=g.columns.records.indexOf(g.getcolumnbytext(s.text))}if(g.columnGroups){var r=s;if(x<u){if(h.position=="before"){r=g.columns.records[u-1]}}if(r.columngroup!=g.getColumn(k).columngroup){if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}return}}if(x<u){if(h.position=="before"){g.setcolumnindex(k,u-1)}else{g.setcolumnindex(k,u)}}else{if(x>u){g.setcolumnindex(k,u)}}}}}}if(g.columnsdropline!=null){g.columnsdropline.remove();g.columnsdropline=null}}}})},getcolumnbytext:function(d){var c=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.text==d){c=this;return false}})}return c},_handlereordercolumnsdroplines:function(i){var c=this;var h=-1;var e=c._pinnedColumnsLength();var g=parseInt(c.host.coord().left);var d=g+c.host.width();var f=c.vScrollBar.css("visibility")!="hidden"?19:0;if(!c.rtl){f=0}b.each(c.columnsbounds,function(j){if(j>=e){if(this.width==0){return true}if(i<=this.left+this.width/2){if(i>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+parseInt(this.left)+"px");c.columnsdropline.css("top",parseInt(this.top)+"px");c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"before"};return false}else{if(i>=this.left+this.width/2){if(this.left+this.width>d){c.columnsdropline.fadeOut();return false}c.columnsdropline.css("left",f+1+this.left+this.width);c.columnsdropline.css("top",this.top);c.columnsdropline.height(this.height);c.columnsdropline.fadeIn("slow");h={index:j,position:"after"}}}}});return h},_createreordercolumn:function(d,f,i){var h=this;var g=f;if(h.reordercolumn){h.reordercolumn.remove()}if(h.columnsdropline){h.columnsdropline.remove()}h.reordercolumn=b("<div></div>");var k=d.clone();h.reordercolumn.css("z-index",999999);k.css("border-width","1px");k.css("opacity","0.4");var j=b(k.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(j.length>0){j.css("display","none")}var c=b(k.find(".jqx-icon-close"));if(c.length>0){c.css("display","none")}h.reordercolumnicon=b('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.reordercolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.reordercolumn.css("float","left");h.reordercolumn.css("position","absolute");var e=h.host.coord();k.width(d.width()+16);h.reordercolumn.append(k);h.reordercolumn.height(d.height());h.reordercolumn.width(k.width());h.reordercolumn.append(h.reordercolumnicon);b(document.body).append(h.reordercolumn);k.css("margin-left",0);k.css("left",0);k.css("top",0);h.reordercolumn.css("left",g.left+h.dragmousedown.left);h.reordercolumn.css("top",g.top+h.dragmousedown.top);if(i!=undefined&&i){h.columnsdropline=b('<div style="z-index: 9999; display: none; position: absolute;"></div>');h.columnsdropline.width(2);h.columnsdropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));b(document.body).append(h.columnsdropline)}},_handlecolumnsdragreorder:function(d,g){if(this.reordercolumn){this.reordercolumn.remove()}if(this.columnsdropline){this.columnsdropline.remove()}this.dragmousedown=null;this.dragmousedownoffset=null;this.columndragstarted=false;this.reordercolumn=null;var h=this;var f;var c=false;if(this.isTouchDevice()&&this.touchmode!==true){c=true}var e="mousedown.drag";var f="mousemove.drag";if(c){e=b.jqx.mobile.getTouchEventName("touchstart")+".drag";f=b.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(g,"dragstart",function(i){return false})}this.addHandler(g,e,function(k){if(false==d.draggable){return true}if(h.resizing){return true}h.__drag=true;var j=k.pageX;var i=k.pageY;if(c){var l=h.getTouches(k);var n=l[0];j=n.pageX;i=n.pageY}h.dragmousedown={left:j,top:i};var m=b(k.target).coord();h.dragmousedownoffset={left:parseInt(j)-parseInt(m.left),top:parseInt(i-m.top)};if(k.preventDefault){k.preventDefault()}return true});this.addHandler(g,f,function(k){if(!d.draggable){return true}if(undefined==d.datafield){return true}if(d.pinned){return true}if(h.resizing){return true}if(h.dragmousedown){var j=k.pageX;var i=k.pageY;if(c){var m=h.getTouches(k);var o=m[0];if(o!=undefined){j=o.pageX;i=o.pageY}}f={left:j,top:i};if(!h.columndragstarted&&h.reordercolumn==null){var l=Math.abs(f.left-h.dragmousedown.left);var n=Math.abs(f.top-h.dragmousedown.top);if(l>3||n>3){h._createreordercolumn(g,f,true);b(document.body).addClass("jqx-disableselect");b.data(h.reordercolumn[0],"reorderrecord",d.datafield)}}}})},getTouches:function(c){return b.jqx.mobile.getTouches(c)},_handlecolumnsResize:function(){var i=this;if(this.columnsResize){var k=false;if(i.isTouchDevice()){k=true}var g="mousemove.resize"+this.element.id;var d="mousedown.resize"+this.element.id;var e="mouseup.resize"+this.element.id;if(k){var g=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var e=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id}this.removeHandler(b(document),g);this.addHandler(b(document),g,function(n){if(i.resizablecolumn!=null&&!i.disabled&&i.resizing){if(i.resizeline!=null){var s=i.resizablecolumn.columnelement;var p=i.host.coord();var v=parseInt(i.resizestartline.coord().left);var l=v-i._startcolumnwidth;var w=i.resizablecolumn.column.minwidth;if(w=="auto"){w=0}else{w=parseInt(w)}var m=i.resizablecolumn.column.maxwidth;if(m=="auto"){m=0}else{m=parseInt(m)}var q=n.pageX;if(k){var t=b.jqx.mobile.getTouches(n);var r=t[0];q=r.pageX}l+=w;var u=m>0?v+m:0;var o=m==0?true:i._startcolumnwidth+q-v<m?true:false;if(i.rtl){var o=true}if(o){if(!i.rtl){if(q>=p.left&&q>=l){if(u!=0&&n.pageX<u){i.resizeline.css("left",q)}else{if(u==0){i.resizeline.css("left",q)}}if(k){return false}}}else{if(q>=p.left&&q<=p.left+i.host.width()){i.resizeline.css("left",q);if(k){return false}}}}}}if(!k&&i.resizablecolumn!=null){return false}});this.removeHandler(b(document),d);this.addHandler(b(document),d,function(m){if(i.resizablecolumn!=null&&!i.disabled){var l=i.resizablecolumn.columnelement;if(l.coord().top+l.height()+5<m.pageY){i.resizablecolumn=null;return}if(l.coord().top-5>m.pageY){i.resizablecolumn=null;return}i._startcolumnwidth=i.resizablecolumn.column.width;i.resizablecolumn.column._width=null;b(document.body).addClass("jqx-disableselect");b(document.body).addClass("jqx-position-reset");i._mouseDownResize=new Date();i.resizing=true;i._resizecolumn=i.resizablecolumn.column;i.resizeline=i.resizeline||b('<div style="position: absolute;"></div>');i.resizestartline=i.resizestartline||b('<div style="position: absolute;"></div>');i.resizebackground=i.resizebackground||b('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>');i.resizebackground.css("opacity",0.01);i.resizebackground.css("cursor","col-resize");i.resizeline.css("cursor","col-resize");i.resizestartline.css("cursor","col-resize");i.resizeline.addClass(i.toThemeProperty("jqx-grid-column-resizeline"));i.resizestartline.addClass(i.toThemeProperty("jqx-grid-column-resizestartline"));b(document.body).append(i.resizeline);b(document.body).append(i.resizestartline);b(document.body).append(i.resizebackground);var n=i.resizablecolumn.columnelement.coord();i.resizebackground.css("left",i.host.coord().left);i.resizebackground.css("top",i.host.coord().top);i.resizebackground.width(i.host.width());i.resizebackground.height(i.host.height());i.resizebackground.css("z-index",999999999);var o=function(q){if(!i.rtl){q.css("left",parseInt(n.left)+i._startcolumnwidth)}else{q.css("left",parseInt(n.left))}var s=0;var t=i.showtoolbar?i.toolbarHeight:0;s+=t;var v=i.showstatusbar?i.statusBarHeight:0;s+=v;var r=i.showAggregates?i.aggregatesHeight:0;s+=r;if(i.pageable&&i.pagerPosition!="bottom"){s+=i.pagerHeight}if(i.filterable){s+=i.filter.height()}var p=0;if(i.pageable&&i.pagerPosition!="top"){p=i.pagerHeight}var u=i.hScrollBar.css("visibility")!="hidden"?i.scrollBarSize:0;q.css("top",parseInt(n.top));q.css("z-index",9999999999);if(i.columnGroups){q.height(i.host.height()+i.resizablecolumn.columnelement.height()-p-s-u-i.columnGroupslevel*i.columnsHeight)}else{q.height(i.host.height()-p-s-u)}q.show("fast")};o(i.resizeline);o(i.resizestartline);i.dragmousedown=null}});var f=function(){b(document.body).removeClass("jqx-disableselect");b(document.body).removeClass("jqx-position-reset");if(!i.resizing){return}i._mouseUpResize=new Date();var t=i._mouseUpResize-i._mouseDownResize;if(t<200){i.resizing=false;if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove()}return}i.resizing=false;if(i.disabled){return}var n=i.host.width();if(i.vScrollBar[0].style.visibility!="hidden"){n-=20}if(n<0){n=0}if(i._resizecolumn!=null&&i.resizeline!=null&&i.resizeline.css("display")=="block"){var u=parseInt(i.resizeline.css("left"));var o=parseInt(i.resizestartline.css("left"));var s=i._startcolumnwidth+u-o;if(i.rtl){var s=i._startcolumnwidth-u+o}var r=i._resizecolumn.width;i._resizecolumn.width=s;if(i._resizecolumn._percentagewidth!=undefined){i._resizecolumn._percentagewidth=(s/n)*100}for(var q=0;q<i._columns.length;q++){if(i._columns[q].datafield===i._resizecolumn.datafield){i._columns[q].width=i._resizecolumn.width;break}}var l=i.hScrollBar[0].style.visibility;var p=i._resizecolumn.displayfield;i._updatecolumnwidths();i.refresh();i._resizecolumn=null;i.resizeline.hide();i.resizestartline.hide();i.resizebackground.remove();i.resizablecolumn=null;i._raiseEvent("columnResized",{dataField:p,oldWidth:r,newWidth:s})}else{i.resizablecolumn=null}};try{if(document.referrer!=""||window.frameElement){var c=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){c=document.referrer}}if(c&&c.indexOf(document.location.host)!=-1){var h=function(l){f()};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",h,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",h)}}}}}catch(j){}this.removeHandler(b(document),e);this.addHandler(b(document),e,function(m){var l=b.data(document.body,"contextmenu"+i.element.id);if(l!=null&&i.autoshowcolumnsmenubutton){return true}f()})}},_updatecolumnwidths:function(){var k=this.host.width();var c=k;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){k-=parseInt(this.scrollBarSize)+6;c=k}var j="";if(this.columns==undefined||this.columns.records==undefined){return}var i=this;var h=false;b.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=i.vScrollBar[0].style.visibility=="hidden"?0:i.scrollBarSize+5;if(i.scrollBarSize==0){n=0}m=parseFloat(this.width)*c/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(c)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}k-=Math.round(m)}else{if(this.width!="auto"&&!this._width){k-=this.width}else{j+=this.text}}}});var f=this.columnsheader.find("#columntable"+this.element.id);if(f.length==0){return}var d=0;var g=f.find(".jqx-grid-column-header");var e=0;b.each(this.columns.records,function(n,q){var m=b(g[n]);var t=false;var s=this.width;var o=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){s=parseFloat(this._percentagewidth)*c/100}else{s=parseFloat(this.width)*c/100}s=Math.round(s);t=true}if(this.width!="auto"&&!this._width&&!t){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(t){if(s<this.minwidth&&this.minwidth!="auto"){s=this.minwidth;this.width=s}if(s>this.maxwidth&&this.maxwidth!="auto"){s=this.maxwidth;this.width=s}if(parseInt(m[0].style.width)!=s){m.width(s);this.width=s}}else{var l=Math.floor(k*(this.text.length/j.length));if(isNaN(l)){l=this.minwidth}var p=(k*(this.text.length/j.length))-l;d+=p;if(d>=1){d-=1;l++}if(d>=0.5&&n==i.columns.records.length-1){l++}if(l<0){var r=b("<span>"+this.text+"</span>");b(document.body).append(r);l=10+r.width();r.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=l;m.width(this.width)}}if(parseInt(m[0].style.left)!=e){m.css("left",e)}if(!(this.hidden)){e+=this.width}this._requirewidthupdate=true;if(o!==this.width){h=true}});this.columnsheader.width(2+e);f.width(this.columnsheader.width());this._resizecolumnGroups();if(h){this._renderrows()}if(this.showAggregates){this._refreshcolumnsaggregates()}},_rendercolumnheaders:function(){var r=this;if(this._updating){return}if(r.columns.records.length>r.headerZIndex){r.headerZIndex=r.columns.records.length+10}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var g=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');g[0].cells=new Array();var l=0;var h=0;var s="";var u=this.host.width();var f=u;var w=new Array();var t=new Array();b.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){u-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){u-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*f/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}u-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}u-=this.width}}}}else{s+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(r._haspinned){this.pinned=true}w[w.length]=this}else{t[t.length]=this}});if(!this.rtl){for(var o=0;o<w.length;o++){this.columns.replace(o,w[o])}for(var m=0;m<t.length;m++){this.columns.replace(w.length+m,t[m])}}else{var e=0;w.reverse();for(var o=this.columns.records.length-1;o>=this.columns.records.length-w.length;o--){this.columns.replace(o,w[e++])}for(var m=0;m<t.length;m++){this.columns.replace(m,t[m])}}var v=this.headerZIndex;var d=0;var n=r.columnsHeight;var q=function(j,k){var i=r.columnGroupslevel*r.columnsHeight;i=i-(k.level*r.columnsHeight);return i};var c=0;b.each(this.columns.records,function(K,I){this.height=r.columnsHeight;if(r.columnGroups){if(r.columnGroups.length){this.height=q(this.datafield,this);n=this.height}}var N=r.toTP("jqx-grid-column-header")+" "+r.toTP("jqx-widget-header");if(r.rtl){N+=" "+r.toTP("jqx-grid-column-header-rtl")}if(!r.enableBrowserSelection){N+=" "+r.toTP("jqx-disableselect")}var L=!r.rtl?250+v-1:250+v+1;var G=!r.rtl?v--:v++;var x=b('<div role="columnheader" style="z-index: '+G+';position: absolute; height: 100%;" class="'+N+'"><div style="height: 100%; width: 100%;"></div></div>');if(r.rtl&&K===0){x[0].style.borderLeftColor="transparent"}if(r.columnGroups){x[0].style.height=n+"px";x[0].style.bottom="0px";if(this.pinned){x[0].style.zIndex=L}}this.uielement=x;this.element=x;if(this.classname!=""&&this.classname){x.addClass(this.classname)}var C=this.width;var D=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){C=parseFloat(this._percentagewidth)*f/100}else{C=parseFloat(this.width)*f/100}C=Math.round(C);D=true}if(this.width!="auto"&&!this._width&&!D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}x[0].style.width=parseInt(C)+"px"}else{if(D){if(C<this.minwidth&&this.minwidth!="auto"){C=this.minwidth}if(C>this.maxwidth&&this.maxwidth!="auto"){C=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}x.width(C);this.width=C}else{var H=Math.floor(u*(this.text.length/s.length));var E=(u*(this.text.length/s.length))-H;c+=E;if(c>=1){c-=1;H++}if(c>=0.5&&K==r.columns.records.length-1){H++}if(isNaN(H)){H=this.minwidth}if(H<0){var F=b("<span>"+this.text+"</span>");b(document.body).append(F);H=10+F.width();F.remove()}if(H<this.minwidth){H=this.minwidth}if(H>this.maxwidth){H=this.maxwidth}this._width="auto";this.width=parseInt(H);C=this.width;x.width(this.width)}}if(this.hidden){x.css("display","none")}var k=b(x.children()[0]);g[0].cells[K]=x[0];var p=false;var J=false;var z=this.renderer!=null?this.renderer(this.text,this.align,n):r._rendercolumnheader(this.text,this.align,n,r);if(z==null){z=r._rendercolumnheader(this.text,this.align,n,r)}if(this.renderer!=null){z=b(z)}p=true;if(r.WinJS){MSApp.execUnsafeLocalFunction(function(){k.append(b(z))})}else{if(this.renderer){k.append(b(z))}else{if(z){k[0].innerHTML=z}}}if(z!=null){var B=b('<div class="iconscontainer" style="height: '+n+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortascbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+r.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+r.toTP("jqx-grid-column-sortdescbutton")+'" style="width: 100%; height:100%;"></div></div></div>');k.append(B);var O=B.children();this.sortasc=O[1];this.sortdesc=O[2];this.filtericon=O[0];this.iconscontainer=B;if(r.rtl){B.css("margin-left","0px");B.css("left","0px");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}}g.append(x);if(r.columnsReorder&&this.draggable&&r._handlecolumnsdragreorder){r._handlecolumnsdragreorder(this,x)}var M=this;r.addHandler(x,"click",function(i){if(M.checkboxcolumn){return true}if(r._togglesort){if(!r._loading){r._togglesort(M)}}i.preventDefault()});if(r.columnsResize&&!J){var y=false;var j="mousemove";if(r.isTouchDevice()){y=true;j=b.jqx.mobile.getTouchEventName("touchstart")}r.addHandler(x,j,function(P){if(!M.resizable){r.resizablecolumn=null;return true}var i=parseInt(P.pageX);var R=5;var U=parseInt(x.coord().left);if(r.hasTransform){U=b.jqx.utilities.getOffset(x).left}if(r._handlecolumnsResize){if(y){var Q=b.jqx.mobile.getTouches(P);var T=Q[0];i=T.pageX;R=40;if(i>=U+M.width-R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize")}else{x.css("cursor","");r.resizablecolumn=null}return true}var S=M.width;if(r.rtl){S=0}if(i>=U+S-R){if(i<=U+S+R){r.resizablecolumn={columnelement:x,column:M};x.css("cursor","col-resize");return false}else{x.css("cursor","");r.resizablecolumn=null}}else{x.css("cursor","");if(i<U+S-R){if(!M._animating&&!M._menuvisible){x.mouseenter()}}r.resizablecolumn=null}}})}x.css("left",h);if(!(this.hidden)){h+=C}if(M.rendered){var A=M.rendered(b(k[0].firstChild),M.align,n);if(A&&B!=null){B.hide()}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}this.columnsrow=g;r.columnsheader.append(g);g.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsReorder){this._handlecolumnsReorder()}if(this._handlecolumnsResize){this._handlecolumnsResize()}if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var o=0;for(var l=0;l<this.columns.records.length;l++){if(this.columns.records[l].pinned){o++}}var t=this.headerZIndex-o+this.columns.records.length;var n=this;var g=n.toTP("jqx-grid-column-header")+" "+n.toTP("jqx-grid-columngroup-header")+" "+n.toTP("jqx-widget-header");if(n.rtl){g+=" "+n.toTP("jqx-grid-columngroup-header-rtl")}var e=this.columnsheader.find("#columntable"+this.element.id);e.find("jqx-grid-columngroup-header").remove();for(var h=0;h<this.columnGroupslevel-1;h++){for(var l=0;l<this.columnGroups.length;l++){var q=this.columnGroups[l];var c=q.level;if(c!==h){continue}var p=c*this.columnsHeight;var d=99999;if(q.groups){var s=function(w){var v=0;for(var u=0;u<w.groups.length;u++){var i=w.groups[u];if(!i.groups){if(!i.hidden){v+=i.width;d=Math.min(parseInt(i.element[0].style.left),d)}}else{v+=s(i)}}return v};q.width=s(q);q.left=d;var r=this.columnsHeight;var m=t--;var f=b('<div role="columnheader" style="z-index: '+m+';position: absolute;" class="'+g+'"></div>');var k=b(this._rendercolumnheader(q.text,q.align,this.columnsHeight,this));f.append(k);f[0].style.left=d+"px";if(d===0){f[0].style.borderLeftColor="transparent"}f[0].style.top=p+"px";f[0].style.height=r+"px";f[0].style.width=-1+q.width+"px";e.append(f);q.element=f}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var d=0;d<this.columnGroups.length;d++){var j=this.columnGroups[d];var k=j.level;var h=k*this.columnsHeight;var g=99999;if(j.groups){var f=function(n){var m=0;for(var l=0;l<n.groups.length;l++){var i=n.groups[l];if(!i.groups){if(!i.hidden){m+=i.width;g=Math.min(parseInt(i.element[0].style.left),g)}}else{m+=f(i)}}return m};j.width=f(j);j.left=g;var c=this.columnsHeight;var e=j.element;e[0].style.left=g+"px";e[0].style.top=h+"px";e[0].style.height=c+"px";e[0].style.width=-1+j.width+"px"}}},_removecolumnhandlers:function(f){var d=this;var c=b(f.element);if(c.length>0){d.removeHandler(c,"mouseenter");d.removeHandler(c,"mouseleave");var e=b(f.filtericon);d.removeHandler(e,"mousedown");d.removeHandler(e,"click");d.removeHandler(c,"click")}},_calculateaggregate:function(k,o,d,h){if(!k.datafield){return null}var e=k.aggregates;if(!e){e=o}if(e){var f=new Array();for(var n=0;n<e.length;n++){if(e[n]=="count"){continue}f[f.length]=k.cellsFormat}if(this.source&&this.source.getAggregatedData){if(h==undefined){h=this.getRows();if(this.dataViewRecords){h=this.dataViewRecords}}var s=h;var c=-1;if(this.treeGrid){var q=new Array();var r=function(u){for(var t=0;t<u.length;t++){if(u[t]==undefined){continue}if(c==-1){c=u[t].level}if(!u[t].aggregate){q.push(u[t])}if(!u[t].leaf&&u[t].records&&u[t].records.length>0){r(u[t].records)}}};r(h);h=q}if(this.treeGrid&&this.filterable&&this.dataview.filters.length>0){var p=new Array();for(var n=0;n<h.length;n++){if(h[n]&&h[n]._visible!==false){p.push(h[n])}}h=p;var l=new Array();for(var n=0;n<s.length;n++){if(s[n]&&s[n]._visible!==false){l.push(s[n])}}s=l}if(d==undefined||d==true){var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,h,c);if(this.treeGrid){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){if(m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}}return m}else{var m=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,h,c);if(this.treeGrid&&m){if(m[k.datafield].sum!=undefined||m[k.datafield].avg!=undefined){var g=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if(g==0||c>=g){var j=this.source.getAggregatedData([{name:k.datafield,aggregates:e}],this.gridlocalization,s,c);if(m[k.datafield].sum!=undefined){m[k.datafield].sum=j[k.datafield].sum}if(m[k.datafield].avg!=undefined){m[k.datafield].avg=j[k.datafield].avg}}}}return m}}}return null},getcolumnaggregateddata:function(d,h,i,e){var f=this.getColumn(d);if(!f){return""}var k=(i==undefined||i==false)?false:i;if(h==null){return""}var c=f.aggregates;f.aggregates=null;var j=this._calculateaggregate(f,h,k,e);var g={};if(j){g=j[d];f.aggregates=c}return g},_updatecolumnaggregates:function(e,h,c){var f=this;if(!h){c.children().remove();c.html("");if(e.aggregatesRenderer){var g={};if(e.aggregates){g=this.getcolumnaggregateddata(e.datafield,e.aggregates)}var d=e.aggregatesRenderer({},e,c,null);c.html(d)}return}c.children().remove();c.html("");if(e.aggregatesRenderer){if(h){var d=e.aggregatesRenderer(h[e.datafield],e,c,this.getcolumnaggregateddata(e.datafield,e.aggregates),"aggregates");c.html(d)}}else{b.each(h,function(){var j=this;for(g in j){var k=b('<div style="position: relative; margin: 4px; overflow: hidden;"></div>');var i=g;i=f._getaggregatename(i);k.html(i+":"+j[g]);if(f.rtl){k.addClass(f.toThemeProperty("jqx-rtl"))}c.append(k)}})}},_getaggregatetype:function(d){switch(d){case"min":case"max":case"count":case"avg":case"product":case"var":case"varp":case"stdev":case"stdevp":case"sum":return d}var c=d;for(var e in d){c=e;break}return c},_getaggregatename:function(d){var c=d;switch(d){case"min":c="Min";break;case"max":c="Max";break;case"count":c="Count";break;case"avg":c="Avg";break;case"product":c="Product";break;case"var":c="Var";break;case"stdevp":c="StDevP";break;case"stdev":c="StDev";break;case"varp":c="VarP";case"sum":c="Sum";break}if(d===c&&typeof(c)!="string"){for(var e in d){c=e;break}}return c},_updatecolumnsaggregates:function(){var g=this.getRows();if(this.dataViewRecords){g=this.dataViewRecords}var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){for(var f=0;f<c;f++){var h=b(this.aggregates[0].cells[f]);var e=this.columns.records[f];var d=this._calculateaggregate(e,null,true,g);this._updatecolumnaggregates(e,d,h)}}},_refreshcolumnsaggregates:function(){var c=this.columns.records.length;if(undefined!=this.aggregates[0].cells){var f=0;for(var e=0;e<c;e++){var g=b(this.aggregates[0].cells[e]);var d=this.columns.records[e];if(g){g.width(d.width);g[0].style.left=f+"px";if(!(d.hidden&&d.hideable)){f+=d.width}else{g.css("display","none")}}}}},_updateaggregates:function(){var c=b('<div style="position: relative;" id="statusrow'+this.element.id+'"></div>');var f=0;var m=this.columns.records.length;var l=this.toThemeProperty("jqx-grid-cell");if(this.rtl){l+=" "+this.toThemeProperty("jqx-grid-cell-rtl");f=0;c.css("border-left-width","0px");this.aggregates.css("border-left-color","transparent")}l+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var n=m+10;var o=new Array();this.aggregates[0].cells=o;for(var h=0;h<m;h++){var g=this.columns.records[h];var i=this._calculateaggregate(g);var d=g.width;if(d<g.minwidth){d=g.minwidth}if(d>g.maxwidth){d=g.maxwidth}var e=l;if(g.cellsalign){e+=" "+this.toThemeProperty("jqx-"+g.cellsalign+"-align")}var k=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+e+'"></div>');c.append(k);k.css("left",f);if(!this.rtl){k.css("z-index",n--)}else{k.css("z-index",n++);if(h==0){k.css("border-left-width","0px")}}k.width(d);k[0].style.left=f+"px";if(!(g.hidden&&g.hideable)){f+=d}else{k.css("display","none")}o[o.length]=k[0];this._updatecolumnaggregates(g,i,k)}if(b.jqx.browser.msie&&b.jqx.browser.version<8){c.css("z-index",n--)}c.width(parseInt(f)+2);c.height(this.aggregatesHeight);this.aggregates.children().remove();this.aggregates.append(c);this.aggregates.removeClass(this.toThemeProperty("jqx-widget-header"));this.aggregates.addClass(l);this.aggregates.css("border-bottom-color","transparent");this.aggregates.css("border-top-width","1px");if(this.rtl&&this.hScrollBar.css("visibility")!="hidden"){this._renderhorizontalscroll()}},destroy:function(){var h=this;if(h.columns&&h.columns.records){for(var f=0;f<h.columns.records.length;f++){h._removecolumnhandlers(h.columns.records[f])}}h.removeHandler(b(document),"mouseup.pagerbuttonstop");h.removeHandler(b(document),"mouseup.pagerbuttonsbottom");h.removeHandler(h.content,"scroll");h.removeHandler(h.content,"mousedown");h.removeHandler(b(document),"mousedown.gridedit"+h.element.id);var g="mousemove.resize"+h.element.id;var c="mousedown.resize"+h.element.id;var e="mouseup.resize"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);var g="mousemove.reorder"+h.element.id;var c="mousedown.reorder"+h.element.id;var e="mouseup.reorder"+h.element.id;h.removeHandler(b(document),g);h.removeHandler(b(document),c);h.removeHandler(b(document),e);if(h.filterable){if(h.filterrow){for(var f=0;f<h.filterrow[0].cells.length;f++){var k=h.filterrow[0].cells[f];var j=b(k).find(".filterconditions");var d=h.columns.records[f];if(j.length>0){j.jqxDropDownList("destroy")}}}if(h.filtercolumnsList){h.filtercolumnsList.jqxDropDownList("destroy")}}if(h.pageable){if(h.pagershowrowscombotop&&h.pagershowrowscombotop.jqxDropDownList){h.pagershowrowscombotop.jqxDropDownList("destroy")}if(h.pagershowrowscombobottom&&h.pagershowrowscombobottom.jqxDropDownList){h.pagershowrowscombobottom.jqxDropDownList("destroy")}var l=h.pagerbuttonsbottom.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();var l=h.pagerbuttonstop.find("a");h.removeHandler(l,"click");h.removeHandler(l,"mouseenter");h.removeHandler(l,"mouseleave");l.remove();if(h.pagernexttop){h.pagernexttop.jqxButton("destroy");h.pagerprevioustop.jqxButton("destroy");h.pagernextbottom.jqxButton("destroy");h.pagerpreviousbottom.jqxButton("destroy");h.pagerfirsttop.jqxButton("destroy");h.pagerfirstbottom.jqxButton("destroy");h.pagerlasttop.jqxButton("destroy");h.pagerlastbottom.jqxButton("destroy")}}h._removeHandlers();h.vScrollBar.jqxScrollBar("destroy");h.hScrollBar.jqxScrollBar("destroy");delete h.vScrollBar;delete h.hScrollBar;delete h._mousewheelfunc;b.jqx.utilities.resize(h.host,null,true);h.host.remove()},propertiesChangedHandler:function(c,d,e){if(e.width&&e.height&&Object.keys(e).length==2){c.refresh()}},propertyChangedHandler:function(e,l,d,k){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}if(k!==d){if(l=="filterable"){e._render()}else{if(l==="height"){e.host.height(e.height);e.host.width(e.width);e._updatesize(false,true)}else{if(l==="width"){e.host.height(e.height);e.host.width(e.width);e._updatesize(true,false)}else{if(l==="source"){e.updateBoundData()}else{if(l==="columnGroups"){e._render()}else{if(l==="columns"){e._columns=null;e._render()}else{if(l==="rtl"){e.content.css("left","");e.columns=e._columns;e.vScrollBar.jqxScrollBar({rtl:k});e.hScrollBar.jqxScrollBar({rtl:k});e._render()}else{if(l==="pagerMode"){e.pagerMode=k;e._initpager()}else{if(l=="pageSizeOptions"){e._initpager();var j=false;for(var f=0;f<k.length;f++){if(parseInt(k[f])==e.pageSize){j=true;break}}if(!j){b.jqx.set(e,[{pageSize:k[0]}])}}else{if(l=="pageSize"){var g=e.dataview.pagenum*e.dataview.pagesize;e.dataview.pagesize=e.pageSize;var h=Math.floor(g/e.dataview.pagesize);if(h!==e.dataview.pagenum||parseInt(k)!==parseInt(d)){e._raiseEvent("pageSizeChanged",{pagenum:k,oldpageSize:d,pageSize:e.dataview.pagesize});var m=e.goToPage(h);if(!m){if(!e.serverProcessing){e.refresh()}else{e.updateBoundData("pager")}}}}else{if(l==="pagerPosition"){e.refresh()}else{if(l==="selectionMode"){e.selectionMode=k.toLowerCase()}else{if(l=="touchmode"){e.touchDevice=null;e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:k});e.hScrollBar.jqxScrollBar({touchMode:k});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._renderrows();e._addHandlers()}else{if(l=="enableHover"){return}else{if(l=="disabled"){if(k){e.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(e.pageable){if(e.pagernexttop){e.pagernexttop.jqxButton({disabled:k});e.pagerprevioustop.jqxButton({disabled:k});e.pagernextbottom.jqxButton({disabled:k});e.pagerpreviousbottom.jqxButton({disabled:k});e.pagerfirsttop.jqxButton({disabled:k});e.pagerfirstbottom.jqxButton({disabled:k});e.pagerlasttop.jqxButton({disabled:k});e.pagerlastbottom.jqxButton({disabled:k});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({disabled:false});e.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}e.host.find(".jqx-grid-pager-number").css("cursor",k?"default":"pointer")}e.host.find(".jqx-grid-group-collapse").css("cursor",k?"default":"pointer");e.host.find(".jqx-grid-group-expand").css("cursor",k?"default":"pointer")}else{if(l=="columnsHeight"){e._render()}else{if(l=="theme"){b.jqx.utilities.setTheme(d,k,e.host);e.vScrollBar.jqxScrollBar({theme:e.theme});e.hScrollBar.jqxScrollBar({theme:e.theme});if(e.pageable&&e.pagernexttop){e.pagernexttop.jqxButton({theme:e.theme});e.pagerprevioustop.jqxButton({theme:e.theme});e.pagernextbottom.jqxButton({theme:e.theme});e.pagerpreviousbottom.jqxButton({theme:e.theme});e.pagerfirsttop.jqxButton({theme:e.theme});e.pagerfirstbottom.jqxButton({theme:e.theme});e.pagerlasttop.jqxButton({theme:e.theme});e.pagerlastbottom.jqxButton({theme:e.theme});if(e.pagershowrowscombotop.jqxDropDownList){if(e.pagerMode=="advanced"){e.pagershowrowscombotop.jqxDropDownList({theme:e.theme});e.pagershowrowscombobottom.jqxDropDownList({theme:e.theme})}}}if(e.filterable){var c=b(".filterconditions");if(c.length>0){c.jqxDropDownList({theme:e.theme})}if(e.filtercolumnsList){e.filtercolumnsList.jqxDropDownList({theme:e.theme})}}e.refresh()}else{e.refresh()}}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(f,g,c,d){var e="4px";if(d.columnGroups){e=(c/2-this._columnheight/2);if(e<0){e=4}e+="px"}else{if(this.columnsHeight!=25){e=(this.columnsHeight/2-this._columnheight/2);if(e<0){e=4}e+="px"}}return'<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+g+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+e+"; margin-top: "+e+';"><span style="text-overflow: ellipsis; cursor: default;">'+f+"</span></div>"}});function a(c,d){this.owner=c;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.aggregates=null;this.aggregatesRenderer=null;this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(e,f){if(this[e]){var g=this[e];this[e]=f;this.owner._columnPropertyChanged(this,e,f,g)}else{if(this[e.toLowerCase()]){var g=this[e.toLowerCase()];this[e.toLowerCase()]=f;this.owner._columnPropertyChanged(this,e.toLowerCase(),f,g)}}};this._initfields=function(f){if(f!=null){var e=this;if(b.jqx.hasProperty(f,"dataField")){this.datafield=b.jqx.get(f,"dataField")}if(b.jqx.hasProperty(f,"displayField")){this.displayfield=b.jqx.get(f,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"validation")){this.validation=b.jqx.get(f,"validation")}if(b.jqx.hasProperty(f,"autoCellHeight")){this.autoCellHeight=b.jqx.get(f,"autoCellHeight")}if(b.jqx.hasProperty(f,"text")){this.text=b.jqx.get(f,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(f,"sortable")){this.sortable=b.jqx.get(f,"sortable")}if(b.jqx.hasProperty(f,"hidden")){this.hidden=b.jqx.get(f,"hidden")}if(b.jqx.hasProperty(f,"groupable")){this.groupable=b.jqx.get(f,"groupable")}if(b.jqx.hasProperty(f,"renderer")){this.renderer=b.jqx.get(f,"renderer")}if(b.jqx.hasProperty(f,"align")){this.align=b.jqx.get(f,"align")}if(b.jqx.hasProperty(f,"cellsAlign")){this.cellsalign=b.jqx.get(f,"cellsAlign")}if(b.jqx.hasProperty(f,"cellsFormat")){this.cellsFormat=b.jqx.get(f,"cellsFormat")}if(b.jqx.hasProperty(f,"width")){this.width=b.jqx.get(f,"width")}if(b.jqx.hasProperty(f,"minWidth")){this.minwidth=b.jqx.get(f,"minWidth")}if(b.jqx.hasProperty(f,"maxWidth")){this.maxwidth=b.jqx.get(f,"maxWidth")}if(b.jqx.hasProperty(f,"cellsRenderer")){this.cellsRenderer=b.jqx.get(f,"cellsRenderer")}if(b.jqx.hasProperty(f,"columnType")){this.columntype=b.jqx.get(f,"columnType")}if(b.jqx.hasProperty(f,"pinned")){this.pinned=b.jqx.get(f,"pinned")}if(b.jqx.hasProperty(f,"filterable")){this.filterable=b.jqx.get(f,"filterable")}if(b.jqx.hasProperty(f,"filter")){this.filter=b.jqx.get(f,"filter")}if(b.jqx.hasProperty(f,"resizable")){this.resizable=b.jqx.get(f,"resizable")}if(b.jqx.hasProperty(f,"draggable")){this.draggable=b.jqx.get(f,"draggable")}if(b.jqx.hasProperty(f,"editable")){this.editable=b.jqx.get(f,"editable")}if(b.jqx.hasProperty(f,"initEditor")){this.initeditor=b.jqx.get(f,"initEditor")}if(b.jqx.hasProperty(f,"createEditor")){this.createeditor=b.jqx.get(f,"createEditor")}if(b.jqx.hasProperty(f,"destroyEditor")){this.destroyeditor=b.jqx.get(f,"destroyEditor")}if(b.jqx.hasProperty(f,"getEditorValue")){this.geteditorvalue=b.jqx.get(f,"getEditorValue")}if(b.jqx.hasProperty(f,"className")){this.classname=b.jqx.get(f,"className")}if(b.jqx.hasProperty(f,"cellClassName")){this.cellclassname=b.jqx.get(f,"cellClassName")}if(b.jqx.hasProperty(f,"aggregates")){this.aggregates=b.jqx.get(f,"aggregates")}if(b.jqx.hasProperty(f,"aggregatesRenderer")){this.aggregatesRenderer=b.jqx.get(f,"aggregatesRenderer")}if(b.jqx.hasProperty(f,"rendered")){this.rendered=b.jqx.get(f,"rendered")}if(b.jqx.hasProperty(f,"exportable")){this.exportable=b.jqx.get(f,"exportable")}if(b.jqx.hasProperty(f,"nullable")){this.nullable=b.jqx.get(f,"nullable")}if(b.jqx.hasProperty(f,"columnGroup")){this.columngroup=b.jqx.get(f,"columnGroup")}if(!f instanceof String&&!(typeof f=="string")){for(var g in f){if(!e.hasOwnProperty(g)){if(!e.hasOwnProperty(g.toLowerCase())){c.host.remove();throw new Error("jqxDataTable: Invalid property name - "+g+".")}}}}}};this._initfields(d);return this}b.jqx.dataCollection=function(c){this.records=new Array();this.owner=c;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(e,d){this.records[e]=d};this.isempty=function(d){if(this.records[d]==undefined){return true}return false};this.initialize=function(d){if(d<1){d=1}this.records[d-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(d){return this.records.indexOf(d)};this.add=function(d){if(d==null){return false}this.records[this.records.length]=d;return true};this.insertAt=function(e,d){if(e==null||e==undefined){return false}if(d==null){return false}if(e>=0){if(e<this.records.length){this.records.splice(e,0,d);return true}else{return this.add(d)}}return false};this.remove=function(e){if(e==null||e==undefined){return false}var d=this.records.indexOf(e);if(d!=-1){this.records.splice(d,1);return true}return false};this.removeAt=function(e){if(e==null||e==undefined){return false}if(e<0){return false}if(e<this.records.length){var d=this.records[e];this.records.splice(e,1);return true}return false};return this};b.jqx.dataView=function(){this.that=this;this.grid=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(y,p){var w=y._source?true:false;var g=null;this._sortData=null;this._sortHierarchyData=null;if(w){g=y;y=y._source}else{g=new b.jqx.dataAdapter(y,{autoBind:false})}var e=function(m){g.recordids=[];g.records=new Array();g.cachedrecords=new Array();g.originaldata=new Array();g._options.totalrecords=m.totalrecords;g._options.originaldata=m.originaldata;g._options.recordids=m.recordids;g._options.cachedrecords=new Array();g._options.pagenum=m.pagenum;g._options.pageable=m.pageable;if(y.type!=undefined){g._options.type=y.type}if(y.formatdata!=undefined){g._options.formatData=y.formatdata}if(y.contenttype!=undefined){g._options.contentType=y.contenttype}if(y.async!=undefined){g._options.async=y.async}if(y.updaterow!=undefined){g._options.updaterow=y.updaterow}if(y.addrow!=undefined){g._options.addrow=y.addrow}if(y.deleterow!=undefined){g._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}g._options.pagesize=m.pagesize};var B=function(m){m.originaldata=g.originaldata;m.records=g.records;m.hierarchy=g.hierarchy;if(!m.grid.serverProcessing){m._sortData=null;m._sortfield=null;m._filteredData=null;m._sortHierarchyData=null}if(!m.hierarchy){m.hierarchy=new Array();g.hierarchy=new Array()}if(g._source.totalrecords){m.totalrecords=g._source.totalrecords}else{if(g._source.totalRecords){m.totalrecords=g._source.totalRecords}else{if(m.hierarchy.length!==0){m.totalrecords=m.hierarchy.length}else{m.totalrecords=m.records.length}}}m.cachedrecords=g.cachedrecords};e(this);this.source=y;if(p!==undefined){var k=p}var h=this;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){g.unbindBindingUpdate(h.grid.element.id);if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}var n=function(m){B(h);h.update()};n();g.bindBindingUpdate(h.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<this.filters.length;j++){var f=this.filters[j].datafield;var l=this.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[f+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=f;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var c=this.grid.getColumn(i[A].datafield);if(c&&c.cellsformat){var z=this.grid.source.formatDate(i[A].value,c.cellsformat,this.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=f;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=f;t.type=i[A].type;var d=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==f){r.filters.push(t);d=true;break}}}if(!d){C.push({field:f,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterslength=v;b.extend(E,{sortdatafield:h.sortfield,sortorder:h.sortfielddirection,pagenum:h.pagenum,pagesize:h.grid.pageSize});var F=g._options.data;if(g._options.data){b.extend(g._options.data,E)}else{if(y.data){b.extend(E,y.data)}g._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){B(h);h.update()};if(o){try{q()}catch(m){}}else{q()}};g.unbindDownloadComplete(h.grid.element.id);g.bindDownloadComplete(h.grid.element.id,n);g._source.loaderror=function(q,m,o){n()};if((!h.grid.autoBind&&h.grid.isInitialized)||h.grid.autoBind){g.dataBind()}g._options.data=F}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this.sortBy=function(e,c){var d=this;if(c==null){this.sortfield="";this.sortfielddirection="";return}if(c==undefined){c=true}if(c=="a"||c=="asc"||c=="ascending"||c==true){c=true}else{c=false}if(e=="constructor"){e=""}this.sortfield=e;this.sortfielddirection=c?"asc":"desc"};this._sort=function(d){if(!this.sortfield||!this.sortfielddirection){return d}if(this._sortfield==this.sortfield&&this._sortfielddirection==this.sortfielddirection&&this._sortData){return this._sortData}var g=this;var j=Object.prototype.toString;Object.prototype.toString=(typeof g.sortfield=="function")?g.sortfield:function(){return this[g.sortfield]};var f="";if(this.source.datafields){b.each(this.source.datafields,function(){if(this.name==g.sortfield){if(this.type){f=this.type}return false}})}var c=new Array();for(var e=0;e<d.length;e++){c.push(b.extend({originalRecord:d[e]},d[e]))}this._sortfield=this.sortfield;this._sortfielddirection=this.sortfielddirection;if(this.sortfielddirection==="desc"){var h=c.sort(function(k,i){return g._compare(k,i,f)}).reverse()}else{var h=c.sort(function(k,i){return g._compare(k,i,f)})}this._sortData=h;Object.prototype.toString=j;return h};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(b.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(b.jqx.dataFormat.isNumber(d)&&b.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(b.jqx.dataFormat.isDate(d)&&b.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!b.jqx.dataFormat.isNumber(d)&&!b.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(p){if(this.grid.serverProcessing){if(p){if(this.grid.source._source.id==""||this.grid.source._source.id==null){if(this.grid.pageable){var c=this.grid.pageSize*this.pagenum;this.grid.rowsByKey=new Array();var h=this;b.each(p,function(i){this.uid=c;h.grid.rowsByKey[this.uid]=this;c++})}}}return p}var d=new Array();if(this.filters.length){var j=new Array();var o=function(s,w){for(var u=0;u<s.length;u++){var v=s[u];v._visible=true;var q=undefined;for(var t=0;t<this.filters.length;t++){var r=this.filters[t].filter;var x=v[this.filters[t].datafield];var y=r.evaluate(x);if(q==undefined){q=y}else{if(r.operator=="or"){q=q||y}else{q=q&&y}}}v._visible=false;if(q||v.aggregate){v._visible=true;w.push(v);j[v.uid]=v}}};if(!this._filteredData){if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var n=new Array();var k=function(r,s){for(var q=0;q<s.length;q++){var t=s[q];n.push(t);if(t.records&&t.records.length>0){k(t,t.records)}}};k(null,p);o.call(this,n,d);for(var e=0;e<d.length;e++){var g=d[e];while(g.parent){var m=g.parent;if(!j[m.uid]){m._visible=true;j[m.uid]=m}g=m}}d=p}else{o.call(this,p,d)}this._filteredData=d;this.rows=d}else{this.rows=this._filteredData}}else{this.rows=p}if(this.source.hierarchy||(this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0)){var h=this;var l=new Array();this._sortData=null;var f=function(t,q){h._sortData=null;var r=null;if(h.source.hierarchy.groupingDataFields){if(q&&q.length>0&&q[0].level<h.source.hierarchy.groupingDataFields.length){r=new Array();for(var s=0;s<q.length;s++){r.push(b.extend({originalRecord:q[s]},q[s]))}}else{r=h._sort(q)}}else{r=h._sort(q)}if(t.records){t.records=r}else{t=t.concat(r)}for(var s=0;s<r.length;s++){if(r[s].records&&r[s].records.length){f(r[s],r[s].records)}}return t};if(this.sortfield||this.sortfielddirection){if(this._sortHierarchyData){l=this._sortHierarchyData}else{l=f(l,p)}this.rows=l;this._sortHierarchyData=l}}else{this.rows=this._sort(this.rows)}return this.rows};this.getid=function(j,d,e){if(b(j,d).length>0){return b(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=b(d).attr(j);if(c!=null&&c.toString().length>0){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.grid.rowsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.grid.rowsByKey[f+h];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.grid.rowsByKey["jqx"+f];if(!g){var g=this.grid.rowsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxdate.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdate.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdatetimeinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdatetimeinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxDateTimeInput","",{});a.extend(a.jqx._jqxDateTimeInput.prototype,{defineInstance:function(){var b={value:a.jqx._jqxDateTimeInput.getDateTime(new Date()),minDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),maxDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),min:new Date(1900,0,1),max:new Date(2100,0,1),rowHeaderWidth:25,enableViews:true,views:["month","year","decade"],selectableDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],change:null,changing:null,titleFormat:["MMMM yyyy","yyyy","yyyy","yyyy"],template:"default",columnHeaderHeight:20,titleHeight:30,firstDayOfWeek:0,showWeekNumbers:false,showTimeButton:false,cookies:false,cookieoptions:null,showFooter:false,formatString:"dd/MM/yyyy",width:200,height:25,dayNameFormat:"firstTwoLetters",textAlign:"left",readonly:false,culture:"default",activeEditor:null,showCalendarButton:true,openDelay:250,closeDelay:300,closeCalendarAfterSelection:true,isEditing:false,enableBrowserBoundsDetection:false,dropDownHorizontalAlignment:"left",dropDownVerticalAlignment:"bottom",enableAbsoluteSelection:false,disabled:false,buttonSize:21,animationType:"slide",dropDownWidth:"200px",restrictedDates:new Array(),dropDownHeight:"205px",dropDownContainer:"default",selectionMode:"default",renderMode:"full",rtl:false,timeRange:null,_editor:false,todayString:"Today",clearString:"Clear",popupZIndex:2000,allowNullDate:true,changeType:null,placeHolder:"",enableHover:true,hint:true,allowKeyboardDelete:true,localization:{backString:"Back",forwardString:"Forward",todayString:"Today",clearString:"Clear",calendar:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss"}}},events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","open","close","change"],aria:{"aria-valuenow":{name:"getDate",type:"date"},"aria-valuetext":{name:"getText",type:"string"},"aria-valuemin":{name:"min",type:"date"},"aria-valuemax":{name:"max",type:"date"},"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxDateTimeInput.prototype){return b}a.extend(true,this,b);this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0);this.minDate._setYear(1900);this.minDate._setMonth(1);this.minDate._setDay(1);this.minDate._setHours(1);this.minDate._setMinutes(1);this.minDate._setSeconds(1);this.minDate._setMilliseconds(1);this.maxDate._setYear(2100);this.maxDate._setMonth(1);this.maxDate._setDay(1);this.maxDate._setHours(1);this.maxDate._setMinutes(1);this.maxDate._setSeconds(1);this.maxDate._setMilliseconds(1);this.defaultMinDate=this.minDate;this.defaultMaxDate=this.maxDate;return b},createInstance:function(d){var l="";var k=this;if(!k.host.jqxCalendar){throw new Error("jqxDateTimeInput: Missing reference to jqxcalendar.js.")}if(k.formatString!="dd/MM/yyyy"){var g=k.formatString.split(" ");if(g&&g.length>1){var c="";for(var q=0;q<g.length;q++){if(g[q].length=="1"){c+=k._getFormatValue(g[q])}else{c+=g[q]}if(q<g.length-1){c+=" "}}k.formatString=c}}if(k.element.nodeName.toLowerCase()=="input"){var m=k.element.getAttribute("type");if(m){if(k.formatString=="dd/MM/yyyy"){if(m=="date"){k.formatString="d"}if(m=="datetime"){var h=k._getFormatValue("d")+" "+k._getFormatValue("t");k.formatString=h;k.showTimeButton=true}if(m=="time"){k.formatString="t";k.showTimeButton=true;k.showCalendarButton=false}}}k.field=k.element;if(k.field.getAttribute("min")){var n=new Date(k.field.getAttribute("min"));if(k._isValidDate(n)){k.min=n}}if(k.field.getAttribute("max")){var p=new Date(k.field.getAttribute("max"));if(k._isValidDate(p)){k.max=p}}if(k.field.className){k._className=k.field.className}var j={title:k.field.title};if(k.field.value){j.value=k.field.value}if(k.field.id.length){j.id=k.field.id.replace(/[^\w]/g,"_")+"_jqxDateTimeInput"}else{j.id=a.jqx.utilities.createId()+"_jqxDateTimeInput"}var f=a("<div></div>",j);f[0].style.cssText=k.field.style.cssText;if(!k.width){k.width=a(k.field).width()}if(!k.height){k.height=a(k.field).outerHeight()}a(k.field).hide().after(f);var u=k.host.data();k.host=f;k.host.data(u);k.element=f[0];k.element.id=k.field.id;k.field.id=j.id;if(k._className){k.host.addClass(k._className);a(k.field).removeClass(k._className)}if(k.field.tabIndex){var e=k.field.tabIndex;k.field.tabIndex=-1;k.element.tabIndex=e}}if(k.host.attr("value")){l=true;var v=k.host.attr("value");if(k.selectionMode!="range"){var r=new Date(v);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}if(k.value!=null&&k.value instanceof Date){k.value=a.jqx._jqxDateTimeInput.getDateTime(k.value)}else{if(k.value!=null&&typeof(k.value)=="string"){var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}else{if(k.value.indexOf(",")>=0){k.value=k.value.replace(/\,/g,"/");var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}}}this._initTimeRange();this._validateTimeRange();k.host.attr("data-role","input");k.render();a.jqx.aria(this);if(k.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+k.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}if(k.minDate!==k.defaultMinDate){k.min=k.minDate}if(k.maxDate!==k.defaultMaxDate){k.max=k.maxDate}k.setMaxDate(k.max,false);k.setMinDate(k.min,false);if(k.selectionMode!=="range"&&k.value&&k.value.dateTime&&k.min&&k.max&&(k.value.dateTime<k.min||k.value.dateTime>k.max)){if(k.value.dateTime<k.min){k.value.dateTime=k.min}if(k.value.dateTime>k.max){k.value.dateTime=k.max}k._updateText()}if(k.selectionMode=="range"){if(l){var v=k.host.attr("value");var t=v.substring(0,v.indexOf("-"));var s=v.substring(v.indexOf("-")+1);var o=new Date(t);var b=new Date(s);if(o!=undefined&&!isNaN(o)){if(b!=undefined&&!isNaN(b)){k.setRange(o,b)}}}else{if(k.getDate()!=null){k.setRange(k.getDate(),k.getDate())}}}},_validateTimeRange:function(){if(this.timeRange){var b=this.value.dateTime.getHours();var c=this.value.dateTime.getMinutes();if(b<=this.timeRange.minHour){this.value._setHours(this.timeRange.minHour);if(c<this.timeRange.minMinute){this.value._setMinutes(this.timeRange.minMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}if(b>=this.timeRange.maxHour){this.value._setHours(this.timeRange.maxHour);if(c>this.timeRange.maxMinute){this.value._setMinutes(this.timeRange.maxMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}}},_initTimeRange:function(){if(this.timeRange){if(this.timeRange.min){var c=null;if(this.timeRange.min.indexOf("AM")>=0||this.timeRange.min.indexOf("PM")>=0){c=this.timeRange.min.indexOf("AM")>=0?"AM":"PM"}var d=this.timeRange.min.split(":");var b=parseInt(d[0]);var f=parseInt(d[1]);if(c){this.timeRange.minDefaultHour=b;this.timeRange.minMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.minHour=b;this.timeRange.minMinute=f}if(this.timeRange.max){var c=null;if(this.timeRange.max.indexOf("AM")>=0||this.timeRange.max.indexOf("PM")>=0){c=this.timeRange.max.indexOf("AM")>=0?"AM":"PM"}var e=this.timeRange.max.split(":");var b=parseInt(e[0]);var f=parseInt(e[1]);if(c){this.timeRange.maxDefaultHour=b;this.timeRange.maxMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.maxHour=b;this.timeRange.maxMinute=f}}},_format:function(d,e,b){var f=false;try{if(window.Globalize!=undefined){f=true}if(document.Globalize){window.Globalize=document.Globalize;f=true}}catch(c){if(document.Globalize){window.Globalize=document.Globalize;f=true}}if(document.Globalize){window.Globalize=document.Globalize;f=true}if(a.global){return a.global.format(d,e,this.culture)}else{if(f){try{var e=window.Globalize.format(d,e,this.culture);return e}catch(c){return window.Globalize.format(d,e)}}else{if(a.jqx.dataFormat){if(d instanceof Date){return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}else{if(typeof d==="number"){return a.jqx.dataFormat.formatnumber(d,e,this.localization.calendar)}else{return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}}}else{throw new Error("jqxDateTimeInput: Missing reference to globalize.js.")}}}},render:function(){var k=this;k._removeHandlers();k.element.innerHTML="";k.host.attr({role:"textbox"});k.id=a.jqx.utilities.createId();var f=a.jqx.utilities.createId();var j=a.jqx.utilities.createId();k._setSize();if(k.width==null){k.width=k.host.width();k.host.width(k.width)}k.touch=a.jqx.mobile.isTouchDevice();var c=a("<div class='jqx-max-size jqx-position-relative'></div>").appendTo(k.host);k.dateTimeInput=a("<input style='border: none; padding-left: 3px; padding-right: 3px;' class='jqx-position-absolute' id='input"+k.element.id+"' autocomplete='off' type='textarea'/>").appendTo(c);k.dateTimeInput.addClass(k.toThemeProperty("jqx-reset"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-clear"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-widget-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-rc-all"));if(!k.isMaterialized()){k.dateTimeInput.attr("placeHolder",k.placeHolder)}if(k.renderMode!="full"){k.dateTimeInput.remove()}var d=k.host.attr("name");if(d){k.dateTimeInput.attr("name",d)}if(k.host.attr("tabindex")){k.dateTimeInput.attr("tabindex",k.host.attr("tabindex"));k.host.removeAttr("tabindex")}if(k.rtl){k.dateTimeInput.css("direction","rtl");k.dateTimeInput.addClass("jqx-rtl")}k.calendarButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.calendarButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.calendarButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.calendarButtonIcon=a(k.calendarButton.children()[0]);k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon-calendar"));k.calendarButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){if(!k.showTimeButton){k.calendarButton.addClass(k.toThemeProperty("jqx-rc-r"))}}else{k.calendarButton.addClass(k.toThemeProperty("jqx-rc-l"))}k.timeButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.timeButtonIcon=a(k.timeButton.children()[0]);k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon-time"));k.timeButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-rc-r"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-rc-l"))}var m=this;k._arrange();if(a.jqx._jqxCalendar!=null&&a.jqx._jqxCalendar!=undefined){try{var i="calendar"+k.id;var h=a(a.find("#"+i));if(h.length>0){h.remove()}a.jqx.aria(this,"aria-owns",i);a.jqx.aria(this,"aria-haspopup",true);a.jqx.aria(this,"aria-readonly",k.selectionMode=="range"?true:false);var b=a("<div style='overflow: hidden; background: transparent; position: absolute;' id='calendar"+k.id+"'><div id='innerCalendar"+k.id+"'></div><div id='innerTime"+k.id+"'></div></div>");if(a.jqx.utilities.getBrowser().browser=="opera"){b.hide()}if(k.dropDownContainer=="element"){b.appendTo(k.host)}else{b.appendTo(document.body)}k.container=b;k.calendarContainer=a(a.find("#innerCalendar"+k.id)).jqxCalendar({titleFormat:this.titleFormat,restrictedDates:this.restrictedDates,changing:k.changing,change:k.change,enableViews:k.enableViews,selectableDays:k.selectableDays,views:k.views,rowHeaderWidth:k.rowHeaderWidth,titleHeight:k.titleHeight,columnHeaderHeight:k.columnHeaderHeight,_checkForHiddenParent:false,enableAutoNavigation:false,canRender:false,localization:k.localization,todayString:k.todayString,clearString:k.clearString,dayNameFormat:k.dayNameFormat,rtl:k.rtl,culture:k.culture,showFooter:k.showFooter,selectionMode:k.selectionMode,firstDayOfWeek:k.firstDayOfWeek,showWeekNumbers:k.showWeekNumbers,width:k.dropDownWidth,height:k.dropDownHeight,theme:k.theme});if(k.dropDownContainer=="element"){k.calendarContainer.css({position:"absolute",top:0,left:0})}else{k.calendarContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0})}k.calendarContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.calendarContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k.timeContainer=a(a.find("#innerTime"+k.id));k.timeContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0});k.timeContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.timeContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k._calendar=a.data(k.calendarContainer[0],"jqxCalendar").instance;var m=this;k._calendar.today=function(){m.today()};k._calendar.clear=function(){m.clear()};if(a.jqx.utilities.getBrowser().browser=="opera"){b.show()}b.height(parseInt(k.calendarContainer.height())+25);b.width(parseInt(k.calendarContainer.width())+25);if(k.selectionMode=="range"){k.readonly=true}if(k.animationType=="none"){k.container.css("display","none")}else{k.container.hide()}}catch(l){}}if(a.global){a.global.preferCulture(k.culture)}k.selectedText="";k._addHandlers();k.self=this;k.oldValue=k.getDate();k.items=new Array();k.editors=new Array();k._loadItems();k.editorText="";if(k.readonly==true){k.dateTimeInput.css("readonly",k.readonly)}k.dateTimeInput.css("text-align",k.textAlign);k.host.addClass(k.toThemeProperty("jqx-widget"));k.host.addClass(k.toThemeProperty("jqx-datetimeinput"));k.host.addClass(k.toThemeProperty("jqx-input"));k.host.addClass(k.toThemeProperty("jqx-overflow-hidden"));k.host.addClass(k.toThemeProperty("jqx-rc-all"));k.host.addClass(k.toThemeProperty("jqx-reset"));k.host.addClass(k.toThemeProperty("jqx-clear"));k.host.addClass(k.toThemeProperty("jqx-widget-content"));k.propertyChangeMap.disabled=function(e,p,o,q){if(q){e.host.addClass(m.toThemeProperty("jqx-input-disabled"));e.host.addClass(m.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(m.toThemeProperty("jqx-fill-state-disabled"));e.host.removeClass(m.toThemeProperty("jqx-input-disabled"))}a.jqx.aria(e,"aria-disabled",q)};if(k.disabled){k.host.addClass(k.toThemeProperty("jqx-input-disabled"));k.host.addClass(k.toThemeProperty("jqx-fill-state-disabled"));k.dateTimeInput.attr("disabled",true)}if(k.host.parents("form").length>0){k.addHandler(k.host.parents("form"),"reset",function(){setTimeout(function(){m.setDate(new Date())},10)})}if(k.cookies){var g=a.jqx.cookie.cookie("jqxDateTimeInput"+k.element.id);if(g!=null){k.setDate(new Date(g))}}if(a.jqx.browser.msie&&a.jqx.browser.version<8){if(k.host.parents(".jqx-window").length>0){var n=k.host.parents(".jqx-window").css("z-index");k.container.css("z-index",n+10);k.calendarContainer.css("z-index",n+10)}}if(k.culture!="default"){k._applyCulture()}if(k.value){if(k.calendarContainer.jqxCalendar("_isDisabled",k.value.dateTime)){k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-invalid"))}else{k.dateTimeInput.removeClass(k.toThemeProperty("jqx-input-invalid"))}}this._addBarAndLabel(this.dateTimeInput);this._updateHint(true);if(k.template){k.bar.addClass(k.toThemeProperty("jqx-"+k.template));k.label.addClass(k.toThemeProperty("jqx-"+k.template));k.timeButton.addClass(k.toThemeProperty("jqx-"+k.template));k.calendarButton.addClass(k.toThemeProperty("jqx-"+k.template))}this._setSize();this._arrange()},val:function(c){var b=this;if(arguments.length!=0){if(c==null){b.setDate(null)}if(b.selectionMode=="range"){b.setRange(arguments[0],arguments[1]);return b.getText()}if(c instanceof Date){b.setDate(c)}if(typeof(c)=="string"){if(c=="date"){return b.getDate()}b.setDate(c)}if(b._calendar.getDate()!=b.getDate()){b._calendar.setDate(b.getDate())}}return b.getText()},_setSize:function(){var b=window.getComputedStyle(this.element);var c=parseInt(b.borderLeftWidth)*2;var h=b.boxSizing;if(this.element.offsetWidth===0){c=2}if(h==="border-box"||isNaN(c)){c=0}if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.element.style.width=parseInt(this.width)-c+"px"}else{if(this.width!=undefined&&!isNaN(this.width)){this.element.style.width=parseInt(this.width)-c+"px"}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.element.style.height=parseInt(this.height)-c+"px"}else{if(this.height!=undefined&&!isNaN(this.height)){this.element.style.height=parseInt(this.height)-c+"px"}}var g=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){g=true;this.host.width(this.width);if(c>0){this.host.css("box-sizing","border-box")}}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){g=true;this.host.height(this.height)}var e=this;var f=function(){if(e.calendarContainer){e._arrange()}};if(g){if(this.calendarContainer){this._arrange();var d=this.host.width();if(this.dropDownWidth!="auto"){d=this.dropDownWidth}this.calendarContainer.jqxCalendar({width:d});this.container.width(parseInt(d)+25)}}a.jqx.utilities.resize(this.host,function(){f()})},_arrange:function(){if(this.height==null){this.height=27;this.host.height(27)}var e=parseInt(this.host.width());var m=parseInt(this.host.height());var i=window.getComputedStyle(this.element);var g=parseInt(i.borderLeftWidth)*2;var f=i.boxSizing;if(f==="border-box"||isNaN(g)){g=0}var k=this.buttonSize;var h=2;if(!this.showCalendarButton&&!this.showTimeButton){k=0;var l=0;this.calendarButton.hide();h=0}if(!this.showCalendarButton){this.calendarButton.hide()}else{this.calendarButton.show()}if(!this.showTimeButton){this.timeButton.hide()}else{this.timeButton.show()}var b=e-k-1*h;if(this.showTimeButton&&this.showCalendarButton){var b=e-2*k-1*h}else{if(this.showTimeButton||this.showCalendarButton){var b=e-k-1*h}}if(b>0){this.dateTimeInput[0].style.width=b+"px"}if(this.rtl){this.dateTimeInput[0].style.width=(-1+b+"px")}this.dateTimeInput[0].style.left="0px";this.dateTimeInput[0].style.top="0px";this.calendarButton[0].style.width=k+1+"px";this.calendarButton[0].style.left=1+b+"px";this.timeButton[0].style.width=k+1+"px";if(this.showCalendarButton){this.timeButton[0].style.left=1+this.calendarButton.width()+b+"px"}else{this.timeButton[0].style.left=1+b+"px"}if(this.renderMode!="full"){this.calendarButton[0].style.width="100%";this.calendarButton[0].style.left="0px";this.calendarButton.css("border","none");this.timeButton[0].style.width="100%";this.timeButton[0].style.left="0px";this.timeButton.css("border","none")}var d=this.dateTimeInput.height();if(d==0&&this.renderMode!="full"){d=parseInt(this.dateTimeInput.css("font-size"))+3;this.calendarButton.addClass(this.toThemeProperty("jqx-rc-all"));this.timeButton.addClass(this.toThemeProperty("jqx-rc-all"))}else{d=17}if(this.dateTimeInput[0].className.indexOf("jqx-rc-all")==-1){this.dateTimeInput.addClass(this.toThemeProperty("jqx-rc-all"))}var j=parseInt(m)/2-parseInt(d)/2;if(j>0){var n=this.dateTimeInput.css("font-size");if(""==n){n=13}var j=m-2-parseInt(n)-2;if(isNaN(j)){j=0}if(j<0){j=0}var c=j/2;if(a.jqx.browser.msie&&a.jqx.browser.version<8){c=j/4}this.dateTimeInput[0].style.paddingTop=Math.round(c)+"px";this.dateTimeInput[0].style.paddingBottom=Math.round(c)+"px"}if(this.rtl){this.calendarButton[0].style.width=k+"px";this.timeButton[0].style.width=k+"px";this.calendarButton.css("left","0px");if(this.showCalendarButton){this.timeButton.css("left",k+"px")}else{this.timeButton.css("left","0px")}this.dateTimeInput.css("left",this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",this.timeButton.width()+this.calendarButton.width())}if(a.jqx.browser.msie&&a.jqx.browser.version<=8){this.dateTimeInput.css("left",1+this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",1+this.timeButton.width()+this.calendarButton.width())}}}},_removeHandlers:function(){var b=this;this.removeHandler(a(document),"mousedown."+this.id);if(this.dateTimeInput){this.removeHandler(this.dateTimeInput,"keydown."+this.id);this.removeHandler(this.dateTimeInput,"blur");this.removeHandler(this.dateTimeInput,"focus");this.removeHandler(this.host,"focus");this.removeHandler(this.dateTimeInput,"mousedown");this.removeHandler(this.dateTimeInput,"mouseup");this.removeHandler(this.dateTimeInput,"keydown");this.removeHandler(this.dateTimeInput,"keyup");this.removeHandler(this.dateTimeInput,"keypress")}if(this.calendarButton!=null){this.removeHandler(this.calendarButton,"mousedown")}if(this.timeButton!=null){this.removeHandler(this.timeButton,"mousedown")}if(this.calendarContainer!=null){this.removeHandler(this.calendarContainer,"cellSelected");this.removeHandler(this.calendarContainer,"cellMouseDown")}this.removeHandler(a(window),"resize."+this.id)},isOpened:function(){var c=this;var b=a.data(document.body,"openedJQXCalendar"+this.id);if(b!=null&&b==c.calendarContainer){return true}return false},wheel:function(d,c){if(!c.isEditing){return}c.changeType="mouse";var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(!b){if(d.preventDefault){d.preventDefault()}d.returnValue=false;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(b){if(b<0){this.spinDown()}else{this.spinUp()}return false},focus:function(){try{var c=this;c._firstFocusDate=c.getDate();this._setSelectionStart(0);this._selectGroup(-1);this.dateTimeInput.focus();setTimeout(function(){c._setSelectionStart(0);c._selectGroup(-1);c.dateTimeInput.focus()},25)}catch(b){}},_addHandlers:function(){var e=this.element.id;var c=this.element;var d=this;if(this.host.parents()){this.addHandler(this.host.parents(),"scroll.datetimeinput"+this.element.id,function(f){var g=d.isOpened();if(g){d.close()}})}this.addHandler(this.host,"mouseenter",function(){if(!d.disabled&&d.enableHover){var f=true;d.calendarButtonIcon.addClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.addClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.addClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mouseleave",function(){if(!d.disabled&&d.enableHover){d.calendarButtonIcon.removeClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.removeClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mousewheel",function(f){d.wheel(f,d)});this.addHandler(a(document),"mousedown."+this.id,this._closeOpenedCalendar,{me:this});if(a.jqx.mobile.isTouchDevice()){this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id,this._closeOpenedCalendar,{me:this})}this.addHandler(this.dateTimeInput,"keydown."+this.id,function(h){var g=a.data(document.body,"openedJQXCalendar"+d.id);if(g!=null&&g==d.calendarContainer){var f=d.handleCalendarKey(h,d);return f}});if(this.calendarContainer!=null){this.addHandler(this.calendarContainer,"keydown",function(f){if(f.keyCode==13){if(d.isOpened()){if(!d._calendar._viewAnimating&&d._calendar.view=="month"){d.hideCalendar("selected","keyboard");d.dateTimeInput.focus();return false}}return true}else{if(f.keyCode==9){if(d.isOpened()){d.hideCalendar("selected","keyboard");return true}}else{if(f.keyCode==27){if(d.isOpened()){d.hideCalendar(null,"keyboard");d.dateTimeInput.focus();return false}return true}}}d.timePopup=false;if(f.keyCode==84){d.timePopup=true}if(f.keyCode==115){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}else{if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}if(f.altKey){if(f.keyCode==38){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}else{if(f.keyCode==40){if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}}});this.addHandler(this.calendarContainer,"cellSelected",function(g){if(d.closeCalendarAfterSelection){var f=a.data(document.body,"openedJQXCalendarValue");if(g.args.selectionType=="mouse"){if(d.selectionMode!="range"){d.hideCalendar("selected","mouse")}else{if(d._calendar._clicks==0){d.hideCalendar("selected","mouse")}}}}});this.addHandler(this.calendarContainer,"cellMouseDown",function(f){if(d.closeCalendarAfterSelection){if(d._calendar.value){a.data(document.body,"openedJQXCalendarValue",new a.jqx._jqxDateTimeInput.getDateTime(d._calendar.value.dateTime))}}})}this.addHandler(this.dateTimeInput,"blur",function(h){d.bar.removeClass("focused");d.label.removeClass("focused");if(d.value!=null){d.isEditing=false;var g=d.value.dateTime.getDay();var f=d._oldDT;d._validateValue(true);if(h.stopPropagation){h.stopPropagation()}d._updateText();d._raiseEvent(9,h)}if(!d.isOpened()){d.host.removeClass(d.toThemeProperty("jqx-fill-state-focus"))}});this.addHandler(this.host,"focus",function(f){d.focus()});this.addHandler(this.dateTimeInput,"focus",function(f){d._firstFocusDate=d.getDate();if(d.value!=null){if(d.selectionMode!="range"){d._oldDT=new Date(d.value.dateTime)}else{d._oldDT=d.getRange()}setTimeout(function(){var g=d._selection();d.isEditing=true;d._validateValue();d._updateText();d._setSelectionStart(0);d._selectGroup(-1,g);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))})}else{d._setSelectionStart(0);d._selectGroup(-1);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))}if(f.stopPropagation){f.stopPropagation()}d.bar.addClass("focused");d.label.addClass("focused");if(f.preventDefault){f.preventDefault();return false}});var b="mousedown";if(this.touch){b=a.jqx.mobile.getTouchEventName("touchstart")}this.addHandler(this.calendarButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=false;d.calendarPopup=true;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar();return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.timeButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=true;d.calendarPopup=false;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar("mouse","mouse");return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.dateTimeInput,"mousedown",function(f){return d._raiseEvent(2,f)});this.addHandler(this.dateTimeInput,"mouseup",function(f){return d._raiseEvent(3,f)});this.addHandler(this.dateTimeInput,"keydown",function(f){return d._raiseEvent(4,f)});this.addHandler(this.dateTimeInput,"keyup",function(f){return d._raiseEvent(5,f)});this.addHandler(this.dateTimeInput,"keypress",function(f){return d._raiseEvent(6,f)})},createID:function(){var b=Math.random()+"";b=b.replace(".","");b="99"+b;b=b/1;return"dateTimeInput"+b},setMaxDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.maxDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMaxDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()>b){this.setDate(b)}a.jqx.aria(this,"aria-valuemax",b);this._refreshValue();this._updateText()}},getMaxDate:function(){if(this.maxDate!=null&&this.maxDate!=undefined){return this.maxDate.dateTime}return null},setMinDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.minDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMinDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()<b){this.setDate(b)}a.jqx.aria(this,"aria-valuemin",b);this._refreshValue();this._updateText()}},getMinDate:function(){if(this.minDate!=null&&this.minDate!=undefined){return this.minDate.dateTime}return null},_applyCulture:function(){var d=false;try{if(window.Globalize!=undefined){d=true}}catch(c){}try{if(a.global){a.global.preferCulture(this.culture);this.localization.calendar=a.global.culture.calendar}else{if(d){var b=window.Globalize.culture(this.culture);this.localization.calendar=b.calendar}}this._loadItems();if(this._calendar!=null){this._calendar.culture=this.culture;this._calendar.localization=this.localization;this._calendar.render()}}catch(c){}},propertyMap:function(b){if(b=="value"){if(this.selectionMode!="range"){return this.getDate()}else{return this.getRange()}}return null},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.refresh();d.close()}},propertyChangedHandler:function(c,d,f,e){if(c.isInitialized==undefined||c.isInitialized==false){return}if(c.batchUpdate&&c.batchUpdate.width&&c.batchUpdate.height&&Object.keys(c.batchUpdate).length==2){return}if(d=="dropDownVerticalAlignment"){c.close()}if(d=="template"){c.bar.removeClass(c.toThemeProperty("jqx-"+f));c.label.removeClass(c.toThemeProperty("jqx-"+f));c.timeButton.removeClass(c.toThemeProperty("jqx-"+f));c.calendarButton.removeClass(c.toThemeProperty("jqx-"+f));c.bar.addClass(c.toThemeProperty("jqx-"+c.template));c.label.addClass(c.toThemeProperty("jqx-"+c.template));c.timeButton.addClass(c.toThemeProperty("jqx-"+c.template));c.calendarButton.addClass(c.toThemeProperty("jqx-"+c.template))}if(d=="restrictedDates"){c.calendarContainer.css({restrictedDates:e})}if(d=="popupZIndex"){c.calendarContainer.css({zIndex:e})}if(d=="showCalendarButton"){c._arrange()}if(d=="showTimeButton"){c._arrange();if(c.timePopupElement){c.timePopupElement.remove();c.timePopupElement=null}}if(d=="selectionMode"){c._calendar.selectionMode=e;c.refreshValue()}if(d=="min"){if(typeof(e)=="string"){c.setMinDate(new Date(e))}else{c.setMinDate(e)}}if(d=="max"){if(typeof(e)=="string"){c.setMaxDate(new Date(e))}else{c.setMaxDate(e)}}if(d=="value"){if(e!=null&&e instanceof Date){if(isNaN(e.getFullYear())||isNaN(e.getMonth())||isNaN(e.getDate())){this.value=f;return}e=a.jqx._jqxDateTimeInput.getDateTime(e)}else{if(e!=null&&typeof(e)=="string"){var b=new Date(e);if(b!=undefined&&!isNaN(b)){this.value=a.jqx._jqxDateTimeInput.getDateTime(b)}}}}if(d=="views"){c.calendarContainer.jqxCalendar({views:e})}if(d=="enableViews"){c.calendarContainer.jqxCalendar({enableViews:e})}if(d=="selectableDays"){c.calendarContainer.jqxCalendar({selectableDays:e})}if(d=="showFooter"){c.calendarContainer.jqxCalendar({showFooter:e})}if(d=="rtl"){c.calendarContainer.jqxCalendar({rtl:e});if(e){c.dateTimeInput.css("direction","rtl");c.dateTimeInput.addClass("jqx-rtl")}else{c.dateTimeInput.css("direction","ltr");c.dateTimeInput.removeClass("jqx-rtl")}}if(d=="todayString"||d=="clearString"){c.calendarContainer.jqxCalendar({clearString:c.clearString,todayString:c.todayString})}if(d=="dayNameFormat"){c.calendarContainer.jqxCalendar({dayNameFormat:e})}if(d=="firstDayOfWeek"){c.calendarContainer.jqxCalendar({firstDayOfWeek:e})}if(d=="showWeekNumbers"){c.calendarContainer.jqxCalendar({showWeekNumbers:e})}if(d=="culture"||d=="localization"){c._applyCulture()}else{if(d=="formatString"){c.items=new Array();c._loadItems()}}if(d=="theme"){a.jqx.utilities.setTheme(f,e,c.host);c.calendarContainer.jqxCalendar({theme:e})}if(d=="width"||d=="height"){c.close();c.refresh();return}c._setOption(d,e,f);if(d=="dropDownWidth"||d=="dropDownHeight"){c.calendarContainer.jqxCalendar({width:c.dropDownWidth,height:c.dropDownHeight});c._calendar.render();c.container.height(c.calendarContainer.height());c.container.width(c.calendarContainer.width())}},clear:function(){if(this.allowNullDate){if(this.selectionMode!="range"){this.setDate(null)}else{this._calendar._clicks=1;this.setRange(null,null)}this._calendar._clicks=0}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this._calendar._clicks=1;this.setRange(this.getMinDate(),this.getMinDate());this._calendar._clicks=0}}this.hideCalendar()},today:function(){var c=new Date();c.setHours(0,0,0,0);if(this.selectionMode!="range"){this.setDate(c)}else{this._calendar._clicks=0;var b=new Date();b.setHours(23,59,59,0);this.setRange(c,b);this._calendar._clicks=0}this.hideCalendar()},_isValidDate:function(b){if(b==null){return true}if(typeof(b)!=="object"){return false}if(b!==null&&b.getFullYear){return true}if(b=="Invalid Date"||b.valueOf()<0||isNaN(b.valueOf())){return false}return true},setDate:function(d){var e=this.getDate();if(d!=null&&typeof(d)=="string"){var f=d;if(d.toString().indexOf(",")>=0){d=d.replace(/\,/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}}if(d.toString().indexOf("-")>=0){d=d.replace(/\-/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}}if(d!=""){var c=d;if(window.Globalize!=undefined){d=window.Globalize.parseDate(c,this.formatString,this.culture)}else{if(a.jqx.dataFormat){d=a.jqx.dataFormat.parsedate(c,this.formatString,this.localization.calendar)}else{d=new Date(d)}}if(d===null&&c!==null){if(this._isValidDate(c)){d=c}}if(!this._isValidDate(d)){return}}}if(d==null||d=="null"||d=="undefined"){if(!this.allowNullDate){d=this.min}}if(!this._isValidDate(d)){d=null}if(d==null||d=="null"||d=="undefined"||d===""){if(this.value!=null){this.value=null;this._calendar.setDate(null);this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}this._setSelectionStart(0);this._selectGroup(-1);this._raiseEvent("0",d,e);this._raiseEvent("9",d,e)}return}if(d<this.getMinDate()||d>this.getMaxDate()){return}if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}if(d.getFullYear){this.value._setYear(d.getFullYear());this.value._setDay(1);this.value._setMonth(d.getMonth()+1);this.value._setHours(d.getHours());this.value._setMinutes(d.getMinutes());this.value._setSeconds(d.getSeconds());this.value._setMilliseconds(d.getMilliseconds());this.value._setDay(d.getDate())}this._validateTimeRange();this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}var b=this.getDate();var g=(b-e);if(g!=0){this._raiseEvent("0",d,e);this._raiseEvent("9",d,e);return true}},getDate:function(){if(this.value==undefined){return null}return new Date(this.value.dateTime)},getText:function(){return this.dateTimeInput.val()},setRange:function(d,c){if(typeof(d)=="object"&&!this._isValidDate(d)){d=null}if(typeof(c)=="object"&&!this._isValidDate(c)){c=null}if(d!=null&&typeof(d)=="string"){d=new Date(d);if(!this._isValidDate(d)){return}}if(c!=null&&typeof(c)=="string"){c=new Date(c);if(!this._isValidDate(c)){return}}if(d&&isNaN(d)&&d.toString()=="NaN"&&typeof(d)!="string"){return}if(c&&isNaN(c)&&c.toString()=="NaN"&&typeof(c)!="string"){return}this._calendar.setRange(d,c);if(c&&d&&(c.valueOf()!=d.valueOf())){this._range={from:d,to:c}}else{this._range=this._calendar.getRange()}var b=d;if(b!=null&&b.getFullYear){if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}this.value._setYear(b.getFullYear());this.value._setMonth(b.getMonth()+1);this.value._setHours(b.getHours());this.value._setMinutes(b.getMinutes());this.value._setSeconds(b.getSeconds());this.value._setMilliseconds(b.getMilliseconds());this.value._setDay(b.getDate())}this._refreshValue();if(this.value){this._raiseEvent("0",this.value.dateTime)}else{this._raiseEvent("0",null)}},getRange:function(){var b=this._calendar.getRange();if(this._range){var d=this._range.from;var c=this._range.to;if(c&&d&&(c.valueOf()!=d.valueOf())){if(b.from){b.from.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds())}if(b.to){b.to.setHours(c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds())}}}return b},_validateValue:function(e){var b=false;for(var d=0;d<this.items.length;d++){var c=this.editors[d].value;switch(this.items[d].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>999){c=999}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(this.editors[d].value!=c){this.editors[d].value=c;b=true}}this.updateValue(e);if(this.value!=null&&e===true){if(this.value.dateTime>this.maxDate.dateTime){this._internalSetValue(this.maxDate);this._updateEditorsValue()}else{if(this.value.dateTime<this.minDate.dateTime){this._internalSetValue(this.minDate);this._updateEditorsValue()}}this._updateText()}},spinUp:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.increaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},spinDown:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.decreaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},_passKeyToCalendar:function(c){if(c.keyCode==13||c.keyCode==9){this.hideCalendar("selected","keyboard");return true}else{if(c.keyCode==27){var e=this.calendarContainer;var d=this._calendar;var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;d.setDate(this.value.dateTime);this.closeCalendarAfterSelection=f;this.hideCalendar()}}var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;var b=this._calendar._handleKey(c);this.closeCalendarAfterSelection=f;return b},handleCalendarKey:function(f,e){var c=a(f.target);var d=a.data(document.body,"openedJQXCalendar"+this.id);if(d!=null){if(d.length>0){var b=e._passKeyToCalendar(f);return b}}return true},_findPos:function(c){if(c==null){return}while(c&&(c.type=="hidden"||c.nodeType!=1||a.expr.filters.hidden(c))){c=c.nextSibling}var b=a(c).coord(true);return[b.left,b.top]},testOffset:function(h,f,c){var g=h.outerWidth();var j=h.outerHeight();var i=a(window).width()+a(window).scrollLeft();var e=a(window).height()+a(window).scrollTop();if(f.left+g>i){if(g>this.host.width()){var d=this.host.coord().left;var b=g-this.host.width();f.left=d-b+2}}if(f.left<0){f.left=parseInt(this.host.coord().left)+"px"}f.top-=Math.min(f.top,(f.top+j>e&&e>j)?Math.abs(j+c+23):0);return f},open:function(b){if(b=="time"){this.timePopup=true}else{this.timePopup=false}this.showCalendar()},close:function(b){this.hideCalendar()},_getBodyOffset:function(){var c=0;var b=0;if(a("body").css("border-top-width")!="0px"){c=parseInt(a("body").css("border-top-width"));if(isNaN(c)){c=0}}if(a("body").css("border-left-width")!="0px"){b=parseInt(a("body").css("border-left-width"));if(isNaN(b)){b=0}}return{left:b,top:c}},initTimePopup:function(){this.timePopupElement=a("<div style='border-style: solid; border-width: 0px;'></div>").appendTo(this.timeContainer);this.timePopupElement.addClass(this.toThemeProperty("jqx-widget-content jqx-widget jqx-date-time-input-popup"));var s="";s+="<table><tbody><tr><td><a class='increment-hour-column' href='javascript:;' data-action='incrementHour'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-minute-column' href='javascript:;' data-action='incrementMinute'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-second-column' href='javascript:;' data-action='incrementSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-millisecond-column' href='javascript:;' data-action='incrementMSSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td class='increment-meridian-column'><a href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-up'></div></a></td></tr><tr><td><input type='text' class='jqx-timepicker-hour' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-minute' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-second' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-millisecond' maxlength='3'></td><td class='separator'>&nbsp;</td><td><input type='text' class='jqx-timepicker-meridian' maxlength='2'></td></tr><tr><td><a class='decrement-hour-column' href='javascript:;' data-action='decrementHour'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-minute-column' href='javascript:;' data-action='decrementMinute'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-second-column' href='javascript:;' data-action='decrementSecond'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-millisecond-column' href='javascript:;' data-action='decrementMillisecond'><div class='jqx-icon-down'></div></a></td><td class='separator'>&nbsp;</td><td><a class='decrement-meridian-column' href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-down'></div></a></td></tr></tbody></table>";var l=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){this.timePopupElement[0].innerHTML=s}else{this.timePopupElement[0].innerHTML="<table><tr><td>"+s+"</td><td>-</td><td>"+s+"</td></tr></table>"}this.timePopupElement.find(".jqx-icon-down").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-down"));this.timePopupElement.find(".jqx-icon-up").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-up"));var g=this.timePopupElement.find("input");g.addClass(this.toThemeProperty("jqx-input"));g.addClass(this.toThemeProperty("jqx-rc-all"));this.addHandler(g,"mousedown",function(u){u.stopPropagation()});var e=function(u){if(u.target.className.indexOf("hour")>=0){m._decrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._decrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._decrementMeridian(a(u.target))}};var k=function(u){if(u.target.className.indexOf("hour")>=0){m._incrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._incrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._incrementMeridian(a(u.target))}};var r=function(v,u){if(!u.isEditing){return}var w=0;if(!v){v=window.event}if(v.originalEvent&&v.originalEvent.wheelDelta){v.wheelDelta=v.originalEvent.wheelDelta}if(v.originalEvent&&v.originalEvent.deltaY!=undefined){w=-v.originalEvent.deltaY}if(v.wheelDelta){w=v.wheelDelta/120}else{if(v.detail){w=-v.detail/3}}if(w){if(document.activeElement==v.target&&v.target.nodeName.toLowerCase()=="input"){if(w<0){e(v)}else{k(v)}}if(v.preventDefault){v.preventDefault()}v.returnValue=false}if(v.preventDefault){v.preventDefault()}v.returnValue=false};this.addHandler(g,"wheel",function(u){r(u,m)});this.addHandler(g,"keydown",function(v){var u=a(v.target);if(v.ctrlKey){if(v.keyCode==38){if(m.isOpened()){m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}else{if(v.keyCode==40){if(!m.isOpened()){m.showCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}}}if(v.keyCode==40){e(v);v.preventDefault()}else{if(v.keyCode==38){k(v);v.preventDefault()}else{if(v.keyCode==13){v.preventDefault();m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus()}else{if(v.keyCode==27){v.preventDefault();m.hideCalendar("cancel");m.dateTimeInput.focus()}}}}});this.hourInput=a(g[0]);this.minuteInput=a(g[1]);this.secondInput=a(g[2]);this.mssecondInput=a(g[3]);this.meridianInput=a(g[4]);this.hourInput2=a(g[5]);this.minuteInput2=a(g[6]);this.secondInput2=a(g[7]);this.mssecondInput2=a(g[8]);this.meridianInput2=a(g[9]);var m=this;var o=this.timePopupElement.find(".increment-hour-column");this.hourIncrement=a(o[0]);this.hourIncrement2=a(o[1]);this.addHandler(g,"change",function(v){var u=a(v.target);if(u.val().length<=1){u.val("0"+a(v.target).val())}if(v.target.className.indexOf("hour")>=0){var w=parseInt(a(v.target).val());if(l.indexOf("HH")>=0){while(w>24){w=w-24}}else{while(w>12){w=w-12}}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}if(v.target.className.indexOf("minute")>=0||v.target.className.indexOf("second")>=0){var w=parseInt(a(v.target).val());while(w>59){w--}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}});this._incrementHour=function(u){var v=parseInt(u.val());v++;if(l.indexOf("HH")>=0){if(v>23){v=0}}else{if(v>12){v=1}}if(v<10){v="0"+v}u.val(v)};this._incrementMinuteSecond=function(u){var v=parseInt(u.val());v++;if(v>59){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMillisecond=function(u){var v=parseInt(u.val());v++;if(v>999){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this._decrementHour=function(u){var v=parseInt(u.val());v--;if(l.indexOf("HH")>=0){if(v<0){v=23}}else{if(v<1){v=12}}if(v<10){v="0"+v}u.val(v)};this._decrementMinuteSecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=59}if(v<10){v="0"+v}u.val(v)};this._decrementMillisecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=999}if(v<10){v="0"+v}u.val(v)};this._decrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this.addHandler(this.hourIncrement,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput)});this.addHandler(this.hourIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput2)});var p=this.timePopupElement.find(".increment-minute-column");this.minuteIncrement=a(p[0]);this.minuteIncrement2=a(p[1]);this.addHandler(this.minuteIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput2)});var c=this.timePopupElement.find(".increment-second-column");this.secondIncrement=a(c[0]);this.secondIncrement2=a(c[1]);this.addHandler(this.secondIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput)});this.addHandler(this.secondIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput2)});var d=this.timePopupElement.find(".increment-millisecond-column");this.millisecondsIncrement=a(d[0]);this.millisecondsIncrement2=a(d[1]);this.addHandler(this.millisecondsIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput2)});var i=this.timePopupElement.find(".increment-meridian-column");this.meridianIncrement=a(i[0]);this.meridianIncrement2=a(i[1]);this.addHandler(this.meridianIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput)});this.addHandler(this.meridianIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput2)});var n=this.timePopupElement.find(".decrement-hour-column");this.hourDecrement=a(n[0]);this.hourDecrement2=a(n[1]);this.addHandler(this.hourDecrement,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput)});this.addHandler(this.hourDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput2)});var j=this.timePopupElement.find(".decrement-minute-column");this.minuteDecrement=a(j[0]);this.minuteDecrement2=a(j[1]);this.addHandler(this.minuteDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput2)});var t=this.timePopupElement.find(".decrement-second-column");this.secondDecrement=a(t[0]);this.secondDecrement2=a(t[1]);this.addHandler(this.secondDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput)});this.addHandler(this.secondDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput2)});var b=this.timePopupElement.find(".decrement-millisecond-column");this.millisecondsDecrement=a(b[0]);this.millisecondsDecrement2=a(b[1]);this.addHandler(this.millisecondsDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput2)});var f=this.timePopupElement.find(".decrement-meridian-column");this.meridianDecrement=a(f[0]);this.meridianDecrement2=a(f[1]);this.addHandler(this.meridianDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput)});this.addHandler(this.meridianDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput2)});var q=this.timePopupElement.find("table");this.addHandler(this.timePopupElement,"mousedown",function(u){u.stopPropagation()});var h=function(u){var v=u.find("tr");if(l.indexOf("mm")==-1){m.minuteInput.hide();m.minuteInput2.hide();a(a(v[0]).children()[1]).hide();a(a(v[0]).children()[2]).hide();a(a(v[1]).children()[1]).hide();a(a(v[1]).children()[2]).hide();a(a(v[2]).children()[1]).hide();a(a(v[2]).children()[2]).hide()}if(l.indexOf("ss")==-1){m.secondInput.hide();m.secondInput2.hide();a(a(v[0]).children()[3]).hide();a(a(v[0]).children()[4]).hide();a(a(v[1]).children()[3]).hide();a(a(v[1]).children()[4]).hide();a(a(v[2]).children()[3]).hide();a(a(v[2]).children()[4]).hide()}if(l.indexOf("tt")==-1&&l.indexOf("hh")==-1){m.meridianInput.hide();m.meridianInput2.hide();a(a(v[0]).children()[7]).hide();a(a(v[0]).children()[8]).hide();a(a(v[1]).children()[7]).hide();a(a(v[1]).children()[8]).hide();a(a(v[2]).children()[7]).hide();a(a(v[2]).children()[8]).hide()}if(l.indexOf("zz")==-1){m.mssecondInput.hide();m.mssecondInput2.hide();a(a(v[0]).children()[5]).hide();a(a(v[0]).children()[6]).hide();a(a(v[1]).children()[5]).hide();a(a(v[1]).children()[6]).hide();a(a(v[2]).children()[5]).hide();a(a(v[2]).children()[6]).hide()}};if(q.length==1){h(q)}else{h(a(a(q)[1]));h(a(a(q)[2]))}},updateTimePopup:function(){var b=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){var f=this.getDate();if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}}else{var f=this.getRange().from;if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}var f=this.getRange().to;if(this.hourInput2){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput2.val(c);this.minuteInput2.val(h);this.secondInput2.val(e);this.mssecondInput2.val(d);this.meridianInput2.val(g)}}},showCalendar:function(){var o=this.calendarContainer;var s=this._calendar;a.jqx.aria(this,"aria-expanded",true);if(this.showTimeButton){if(this.timePopup){if(!this.timePopupElement){this.initTimePopup()}this.calendarContainer.css("visibility","hidden");this.timeContainer.css("visibility","visible");this.updateTimePopup();var d=this.timeContainer.find("input");var v=0;for(var z=0;z<d.length;z++){if(d[z].style.display!="none"){v+=50}}this.container.width(parseInt(v));if(!this.touch){setTimeout(function(){d[0].focus();a(d[0]).select()},150+this.openDelay)}}else{this.container.width(parseInt(this.calendarContainer.width())+25);this.timeContainer.css("visibility","hidden");this.calendarContainer.css("visibility","visible")}}if(this.value!=null){if(this.selectionMode!="range"){this._oldDT=new Date(this.value.dateTime)}else{this._oldDT=this.getRange()}}else{this._oldDT=null}if(!s.canRender){s.canRender=true;s.render()}var l=this.container;var r=this;var g=a(window).scrollTop();var h=a(window).scrollLeft();var p=parseInt(this._findPos(this.host[0])[1])+parseInt(this.host.outerHeight())-1+"px";var e,u=parseInt(Math.round(this.host.coord(true).left));if(this.dropDownContainer==="element"){p=parseInt(this.host.outerHeight())-1+"px";e=0}e=u+"px";var A=false;if((A!=null&&A)){e=a.jqx.mobile.getLeftPos(this.element);p=a.jqx.mobile.getTopPos(this.element)+parseInt(this.host.outerHeight());if(a("body").css("border-top-width")!="0px"){p=parseInt(p)-this._getBodyOffset().top+"px"}if(a("body").css("border-left-width")!="0px"){e=parseInt(e)-this._getBodyOffset().left+"px"}}this.container.css("left",e);this.container.css("top",p);var c=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;this.isEditing=false;if(r.selectionMode=="default"){this._validateValue();this._updateText();var w=this.value!=null?this.value.dateTime:new Date();s.setDate(w)}this.closeCalendarAfterSelection=c;var b=false;if(this.dropDownHorizontalAlignment=="right"||this.rtl){var k=this.container.outerWidth();var x=Math.abs(k-this.host.outerWidth()+2);if(!this.rtl){x-=2}if(k>this.host.width()){var f=23;this.container.css("left",f+parseInt(Math.round(u))-x+"px")}else{this.container.css("left",25+parseInt(Math.round(u))+x+"px")}}if(this.dropDownVerticalAlignment=="top"){var y=o.height();if(this.timePopup){this.timeContainer.css("top",this.container.height()-75)}b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"));var n=parseInt(this.host.outerHeight());var m=parseInt(p)-Math.abs(y+n+23);this.container.css("top",m)}if(this.enableBrowserBoundsDetection){var j=this.testOffset(o,{left:parseInt(this.container.css("left")),top:parseInt(p)},parseInt(this.host.outerHeight()));if(parseInt(this.container.css("top"))!=j.top){b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"))}else{o.css("top",0)}this.container.css("top",j.top);if(parseInt(this.container.css("left"))!=j.left){this.container.css("left",j.left)}}this._raiseEvent(7,o);if(this.animationType!="none"){this.container.css("display","block");var q=parseInt(o.outerHeight());o.stop();this.isanimating=true;this.opening=true;if(this.animationType=="fade"){o.css("margin-top",0);o.css("opacity",0);o.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()});if(this.timePopup){this.timeContainer.css("margin-top",0);this.timeContainer.css("opacity",0);this.timeContainer.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}}else{o.css("opacity",1);if(this.timePopup){this.timeContainer.css("opacity",1)}if(b){o.css("margin-top",q)}else{o.css("margin-top",-q)}if(this.timePopup){if(b){this.timeContainer.css("margin-top",q)}else{this.timeContainer.css("margin-top",-q)}this.timeContainer.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}o.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()})}}else{o.stop();r.isanimating=false;r.opening=false;o.css("opacity",1);o.css("margin-top",0);this.container.css("display","block");a.data(document.body,"openedJQXCalendar"+r.id,o);this.calendarContainer.focus();if(this.timePopup){this.timeContainer.stop();this.timeContainer.css("opacity",1);this.timeContainer.css("margin-top",0);this.timeContainer.focus()}}if(this.value==null){if(this._calendar&&this._calendar._getSelectedCell()){this._calendar._getSelectedCell().isSelected=false}}if(this.timePopup){this.timeButtonIcon.addClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.timeContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}else{this.calendarButtonIcon.addClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}this.host.addClass(this.toThemeProperty("jqx-fill-state-focus"))},hideCalendar:function(j,o){if(o){this.changeType=o}var h=this.calendarContainer;var b=this.container;var p=this;a.jqx.aria(this,"aria-expanded",false);if(this.showTimeButton){if(this.timeContainer.css("visibility")!="hidden"&&j!="cancel"){if(this.selectionMode!="range"&&this.hourInput){var e=this.getDate();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}if(!e){e=new Date()}e.setHours(g,f,c,q);this.setDate(e)}else{if(this.hourInput&&j!="selected"){var i=this.getRange();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var l=i.from;if(!l){l=new Date()}l.setHours(g,f,c,q);var g=parseInt(this.hourInput2.val());var f=parseInt(this.minuteInput2.val());var c=parseInt(this.secondInput2.val());var q=parseInt(this.mssecondInput2.val());var d=this.meridianInput2.val();if(f==""){f=0}if(c==""){c=0}if(q==""){q=0}if(this.meridianInput2.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var k=i.to;if(!k){k=new Date()}k.setHours(g,f,c,q);if(k.valueOf()<l.valueOf()){return false}this.setRange(l,k)}else{if(j=="selected"){return}}}}}a.data(document.body,"openedJQXCalendar"+this.id,null);if(this.animationType!="none"){var n=h.outerHeight();h.css("margin-top",0);if(this.showTimeButton){this.timeContainer.css("margin-top",0)}this.isanimating=true;var m=-n;if(parseInt(this.container.coord().top)<parseInt(this.host.coord().top)){m=n}if(this.animationType=="fade"){h.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{h.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}if(this.showTimeButton){if(this.animationType=="fade"){this.timeContainer.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{this.timeContainer.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}}}else{b.css("display","none")}if(j!=undefined){this._updateSelectedDate(j)}this.timeButtonIcon.removeClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarButtonIcon.removeClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.timeContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.calendarContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this._raiseEvent(8,h)},_updateSelectedDate:function(){var l=this.value;if(l==null){l=new a.jqx._jqxDateTimeInput.getDateTime(new Date());l._setHours(0);l._setMinutes(0);l._setSeconds(0);l._setMilliseconds(0)}var g=l.hour;var f=l.minute;var c=l.second;var b=l.millisecond;if(this.selectionMode=="range"&&this._calendar.getRange().from==null){this.setDate(null);return}var d=new a.jqx._jqxDateTimeInput.getDateTime(this._calendar.value.dateTime);d._setHours(g);d._setMinutes(f);d._setSeconds(c);d._setMilliseconds(b);var m=this.setDate(d.dateTime);if(this.selectionMode=="range"&&!m&&this._oldDT){var h=this.getRange();var i=this._oldDT;var k=false;var j=false;var e=this._oldDT.from;var d=h.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){k=true}}var d=h.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}}if(k&&j){return true}this._raiseEvent(0,{});this._raiseEvent(9,{})}},_closeOpenedCalendar:function(b){var e=a(b.target);var j=a.data(document.body,"openedJQXCalendar"+b.data.me.id);var d=false;a.each(e.parents(),function(){if(this.className&&this.className.indexOf){if(this.className.indexOf("jqx-calendar")!=-1){d=true;return false}if(this.className.indexOf("jqx-date-time-input-popup")!=-1){d=true;return false}if(this.className.indexOf("jqx-input")!=-1){return false}}});if(a(b.target).ischildof(b.data.me.host)){return true}if(b.target!=null&&(b.target.tagName=="B"||b.target.tagName=="b")){var k=b.data.me.host.coord();var m=b.data.me.host.width();var c=b.data.me.host.height();var l=parseInt(k.top);var g=parseInt(k.left);if(l<=b.pageY&&b.pageY<=l+c){if(g<=b.pageX&&b.pageX<=g+m){return true}}}if(j!=null&&!d){if(j.length>0){var h=j[0].id.toString();var f=h.toString().substring(13);var i=a(document).find("#"+f);var n=b.data.me.hideCalendar();if(n!==false){a.data(document.body,"openedJQXCalendar"+b.data.me.id,null)}}}},_loadItems:function(){if(this.value!=null){this.items=new Array();var d=this._getFormatValue(this.formatString);this.items=this._parseFormatValue(d);this.editors=new Array();for(var b=0;b<this.items.length;b++){var c=this.items[b].getDateTimeEditorByItemType(this.value,this);this.editors[b]=c}}this._updateEditorsValue();this._updateText()},_updateText:function(){var d=this;var f="";if(d.items.length==0&&d.value!=null){d._loadItems()}if(d.value!=null){if(d.items.length>=1){f=d.format(d.value,0,d.items.length)}var b=d.dateTimeInput.val();if(b!=f){d._raiseEvent(1,d.value)}}if(d.selectionMode=="range"){var c=d.getRange();var i=d.format(d.value,0,d.items.length);if(c.to){var h=a.jqx._jqxDateTimeInput.getDateTime(c.from);i=d.format(h,0,d.items.length);var g=a.jqx._jqxDateTimeInput.getDateTime(c.to);var e=d.format(g,0,d.items.length);var f=i+" - "+e;if(f==" - "){f=""}}else{f=""}}d.dateTimeInput.val(f)},format:function(g,h,f){var b="";for(var e=h;e<f;++e){var c=this.items[e].dateParser(g,this);if(this.isEditing&&this.items[e].type!="ReadOnly"){if(this.selectionMode!="range"){var d=this.items[e].type=="Day"&&this.items[e].format.length>2;if(this.items[e].type=="FORMAT_AMPM"){d=true;if(this.editors[e].value==0){c=this.editors[e].amString}else{c=this.editors[e].pmString}}if(!d){c=this.items[e].dateParserInEditMode(new Number(this.editors[e].value),"d"+this.editors[e].maxEditPositions,this);while(c.length<this.editors[e].maxEditPositions){c="0"+c}}}}b+=c}return b},_getFormatValueGroupLength:function(c){for(var b=1;b<c.toString().length;++b){if(c.substring(b,b+1)!=c.substring(0,1)){return b}}return c.length},_parseFormatValue:function(h){var c=new Array();var f=h.toString();var e=0;while(f.length>0){var d=this._getFormatValueGroupLength(f);var g=null;switch(f.substring(0,1)){case":":case"/":d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break;case'"':case"'":var b=f.indexOf(f[0],1);g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1+Math.max(1,b-1)),"ReadOnly",this.culture);d=Math.max(1,b+1);break;case"\\":if(f.length>=2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1),"ReadOnly",this.culture);d=2}break;case"d":case"D":if(d>2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}break;case"f":case"F":if(d>7){d=7}if(d>3){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Millisecond",this.culture)}break;case"g":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;case"h":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_hh",this.culture);break;case"H":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_HH",this.culture);break;case"m":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Minute",this.culture);break;case"M":if(d>4){d=4}g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Month",this.culture);break;case"s":case"S":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Second",this.culture);break;case"t":case"T":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_AMPM",this.culture);break;case"y":case"Y":if(d>1){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Year",this.culture)}else{d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),null,"ReadOnly",this.culture)}break;case"z":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;default:d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break}c[e]=a.extend(true,{},g);f=f.substring(d);e++}return c},_getFormatValue:function(b){if(b==null||b.length==0){b="d"}if(b.length==1){switch(b.substring(0,1)){case"d":return this.localization.calendar.patterns.d;case"D":return this.localization.calendar.patterns.D;case"t":return this.localization.calendar.patterns.t;case"T":return this.localization.calendar.patterns.T;case"f":return this.localization.calendar.patterns.f;case"F":return this.localization.calendar.patterns.F;case"M":return this.localization.calendar.patterns.M;case"Y":return this.localization.calendar.patterns.Y;case"S":return this.localization.calendar.patterns.S}}if(b.length==2&&b.substring(0,1)=="%"){b=b.substring(1)}return b},_updateEditorsValue:function(){var j=this.value;if(j==null){return}var g=j.year;var h=j.day;var d=j.hour;var l=j.millisecond;var b=j.second;var c=j.minute;var f=j.month;if(this.items==null){return}for(var e=0;e<this.items.length;e++){switch(this.items[e].type){case"FORMAT_AMPM":var k=d%12;if(k==0){k=12}if(d>=0&&d<12){this.editors[e].value=0}else{this.editors[e].value=1}break;case"Day":this.editors[e].value=h;break;case"FORMAT_hh":var k=d%12;if(k==0){k=12}this.editors[e].value=k;break;case"FORMAT_HH":this.editors[e].value=d;break;case"Millisecond":this.editors[e].value=l;break;case"Minute":this.editors[e].value=c;break;case"Month":this.editors[e].value=f;break;case"Second":this.editors[e].value=b;break;case"Year":this.editors[e].value=g;break}}},updateValue:function(z){if(this.isEditing){return}if(this.items&&this.items.length==0){return}var o=0;var s=1;var C=1;var l=0;var d=0;var J=0;var u=0;var I=1;var h=0;var m=false;var r=false;var D=false;var c=false;var b=false;var q=false;var x=false;var t=new Array();var e=null;var y=0;for(var B=0;B<this.items.length;B++){switch(this.items[B].type){case"FORMAT_AMPM":h=this.editors[B].value;e=this.editors[B];break;case"Character":break;case"Day":if(this.items[B].format.length<3){C=this.editors[B].value;t[y++]=this.editors[B];if(C==0){C=1}D=true}break;case"FORMAT_hh":var F=this.editors[B];l=F.value;c=true;break;case"FORMAT_HH":l=this.editors[B].value;c=true;break;case"Millisecond":d=this.editors[B].value;x=true;break;case"Minute":u=this.editors[B].value;b=true;break;case"Month":I=this.editors[B].value;r=true;if(I==0){I=1}break;case"ReadOnly":break;case"Second":J=this.editors[B].value;q=true;break;case"Year":m=true;s=this.editors[B].value;var H=this.editors[B].getDateTimeItem().format;if(H.length<3){var w="1900";if(w.Length==4){var v=""+w[0]+w[1];var E;E=parseInt(v);s=s+(E*100)}}if(s==0){s=1}break}}var G=this.value!=null?new Date(this.value.dateTime):null;if(s>0&&I>0&&C>0&&u>=0&&l>=0&&J>=0&&d>=0){var K=this.value;if(K!=null){if(!m){s=K.year}if(!r){I=K.month}if(!D){C=K.day}}try{if(I>12){I=12}if(I<1){I=1}if(z&&K._daysInMonth(s,I)<=C){C=K._daysInMonth(s,I);if(t!=null&&t.length>0){for(B=0;B<t.length;B++){t[B].value=C}}}if(e!=null){if(e.value==0){if(l>=12){l-=12}}else{if(l+12<24){l+=12}}}var g=this.value.dateTime.getDate();this.value._setYear(parseInt(s));this.value._setDay(C);this.value._setMonth(I);if(c){this.value._setHours(l)}if(b){this.value._setMinutes(u)}if(q){this.value._setSeconds(J)}if(x){this.value._setMilliseconds(d)}this._validateTimeRange()}catch(j){this.value=K}if(G!=null){var A=this.value.dateTime.getFullYear()==G.getFullYear()&&this.value.dateTime.getDate()==G.getDate()&&this.value.dateTime.getMonth()==G.getMonth()&&this.value.dateTime.getHours()==G.getHours()&&this.value.dateTime.getMinutes()==G.getMinutes()&&this.value.dateTime.getSeconds()==G.getSeconds();if(!A){if(this.changing){var n=this.changing(G,this.value.dateTime);if(n){this.value=a.jqx._jqxDateTimeInput.getDateTime(n)}}this._raiseEvent("0",this.value.dateTime);if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}if(this.change){this.change(this.value.dateTime)}}}}var f=this.editors.indexOf(this.activeEditor);var p=this.items[f];if(this.value){if(this.calendarContainer.jqxCalendar("_isDisabled",this.value.dateTime)){this.dateTimeInput.addClass(this.toThemeProperty("jqx-input-invalid"))}else{this.dateTimeInput.removeClass(this.toThemeProperty("jqx-input-invalid"))}}},_internalSetValue:function(b){this.value._setYear(parseInt(b.year));this.value._setDay(b.day);this.value._setMonth(b.month);this.value._setHours(b.hour);this.value._setMinutes(b.minute);this.value._setSeconds(b.second);this.value._setMilliseconds(b.milisecond)},_raiseEvent:function(c,n,f){var m=this.events[c];var g={};g.owner=this;if(n==null){n={}}if(f==null){f=n}var l=n.charCode?n.charCode:n.keyCode?n.keyCode:0;var o=true;var k=this.readonly;var b=new a.Event(m);b.owner=this;b.args=g;b.args.date=this.getDate();if(c==9){b.args.type=this.changeType;this.changeType=null}this.element.value=this.dateTimeInput.val();if(c==9&&this.selectionMode!="range"){var d=b.args.date;if(this._oldDT){if(d!=null){if(!(d.getFullYear()!=this._oldDT.getFullYear()||d.getMonth()!=this._oldDT.getMonth()||d.getDate()!=this._oldDT.getDate()||d.getHours()!=this._oldDT.getHours()||d.getMinutes()!=this._oldDT.getMinutes()||d.getSeconds()!=this._oldDT.getSeconds())){return true}}a.jqx.aria(this,"aria-valuenow",this.getDate());a.jqx.aria(this,"aria-valuetext",this.getText());if(this.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+this.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.selectionMode=="range"){b.args.date=this.getRange();if(this._oldDT){var d=b.args.date.from;if(c==9){var j=false;var i=false;var e=this._oldDT.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}var d=b.args.date.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){i=true}}}if(j&&i){return true}var j=b.args.date.from;if(j==null){j=""}else{j=j.toString()}var i=b.args.date.to;if(i==null){i=""}else{i=i.toString()}a.jqx.aria(this,"aria-valuenow",j+"-"+i);a.jqx.aria(this,"aria-valuetext",this.getText());if(j&&i){a.jqx.aria(this,"aria-label","Current focused range is "+j.toLocaleString()+"-"+i.toLocaleString())}}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.host.css("display")=="none"){return true}if(c!=2&&c!=3&&c!=4&&c!=5&&c!=6){o=this.host.trigger(b);if(b.stopPropagation){b.stopPropagation()}}var h=this;if(!k){if(c==2&&!this.disabled){setTimeout(function(){h.isEditing=true;if(this.selectionMode=="range"){h._selectGroup(-1)}else{h._selectGroup(-1)}},25)}}if(c==4){if(k||this.disabled){if(l==8||l==46){this.isEditing=false;if(this.allowKeyboardDelete){if(this.allowNullDate){this.setDate(null)}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this.setRange(this.getMinDate(),this.getMinDate())}}}}if(l==9){return true}if(!n.altKey){return false}}o=this._handleKeyDown(n,l)}else{if(c==5){if(l==9){return true}if(k||this.disabled){return false}}else{if(c==6){if(l==9){return true}if(k||this.disabled){return false}o=this._handleKeyPress(n,l)}}}return o},_doLeftKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions>0){this.activeEditor.positions--;this._selectGroup(e);return}}while(e>0){this.activeEditor=this.editors[--e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&b!=this.activeEditor){if(this.items[e].type!="ReadOnly"){if(this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_doRightKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions<this.activeEditor.maxEditPositions-1){this.activeEditor.positions++;this._selectGroup(e);return}}while(e<=this.editors.length-2){this.activeEditor=this.editors[++e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){if(this.items[e].type=="Day"&&this.items[e].format.length>2){break}d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&this.activeEditor!=b){if(this.items[e].type!="ReadOnly"){this.activeEditor.positions=0}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_saveSelectedText:function(){var c=this._selection();var e="";var d=this.dateTimeInput.val();if(c.start>0||c.length>0){for(var b=c.start;b<c.end;b++){e+=d[b]}}if(window.clipboardData){window.clipboardData.setData("Text",e)}return e},_selectWithAdvancePattern:function(){var f=this.editors.indexOf(this.activeEditor);var g=false;if(this.items[f].type!="ReadOnly"){g=true}if(!g){return}var d=this.activeEditor;if(d!=null){var e=d.positions==d.maxEditPositions;if(e){this.editorText="";var c=d.value;var b=false;switch(this.items[f].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>99){c=99}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(d.value!=c){b=true}if(!b){this.isEditing=false;this._validateValue();this._updateText();this.isEditing=true;this._doRightKey();return true}return false}}},_handleKeyPress:function(j,n){var m=this._selection();var b=this;var d=j.ctrlKey||j.metaKey;if((d&&n==97)||(d&&n==65)){return true}if(n==8){if(m.start>0){b._setSelectionStart(m.start)}return false}if(n==46){if(m.start<this.items.length){b._setSelectionStart(m.start)}return false}if(n===27){if(this._firstFocusDate){this.setDate(this._firstFocusDate);this._setSelectionStart(0);this._selectGroup(-1)}return false}if(m.start>=0){this.changeType="keyboard";var f=String.fromCharCode(n);var k=parseInt(f);if(f=="p"||f=="a"||f=="A"||f=="P"){if(this.activeEditor&&this.activeEditor.item.type=="FORMAT_AMPM"){if(this.activeEditor.value==0&&(f=="p"||f=="P")){this.spinUp()}else{if(this.activeEditor.value==1&&(f=="a"||f=="A")){this.spinDown()}}}}if(!isNaN(k)){if(this.container.css("display")=="block"){this.hideCalendar()}this.updateValue();this._updateText();var h=false;var i=this.editors.indexOf(this.activeEditor);var c=null;this.isEditing=true;if(i.type!="ReadOnly"){c=this.activeEditor}if(c!=null&&c.positions==0){this.editorText=""}if(this.activeEditor==null){this.activeEditor=this.editors[0]}if(this.activeEditor==null){return false}this.activeEditor.insert(f);if(c!=null&&this.editorText.length>=c.maxEditPositions){this.editorText=""}this.editorText+=f;var o=this._selectWithAdvancePattern();if(this.activeEditor.positions==this.activeEditor.maxEditPositions){var g=this._getLastEditableEditorIndex();if(this.editors.indexOf(this.activeEditor)==g&&o&&this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}h=true;this.updateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return false}}var l=this._isSpecialKey(n);return l},_getLastEditableEditorIndex:function(){var b=0;var d=this;for(var c=this.items.length-1;c>=0;c--){if(this.items[c].type!="ReadOnly"){return c}}return -1},_handleKeyDown:function(i,o){var h=this;this.timePopup=false;if(o==84){this.timePopup=true}if(i.keyCode==115){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}else{if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}if(i.altKey){if(i.keyCode==38){if(h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.showCalendar("keyboard","keyboard");return false}}}}else{if(i.ctrlKey){this.timePopup=true;if(i.keyCode==38){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}}}if(h.isOpened()){if(i.keyCode==9){h.hideCalendar("selected","keyboard");return true}return}var m=h._selection();var b=i.ctrlKey||i.metaKey;if((b&&o==99)||(b&&o==67)){h._saveSelectedText(i);return true}if((b&&o==122)||(b&&o==90)){return false}if((b&&o==118)||(b&&o==86)||(i.shiftKey&&o==45)){var l=h.val();var j=this;var c=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(c);c.select();setTimeout(function(){var e=c.val();j.setDate(e);c.remove()},100);return true}if(o==8||o==46){if(!i.altKey&&!b&&o==46){h.isEditing=false;if(h.allowKeyboardDelete){h.changeType="keyboard";if(h.allowNullDate){h.setDate(null)}else{if(h.selectionMode!="range"){h.setDate(h.getMinDate())}else{h.setRange(h.getMinDate(),h.getMinDate())}}}}else{if(h.activeEditor!=null){var g=h.editors.indexOf(h.activeEditor);if(h.activeEditor.positions>=0){var f=h._format(Number(h.activeEditor.value),"d"+h.activeEditor.maxEditPositions,h.culture);var d=f;d=d.substring(0,h.activeEditor.positions)+"0"+d.substring(h.activeEditor.positions+1);if(parseInt(d)<h.activeEditor.minValue){d=h._format(Number(h.activeEditor.minValue),"d"+h.activeEditor.maxEditPositions,h.culture)}if(h.enableAbsoluteSelection){h.activeEditor.value=d}else{h.activeEditor.value=h.activeEditor.minValue}h._validateValue();h._updateText();h.changeType="keyboard";if(o==8){var n=this;if(h.enableAbsoluteSelection&&h.activeEditor.positions>0){setTimeout(function(){n.activeEditor.positions=n.activeEditor.positions-1;n._selectGroup(g)},10)}else{setTimeout(function(){n._doLeftKey()},10)}}else{h._selectGroup(g)}}else{h._doLeftKey()}}}return false}if(o==38){this.spinUp();h.changeType="keyboard";return false}else{if(o==40){this.spinDown();h.changeType="keyboard";return false}}if(o==9){if(h.value==null){return true}if(i.shiftKey){var p=this._doLeftKey()}else{var p=this._doRightKey()}if(!p){return true}else{return false}}if(o==37){if(this._editor){var p=this._doLeftKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doLeftKey();return false}}else{if(o==39||o==191){if(this._editor){var p=this._doRightKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doRightKey();return false}}}var k=this._isSpecialKey(o);if(this.value==null&&(o>=48&&o<=57||o>=96&&o<=105)){h.changeType="keyboard";if(new Date()>=this.getMinDate()&&new Date()<=this.getMaxDate()){this.setDate(new Date())}else{this.setDate(this.getMaxDate())}}if(!a.jqx.browser.mozilla){return true}if(a.jqx.browser.mozilla&&a.jqx.browser.version>24){return true}return k},_isSpecialKey:function(b){if(b!=8&&b!=9&&b!=13&&b!=35&&b!=36&&b!=37&&b!=39&&b!=27&&b!=46){return false}return true},_selection:function(){if("selectionStart" in this.dateTimeInput[0]){var f=this.dateTimeInput[0];var g=f.selectionEnd-f.selectionStart;return{start:f.selectionStart,end:f.selectionEnd,length:g,text:f.value}}else{var c=document.selection.createRange();if(c==null){return{start:0,end:f.value.length,length:0}}var b=this.dateTimeInput[0].createTextRange();var d=b.duplicate();b.moveToBookmark(c.getBookmark());d.setEndPoint("EndToStart",b);var g=c.text.length;return{start:d.text.length,end:d.text.length+c.text.length,length:g,text:c.text}}},_selectGroup:function(k,m){if(this.host.css("display")=="none"){return}if(this.readonly){return}if(!m){var m=this._selection()}var f="";var b="";var c=null;for(var d=0;d<this.items.length;d++){b=this.items[d].dateParser(this.value,this);if(this.isEditing&&this.items[d].type!="ReadOnly"){var j=this.items[d].type=="Day"&&this.items[d].format.length>2;if(!j&&this.items[d].type!="FORMAT_AMPM"){b=this.items[d].dateParserInEditMode(new Number(this.editors[d].value),"d"+this.editors[d].maxEditPositions,this);while(b.length<this.editors[d].maxEditPositions){b="0"+b}}}f+=b;if(this.items[d].type=="ReadOnly"){continue}if(this.items[d].type=="Day"&&this.items[d].format.length>2){continue}if(k!=undefined&&k!=-1){if(d>=k){var l=f.length-b.length;var e=b.length;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}if(l==this.dateTimeInput.val().length){l--}this._setSelection(l,l+e);c=this.editors[d];this.activeEditor=c;break}}else{if(f.length>=m.start){c=this.editors[d];this.activeEditor=c;var l=f.length-b.length;var e=1;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}else{e=b.length}this._setSelection(l,l+e);break}}}if(d<this.items.length&&k==-1){if(this.items[d].type!="ReadOnly"){this.activeEditor.positions=0}}var h=this._selection();if(h.length==0){if(h.start>0){var g=this._getLastEditableEditorIndex();if(g>=0){}}}},_getLastEditableEditorIndex:function(){var c=-1;for(var b=0;b<this.editors.length;b++){if(this.items[b].type=="ReadOnly"){continue}if(this.items[b].type=="Day"&&this.items[b].format.length>2){continue}c=b}return c},_setSelection:function(e,b){try{if("selectionStart" in this.dateTimeInput[0]){this.dateTimeInput[0].setSelectionRange(e,b)}else{var c=this.dateTimeInput[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}}catch(d){}},_setSelectionStart:function(b){this._setSelection(b,b)},destroy:function(){a.jqx.utilities.resize(this.host,null,true);this.host.removeClass("jqx-rc-all");if(this.timePopupElement){this.timePopupElement.remove()}this._calendar.destroy();this.container.remove();this._removeHandlers();this.dateTimeInput.remove();this.host.remove()},refreshValue:function(){this._refreshValue()},refresh:function(b){if(b!=true){this._setSize();this._arrange()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},_setOption:function(b,c,d){if(b==="value"){if(this.selectionMode!="range"){this._oldDT=null}else{this._oldDT=null}this.value=c;this._refreshValue();this._raiseEvent(9,{type:null})}if(b=="maxDate"){this._calendar.maxDate=c;this._raiseEvent(9,{type:null})}if(b=="minDate"){this._calendar.minDate=c;this._raiseEvent(9,{type:null})}if(b=="showCalendarButton"){if(c){this.calendarButton.css("display","block")}else{this.calendarButton.css("display","none")}}if(b=="disabled"){this.dateTimeInput.attr("disabled",c)}if(b=="readonly"){this.readonly=c;this.dateTimeInput.css("readonly",c)}if(b=="textAlign"){this.dateTimeInput.css("text-align",c);this.textAlign=c}if(b=="width"){this.width=c;this.width=parseInt(this.width);this._arrange()}else{if(b=="height"){this.height=c;this.height=parseInt(this.height);this._arrange()}}},_updateHint:function(){var b=this;if(!b.hint){return}if(b.isMaterialized()){setTimeout(function(){if(b.dateTimeInput[0].value.length===0){b.element.removeAttribute("hint");b.label[0].innerHTML=b.placeHolder}else{b.label[0].innerHTML="";if(b.hint){b.element.setAttribute("hint",true)}}})}},_refreshValue:function(){this._updateEditorsValue();this.updateValue();this._validateValue();this._updateText();this._updateHint()}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateTimeFormatItem={};a.extend(a.jqx._jqxDateTimeInput.DateTimeFormatItem,{_create:function(d,c,b){this.format=d;this.type=c;this.culture=b;return this},_itemValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},_maximumValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},dateParser:function(b,c){if(b==null){return""}var d=c._format(b.dateTime,this.format.length==1?"%"+this.format:this.format,this.culture);return d},dateParserInEditMode:function(e,d,b){if(e==null){return""}var c=b._format(e.toString(),d.length==1?"%"+d:d,this.culture);return c},getDateTimeEditorByItemType:function(m,e){switch(this.type){case"FORMAT_AMPM":var f=a.jqx._jqxDateTimeInput.AmPmEditor._createAmPmEditor(this.format,m.hour/12,e.localization.calendar.AM[0],e.localization.calendar.PM[0],this,e);var d=a.extend({},f);return d;case"Character":return null;case"Day":var j=m.year;var r=m.month;var q;if(this.format.length==3){q=e.localization.calendar.days.namesAbbr}else{if(this.format.length>3){q=e.localization.calendar.days.names}else{q=null}}var s=m.day;if(q!=null){s=m.dayOfWeek+1}var g=a.jqx._jqxDateTimeInput.DateEditor._createDayEditor(m,m.day,1,m._daysInMonth(j,r),this.format.length==1?1:2,2,q,this,e);var d=a.extend({},g);return d;case"FORMAT_hh":var c=m.hour%12;if(c==0){c=12}var p=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(c,1,12,this.format.length==1?1:2,2,this,e);var d=a.extend({},p);return d;case"FORMAT_HH":var h=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.hour,0,23,this.format.length==1?1:2,2,this,e);var d=a.extend({},h);return d;case"Millisecond":var k=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.millisecond/this._itemValue(),0,this._maximumValue(),this.format.length,this.format.length,this,e);var d=a.extend({},k);return d;case"Minute":var n=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.minute,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},n);return d;case"Month":var i;if(this.format.length==3){i=e.localization.calendar.months.namesAbbr}else{if(this.format.length>3){i=e.localization.calendar.months.names}else{i=null}}var l=a.jqx._jqxDateTimeInput.DateEditor._createMonthEditor(m.month,this.format.length==2?2:1,i,this,e);var d=a.extend({},l);return d;case"ReadOnly":return a.jqx._jqxDateTimeInput.DisabledEditor._create(this.format.length,m.day,this,e);case"Second":var b=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.second,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},b);return d;case"Year":var o=a.jqx._jqxDateTimeInput.DateEditor._createYearEditor(m.year,4,this,e);var d=a.extend({},o);return d}return null}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateEditor=a.extend(a.jqx._jqxDateTimeInput.DateEditor,{formatValueLength:0,handleYears:false,handleDays:false,handleMonths:false,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,dateTimeFormatInfo:null,days:null,dateTimeMonths:null,lastDayInput:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},_createYearEditor:function(e,d,c,b){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(d<=4?0:0,d<4?99:9999,(d==2)?2:1,d>3?4:2,c);this.initializeYearEditor(e,d,c.culture);this.handleYears=true;this.that=b;return this},initializeYearEditor:function(d,c,e){this.formatValueLength=c;this.dateTimeFormatInfo=e;var b=d;b=Math.min(b,9999);b=Math.max(b,1);b=this.formatValueLength<4?b%100:b;this.updateActiveEditor(b);this.value=b},updateActiveEditor:function(b){this.value=b;this.positions=0},_createDayEditor:function(b,i,h,e,c,f,g,j,d){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(h,e,1,f,j);this.currentValue=b;this.value=i;this.days=g;this.handleDays=true;this.that=d;return this},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},defaultTextValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},textValue:function(){if(this.handleDays){if(this.days==null){return this.defaultTextValue()}else{var b=(this.value%7)+1;b=this.getDayOfWeek(b);return this.days[b]}}else{if(this.handleMonths){if(this.dateTimeMonths==null||this.value<1||this.value>12){return this.defaultTextValue()}else{return this.dateTimeMonths[this.value-1]}}}return this.defaultTextValue()},defaultInsertString:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},insert:function(b){if(this.handleDays){if(this.days!=null){var c=false;c=this.insertLongString(b,c);if(c){return c}c=this.insertShortString(b,c);if(c){return c}}if(this.value==1&&this.lastDayInput!=null&&this.lastDayInput.toString().length>0&&this.lastDayInput.toString()=="0"){this.value=0}this.lastDayInput=b;return this.defaultInsertString(b)}else{if(this.handleMonths){if(this.dateTimeMonths!=null){var c=false;c=this.insertLongString2(b,c);if(c){return c}c=this.insertShortString2(b,c);if(c){return c}}}}return this.defaultInsertString(b)},insertShortString:function(d,f){if(d.length==1){for(var e=0;e<6;++e){var c=(this.value+e)%7+1;var b=this.days[c-1];if(b.substring(0,1)==d){this.updateActiveEditor(c);f=true;return f}}}return f},insertLongString:function(c,e){if(c.length>0){for(var d=0;d<6;++d){var b=(this.value+d)%7+1;if(this.days[b-1]==c){this.updateActiveEditor(b);e=true;return e}}}return e},_createMonthEditor:function(d,c,b,f,e){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(1,12,c,2,f);this.dateTimeMonths=b;this.value=d;if(this.dateTimeMonths!=null&&this.dateTimeMonths[12]!=null&&this.dateTimeMonths[12].length>0){this.dateTimeMonths=null}this.handleMonths=true;this.that=e;return this},insertLongString2:function(b,d){if(b.length>0){for(var c=0;c<11;++c){var e=(this.value+c)%12+1;if(this.dateTimeMonths[e-1]==b){this.updateActiveEditor(e);d=true;return d}}}return d},insertShortString2:function(c,e){if(c.length==1){for(var d=0;d<11;++d){var f=(this.value+d)%12+1;var b=this.dateTimeMonths[f-1];if(b.substring(0,1)==c){this.updateActiveEditor(f);e=true;return e}}}return e},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.NumberEditor={};a.extend(a.jqx._jqxDateTimeInput.NumberEditor,{formatValueLength:0,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},_createNumberEditor:function(g,f,h,b,e,d,c){a.jqx._jqxDateTimeInput.NumberEditor=a.extend(true,{},this);this.initializeFields(f,h,b,e,d);this.that=c;return this},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},updateActiveEditor:function(b){this.value=b;this.positions=0},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},textValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},insert:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DisabledEditor={};a.extend(a.jqx._jqxDateTimeInput.DisabledEditor,{_create:function(g,c,f,b,e,d){this.format=g;this.value=-1;this.item=e;this.that=d;return this},textValue:function(){return""},insert:function(b){return false},deleteValue:function(){return false},increaseValue:function(){return false},decreaseValue:function(){return false},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.AmPmEditor={};a.extend(a.jqx._jqxDateTimeInput.AmPmEditor,{_createAmPmEditor:function(g,c,f,b,e,d){this.format=g;this.value=c;this.minValue=0;this.amString=f;this.pmString=b;this.item=e;this.that=d;if(f==b){this.amString="<"+f;this.pmString=">"+b}return this},textValue:function(){var b=this.amString;if(this.value!=0){b=this.pmString}if(this.format.length==1&&b.length>1){b=b.substring(0,1)}return b},insert:function(f){var d=f.toString();if(d.Length==0){return this.deleteValue()}var c=false;if(this.amString.Length>0&&this.pmString.Length>0){var g=this.amString[0];var b=d[0];var e=this.pmString[0];if(g.toString()==b.toString()){this.value=0;c=true}else{if(e.toString()==b.toString()){this.value=1;c=true}}}else{if(this.pmString.Length>0){this.value=1;c=true}else{if(this.amString.Length>0){this.value=0;c=true}}}return c},deleteValue:function(){var b=true;if(this.amString.Length==0&&this.pmString.Length!=0){if(this.value==0){return false}this.value=0}else{if(this.value==1){return false}this.value=1}return b},increaseValue:function(){this.value=1-this.value;return true},decreaseValue:function(){this.increaseValue();return true},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.getDateTime=function(c){var b={dateTime:new Date(c),daysPer4Years:1461,daysPerYear:365,daysToMonth365:{0:0,1:31,2:59,3:90,4:120,5:151,6:181,7:212,8:243,9:273,10:304,11:334,12:365},daysToMonth366:{0:0,1:31,2:60,3:91,4:121,5:152,6:182,7:213,8:244,9:274,10:305,11:335,12:366},maxValue:3155378976000000000,millisPerDay:86400000,millisPerHour:3600000,millisPerMinute:60000,millisPerSecond:1000,minTicks:0,minValue:0,ticksPerDay:864000000000,ticksPerHour:36000000000,ticksPerMillisecond:10000,ticksPerMinute:600000000,ticksPerSecond:10000000,hour:c.getHours(),minute:c.getMinutes(),day:c.getDate(),second:c.getSeconds(),month:1+c.getMonth(),year:c.getFullYear(),millisecond:c.getMilliseconds(),dayOfWeek:c.getDay(),isWeekend:function(d){if(d==undefined||d==null){d=this.dateTime}var e=d.getDay()%6==0;return e},dayOfYear:function(e){if(e==undefined||e==null){e=this.dateTime}var d=new Date(e.getFullYear(),0,1);return Math.ceil((e-d)/86400000)},_setDay:function(d){if(d==undefined||d==null){d=0}this.dateTime.setDate(d);this.day=this.dateTime.getDate()},_setMonth:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMonth(d-1);this.month=1+this.dateTime.getMonth()},_setYear:function(d){if(d==undefined||d==null){d=0}this.dateTime.setFullYear(d);this.year=this.dateTime.getFullYear()},_setHours:function(d){if(d==undefined||d==null){d=0}this.dateTime.setHours(d);this.hour=this.dateTime.getHours()},_setMinutes:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMinutes(d);this.minute=this.dateTime.getMinutes()},_setSeconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setSeconds(d);this.second=this.dateTime.getSeconds()},_setMilliseconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMilliseconds(d);this.millisecond=this.dateTime.getMilliseconds()},_addDays:function(f){var d=this.dateTime;var e=d.getDate();d.setDate(d.getDate()+f);if(e===d.getDate()){d.setHours(d.getHours()+d.getTimezoneOffset()/60)}return d},_addWeeks:function(e){var d=this.dateTime;d.setDate(d.getDate()+7*e);return d},_addMonths:function(e){var d=this.dateTime;d.setMonth(d.getMonth()+e);return d},_addYears:function(e){var d=this.dateTime;d.setFullYear(d.getFullYear()+e);return d},_addHours:function(e){var d=this.dateTime;d.setHours(d.getHours()+e);return d},_addMinutes:function(e){var d=this.dateTime;d.setMinutes(d.getMinutes()+e);return d},_addSeconds:function(e){var d=this.dateTime;d.setSeconds(d.getSeconds()+e);return d},_addMilliseconds:function(e){var d=this.dateTime;d.setMilliseconds(d.getMilliseconds()+e);return d},_isLeapYear:function(d){if((d<1)||(d>9999)){throw"invalid year"}if((d%4)!=0){return false}if((d%100)==0){return((d%400)==0)}return true},_dateToTicks:function(f,h,e){if(((f>=1)&&(f<=9999))&&((h>=1)&&(h<=12))){var d=this._isLeapYear(f)?this.daysToMonth366:this.daysToMonth365;if((e>=1)&&(e<=(d[h]-d[h-1]))){var f=f-1;var g=((((((f*365)+(f/4))-(f/100))+(f/400))+d[h-1])+e)-1;return(g*864000000000)}}},_daysInMonth:function(e,f){if((f<1)||(f>12)){throw ("Invalid month.")}var d=this._isLeapYear(e)?this.daysToMonth366:this.daysToMonth365;return(d[f]-d[f-1])},_timeToTicks:function(d,g,e){var f=((d*3600)+(g*60))+e;return(f*10000000)},_equalDate:function(d){if(this.year==d.getFullYear()&&this.day==d.getDate()&&this.month==d.getMonth()+1){return true}return false}};return b}})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxDateTimeInput","",{});a.extend(a.jqx._jqxDateTimeInput.prototype,{defineInstance:function(){var b={value:a.jqx._jqxDateTimeInput.getDateTime(new Date()),minDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),maxDate:a.jqx._jqxDateTimeInput.getDateTime(new Date()),min:new Date(1900,0,1),max:new Date(2100,0,1),rowHeaderWidth:25,enableViews:true,views:["month","year","decade"],selectableDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],change:null,changing:null,titleFormat:["MMMM yyyy","yyyy","yyyy","yyyy"],template:"default",columnHeaderHeight:20,titleHeight:30,firstDayOfWeek:0,showWeekNumbers:false,showTimeButton:false,cookies:false,cookieoptions:null,showFooter:false,formatString:"dd/MM/yyyy",width:200,height:25,dayNameFormat:"firstTwoLetters",textAlign:"left",readonly:false,culture:"default",activeEditor:null,showCalendarButton:true,openDelay:250,closeDelay:300,closeCalendarAfterSelection:true,isEditing:false,enableBrowserBoundsDetection:false,dropDownHorizontalAlignment:"left",dropDownVerticalAlignment:"bottom",enableAbsoluteSelection:false,disabled:false,buttonSize:21,animationType:"slide",dropDownWidth:"200px",restrictedDates:new Array(),dropDownHeight:"205px",dropDownContainer:"default",selectionMode:"default",renderMode:"full",rtl:false,timeRange:null,_editor:false,todayString:"Today",clearString:"Clear",popupZIndex:2000,allowNullDate:true,changeType:null,placeHolder:"",enableHover:true,hint:true,allowKeyboardDelete:true,localization:{backString:"Back",forwardString:"Forward",todayString:"Today",clearString:"Clear",calendar:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss"}}},events:["valueChanged","textchanged","mousedown","mouseup","keydown","keyup","keypress","open","close","change"],aria:{"aria-valuenow":{name:"getDate",type:"date"},"aria-valuetext":{name:"getText",type:"string"},"aria-valuemin":{name:"min",type:"date"},"aria-valuemax":{name:"max",type:"date"},"aria-disabled":{name:"disabled",type:"boolean"}}};if(this===a.jqx._jqxDateTimeInput.prototype){return b}a.extend(true,this,b);this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0);this.minDate._setYear(1900);this.minDate._setMonth(1);this.minDate._setDay(1);this.minDate._setHours(1);this.minDate._setMinutes(1);this.minDate._setSeconds(1);this.minDate._setMilliseconds(1);this.maxDate._setYear(2100);this.maxDate._setMonth(1);this.maxDate._setDay(1);this.maxDate._setHours(1);this.maxDate._setMinutes(1);this.maxDate._setSeconds(1);this.maxDate._setMilliseconds(1);this.defaultMinDate=this.minDate;this.defaultMaxDate=this.maxDate;return b},createInstance:function(d){var l="";var k=this;if(!k.host.jqxCalendar){throw new Error("jqxDateTimeInput: Missing reference to jqxcalendar.js.")}if(k.formatString!="dd/MM/yyyy"){var g=k.formatString.split(" ");if(g&&g.length>1){var c="";for(var q=0;q<g.length;q++){if(g[q].length=="1"){c+=k._getFormatValue(g[q])}else{c+=g[q]}if(q<g.length-1){c+=" "}}k.formatString=c}}if(k.element.nodeName.toLowerCase()=="input"){var m=k.element.getAttribute("type");if(m){if(k.formatString=="dd/MM/yyyy"){if(m=="date"){k.formatString="d"}if(m=="datetime"){var h=k._getFormatValue("d")+" "+k._getFormatValue("t");k.formatString=h;k.showTimeButton=true}if(m=="time"){k.formatString="t";k.showTimeButton=true;k.showCalendarButton=false}}}k.field=k.element;if(k.field.getAttribute("min")){var n=new Date(k.field.getAttribute("min"));if(k._isValidDate(n)){k.min=n}}if(k.field.getAttribute("max")){var p=new Date(k.field.getAttribute("max"));if(k._isValidDate(p)){k.max=p}}if(k.field.className){k._className=k.field.className}var j={title:k.field.title};if(k.field.value){j.value=k.field.value}if(k.field.id.length){j.id=k.field.id.replace(/[^\w]/g,"_")+"_jqxDateTimeInput"}else{j.id=a.jqx.utilities.createId()+"_jqxDateTimeInput"}var f=a("<div></div>",j);f[0].style.cssText=k.field.style.cssText;if(!k.width){k.width=a(k.field).width()}if(!k.height){k.height=a(k.field).outerHeight()}a(k.field).hide().after(f);var u=k.host.data();k.host=f;k.host.data(u);k.element=f[0];k.element.id=k.field.id;k.field.id=j.id;if(k._className){k.host.addClass(k._className);a(k.field).removeClass(k._className)}if(k.field.tabIndex){var e=k.field.tabIndex;k.field.tabIndex=-1;k.element.tabIndex=e}}if(k.host.attr("value")){l=true;var v=k.host.attr("value");if(k.selectionMode!="range"){var r=new Date(v);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}if(k.value!=null&&k.value instanceof Date){k.value=a.jqx._jqxDateTimeInput.getDateTime(k.value)}else{if(k.value!=null&&typeof(k.value)=="string"){var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}else{if(k.value.indexOf(",")>=0){k.value=k.value.replace(/\,/g,"/");var r=new Date(k.value);if(r!=undefined&&!isNaN(r)){k.value=a.jqx._jqxDateTimeInput.getDateTime(r)}}}}}this._initTimeRange();this._validateTimeRange();k.host.attr("data-role","input");k.render();a.jqx.aria(this);if(k.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+k.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}if(k.minDate!==k.defaultMinDate){k.min=k.minDate}if(k.maxDate!==k.defaultMaxDate){k.max=k.maxDate}k.setMaxDate(k.max,false);k.setMinDate(k.min,false);if(k.selectionMode!=="range"&&k.value&&k.value.dateTime&&k.min&&k.max&&(k.value.dateTime<k.min||k.value.dateTime>k.max)){if(k.value.dateTime<k.min){k.value.dateTime=k.min}if(k.value.dateTime>k.max){k.value.dateTime=k.max}k._updateText()}if(k.selectionMode=="range"){if(l){var v=k.host.attr("value");var t=v.substring(0,v.indexOf("-"));var s=v.substring(v.indexOf("-")+1);var o=new Date(t);var b=new Date(s);if(o!=undefined&&!isNaN(o)){if(b!=undefined&&!isNaN(b)){k.setRange(o,b)}}}else{if(k.getDate()!=null){k.setRange(k.getDate(),k.getDate())}}}},_validateTimeRange:function(){if(this.timeRange){var b=this.value.dateTime.getHours();var c=this.value.dateTime.getMinutes();if(b<=this.timeRange.minHour){this.value._setHours(this.timeRange.minHour);if(c<this.timeRange.minMinute){this.value._setMinutes(this.timeRange.minMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}if(b>=this.timeRange.maxHour){this.value._setHours(this.timeRange.maxHour);if(c>this.timeRange.maxMinute){this.value._setMinutes(this.timeRange.maxMinute);this._updateEditorsValue()}else{this._updateEditorsValue()}}}},_initTimeRange:function(){if(this.timeRange){if(this.timeRange.min){var c=null;if(this.timeRange.min.indexOf("AM")>=0||this.timeRange.min.indexOf("PM")>=0){c=this.timeRange.min.indexOf("AM")>=0?"AM":"PM"}var d=this.timeRange.min.split(":");var b=parseInt(d[0]);var f=parseInt(d[1]);if(c){this.timeRange.minDefaultHour=b;this.timeRange.minMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.minHour=b;this.timeRange.minMinute=f}if(this.timeRange.max){var c=null;if(this.timeRange.max.indexOf("AM")>=0||this.timeRange.max.indexOf("PM")>=0){c=this.timeRange.max.indexOf("AM")>=0?"AM":"PM"}var e=this.timeRange.max.split(":");var b=parseInt(e[0]);var f=parseInt(e[1]);if(c){this.timeRange.maxDefaultHour=b;this.timeRange.maxMeridian=c}if(c&&c=="PM"){b+=12}this.timeRange.maxHour=b;this.timeRange.maxMinute=f}}},_format:function(d,e,b){var f=false;try{if(window.Globalize!=undefined){f=true}if(document.Globalize){window.Globalize=document.Globalize;f=true}}catch(c){if(document.Globalize){window.Globalize=document.Globalize;f=true}}if(document.Globalize){window.Globalize=document.Globalize;f=true}if(a.global){return a.global.format(d,e,this.culture)}else{if(f){try{var e=window.Globalize.format(d,e,this.culture);return e}catch(c){return window.Globalize.format(d,e)}}else{if(a.jqx.dataFormat){if(d instanceof Date){return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}else{if(typeof d==="number"){return a.jqx.dataFormat.formatnumber(d,e,this.localization.calendar)}else{return a.jqx.dataFormat.formatdate(d,e,this.localization.calendar)}}}else{throw new Error("jqxDateTimeInput: Missing reference to globalize.js.")}}}},render:function(){var k=this;k._removeHandlers();k.element.innerHTML="";k.host.attr({role:"textbox"});k.id=a.jqx.utilities.createId();var f=a.jqx.utilities.createId();var j=a.jqx.utilities.createId();k._setSize();if(k.width==null){k.width=k.host.width();k.host.width(k.width)}k.touch=a.jqx.mobile.isTouchDevice();var c=a("<div class='jqx-max-size jqx-position-relative'></div>").appendTo(k.host);k.dateTimeInput=a("<input style='border: none; padding-left: 3px; padding-right: 3px;' class='jqx-position-absolute' id='input"+k.element.id+"' autocomplete='off' type='textarea'/>").appendTo(c);k.dateTimeInput.addClass(k.toThemeProperty("jqx-reset"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-clear"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-widget-content"));k.dateTimeInput.addClass(k.toThemeProperty("jqx-rc-all"));if(!k.isMaterialized()){k.dateTimeInput.attr("placeHolder",k.placeHolder)}if(k.renderMode!="full"){k.dateTimeInput.remove()}var d=k.host.attr("name");if(d){k.dateTimeInput.attr("name",d)}if(k.host.attr("tabindex")){k.dateTimeInput.attr("tabindex",k.host.attr("tabindex"));k.host.removeAttr("tabindex")}if(k.rtl){k.dateTimeInput.css("direction","rtl");k.dateTimeInput.addClass("jqx-rtl")}k.calendarButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.calendarButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.calendarButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.calendarButtonIcon=a(k.calendarButton.children()[0]);k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.calendarButtonIcon.addClass(k.toThemeProperty("jqx-icon-calendar"));k.calendarButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){if(!k.showTimeButton){k.calendarButton.addClass(k.toThemeProperty("jqx-rc-r"))}}else{k.calendarButton.addClass(k.toThemeProperty("jqx-rc-l"))}k.timeButton=a("<div style='height: 100%;' class='jqx-position-absolute'><div></div></div>").appendTo(c);if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-action-button"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-action-button-rtl"))}k.timeButtonIcon=a(k.timeButton.children()[0]);k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon"));k.timeButtonIcon.addClass(k.toThemeProperty("jqx-icon-time"));k.timeButton.addClass(k.toThemeProperty("jqx-fill-state-normal"));if(!k.rtl){k.timeButton.addClass(k.toThemeProperty("jqx-rc-r"))}else{k.timeButton.addClass(k.toThemeProperty("jqx-rc-l"))}var m=this;k._arrange();if(a.jqx._jqxCalendar!=null&&a.jqx._jqxCalendar!=undefined){try{var i="calendar"+k.id;var h=a(a.find("#"+i));if(h.length>0){h.remove()}a.jqx.aria(this,"aria-owns",i);a.jqx.aria(this,"aria-haspopup",true);a.jqx.aria(this,"aria-readonly",k.selectionMode=="range"?true:false);var b=a("<div style='overflow: hidden; background: transparent; position: absolute;' id='calendar"+k.id+"'><div id='innerCalendar"+k.id+"'></div><div id='innerTime"+k.id+"'></div></div>");if(a.jqx.utilities.getBrowser().browser=="opera"){b.hide()}if(k.dropDownContainer=="element"){b.appendTo(k.host)}else{b.appendTo(document.body)}k.container=b;k.calendarContainer=a(a.find("#innerCalendar"+k.id)).jqxCalendar({titleFormat:this.titleFormat,restrictedDates:this.restrictedDates,changing:k.changing,change:k.change,enableViews:k.enableViews,selectableDays:k.selectableDays,views:k.views,rowHeaderWidth:k.rowHeaderWidth,titleHeight:k.titleHeight,columnHeaderHeight:k.columnHeaderHeight,_checkForHiddenParent:false,enableAutoNavigation:false,canRender:false,localization:k.localization,todayString:k.todayString,clearString:k.clearString,dayNameFormat:k.dayNameFormat,rtl:k.rtl,culture:k.culture,showFooter:k.showFooter,selectionMode:k.selectionMode,firstDayOfWeek:k.firstDayOfWeek,showWeekNumbers:k.showWeekNumbers,width:k.dropDownWidth,height:k.dropDownHeight,theme:k.theme});if(k.dropDownContainer=="element"){k.calendarContainer.css({position:"absolute",top:0,left:0})}else{k.calendarContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0})}k.calendarContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.calendarContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k.timeContainer=a(a.find("#innerTime"+k.id));k.timeContainer.css({position:"absolute",zIndex:k.popupZIndex,top:0,left:0});k.timeContainer.addClass(k.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){k.timeContainer.addClass(k.toThemeProperty("jqx-noshadow"))}k._calendar=a.data(k.calendarContainer[0],"jqxCalendar").instance;var m=this;k._calendar.today=function(){m.today()};k._calendar.clear=function(){m.clear()};if(a.jqx.utilities.getBrowser().browser=="opera"){b.show()}b.height(parseInt(k.calendarContainer.height())+25);b.width(parseInt(k.calendarContainer.width())+25);if(k.selectionMode=="range"){k.readonly=true}if(k.animationType=="none"){k.container.css("display","none")}else{k.container.hide()}}catch(l){}}if(a.global){a.global.preferCulture(k.culture)}k.selectedText="";k._addHandlers();k.self=this;k.oldValue=k.getDate();k.items=new Array();k.editors=new Array();k._loadItems();k.editorText="";if(k.readonly==true){k.dateTimeInput.css("readonly",k.readonly)}k.dateTimeInput.css("text-align",k.textAlign);k.host.addClass(k.toThemeProperty("jqx-widget"));k.host.addClass(k.toThemeProperty("jqx-datetimeinput"));k.host.addClass(k.toThemeProperty("jqx-input"));k.host.addClass(k.toThemeProperty("jqx-overflow-hidden"));k.host.addClass(k.toThemeProperty("jqx-rc-all"));k.host.addClass(k.toThemeProperty("jqx-reset"));k.host.addClass(k.toThemeProperty("jqx-clear"));k.host.addClass(k.toThemeProperty("jqx-widget-content"));k.propertyChangeMap.disabled=function(e,p,o,q){if(q){e.host.addClass(m.toThemeProperty("jqx-input-disabled"));e.host.addClass(m.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(m.toThemeProperty("jqx-fill-state-disabled"));e.host.removeClass(m.toThemeProperty("jqx-input-disabled"))}a.jqx.aria(e,"aria-disabled",q)};if(k.disabled){k.host.addClass(k.toThemeProperty("jqx-input-disabled"));k.host.addClass(k.toThemeProperty("jqx-fill-state-disabled"));k.dateTimeInput.attr("disabled",true)}if(k.host.parents("form").length>0){k.addHandler(k.host.parents("form"),"reset",function(){setTimeout(function(){m.setDate(new Date())},10)})}if(k.cookies){var g=a.jqx.cookie.cookie("jqxDateTimeInput"+k.element.id);if(g!=null){k.setDate(new Date(g))}}if(a.jqx.browser.msie&&a.jqx.browser.version<8){if(k.host.parents(".jqx-window").length>0){var n=k.host.parents(".jqx-window").css("z-index");k.container.css("z-index",n+10);k.calendarContainer.css("z-index",n+10)}}if(k.culture!="default"){k._applyCulture()}if(k.value){if(k.calendarContainer.jqxCalendar("_isDisabled",k.value.dateTime)){k.dateTimeInput.addClass(k.toThemeProperty("jqx-input-invalid"))}else{k.dateTimeInput.removeClass(k.toThemeProperty("jqx-input-invalid"))}}this._addBarAndLabel(this.dateTimeInput);this._updateHint(true);if(k.template){k.bar.addClass(k.toThemeProperty("jqx-"+k.template));k.label.addClass(k.toThemeProperty("jqx-"+k.template));k.timeButton.addClass(k.toThemeProperty("jqx-"+k.template));k.calendarButton.addClass(k.toThemeProperty("jqx-"+k.template))}this._setSize();this._arrange()},val:function(c){var b=this;if(arguments.length!=0){if(c==null){b.setDate(null)}if(b.selectionMode=="range"){b.setRange(arguments[0],arguments[1]);return b.getText()}if(c instanceof Date){b.setDate(c)}if(typeof(c)=="string"){if(c=="date"){return b.getDate()}b.setDate(c)}if(b._calendar.getDate()!=b.getDate()){b._calendar.setDate(b.getDate())}}return b.getText()},_setSize:function(){var b=window.getComputedStyle(this.element);var c=parseInt(b.borderLeftWidth)*2;var h=b.boxSizing;if(this.element.offsetWidth===0){c=2}if(h==="border-box"||isNaN(c)){c=0}if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.element.style.width=parseInt(this.width)-c+"px"}else{if(this.width!=undefined&&!isNaN(this.width)){this.element.style.width=parseInt(this.width)-c+"px"}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.element.style.height=parseInt(this.height)-c+"px"}else{if(this.height!=undefined&&!isNaN(this.height)){this.element.style.height=parseInt(this.height)-c+"px"}}var g=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){g=true;this.host.width(this.width);if(c>0){this.host.css("box-sizing","border-box")}}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){g=true;this.host.height(this.height)}var e=this;var f=function(){if(e.calendarContainer){e._arrange()}};if(g){if(this.calendarContainer){this._arrange();var d=this.host.width();if(this.dropDownWidth!="auto"){d=this.dropDownWidth}this.calendarContainer.jqxCalendar({width:d});this.container.width(parseInt(d)+25)}}a.jqx.utilities.resize(this.host,function(){f()})},_arrange:function(){if(this.height==null){this.height=27;this.host.height(27)}var e=parseInt(this.host.width());var m=parseInt(this.host.height());var i=window.getComputedStyle(this.element);var g=parseInt(i.borderLeftWidth)*2;var f=i.boxSizing;if(f==="border-box"||isNaN(g)){g=0}var k=this.buttonSize;var h=2;if(!this.showCalendarButton&&!this.showTimeButton){k=0;var l=0;this.calendarButton.hide();h=0}if(!this.showCalendarButton){this.calendarButton.hide()}else{this.calendarButton.show()}if(!this.showTimeButton){this.timeButton.hide()}else{this.timeButton.show()}var b=e-k-1*h;if(this.showTimeButton&&this.showCalendarButton){var b=e-2*k-1*h}else{if(this.showTimeButton||this.showCalendarButton){var b=e-k-1*h}}if(b>0){this.dateTimeInput[0].style.width=b+"px"}if(this.rtl){this.dateTimeInput[0].style.width=(-1+b+"px")}this.dateTimeInput[0].style.left="0px";this.dateTimeInput[0].style.top="0px";this.calendarButton[0].style.width=k+1+"px";this.calendarButton[0].style.left=1+b+"px";this.timeButton[0].style.width=k+1+"px";if(this.showCalendarButton){this.timeButton[0].style.left=1+this.calendarButton.width()+b+"px"}else{this.timeButton[0].style.left=1+b+"px"}if(this.renderMode!="full"){this.calendarButton[0].style.width="100%";this.calendarButton[0].style.left="0px";this.calendarButton.css("border","none");this.timeButton[0].style.width="100%";this.timeButton[0].style.left="0px";this.timeButton.css("border","none")}var d=this.dateTimeInput.height();if(d==0&&this.renderMode!="full"){d=parseInt(this.dateTimeInput.css("font-size"))+3;this.calendarButton.addClass(this.toThemeProperty("jqx-rc-all"));this.timeButton.addClass(this.toThemeProperty("jqx-rc-all"))}else{d=17}if(this.dateTimeInput[0].className.indexOf("jqx-rc-all")==-1){this.dateTimeInput.addClass(this.toThemeProperty("jqx-rc-all"))}var j=parseInt(m)/2-parseInt(d)/2;if(j>0){var n=this.dateTimeInput.css("font-size");if(""==n){n=13}var j=m-2-parseInt(n)-2;if(isNaN(j)){j=0}if(j<0){j=0}var c=j/2;if(a.jqx.browser.msie&&a.jqx.browser.version<8){c=j/4}this.dateTimeInput[0].style.paddingTop=Math.round(c)+"px";this.dateTimeInput[0].style.paddingBottom=Math.round(c)+"px"}if(this.rtl){this.calendarButton[0].style.width=k+"px";this.timeButton[0].style.width=k+"px";this.calendarButton.css("left","0px");if(this.showCalendarButton){this.timeButton.css("left",k+"px")}else{this.timeButton.css("left","0px")}this.dateTimeInput.css("left",this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",this.timeButton.width()+this.calendarButton.width())}if(a.jqx.browser.msie&&a.jqx.browser.version<=8){this.dateTimeInput.css("left",1+this.calendarButton.width());if(this.showTimeButton&&this.showCalendarButton){this.dateTimeInput.css("left",1+this.timeButton.width()+this.calendarButton.width())}}}},_removeHandlers:function(){var b=this;this.removeHandler(a(document),"mousedown."+this.id);if(this.dateTimeInput){this.removeHandler(this.dateTimeInput,"keydown."+this.id);this.removeHandler(this.dateTimeInput,"blur");this.removeHandler(this.dateTimeInput,"focus");this.removeHandler(this.host,"focus");this.removeHandler(this.dateTimeInput,"mousedown");this.removeHandler(this.dateTimeInput,"mouseup");this.removeHandler(this.dateTimeInput,"keydown");this.removeHandler(this.dateTimeInput,"keyup");this.removeHandler(this.dateTimeInput,"keypress")}if(this.calendarButton!=null){this.removeHandler(this.calendarButton,"mousedown")}if(this.timeButton!=null){this.removeHandler(this.timeButton,"mousedown")}if(this.calendarContainer!=null){this.removeHandler(this.calendarContainer,"cellSelected");this.removeHandler(this.calendarContainer,"cellMouseDown")}this.removeHandler(a(window),"resize."+this.id)},isOpened:function(){var c=this;var b=a.data(document.body,"openedJQXCalendar"+this.id);if(b!=null&&b==c.calendarContainer){return true}return false},wheel:function(d,c){if(!c.isEditing){return}c.changeType="mouse";var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(!b){if(d.preventDefault){d.preventDefault()}d.returnValue=false;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(b){if(b<0){this.spinDown()}else{this.spinUp()}return false},focus:function(){try{var c=this;c._firstFocusDate=c.getDate();this._setSelectionStart(0);this._selectGroup(-1);this.dateTimeInput.focus();setTimeout(function(){c._setSelectionStart(0);c._selectGroup(-1);c.dateTimeInput.focus()},25)}catch(b){}},_addHandlers:function(){var e=this.element.id;var c=this.element;var d=this;if(this.host.parents()){this.addHandler(this.host.parents(),"scroll.datetimeinput"+this.element.id,function(f){var g=d.isOpened();if(g){d.close()}})}this.addHandler(this.host,"mouseenter",function(){if(!d.disabled&&d.enableHover){var f=true;d.calendarButtonIcon.addClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.addClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.addClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.addClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mouseleave",function(){if(!d.disabled&&d.enableHover){d.calendarButtonIcon.removeClass(d.toThemeProperty("jqx-icon-calendar-hover"));d.calendarButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"));if(d.showTimeButton){d.timeButtonIcon.removeClass(d.toThemeProperty("jqx-icon-time-hover"));d.timeButton.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}}});this.addHandler(this.host,"mousewheel",function(f){d.wheel(f,d)});this.addHandler(a(document),"mousedown."+this.id,this._closeOpenedCalendar,{me:this});if(a.jqx.mobile.isTouchDevice()){this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id,this._closeOpenedCalendar,{me:this})}this.addHandler(this.dateTimeInput,"keydown."+this.id,function(h){var g=a.data(document.body,"openedJQXCalendar"+d.id);if(g!=null&&g==d.calendarContainer){var f=d.handleCalendarKey(h,d);return f}});if(this.calendarContainer!=null){this.addHandler(this.calendarContainer,"keydown",function(f){if(f.keyCode==13){if(d.isOpened()){if(!d._calendar._viewAnimating&&d._calendar.view=="month"){d.hideCalendar("selected","keyboard");d.dateTimeInput.focus();return false}}return true}else{if(f.keyCode==9){if(d.isOpened()){d.hideCalendar("selected","keyboard");return true}}else{if(f.keyCode==27){if(d.isOpened()){d.hideCalendar(null,"keyboard");d.dateTimeInput.focus();return false}return true}}}d.timePopup=false;if(f.keyCode==84){d.timePopup=true}if(f.keyCode==115){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}else{if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}if(f.altKey){if(f.keyCode==38){if(d.isOpened()){d.hideCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}else{if(f.keyCode==40){if(!d.isOpened()){d.showCalendar("keyboard","keyboard");d.dateTimeInput.focus();return false}}}}});this.addHandler(this.calendarContainer,"cellSelected",function(g){if(d.closeCalendarAfterSelection){var f=a.data(document.body,"openedJQXCalendarValue");if(g.args.selectionType=="mouse"){if(d.selectionMode!="range"){d.hideCalendar("selected","mouse")}else{if(d._calendar._clicks==0){d.hideCalendar("selected","mouse")}}}}});this.addHandler(this.calendarContainer,"cellMouseDown",function(f){if(d.closeCalendarAfterSelection){if(d._calendar.value){a.data(document.body,"openedJQXCalendarValue",new a.jqx._jqxDateTimeInput.getDateTime(d._calendar.value.dateTime))}}})}this.addHandler(this.dateTimeInput,"blur",function(h){d.bar.removeClass("focused");d.label.removeClass("focused");if(d.value!=null){d.isEditing=false;var g=d.value.dateTime.getDay();var f=d._oldDT;d._validateValue(true);if(h.stopPropagation){h.stopPropagation()}d._updateText();d._raiseEvent(9,h)}if(!d.isOpened()){d.host.removeClass(d.toThemeProperty("jqx-fill-state-focus"))}});this.addHandler(this.host,"focus",function(f){d.focus()});this.addHandler(this.dateTimeInput,"focus",function(f){d._firstFocusDate=d.getDate();if(d.value!=null){if(d.selectionMode!="range"){d._oldDT=new Date(d.value.dateTime)}else{d._oldDT=d.getRange()}setTimeout(function(){var g=d._selection();d.isEditing=true;d._validateValue();d._updateText();d._setSelectionStart(0);d._selectGroup(-1,g);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))})}else{d._setSelectionStart(0);d._selectGroup(-1);d.host.addClass(d.toThemeProperty("jqx-fill-state-focus"))}if(f.stopPropagation){f.stopPropagation()}d.bar.addClass("focused");d.label.addClass("focused");if(f.preventDefault){f.preventDefault();return false}});var b="mousedown";if(this.touch){b=a.jqx.mobile.getTouchEventName("touchstart")}this.addHandler(this.calendarButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=false;d.calendarPopup=true;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar();return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.timeButton,b,function(g){var h=d.container;var f=h.css("display")=="block";d.timePopup=true;d.calendarPopup=false;if(!d.disabled){if(!d.isanimating){if(f){d.hideCalendar("mouse","mouse");return false}else{d.showCalendar("mouse");g.preventDefault()}}}});this.addHandler(this.dateTimeInput,"mousedown",function(f){return d._raiseEvent(2,f)});this.addHandler(this.dateTimeInput,"mouseup",function(f){return d._raiseEvent(3,f)});this.addHandler(this.dateTimeInput,"keydown",function(f){return d._raiseEvent(4,f)});this.addHandler(this.dateTimeInput,"keyup",function(f){return d._raiseEvent(5,f)});this.addHandler(this.dateTimeInput,"keypress",function(f){return d._raiseEvent(6,f)})},createID:function(){var b=Math.random()+"";b=b.replace(".","");b="99"+b;b=b/1;return"dateTimeInput"+b},setMaxDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.maxDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMaxDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()>b){this.setDate(b)}a.jqx.aria(this,"aria-valuemax",b);this._refreshValue();this._updateText()}},getMaxDate:function(){if(this.maxDate!=null&&this.maxDate!=undefined){return this.maxDate.dateTime}return null},setMinDate:function(b,c){if(b==null){return}if(b!=null&&typeof(b)=="string"){b=new Date(b);if(!this._isValidDate(b)){return}}this.minDate=a.jqx._jqxDateTimeInput.getDateTime(b);if(this._calendar!=null){this._calendar.setMinDate(b)}if(c!=false){if(this.getDate()!=null&&this.getDate()<b){this.setDate(b)}a.jqx.aria(this,"aria-valuemin",b);this._refreshValue();this._updateText()}},getMinDate:function(){if(this.minDate!=null&&this.minDate!=undefined){return this.minDate.dateTime}return null},_applyCulture:function(){var d=false;try{if(window.Globalize!=undefined){d=true}}catch(c){}try{if(a.global){a.global.preferCulture(this.culture);this.localization.calendar=a.global.culture.calendar}else{if(d){var b=Globalize.culture(this.culture);this.localization.calendar=b.calendar}}this._loadItems();if(this._calendar!=null){this._calendar.culture=this.culture;this._calendar.localization=this.localization;this._calendar.render()}}catch(c){}},propertyMap:function(b){if(b=="value"){if(this.selectionMode!="range"){return this.getDate()}else{return this.getRange()}}return null},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.refresh();d.close()}},propertyChangedHandler:function(c,d,f,e){if(c.isInitialized==undefined||c.isInitialized==false){return}if(c.batchUpdate&&c.batchUpdate.width&&c.batchUpdate.height&&Object.keys(c.batchUpdate).length==2){return}if(d=="dropDownVerticalAlignment"){c.close()}if(d=="template"){c.bar.removeClass(c.toThemeProperty("jqx-"+f));c.label.removeClass(c.toThemeProperty("jqx-"+f));c.timeButton.removeClass(c.toThemeProperty("jqx-"+f));c.calendarButton.removeClass(c.toThemeProperty("jqx-"+f));c.bar.addClass(c.toThemeProperty("jqx-"+c.template));c.label.addClass(c.toThemeProperty("jqx-"+c.template));c.timeButton.addClass(c.toThemeProperty("jqx-"+c.template));c.calendarButton.addClass(c.toThemeProperty("jqx-"+c.template))}if(d=="restrictedDates"){c.calendarContainer.css({restrictedDates:e})}if(d=="popupZIndex"){c.calendarContainer.css({zIndex:e})}if(d=="showCalendarButton"){c._arrange()}if(d=="showTimeButton"){c._arrange();if(c.timePopupElement){c.timePopupElement.remove();c.timePopupElement=null}}if(d=="selectionMode"){c._calendar.selectionMode=e;c.refreshValue()}if(d=="min"){if(typeof(e)=="string"){c.setMinDate(new Date(e))}else{c.setMinDate(e)}}if(d=="max"){if(typeof(e)=="string"){c.setMaxDate(new Date(e))}else{c.setMaxDate(e)}}if(d=="value"){if(e!=null&&e instanceof Date){if(isNaN(e.getFullYear())||isNaN(e.getMonth())||isNaN(e.getDate())){this.value=f;return}e=a.jqx._jqxDateTimeInput.getDateTime(e)}else{if(e!=null&&typeof(e)=="string"){var b=new Date(e);if(b!=undefined&&!isNaN(b)){this.value=a.jqx._jqxDateTimeInput.getDateTime(b)}}}}if(d=="views"){c.calendarContainer.jqxCalendar({views:e})}if(d=="enableViews"){c.calendarContainer.jqxCalendar({enableViews:e})}if(d=="selectableDays"){c.calendarContainer.jqxCalendar({selectableDays:e})}if(d=="showFooter"){c.calendarContainer.jqxCalendar({showFooter:e})}if(d=="rtl"){c.calendarContainer.jqxCalendar({rtl:e});if(e){c.dateTimeInput.css("direction","rtl");c.dateTimeInput.addClass("jqx-rtl")}else{c.dateTimeInput.css("direction","ltr");c.dateTimeInput.removeClass("jqx-rtl")}}if(d=="todayString"||d=="clearString"){c.calendarContainer.jqxCalendar({clearString:c.clearString,todayString:c.todayString})}if(d=="dayNameFormat"){c.calendarContainer.jqxCalendar({dayNameFormat:e})}if(d=="firstDayOfWeek"){c.calendarContainer.jqxCalendar({firstDayOfWeek:e})}if(d=="showWeekNumbers"){c.calendarContainer.jqxCalendar({showWeekNumbers:e})}if(d=="culture"||d=="localization"){c._applyCulture()}else{if(d=="formatString"){c.items=new Array();c._loadItems()}}if(d=="theme"){a.jqx.utilities.setTheme(f,e,c.host);c.calendarContainer.jqxCalendar({theme:e})}if(d=="width"||d=="height"){c.close();c.refresh();return}c._setOption(d,e,f);if(d=="dropDownWidth"||d=="dropDownHeight"){c.calendarContainer.jqxCalendar({width:c.dropDownWidth,height:c.dropDownHeight});c._calendar.render();c.container.height(c.calendarContainer.height());c.container.width(c.calendarContainer.width())}},clear:function(){if(this.allowNullDate){if(this.selectionMode!="range"){this.setDate(null)}else{this._calendar._clicks=1;this.setRange(null,null)}this._calendar._clicks=0}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this._calendar._clicks=1;this.setRange(this.getMinDate(),this.getMinDate());this._calendar._clicks=0}}this.hideCalendar()},today:function(){var c=new Date();c.setHours(0,0,0,0);if(this.selectionMode!="range"){this.setDate(c)}else{this._calendar._clicks=0;var b=new Date();b.setHours(23,59,59,0);this.setRange(c,b);this._calendar._clicks=0}this.hideCalendar()},_isValidDate:function(b){if(b==null){return true}if(typeof(b)!=="object"){return false}if(b!==null&&b.getFullYear){return true}if(b=="Invalid Date"||b.valueOf()<0||isNaN(b.valueOf())){return false}return true},setDate:function(d){var e=this.getDate();if(d!=null&&typeof(d)=="string"){var f=d;if(d.toString().indexOf(",")>=0){d=d.replace(/\,/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}}if(d.toString().indexOf("-")>=0){d=d.replace(/\-/g,"/");d=new Date(d);if(!this._isValidDate(d)){d=f}if(d.getFullYear&&isNaN(d.getFullYear)){d=f}}if(d!=""){var c=d;if(window.Globalize!=undefined){d=window.Globalize.parseDate(c,this.formatString,this.culture)}else{if(a.jqx.dataFormat){d=a.jqx.dataFormat.parsedate(c,this.formatString,this.localization.calendar)}else{d=new Date(d)}}if(d===null&&c!==null){if(this._isValidDate(c)){d=c}}if(!this._isValidDate(d)){return}}}if(d==null||d=="null"||d=="undefined"){if(!this.allowNullDate){d=this.min}}if(!this._isValidDate(d)){d=null}if(d==null||d=="null"||d=="undefined"||d===""){if(this.value!=null){this.value=null;this._calendar.setDate(null);this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}this._setSelectionStart(0);this._selectGroup(-1);this._raiseEvent("0",d,e);this._raiseEvent("9",d,e)}return}if(d<this.getMinDate()||d>this.getMaxDate()){return}if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}if(d.getFullYear){this.value._setYear(d.getFullYear());this.value._setDay(1);this.value._setMonth(d.getMonth()+1);this.value._setHours(d.getHours());this.value._setMinutes(d.getMinutes());this.value._setSeconds(d.getSeconds());this.value._setMilliseconds(d.getMilliseconds());this.value._setDay(d.getDate())}this._validateTimeRange();this._refreshValue();if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}var b=this.getDate();var g=(b-e);if(g!=0){this._raiseEvent("0",d,e);this._raiseEvent("9",d,e);return true}},getDate:function(){if(this.value==undefined){return null}return new Date(this.value.dateTime)},getText:function(){return this.dateTimeInput.val()},setRange:function(d,c){if(typeof(d)=="object"&&!this._isValidDate(d)){d=null}if(typeof(c)=="object"&&!this._isValidDate(c)){c=null}if(d!=null&&typeof(d)=="string"){d=new Date(d);if(!this._isValidDate(d)){return}}if(c!=null&&typeof(c)=="string"){c=new Date(c);if(!this._isValidDate(c)){return}}if(d&&isNaN(d)&&d.toString()=="NaN"&&typeof(d)!="string"){return}if(c&&isNaN(c)&&c.toString()=="NaN"&&typeof(c)!="string"){return}this._calendar.setRange(d,c);if(c&&d&&(c.valueOf()!=d.valueOf())){this._range={from:d,to:c}}else{this._range=this._calendar.getRange()}var b=d;if(b!=null&&b.getFullYear){if(this.value==null){this.value=new a.jqx._jqxDateTimeInput.getDateTime(new Date());this.value._setHours(0);this.value._setMinutes(0);this.value._setSeconds(0);this.value._setMilliseconds(0)}this.value._setYear(b.getFullYear());this.value._setMonth(b.getMonth()+1);this.value._setHours(b.getHours());this.value._setMinutes(b.getMinutes());this.value._setSeconds(b.getSeconds());this.value._setMilliseconds(b.getMilliseconds());this.value._setDay(b.getDate())}this._refreshValue();if(this.value){this._raiseEvent("0",this.value.dateTime)}else{this._raiseEvent("0",null)}},getRange:function(){var b=this._calendar.getRange();if(this._range){var d=this._range.from;var c=this._range.to;if(c&&d&&(c.valueOf()!=d.valueOf())){if(b.from){b.from.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds())}if(b.to){b.to.setHours(c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds())}}}return b},_validateValue:function(e){var b=false;for(var d=0;d<this.items.length;d++){var c=this.editors[d].value;switch(this.items[d].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>999){c=999}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(this.editors[d].value!=c){this.editors[d].value=c;b=true}}this.updateValue(e);if(this.value!=null&&e===true){if(this.value.dateTime>this.maxDate.dateTime){this._internalSetValue(this.maxDate);this._updateEditorsValue()}else{if(this.value.dateTime<this.minDate.dateTime){this._internalSetValue(this.minDate);this._updateEditorsValue()}}this._updateText()}},spinUp:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.increaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},spinDown:function(){var d=this.value;if(d==null){return}if(this.activeEditor!=null){var b=this.editors.indexOf(this.activeEditor);if(b==-1){return}if(this.items[b].type=="Day"){if(this.value!=null){this.activeEditor.maxValue=this.value._daysInMonth(this.value.year,this.value.month)}}var c=this.activeEditor.positions;this.activeEditor.decreaseValue(this.enableAbsoluteSelection);this.activeEditor.positions=c}if(this.isEditing){this.isEditing=false}this.updateValue();this.isEditing=true;this._updateText();var e=this.editors.indexOf(this.activeEditor);if(e>=0){this._selectGroup(e)}},_passKeyToCalendar:function(c){if(c.keyCode==13||c.keyCode==9){this.hideCalendar("selected","keyboard");return true}else{if(c.keyCode==27){var e=this.calendarContainer;var d=this._calendar;var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;d.setDate(this.value.dateTime);this.closeCalendarAfterSelection=f;this.hideCalendar()}}var f=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;var b=this._calendar._handleKey(c);this.closeCalendarAfterSelection=f;return b},handleCalendarKey:function(f,e){var c=a(f.target);var d=a.data(document.body,"openedJQXCalendar"+this.id);if(d!=null){if(d.length>0){var b=e._passKeyToCalendar(f);return b}}return true},_findPos:function(c){if(c==null){return}while(c&&(c.type=="hidden"||c.nodeType!=1||a.expr.filters.hidden(c))){c=c.nextSibling}var b=a(c).coord(true);return[b.left,b.top]},testOffset:function(h,f,c){var g=h.outerWidth();var j=h.outerHeight();var i=a(window).width()+a(window).scrollLeft();var e=a(window).height()+a(window).scrollTop();if(f.left+g>i){if(g>this.host.width()){var d=this.host.coord().left;var b=g-this.host.width();f.left=d-b+2}}if(f.left<0){f.left=parseInt(this.host.coord().left)+"px"}f.top-=Math.min(f.top,(f.top+j>e&&e>j)?Math.abs(j+c+23):0);return f},open:function(b){if(b=="time"){this.timePopup=true}else{this.timePopup=false}this.showCalendar()},close:function(b){this.hideCalendar()},_getBodyOffset:function(){var c=0;var b=0;if(a("body").css("border-top-width")!="0px"){c=parseInt(a("body").css("border-top-width"));if(isNaN(c)){c=0}}if(a("body").css("border-left-width")!="0px"){b=parseInt(a("body").css("border-left-width"));if(isNaN(b)){b=0}}return{left:b,top:c}},initTimePopup:function(){this.timePopupElement=a("<div style='border-style: solid; border-width: 0px;'></div>").appendTo(this.timeContainer);this.timePopupElement.addClass(this.toThemeProperty("jqx-widget-content jqx-widget jqx-date-time-input-popup"));var s="";s+="<table><tbody><tr><td><a class='increment-hour-column' href='javascript:;' data-action='incrementHour'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-minute-column' href='javascript:;' data-action='incrementMinute'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-second-column' href='javascript:;' data-action='incrementSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td><a class='increment-millisecond-column' href='javascript:;' data-action='incrementMSSecond'><div class='jqx-icon-up'></div></a></td><td class='separator'>&nbsp;</td><td class='increment-meridian-column'><a href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-up'></div></a></td></tr><tr><td><input type='text' class='jqx-timepicker-hour' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-minute' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-second' maxlength='2'></td><td class='separator'>:</td><td><input type='text' class='jqx-timepicker-millisecond' maxlength='3'></td><td class='separator'>&nbsp;</td><td><input type='text' class='jqx-timepicker-meridian' maxlength='2'></td></tr><tr><td><a class='decrement-hour-column' href='javascript:;' data-action='decrementHour'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-minute-column' href='javascript:;' data-action='decrementMinute'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-second-column' href='javascript:;' data-action='decrementSecond'><div class='jqx-icon-down'></div></a></td><td class='separator'></td><td><a class='decrement-millisecond-column' href='javascript:;' data-action='decrementMillisecond'><div class='jqx-icon-down'></div></a></td><td class='separator'>&nbsp;</td><td><a class='decrement-meridian-column' href='javascript:;' data-action='toggleMeridian'><div class='jqx-icon-down'></div></a></td></tr></tbody></table>";var l=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){this.timePopupElement[0].innerHTML=s}else{this.timePopupElement[0].innerHTML="<table><tr><td>"+s+"</td><td>-</td><td>"+s+"</td></tr></table>"}this.timePopupElement.find(".jqx-icon-down").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-down"));this.timePopupElement.find(".jqx-icon-up").addClass(this.toThemeProperty("jqx-icon jqx-icon-arrow-up"));var g=this.timePopupElement.find("input");g.addClass(this.toThemeProperty("jqx-input"));g.addClass(this.toThemeProperty("jqx-rc-all"));this.addHandler(g,"mousedown",function(u){u.stopPropagation()});var e=function(u){if(u.target.className.indexOf("hour")>=0){m._decrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._decrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._decrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._decrementMeridian(a(u.target))}};var k=function(u){if(u.target.className.indexOf("hour")>=0){m._incrementHour(a(u.target))}if(u.target.className.indexOf("minute")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("second")>=0){m._incrementMinuteSecond(a(u.target))}if(u.target.className.indexOf("millisecond")>=0){m._incrementMillisecond(a(u.target))}if(u.target.className.indexOf("meridian")>=0){m._incrementMeridian(a(u.target))}};var r=function(v,u){if(!u.isEditing){return}var w=0;if(!v){v=window.event}if(v.originalEvent&&v.originalEvent.wheelDelta){v.wheelDelta=v.originalEvent.wheelDelta}if(v.originalEvent&&v.originalEvent.deltaY!=undefined){w=-v.originalEvent.deltaY}if(v.wheelDelta){w=v.wheelDelta/120}else{if(v.detail){w=-v.detail/3}}if(w){if(document.activeElement==v.target&&v.target.nodeName.toLowerCase()=="input"){if(w<0){e(v)}else{k(v)}}if(v.preventDefault){v.preventDefault()}v.returnValue=false}if(v.preventDefault){v.preventDefault()}v.returnValue=false};this.addHandler(g,"wheel",function(u){r(u,m)});this.addHandler(g,"keydown",function(v){var u=a(v.target);if(v.ctrlKey){if(v.keyCode==38){if(m.isOpened()){m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}else{if(v.keyCode==40){if(!m.isOpened()){m.showCalendar("keyboard","keyboard");m.dateTimeInput.focus();return false}}}}if(v.keyCode==40){e(v);v.preventDefault()}else{if(v.keyCode==38){k(v);v.preventDefault()}else{if(v.keyCode==13){v.preventDefault();m.hideCalendar("keyboard","keyboard");m.dateTimeInput.focus()}else{if(v.keyCode==27){v.preventDefault();m.hideCalendar("cancel");m.dateTimeInput.focus()}}}}});this.hourInput=a(g[0]);this.minuteInput=a(g[1]);this.secondInput=a(g[2]);this.mssecondInput=a(g[3]);this.meridianInput=a(g[4]);this.hourInput2=a(g[5]);this.minuteInput2=a(g[6]);this.secondInput2=a(g[7]);this.mssecondInput2=a(g[8]);this.meridianInput2=a(g[9]);var m=this;var o=this.timePopupElement.find(".increment-hour-column");this.hourIncrement=a(o[0]);this.hourIncrement2=a(o[1]);this.addHandler(g,"change",function(v){var u=a(v.target);if(u.val().length<=1){u.val("0"+a(v.target).val())}if(v.target.className.indexOf("hour")>=0){var w=parseInt(a(v.target).val());if(l.indexOf("HH")>=0){while(w>24){w=w-24}}else{while(w>12){w=w-12}}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}if(v.target.className.indexOf("minute")>=0||v.target.className.indexOf("second")>=0){var w=parseInt(a(v.target).val());while(w>59){w--}if(w<10){w="0"+w}if(u.val()!=w){u.val(w)}}});this._incrementHour=function(u){var v=parseInt(u.val());v++;if(l.indexOf("HH")>=0){if(v>23){v=0}}else{if(v>12){v=1}}if(v<10){v="0"+v}u.val(v)};this._incrementMinuteSecond=function(u){var v=parseInt(u.val());v++;if(v>59){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMillisecond=function(u){var v=parseInt(u.val());v++;if(v>999){v=0}if(v<10){v="0"+v}u.val(v)};this._incrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this._decrementHour=function(u){var v=parseInt(u.val());v--;if(l.indexOf("HH")>=0){if(v<0){v=23}}else{if(v<1){v=12}}if(v<10){v="0"+v}u.val(v)};this._decrementMinuteSecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=59}if(v<10){v="0"+v}u.val(v)};this._decrementMillisecond=function(u){var v=parseInt(u.val());v--;if(v<0){v=999}if(v<10){v="0"+v}u.val(v)};this._decrementMeridian=function(u){var v=u.val();if(v.toLowerCase().indexOf("a")>=0){v="PM"}else{v="AM"}u.val(v)};this.addHandler(this.hourIncrement,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput)});this.addHandler(this.hourIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementHour(m.hourInput2)});var p=this.timePopupElement.find(".increment-minute-column");this.minuteIncrement=a(p[0]);this.minuteIncrement2=a(p[1]);this.addHandler(this.minuteIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.minuteInput2)});var c=this.timePopupElement.find(".increment-second-column");this.secondIncrement=a(c[0]);this.secondIncrement2=a(c[1]);this.addHandler(this.secondIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput)});this.addHandler(this.secondIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMinuteSecond(m.secondInput2)});var d=this.timePopupElement.find(".increment-millisecond-column");this.millisecondsIncrement=a(d[0]);this.millisecondsIncrement2=a(d[1]);this.addHandler(this.millisecondsIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMillisecond(m.mssecondInput2)});var i=this.timePopupElement.find(".increment-meridian-column");this.meridianIncrement=a(i[0]);this.meridianIncrement2=a(i[1]);this.addHandler(this.meridianIncrement,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput)});this.addHandler(this.meridianIncrement2,"mousedown",function(u){u.stopPropagation();m._incrementMeridian(m.meridianInput2)});var n=this.timePopupElement.find(".decrement-hour-column");this.hourDecrement=a(n[0]);this.hourDecrement2=a(n[1]);this.addHandler(this.hourDecrement,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput)});this.addHandler(this.hourDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementHour(m.hourInput2)});var j=this.timePopupElement.find(".decrement-minute-column");this.minuteDecrement=a(j[0]);this.minuteDecrement2=a(j[1]);this.addHandler(this.minuteDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput)});this.addHandler(this.minuteDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.minuteInput2)});var t=this.timePopupElement.find(".decrement-second-column");this.secondDecrement=a(t[0]);this.secondDecrement2=a(t[1]);this.addHandler(this.secondDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput)});this.addHandler(this.secondDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMinuteSecond(m.secondInput2)});var b=this.timePopupElement.find(".decrement-millisecond-column");this.millisecondsDecrement=a(b[0]);this.millisecondsDecrement2=a(b[1]);this.addHandler(this.millisecondsDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput)});this.addHandler(this.millisecondsDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMillisecond(m.mssecondInput2)});var f=this.timePopupElement.find(".decrement-meridian-column");this.meridianDecrement=a(f[0]);this.meridianDecrement2=a(f[1]);this.addHandler(this.meridianDecrement,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput)});this.addHandler(this.meridianDecrement2,"mousedown",function(u){u.stopPropagation();m._decrementMeridian(m.meridianInput2)});var q=this.timePopupElement.find("table");this.addHandler(this.timePopupElement,"mousedown",function(u){u.stopPropagation()});var h=function(u){var v=u.find("tr");if(l.indexOf("mm")==-1){m.minuteInput.hide();m.minuteInput2.hide();a(a(v[0]).children()[1]).hide();a(a(v[0]).children()[2]).hide();a(a(v[1]).children()[1]).hide();a(a(v[1]).children()[2]).hide();a(a(v[2]).children()[1]).hide();a(a(v[2]).children()[2]).hide()}if(l.indexOf("ss")==-1){m.secondInput.hide();m.secondInput2.hide();a(a(v[0]).children()[3]).hide();a(a(v[0]).children()[4]).hide();a(a(v[1]).children()[3]).hide();a(a(v[1]).children()[4]).hide();a(a(v[2]).children()[3]).hide();a(a(v[2]).children()[4]).hide()}if(l.indexOf("tt")==-1&&l.indexOf("hh")==-1){m.meridianInput.hide();m.meridianInput2.hide();a(a(v[0]).children()[7]).hide();a(a(v[0]).children()[8]).hide();a(a(v[1]).children()[7]).hide();a(a(v[1]).children()[8]).hide();a(a(v[2]).children()[7]).hide();a(a(v[2]).children()[8]).hide()}if(l.indexOf("zz")==-1){m.mssecondInput.hide();m.mssecondInput2.hide();a(a(v[0]).children()[5]).hide();a(a(v[0]).children()[6]).hide();a(a(v[1]).children()[5]).hide();a(a(v[1]).children()[6]).hide();a(a(v[2]).children()[5]).hide();a(a(v[2]).children()[6]).hide()}};if(q.length==1){h(q)}else{h(a(a(q)[1]));h(a(a(q)[2]))}},updateTimePopup:function(){var b=this._getFormatValue(this.formatString);if(this.selectionMode!="range"){var f=this.getDate();if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}}else{var f=this.getRange().from;if(this.hourInput){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput.val(c);this.minuteInput.val(h);this.secondInput.val(e);this.mssecondInput.val(d);this.meridianInput.val(g)}var f=this.getRange().to;if(this.hourInput2){if(f){var c=f.getHours();var h=f.getMinutes();var g=f.getHours();var e=f.getSeconds();var d=f.getMilliseconds()}else{var c=0;var h=0;var g=0;var e=0;var d=0}if(c>=12){g="PM";if(b.indexOf("HH")==-1){c-=12;if(c==0){c=12}}}else{g="AM"}if(this.meridianInput.css("display")!="none"){if(c==0){c=12}}if(c<10){c="0"+c}if(h<10){h="0"+h}if(e<10){e="0"+e}if(d<10){d="0"+d}this.hourInput2.val(c);this.minuteInput2.val(h);this.secondInput2.val(e);this.mssecondInput2.val(d);this.meridianInput2.val(g)}}},showCalendar:function(){var o=this.calendarContainer;var s=this._calendar;a.jqx.aria(this,"aria-expanded",true);if(this.showTimeButton){if(this.timePopup){if(!this.timePopupElement){this.initTimePopup()}this.calendarContainer.css("visibility","hidden");this.timeContainer.css("visibility","visible");this.updateTimePopup();var d=this.timeContainer.find("input");var v=0;for(var z=0;z<d.length;z++){if(d[z].style.display!="none"){v+=50}}this.container.width(parseInt(v));if(!this.touch){setTimeout(function(){d[0].focus();a(d[0]).select()},150+this.openDelay)}}else{this.container.width(parseInt(this.calendarContainer.width())+25);this.timeContainer.css("visibility","hidden");this.calendarContainer.css("visibility","visible")}}if(this.value!=null){if(this.selectionMode!="range"){this._oldDT=new Date(this.value.dateTime)}else{this._oldDT=this.getRange()}}else{this._oldDT=null}if(!s.canRender){s.canRender=true;s.render()}var l=this.container;var r=this;var g=a(window).scrollTop();var h=a(window).scrollLeft();var p=parseInt(this._findPos(this.host[0])[1])+parseInt(this.host.outerHeight())-1+"px";var e,u=parseInt(Math.round(this.host.coord(true).left));if(this.dropDownContainer==="element"){p=parseInt(this.host.outerHeight())-1+"px";e=0}e=u+"px";var A=false;if((A!=null&&A)){e=a.jqx.mobile.getLeftPos(this.element);p=a.jqx.mobile.getTopPos(this.element)+parseInt(this.host.outerHeight());if(a("body").css("border-top-width")!="0px"){p=parseInt(p)-this._getBodyOffset().top+"px"}if(a("body").css("border-left-width")!="0px"){e=parseInt(e)-this._getBodyOffset().left+"px"}}this.container.css("left",e);this.container.css("top",p);var c=this.closeCalendarAfterSelection;this.closeCalendarAfterSelection=false;this.isEditing=false;if(r.selectionMode=="default"){this._validateValue();this._updateText();var w=this.value!=null?this.value.dateTime:new Date();s.setDate(w)}this.closeCalendarAfterSelection=c;var b=false;if(this.dropDownHorizontalAlignment=="right"||this.rtl){var k=this.container.outerWidth();var x=Math.abs(k-this.host.outerWidth()+2);if(!this.rtl){x-=2}if(k>this.host.width()){var f=23;this.container.css("left",f+parseInt(Math.round(u))-x+"px")}else{this.container.css("left",25+parseInt(Math.round(u))+x+"px")}}if(this.dropDownVerticalAlignment=="top"){var y=o.height();if(this.timePopup){this.timeContainer.css("top",this.container.height()-75)}b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"));var n=parseInt(this.host.outerHeight());var m=parseInt(p)-Math.abs(y+n+23);this.container.css("top",m)}if(this.enableBrowserBoundsDetection){var j=this.testOffset(o,{left:parseInt(this.container.css("left")),top:parseInt(p)},parseInt(this.host.outerHeight()));if(parseInt(this.container.css("top"))!=j.top){b=true;o.css("top",23);o.addClass(this.toThemeProperty("jqx-popup-up"))}else{o.css("top",0)}this.container.css("top",j.top);if(parseInt(this.container.css("left"))!=j.left){this.container.css("left",j.left)}}this._raiseEvent(7,o);if(this.animationType!="none"){this.container.css("display","block");var q=parseInt(o.outerHeight());o.stop();this.isanimating=true;this.opening=true;if(this.animationType=="fade"){o.css("margin-top",0);o.css("opacity",0);o.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()});if(this.timePopup){this.timeContainer.css("margin-top",0);this.timeContainer.css("opacity",0);this.timeContainer.animate({opacity:1},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}}else{o.css("opacity",1);if(this.timePopup){this.timeContainer.css("opacity",1)}if(b){o.css("margin-top",q)}else{o.css("margin-top",-q)}if(this.timePopup){if(b){this.timeContainer.css("margin-top",q)}else{this.timeContainer.css("margin-top",-q)}this.timeContainer.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.timeContainer.focus()})}o.animate({"margin-top":0},this.openDelay,function(){r.isanimating=false;r.opening=false;a.data(document.body,"openedJQXCalendar"+r.id,o);r.calendarContainer.focus()})}}else{o.stop();r.isanimating=false;r.opening=false;o.css("opacity",1);o.css("margin-top",0);this.container.css("display","block");a.data(document.body,"openedJQXCalendar"+r.id,o);this.calendarContainer.focus();if(this.timePopup){this.timeContainer.stop();this.timeContainer.css("opacity",1);this.timeContainer.css("margin-top",0);this.timeContainer.focus()}}if(this.value==null){if(this._calendar&&this._calendar._getSelectedCell()){this._calendar._getSelectedCell().isSelected=false}}if(this.timePopup){this.timeButtonIcon.addClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.timeContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}else{this.calendarButtonIcon.addClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarContainer.addClass(this.toThemeProperty("jqx-fill-state-focus"))}this.host.addClass(this.toThemeProperty("jqx-fill-state-focus"))},hideCalendar:function(j,o){if(o){this.changeType=o}var h=this.calendarContainer;var b=this.container;var p=this;a.jqx.aria(this,"aria-expanded",false);if(this.showTimeButton){if(this.timeContainer.css("visibility")!="hidden"&&j!="cancel"){if(this.selectionMode!="range"&&this.hourInput){var e=this.getDate();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}if(!e){e=new Date()}e.setHours(g,f,c,q);this.setDate(e)}else{if(this.hourInput&&j!="selected"){var i=this.getRange();var g=parseInt(this.hourInput.val());var f=parseInt(this.minuteInput.val());var c=parseInt(this.secondInput.val());var q=parseInt(this.mssecondInput.val());var d=this.meridianInput.val();if(isNaN(g)){g=0}if(isNaN(f)){f=0}if(isNaN(c)){c=0}if(isNaN(q)){q=0}if(this.meridianInput.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var l=i.from;if(!l){l=new Date()}l.setHours(g,f,c,q);var g=parseInt(this.hourInput2.val());var f=parseInt(this.minuteInput2.val());var c=parseInt(this.secondInput2.val());var q=parseInt(this.mssecondInput2.val());var d=this.meridianInput2.val();if(f==""){f=0}if(c==""){c=0}if(q==""){q=0}if(this.meridianInput2.css("display")!="none"){if(d.toLowerCase().indexOf("p")>=0){if(g<12){g+=12}}if(d.toLowerCase().indexOf("a")>=0){if(g>=12){g-=12}}}var k=i.to;if(!k){k=new Date()}k.setHours(g,f,c,q);if(k.valueOf()<l.valueOf()){return false}this.setRange(l,k)}else{if(j=="selected"){return}}}}}a.data(document.body,"openedJQXCalendar"+this.id,null);if(this.animationType!="none"){var n=h.outerHeight();h.css("margin-top",0);if(this.showTimeButton){this.timeContainer.css("margin-top",0)}this.isanimating=true;var m=-n;if(parseInt(this.container.coord().top)<parseInt(this.host.coord().top)){m=n}if(this.animationType=="fade"){h.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{h.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}if(this.showTimeButton){if(this.animationType=="fade"){this.timeContainer.animate({opacity:0},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}else{this.timeContainer.animate({"margin-top":m},this.closeDelay,function(){b.css("display","none");p.isanimating=false})}}}else{b.css("display","none")}if(j!=undefined){this._updateSelectedDate(j)}this.timeButtonIcon.removeClass(this.toThemeProperty("jqx-icon-time-pressed"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.timeButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.calendarButtonIcon.removeClass(this.toThemeProperty("jqx-icon-calendar-pressed"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-hover"));this.calendarButton.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.timeContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this.calendarContainer.removeClass(this.toThemeProperty("jqx-fill-state-focus"));this._raiseEvent(8,h)},_updateSelectedDate:function(){var l=this.value;if(l==null){l=new a.jqx._jqxDateTimeInput.getDateTime(new Date());l._setHours(0);l._setMinutes(0);l._setSeconds(0);l._setMilliseconds(0)}var g=l.hour;var f=l.minute;var c=l.second;var b=l.millisecond;if(this.selectionMode=="range"&&this._calendar.getRange().from==null){this.setDate(null);return}var d=new a.jqx._jqxDateTimeInput.getDateTime(this._calendar.value.dateTime);d._setHours(g);d._setMinutes(f);d._setSeconds(c);d._setMilliseconds(b);var m=this.setDate(d.dateTime);if(this.selectionMode=="range"&&!m&&this._oldDT){var h=this.getRange();var i=this._oldDT;var k=false;var j=false;var e=this._oldDT.from;var d=h.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){k=true}}var d=h.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}}if(k&&j){return true}this._raiseEvent(0,{});this._raiseEvent(9,{})}},_closeOpenedCalendar:function(b){var e=a(b.target);var j=a.data(document.body,"openedJQXCalendar"+b.data.me.id);var d=false;a.each(e.parents(),function(){if(this.className&&this.className.indexOf){if(this.className.indexOf("jqx-calendar")!=-1){d=true;return false}if(this.className.indexOf("jqx-date-time-input-popup")!=-1){d=true;return false}if(this.className.indexOf("jqx-input")!=-1){return false}}});if(a(b.target).ischildof(b.data.me.host)){return true}if(b.target!=null&&(b.target.tagName=="B"||b.target.tagName=="b")){var k=b.data.me.host.coord();var m=b.data.me.host.width();var c=b.data.me.host.height();var l=parseInt(k.top);var g=parseInt(k.left);if(l<=b.pageY&&b.pageY<=l+c){if(g<=b.pageX&&b.pageX<=g+m){return true}}}if(j!=null&&!d){if(j.length>0){var h=j[0].id.toString();var f=h.toString().substring(13);var i=a(document).find("#"+f);var n=b.data.me.hideCalendar();if(n!==false){a.data(document.body,"openedJQXCalendar"+b.data.me.id,null)}}}},_loadItems:function(){if(this.value!=null){this.items=new Array();var d=this._getFormatValue(this.formatString);this.items=this._parseFormatValue(d);this.editors=new Array();for(var b=0;b<this.items.length;b++){var c=this.items[b].getDateTimeEditorByItemType(this.value,this);this.editors[b]=c}}this._updateEditorsValue();this._updateText()},_updateText:function(){var d=this;var f="";if(d.items.length==0&&d.value!=null){d._loadItems()}if(d.value!=null){if(d.items.length>=1){f=d.format(d.value,0,d.items.length)}var b=d.dateTimeInput.val();if(b!=f){d._raiseEvent(1,d.value)}}if(d.selectionMode=="range"){var c=d.getRange();var i=d.format(d.value,0,d.items.length);if(c.to){var h=a.jqx._jqxDateTimeInput.getDateTime(c.from);i=d.format(h,0,d.items.length);var g=a.jqx._jqxDateTimeInput.getDateTime(c.to);var e=d.format(g,0,d.items.length);var f=i+" - "+e;if(f==" - "){f=""}}else{f=""}}d.dateTimeInput.val(f)},format:function(g,h,f){var b="";for(var e=h;e<f;++e){var c=this.items[e].dateParser(g,this);if(this.isEditing&&this.items[e].type!="ReadOnly"){if(this.selectionMode!="range"){var d=this.items[e].type=="Day"&&this.items[e].format.length>2;if(this.items[e].type=="FORMAT_AMPM"){d=true;if(this.editors[e].value==0){c=this.editors[e].amString}else{c=this.editors[e].pmString}}if(!d){c=this.items[e].dateParserInEditMode(new Number(this.editors[e].value),"d"+this.editors[e].maxEditPositions,this);while(c.length<this.editors[e].maxEditPositions){c="0"+c}}}}b+=c}return b},_getFormatValueGroupLength:function(c){for(var b=1;b<c.toString().length;++b){if(c.substring(b,b+1)!=c.substring(0,1)){return b}}return c.length},_parseFormatValue:function(h){var c=new Array();var f=h.toString();var e=0;while(f.length>0){var d=this._getFormatValueGroupLength(f);var g=null;switch(f.substring(0,1)){case":":case"/":d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break;case'"':case"'":var b=f.indexOf(f[0],1);g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1+Math.max(1,b-1)),"ReadOnly",this.culture);d=Math.max(1,b+1);break;case"\\":if(f.length>=2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(1,1),"ReadOnly",this.culture);d=2}break;case"d":case"D":if(d>2){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Day",this.culture)}break;case"f":case"F":if(d>7){d=7}if(d>3){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture)}else{g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Millisecond",this.culture)}break;case"g":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;case"h":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_hh",this.culture);break;case"H":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_HH",this.culture);break;case"m":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Minute",this.culture);break;case"M":if(d>4){d=4}g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Month",this.culture);break;case"s":case"S":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Second",this.culture);break;case"t":case"T":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"FORMAT_AMPM",this.culture);break;case"y":case"Y":if(d>1){g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"Year",this.culture)}else{d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),null,"ReadOnly",this.culture)}break;case"z":g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,d),"ReadOnly",this.culture);break;default:d=1;g=a.jqx._jqxDateTimeInput.DateTimeFormatItem._create(f.substring(0,1),"ReadOnly",this.culture);break}c[e]=a.extend(true,{},g);f=f.substring(d);e++}return c},_getFormatValue:function(b){if(b==null||b.length==0){b="d"}if(b.length==1){switch(b.substring(0,1)){case"d":return this.localization.calendar.patterns.d;case"D":return this.localization.calendar.patterns.D;case"t":return this.localization.calendar.patterns.t;case"T":return this.localization.calendar.patterns.T;case"f":return this.localization.calendar.patterns.f;case"F":return this.localization.calendar.patterns.F;case"M":return this.localization.calendar.patterns.M;case"Y":return this.localization.calendar.patterns.Y;case"S":return this.localization.calendar.patterns.S}}if(b.length==2&&b.substring(0,1)=="%"){b=b.substring(1)}return b},_updateEditorsValue:function(){var j=this.value;if(j==null){return}var g=j.year;var h=j.day;var d=j.hour;var l=j.millisecond;var b=j.second;var c=j.minute;var f=j.month;if(this.items==null){return}for(var e=0;e<this.items.length;e++){switch(this.items[e].type){case"FORMAT_AMPM":var k=d%12;if(k==0){k=12}if(d>=0&&d<12){this.editors[e].value=0}else{this.editors[e].value=1}break;case"Day":this.editors[e].value=h;break;case"FORMAT_hh":var k=d%12;if(k==0){k=12}this.editors[e].value=k;break;case"FORMAT_HH":this.editors[e].value=d;break;case"Millisecond":this.editors[e].value=l;break;case"Minute":this.editors[e].value=c;break;case"Month":this.editors[e].value=f;break;case"Second":this.editors[e].value=b;break;case"Year":this.editors[e].value=g;break}}},updateValue:function(z){if(this.isEditing){return}if(this.items&&this.items.length==0){return}var o=0;var s=1;var C=1;var l=0;var d=0;var J=0;var u=0;var I=1;var h=0;var m=false;var r=false;var D=false;var c=false;var b=false;var q=false;var x=false;var t=new Array();var e=null;var y=0;for(var B=0;B<this.items.length;B++){switch(this.items[B].type){case"FORMAT_AMPM":h=this.editors[B].value;e=this.editors[B];break;case"Character":break;case"Day":if(this.items[B].format.length<3){C=this.editors[B].value;t[y++]=this.editors[B];if(C==0){C=1}D=true}break;case"FORMAT_hh":var F=this.editors[B];l=F.value;c=true;break;case"FORMAT_HH":l=this.editors[B].value;c=true;break;case"Millisecond":d=this.editors[B].value;x=true;break;case"Minute":u=this.editors[B].value;b=true;break;case"Month":I=this.editors[B].value;r=true;if(I==0){I=1}break;case"ReadOnly":break;case"Second":J=this.editors[B].value;q=true;break;case"Year":m=true;s=this.editors[B].value;var H=this.editors[B].getDateTimeItem().format;if(H.length<3){var w="1900";if(w.Length==4){var v=""+w[0]+w[1];var E;E=parseInt(v);s=s+(E*100)}}if(s==0){s=1}break}}var G=this.value!=null?new Date(this.value.dateTime):null;if(s>0&&I>0&&C>0&&u>=0&&l>=0&&J>=0&&d>=0){var K=this.value;if(K!=null){if(!m){s=K.year}if(!r){I=K.month}if(!D){C=K.day}}try{if(I>12){I=12}if(I<1){I=1}if(z&&K._daysInMonth(s,I)<=C){C=K._daysInMonth(s,I);if(t!=null&&t.length>0){for(B=0;B<t.length;B++){t[B].value=C}}}if(e!=null){if(e.value==0){if(l>=12){l-=12}}else{if(l+12<24){l+=12}}}var g=this.value.dateTime.getDate();this.value._setYear(parseInt(s));this.value._setDay(C);this.value._setMonth(I);if(c){this.value._setHours(l)}if(b){this.value._setMinutes(u)}if(q){this.value._setSeconds(J)}if(x){this.value._setMilliseconds(d)}this._validateTimeRange()}catch(j){this.value=K}if(G!=null){var A=this.value.dateTime.getFullYear()==G.getFullYear()&&this.value.dateTime.getDate()==G.getDate()&&this.value.dateTime.getMonth()==G.getMonth()&&this.value.dateTime.getHours()==G.getHours()&&this.value.dateTime.getMinutes()==G.getMinutes()&&this.value.dateTime.getSeconds()==G.getSeconds();if(!A){if(this.changing){var n=this.changing(G,this.value.dateTime);if(n){this.value=a.jqx._jqxDateTimeInput.getDateTime(n)}}this._raiseEvent("0",this.value.dateTime);if(this.cookies){if(this.value!=null){a.jqx.cookie.cookie("jqxDateTimeInput"+this.element.id,this.value.dateTime.toString(),this.cookieoptions)}}if(this.change){this.change(this.value.dateTime)}}}}var f=this.editors.indexOf(this.activeEditor);var p=this.items[f];if(this.value){if(this.calendarContainer.jqxCalendar("_isDisabled",this.value.dateTime)){this.dateTimeInput.addClass(this.toThemeProperty("jqx-input-invalid"))}else{this.dateTimeInput.removeClass(this.toThemeProperty("jqx-input-invalid"))}}},_internalSetValue:function(b){this.value._setYear(parseInt(b.year));this.value._setDay(b.day);this.value._setMonth(b.month);this.value._setHours(b.hour);this.value._setMinutes(b.minute);this.value._setSeconds(b.second);this.value._setMilliseconds(b.milisecond)},_raiseEvent:function(c,n,f){var m=this.events[c];var g={};g.owner=this;if(n==null){n={}}if(f==null){f=n}var l=n.charCode?n.charCode:n.keyCode?n.keyCode:0;var o=true;var k=this.readonly;var b=new a.Event(m);b.owner=this;b.args=g;b.args.date=this.getDate();if(c==9){b.args.type=this.changeType;this.changeType=null}this.element.value=this.dateTimeInput.val();if(c==9&&this.selectionMode!="range"){var d=b.args.date;if(this._oldDT){if(d!=null){if(!(d.getFullYear()!=this._oldDT.getFullYear()||d.getMonth()!=this._oldDT.getMonth()||d.getDate()!=this._oldDT.getDate()||d.getHours()!=this._oldDT.getHours()||d.getMinutes()!=this._oldDT.getMinutes()||d.getSeconds()!=this._oldDT.getSeconds())){return true}}a.jqx.aria(this,"aria-valuenow",this.getDate());a.jqx.aria(this,"aria-valuetext",this.getText());if(this.getDate()!=null){a.jqx.aria(this,"aria-label","Current focused date is "+this.getDate().toLocaleString())}else{a.jqx.aria(this,"aria-label","Current focused date is Null")}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.selectionMode=="range"){b.args.date=this.getRange();if(this._oldDT){var d=b.args.date.from;if(c==9){var j=false;var i=false;var e=this._oldDT.from;if(d!=null&&e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){j=true}}var d=b.args.date.to;if(d!=null){e=this._oldDT.to;if(e){if(!(d.getFullYear()!=e.getFullYear()||d.getMonth()!=e.getMonth()||d.getDate()!=e.getDate()||d.getHours()!=e.getHours()||d.getMinutes()!=e.getMinutes()||d.getSeconds()!=e.getSeconds())){i=true}}}if(j&&i){return true}var j=b.args.date.from;if(j==null){j=""}else{j=j.toString()}var i=b.args.date.to;if(i==null){i=""}else{i=i.toString()}a.jqx.aria(this,"aria-valuenow",j+"-"+i);a.jqx.aria(this,"aria-valuetext",this.getText());if(j&&i){a.jqx.aria(this,"aria-label","Current focused range is "+j.toLocaleString()+"-"+i.toLocaleString())}}}b.args.oldValue=f;b.args.newValue=b.args.date;if(this._oldDT){b.args.oldValue=this._oldDT}}if(this.host.css("display")=="none"){return true}if(c!=2&&c!=3&&c!=4&&c!=5&&c!=6){o=this.host.trigger(b);if(b.stopPropagation){b.stopPropagation()}}var h=this;if(!k){if(c==2&&!this.disabled){setTimeout(function(){h.isEditing=true;if(this.selectionMode=="range"){h._selectGroup(-1)}else{h._selectGroup(-1)}},25)}}if(c==4){if(k||this.disabled){if(l==8||l==46){this.isEditing=false;if(this.allowKeyboardDelete){if(this.allowNullDate){this.setDate(null)}else{if(this.selectionMode!="range"){this.setDate(this.getMinDate())}else{this.setRange(this.getMinDate(),this.getMinDate())}}}}if(l==9){return true}if(!n.altKey){return false}}o=this._handleKeyDown(n,l)}else{if(c==5){if(l==9){return true}if(k||this.disabled){return false}}else{if(c==6){if(l==9){return true}if(k||this.disabled){return false}o=this._handleKeyPress(n,l)}}}return o},_doLeftKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions>0){this.activeEditor.positions--;this._selectGroup(e);return}}while(e>0){this.activeEditor=this.editors[--e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&b!=this.activeEditor){if(this.items[e].type!="ReadOnly"){if(this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_doRightKey:function(){if(this.activeEditor!=null){if(!this.isEditing){this.isEditing=true}var b=this.activeEditor;var d=false;var e=this.editors.indexOf(this.activeEditor);var c=e;if(this.enableAbsoluteSelection){if(e>=0&&this.activeEditor.positions<this.activeEditor.maxEditPositions-1){this.activeEditor.positions++;this._selectGroup(e);return}}while(e<=this.editors.length-2){this.activeEditor=this.editors[++e];this._selectGroup(e);if(this.items[e].type!="ReadOnly"){if(this.items[e].type=="Day"&&this.items[e].format.length>2){break}d=true;break}}if(!d){if(c>=0){this.activeEditor=this.editors[c]}}if(this.activeEditor!=null&&this.activeEditor!=b){if(this.items[e].type!="ReadOnly"){this.activeEditor.positions=0}}if(this.activeEditor!=b){this._validateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return true}else{return false}}},_saveSelectedText:function(){var c=this._selection();var e="";var d=this.dateTimeInput.val();if(c.start>0||c.length>0){for(var b=c.start;b<c.end;b++){e+=d[b]}}if(window.clipboardData){window.clipboardData.setData("Text",e)}return e},_selectWithAdvancePattern:function(){var f=this.editors.indexOf(this.activeEditor);var g=false;if(this.items[f].type!="ReadOnly"){g=true}if(!g){return}var d=this.activeEditor;if(d!=null){var e=d.positions==d.maxEditPositions;if(e){this.editorText="";var c=d.value;var b=false;switch(this.items[f].type){case"FORMAT_AMPM":if(c<0){c=0}else{if(c>1){c=1}}break;case"Character":break;case"Day":if(c<1){c=1}else{if(c>31){c=31}}break;case"FORMAT_hh":if(c<1){c=1}else{if(c>12){c=12}}break;case"FORMAT_HH":if(c<0){c=0}else{if(c>23){c=23}}break;case"Millisecond":if(c<0){c=0}else{if(c>99){c=99}}break;case"Minute":if(c<0){c=0}else{if(c>59){c=59}}break;case"Month":if(c<1){c=1}else{if(c>12){c=12}}break;case"ReadOnly":break;case"Second":if(c<0){c=0}else{if(c>59){c=59}}break;case"Year":if(c<this.minDate.year){c=this.minDate.year}else{if(c>this.maxDate.year){c=this.maxDate.year}}break}if(d.value!=c){b=true}if(!b){this.isEditing=false;this._validateValue();this._updateText();this.isEditing=true;this._doRightKey();return true}return false}}},_handleKeyPress:function(j,n){var m=this._selection();var b=this;var d=j.ctrlKey||j.metaKey;if((d&&n==97)||(d&&n==65)){return true}if(n==8){if(m.start>0){b._setSelectionStart(m.start)}return false}if(n==46){if(m.start<this.items.length){b._setSelectionStart(m.start)}return false}if(n===27){if(this._firstFocusDate){this.setDate(this._firstFocusDate);this._setSelectionStart(0);this._selectGroup(-1)}return false}if(m.start>=0){this.changeType="keyboard";var f=String.fromCharCode(n);var k=parseInt(f);if(f=="p"||f=="a"||f=="A"||f=="P"){if(this.activeEditor&&this.activeEditor.item.type=="FORMAT_AMPM"){if(this.activeEditor.value==0&&(f=="p"||f=="P")){this.spinUp()}else{if(this.activeEditor.value==1&&(f=="a"||f=="A")){this.spinDown()}}}}if(!isNaN(k)){if(this.container.css("display")=="block"){this.hideCalendar()}this.updateValue();this._updateText();var h=false;var i=this.editors.indexOf(this.activeEditor);var c=null;this.isEditing=true;if(i.type!="ReadOnly"){c=this.activeEditor}if(c!=null&&c.positions==0){this.editorText=""}if(this.activeEditor==null){this.activeEditor=this.editors[0]}if(this.activeEditor==null){return false}this.activeEditor.insert(f);if(c!=null&&this.editorText.length>=c.maxEditPositions){this.editorText=""}this.editorText+=f;var o=this._selectWithAdvancePattern();if(this.activeEditor.positions==this.activeEditor.maxEditPositions){var g=this._getLastEditableEditorIndex();if(this.editors.indexOf(this.activeEditor)==g&&o&&this.enableAbsoluteSelection){this.activeEditor.positions=this.activeEditor.maxEditPositions-1}else{this.activeEditor.positions=0}}h=true;this.updateValue();this._updateText();this._selectGroup(this.editors.indexOf(this.activeEditor));return false}}var l=this._isSpecialKey(n);return l},_getLastEditableEditorIndex:function(){var b=0;var d=this;for(var c=this.items.length-1;c>=0;c--){if(this.items[c].type!="ReadOnly"){return c}}return -1},_handleKeyDown:function(i,o){var h=this;this.timePopup=false;if(o==84){this.timePopup=true}if(i.keyCode==115){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}else{if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}if(i.altKey){if(i.keyCode==38){if(h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){if(h.showTimeButton&&!h.showCalendarButton){h.timePopup=true}h.showCalendar("keyboard","keyboard");return false}}}}else{if(i.ctrlKey){this.timePopup=true;if(i.keyCode==38){if(h.isOpened()){h.hideCalendar("keyboard","keyboard");return false}}else{if(i.keyCode==40){if(!h.isOpened()){h.showCalendar("keyboard","keyboard");return false}}}}}if(h.isOpened()){if(i.keyCode==9){h.hideCalendar("selected","keyboard");return true}return}var m=h._selection();var b=i.ctrlKey||i.metaKey;if((b&&o==99)||(b&&o==67)){h._saveSelectedText(i);return true}if((b&&o==122)||(b&&o==90)){return false}if((b&&o==118)||(b&&o==86)||(i.shiftKey&&o==45)){var l=h.val();var j=this;var c=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(c);c.select();setTimeout(function(){var e=c.val();j.setDate(e);c.remove()},100);return true}if(o==8||o==46){if(!i.altKey&&!b&&o==46){h.isEditing=false;if(h.allowKeyboardDelete){h.changeType="keyboard";if(h.allowNullDate){h.setDate(null)}else{if(h.selectionMode!="range"){h.setDate(h.getMinDate())}else{h.setRange(h.getMinDate(),h.getMinDate())}}}}else{if(h.activeEditor!=null){var g=h.editors.indexOf(h.activeEditor);if(h.activeEditor.positions>=0){var f=h._format(Number(h.activeEditor.value),"d"+h.activeEditor.maxEditPositions,h.culture);var d=f;d=d.substring(0,h.activeEditor.positions)+"0"+d.substring(h.activeEditor.positions+1);if(parseInt(d)<h.activeEditor.minValue){d=h._format(Number(h.activeEditor.minValue),"d"+h.activeEditor.maxEditPositions,h.culture)}if(h.enableAbsoluteSelection){h.activeEditor.value=d}else{h.activeEditor.value=h.activeEditor.minValue}h._validateValue();h._updateText();h.changeType="keyboard";if(o==8){var n=this;if(h.enableAbsoluteSelection&&h.activeEditor.positions>0){setTimeout(function(){n.activeEditor.positions=n.activeEditor.positions-1;n._selectGroup(g)},10)}else{setTimeout(function(){n._doLeftKey()},10)}}else{h._selectGroup(g)}}else{h._doLeftKey()}}}return false}if(o==38){this.spinUp();h.changeType="keyboard";return false}else{if(o==40){this.spinDown();h.changeType="keyboard";return false}}if(o==9){if(h.value==null){return true}if(i.shiftKey){var p=this._doLeftKey()}else{var p=this._doRightKey()}if(!p){return true}else{return false}}if(o==37){if(this._editor){var p=this._doLeftKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doLeftKey();return false}}else{if(o==39||o==191){if(this._editor){var p=this._doRightKey();if(!p){this.isEditing=false;this._validateValue()}return !p}else{var p=this._doRightKey();return false}}}var k=this._isSpecialKey(o);if(this.value==null&&(o>=48&&o<=57||o>=96&&o<=105)){h.changeType="keyboard";if(new Date()>=this.getMinDate()&&new Date()<=this.getMaxDate()){this.setDate(new Date())}else{this.setDate(this.getMaxDate())}}if(!a.jqx.browser.mozilla){return true}if(a.jqx.browser.mozilla&&a.jqx.browser.version>24){return true}return k},_isSpecialKey:function(b){if(b!=8&&b!=9&&b!=13&&b!=35&&b!=36&&b!=37&&b!=39&&b!=27&&b!=46){return false}return true},_selection:function(){if("selectionStart" in this.dateTimeInput[0]){var f=this.dateTimeInput[0];var g=f.selectionEnd-f.selectionStart;return{start:f.selectionStart,end:f.selectionEnd,length:g,text:f.value}}else{var c=document.selection.createRange();if(c==null){return{start:0,end:f.value.length,length:0}}var b=this.dateTimeInput[0].createTextRange();var d=b.duplicate();b.moveToBookmark(c.getBookmark());d.setEndPoint("EndToStart",b);var g=c.text.length;return{start:d.text.length,end:d.text.length+c.text.length,length:g,text:c.text}}},_selectGroup:function(k,m){if(this.host.css("display")=="none"){return}if(this.readonly){return}if(!m){var m=this._selection()}var f="";var b="";var c=null;for(var d=0;d<this.items.length;d++){b=this.items[d].dateParser(this.value,this);if(this.isEditing&&this.items[d].type!="ReadOnly"){var j=this.items[d].type=="Day"&&this.items[d].format.length>2;if(!j&&this.items[d].type!="FORMAT_AMPM"){b=this.items[d].dateParserInEditMode(new Number(this.editors[d].value),"d"+this.editors[d].maxEditPositions,this);while(b.length<this.editors[d].maxEditPositions){b="0"+b}}}f+=b;if(this.items[d].type=="ReadOnly"){continue}if(this.items[d].type=="Day"&&this.items[d].format.length>2){continue}if(k!=undefined&&k!=-1){if(d>=k){var l=f.length-b.length;var e=b.length;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}if(l==this.dateTimeInput.val().length){l--}this._setSelection(l,l+e);c=this.editors[d];this.activeEditor=c;break}}else{if(f.length>=m.start){c=this.editors[d];this.activeEditor=c;var l=f.length-b.length;var e=1;if(this.enableAbsoluteSelection){if(!isNaN(parseInt(b))&&this.isEditing&&k!=-1){e=1;l+=this.editors[d].positions}}else{e=b.length}this._setSelection(l,l+e);break}}}if(d<this.items.length&&k==-1){if(this.items[d].type!="ReadOnly"){this.activeEditor.positions=0}}var h=this._selection();if(h.length==0){if(h.start>0){var g=this._getLastEditableEditorIndex();if(g>=0){}}}},_getLastEditableEditorIndex:function(){var c=-1;for(var b=0;b<this.editors.length;b++){if(this.items[b].type=="ReadOnly"){continue}if(this.items[b].type=="Day"&&this.items[b].format.length>2){continue}c=b}return c},_setSelection:function(e,b){try{if("selectionStart" in this.dateTimeInput[0]){this.dateTimeInput[0].setSelectionRange(e,b)}else{var c=this.dateTimeInput[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}}catch(d){}},_setSelectionStart:function(b){this._setSelection(b,b)},destroy:function(){a.jqx.utilities.resize(this.host,null,true);this.host.removeClass("jqx-rc-all");if(this.timePopupElement){this.timePopupElement.remove()}this._calendar.destroy();this.container.remove();this._removeHandlers();this.dateTimeInput.remove();this.host.remove()},refreshValue:function(){this._refreshValue()},refresh:function(b){if(b!=true){this._setSize();this._arrange()}},resize:function(c,b){this.width=c;this.height=b;this.refresh()},_setOption:function(b,c,d){if(b==="value"){if(this.selectionMode!="range"){this._oldDT=null}else{this._oldDT=null}this.value=c;this._refreshValue();this._raiseEvent(9,{type:null})}if(b=="maxDate"){this._calendar.maxDate=c;this._raiseEvent(9,{type:null})}if(b=="minDate"){this._calendar.minDate=c;this._raiseEvent(9,{type:null})}if(b=="showCalendarButton"){if(c){this.calendarButton.css("display","block")}else{this.calendarButton.css("display","none")}}if(b=="disabled"){this.dateTimeInput.attr("disabled",c)}if(b=="readonly"){this.readonly=c;this.dateTimeInput.css("readonly",c)}if(b=="textAlign"){this.dateTimeInput.css("text-align",c);this.textAlign=c}if(b=="width"){this.width=c;this.width=parseInt(this.width);this._arrange()}else{if(b=="height"){this.height=c;this.height=parseInt(this.height);this._arrange()}}},_updateHint:function(){var b=this;if(!b.hint){return}if(b.isMaterialized()){setTimeout(function(){if(b.dateTimeInput[0].value.length===0){b.element.removeAttribute("hint");b.label[0].innerHTML=b.placeHolder}else{b.label[0].innerHTML="";if(b.hint){b.element.setAttribute("hint",true)}}})}},_refreshValue:function(){this._updateEditorsValue();this.updateValue();this._validateValue();this._updateText();this._updateHint()}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateTimeFormatItem={};a.extend(a.jqx._jqxDateTimeInput.DateTimeFormatItem,{_create:function(d,c,b){this.format=d;this.type=c;this.culture=b;return this},_itemValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},_maximumValue:function(){switch(this.format.length){case 1:return 9;case 2:return 99;case 3:default:return 999}},dateParser:function(b,c){if(b==null){return""}var d=c._format(b.dateTime,this.format.length==1?"%"+this.format:this.format,this.culture);return d},dateParserInEditMode:function(e,d,b){if(e==null){return""}var c=b._format(e.toString(),d.length==1?"%"+d:d,this.culture);return c},getDateTimeEditorByItemType:function(m,e){switch(this.type){case"FORMAT_AMPM":var f=a.jqx._jqxDateTimeInput.AmPmEditor._createAmPmEditor(this.format,m.hour/12,e.localization.calendar.AM[0],e.localization.calendar.PM[0],this,e);var d=a.extend({},f);return d;case"Character":return null;case"Day":var j=m.year;var r=m.month;var q;if(this.format.length==3){q=e.localization.calendar.days.namesAbbr}else{if(this.format.length>3){q=e.localization.calendar.days.names}else{q=null}}var s=m.day;if(q!=null){s=m.dayOfWeek+1}var g=a.jqx._jqxDateTimeInput.DateEditor._createDayEditor(m,m.day,1,m._daysInMonth(j,r),this.format.length==1?1:2,2,q,this,e);var d=a.extend({},g);return d;case"FORMAT_hh":var c=m.hour%12;if(c==0){c=12}var p=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(c,1,12,this.format.length==1?1:2,2,this,e);var d=a.extend({},p);return d;case"FORMAT_HH":var h=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.hour,0,23,this.format.length==1?1:2,2,this,e);var d=a.extend({},h);return d;case"Millisecond":var k=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.millisecond/this._itemValue(),0,this._maximumValue(),this.format.length,this.format.length,this,e);var d=a.extend({},k);return d;case"Minute":var n=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.minute,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},n);return d;case"Month":var i;if(this.format.length==3){i=e.localization.calendar.months.namesAbbr}else{if(this.format.length>3){i=e.localization.calendar.months.names}else{i=null}}var l=a.jqx._jqxDateTimeInput.DateEditor._createMonthEditor(m.month,this.format.length==2?2:1,i,this,e);var d=a.extend({},l);return d;case"ReadOnly":return a.jqx._jqxDateTimeInput.DisabledEditor._create(this.format.length,m.day,this,e);case"Second":var b=a.jqx._jqxDateTimeInput.NumberEditor._createNumberEditor(m.second,0,59,this.format.length==1?1:2,2,this,e);var d=a.extend({},b);return d;case"Year":var o=a.jqx._jqxDateTimeInput.DateEditor._createYearEditor(m.year,4,this,e);var d=a.extend({},o);return d}return null}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DateEditor=a.extend(a.jqx._jqxDateTimeInput.DateEditor,{formatValueLength:0,handleYears:false,handleDays:false,handleMonths:false,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,dateTimeFormatInfo:null,days:null,dateTimeMonths:null,lastDayInput:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},_createYearEditor:function(e,d,c,b){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(d<=4?0:0,d<4?99:9999,(d==2)?2:1,d>3?4:2,c);this.initializeYearEditor(e,d,c.culture);this.handleYears=true;this.that=b;return this},initializeYearEditor:function(d,c,e){this.formatValueLength=c;this.dateTimeFormatInfo=e;var b=d;b=Math.min(b,9999);b=Math.max(b,1);b=this.formatValueLength<4?b%100:b;this.updateActiveEditor(b);this.value=b},updateActiveEditor:function(b){this.value=b;this.positions=0},_createDayEditor:function(b,i,h,e,c,f,g,j,d){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(h,e,1,f,j);this.currentValue=b;this.value=i;this.days=g;this.handleDays=true;this.that=d;return this},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},defaultTextValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},textValue:function(){if(this.handleDays){if(this.days==null){return this.defaultTextValue()}else{var b=(this.value%7)+1;b=this.getDayOfWeek(b);return this.days[b]}}else{if(this.handleMonths){if(this.dateTimeMonths==null||this.value<1||this.value>12){return this.defaultTextValue()}else{return this.dateTimeMonths[this.value-1]}}}return this.defaultTextValue()},defaultInsertString:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},insert:function(b){if(this.handleDays){if(this.days!=null){var c=false;c=this.insertLongString(b,c);if(c){return c}c=this.insertShortString(b,c);if(c){return c}}if(this.value==1&&this.lastDayInput!=null&&this.lastDayInput.toString().length>0&&this.lastDayInput.toString()=="0"){this.value=0}this.lastDayInput=b;return this.defaultInsertString(b)}else{if(this.handleMonths){if(this.dateTimeMonths!=null){var c=false;c=this.insertLongString2(b,c);if(c){return c}c=this.insertShortString2(b,c);if(c){return c}}}}return this.defaultInsertString(b)},insertShortString:function(d,f){if(d.length==1){for(var e=0;e<6;++e){var c=(this.value+e)%7+1;var b=this.days[c-1];if(b.substring(0,1)==d){this.updateActiveEditor(c);f=true;return f}}}return f},insertLongString:function(c,e){if(c.length>0){for(var d=0;d<6;++d){var b=(this.value+d)%7+1;if(this.days[b-1]==c){this.updateActiveEditor(b);e=true;return e}}}return e},_createMonthEditor:function(d,c,b,f,e){a.jqx._jqxDateTimeInput.DateEditor=a.extend(true,{},this);this.initializeFields(1,12,c,2,f);this.dateTimeMonths=b;this.value=d;if(this.dateTimeMonths!=null&&this.dateTimeMonths[12]!=null&&this.dateTimeMonths[12].length>0){this.dateTimeMonths=null}this.handleMonths=true;this.that=e;return this},insertLongString2:function(b,d){if(b.length>0){for(var c=0;c<11;++c){var e=(this.value+c)%12+1;if(this.dateTimeMonths[e-1]==b){this.updateActiveEditor(e);d=true;return d}}}return d},insertShortString2:function(c,e){if(c.length==1){for(var d=0;d<11;++d){var f=(this.value+d)%12+1;var b=this.dateTimeMonths[f-1];if(b.substring(0,1)==c){this.updateActiveEditor(f);e=true;return e}}}return e},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.NumberEditor={};a.extend(a.jqx._jqxDateTimeInput.NumberEditor,{formatValueLength:0,positions:0,value:0,minEditPositions:0,maxEditPositions:0,minValue:0,maxValue:0,item:null,minPositions:function(){if(this.handleYears){if(this.formatValueLength==4){if(this.positions<=1){return 1}else{if(this.positions>=4){return 4}}return this.positions}else{return this.minEditPositions}}return this.minEditPositions},_createNumberEditor:function(g,f,h,b,e,d,c){a.jqx._jqxDateTimeInput.NumberEditor=a.extend(true,{},this);this.initializeFields(f,h,b,e,d);this.that=c;return this},initializeFields:function(e,f,b,d,c){this.minValue=e;this.maxValue=f;this.minEditPositions=b;this.maxEditPositions=d;this.updateActiveEditor(e);this.item=c},updateActiveEditor:function(b){this.value=b;this.positions=0},getDayOfWeek:function(b){if(typeof this.currentValue==a.jqx._jqxDateTimeInput.DateTime){this.currentValue.dayOfWeek()}return b},textValue:function(){var d=this.value;var e=this.minEditPositions;var b=e;var c=this.that._format(this.value,"d"+b,"");return c},insert:function(c){if(c==null){return this.deleteValue()}if(c.length==0){return this.deleteValue()}var g=c.substring(0,1);if(isNaN(g)){return}var e=true;var d;var b=1;var f=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);d=f;if(this.positions>=this.maxEditPositions){this.positions=0}d=d.substring(0,this.positions)+g+d.substring(this.positions+1);d=this.setValueByString(d,b);return true},setValueByString:function(d,b){d=this.fixValueString(d);var c=new Number(d);this.value=c;this.positions+=b;return d},fixValueString:function(b){if(b.length>this.maxEditPositions){b=b.substring(b.length-this.maxEditPositions)}return b},initializeValueString:function(c){var b;b="";if(this.hasDigits()){b=c}return b},deleteValue:function(){if(this.value==this.minValue&&this.hasDigits()==false){return false}this.updateActiveEditor(this.minValue);return true},hasDigits:function(){return this.positions>0},correctMaximumValue:function(b){if(b>this.maxValue){b=this.minValue}return b},correctMinimumValue:function(b){if(b<this.minValue){b=this.maxValue}return b},increaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)+1;if(f>9){f=0}if(!e){var b=this.value+1;b=this.correctMaximumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},decreaseValue:function(e){var c=this.that._format(Number(this.value),"d"+this.maxEditPositions,this.culture);var f=c.toString()[this.positions];f=parseInt(f)-1;if(f<0){f=9}if(!e){var b=this.value-1;b=this.correctMinimumValue(b);this.updateActiveEditor(b);return true}var d=c.substring(0,this.positions)+f+c.substring(this.positions+1);if(d!=this.value||this.hasDigits()){this.updateActiveEditor(d);return true}else{return false}},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.DisabledEditor={};a.extend(a.jqx._jqxDateTimeInput.DisabledEditor,{_create:function(g,c,f,b,e,d){this.format=g;this.value=-1;this.item=e;this.that=d;return this},textValue:function(){return""},insert:function(b){return false},deleteValue:function(){return false},increaseValue:function(){return false},decreaseValue:function(){return false},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.AmPmEditor={};a.extend(a.jqx._jqxDateTimeInput.AmPmEditor,{_createAmPmEditor:function(g,c,f,b,e,d){this.format=g;this.value=c;this.minValue=0;this.amString=f;this.pmString=b;this.item=e;this.that=d;if(f==b){this.amString="<"+f;this.pmString=">"+b}return this},textValue:function(){var b=this.amString;if(this.value!=0){b=this.pmString}if(this.format.length==1&&b.length>1){b=b.substring(0,1)}return b},insert:function(f){var d=f.toString();if(d.Length==0){return this.deleteValue()}var c=false;if(this.amString.Length>0&&this.pmString.Length>0){var g=this.amString[0];var b=d[0];var e=this.pmString[0];if(g.toString()==b.toString()){this.value=0;c=true}else{if(e.toString()==b.toString()){this.value=1;c=true}}}else{if(this.pmString.Length>0){this.value=1;c=true}else{if(this.amString.Length>0){this.value=0;c=true}}}return c},deleteValue:function(){var b=true;if(this.amString.Length==0&&this.pmString.Length!=0){if(this.value==0){return false}this.value=0}else{if(this.value==1){return false}this.value=1}return b},increaseValue:function(){this.value=1-this.value;return true},decreaseValue:function(){this.increaseValue();return true},getDateTimeItem:function(){return this.item}})})(jqxBaseFramework);(function(a){a.jqx._jqxDateTimeInput.getDateTime=function(c){var b={dateTime:new Date(c),daysPer4Years:1461,daysPerYear:365,daysToMonth365:{0:0,1:31,2:59,3:90,4:120,5:151,6:181,7:212,8:243,9:273,10:304,11:334,12:365},daysToMonth366:{0:0,1:31,2:60,3:91,4:121,5:152,6:182,7:213,8:244,9:274,10:305,11:335,12:366},maxValue:3155378976000000000,millisPerDay:86400000,millisPerHour:3600000,millisPerMinute:60000,millisPerSecond:1000,minTicks:0,minValue:0,ticksPerDay:864000000000,ticksPerHour:36000000000,ticksPerMillisecond:10000,ticksPerMinute:600000000,ticksPerSecond:10000000,hour:c.getHours(),minute:c.getMinutes(),day:c.getDate(),second:c.getSeconds(),month:1+c.getMonth(),year:c.getFullYear(),millisecond:c.getMilliseconds(),dayOfWeek:c.getDay(),isWeekend:function(d){if(d==undefined||d==null){d=this.dateTime}var e=d.getDay()%6==0;return e},dayOfYear:function(e){if(e==undefined||e==null){e=this.dateTime}var d=new Date(e.getFullYear(),0,1);return Math.ceil((e-d)/86400000)},_setDay:function(d){if(d==undefined||d==null){d=0}this.dateTime.setDate(d);this.day=this.dateTime.getDate()},_setMonth:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMonth(d-1);this.month=1+this.dateTime.getMonth()},_setYear:function(d){if(d==undefined||d==null){d=0}this.dateTime.setFullYear(d);this.year=this.dateTime.getFullYear()},_setHours:function(d){if(d==undefined||d==null){d=0}this.dateTime.setHours(d);this.hour=this.dateTime.getHours()},_setMinutes:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMinutes(d);this.minute=this.dateTime.getMinutes()},_setSeconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setSeconds(d);this.second=this.dateTime.getSeconds()},_setMilliseconds:function(d){if(d==undefined||d==null){d=0}this.dateTime.setMilliseconds(d);this.millisecond=this.dateTime.getMilliseconds()},_addDays:function(f){var d=this.dateTime;var e=d.getDate();d.setDate(d.getDate()+f);if(e===d.getDate()){d.setHours(d.getHours()+d.getTimezoneOffset()/60)}return d},_addWeeks:function(e){var d=this.dateTime;d.setDate(d.getDate()+7*e);return d},_addMonths:function(e){var d=this.dateTime;d.setMonth(d.getMonth()+e);return d},_addYears:function(e){var d=this.dateTime;d.setFullYear(d.getFullYear()+e);return d},_addHours:function(e){var d=this.dateTime;d.setHours(d.getHours()+e);return d},_addMinutes:function(e){var d=this.dateTime;d.setMinutes(d.getMinutes()+e);return d},_addSeconds:function(e){var d=this.dateTime;d.setSeconds(d.getSeconds()+e);return d},_addMilliseconds:function(e){var d=this.dateTime;d.setMilliseconds(d.getMilliseconds()+e);return d},_isLeapYear:function(d){if((d<1)||(d>9999)){throw"invalid year"}if((d%4)!=0){return false}if((d%100)==0){return((d%400)==0)}return true},_dateToTicks:function(f,h,e){if(((f>=1)&&(f<=9999))&&((h>=1)&&(h<=12))){var d=this._isLeapYear(f)?this.daysToMonth366:this.daysToMonth365;if((e>=1)&&(e<=(d[h]-d[h-1]))){var f=f-1;var g=((((((f*365)+(f/4))-(f/100))+(f/400))+d[h-1])+e)-1;return(g*864000000000)}}},_daysInMonth:function(e,f){if((f<1)||(f>12)){throw ("Invalid month.")}var d=this._isLeapYear(e)?this.daysToMonth366:this.daysToMonth365;return(d[f]-d[f-1])},_timeToTicks:function(d,g,e){var f=((d*3600)+(g*60))+e;return(f*10000000)},_equalDate:function(d){if(this.year==d.getFullYear()&&this.day==d.getDate()&&this.month==d.getMonth()+1){return true}return false}};return b}})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxdocking.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdocking.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdockinglayout.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdockinglayout.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdockpanel.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdockpanel.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdragdrop.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdragdrop.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdraw.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdraw.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdropdownbutton.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdropdownbutton.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxdropdownlist.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxdropdownlist.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxeditor.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxeditor.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxexpander.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxexpander.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxfileupload.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxfileupload.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxform.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxform.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxformattedinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxformattedinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxgauge.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgauge.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxgrid.aggregates.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.aggregates.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/jqwidgets/jqxgrid.chart.js	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,251 @@
+/* tslint:disable */
+/* eslint-disable */
+(function ($) {
+    $.extend($.jqx._jqxGrid.prototype, {
+	   _getChartDataFields: function(data) {
+			var that = this;
+			var record = data[0];
+			var stringOnly = true,
+				xAxisDataField,
+				series = [];
+
+			for (var dataField in record) {
+				if (dataField === '$' || dataField === 'uid' || dataField === 'boundindex' || dataField === 'uniqueid' || dataField === 'visibleindex') {
+					continue;
+				}
+
+				var dataType = that.source._source.dataFields.find(gridField => gridField.name === dataField).type;
+
+				if (dataType === 'string') {
+					var index = that.columns.records.findIndex(col => col.datafield === dataField);
+
+					if (index === 0) {
+						xAxisDataField = dataField;
+					}
+				}
+				else {
+					stringOnly = false;
+					series.push({ dataField: dataField, displayText: dataField });
+				}
+			}
+
+			return { xAxisDataField: xAxisDataField, series: series, stringOnly: stringOnly };
+		},
+
+		createChart: function(type, dataSource) {
+			var that = this;
+			var gridSelection = that.getselection(),
+				selectedRows = gridSelection.rows,
+				selectedCells = gridSelection.cells,
+				chartElement = document.createElement('div'),
+				chartData = [],
+				seriesGroup = {};
+			var rowsToPlot = [],
+				columnsToPlot = [],
+				series;
+
+			if (selectedCells && selectedCells.length > 1) {
+				selectedCells.forEach(cell => {
+					if (rowsToPlot.indexOf(cell.rowindex) === -1) {
+						rowsToPlot.push(cell.rowindex);
+					}
+
+					if (columnsToPlot.indexOf(cell.datafield) === -1) {
+						columnsToPlot.push(cell.datafield);
+					}
+				});
+			}
+
+			if (selectedRows.length === 0 && selectedCells.length === 0) {
+				var dataSource = that.source.records;
+			}
+			
+			if (dataSource) {
+				chartData = chartData.concat(dataSource);
+			}
+			else {
+				var dataSource = that.source.records;
+				
+				for (var i = 0; i < dataSource.length; i++) {
+					var record = {};
+
+					if (selectedRows.length > 0) {
+						if (selectedRows.indexOf(i) === -1) {
+							continue;
+						}	
+					}
+					else if (selectedCells.length > 0) {
+						if (selectedCells.length > 1) {
+							if (rowsToPlot.indexOf(i) === -1) {
+								continue;
+							}
+
+							columnsToPlot.forEach(dataField => {
+								record[dataField] = dataSource[i][dataField];
+							});
+							chartData.push(record);
+							continue;
+						}
+					}
+
+					that.columns.records.forEach(col => record[col.datafield] = dataSource[i][col.datafield]);
+					chartData.push(record);
+				}
+			}
+
+			var chartDataFields = that._getChartDataFields(chartData);
+
+			if (chartDataFields.stringOnly) {
+				if (that.showheader) {
+					var chartIcon = that.element.querySelector('#' + type);
+
+					that.toolbar[0].firstElementChild.classList.add('warning');
+
+					if (chartIcon) {
+						chartIcon.classList.add('warning');
+					}
+
+					setTimeout(function () {
+						that.toolbar[0].firstElementChild.classList.remove('warning');
+
+						if (chartIcon) {
+							chartIcon.classList.remove('warning');
+						}
+					}, 1000);
+				}
+
+				return;
+			}
+
+			series = chartDataFields.series;
+			
+			var chart = {};
+			
+			chart.title = '';
+			chart.description = '';
+			chart.showLegend = true;
+			chart.showBorderLine = false;
+			chart.padding = { left: 5, top: 10, right: 5, bottom: 5 };
+			chart.source = chartData;
+			chart.xAxis =
+				{
+					dataField: chartDataFields.xAxisDataField,
+					gridLines: {
+						visible: true
+					}
+				};
+			chart.valueAxis =
+				{
+					displayValueAxis: true,
+					description: that.charting.description,
+					axisSize: 'auto',
+					formatSettings: that.charting.formatSettings
+				};
+			chart.colorScheme = that.charting.colorScheme;
+			chart.seriesGroups = [seriesGroup];
+
+			seriesGroup.formatSettings = that.charting.formatSettings;
+			seriesGroup.series = series;
+
+			if (type === 'line') {
+				series.forEach(function (serie) {
+					serie.symbolSize = 8;
+					serie.symbolType = 'square';
+				});
+			}
+			else if (type === 'pie') {
+				var pieDataField = series[0].dataField;
+
+				delete seriesGroup.formatSettings;
+				seriesGroup.formatFunction = function (value, index) {
+					if (isNaN(value)) {
+						if (typeof value === 'object') {
+							return index;
+						}
+
+						return value;
+					}
+
+					return value;
+				};
+				seriesGroup.showLabels = true;
+				series.length = 0;
+				series.push({
+					dataField: pieDataField,
+					displayText: chartDataFields.xAxisDataField,
+					initialAngle: 0
+				});
+			}
+			else if (type === 'bar') {
+				type = 'column';
+				seriesGroup.orientation = 'horizontal';
+				chart.xAxis.textRotationAngle = 90;
+				chart.valueAxis.textRotationAngle = 30;
+				chart.valueAxis.flip = true;
+			}
+			else if (type === 'area') {
+				var opacity = 1;
+
+				for (var i = 0; i < series.length; i++) {
+					series[i].opacity = opacity;
+					opacity -= 0.2;
+					opacity = Math.max(0.3, opacity);
+				}
+			}
+
+			seriesGroup.type = type;
+
+			if (that.charting.ready) {
+				that.charting.ready(chart);
+			}
+
+			if (that.charting.appendTo) {
+				var container = that.charting.appendTo === 'string' ? document.querySelector(that.charting.appendTo) : that.charting.appendTo;
+
+				if (container) {
+					var chartInstance = new jqxChart(chartElement, chart);	
+					container.appendChild(chartElement);	
+				}
+			}
+			else {				
+				that._openChartDialog(chartElement, type, chart);
+			}
+		},
+
+		_openChartDialog: function(chart, chartType, settings) {
+			var that = this;
+
+			if (!that.charting.dialog.enabled) {
+				return false;
+			}
+
+			var dialogElement =  document.createElement('div');
+			
+			dialogElement.innerHTML = '<div>' + that.charting.dialog.header + '</div><div style="overflow:hidden;"></div>';
+			
+			var chartLabel = chartType.substring(0, 1).toUpperCase() + chartType.substring(1);
+		
+			chart.style.width = '100%';
+			chart.style.height = '100%';
+
+			var dialog = new jqxWindow(dialogElement, {
+				width: that.charting.dialog.width,
+				height: that.charting.dialog.height,
+				position: that.charting.dialog.position,
+				isModal: true
+			});
+
+			dialog.open();
+
+			setTimeout(function () {
+				dialogElement.querySelector('.jqx-widget-content').appendChild(chart);
+				var chartInstance = new jqxChart(chart, settings);	
+			}, 100);
+			
+			dialog.on('close', function() {
+				dialog.destroy();
+			});
+	    },
+	
+	});
+})(jqxBaseFramework);
--- a/www/jqwidgets/jqxgrid.columnsreorder.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.columnsreorder.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxgrid.columnsresize.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.columnsresize.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxgrid.edit.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.edit.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{_handledblclick:function(t,n){if(t.target==null){return}if(n.disabled){return}if(a(t.target).ischildof(this.columnsheader)){return}var w;if(t.which){w=(t.which==3)}else{if(t.button){w=(t.button==2)}}if(w){return}var B;if(t.which){B=(t.which==2)}else{if(t.button){B=(t.button==1)}}if(B){return}var v=this.showheader?this.columnsheader.height()+2:0;var o=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;o+=A;var e=this.host.offset();var m=t.pageX-e.left;var l=t.pageY-v-e.top-o;var b=this._hittestrow(m,l);if(!b){return}var h=b.row;var j=b.index;var q=t.target.className;var p=this.table[0].rows[j];if(p==null){return}n.mousecaptured=true;n.mousecaptureposition={left:t.pageX,top:t.pageY-o};var r=this.hScrollInstance;var s=r.value;var d=0;var k=this.groupable?this.groups.length:0;for(var u=0;u<p.cells.length;u++){var f=parseInt(a(this.columnsrow[0].cells[u]).css("left"));var g=f-s;if(n.columns.records[u].pinned){g=f}var c=this._getcolumnat(u);if(c!=null&&c.hidden){continue}var z=g+a(this.columnsrow[0].cells[u]).width();if(z>=m&&m>=g){d=u;break}}if(h!=null){var c=this._getcolumnat(d);if(!(q.indexOf("jqx-grid-group-expand")!=-1||q.indexOf("jqx-grid-group-collapse")!=-1)){if(h.boundindex!=-1){n.begincelledit(n.getboundindex(h),c.datafield,c.defaulteditorvalue)}}}},_getpreveditablecolumn:function(c){var b=this;while(c>0){c--;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_getnexteditablecolumn:function(c){var b=this;while(c<this.columns.records.length){c++;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_handleeditkeydown:function(T,j){if(j.handlekeyboardnavigation){var L=j.handlekeyboardnavigation(T);if(L==true){return true}}var u=T.charCode?T.charCode:T.keyCode?T.keyCode:0;j.editEvent=T;if(j.showfilterrow&&j.filterable){if(this.filterrow){if(a(T.target).ischildof(this.filterrow)){return true}}}if(T.target.className&&T.target.className.indexOf("jqx-grid-widget")>=0){return true}if(j.pageable){if(a(T.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(T.target).ischildof(this.toolbar)){return true}}if(this.showeverpresentrow){if(this.addnewrowtop){if(a(T.target).ischildof(this.addnewrowtop)){return true}}if(this.addnewrowbottom){if(a(T.target).ischildof(this.addnewrowbottom)){return true}}}if(this.showstatusbar){if(a(T.target).ischildof(this.statusbar)){return true}}if(this.rowdetails){if(a(T.target).ischildof(this.content.find("[role='rowgroup']"))){return true}}if(this.editcell){if(this.editmode==="selectedrow"){if(u===13){this.endrowedit(this.editcell.row,false);return false}else{if(u===27){this.endrowedit(this.editcell.row,true);return false}}if(u==32){if(this._currentColumn&&this.getcolumn(this._currentColumn).columntype=="checkbox"){var M=this.getcolumn(this._currentColumn);if(M.editable){var A=!this.getcellvalue(this.editcell.row,M.datafield);var H=this.getrowdata(this.editcell.row);var s=this.editcell.row;var H=j.getrowdata(j.editcell.row);this.setcellvalue(this.editcell.row,M.datafield,A,false);var k=this._focusedColumn;var d=this._currentColumn;var f=this._currentEditableColumn;this.endrowedit(this.editcell.row,false);this.beginrowedit(s,false);this._currentColumn=d;this._focusedColumn=k;this._currentEditableColumn=f;this._renderrows();this.selectcell(s,M.datafield);this._oldselectedcell=this.selectedcell;if(k){var G=this;setTimeout(function(){G.selectcell(s,M.datafield);G._oldselectedcell=G.selectedcell;a(G._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")},25)}return false}}}if(u===9){var K=this.editcell.datafield;var e=this._getcolumnindex(K);if(this._currentEditableColumn){e=this._currentEditableColumn}else{this._currentEditableColumn=e}var M=this._getnexteditablecolumn(e);if(T.shiftKey){M=this._getpreveditablecolumn(e)}if(M){var e=this._getcolumnindex(M.datafield);if(this.editcell[M.datafield]){this._currentEditableColumn=e;var b=this.editcell[M.datafield].editor;if(b){if(b.data().jqxWidget&&b.data().jqxWidget.focus){b.data().jqxWidget.focus()}else{b.focus();b[0].onkeyup=function(){if(j.gridcontent[0].scrollTop!=0){j.scrolltop(Math.abs(j.gridcontent[0].scrollTop));j.gridcontent[0].scrollTop=0}if(j.gridcontent[0].scrollLeft!=0){j.gridcontent[0].scrollLeft=0}}}}this._focusedColumn=M.datafield;this._currentColumn=M.datafield;if(this.gridcontent[0].scrollTop!=0){this.scrolltop(Math.abs(this.gridcontent[0].scrollTop));this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}else{if(M.columntype=="checkbox"){this._currentColumn=M.datafield;this._currentEditableColumn=e;this.selectcell(this.editcell.row,M.datafield);this._oldselectedcell=this.selectedcell;if(this._checkboxCells[M.datafield]){a(this._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")}return false}}}return false}return true}if(this.editcell.columntype==null||this.editcell.columntype=="textbox"||this.editcell.columntype=="numberinput"||this.editcell.columntype=="combobox"||this.editcell.columntype=="datetimeinput"){if(u>=33&&u<=40&&j.selectionmode=="multiplecellsadvanced"){var b=this.editcell.columntype=="textbox"||this.editcell.columntype==null?this.editcell.editor:this.editcell.editor.find("input");var p=j._selection(b);var J=b.val().length;if(p.length>0&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(p.start>0&&u==37){j._cancelkeydown=true}if(p.start<J&&u==39&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(this.editcell.columntype=="datetimeinput"&&u==39){if(p.start+p.length<J){j._cancelkeydown=true}}}}else{if(this.editcell.columntype=="dropdownlist"){if(u==37||u==39&&j.selectionmode=="multiplecellsadvanced"){j._cancelkeydown=false}}else{if(this.selectionmode=="multiplecellsadvanced"&&this.editcell.columntype!="textbox"&&this.editcell.columntype!="numberinput"){j._cancelkeydown=true}}}if(u==32){if(j.editcell.columntype=="checkbox"){var M=j.getcolumn(j.editcell.datafield);if(M.editable){var A=!j.getcellvalue(j.editcell.row,j.editcell.column);if(M.cellbeginedit){var n=M.cellbeginedit(j.editcell.row,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(j.editcell.row);j.setcellvalue(j.editcell.row,j.editcell.column,A,true);j._raiseEvent(18,{rowindex:j.editcell.row,row:H,datafield:j.editcell.column,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}if(u==9){var l=this.editcell.row;var K=this.editcell.column;var i=K;var e=j._getcolumnindex(K);var D=false;var I=j.getrowvisibleindex(l);var N=l;this.editchar="";var t=this.editcell.validated;if(!this.editcell.validated){var t=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false)}if(t!=false){if(T.shiftKey){var M=j._getpreveditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectprevcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var r=j._getlastvisiblecolumn();D=true;K=r.displayfield;var h=j.getdisplayrows()[I-1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(y&&j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}else{var M=j._getnexteditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectnextcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var x=j._getfirstvisiblecolumn();D=true;K=x.displayfield;var h=j.getdisplayrows()[I+1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(j.selectionmode.indexOf("cell")!=-1){if(y){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}}if(D){if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){this._renderrows(this.virtualsizeinfo);if(j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(N,i);j._oldselectedcell=j.selectedcell}if(Q>this.dataview.pagenum){setTimeout(function(){j.pagerpageinput.focus()},25)}return}}j.begincelledit(l,K);if(this.editcell!=null&&this.editcell.columntype=="checkbox"){this._renderrows(this.virtualsizeinfo)}}else{if(this.editcell!=null){j.endcelledit(l,K,false);this._renderrows(this.virtualsizeinfo)}return true}}return false}else{if(u==13){var F=this.selectedcell;if(F){var z=this.getrowvisibleindex(F.rowindex)}this.endcelledit(this.editcell.row,this.editcell.column,false,true);if(this.selectionmode=="multiplecellsadvanced"){var B=j.getselectedcell();if(B!=null){if(j.selectcell){if(this.editcell==null){if(B.rowindex+1<this.dataview.totalrecords){if(this.sortcolumn!=B.datafield){var I=this.getrowvisibleindex(B.rowindex);var q=this.dataview.loadedrecords[I+1];if(q){if(!this.pageable||(this.pageable&&I+1<(this.dataview.pagenum+1)*this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}else{if(F!=null){var S=this.dataview.loadedrecords[z+1];if(S){if(!this.pageable||(this.pageable&&z+1<this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(S),B.datafield)}else{if(this.pageable&&z+1>=this.pagesize){this.clearselection(false);var S=this.dataview.loadedrecords[z];this.selectcell(this.getboundindex(S),B.datafield)}}}}}}}}}}return false}else{if(u==27){this.endcelledit(this.editcell.row,this.editcell.column,true,true);return false}}}}else{var O=false;if(u==113){O=true}if(!T.ctrlKey&&!T.altKey&&!T.metaKey){if(u>=48&&u<=57){this.editchar=String.fromCharCode(u);O=true}if(u===189){O=true}if(u>=65&&u<=90){this.editchar=String.fromCharCode(u);var o=false;if(T.shiftKey){o=T.shiftKey}else{if(T.modifiers){o=!!(T.modifiers&4)}}if(this._capsLock){o=!o}if(!o){this.editchar=this.editchar.toLowerCase()}O=true}else{if(u>=96&&u<=105){this.editchar=u-96;this.editchar=this.editchar.toString();O=true}}var C=a(".jqx-grid").length;O=O&&(C==1||(C>1&&j.focused));var R=a.data(document.body,"jqxgrid.edit");if(R!==undefined&&R!==""){if(u===13||O){if(R!=j.element.id){return true}}}}if(u==13||O){if(j.getselectedrowindex){var l=j.getselectedrowindex();if(j.editmode==="selectedrow"){if(l>=0){j.beginrowedit(l)}else{var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);j.beginrowedit(B.rowindex)}return false}}switch(j.selectionmode){case"singlerow":case"multiplerows":case"multiplerowsextended":if(l>=0){var K="";for(var P=0;P<j.columns.records.length;P++){var M=j.getcolumnat(P);if(M.editable){K=M.datafield;break}}if(j.editmode==="selectedrow"){j.beginrowedit(l)}else{j.begincelledit(l,K)}}break;case"singlecell":case"multiplecells":case"multiplecellsextended":var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);if(j.editmode==="selectedrow"){j.beginrowedit(B.rowindex)}else{if(M.columntype!="checkbox"){j.begincelledit(B.rowindex,B.datafield)}}}break;case"multiplecellsadvanced":var B=j.getselectedcell();if(B!=null){if(u==13){if(j.selectcell){var I=this.getrowvisibleindex(B.rowindex);if(I+1<j.dataview.totalrecords){var q=this.dataview.loadedrecords[I+1];if(q){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}}else{if(j.editmode!=="selectedrow"){j.begincelledit(B.rowindex,B.datafield)}}}break}return false}}if(u==46){var v=j.getselectedcells();if(j.selectionmode.indexOf("cell")==-1){if(j._getcellsforcopypaste){v=j._getcellsforcopypaste()}}if(v!=null&&v.length>0){for(var w=0;w<v.length;w++){var B=v[w];if(!B.datafield){continue}var M=j.getcolumn(B.datafield);var E=j.getcellvalue(B.rowindex,B.datafield);if(E!==""&&M.editable&&j.enablekeyboarddelete){var c=null;if(M.columntype=="checkbox"){if(!M.threestatecheckbox){c=false}}if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,c);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:E});if(w==v.length-1){j.setcellvalue(B.rowindex,B.datafield,c,true);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}else{j.setcellvalue(B.rowindex,B.datafield,c,false);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}if(M.cellendedit){var g=M.cellendedit(B.rowindex,M.datafield,M.columntype,c)}j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:E,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo);return false}}if(u==32){var B=j.getselectedcell();if(B!=null){var M=j.getcolumn(B.datafield);if(M.columntype=="checkbox"&&M.editable){var A=!j.getcellvalue(B.rowindex,B.datafield);if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:!A,columntype:"checkbox"});j.setcellvalue(B.rowindex,B.datafield,A,true);j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}}return true},begincelledit:function(o,e,l,g,c){var f=this.getcolumn(e);this._cellscache=new Array();if(e==null){return}if(f.columntype=="number"||f.columntype=="button"||f.createwidget){return}if(this.groupable){if(this.groups.indexOf(e)>=0){return}if(this.groups.indexOf(f.displayfield)>=0){return}}if(this.editrow!=undefined){return}if(this.editcell){if(this.editcell.row==o&&this.editcell.column==e){return true}if(this.editmode==="selectedrow"){if(this.editcell.row==o){return}}var d=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false);if(false==d){return}}var i=f.columntype=="checkbox"||f.columntype=="button"||f.createwidget;this.host.removeClass("jqx-disableselect");this.content.removeClass("jqx-disableselect");if(f.editable){if(f.cellbeginedit){var k=this.getcell(o,e);var m=f.cellbeginedit(o,e,f.columntype,k!=null?k.value:null);if(m==false){return}}var j=this.getrowvisibleindex(o);this.editcell=this.getcell(o,e);if(this.editcell){this.editcell.visiblerowindex=j;if(!this.editcell.editing){if(!i){this.editcell.editing=true}this.editcell.columntype=f.columntype;this.editcell.defaultvalue=l;if(f.defaultvalue!=undefined){this.editcell.defaultvalue=f.defaultvalue}this.editcell.init=true;if(f.columntype!="checkbox"&&this.editmode!="selectedrow"){var h=this.getrowdata(o);this._raiseEvent(17,{rowindex:o,row:h,datafield:f.datafield,value:this.editcell.value,columntype:f.columntype})}a.data(document.body,"jqxgrid.edit",this.element.id);if(!i){var b=this.getrowvisibleindex(o);if(g!==false){if(!this.autorowheight&&this.groups.length===0){var n=this.ensurecellvisible(b,f.datafield)}}if(c!==false){this._renderrows(this.virtualsizeinfo)}}if(this.editcell){this.editcell.init=false;return true}}}}else{if(!this.editcell){return}this.editcell.editor=null;this.editcell.editing=false;if(c!==false){this._renderrows(this.virtualsizeinfo)}this.editcell=null}},getScrollTop:function(){if(this._py){return this._py}this._py=typeof pageYOffset!="undefined";if(this._py){return pageYOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollTop}},getScrollLeft:function(){if(typeof pageXOffset!="undefined"){return pageXOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollLeft}},endcelledit:function(h,o,k,e,p){if(h==undefined||o==undefined){if(this.editcell){h=this.editcell.row;o=this.editcell.column}if(k==undefined){k=true}}if(!this.editcell){return}var d=this.getcolumn(o);var v=this;if(v.editmode==="selectedrow"){this.endrowedit(h,k);return}var u=function(){if(p!=false){if(v.isTouchDevice()){return}if(!v.isNestedGrid){var w=v.getScrollTop();var y=v.getScrollLeft();try{v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}setTimeout(function(){v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}},10)}catch(x){}}}};if(d.columntype=="checkbox"||d.columntype=="button"||d.createwidget){if(this.editcell){this.editcell.editor=null;this.editcell.editing=false;this.editcell=null}return true}var i=this._geteditorvalue(d);var g=function(x){x._hidecelleditor();if(d.cellendedit){d.cellendedit(h,o,d.columntype,x.editcell.value,i)}x.editchar=null;var z;if(d.displayfield!=d.datafield){var w=x.getcellvalue(x.editcell.row,d.displayfield);var y=x.editcell.value;z={value:y,label:w}}else{z=x.editcell.value}var A=x.getrowdata(h);x._raiseEvent(18,{rowindex:h,row:A,datafield:o,displayfield:d.displayfield,oldvalue:i,value:i,columntype:d.columntype});x.editcell.editor=null;x.editcell.editing=false;x.editcell=null;if(e||e==undefined){x._renderrows(x.virtualsizeinfo)}u();if(!x.enablebrowserselection){x.host.addClass("jqx-disableselect");x.content.addClass("jqx-disableselect")}};if(k){g(this);return false}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(d.cellvaluechanging){var b=d.cellvaluechanging(h,o,d.columntype,this.editcell.value,i);if(b!=undefined){i=b}}if(d.validation){var c=this.getcell(h,o);try{var q=d.validation(c,i);var m=this.gridlocalization.validationstring;if(q.message!=undefined){m=q.message}var n=typeof q=="boolean"?q:q.result;if(!n){if(q.showmessage==undefined||q.showmessage==true){this._showvalidationpopup(h,o,m)}this.editcell.validated=false;return false}}catch(s){this._showvalidationpopup(h,o,this.gridlocalization.validationstring);this.editcell.validated=false;return false}}var j;if(d.displayfield!=d.datafield){var l=this.getcellvalue(this.editcell.row,d.displayfield);var r=this.editcell.value;j={value:r,label:l}}else{j=this.editcell.value}var f=this.getrowdata(h);if(d.cellendedit){var t=d.cellendedit(h,o,d.columntype,this.editcell.value,i);if(t==false){this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:j,columntype:d.columntype});g(this);return false}}this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:i,columntype:d.columntype});this._hidecelleditor(false);if(this.editcell!=undefined){this.editcell.editor=null;this.editcell.editing=false}this.editcell=null;this.editchar=null;this.setcellvalue(h,o,i,e);if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}if(!a.jqx.browser.msie){u()}a.data(document.body,"jqxgrid.edit","");return true},beginrowedit:function(f){var e=this;var g=-1;if(f==undefined){return}e._oldselectedrow=f;this._cellscache=new Array();var c=false;if(this.editmode!="selectedrow"){c=true}if(c){var b=this.editmode;this.editmode="selectedrow"}var d=null;if(this._currentEditableColumn){d=this.getcolumnat(this._currentEditableColumn).datafield}a.each(this.columns.records,function(i,k){if(e.editable&&this.editable){if(this.columntype==="checkbox"||this.columntype==="custom"||this.columntype==="widget"||this.columntype==="template"||this.columntype==="button"){return true}if(!d){d=this.datafield}var h=e.getcell(f,this.datafield);e.begincelledit(f,this.datafield,null,false,false);var j=e.getrowdata(f);e._raiseEvent(17,{rowindex:f,row:j,datafield:this.datafield,value:h.value,columntype:this.columntype})}});if(e.editcell){e.editcell.init=true}this._renderrows(this.virtualsizeinfo);if(c){this.editmode=b}if(d&&e.editcell){setTimeout(function(){if(e.editcell&&e.editcell[d]){var h=e.editcell[d].editor;if(h){if(h.data().jqxWidget&&h.data().jqxWidget.focus){h.data().jqxWidget.focus()}else{h.focus()}}}},25)}},endrowedit:function(k,o){var D=this;this._currentEditableColumn=0;this._focusedColumn=null;this._currentColumn=null;this._checkboxCells=[];if(!this.editcell){return false}if(this.editcell.editor==undefined&&this.editcell.columntype!=="checkbox"){return false}var C=function(){if(focus!=false){if(D.isTouchDevice()){return}if(!D.isNestedGrid){var i=D.getScrollTop();var F=D.getScrollLeft();try{D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}setTimeout(function(){D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}},10)}catch(E){}}}};var p=false;if(this.editmode!="selectedrow"){p=true}if(p){var v=this.editmode;this.editmode="selectedrow"}var h=false;var d={};if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];if(!e.editable){continue}if(e.hidden){continue}if(e.columntype=="checkbox"){continue}if(e.createwidget){continue}var l=this._geteditorvalue(e);var g=function(F){F._hidecelleditor();var E=F.getcellvalue(F.editcell.row,e.displayfield);if(e.cellendedit){e.cellendedit(k,u,e.columntype,E,l)}F.editchar=null;var I;if(e.displayfield!=e.datafield){var i=F.getcellvalue(F.editcell.row,e.displayfield);var H=E;I={value:H,label:i}}else{I=E}var G=F.getrowdata(k);F._raiseEvent(18,{rowindex:k,row:G,datafield:u,displayfield:e.displayfield,oldvalue:E,value:E,columntype:e.columntype});F.editcell.editing=false};if(o){g(this);continue}if(e.cellvaluechanging){var n=this.getcellvalue(this.editcell.row,e.displayfield);var b=e.cellvaluechanging(k,u,e.columntype,n,l);if(b!=undefined){l=b}}var u=e.datafield;if(e.validation){var c=this.getcell(k,e.datafield);try{var w=e.validation(c,l);var r=this.gridlocalization.validationstring;if(w.message!=undefined){r=w.message}var t=typeof w=="boolean"?w:w.result;if(!t){if(w.showmessage==undefined||w.showmessage==true){this._showvalidationpopup(k,u,r)}h=true;this.editcell[e.datafield].validated=false;continue}}catch(z){this._showvalidationpopup(k,u,this.gridlocalization.validationstring);this.editcell[e.datafield].validated=false;h=true;continue}}if(e.displayfield!=e.datafield){var q=this.getcellvalue(this.editcell.row,e.displayfield);var x=this.editcell.value;n={value:x,label:q}}else{n=this.getcellvalue(this.editcell.row,e.displayfield)}d[e.datafield]={newvalue:l,oldvalue:n}}var y={};var s={};if(!h){this._hidecelleditor(false);for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];var u=e.datafield;if(e.hidden){continue}if(!e.editable){continue}var f=this.getrowdata(k);if(e.createwidget){continue}if(e.columntype=="checkbox"){var l=this.getcellvalue(k,e.displayfield);this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:l,value:l,columntype:e.columntype});continue}if(!d[e.datafield]){continue}var l=d[e.datafield].newvalue;var n=d[e.datafield].oldvalue;if(e.cellendedit){var A=e.cellendedit(k,u,e.columntype,n,l);if(A==false){this._raiseEvent(18,{rowindex:k,row:f,datafield:u,displayfield:e.displayfield,oldvalue:n,value:n,columntype:e.columntype});g(this);continue}}if(!this.source.updaterow){this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:n,value:l,columntype:e.columntype})}y[e.datafield]=l;s[e.datafield]=n}var j=this.getrowid(k);var f=this.getrowdata(k);a.each(y,function(i,F){if(F&&F.label!=undefined){var E=D.getcolumn(i);f[E.displayfield]=F.label;f[E.datafield]=F.value}else{f[i]=F}});if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}a.data(document.body,"jqxgrid.edit","");this.editcell=null;this.editchar=null;if(this.source.updaterow&&!o){var m=false;var D=this;var t=function(I){var G=D.source.updaterow;D.source.updaterow=null;if(false==I){a.each(s,function(i,K){if(K&&K.label!=undefined){var J=D.getcolumn(i);f[J.displayfield]=K.label;f[J.datafield]=K.value}else{f[i]=K}});D.updaterow(j,f)}else{D.updaterow(j,f)}for(var F=0;F<D.columns.records.length;F++){var H=D.columns.records[F];var E=H.datafield;D._raiseEvent(18,{rowindex:k,datafield:H.datafield,row:f,displayfield:H.displayfield,oldvalue:s[H.datafield],value:f[H.displayfield],columntype:H.columntype})}D.source.updaterow=G};try{m=this.source.updaterow(j,f,t);if(m==undefined){m=true}}catch(z){m=false;return}}else{if(!o){this.updaterow(j,f)}this._renderrows(this.virtualsizeinfo)}}if(p){this.editmode=v}return h},_selection:function(b){if("selectionStart" in b[0]){var g=b[0];var h=g.selectionEnd-g.selectionStart;return{start:g.selectionStart,end:g.selectionEnd,length:h,text:g.value}}else{var d=document.selection.createRange();if(d==null){return{start:0,end:g.value.length,length:0}}var c=b[0].createTextRange();var f=c.duplicate();c.moveToBookmark(d.getBookmark());f.setEndPoint("EndToStart",c);var h=d.text.length;return{start:f.text.length,end:f.text.length+d.text.length,length:h,text:d.text}}},_setSelection:function(e,b,d){if("selectionStart" in d[0]){d[0].focus();d[0].setSelectionRange(e,b)}else{var c=d[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}},findRecordIndex:function(g,c,b){var b=b;if(c){var e=b.length;for(var h=0;h<e;h++){var f=b[h];var d=f.label;if(g==d){return h}}}return -1},_destroyeditors:function(){var b=this;if(!this.columns.records){return}a.each(this.columns.records,function(f,j){var c=a.trim(this.datafield).split(" ").join("");switch(this.columntype){case"dropdownlist":var g=b.editors["dropdownlist_"+c];if(g){g.jqxDropDownList("destroy");b.editors["dropdownlist_"+c]=null}break;case"combobox":var k=b.editors["combobox_"+c];if(k){k.jqxComboBox("destroy");b.editors["combobox_"+c]=null}break;case"datetimeinput":var d=b.editors["datetimeinput_"+this.datafield];if(d){d.jqxDateTimeInput("destroy");b.editors["datetimeinput_"+c]=null}break;case"numberinput":var e=b.editors["numberinput_"+c];if(e){e.jqxNumberInput("destroy");b.editors["numberinput_"+c]=null}break;case"custom":case"template":if(b.destroyeditor){if(b.editors["templateeditor_"+c]){b.destroyeditor(b.editors["templateeditor_"+c]);b.editors["templateeditor_"+c]=null}}if(b.destroyeditor){var m=b.getrows.length();for(var l=0;l<m;l++){if(b.editors["customeditor_"+c+"_"+l]){b.destroyeditor(b.editors["customeditor_"+c+"_"+l],l);b.editors["customeditor_"+c+"_"+l]=null}}}break;case"textbox":default:var h=b.editors["textboxeditor_"+c];if(h){b.removeHandler(h,"keydown");b.editors["textbox_"+c]=null}break}});b.editors=new Array()},_showcelleditor:function(r,H,o,L,x){if(o==undefined){return}if(this.editcell==null){return}if(H.columntype=="checkbox"&&H.editable){if(this.editmode=="selectedrow"){if(!this._checkboxCells){this._checkboxCells=[]}this._checkboxCells[H.datafield]=o}return}if(x==undefined){x=true}if(this.editmode=="selectedrow"){this.editchar="";x=false}var F=H.datafield;var h=a(o);var t=this;var d=this.editcell.editor;var J=this.getcellvalue(r,F);var D=this.getcelltext(r,F);var k=this.hScrollInstance;var u=k.value;var j=parseInt(u);var K=this.columns.records.indexOf(H);this.editcell.element=o;if(this.editcell.validated==false){var I="";if(this.validationpopup){I=this.validationpopup.text()}this._showvalidationpopup(r,F,I)}var m=function(e){if(t.hScrollInstance.isScrolling()||t.vScrollInstance.isScrolling()){return}if(!x){return}if(t.isTouchDevice()){return}if(e){e.focus()}if(t.gridcontent[0].scrollTop!=0){t.scrolltop(Math.abs(t.gridcontent[0].scrollTop));t.gridcontent[0].scrollTop=0}if(t.gridcontent[0].scrollLeft!=0){t.gridcontent[0].scrollLeft=0}};switch(H.columntype){case"dropdownlist":if(this.host.jqxDropDownList){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var l=this.editors["dropdownlist_"+E];d=l==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='dropdownlisteditor'></div>"):l;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(l==undefined){d.prependTo(this.table);d[0].id="dropdownlisteditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxDropDownList({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});this.editors["dropdownlist_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDropDownList({width:h.width()})}var c=d.jqxDropDownList("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxDropDownList("autoDropDownHeight",true)}else{d.jqxDropDownList("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxDropDownList("selectIndex",A,true)}else{d.jqxDropDownList("selectIndex",-1)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxDropDownList("selectIndex",this.editcell.defaultvalue,true)}if(x){d.jqxDropDownList("focus")}}break;case"combobox":if(this.host.jqxComboBox){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var s=this.editors["combobox_"+E];d=s==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='comboboxeditor'></div>"):s;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(s==undefined){d.prependTo(this.table);d[0].id="comboboxeditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxComboBox({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});d.removeAttr("tabindex");d.find("div").removeAttr("tabindex");this.editors["combobox_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxComboBox({width:h.width()-2})}var c=d.jqxComboBox("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxComboBox("autoDropDownHeight",true)}else{d.jqxComboBox("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxComboBox("selectIndex",A,true);d.jqxComboBox("val",J)}else{d.jqxComboBox("selectIndex",-1);d.jqxComboBox("val",J)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxComboBox("selectIndex",this.editcell.defaultvalue,true)}if(this.editchar&&this.editchar.length>0){d.jqxComboBox("input").val(this.editchar)}if(x){setTimeout(function(){m(d.jqxComboBox("input"));if(d){d.jqxComboBox("_setSelection",0,0);if(t.editchar){d.jqxComboBox("_setSelection",1,1);t.editchar=null}else{if(d.jqxComboBox("input")){var e=d.jqxComboBox("input").val();d.jqxComboBox("_setSelection",0,e.length)}}}},10)}}break;case"datetimeinput":if(this.host.jqxDateTimeInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var w=this.editors["datetimeinput_"+E];d=w==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='datetimeeditor'></div>"):w;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(w==undefined){d.prependTo(this.table);d[0].id="datetimeeditor"+this.element.id+E;var G={calendar:this.gridlocalization};d.jqxDateTimeInput({hint:false,firstDayOfWeek:this.gridlocalization.firstDay,enableBrowserBoundsDetection:true,localization:G,_editor:true,theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),formatString:H.cellsformat});this.editors["datetimeinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDateTimeInput({width:h.width()})}if(L){if(J!=""&&J!=null){var M=new Date(J);if(M=="Invalid Date"){if(this.source.getvaluebytype){M=this.source.getvaluebytype(J,{name:H.datafield,type:"date"})}}d.jqxDateTimeInput("setDate",M)}else{d.jqxDateTimeInput("setDate",null)}if(this.editcell.defaultvalue!=undefined){d.jqxDateTimeInput("setDate",this.editcell.defaultvalue)}}if(x){var N=this.editEvent;setTimeout(function(){m(d.jqxDateTimeInput("dateTimeInput"));setTimeout(function(){d.jqxDateTimeInput("_selectGroup",0);if(t.editchar&&t.editchar.length>0){var R=parseInt(t.editchar);if(!isNaN(R)){if(N){var e=N.charCode?N.charCode:N.keyCode?N.keyCode:0;d.jqxDateTimeInput("_handleKeyPress",N,e)}}}},25)},10)}}break;case"numberinput":if(this.host.jqxNumberInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var P=this.editors["numberinput_"+E];d=P==undefined?a("<div style='border:none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='numbereditor'></div>"):P;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(P==undefined){d.prependTo(this.table);d[0].id="numbereditor"+this.element.id+E;var n="";var z="left";var O=2;if(H.cellsformat){if(H.cellsformat.indexOf("c")!=-1){n=this.gridlocalization.currencysymbol;z=this.gridlocalization.currencysymbolposition;if(z=="before"){z="left"}else{z="right"}if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}else{if(H.cellsformat.indexOf("p")!=-1){n=this.gridlocalization.percentsymbol;z="right";if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}}}else{O=0}d.jqxNumberInput({decimalSeparator:this.gridlocalization.decimalseparator,decimalDigits:O,inputMode:"simple",theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),spinButtons:true,symbol:n,symbolPosition:z});this.editors["numberinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxNumberInput({width:h.width()})}if(L){if(J!=""&&J!=null){var Q=J;d.jqxNumberInput("setDecimal",Q)}else{d.jqxNumberInput("setDecimal",0)}if(this.editcell.defaultvalue!=undefined){d.jqxNumberInput("setDecimal",this.editcell.defaultvalue)}if(this.editchar&&this.editchar.length>0){var p=parseInt(this.editchar);if(!isNaN(p)){d.jqxNumberInput("setDecimal",p)}}if(x){setTimeout(function(){m(d.jqxNumberInput("numberInput"));d.jqxNumberInput("_setSelectionStart",0);if(t.editchar){if(H.cellsformat.length>0&&H.cellsformat.indexOf("c")>=0){d.jqxNumberInput("_setSelectionStart",2)}else{d.jqxNumberInput("_setSelectionStart",1)}t.editchar=null}else{var e=d.jqxNumberInput("spinButtons");if(e){var R=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],R.length,R.length)}else{var R=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],0,R.length)}d.jqxNumberInput("selectAll")}},10)}}}break;case"custom":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var C=this.editors["customeditor_"+E+"_"+r];d=C==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='customeditor'></div>"):C;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(C==undefined){d.prependTo(this.table);d[0].id="customeditor"+this.element.id+E+"_"+r;this.editors["customeditor_"+E+"_"+r]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"template":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var i=this.editors["templateeditor_"+E];d=i==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='templateeditor'></div>"):i;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(i==undefined){d.prependTo(this.table);d[0].id="templateeditor"+this.element.id+E;this.editors["templateeditor_"+E]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"textbox":default:o.innerHTML="";d=this.editors["textboxeditor_"+H.datafield]||a("<input autocomplete='off' style='padding-left: 4px; padding-right:4px; border: none; border-color: transparent;' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox' id='textboxeditor'/>");d[0].id="textboxeditor"+this.element.id+H.datafield;d.appendTo(h);if(this.rtl){d.css("direction","rtl")}if(L||d[0].className==""){d.addClass(this.toThemeProperty("jqx-input"));d.addClass(this.toThemeProperty("jqx-widget-content"));if(this.editchar&&this.editchar.length>0){d.val(this.editchar)}else{if(H.cellsformat!=""){J=this.getcelltext(r,F)}if(J==undefined){J=""}d.val(J)}if(this.editcell.defaultvalue!=undefined){d.val(this.editcell.defaultvalue)}d.width(h.width()+1);d.height(h.height()+1);if(H.createeditor){H.createeditor(r,J,d)}if(H.cellsformat!=""){if(H.cellsformat.indexOf("p")!=-1||H.cellsformat.indexOf("c")!=-1||H.cellsformat.indexOf("n")!=-1||H.cellsformat.indexOf("f")!=-1){if(!this.editors["textboxeditor_"+H.datafield]){d.keydown(function(R){var X=R.charCode?R.charCode:R.keyCode?R.keyCode:0;var U=String.fromCharCode(X);var V=parseInt(U);if(isNaN(V)){return true}if(t._selection(d).length>0){return true}var T="";var S=d.val();if(H.cellsformat.length>1){var W=parseInt(H.cellsformat.substring(1));if(isNaN(W)){W=0}}else{var W=0}if(W>0){if(S.indexOf(t.gridlocalization.decimalseparator)!=-1){if(t._selection(d).start>S.indexOf(t.gridlocalization.decimalseparator)){return true}}}for(var Y=0;Y<S.length-W;Y++){var e=S.substring(Y,Y+1);if(e.match(/^[0-9]+$/)!=null){T+=e}}if(T.length>=11){return false}})}}}}this.editors["textboxeditor_"+H.datafield]=d;if(L){if(x){setTimeout(function(){m(d);if(t.editchar){t._setSelection(d[0],1,1);t.editchar=null}else{t._setSelection(d[0],0,d.val().length)}},25)}}break}if(d){d.addClass("jqx-grid-cell-edit");d[0].style.zIndex=1+parseInt(o.style.zIndex);if(a.jqx.browser.msie&&a.jqx.browser.version<8){d[0].style.zIndex=1+this.columns.records.length+o.style.zIndex}d.css("display","block");this.editcell.editor=d;if(!this.editcell[F]){this.editcell[F]={};this.editcell[F].editor=d}else{this.editcell[F].editor=d}}if(L){if(H.initeditor){H.initeditor(r,J,d,D,this.editchar)}}if(t.isTouchDevice()){return}setTimeout(function(){if(t.content){t.content[0].scrollTop=0;t.content[0].scrollLeft=0}if(t.gridcontent){t.gridcontent[0].scrollLeft=0;t.gridcontent[0].scrollTop=0}},10)},_setSelection:function(d,g,b){try{if("selectionStart" in d){d.setSelectionRange(g,b)}else{var c=d.createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",g);c.select()}}catch(e){var f=e}},_hideeditors:function(){if(this.editcells!=null){var b=this;for(var c in this.editcells){b.editcell=b.editcells[c];b._hidecelleditor()}}},_hidecelleditor:function(b){if(!this.editcell){return}if(this.editmode==="selectedrow"){for(var c=0;c<this.columns.records.length;c++){var e=this.columns.records[c];if(this.editcell[e.datafield]&&this.editcell[e.datafield].editor){this.editcell[e.datafield].editor.hide();var d=this.editcell[e.datafield].editor;switch(e.columntype){case"dropdownlist":d.jqxDropDownList({closeDelay:0});d.jqxDropDownList("hideListBox");d.jqxDropDownList({closeDelay:300});break;case"combobox":d.jqxComboBox({closeDelay:0});d.jqxComboBox("hideListBox");d.jqxComboBox({closeDelay:300});break;case"datetimeinput":if(d.jqxDateTimeInput("isOpened")){d.jqxDateTimeInput({closeDelay:0});d.jqxDateTimeInput("hideCalendar");d.jqxDateTimeInput({closeDelay:300})}break}}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}return}if(this.editcell.columntype=="checkbox"){return}if(this.editcell.editor){this.editcell.editor.hide();switch(this.editcell.columntype){case"dropdownlist":this.editcell.editor.jqxDropDownList({closeDelay:0});this.editcell.editor.jqxDropDownList("hideListBox");this.editcell.editor.jqxDropDownList({closeDelay:300});break;case"combobox":this.editcell.editor.jqxComboBox({closeDelay:0});this.editcell.editor.jqxComboBox("hideListBox");this.editcell.editor.jqxComboBox({closeDelay:300});break;case"datetimeinput":var f=this.editcell.editor;if(f.jqxDateTimeInput("isOpened")){f.jqxDateTimeInput({closeDelay:0});f.jqxDateTimeInput("hideCalendar");f.jqxDateTimeInput({closeDelay:300})}break}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(!this.isNestedGrid){if(b!=false){this.element.focus()}}},_geteditorvalue:function(h){var o=new String();if(!this.editcell){return null}var l=this.editcell.editor;if(this.editmode=="selectedrow"){if(this.editcell[h.datafield]){var l=this.editcell[h.datafield].editor}}if(l){switch(h.columntype){case"textbox":default:o=l.val();if(h.cellsformat!=""){var n="string";var e=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(e){var p="";a.each(e,function(){if(this.name==h.displayfield){if(this.type){p=this.type}return false}});if(p){n=p}}var i=n==="number"||n==="float"||n==="int"||n==="integer";var f=n==="date"||n==="time";if(i||(n==="string"&&(h.cellsformat.indexOf("p")!=-1||h.cellsformat.indexOf("c")!=-1||h.cellsformat.indexOf("n")!=-1||h.cellsformat.indexOf("f")!=-1))){if(o===""&&h.nullable){return""}if(o.indexOf&&o.indexOf(this.gridlocalization.currencysymbol)>-1){o=o.replace(this.gridlocalization.currencysymbol,"")}var m=function(w,u,v){var s=w;if(u==v){return w}var t=s.indexOf(u);while(t!=-1){s=s.replace(u,v);t=s.indexOf(u)}return s};var k=o;k=new Number(k);if(!isNaN(k)){return k}o=m(o,this.gridlocalization.thousandsseparator,"");o=o.replace(this.gridlocalization.decimalseparator,".");if(o.indexOf(this.gridlocalization.percentsymbol)>-1){o=o.replace(this.gridlocalization.percentsymbol,"")}var d="";for(var r=0;r<o.length;r++){var b=o.substring(r,r+1);if(b==="-"){d+="-"}if(b==="."){d+="."}if(b.match(/^[0-9]+$/)!=null){d+=b}}o=d;o=o.replace(/ /g,"");o=new Number(o);if(isNaN(o)){o=""}}if(f||(n==="string"&&(h.cellsformat.indexOf("H")!=-1||h.cellsformat.indexOf("m")!=-1||h.cellsformat.indexOf("M")!=-1||h.cellsformat.indexOf("y")!=-1||h.cellsformat.indexOf("h")!=-1||h.cellsformat.indexOf("d")!=-1))){if(o===""&&h.nullable){return""}var c=o;if(a.jqx.dataFormat){o=a.jqx.dataFormat.tryparsedate(c,this.gridlocalization)}if(o=="Invalid Date"||o==null){o=""}}}if(h.displayfield!=h.datafield){o={label:o,value:o}}break;case"checkbox":if(l.jqxCheckBox){o=l.jqxCheckBox("checked")}break;case"datetimeinput":if(l.jqxDateTimeInput){l.jqxDateTimeInput({isEditing:false});if(l.jqxDateTimeInput("container").css("display")!=="none"){l.jqxDateTimeInput("close")}l.jqxDateTimeInput("_validateValue");o=l.jqxDateTimeInput("getDate");if(o==null){return null}o=new Date(o.toString());if(h.displayfield!=h.datafield){o={label:o,value:o}}}break;case"dropdownlist":if(l.jqxDropDownList){var g=l.jqxDropDownList("selectedIndex");var q=l.jqxDropDownList("listBox").getVisibleItem(g);if(h.displayfield!=h.datafield){if(q){o={label:q.label,value:q.value}}else{o=""}}else{if(q){o=q.label}else{o=""}}if(o==null){o=""}}break;case"combobox":if(l.jqxComboBox){o=l.jqxComboBox("val");if(h.displayfield!=h.datafield){var q=l.jqxComboBox("getSelectedItem");if(q!=null){o={label:q.label,value:q.value}}}if(o==null){o=""}}break;case"numberinput":if(l.jqxNumberInput){if(this.touchdevice){l.jqxNumberInput("_doTouchHandling")}var j=l.jqxNumberInput("getDecimal");o=new Number(j);o=parseFloat(o);if(isNaN(o)){o=0}if(j===null){o=null}if(h.displayfield!=h.datafield){o={label:o,value:o}}}break}if(h.geteditorvalue){if(this.editmode=="selectedrow"){o=h.geteditorvalue(this.editcell.row,this.getcellvalue(this.editcell.row,h.datafield),l)}else{o=h.geteditorvalue(this.editcell.row,this.editcell.value,l)}}}return o},hidevalidationpopups:function(){if(this.popups){a.each(this.popups,function(){this.validation.remove();this.validationrow.remove()});this.popups=new Array()}if(this.validationpopup){this.validationpopuparrow.hide();this.validationpopup.hide()}},showvalidationpopup:function(f,j,h){if(h==undefined){var h=this.gridlocalization.validationstring}var g=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var r=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");g.html(h);r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));g.addClass(this.toThemeProperty("jqx-grid-validation"));g.addClass(this.toThemeProperty("jqx-rc-all"));g.prependTo(this.table);r.prependTo(this.table);var l=this.hScrollInstance;var n=l.value;var d=parseInt(n);var b=this.getcolumn(j).uielement;var p=null;for(var o=0;o<this.hittestinfo.length;o++){if(f===this.hittestinfo[o].row.visibleindex){p=this.hittestinfo[o]}}if(!p){this.ensurerowvisible(f);var s=this;g.remove();r.remove();setTimeout(function(){var v=null;for(var u=0;u<s.hittestinfo.length;u++){if(f===s.hittestinfo[u].row.visibleindex){v=s.hittestinfo[u]}}if(v){s.showvalidationpopup(f,j,h)}},25);return}var c=a(p.visualrow);g.css("top",parseInt(c.position().top)+30+"px");var k=parseInt(g.css("top"));r.css("top",k-12);r.removeClass();r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var q=false;if(k>=this._gettableheight()-this.rowsheight){r.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));k=parseInt(c.position().top)-this.rowsheight;if(k<0){k=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));q=true}g.css("top",k+"px");r.css("top",k+g.outerHeight()-9)}var t=-d+parseInt(a(b).position().left);if(b[0].offsetHeight===0){t=-d+parseInt(b[0].style.left)}r.css("left",d+t+30);var m=g.width();if(m+t>this.host.width()-20){var e=m+t-this.host.width()+40;t-=e}if(!q){g.css("left",d+t)}else{g.css("left",d+parseInt(a(b).position().left)-g.outerWidth())}g.show();r.show();if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:g,validationrow:r}},_showvalidationpopup:function(p,e,q){var c=this.editcell;var k=this.editcell.editor;if(this.editmode=="selectedrow"){var c=this.editcell[e];if(c&&c.editor){k=c.editor;c.element=k}}if(!k){return}if(this.validationpopup&&a.jqx.isHidden(this.validationpopup)){if(this.validationpopup.remove){this.validationpopup.remove();this.validationpopuparrow.remove()}this.validationpopup=null;this.validationpopuparrow=null;if(e===undefined&&q===undefined&&this.editors&&this.editors.length===0){return}}if(!this.validationpopup){var n=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var m=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");n.html(q);m.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));n.addClass(this.toThemeProperty("jqx-grid-validation"));n.addClass(this.toThemeProperty("jqx-rc-all"));n.prependTo(this.table);m.prependTo(this.table);this.validationpopup=n;this.validationpopuparrow=m}else{this.validationpopup.html(q)}var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){this.validationpopup.css("top",this.visiblerows[this.editcell.visiblerowindex].top+(this.rowsheight+5)+"px")}else{this.validationpopup.css("top",parseInt(a(c.editor).position().top)+(this.rowsheight+5)+"px")}}else{this.validationpopup.css("top",parseInt(a(c.element).parent().position().top)+(this.rowsheight+5)+"px")}var b=parseInt(this.validationpopup.css("top"));this.validationpopuparrow.css("top",b-11);this.validationpopuparrow.removeClass();this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var o=this._gettableheight();var f=false;if(b>=o){this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));b=parseInt(a(c.element).parent().position().top)-this.rowsheight-5;if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){b=this.visiblerows[this.editcell.visiblerowindex].top-this.rowsheight-5}else{b=parseInt(a(c.editor).position().top)-this.rowsheight-5}}if(b<0){b=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}this.validationpopup.css("top",b+"px");this.validationpopuparrow.css("top",b+this.validationpopup.outerHeight()-9)}var l=-g+parseInt(a(c.element).position().left);this.validationpopuparrow.css("left",g+l+30);var d=this.validationpopup.width();if(d+l>this.host.width()-20){var i=d+l-this.host.width()+40;l-=i}if(!f){this.validationpopup.css("left",g+l)}else{this.validationpopup.css("left",g+parseInt(a(c.element).position().left)-this.validationpopup.outerWidth())}if(this.editcell.editor.css("display")=="none"){this.validationpopup.hide();this.validationpopuparrow.hide()}else{this.validationpopup.show();this.validationpopuparrow.show()}}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{_handledblclick:function(t,n){if(t.target==null){return}if(n.disabled){return}if(a(t.target).ischildof(this.columnsheader)){return}var w;if(t.which){w=(t.which==3)}else{if(t.button){w=(t.button==2)}}if(w){return}var B;if(t.which){B=(t.which==2)}else{if(t.button){B=(t.button==1)}}if(B){return}var v=this.showheader?this.columnsheader.height()+2:0;var o=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;o+=A;var e=this.host.offset();var m=t.pageX-e.left;var l=t.pageY-v-e.top-o;var b=this._hittestrow(m,l);if(!b){return}var h=b.row;var j=b.index;var q=t.target.className;var p=this.table[0].rows[j];if(p==null){return}n.mousecaptured=true;n.mousecaptureposition={left:t.pageX,top:t.pageY-o};var r=this.hScrollInstance;var s=r.value;var d=0;var k=this.groupable?this.groups.length:0;for(var u=0;u<p.cells.length;u++){var f=parseInt(a(this.columnsrow[0].cells[u]).css("left"));var g=f-s;if(n.columns.records[u].pinned){g=f}var c=this._getcolumnat(u);if(c!=null&&c.hidden){continue}var z=g+a(this.columnsrow[0].cells[u]).width();if(z>=m&&m>=g){d=u;break}}if(h!=null){var c=this._getcolumnat(d);if(!(q.indexOf("jqx-grid-group-expand")!=-1||q.indexOf("jqx-grid-group-collapse")!=-1)){if(h.boundindex!=-1){n.begincelledit(n.getboundindex(h),c.datafield,c.defaulteditorvalue)}}}},_getpreveditablecolumn:function(c){var b=this;while(c>0){c--;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_getnexteditablecolumn:function(c){var b=this;while(c<this.columns.records.length){c++;var d=b.getcolumnat(c);if(!d){return null}if(!d.editable){continue}if(!d.hidden){return d}}return null},_handleeditkeydown:function(T,j){if(j.handlekeyboardnavigation){var L=j.handlekeyboardnavigation(T);if(L==true){return true}}var u=T.charCode?T.charCode:T.keyCode?T.keyCode:0;j.editEvent=T;if(j.showfilterrow&&j.filterable){if(this.filterrow){if(a(T.target).ischildof(this.filterrow)){return true}}}if(T.target.className&&T.target.className.indexOf("jqx-grid-widget")>=0){return true}if(j.pageable){if(a(T.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(T.target).ischildof(this.toolbar)){return true}}if(this.showeverpresentrow){if(this.addnewrowtop){if(a(T.target).ischildof(this.addnewrowtop)){return true}}if(this.addnewrowbottom){if(a(T.target).ischildof(this.addnewrowbottom)){return true}}}if(this.showstatusbar){if(a(T.target).ischildof(this.statusbar)){return true}}if(this.rowdetails){if(a(T.target).ischildof(this.content.find("[role='rowgroup']"))){return true}}if(this.editcell){if(this.editmode==="selectedrow"){if(u===13){this.endrowedit(this.editcell.row,false);return false}else{if(u===27){this.endrowedit(this.editcell.row,true);return false}}if(u==32){if(this._currentColumn&&this.getcolumn(this._currentColumn).columntype=="checkbox"){var M=this.getcolumn(this._currentColumn);if(M.editable){var A=!this.getcellvalue(this.editcell.row,M.datafield);var H=this.getrowdata(this.editcell.row);var s=this.editcell.row;var H=j.getrowdata(j.editcell.row);this.setcellvalue(this.editcell.row,M.datafield,A,false);var k=this._focusedColumn;var d=this._currentColumn;var f=this._currentEditableColumn;this.endrowedit(this.editcell.row,false);this.beginrowedit(s,false);this._currentColumn=d;this._focusedColumn=k;this._currentEditableColumn=f;this._renderrows();this.selectcell(s,M.datafield);this._oldselectedcell=this.selectedcell;if(k){var G=this;setTimeout(function(){G.selectcell(s,M.datafield);G._oldselectedcell=G.selectedcell;a(G._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")},25)}return false}}}if(u===9){var K=this.editcell.datafield;var e=this._getcolumnindex(K);if(this._currentEditableColumn){e=this._currentEditableColumn}else{this._currentEditableColumn=e}var M=this._getnexteditablecolumn(e);if(T.shiftKey||this.rtl){M=this._getpreveditablecolumn(e)}if(M){var e=this._getcolumnindex(M.datafield);if(this.editcell[M.datafield]){this._currentEditableColumn=e;var b=this.editcell[M.datafield].editor;if(b){if(b.data().jqxWidget&&b.data().jqxWidget.focus){b.data().jqxWidget.focus()}else{b.focus();b[0].onkeyup=function(){if(j.gridcontent[0].scrollTop!=0){j.scrolltop(Math.abs(j.gridcontent[0].scrollTop));j.gridcontent[0].scrollTop=0}if(j.gridcontent[0].scrollLeft!=0){j.gridcontent[0].scrollLeft=0}}}}this._focusedColumn=M.datafield;this._currentColumn=M.datafield;if(this.gridcontent[0].scrollTop!=0){this.scrolltop(Math.abs(this.gridcontent[0].scrollTop));this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}else{if(M.columntype=="checkbox"){this._currentColumn=M.datafield;this._currentEditableColumn=e;this.selectcell(this.editcell.row,M.datafield);this._oldselectedcell=this.selectedcell;if(this._checkboxCells[M.datafield]){a(this._checkboxCells[M.datafield].checkbox).jqxCheckBox("focus")}return false}}}return false}return true}if(this.editcell.columntype==null||this.editcell.columntype=="textbox"||this.editcell.columntype=="numberinput"||this.editcell.columntype=="combobox"||this.editcell.columntype=="datetimeinput"){if(u>=33&&u<=40&&j.selectionmode=="multiplecellsadvanced"){var b=this.editcell.columntype=="textbox"||this.editcell.columntype==null?this.editcell.editor:this.editcell.editor.find("input");var p=j._selection(b);var J=b.val().length;if(p.length>0&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(p.start>0&&u==37){j._cancelkeydown=true}if(p.start<J&&u==39&&this.editcell.columntype!="datetimeinput"){j._cancelkeydown=true}if(this.editcell.columntype=="datetimeinput"&&u==39){if(p.start+p.length<J){j._cancelkeydown=true}}}}else{if(this.editcell.columntype=="dropdownlist"){if(u==37||u==39&&j.selectionmode=="multiplecellsadvanced"){j._cancelkeydown=false}}else{if(this.selectionmode=="multiplecellsadvanced"&&this.editcell.columntype!="textbox"&&this.editcell.columntype!="numberinput"){j._cancelkeydown=true}}}if(u==32){if(j.editcell.columntype=="checkbox"){var M=j.getcolumn(j.editcell.datafield);if(M.editable){var A=!j.getcellvalue(j.editcell.row,j.editcell.column);if(M.cellbeginedit){var n=M.cellbeginedit(j.editcell.row,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(j.editcell.row);j.setcellvalue(j.editcell.row,j.editcell.column,A,true);j._raiseEvent(18,{rowindex:j.editcell.row,row:H,datafield:j.editcell.column,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}if(u==9){var l=this.editcell.row;var K=this.editcell.column;var i=K;var e=j._getcolumnindex(K);var D=false;var I=j.getrowvisibleindex(l);var N=l;this.editchar="";var t=this.editcell.validated;if(!this.editcell.validated){var t=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false)}if(t!=false){if(T.shiftKey||this.rtl){var M=j._getpreveditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectprevcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var r=j._getlastvisiblecolumn();D=true;K=r.displayfield;var h=j.getdisplayrows()[I-1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(y&&j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}else{var M=j._getnexteditablecolumn(e);if(M){K=M.datafield;D=true;if(j.selectionmode.indexOf("cell")!=-1){j.selectnextcell(l,i);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}else{var x=j._getfirstvisiblecolumn();D=true;K=x.displayfield;var h=j.getdisplayrows()[I+1];if(h){l=h.dataindex;if(l===undefined){l=h.boundindex}I=j.getrowvisibleindex(l)}var y=true;if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){y=false}}if(j.selectionmode.indexOf("cell")!=-1){if(y){j.clearselection();j.selectcell(l,K);j._oldselectedcell=j.selectedcell;setTimeout(function(){j.ensurecellvisible(I,K)},10)}}}}if(D){if(j.pageable){var Q=Math.floor(I/this.pagesize);if(this.dataview.pagenum!=Q){this._renderrows(this.virtualsizeinfo);if(j.selectionmode.indexOf("cell")!=-1){j.clearselection();j.selectcell(N,i);j._oldselectedcell=j.selectedcell}if(Q>this.dataview.pagenum){setTimeout(function(){j.pagerpageinput.focus()},25)}return}}j.begincelledit(l,K);if(this.editcell!=null&&this.editcell.columntype=="checkbox"){this._renderrows(this.virtualsizeinfo)}}else{if(this.editcell!=null){j.endcelledit(l,K,false);this._renderrows(this.virtualsizeinfo)}return true}}return false}else{if(u==13){var F=this.selectedcell;if(F){var z=this.getrowvisibleindex(F.rowindex)}this.endcelledit(this.editcell.row,this.editcell.column,false,true);if(this.selectionmode=="multiplecellsadvanced"){var B=j.getselectedcell();if(B!=null){if(j.selectcell){if(this.editcell==null){if(B.rowindex+1<this.dataview.totalrecords){if(this.sortcolumn!=B.datafield){var I=this.getrowvisibleindex(B.rowindex);var q=this.dataview.loadedrecords[I+1];if(q){if(!this.pageable||(this.pageable&&I+1<(this.dataview.pagenum+1)*this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}else{if(F!=null){var S=this.dataview.loadedrecords[z+1];if(S){if(!this.pageable||(this.pageable&&z+1<this.pagesize)){this.clearselection(false);this.selectcell(this.getboundindex(S),B.datafield)}else{if(this.pageable&&z+1>=this.pagesize){this.clearselection(false);var S=this.dataview.loadedrecords[z];this.selectcell(this.getboundindex(S),B.datafield)}}}}}}}}}}return false}else{if(u==27){this.endcelledit(this.editcell.row,this.editcell.column,true,true);return false}}}}else{var O=false;if(u==113){O=true}if(!T.ctrlKey&&!T.altKey&&!T.metaKey){if(u>=48&&u<=57){this.editchar=String.fromCharCode(u);O=true}if(u===189){O=true}if(u>=65&&u<=90){this.editchar=String.fromCharCode(u);var o=false;if(T.shiftKey){o=T.shiftKey}else{if(T.modifiers){o=!!(T.modifiers&4)}}if(this._capsLock){o=!o}if(!o){this.editchar=this.editchar.toLowerCase()}O=true}else{if(u>=96&&u<=105){this.editchar=u-96;this.editchar=this.editchar.toString();O=true}}var C=a(".jqx-grid").length;O=O&&(C==1||(C>1&&j.focused));var R=a.data(document.body,"jqxgrid.edit");if(R!==undefined&&R!==""){if(u===13||O){if(R!=j.element.id){return true}}}}if(u==13||O){if(j.getselectedrowindex){var l=j.getselectedrowindex();if(j.editmode==="selectedrow"){if(l>=0){j.beginrowedit(l)}else{var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);j.beginrowedit(B.rowindex)}return false}}switch(j.selectionmode){case"singlerow":case"multiplerows":case"multiplerowsextended":if(l>=0){var K="";for(var P=0;P<j.columns.records.length;P++){var M=j.getcolumnat(P);if(M.editable){K=M.datafield;break}}if(j.editmode==="selectedrow"){j.beginrowedit(l)}else{j.begincelledit(l,K)}}break;case"singlecell":case"multiplecells":case"multiplecellsextended":var B=j.getselectedcell();if(B!=null){var M=j._getcolumnbydatafield(B.datafield);if(j.editmode==="selectedrow"){j.beginrowedit(B.rowindex)}else{if(M.columntype!="checkbox"){j.begincelledit(B.rowindex,B.datafield)}}}break;case"multiplecellsadvanced":var B=j.getselectedcell();if(B!=null){if(u==13){if(j.selectcell){var I=this.getrowvisibleindex(B.rowindex);if(I+1<j.dataview.totalrecords){var q=this.dataview.loadedrecords[I+1];if(q){this.clearselection(false);this.selectcell(this.getboundindex(q),B.datafield);var B=this.getselectedcell();this.ensurecellvisible(q.visibleindex,B.datafield)}}}}else{if(j.editmode!=="selectedrow"){j.begincelledit(B.rowindex,B.datafield)}}}break}return false}}if(u==46){var v=j.getselectedcells();if(j.selectionmode.indexOf("cell")==-1){if(j._getcellsforcopypaste){v=j._getcellsforcopypaste()}}if(v!=null&&v.length>0){for(var w=0;w<v.length;w++){var B=v[w];if(!B.datafield){continue}var M=j.getcolumn(B.datafield);var E=j.getcellvalue(B.rowindex,B.datafield);if(E!==""&&M.editable&&j.enablekeyboarddelete){var c=null;if(M.columntype=="checkbox"){if(!M.threestatecheckbox){c=false}}if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,c);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:E});if(w==v.length-1){j.setcellvalue(B.rowindex,B.datafield,c,true);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}else{j.setcellvalue(B.rowindex,B.datafield,c,false);if(M.displayfield!=M.datafield){j.setcellvalue(B.rowindex,M.displayfield,c,true)}}if(M.cellendedit){var g=M.cellendedit(B.rowindex,M.datafield,M.columntype,c)}j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:E,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo);return false}}if(u==32){var B=j.getselectedcell();if(B!=null){var M=j.getcolumn(B.datafield);if(M.columntype=="checkbox"&&M.editable){var A=!j.getcellvalue(B.rowindex,B.datafield);if(M.cellbeginedit){var n=M.cellbeginedit(B.rowindex,M.datafield,M.columntype,!A);if(n==false){return false}}var H=j.getrowdata(B.rowindex);j._raiseEvent(17,{rowindex:B.rowindex,row:H,datafield:B.datafield,value:!A,columntype:"checkbox"});j.setcellvalue(B.rowindex,B.datafield,A,true);j._raiseEvent(18,{rowindex:B.rowindex,row:H,datafield:B.datafield,oldvalue:!A,value:A,columntype:"checkbox"});return false}}}}return true},begincelledit:function(o,e,l,g,c){var f=this.getcolumn(e);this._cellscache=new Array();if(e==null){return}if(f.columntype=="number"||f.columntype=="button"||f.createwidget){return}if(this.groupable){if(this.groups.indexOf(e)>=0){return}if(this.groups.indexOf(f.displayfield)>=0){return}}if(this.editrow!=undefined){return}if(this.editcell){if(this.editcell.row==o&&this.editcell.column==e){return true}if(this.editmode==="selectedrow"){if(this.editcell.row==o){return}}var d=this.endcelledit(this.editcell.row,this.editcell.column,false,true,false);if(false==d){return}}var i=f.columntype=="checkbox"||f.columntype=="button"||f.createwidget;this.host.removeClass("jqx-disableselect");this.content.removeClass("jqx-disableselect");if(f.editable){if(f.cellbeginedit){var k=this.getcell(o,e);var m=f.cellbeginedit(o,e,f.columntype,k!=null?k.value:null);if(m==false){return}}var j=this.getrowvisibleindex(o);this.editcell=this.getcell(o,e);if(this.editcell){this.editcell.visiblerowindex=j;if(!this.editcell.editing){if(!i){this.editcell.editing=true}this.editcell.columntype=f.columntype;this.editcell.defaultvalue=l;if(f.defaultvalue!=undefined){this.editcell.defaultvalue=f.defaultvalue}this.editcell.init=true;if(f.columntype!="checkbox"&&this.editmode!="selectedrow"){var h=this.getrowdata(o);this._raiseEvent(17,{rowindex:o,row:h,datafield:f.datafield,value:this.editcell.value,columntype:f.columntype})}a.data(document.body,"jqxgrid.edit",this.element.id);if(!i){var b=this.getrowvisibleindex(o);if(g!==false){if(!this.autorowheight&&this.groups.length===0){var n=this.ensurecellvisible(b,f.datafield)}}if(c!==false){this._renderrows(this.virtualsizeinfo)}}if(this.editcell){this.editcell.init=false;return true}}}}else{if(!this.editcell){return}this.editcell.editor=null;this.editcell.editing=false;if(c!==false){this._renderrows(this.virtualsizeinfo)}this.editcell=null}},getScrollTop:function(){if(this._py){return this._py}this._py=typeof pageYOffset!="undefined";if(this._py){return pageYOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollTop}},getScrollLeft:function(){if(typeof pageXOffset!="undefined"){return pageXOffset}else{var c=document.body;var b=document.documentElement;b=(b.clientHeight)?b:c;return b.scrollLeft}},endcelledit:function(h,o,k,e,p){if(h==undefined||o==undefined){if(this.editcell){h=this.editcell.row;o=this.editcell.column}if(k==undefined){k=true}}if(!this.editcell){return}var d=this.getcolumn(o);var v=this;if(v.editmode==="selectedrow"){this.endrowedit(h,k);return}var u=function(){if(p!=false){if(v.isTouchDevice()){return}if(!v.isNestedGrid){var w=v.getScrollTop();var y=v.getScrollLeft();try{v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}setTimeout(function(){v.element.focus();v.content.focus();if(w!=v.getScrollTop()){window.scrollTo(y,w)}},10)}catch(x){}}}};if(d.columntype=="checkbox"||d.columntype=="button"||d.createwidget){if(this.editcell){this.editcell.editor=null;this.editcell.editing=false;this.editcell=null}return true}var i=this._geteditorvalue(d);var g=function(x){x._hidecelleditor();if(d.cellendedit){d.cellendedit(h,o,d.columntype,x.editcell.value,i)}x.editchar=null;var z;if(d.displayfield!=d.datafield){var w=x.getcellvalue(x.editcell.row,d.displayfield);var y=x.editcell.value;z={value:y,label:w}}else{z=x.editcell.value}var A=x.getrowdata(h);x._raiseEvent(18,{rowindex:h,row:A,datafield:o,displayfield:d.displayfield,oldvalue:i,value:i,columntype:d.columntype});x.editcell.editor=null;x.editcell.editing=false;x.editcell=null;if(e||e==undefined){x._renderrows(x.virtualsizeinfo)}u();if(!x.enablebrowserselection){x.host.addClass("jqx-disableselect");x.content.addClass("jqx-disableselect")}};if(k){g(this);return false}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(d.cellvaluechanging){var b=d.cellvaluechanging(h,o,d.columntype,this.editcell.value,i);if(b!=undefined){i=b}}if(d.validation){var c=this.getcell(h,o);try{var q=d.validation(c,i);var m=this.gridlocalization.validationstring;if(q.message!=undefined){m=q.message}var n=typeof q=="boolean"?q:q.result;if(!n){if(q.showmessage==undefined||q.showmessage==true){this._showvalidationpopup(h,o,m)}this.editcell.validated=false;return false}}catch(s){this._showvalidationpopup(h,o,this.gridlocalization.validationstring);this.editcell.validated=false;return false}}var j;if(d.displayfield!=d.datafield){var l=this.getcellvalue(this.editcell.row,d.displayfield);var r=this.editcell.value;j={value:r,label:l}}else{j=this.editcell.value}var f=this.getrowdata(h);if(d.cellendedit){var t=d.cellendedit(h,o,d.columntype,this.editcell.value,i);if(t==false){this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:j,columntype:d.columntype});g(this);return false}}this._raiseEvent(18,{rowindex:h,row:f,datafield:o,displayfield:d.displayfield,oldvalue:j,value:i,columntype:d.columntype});this._hidecelleditor(false);if(this.editcell!=undefined){this.editcell.editor=null;this.editcell.editing=false}this.editcell=null;this.editchar=null;this.setcellvalue(h,o,i,e);if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}if(!a.jqx.browser.msie){u()}a.data(document.body,"jqxgrid.edit","");return true},beginrowedit:function(f){var e=this;var g=-1;if(f==undefined){return}e._oldselectedrow=f;this._cellscache=new Array();var c=false;if(this.editmode!="selectedrow"){c=true}if(c){var b=this.editmode;this.editmode="selectedrow"}var d=null;if(this._currentEditableColumn){d=this.getcolumnat(this._currentEditableColumn).datafield}a.each(this.columns.records,function(i,k){if(e.editable&&this.editable){if(this.columntype==="checkbox"||this.columntype==="custom"||this.columntype==="widget"||this.columntype==="template"||this.columntype==="button"){return true}if(!d){d=this.datafield}var h=e.getcell(f,this.datafield);e.begincelledit(f,this.datafield,null,false,false);var j=e.getrowdata(f);e._raiseEvent(17,{rowindex:f,row:j,datafield:this.datafield,value:h.value,columntype:this.columntype})}});if(e.editcell){e.editcell.init=true}this._renderrows(this.virtualsizeinfo);if(c){this.editmode=b}if(d&&e.editcell){setTimeout(function(){if(e.editcell&&e.editcell[d]){var h=e.editcell[d].editor;if(h){if(h.data().jqxWidget&&h.data().jqxWidget.focus){h.data().jqxWidget.focus()}else{h.focus()}}}},25)}},endrowedit:function(k,o){var D=this;this._currentEditableColumn=0;this._focusedColumn=null;this._currentColumn=null;this._checkboxCells=[];if(!this.editcell){return false}if(this.editcell.editor==undefined&&this.editcell.columntype!=="checkbox"){return false}var C=function(){if(focus!=false){if(D.isTouchDevice()){return}if(!D.isNestedGrid){var i=D.getScrollTop();var F=D.getScrollLeft();try{D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}setTimeout(function(){D.element.focus();D.content.focus();if(i!=D.getScrollTop()){window.scrollTo(F,i)}},10)}catch(E){}}}};var p=false;if(this.editmode!="selectedrow"){p=true}if(p){var v=this.editmode;this.editmode="selectedrow"}var h=false;var d={};if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];if(!e.editable){continue}if(e.hidden){continue}if(e.columntype=="checkbox"){continue}if(e.createwidget){continue}var l=this._geteditorvalue(e);var g=function(F){F._hidecelleditor();var E=F.getcellvalue(F.editcell.row,e.displayfield);if(e.cellendedit){e.cellendedit(k,u,e.columntype,E,l)}F.editchar=null;var I;if(e.displayfield!=e.datafield){var i=F.getcellvalue(F.editcell.row,e.displayfield);var H=E;I={value:H,label:i}}else{I=E}var G=F.getrowdata(k);F._raiseEvent(18,{rowindex:k,row:G,datafield:u,displayfield:e.displayfield,oldvalue:E,value:E,columntype:e.columntype});F.editcell.editing=false};if(o){g(this);continue}if(e.cellvaluechanging){var n=this.getcellvalue(this.editcell.row,e.displayfield);var b=e.cellvaluechanging(k,u,e.columntype,n,l);if(b!=undefined){l=b}}var u=e.datafield;if(e.validation){var c=this.getcell(k,e.datafield);try{var w=e.validation(c,l);var r=this.gridlocalization.validationstring;if(w.message!=undefined){r=w.message}var t=typeof w=="boolean"?w:w.result;if(!t){if(w.showmessage==undefined||w.showmessage==true){this._showvalidationpopup(k,u,r)}h=true;this.editcell[e.datafield].validated=false;continue}}catch(z){this._showvalidationpopup(k,u,this.gridlocalization.validationstring);this.editcell[e.datafield].validated=false;h=true;continue}}if(e.displayfield!=e.datafield){var q=this.getcellvalue(this.editcell.row,e.displayfield);var x=this.editcell.value;n={value:x,label:q}}else{n=this.getcellvalue(this.editcell.row,e.displayfield)}d[e.datafield]={newvalue:l,oldvalue:n}}var y={};var s={};if(!h){this._hidecelleditor(false);for(var B=0;B<this.columns.records.length;B++){var e=this.columns.records[B];var u=e.datafield;if(e.hidden){continue}if(!e.editable){continue}var f=this.getrowdata(k);if(e.createwidget){continue}if(e.columntype=="checkbox"){var l=this.getcellvalue(k,e.displayfield);this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:l,value:l,columntype:e.columntype});continue}if(!d[e.datafield]){continue}var l=d[e.datafield].newvalue;var n=d[e.datafield].oldvalue;if(e.cellendedit){var A=e.cellendedit(k,u,e.columntype,n,l);if(A==false){this._raiseEvent(18,{rowindex:k,row:f,datafield:u,displayfield:e.displayfield,oldvalue:n,value:n,columntype:e.columntype});g(this);continue}}if(!this.source.updaterow){this._raiseEvent(18,{rowindex:k,row:f,datafield:e.datafield,displayfield:e.displayfield,oldvalue:n,value:l,columntype:e.columntype})}y[e.datafield]=l;s[e.datafield]=n}var j=this.getrowid(k);var f=this.getrowdata(k);a.each(y,function(i,F){if(F&&F.label!=undefined){var E=D.getcolumn(i);f[E.displayfield]=F.label;f[E.datafield]=F.value}else{f[i]=F}});if(!this.enablebrowserselection){this.host.addClass("jqx-disableselect");this.content.addClass("jqx-disableselect")}a.data(document.body,"jqxgrid.edit","");this.editcell=null;this.editchar=null;if(this.source.updaterow&&!o){var m=false;var D=this;var t=function(I){var G=D.source.updaterow;D.source.updaterow=null;if(false==I){a.each(s,function(i,K){if(K&&K.label!=undefined){var J=D.getcolumn(i);f[J.displayfield]=K.label;f[J.datafield]=K.value}else{f[i]=K}});D.updaterow(j,f)}else{D.updaterow(j,f)}for(var F=0;F<D.columns.records.length;F++){var H=D.columns.records[F];var E=H.datafield;D._raiseEvent(18,{rowindex:k,datafield:H.datafield,row:f,displayfield:H.displayfield,oldvalue:s[H.datafield],value:f[H.displayfield],columntype:H.columntype})}D.source.updaterow=G};try{m=this.source.updaterow(j,f,t);if(m==undefined){m=true}}catch(z){m=false;return}}else{if(!o){this.updaterow(j,f)}this._renderrows(this.virtualsizeinfo)}}if(p){this.editmode=v}return h},_selection:function(b){if("selectionStart" in b[0]){var g=b[0];var h=g.selectionEnd-g.selectionStart;return{start:g.selectionStart,end:g.selectionEnd,length:h,text:g.value}}else{var d=document.selection.createRange();if(d==null){return{start:0,end:g.value.length,length:0}}var c=b[0].createTextRange();var f=c.duplicate();c.moveToBookmark(d.getBookmark());f.setEndPoint("EndToStart",c);var h=d.text.length;return{start:f.text.length,end:f.text.length+d.text.length,length:h,text:d.text}}},_setSelection:function(e,b,d){if("selectionStart" in d[0]){d[0].focus();d[0].setSelectionRange(e,b)}else{var c=d[0].createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",e);c.select()}},findRecordIndex:function(g,c,b){var b=b;if(c){var e=b.length;for(var h=0;h<e;h++){var f=b[h];var d=f.label;if(g==d){return h}}}return -1},_destroyeditors:function(){var b=this;if(!this.columns.records){return}a.each(this.columns.records,function(f,j){var c=a.trim(this.datafield).split(" ").join("");switch(this.columntype){case"dropdownlist":var g=b.editors["dropdownlist_"+c];if(g){g.jqxDropDownList("destroy");b.editors["dropdownlist_"+c]=null}break;case"combobox":var k=b.editors["combobox_"+c];if(k){k.jqxComboBox("destroy");b.editors["combobox_"+c]=null}break;case"datetimeinput":var d=b.editors["datetimeinput_"+this.datafield];if(d){d.jqxDateTimeInput("destroy");b.editors["datetimeinput_"+c]=null}break;case"numberinput":var e=b.editors["numberinput_"+c];if(e){e.jqxNumberInput("destroy");b.editors["numberinput_"+c]=null}break;case"custom":case"template":if(b.destroyeditor){if(b.editors["templateeditor_"+c]){b.destroyeditor(b.editors["templateeditor_"+c]);b.editors["templateeditor_"+c]=null}}if(b.destroyeditor){var m=b.getrows.length();for(var l=0;l<m;l++){if(b.editors["customeditor_"+c+"_"+l]){b.destroyeditor(b.editors["customeditor_"+c+"_"+l],l);b.editors["customeditor_"+c+"_"+l]=null}}}break;case"textbox":default:var h=b.editors["textboxeditor_"+c];if(h){b.removeHandler(h,"keydown");b.editors["textbox_"+c]=null}break}});b.editors=new Array()},_showcelleditor:function(r,H,o,L,x){if(o==undefined){return}if(this.editcell==null){return}if(H.columntype=="checkbox"&&H.editable){if(this.editmode=="selectedrow"){if(!this._checkboxCells){this._checkboxCells=[]}this._checkboxCells[H.datafield]=o}return}if(x==undefined){x=true}if(this.editmode=="selectedrow"){this.editchar="";x=false}var F=H.datafield;var h=a(o);var t=this;var d=this.editcell.editor;var J=this.getcellvalue(r,F);var D=this.getcelltext(r,F);var k=this.hScrollInstance;var u=k.value;var j=parseInt(u);var K=this.columns.records.indexOf(H);this.editcell.element=o;if(this.editcell.validated==false){var I="";if(this.validationpopup){I=this.validationpopup.text()}this._showvalidationpopup(r,F,I)}var m=function(e){if(t.hScrollInstance.isScrolling()||t.vScrollInstance.isScrolling()){return}if(!x){return}if(t.isTouchDevice()){return}if(e){e.focus()}if(t.gridcontent[0].scrollTop!=0){t.scrolltop(Math.abs(t.gridcontent[0].scrollTop));t.gridcontent[0].scrollTop=0}if(t.gridcontent[0].scrollLeft!=0){t.gridcontent[0].scrollLeft=0}};switch(H.columntype){case"dropdownlist":if(this.host.jqxDropDownList){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var l=this.editors["dropdownlist_"+E];d=l==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='dropdownlisteditor'></div>"):l;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(l==undefined){d.prependTo(this.table);d[0].id="dropdownlisteditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxDropDownList({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});this.editors["dropdownlist_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDropDownList({width:h.width()})}var c=d.jqxDropDownList("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxDropDownList("autoDropDownHeight",true)}else{d.jqxDropDownList("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxDropDownList("selectIndex",A,true)}else{d.jqxDropDownList("selectIndex",-1)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxDropDownList("selectIndex",this.editcell.defaultvalue,true)}if(x){d.jqxDropDownList("focus")}}break;case"combobox":if(this.host.jqxComboBox){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");var B=a.trim(H.displayfield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}if(B.indexOf(".")!=-1){B=B.replace(".","")}var s=this.editors["combobox_"+E];d=s==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='comboboxeditor'></div>"):s;d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(s==undefined){d.prependTo(this.table);d[0].id="comboboxeditor"+this.element.id+E;var g=this.source._source?true:false;var y=null;if(!g){y=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[B],async:false,autoSort:true,autoSortField:B})}else{var q={localdata:JSON.parse(JSON.stringify(this.source.records)),datatype:this.source.datatype,async:false};y=new a.jqx.dataAdapter(q,{autoBind:false,async:false,uniqueDataFields:[B],autoSort:true,autoSortField:B})}var v=!H.createeditor?true:false;d.jqxComboBox({hint:false,enableBrowserBoundsDetection:true,keyboardSelection:false,source:y,rtl:this.rtl,autoDropDownHeight:v,theme:this.theme,width:h.width(),height:h.height(),displayMember:B,valueMember:F});d.removeAttr("tabindex");d.find("div").removeAttr("tabindex");this.editors["combobox_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxComboBox({width:h.width()-2})}var c=d.jqxComboBox("listBox").visibleItems;if(!H.createeditor){if(c.length<8){d.jqxComboBox("autoDropDownHeight",true)}else{d.jqxComboBox("autoDropDownHeight",false)}}var J=this.getcellvalue(r,B);var A=this.findRecordIndex(J,B,c);if(L){if(J!=""){d.jqxComboBox("selectIndex",A,true);d.jqxComboBox("val",J)}else{d.jqxComboBox("selectIndex",-1);d.jqxComboBox("val",J)}}if(!this.editcell){return}if(this.editcell.defaultvalue!=undefined){d.jqxComboBox("selectIndex",this.editcell.defaultvalue,true)}if(this.editchar&&this.editchar.length>0){d.jqxComboBox("input").val(this.editchar)}if(x){setTimeout(function(){m(d.jqxComboBox("input"));if(d){d.jqxComboBox("_setSelection",0,0);if(t.editchar){d.jqxComboBox("_setSelection",1,1);t.editchar=null}else{if(d.jqxComboBox("input")){var e=d.jqxComboBox("input").val();d.jqxComboBox("_setSelection",0,e.length)}}}},10)}}break;case"datetimeinput":if(this.host.jqxDateTimeInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var w=this.editors["datetimeinput_"+E];d=w==undefined?a("<div style='border: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='datetimeeditor'></div>"):w;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(w==undefined){d.prependTo(this.table);d[0].id="datetimeeditor"+this.element.id+E;var G={calendar:this.gridlocalization};d.jqxDateTimeInput({hint:false,firstDayOfWeek:this.gridlocalization.firstDay,enableBrowserBoundsDetection:true,localization:G,_editor:true,theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),formatString:H.cellsformat});this.editors["datetimeinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxDateTimeInput({width:h.width()})}if(L){if(J!=""&&J!=null){var M=new Date(J);if(M=="Invalid Date"){if(this.source.getvaluebytype){M=this.source.getvaluebytype(J,{name:H.datafield,type:"date"})}}d.jqxDateTimeInput("setDate",M)}else{d.jqxDateTimeInput("setDate",null)}if(this.editcell.defaultvalue!=undefined){d.jqxDateTimeInput("setDate",this.editcell.defaultvalue)}}if(x){var N=this.editEvent;setTimeout(function(){m(d.jqxDateTimeInput("dateTimeInput"));setTimeout(function(){d.jqxDateTimeInput("_selectGroup",0);if(t.editchar&&t.editchar.length>0){var S=parseInt(t.editchar);if(!isNaN(S)){if(N){var e=N.charCode?N.charCode:N.keyCode?N.keyCode:0;d.jqxDateTimeInput("_handleKeyPress",N,e)}}}},25)},10)}}break;case"numberinput":if(this.host.jqxNumberInput){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var P=this.editors["numberinput_"+E];d=P==undefined?a("<div style='border:none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='numbereditor'></div>"):P;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(P==undefined){d.prependTo(this.table);d[0].id="numbereditor"+this.element.id+E;var n="";var z="left";var O=2;if(H.cellsformat){if(H.cellsformat.indexOf("c")!=-1){n=this.gridlocalization.currencysymbol;z=this.gridlocalization.currencysymbolposition;if(z=="before"){z="left"}else{z="right"}if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}else{if(H.cellsformat.indexOf("p")!=-1){n=this.gridlocalization.percentsymbol;z="right";if(H.cellsformat.length>1){O=parseInt(H.cellsformat.substring(1),10)}}}}else{O=0}d.jqxNumberInput({decimalSeparator:this.gridlocalization.decimalseparator,decimalDigits:O,inputMode:"simple",theme:this.theme,rtl:this.rtl,width:h.width(),height:h.height(),spinButtons:true,symbol:n,symbolPosition:z});this.editors["numberinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxNumberInput({width:h.width()})}if(L){if(J!=""&&J!=null){var R=J;d.jqxNumberInput("setDecimal",R)}else{d.jqxNumberInput("setDecimal",0)}if(this.editcell.defaultvalue!=undefined){d.jqxNumberInput("setDecimal",this.editcell.defaultvalue)}if(this.editchar&&this.editchar.length>0){var p=parseInt(this.editchar);if(!isNaN(p)){d.jqxNumberInput("setDecimal",p)}}if(x){setTimeout(function(){m(d.jqxNumberInput("numberInput"));d.jqxNumberInput("_setSelectionStart",0);if(t.editchar){if(H.cellsformat.length>0&&H.cellsformat.indexOf("c")>=0){d.jqxNumberInput("_setSelectionStart",2)}else{d.jqxNumberInput("_setSelectionStart",1)}t.editchar=null}else{var e=d.jqxNumberInput("spinButtons");if(e){var S=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],S.length,S.length)}else{var S=d.jqxNumberInput("numberInput").val();t._setSelection(d.jqxNumberInput("numberInput")[0],0,S.length)}d.jqxNumberInput("selectAll")}},10)}}}break;case"rating":if(this.host.jqxRating){o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var Q=this.editors["rating_"+E];d=Q==undefined?a("<div style='margin: 5px;white-space: nowrap; overflow: auto; border:none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='ratingEditor'></div>"):Q;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(Q==undefined){d.prependTo(this.table);d[0].id="ratingEditor"+this.element.id+E;d.jqxRating({theme:this.theme,width:h.width(),height:h.height()});this.editors["numberinput_"+E]=d;if(H.createeditor){H.createeditor(r,J,d)}}if(H._requirewidthupdate){d.jqxRating({width:h.width()})}if(L){if(J!=""&&J!=null){var R=J;d.jqxRating("val",R)}else{d.jqxRating("val",0)}if(this.editcell.defaultvalue!=undefined){d.jqxRating("val",this.editcell.defaultvalue)}}}break;case"custom":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var C=this.editors["customeditor_"+E+"_"+r];d=C==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='customeditor'></div>"):C;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(C==undefined){d.prependTo(this.table);d[0].id="customeditor"+this.element.id+E+"_"+r;this.editors["customeditor_"+E+"_"+r]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"template":o.innerHTML="";var E=a.trim(H.datafield).split(" ").join("");if(E.indexOf(".")!=-1){E=E.replace(".","")}var i=this.editors["templateeditor_"+E];d=i==undefined?a("<div style='overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 799; top: 0px; left: 0px; position: absolute;' id='templateeditor'></div>"):i;d.show();d.css("top",a(o).parent().position().top);if(this.oldhscroll){d.css("left",-j+parseInt(a(o).position().left))}else{d.css("left",parseInt(a(o).position().left))}if(H.pinned){d.css("left",j+parseInt(a(o).position().left))}if(i==undefined){d.prependTo(this.table);d[0].id="templateeditor"+this.element.id+E;this.editors["templateeditor_"+E]=d;var b=h.width()-1;var f=h.height()-1;d.width(b);d.height(f);if(H.createeditor){H.createeditor(r,J,d,D,b,f,this.editchar)}}if(H._requirewidthupdate){d.width(h.width())}break;case"textbox":default:o.innerHTML="";d=this.editors["textboxeditor_"+H.datafield]||a("<input autocomplete='off' style='padding-left: 4px; padding-right:4px; border: none; border-color: transparent;' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox' id='textboxeditor'/>");d[0].id="textboxeditor"+this.element.id+H.datafield;d.appendTo(h);if(this.rtl){d.css("direction","rtl")}if(L||d[0].className==""){d.addClass(this.toThemeProperty("jqx-input"));d.addClass(this.toThemeProperty("jqx-widget-content"));if(this.editchar&&this.editchar.length>0){d.val(this.editchar)}else{if(H.cellsformat!=""){J=this.getcelltext(r,F)}if(J==undefined){J=""}d.val(J)}if(this.editcell.defaultvalue!=undefined){d.val(this.editcell.defaultvalue)}d.width(h.width()+1);d.height(h.height()+1);if(H.createeditor){H.createeditor(r,J,d)}if(H.cellsformat!=""){if(H.cellsformat.indexOf("p")!=-1||H.cellsformat.indexOf("c")!=-1||H.cellsformat.indexOf("n")!=-1||H.cellsformat.indexOf("f")!=-1){if(!this.editors["textboxeditor_"+H.datafield]){d.keydown(function(S){var Y=S.charCode?S.charCode:S.keyCode?S.keyCode:0;var V=String.fromCharCode(Y);var W=parseInt(V);if(isNaN(W)){return true}if(t._selection(d).length>0){return true}var U="";var T=d.val();if(H.cellsformat.length>1){var X=parseInt(H.cellsformat.substring(1));if(isNaN(X)){X=0}}else{var X=0}if(X>0){if(T.indexOf(t.gridlocalization.decimalseparator)!=-1){if(t._selection(d).start>T.indexOf(t.gridlocalization.decimalseparator)){return true}}}for(var Z=0;Z<T.length-X;Z++){var e=T.substring(Z,Z+1);if(e.match(/^[0-9]+$/)!=null){U+=e}}if(U.length>=11){return false}})}}}}this.editors["textboxeditor_"+H.datafield]=d;if(L){if(x){setTimeout(function(){m(d);if(t.editchar){t._setSelection(d[0],1,1);t.editchar=null}else{t._setSelection(d[0],0,d.val().length)}},25)}}break}if(d){d.addClass("jqx-grid-cell-edit");d[0].style.zIndex=1+parseInt(o.style.zIndex);if(a.jqx.browser.msie&&a.jqx.browser.version<8){d[0].style.zIndex=1+this.columns.records.length+o.style.zIndex}d.css("display","block");this.editcell.editor=d;if(!this.editcell[F]){this.editcell[F]={};this.editcell[F].editor=d}else{this.editcell[F].editor=d}}if(L){if(H.initeditor){H.initeditor(r,J,d,D,this.editchar)}}if(t.isTouchDevice()){return}setTimeout(function(){if(t.content){t.content[0].scrollTop=0;t.content[0].scrollLeft=0}if(t.gridcontent){t.gridcontent[0].scrollLeft=0;t.gridcontent[0].scrollTop=0}},10)},_setSelection:function(d,g,b){try{if("selectionStart" in d){d.setSelectionRange(g,b)}else{var c=d.createTextRange();c.collapse(true);c.moveEnd("character",b);c.moveStart("character",g);c.select()}}catch(e){var f=e}},_hideeditors:function(){if(this.editcells!=null){var b=this;for(var c in this.editcells){b.editcell=b.editcells[c];b._hidecelleditor()}}},_hidecelleditor:function(b){if(!this.editcell){return}if(this.editmode==="selectedrow"){for(var c=0;c<this.columns.records.length;c++){var e=this.columns.records[c];if(this.editcell[e.datafield]&&this.editcell[e.datafield].editor){this.editcell[e.datafield].editor.hide();var d=this.editcell[e.datafield].editor;switch(e.columntype){case"dropdownlist":d.jqxDropDownList({closeDelay:0});d.jqxDropDownList("hideListBox");d.jqxDropDownList({closeDelay:300});break;case"combobox":d.jqxComboBox({closeDelay:0});d.jqxComboBox("hideListBox");d.jqxComboBox({closeDelay:300});break;case"datetimeinput":if(d.jqxDateTimeInput("isOpened")){d.jqxDateTimeInput({closeDelay:0});d.jqxDateTimeInput("hideCalendar");d.jqxDateTimeInput({closeDelay:300})}break}}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}return}if(this.editcell.columntype=="checkbox"){return}if(this.editcell.editor){this.editcell.editor.hide();switch(this.editcell.columntype){case"dropdownlist":this.editcell.editor.jqxDropDownList({closeDelay:0});this.editcell.editor.jqxDropDownList("hideListBox");this.editcell.editor.jqxDropDownList({closeDelay:300});break;case"combobox":this.editcell.editor.jqxComboBox({closeDelay:0});this.editcell.editor.jqxComboBox("hideListBox");this.editcell.editor.jqxComboBox({closeDelay:300});break;case"datetimeinput":var f=this.editcell.editor;if(f.jqxDateTimeInput("isOpened")){f.jqxDateTimeInput({closeDelay:0});f.jqxDateTimeInput("hideCalendar");f.jqxDateTimeInput({closeDelay:300})}break}}if(this.validationpopup){this.validationpopup.hide();this.validationpopuparrow.hide()}if(!this.isNestedGrid){if(b!=false){this.element.focus()}}},_geteditorvalue:function(h){var o=new String();if(!this.editcell){return null}var l=this.editcell.editor;if(this.editmode=="selectedrow"){if(this.editcell[h.datafield]){var l=this.editcell[h.datafield].editor}}if(l){switch(h.columntype){case"textbox":default:o=l.val();if(h.cellsformat!=""){var n="string";var e=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(e){var p="";a.each(e,function(){if(this.name==h.displayfield){if(this.type){p=this.type}return false}});if(p){n=p}}var i=n==="number"||n==="float"||n==="int"||n==="integer";var f=n==="date"||n==="time";if(i||(n==="string"&&(h.cellsformat.indexOf("p")!=-1||h.cellsformat.indexOf("c")!=-1||h.cellsformat.indexOf("n")!=-1||h.cellsformat.indexOf("f")!=-1))){if(o===""&&h.nullable){return""}if(o.indexOf&&o.indexOf(this.gridlocalization.currencysymbol)>-1){o=o.replace(this.gridlocalization.currencysymbol,"")}var m=function(w,u,v){var s=w;if(u==v){return w}var t=s.indexOf(u);while(t!=-1){s=s.replace(u,v);t=s.indexOf(u)}return s};var k=o;k=new Number(k);if(!isNaN(k)){return k}o=m(o,this.gridlocalization.thousandsseparator,"");o=o.replace(this.gridlocalization.decimalseparator,".");if(o.indexOf(this.gridlocalization.percentsymbol)>-1){o=o.replace(this.gridlocalization.percentsymbol,"")}var d="";for(var r=0;r<o.length;r++){var b=o.substring(r,r+1);if(b==="-"){d+="-"}if(b==="."){d+="."}if(b.match(/^[0-9]+$/)!=null){d+=b}}o=d;o=o.replace(/ /g,"");o=new Number(o);if(isNaN(o)){o=""}}if(f||(n==="string"&&(h.cellsformat.indexOf("H")!=-1||h.cellsformat.indexOf("m")!=-1||h.cellsformat.indexOf("M")!=-1||h.cellsformat.indexOf("y")!=-1||h.cellsformat.indexOf("h")!=-1||h.cellsformat.indexOf("d")!=-1))){if(o===""&&h.nullable){return""}var c=o;if(a.jqx.dataFormat){o=a.jqx.dataFormat.tryparsedate(c,this.gridlocalization)}if(o=="Invalid Date"||o==null){o=""}}}if(h.displayfield!=h.datafield){o={label:o,value:o}}break;case"checkbox":if(l.jqxCheckBox){o=l.jqxCheckBox("checked")}break;case"datetimeinput":if(l.jqxDateTimeInput){l.jqxDateTimeInput({isEditing:false});if(l.jqxDateTimeInput("container").css("display")!=="none"){l.jqxDateTimeInput("close")}l.jqxDateTimeInput("_validateValue");o=l.jqxDateTimeInput("getDate");if(o==null){return null}o=new Date(o.toString());if(h.displayfield!=h.datafield){o={label:o,value:o}}}break;case"dropdownlist":if(l.jqxDropDownList){var g=l.jqxDropDownList("selectedIndex");var q=l.jqxDropDownList("listBox").getVisibleItem(g);if(h.displayfield!=h.datafield){if(q){o={label:q.label,value:q.value}}else{o=""}}else{if(q){o=q.label}else{o=""}}if(o==null){o=""}}break;case"combobox":if(l.jqxComboBox){o=l.jqxComboBox("val");if(h.displayfield!=h.datafield){var q=l.jqxComboBox("getSelectedItem");if(q!=null){o={label:q.label,value:q.value}}}if(o==null){o=""}}break;case"numberinput":if(l.jqxNumberInput){if(this.touchdevice){l.jqxNumberInput("_doTouchHandling")}var j=l.jqxNumberInput("getDecimal");o=new Number(j);o=parseFloat(o);if(isNaN(o)){o=0}if(j===null){o=null}if(h.displayfield!=h.datafield){o={label:o,value:o}}}break}if(h.geteditorvalue){if(this.editmode=="selectedrow"){o=h.geteditorvalue(this.editcell.row,this.getcellvalue(this.editcell.row,h.datafield),l)}else{o=h.geteditorvalue(this.editcell.row,this.editcell.value,l)}}}return o},hidevalidationpopups:function(){if(this.popups){a.each(this.popups,function(){this.validation.remove();this.validationrow.remove()});this.popups=new Array()}if(this.validationpopup){this.validationpopuparrow.hide();this.validationpopup.hide()}},showvalidationpopup:function(f,j,h){if(h==undefined){var h=this.gridlocalization.validationstring}var g=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var r=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");g.html(h);r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));g.addClass(this.toThemeProperty("jqx-grid-validation"));g.addClass(this.toThemeProperty("jqx-rc-all"));g.prependTo(this.table);r.prependTo(this.table);var l=this.hScrollInstance;var n=l.value;var d=parseInt(n);var b=this.getcolumn(j).uielement;var p=null;for(var o=0;o<this.hittestinfo.length;o++){if(f===this.hittestinfo[o].row.visibleindex){p=this.hittestinfo[o]}}if(!p){this.ensurerowvisible(f);var s=this;g.remove();r.remove();setTimeout(function(){var v=null;for(var u=0;u<s.hittestinfo.length;u++){if(f===s.hittestinfo[u].row.visibleindex){v=s.hittestinfo[u]}}if(v){s.showvalidationpopup(f,j,h)}},25);return}var c=a(p.visualrow);g.css("top",parseInt(c.position().top)+30+"px");var k=parseInt(g.css("top"));r.css("top",k-12);r.removeClass();r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var q=false;if(k>=this._gettableheight()-this.rowsheight){r.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));r.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));k=parseInt(c.position().top)-this.rowsheight;if(k<0){k=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));q=true}g.css("top",k+"px");r.css("top",k+g.outerHeight()-9)}var t=-d+parseInt(a(b).position().left);if(b[0].offsetHeight===0){t=-d+parseInt(b[0].style.left)}r.css("left",d+t+30);var m=g.width();if(m+t>this.host.width()-20){var e=m+t-this.host.width()+40;t-=e}if(!q){g.css("left",d+t)}else{g.css("left",d+parseInt(a(b).position().left)-g.outerWidth())}g.show();r.show();if(!this.popups){this.popups=new Array()}this.popups[this.popups.length]={validation:g,validationrow:r}},_showvalidationpopup:function(p,e,q){var c=this.editcell;var k=this.editcell.editor;if(this.editmode=="selectedrow"){var c=this.editcell[e];if(c&&c.editor){k=c.editor;c.element=k}}if(!k){return}if(this.validationpopup&&a.jqx.isHidden(this.validationpopup)){if(this.validationpopup.remove){this.validationpopup.remove();this.validationpopuparrow.remove()}this.validationpopup=null;this.validationpopuparrow=null;if(e===undefined&&q===undefined&&this.editors&&this.editors.length===0){return}}if(!this.validationpopup){var n=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>");var m=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");n.html(q);m.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));n.addClass(this.toThemeProperty("jqx-grid-validation"));n.addClass(this.toThemeProperty("jqx-rc-all"));n.prependTo(this.table);m.prependTo(this.table);this.validationpopup=n;this.validationpopuparrow=m}else{this.validationpopup.html(q)}var h=this.hScrollInstance;var j=h.value;var g=parseInt(j);if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){this.validationpopup.css("top",this.visiblerows[this.editcell.visiblerowindex].top+(this.rowsheight+5)+"px")}else{this.validationpopup.css("top",parseInt(a(c.editor).position().top)+(this.rowsheight+5)+"px")}}else{this.validationpopup.css("top",parseInt(a(c.element).parent().position().top)+(this.rowsheight+5)+"px")}var b=parseInt(this.validationpopup.css("top"));this.validationpopuparrow.css("top",b-11);this.validationpopuparrow.removeClass();this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var o=this._gettableheight();var f=false;if(b>=o){this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));b=parseInt(a(c.element).parent().position().top)-this.rowsheight-5;if(this.editmode=="selectedrow"){if(this.visiblerows&&this.visiblerows[this.editcell.visiblerowindex]){b=this.visiblerows[this.editcell.visiblerowindex].top-this.rowsheight-5}else{b=parseInt(a(c.editor).position().top)-this.rowsheight-5}}if(b<0){b=0;this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down"));f=true}this.validationpopup.css("top",b+"px");this.validationpopuparrow.css("top",b+this.validationpopup.outerHeight()-9)}var l=-g+parseInt(a(c.element).position().left);this.validationpopuparrow.css("left",g+l+30);var d=this.validationpopup.width();if(d+l>this.host.width()-20){var i=d+l-this.host.width()+40;l-=i}if(!f){this.validationpopup.css("left",g+l)}else{this.validationpopup.css("left",g+parseInt(a(c.element).position().left)-this.validationpopup.outerWidth())}if(this.editcell.editor.css("display")=="none"){this.validationpopup.hide();this.validationpopuparrow.hide()}else{this.validationpopup.show();this.validationpopuparrow.show()}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.export.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.export.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{exportdata:function(s,C,B,q,t,v,h){if(!a.jqx.dataAdapter.ArrayExporter){throw"jqxGrid: Missing reference to jqxdata.export.js!"}if(B==undefined){B=true}var L=this;if(q==undefined){var q=this.getrows();if(q.length==0){throw"No data to export."}}this.exporting=true;if(!this.pageable){this.loadondemand=true}if(this.altrows){this._renderrows(this.virtualsizeinfo)}var A=this.hScrollInstance.value;this.hScrollInstance.setPosition(0);this._renderrows(this.virtualsizeinfo);var J=t!=undefined?t:false;var H={};var p={};var x=[];var n=this.host.find(".jqx-grid-cell:first");var y=this.host.find(".jqx-grid-cell-alt:first");n.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));y.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));y.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(this.toThemeProperty("jqx-fill-state-hover"));y.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));y.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var k="cell";var g=1;var I="column";var e=1;var l=[];for(var E=0;E<this.columns.records.length;E++){var f=this.columns.records[E];if(f.cellclassname!=""){f.customCellStyles=new Array();if(typeof f.cellclassname=="string"){for(var F=0;F<q.length;F++){f.customCellStyles[F]=f.cellclassname}}else{for(var F=0;F<q.length;F++){var w=this.getrowboundindex(F);var d=f.cellclassname(w,f.displayfield,q[F][f.displayfield],q[F]);if(d){f.customCellStyles[F]=d}}}}}var z=new Array();var K=null;var c=null;var b=null;a.each(this.columns.records,function(O){var S=a(L.table[0].rows[0].cells[O]);if(L.table[0].rows.length>1){var j=a(L.table[0].rows[1].cells[O]);if(!b){b=j}}if(!c){c=S}var N=this;var P=function(U){U.removeClass(L.toThemeProperty("jqx-grid-cell-selected"));U.removeClass(L.toThemeProperty("jqx-fill-state-pressed"));U.removeClass(L.toThemeProperty("jqx-grid-cell-hover"));U.removeClass(L.toThemeProperty("jqx-fill-state-hover"));if(N.customCellStyles){for(var V in N.customCellStyles){U.removeClass(N.customCellStyles[V])}}};P(S);if(j){P(j)}if(this.displayfield==null){return true}if(L.showaggregates){if(L.getcolumnaggregateddata){l.push(L.getcolumnaggregateddata(this.displayfield,this.aggregates,true,q))}}var R=L._getexportcolumntype(this);if(this.exportable&&(!this.hidden||J)){H[this.displayfield]={};H[this.displayfield].text=this.text;H[this.displayfield].width=parseInt(this.width);if(isNaN(H[this.displayfield].width)){H[this.displayfield].width=60}H[this.displayfield].formatString=this.cellsformat;H[this.displayfield].localization=L.gridlocalization;H[this.displayfield].type=R;H[this.displayfield].cellsAlign=this.cellsalign;H[this.displayfield].hidden=!B;H[this.displayfield].displayfield=this.displayfield;z.push(H[this.displayfield])}k="cell"+g;var T=a(this.element);if(this.element==undefined){T=a(this.uielement)}if(!K){K=T}else{if(!N._rendered){T=K;S=c;j=b;var Q=L.toTP("jqx-grid-cell")+" "+L.toTP("jqx-item");S[0].className=Q;Q+=L.toTP("jqx-grid-cell-alt");if(j){j[0].className=Q}}}I="column"+e;if(s=="html"||s=="xls"||s=="pdf"){var i=function(U,ac,ab,V,aa,X,W,Y,Z){p[U]={};if(ac==undefined){return}if(ac[0].offsetWidth==0||ac[0].offsetHeight==0){return}p[U]["font-size"]=ac.css("font-size");p[U]["font-weight"]=ac.css("font-weight");p[U]["font-style"]=ac.css("font-style");p[U]["background-color"]=X._getexportcolor(ac.css("background-color"));p[U]["color"]=X._getexportcolor(ac.css("color"));p[U]["border-color"]=X._getexportcolor(ac.css("border-top-color"));if(ab){p[U]["text-align"]=aa.align}else{p[U]["text-align"]=aa.cellsalign;p[U]["formatString"]=aa.cellsformat;p[U]["dataType"]=R}if(s=="html"||s=="pdf"){p[U]["border-top-width"]=ac.css("border-top-width");p[U]["border-left-width"]=ac.css("border-left-width");p[U]["border-right-width"]=ac.css("border-right-width");p[U]["border-bottom-width"]=ac.css("border-bottom-width");p[U]["border-top-style"]=ac.css("border-top-style");p[U]["border-left-style"]=ac.css("border-left-style");p[U]["border-right-style"]=ac.css("border-right-style");p[U]["border-bottom-style"]=ac.css("border-bottom-style");if(ab){if(W==0){p[U]["border-left-width"]=ac.css("border-right-width")}p[U]["border-top-width"]=ac.css("border-right-width");p[U]["border-bottom-width"]=ac.css("border-bottom-width")}else{if(W==0){p[U]["border-left-width"]=ac.css("border-right-width")}}p[U]["height"]=ac.css("height")}if(aa.exportable&&(!aa.hidden||J)){if(Y==true){if(!H[aa.displayfield].customCellStyles){H[aa.displayfield].customCellStyles=new Array()}H[aa.displayfield].customCellStyles[Z]=U}else{if(ab){H[aa.displayfield].style=U}else{if(!V){H[aa.displayfield].cellStyle=U}else{H[aa.displayfield].cellAltStyle=U}}}}};i(I,T,true,false,this,L,O);e++;i(k,S,false,false,this,L,O);if(L.altrows){k="cellalt"+g;i(k,j,false,true,this,L,O)}if(this.customCellStyles){for(var M in N.customCellStyles){S.removeClass(N.customCellStyles[M])}for(var M in N.customCellStyles){S.addClass(N.customCellStyles[M]);i(k+N.customCellStyles[M],S,false,false,this,L,O,true,M);S.removeClass(N.customCellStyles[M])}}g++}});a.each(this.columns.records,function(i){if(H[this.displayfield]){H[this.displayfield].columnsDataFields=z}});if(this.showaggregates){var G=[];var D=s=="xls"?"_AG":"";var m=this.groupable?this.groups.length:0;if(this.rowdetails){m++}if(this.selectionmode==="checkbox"){m++}if(l.length>0){a.each(this.columns.records,function(j){if(this.aggregates){for(var N=0;N<this.aggregates.length;N++){if(!G[N]){G[N]={}}if(G[N]){var O=L._getaggregatename(this.aggregates[N]);var P=L._getaggregatetype(this.aggregates[N]);var M=l[j-m];if(M){G[N][this.displayfield]=D+O+": "+M[P]}}}}});a.each(this.columns.records,function(j){for(var M=0;M<G.length;M++){if(G[M][this.displayfield]==undefined){G[M][this.displayfield]=D}}})}a.each(G,function(){q.push(this)})}var o=this;var u=a.jqx.dataAdapter.ArrayExporter(q,H,p);if(C==undefined){this._renderrows(this.virtualsizeinfo);var r=u.exportTo(s);if(this.showaggregates){a.each(G,function(){q.pop(this)})}setTimeout(function(){o.exporting=false},50);this.hScrollInstance.setPosition(A);this._renderrows(this.virtualsizeinfo);return r}else{u.exportToFile(s,C,v,h)}if(this.showaggregates){a.each(G,function(){q.pop(this)})}this._renderrows(this.virtualsizeinfo);setTimeout(function(){o.exporting=false},50);this.hScrollInstance.setPosition(A);this._renderrows(this.virtualsizeinfo)},_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(b){return this._intToHex(b.r)+this._intToHex(b.g)+this._intToHex(b.b)},_intToHex:function(c){var b=(parseInt(c).toString(16));if(b.length==1){b=("0"+b)}return b.toUpperCase()},_getexportcolumntype:function(f){var g=this;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(f.cellsformat.indexOf("c")!=-1){return"number"}if(f.cellsformat.indexOf("n")!=-1){return"number"}if(f.cellsformat.indexOf("p")!=-1){return"number"}if(f.cellsformat.indexOf("d")!=-1){return"date"}if(f.cellsformat.indexOf("y")!=-1){return"date"}if(f.cellsformat.indexOf("M")!=-1){return"date"}if(f.cellsformat.indexOf("m")!=-1){return"date"}if(f.cellsformat.indexOf("t")!=-1){return"date"}if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e}})})(jqxBaseFramework);
+(function(b){b.extend(b.jqx._jqxGrid.prototype,{_exportData:function(R,J){var X=this;var N=typeof J==="string"?J:J.fileName;if(!N){N="jqxGrid"}if(!J||typeof J==="string"){J={header:true,filterBy:null,groupBy:null,style:null,fileName:N,pageOrientation:"portrait",expandChart:"+",collapseChar:"-"}}var ae=new b.jqx.dataAdapter.DataExporter({exportHeader:J.header});var V=[];ae.expandChar=J.expandChar;ae.collapseChar=J.collapseChar;ae.pageOrientation=J.pageOrientation;ae.style=J.style;ae.filterBy=J.filterBy;ae.groupBy=J.groupBy;var L=[];var W=X.columngroups||[];var Y=0;for(var U=0;U<X.columns.records.length;U++){if(X.columns.records[U].datafield!==null){L[Y++]={label:X.columns.records[U].text,dataField:X.columns.records[U].datafield}}}ae.header={columns:L,columngroups:W};if(!J.style){var aa=window.getComputedStyle(X.element);var H=window.getComputedStyle(X.columns.records.length>0&&X.columns.records[0].element?X.columns.records[0].element:X.host.find(".jqx-grid-header")[0]);var j=window.getComputedStyle(X.host.find(".jqx-grid-header")[0]);var ab=X.offsetWidth===0||X.offsetHeight===0;if(!ab){var ac=function(h){var g="Helvetica";var e=h.fontSize;var m=h.borderRightColor;var f=h.backgroundColor;var k=h.color;var d=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");function l(n){n=n.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);if(!n){return"#ffffff"}return"#"+c(n[1])+c(n[2])+c(n[3]).toUpperCase()}function c(n){return isNaN(n)?"00":d[(n-n%16)/16]+d[n%16]}return{borderColor:l(m),fontSize:e,fontFamily:g,color:l(k),backgroundColor:l(f)}};var P=ac(aa);var T=ac(H);var M=ac(j);var a={height:"30px",border:"1px solid "+P.borderColor,fontFamily:M.fontFamily,fontSize:M.fontSize,color:M.color,backgroundColor:T.backgroundColor,fontWeight:"400"};var ag={border:"1px solid "+P.borderColor,fontFamily:P.fontFamily,fontSize:P.fontSize};var O={height:X.rowsheight+"px"};for(var U=0;U<X.columns.records.length;U++){var ad=X.columns.records[U];if(!ad.exportable){continue}a[ad.datafield]={textAlign:ad.align,width:ad.width+"px",format:ad.cellsformat||""};var ah=ad.cellsformat||"";if(ad.dataType==="date"){ah="d"}else{if(ad.dataType==="dateTime"){ah="D"}else{if(ad.dataType==="time"){ah="t"}}}var S={textAlign:ad.cellsalign,format:ah};ag[ad.datafield]=S}if(X.altrows){O.alternationCount=2;O.alternationStart=0;O.alternationEnd=0;O.alternationIndex0Color=P.color;O.alternationIndex0BackgroundColor=P.backgroundColor;O.alternationIndex1Color=P.color;O.alternationIndex1BackgroundColor="#F5F5F5"}ae.style={border:"1px solid "+P.borderColor,borderCollapse:"collapse",header:a,columns:ag,rows:O}}}var af=this.getrows();var K=[];for(var U=0;U<af.length;U++){var Z=af[U];if(Z.hidden){continue}var I={};for(var i=0;i<X.columns.records.length;i++){var ad=X.columns.records[i];I[ad.datafield]=Z[ad.datafield]}K.push(I)}if(!J.groupBy&&X.groups){ae.groupBy=X.groups.slice(0)}var Q=ae.exportData(K,R,J.fileName,null);return Q},exportview:function(f,a){var e=this;e._exportData(f,a)},exportdata:function(Z,ab,ac,ad,X,T,al){if(!b.jqx.dataAdapter.ArrayExporter){throw"jqxGrid: Missing reference to jqxdata.export.js!"}if(Z==="xlsx"){this._exportData("xlsx",ab);return}if(ac==undefined){ac=true}var a=this;if(ad==undefined){var ad=this.getrows();if(ad.length==0){throw"No data to export."}}this.exporting=true;if(!this.pageable){this.loadondemand=true}if(this.altrows){this._renderrows(this.virtualsizeinfo)}var ae=this.hScrollInstance.value;this.hScrollInstance.setPosition(0);this._renderrows(this.virtualsizeinfo);var M=X!=undefined?X:false;var R={};var af={};var P=[];var ah=this.host.find(".jqx-grid-cell:first");var N=this.host.find(".jqx-grid-cell-alt:first");ah.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));ah.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));N.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));N.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));ah.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));ah.removeClass(this.toThemeProperty("jqx-fill-state-hover"));N.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));N.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var ak="cell";var am=1;var O="column";var ao=1;var aj=[];for(var W=0;W<this.columns.records.length;W++){var an=this.columns.records[W];if(an.cellclassname!=""){an.customCellStyles=new Array();if(typeof an.cellclassname=="string"){for(var V=0;V<ad.length;V++){an.customCellStyles[V]=an.cellclassname}}else{for(var V=0;V<ad.length;V++){var Q=this.getrowboundindex(V);var ap=an.cellclassname(Q,an.displayfield,ad[V][an.displayfield],ad[V]);if(ap){an.customCellStyles[V]=ap}}}}}var j=new Array();var i=null;var aq=null;var ar=null;b.each(this.columns.records,function(l){var d=b(a.table[0].rows[0].cells[l]);if(a.table[0].rows.length>1){var e=b(a.table[0].rows[1].cells[l]);if(!ar){ar=e}}if(!aq){aq=d}var m=this;var k=function(p){p.removeClass(a.toThemeProperty("jqx-grid-cell-selected"));p.removeClass(a.toThemeProperty("jqx-fill-state-pressed"));p.removeClass(a.toThemeProperty("jqx-grid-cell-hover"));p.removeClass(a.toThemeProperty("jqx-fill-state-hover"));if(m.customCellStyles){for(var o in m.customCellStyles){p.removeClass(m.customCellStyles[o])}}};k(d);if(e){k(e)}if(this.displayfield==null){return true}if(a.showaggregates){if(a.getcolumnaggregateddata){aj.push(a.getcolumnaggregateddata(this.displayfield,this.aggregates,true,ad))}}var g=a._getexportcolumntype(this);if(this.exportable&&(!this.hidden||M)){R[this.displayfield]={};R[this.displayfield].text=this.text;R[this.displayfield].width=parseInt(this.width);if(isNaN(R[this.displayfield].width)){R[this.displayfield].width=60}R[this.displayfield].formatString=this.cellsformat;R[this.displayfield].localization=a.gridlocalization;R[this.displayfield].type=g;R[this.displayfield].cellsAlign=this.cellsalign;R[this.displayfield].hidden=!ac;R[this.displayfield].displayfield=this.displayfield;j.push(R[this.displayfield])}ak="cell"+am;var c=b(this.element);if(this.element==undefined){c=b(this.uielement)}if(!i){i=c}else{if(!m._rendered){c=i;d=aq;e=ar;var h=a.toTP("jqx-grid-cell")+" "+a.toTP("jqx-item");d[0].className=h;h+=a.toTP("jqx-grid-cell-alt");if(e){e[0].className=h}}}O="column"+ao;if(Z=="html"||Z=="xls"||Z=="pdf"){var f=function(u,v,w,t,o,r,s,q,p){af[u]={};if(v==undefined){return}if(v[0].offsetWidth==0||v[0].offsetHeight==0){return}af[u]["font-size"]=v.css("font-size");af[u]["font-weight"]=v.css("font-weight");af[u]["font-style"]=v.css("font-style");af[u]["background-color"]=r._getexportcolor(v.css("background-color"));af[u]["color"]=r._getexportcolor(v.css("color"));af[u]["border-color"]=r._getexportcolor(v.css("border-top-color"));if(w){af[u]["text-align"]=o.align}else{af[u]["text-align"]=o.cellsalign;af[u]["formatString"]=o.cellsformat;af[u]["dataType"]=g}if(Z=="html"||Z=="pdf"){af[u]["border-top-width"]=v.css("border-top-width");af[u]["border-left-width"]=v.css("border-left-width");af[u]["border-right-width"]=v.css("border-right-width");af[u]["border-bottom-width"]=v.css("border-bottom-width");af[u]["border-top-style"]=v.css("border-top-style");af[u]["border-left-style"]=v.css("border-left-style");af[u]["border-right-style"]=v.css("border-right-style");af[u]["border-bottom-style"]=v.css("border-bottom-style");if(w){if(s==0){af[u]["border-left-width"]=v.css("border-right-width")}af[u]["border-top-width"]=v.css("border-right-width");af[u]["border-bottom-width"]=v.css("border-bottom-width")}else{if(s==0){af[u]["border-left-width"]=v.css("border-right-width")}}af[u]["height"]=v.css("height")}if(o.exportable&&(!o.hidden||M)){if(q==true){if(!R[o.displayfield].customCellStyles){R[o.displayfield].customCellStyles=new Array()}R[o.displayfield].customCellStyles[p]=u}else{if(w){R[o.displayfield].style=u}else{if(!t){R[o.displayfield].cellStyle=u}else{R[o.displayfield].cellAltStyle=u}}}}};f(O,c,true,false,this,a,l);ao++;f(ak,d,false,false,this,a,l);if(a.altrows){ak="cellalt"+am;f(ak,e,false,true,this,a,l)}if(this.customCellStyles){for(var n in m.customCellStyles){d.removeClass(m.customCellStyles[n])}for(var n in m.customCellStyles){d.addClass(m.customCellStyles[n]);f(ak+m.customCellStyles[n],d,false,false,this,a,l,true,n);d.removeClass(m.customCellStyles[n])}}am++}});b.each(this.columns.records,function(c){if(R[this.displayfield]){R[this.displayfield].columnsDataFields=j}});if(this.showaggregates){var S=[];var Y=Z=="xls"?"_AG":"";var ai=this.groupable?this.groups.length:0;if(this.rowdetails){ai++}if(this.selectionmode==="checkbox"){ai++}if(aj.length>0){b.each(this.columns.records,function(c){if(this.aggregates){for(var f=0;f<this.aggregates.length;f++){if(!S[f]){S[f]={}}if(S[f]){var e=a._getaggregatename(this.aggregates[f]);var d=a._getaggregatetype(this.aggregates[f]);var g=aj[c-ai];if(g){S[f][this.displayfield]=Y+e+": "+g[d]}}}}});b.each(this.columns.records,function(c){for(var d=0;d<S.length;d++){if(S[d][this.displayfield]==undefined){S[d][this.displayfield]=Y}}})}b.each(S,function(){ad.push(this)})}var ag=this;var U=b.jqx.dataAdapter.ArrayExporter(ad,R,af);if(ab==undefined){this._renderrows(this.virtualsizeinfo);var aa=U.exportTo(Z);if(this.showaggregates){b.each(S,function(){ad.pop(this)})}setTimeout(function(){ag.exporting=false},50);this.hScrollInstance.setPosition(ae);this._renderrows(this.virtualsizeinfo);return aa}else{U.exportToFile(Z,ab,T,al)}if(this.showaggregates){b.each(S,function(){ad.pop(this)})}this._renderrows(this.virtualsizeinfo);setTimeout(function(){ag.exporting=false},50);this.hScrollInstance.setPosition(ae);this._renderrows(this.virtualsizeinfo)},_getexportcolor:function(g){var r=g;if(g=="transparent"){r="#FFFFFF"}if(!r||!r.toString()){r="#FFFFFF"}if(r.toString().indexOf("rgb")!=-1){var p=r.split(",");if(r.toString().indexOf("rgba")!=-1){var t=parseInt(p[0].substring(5));var q=parseInt(p[1]);var o=parseInt(p[2]);var n=parseInt(p[3].substring(1,4));var a={r:t,g:q,b:o};var s=this._rgbToHex(a);if(t==0&&q==0&&o==0&&n==0){return"#ffffff"}return"#"+s}var t=parseInt(p[0].substring(4));var q=parseInt(p[1]);var o=parseInt(p[2].substring(1,4));var a={r:t,g:q,b:o};var s=this._rgbToHex(a);return"#"+s}else{if(r.toString().indexOf("#")!=-1){if(r.toString().length==4){var u=r.toString().substring(1,4);r+=u}}}return r},_rgbToHex:function(a){return this._intToHex(a.r)+this._intToHex(a.g)+this._intToHex(a.b)},_intToHex:function(d){var a=(parseInt(d).toString(16));if(a.length==1){a=("0"+a)}return a.toUpperCase()},_getexportcolumntype:function(m){var l=this;var n="string";var o=l.source.datafields||((l.source._source)?l.source._source.datafields:null);if(o){var j="";b.each(o,function(){if(this.name==m.displayfield){if(this.type){j=this.type}return false}});if(j){return j}}if(m!=null){if(this.dataview.cachedrecords==undefined){return n}var a=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return n}a=this.dataview.cachedrecords[0][m.displayfield];if(a!=null&&a.toString()==""){return"string"}}else{b.each(this.dataview.cachedrecords,function(){a=this[m.displayfield];return false})}if(a!=null){if(m.cellsformat.indexOf("c")!=-1){return"number"}if(m.cellsformat.indexOf("n")!=-1){return"number"}if(m.cellsformat.indexOf("p")!=-1){return"number"}if(m.cellsformat.indexOf("d")!=-1){return"date"}if(m.cellsformat.indexOf("y")!=-1){return"date"}if(m.cellsformat.indexOf("M")!=-1){return"date"}if(m.cellsformat.indexOf("m")!=-1){return"date"}if(m.cellsformat.indexOf("t")!=-1){return"date"}if(typeof a=="boolean"){n="boolean"}else{if(b.jqx.dataFormat.isNumber(a)){n="number"}else{var k=new Date(a);if(k.toString()=="NaN"||k.toString()=="Invalid Date"){if(b.jqx.dataFormat){k=b.jqx.dataFormat.tryparsedate(a);if(k!=null){if(k&&k.getFullYear()){if(k.getFullYear()==1970&&k.getMonth()==0&&k.getDate()==1){var p=new Number(a);if(!isNaN(p)){return"number"}return"string"}}return"date"}else{n="string"}}else{n="string"}}else{n="date"}}}}}return n}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.filter.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.filter.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());if(v._filterwidget.jqxDateTimeInput("showTimeButton")){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(C,d,A){var H=this.that;var z="";var E="";for(var F=0;F<H.dataview.filters.length;F++){var x=H.dataview.filters[F];if(x.datafield&&x.datafield==C.datafield){var F=x.filter.getfilters()[0];z=F.value;if(C.filtertype==="range"){z={from:z,to:x.filter.getfilters()[1].value}}E=F.condition;C.filtercondition=E;break}}var g=function(I,J){var f=a('<input autocomplete="off" type="textarea"/>');f.attr("tabindex",5+C.visibleindex);f[0].id=a.jqx.utilities.createId();f.addClass(I.toThemeProperty("jqx-widget"));f.addClass(I.toThemeProperty("jqx-filter-input jqx-input jqx-input-widget"));f.addClass(I.toThemeProperty("jqx-rc-all"));f.addClass(I.toThemeProperty("jqx-widget-content"));if(I.rtl){f.css("direction","rtl")}if(I.disabled){f.attr("disabled",true)}f.attr("disabled",false);f.appendTo(J);f.css("margin","4px");f.width(A-8);f.height(I.filterrowheight-9);if(C.createfilterwidget){C.createfilterwidget(C,J,f)}C._filterwidget=f;f.focus(function(){I.content[0].scrollLeft=0;setTimeout(function(){I.content[0].scrollLeft=0},10);I.focusedfilter=f;f.addClass(I.toThemeProperty("jqx-fill-state-focus"));return false});f.blur(function(){f.removeClass(I.toThemeProperty("jqx-fill-state-focus"))});f.keydown(function(K){if(K.keyCode=="13"){I._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!I._loading){if(!I["_oldWriteText"+f[0].id]){I["_oldWriteText"+f[0].id]=""}if(I["_oldWriteText"+f[0].id].length>0&&I["_oldWriteText"+f[0].id]!=f.val()){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}else{if(I["_oldWriteText"+f[0].id].length==0){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}}}},C.filterdelay);I.focusedfilter=f});I.host.removeClass("jqx-disableselect");I.content.removeClass("jqx-disableselect");f.val(z)};if(C.datatype!=null){if(C.filtertype=="number"){if(C.datatype=="string"||C.datatype=="date"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="date"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="bool"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="date"){C.filtertype="textbox"}}}switch(C.filtertype){case"number":case"input":var m=a("<div></div>");m.width(d.width());m.height(this.filterrowheight);d.append(m);var A=d.width()-21;var s=function(J,K,f){var I=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(H.rtl){I.css("float","right");I.css("direction","rtl")}I.attr("tabindex",5+C.visibleindex);I[0].id=a.jqx.utilities.createId();I.addClass(H.toThemeProperty("jqx-widget jqx-input jqx-rc-all jqx-input-widget jqx-filter-input jqx-widget-content"));I.appendTo(J);I.width(K-10);if(H.disabled){I.attr("disabled",true)}I.attr("disabled",false);I[0].style.height=H.filterrowheight-9+"px";I.css("margin","4px");I.css("margin-right","3px");I.focus(function(){H.focusedfilter=I;I.addClass(H.toThemeProperty("jqx-fill-state-focus"))});I.blur(function(){I.removeClass(H.toThemeProperty("jqx-fill-state-focus"))});I.keydown(function(L){if(L.keyCode=="13"){H._applyfilterfromfilterrow()}if(L.keyCode=="9"){return}if(I[0]._writeTimer){clearTimeout(I[0]._writeTimer)}I[0]._writeTimer=setTimeout(function(){if(!H._loading){if(H["_oldWriteText"+I[0].id]!=I.val()){H._applyfilterfromfilterrow();H["_oldWriteText"+I[0].id]=I.val()}}},C.filterdelay);H.focusedfilter=I});I.val(z);return I};s(m,A);var B=H._getfiltersbytype(C.filtertype=="number"?"number":"string");var t=a("<div class='filter' style='float: left;'></div>");t.css("margin-top","4px");t.appendTo(m);if(H.rtl){t.css("float","right")}var h=0;if(C.filtercondition!=null){var F=new a.jqx.filter();var r=F.getoperatorsbyfiltertype(C.filtertype=="number"?"numericfilter":"stringfilter");var e=r.indexOf(C.filtercondition.toUpperCase());if(e!=-1){h=e}}var D=180;if(C.filtertype=="input"){D=240;if(h==0){var e=B.indexOf("contains")||2;if(e!=-1&&C.filtercondition==null){h=e}}}t.jqxDropDownList({disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:20,height:27,dropDownHeight:150,dropDownWidth:D,source:B,theme:H.theme});t.jqxDropDownList({selectionRenderer:function(f){return""}});t.attr("tabindex",5+C.visibleindex);t.jqxDropDownList("setContent","");t.find(".jqx-dropdownlist-content").hide();if(C.createfilterwidget){C.createfilterwidget(C,d,m)}C._filterwidget=m;var j=null;this.addHandler(t,"select",function(){var f=t.jqxDropDownList("getSelectedItem").label;if(C._filterwidget.find("input").val().length>0&&!H.refreshingfilter){H._applyfilterfromfilterrow()}if(C.filtertype=="input"&&!H.refreshingfilter){H._applyfilterfromfilterrow()}else{if(C._filterwidget.find("input").val().length==0&&!H.refreshingfilter){if(j=="null"||j=="not null"||f=="null"||f=="not null"){H._applyfilterfromfilterrow()}}}j=f});break;case"textbox":case"default":default:g(this,d);break;case"none":break;case"date":case"range":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.css("margin-left","5px");b.appendTo(d);var n={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({firstDayOfWeek:this.gridlocalization.firstDay,readonly:true,disabled:H.disabled,localization:n,rtl:H.rtl,showFooter:true,formatString:C.cellsformat,selectionMode:C.filtertype,value:null,theme:this.theme,width:A-9,height:this.filterrowheight-9});if(C.createfilterwidget){C.createfilterwidget(C,d,b)}if(z&&z.from){b.jqxDateTimeInput("setRange",z.from,z.to)}else{if(z&&z.toString().length>1){b.val(z)}}b.find("input").attr("tabindex",5+C.visibleindex);C._filterwidget=b;this.addHandler(b,"valueChanged",function(f){if(!H.refreshingfilter){H._applyfilterfromfilterrow();H.focusedfilter=null}})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var q=this._getfilterdataadapter(C);var l=false;var t=a("<div></div>");t.css("margin","4px");t.css("margin-left","5px");var u=C.datafield;var v=C.filtertype=="checkedlist"?true:false;var D=A<150?220:"auto";q.dataBind();var p=q.records;var k=p.length<8?true:false;l=k;t.appendTo(d);t.jqxDropDownList({hint:false,placeHolder:H.gridlocalization.filterchoosestring,disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,checkboxes:v,dropDownWidth:D,source:q.records,autoDropDownHeight:k,theme:this.theme,width:A-9,height:this.filterrowheight-9,displayMember:C.displayfield,valueMember:u});t.attr("tabindex",5+C.visibleindex);t.attr("default-placeholder",true);if(C.createfilterwidget){C.createfilterwidget(C,d,t)}var c=t.jqxDropDownList("listBox");if(v){t.jqxDropDownList({selectionRenderer:function(){var f='<span class="'+H.toThemeProperty("jqx-item")+'" style="top: 4px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>";return f}});var y=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>");y.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!l){c.host.height(200)}c.insertAt(H.gridlocalization.filterselectallstring,0);t.jqxDropDownList("setContent",y);var i=true;var G=new Array();c.checkAll(false);H.addHandler(c.host,"checkChange",function(J){t[0]._selectionChanged=true;if(!i){return}if(J.args.label!=H.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var I=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(I.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(J.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);t.jqxDropDownList({selectedIndex:0})}C._filterwidget=t;var o=t.jqxDropDownList("dropdownlistWrapper");if(C.filtertype=="list"){this.addHandler(t,"select",function(f){if(!H.refreshingfilter){if(f.args&&f.args.type!="none"){H._applyfilterfromfilterrow();H.focusedfilter=null}}})}else{this.addHandler(t,"close",function(f){if(t[0]._selectionChanged){H._applyfilterfromfilterrow();H.focusedfilter=null;t[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var w=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>');w.appendTo(d);w.jqxCheckBox({disabled:H.disabled,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});w.attr("tabindex",5+C.visibleindex);if(C.createfilterwidget){C.createfilterwidget(C,d,w)}if(z===true||z=="true"){w.jqxCheckBox({checked:true})}else{if(z===false||z=="false"){w.jqxCheckBox({checked:false})}}C._filterwidget=w;this.addHandler(w,"change",function(f){if(!H.refreshingfilter){if(f.args){H.focusedfilter=null;H._applyfilterfromfilterrow()}}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt(this.gridlocalization.filterselectallstring,0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("filter")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();e.children().remove();d.children().remove();if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowstring)}f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",s.gridlocalization.filterselectallstring,0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 1px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(C,d,A){var H=this.that;var z="";var E="";for(var F=0;F<H.dataview.filters.length;F++){var x=H.dataview.filters[F];if(x.datafield&&x.datafield==C.datafield){var F=x.filter.getfilters()[0];z=F.value;if(C.filtertype==="range"){z={from:z,to:x.filter.getfilters()[1].value}}E=F.condition;C.filtercondition=E;break}}var g=function(I,J){var f=a('<input autocomplete="off" type="textarea"/>');f.attr("tabindex",5+C.visibleindex);f[0].id=a.jqx.utilities.createId();f.addClass(I.toThemeProperty("jqx-widget"));f.addClass(I.toThemeProperty("jqx-filter-input jqx-input jqx-input-widget"));f.addClass(I.toThemeProperty("jqx-rc-all"));f.addClass(I.toThemeProperty("jqx-widget-content"));if(I.rtl){f.css("direction","rtl")}if(I.disabled){f.attr("disabled",true)}f.attr("disabled",false);f.appendTo(J);f.css("margin","4px");f.width(A-8);f.height(I.filterrowheight-9);if(C.createfilterwidget){C.createfilterwidget(C,J,f)}C._filterwidget=f;f.focus(function(){I.content[0].scrollLeft=0;setTimeout(function(){I.content[0].scrollLeft=0},10);I.focusedfilter=f;f.addClass(I.toThemeProperty("jqx-fill-state-focus"));return false});f.blur(function(){f.removeClass(I.toThemeProperty("jqx-fill-state-focus"))});f.keydown(function(K){if(K.keyCode=="13"){I._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!I._loading){if(!I["_oldWriteText"+f[0].id]){I["_oldWriteText"+f[0].id]=""}if(I["_oldWriteText"+f[0].id].length>0&&I["_oldWriteText"+f[0].id]!=f.val()){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}else{if(I["_oldWriteText"+f[0].id].length==0){I._applyfilterfromfilterrow();I["_oldWriteText"+f[0].id]=f.val()}}}},C.filterdelay);I.focusedfilter=f});I.host.removeClass("jqx-disableselect");I.content.removeClass("jqx-disableselect");f.val(z)};if(C.datatype!=null){if(C.filtertype=="number"){if(C.datatype=="string"||C.datatype=="date"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="date"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="bool"){C.filtertype="textbox"}}if(C.filtertype=="bool"){if(C.datatype=="string"||C.datatype=="number"||C.datatype=="date"){C.filtertype="textbox"}}}switch(C.filtertype){case"number":case"input":var m=a("<div></div>");m.width(d.width());m.height(this.filterrowheight);d.append(m);var A=d.width()-21;var s=function(J,K,f){var I=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(H.rtl){I.css("float","right");I.css("direction","rtl")}I.attr("tabindex",5+C.visibleindex);I[0].id=a.jqx.utilities.createId();I.addClass(H.toThemeProperty("jqx-widget jqx-input jqx-rc-all jqx-input-widget jqx-filter-input jqx-widget-content"));I.appendTo(J);I.width(K-10);if(H.disabled){I.attr("disabled",true)}I.attr("disabled",false);I[0].style.height=H.filterrowheight-9+"px";I.css("margin","4px");I.css("margin-right","3px");I.focus(function(){H.focusedfilter=I;I.addClass(H.toThemeProperty("jqx-fill-state-focus"))});I.blur(function(){I.removeClass(H.toThemeProperty("jqx-fill-state-focus"))});I.keydown(function(L){if(L.keyCode=="13"){H._applyfilterfromfilterrow()}if(L.keyCode=="9"){return}if(I[0]._writeTimer){clearTimeout(I[0]._writeTimer)}I[0]._writeTimer=setTimeout(function(){if(!H._loading){if(H["_oldWriteText"+I[0].id]!=I.val()){H._applyfilterfromfilterrow();H["_oldWriteText"+I[0].id]=I.val()}}},C.filterdelay);H.focusedfilter=I});I.val(z);return I};s(m,A);var B=H._getfiltersbytype(C.filtertype=="number"?"number":"string");var t=a("<div class='filter' style='float: left;'></div>");t.css("margin-top","4px");t.appendTo(m);if(H.rtl){t.css("float","right")}var h=0;if(C.filtercondition!=null){var F=new a.jqx.filter();var r=F.getoperatorsbyfiltertype(C.filtertype=="number"?"numericfilter":"stringfilter");var e=r.indexOf(C.filtercondition.toUpperCase());if(e!=-1){h=e}}var D=180;if(C.filtertype=="input"){D=240;if(h==0){var e=B.indexOf("contains")||2;if(e!=-1&&C.filtercondition==null){h=e}}}t.jqxDropDownList({disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:20,height:27,dropDownHeight:150,dropDownWidth:D,source:B,theme:H.theme});t.jqxDropDownList({selectionRenderer:function(f){return""}});t.attr("tabindex",5+C.visibleindex);t.jqxDropDownList("setContent","");t.find(".jqx-dropdownlist-content").hide();if(C.createfilterwidget){C.createfilterwidget(C,d,m)}C._filterwidget=m;var j=null;this.addHandler(t,"select",function(){var f=t.jqxDropDownList("getSelectedItem").label;if(C._filterwidget.find("input").val().length>0&&!H.refreshingfilter){H._applyfilterfromfilterrow()}if(C.filtertype=="input"&&!H.refreshingfilter){H._applyfilterfromfilterrow()}else{if(C._filterwidget.find("input").val().length==0&&!H.refreshingfilter){if(j=="null"||j=="not null"||f=="null"||f=="not null"){H._applyfilterfromfilterrow()}}}j=f});break;case"textbox":case"default":default:g(this,d);break;case"none":break;case"date":case"range":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.css("margin-left","5px");b.appendTo(d);var n={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({firstDayOfWeek:this.gridlocalization.firstDay,readonly:true,disabled:H.disabled,localization:n,rtl:H.rtl,showFooter:true,formatString:C.cellsformat,selectionMode:C.filtertype,value:null,theme:this.theme,width:A-9,height:this.filterrowheight-9});if(C.createfilterwidget){C.createfilterwidget(C,d,b)}if(z&&z.from){b.jqxDateTimeInput("setRange",z.from,z.to)}else{if(z&&z.toString().length>1){b.val(z)}}b.find("input").attr("tabindex",5+C.visibleindex);C._filterwidget=b;this.addHandler(b,"valueChanged",function(f){if(!H.refreshingfilter){H._applyfilterfromfilterrow();H.focusedfilter=null}})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var q=this._getfilterdataadapter(C);var l=false;var t=a("<div></div>");t.css("margin","4px");t.css("margin-left","5px");var u=C.datafield;var v=C.filtertype=="checkedlist"?true:false;var D=A<150?220:"auto";q.dataBind();var p=q.records;var k=p.length<8?true:false;l=k;t.appendTo(d);t.jqxDropDownList({hint:false,placeHolder:H.gridlocalization.filterchoosestring,disabled:H.disabled,touchMode:H.touchmode,rtl:H.rtl,checkboxes:v,dropDownWidth:D,source:q.records,autoDropDownHeight:k,theme:this.theme,width:A-9,height:this.filterrowheight-9,displayMember:C.displayfield,valueMember:u});t.attr("tabindex",5+C.visibleindex);t.attr("default-placeholder",true);if(C.createfilterwidget){C.createfilterwidget(C,d,t)}var c=t.jqxDropDownList("listBox");if(v){t.jqxDropDownList({selectionRenderer:function(){var f='<span class="'+H.toThemeProperty("jqx-item")+'" style="top: 4px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>";return f}});var y=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+H.gridlocalization.filterselectstring+"</span>");y.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!l){c.host.height(200)}c.insertAt(H.gridlocalization.filterselectallstring,0);t.jqxDropDownList("setContent",y);var i=true;var G=new Array();c.checkAll(false);H.addHandler(c.host,"checkChange",function(J){t[0]._selectionChanged=true;if(!i){return}if(J.args.label!=H.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var I=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(I.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(J.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);t.jqxDropDownList({selectedIndex:0})}C._filterwidget=t;var o=t.jqxDropDownList("dropdownlistWrapper");if(C.filtertype=="list"){this.addHandler(t,"select",function(f){if(!H.refreshingfilter){if(f.args&&f.args.type!="none"){H._applyfilterfromfilterrow();H.focusedfilter=null}}})}else{this.addHandler(t,"close",function(f){if(t[0]._selectionChanged){H._applyfilterfromfilterrow();H.focusedfilter=null;t[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var w=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>');w.appendTo(d);w.jqxCheckBox({disabled:H.disabled,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});w.attr("tabindex",5+C.visibleindex);if(C.createfilterwidget){C.createfilterwidget(C,d,w)}if(z===true||z=="true"){w.jqxCheckBox({checked:true})}else{if(z===false||z=="false"){w.jqxCheckBox({checked:false})}}C._filterwidget=w;this.addHandler(w,"change",function(f){if(!H.refreshingfilter){if(f.args){H.focusedfilter=null;H._applyfilterfromfilterrow()}}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt(this.gridlocalization.filterselectallstring,0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){if(b.items[0].label!==this.gridlocalization.filterchoosestring){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("group")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}this._showwhere=a(p).find(".filter.showwhere");var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();if(E.filtertype=="date"){j.jqxDateTimeInput("destroy");h.jqxDateTimeInput("destroy");e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",s.gridlocalization.filterselectallstring,0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}this._hasdatefilter=true;var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 2px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);if(j[0]){j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());if(v._filterwidget.jqxDateTimeInput("showTimeButton")){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt({label:this.gridlocalization.filterselectallstring},0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("filter")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();e.children().remove();d.children().remove();if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";if(E.filtertype=="date"){s._showwhere.text(s.gridlocalization.filtershowrowstring)}f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",{label:s.gridlocalization.filterselectallstring},0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 1px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var m=this.columns.records.length;var e=0;var l=this;if(!this.filterrow){return}for(var i=0;i<m;i++){var g=this.columns.records[i];var c=parseInt(g.width);if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[i]);k.css("left",e);var h=true;if(k.width()==c){h=false}if(f){h=true}k.width(c);k[0].left=e;if(g.element){k[0].style.width=g.element.style.width;k[0].style.left=g.element.style.left}if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!h){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(n,o){var j=a(o.children()[0]);if(j[0]){j[0].style.width=(c-8)+"px";if(a.jqx.browser.msie){j[0].style.width=(c-16)+"px"}}j.attr("disabled",n.disabled)};switch(g.filtertype){case"number":case"input":a(k.children()[0]).width(c);k.find("input")[0].style.width=(c-30)+"px";if(a.jqx.browser.msie){k.find("input")[0].style.width=(c-36)+"px"}k.find("input").attr("disabled",l.disabled);a(k.find(".jqx-dropdownlist-state-normal")).jqxDropDownList({theme:l.theme,disabled:l.disabled});break;case"date":case"range":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({theme:l.theme,disabled:l.disabled,width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}else{a(k.children()[0]).jqxCheckBox({theme:l.theme,disabled:l.disabled})}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(d){this._disablefilterrow=true;if(!this.columns.records){return}var m=this.columns.records.length;var e=0;for(var i=0;i<m;i++){var f=this.columns.records[i];var l=a(this.filterrow[0].cells[i]);if(typeof d=="string"){if(f.displayfield!=d){continue}}if(f.filterable){var c=function(o,p){var j=a(p.children()[0]);j.val("");if(j[0]){o["_oldWriteText"+j[0].id]=""}};switch(f.filtertype){case"number":case"input":l.find("input").val("");if(this.host.jqxDropDownList){var k=a(a(a(l).children()[0]).children()[1]);k.jqxDropDownList("clearSelection");var g=0;if(g==0){var b=this._getfiltersbytype(f.filtertype=="number"?"number":"string");var n=new a.jqx.filter();var h=n.getoperatorsbyfiltertype(f.filtertype=="number"?"numberfilter":"stringfilter");if(f.filtercondition!=null){g=h.indexOf(f.filtercondition.toUpperCase());if(g==-1){g=f.filtertype=="number"?0:2}}else{g=f.filtertype=="number"?0:2}}k.jqxDropDownList({selectedIndex:g});k.jqxDropDownList("ensureVisible",g)}break;case"date":case"range":if(this.host.jqxDateTimeInput){a(l.children()[0]).jqxDateTimeInput("setDate",null)}else{c(this,l)}break;case"textbox":case"default":c(this,l);break;case"list":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("clearSelection")}else{c(this,l)}break;case"checkedlist":if(this.host.jqxDropDownList){a(l.children()[0]).jqxDropDownList("checkAll",false)}else{c(this,l)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){c(this,l)}else{a(l.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}if(this.disabled){return}var A=this.columns.records.length;var E=this.that;for(var u=0;u<A;u++){var l=new a.jqx.filter();var v=this.columns.records[u];if(!v.filterable){continue}if(v.datafield===null){continue}var f=E._getcolumntypebydatafield(v);var d=E._getfiltertype(f);var m=1;var F=true;var e=v.filtertype;var C=function(j,M,J){var i=true;if(j._filterwidget){var H=j._filterwidget.val();if(H!=""){var K="equal";if(M=="stringfilter"){var K="contains"}if(M=="numericfilter"){if(E.gridlocalization.decimalseparator==","){if(H.indexOf(E.gridlocalization.decimalseparator)>=0){H=H.replace(E.gridlocalization.decimalseparator,".")}}}if(M!="stringfilter"){var L=0;if(H.indexOf(">")!=-1){K="greater_than";L=1}if(H.indexOf("<")!=-1){K="less_than";L=1}if(H.indexOf("=")!=-1){if(K=="greater_than"){K="greater_than_or_equal";L=2}else{if(K=="less_than"){K="less_than_or_equal";L=2}else{K="equal";L=1}}}if(L!=0){H=H.substring(L);if(H.length<1){return false}}}if(j.filtercondition!=undefined){K=j.filtercondition}if(M=="datefilter"){var I=J.createfilter(M,H,K,null,j.cellsformat,E.gridlocalization)}else{var I=J.createfilter(M,H,K)}J.addfilter(m,I)}else{i=false}}return i};switch(v.filtertype){case"range":case"date":if(v._filterwidget.jqxDateTimeInput){if(v.filtertype=="range"){var q=v._filterwidget.jqxDateTimeInput("getRange");if(q!=null&&q.from!=null&&q.to!=null){var p="GREATER_THAN_OR_EQUAL";var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.from.getFullYear(),q.from.getMonth(),q.from.getDate());var r=new Date(0);r.setHours(0);r.setMinutes(0);r.setFullYear(q.to.getFullYear(),q.to.getMonth(),q.to.getDate());r.setHours(q.to.getHours());r.setMinutes(q.to.getMinutes());r.setSeconds(q.to.getSeconds());var z=l.createfilter(d,s,p);l.addfilter(0,z);var c="LESS_THAN_OR_EQUAL";var y=l.createfilter(d,r,c);l.addfilter(0,y)}else{F=false}}else{var q=v._filterwidget.jqxDateTimeInput("getDate");if(q!=null){var s=new Date(0);s.setHours(0);s.setMinutes(0);s.setFullYear(q.getFullYear(),q.getMonth(),q.getDate());var h=v._filterwidget.jqxDateTimeInput("showTimeButton");if(h){s.setHours(q.getHours());s.setMinutes(q.getMinutes())}var p="EQUAL";if(v.filtercondition!=undefined){p=v.filtercondition}var z=l.createfilter(d,s,p);if(h){z=l.createfilter(d,s,p,null,v.cellsformat)}l.addfilter(0,z)}else{F=false}}}else{F=C(v,d,l)}break;case"input":if(v._filterwidget){var q=v._filterwidget.find("input").val();var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,q,x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"number":if(v._filterwidget){var q=v._filterwidget.find("input").val();if(E.gridlocalization.decimalseparator==","){if(q.indexOf(E.gridlocalization.decimalseparator)>=0){q=q.replace(E.gridlocalization.decimalseparator,".")}}var k=v._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var x=l.getoperatorsbyfiltertype(d)[k];if(E.updatefilterconditions){var G=E.updatefilterconditions(d,l.getoperatorsbyfiltertype(d));if(G!=undefined){l.setoperatorsbyfiltertype(d,G)}var x=l.getoperatorsbyfiltertype(d)[k]}var o=x=="NULL"||x=="NOT_NULL";var t=x=="EMPTY"||x=="NOT_EMPTY";if(q!=undefined&&q.length>0||o||t){z=l.createfilter(d,new Number(q),x,null,v.cellsformat,E.gridlocalization);l.addfilter(0,z)}else{F=false}}else{F=false}break;case"textbox":case"default":F=C(v,d,l);break;case"bool":case"boolean":if(v._filterwidget.jqxCheckBox){var q=v._filterwidget.jqxCheckBox("checked");if(q!=null){var p="equal";var n=l.createfilter(d,q,p);l.addfilter(m,n)}else{F=false}}else{F=C(v,d,l)}break;case"list":var g=v._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var q=b.label;var B=b.value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);l.addfilter(m,n);if(B!==q){n.data=B}}else{F=false}break;case"checkedlist":if(v._filterwidget.jqxDropDownList){var g=v._filterwidget.jqxDropDownList("listBox");var D=g.getCheckedItems();if(D.length==0){for(var w=1;w<g.items.length;w++){var q=g.items[w].label;var B=g.items[w].value;var p="not_equal";if(q===""){p="NOT_NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(0,n)}F=true}else{if(D.length!=g.items.length){for(var w=0;w<D.length;w++){var q=D[w].label;var B=D[w].value;var p="equal";if(q===""){p="NULL"}var n=l.createfilter(d,q,p);if(B!==q){n.data=B}l.addfilter(m,n)}}else{F=false}}}else{F=C(v,d,l)}break}if(!this._loading){if(F){this.addfilter(v.displayfield,l,false)}else{this.removefilter(v.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");m+=" "+this.toThemeProperty("jqx-grid-cell-filter-row");var r=o+10;var s=new Array();var n=this.that;this.filterrow[0].cells=s;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}this._initcolumntypes();var g=false;var d=new Array();var q=document.createDocumentFragment();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=document.createElement("div");l.style.overflow="hidden";l.style.position="absolute";l.style.height="100%";l.className=m;l=a(l);q.appendChild(l[0]);l[0].style.left=f+"px";if(this.rtl){l.css("z-index",r++);l.css("border-left-width","1px")}else{l.css("z-index",r--)}if(c=="auto"){c=0}l[0].style.width=parseFloat(c)+"px";l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}s[s.length]=l[0];var k=true;if(!this.rtl){if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p>h){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==0){k=false}}else{if(this.groupable){var p=(this.showrowdetailscolumn&&this.rowdetails)?1:0;if(this.groups.length+p+h>o-1){k=false}}if(this.showrowdetailscolumn&&this.rowdetails&&h==o-1){k=false}}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}b[0].appendChild(q);this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",r--)}b.width(parseFloat(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");this.filterrow.css("border-right-width","0px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(D,d,B){var I=this.that;var s=this;var A="";var F="";for(var G=0;G<I.dataview.filters.length;G++){var y=I.dataview.filters[G];if(y.datafield&&y.datafield==D.datafield){var G=y.filter.getfilters()[0];A=G.value;if(D.filtertype==="range"){A={from:A,to:y.filter.getfilters()[1].value}}F=G.condition;D.filtercondition=F;break}}var g=function(J,K){var f=a('<input autocomplete="off" type="textarea"/>');f.attr("tabindex",5+D.visibleindex);f[0].id=a.jqx.utilities.createId();f.addClass(J.toThemeProperty("jqx-widget"));f.addClass(J.toThemeProperty("jqx-filter-input jqx-input jqx-input-widget"));f.addClass(J.toThemeProperty("jqx-rc-all"));f.addClass(J.toThemeProperty("jqx-widget-content"));if(J.rtl){f.css("direction","rtl")}if(J.disabled){f.attr("disabled",true)}f.attr("disabled",false);f.appendTo(K);f.css("margin","4px");f.width(B-8);f.height(J.filterrowheight-9);if(D.createfilterwidget){D.createfilterwidget(D,K,f)}D._filterwidget=f;f.focus(function(){J.content[0].scrollLeft=0;setTimeout(function(){J.content[0].scrollLeft=0},10);J.focusedfilter=f;f.addClass(J.toThemeProperty("jqx-fill-state-focus"));return false});f.blur(function(){f.removeClass(J.toThemeProperty("jqx-fill-state-focus"))});f.keydown(function(L){if(L.keyCode=="13"){J._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!J._loading){if(!J["_oldWriteText"+f[0].id]){J["_oldWriteText"+f[0].id]=""}if(J["_oldWriteText"+f[0].id].length>0&&J["_oldWriteText"+f[0].id]!=f.val()){J._applyfilterfromfilterrow();J["_oldWriteText"+f[0].id]=f.val()}else{if(J["_oldWriteText"+f[0].id].length==0){J._applyfilterfromfilterrow();J["_oldWriteText"+f[0].id]=f.val()}}}},D.filterdelay);J.focusedfilter=f});J.host.removeClass("jqx-disableselect");J.content.removeClass("jqx-disableselect");f.val(A)};if(D.datatype!=null){if(D.filtertype=="number"){if(D.datatype=="string"||D.datatype=="date"||D.datatype=="bool"){D.filtertype="textbox"}}if(D.filtertype=="date"){if(D.datatype=="string"||D.datatype=="number"||D.datatype=="bool"){D.filtertype="textbox"}}if(D.filtertype=="bool"){if(D.datatype=="string"||D.datatype=="number"||D.datatype=="date"){D.filtertype="textbox"}}}switch(D.filtertype){case"number":case"input":var m=a("<div></div>");m.width(d.width());m.height(this.filterrowheight);d.append(m);var B=d.width()-21;var t=function(K,L,f){var J=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(I.rtl){J.css("float","right");J.css("direction","rtl")}J.attr("tabindex",5+D.visibleindex);J[0].id=a.jqx.utilities.createId();J.addClass(I.toThemeProperty("jqx-widget jqx-input jqx-rc-all jqx-input-widget jqx-filter-input jqx-widget-content"));J.appendTo(K);J.width(L-10);if(I.disabled){J.attr("disabled",true)}J.attr("disabled",false);J[0].style.height=I.filterrowheight-9+"px";J.css("margin","4px");J.css("margin-right","3px");J.focus(function(){I.focusedfilter=J;J.addClass(I.toThemeProperty("jqx-fill-state-focus"))});J.blur(function(){J.removeClass(I.toThemeProperty("jqx-fill-state-focus"))});J.keydown(function(M){if(M.keyCode=="13"){I._applyfilterfromfilterrow()}if(M.keyCode=="9"){return}if(J[0]._writeTimer){clearTimeout(J[0]._writeTimer)}J[0]._writeTimer=setTimeout(function(){if(!I._loading){if(I["_oldWriteText"+J[0].id]!=J.val()){I._applyfilterfromfilterrow();I["_oldWriteText"+J[0].id]=J.val()}}},D.filterdelay);I.focusedfilter=J});J.val(A);return J};t(m,B);var C=I._getfiltersbytype(D.filtertype=="number"?"number":"string");var u=a("<div class='filter' style='float: left;'></div>");u.css("margin-top","4px");u.appendTo(m);if(I.rtl){u.css("float","right")}var h=0;if(D.filtercondition!=null){var G=new a.jqx.filter();var r=G.getoperatorsbyfiltertype(D.filtertype=="number"?"numericfilter":"stringfilter");var e=r.indexOf(D.filtercondition.toUpperCase());if(e!=-1){h=e}}var E=180;if(D.filtertype=="input"){E=240;if(h==0){var e=C.indexOf("contains")||2;if(e!=-1&&D.filtercondition==null){h=e}}}u.jqxDropDownList({disabled:I.disabled,touchMode:I.touchmode,rtl:I.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:20,height:27,dropDownHeight:150,dropDownWidth:E,source:C,theme:I.theme});u.jqxDropDownList({selectionRenderer:function(f){return""}});u.attr("tabindex",5+D.visibleindex);u.jqxDropDownList("setContent","");u.find(".jqx-dropdownlist-content").hide();if(D.createfilterwidget){D.createfilterwidget(D,d,m)}D._filterwidget=m;var j=null;this.addHandler(u,"open",function(){s._activeFilterElement=u});this.addHandler(u,"select",function(){var f=u.jqxDropDownList("getSelectedItem").label;if(D._filterwidget.find("input").val().length>0&&!I.refreshingfilter){I._applyfilterfromfilterrow()}if(D.filtertype=="input"&&!I.refreshingfilter){I._applyfilterfromfilterrow()}else{if(D._filterwidget.find("input").val().length==0&&!I.refreshingfilter){if(j=="null"||j=="not null"||f=="null"||f=="not null"){I._applyfilterfromfilterrow()}}}j=f});break;case"textbox":case"default":default:g(this,d);break;case"none":break;case"date":case"range":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.css("margin-left","5px");b.appendTo(d);var n={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({firstDayOfWeek:this.gridlocalization.firstDay,readonly:true,disabled:I.disabled,localization:n,rtl:I.rtl,showFooter:true,formatString:D.cellsformat,selectionMode:D.filtertype,value:null,theme:this.theme,width:B-9,height:this.filterrowheight-9});if(D.createfilterwidget){D.createfilterwidget(D,d,b)}if(A&&A.from){b.jqxDateTimeInput("setRange",A.from,A.to)}else{if(A&&A.toString().length>1){b.val(A)}}b.find("input").attr("tabindex",5+D.visibleindex);D._filterwidget=b;this.addHandler(b,"valueChanged",function(f){if(!I.refreshingfilter){I._applyfilterfromfilterrow();I.focusedfilter=null}})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var q=this._getfilterdataadapter(D);var l=false;var u=a("<div></div>");u.css("margin","4px");u.css("margin-left","5px");var v=D.datafield;var w=D.filtertype=="checkedlist"?true:false;var E=B<150?220:"auto";q.dataBind();var p=q.records;var k=p.length<8?true:false;l=k;u.appendTo(d);u.jqxDropDownList({hint:false,placeHolder:I.gridlocalization.filterchoosestring,disabled:I.disabled,touchMode:I.touchmode,rtl:I.rtl,checkboxes:w,dropDownWidth:E,source:q.records,autoDropDownHeight:k,theme:this.theme,width:B-9,height:this.filterrowheight-9,displayMember:D.displayfield,valueMember:v});u.attr("tabindex",5+D.visibleindex);u.attr("default-placeholder",true);if(D.createfilterwidget){D.createfilterwidget(D,d,u)}this.addHandler(u,"open",function(){s._activeFilterElement=u});var c=u.jqxDropDownList("listBox");if(w){u.jqxDropDownList({selectionRenderer:function(){var f='<span class="'+I.toThemeProperty("jqx-item")+'" style="top: 4px; position: relative; color: inherit; border: none; background-color: transparent;">'+I.gridlocalization.filterselectstring+"</span>";return f}});var z=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+I.gridlocalization.filterselectstring+"</span>");z.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!l){c.host.height(200)}c.insertAt({label:I.gridlocalization.filterselectallstring},0);u.jqxDropDownList("setContent",z);var i=true;var H=new Array();c.checkAll(false);I.addHandler(c.host,"checkChange",function(K){u[0]._selectionChanged=true;if(!i){return}if(K.args.label!=I.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var J=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(J.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(K.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);u.jqxDropDownList({selectedIndex:0})}D._filterwidget=u;var o=u.jqxDropDownList("dropdownlistWrapper");if(D.filtertype=="list"){this.addHandler(u,"select",function(f){if(!I.refreshingfilter){if(f.args&&f.args.type!="none"){I._applyfilterfromfilterrow();I.focusedfilter=null}}})}else{this.addHandler(u,"close",function(f){if(u[0]._selectionChanged){I._applyfilterfromfilterrow();I.focusedfilter=null;u[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var x=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>');x.appendTo(d);x.jqxCheckBox({disabled:I.disabled,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});x.attr("tabindex",5+D.visibleindex);if(D.createfilterwidget){D.createfilterwidget(D,d,x)}if(A===true||A=="true"){x.jqxCheckBox({checked:true})}else{if(A===false||A=="false"){x.jqxCheckBox({checked:false})}}D._filterwidget=x;this.addHandler(x,"change",function(f){if(!I.refreshingfilter){if(f.args){I.focusedfilter=null;I._applyfilterfromfilterrow()}}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){var f=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var e={localdata:a.extend(true,{},this.source.records),datatype:this.source.datatype,async:false};var d=this;var f=new a.jqx.dataAdapter(e,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield],beforeLoadComplete:function(g){var l=new Array();if(b.cellsformat){var k=d._getcolumntypebydatafield(b);for(var h=0;h<g.length;h++){l.push(g[h]);var j=g[h][b.displayfield];g[h][b.displayfield+"JQValue"]=j;if(k==="date"){if(j!=null){g[h][b.displayfield]=f.formatDate(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}else{if(k==="number"||k==="float"||k==="int"){if(j!=null){g[h][b.displayfield]=f.formatNumber(j,b.cellsformat,d.gridlocalization)}else{g[h][b.displayfield]=""}}}}return l}else{return g}}})}if(b.filteritems&&b.filteritems.length>0){var e={localdata:b.filteritems,datatype:this.source.datatype,async:false};var f=new a.jqx.dataAdapter(e,{autoBind:false,async:false})}else{if(b.filteritems){if(b.filteritems._source){b.filteritems._options.autoBind=false;b.filteritems._options.async=false;return b.filteritems}else{if(a.isFunction(b.filteritems)){return b.filteritems()}}}}return f},refreshfilterrow:function(){if(!this.showfilterrow){return}this.refreshingfilter=true;this._updatefilterrowui();this._updatelistfilters(true,true);var h=this.that;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"input":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("stringfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":case"range":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;if(k!=undefined){if(c.filter.getfilterat(1)){var g=c.filter.getfilterat(1).filtervalue}else{g=k}if(c.filtertype=="range"){a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{a(f.children()[0]).jqxDateTimeInput("setDate",new Date(k))}}}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}this.refreshingfilter=false},_destroyedfilters:function(){var g=this.that;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"||c.filtertype=="range"){this.removeHandler(h,"valueChanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"||c.filtertype==="input"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(l,k){var v=this.that;var t=this.columns.records.length;for(var p=0;p<t;p++){var q=this.columns.records[p];if(q.filterable){if(q.filtertype=="list"||q.filtertype=="checkedlist"){var h=q._filterwidget;if(!l){if(q.filter==undefined){h.jqxDropDownList("renderSelection");continue}}else{var e=this._getfilterdataadapter(q);h.jqxDropDownList({source:e});var d=h.jqxDropDownList("getItems");var o=true;if(d.length!=e.records.length+1){o=false}if(o){for(var s=1;s<d.length;s++){if(d[s].label!=e.records[s-1][q.displayfield]){o=false;break}}}if(o&&!k){continue}}var m=q.filtertype=="checkedlist"?true:false;var d=h.jqxDropDownList("getItems");var b=h.jqxDropDownList("listBox");h.jqxDropDownList("dataBind");if(m){h.jqxDropDownList({selectionRenderer:function(){return v.gridlocalization.filterselectstring}});if(b.getItem(this.gridlocalization.filterselectallstring)==null){b.insertAt({label:this.gridlocalization.filterselectallstring},0)}var n=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");n.addClass(this.toThemeProperty("jqx-item"));h.jqxDropDownList("setContent",n);b.checkAll(false);if(q.filter){var g=q.filter.getfilters();for(var s=0;s<b.items.length;s++){var f=b.items[s].label;var r=undefined;a.each(g,function(){var i;if(this.condition=="NOT_EQUAL"){if(f==this.value){i=false}else{i=true}}else{if(this.condition=="EQUAL"){if(f==this.value){i=true}else{i=false}}}if(r==undefined&&i!==undefined){r=i}else{if(this.condition=="EQUAL"){r=r||i}else{r=r&&i}}});if(r){b.checkIndex(s,false,false)}else{b.uncheckIndex(s,false,false)}}b._updateCheckedItems();var u=b.getCheckedItems().length;if(b.items.length!=u&&u>0){b.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{if(b.getItem(this.gridlocalization.filterchoosestring)==null){if(b.items[0].label!==this.gridlocalization.filterchoosestring){b.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0)}}h.jqxDropDownList({selectedIndex:0});if(q.filter){var g=q.filter.getfilters();var c=-1;for(var s=0;s<b.items.length;s++){var f=b.items[s].label;a.each(g,function(){if(this.condition=="NOT_EQUAL"){return true}if(f==this.value){c=s;return false}})}if(c!=-1){b.selectIndex(c)}}}if(d.length<8){h.jqxDropDownList("autoDropDownHeight",true)}else{h.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this.that;if(this.filterable){if(!this.columns.records){return}a.each(this.columns.records,function(d,e){var c=false;if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show();c=true}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show();c=true}}this.element.removeAttribute("filter");if(c){this.element.setAttribute("filter",true)}if(this.align=="right"&&!this.renderer){if(this.element){if(!c){this.element.firstChild.firstChild.style.marginRight="2px"}else{this.element.firstChild.firstChild.style.marginRight="18px"}}}})}},_initcolumntypes:function(){if(this.columns&&this.columns.records){var b=this.source._source.datafields;if(b){for(var c=0;c<this.columns.records.length;c++){var d=this.columns.records[c];if(d.datatype){continue}var e="";a.each(b,function(){if(this.name==d.displayfield){if(this.type){e=this.type}return false}});if(e!=""){d.datatype=e}else{d.datatype=""}}}}},_getcolumntypebydatafield:function(f){var g=this.that;var e="string";var d=g.source.datafields||((g.source._source)?g.source._source.datafields:null);if(d){var i="";a.each(d,function(){if(this.name==f.displayfield){if(this.type){i=this.type}return false}});if(i){return i}}if(f!=null){if(this.dataview.cachedrecords==undefined){return e}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return e}b=this.dataview.cachedrecords[0][f.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[f.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){e="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){e="number"}else{var h=new Date(b);if(h.toString()=="NaN"||h.toString()=="Invalid Date"){if(a.jqx.dataFormat){h=a.jqx.dataFormat.tryparsedate(b);if(h!=null){if(h&&h.getFullYear()){if(h.getFullYear()==1970&&h.getMonth()==0&&h.getDate()==1){var c=new Number(b);if(!isNaN(c)){return"number"}return"string"}}return"date"}else{e="string"}}else{e="string"}}else{e="date"}}}}}return e},_getfiltersbytype:function(b){var c=this.that;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":case"range":c="datefilter";break;case"string":case"input":c="stringfilter";break}return c},_buildfilter:function(r,l,F){var f=a(l).find(".filter1");var G=a(l).find(".filter2");var K=a(l).find(".filter3");var k=a(l).find(".filtertext1"+r.element.id);var j=a(l).find(".filtertext2"+r.element.id);var A=k.val();var z=j.val();var M=r._getcolumntypebydatafield(F);var t=r._getfiltersbytype(M);var J=new a.jqx.filter();var w=r._getfiltertype(M);if(r.filtermode==="default"&&(F.filtertype!=="list"&&F.filtertype!=="checkedlist")){var E=f.jqxDropDownList("selectedIndex");var c=G.jqxDropDownList("selectedIndex");var D=K.jqxDropDownList("selectedIndex");var e=null;var d=null;if(r.updatefilterconditions){var p=r.updatefilterconditions(w,J.getoperatorsbyfiltertype(w));if(p!=undefined){J.setoperatorsbyfiltertype(w,p)}}var q=false;var L=J.getoperatorsbyfiltertype(w)[E];var K=J.getoperatorsbyfiltertype(w)[D];var v=L=="NULL"||L=="NOT_NULL";var h=L=="EMPTY"||L=="NOT_EMPTY";if(L==undefined){L=J.getoperatorsbyfiltertype(w)[0]}if(K==undefined){K=J.getoperatorsbyfiltertype(w)[0]}if(A.length>0||v||h){e=J.createfilter(w,A,L,null,F.cellsformat,r.gridlocalization);J.addfilter(c,e);q=true}var u=K=="NULL"||K=="NOT_NULL";var g=K=="EMPTY"||K=="NOT_EMPTY";if(z.length>0||u||g){d=J.createfilter(w,z,K,null,F.cellsformat,r.gridlocalization);J.addfilter(c,d);q=true}if(q){var C=F.displayfield;this.addfilter(C,J,true)}else{this._clearfilter(r,l,F)}}else{if(r.filtermode==="excel"||(F.filtertype==="list"||F.filtertype==="checkedlist")){var B=this;var n=false;var x=f.data().jqxListBox.instance;var I=this.filtermode==="excel"||F.filtertype==="checkedlist";var o=x.getCheckedItems();if(!I){var o=x.getSelectedItems()}if(o.length==0){for(var H=1;H<x.items.length;H++){var m=x.items[H].value;if(m===undefined){m=""}var b="not_equal";if(m&&m.indexOf){if(m.indexOf("|")>=0||m.indexOf(" AND ")>=0||m.indexOf(" OR ")>=0||m.indexOf(" and ")>=0||m.indexOf(" or ")>=0){m=m.replace("|","");m=m.replace("AND","");m=m.replace("OR","");m=m.replace("and","");m=m.replace("or","");var b="equal"}}if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}J.addfilter(0,y)}n=true}else{if(o.length!=x.items.length){n=true;for(var H=0;H<o.length;H++){if(r.gridlocalization.filterselectallstring===o[H].value){continue}var m=o[H].value;if(m===undefined){m=""}var b="equal";if(w=="datefilter"){var y=J.createfilter(w,m,b,null,F.cellsformat,r.gridlocalization)}else{var y=J.createfilter(w,m,b,null)}var s=1;J.addfilter(s,y)}}else{n=false}}if(n){var C=F.displayfield;this.addfilter(C,J,true)}else{var C=F.displayfield;this.removefilter(C,true)}}}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(this.showfilterrow){this.clearfilterrow(d)}if(c==true||c!==false){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0);this.loadondemand=true;this._renderrows(this.virtualsizeinfo)}if(this.pageable&&this.virtualmode){this.dataview.pagenum=0}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable&&!this.virtualmode){this.dataview.pagenum=g}}}this._cellscache=new Array();if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this.that;this.dataview.refresh();if(this.dataview.clearsortdata){if(this.sortcolumn&&this.sortdirection){var e=this.sortdirection.ascending?"asc":"desc";if(!this._loading){this.sortby(this.sortcolumn,e,null,false)}else{this.sortby(this.sortcolumn,e,null,false,false)}}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._postrender("filter");this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();if(this.columns&&this.columns.records&&this.columns.records.length>0&&!this.columns.records[0].filtericon){this.prerenderrequired=true}this.rendergridcontent(true,false);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}this._postrender("filter")}else{this.collapseallgroups();this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this._postrender("group")}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,datafield:c.datafield,displayfield:c.displayfield,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var d=this.that;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){var c=b==true||b!==false;a.each(this.columns.records,function(){d.removefilter(this.displayfield,!c)})}if(b===false){return}if(b==true||b!==false){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}var h=a(a.find("#filter1"+this.element.id+"ex"));var c=a(a.find("#filter2"+this.element.id+"ex"));var g=a(a.find("#filter3"+this.element.id+"ex"));if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g.length>0){g.jqxDropDownList("destroy")}},_updatefilterpanel:function(s,p,E){if(s==null||s==undefined){s=this}var Q=s._getcolumntypebydatafield(E);var u=s._getfiltersbytype(Q);if(!s.host.jqxDropDownList){throw new Error("jqxGrid: Missing reference to jqxdropdownlist.js.");return}s.filterpanel.detach();s.excelfilterpanel.detach();if(E.filterpanel){E.filterpanel.detach()}a(p).children().detach();var k=a(s.menuitemsarray[6]);a(k).css("height","190px");if(E.createfilterpanel&&!E.filterpanel){var K=a("<div class='filter' style='margin-left: 7px;'></div>");a(p).append(K);E.createfilterpanel(E.displayfield,K);E.filterpanel=K}if(E.filtertype==="list"||E.filtertype==="checkedlist"){a(p).append(s.excelfilterpanel)}else{if(E.filtertype!=="custom"){a(p).append(s.filterpanel)}else{if(E.filterpanel){a(p).append(E.filterpanel)}}}this._showwhere=a(p).find(".filter.showwhere");var g=a(p);var N=g.find("#filterclearbutton"+s.element.id);var l=g.find("#filterbutton"+s.element.id);var f=g.find(".filter1");var m=g.find(".filter2");var P=g.find(".filter3");var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id);if(this._hasdatefilter&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){var e=j.parent();var d=h.parent();if(E.filtertype=="date"){j.jqxDateTimeInput("destroy");h.jqxDateTimeInput("destroy");e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowdatestring);var b=a("<div class='filtertext1"+s.element.id+"' style=''></div>");e.append(b);var n=function(c){var i={calendar:s.gridlocalization,todayString:s.gridlocalization.todaystring,clearString:s.gridlocalization.clearstring};c.jqxDateTimeInput({disabled:s.disabled,firstDayOfWeek:s.gridlocalization.firstDay,localization:i,rtl:s.rtl,width:s._filterpanelwidth-10,height:24,value:null,formatString:E.cellsformat,theme:s.theme})};n(b);var b=a("<div class='filtertext2"+s.element.id+"' style=''></div>");d.append(b);n(b)}else{e.children().remove();d.children().remove();s._showwhere.text(s.gridlocalization.filtershowrowstring);var b=a("<input autocomplete='off' class='filtertext1"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");e.append(b);var n=function(c){c.addClass(s.toThemeProperty("jqx-input"));c.addClass(s.toThemeProperty("jqx-filter-input jqx-widget-content"));c.addClass(s.toThemeProperty("jqx-rc-all"));c.width(s._filterpanelwidth-18)};n(b);var b=a("<input autocomplete='off' class='filtertext2"+s.element.id+"' style='box-sizing: content-box; height: 16px; padding: 3px;' type='text'></input>");d.append(b);n(b)}var j=g.find(".filtertext1"+s.element.id);var h=g.find(".filtertext2"+s.element.id)}if(E.filtertype!="date"){j.val("");h.val("")}else{j.val(null);h.val(null)}this.removeHandler(l,"click");this.addHandler(l,"click",function(){s._buildfilter(s,p,E);s._closemenu()});this.removeHandler(N,"click");this.addHandler(N,"click",function(){s._clearfilter(s,p,E);s._closemenu()});this.removeHandler(l,"keydown");this.addHandler(l,"keydown",function(c){if(c.keyCode===13){s._buildfilter(s,p,E);s._closemenu()}});this.removeHandler(N,"keydown");this.addHandler(N,"keydown",function(c){if(c.keyCode===13){s._clearfilter(s,p,E);s._closemenu()}});this.removeHandler(j,"keydown");this.addHandler(j,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});this.removeHandler(h,"keydown");this.addHandler(h,"keydown",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(this.filtermode==="default"&&(E.filtertype!=="list"&&E.filtertype!=="checkedlist"&&E.filtertype!=="custom")){if(f.jqxDropDownList("source")!=u){f.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});P.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(Q=="boolean"||Q=="bool"){f.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});P.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var H=false;if(u&&u.length){if(u.length<5){H=true}}f.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2});P.jqxDropDownList({autoDropDownHeight:H,selectedIndex:2})}m.jqxDropDownList({selectedIndex:0});var z=E.filter;var M=new a.jqx.filter();var x="";switch(Q){case"number":case"int":case"float":case"decimal":x="numericfilter";o=M.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":x="booleanfilter";o=M.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":x="datefilter";o=M.getoperatorsbyfiltertype("datefilter");break;case"string":x="stringfilter";o=M.getoperatorsbyfiltertype("stringfilter");break}if(z!=null){var e=z.getfilterat(0);var d=z.getfilterat(1);var I=z.getoperatorat(0);if(s.updatefilterconditions){var o=[];var r=s.updatefilterconditions(x,o);if(r!=undefined){for(var O=0;O<r.length;O++){r[O]=r[O].toUpperCase()}z.setoperatorsbyfiltertype(x,r);o=r}}var w="default";if(e!=null){var D=o.indexOf(e.comparisonoperator);var A=e.filtervalue;j.val(A);f.jqxDropDownList({selectedIndex:D,animationType:w})}if(d!=null){var C=o.indexOf(d.comparisonoperator);var y=d.filtervalue;h.val(y);P.jqxDropDownList({selectedIndex:C,animationType:w})}if(z.getoperatorat(0)==undefined){m.jqxDropDownList({selectedIndex:0,animationType:w})}else{if(z.getoperatorat(0)=="and"||z.getoperatorat(0)==0){m.jqxDropDownList({selectedIndex:0})}else{m.jqxDropDownList({selectedIndex:1})}}}if(s.updatefilterpanel){s.updatefilterpanel(f,P,m,j,h,l,N,z,x,o)}if(!this._hasdatefilter||(this._hasdatefilter&&E.filtertype!="date")){if(!this.touchdevice){j.focus();setTimeout(function(){j.focus()},10)}}}else{if(this.filtermode==="excel"||E.filtertype==="list"||E.filtertype==="checkedlist"){var v=s._getfilterdataadapter(E);var x=s._getfiltertype(Q);var L=this.filtermode==="excel"||E.filtertype==="checkedlist";f.jqxListBox("focus");this.removeHandler(f,"keyup");this.addHandler(f,"keyup",function(c){if(c.keyCode===13){l.trigger("click")}if(c.keyCode===27){s._closemenu()}});if(E.cellsformat){f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield+"JQValue",source:v})}else{f.jqxListBox({checkboxes:L,displayMember:E.displayfield,valueMember:E.displayfield,source:v})}if(L){f.jqxListBox("insertAt",{label:s.gridlocalization.filterselectallstring},0);var F=f.data().jqxListBox.instance;F.checkAll(false);var B=this;if(E.filter){F.uncheckAll(false);var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.uncheckIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()!=this.value.toString()){F.uncheckIndex(J,false,false);return false}}}else{if(this.condition=="EQUAL"){if(G==this.value){F.checkIndex(J,false,false);return false}else{if(G!=null&&this.value!=null&&G.toString()==this.value.toString()){F.checkIndex(J,false,false);return false}}}}})}F._updateCheckedItems();var q=F.getCheckedItems().length;if(F.items.length!=q&&q>0){F.host.jqxListBox("indeterminateIndex",0,true,false)}if(q===F.items.length-1){F.host.jqxListBox("checkIndex",0,true,false)}}}else{if(E.filter){var F=f.data().jqxListBox.instance;F.clearSelection();var t=E.filter.getfilters();for(var J=0;J<F.items.length;J++){var G=F.items[J].value;a.each(t,function(){if(this.condition=="NOT_EQUAL"){if(G!=this.value){F.unselectIndex(J,false,false);return false}}else{if(this.condition=="EQUAL"){if(G==this.value){F.selectIndex(J,true,false);return false}}}})}F._renderItems()}}}}},_initfilterpanel:function(z,b,c,p,w){if(z==null||z==undefined){z=this}b[0].innerHTML="";var t=a("<div class='filter' style='position: absolute; bottom: 3px; margin-left: 3px;'></div>");b.append(t);var n=a("<div class='filter showwhere' style='height: 18px; margin-top: 3px; margin-bottom: 3px;'></div>");n.text(z.gridlocalization.filtershowrowstring);this._showwhere=n;var o=w?"ex":"";var v=a("<div class='filter filter1' id='filter1"+z.element.id+o+"'></div>");var h=a("<div class='filter filter2' id='filter2"+z.element.id+o+"' style='margin-top: 3px; margin-bottom: 3px;'></div>");var s=a("<div class='filter filter3' id='filter3"+z.element.id+o+"'></div>");var e=z._getcolumntypebydatafield(c);if(!v.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var q=z._getfiltersbytype(e);this._hasdatefilter=false;this._filterpanelwidth=p;if(this.columns&&this.columns.records){for(var u=0;u<this.columns.records.length;u++){if(this.columns.records[u].filtertype=="date"){this._hasdatefilter=true;break}}}else{if(this.columns&&!this.columns.records){for(var u=0;u<this.columns.length;u++){if(this.columns[u].filtertype=="date"){this._hasdatefilter=true;break}}}}this._hasdatefilter=true;var k=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext1"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var m=k.find("input");m.addClass(this.toThemeProperty("jqx-input"));m.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));m.addClass(this.toThemeProperty("jqx-rc-all"));m.width(p-18);var l=a("<div style='margin-top:3px;' class='filter'><input autocomplete='off' class='filtertext2"+z.element.id+"' style='padding: 3px; height: 17px; margin-top: 3px;' type='text'></input></div>");var j=l.find("input");j.addClass(this.toThemeProperty("jqx-input"));j.addClass(this.toThemeProperty("jqx-filter-input jqx-widget-content"));j.addClass(this.toThemeProperty("jqx-rc-all"));j.width(p-18);if(z.rtl){m.css("direction","rtl");j.css("direction","rtl")}var g=a("<div class='filter' style='height: 25px; text-align:center; margin-top: 12px; margin-left:-2px;'></div>");var f=a('<span tabIndex=0 id="filterbutton'+z.element.id+'" class="filterbutton" style="padding: 4px 12px;">'+z.gridlocalization.filterstring+"</span>");g.append(f);var x=a('<span tabIndex=0 id="filterclearbutton'+z.element.id+'" class="filterclearbutton" style="position: relative; left: 2px; padding: 4px 12px; margin-left: 7px;">'+z.gridlocalization.filterclearstring+"</span>");g.append(x);f.jqxButton({height:20,theme:z.theme});x.jqxButton({height:20,theme:z.theme});var y=function(A){if(A){if(A.text().indexOf("case sensitive")!=-1){var i=A.text();i=i.replace("case sensitive","match case");A.text(i)}A.css("font-family",z.host.css("font-family"));A.css("font-size",z.host.css("font-size"));A.css("top","2px");A.css("position","relative");return A}return""};if(this.filtermode==="default"&&!w){t.append(n);t.append(v);v.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(k);var r=new Array();r[0]=z.gridlocalization.filterandconditionstring;r[1]=z.gridlocalization.filterorconditionstring;h.jqxDropDownList({_checkForHiddenParent:false,rtl:z.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:24,source:r,selectionRenderer:y,theme:z.theme});t.append(h);s.jqxDropDownList({_checkForHiddenParent:false,autoItemsHeight:true,rtl:z.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:p-10,height:24,dropDownHeight:150,dropDownWidth:p-10,selectionRenderer:y,source:q,theme:z.theme});t.append(s);t.append(l)}else{if(this.filtermode==="excel"||w){t.append(n);t.append(v);v.attr("tabindex",0);v.jqxListBox({rtl:z.rtl,_checkForHiddenParent:false,checkboxes:true,selectedIndex:2,width:p-10,height:130,theme:z.theme});var d=true;z.addHandler(v,"checkChange",function(B){if(!d){return}if(B.args.label!=z.gridlocalization.filterselectallstring){d=false;v.jqxListBox("checkIndex",0,true,false);var i=v.jqxListBox("getCheckedItems");var A=v.jqxListBox("getItems");if(i.length==1){v.jqxListBox("uncheckIndex",0,true,false)}else{if(A.length!=i.length){v.jqxListBox("indeterminateIndex",0,true,false)}}d=true}else{d=false;if(B.args.checked){v.jqxListBox("checkAll",false)}else{v.jqxListBox("uncheckAll",false)}d=true}})}}t.append(g);if(z.updatefilterpanel){z.updatefilterpanel(v,s,h,k,l,f,x,null,null,q)}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.grouping.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.grouping.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.dataview.grouping=function(){this.loadgrouprecords=function(B,E,p,C,F,e,O,D,v){var J=B;var h=this;var N=new Array();for(var l=0;l<h.groups.length;l++){N[l]=h.generatekey()}var H=new Array();var b=0;var N=N;var y=new Array();var M=E;var d=E;var z=h.groups.length;this.loadedrecords=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this.sortedgroups=new Array();var L=this.sortdata!=null;var P=L?this.sortdata:this.records;if(this.pageable){var s=new Array();var A=0;if(!P[E]){a.each(P,function(i,q){s[E+i++]=this});P=s}}if(this.virtualmode){var s=new Array();var A=0;for(var M=0;M<p-E;M++){if(P[M]){s[E+A++]=P[M]}else{if(P[E+A]){s[E+A]=P[E+A];A++}}}M=0;P=s}for(var c=E;c<p;c++){var w={};if(!L){w=a.extend({},P[c])}else{w=a.extend({},P[c].value)}id=w[h.uniqueId];if(F>=D||id!=O[F][h.uniqueId]||(e&&e[id])){v[v.length]=F}var I=new Array();var u=0;for(var l=0;l<z;l++){var r=h.groups[l];var G=w[r];if(G==null){G=""}I[u++]={value:G,hash:N[l]}}if(I.length!=z){break}var j=null;var k="";var f=-1;for(var K=0;K<I.length;K++){f++;var n=I[K].value;var t=I[K].hash;k=k+"_"+t+"_"+n;if(y[k]!=undefined&&y[k]!=null){j=y[k];continue}if(j==null){j={group:n,subItems:new Array(),subGroups:new Array(),level:0};H[b++]=j;j.uniqueid=h.generatekey();h.loadedgroupsByKey[n]=j}else{var m={group:n,subItems:new Array(),subGroups:new Array(),parentItem:j,level:j.level+1};h.loadedgroupsByKey[j.uniqueid+"_"+n]=m;m.uniqueid=h.generatekey();j.subGroups[j.subGroups.length++]=m;j=m}y[k]=j}if(j!=null){if(undefined==w.uid){w.uid=this.getid(this.source.id,w,M)}if(!L){w.boundindex=M;this.recordsbyid["id"+w.uid]=P[c]}else{w.boundindex=P[c].index;this.recordsbyid["id"+w.uid]=P[c].value}this.bounditems[w.boundindex]=w;this.sortedgroups[M]=w;w.uniqueid=h.generatekey();w.parentItem=j;w.level=j.level+1;j.subItems[j.subItems.length++]=w}else{if(undefined==w.uid){w.uid=this.getid(this.source.id,w,M)}if(!L){w.boundindex=M;this.recordsbyid["id"+w.uid]=P[c]}else{w.boundindex=P[c].index;this.recordsbyid["id"+w.uid]=P[c].value}this.sortedgroups[M]=w;this.bounditems[w.boundindex]=w;w.uniqueid=h.generatekey()}F++;M++;d++}var g=function(q,Q,R){for(var i=0;i<Q.subItems.length;i++){Q.subItems[i].visibleindex=B+R;q.rows[R]=Q.subItems[i];q.loadedrecords[R]=Q.subItems[i];R++}return R};var o=function(X,V,R){var U=1;var Q=X.grid.columns.records?X.grid.columns.records:X.grid.columns;if(X.aggregates==true){for(var S=0;S<Q.length;S++){if(Q[S].aggregates){U=Math.max(U,Q[S].aggregates.length)}}}var q=function(Z){if(X.aggregates==true){var Y=function(ac){var aa=Z;var ae={};var af=function(ah){for(var ag=0;ag<Q.length;ag++){if(Q[ag].aggregates){var an=X.grid.getcolumnaggregateddata(Q[ag].datafield,Q[ag].aggregates,true,ah);for(var ak=0;ak<Q[ag].aggregates.length;ak++){if(Q[ag].aggregates[ac]){var al=Q[ag];var aj=Q[ag].aggregates[ac];var ai=aj;ai=X.grid._getaggregatename(ai);var am=ai+":"+an[aj];if(an[aj]){ae[al.datafield]=am}else{ae[al.datafield]=ai+":"+an[ai]}}}}}};if(aa!=null){ae.level=aa.level;ae.visibleindex=B+R;ae.uniqueid=X.generatekey();X.rows[R]=ae;X.loadedrecords[R++]=ae;ae.totalsrow=true;if(Z.subItems.length>0){aa=Z.subItems[Z.subItems.length-1];ae.parentItem=aa.parentItem;if(ae.parentItem.subItems){ae.parentItem.subItems[ae.parentItem.subItems.length]=ae}var ab=[];var ad=function(){for(var ag=0;ag<Z.subItems.length;ag++){if(Z.subItems[ag].totalsrow){continue}ab[ab.length]=Z.subItems[ag]}};ad(Z);af(ab)}else{if(Z.subGroups.length>0){aa=Z.subGroups[Z.subGroups.length-1];ae.level=aa.level;ae.parentItem=Z;Z.subGroups[Z.subGroups.length]=ae;var ab=[];var ad=function(ah){if(ah.totalsrow){return}for(var ag=0;ag<ah.subItems.length;ag++){if(ah.subItems[ag].totalsrow){continue}ab[ab.length]=ah.subItems[ag]}for(var ag=0;ag<ah.subGroups.length;ag++){ad(ah.subGroups[ag])}};ad(Z);af(ab)}}}};for(var i=0;i<U;i++){Y(i)}}};for(var T in V.subGroups){var W=V.subGroups[T];if(W.subGroups){X.loadedgroups[X.loadedgroups.length]=W;W.visibleindex=B+R;X.rows[R]=W;X.loadedrecords[R]=W;R++;if(W.subGroups.length>0){R=o(X,W,R)}else{if(W.subItems.length>0){R=g(X,W,R)}}}}if(V.subItems.length>0){R=g(X,V,R)}q(V);return R};var x=H.length;this.loadedgroups=new Array();this.rows=new Array();var J=0;for(var M=0;M<x;M++){var r=H[M];this.loadedrootgroups[M]=r;this.loadedgroups[this.loadedgroups.length]=r;r.visibleindex=B+J;this.rows[J]=r;this.loadedrecords[J]=r;J++;J=o(this,r,J)}return J};this._updategroupsinpage=function(C,r,K,d,u,j,f){var p=new Array();var w=[];if(this.groupable&&this.groups.length>0){var B=0;var h=new Array();var g=new Array();for(var m=0;m<C.groups.length;m++){g[m]=C.generatekey()}var F=0;var o=new Array();var k=0;if(f>this.totalrecords){f=this.totalrecords}for(var v=j;v<f;v++){var H=a.extend({},C.sortedgroups[v]);id=H[C.uniqueId];if(!C.pagesize||(K>=C.pagesize*C.pagenum&&K<C.pagesize*(C.pagenum+1))){if(d>=u||id!=p[d][C.uniqueId]||(updated&&updated[id])){w[w.length]=d}var e=new Array();var y=0;for(var m=0;m<C.groups.length;m++){var n=C.groups[m];var D=H[n];if(null==D){D=""}e[y++]={value:D,hash:g[m]}}if(e.length!=C.groups.length){break}var z=null;var s="";var c=-1;for(var A=0;A<e.length;A++){c++;var G=e[A].value;var l=e[A].hash;s=s+"_"+l+"_"+G;if(h[s]!=undefined&&h[s]!=null){z=h[s];continue}if(z==null){z={group:G,subItems:new Array(),subGroups:new Array(),level:0};o[k++]=z;var E=C.loadedgroupsByKey[G];if(E!=undefined){z.visibleindex=E.visibleindex;z.uniqueid=E.uniqueid}}else{var t={group:G,subItems:new Array(),subGroups:new Array(),parentItem:z,level:z.level+1};var E=C.loadedgroupsByKey[z.uniqueid+"_"+G];t.visibleindex=E.visibleindex;t.uniqueid=E.uniqueid;z.subGroups[z.subGroups.length++]=t;z=t}h[s]=z}if(z!=null){H.parentItem=z;H.level=z.level+1;z.subItems[z.subItems.length++]=H}d++}F++;K++}var x=function(L,M,q){for(var i=0;i<M.subItems.length;i++){p[q]=a.extend({},M.subItems[i]);q++}return q};var I=function(N){var q=false;for(var M in N.subGroups){var L=N.subGroups[M];if(L.subGroups){if(L.subGroups.length>0){var i=I(L);if(i){q=true;return true}}if(L.subItems.length>0){q=true;return true}}}if(N.subItems.length>0){q=true;return true}return q};var b=function(R,P,S){var O=1;var L=R.grid.columns.records?R.grid.columns.records:R.grid.columns;if(R.aggregates==true){for(var M=0;M<L.length;M++){if(L[M].aggregates){O=Math.max(O,L[M].aggregates.length)}}}var q=function(U){if(R.aggregates==true){var T=function(X){var V=U;var Z={};var aa=function(ac){for(var ab=0;ab<L.length;ab++){if(L[ab].aggregates){var ai=R.grid.getcolumnaggregateddata(L[ab].datafield,L[ab].aggregates,true,ac);for(var af=0;af<L[ab].aggregates.length;af++){if(L[ab].aggregates[X]){var ag=L[ab];var ae=L[ab].aggregates[X];var ad=ae;ad=R.grid._getaggregatename(ad);var ah=ad+":"+ai[ae];Z[ag.datafield]=ah}}}}};if(V!=null){Z.level=V.level;Z.visibleindex=S;Z.uniqueid=R.generatekey();p[S]=Z;R.loadedrecords[S++]=Z;Z.totalsrow=true;if(U.subItems.length>0){V=U.subItems[U.subItems.length-1];Z.parentItem=V.parentItem;if(Z.parentItem.subItems){Z.parentItem.subItems[Z.parentItem.subItems.length]=Z}var W=[];var Y=function(){for(var ab=0;ab<U.subItems.length;ab++){if(U.subItems[ab].totalsrow){continue}W[W.length]=U.subItems[ab]}};Y(U);aa(W)}else{if(U.subGroups.length>0){V=U.subGroups[U.subGroups.length-1];Z.level=V.level;Z.parentItem=U;U.subGroups[U.subGroups.length]=Z;var W=[];var Y=function(ac){if(ac.totalsrow){return}for(var ab=0;ab<ac.subItems.length;ab++){if(ac.subItems[ab].totalsrow){continue}W[W.length]=ac.subItems[ab]}for(var ab=0;ab<ac.subGroups.length;ab++){Y(ac.subGroups[ab])}};Y(U);aa(W)}}}};for(var i=0;i<O;i++){T(i)}}};for(var N in P.subGroups){var Q=P.subGroups[N];if(Q.subGroups){if(I(Q)){p[S]=Q;S++;if(Q.subGroups.length>0){S=b(R,Q,S)}else{if(Q.subItems.length>0){S=x(R,Q,S)}}q(Q)}}}if(P.subItems.length>0){S=x(R,P,S)}q(P);return S};var J=0;for(var F=0;F<o.length;F++){var n=o[F];if(I(n)){p[B]=n;B++;B=b(this,n,B)}}}return p}};a.extend(a.jqx._jqxGrid.prototype,{_initgroupsheader:function(){this.groupsheader.css("visibility","hidden");if(this._groupsheader()){this.groupsheader.css("visibility","inherit");var e=this;var c=this.gridlocalization.groupsheaderstring;this.groupsheaderdiv=this.groupsheaderdiv||a('<div style="width: 100%; position: relative;"></div>');this.groupsheaderdiv.height(this.groupsheaderheight);this.groupsheaderdiv.css("top",0);this.groupsheader.append(this.groupsheaderdiv);this.groupheadersbounds=new Array();var d=this.groups.length;this.groupsheaderdiv.children().remove();this.groupsheaderdiv[0].innerHTML="";var b=new Array();if(d>0){a.each(this.groups,function(i){var n=this;var m=e._getColumnText(this);var l=m.label;var k=e._rendergroupcolumn(l,n);k.addClass(e.toThemeProperty("jqx-grid-group-column"));e.groupsheaderdiv.append(k);if(e.closeablegroups){var j=a(k.find(".jqx-icon-close"));if(e.isTouchDevice()&&e.touchmode!==true){e.addHandler(j,"touchstart",function(){e.removegroupat(i);return false})}else{e.addHandler(j,"click",function(){e.removegroupat(i);return false})}}if(e.sortable){e.addHandler(k,"click",function(){var o=e.getcolumn(n);if(o!=null){e._togglesort(o)}return false})}b[b.length]=k;e._handlegroupstocolumnsdragdrop(this,k);if(i<d-1){var g=k.height();var h=a('<div style="float: left; position: relative;"></div>');if(e.rtl){h.css("float","right")}h.width(e.groupindentwidth/3);h.height(1);h.css("top",g/2);h.addClass(e.toThemeProperty("jqx-grid-group-column-line"));e.groupsheaderdiv.append(h)}})}else{var f=a('<div style="position: relative;">'+c+"</div>");this.groupsheaderdiv.append(f);if(this.rtl){f.addClass(this.toThemeProperty("jqx-rtl"))}}this._groupheaders=b;this._updategroupheadersbounds()}},_updategroupheadersbounds:function(){var c=this;var b=this.groupsheaderdiv.children().outerHeight();var d=(this.groupsheader.height()-b)/2;this.groupsheaderdiv.css("top",d);if(!this.rtl){this.groupsheaderdiv.css("left",d);this.groupsheaderdiv.css("right","")}else{this.groupsheaderdiv.css("left","");this.groupsheaderdiv.css("right",d)}if(this.rtl){this._groupheaders.reverse()}a.each(this._groupheaders,function(f){var e=this.coord();c.groupheadersbounds[f]={left:e.left,top:e.top,width:this.outerWidth(),height:this.outerHeight(),index:f}})},addgroup:function(c){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups[b.groups.length]=c;b.refreshgroups();this._raiseEvent(12,{type:"Add",index:b.groups[b.groups.length],groups:b.groups})}},insertgroup:function(d,c){if(d!=undefined&&d!=null&&d>=0&&d<=this.groups.length){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(d,0,c.toString());b.refreshgroups();this._raiseEvent(12,{type:"Insert",index:d,groups:b.groups})}}},refreshgroups:function(){this._refreshdataview();this._render(true,true,true,false);this._postrender("group")},_insertaftergroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b+1,c)},_insertbeforegroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b,c)},removegroupat:function(c){if(c>=0&&c!=null&&c!=undefined){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(c,1);b.refreshgroups();if(b.virtualmode){b.updatebounddata()}this._raiseEvent(12,{type:"Remove",index:c,groups:b.groups});return true}return false},cleargroups:function(){var b=this;b.groups=[];b.dataview.groups=b.groups;b.refreshgroups();this._raiseEvent(12,{type:"Clear",index:-1,groups:b.groups});return true},removegroup:function(c){if(c==null){return false}var b=this.groups.indexOf(c.toString());return this.removegroupat(b)},getrootgroupscount:function(){var b=this.dataview.loadedrootgroups.length;return b},collapsegroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,false)}var b=c.toString().split(".");var f=null;if(!this.groupsVisibility){this.groupsVisibility=new Array()}for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this.groupsVisibility[f.group]=null}else{var e=f.subGroups[c];if(e){f=e;if(d==b.length-1){this._setgroupstate(f,false,true);this.groupsVisibility[f.group]=null}}}}},expandgroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,true)}var b=c.toString().split(".");var f=null;for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this._setrootgroupstate(c,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}else{var e=f.subGroups[c];if(e){f=e;this._setgroupstate(f,true,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}}}},collapseallgroups:function(b){this._setbatchgroupstate(false,b)},expandallgroups:function(b){this._setbatchgroupstate(true,b)},isgroupexpanded:function(c){var d=this.dataview.loadedrootgroups[c];if(d==null){return null}var b=this.expandedgroups[d.uniqueid].expanded;return b},getgroup:function(e){var j=this.dataview.loadedrootgroups[e];if(j==null){return null}var f=this.expandedgroups[j.uniqueid].expanded;var g=j.group;var b=j.level;var c=new Array();this._getsubgroups(c,j);var i=this;var d={group:g,level:b,expanded:f,subgroups:c};if(j.subItems){var h=new Array();a.each(j.subItems,function(){var k=this.boundindex;h[h.length]=i.getrowdata(k)});if(h.length>0){d.subrows=h}}return d},getrootgroups:function(){var d=this.dataview.loadedrootgroups.length;var c=new Array();for(var b=0;b<d;b++){c[b]=this.getgroup(b)}return c},_getsubgroups:function(c,k){var j=this;for(var e in k.subGroups){var i=k.subGroups[e];var f=j.expandedgroups[i.uniqueid].expanded;var g=i.group;var b=i.level;c[c.length]={group:g,level:b,expanded:f};if(i.subItems){var h=new Array();a.each(i.subItems,function(){var l=this.boundindex;h[h.length]=j.getrowdata(l)});c[c.length-1].subrows=h}if(i.subGroups){var d=new Array();j._getsubgroups(d,i)}}return c},_setbatchgroupstate:function(b,e){var c=this;for(obj in this.dataview.loadedrootgroups){c._setrootgroupstate(obj,b,false,true)}if(e==false){c._requiresupdate=true;c._renderrows(c.virtualsizeinfo);return true}var d=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(d!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_setrootgroupstate:function(d,b,f,c){if(d==undefined||d==null||d<0){return false}if(!this.groupable||this.groups.length==0){return false}var j=f!=undefined?f:true;if(d>=0&&d<this.dataview.loadedrootgroups.length){var h=this.dataview.loadedrootgroups[d];if(this.pageable){var g=new Array();for(var e=0;e<this.dataview.rows.length;e++){if(this.dataview.rows[e].group!=null&&this.dataview.rows[e].level===0){g.push(this.dataview.rows[e])}}h=g[d];if(!h){return}}return this._setgroupstate(h,b,j,c)}return false},_togglegroupstate:function(e,f){if(e==null||e==undefined){return false}var c=this.vScrollInstance.value;var d=this.expandedgroups[e.uniqueid];if(d==undefined){d=false}else{d=d.expanded}d=!d;if(!this.groupsVisibility){this.groupsVisibility=new Array()}if(d){this.groupsVisibility[e.group]=e}else{this.groupsVisibility[e.group]=null}var b=this._setgroupstate(e,d,f);this._newmax=null;if(c!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(c<=this.vScrollInstance.max){this.vScrollInstance.setPosition(c)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return b},_setgroupstate:function(f,b,h,c){if(f==null||f==undefined){return false}var e=false;if(this.editable&&this.editcell){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}var d=this.expandedgroups[f.uniqueid];if(d==undefined){d={expanded:false};e=true}if(d.expanded!=b){e=true}if(e){this.expandedgroups[f.uniqueid]={expanded:b,group:f};this._setsubgroupsvisibility(this,f,!b,c);if(h){var g=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(g!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(undefined==this.suspendgroupevents||this.suspendgroupevents==false){if(b){this._raiseEvent(4,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}else{this._raiseEvent(5,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}}return true}return false},_setgroupitemsvisibility:function(c,e,d){for(var b=0;b<e.subItems.length;b++){c._setrowvisibility(e.subItems[b].visibleindex,d,false)}},_setsubgroupsvisibility:function(c,h,f,d){if(h.parentItem!=null){if(this.hiddens[h.parentItem.visibleindex]){return}}else{if(h.parentItem==null){if(this.hiddens[h.visibleindex]){return}}}for(var g in h.subGroups){var e=h.subGroups[g];if(!f){c._setrowvisibility(e.visibleindex,f,false)}var b=!f;if(!d){if(c.expandedgroups[e.uniqueid]==undefined){b=false}else{b=c.expandedgroups[e.uniqueid].expanded}}else{this.expandedgroups[e.uniqueid]={expanded:b,group:e}}if(e.subGroups){if(e.subGroups.length>0){c._setsubgroupsvisibility(c,e,!b||f,d)}else{if(e.subItems.length>0){c._setgroupitemsvisibility(c,e,!b||f)}}}if(f){c._setrowvisibility(e.visibleindex,f,false)}}if(h.subItems&&h.subItems.length>0){c._setgroupitemsvisibility(c,h,f)}},_handlecolumnsdragdrop:function(){var d=this;var g=-1;var c=false;if(!d.groupable){return}var f="mousemove.grouping"+this.element.id;var e="mousedown.grouping"+this.element.id;var h="mouseup.grouping"+this.element.id;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;f=a.jqx.mobile.getTouchEventName("touchmove")+".grouping"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchstart")+".grouping"+this.element.id;h=a.jqx.mobile.getTouchEventName("touchend")+".grouping"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(j){if(!d.showgroupsheader){return true}if(d.dragcolumn!=null){var l=parseInt(j.pageX);var u=parseInt(j.pageY);if(b){var r=d.getTouches(j);var p=r[0];l=parseInt(p.pageX);u=parseInt(p.pageY)}var n=d.host.coord();var v=parseInt(n.left);var w=parseInt(n.top);if(d.dragmousedownoffset==undefined||d.dragmousedownoffset==null){d.dragmousedownoffset={left:0,top:0}}var t=parseInt(l)-parseInt(d.dragmousedownoffset.left);var i=parseInt(u)-parseInt(d.dragmousedownoffset.top);d.dragcolumn.css({left:t+"px",top:i+"px"});c=false;if(l>=v&&l<=v+d.host.width()){if(u>=w&&u<=w+d.host.height()){c=true}}g=-1;if(c){d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-dragcancel-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-drag-icon"));var s=d.groupsheader.coord();var m=s.top+d.groupsheader.height();var q=a.data(d.dragcolumn[0],"datarecord");if(q){var k=d.groups.indexOf(q.toString())}else{var k=-1}var o=(k==-1)||(d.groups.length>1&&k>-1);if(d.dropline!=null){if(u>=s.top&&u<=m){if(o){g=d._handlegroupdroplines(l)}}else{d.dropline.fadeOut("slow")}}}else{if(d.dropline!=null){d.dropline.fadeOut("slow")}d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-drag-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-dragcancel-icon"))}if(b){j.preventDefault();j.stopPropagation();return false}}});this.removeHandler(a(document),h);this.addHandler(a(document),h,function(i){if(!d.showgroupsheader){return true}d.__drag=false;a(document.body).removeClass("jqx-disableselect");var m=parseInt(i.pageX);var s=parseInt(i.pageY);if(b){var p=d.getTouches(i);var o=p[0];m=parseInt(o.pageX);s=parseInt(o.pageY)}var n=d.host.coord();var t=parseInt(n.left);var u=parseInt(n.top);var k=d.groupsheader.height();if(d.showtoolbar){u+=d.toolbarheight}d.dragstarted=false;d.dragmousedown=null;if(d.dragcolumn!=null){var l=a.data(d.dragcolumn[0],"datarecord");d.dragcolumn.remove();d.dragcolumn=null;if(l!=null){if(!d.getcolumn(l).groupable){if(d.dropline!=null){d.dropline.remove();d.dropline=null}return}if(c){if(g!=-1){var q=g.index;var r=d.groups[q];var j=d._getGroupIndexByDataField(l);if(j!=q){if(j!=undefined&&j>=0){d.groups.splice(j,1)}if(g.position=="before"){if(!d.rtl){d._insertbeforegroup(r,l)}else{d._insertaftergroup(r,l)}}else{if(!d.rtl){d._insertaftergroup(r,l)}else{d._insertbeforegroup(r,l)}}}}else{if(d.groups.length==0){if(s>u&&s<=u+k){d.addgroup(l)}}else{if(s>u+k){var j=d._getGroupIndexByDataField(l);d.removegroupat(j)}}}}if(d.dropline!=null){d.dropline.remove();d.dropline=null}}}})},_getGroupIndexByDataField:function(b){for(var c=0;c<this.groups.length;c++){if(this.groups[c]==b){return c}}return -1},_isColumnInGroups:function(c){for(var b=0;b<this.groups.length;b++){if(this.groups[b]==c){return true}}return false},_handlegroupdroplines:function(d){var b=this;var c=-1;a.each(b.groupheadersbounds,function(e){if(d<=this.left+this.width/2){var f=this.left-3;if(e>0){f=this.left-1-b.groupindentwidth/6}b.dropline.css("left",f);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"before"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"before"}}return false}else{if(d>=this.left+this.width/2){b.dropline.css("left",1+this.left+this.width);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"after"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"after"}}}}});return c},_handlegroupstocolumnsdragdrop:function(c,e){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var f=this;var d;var h="mousedown";var g="mousemove";var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;h=a.jqx.mobile.getTouchEventName("touchstart");g=a.jqx.mobile.getTouchEventName("touchmove")}this.addHandler(e,"dragstart",function(i){return false});this.addHandler(e,h,function(i){if(!f.showgroupsheader){return true}var l=i.pageX;var k=i.pageY;f.__drag=true;f.dragmousedown={left:l,top:k};if(b){var j=f.getTouches(i);var n=j[0];l=n.pageX;k=n.pageY;f.dragmousedown={left:l,top:k};if(i.preventDefault){i.preventDefault()}}var m=a(i.target).coord();f.dragmousedownoffset={left:parseInt(l)-parseInt(m.left),top:parseInt(k-m.top)}});this.addHandler(e,g,function(i){if(!f.showgroupsheader){return true}if(f.dragmousedown){d={left:i.pageX,top:i.pageY};if(b){var k=f.getTouches(i);var m=k[0];d={left:m.pageX,top:m.pageY}}if(!f.dragstarted&&f.dragcolumn==null){var j=Math.abs(d.left-f.dragmousedown.left);var l=Math.abs(d.top-f.dragmousedown.top);if(j>3||l>3){f._createdragcolumn(e,d,true);a(document.body).addClass("jqx-disableselect");a.data(f.dragcolumn[0],"datarecord",c);if(i.preventDefault){i.preventDefault()}}}}})},_createdragcolumn:function(c,e,g){var h=this;var f=e;h.dragcolumn=a("<div></div>");var j=c.clone();h.dragcolumn.css("z-index",999999);j.css("border-width","1px");j.css("opacity","0.4");var i=a(j.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(i.length>0){i.css("display","none")}var b=a(j.find(".jqx-icon-close"));if(b.length>0){b.css("display","none")}h.dragcolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.dragcolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.dragcolumn.css("float","left");h.dragcolumn.css("position","absolute");var d=h.host.coord();j.width(c.width()+16);h.dragcolumn.append(j);h.dragcolumn.height(c.height());h.dragcolumn.width(j.width());h.dragcolumn.append(h.dragcolumnicon);a(document.body).append(h.dragcolumn);j.css("margin-left",0);j.css("left",0);j.css("top",0);h.dragcolumn.css("left",f.left+h.dragmousedown.left);h.dragcolumn.css("top",f.top+h.dragmousedown.top);if(g!=undefined&&g){h.dropline=a('<div style="display: none; position: absolute;"></div>');h.dropline.width(2);h.dropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));a(document.body).append(h.dropline)}},iscolumngroupable:function(b){return this._getcolumnproperty(b,"groupable")},_handlecolumnstogroupsdragdrop:function(c,f){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var g=this;var e;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true}var d="mousedown.drag";var e="mousemove.drag";if(b){d=a.jqx.mobile.getTouchEventName("touchstart")+".drag";e=a.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(f,"dragstart",function(h){return false})}this.addHandler(f,d,function(j){if(!g.showgroupsheader){return true}g.__drag=true;if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(false==c.groupable){return true}var i=j.pageX;var h=j.pageY;if(b){var k=g.getTouches(j);var m=k[0];i=m.pageX;h=m.pageY}g.dragmousedown={left:i,top:h};if(b){if(j.preventDefault){j.preventDefault()}}var l=a(j.target).coord();g.dragmousedownoffset={left:parseInt(i)-parseInt(l.left),top:parseInt(h-l.top)}});this.addHandler(f,e,function(j){if(!g.showgroupsheader){return true}if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(g.dragmousedown){var i=j.pageX;var h=j.pageY;if(b){var l=g.getTouches(j);var n=l[0];i=n.pageX;h=n.pageY}e={left:i,top:h};if(!g.dragstarted&&g.dragcolumn==null){var k=Math.abs(e.left-g.dragmousedown.left);var m=Math.abs(e.top-g.dragmousedown.top);if(k>3||m>3){g._createdragcolumn(f,e,true);a.data(g.dragcolumn[0],"datarecord",c.displayfield);if(j.preventDefault){j.preventDefault()}}}}})},_rendergroupcolumn:function(g,h){var e=a('<div style="float: left; position: relative;"></div>');if(this.rtl){e.css("float","right")}if(this.groupcolumnrenderer!=null){e[0].innerHTML=this.groupcolumnrenderer(g);e.addClass(this.toThemeProperty("jqx-grid-group-column"));e.addClass(this.toThemeProperty("jqx-fill-state-normal"))}if(this.closeablegroups){if(e[0].innerHTML==""){e[0].innerHTML='<a style="float: left;" href="#">'+g+"</a>"}if(this.rtl){e[0].innerHTML='<a style="float: right;" href="#">'+g+"</a>"}var d=!this.rtl?"right":"left";var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}if(this.rtl){var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}}e[0].innerHTML+=c}else{if(e[0].innerHTML==""){e[0].innerHTML='<a href="#">'+g+"</a>"}}if(this.sortable){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}if(this.rtl){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}}f.css("display","none");b.css("display","none");if(a.jqx.browser.msie&&a.jqx.browser.version<8){f.css("float","left");b.css("float","left")}e.append(f);e.append(b);a.data(document.body,"groupsortelements"+h,{sortasc:f,sortdesc:b})}e.addClass(this.toThemeProperty("jqx-fill-state-normal"));e.addClass(this.toThemeProperty("jqx-grid-group-column"));return e},_rendergroup:function(p,x,b,v,k,B,u){var H=x;var c=x.cells[b.level];if(this.rtl){c=x.cells[x.cells.length-1-b.level]}var F=this._findgroupstate(b.uniqueid);if(b.bounddata.subGroups.length>0||b.bounddata.subItems.length>0){var i=this.rtl?"-rtl":"";var C=this.toThemeProperty("jqx-icon-arrow-right");if(i){C=this.toThemeProperty("jqx-icon-arrow-left")}if(F){c.className+=" "+this.toThemeProperty("jqx-grid-group-expand"+i)+" "+this.toThemeProperty("jqx-icon-arrow-down")}else{c.className+=" "+this.toThemeProperty("jqx-grid-group-collapse"+i)+" "+C}}var t=this._getColumnText(this.groups[b.level]).label;var d=this.groupindentwidth;var r=this.rowdetails&&this.showrowdetailscolumn?(1+p)*d:(p)*d;var y=u-r;var g=b.level+1;if(this.rtl){g=0}var n=H.cells[g];var A=2;while(n!=undefined&&n.style.display=="none"&&A<H.cells.length-1){n=H.cells[g+A-1];A++}var f=a(n);if(!n){return}n.style.width=parseInt(y)+"px";if(n.className.indexOf("jqx-grid-cell-filter")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-filter"))}if(n.className.indexOf("jqx-grid-cell-sort")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-sort"))}if(n.className.indexOf("jqx-grid-cell-pinned")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-pinned"))}if(this.groupsrenderer!=null){var h={group:b.group,level:b.level,parent:b.bounddata.parentItem,subGroups:b.bounddata.subGroups,subItems:b.bounddata.subItems,groupcolumn:this._getColumnText(this.groups[b.level]).column};var q=this.groupsrenderer(t+": "+b.group,b.group,F,h);if(q){n.innerHTML=q}else{var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+b.group+" ("+l+")</span></div>"}}else{var e=this._getcolumnbydatafield(this.groups[b.level]);var z=b.group;if(e!=null){if(e.cellsformat){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(z)){z=a.jqx.dataFormat.formatdate(z,e.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(z)){z=a.jqx.dataFormat.formatnumber(z,e.cellsformat,this.gridlocalization)}}}}var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+z+" ("+l+")</span></div>"}else{throw new Error("jqxGrid: Unable to find '"+this.groups[b.level]+"' group in the Grid's columns collection.")}}if(this.rtl){if(!e){e=this._getcolumnbydatafield(this.groups[b.level])}var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max-this.hScrollInstance.value;var D=this.vScrollBar.css("visibility")=="hidden"?0:this.scrollbarsize+6;var r=this.rowdetails&&this.showrowdetailscolumn?(2+b.level)*d:(1+b.level)*d;n.style.width=u+parseInt(s)-r-D+"px";f.addClass(this.toThemeProperty("jqx-rtl"));var w=a(x.cells[x.cells.length-1]).css("z-index");f.css("z-index",w);var E=f.find("div");var y=E.width();E.css("left","100%");var o=this.columns.records[x.cells.length-2-b.level]!=null?this.columns.records[x.cells.length-2-b.level].pinned:false;if(this.table.width()<u){u=this.table.width();if(this.vScrollBar.css("visibility")!="hidden"){u+=this.vScrollBar.outerWidth()}}if(e.pinned||o){if(this.rowdetails&&this.showrowdetailscolumn){u+=30}E.css("margin-left",-y);n.style.width=u+s-r-D+"px"}else{var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max;n.style.width=u+s-r-D+"px";var y=E.width();E.css("margin-left",-y)}}}})})(jqxBaseFramework);
+(function(a){a.jqx.dataview.grouping=function(){this.loadgrouprecords=function(B,E,p,C,G,e,P,D,v){var K=B;var h=this;var O=new Array();for(var l=0;l<h.groups.length;l++){O[l]=h.generatekey()}var I=new Array();var b=0;var O=O;var y=new Array();var N=E;var d=E;var z=h.groups.length;this.loadedrecords=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this.sortedgroups=new Array();var M=this.sortdata!=null;var Q=M?this.sortdata:this.records;if(this.pageable){var s=new Array();var A=0;if(!Q[E]){a.each(Q,function(i,q){s[E+i++]=this});Q=s}}if(this.virtualmode){var s=new Array();var A=0;for(var N=0;N<p-E;N++){if(Q[N]){s[E+A++]=Q[N]}else{if(Q[E+A]){s[E+A]=Q[E+A];A++}}}N=0;Q=s}for(var c=E;c<p;c++){var w={};if(!M){w=a.extend({},Q[c])}else{w=a.extend({},Q[c].value)}var F=w[h.uniqueId];if(G>=D||F!=P[G][h.uniqueId]||(e&&e[F])){v[v.length]=G}var J=new Array();var u=0;for(var l=0;l<z;l++){var r=h.groups[l];var H=w[r];if(H==null){H=""}J[u++]={value:H,hash:O[l]}}if(J.length!=z){break}var j=null;var k="";var f=-1;for(var L=0;L<J.length;L++){f++;var n=J[L].value;var t=J[L].hash;k=k+"_"+t+"_"+n;if(y[k]!=undefined&&y[k]!=null){j=y[k];continue}if(j==null){j={group:n,subItems:new Array(),subGroups:new Array(),level:0};I[b++]=j;j.uniqueid=h.generatekey();h.loadedgroupsByKey[n]=j}else{var m={group:n,subItems:new Array(),subGroups:new Array(),parentItem:j,level:j.level+1};h.loadedgroupsByKey[j.uniqueid+"_"+n]=m;m.uniqueid=h.generatekey();j.subGroups[j.subGroups.length++]=m;j=m}y[k]=j}if(j!=null){if(undefined==w.uid){w.uid=this.getid(this.source.id,w,N)}if(!M){w.boundindex=N;this.recordsbyid["id"+w.uid]=Q[c]}else{w.boundindex=Q[c].index;this.recordsbyid["id"+w.uid]=Q[c].value}this.bounditems[w.boundindex]=w;this.sortedgroups[N]=w;w.uniqueid=h.generatekey();w.parentItem=j;w.level=j.level+1;j.subItems[j.subItems.length++]=w}else{if(undefined==w.uid){w.uid=this.getid(this.source.id,w,N)}if(!M){w.boundindex=N;this.recordsbyid["id"+w.uid]=Q[c]}else{w.boundindex=Q[c].index;this.recordsbyid["id"+w.uid]=Q[c].value}this.sortedgroups[N]=w;this.bounditems[w.boundindex]=w;w.uniqueid=h.generatekey()}G++;N++;d++}var g=function(q,R,S){for(var i=0;i<R.subItems.length;i++){R.subItems[i].visibleindex=B+S;q.rows[S]=R.subItems[i];q.loadedrecords[S]=R.subItems[i];S++}return S};var o=function(Y,W,S){var V=1;var R=Y.grid.columns.records?Y.grid.columns.records:Y.grid.columns;if(Y.aggregates==true){for(var T=0;T<R.length;T++){if(R[T].aggregates){V=Math.max(V,R[T].aggregates.length)}}}var q=function(aa){if(Y.aggregates==true){var Z=function(ad){var ab=aa;var af={};var ag=function(ai){for(var ah=0;ah<R.length;ah++){if(R[ah].aggregates){var ao=Y.grid.getcolumnaggregateddata(R[ah].datafield,R[ah].aggregates,true,ai);for(var al=0;al<R[ah].aggregates.length;al++){if(R[ah].aggregates[ad]){var am=R[ah];var ak=R[ah].aggregates[ad];var aj=ak;aj=Y.grid._getaggregatename(aj);var an=aj+":"+ao[ak];if(ao[ak]){af[am.datafield]=an}else{af[am.datafield]=aj+":"+ao[aj]}}}}}};if(ab!=null){af.level=ab.level;af.visibleindex=B+S;af.uniqueid=Y.generatekey();Y.rows[S]=af;Y.loadedrecords[S++]=af;af.totalsrow=true;if(aa.subItems.length>0){ab=aa.subItems[aa.subItems.length-1];af.parentItem=ab.parentItem;if(af.parentItem.subItems){af.parentItem.subItems[af.parentItem.subItems.length]=af}var ac=[];var ae=function(){for(var ah=0;ah<aa.subItems.length;ah++){if(aa.subItems[ah].totalsrow){continue}ac[ac.length]=aa.subItems[ah]}};ae(aa);ag(ac)}else{if(aa.subGroups.length>0){ab=aa.subGroups[aa.subGroups.length-1];af.level=ab.level;af.parentItem=aa;aa.subGroups[aa.subGroups.length]=af;var ac=[];var ae=function(ai){if(ai.totalsrow){return}for(var ah=0;ah<ai.subItems.length;ah++){if(ai.subItems[ah].totalsrow){continue}ac[ac.length]=ai.subItems[ah]}for(var ah=0;ah<ai.subGroups.length;ah++){ae(ai.subGroups[ah])}};ae(aa);ag(ac)}}}};for(var i=0;i<V;i++){Z(i)}}};for(var U in W.subGroups){var X=W.subGroups[U];if(X.subGroups){Y.loadedgroups[Y.loadedgroups.length]=X;X.visibleindex=B+S;Y.rows[S]=X;Y.loadedrecords[S]=X;S++;if(X.subGroups.length>0){S=o(Y,X,S)}else{if(X.subItems.length>0){S=g(Y,X,S)}}}}if(W.subItems.length>0){S=g(Y,W,S)}q(W);return S};var x=I.length;this.loadedgroups=new Array();this.rows=new Array();var K=0;for(var N=0;N<x;N++){var r=I[N];this.loadedrootgroups[N]=r;this.loadedgroups[this.loadedgroups.length]=r;r.visibleindex=B+K;this.rows[K]=r;this.loadedrecords[K]=r;K++;K=o(this,r,K)}return K};this._updategroupsinpage=function(C,r,L,d,u,j,f){var p=new Array();var w=[];if(this.groupable&&this.groups.length>0){var B=0;var h=new Array();var g=new Array();for(var m=0;m<C.groups.length;m++){g[m]=C.generatekey()}var G=0;var o=new Array();var k=0;if(f>this.totalrecords){f=this.totalrecords}for(var v=j;v<f;v++){var I=a.extend({},C.sortedgroups[v]);var D=I[C.uniqueId];if(!C.pagesize||(L>=C.pagesize*C.pagenum&&L<C.pagesize*(C.pagenum+1))){if(d>=u||D!=p[d][C.uniqueId]||(updated&&updated[D])){w[w.length]=d}var e=new Array();var y=0;for(var m=0;m<C.groups.length;m++){var n=C.groups[m];var E=I[n];if(null==E){E=""}e[y++]={value:E,hash:g[m]}}if(e.length!=C.groups.length){break}var z=null;var s="";var c=-1;for(var A=0;A<e.length;A++){c++;var H=e[A].value;var l=e[A].hash;s=s+"_"+l+"_"+H;if(h[s]!=undefined&&h[s]!=null){z=h[s];continue}if(z==null){z={group:H,subItems:new Array(),subGroups:new Array(),level:0};o[k++]=z;var F=C.loadedgroupsByKey[H];if(F!=undefined){z.visibleindex=F.visibleindex;z.uniqueid=F.uniqueid}}else{var t={group:H,subItems:new Array(),subGroups:new Array(),parentItem:z,level:z.level+1};var F=C.loadedgroupsByKey[z.uniqueid+"_"+H];t.visibleindex=F.visibleindex;t.uniqueid=F.uniqueid;z.subGroups[z.subGroups.length++]=t;z=t}h[s]=z}if(z!=null){I.parentItem=z;I.level=z.level+1;z.subItems[z.subItems.length++]=I}d++}G++;L++}var x=function(M,N,q){for(var i=0;i<N.subItems.length;i++){p[q]=a.extend({},N.subItems[i]);q++}return q};var J=function(O){var q=false;for(var N in O.subGroups){var M=O.subGroups[N];if(M.subGroups){if(M.subGroups.length>0){var i=J(M);if(i){q=true;return true}}if(M.subItems.length>0){q=true;return true}}}if(O.subItems.length>0){q=true;return true}return q};var b=function(S,Q,T){var P=1;var M=S.grid.columns.records?S.grid.columns.records:S.grid.columns;if(S.aggregates==true){for(var N=0;N<M.length;N++){if(M[N].aggregates){P=Math.max(P,M[N].aggregates.length)}}}var q=function(V){if(S.aggregates==true){var U=function(Y){var W=V;var aa={};var ab=function(ad){for(var ac=0;ac<M.length;ac++){if(M[ac].aggregates){var aj=S.grid.getcolumnaggregateddata(M[ac].datafield,M[ac].aggregates,true,ad);for(var ag=0;ag<M[ac].aggregates.length;ag++){if(M[ac].aggregates[Y]){var ah=M[ac];var af=M[ac].aggregates[Y];var ae=af;ae=S.grid._getaggregatename(ae);var ai=ae+":"+aj[af];aa[ah.datafield]=ai}}}}};if(W!=null){aa.level=W.level;aa.visibleindex=T;aa.uniqueid=S.generatekey();p[T]=aa;S.loadedrecords[T++]=aa;aa.totalsrow=true;if(V.subItems.length>0){W=V.subItems[V.subItems.length-1];aa.parentItem=W.parentItem;if(aa.parentItem.subItems){aa.parentItem.subItems[aa.parentItem.subItems.length]=aa}var X=[];var Z=function(){for(var ac=0;ac<V.subItems.length;ac++){if(V.subItems[ac].totalsrow){continue}X[X.length]=V.subItems[ac]}};Z(V);ab(X)}else{if(V.subGroups.length>0){W=V.subGroups[V.subGroups.length-1];aa.level=W.level;aa.parentItem=V;V.subGroups[V.subGroups.length]=aa;var X=[];var Z=function(ad){if(ad.totalsrow){return}for(var ac=0;ac<ad.subItems.length;ac++){if(ad.subItems[ac].totalsrow){continue}X[X.length]=ad.subItems[ac]}for(var ac=0;ac<ad.subGroups.length;ac++){Z(ad.subGroups[ac])}};Z(V);ab(X)}}}};for(var i=0;i<P;i++){U(i)}}};for(var O in Q.subGroups){var R=Q.subGroups[O];if(R.subGroups){if(J(R)){p[T]=R;T++;if(R.subGroups.length>0){T=b(S,R,T)}else{if(R.subItems.length>0){T=x(S,R,T)}}}}}if(Q.subItems.length>0){T=x(S,Q,T)}q(Q);return T};var K=0;for(var G=0;G<o.length;G++){var n=o[G];if(J(n)){p[B]=n;B++;B=b(this,n,B)}}}return p}};a.extend(a.jqx._jqxGrid.prototype,{_initgroupsheader:function(){this.groupsheader.css("visibility","hidden");if(this._groupsheader()){this.groupsheader.css("visibility","inherit");var e=this;var c=this.gridlocalization.groupsheaderstring;this.groupsheaderdiv=this.groupsheaderdiv||a('<div style="width: 100%; position: relative;"></div>');this.groupsheaderdiv.height(this.groupsheaderheight);this.groupsheaderdiv.css("top",0);this.groupsheader.append(this.groupsheaderdiv);this.groupheadersbounds=new Array();var d=this.groups.length;this.groupsheaderdiv.children().remove();this.groupsheaderdiv[0].innerHTML="";var b=new Array();if(d>0){a.each(this.groups,function(i){var n=this;var m=e._getColumnText(this);var l=m.label;var k=e._rendergroupcolumn(l,n);k.addClass(e.toThemeProperty("jqx-grid-group-column"));e.groupsheaderdiv.append(k);if(e.closeablegroups){var j=a(k.find(".jqx-icon-close"));if(e.isTouchDevice()&&e.touchmode!==true){e.addHandler(j,"touchstart",function(){e.removegroupat(i);return false})}else{e.addHandler(j,"click",function(){e.removegroupat(i);return false})}}if(e.sortable){e.addHandler(k,"click",function(){var o=e.getcolumn(n);if(o!=null){e._togglesort(o)}return false})}b[b.length]=k;e._handlegroupstocolumnsdragdrop(this,k);if(i<d-1){var g=k.height();var h=a('<div style="float: left; position: relative;"></div>');if(e.rtl){h.css("float","right")}h.width(e.groupindentwidth/3);h.height(1);h.css("top",g/2);h.addClass(e.toThemeProperty("jqx-grid-group-column-line"));e.groupsheaderdiv.append(h)}})}else{var f=a('<div style="position: relative;">'+c+"</div>");this.groupsheaderdiv.append(f);if(this.rtl){f.addClass(this.toThemeProperty("jqx-rtl"))}}this._groupheaders=b;this._updategroupheadersbounds()}},_updategroupheadersbounds:function(){var c=this;var b=this.groupsheaderdiv.children().outerHeight();var d=(this.groupsheader.height()-b)/2;this.groupsheaderdiv.css("top",d);if(!this.rtl){this.groupsheaderdiv.css("left",d);this.groupsheaderdiv.css("right","")}else{this.groupsheaderdiv.css("left","");this.groupsheaderdiv.css("right",d)}if(this.rtl){this._groupheaders.reverse()}a.each(this._groupheaders,function(f){var e=this.coord();c.groupheadersbounds[f]={left:e.left,top:e.top,width:this.outerWidth(),height:this.outerHeight(),index:f}})},addgroup:function(c){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups[b.groups.length]=c;b.refreshgroups();this._raiseEvent(12,{type:"Add",index:b.groups[b.groups.length],groups:b.groups})}},insertgroup:function(d,c){if(d!=undefined&&d!=null&&d>=0&&d<=this.groups.length){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(d,0,c.toString());b.refreshgroups();this._raiseEvent(12,{type:"Insert",index:d,groups:b.groups})}}},refreshgroups:function(){this._refreshdataview();this._render(true,true,true,false);this._postrender("group")},_insertaftergroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b+1,c)},_insertbeforegroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b,c)},removegroupat:function(c){if(c>=0&&c!=null&&c!=undefined){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(c,1);b.refreshgroups();if(b.virtualmode){b.updatebounddata()}this._raiseEvent(12,{type:"Remove",index:c,groups:b.groups});return true}return false},cleargroups:function(){var b=this;b.groups=[];b.dataview.groups=b.groups;b.refreshgroups();this._raiseEvent(12,{type:"Clear",index:-1,groups:b.groups});return true},removegroup:function(c){if(c==null){return false}var b=this.groups.indexOf(c.toString());return this.removegroupat(b)},getrootgroupscount:function(){var b=this.dataview.loadedrootgroups.length;return b},collapsegroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,false)}var b=c.toString().split(".");var f=null;if(!this.groupsVisibility){this.groupsVisibility=new Array()}for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this.groupsVisibility[f.group]=null}else{var e=f.subGroups[c];if(e){f=e;if(d==b.length-1){this._setgroupstate(f,false,true);this.groupsVisibility[f.group]=null}}}}},expandgroup:function(c){if(c>=0&&c.toString().indexOf(".")===-1){return this._setrootgroupstate(c,true)}var b=c.toString().split(".");var f=null;for(var d=0;d<b.length;d++){var c=parseInt(b[d]);if(d==0){var f=this.dataview.loadedrootgroups[c];this._setrootgroupstate(c,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}else{var e=f.subGroups[c];if(e){f=e;this._setgroupstate(f,true,true);if(!this.groupsVisibility){this.groupsVisibility=new Array()}this.groupsVisibility[f.group]=f}}}},collapseallgroups:function(b){this._setbatchgroupstate(false,b)},expandallgroups:function(b){this._setbatchgroupstate(true,b)},isgroupexpanded:function(c){var d=this.dataview.loadedrootgroups[c];if(d==null){return null}var b=this.expandedgroups[d.uniqueid].expanded;return b},jsonParser:function(){var k="~",l="\\x"+("0"+k.charCodeAt(0).toString(16)).slice(-2),o="\\"+l,d=new RegExp(l,"g"),m=new RegExp(o,"g"),g=new RegExp("(?:^|([^\\\\]))"+o),n=[].indexOf||function(s){for(var t=this.length;t--&&this[t]!==s;){}return t},f=String;function c(y,t,C){var D=false,B=!!t,E=[],z=[y],s=[y],x=[C?k:"[Circular]"],A=y,w=1,u,v;if(B){v=typeof t==="object"?function(F,G){return F!==""&&n.call(t,F)<0?void 0:G}:t}return function(F,G){if(B){G=v.call(this,F,G)}if(D){if(A!==this){u=w-n.call(z,this)-1;w-=u;z.splice(w,z.length);E.splice(w-1,E.length);A=this}if(typeof G==="object"&&G){if(n.call(z,G)<0){z.push(A=G)}w=z.length;u=n.call(s,G);if(u<0){u=s.push(G)-1;if(C){E.push((""+F).replace(d,l));x[u]=k+E.join(k)}else{x[u]=x[0]}}else{G=x[u]}}else{if(typeof G==="string"&&C){G=G.replace(l,o).replace(k,l)}}}else{D=true}return G}}function q(v,u){for(var s=0,t=u.length;s<t;v=v[u[s++].replace(m,k)]){}return v}function b(s){return function(u,v){var t=typeof v==="string";if(t&&v.charAt(0)===k){return new f(v.slice(1))}if(u===""){v=h(v,v,{})}if(t){v=v.replace(g,"$1"+k).replace(o,l)}return s?s.call(this,u,v):v}}function j(s,w,v){for(var t=0,u=w.length;t<u;t++){w[t]=h(s,w[t],v)}return w}function r(s,v,u){for(var t in v){if(v.hasOwnProperty(t)){v[t]=h(s,v[t],u)}}return v}function h(s,u,t){return u instanceof Array?j(s,u,t):(u instanceof f?(u.length?(t.hasOwnProperty(u)?t[u]:t[u]=q(s,u.split(k))):s):(u instanceof Object?r(s,u,t):u))}var p={stringify:function i(v,t,u,s){return p.parser.stringify(v,c(v,t,!s),u)},parse:function e(t,s){return p.parser.parse(t,b(s))},parser:JSON};return p},getgroup:function(e){var k=this.dataview.loadedrootgroups[e];if(k==null){return null}var f=this.expandedgroups[k.uniqueid].expanded;var g=k.group;var b=k.level;var c=new Array();this._getsubgroups(c,k);var j=this;var d={group:g,level:b,expanded:f,subgroups:c};if(k.subItems){var h=new Array();a.each(k.subItems,function(){var l=this.boundindex;h[h.length]=j.getrowdata(l)});if(h.length>0){d.subrows=h}}var i=this.jsonParser().stringify(k);i=i.replace(/subItems/ig,"subrows");i=i.replace(/subGroups/ig,"subgroups");d=this.jsonParser().parse(i);return d},getrootgroups:function(){var d=this.dataview.loadedrootgroups.length;var c=new Array();for(var b=0;b<d;b++){c[b]=this.getgroup(b)}return c},_getsubgroups:function(c,k){var j=this;for(var e in k.subGroups){var i=k.subGroups[e];var f=j.expandedgroups[i.uniqueid].expanded;var g=i.group;var b=i.level;c[c.length]={group:g,level:b,expanded:f};if(i.subItems){var h=new Array();a.each(i.subItems,function(){var l=this.boundindex;h[h.length]=j.getrowdata(l)});c[c.length-1].subrows=h}if(i.subGroups){var d=new Array();j._getsubgroups(d,i)}}return c},_setbatchgroupstate:function(b,f){var c=this;for(var d in this.dataview.loadedrootgroups){c._setrootgroupstate(d,b,false,true)}if(f==false){c._requiresupdate=true;c._renderrows(c.virtualsizeinfo);return true}var e=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(e!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_setrootgroupstate:function(d,b,f,c){if(d==undefined||d==null||d<0){return false}if(!this.groupable||this.groups.length==0){return false}var j=f!=undefined?f:true;if(d>=0&&d<this.dataview.loadedrootgroups.length){var h=this.dataview.loadedrootgroups[d];if(this.pageable){var g=new Array();for(var e=0;e<this.dataview.rows.length;e++){if(this.dataview.rows[e].group!=null&&this.dataview.rows[e].level===0){g.push(this.dataview.rows[e])}}h=g[d];if(!h){return}}return this._setgroupstate(h,b,j,c)}return false},_togglegroupstate:function(e,f){if(e==null||e==undefined){return false}var c=this.vScrollInstance.value;var d=this.expandedgroups[e.uniqueid];if(d==undefined){d=false}else{d=d.expanded}d=!d;if(!this.groupsVisibility){this.groupsVisibility=new Array()}if(d){this.groupsVisibility[e.group]=e}else{this.groupsVisibility[e.group]=null}var b=this._setgroupstate(e,d,f);this._newmax=null;if(c!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(c<=this.vScrollInstance.max){this.vScrollInstance.setPosition(c)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return b},_setgroupstate:function(f,b,h,c){if(f==null||f==undefined){return false}var e=false;if(this.editable&&this.editcell){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}var d=this.expandedgroups[f.uniqueid];if(d==undefined){d={expanded:false};e=true}if(d.expanded!=b){e=true}if(e){this.expandedgroups[f.uniqueid]={expanded:b,group:f};this._setsubgroupsvisibility(this,f,!b,c);if(h){var g=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(g!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(undefined==this.suspendgroupevents||this.suspendgroupevents==false){if(b){this._raiseEvent(4,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}else{this._raiseEvent(5,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}}return true}return false},_setgroupitemsvisibility:function(c,e,d){for(var b=0;b<e.subItems.length;b++){c._setrowvisibility(e.subItems[b].visibleindex,d,false)}},_setsubgroupsvisibility:function(c,h,f,d){if(h.parentItem!=null){if(this.hiddens[h.parentItem.visibleindex]){return}}else{if(h.parentItem==null){if(this.hiddens[h.visibleindex]){return}}}for(var g in h.subGroups){var e=h.subGroups[g];if(!f){c._setrowvisibility(e.visibleindex,f,false)}var b=!f;if(!d){if(c.expandedgroups[e.uniqueid]==undefined){b=false}else{b=c.expandedgroups[e.uniqueid].expanded}}else{this.expandedgroups[e.uniqueid]={expanded:b,group:e}}if(e.subGroups){if(e.subGroups.length>0){c._setsubgroupsvisibility(c,e,!b||f,d)}else{if(e.subItems.length>0){c._setgroupitemsvisibility(c,e,!b||f)}}}if(f){c._setrowvisibility(e.visibleindex,f,false)}}if(h.subItems&&h.subItems.length>0){c._setgroupitemsvisibility(c,h,f)}},_handlecolumnsdragdrop:function(){var d=this;var g=-1;var c=false;if(!d.groupable){return}var f="mousemove.grouping"+this.element.id;var e="mousedown.grouping"+this.element.id;var h="mouseup.grouping"+this.element.id;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;f=a.jqx.mobile.getTouchEventName("touchmove")+".grouping"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchstart")+".grouping"+this.element.id;h=a.jqx.mobile.getTouchEventName("touchend")+".grouping"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(j){if(!d.showgroupsheader){return true}if(d.dragcolumn!=null){var l=parseInt(j.pageX);var u=parseInt(j.pageY);if(b){var r=d.getTouches(j);var p=r[0];l=parseInt(p.pageX);u=parseInt(p.pageY)}var n=d.host.coord();var v=parseInt(n.left);var w=parseInt(n.top);if(d.dragmousedownoffset==undefined||d.dragmousedownoffset==null){d.dragmousedownoffset={left:0,top:0}}var t=parseInt(l)-parseInt(d.dragmousedownoffset.left);var i=parseInt(u)-parseInt(d.dragmousedownoffset.top);d.dragcolumn.css({left:t+"px",top:i+"px"});c=false;if(l>=v&&l<=v+d.host.width()){if(u>=w&&u<=w+d.host.height()){c=true}}g=-1;if(c){d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-dragcancel-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-drag-icon"));var s=d.groupsheader.coord();var m=s.top+d.groupsheader.height();var q=a.data(d.dragcolumn[0],"datarecord");if(q){var k=d.groups.indexOf(q.toString())}else{var k=-1}var o=(k==-1)||(d.groups.length>1&&k>-1);if(d.dropline!=null){if(u>=s.top&&u<=m){if(o){g=d._handlegroupdroplines(l)}}else{d.dropline.fadeOut("slow")}}}else{if(d.dropline!=null){d.dropline.fadeOut("slow")}d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-drag-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-dragcancel-icon"))}if(b){j.preventDefault();j.stopPropagation();return false}}},{passive:false});this.removeHandler(a(document),h);this.addHandler(a(document),h,function(i){if(!d.showgroupsheader){return true}d.__drag=false;a(document.body).removeClass("jqx-disableselect");var m=parseInt(i.pageX);var s=parseInt(i.pageY);if(b){var p=d.getTouches(i);var o=p[0];m=parseInt(o.pageX);s=parseInt(o.pageY)}var n=d.host.coord();var t=parseInt(n.left);var u=parseInt(n.top);var k=d.groupsheader.height();if(d.showtoolbar){u+=d.toolbarheight}d.dragstarted=false;d.dragmousedown=null;if(d.dragcolumn!=null){var l=a.data(d.dragcolumn[0],"datarecord");d.dragcolumn.remove();d.dragcolumn=null;if(l!=null){if(!d.getcolumn(l).groupable){if(d.dropline!=null){d.dropline.remove();d.dropline=null}return}if(c){if(g!=-1){var q=g.index;var r=d.groups[q];var j=d._getGroupIndexByDataField(l);if(j!=q){if(j!=undefined&&j>=0){d.groups.splice(j,1)}if(g.position=="before"){if(!d.rtl){d._insertbeforegroup(r,l)}else{d._insertaftergroup(r,l)}}else{if(!d.rtl){d._insertaftergroup(r,l)}else{d._insertbeforegroup(r,l)}}}}else{if(d.groups.length==0){if(s>u&&s<=u+k){d.addgroup(l)}}else{if(s>u+k){var j=d._getGroupIndexByDataField(l);d.removegroupat(j)}}}}if(d.dropline!=null){d.dropline.remove();d.dropline=null}}}})},_getGroupIndexByDataField:function(b){for(var c=0;c<this.groups.length;c++){if(this.groups[c]==b){return c}}return -1},_isColumnInGroups:function(c){for(var b=0;b<this.groups.length;b++){if(this.groups[b]==c){return true}}return false},_handlegroupdroplines:function(d){var b=this;var c=-1;a.each(b.groupheadersbounds,function(e){if(d<=this.left+this.width/2){var f=this.left-3;if(e>0){f=this.left-1-b.groupindentwidth/6}b.dropline.css("left",f);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"before"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"before"}}return false}else{if(d>=this.left+this.width/2){b.dropline.css("left",1+this.left+this.width);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"after"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"after"}}}}});return c},_handlegroupstocolumnsdragdrop:function(c,e){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var f=this;var d;var h="mousedown";var g="mousemove";var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true;h=a.jqx.mobile.getTouchEventName("touchstart");g=a.jqx.mobile.getTouchEventName("touchmove")}this.addHandler(e,"dragstart",function(i){return false});this.addHandler(e,h,function(i){if(!f.showgroupsheader){return true}var l=i.pageX;var k=i.pageY;f.__drag=true;f.dragmousedown={left:l,top:k};if(b){var j=f.getTouches(i);var n=j[0];l=n.pageX;k=n.pageY;f.dragmousedown={left:l,top:k};if(i.preventDefault){i.preventDefault()}}var m=a(i.target).coord();f.dragmousedownoffset={left:parseInt(l)-parseInt(m.left),top:parseInt(k-m.top)}});this.addHandler(e,g,function(i){if(!f.showgroupsheader){return true}if(f.dragmousedown){d={left:i.pageX,top:i.pageY};if(b){var k=f.getTouches(i);var m=k[0];d={left:m.pageX,top:m.pageY}}if(!f.dragstarted&&f.dragcolumn==null){var j=Math.abs(d.left-f.dragmousedown.left);var l=Math.abs(d.top-f.dragmousedown.top);if(j>3||l>3){f._createdragcolumn(e,d,true);a(document.body).addClass("jqx-disableselect");a.data(f.dragcolumn[0],"datarecord",c);if(i.preventDefault){i.preventDefault()}}}}},{passive:false})},_createdragcolumn:function(c,e,g){var h=this;var f=e;h.dragcolumn=a("<div></div>");var j=c.clone();h.dragcolumn.css("z-index",999999);j.css("border-width","1px");j.css("opacity","0.4");var i=a(j.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(i.length>0){i.css("display","none")}var b=a(j.find(".jqx-icon-close"));if(b.length>0){b.css("display","none")}h.dragcolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.dragcolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.dragcolumn.css("float","left");h.dragcolumn.css("position","absolute");var d=h.host.coord();j.width(c.width()+16);h.dragcolumn.append(j);h.dragcolumn.height(c.height());h.dragcolumn.width(j.width());h.dragcolumn.append(h.dragcolumnicon);a(document.body).append(h.dragcolumn);j.css("margin-left",0);j.css("left",0);j.css("top",0);h.dragcolumn.css("left",f.left+h.dragmousedown.left);h.dragcolumn.css("top",f.top+h.dragmousedown.top);if(g!=undefined&&g){h.dropline=a('<div style="display: none; position: absolute;"></div>');h.dropline.width(2);h.dropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));a(document.body).append(h.dropline)}},iscolumngroupable:function(b){return this._getcolumnproperty(b,"groupable")},_handlecolumnstogroupsdragdrop:function(c,f){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var g=this;var e;var b=false;if(this.isTouchDevice()&&this.touchmode!==true){b=true}var d="mousedown.drag";var e="mousemove.drag";if(b){d=a.jqx.mobile.getTouchEventName("touchstart")+".drag";e=a.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(f,"dragstart",function(h){return false})}this.addHandler(f,d,function(j){if(!g.showgroupsheader){return true}g.__drag=true;if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(false==c.groupable){return true}var i=j.pageX;var h=j.pageY;if(b){var k=g.getTouches(j);var m=k[0];i=m.pageX;h=m.pageY}g.dragmousedown={left:i,top:h};if(b){if(j.preventDefault){j.preventDefault()}}var l=a(j.target).coord();g.dragmousedownoffset={left:parseInt(i)-parseInt(l.left),top:parseInt(h-l.top)}});this.addHandler(f,e,function(j){if(!g.showgroupsheader){return true}if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(g.dragmousedown){var i=j.pageX;var h=j.pageY;if(b){var l=g.getTouches(j);var n=l[0];i=n.pageX;h=n.pageY}e={left:i,top:h};if(!g.dragstarted&&g.dragcolumn==null){var k=Math.abs(e.left-g.dragmousedown.left);var m=Math.abs(e.top-g.dragmousedown.top);if(k>3||m>3){g._createdragcolumn(f,e,true);a.data(g.dragcolumn[0],"datarecord",c.displayfield);if(j.preventDefault){j.preventDefault()}}}}})},_rendergroupcolumn:function(g,h){var e=a('<div style="float: left; position: relative;"></div>');if(this.rtl){e.css("float","right")}if(this.groupcolumnrenderer!=null){e[0].innerHTML=this.groupcolumnrenderer(g);e.addClass(this.toThemeProperty("jqx-grid-group-column"));e.addClass(this.toThemeProperty("jqx-fill-state-normal"))}if(this.closeablegroups){if(e[0].innerHTML==""){e[0].innerHTML='<a style="float: left;" href="#">'+g+"</a>"}if(this.rtl){e[0].innerHTML='<a style="float: right;" href="#">'+g+"</a>"}var d=!this.rtl?"right":"left";var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}if(this.rtl){var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-icon-close")+'"></div></div>'}}e[0].innerHTML+=c}else{if(e[0].innerHTML==""){e[0].innerHTML='<a href="#">'+g+"</a>"}}if(this.sortable){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}if(this.rtl){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}}f.css("display","none");b.css("display","none");if(a.jqx.browser.msie&&a.jqx.browser.version<8){f.css("float","left");b.css("float","left")}e.append(f);e.append(b);a.data(document.body,"groupsortelements"+h,{sortasc:f,sortdesc:b})}e.addClass(this.toThemeProperty("jqx-fill-state-normal"));e.addClass(this.toThemeProperty("jqx-grid-group-column"));return e},_rendergroup:function(p,x,b,v,k,B,u){var H=x;var c=x.cells[b.level];if(this.rtl){c=x.cells[x.cells.length-1-b.level]}var F=this._findgroupstate(b.uniqueid);if(b.bounddata.subGroups.length>0||b.bounddata.subItems.length>0){var i=this.rtl?"-rtl":"";var C=this.toThemeProperty("jqx-icon-arrow-right");if(i){C=this.toThemeProperty("jqx-icon-arrow-left")}if(F){c.className+=" "+this.toThemeProperty("jqx-grid-group-expand"+i)+" "+this.toThemeProperty("jqx-icon-arrow-down")}else{c.className+=" "+this.toThemeProperty("jqx-grid-group-collapse"+i)+" "+C}}var t=this._getColumnText(this.groups[b.level]).label;var d=this.groupindentwidth;var r=this.rowdetails&&this.showrowdetailscolumn?(1+p)*d:(p)*d;var y=u-r;var g=b.level+1;if(this.rtl){g=0}var n=H.cells[g];var A=2;while(n!=undefined&&n.style.display=="none"&&A<H.cells.length-1){n=H.cells[g+A-1];A++}var f=a(n);if(!n){return}n.style.width=parseInt(y)+"px";if(n.className.indexOf("jqx-grid-cell-filter")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-filter"))}if(n.className.indexOf("jqx-grid-cell-sort")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-sort"))}if(n.className.indexOf("jqx-grid-cell-pinned")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-pinned"))}if(this.groupsrenderer!=null){var h={group:b.group,level:b.level,parent:b.bounddata.parentItem,subGroups:b.bounddata.subGroups,subItems:b.bounddata.subItems,groupcolumn:this._getColumnText(this.groups[b.level]).column};var q=this.groupsrenderer(t+": "+b.group,b.group,F,h);if(q){n.innerHTML=q}else{var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+b.group+" ("+l+")</span></div>"}}else{var e=this._getcolumnbydatafield(this.groups[b.level]);var z=b.group;if(e!=null){if(e.cellsformat){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(z)){z=a.jqx.dataFormat.formatdate(z,e.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(z)){z=a.jqx.dataFormat.formatnumber(z,e.cellsformat,this.gridlocalization)}}}}var l=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;if(this.showgroupaggregates){var I=b.bounddata.subItems.length>0?b.bounddata.subItems:b.bounddata.subGroups;l=0;for(var G=0;G<I.length;G++){if(I[G].totalsrow){continue}l++}}n.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+t+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+z+" ("+l+")</span></div>"}else{throw new Error("jqxGrid: Unable to find '"+this.groups[b.level]+"' group in the Grid's columns collection.")}}if(this.rtl){if(!e){e=this._getcolumnbydatafield(this.groups[b.level])}var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max-this.hScrollInstance.value;var D=this.vScrollBar.css("visibility")=="hidden"?0:this.scrollbarsize+6;var r=this.rowdetails&&this.showrowdetailscolumn?(2+b.level)*d:(1+b.level)*d;n.style.width=u+parseInt(s)-r-D+"px";f.addClass(this.toThemeProperty("jqx-rtl"));var w=a(x.cells[x.cells.length-1]).css("z-index");f.css("z-index",w);var E=f.find("div");var y=E.width();E.css("left","100%");var o=this.columns.records[x.cells.length-2-b.level]!=null?this.columns.records[x.cells.length-2-b.level].pinned:false;if(this.table.width()<u){u=this.table.width();if(this.vScrollBar.css("visibility")!="hidden"){u+=this.vScrollBar.outerWidth()}}if(e.pinned||o){if(this.rowdetails&&this.showrowdetailscolumn){u+=30}E.css("margin-left",-y);n.style.width=u+s-r-D+"px"}else{var s=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max;n.style.width=u+s-r-D+"px";var y=E.width();E.css("margin-left",-y)}}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(b){b.jqx.jqxWidget("jqxGrid","",{});b.extend(b.jqx._jqxGrid.prototype,{defineInstance:function(){var d={adaptive:false,adaptivewidth:600,disabled:false,width:600,height:400,pagerheight:40,groupsheaderheight:34,pagesize:10,pagesizeoptions:["5","10","20"],rowsheight:32,columnsheight:32,filterrowheight:36,groupindentwidth:30,rowdetails:false,enablerowdetailsindent:true,enablemousewheel:true,initrowdetails:null,layoutrowdetails:null,editable:false,editmode:"selectedcell",pageable:false,pagermode:"default",pagerbuttonscount:5,groupable:false,sortable:false,sortmode:"one",filterable:false,filtermode:"default",autoshowfiltericon:true,showfiltercolumnbackground:true,showpinnedcolumnbackground:true,showsortcolumnbackground:true,altrows:false,altstart:1,altstep:1,showrowdetailscolumn:true,showrowlines:true,showcolumnlines:true,showcolumnheaderlines:true,showtoolbar:false,toolbarheight:36,showstatusbar:false,statusbarheight:36,enableellipsis:true,groups:[],groupsrenderer:null,groupcolumnrenderer:null,groupsexpandedbydefault:false,pagerrenderer:null,touchmode:"auto",columns:[],selectedrowindex:-1,selectedrowindexes:new Array(),selectedcells:new Array(),autobind:true,selectedcell:null,tableZIndex:79,headerZIndex:29,updatefilterconditions:null,showgroupaggregates:false,showaggregates:false,showfilterrow:false,showeverpresentrow:false,everpresentrowposition:"top",everpresentrowactions:"add reset",everpresentrowactionsmode:"buttons",everpresentrowheight:30,autorowheight:false,autokoupdates:true,handlekeyboardnavigation:null,showsortmenuitems:true,showfiltermenuitems:true,showgroupmenuitems:true,enablebrowserselection:false,enablekeyboarddelete:true,clipboard:true,clipboardbegin:null,clipboardend:null,copytoclipboardwithheaders:false,copytoclipboardhiddencolumns:false,ready:null,updatefilterpanel:null,autogeneratecolumns:false,rowdetailstemplate:null,scrollfeedback:null,rendertoolbar:null,renderstatusbar:null,rendered:null,multipleselectionbegins:null,columngroups:null,cellhover:null,source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},filter:null,dataview:null,updatedelay:null,autoheight:false,autowidth:false,showheader:true,showgroupsheader:true,closeablegroups:true,scrollbarsize:b.jqx.utilities.scrollBarSize,touchscrollbarsize:b.jqx.utilities.touchScrollBarSize,scrollbarautoshow:b.jqx.utilities.scrollBarAutoShow,virtualmode:false,sort:null,columnsmenu:true,columnsresize:false,columnsautoresize:true,columnsreorder:false,columnsmenuwidth:16,autoshowcolumnsmenubutton:true,showcolumnsactionbutton:false,popupwidth:"auto",popupheight:"auto",columnmenuopening:null,columnmenuclosing:null,sorttogglestates:2,rendergridrows:null,enableanimations:true,enablecolumnsvirtualization:true,enabletooltips:false,selectionmode:"singlerow",enablehover:true,loadingerrormessage:"The data is still loading. When the data binding is completed, the Grid raises the 'bindingcomplete' event. Call this function in the 'bindingcomplete' event handler.",verticalscrollbarstep:30,verticalscrollbarlargestep:400,horizontalscrollbarstep:10,horizontalscrollbarlargestep:50,keyboardnavigation:true,keyboardmenunavigation:true,touchModeStyle:"auto",autoshowloadelement:true,showdefaultloadelement:true,showemptyrow:true,autosavestate:false,autoloadstate:false,_updating:false,_pagescache:new Array(),_pageviews:new Array(),_cellscache:new Array(),_rowdetailscache:new Array(),_rowdetailselementscache:new Array(),_requiresupdate:false,_hasOpenedMenu:false,scrollmode:"physical",deferreddatafields:null,localization:null,rtl:false,menuitemsarray:[],events:["initialized","rowClick","rowSelect","rowUnselect","groupExpand","groupCollapse","sort","columnClick","cellClick","pageChanged","pageSizeChanged","bindingComplete","groupsChanged","filter","columnResized","cellSelect","cellUnselect","cellBeginEdit","cellEndEdit","cellValueChanged","rowExpand","rowCollapse","rowDoubleClick","cellDoubleClick","columnReordered","pageChanging"]};if(this===b.jqx._jqxGrid.prototype){return d}b.extend(true,this,d);return d},createInstance:function(i){this.that=this;var h=this;h.pagesize=parseInt(h.pagesize);h.toolbarheight=parseInt(h.toolbarheight);h.columnsheight=parseInt(h.columnsheight);h.filterrowheight=parseInt(h.filterrowheight);h.statusbarheight=parseInt(h.statusbarheight);h.groupsheaderheight=parseInt(h.groupsheaderheight);h.detailsVisibility=new Array();h.savedArgs=i&&i.length>0?i[0]:null;var g="<div class='jqx-clear jqx-border-reset jqx-overflow-hidden jqx-max-size jqx-position-relative'><div tabindex='1' class='jqx-clear jqx-max-size jqx-position-relative jqx-overflow-hidden jqx-background-reset' id='wrapper"+h.element.id+"'><div class='jqx-clear jqx-position-absolute' id='toolbar' style='visibility: hidden;'></div><div class='jqx-clear jqx-position-absolute' id='groupsheader' style='visibility: hidden;'></div><div class='jqx-clear jqx-overflow-hidden jqx-position-absolute jqx-border-reset jqx-background-reset' id='content"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='verticalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='horizontalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute jqx-border-reset' id='bottomRight'></div><div class='jqx-clear jqx-position-absolute' id='addrow'></div><div class='jqx-clear jqx-position-absolute' id='statusbar'></div><div class='jqx-clear jqx-position-absolute' id='pager' style='z-index: 20;'></div></div></div>";h.element.innerHTML="";if(h.source){if(!h.source.dataBind){if(!b.jqx.dataAdapter){throw new Error("jqxGrid: Missing reference to jqxdata.js")}h.source=new b.jqx.dataAdapter(h.source)}var e=h.source._source.datafields;if(e&&e.length>0){h.editmode=h.editmode.toLowerCase();h.selectionmode=h.selectionmode.toLowerCase()}}h.host.attr("role","grid");h.host.attr("align","left");h.element.innerHTML=g;h.host.addClass(h.toTP("jqx-grid"));h.host.addClass(h.toTP("jqx-reset"));h.host.addClass(h.toTP("jqx-rc-all"));h.host.addClass(h.toTP("jqx-widget"));h.host.addClass(h.toTP("jqx-widget-content"));h.wrapper=h.host.find("#wrapper"+h.element.id);h.content=h.host.find("#content"+h.element.id);h.content.addClass(h.toTP("jqx-reset"));var n=h.host.find("#verticalScrollBar"+h.element.id);var r=h.host.find("#horizontalScrollBar"+h.element.id);h.bottomRight=h.host.find("#bottomRight").addClass(h.toTP("jqx-grid-bottomright jqx-scrollbar-state-normal"));if(!n.jqxScrollBar){throw new Error("jqxGrid: Missing reference to jqxscrollbar.js");return}h.editors=new Array();h.vScrollBar=n.jqxScrollBar({vertical:true,rtl:h.rtl,touchMode:h.touchmode,step:h.verticalscrollbarstep,largestep:h.verticalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.hScrollBar=r.jqxScrollBar({vertical:false,rtl:h.rtl,touchMode:h.touchmode,step:h.horizontalscrollbarstep,largestep:h.horizontalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.addnewrow=h.host.find("#addrow");h.addnewrow[0].id="addrow"+h.element.id;h.addnewrow.addClass(h.toTP("jqx-widget-header"));h.pager=h.host.find("#pager");h.pager[0].id="pager"+h.element.id;h.toolbar=h.host.find("#toolbar");h.toolbar[0].id="toolbar"+h.element.id;h.toolbar.addClass(h.toTP("jqx-grid-toolbar"));h.toolbar.addClass(h.toTP("jqx-widget-header"));h.statusbar=h.host.find("#statusbar");h.statusbar[0].id="statusbar"+h.element.id;h.statusbar.addClass(h.toTP("jqx-grid-statusbar"));h.statusbar.addClass(h.toTP("jqx-widget-header"));h.pager.addClass(h.toTP("jqx-grid-pager"));h.pager.addClass(h.toTP("jqx-widget-header"));h.groupsheader=h.host.find("#groupsheader");h.groupsheader.addClass(h.toTP("jqx-grid-groups-header"));h.groupsheader.addClass(h.toTP("jqx-widget-header"));h.groupsheader[0].id="groupsheader"+h.element.id;h.vScrollBar.css("visibility","hidden");h.hScrollBar.css("visibility","hidden");h.vScrollInstance=b.data(h.vScrollBar[0],"jqxScrollBar").instance;h.hScrollInstance=b.data(h.hScrollBar[0],"jqxScrollBar").instance;h.gridtable=null;h.isNestedGrid=h.host.parent()?h.host.parent().css("z-index")==299:false;h.touchdevice=h.isTouchDevice();if(h.localizestrings){h.localizestrings();if(h.localization!=null){h.localizestrings(h.localization,false)}}if(h.rowdetailstemplate&&typeof h.rowdetailstemplate!=="function"){if(undefined==h.rowdetailstemplate.rowdetails){h.rowdetailstemplate.rowdetails="<div></div>"}if(undefined==h.rowdetailstemplate.rowdetailsheight){h.rowdetailstemplate.rowdetailsheight=200}if(undefined==h.rowdetailstemplate.rowdetailshidden){h.rowdetailstemplate.rowdetailshidden=true}}if(h.showfilterrow&&!h.filterable){throw new Error('jqxGrid: "showfilterrow" requires setting the "filterable" property to true!');h.host.remove();return}if(h.autorowheight&&!h.autoheight&&!h.pageable){throw new Error('jqxGrid: "autorowheight" requires setting the "autoheight" or "pageable" property to true!');h.host.remove();return}if(h.virtualmode&&h.rendergridrows==null){throw new Error('jqxGrid: "virtualmode" requires setting the "rendergridrows"!');h.host.remove();return}if(h.virtualmode&&!h.pageable&&h.groupable){throw new Error('jqxGrid: "grouping" in "virtualmode" without paging is not supported!');h.host.remove();return}if(h._testmodules()){return}h._builddataloadelement();h._cachedcolumns=h.columns;if(h.columns&&h.columns.length>h.headerZIndex){h.headerZIndex=h.columns.length+100}if(h.theme&&h.theme.indexOf("material")>=0){var o=b("<span>Test</span>");var f=b("<span>Test</span>");o.addClass(h.toTP("jqx-grid-row-cell"));f.addClass(h.toTP("jqx-grid-column-header-cell"));h.host.append(o);h.host.append(f);var l=o.outerHeight();var k=f.outerHeight();if(l>this.rowsheight){h.rowsheight=l;this._cellheight=l}if(k>this.columnsheight){h.columnsheight=k;this._columnHeight=k}o.remove();f.remove()}if(h.rowsheight!=31){h._measureElement("cell")}if(h.columnsheight!=32||h.columngroups){h._measureElement("column")}if(h.source){var e=h.source.datafields;if(e==null&&h.source._source){e=h.source._source.datafields}if(e){for(var d=0;d<h.columns.length;d++){var f=h.columns[d];if(f&&f.cellsformat&&f.cellsformat.length>2){for(var q=0;q<e.length;q++){if(e[q].name==f.datafield&&!e[q].format){e[q].format=f.cellsformat;break}}}}}}h.databind(h.source);if(h.showtoolbar){h.toolbar.css("visibility","inherit")}if(h.showstatusbar){h.statusbar.css("visibility","inherit")}h._arrange();if(h.pageable&&h._initpager){h._initpager()}h.tableheight=null;var j=h.that;var p=function(){if(j.content){j.content[0].scrollTop=0;j.content[0].scrollLeft=0}if(j.gridcontent){j.gridcontent[0].scrollLeft=0;j.gridcontent[0].scrollTop=0}};h.addHandler(h.content,"mousedown",function(){p()});h.addHandler(h.content,"scroll",function(m){p();return false});if(!h.showfilterrow){if(!h.showstatusbar&&!h.showtoolbar){h.host.addClass("jqx-disableselect")}h.content.addClass("jqx-disableselect")}if(h.enablebrowserselection){h.content.removeClass("jqx-disableselect");h.host.removeClass("jqx-disableselect")}h._resizeWindow();if(h.disabled){h.host.addClass(h.toThemeProperty("jqx-fill-state-disabled"))}h.hasTransform=b.jqx.utilities.hasTransform(h.host);if(h.scrollmode=="logical"){h.vScrollInstance.thumbStep=h.rowsheight;h.vScrollInstance.step=h.rowsheight}if(!b.jqx.isHidden(h.host)){if(h.filterable||h.groupable||h.sortable){h._initmenu()}}},_resizeWindow:function(){var e=this.that;if((this.width!=null&&this.width.toString().indexOf("%")!=-1)||(this.height!=null&&this.height.toString().indexOf("%")!=-1)){this._updatesizeonwindowresize=true;b.jqx.utilities.resize(this.host,function(k){var j=b(window).width();var g=b(window).height();var i=e.host.width();var l=e.host.height();if(e.pageable){var h=e.host.find(".jqx-grid-pager-input");if(j<350){h.hide()}else{h.show()}}if(e.autoheight){e._lastHostWidth=g}if(e._lastHostWidth!=i||e._lastHostHeight!=l){if(e.touchdevice&&e.editcell&&k!=="orientationchange"){return}e._updatesize(e._lastHostWidth!=i,e._lastHostHeight!=l)}e._lastWidth=j;e._lastHeight=g;e._lastHostWidth=i;e._lastHostHeight=l});var d=e.host.width();var f=e.host.height();e._lastHostWidth=d;e._lastHostHeight=f}},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div style="overflow: hidden; position: absolute;"></div>');if(this.showdefaultloadelement){var d=b('<div style="z-index: 99; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d)}else{this.dataloadelement.addClass(this.toTP("jqx-grid-load"))}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this.wrapper.prepend(this.dataloadelement)},_measureElement:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");d.addClass(this.toTP("jqx-widget"));b(document.body).append(d);if(e=="cell"){this._cellheight=d.height()}else{this._columnheight=d.height()}d.remove()},_measureMenuElement:function(){var e=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-menu"));e.addClass(this.toTP("jqx-menu-item-top"));e.addClass(this.toTP("jqx-fill-state-normal"));if(this.isTouchDevice()){e.addClass(this.toTP("jqx-grid-menu-item-touch"))}b(document.body).append(e);var d=e.outerHeight();e.remove();return d},_measureElementWidth:function(f){var e=b("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-grid"));e.addClass(this.toTP("jqx-grid-column-header"));e.addClass(this.toTP("jqx-widget-header"));b(document.body).append(e);var d=e.outerWidth()+20;e.remove();return d},_getBodyOffset:function(){var e=0;var d=0;if(b("body").css("border-top-width")!="0px"){e=parseInt(b("body").css("border-top-width"));if(isNaN(e)){e=0}}if(b("body").css("border-left-width")!="0px"){d=parseInt(b("body").css("border-left-width"));if(isNaN(d)){d=0}}return{left:d,top:e}},_testmodules:function(){var k="";var h=this.that;var d=function(){if(k.length!=""){k+=","}};if(this.columnsmenu&&!this.host.jqxMenu&&(this.sortable||this.groupable||this.filterable)){d();k+=" jqxmenu.js"}if(!this.host.jqxScrollBar){d();k+=" jqxscrollbar.js"}if(!this.host.jqxButton){d();k+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){d();k+=" jqxdata.js"}if(this.pageable&&!this.gotopage){d();k+="jqxgrid.pager.js"}if(this.filterable&&!this.applyfilters){d();k+=" jqxgrid.filter.js"}if(this.groupable&&!this._initgroupsheader){d();k+=" jqxgrid.grouping.js"}if(this.columnsresize&&!this.autoresizecolumns){d();k+=" jqxgrid.columnsresize.js"}if(this.columnsreorder&&!this.setcolumnindex){d();k+=" jqxgrid.columnsreorder.js"}if(this.sortable&&!this.sortby){d();k+=" jqxgrid.sort.js"}if(this.editable&&!this.begincelledit){d();k+=" jqxgrid.edit.js"}if(this.showaggregates&&!this.getcolumnaggregateddata){d();k+=" jqxgrid.aggregates.js"}if(this.keyboardnavigation&&!this.selectrow){d();k+=" jqxgrid.selection.js"}if(k!=""||this.editable||this.filterable||this.pageable){var f=[];var j=function(i){switch(i){case"checkbox":if(!h.host.jqxCheckBox&&!f.checkbox){f.checkbox=true;d();k+=" jqxcheckbox.js"}break;case"numberinput":if(!h.host.jqxNumberInput&&!f.numberinput){f.numberinput=true;d();k+=" jqxnumberinput.js"}break;case"datetimeinput":if(!h.host.jqxDateTimeInput&&!f.datetimeinput){d();f.datetimeinput=true;k+=" jqxdatetimeinput.js(requires: jqxcalendar.js)"}else{if(!h.host.jqxCalendar&&!f.calendar){d();k+=" jqxcalendar.js"}}break;case"combobox":if(!h.host.jqxComboBox&&!f.combobox){d();f.combobox=true;k+=" jqxcombobox.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break;case"dropdownlist":if(!h.host.jqxDropDownList&&!f.dropdownlist){d();f.dropdownlist=true;k+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break}};if(this.filterable||this.pageable){j("dropdownlist")}for(var e=0;e<this.columns.length;e++){if(this.columns[e]==undefined){continue}var g=this.columns[e].columntype;j(g);if(this.filterable&&this.showfilterrow){var g=this.columns[e].filtertype;if(g=="checkedlist"||g=="bool"){j("checkbox")}if(g=="date"){j("datetimeinput")}}}if(k!=""){throw new Error("jqxGrid: Missing references to the following module(s): "+k);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();var e=this.that;setTimeout(function(){e.wrapper.focus()},25);this.focused=true}catch(d){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},resize:function(e,d){this.width=e;this.height=d;this._updatesize(true,true)},_updatesize:function(r,g){if(this._loading){return}var m=this.that;m._newmax=null;var p=m.host.width();var d=m.host.height();if(!m._oldWidth){m._oldWidth=p}if(!m._oldHeight){m._oldHeight=d}if(m._resizeTimer){clearTimeout(m._resizeTimer)}var h=5;m.resizingGrid=true;if(b.jqx.isHidden(m.host)){return}if(m.editcell){m.endcelledit(m.editcell.row,m.editcell.column,true,true);m._oldselectedcell=null}if(d!=m._oldHeight||g==true){var e=m.groupable&&m.groups.length>0;var n=m.vScrollBar.css("visibility");if(!m.autoheight){if(m.virtualmode){m._pageviews=new Array()}if(!e&&!m.rowdetails&&!m.pageable){m._arrange();m.virtualsizeinfo=m._calculatevirtualheight();var d=Math.round(m.host.height())+2*m.rowsheight;if(parseInt(d)>=parseInt(m._oldHeight)){m.prerenderrequired=true}m._renderrows(m.virtualsizeinfo);if(m.rtl){m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}else{m._arrange();m.prerenderrequired=true;var d=Math.round(m.host.height())+2*m.rowsheight;var k=m._gettableheight();var q=Math.round(d/m.rowsheight);var i=Math.max(m.dataview.totalrows,m.dataview.totalrecords);if(m.pageable){i=m.pagesize;if(m.pagesize>Math.max(m.dataview.totalrows,m.dataview.totalrecords)&&m.autoheight){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}else{if(!m.autoheight){if(m.dataview.totalrows<m.pagesize){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}}}}var l=i*m.rowsheight;var f=m._getpagesize();if(!m.pageable&&m.autoheight){q=i}if(m.virtualsizeinfo){m.virtualsizeinfo.visiblerecords=q}m.rendergridcontent(true,false);m._renderrows(m.virtualsizeinfo)}if(n!=m.vScrollBar.css("visibility")){m.vScrollInstance.setPosition(0);m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}}if(p!=m._oldWidth||r==true){var o=false;if(m.editcell&&m.editcell.editor){switch(m.editcell.columntype){case"dropdownlist":o=m.editcell.editor.jqxDropDownList("isOpened")||(m.editcell.editor.jqxDropDownList("isanimating")&&!m.editcell.editor.jqxDropDownList("ishiding"));if(o){m.editcell.editor.jqxDropDownList({openDelay:0});m.editcell.editor.jqxDropDownList("open");m.editcell.editor.jqxDropDownList({openDelay:250});return}break;case"combobox":o=m.editcell.editor.jqxComboBox("isOpened")||(m.editcell.editor.jqxComboBox("isanimating")&&!m.editcell.editor.jqxComboBox("ishiding"));if(o){m.editcell.editor.jqxComboBox({openDelay:0});m.editcell.editor.jqxComboBox("open");m.editcell.editor.jqxComboBox({openDelay:250});return}break;case"datetimeinput":if(o){o=m.editcell.editor.jqxDateTimeInput("isOpened")||(m.editcell.editor.jqxDateTimeInput("isanimating")&&!m.editcell.editor.jqxDateTimeInput("ishiding"));m.editcell.editor.jqxDateTimeInput({openDelay:0});m.editcell.editor.jqxDateTimeInput("open");m.editcell.editor.jqxDateTimeInput({openDelay:250});return}break}}var j=m.hScrollBar.css("visibility");m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths();if(!(r==false&&m._oldWidth>p)){if(!g||m.dataview.rows.length==0){m._renderrows(m.virtualsizeinfo)}}if(j!=m.hScrollBar.css("visibility")){m.hScrollInstance.setPosition(0)}}m._oldWidth=p;m._oldHeight=d;m.resizingGrid=false},getTouches:function(d){return b.jqx.mobile.getTouches(d)},_updateTouchScrolling:function(){var e=this.that;if(e.isTouchDevice()){e.scrollmode="logical";e.vScrollInstance.thumbStep=e.rowsheight;var g=b.jqx.mobile.getTouchEventName("touchstart");var f=b.jqx.mobile.getTouchEventName("touchend");var d=b.jqx.mobile.getTouchEventName("touchmove");e.enablehover=false;if(e.gridcontent){e.removeHandler(e.gridcontent,g+".touchScroll");e.removeHandler(e.gridcontent,d+".touchScroll");e.removeHandler(e.gridcontent,f+".touchScroll");e.removeHandler(e.gridcontent,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e.gridcontent[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);if(e._overlayElement){e.removeHandler(e._overlayElement,g+".touchScroll");e.removeHandler(e._overlayElement,d+".touchScroll");e.removeHandler(e._overlayElement,f+".touchScroll");e.removeHandler(e._overlayElement,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e._overlayElement[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);this.addHandler(this.host,g,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}});this.addHandler(this.host,f,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}})}}}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var e="www.jqwidgets.com";if(location.hostname.indexOf(e.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var f=String.fromCharCode(83,80,65,78);var d=String.fromCharCode(72,84,84,80,58,47,47);var g=document.createElement(f);g.id=b.jqx.utilities.createId();g.innerHTML=e;g.style.position="absolute";g.style.right="5px";g.style.bottom="5px";g.style.color="#909090";g.style.cursor="pointer";g.style.zIndex="999999";g.style.display="none";g.style.fontSize="9px";g.onmousedown=function(){open(d+e)};this.content[0].appendChild(g);this._gridRenderElement=g}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d=b.jqx.mobile.isTouchDevice();this.touchDevice=d;if(this.touchmode==true){if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.enablehover=false;return false}d=true;b.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=d}else{if(this.touchmode==false){d=false}}if(d&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return d},toTP:function(d){return this.toThemeProperty(d)},localizestrings:function(d,e){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d!=null){for(var f in d){if(f.toLowerCase()!==f){d[f.toLowerCase()]=d[f]}}if(d.okstring){this.gridlocalization.okstring=d.okstring}if(d.cancelstring){this.gridlocalization.cancelstring=d.cancelstring}if(d.pagergotopagestring){this.gridlocalization.pagergotopagestring=d.pagergotopagestring}if(d.pagershowrowsstring){this.gridlocalization.pagershowrowsstring=d.pagershowrowsstring}if(d.pagerrangestring){this.gridlocalization.pagerrangestring=d.pagerrangestring}if(d.pagernextbuttonstring){this.gridlocalization.pagernextbuttonstring=d.pagernextbuttonstring}if(d.pagerpreviousbuttonstring){this.gridlocalization.pagerpreviousbuttonstring=d.pagerpreviousbuttonstring}if(d.pagerfirstbuttonstring){this.gridlocalization.pagerfirstbuttonstring=d.pagerfirstbuttonstring}if(d.pagerlastbuttonstring){this.gridlocalization.pagerlastbuttonstring=d.pagerlastbuttonstring}if(d.groupsheaderstring){this.gridlocalization.groupsheaderstring=d.groupsheaderstring}if(d.sortascendingstring){this.gridlocalization.sortascendingstring=d.sortascendingstring}if(d.sortdescendingstring){this.gridlocalization.sortdescendingstring=d.sortdescendingstring}if(d.sortremovestring){this.gridlocalization.sortremovestring=d.sortremovestring}if(d.groupbystring){this.gridlocalization.groupbystring=d.groupbystring}if(d.groupremovestring){this.gridlocalization.groupremovestring=d.groupremovestring}if(d.firstDay){this.gridlocalization.firstDay=d.firstDay}if(d.days){this.gridlocalization.days=d.days}if(d.months){this.gridlocalization.months=d.months}if(d.AM){this.gridlocalization.AM=d.AM}if(d.PM){this.gridlocalization.PM=d.PM}if(d.patterns){this.gridlocalization.patterns=d.patterns}if(d.percentsymbol){this.gridlocalization.percentsymbol=d.percentsymbol}if(d.currencysymbol){this.gridlocalization.currencysymbol=d.currencysymbol}if(d.currencysymbolposition){this.gridlocalization.currencysymbolposition=d.currencysymbolposition}if(d.decimalseparator!=undefined){this.gridlocalization.decimalseparator=d.decimalseparator}if(d.thousandsseparator!=undefined){this.gridlocalization.thousandsseparator=d.thousandsseparator}if(d.filterclearstring){this.gridlocalization.filterclearstring=d.filterclearstring}if(d.filterstring){this.gridlocalization.filterstring=d.filterstring}if(d.filtershowrowstring){this.gridlocalization.filtershowrowstring=d.filtershowrowstring}if(d.filtershowrowdatestring){this.gridlocalization.filtershowrowdatestring=d.filtershowrowdatestring}if(d.filterselectallstring){this.gridlocalization.filterselectallstring=d.filterselectallstring}if(d.filterchoosestring){this.gridlocalization.filterchoosestring=d.filterchoosestring}if(d.filterorconditionstring){this.gridlocalization.filterorconditionstring=d.filterorconditionstring}if(d.filterandconditionstring){this.gridlocalization.filterandconditionstring=d.filterandconditionstring}if(d.filterstringcomparisonoperators){this.gridlocalization.filterstringcomparisonoperators=d.filterstringcomparisonoperators}if(d.filternumericcomparisonoperators){this.gridlocalization.filternumericcomparisonoperators=d.filternumericcomparisonoperators}if(d.filterdatecomparisonoperators){this.gridlocalization.filterdatecomparisonoperators=d.filterdatecomparisonoperators}if(d.filterbooleancomparisonoperators){this.gridlocalization.filterbooleancomparisonoperators=d.filterbooleancomparisonoperators}if(d.emptydatastring){this.gridlocalization.emptydatastring=d.emptydatastring}if(d.filterselectstring){this.gridlocalization.filterselectstring=d.filterselectstring}if(d.todaystring){this.gridlocalization.todaystring=d.todaystring}if(d.clearstring){this.gridlocalization.clearstring=d.clearstring}if(d.validationstring){this.gridlocalization.validationstring=d.validationstring}if(d.loadtext){this.gridlocalization.loadtext=d.loadtext}if(d.addrowstring){this.gridlocalization.addrowstring=d.addrowstring}if(d.udpaterowstring){this.gridlocalization.udpaterowstring=d.udpaterowstring}if(d.deleterowstring){this.gridlocalization.deleterowstring=d.deleterowstring}if(d.resetrowstring){this.gridlocalization.resetrowstring=d.resetrowstring}if(d.everpresentrowplaceholder){this.gridlocalization.everpresentrowplaceholder=d.everpresentrowplaceholder}if(e!==false){if(this._initpager){this._initpager()}if(this._initgroupsheader){this._initgroupsheader()}if(this._initmenu){this._initmenu()}this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none");if(this.filterable&&this.showfilterrow){if(this._updatefilterrow){for(var f in this._filterrowcache){b(this._filterrowcache[f]).remove()}this._filterrowcache=[];this._updatefilterrow()}}if(this.showaggregates&&this.refresheaggregates){this.refresheaggregates()}this._renderrows(this.virtualsizeinfo)}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",groupsheaderstring:"Drag a column and drop it here to group by that column",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",groupbystring:"Group By this column",groupremovestring:"Remove from groups",filterclearstring:"Clear",filterstring:"Filter",filtershowrowstring:"Show rows where:",filtershowrowdatestring:"Show rows where date:",filterorconditionstring:"Or",filterandconditionstring:"And",filterselectallstring:"(Select All)",filterchoosestring:"Please Choose:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",addrowstring:"Add",udpaterowstring:"Update",deleterowstring:"Delete",resetrowstring:"Reset",everpresentrowplaceholder:"Enter ",okstring:"Ok",cancelstring:"Cancel"}}},_getmenudefaultheight:function(){var f=this;var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){e+=2}var d=f._measureMenuElement();var g=e*d+9;if(f.filterable&&!f.showfilterrow&&f.showfiltermenuitems){g+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){g+=20}}return g},_initmenu:function(){var s=this.that;if(this.host.jqxMenu){if(this.gridmenu){if(this._hasOpenedMenu){return}if(this.filterable){if(this._destroyfilterpanel){this._destroyfilterpanel()}}this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu.removeData();this.gridmenu.remove()}this.menuitemsarray=new Array();var n="";if(this.isTouchDevice()){n="jqx-grid-menu-item-touch"}this.gridmenu=b('<div tabindex=0 id="gridmenu'+this.element.id+'" style="z-index: 99;"></div>');this.host.append(this.gridmenu);var x=b("<ul></ul>");var i='<div class="jqx-grid-sortasc-icon"></div>';var u=b('<li class="'+n+'">'+i+this.gridlocalization.sortascendingstring+"</li>");var B='<div class="jqx-grid-sortdesc-icon"></div>';var y=b('<li class="'+n+'">'+B+this.gridlocalization.sortdescendingstring+"</li>");var o='<div class="jqx-grid-sortremove-icon"></div>';var k=b('<li class="'+n+'">'+o+this.gridlocalization.sortremovestring+"</li>");var j='<div class="jqx-grid-groupby-icon"></div>';var r=b('<li class="'+n+'">'+j+this.gridlocalization.groupbystring+"</li>");var f=b('<li class="'+n+'">'+j+this.gridlocalization.groupremovestring+"</li>");var d=b('<li type="separator"></li>');var w=b('<li class="filter '+n+'" style="height: 194px;" ignoretheme="true"><div class="filter"></div></li>');var m=this.gridlocalization.sortascendingstring.length;var t=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>m){m=this.gridlocalization.sortdescendingstring.length;t=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>m){m=this.gridlocalization.sortremovestring.length;t=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){if(this.gridlocalization.groupbystring.length>m){m=this.gridlocalization.groupbystring.length;t=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>m){m=this.gridlocalization.groupremovestring.length;t=this.gridlocalization.groupremovestring}}var z=200;t=b.trim(t).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+t+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);z=g.outerWidth()+60;g.remove();var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){x.append(u);this.menuitemsarray[0]=u[0];x.append(y);this.menuitemsarray[1]=y[0];x.append(k);this.menuitemsarray[2]=k[0];e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){x.append(r);this.menuitemsarray[3]=r[0];x.append(f);this.menuitemsarray[4]=f[0];e+=2}var v=this._measureMenuElement();var l=e*v+9;var q=true;if(this.filterable&&!this.showfilterrow&&this.showfiltermenuitems){if(this._initfilterpanel){this.menuitemsarray[5]=w[0];this.menuitemsarray[6]=w[0];x.append(d);x.append(w);l+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){l+=20}if(this.isTouchDevice()){l+=30}var p=b(w).find("div:first");this.excelfilterpanel=b("<div></div>");this.filterpanel=p;this.filtermenu=b(w);z+=20;if(this.adaptive&&this.element.offsetWidth<this.adaptivewidth){z=this.element.offsetWidth-50}this._initfilterpanel(this,p,"",z);this._initfilterpanel(this,this.excelfilterpanel,"",z,true);q=false;this.removeHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s);this.addHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.filter.js.")}}this.gridmenu.append(x);if(b.jqx.browser.msie&&b.jqx.browser.version<8&&this.filterable){b("#listBoxfilter1"+this.element.id).css("z-index",49);b("#listBoxfilter2"+this.element.id).css("z-index",49);b("#listBoxfilter3"+this.element.id).css("z-index",49);b("#gridmenu"+this.element.id).css("z-index",50);this.addHandler(b("#gridmenu"+this.element.id),"initialized",function(){b("#menuWrappergridmenu"+s.element.id).css("z-index",49)})}if(this.menuitemsarray[0]==undefined){l=65}this.removeHandler(b(window),"orientationchange.jqxgrid"+this.element.id);this.removeHandler(b(window),"orientationchanged.jqxgrid"+this.element.id);this.addHandler(b(window),"orientationchange.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.addHandler(b(window),"orientationchanged.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.removeHandler(this.gridmenu,"keydown");this.addHandler(this.gridmenu,"keydown",function(N){var M=b(s.gridmenu.find(".jqx-item")).toArray();var F=function(){b(M).removeClass("jqx-fill-state-focus")};var R=function(X){var V=M.indexOf(X);for(var W=V-1;W>=0;W--){if(M[W].className.indexOf("disabled")>=0){continue}return M[W]}return X};var I=function(X){var V=M.indexOf(X);for(var W=V+1;W<M.length;W++){if(M[W].className.indexOf("disabled")>=0){continue}return M[W]}return X};var L=function(){var V=M[M.length-1];if(V.className.indexOf("disabled")>=0){return R(V)}return V};var U=function(){var V=M[0];if(V.className.indexOf("disabled")>=0){return I(V)}return V};var J=function(){for(var V=0;V<M.length;V++){if(M[V].active){return M[V]}}return null};var G=function(W){F();for(var V=0;V<M.length;V++){M[V].active=false}if(W){b(W).addClass("jqx-fill-state-focus");W.active=true}};if(!J()&&!s.filterable){M[0].active=true}if(s.keyboardmenunavigation&&s.keyboardnavigation){if(N.keyCode===40){var J=J();G(I(J))}else{if(N.keyCode===38){var J=J();G(R(J))}}if(N.keyCode===9){if(!J()){if(N.shiftKey){if(document.activeElement===b.find("#filter1"+s.element.id)[0]){var T=L();G(T);b(b.find("#filter1"+s.element.id)).removeClass("jqx-fill-state-focus");s.gridmenu.focus();N.stopPropagation();N.preventDefault()}else{if(document.activeElement===b.find("#filter1"+s.element.id+"ex")[0]){var T=L();G(T);b(b.find("#filter1"+s.element.id)+"ex").removeClass("jqx-fill-state-focus");s.gridmenu.focus();N.stopPropagation();N.preventDefault()}}}return true}if(!N.shiftKey){var J=J();if(J===L()&&s.filterable&&!s.showfilterrow){G(null);if(b(b.find("#filter1"+s.element.id)).length>0){b(b.find("#filter1"+s.element.id)).jqxDropDownList("focus")}else{if(b(b.find("#filter1"+s.element.id+"ex")).length>0){b(b.find("#filter1"+s.element.id+"ex")).jqxListBox("focus")}}}else{G(I(J))}N.stopPropagation();N.preventDefault()}else{var J=J();G(R(J));N.stopPropagation();N.preventDefault()}}}if(N.keyCode==27){s.gridmenu.jqxMenu("close")}else{if(N.keyCode==13){var M=s.gridmenu.find(".jqx-item");var J=J();if(J){b(J).trigger("click");G(null)}else{if(s._buildfilter&&s.filterable&&!s.showfilterrow){if(b.find("#filter1"+s.element.id).length>0){var S=b(b.find("#filter1"+s.element.id)).jqxDropDownList("container").css("display")=="block";var Q=b(b.find("#filter2"+s.element.id)).jqxDropDownList("container").css("display")=="block";var O=b(b.find("#filter3"+s.element.id)).jqxDropDownList("container").css("display")=="block"}var K=b(b.find("#filterclearbutton"+s.element.id)).hasClass("jqx-fill-state-focus");var C=b(b.find("#filterbutton"+s.element.id)).hasClass("jqx-fill-state-focus");if(K){var D=b.data(document.body,"contextmenu"+s.element.id).column;s._clearfilter(s,s.element,D);s.gridmenu.jqxMenu("close")}else{if(C){if(!S&&!Q&&!O){var D=b.data(document.body,"contextmenu"+s.element.id).column;s.gridmenu.jqxMenu("close");s._buildfilter(s,w,D)}}}}}var P=s.selectedcells.length>0||s.selectedrowindexes.length>0;s.clearselection();var H=s.getdisplayrows()[0];if(H){var E=s.getboundindex(H);if(s.selectionmode.indexOf("cell")>=0){if(P){s.selectcell(E,s.columns.records[0].displayfield)}}else{if(P){s.selectrow(E)}}}}}});if(this.popupwidth!="auto"){z=this.popupwidth}this.gridmenu.jqxMenu({popupZIndex:1000,width:z,height:l,autoCloseOnClick:q,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0});if(this.filterable){this.gridmenu.jqxMenu("_setItemProperty",w[0].id,"closeOnClick",false)}if(this.rtl){var A=this.that;b.each(x.find("li"),function(){b(this).addClass(A.toTP("jqx-rtl"))});var h=function(C){var D=C.find("div");D.css("float","right");D.css("margin-left","4px");D.css("margin-right","-4px")};h(k);h(y);h(u);h(r);h(f)}this._handlemenueevents()}else{this.columnsmenu=false}},_arrangemenu:function(){if(!this.gridmenu){this._initmenu()}var j=this.gridlocalization.sortascendingstring.length;var e=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>j){j=this.gridlocalization.sortdescendingstring.length;e=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>j){j=this.gridlocalization.sortremovestring.length;e=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader){if(this.gridlocalization.groupbystring.length>j){j=this.gridlocalization.groupbystring.length;e=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>j){j=this.gridlocalization.groupremovestring.length;e=this.gridlocalization.groupremovestring}}var f=200;e=b.trim(e).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+e+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);f=g.outerWidth()+60;g.remove();var h=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){h=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){h+=2}var d=this._measureMenuElement();var i=h*d+9;if(this.filterable&&this.showfiltermenuitems){if(this._initfilterpanel){i+=194;f+=20;if(b.jqx.browser.msie&&b.jqx.browser.version<8){i+=20}if(this.isTouchDevice()){i+=30}}}if(this.menuitemsarray[0]==undefined){i=65}if(this.popupwidth!="auto"){f=this.popupwidth}if(this.popupheight!="auto"){i=this.popupheight}this.gridmenu.jqxMenu({width:f,height:i})},_closemenuafterclick:function(e){var k=e!=null?e.data:this;var i=false;if(e.target==undefined||(e.target!=undefined&&e.target.className.indexOf==undefined)){k.gridmenu.jqxMenu("close");return}if(e.target.className.indexOf("filter")!=-1&&e.target.className.indexOf("jqx-grid-cell-filter")==-1){return}if(e.target.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return}if(k._hasOpenedMenu){if(b(e.target).ischildof(k.gridmenu)){return}}var d=k.host.coord();var f=k.gridmenu.coord();var m=e.pageX;var l=e.pageY;b.each(b(e.target).parents(),function(){if(this.id!=null&&this.id.indexOf&&this.id.indexOf("filter")!=-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("filter")!=-1&&this.className.indexOf("jqx-grid-cell-filter")==-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-column")!=-1){k.gridmenu.jqxMenu("close");return false}});if(i){return}try{if(k.filtermode==="default"){var p=b(b.find("#filter1"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter3"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;if(n-o<100){return}if((b(b.find("#filter3"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter1"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter2"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if(k._hasdatefilter){if(b(".filtertext1"+k.element.id)[0].nodeName.toLowerCase()=="div"){if(b(".filtertext1"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}if(b(".filtertext2"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}}}}else{var p=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.hScrollInstance._mouseup;if(n-o<100){return}}}catch(j){}if(m>=f.left&&m<=f.left+k.gridmenu.width()){if(l>=f.top&&l<=f.top+k.gridmenu.height()){return}}var h=false;if(k.columnmenuclosing){var g=b.data(document.body,"contextmenu"+k.element.id);if(!g){g={column:{displayfield:null}}}h=k.columnmenuclosing(k.gridmenu,g.column.displayfield,b(k.gridmenu).height());if(h===false){return}}k.gridmenu.jqxMenu("close")},_handlemenueevents:function(){var d=this.that;this.removeHandler(this.gridmenu,"closed");this.addHandler(this.gridmenu,"closed",function(e){d._closemenu()});this.removeHandler(this.gridmenu,"itemclick");this.addHandler(this.gridmenu,"itemclick",function(h){var g=h.args;for(var e=0;e<d.menuitemsarray.length;e++){var j=d.menuitemsarray[e];if(g==j){if(b(g).attr("ignoretheme")!=undefined){return}var k=b.data(document.body,"contextmenu"+d.element.id);var f=k.column;if(d.filterable){d.gridmenu.jqxMenu("close")}var m=f.displayfield;if(m==null){m=f.datafield}if(k!=null){switch(e){case 0:d.sortby(m,"ascending",null);break;case 1:d.sortby(m,"descending",null);break;case 2:d.sortby(m,null,null);break;case 3:d.addgroup(m);break;case 4:d.removegroup(m);break;case 5:var l=b(d.menuitemsarray[6]);b(l).css("display","block");break;case 7:break}}break}}})},getdatainformation:function(){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}return{rowscount:d,sortinformation:this.getsortinformation(),paginginformation:this.getpaginginformation()}},getsortinformation:function(){return{sortcolumns:this.getsortcolumns?this.getsortcolumns():[],sortcolumn:this.sortcolumn,sortdirection:this.sortdirection}},getpaginginformation:function(){return{pagenum:this.dataview.pagenum,pagesize:this.pagesize,pagescount:Math.ceil(this.dataview.totalrecords/this.pagesize)}},_updaterowsproperties:function(){this._updatehiddenrows();this._updaterowheights();this._updaterowdetails()},_updatehiddenrows:function(){var e=this.that;this.hiddens=new Array();var d=this.hiddenboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.hiddens[h]=this.hidden}})},_updaterowheights:function(){var e=this.that;this.heights=new Array();var d=this.heightboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.heights[h]=this.height}})},_updaterowdetails:function(){var d=this.that;this.details=new Array();var e=this.detailboundrows;b.each(e,function(g){if(this.index!=undefined){var f=this.index;var h=d.getrowvisibleindex(g);d.details[h]=this.details}})},_getmenuitembyindex:function(d){if(d==undefined){return null}return this.menuitemsarray[d]},openmenu:function(e){if(this._openingmenu){return}this._openingmenu=true;this.closemenu();var h=this.getcolumn(e);if(!h.menu){return false}if(!this.gridmenu){this._initmenu()}var d=h.columnsmenu;b(h.element).trigger("mouseenter");this.menuOwner=h;var g=this;for(var f=0;f<g.columns.records.length;f++){if(g.columns.records[f].datafield!=e){b(g.columns.records[f].element).trigger("mouseleave")}}setTimeout(function(){if(b(d)[0].style.display=="block"){b(d).trigger("click")}g._openingmenu=false},200)},closemenu:function(){this._closemenu()},_closemenu:function(){if(this._hasOpenedMenu){var f=false;if(this.columnmenuclosing){var i=b.data(document.body,"contextmenu"+this.element.id);if(!i){i={column:{displayfield:null}}}f=this.columnmenuclosing(this.gridmenu,i.column.displayfield,b(this.gridmenu).height());if(f===false){return}}if(this.gridmenu!=null){this.gridmenu.jqxMenu("close")}var i=b.data(document.body,"contextmenu"+this.element.id);var e=16;if(i!=null&&this.autoshowcolumnsmenubutton){if(this.enableanimations){b(i.columnsmenu).animate({"margin-left":0},"fast",function(){b(i.columnsmenu).css("display","none")});var h=!this.rtl?-32:0;i.column.iconscontainer.animate({"margin-left":h},"fast")}else{b(i.columnsmenu).css("display","none");var h=!this.rtl?-32:0;i.column.iconscontainer.css("margin-left",h)}b.data(document.body,"contextmenu"+this.element.id,null)}this._hasOpenedMenu=false;this.menuOwner=null;var k=this._getmenuitembyindex(5);if(k){var j=b(k).find("#filter1"+this.element.id);var d=b(k).find("#filter2"+this.element.id);var g=b(k).find("#filter3"+this.element.id);if(j.length>0&&this.filtermode==="default"){j.jqxDropDownList("hideListBox");if(d.length>0){d.jqxDropDownList("hideListBox")}if(g.length>0){g.jqxDropDownList("hideListBox")}}}this.focus()}},scrolloffset:function(e,d){if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(d){if(d==null||d==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",d)}},scrolltop:function(d){if(d==null||d==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",d)}},beginupdate:function(e,d){this._updating=true;this._datachanged=false;if(e===true){this._batchupdate=true}if(d===true){this._stopbindings=true}},endupdate:function(){this.resumeupdate()},resumeupdate:function(){this._updating=false;if(this._batchupdate){this._batchupdate=false;this._datachanged=false;if(!this._stopbindings){this.render()}else{this.updatebounddata()}return}if(this._stopbindings){this.updatebounddata("data");return}if(this._datachanged==true){var d=this.vScrollInstance.value;this.render(true,true,false);this._datachanged=false;if(d!=0&&d<this.vScrollInstance.max){this.scrolltop(d)}}else{this.rendergridcontent(true);this._renderrows(this.virtualsizeinfo)}if(this.showaggregates&&this.renderaggregates){this.renderaggregates()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)},updating:function(){return this._updating},showloadelement:function(){if(this.renderloadelement){this.dataloadelement.html(this.renderloadelement())}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block")},hideloadelement:function(){b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")},_updatefocusedfilter:function(){var d=this.that;if(d.focusedfilter){d.focusedfilter.focus();setTimeout(function(){d.focusedfilter.focus();if(d.focusedfilter[0].nodeName.toLowerCase()=="input"){var g=d.focusedfilter.val().length;try{if("selectionStart" in d.focusedfilter[0]){d.focusedfilter[0].setSelectionRange(g,g)}else{var e=d.focusedfilter[0].createTextRange();e.collapse(true);e.moveEnd("character",g);e.moveStart("character",g);e.select()}}catch(f){}}},50)}},databind:function(h,j){if(this.loadingstate===true){return}if(this._stopbindings===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoshowloadelement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this._hideemptyrow()}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}if(!this._initgroupsheader&&this.groups.length>0){this.groups=new Array()}var g=this.that;if(h==null){h={}}if(!h.recordstartindex){h.recordstartindex=0}if(!h.recordendindex){h.recordendindex=0}if(h.loadallrecords==undefined||h.loadallrecords==null){h.loadallrecords=true}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataview();if(b.jqx.dataview.sort){b.extend(this.dataview,new b.jqx.dataview.sort())}if(b.jqx.dataview.grouping){b.extend(this.dataview,new b.jqx.dataview.grouping())}this.dataview.suspendupdate();this.dataview.pageable=this.pageable;this.dataview.groupable=this.groupable;this.dataview.groups=this.groups;this.dataview.virtualmode=this.virtualmode;this.dataview.grid=this;this.dataview._clearcaches();if(!this.pageable&&this.virtualmode){this.loadondemand=true}if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pagesize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pagesize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}if(this.filterable){if(this.columns){b.each(this.columns,function(){if(this.filter){g.dataview.addfilter(this.datafield,this.filter)}})}}}this._loading=true;this.dataview.update=function(q){if(!g.pageable&&g.virtualmode){g.loadondemand=true}g._loading=false;if(g.dataview.isupdating()){g.dataview.resumeupdate(false)}if(g.pageable&&g.pagerrenderer){if(g._initpager){g._initpager()}else{throw new Error("jqxGrid: Missing reference to jqxgrid.pager.js.")}}if((g.source&&g.source.sortcolumn)&&g.sortby&&!g.virtualmode){g.render();if(!g.source._source.sort){g.sortby(g.source.sortcolumn,g.source.sortdirection,g.source.sortcomparer)}g.source.sortcolumn=null;g._postrender("data")}else{var s=g.vScrollInstance.value;var p=g.hScrollInstance.value;var m=g.source?g.source.datatype:"array";if(m!="local"||m!="array"){var n=g.virtualsizeinfo==null||(g.virtualsizeinfo!=null&&g.virtualsizeinfo.virtualheight==0);if(j=="cells"){var k=false;if(g.filterable&&g._initfilterpanel&&g.dataview.filters.length){k=true}if(false==q){if(!g.vScrollInstance.isScrolling()&&!g.hScrollInstance.isScrolling()){g._cellscache=new Array();g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);if(g.showfilterrow&&g.filterable&&g.filterrow){g._updatelistfilters(true)}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}}if(g.sortcolumn){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.virtualmode&&!g._loading){g.loadondemand=true;g._renderrows(g.virtualsizeinfo)}g._postrender("data");return}else{if(k){j="filter"}else{if(g.sortcolumn!=undefined){j="sort"}}}}if(!g.virtualmode||n||(g.virtualmode&&g.pageable)){if(g.initializedcall==true&&j=="pagechanged"){s=0;if(g.groupable&&g.groups.length>0){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{g.rendergridcontent(true);if(g.pageable&&g.updatepagerdetails){g.updatepagerdetails();if(g.autoheight){g._updatepageviews();if(g.autorowheight){g._renderrows(this.virtualsizeinfo)}}else{if(g.autorowheight){g._updatepageviews();g._renderrows(this.virtualsizeinfo)}}}}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(j=="filter"){if(g.virtualmode){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}else{g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}}else{if(j=="sort"){if(g.virtualmode){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{g._render(true,true,false,false,false);if(g.sortmode==="many"){for(var r in g.sortcolumns){g.sortby(r,g.sortcolumns[r],g.source.sortcomparer)}}else{if(g.sortcolumn&&!g.source.sort){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}}g._postrender("data")}if(g.source.sort){g._updatefocusedfilter()}}else{if(j=="data"){g._render(true,true,false,false,false);g._postrender("data")}else{if(j=="state"){g._render(true,true,false,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}else{g._render(true,true,true,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}}}}}}else{if(g.virtualmode&&q==true&&!g.pageable){g._render(true,true,false,false,false);g._updatefocusedfilter();g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{if(g.virtualmode&&!g.pageable&&q==false&&j!=undefined){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(g.virtualmode&&g.dataview.totalrecords==0&&g.dataview.filters.length>0){g._render(true,true,true,g.menuitemsarray&&!g.virtualmode);g._postrender("data")}else{g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);g._postrender("data")}}}}if(g.vScrollInstance.value!=s&&s<=g.vScrollInstance.max){g.vScrollInstance.setPosition(s)}if(g.hScrollInstance.value!=p&&p<=g.hScrollInstance.max){g.hScrollInstance.setPosition(p)}}}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(g.pagerrightbutton){g.pagerrightbutton.jqxButton({disabled:false});g.pagerleftbutton.jqxButton({disabled:false});g.pagershowrowscombo.jqxDropDownList({disabled:false})}if(g.pagerfirstbutton){g.pagerfirstbutton.jqxButton({disabled:false});g.pagerlastbutton.jqxButton({disabled:false})}}g._raiseEvent(11);if(!g.initializedcall){var o=function(){g._raiseEvent(0);g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if(g.sortmode==="many"&&g.sortable){if(g.source.sortcolumns){var v=g.source.sortcolumns;for(var u=0;u<v.length;u++){g.sortby(v[u],g.source.sortdirections[u]==="asc"?true:false)}}}if(g.renderstatusbar){g.renderstatusbar(g.statusbar)}if(g.rendertoolbar){g.rendertoolbar(g.toolbar)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var t=6000+Math.floor((Math.random()*4000)+1);var w=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(w)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},t)}if(g.autoloadstate){if(g.loadstate){g.loadstate(null,true)}}};if(!b.jqx.isHidden(g.host)){o()}else{if(g.readyInterval){clearInterval(g.readyInterval)}g.readyInterval=setInterval(function(){if(!b.jqx.isHidden(g.host)){if(g.__isRendered){clearInterval(g.readyInterval);g.readyInterval=null;o();g._initmenu()}}},200)}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){}if(g.host.css("visibility")=="hidden"){var l=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(!g.autowidth){if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}else{g._updateTouchScrolling()}};this.dataview.databind(h);if(this.dataview.isupdating()){if(e!=undefined){this.dataview.suspend=false}else{this.dataview.resumeupdate(false)}}this._initializeRows()},scrollto:function(e,d){if(undefined!=e){this.hScrollInstance.setPosition(e)}if(undefined!=d){this.vScrollInstance.setPosition(d)}},scrollposition:function(){return{top:this.vScrollInstance.value,left:this.hScrollInstance.value}},ensurerowvisible:function(l){var k=this;if(this.autoheight&&!this.pageable){return true}var f=this._getpagesize();var j=Math.floor(l/f);if(!this._pageviews[j]&&!this.pageable){this._updatepageviews()}if(this.groupable&&this.groups.length>0){var n=this.getdisplayrows();var o=0;for(var g=0;g<n.length;g++){var t=n[g];if(t.boundindex===l){var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;if(o<q||o>q+r){this.scrolltop(o-this.rowsheight)}if(o===q){this.scrolltop(o-this.rowsheight)}break}var e=function(i){if(i.group){if(k.expandedgroups[i.uniqueid]){return k.expandedgroups[i.uniqueid].expanded}}else{return false}};var p=t.parentItem;var h=true;while(p){if(p&&!e(p)){h=false;break}p=p.parentItem}if(h){o+=this.rowsheight;if(this.details[g]){if(this.details[g].rowdetailshidden==false){o+=this.details[g].rowdetailsheight}}}}return true}var s=false;if(this.pageable&&this.gotopage&&!this.virtualmode){var j=Math.floor(l/f);if(this.dataview.pagenum!=j){if(this.groupable&&this.groups.length>0){return true}if(!this.editcell){this.gotopage(j)}else{setTimeout(function(){k.pagerpageinput.focus()},25);return false}s=true}}var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;var d=f*(l/f-j);d=Math.round(d);if(this._pageviews[j]){var o=this._pageviews[j].top;var m=o+d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<l;g++){if(this.details[g]){if(this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}}if(this.scrollmode=="deferred"){if(this.vScrollInstance.max<=m+this.rowsheight){m=this.vScrollInstance.max}}if(m<q){this.scrolltop(m);s=true}else{if(m>q+r+2){this.scrolltop(m-r);s=true}else{}}}else{if(this.pageable){var m=d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<f*j+d;g++){if(this.details[g]&&this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}if(m<q||m>q+r){this.scrollto(0,m);s=true}}}return s},ensurecellvisible:function(h,d){var n=this.that;var i=this.hScrollBar.jqxScrollBar("value");var j=n.hScrollInstance.max;if(n.rtl){if(this.hScrollBar.css("visibility")!="visible"){j=0}}var o=this.ensurerowvisible(h);var e=0;if(this.columns.records){var m=i;if(this.hScrollBar.css("visibility")=="hidden"){return}var l=this.host.width();var k=0;var f=this.vScrollBar.css("visibility")=="visible"?20:0;var g=false;b.each(this.columns.records,function(){if(this.hidden){return true}if(this.datafield==d){var q=0;var p=!n.rtl?m:j-i;if(e+this.width>p+l-f){q=e+this.width-l+f;if(n.rtl){q=j-q}n.scrollleft(q);g=true}else{if(e<=p){q=e-this.width;if(n.rtl){q=j-q}n.scrollleft(q);g=true}}if(k==0){if(n.rtl){n.scrollleft(j)}else{n.scrollleft(0)}g=true}else{if(k==n.columns.records.length-1){if(n.hScrollBar.css("visibility")=="visible"){if(!n.rtl){n.scrollleft(n.hScrollBar.jqxScrollBar("max"))}else{n.scrollleft(n.hScrollBar.jqxScrollBar("min"))}g=true}}}return false}k++;e+=this.width});if(!g){n.scrollleft(m)}}return o},setrowheight:function(e,d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(e==null||d==null){return false}this.heightboundrows[e]={index:e,height:d};e=this.getrowvisibleindex(e);if(e<0){return false}if(this.rows.records[e]){this.rows.records[e].height=d}else{var f=new a(this,null);f.height=d;this.rows.replace(e,f)}this.heights[e]=d;this.rendergridcontent(true);return true},getrowheight:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(d<0){return false}if(this.rows.records[d]){return this.rows.records[d].height}},setrowdetails:function(f,h,d,j){if(f==undefined||f==null||f<0){return}var e=f+"_";if(this._rowdetailscache[e]){var g=this._rowdetailscache[e].element;b(g).remove();this._rowdetailscache[e]=null}var i=this.dataview.generatekey();this.detailboundrows[f]={index:f,details:{rowdetails:h,rowdetailsheight:d,rowdetailshidden:j,key:i}};f=this.getrowvisibleindex(f);if(f<0){return false}return this._setrowdetails(f,h,d,j,i)},getcolumn:function(d){var e=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}else{if(this.columns){b.each(this.columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}}return e},_getcolumnindex:function(e){var d=-1;if(this.columns.records){b.each(this.columns.records,function(){d++;if(this.datafield==e){return false}})}return d},_getcolumnat:function(d){var e=this.columns.records[d];return e},_getprevvisiblecolumn:function(e){var d=this.that;while(e>0){e--;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},_getnextvisiblecolumn:function(e){var d=this.that;while(e<this.columns.records.length){e++;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},getcolumnat:function(d){if(!isNaN(d)){var e=this.columns.records[d];return e}return null},_getcolumn:function(d){var e=null;b.each(this._columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}});return e},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}g=g.toLowerCase();var f=this.getcolumn(e);if(f==null){return}var i=f[g];f[g]=h;var d=this._getcolumn(e);if(d!=null){d[g]=h}this._cellscache=new Array();switch(g){case"filteritems":if(this.filterable&&this.showfilterrow){this._updatelistfilters(true,true)}break;case"text":this.prerenderrequired=true;this._rendercolumnheaders();this._updatecellwidths();if(this._groupsheader()){if(this._initgroupsheader){this._initgroupsheader()}}this._renderrows(this.virtualsizeinfo);if(this.filterable&&this.showfilterrow){this.refreshfilterrow()}break;case"editable":case"resizable":case"draggable":if(g=="editable"){if(h!=i){if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,true)}if(f.columntype=="checkbox"){this.prerenderrequired=true;this.rendergridcontent(true,false);if(this.updating()){return false}}if(this.updating()){return false}this._renderrows(this.virtualsizeinfo)}}break;case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"classname":case"class":this.prerenderrequired=true;if(g=="pinned"){this._initializeColumns();this._preparecolumngroups()}this.rendergridcontent(true);if(this.updating()){return false}if(g=="hidden"){this._updatecolumnwidths();this._updatecellwidths()}this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}break;case"width":case"minwidth":case"maxwidth":if(this.updating()){return false}f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);break}},_getcolumnproperty:function(d,f){if(d==null||f==null){return null}f=f.toLowerCase();var e=this.getcolumn(d);return e[f]},setcolumnproperty:function(d,e,f){this._setcolumnproperty(d,e,f)},getcolumnproperty:function(d,e){return this._getcolumnproperty(d,e)},hidecolumn:function(d){this._setcolumnproperty(d,"hidden",true)},showcolumn:function(d){this._setcolumnproperty(d,"hidden",false)},iscolumnvisible:function(d){return !this._getcolumnproperty(d,"hidden")},pincolumn:function(d){this._setcolumnproperty(d,"pinned",true)},unpincolumn:function(d){this._setcolumnproperty(d,"pinned",false)},iscolumnpinned:function(d){return this._getcolumnproperty(d,"pinned")},_setrowdetails:function(j,d,n,h,e){if(n==0){n=100}if(j==null||n==null){return false}if(e!=null){this.details[j]={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:e}}else{var m=this.details[j]!=null?this.details[j].detailskey:null;var l={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:m};var k=this.that;for(var g=0;g<this.detailboundrows.length;g++){if(this.detailboundrows[g]!=undefined){var f=this.detailboundrows[g];if(f.details.detailskey==m){f.details.rowdetailsheight=l.rowdetailsheight;f.details.rowdetailshidden=l.rowdetailshidden;f.details.rowdetails=l.rowdetails;break}}}this.details[j]=l}if(this._detailsUpdate){return}this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);return true},getrowdetails:function(d){if(d==null){return false}d=this.getrowvisibleindex(d);return this._getrowdetails(d)},_getrowdetails:function(d){if(d==null){return false}if(d<0){return false}if(this.details[d]){return this.details[d]}if(this.rowdetailstemplate){if(typeof this.rowdetailstemplate==="function"){var e=this.rowdetailstemplate(d);if(e.rowdetailshidden===undefined){e.rowdetailshidden=true}if(e.rowdetailsheight===undefined){e.rowdetailsheight=200}if(e.rowdetails===undefined){e.rowdetails="<div></div>"}return e}return this.rowdetailstemplate}},getrecordscount:function(){return this.dataview.totalrecords},showrowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=false;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,false)},hiderowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=true;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,true)},_togglerowdetails:function(j){if(!this.detailsVisibility){this.detailsVisibility=new Array()}var f=j.visibleindex;var g=this._getrowdetails(f);if(g!=null){var e=this.vScrollInstance.value;var i=!g.rowdetailshidden;var h=this.getboundindex(j);if(h!=undefined){this.detailsVisibility[h]=i}var d=this._setrowdetailsvisibility(f,g,i);if(e!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(e<=this.vScrollInstance.max){this.vScrollInstance.setPosition(e)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return d}return false},_setrowdetailsvisibility:function(e,f,i){if(this.rowdetailstemplate){if(!this.details){this.details=new Array()}if(!this.details[e]){var g=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(e):this.rowdetailstemplate;if(undefined===g.rowdetailshidden){g.rowdetailshidden=true}if(undefined===g.rowdetailsheight){g.rowdetailsheight=200}if(undefined===g.rowdetails){g.rowdetails="<div></div>"}this.details[e]={rowdetailshidden:g.rowdetailshidden,rowdetailsheight:g.rowdetailsheight,rowdetails:g.rowdetails};var h=this.dataview.generatekey();this.details[e].detailskey=h;this.detailboundrows[e]={index:e,details:this.details[e]}}}if(f!=null){this.details[e].rowdetailshidden=i}else{return false}var d=this.details[e];if(i){this._raiseEvent(21,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}else{this._raiseEvent(20,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}return this._setrowdetails(e,d.rowdetails,d.rowdetailsheight,d.rowdetailshidden)},getrowvisibleindex:function(d){if(d==undefined||d==null||d<0){return false}if(this.virtualmode){var e=this.dataview.loadedrecords[d];if(e==undefined){return -1}return e.visibleindex}return this.getrowdisplayindex(d)},hiderow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:true};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,true)},showrow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:false};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,false)},isrowhiddenat:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(this.rows.records[d]){return this.rows.records[d].hidden}},_setrowvisibility:function(d,f,e){if(d==null){return false}this.hiddens[d]=f;if(e==undefined||e){this.rendergridcontent(true);return true}return false},_loadrows:function(){if(!this._pageviews[this.dataview.pagenum]&&!this.pageable){return}var k=!this.pageable?this._pageviews[this.dataview.pagenum].top:0;if(!this.pageable&&this._pagescache[this.dataview.pagenum]!=undefined){return null}if(!this.virtualsizeinfo){return}var l=this.that;var s=new Array();var j=new Array();var u=l.groupable&&l.groups.length>0;var d=this.dataview.totalrecords;var m=this.virtualsizeinfo.virtualheight;var e=0;this.rows.beginupdate();var n=this.dataview.pagesize;if(this.pageable&&u){n=this.dataview.rows.length}for(var o=0;o<n;o++){if(o>=this.dataview.rows.length){break}var f=this.dataview.rows[o];var g=null;if(!l.rows.records[f.visibleindex]){g=new a(l,f)}else{g=l.rows.records[f.visibleindex];g.setdata(f)}g.hidden=this.hiddens[g.visibleindex];if(this.rowdetailstemplate){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(g.boundindex):this.rowdetailstemplate;g.rowdetails=v.rowdetails;g.rowdetailsheight=v.rowdetailsheight;g.rowdetailshidden=v.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}var r=this.details[g.visibleindex];if(r){g.rowdetails=r.rowdetails;g.rowdetailsheight=r.rowdetailsheight;g.rowdetailshidden=r.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}else{if(!this.rowdetailstemplate){g.rowdetails=null}}if(u&&this.pageable&&g.parentbounddata!=null){var p=s[g.parentbounddata.uniqueid];if(p!=null){var q=this._findgroupstate(p.uniqueid);if(this._setsubgroupsvisibility){this._setsubgroupsvisibility(this,g.parentbounddata,!q,false)}g.hidden=this.hiddens[g.visibleindex]}if(p!=null&&p!=undefined){g.parentrow=p;p.subrows[p.subrows.length++]=g}}if(g.hidden){continue}var h=f.visibleindex;if(!this.heights[h]){this.heights[h]=this.rowsheight}g.height=this.heights[h];if(this.rowdetails){if(g.rowdetails&&!g.rowdetailshidden){g.height+=g.rowdetailsheight}}s[g.uniqueid]=g;j[e++]=g;g.top=k;k+=g.height;var t=h;l.rows.replace(t,g)}if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews&&this._pageviews.length>0){this._pageviews[0].height=k}}this.rows.resumeupdate();if(j.length>0){this._pagescache[this.dataview.pagenum]=j}},_updateaddnewrowui:function(g){var m=this;var k=m.everpresentrowposition!="bottom"?m.addnewrowtop:m.addnewrowbottom;var o=m.columns.records.length;var f=0;for(var l=0;l<o;l++){var h=m.columns.records[l];if(h.addnewrowwidget){b(h.addnewrowwidget).detach()}}for(var l=0;l<o;l++){var h=m.columns.records[l];var e=h.width;if(e<h.minwidth){e=h.minwidth}if(e>h.maxwidth){e=h.maxwidth}var n=b(k[0].cells[l]);n.css("left",f);var i=true;if(n.width()==e){i=false}if(g){i=true}n.width(e);n[0].left=f;if(h.addnewrowwidget){n.html("");n.append(h.addnewrowwidget)}if(!(h.hidden&&h.hideable)&&!h.adaptivehidden){f+=e}else{n.css("display","none")}if(!i){continue}}var p=m.everpresentrowactions.split(" ");m.addnewrowbutton.show();m.addnewrowupdatebutton.show();m.addnewrowresetbutton.show();m.addnewrowdeletebutton.show();if(p.indexOf("add")==-1&&p.indexOf("addBottom")==-1){m.addnewrowbutton.hide()}if(p.indexOf("update")==-1){m.addnewrowupdatebutton.hide()}if(p.indexOf("reset")==-1){m.addnewrowresetbutton.hide()}if(p.indexOf("delete")==-1){m.addnewrowdeletebutton.hide()}var d=b(k.children()[0]);d.width(parseInt(f)+2);d.height(m.everpresentrowheight);d.css("max-height",m.everpresentrowheight+"px")},_removeaddnewrow:function(){var g=this;var d=g.columns.records.length;for(var f=0;f<d;f++){var e=g.columns.records[f];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}else{e.addnewrowwidget.remove()}e.addnewrowwidget=null}}if(g.addnewrowbutton){g.addnewrowbutton.remove()}if(g.addnewrowupdatebutton){g.addnewrowupdatebutton.remove()}if(g.addnewrowdeletebutton){g.addnewrowdeletebutton.remove()}if(g.addnewrowresetbutton){g.addnewrowresetbutton.remove()}if(g.addnewrowpopup){g.addnewrowpopup.remove();g.addnewrowpopup=null}if(g.addnewrowtop){g.addnewrowtop.remove();g.addnewrowtop=null}if(g.addnewrowbottom){g.addnewrowbottom.remove();g.addnewrowbottom=null}},_updateaddnewrow:function(){var o=this;var f=o.everpresentrowposition!="bottom"?o.addnewrowtop:o.addnewrowbottom;var t=b('<div style="position: relative;" id="row000'+o.element.id+'"></div>');var i=0;var z=o.columns.records.length;var n=o.toThemeProperty("jqx-grid-cell");n+=" "+o.toThemeProperty("jqx-grid-cell-add-new-row");n+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");var m=z+10;var h=new Array();var D=o.that;f[0].cells=h;t.height(o.everpresentrowheight);if(!o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-1)+"px")}else{if(o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-3)+"px")}}t.css("max-height",o.everpresentrowheight+"px");f.append(t);var C=b("<div style='border-width: 1px; border-style: solid; padding: 5px; z-index: 99; display: none; position: absolute;'><div>").appendTo(b(document.body));var d=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.addrowstring+"</button>");var q=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.udpaterowstring+"</button>");var k=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.deleterowstring+"</button>");var p=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.resetrowstring+"</button>");C.addClass(o.toThemeProperty("jqx-popup"));C.addClass(o.toThemeProperty("jqx-rc-all"));C.addClass(o.toThemeProperty("jqx-fill-state-normal"));C.addClass(o.toThemeProperty("jqx-shadow"));C.append(d);C.append(q);C.append(k);C.append(p);var g=o.everpresentrowactions.split(" ");if(g.indexOf("add")==-1&&g.indexOf("addBottom")==-1){d.hide()}if(g.indexOf("update")==-1){q.hide()}if(g.indexOf("reset")==-1){p.hide()}if(g.indexOf("delete")==-1){k.hide()}o.addnewrowpopup=C;o.addnewrowbutton=d;o.addnewrowupdatebutton=q;o.addnewrowdeletebutton=k;o.addnewrowresetbutton=p;d.jqxButton({template:"success",theme:o.theme});k.jqxButton({template:"danger",theme:o.theme});q.jqxButton({template:"primary",theme:o.theme});p.jqxButton({template:"warning",theme:o.theme});q.mousedown(function(E){var Q={};var J={};for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);J[F.datafield]=M;if(F.datafield!=F.displayfield){J[F.datafield]=M.value;J[F.displayfield]=M.label}}var L=false;for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);if(F.createeverpresentrowwidget&&F.validateeverpresentrowwidgetvalue){var K=F.validateeverpresentrowwidgetvalue(F.displayfield,M,J);var P=K;var I=o.gridlocalization.validationstring;if(P.message!=undefined){I=P.message}var O=typeof P=="boolean"?P:P.result;if(!O){M="invalid editor state";F.addnewrowwidget.attr("title",I);F.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{F.addnewrowwidget.attr("title","");F.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){E.preventDefault();E.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);Q[F.datafield]=M;if(F.datafield!=F.displayfield){Q[F.datafield]=M.value;Q[F.displayfield]=M.label}if(F.reseteverpresentrowwidgetvalue){F.reseteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget)}}if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var N=o.getselectedcells()[0].rowindex}else{var N=o.selectedrowindexes[0]}var G=o.getrowdata(N);if(G){o.updaterow(G.uid,Q)}}C.hide();o.focus()});k.mousedown(function(G){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var I=o.getselectedcells()[0].rowindex}else{var I=o.selectedrowindexes[0]}var H=o.getrowdata(I);if(H){o.deleterow(H.uid)}}for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}}C.hide();o.focus();o.updateeverpresentrow()});d.mousedown(function(F){var P={};var J={};for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);J[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.value;J[G.displayfield]=M.label}if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}}var L=false;for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);if(G.createeverpresentrowwidget&&G.validateeverpresentrowwidgetvalue){var K=G.validateeverpresentrowwidgetvalue(G.displayfield,M,J);var O=K;var I=o.gridlocalization.validationstring;if(O.message!=undefined){I=O.message}var N=typeof O=="boolean"?O:O.result;if(!N){M="invalid editor state";G.addnewrowwidget.attr("title",I);G.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{G.addnewrowwidget.attr("title","");G.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){F.preventDefault();F.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);P[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}if(G.reseteverpresentrowwidgetvalue){G.reseteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget)}}var E=o.everpresentrowactions.indexOf("addBottom")>=0?"last":"first";o.addrow(null,P,E);C.hide();o.focus()});p.mousedown(function(G){var H={};for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}if(E.addnewrowwidget){E.addnewrowwidget.attr("title","");E.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}C.hide();o.focus()});for(var w=0;w<z;w++){var x=o.columns.records[w];var u=x.width;if(u<x.minwidth){u=x.minwidth}if(u>x.maxwidth){u=x.maxwidth}var e=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+n+'"></div>');t.append(e);e.css("left",i);if(o.rtl){e.css("z-index",m++);e.css("border-left-width","1px")}else{e.css("z-index",m--)}if(u=="auto"){u=0}e[0].style.width=parseFloat(u)+"px";e[0].left=i;if(!(x.hidden&&x.hideable)&&!x.adaptivehidden){i+=u}else{e.css("display","none")}h[h.length]=e[0];if(x.checkboxcolumn){var B=o.toThemeProperty("jqx-grid-cell");B+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");B+=" "+o.toThemeProperty("jqx-grid-cell-pinned");e.removeClass().addClass(B);continue}var s=true;if(!o.rtl){if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y>w){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==0){s=false}}else{if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y+w>z-1){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==z-1){s=false}}o.updateeverpresentrow=function(){var G=null;if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var H=o.getselectedcells()[0].rowindex}else{var H=o.selectedrowindexes[0]}G=o.getrowdata(H)}if(!G){return}for(var F=0;F<o.columns.records.length;F++){var j=o.columns.records[F];if(j.seteverpresentrowwidgetvalue){var E=o.getcelltext(H,j.displayfield);j.seteverpresentrowwidgetvalue(j.addnewrowwidget,E)}}};if(s){if(x.createeverpresentrowwidget){var v=function(){d.trigger("mousedown")};x.addnewrowwidget=x.createeverpresentrowwidget(x.datafield,e,C,v);if(x.initeverpresentrowwidget){x.initeverpresentrowwidget(x.datafield,e,C)}}else{o._measureElement("column");var r=(o.everpresentrowheight/2-o._columnheight/2);if(r<0){r=6}r+="px";if(x.datafield==="addButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.addrowstring+"</a></div>");e.append(l);l.mousedown(function(){d.trigger("mousedown")});continue}else{if(x.datafield==="resetButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.resetrowstring+"</a></div>");e.append(l);l.mousedown(function(){p.trigger("mousedown")});continue}}var A=function(F,H,j){var E=b('<input style="box-sizing: border-box; padding-right: 4px; padding-left: 4px; border:none;" autocomplete="off" type="textarea"/>');E[0].id=b.jqx.utilities.createId();E.addClass(F.toThemeProperty("jqx-widget"));E.addClass(F.toThemeProperty("jqx-input"));E.addClass(F.toThemeProperty("jqx-widget-content"));E.addClass(F.toThemeProperty("jqx-enableselect"));E.addClass(F.toThemeProperty("jqx-grid-cell-add-new-row"));E.css("text-align",j.cellsalign);if(F.rtl){E.css("direction","rtl")}if(F.disabled){E.attr("disabled",true)}E.attr("disabled",false);E.attr("placeholder",F.gridlocalization.everpresentrowplaceholder+j.text);E.appendTo(H);E.css("width","100%");E.css("height",F.everpresentrowheight+"px");E.css("line-height",F.everpresentrowheight+"px");E.css("max-height",F.everpresentrowheight+"px");E.css("margin","0px");E.focus(function(){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var K=o.getselectedcells()[0].rowindex}else{var K=o.selectedrowindexes[0]}}E.addClass(F.toThemeProperty("jqx-fill-state-focus"));var I=F.columns.records.indexOf(j);if(F.everpresentrowactionsmode!=="columns"){C.css({display:"block",top:E.coord().top+F.everpresentrowheight-1,left:I>0?E.coord().left:E.coord().left-1})}var J=C.children().width();if(j.cellsalign==="right"){var J=d.width()+p.width();C.children().css("left",J-J+"px")}else{C.children().css("left","0px")}F.content[0].scrollLeft=0;F.content[0].scrollTop=0;setTimeout(function(){F.content[0].scrollLeft=0;F.content[0].scrollTop=0},50);return false});j.addnewrowwidget=E;if(!j.reseteverpresentrowwidgetvalue){j.reseteverpresentrowwidgetvalue=function(J,I){I.val("");I.focus();I.blur();I.removeClass(o.toThemeProperty("jqx-input-invalid"));I.attr("title","")}}if(!j.seteverpresentrowwidgetvalue){j.seteverpresentrowwidgetvalue=function(J,I){J.val(I)}}if(!j.geteverpresentrowwidgetvalue){var G=j;j.geteverpresentrowwidgetvalue=function(I,P,R){var U=P.val();if(R!==false&&G.validateeverpresentrowwidgetvalue){var Y={};var O={};for(var M=0;M<z;M++){var K=o.columns.records[M];if(!K.geteverpresentrowwidgetvalue){continue}var Q=K.geteverpresentrowwidgetvalue(K.displayfield,K.addnewrowwidget,false);O[K.datafield]=Q;if(K.datafield!=K.displayfield){O[K.datafield]=Q.value;O[K.displayfield]=Q.label}}var T=G.validateeverpresentrowwidgetvalue(G.displayfield,U,O);var X=T;var N=o.gridlocalization.validationstring;if(X.message!=undefined){N=X.message}var W=typeof X=="boolean"?X:X.result;if(!W){E.addClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title",N);return"invalid editor state"}else{E.removeClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title","")}}var S="string";var J=o.source.datafields||((o.source._source)?o.source._source.datafields:null);if(J){var V="";b.each(J,function(){if(this.name==G.displayfield){if(this.type){V=this.type}return false}});if(V){S=V}}if(S==="number"){var L=parseFloat(U);if(isNaN(L)){return null}}if(S==="date"){return b.jqx.dataFormat.tryparsedate(U,o.gridlocalization)}if(S==="bool"||S==="boolean"){if(U==="true"){return true}if(U=="1"){return true}if(U==="false"){return false}if(U=="0"){return false}if(U===true){return U}if(U===false){return U}return false}return U}}E.keydown(function(I){if(I.keyCode===13){if(o.everpresentrowactions.indexOf("add")>=0){d.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("update")>=0){q.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("delete")>=0){k.trigger("mousedown")}}}}});E.blur(function(){E.removeClass(F.toThemeProperty("jqx-fill-state-focus"));C.css("display","none")});if(j.initeverpresentrowwidget){j.initeverpresentrowwidget(j.datafield,H,C)}};A(this,e,x)}}}if(b.jqx.browser.msie&&b.jqx.browser.version<8){t.css("z-index",m--)}t.width(parseFloat(i)+2);f.addClass(n);f.css("border-bottom-width","0px");if(o.showfilterrow){f.css("border-top-width","0px")}else{f.css("border-top-width","1px")}f.css("box-sizing","border-box");f.css("border-right-width","0px")},_gettableheight:function(){if(this.tableheight!=undefined){return this.tableheight}var e=this.host.height();if(this.columnsheader){var d=this.columnsheader.outerHeight();if(!this.showheader){d=0}}e-=d;if(this.hScrollBar[0].style.visibility=="visible"){e-=this.hScrollBar.outerHeight()}if(this.pageable){e-=this.pager.outerHeight()}if(this._groupsheader()){e-=this.groupsheader.outerHeight()}if(this.showtoolbar){e-=this.toolbarheight}if(this.showstatusbar){e-=this.statusbarheight}if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){e-=this.everpresentrowheight}if(e>0){this.tableheight=e;return e}return this.host.height()},_getpagesize:function(){if(this.pageable){return this.pagesize}if(this.virtualmode){var e=Math.round(this.host.height())+2*this.rowsheight;var d=Math.round(e/this.rowsheight);return d}if(this.autoheight||this.autorowheight){if(this.dataview.totalrows==0){return 1}return this.dataview.totalrows}if(this.dataview.totalrows<100&&this.dataview.totalrecords<100&&this.dataview.totalrows>0){return this.dataview.totalrows}return 100},_calculatevirtualheight:function(){var p=this.that;var e=Math.round(this.host.height())+2*this.rowsheight;var k=this._gettableheight();var r=Math.round(e/this.rowsheight);this.heights=new Array();this.hiddens=new Array();this.details=new Array();this.expandedgroups=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();var h=Math.max(this.dataview.totalrows,this.dataview.totalrecords);if(this.pageable){h=this.pagesize;if(this.pagesize>Math.max(this.dataview.totalrows,this.dataview.totalrecords)&&this.autoheight){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}else{if(!this.autoheight){if(this.dataview.totalrows<this.pagesize){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}}}}var m=h*this.rowsheight;var n=0;var j=0;var l=0;var f=this._getpagesize();var d=f*this.rowsheight;var g=0;if(!this.pageable&&this.autoheight){r=h}if(h+f>0){while(g<=h+f){n+=d;if(g-f<h&&g>=h){var q=g-h;if(q>0){l-=d;this._pageviews[j-1]={top:l,height:d-q*this.rowsheight}}break}else{this._pageviews[j++]={top:l,height:d}}l=n;g+=f}}if(this.resizingGrid!=true){this.vScrollBar.jqxScrollBar({value:0})}if(this.hScrollBar.css("visibility")=="hidden"){var o=0;if(this.columns&&this.columns.records){for(var g=0;g<this.columns.records.length;g++){o+=!isNaN(this.columns.records[g].width)?this.columns.records[g].width:this.columns.records[g].minwidth}if(!isNaN(o)&&parseInt(o)>this.host.width()){k-=30}}}if(m>k&&!this.autoheight){this.vScrollBar.css("visibility","visible");if(this.scrollmode=="deferred"){this.vScrollBar.jqxScrollBar({max:m})}else{this.vScrollBar.jqxScrollBar({max:m-k})}}else{this.vScrollBar.css("visibility","hidden")}this.dataview.pagesize=f;this.dataview.updateview();return{visiblerecords:r,virtualheight:m}},_updatepageviews:function(){if(this.updating()){return}this._pagescache=new Array();this._pageviews=new Array();this.tableheight=null;var m=this.that;var h=Math.round(this.host.height())+2*this.rowsheight;var w=Math.round(h/this.rowsheight);var f=Math.max(this.dataview.totalrows,this.dataview.totalrecords);var n=f*this.rowsheight;var l=0;var q=0;var g=0;var p=0;var r=0;var o=this._getpagesize();if(!this.pageable){for(var t=0;t<f;t++){var d={index:t,height:this.heights[t],hidden:this.hiddens[t],details:this.details[t]};if(this.heights[t]==undefined){this.heights[t]=this.rowsheight;d.height=this.rowsheight}if(this.hiddens[t]==undefined){this.hiddens[t]=false;d.hidden=false}if(this.details[t]==undefined){this.details[t]=null}if(d.height!=m.rowsheight){n-=m.rowsheight;n+=d.height}if(d.hidden){n-=d.height}else{q+=d.height;var e=0;if(this.rowdetails){if(this.rowdetailstemplate){if(!d.details){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate():this.rowdetailstemplate;if(v.rowdetailshidden===undefined){v.rowdetailshidden=true}if(v.rowdetailsheight===undefined){v.rowdetailsheight=200}if(v.rowdetails===undefined){v.rowdetails="<div></div>"}d.details=v}}if(d.details&&d.details.rowdetails&&!d.details.rowdetailshidden){e=d.details.rowdetailsheight;q+=e;n+=e}}l+=d.height+e}r++;if(r>=o||t==f-1){this._pageviews[g++]={top:p,height:q};q=0;p=l;r=0}}}else{if(this._updatepagedview){n=this._updatepagedview(f,n,0)}if(this.autoheight){this._arrange()}}var j=this._gettableheight();if(n>j){if(this.pageable&&this.gotopage){n=this._pageviews[0].height;if(n<0){n=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(n<=j||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(n-j>0){if(this.scrollmode!="deferred"){var s=n-j;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(s!=u){this.vScrollBar.jqxScrollBar({value:0})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.autoheight){w=Math.round(this.host.height()/this.rowsheight)}this.virtualsizeinfo={visiblerecords:w,virtualheight:n}},updatebounddata:function(f){if(f!="data"&&f!="sort"&&f!="filter"&&f!="cells"&&f!="pagechanged"&&f!="pagesizechanged"&&!this.virtualmode){this.virtualsizeinfo=null;if(this.columns&&this.columns.records){for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.destroywidget&&e.widget){if(e.destroywidget){e.destroywidget(e.widget)}}}}if(this.showfilterrow&&this.filterable&&this.filterrow){if(this.clearfilters){this.clearfilters(false)}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}this.filterrow.remove();this._filterrowcache=new Array();this.filterrow=null}else{if(this.filterable){if(this.clearfilters){this.clearfilters(false)}}}if(this.showeverpresentrow){this._removeaddnewrow()}this.detailsVisibility=new Array();this.groupsVisibility=new Array();if(this.groupable){this.dataview.groups=[];this.groups=[]}if(this.pageable){this.pagenum=0;this.dataview.pagenum=0}if(this.sortable){this.sortcolumn=null;this.sortdirection="";this.dataview.sortfielddirection="";this.dataview.clearsortdata()}}this.databind(this.source,f)},refreshdata:function(){this._refreshdataview();this.render()},_updatevscrollbarmax:function(){if(this._pageviews&&this._pageviews.length>0){var f=this._pageviews[0].height;if(this.virtualmode||!this.pageable){f=this.virtualsizeinfo.virtualheight}var e=this._gettableheight();if(f>e){if(this.pageable&&this.gotopage){f=this._pageviews[0].height;if(f<0){f=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(f<=e||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(f-e>0){var d=f-e;this.vScrollBar.jqxScrollBar({max:d})}else{this.vScrollBar.jqxScrollBar({value:0,max:f})}}else{this.vScrollBar.css("visibility","hidden");this.vScrollBar.jqxScrollBar({value:0})}}},_refreshdataview:function(){this.dataview.refresh()},refresh:function(d){if(d!=true){if(b.jqx.isHidden(this.host)){return}if(this.virtualsizeinfo!=null){this._cellscache=new Array();this._renderrows(this.virtualsizeinfo);this._updatesize()}}},render:function(){this._render(true,true,true,true)},invalidate:function(){if(this.virtualsizeinfo){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}},clear:function(){this.databind(null);this.render()},_preparecolumngroups:function(){var o=this.columnsheight;if(this.columngroups){this.columnshierarchy=new Array();if(this.columngroups.length){var n=this;for(var h=0;h<this.columngroups.length;h++){this.columngroups[h].parent=null;this.columngroups[h].groups=null}for(var h=0;h<this.columns.records.length;h++){this.columns.records[h].parent=null;this.columns.records[h].groups=null}var p=function(j){for(var u=0;u<n.columngroups.length;u++){var v=n.columngroups[u];if(v.name===j){return v}}return null};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];if(!q.groups){q.groups=null}if(q.parentgroup){var s=p(q.parentgroup);if(s){q.parent=s;if(!s.groups){s.groups=new Array()}if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];if(q.columngroup){var s=p(q.columngroup);if(s){if(!s.groups){s.groups=new Array()}q.parent=s;if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}var r=0;for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];var e=q;q.level=0;while(e.parent){e=e.parent;q.level++}var e=q;var d=q.level;r=Math.max(r,q.level);while(e.parent){e=e.parent;if(e){e.level=--d}}}var m=function(y){var x=new Array();if(y.columngroup){x.push(y)}if(y.groups){for(var w=0;w<y.groups.length;w++){if(y.groups[w].columngroup){x.push(y.groups[w])}else{if(y.groups[w].groups){var v=m(y.groups[w]);for(var u=0;u<v.length;u++){x.push(v[u])}}}}}return x};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];var f=m(q);q.columns=f;var k=new Array();var t=0;for(var g=0;g<f.length;g++){k.push(this.columns.records.indexOf(f[g]));if(f[g].pinned){t++}}if(t!=0){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group cannot be pinned.")}k.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var l=1;l<k.length;l++){if(k[l]!=k[l-1]+1){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columngroupslevel=1+r;o=this.columngroupslevel*this.columnsheight}return o},_render:function(k,j,l,e,f){if(this.dataview==null){return}if(this._loading){return}if(this._batchupdate){return}if(b.jqx.isHidden(this.host)){var g=this;if(g.___hiddenTimer){clearInterval(g.___hiddenTimer);g.___hiddenTimer=null}this.___hiddenTimer=setInterval(function(){if(!b.jqx.isHidden(g.host)){clearInterval(g.___hiddenTimer);g.render()}},300);return}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,false)}this.validationpopup=null;this._removeHandlers();this._addHandlers();this._initializeRows();this._requiresupdate=j!=undefined?j:true;this._newmax=null;if(l){if(!this._requiresupdate){if(e!=false){this._initmenu()}}if(this.columns==null){this.columns=new b.jqx.collection(this.element)}else{var i=this;if(this.columns&&this.columns.name==="observableArray"){this.columns.notifier=function(p){var n=function(){i.columns=i._columns;i.render()};switch(p.type){case"add":n();break;case"update":if(p.name==="index"){i.beginupdate();for(var o in p.newValue){i.setcolumnproperty(p.newValue.datafield,o,p.newValue[o])}i.endupdate()}else{var m=p.path.split(".");i.setcolumnproperty(i.columns[m[0]].datafield,p.name,p.newValue)}break;case"delete":n();break}}}if(this.columngroups&&this.columngroups.name==="observableArray"){this.columngroups.notifier=function(m){i.render()}}this._initializeColumns()}}this.tableheight=null;this._pagescache=new Array();this._pageviews=new Array();this.visiblerows=new Array();this.hittestinfo=new Array();if(this._requiresupdate){this._clearcaches();if(e==true){this._initmenu()}}this.virtualsizeinfo=null;this.prerenderrequired=true;if((this.groupable&&this.groups.length>0&&this.rowdetails)||(this.rowdetails)){if(this.gridcontent){this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();this.detailboundrows=new Array();this.details=new Array();b.jqx.utilities.html(this.gridcontent,"");this.gridcontent=null}}if(this.gridcontent){if(this.editable&&this._destroyeditors){this._destroyeditors()}}if(l){if(this.filterrow){this.filterrow.detach()}b.jqx.utilities.html(this.content,"");this.columnsheader=this.columnsheader||b('<div style="overflow: hidden;"></div>');this.columnsheader.remove();this.columnsheader.addClass(this.toTP("jqx-widget-header"));this.columnsheader.addClass(this.toTP("jqx-grid-header"))}else{if(this.gridcontent){b.jqx.utilities.html(this.gridcontent,"")}}if(!this.showheader){this.columnsheader.css("display","none")}else{if(this.columnsheader){this.columnsheader.css("display","block")}}this.gridcontent=this.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');this.gridcontent.remove();var h=this.columnsheight;h=this._preparecolumngroups();if(this.showfilterrow&&this.filterable){this.columnsheader.height(h+this.filterrowheight);if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.filterrowheight+this.everpresentrowheight)}}else{if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.everpresentrowheight)}else{this.columnsheader.height(h)}}this.content.append(this.columnsheader);this.content.append(this.gridcontent);this._arrange();if(this._initgroupsheader){this._initgroupsheader()}this.selectionarea=this.selectionarea||b("<div style='z-index: 99; visibility: hidden; position: absolute;'></div>");this.selectionarea.addClass(this.toThemeProperty("jqx-grid-selectionarea"));this.selectionarea.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.content.append(this.selectionarea);this.tableheight=null;this.rendergridcontent(false,l);if(this.groups.length>0&&this.groupable){var d=this.vScrollBar[0].style.visibility;this.suspendgroupevents=true;if(this.collapseallgroups){if(!this.groupsexpandedbydefault){this.collapseallgroups(false);this._updatescrollbarsafterrowsprerender()}else{this.expandallgroups(false)}}if(this.vScrollBar[0].style.visibility!=d){this._updatecolumnwidths();this._updatecellwidths()}this.suspendgroupevents=false}if(this.pageable&&this.updatepagerdetails){this.updatepagerdetails();if(this.autoheight){this._updatepageviews()}if(this.autorowheight){if(!this.autoheight){this._updatepageviews()}this._renderrows(this.virtualsizeinfo)}}if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}this._addoverlayelement();if(this.scrollmode=="deferred"){this._addscrollelement()}if(this.showfilterrow&&this.filterable&&this.filterrow&&(f==undefined||f==true)){this._updatelistfilters(!l)}if(this.rendered){this.rendered("full")}this.__isRendered=true},_addoverlayelement:function(){var d=b.jqx.utilities.getBrowser();if((d.browser=="msie"&&parseInt(d.version)<9)||this.isTouchDevice()){if(this._overlayElement){this._overlayElement.remove()}this._overlayElement=b("<div class='jqxgrid-overlay' style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._overlayElement.css("background","white");this._overlayElement.css("z-index",180);this._overlayElement.css("opacity",0.001);if(this.isTouchDevice()){if(this.vScrollBar.css("visibility")!=="hidden"||this.hScrollBar.css("visibility")!=="hidden"){var e=0;if(this.selectionmode=="checkbox"){e+=30}if(this.groupable||this.rowdetails){this._overlayElement.css("left",30*(this.groups.length+(this.rowdetails?1:0)))}var f=this._overlayElement.css("left");this._overlayElement.css("left",f+e)}else{if(this._overlayElement){this._overlayElement.remove()}}}else{this.content.prepend(this._overlayElement)}}this._updateTouchScrolling()},_addscrollelement:function(){if(this._scrollelement){this._scrollelement.remove()}if(this._scrollelementoverlay){this._scrollelementoverlay.remove()}this._scrollelementoverlay=b("<div style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._scrollelementoverlay.css("background","black");this._scrollelementoverlay.css("z-index",1800);this._scrollelementoverlay.css("opacity",0.1);this._scrollelement=b("<span style='visibility: hidden; top: 50%; right: 10px; position: absolute;'></span>");this._scrollelement.css("z-index",1900);this._scrollelement.addClass(this.toThemeProperty("jqx-button"));this._scrollelement.addClass(this.toThemeProperty("jqx-fill-state-normal"));this._scrollelement.addClass(this.toThemeProperty("jqx-rc-all"));this._scrollelement.addClass(this.toThemeProperty("jqx-shadow"));this.content.prepend(this._scrollelement);this.content.prepend(this._scrollelementoverlay)},_postrender:function(f){if(f=="filter"||f=="sort"||f=="group"){if(this.rowdetails&&this.detailsVisibility&&this.detailsVisibility.length>0){this._detailsUpdate=true;for(var e=0;e<this.details.length;e++){if(this.details[e]){this.details[e].rowdetailshidden=true}}for(var e=0;e<this.detailsVisibility.length;e++){if(false===this.detailsVisibility[e]){this.showrowdetails(e)}else{if(true===this.detailsVisibility[e]){this.hiderowdetails(e)}}}this._detailsUpdate=false;this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(this.groupable&&this.groups.length>0){if(f=="filter"||f=="sort"){for(var e=0;e<this.dataview.loadedgroups.length;e++){var h=this.dataview.loadedgroups[e];var d=0;var k;for(var g in this.groupsVisibility){if(g==h.group&&this.groupsVisibility[g]){k=true;this._setgroupstate(h,true,false);d++}}if(d>0){k=false;var j=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(j!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}}}else{if(f=="group"){this.groupsVisibility=new Array()}}}},rendergridcontent:function(e,g){if(this.updating()){return false}if(e==undefined||e==null){e=false}this._requiresupdate=e;var i=this.prerenderrequired;if(this.prerenderrequired){this._arrange()}var h=this.that;var g=g;if(g==null||g==undefined){g=true}this.tableheight=null;h.virtualsizeinfo=h.virtualsizeinfo||h._calculatevirtualheight();if(h.pageable&&!h.autoheight){if(h.dataview.totalrows<h.pagesize){h._requiresupdate=true}}if(g){h._rendercolumnheaders()}else{if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}}h._renderrows(h.virtualsizeinfo);if(this.gridcontent){if(this.gridcontent[0].scrollTop!=0){this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}if(i){var f=this.tableheight;this._arrange();if(f!=this.tableheight&&this.autoheight){h._renderrows(h.virtualsizeinfo)}}if(this.rtl){this._renderhorizontalscroll()}if(this.autosavestate){if(this.initializedcall!=null){if(this.savestate){this.savestate()}}}if(this.adaptive&&this.element.offsetWidth<=this.adaptivewidth){var d=0;var j=h.element.offsetWidth-2;b.each(this.columns.records,function(k,l){d+=this.width;if(this.columntype==="adaptive"){return true}if(d>=j){this.adaptivehidden=true}});this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_updatecolumnwidths:function(){var p=this.host.width();var f=p;var n="";if(this.columns==undefined||this.columns.records==undefined){return}var u=this.that;var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;var m=this.adaptive&&this.element.offsetWidth<=this.adaptivewidth;var e=0;if(m){var t=1;b.each(this.columns.records,function(q,v){if(this.adaptivehidden){t++}});var l=this.vScrollBar[0].offsetWidth>0?this.vScrollBar[0].offsetWidth+4:0;if(this.vScrollBar.css("visibility")=="hidden"){l=0}var k=this.columns.records.length-t;e=(this.element.offsetWidth-32-l)/k}b.each(this.columns.records,function(v,x){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var x=0;var y=u.vScrollBar[0].style.visibility=="hidden"?0:u.scrollbarsize+5;if(u.scrollbarautoshow||u.scrollbarsize==0){y=0}var q=f;x=parseFloat(this.width)*q/100;y+=h;if(this._percentagewidth!=undefined){x=parseFloat(this._percentagewidth)*(q-y)/100}if(x<this.minwidth&&this.minwidth!="auto"){x=this.minwidth}if(x>this.maxwidth&&this.maxwidth!="auto"){x=this.maxwidth}p-=x}else{if(this.width!="auto"&&!this._width){p-=this.width}else{n+=this.text}}}});var g=this._gettableheight();if(!this.autoheight){if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>g){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var s=this.dataview.loadedrootgroups.length*this.rowsheight;if(this.pageable){for(var d=0;d<this.dataview.rows.length;d++){if(this.dataview.rows[d].group&&this.dataview.rows[d].level===0){s+=this.rowsheight}}}if(s>g){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}else{if(this.vScrollBar.css("visibility")=="visible"){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}else{p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}else{if(this.vScrollBar.css("visibility")!="hidden"&&this.scrollbarsize>0){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}}var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;f-=h;if(!this.columnsheader){return}var j=this.columnsheader.find("#columntable"+this.element.id);if(j.length==0){return}var i=0;var o=this;var r=0;b.each(this.columns.records,function(w,A){var y=b(this.element);if(!this.hidden&&!this.adaptivehidden&&this.element.style.display==="none"){this.element.style.display="block"}if(this.adaptivehidden){this.element.style.display="none"}var v=false;var z=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){z=parseFloat(this._percentagewidth)*f/100}else{z=parseFloat(this.width)*f/100}v=true}if(e>0&&this.columntype!=="adaptive"){y.width(e);this.adaptivewidth=e}else{if(this.width!="auto"&&!this._width&&!v){if(parseInt(y[0].style.width)!=this.width){y.width(this.width)}}else{if(v){if(z<this.minwidth&&this.minwidth!="auto"){z=this.minwidth;this.width=z}if(z>this.maxwidth&&this.maxwidth!="auto"){z=this.maxwidth;this.width=z}if(parseInt(y[0].style.width)!=z){y.width(z);this.width=z}}else{var x=Math.floor(p*(this.text.length/n.length));r+=x;if(p-r<3&&p!=r&&p-r>0.01){if(p-r===1){x++}else{x+=2}}else{if(w==u.columns.records.length-1){if(r<p){x+=(p-r)}}}if(isNaN(x)){x=this.minwidth}if(isNaN(x)){x=this.minwidth}if(x==Infinity){x=0}if(x<0){var q=b("<span>"+this.text+"</span>");b(document.body).append(q);x=10+q.width();q.remove()}if(x<this.minwidth){x=this.minwidth}if(x>this.maxwidth){x=this.maxwidth}this._width="auto";this.width=x;y.width(this.width)}}}if(parseInt(y[0].style.left)!=i){y.css("left",i)}if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(e>0&&this.columntype!=="adaptive"){i+=e}else{i+=this.width}}this._requirewidthupdate=true});this.columnsheader.width(2+i);j.width(this.columnsheader.width());if(i==0){this.columnsheader[0].style.visibility="hidden"}else{this.columnsheader[0].style.visibility="inherit"}this._resizecolumngroups();if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}if(this.autowidth){this._arrange()}},_rendercolumnheaders:function(){var x=this.that;if(!this.prerenderrequired){if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}return}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var o=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');o[0].cells=new Array();var B=0;var h=0;var u="";var G=this.host.width();var s=G;var g=new Array();var A=new Array();var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;b.each(this.columns.records,function(j,k){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){G-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){G-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;var p=x.vScrollBar[0].style.visibility=="hidden"?0:x.scrollbarsize+5;p+=t;k=parseFloat(this.width)*(s-p)/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}G-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}G-=this.width}}}}else{u+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(x._haspinned){this.pinned=true}g[g.length]=this}else{A[A.length]=this}});if(!this.rtl){for(var D=0;D<g.length;D++){this.columns.replace(D,g[D])}for(var C=0;C<A.length;C++){this.columns.replace(g.length+C,A[C])}}else{var y=0;g.reverse();for(var D=this.columns.records.length-1;D>=this.columns.records.length-g.length;D--){this.columns.replace(D,g[y++])}for(var C=0;C<A.length;C++){this.columns.replace(C,A[C])}}var n=this.headerZIndex;var r=x.groupable?x.groups.length:0;if(this.rowdetails&&this.showrowdetailscolumn){r++}var l=x.columnsheader.height();if(this.showfilterrow){if(!this.columngroups){l=this.columnsheight}else{l-=this.filterrowheight}}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){l=this.columnsheight}else{l-=this.everpresentrowheight}}var v=this._gettableheight();if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>v&&!this.scrollbarautoshow){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var E=0;if(!this.pageable){var E=this.dataview.loadedrootgroups.length*this.rowsheight}else{if(this.pageable){for(var w=0;w<this.dataview.rows.length;w++){if(this.dataview.rows[w].group&&this.dataview.rows[w].level===0){E+=this.rowsheight}}}}if(E>v){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{if(!this.autoheight&&this.scrollbarsize>0){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}}s-=t;var d=function(j,k){var i=x.columngroupslevel*x.columnsheight;i=i-(k.level*x.columnsheight);return i};var f=document.createDocumentFragment();var z=0;b.each(this.columns.records,function(X,V){this.height=x.columnsheight;if(x.columngroups){if(x.columngroups.length){this.height=d(this.datafield,this);l=this.height}}var ab=x.toTP("jqx-grid-column-header")+" "+x.toTP("jqx-widget-header");if(x.rtl){ab+=" "+x.toTP("jqx-grid-column-header-rtl")}var Z=!x.rtl?150+n-1:150+n+1;var T=!x.rtl?n--:n++;var H=b('<div role="columnheader" style="z-index: '+T+';position: absolute; height: 100%;" class="'+ab+'"><div style="height: 100%; width: 100%;"></div></div>');if(x.columngroups){H[0].style.height=l+"px";H[0].style.bottom="0px";if(this.pinned){H[0].style.zIndex=Z}}this.uielement=H;if(this.classname!=""&&this.classname){H.addClass(this.classname)}var P=this.width;var Q=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){P=parseFloat(this._percentagewidth)*s/100}else{P=parseFloat(this.width)*s/100}Q=true}if(this.width!="auto"&&!this._width&&!Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth;this.width=P}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth;this.width=P}H[0].style.width=parseInt(P)+"px"}else{if(Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}H.width(P);this.width=P}else{if(!this.hidden&&!this.adaptivehidden){var U=Math.floor(G*(this.text.length/u.length));z+=U;if(G-z<3&&G!=z&&G-z>0.01){if(G-z===1){U++}else{U+=2}}else{if(X==x.columns.records.length-1){if(z<G){U+=(G-z)}}}if(isNaN(U)){U=this.minwidth}if(U<0){var S=b("<span>"+this.text+"</span>");b(document.body).append(S);U=10+S.width();S.remove()}if(U<this.minwidth){U=this.minwidth}if(U>this.maxwidth){U=this.maxwidth}this._width="auto";this.width=U;P=this.width;H.width(this.width)}}}if((this.hidden&&this.hideable)||this.adaptivehidden){H.css("display","none")}var p=b(H.children()[0]);var Y=x.rtl?x.toTP("jqx-grid-column-menubutton")+" "+x.toTP("jqx-grid-column-menubutton-rtl"):x.toTP("jqx-grid-column-menubutton");Y+=" "+x.toTP("jqx-icon-arrow-down");var K=b('<div style="height: '+l+'px; display: none; left: 100%; top: 0%; position: absolute;"><div class="'+Y+'" style="width: 100%; height:100%;"></div></div>');if(!x.enableanimations){K.css("margin-left",-16)}if(x.rtl){K.css("left","0px")}this.columnsmenu=K[0];o[0].cells[X]=H[0];K[0].style.width=parseInt(x.columnsmenuwidth)+"px";var J=x.columnsmenu;var q=false;var W=false;var R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);if(x.rtl){R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);R&=X>x.columns.records.length-1-r}if(R){B++;J&=false;this.sortable=false;this.editable=false;W=true}else{var M=this.renderer!=null?this.renderer(this.text,this.align,l):x._rendercolumnheader(this.text,this.align,l,x);if(M==null){M=x._rendercolumnheader(this.text,this.align,l,x)}if(this.renderer!=null){M=b(M)}J&=true;q=true}if(x.WinJS){MSApp.execUnsafeLocalFunction(function(){p.append(b(M))})}else{if(this.renderer){p.append(b(M))}else{if(M){p[0].innerHTML=M}}}if(M!=null){var O=b('<div class="iconscontainer" style="height: '+l+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortascbutton")+" "+x.toTP("jqx-icon-arrow-up")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortdescbutton")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div><div class="sorticon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; visibility: hidden; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sorticon")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div></div>');K.addClass(x.toTP("jqx-widget-header"));p.append(O);var ad=O.children();this.sorticon=ad[3];this.sortasc=ad[1];this.sortdesc=ad[2];this.filtericon=ad[0];this.iconscontainer=O;if(x.rtl){O.css("margin-left","0px");O.css("left","0px");b(this.sorticon).css("float","left");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}if(!x.autoshowfiltericon&&this.filterable){b(this.filtericon).css("display","block")}}this.element=H[0];if(J){x._handlecolumnsmenu(x,p,H,K,this);if(!this.menu){K.hide()}}f.appendChild(H[0]);if(x.groupable&&q){H[0].id=x.dataview.generatekey();if(x._handlecolumnstogroupsdragdrop){x._handlecolumnstogroupsdragdrop(this,H)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.grouping.js.")}}if(x.columnsreorder&&this.draggable&&x._handlecolumnsdragreorder){x._handlecolumnsdragreorder(this,H)}var aa=this;aa._applyStyle();x.addHandler(H,"mouseenter",function(i){aa.hovered=true;aa._applyStyle()});x.addHandler(H,"mouseleave",function(i){aa.hovered=false;aa._applyStyle()});var ac=function(aj,ae,ak){if(aj.selectable){var am=x.getrows();if(aj.selected===undefined){aj.selected=false}if(!ae.shiftKey||x._clickedcolumn===undefined){x._clickedcolumn=aj}if(ae.shiftKey&&x._clickedcolumn&&ak===undefined){var al=x.columns.records.indexOf(x._clickedcolumn);var ai=x.columns.records.indexOf(aj);var af=Math.min(al,ai);var ag=Math.max(al,ai);x.clearselection();for(var ah=af;ah<=ag;ah++){ac(x.columns.records[ah],ae,true)}x._renderrows(this.virtualsizeinfo);return}if(ak){aj.selected=true}else{if(!ae.ctrlKey){x.clearselection()}aj.selected=!aj.selected}for(var ah=0;ah<am.length;ah++){x._applycellselection(am[ah].boundindex,aj.displayfield,aj.selected,false)}if(aj.selected){aj.element.setAttribute("selected","")}else{aj.element.removeAttribute("selected")}aj._applyStyle();if(ak===undefined){x._renderrows(this.virtualsizeinfo)}}};x.addHandler(H,"click",function(i){if(aa.checkboxcolumn){return true}if(x.sorttogglestates>0&&x._togglesort){if(!x._loading){if(x.suspendClick){return true}x._togglesort(aa)}}ac(aa,i);i.preventDefault();x._raiseEvent(7,{column:aa.getcolumnproperties(),datafield:aa.datafield,originalEvent:i})});if(aa.resizable&&x.columnsresize&&!W){var I=false;var j="mousemove";if(x.isTouchDevice()&&x.touchmode!==true){I=true;j=b.jqx.mobile.getTouchEventName("touchstart")}x.addHandler(H,j,function(ae){var i=parseInt(ae.pageX);var ag=5;var aj=parseInt(H.coord().left);if(x.hasTransform){aj=b.jqx.utilities.getOffset(H).left}if(x.resizing){return true}if(x._handlecolumnsresize){if(I){var af=x.getTouches(ae);var ai=af[0];i=ai.pageX;ag=40;if(i>=aj+aa.width-ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize")}else{H.css("cursor","");x.resizablecolumn=null}return true}var ah=aa.width;if(x.rtl){ah=0}if(i>=aj+ah-ag){if(i<=aj+ah+ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize");return false}else{H.css("cursor","");x.resizablecolumn=null}}else{H.css("cursor","");if(i<aj+ah-ag){if(!aa._animating&&!aa._menuvisible){H.mouseenter()}}x.resizablecolumn=null}}})}H.css("left",h);if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){h+=P}if(aa.rendered){var N=aa.rendered(b(p[0].firstChild),aa.align,l);if(N&&O!=null){O.hide()}}if(aa.checkboxcolumn){if(O){O.hide()}if(!x.host.jqxCheckBox){throw new Error("jqxGrid: Missing reference to jqxcheckbox.js")}p.html('<div style="cursor: pointer; margin-left: 3px; top: 50%; margin-top: -9px; position: relative;"></div>');var k=p.find("div:first");k.jqxCheckBox({_canFocus:false,disabled:x.disabled,disabledContainer:true,theme:x.theme,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0});k.addClass(x.toThemeProperty("jqx-checkbox"));aa.checkboxelement=k;var L=k.data().jqxCheckBox.instance;x._checkboxcolumn=aa;L.updated=function(ae,i,af){x._checkboxcolumnupdating=true;if(x.disabled){k.jqxCheckBox({disabled:x.disabled});i=af}if(i){x.selectallrows()}else{x.unselectallrows()}x._checkboxcolumnupdating=false}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}o[0].appendChild(f);this.columnsrow=o;x.columnsheader.append(o);if(this.showfilterrow&&this._updatefilterrow){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.filterrow){var F=b("<div style='position: relative !important; '></div>");F[0].id="filterrow."+this.element.id;F.height(this.filterrowheight);this.filterrow=F}this.filterrow.width(2+h);this.columnsheader.append(this.filterrow);this._updatefilterrow()}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.addnewrowtop){var m=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");m[0].id="addnewrowtop."+this.element.id;m.height(this.everpresentrowheight);this.addnewrowtop=m}this.addnewrowtop.width(2+h);if(this.everpresentrowposition=="topAboveFilterRow"){if(this.filterrow){this.addnewrowtop.insertBefore(this.filterrow)}else{this.columnsheader.append(this.addnewrowtop)}}else{this.columnsheader.append(this.addnewrowtop)}this._updateaddnewrow()}else{if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){if(!this.addnewrowbottom){var e=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");e[0].id="addnewrowbottom."+this.element.id;e.height(this.everpresentrowheight);this.addnewrowbottom=e}this.addnewrowbottom.width(2+h);this.addnewrow.append(this.addnewrowbottom);this._updateaddnewrow()}}if(h==0){o[0].style.visibility="hidden"}else{o[0].style.visibility="inherit"}o.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsreorder){this._handlecolumnsreorder()}if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this._handlecolumnsresize){this._handlecolumnsresize()}if(this.columngroups){this._rendercolumngroups()}if(this._updatecheckboxselection){this._updatecheckboxselection()}},_rendercolumngroups:function(){if(!this.columngroups){return}var p=0;for(var m=0;m<this.columns.records.length;m++){if(this.columns.records[m].pinned){p++}}var u=this.headerZIndex-p+this.columns.records.length;var v=this.that;var h=v.toTP("jqx-grid-column-header")+" "+v.toTP("jqx-grid-columngroup-header")+" "+v.toTP("jqx-widget-header");if(v.rtl){h+=" "+v.toTP("jqx-grid-columngroup-header-rtl")}var f=this.columnsheader.find("#columntable"+this.element.id);f.find("jqx-grid-columngroup-header").remove();for(var k=0;k<this.columngroupslevel-1;k++){for(var m=0;m<this.columngroups.length;m++){var r=this.columngroups[m];var d=r.level;if(d!==k){continue}var q=d*this.columnsheight;var e=99999;if(r.groups){var t=function(y){var x=0;for(var w=0;w<y.groups.length;w++){var i=y.groups[w];if(!i.groups){if(!i.hidden){x+=i.width;e=Math.min(parseFloat(i.element.style.left),e)}}else{x+=t(i)}}return x};r.width=t(r);r.left=e;var s=this.columnsheight;var n=u--;var g=b('<div role="columnheader" style="z-index: '+n+';position: absolute;" class="'+h+'"></div>');var l=b(this._rendercolumnheader(r.text,r.align,this.columnsheight,this));if(r.renderer){var l=b("<div style='height: 100%; width: 100%;'></div>");var o=r.renderer(r.text,r.align,s);l.html(o)}g.append(l);g[0].style.left=e+"px";if(e===0){g[0].style.borderLeftColor="transparent"}if(!this.showcolumnheaderlines){g[0].style.borderRightColor="transparent";g[0].style.borderBottomColor="transparent";g[0].style.boxShadow="none"}g[0].style.top=q+"px";g[0].style.height=s+"px";g[0].style.width=-1+r.width+"px";f.append(g);r.element=g;if(r.rendered){r.rendered(l,r.align,s)}}}}},_resizecolumngroups:function(){if(!this.columngroups){return}for(var e=0;e<this.columngroups.length;e++){var k=this.columngroups[e];var l=k.level;var j=l*this.columnsheight;var h=99999;if(k.groups){var g=function(o){var n=0;for(var m=0;m<o.groups.length;m++){var i=o.groups[m];if(!i.groups){if(!i.hidden){n+=i.width;h=Math.min(parseFloat(i.element.style.left),h)}}else{n+=g(i)}}return n};k.width=g(k);k.left=h;var d=this.columnsheight;var f=k.element;f[0].style.left=h+"px";f[0].style.top=j+"px";f[0].style.height=d+"px";f[0].style.width=-1+k.width+"px"}}},_handlecolumnsmenu:function(p,g,h,k,m){p.dragmousedown=null;k[0].id=p.dataview.generatekey();g.append(k);h[0].columnsmenu=k[0];m.element=h[0];var l=this.columnsmenuwidth+1;var o=function(){if(!m.menu){return false}if(!p.resizing){if(m._menuvisible&&p._hasOpenedMenu){return false}m._animating=true;if(p.menuitemsarray&&p.menuitemsarray.length>0){if(!p.enableanimations){k.css("display","block");var q=!p.rtl?-48:16;m.iconscontainer.css("margin-left",q+"px");m._animating=false;m._menuvisible=true}else{k.css("display","block");k.stop();m.iconscontainer.stop();if(!p.rtl){k.css("margin-left","0px");k.animate({"margin-left":-l},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}else{k.css("margin-left",-l);k.animate({"margin-left":"0px"},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}var q=!p.rtl?-(32+l):l;m.iconscontainer.animate({"margin-left":q},"fast")}}}};var f="mouseenter";if(p.isTouchDevice()){f="touchstart"}p.addHandler(h,f,function(r){var q=parseInt(r.pageX);var t=p.columnsresize&&m.resizable?3:0;var v=parseInt(h.coord().left);if(p.hasTransform){v=b.jqx.utilities.getOffset(h).left}var u=m.width;if(p.rtl){u=0}if(t!=0){if(q>=v+u-t){if(q<=v+u+t){return false}}}var s=p.vScrollInstance.isScrolling();if(m.menu&&p.autoshowcolumnsmenubutton&&!s&&!p.disabled){o()}});if(!p.autoshowcolumnsmenubutton){k.css("display","block");var e=!p.rtl?-48:16;m.iconscontainer.css("margin-left",e+"px");if(!p.rtl){k.css({"margin-left":-l})}else{k.css({"margin-left":"0px"})}}p.addHandler(h,"mouseleave",function(q){if(p.menuitemsarray&&p.menuitemsarray.length>0&&m.menu){var s=b.data(document.body,"contextmenu"+p.element.id);if(s!=undefined&&k[0].id==s.columnsmenu.id){return}if(p.autoshowcolumnsmenubutton){if(!p.enableanimations){k.css("display","none");var r=!p.rtl?-32:0;m.iconscontainer.css("margin-left",r+"px");m._menuvisible=false}else{if(!p.rtl){k.css("margin-left",-l)}else{k.css("margin-left","0px")}k.stop();m.iconscontainer.stop();if(!p.rtl){k.animate({"margin-left":0},"fast",function(){k.css("display","none");m._menuvisible=false})}else{k.animate({"margin-left":-l},"fast",function(){k.css("display","none");m._menuvisible=false})}var r=!p.rtl?-32:0;m.iconscontainer.animate({"margin-left":r},"fast")}}}});var j=true;var d="";var i=b(m.filtericon);p.addHandler(k,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});p.addHandler(i,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});var n=function(){if(!m.menu){return false}if(!p.gridmenu){p._initmenu()}if(p.disabled){return false}for(var H=0;H<p.columns.records.length;H++){if(p.columns.records[H].datafield!=m.datafield){p.columns.records[H]._menuvisible=false}}var w=k.coord(true);var B=k.height();if(!j){j=true;if(d==m.datafield){p._closemenu();return false}}var r=p.host.coord(true);if(p.hasTransform){r=b.jqx.utilities.getOffset(p.host);w=b.jqx.utilities.getOffset(k)}if(r.left+p.host.width()>parseInt(w.left)+p.gridmenu.width()){p.gridmenu.jqxMenu("open",w.left,w.top+B)}else{p.gridmenu.jqxMenu("open",k.width()+w.left-p.gridmenu.width(),w.top+B)}if(p.gridmenu.width()<100){p._arrangemenu()}if(p.adaptive&&p.element.offsetWidth<p.adaptivewidth){p.gridmenu.jqxMenu("close");p.gridmenu.jqxMenu("open",r.left,w.top+B);var D=0;for(var H=0;H<p.columns.records.length;H++){var v=p.columns.records[H];if(v.hidden||v.adaptivehidden||v.columntype==="adaptive"){continue}D+=v.adaptivewidth}p.gridmenu.width(D);p.gridmenu.height(p.content.height())}if(!p.filterable||(p.filterable&&p.showfilterrow)){setTimeout(function(){p.gridmenu.focus();var I=p.gridmenu.find(".jqx-item");for(var J=0;J<I.length;J++){if(I[J].active){I[J].active=false}}var K=I[0];if(I[0].className.indexOf("disabled")>=0){K=I[1]}b(I).removeClass("jqx-fill-state-focus");b(K).addClass("jqx-fill-state-focus");K.active=true},225)}p._hasOpenedMenu=true;var z=p._getmenuitembyindex(0);var x=p._getmenuitembyindex(1);var q=p._getmenuitembyindex(2);var y=p._getmenuitembyindex(3);var t=p._getmenuitembyindex(4);var G=p._getmenuitembyindex(5);if(z!=null&&x!=null&&q!=null){var u=m.sortable&&p.sortable;p.gridmenu.jqxMenu("disable",z.id,!u);p.gridmenu.jqxMenu("disable",x.id,!u);p.gridmenu.jqxMenu("disable",q.id,!u);if(m.displayfield!=undefined){if(p.sortcolumn==m.displayfield){var E=p.getsortinformation();if(u){if(E.sortdirection.ascending){p.gridmenu.jqxMenu("disable",z.id,true)}else{p.gridmenu.jqxMenu("disable",x.id,true)}}}else{p.gridmenu.jqxMenu("disable",q.id,true)}}}if(y!=null&&t!=null){if(!p.groupable||!m.groupable){p.gridmenu.jqxMenu("disable",t.id,true);p.gridmenu.jqxMenu("disable",y.id,true)}else{if(p.groups&&p.groups.indexOf(m.datafield)!=-1){p.gridmenu.jqxMenu("disable",y.id,true);p.gridmenu.jqxMenu("disable",t.id,false)}else{p.gridmenu.jqxMenu("disable",y.id,false);p.gridmenu.jqxMenu("disable",t.id,true)}}}if(G!=null){p.menuOwner=m;p._updatefilterpanel(p,G,m);var s=0;if(p.sortable&&p._togglesort&&p.showsortmenuitems){s+=3}if(p.groupable&&p.addgroup&&p.showgroupmenuitems){s+=2}var C=s*33+6;var F=p._measureMenuElement();var C=s*F+14;if(b.jqx.browser.msie&&b.jqx.browser.version<8){C+=20;b(G).height(194)}if(p.isTouchDevice()){C+=10}if(p.filterable&&p.showfiltermenuitems){if(!m.filterable){p.gridmenu.height(C);b(G).css("display","none")}else{p.gridmenu.height(C+194);b(G).css("display","block")}}}if(p.columnmenuopening){var A=p.columnmenuopening(p.gridmenu,m.displayfield,p.gridmenu.height());if(false===A){setTimeout(function(){p._closemenu()})}}b.data(document.body,"contextmenu"+p.element.id,{column:m,columnsmenu:k[0]})};p.addHandler(i,"click",function(q){if(!m.menu){return false}if(!p.showfilterrow){if(k[0].style.display!="block"){h.trigger("mouseenter")}setTimeout(function(){if(k[0].style.display!="block"){h.trigger("mouseenter")}n()},200)}return false});p.addHandler(k,"click",function(q){if(!m.menu){return false}n();return false});if(p.isTouchDevice()){p.addHandler(k,b.jqx.mobile.getTouchEventName("touchstart"),function(q){if(!m.menu){return false}if(!p._hasOpenedMenu){n()}else{p._closemenu()}return false})}},_removecolumnhandlers:function(h){var e=this.that;var f=b(h.element);if(f.length>0){e.removeHandler(f,"mouseenter");e.removeHandler(f,"mouseleave");var g=b(h.filtericon);e.removeHandler(g,"mousedown");e.removeHandler(g,"click");e.removeHandler(f,"click");e.removeHandler(f,"mousemove");if(e.columnsreorder){e.removeHandler(f,"mousedown.drag");e.removeHandler(f,"mousemove.drag")}e.removeHandler(f,"dragstart");if(f[0].columnsmenu){var d=b(f[0].columnsmenu);e.removeHandler(d,"click");e.removeHandler(d,"mousedown");e.removeHandler(d,b.jqx.mobile.getTouchEventName("touchstart"))}}},_rendercolumnheader:function(h,i,e,d){var g="8px";if(d.columngroups){g=(e/2-this._columnheight/2);if(g<0){g=6}g+="px"}else{if(this.columnsheight!=32){g=(this.columnsheight/2-this._columnheight/2);if(g<0){g=6}g+="px"}}if(this.enableellipsis){if(i=="left"){return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 4px; margin-right: 2px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}else{return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 2px; margin-right: 4px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}}if(i=="center"||i=="middle"){return'<div style="padding-bottom: 2px; text-align: center; line-height: '+e+'px;"><a href="#">'+h+"</a></div>"}var f='<a style="line-height: '+e+"px; float: "+i+';" href="#">'+h+"</a>";return f},_renderrows:function(m,p,t){var o=this.that;if((this.pageable||this.groupable)&&(this.autoheight||this.autorowheight)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length<this.dataview.rows.length){o.prerenderrequired=true}}if(!this.pageable&&(this.autoheight||this.autorowheight)&&(this.virtualmode||this.unboundmode)){var f=this.source.totalrecords;if(!isNaN(f)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length!=f){o.prerenderrequired=true}}}if((this.autoheight||this.autorowheight)&&!o.prerenderrequired){if(this.table&&this.table[0].rows){if(this.table[0].rows.length<this.dataview.records.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}if(this.table[0].rows.length<this.dataview.cachedrecords.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}}}o._prerenderrows(m);if(o._requiresupdate){o._requiresupdate=false;o._updatepageviews()}var l=function(){if(o._loading){return}if(o.WinJS){MSApp.execUnsafeLocalFunction(function(){o._rendervisualrows()})}else{o._rendervisualrows()}if(o.virtualmode&&o.showaggregates&&o._updateaggregates){o.refreshaggregates()}};var k=b.jqx.browser.msie&&b.jqx.browser.version<10;if(this.virtualmode){var e=function(){if(o.rendergridrows){var y=o._startboundindex;if(y==undefined){y=0}var w=y+1+o.dataview.pagesize;if(y!=null&&w!=null){var x=o.source._source?true:false;var z=!x?o.source.recordstartindex:o.source._source.recordstartindex;if(z!=y||p==true){if(!x){o.source.recordstartindex=y;o.source.recordendindex=w}else{if(w>=o.source._source.totalrecords){w=o.source._source.totalrecords;y=w-o.dataview.pagesize-1;if(y<0){y=0}if(o.source._source.recordendindex==w&&o.source._source.recordstartindex==y){return}}o.source._source.recordstartindex=y;o.source._source.recordendindex=w}o.updatebounddata("cells")}}}};if(this.loadondemand){l();e();this.loadondemand=false}var d=this._browser==undefined?this._isIE10():this._browser;if(this.editable&&this.editcell&&!this.vScrollInstance.isScrolling()&&!this.hScrollInstance.isScrolling()){l()}else{if(this.autoheight){l()}else{if(d||k||(navigator&&navigator.userAgent.indexOf("Safari")!=-1)){if(this._scrolltimer!=null){clearTimeout(this._scrolltimer)}this._scrolltimer=setTimeout(function(){l()},5)}else{l()}}}}else{if(this.scrollmode=="deferred"&&(this.hScrollInstance.isScrolling()||this.vScrollInstance.isScrolling())){if(this._scrolltimer!=null){clearInterval(this._scrolltimer)}var g=this._getfirstvisualrow();if(g!=null){var r=function(B){if(g==null){return""}var A="<table>";var y=o.deferreddatafields;if(y==null){if(o.columns.records.length>0){y=new Array();y.push(o.columns.records[0].displayfield)}}for(var x=0;x<y.length;x++){var C=y[x];var z=o._getcolumnbydatafield(C);if(z){var w=o._getcellvalue(z,g);if(z.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(w)){w=b.jqx.dataFormat.formatdate(w,z.cellsformat,o.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(w)){w=b.jqx.dataFormat.formatnumber(w,z.cellsformat,o.gridlocalization)}}}}A+="<tr><td>"+w+"</td></tr>"}}A+="</table>";return A};var i=this.scrollfeedback?this.scrollfeedback(g.bounddata):r(g.bounddata);if(i!=this._scrollelementcontent){this._scrollelement[0].innerHTML=i;this._scrollelementcontent=i}}this._scrollelement.css("visibility","visible");this._scrollelementoverlay.css("visibility","visible");this._scrollelement.css("margin-top",-this._scrollelement.height()/2);this._scrolltimer=setInterval(function(){if(!o.hScrollInstance.isScrolling()&&!o.vScrollInstance.isScrolling()){l();o._scrollelement.css("visibility","hidden");o._scrollelementoverlay.css("visibility","hidden");clearInterval(o._scrolltimer);if(g){o.ensurerowvisible(g.visibleindex)}}},100);return}if(navigator&&navigator.userAgent.indexOf("Chrome")==-1&&navigator.userAgent.indexOf("Safari")!=-1){this._updatedelay=1}if(this.touchDevice!=undefined&&this.touchDevice==true){this._updatedelay=5}var d=this._browser==undefined?this._isIE10():this._browser;if(d||k){this._updatedelay=5}if((d)&&this.hScrollInstance.isScrolling()){l();return}if(b.jqx.browser.mozilla&&this._updatedelay==0&&(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling())){this._updatedelay=0}var h=this.isTouchDevice();if(h){this._updatedelay=0}if(this.updatedelay!=null){this._updatedelay=this.updatedelay}if(this._updatedelay==0){l()}else{var j=this._jqxgridrendertimer;if(j!=null){clearTimeout(j)}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){if(this._updatedelay){j=setTimeout(function(){l()},this._updatedelay)}else{j=null;l()}this._jqxgridrendertimer=j}else{this._jqxgridrendertimer=j;l()}}}if(o.autorowheight&&!o.autoheight){if(this._pageviews.length>0){var n=this._gettableheight();var q=this._pageviews[0].height;if(q>n){if(this.pageable&&this.gotopage){q=this._pageviews[0].height;if(q<0){q=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(q<=n||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(q-n>0){if(this.scrollmode!="deferred"){var s=q-n;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(Math.round(s)!=Math.round(u)){var v=this.vScrollBar.jqxScrollBar("value");if(v>s){this.vScrollBar.jqxScrollBar({value:0})}}}}else{this.vScrollBar.jqxScrollBar({value:0,max:q})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.virtualsizeinfo){this.virtualsizeinfo.virtualheight=q}}}},scrolling:function(){var e=this.vScrollInstance.isScrolling();var d=this.hScrollInstance.isScrolling();return{vertical:e,horizontal:d}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var k=parseInt(u);if(this.table==null){return}var q=this.table[0].rows.length;var p=this.columnsrow;var r=this.groupable&&this.groups.length>0?this.groups.length:0;var l=this.columns.records.length-r;var f=this.columns.records;var n=this.dataview.rows.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){k=t.max-k}}if(n&&!this._haspinned){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px"}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){if(k==0&&d.style.marginLeft==""){continue}var h=null;var x=null;var o=null;if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){o=this.addnewrowtop[0].cells[v]}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){x=this.filterrow[0].cells[v]}}if(this.showaggregates){if(this.statusbar[0].cells){h=this.statusbar[0].cells[v]}}if(!this.rtl){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px";if(h){h.style.marginLeft=k+"px"}if(x){x.style.marginLeft=k+"px"}if(o){o.style.marginLeft=k+"px"}}}else{d.style.marginLeft=-parseInt(u)+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=-parseInt(u)+"px";if(h){h.style.marginLeft=-parseInt(u)+"px"}if(x){x.style.marginLeft=-parseInt(u)+"px"}if(o){o.style.marginLeft=-parseInt(u)+"px"}}}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned==false){this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}}}if(this.showaggregates){if(this.statusbar[0].cells){var m=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){m=2+parseInt(this.hScrollBar.css("left"))}}}this.statusbar[0].style.marginLeft=-k+m+"px"}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){this.filterrow[0].style.marginLeft=-k+"px"}}if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){this.addnewrowtop[0].style.marginLeft=-k+"px"}}},_updaterowdetailsvisibility:function(){if(this.rowdetails){for(var d=0;d<this._rowdetailselementscache.length;d++){b(this._rowdetailselementscache[d]).css("display","none")}}},_getvisualcolumnsindexes:function(e,n,i,m,d,l){if(this.rowdetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:i+m}}var f=0;var k=-1;var g=i+m;var o=false;if(this.autorowheight){return{start:0,end:i+m}}if(!d){for(var h=0;h<i+m;h++){var p=h;if(!o){if(this.columns.records[h].pinned&&l){o=true}}if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>n+e){g=h;break}}}g++;if(g>i+m){g=i+m}if(k==-1||o){k=0}return{start:k,end:g}},_getvirtualcolumnsindexes:function(e,m,i,l,d){if(this.rtl||this.editcell||this.exporting){return{start:0,end:i+l}}var f=0;var k=-1;var g=i+l;if(this.autorowheight){return{start:0,end:i+l}}if(!d){for(var h=0;h<i+l;h++){var n=h;if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>m+e){g=h;break}}}g++;if(g>i+l){g=i+l}if(k==-1){k=0}return{start:k,end:g}},_getfirstvisualrow:function(){var e=this.vScrollInstance;var g=e.value;var f=parseInt(g);if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility!="visible"){f=0}if(!this.pageable){var d=this._findvisiblerow(f,this._pageviews);if(d==-1){return null}if(d!=this.dataview.pagenum){this.dataview.pagenum=d;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var h=this._findvisiblerow(f,this._pagescache[this.dataview.pagenum]);var i=this._pagescache[this.dataview.pagenum];if(i&&i[0]){return i[h]}},_rendervisualrows:function(){if(!this.virtualsizeinfo){return}var Y=this.vScrollInstance;var p=this.hScrollInstance;var j=Y.value;var C=p.value;var o=parseInt(j);var l=parseInt(C);var x=this._gettableheight();var J=this._hostwidth!=undefined?this._hostwidth:this.host.width();if(this.hScrollBar[0].style.visibility=="visible"){x+=29}if(this.scrollmode=="deferred"&&this._newmax!=0){if(o>this._newmax&&this._newmax!=null){o=this._newmax}}var al=Y.isScrolling()||p.isScrolling()||this._keydown;var D=this.groupable&&this.groups.length>0;this.visiblerows=new Array();this.hittestinfo=new Array();if(this.editcell&&this.editrow==undefined){this._hidecelleditor(false)}if(this.editrow!=undefined){this._hideeditors()}if(this.virtualmode&&!this.pageable){this._pagescache=new Array()}if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility=="hidden"){o=0}if(!this.pageable){var L=this._findvisiblerow(o,this._pageviews);if(L==-1){this._clearvisualrows();this._renderemptyrow();this._updaterowdetailsvisibility();return}if(L!=this.dataview.pagenum){this.dataview.pagenum=L;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var an=this.groupable&&this.groups.length>0?this.groups.length:0;if(!this.columns.records){return}var r=this.columns.records.length-an;var ad=this._findvisiblerow(o,this._pagescache[this.dataview.pagenum]);var M=this._pagescache[this.dataview.pagenum];var S=ad;if(S<0){S=0}var ag=0;var ac=0;var Q=0;var e=0;var U=this.virtualsizeinfo.visiblerecords;var P=this.groupable?this.groups.length:0;var B=this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(this.rtl){B+=" "+this.toTP("jqx-grid-cell-rtl")}if((this.autoheight||this.autorowheight)&&this.pageable){if(!this.groupable||(this.groupable&&this.groups.length===0)){U=this.dataview.pagesize}}if(D){B=" "+this.toTP("jqx-grid-group-cell")}if(this.isTouchDevice()){B+=" "+this.toTP("jqx-touch")}if(this.autorowheight){B+=" jqx-grid-cell-wrap"}var O=this.rowsheight;var G=S;var am=this._rendercell;var u=true;var q=this._getvisualcolumnsindexes(l,J,an,r,D,true);var d=q.start;var ab=q.end;var t=this._getvirtualcolumnsindexes(l,J,an,r,D);var I=t.start;var h=t.end;var af=b.jqx.browser.msie&&b.jqx.browser.version<9;if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews[0]){this._oldpageviewheight=this._pageviews[0].height}}if(this.autorowheight){S=0}if(S>=0){this._updaterowdetailsvisibility();this._startboundindex=M!=null?M[S].bounddata.boundindex:0;this._startvisibleindex=M!=null?M[S].bounddata.visibleindex:0;var A=this.table[0].rows;if(this.columns.records.length>10&&this.enablecolumnsvirtualization){var H=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};for(var ah=0;ah<A.length;ah++){var k=A[ah];for(var V=0;V<I;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=h;V<this.columns.records.length;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=I;V<h;V++){var aj=V;var ai=k.cells[aj];if(!H(ai)){k.appendChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=true;if(R.selectable){ai.removeAttribute("selected");if(R.selected){ai.setAttribute("selected","")}}if(!H(R)){this.columnsrow[0].appendChild(R)}if(this.filterrow&&!H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].firstChild.appendChild(this.filterrow[0].cells[aj])}}}}for(var n=0;n<U&&ac<U;n++){var ae=M!=undefined?M[S+n]:null;if(this.virtualmode&&n>=this.source.totalrecords){ae=null}if(ae==null){S=-n;if(this._pagescache[this.dataview.pagenum+1]){M=this._pagescache[this.dataview.pagenum+1];this.dataview.pagenum++}else{var s=this._pageviews.length;do{if(this.dataview.pagenum<this._pageviews.length-1){this.dataview.pagenum++;M=undefined;if(this._pageviews[this.dataview.pagenum].height>0){this.dataview.updateview();this._loadrows();M=this._pagescache[this.dataview.pagenum]}}else{M=undefined;break}}while(M==undefined&&this.dataview.pagenum<s)}if(M!=undefined){ae=M[S+n]}}if(ae!=null){if(ae.hidden){continue}this._endboundindex=this._startboundindex+n;this._endvisibleindex=this._startvisibleindex+n;if(n==0){var m=Math.abs(o-ae.top);this.table[0].style.top=-m+"px";e=-m}var k=this.table[0].rows[ac];if(!k){continue}if(parseInt(k.style.height)!=ae.height){k.style.height=parseInt(ae.height)+"px"}Q+=ae.height;var X=this.rowdetails&&ae.rowdetails;var w=!ae.rowdetailshidden;if(X&&w){k.style.height=parseInt(ae.height-ae.rowdetailsheight)+"px";U++}var K=this._isrowselected(u,ae);for(var V=d;V<ab;V++){var aj=V;this._rendervisualcell(am,B,K,X,w,D,P,k,ae,aj,ac,al)}if(ae.group!=undefined&&this._rendergroup){this._rendergroup(P,k,ae,an,r,ac,J)}if(this.autorowheight&&(this.autoheight||this.pageable)){var O=this.rowsheight;for(var V=d;V<ab;V++){if(this.editable&&this.editcell&&this.editcell.column==this.columns.records[V].datafield&&this.editcell.row==this.getboundindex(ae)){if(this.editcell.editor){O=Math.max(O,this.editcell.editor.height());continue}}if(k.cells[V].firstChild){O=Math.max(O,8+parseInt(k.cells[V].firstChild.offsetHeight))}}k.style.height=parseInt(O)+"px";this.heights[this._startboundindex+n]=O;if(X&&w){O+=ae.rowdetailsheight}ae.height=O}this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:false};if(X&&w){ac++;var k=this.table[0].rows[ac];this._renderrowdetails(B,k,ae,an,r,ac);this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:true}}if(!this.autorowheight){if(Q+e>=x){break}}}else{var aa=true;this._clearvisualrow(l,D,ac,an,r);if(Q+ag+e<=x){ag+=O}}ac++}this._horizontalvalue=l;if(ag>0){if(this.vScrollBar[0].style.visibility=="visible"){var ak=parseInt(this.table.css("top"));var F=this._pageviews[this._pageviews.length-1];var v=Y.max;var E=F.top+F.height-x;if(this.hScrollBar.css("visibility")=="visible"){E+=this.scrollbarsize+20}if(v!=E&&!this.autorowheight){if(E>=0){if(this.scrollmode!="deferred"){Y.max=E;Y.setPosition(Y.max)}else{if(this._newmax!=E){this._newmax=E;this._rendervisualrows()}}}}}}}if((this.autoheight||this.pageable)&&this.autorowheight){this._pagescache=new Array();var W=0;var g=0;for(var ah=0;ah<this.visiblerows.length;ah++){var z=this.visiblerows[ah];z.top=W;W+=z.height;g+=z.height;var X=this.rowdetails&&z.rowdetails;var w=!z.rowdetailshidden;var k=this.table[0].rows[ah];if(X&&w){ah++}for(var V=d;V<ab;V++){var Z=this.columns.records[V];if(!Z.hidden&&!Z.adaptivehidden){if(!Z.cellsrenderer){var N=k.cells[V];var f=0;if(N.firstChild){var f=(z.height-parseInt(N.firstChild.offsetHeight)-8)/2;if(X&&w){var f=(z.height-z.rowdetailsheight-b(N.firstChild).height()-8)/2}}else{var f=(z.height-parseInt(b(N).height())-8)/2}if(f>=0){f=parseInt(f)+4;if(N.firstChild){if(N.firstChild.className.indexOf("jqx-grid-groups-row")==-1){if(Z.columntype!="checkbox"&&Z.columntype!="button"){if(this.editable&&this.editcell&&this.editcell.column==Z.datafield&&this.editcell.row==this.getboundindex(z)){continue}N.firstChild.style.marginTop=f+"px"}}}}}}}}if(this._pageviews[0]){this._pageviews[0].height=g}this._arrange()}this._renderemptyrow();if(this.toCompile&&this.toCompile.length>0){var T=this;b.each(T.toCompile,function(y,ao){if(this.compiled){return true}var i=this.cell;if(!i){return true}if(b.jqx.angularCompile){b.jqx.angularCompile(i,"<div>"+this.value+"</div>")}this.compiled=true})}},_hideemptyrow:function(){if(!this.showemptyrow){return}if(!this.table){return}if(!this.table[0].rows){return}var f=this.table[0].rows[0];if(!f){return}var g=false;for(var e=0;e<f.cells.length;e++){var d=b(f.cells[e]);if(d.css("display")!="none"&&!g){if(d.width()==this.host.width()||d.text()==this.gridlocalization.emptydatastring){d[0].checkbox=null;d[0].button=null;g=true;d[0].innerHTML=""}}}},_renderemptyrow:function(){if(this._loading){return}if(this.dataview.records.length==0&&this.showemptyrow){var l=false;var e=this.toTP("jqx-grid-cell");if(this.table&&this.table.length>0&&this.table[0].rows&&this.table[0].rows.length>0){var k=this.table[0].rows[0];this.table[0].style.top="0px";for(var f=0;f<k.cells.length;f++){var d=b(k.cells[f]);if(d.css("display")!="none"&&!l){d[0].checkbox=null;d[0].button=null;d[0].className=e;l=true;d[0].innerHTML="";var g=b("<span style='white-space: nowrap; float: left; margin-left: 50%; position: relative;'></span>");g.text(this.gridlocalization.emptydatastring);d.append(g);var j=0;if(!this.oldhscroll){j=parseInt(this.table[0].style.marginLeft);if(this.rtl){d.css("z-index",999);d.css("overflow","visible")}}g.css("left",-j-(g.width()/2));g.css("top",this._gettableheight()/2-g.height()/2);if(b.jqx.browser.msie&&b.jqx.browser.version<8){g.css("margin-left","0px");g.css("left",this.host.width()/2-g.width()/2)}var h=Math.abs(parseInt(this.table[0].style.top));if(isNaN(h)){h=0}b(k).height(this._gettableheight()+h);d.css("margin-left","0px");d.width(this.host.width());if(this.table.width()<this.host.width()){this.table.width(this.host.width())}}d.addClass(this.toThemeProperty("jqx-grid-empty-cell"))}}}},_clearvisualrows:function(){var e=this.virtualsizeinfo.visiblerecords;var f=this.hScrollInstance;var d=f.value;var g=parseInt(d);var i=this.groupable&&this.groups.length>0;if(!this.columns.records){return}for(var h=0;h<e;h++){this._clearvisualrow(g,i,h,0,this.columns.records.length)}},_iscellselected:function(j,i,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groups.length>0&&this.pageable&&this.groupable){var d=this.getrowboundindexbyid(i.bounddata.uid);if(d!=-1){for(var h in this.selectedcells){if(h==d+"_"+g){f=true}}return f}return false}if(j&&i.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true;break}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex==this.selectedrowindex){f=true;break}}}}}return f},_isrowselected:function(h,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groupable&&this.groups.length>0&&this.pageable){var d=this.getrowboundindexbyid(g.bounddata.uid);if(d==undefined||d==-1){return false}if(this.selectedrowindexes.indexOf(d)!=-1){f=true}if(!f){f=d==this.selectedrowindex&&this.selectedrowindex!=-1}return f}if(h&&g.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(e+g.bounddata.boundindex==this.selectedrowindex){f=true}}}}return f},_rendervisualcell:function(D,j,s,l,x,B,k,t,d,i,w,q){var f=null;var g=this.columns.records[i];if(g.hidden||g.adaptivehidden){var e=t.cells[i];e.innerHTML="";return}var o=this._getcellvalue(g,d);var e=t.cells[i];var A=j;if(this.selectionmode.indexOf("cell")!=-1){if(this.dataview.filters.length>0){if(this.selectedcells[d.bounddata.dataindex+"_"+g.datafield]){s=true}else{s=false}}else{if(this.selectedcells[d.boundindex+"_"+g.datafield]){s=true}else{s=false}}if(this.editcell){if(this.editcell.row===d.boundindex&&this.editcell.column===g.datafield){if(g.columntype!=="checkbox"){s=false}}}if(this.virtualmode||(this.groupable&&this.groups.length>0&&this.pageable)){s=this._iscellselected(true,d,g.datafield)}}if(g.cellclassname!=""&&g.cellclassname){if(typeof g.cellclassname=="string"){A+=" "+g.cellclassname}else{var p=g.cellclassname(this.getboundindex(d),g.datafield,o,d.bounddata);if(p){A+=" "+p}}}var r=this.showsortcolumnbackground&&this.sortcolumn&&g.displayfield==this.sortcolumn;if(this.sortmode==="many"&&this.showsortcolumnbackground){var h=this.getsortcolumns();for(var v=0;v<h.length;v++){if(g.displayfield===h[v].dataField){r=true}}}if(r){A+=" "+this.toTP("jqx-grid-cell-sort")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter")}if(d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}if((g.pinned&&this.showpinnedcolumnbackground)||g.grouped){if(B){if(!d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}else{}}else{A+=" "+this.toTP("jqx-grid-cell-pinned")}}if(this.altrows&&d.group==undefined){var C=d.visibleindex;if(C>=this.altstart){if((this.altstart+C)%(1+this.altstep)==0){if(!r){A+=" "+this.toTP("jqx-grid-cell-alt")}else{A+=" "+this.toTP("jqx-grid-cell-sort-alt")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter-alt")}if(g.pinned&&this.showpinnedcolumnbackground){A+=" "+this.toTP("jqx-grid-cell-pinned-alt")}}}}if(i<=k){if(B||this.rowdetails||(this.pageable&&this.virtualmode)){var y=b(e);var n=this.columns.records[i].width;if(e.style.width!=parseInt(n)+"px"){y.width(n)}}}else{if(B||this.rowdetails){if(this._hiddencolumns){var y=b(e);var n=this.columns.records[i].width;if(parseInt(e.style.width)!=n){y.width(n)}}}}var z=true;if(this.rowdetails&&l){if(x&&!B){A+=" "+this.toTP("jqx-grid-details-cell")}else{if(B){A+=" "+this.toTP("jqx-grid-group-details-cell")}}if(this.showrowdetailscolumn){if(!this.rtl){if(d.group==undefined&&i==k&&!d.bounddata.totalsrow){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse");var u=this.toThemeProperty("jqx-icon-arrow-right");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}else{if(d.group==undefined&&i==t.cells.length-k-1){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand-rtl");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse-rtl");var u=this.toThemeProperty("jqx-icon-arrow-left");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}}}if(s&&z&&i>=k){A+=" "+this.toTP("jqx-grid-cell-selected");A+=" "+this.toTP("jqx-fill-state-pressed")}if(e.className!=A){e.className=A}g._applyCellStyle(e);if(d.group!=undefined){o="";e.title="";e.innerHTML="";return}D(this,g,d,o,e,q)},_rendercell:function(v,f,k,t,d,r){var g=t+"_"+f.visibleindex;if(f.columntype=="number"||f.cellsrenderer!=null){var g=k.uniqueid+"_"+f.visibleindex}if(f.columntype=="number"){t=k.visibleindex}if(f.columntype==="adaptive"){t="..."}f._applyCellStyle(d);if(v.showrowlines){d.style.borderBottomColor=""}else{d.style.borderBottomColor="transparent"}if(v.showcolumnheaderlines){f.element.style.borderRightColor="";f.element.style.boxShadow=""}else{f.element.style.borderRightColor="transparent";f.element.style.boxShadow="none"}if(v.showcolumnlines){d.style.borderRightColor=""}else{d.style.borderRightColor="transparent"}if(v.editcell&&v.editrow==undefined){if(v.editmode=="selectedrow"&&f.editable&&v.editable){if(v.editcell.row==v.getboundindex(k)){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,d,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,d,false,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}else{if(v.editcell.row==v.getboundindex(k)&&v.editcell.column==f.datafield){v.editcell.element=d;if(v.editcell.editing){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}}}var s=v._defaultcellsrenderer(t,f);var o=v._cellscache[g];if(o){if(f.columntype=="checkbox"){if(v.host.jqxCheckBox){if(t===""){t=null}var n=d.innerHTML.toString().length==0;if(d.checkbox&&!v.groupable&&!n){d.checkboxrow=v.getboundindex(k);if(t==""){t=false}if(t=="1"){t=true}if(t=="0"){t=false}if(t==1){t=true}if(t==0){t=false}if(t=="true"){t=true}if(t=="false"){t=false}if(t==null&&!f.threestatecheckbox){t=false}if(f.checkboxcolumn){t=false;if(v.dataview.filters.length>0&&!v.virtualmode&&k.bounddata.dataindex!=undefined){if(v.selectedrowindexes.indexOf(k.bounddata.dataindex)!=-1){t=true}}else{if(v.selectedrowindexes.indexOf(k.bounddata.boundindex)!=-1){t=true}}}if(!v.disabled){if(d.checkboxinstance){d.checkboxinstance._setState(t)}else{d.checkbox.jqxCheckBox("_setState",t)}}}else{v._rendercheckboxcell(v,d,f,k,t)}if(f.cellsrenderer!=null){var h=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(h!=undefined){d.innerHTML=h}}return}}else{if(f.columntype=="button"){if(v.host.jqxButton){if(t==""){t=false}if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}if(d.innerHTML==""){d.buttonrow=v.getboundindex(k);d.button=null;v._renderbuttoncell(v,d,f,k,t)}if(d.button&&!v.groupable){d.buttonrow=v.getboundindex(k);d.button.val(t)}else{v._renderbuttoncell(v,d,f,k,t)}return}}}if(f.createwidget){if(d.innerHTML==""){d.widgetrow=v.getboundindex(k);d.widget=null;f.widget=null;v._renderwidgetcell(v,d,f,k,t)}if(d.widget&&!v.groupable){d.widgetrow=v.getboundindex(k);if(f.initwidget){f.initwidget(v.getboundindex(k),f.datafield,t,d.firstChild)}else{throw new Error("jqxGrid: 'initwidget' column function is not implemented. Please, implement 'initwidget'")}}else{v._renderwidgetcell(v,d,f,k,t)}return}var u=o.element;if(f.cellsrenderer!=null||(d.childNodes&&d.childNodes.length==0)||v.groupable||v.rowdetails){if(d.innerHTML!=u){d.innerHTML=u}}else{if(d.innerHTML.indexOf("editor")>=0){d.innerHTML=u}else{if(r){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(d.innerHTML!=u){d.innerHTML=u}}}}if(v.enabletooltips&&f.enabletooltips){d.title=o.title}return}if(f.columntype=="checkbox"){v._rendercheckboxcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="button"){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderbuttoncell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="number"){t=k.visibleindex}}}if(f.createwidget){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderwidgetcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=t}return}var u=null;if(f.cellsrenderer!=null){u=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(u&&(u.indexOf("<jqx-")>=0||u.indexOf(" ng-")>=0)){if(v.toCompile){v.toCompile.push({cell:d,value:u,row:v.getboundindex(k)})}return}}else{u=s}if(u==null){u=s}var l=t;if(v.enabletooltips&&f.enabletooltips){if(f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(t)){l=b.jqx.dataFormat.formatdate(l,f.cellsformat,v.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(t)){l=b.jqx.dataFormat.formatnumber(l,f.cellsformat,v.gridlocalization)}}}}d.title=l}if(v.WinJS){b(d).html(u)}else{var j=d.innerHTML;if(j.indexOf("editor")>=0||f.cellsrenderer!=null||v.groupable||v.virtualmode){d.innerHTML=u}else{if(j.length>0){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0||j.indexOf("span")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(j!=u){d.innerHTML=u}}}}v._cellscache[g]={element:d.innerHTML,title:l};return true},_isIE10:function(){if(this._browser==undefined){var e=b.jqx.utilities.getBrowser();if(e.browser=="msie"&&parseInt(e.version)>9){this._browser=true}else{this._browser=false;if(e.browser=="msie"){var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Zune 4.7")!=-1){this._browser=true}}}}return this._browser},_renderinlinecell:function(f,d,e,i,g){var h=b(d);d.innerHTML='<div style="position: absolute;"></div>'},_rendercheckboxcell:function(g,e,f,k,h){if(g.host.jqxCheckBox){var j=b(e);if(h===""){if(f.threestatecheckbox){h=null}else{h=false}}if(h===null&&!f.threestatecheckbox){h=false}if(h=="1"){h=true}if(h=="0"){h=false}if(h==1){h=true}if(h==0){h=false}if(h=="true"){h=true}if(h=="false"){h=false}if(f.checkboxcolumn){h=false;var d=this.getboundindex(k);if(this.selectedrowindexes.indexOf(d)!=-1){h=true}}if(j.find(".jqx-checkbox").length==0){e.innerHTML='<div style="position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>';b(e.firstChild).jqxCheckBox({disabled:g.disabled,_canFocus:false,hasInput:false,hasThreeStates:f.threestatecheckbox,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,locked:true,theme:g.theme,checked:h});if(this.enabletooltips&&f.enabletooltips){e.title=""+h}if(this.editable&&f.editable){b(e.firstChild).jqxCheckBox({locked:false})}if(f.checkboxcolumn){b(e.firstChild).jqxCheckBox({locked:false})}e.checkbox=b(e.firstChild);e.checkboxinstance=e.checkbox.data().jqxCheckBox.instance;e.checkboxrow=this.getboundindex(k);var i=b.data(e.firstChild,"jqxCheckBox").instance;i.updated=function(l,s,m){if(g.disabled){s=m;var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox({disabled:g.disabled})}}}if(f.editable&&!g.disabled){var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);if(g.editrow==undefined){if(f.cellbeginedit){var u=f.cellbeginedit(e.checkboxrow,f.datafield,f.columntype,!s);if(u==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true);return}}if(f.cellvaluechanging){var t=f.cellvaluechanging(e.checkboxrow,f.datafield,f.columntype,m,s);if(t!=undefined){s=t}}if(g.editmode!=="selectedrow"){for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox("destroy")}}}if(g.editcell&&g.editcell.validated==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true)}else{if(g.editmode!=="selectedrow"||g.editcell==null){var q=g.getrowdata(e.checkboxrow);g._raiseEvent(17,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,value:m,columntype:f.columntype});g.setcellvalue(e.checkboxrow,f.datafield,s,true);g._raiseEvent(18,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,oldvalue:m,value:s,columntype:f.columntype})}else{g.setcellvalue(e.checkboxrow,f.datafield,s,false,false)}}if(f.cellendedit){f.cellendedit(e.checkboxrow,f.datafield,f.columntype,s)}}}else{if(f.checkboxcolumn){if(g.editcell){g.endcelledit(g.editcell.row,g.editcell.column,false,true)}if(!g.disabled){if(s){g.selectrow(e.checkboxrow)}else{g.unselectrow(e.checkboxrow)}if(g.autosavestate){if(g.savestate){g.savestate()}}}}}}}else{e.checkboxrow=this.getboundindex(k);b(e.firstChild).jqxCheckBox("_setState",h,!(this.editable&&f.editable)&&!f.checkboxcolumn)}}},_renderwidgetcell:function(f,d,e,i,g){var h=b(d);if(h.find(".jqx-grid-widget").length==0){var j='<div class="jqx-grid-widget" style="opacity: 0.99; position: absolute; width: 100%; height:100%; top: 0%; left: 0%; padding: 0px;"></div>';d.innerHTML=j;e.createwidget(i,e.datafield,g,d.firstChild);b(d.firstChild).attr("hideFocus","true");b(d.firstChild).children().addClass("jqx-grid-widget");d.widget=b(d.firstChild);d.widgetrow=f.getboundindex(i);e.widget=b(d.firstChild)}else{e.initwidget(f.getboundindex(i),e.datafield,g,d.firstChild);d.widgetrow=f.getboundindex(i);b(d.firstChild).val(g)}},_renderbuttoncell:function(h,e,g,k,i){if(h.host.jqxButton){var j=b(e);if(i==""){i=false}if(j.find(".jqx-button").length==0){e.innerHTML='<input type="button" style="opacity: 0.99; position: absolute; top: 0%; left: 0%; padding: 0px; margin-top: 2px; margin-left: 2px;"/>';b(e.firstChild).val(i);b(e.firstChild).attr("hideFocus","true");b(e.firstChild).jqxButton({disabled:h.disabled,theme:h.theme,height:h.rowsheight-4,width:g.width-4});e.button=b(e.firstChild);e.buttonrow=h.getboundindex(k);var d=this.isTouchDevice();if(d){var f=b.jqx.mobile.getTouchEventName("touchend");h.addHandler(b(e.firstChild),f,function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}else{h.addHandler(b(e.firstChild),"click",function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}}else{e.buttonrow=h.getboundindex(k);b(e.firstChild).val(i)}}},_clearvisualrow:function(g,f,o,i,n){var m=this.toTP("jqx-grid-cell");if(f){m=" "+this.toTP("jqx-grid-group-cell")}m+=" "+this.toTP("jqx-grid-cleared-cell");var p=this.table[0].rows;for(var k=0;k<i+n;k++){if(p[o]){var e=p[o].cells[k];if(e.className!=m){e.className=m}var d=this.columns.records[k];if(this._horizontalvalue!=g&&!d.pinned){if(this.oldhscroll==true){var h=-g;e.style.marginLeft=-g+"px"}}var l=d.width;if(d.adaptivewidth){l=d.adaptivewidth}if(l<d.minwidth){l=d.minwidth}if(l>d.maxwidth){l=d.maxwidth}if(parseInt(e.style.width)!=l){if(l!="auto"){b(e)[0].style.width=l+"px"}else{b(e)[0].style.width=l}}if(e.title!=""){e.title=""}if(e.innerHTML!=""){e.innerHTML=""}}}if(p[o]){if(parseInt(p[o].style.height)!=this.rowsheight){p[o].style.height=parseInt(this.rowsheight)+"px"}}},_findgroupstate:function(e){var d=this._findgroup(e);if(d==null){return false}return d.expanded},_findgroup:function(e){var d=null;if(this.expandedgroups[e]){return this.expandedgroups[e]}return d},_clearcaches:function(){this._columnsbydatafield=new Array();this._pagescache=new Array();this._pageviews=new Array();this._cellscache=new Array();this.heights=new Array();this.hiddens=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();this.details=new Array();this.expandedgroups=new Array();this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}this.tableheight=null},_getColumnText:function(d){if(this._columnsbydatafield==undefined){this._columnsbydatafield=new Array()}if(this._columnsbydatafield[d]){return this._columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this._columnsbydatafield[d]={label:f,column:e};return this._columnsbydatafield[d]},_getcolumnbydatafield:function(d){if(this.__columnsbydatafield==undefined){this.__columnsbydatafield=new Array()}if(this.__columnsbydatafield[d]){return this.__columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this.__columnsbydatafield[d]=e;return this.__columnsbydatafield[d]},isscrollingvertically:function(){var d=(this.vScrollBar.jqxScrollBar("isScrolling"));return d},_renderrowdetails:function(q,y,d,x,n,A){if(y==undefined){return}var E=b(y);var g=0;var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;if(this.groupable&&this.groups.length>0){for(var r=0;r<=n;r++){var e=b(y.cells[r]);e[0].innerHTML="";e[0].className="jqx-grid-details-cell"}}var e=b(y.cells[g]);if(e[0].style.display=="none"){var o=y.cells[g];var B=2;var l=g;while(o!=undefined&&o.style.display=="none"&&B<10){o=y.cells[l+B-1];B++}e=b(o)}if(this.rtl){for(var v=x;v<n;v++){y.cells[v].innerHTML="";y.cells[v].className="jqx-grid-details-cell"}}e.css("width","100%");E.height(d.rowdetailsheight);e[0].className=q;var p=this.getboundindex(d);var j=p+"_";if(this._rowdetailscache[j]){var u=this._rowdetailscache[j];var C=u.html;if(this.initrowdetails){if(this._rowdetailscache[j].element){var f=this._rowdetailscache[j].element;var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);if(this.rtl){k=0}b(f).css("top",w);b(f).css("left",k);b(f).css("display","block");b(f).width(this.host.width()-t);if(this.layoutrowdetails){this.layoutrowdetails(p,f,this.element,this.getrowdata(p))}}}else{e[0].innerHTML=C}return}e[0].innerHTML="";if(!this.enablerowdetailsindent){t=0}var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+t+'px;">'+d.rowdetails+"</div>";if(this.rtl){var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+0+"px; margin-right: "+t+'px;">'+d.rowdetails+"</div>"}this._rowdetailscache[j]={id:y.id,html:h};if(this.initrowdetails){var f=b(h)[0];b(this.gridcontent).prepend(b(f));b(f).css("position","absolute");b(f).width(this.host.width()-t);b(f).height(e.height());var i=e.coord();b(f).css("z-index",799);if(this.isTouchDevice()){b(f).css("z-index",999)}b(f).addClass(this.toThemeProperty("jqx-widget-content"));var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);b(f).css("top",w);b(f).css("left",k);this.content[0].scrollTop=0;this.content[0].scrollLeft=0;var D=b(b(f).children()[0]);if(D[0].id!=""){D[0].id=D[0].id+p}this.initrowdetails(p,f,this.element,this.getrowdata(p));this._rowdetailscache[j].element=f;this._rowdetailselementscache[p]=f}else{e[0].innerHTML=h}},_defaultcellsrenderer:function(f,d){if(d.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(f)){f=b.jqx.dataFormat.formatdate(f,d.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(f)){f=b.jqx.dataFormat.formatnumber(f,d.cellsformat,this.gridlocalization)}}}}var e="8px";if(this.rowsheight!=31){e=(this.rowsheight/2-this._cellheight/2);if(e<0){e=4}e+="px"}if(this.enableellipsis){if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div class="jqx-grid-cell-middle-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="left"){return'<div class="jqx-grid-cell-left-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="right"){return'<div class="jqx-grid-cell-right-align" style="margin-top: '+e+';">'+f+"</div>"}}if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div style="text-align: center; margin-top: '+e+';">'+f+"</div>"}return'<span style="margin-left: 4px; margin-right: 2px; margin-top: '+e+"; float: "+d.cellsalign+';">'+f+"</span>"},getcelltext:function(g,e){if(g==null||e==null){return null}var d=this.getcellvalue(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},getcelltextbyid:function(g,e){if(g==null||e==null){return null}var d=this.getcellvaluebyid(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},_getcellvalue:function(d,f){var e=null;e=f.bounddata[d.datafield];if(d.displayfield!=null){e=f.bounddata[d.displayfield]}if(e==null){e=""}return e},getcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},getrenderedcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrenderedrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},_getcellresult:function(k,n,e){var f=this.getcolumn(e);if(f==null||f==undefined){return null}var i=f.getcolumnproperties();var g=i.hidden;var d=i.width;var m=i.pinned;var h=i.cellsalign;var j=i.cellsformat;var l=this.getrowheight(n);if(l==false){return null}return{value:k,row:n,column:e,datafield:e,width:d,height:l,hidden:g,pinned:m,align:h,format:j}},setcellvaluebyid:function(i,d,h,f,g){var e=this.getrowboundindexbyid(i);return this.setcellvalue(e,d,h,f,g)},getcellvaluebyid:function(f,d){var e=this.getrowboundindexbyid(f);return this.getcellvalue(e,d)},setcellvalue:function(o,F,H,Q,j){if(o==null||F==null){return false}var h=parseInt(o);var t=h;var C=o;if(!isNaN(h)){C=this.getrowdata(h)}var N=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){N=true}if(this.virtualmode){this._pagescache=new Array()}if(this.sortcache){this.sortcache={}}var q="";var d="";if(C!=null&&C[F]!==H){if(C[F]===null&&H===""){return}var I=this._getcolumnbydatafield(F);var R="string";var v=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(v){var D="";b.each(v,function(){if(this.name==I.displayfield){if(this.type){D=this.type}return false}});if(D){R=D}d=C[I.displayfield]}q=C[F];if(!I.nullable||(H!=null&&H!==""&&I.nullable&&H.label===undefined)){if(b.jqx.dataFormat.isNumber(q)||R=="number"||R=="float"||R=="int"||R=="decimal"&&R!="date"){if(this.gridlocalization&&this.gridlocalization.decimalseparator==","){if(H&&H.indexOf&&H.indexOf(",")>=0){H=H.replace(",",".")}}H=new Number(H);H=parseFloat(H);if(isNaN(H)){H=0}}else{if(b.jqx.dataFormat.isDate(q)||R=="date"){if(H!=""){var L=H;L=new Date(L);if(L!="Invalid Date"&&L!=null){H=L}else{if(L=="Invalid Date"){L=new Date();H=L}}}}}if(C[F]===H){if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return}}var A=this.source&&this.source._source.localdata&&this.source._source.localdata.name==="observableArray";C[F]=H;if(A){var P=this.source._source.localdata;if(!P._updating){P._updating=true;P[o][F]=H;P._updating=false}}var l=this.getrenderedrowdata(h,true);if(!l){return}l[F]=H;if(H!=null&&H.label!=null){var I=this._getcolumnbydatafield(F);C[I.displayfield]=H.label;l[I.displayfield]=H.label;C[F]=H.value;l[F]=H.value;if(A&&!P._updating){P._updating=true;P[o][F]=H.value;P[o][I.displayfield]=H.label;P._updating=false}}if(N){if(C.dataindex!=undefined){t=C.dataindex;this.dataview.cachedrecords[C.dataindex][F]=H;if(H!=null&&H.label!=undefined){this.dataview.cachedrecords[C.dataindex][F]=H.value;this.dataview.cachedrecords[C.dataindex][I.displayfield]=H.label}}}}else{if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return false}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var E=h;if(N){if(C.dataindex!=undefined){E=C.dataindex}}var g=this.source._source._localdata()[E];this.source.suspendKO=true;var G=g;if(G[F]&&G[F].subscribe){if(H!=null&&H.label!=null){G[I.displayfield](H.label);G[F](H.value)}else{G[F](H)}}else{var v=this.source._source.datafields;var B=null;var x=null;if(v){b.each(v,function(){if(this.name==F){x=this.map;return false}})}if(x==null){if(H!=null&&H.label!=null){G[F]=H.value;G[I.displayfield]=H.label}else{G[F]=H}}else{var f=x.split(this.source.mapChar);if(f.length>0){var n=G;for(var M=0;M<f.length-1;M++){n=n[f[M]]}n[f[f.length-1]]=H}}this.source._source._localdata.replace(g,b.extend({},G))}this.source.suspendKO=false}}if(this.sortcolumn&&this.dataview.sortby&&!this._updating){var z=this.getsortinformation();if(this.sortcolumn==F&&this.sortmode!=="many"){this.dataview.clearsortdata();this.dataview.sortby(z.sortcolumn,z.sortdirection.ascending)}else{if(this.sortmode==="many"){var m=this.getsortcolumns();this.dataview.clearsortdata();this.sortby(null);for(var O=0;O<m.length;O++){this.sortby(m[O].dataField,m[O].ascending)}}}}else{if(!this._updating){if(this.dataview.sortby){if(this.dataview.sortcache[F]){this.dataview.sortcache[F]=null}}}}this._cellscache=new Array();this._pagescache=new Array();if(this.source.updaterow&&(j==undefined||j==true)){var J=false;var r=this.that;var s=function(i){if(false==i){r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}}};try{var k=this.getrowid(h);J=this.source.updaterow(k,C,s);if(J==undefined){J=true}}catch(w){J=false;r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}return}}var K=this.vScrollInstance.value;if(this._updating&&Q!=true){Q=false}if(Q==true||Q==undefined){var r=this.that;var e=function(){if(r.pageable&&r.updatepagerdetails){r.updatepagerdetails();if(r.autoheight||r.autorowheight){r._updatepageviews()}}};var u=this.groupable&&this.groups.length>0;if(N&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.refresh();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.sortcolumn&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.reloaddata();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.groupable&&this.groups.length>0){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}if(this.pageable){if(this.groups.indexOf(F)!=-1){this._pagescache=new Array();this._cellscache=new Array();this.dataview.refresh();this._render(true,true,false,false)}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}}}this.vScrollInstance.setPosition(K);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}if(this.showfilterrow&&this.filterable&&this.filterrow){var y=this.getcolumn(F).filtertype;if(y=="list"||y=="checkedlist"){this._updatelistfilters(true)}}this._raiseEvent(19,{rowindex:o,datafield:F,newvalue:H,value:H,oldvalue:q});return true},getcellvalue:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){var f=g[d];return f}return null},getrows:function(){var h=this.dataview.records.length;if(this.virtualmode){var j=new Array();for(var e=0;e<this.dataview.records.length;e++){var d=this.dataview.records[e];if(d){j.push(d)}}if(this.dataview.records.length===undefined){b.each(this.dataview.records,function(){var i=this;if(i){j.push(i)}})}var g=0;if(this.pageable){g=this.dataview.pagenum*this.dataview.pagesize}if(j.length>this.source._source.totalrecords-g){return j.slice(0,this.source._source.totalrecords-g)}return j}if(this.dataview.sortdata){var j=new Array();for(var e=0;e<h;e++){var f={};f=b.extend({},this.dataview.sortdata[e].value);j[e]=f}return j}else{return this.dataview.records}},getrowboundindexbyid:function(g){var f=this.dataview.recordsbyid["id"+g];if(f){if(f.boundindex){return this.getboundindex(f)}}var e=this.getboundrows();for(var d=0;d<e.length;d++){if(e[d]){if(e[d].uid==g){return d}}}return -1},getrowdatabyid:function(f){var e=this.dataview.recordsbyid["id"+f];if(e){return e}else{var d=this.getrowboundindexbyid(f);return this.getboundrows()[d]}return null},getrowdata:function(d){if(d==undefined){d=0}if(this.virtualmode){var e=this.dataview.records[d];return e}else{var e=this.getboundrows()[d];return e}return null},getrenderedrowdata:function(d,f){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var e=this.dataview.loadedrecords[g];return e}var g=this.getrowvisibleindex(d);if(g>=0){if(this.groupable&&this.groups.length>0){var e=this.dataview.loadedrecords[g]}else{var e=this.dataview.loadedrecords[g];if(this.pageable&&(f==undefined||f==false)){var e=this.dataview.loadedrecords[this.dataview.pagesize*this.dataview.pagenum+d]}}return e}return null},getboundrows:function(){return this.dataview.cachedrecords},getrowdisplayindex:function(d){var f=this.getdisplayrows();for(var e=0;e<f.length;e++){if(!f[e]){continue}if(f[e].dataindex!==undefined){if(f[e].dataindex==d){return f[e].visibleindex}}else{if(f[e].boundindex==d){return f[e].visibleindex}}}return -1},getboundindex:function(e){var d=e.boundindex;if(this.groupable&&this.groups.length>0&&this.pageable){if(e.bounddata){d=this.getrowboundindexbyid(e.bounddata.uid)}}if(this.dataview.filters.length>0){if(e.bounddata){if(e.bounddata.dataindex!==undefined){d=e.bounddata.dataindex}}else{if(e.dataindex!==undefined){d=e.dataindex}}}return d},getrowboundindex:function(d){var e=this.getdisplayrows()[d];if(e){if(e.dataindex!==undefined){return e.dataindex}return e.boundindex}return -1},getdisplayrows:function(){return this.dataview.loadedrecords},getloadedrows:function(){return this.getdisplayrows()},getvisiblerowdata:function(e){var d=this.getvisiblerows();if(d){return d[e]}return null},getloadedrowdata:function(e){var d=this.getloadedrows();if(d){return d[e]}return null},getvisiblerows:function(){if(this.virtualmode){return this.dataview.loadedrecords}if(this.pageable){var f=[];for(var e=0;e<this.dataview.pagesize;e++){var d=this.dataview.loadedrecords[e+(this.dataview.pagesize*this.dataview.pagenum)];if(d==undefined){break}f.push(d)}return f}else{if(this._startboundindex!=undefined&&this._endboundindex!=undefined){var f=[];for(var e=this._startvisibleindex;e<=this._endvisibleindex;e++){var d=this.dataview.loadedrecords[e];if(d==undefined){break}f.push(d)}return f}}return this.dataview.loadedrecords},getrowid:function(d){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g];if(f){return f.uid}}else{var f=null;var e=this.dataview.filters.length>0;if(d>=0&&d<this.dataview.bounditems.length&&!e){if(this.groupable&&this.groups.length>0){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}else{var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}if(f){return f.uid}}if(this.dataview.filters.length>0){var f=this.getboundrows()[d];if(f){if(f.uid!=null){return f.uid}}return null}}return null},_updateGridData:function(e){var d=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){d=true}if(d){this.dataview.refresh();if(e=="updaterow"){this._render(true,true,false,false,false);this.invalidate()}else{this.render()}}else{if(this.sortcolumn||(this.groupable&&this.groups.length>0)){this.dataview.reloaddata();this.render()}else{if(e==="updaterow"){this.dataview.refresh();if(!this.virtualmode){this._render(true,true,false,false,false)}}this._cellscache=new Array();this._pagescache=new Array();this._renderrows(this.virtualsizeinfo)}}if(this.showfilterrow&&this.filterable&&this.filterrow){this._updatelistfilters(true)}},updaterow:function(i,k,g){if(i!=undefined&&k!=undefined){var h=this.that;var j=false;h._datachanged=true;var e=function(q,l,u){if(q._loading){throw new Error("jqxGrid: "+q.loadingerrormessage);return false}var s=false;if(!b.isArray(l)){s=q.dataview.updaterow(l,u)}else{b.each(l,function(v,w){s=q.dataview.updaterow(this,u[v],false)});q._cellscache=new Array();q._pagescache=new Array();q.dataview.refresh()}var m=q.vScrollInstance.value;if(g==undefined||g==true){if(q._updating==undefined||q._updating==false){q._updateGridData("updaterow")}}if(q.showaggregates&&q._updatecolumnsaggregates){q._updatecolumnsaggregates()}if(q.source&&q.source._knockoutdatasource&&!q._updateFromAdapter&&q.autokoupdates){if(q.source._source._localdata){var n=q.dataview.recordsbyid["id"+l];var o=q.dataview.records.indexOf(n);var p=q.source._source._localdata()[o];q.source.suspendKO=true;q.source._source._localdata.replace(p,b.extend({},n));q.source.suspendKO=false}}var r=q.source&&q.source._source.localdata&&q.source._source.localdata.name==="observableArray";if(r){if(!q.source._source.localdata._updating){q.source._source.localdata._updating=true;var t=q.getrowboundindexbyid(l);q.source._source.localdata.set(t,u);q.source._source.localdata._updating=false}}q.vScrollInstance.setPosition(m);return s};if(this.source.updaterow){var d=function(l){if(l==true||l==undefined){e(h,i,k)}else{j=false}};try{j=this.source.updaterow(i,k,d);if(j==undefined){j=true}}catch(f){j=false}}else{j=e(h,i,k)}return j}return false},deleterow:function(d,k){if(d!=undefined){this._datachanged=true;var o=false;var m=this.that;var p=this.getrowboundindexbyid(d);var e=new Array();var j=new Array();if(p!=undefined){if(this.selectedrowindexes.indexOf(p)>=0){this.selectedrowindexes.splice(this.selectedrowindexes.indexOf(p),1)}if(this.selectedrowindex==p){this.selectedrowindex=-1}if(!this.virtualmode){if(m.selectionmode.indexOf("row")>=0){b.each(this.selectedrowindexes,function(){var q=m.getrowid(this);e.push(q)});this.selectedrowindexes=new Array();this.selectedrowindex=-1}else{if(m.selectionmode.indexOf("cell")>=0){for(var i in m.selectedcells){var n=m.selectedcells[i];var h=m.getrowid(n.rowindex);n.rowid=h}}}this._rendervisualrows()}}var f=function(w,r){if(w._loading){throw new Error("jqxGrid: "+w.loadingerrormessage);return false}var z=false;var t=w.vScrollInstance.value;if(!b.isArray(r)){var z=w.dataview.deleterow(r)}else{b.each(r,function(){z=w.dataview.deleterow(this,false)});w._cellscache=new Array();w._pagescache=new Array();w.dataview.refresh()}if(!w.virtualmode){if(w.selectionmode.indexOf("row")>=0){b.each(e,function(){var B=w.getrowboundindexbyid(this);if(B!=-1){w.selectrow(B,false)}})}else{var A=new Array();for(var v in w.selectedcells){var y=w.selectedcells[v];var u=y.rowid;var s=w.getrowboundindexbyid(u);if(s!=-1){y.rowindex=s;A[s+"_"+y.datafield]=y}}w.selectedcells=A}}if(w._updating==undefined||w._updating==false){if(k==undefined||k==true){setTimeout(function(){w._render(true,true,false,false);if(w.vScrollBar.css("visibility")!="visible"){w._arrange();w._updatecolumnwidths();w._updatecellwidths();w._renderrows(w.virtualsizeinfo)}})}}if(w.source&&w.source._knockoutdatasource&&!w._updateFromAdapter&&w.autokoupdates){if(w.source._source._localdata){w.source.suspendKO=true;w.source._source._localdata.pop();w.source.suspendKO=false}}var x=w.source&&w.source._source.localdata&&w.source._source.localdata.name==="observableArray";if(x){if(!w.source._source.localdata._updating){w.source._source.localdata._updating=true;w.source._source.localdata.splice(p,1);w.source._source.localdata._updating=false}}if(w.dataview.sortby&&w.sortmode!=="many"){var q=w.getsortinformation();if(q.sortcolumn){w.dataview.clearsortdata();w.dataview.sortby(q.sortcolumn,q.sortdirection?q.sortdirection.ascending:null)}}w.vScrollInstance.setPosition(t);return z};if(this.source.deleterow){var g=function(q){if(q==true||q==undefined){f(m,d)}};try{this.source.deleterow(d,g);if(o==undefined){o=true}}catch(l){o=false}}else{o=f(m,d)}return o}return false},addrow:function(f,o,j){if(o!=undefined){this._datachanged=true;if(j==undefined){j="last"}var n=false;var m=this.that;if(f==null){var g=this.dataview.filters&&this.dataview.filters.length>0;var l=!g?this.dataview.totalrecords:this.dataview.cachedrecords.length;if(!b.isArray(o)){f=this.dataview.getid(this.dataview.source.id,o,l);while(null!=this.dataview.recordsbyid["id"+f]){f++}}else{var d=new Array();b.each(o,function(e,p){var q=m.dataview.getid(m.dataview.source.id,o[e],l+e);d.push(q)});f=d}}var h=function(s,r,v,e){if(s._loading){throw new Error("jqxGrid: "+s.loadingerrormessage);return false}var u=s.vScrollInstance.value;var t=false;if(!b.isArray(v)){if(v!=undefined&&v.dataindex!=undefined){delete v.dataindex}t=s.dataview.addrow(r,v,e)}else{b.each(v,function(w,x){if(this.dataindex!=undefined){delete this.dataindex}var y=null;if(r!=null&&r[w]!=null){y=r[w]}t=s.dataview.addrow(y,this,e,false)});s._cellscache=new Array();s._pagescache=new Array();s.dataview.refresh()}if(s._updating==undefined||s._updating==false){s._render(true,true,false,false);s.invalidate()}if(s.source&&s.source._knockoutdatasource&&!s._updateFromAdapter&&s.autokoupdates){if(s.source._source._localdata){s.source.suspendKO=true;s.source._source._localdata.push(v);s.source.suspendKO=false}}var p=s.source&&s.source._source.localdata&&s.source._source.localdata.name==="observableArray";if(p){if(!s.source._source.localdata._updating){s.source._source.localdata._updating=true;var q=s.getrowboundindexbyid(r);s.source._source.localdata.set(q,v);s.source._source.localdata._updating=false}}if(s.scrollmode!="deferred"){s.vScrollInstance.setPosition(u)}else{s.vScrollInstance.setPosition(0)}return t};if(this.source.addrow){var i=function(e,p){if(e==true||e==undefined){if(p!=undefined){f=p}h(m,f,o,j)}};try{n=this.source.addrow(f,o,j,i);if(n==undefined){n=true}}catch(k){n=false}if(n==false){return false}}else{h(this,f,o,j)}return n}return false},_findvisiblerow:function(h,i){if(h==undefined){h=parseInt(this.vScrollInstance.value)}var f=0;if(i==undefined||i==null){i=this.rows.records}var d=i.length;while(f<=d){var e=parseInt((f+d)/2);var g=i[e];if(g==undefined){break}if(g.top>h&&g.top+g.height>h){d=e-1}else{if(g.top<h&&g.top+g.height<h){f=e+1}else{return e;break}}}return -1},_updatecellwidths:function(){var f=this.virtualsizeinfo;if(!f){return}var p=this.that;if(p.gridcontent==undefined){return}if(p.table==undefined){p.table=p.gridcontent.find("#contenttable"+p.element.id)}var k=p.groupable&&p.groups.length>0;var q=0;var l=f.visiblerecords;if(p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.pagesize;if(p.groupable){p.dataview.updateview();l=p.dataview.rows.length}}if(!p.groupable&&!p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.totalrecords}if(p.rowdetails){l+=p.dataview.pagesize}if(!p.columns.records){return}var r=p.columns.records.length;var t=p.table[0].rows;for(var n=0;n<l;n++){var d=t[n];if(!d){break}var s=d.cells;var h=0;for(var m=0;m<r;m++){var g=p.columns.records[m];var e=g.width;if(g.adaptivewidth){e=g.adaptivewidth}var o=s[m];if(parseInt(o.style.left)!=h){o.style.left=h+"px"}if(parseInt(o.style.width)!=e){o.style.width=e+"px"}if(!(g.hidden&&g.hideable)&&!g.adaptivehidden){h+=parseFloat(e)}else{o.style.display="none"}}if(q==0){p.table.width(parseFloat(h)+2);q=h}}if(p.showaggregates&&p._updateaggregates){p._updateaggregates()}if(p.showfilterrow&&p.filterable&&p._updatefilterrowui){p._updatefilterrowui()}if(p.showeverpresentrow){p._updateaddnewrowui()}p._updatescrollbarsafterrowsprerender();if(k){p._renderrows(p.virtualsizeinfo)}},_updatescrollbarsafterrowsprerender:function(){var g=this.that;var f=g.hScrollBar[0].style.visibility;var i=0;var d=g.vScrollBar[0].style.visibility;if(d=="visible"){i=g.scrollbarsize+3}if(g.scrollbarsize==0){i=0}if(g.scrollbarautoshow){i=0}var e=g.element.style.width;if(e.toString().indexOf("%")>=0){e=g.host.width()}else{e=parseInt(e)}if(parseInt(g.table[0].style.width)-2>e-i){if(f!="visible"){if(!g.autowidth){g.hScrollBar[0].style.visibility="visible"}g._arrange()}if(d=="visible"){if(g.scrollmode!="deferred"&&!g.virtualmode){if(g.virtualsizeinfo){var h=g.virtualsizeinfo.virtualheight-g._gettableheight();if(!isNaN(h)&&h>0){if(f!="hidden"){g.vScrollBar.jqxScrollBar("max",h+g.scrollbarsize+4)}else{g.vScrollBar.jqxScrollBar("max",h)}}}}else{g._updatevscrollbarmax()}}else{i=-2}g.hScrollBar.jqxScrollBar("max",i+g.table.width()-g.host.width())}else{if(f!="hidden"){g.hScrollBar.css("visibility","hidden");g._arrange()}}g._renderhorizontalscroll()},_hascolumnstyle:function(){if(undefined!==this._hascolumnstyles){return this._hascolumnstyles}this._hascolumnstyles=false;for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.style.headerBackgroundColor||e.style.headerColor||e.style.headerBackgroundHoveredColor||e.style.headerHoveredColor||e.style.headerBackgroundSelectedColor||e.style.headerSelectedColor||e.style.backgroundColor||e.style.color||e.style.backgroundHoveredColor||e.style.hoveredColor||e.style.backgroundSelectedColor||e.style.selectedColor){this._hascolumnstyles=true;return true}}return false},_prerenderrows:function(o){var C=this.that;if(C.prerenderrequired==true){C.prerenderrequired=false;if(C.editable&&C._destroyeditors){C._destroyeditors()}if(C.gridcontent==undefined){return}C.gridcontent.find("#contenttable"+C.element.id).remove();if(C.table!=null){C.table.remove();C.table=null}C.table=b('<div id="contenttable'+C.element.id+'" style="overflow: hidden; position: relative;"></div>');C.gridcontent.addClass(C.toTP("jqx-grid-content"));C.gridcontent.addClass(C.toTP("jqx-widget-content"));C.gridcontent.append(C.table);var B=C.groupable&&C.groups.length>0;var p=0;C.table[0].rows=new Array();var l=C.toTP("jqx-grid-cell");if(B){l=" "+C.toTP("jqx-grid-group-cell")}var u=o.visiblerecords;if(C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.pagesize;if(C.groupable){C.dataview.updateview();u=C.dataview.rows.length;if(u<C.dataview.pagesize){u=C.dataview.pagesize}}}if(!C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.totalrecords}if(C.groupable&&C.groups.length>0&&(C.autoheight||C.autorowheight)&&!C.pageable){u=C.dataview.rows.length}if(C.rowdetails){if(C.autoheight||C.autorowheight){u+=C.dataview.pagesize}else{u+=u}}if(!C.columns.records){return}var A=C.columns.records.length;if(b.jqx.browser.msie&&b.jqx.browser.version>8){C.table.css("opacity","0.99")}if(b.jqx.browser.mozilla){}if(navigator.userAgent.indexOf("Safari")!=-1){C.table.css("opacity","0.99")}var r=b.jqx.browser.msie&&b.jqx.browser.version<8;if(r){C.host.attr("hideFocus","true")}var k=C.tableZIndex;if(u*A>k){k=u*A}var g=C.dataview.records.length==0;var n=C.isTouchDevice();var v="";C._hiddencolumns=false;var D=5+C.columns.records.length;for(var z=0;z<u;z++){var s='<div role="row" style="position: relative; height:'+C.rowsheight+'px;" id="row'+z+C.element.id+'">';if(r){var s='<div role="row" style="position: relative; z-index: '+k+"; height:"+C.rowsheight+'px;" id="row'+z+C.element.id+'">';k--}var f=0;for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(C.rtl){var q=k-A+2*x;var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+q+"; width:"+t+"px;";k--}else{var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+k--+"; width:"+t+"px;"}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}else{d+="display: none;";C._hiddencolumns=true;k++}if(z===0&&x===0){d+='" tabindex="'+D+'"'}d+='" class="'+l+'">';var y=this._defaultcellsrenderer("",w);d+=y;d+="</div>";s+=d}if(p==0){C.table.width(parseInt(f)+2);p=f}s+="</div>";v+=s}if(C.WinJS){MSApp.execUnsafeLocalFunction(function(){C.table.html(v)})}else{C.table[0].innerHTML=v}C.table[0].rows=new Array();var m=C.table.children();for(var z=0;z<u;z++){var h=m[z];C.table[0].rows.push(h);h.cells=new Array();var e=b(h).children();for(var x=0;x<A;x++){h.cells.push(e[x])}}if(u==0){var f=0;if(C.showemptyrow){var s=b('<div style="position: relative;" id="row0'+C.element.id+'"></div>');C.table.append(s);s.height(C.rowsheight);C.table[0].rows[0]=s[0];C.table[0].rows[0].cells=new Array()}for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(C.showemptyrow){var d=b('<div style="position: absolute; height: 100%; left: '+f+"px; z-index: "+k--+"; width:"+t+'px;" class="'+l+'"></div>');d.height(C.rowsheight);s.append(d);C.table[0].rows[0].cells[x]=d[0]}if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}}C.table.width(parseInt(f)+2);p=f}C._updatescrollbarsafterrowsprerender();if(C.rendered){C.rendered("rows")}C.toCompile=new Array();C._addoverlayelement()}},_groupsheader:function(){return this.groupable&&this.showgroupsheader},_arrange:function(){var A=null;var x=null;this.tableheight=null;var F=this.that;var n=false;var m=false;if(F.width!=null&&F.width.toString().indexOf("px")!=-1){A=F.width}else{if(F.width!=undefined&&!isNaN(F.width)){A=F.width}}if(F.width!=null&&F.width.toString().indexOf("%")!=-1){A=F.width;n=true}if(F.scrollbarautoshow){F.vScrollBar[0].style.display="none";F.hScrollBar[0].style.display="none";F.vScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex;F.hScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex}if(F.autowidth){var p=0;for(var B=0;B<F.columns.records.length;B++){var e=F.columns.records[B].width;if(e=="auto"){e=F._measureElementWidth(F.columns.records[B].text);p+=e}else{p+=e}}if(F.vScrollBar.css("visibility")!="hidden"){p+=F.scrollbarsize+4}A=p;F.width=A}if(F.height!=null&&F.height.toString().indexOf("px")!=-1){x=F.height}else{if(F.height!=undefined&&!isNaN(F.height)){x=F.height}}if(F.height!=null&&F.height.toString().indexOf("%")!=-1){x=F.height;m=true}var k=function(){var i=0;var w=F.showheader?F.columnsheader!=null?F.columnsheader.height()+2:0:0;i+=w;if(F.pageable){i+=F.pagerheight}if(F._groupsheader()){i+=F.groupsheaderheight}if(F.showtoolbar){i+=F.toolbarheight}if(F.showstatusbar){i+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){i+=F.everpresentrowheight}if(F.hScrollBar[0].style.visibility=="visible"){i+=15}return i};if(F.autoheight&&F.virtualsizeinfo){if(F.pageable&&F.gotopage){var C=0;x=C+(F._pageviews[0]?F._pageviews[0].height:0);x+=k();if(F.showemptyrow&&F.dataview.totalrecords==0){x+=F.rowsheight}}else{var C=F.host.height()-F._gettableheight();if(F._pageviews.length>0){x=C+F._pageviews[F._pageviews.length-1].height+F._pageviews[F._pageviews.length-1].top;F.vScrollBar[0].style.visibility="hidden"}else{x=k();if(F.showemptyrow){x+=F.rowsheight}}}}else{if(F.autoheight){x=F.dataview.totalrecords*F.rowsheight;if(F.pageable&&F.gotopage){x=F.pagesize*F.rowsheight}if(F._loading){x=250;F.dataloadelement.height(x)}x+=k();if(x>10000){x=10000}}}if(A!=null){A=parseInt(A);if(!n){if(F.element.style.width!=parseInt(F.width)+"px"){F.element.style.width=parseInt(F.width)+"px"}}else{F.element.style.width=F.width}if(n){A=F.host.width();if(A<=2){A=600;F.host.width(A)}if(!F._oldWidth){F._oldWidth=A}}}else{F.host.width(250)}if(x!=null){if(!m){x=parseInt(x)}if(!m){if(F.element.style.height!=parseInt(x)+"px"){F.element.style.height=parseInt(x)+"px"}}else{F.element.style.height=F.height}if(m&&!F.autoheight){x=F.host.height();if(x==0){x=400;F.host.height(x)}if(!F._oldHeight){F._oldHeight=x}}}else{F.host.height(250)}if(F.autoheight){F.tableheight=null;F._gettableheight()}var v=0;if(F.showtoolbar){F.toolbar.width(A);F.toolbar.height(F.toolbarheight-1);F.toolbar.css("top",0);v+=F.toolbarheight;x-=parseInt(F.toolbarheight)}else{F.toolbar[0].style.height="0px"}if(F.showstatusbar){if(F.showaggregates){F.statusbar.width(!F.table?A:Math.max(A,F.table.width()))}else{F.statusbar.width(A)}F.statusbar.height(F.statusbarheight)}else{F.statusbar[0].style.height="0px"}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.width(A);F.addnewrow.height(F.everpresentrowheight)}else{F.addnewrow[0].style.height="0px"}if(F._groupsheader()){F.groupsheader.width(A);F.groupsheader.height(F.groupsheaderheight);F.groupsheader.css("top",v);var y=F.groupsheader.height()+1;v+=y;if(x>y){x-=parseInt(y)}}else{if(F.groupsheader[0].style.width!=A+"px"){F.groupsheader[0].style.width=parseInt(A)+"px"}F.groupsheader[0].style.height="0px";if(F.groupsheader[0].style.top!=v+"px"){F.groupsheader.css("top",v)}var y=F.showgroupsheader&&F.groupable?F.groupsheaderheight:0;var f=v+y+"px";if(F.content[0].style.top!=f){F.content.css("top",v+F.groupsheaderheight)}}var d=F.scrollbarsize;if(isNaN(d)){d=parseInt(d);if(isNaN(d)){d="17px"}else{d=d+"px"}}d=parseInt(d);var s=4;var h=2;var j=0;if(F.vScrollBar[0].style.visibility=="visible"){j=d+s}if(F.hScrollBar[0].style.visibility=="visible"){h=d+s+2}if(d==0){j=0;h=0}var r=0;if(F.pageable){r=F.pagerheight;h+=F.pagerheight}if(F.showstatusbar){h+=F.statusbarheight;r+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){h+=F.everpresentrowheight;r+=F.everpresentrowheight}if(F.hScrollBar[0].style.height!=d+"px"){F.hScrollBar[0].style.height=parseInt(d)+"px"}if(F.hScrollBar[0].style.top!=v+x-s-d-r+"px"||F.hScrollBar[0].style.left!="0px"){F.hScrollBar.css({top:v+x-s-d-r+"px",left:"0px"})}var q=F.hScrollBar[0].style.width;var l=false;var D=false;if(j==0){if(q!=(A-2)+"px"){F.hScrollBar.width(A-2);l=true}}else{if(q!=(A-d-s)+"px"){F.hScrollBar.width(A-d-s+"px");l=true}}if(!F.autoheight){if(F.vScrollBar[0].style.width!=d+"px"){F.vScrollBar.width(d);D=true}if(F.vScrollBar[0].style.height!=parseInt(x)-h+"px"){F.vScrollBar.height(parseInt(x)-h+"px");D=true}if(F.vScrollBar[0].style.left!=parseInt(A)-parseInt(d)-s+"px"||F.vScrollBar[0].style.top!=v+"px"){F.vScrollBar.css({left:parseInt(A)-parseInt(d)-s+"px",top:v})}}if(F.rtl){F.vScrollBar.css({left:"0px",top:v});if(F.vScrollBar.css("visibility")!="hidden"){F.hScrollBar.css({left:d+2})}}var o=F.vScrollInstance;o.disabled=F.disabled;if(!F.autoheight){if(D){o.refresh()}}var z=F.hScrollInstance;z.disabled=F.disabled;if(l){z.refresh()}if(F.autowidth){F.hScrollBar[0].style.visibility="hidden"}F.statusbarheight=parseInt(F.statusbarheight);F.toolbarheight=parseInt(F.toolbarheight);var t=function(w){if((w.vScrollBar[0].style.visibility=="visible")&&(w.hScrollBar[0].style.visibility=="visible")){w.bottomRight[0].style.visibility="visible";w.bottomRight.css({left:1+parseInt(w.vScrollBar.css("left")),top:parseInt(w.hScrollBar.css("top"))});if(w.rtl){w.bottomRight.css("left","0px")}w.bottomRight.width(parseInt(d)+3);w.bottomRight.height(parseInt(d)+4);var G=w.showeverpresentrow&&w.everpresentrowposition=="bottom";var i=G?w.everpresentrowheight:0;if(i>0&&!w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-i})}if(w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+w.statusbarheight+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-w.statusbarheight-i})}}else{w.bottomRight[0].style.visibility="hidden"}};t(this);if(F.content[0].style.width!=A-j+"px"){F.content.width(A-j)}if(F.content[0].style.height!=x-h+3+"px"){F.content.height(x-h+3)}if(F.scrollbarautoshow){if(F.content[0].style.width!=A+"px"){F.content.width(A)}if(F.content[0].style.height!=x+"px"){F.content.height(x)}}if(F.content[0].style.top!=v+"px"){F.content.css("top",v)}if(F.rtl){F.content.css("left",j);if(F.scrollbarautoshow){F.content.css("left","0px")}if(F.table){var u=F.table.width();if(u<A-j){F.content.css("left",A-u)}}}if(F.showstatusbar){F.statusbar.css("top",v+x-F.statusbarheight-(F.pageable?F.pagerheight:0));if(F.showaggregates){if(F.hScrollBar.css("visibility")=="visible"){F.hScrollBar.css({top:v+x-s-d-r+F.statusbarheight+"px"});F.statusbar.css("top",1+v+x-d-5-F.statusbarheight-(F.pageable?F.pagerheight:0))}t(this)}if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.statusbar.css("left",F.content.css("left"))}else{F.statusbar.css("left","0px")}}}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.css("top",v+x-(F.showstatusbar?F.statusbarheight:0)-(F.pageable?F.pagerheight:0)-F.everpresentrowheight);if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.addnewrow.css("left",F.content.css("left"))}else{F.addnewrow.css("left","0px")}}}if(F.pageable){F.pager.width(A);F.pager.height(F.pagerheight);F.pager.css("top",v+x-F.pagerheight-1)}else{F.pager[0].style.height="0px"}if(F.table!=null){var g=-2;if(F.vScrollBar[0].style.visibility=="visible"){g=F.scrollbarsize+3}if(F.hScrollBar[0].style.visibility=="visible"){var E=g+F.table.width()-F.host.width();if(E>=0){F.hScrollBar.jqxScrollBar("max",E)}if(F.hScrollBar[0].style.visibility=="visible"&&E==0){F.hScrollBar[0].style.visibility="hidden";F._arrange()}}}if(A!=parseInt(F.dataloadelement[0].style.width)){F.dataloadelement[0].style.width=F.element.style.width}if(x!=parseInt(F.dataloadelement[0].style.height)){F.dataloadelement[0].style.height=F.element.style.height}if(this.pagergotoinput){if(this.pagergotoinput.offset().top!==this.pagergoto.offset().top){this.pagergotoinput.css("visibility","hidden");this.pagergoto.css("visibility","hidden")}else{this.pagergotoinput.css("visibility","inherit");this.pagergoto.css("visibility","inherit")}}F._hostwidth=A},destroy:function(){delete b.jqx.dataFormat.datescache;delete this.gridlocalization;b.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(b(window.top.document),"mouseup.grid"+this.element.id)}}if(this.table&&this.table[0]){var m=this.table[0].rows.length;for(var k=0;k<m;k++){var q=this.table[0].rows[k];var p=q.cells;var f=p.length;for(var h=0;h<f;h++){b(q.cells[h]).remove();q.cells[h]=null;delete q.cells[h]}q.cells=null;if(q.cells){delete q.cells}b(this.table[0].rows[k]).remove();this.table[0].rows[k]=null}try{delete this.table[0].rows}catch(n){}this.table.remove();delete this.table}if(this.columns&&this.columns.records){for(var k=0;k<this.columns.records.length;k++){var e=this.columns.records[k];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}}if(e.destroywidget){if(e.destroywidget){e.destroywidget(e.widget)}}this._removecolumnhandlers(this.columns.records[k]);if(e.element){b(e.element).remove();b(e.sortasc).remove();b(e.sortdesc).remove();b(e.filtericon).remove();b(e.menu).remove();e.element=null;e.uielement=null;e.sortasc=null;e.sortdesc=null;e.filtericon=null;e.menu=null;delete e.element;delete e.uielement;delete e.sortasc;delete e.sortdesc;delete e.filtericon;delete e.menu;delete this.columnsrow[0].cells[k]}}try{delete this.columnsrow[0].cells}catch(n){}delete this.columnsrow}b.removeData(document.body,"contextmenu"+this.element.id);if(this.host.jqxDropDownList){if(this._destroyfilterpanel){this._destroyfilterpanel()}}if(this.editable&&this._destroyeditors){this._destroyeditors()}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}if(this.host.jqxMenu){if(this.gridmenu){this.removeHandler(b(document),"click.menu"+this.element.id);this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu=null}}if(this.pagershowrowscombo){this.pagershowrowscombo.jqxDropDownList("destroy");this.pagershowrowscombo=null}if(this.pagerrightbutton){this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.pagerrightbutton.jqxButton("destroy");this.pagerrightbutton=null}if(this.pagerleftbutton){this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.pagerleftbutton.jqxButton("destroy");this.removeHandler(b(document),"mouseup.pagerbuttons"+this.element.id);this.pagerleftbutton=null}this.removeHandler(b(document),"selectstart."+this.element.id);this.removeHandler(b(document),"mousedown.resize"+this.element.id);this.removeHandler(b(document),"mouseup.resize"+this.element.id);this.removeHandler(b(document),"mousemove.resize"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(document),"mousedown.reorder"+this.element.id);this.removeHandler(b(document),"mouseup.reorder"+this.element.id);this.removeHandler(b(document),"mousemove.reorder"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(window),"resize."+this.element.id);if(this.resizeline){this.resizeline.remove()}if(this.resizestartline){this.resizestartline.remove()}if(this.groupable){var l="mousemove.grouping"+this.element.id;var d="mousedown.grouping"+this.element.id;var g="mouseup.grouping"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}if(this.columnsreorder){var l="mousemove.reorder"+this.element.id;var d="mousedown.reorder"+this.element.id;var g="mouseup.reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g);delete this.columnsbounds}if(this.content){this.removeHandler(this.content,"mousedown");this.removeHandler(this.content,"scroll")}this._removeHandlers();this.hScrollInstance.destroy();this.vScrollInstance.destroy();this.hScrollBar.remove();this.vScrollBar.remove();this._clearcaches();delete this.hScrollInstance;delete this.vScrollInstance;delete this.visiblerows;delete this.hittestinfo;delete this.rows;delete this.columns;delete this.columnsbydatafield;delete this.pagescache;delete this.pageviews;delete this.cellscache;delete this.heights;delete this.hiddens;delete this.hiddenboundrows;delete this.heightboundrows;delete this.detailboundrows;delete this.details;delete this.expandedgroups;delete this._rowdetailscache;delete this._rowdetailselementscache;delete this.columnsmenu;if(this.columnsheader){this.columnsheader.remove();delete this.columnsheader}if(this.selectionarea){this.selectionarea.remove();delete this.selectionarea}if(this.menuitemsarray&&this.menuitemsarray.length){var o=this.menuitemsarray.length;for(var k=0;k<o;k++){b(this.menuitemsarray[k]).remove()}}delete this.menuitemsarray;this.dataview._clearcaches();this.content.removeClass();this.content.remove();this.content=null;delete this.content;this.vScrollBar=null;this.hScrollBar=null;delete this.hScrollBar;delete this.hScrollBar;if(this.gridcontent){this.gridcontent.remove();delete this.gridcontent}if(this.gridmenu){this.gridmenu=null;delete this.gridmenu}delete this._mousemovefunc;delete this._mousewheelfunc;this.dataview.destroy();delete this.dataview;this.bottomRight.remove();delete this.bottomRight;this.wrapper.remove();delete this.wrapper;if(this.pagerdiv){this.pagerdiv.remove();delete this.pagerdiv}if(this.pagerpageinput){this.pagerpageinput.remove();delete this.pagerpageinput}if(this.pagergoto){this.pagergoto.remove();delete this.pagergoto}if(this.pagershowrows){this.pagershowrows.remove();delete this.pagershowrows}if(this.pagerfirstbutton){this.pagerfirstbutton.remove();delete this.pagerfirstbutton}if(this.pagerlastbutton){this.pagerlastbutton.remove();delete this.pagerlastbutton}if(this.pagerbuttons){this.pagerbuttons.remove();delete this.pagerbuttons}if(this.pagerdetails){this.pagerdetails.remove();delete this.pagerdetails}if(this.pagergotoinput){this.pagergotoinput.remove();delete this.pagergotoinput}this.pager.remove();delete this.pager;this.groupsheader.remove();delete this.groupsheader;this.dataloadelement.remove();delete this.dataloadelement;this.toolbar.remove();delete this.toolbar;this.statusbar.remove();delete this.statusbar;this.host.removeData();this.host.removeClass();this.host.remove();this.host=null;delete this.host;delete this.element;delete this.set;delete this.get;delete this.that;delete this.call},_initializeColumns:function(){var f=this.source?this.source.datafields:null;if(f==null&&this.source&&this.source._source){f=this.source._source.datafields}var k=f?f.length>0:false;if(this.autogeneratecolumns){var m=new Array();if(f){b.each(f,function(){var i={datafield:this.name,text:this.text||this.name,cellsformat:this.format||""};m.push(i)})}else{if(this.source.records.length>0){var o=this.source.records[0];for(var h in o){if(h!="uid"){var g={width:100,datafield:h,text:h};m.push(g)}}}}this.columns=m}if(this.columns&&this.columns.records){for(var j=0;j<this.columns.records.length;j++){this._removecolumnhandlers(this.columns.records[j])}}var l=this.that;var e=new b.jqx.collection(this.element);var d=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.groupable){b.each(this.groups,function(i){var p=new c(l,this);p.visibleindex=d++;p.width=l.groupindentwidth;e.add(p);p.grouped=true;p.filterable=false;p.sortable=false;p.editable=false;p.resizable=false;p.draggable=false})}if(this.rowdetails&&this.showrowdetailscolumn){var g=new c(l,this);g.visibleindex=d++;g.width=l.groupindentwidth;g.pinned=true;g.editable=false;g.filterable=false;g.draggable=false;g.groupable=false;g.resizable=false;e.add(g);l._haspinned=true}if(this.selectionmode=="checkbox"){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.checkboxcolumn=true;g.editable=false;g.columntype="checkbox";g.groupable=false;g.draggable=false;g.filterable=false;g.resizable=false;g.datafield="_checkboxcolumn";e.add(g)}var n=new Array();b.each(this.columns,function(i){if(l.columns[i]!=undefined){var p=new c(l,this);p.visibleindex=d++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){l._haspinned=true}if(l.showeverpresentrow){if(this.datafield==="addButtonColumn"||this.datafield==="resetButtonColumn"||this.datafield==="updateButtonColumn"||this.datafield==="deleteButtonColumn"){p.editable=false;p.groupable=false;p.draggable=false;p.filterable=false;p.resizable=false;p.menu=false}}if(this.datafield==null){if(l.source&&l.source._source&&(l.source._source.datatype=="array")){if(!k){if(!l.source._source.datafields){l.source._source.datafields=new Array();l.source._source.datafields.push({name:i.toString()})}else{l.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();p.datafield=this.datafield;p.displayfield=this.displayfield}}else{if(n[this.datafield]){throw new Error("jqxGrid: Invalid column 'datafield' setting. jqxGrid's columns should be initialized with unique data fields.");l.host.remove();return false}else{n[this.datafield]=true}}e.add(p)}});if(this.adaptive){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.editable=false;g.columntype="adaptive";g.cellsalign="center";g.groupable=false;g.draggable=false;g.menu=false;g.sortable=false;g.filterable=false;g.resizable=false;g.datafield="_adaptivecolumn";e.add(g)}if(this.rtl){e.records.reverse()}this.columns=e},_initializeRows:function(){var d=new b.jqx.collection(this.element);if(this.rows){this.rows.clear()}this.rows=d},_raiseEvent:function(j,e){if(e==undefined){e={owner:null}}if(this._trigger===false){return}var f=this.events[j];if(!this._camelCase){f=f.toLowerCase()}if(j==2||j==15){if(this.showeverpresentrow&&(this.everpresentrowactions.indexOf("delete")>=0||this.everpresentrowactions.indexOf("update")>=0)){if(this.updateeverpresentrow){var i=this}setTimeout(function(){i.updateeverpresentrow()},50)}}var g=e;g.owner=this;var h=new b.Event(f);h.owner=this;h.args=g;var d=this.host.trigger(h);e=h.args;return d},wheel:function(f,e){if(e.autoheight&&e.hScrollBar.css("visibility")!="visible"){f.returnValue=true;return true}var g=0;if(!f){f=window.event}if(f.originalEvent&&f.originalEvent.wheelDelta){f.wheelDelta=f.originalEvent.wheelDelta}if(f.wheelDelta){g=f.wheelDelta/120}else{if(f.detail){g=-f.detail/3}}if(g){var d=e._handleDelta(g);if(d){if(f.preventDefault){f.preventDefault()}if(f.originalEvent!=null){f.originalEvent.mouseHandled=true}if(f.stopPropagation!=undefined){f.stopPropagation()}}if(d){d=false;f.returnValue=d;return d}else{return false}}if(f.preventDefault){f.preventDefault()}f.returnValue=false},_handleDelta:function(f){if(this.vScrollBar.css("visibility")!="hidden"){var e=this.vScrollInstance.value;if(f<0){this.scrollDown()}else{this.scrollUp()}var d=this.vScrollInstance.value;if(e!=d){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var e=this.hScrollInstance.value;if(f>0){if(this.hScrollInstance.value>2*this.horizontalscrollbarstep){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var d=this.hScrollInstance.value;if(e!=d){return true}}}return false},scrollDown:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value+this.rowsheight<=d.max){d.setPosition(parseInt(d.value)+this.rowsheight)}else{d.setPosition(d.max)}},scrollUp:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value-this.rowsheight>=d.min){d.setPosition(parseInt(d.value)-this.rowsheight)}else{d.setPosition(d.min)}},_removeHandlers:function(){var d=this.that;d.removeHandler(b(window),"orientationchange.jqxgrid"+d.element.id);d.removeHandler(b(window),"orientationchanged.jqxgrid"+d.element.id);d.removeHandler(d.vScrollBar,"valueChanged");d.removeHandler(d.hScrollBar,"valueChanged");d.vScrollInstance.valueChanged=null;d.hScrollInstance.valueChanged=null;var e="mousedown.jqxgrid";if(d.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend")}d.removeHandler(d.host,"dblclick.jqxgrid");d.removeHandler(d.host,e);d.removeHandler(d.content,"mousemove",d._mousemovefunc);d.removeHandler(d.host,"mouseleave.jqxgrid");d.removeHandler(d.content,"mouseenter");d.removeHandler(d.content,"mouseleave");d.removeHandler(d.content,"mousedown");d.removeHandler(d.content,"scroll");d.removeHandler(d.content,"selectstart."+d.element.id);d.removeHandler(d.host,"dragstart."+d.element.id);d.removeHandler(d.host,"keydown.edit"+d.element.id);d.removeHandler(b(document),"keydown.edit"+d.element.id);d.removeHandler(b(document),"keyup.edit"+d.element.id);if(d._mousemovedocumentfunc){d.removeHandler(b(document),"mousemove.selection"+d.element.id,d._mousemovedocumentfunc)}d.removeHandler(b(document),"mouseup.selection"+d.element.id);if(d._mousewheelfunc){d.removeHandler(d.host,"mousewheel",d._mousewheelfunc)}if(d.editable){d.removeHandler(b(document),"mousedown.gridedit"+d.element.id)}if(d.host.off){d.content.off("mousemove");d.host.off("mousewheel")}},_addHandlers:function(){var e=this.that;var d=e.isTouchDevice();if(!d){e.addHandler(e.host,"dragstart."+e.element.id,function(j){return false})}if(e.scrollbarautoshow){e.addHandler(e.host,"mouseenter.gridscroll"+e.element.id,function(j){e.vScrollBar.fadeIn("fast");e.hScrollBar.fadeIn("fast")});e.addHandler(e.host,"mouseleave.gridscroll"+e.element.id,function(j){if(!e.vScrollInstance.isScrolling()&&!e.hScrollInstance.isScrolling()){e.vScrollBar.fadeOut("fast");e.hScrollBar.fadeOut("fast")}})}if(e.editable){e.addHandler(b(document),"mousedown.gridedit"+e.element.id,function(m){if(e.editable&&e.begincelledit){if(e.editcell){if(!e.vScrollInstance.isScrolling()&&!e.vScrollInstance.isScrolling()){var r=e.host.coord();var q=e.host.width();var n=e.host.height();var v=false;var k=false;var t=false;if(m.pageY<r.top||m.pageY>r.top+n){v=true;k=true}if(m.pageX<r.left||m.pageX>r.left+q){v=true;t=true}if(v){var u=false;if(e.editcell&&e.editcell.editor){switch(e.editcell.columntype){case"datetimeinput":if(e.editcell.editor.jqxDateTimeInput&&e.editcell.editor.jqxDateTimeInput("container")&&e.editcell.editor.jqxDateTimeInput("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDateTimeInput("container").coord().top;var j=e.editcell.editor.jqxDateTimeInput("container").coord().top+e.editcell.editor.jqxDateTimeInput("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDateTimeInput("close")}else{return}}break;case"combobox":if(e.editcell.editor.jqxComboBox&&e.editcell.editor.jqxComboBox("container")&&e.editcell.editor.jqxComboBox("container")[0].style.display=="block"){var s=e.editcell.editor.jqxComboBox("container").coord().top;var j=e.editcell.editor.jqxComboBox("container").coord().top+e.editcell.editor.jqxComboBox("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxComboBox("close")}else{return}}break;case"dropdownlist":if(e.editcell.editor.jqxDropDownList&&e.editcell.editor.jqxDropDownList("container")&&e.editcell.editor.jqxDropDownList("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDropDownList("container").coord().top;var j=e.editcell.editor.jqxDropDownList("container").coord().top+e.editcell.editor.jqxDropDownList("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDropDownList("close")}else{return}}break;case"template":case"custom":var l=["jqxDropDownList","jqxComboBox","jqxDropDownButton","jqxDateTimeInput"];var p=function(A){var z=e.editcell.editor.data();if(z[A]&&z[A].instance.container&&z[A].instance.container[0].style.display=="block"){var x=z[A].instance;var B=x.container.coord().top;var y=x.container.coord().top+x.container.height();if(k&&(m.pageY<B||m.pageY>y)){v=true;x.close();return true}else{return false}}};for(var o=0;o<l.length;o++){var w=p(l[o]);if(w==false){return}}break}}e.endcelledit(e.editcell.row,e.editcell.column,false,true);e._oldselectedcell=null}}}}})}e.vScrollInstance.valueChanged=function(j){if(e.virtualsizeinfo){e._closemenu();if(e.scrollmode!="physical"){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{if(e.currentScrollValue!=undefined&&Math.abs(e.currentScrollValue-j.currentValue)>=5){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}}if(!e.pageable&&!e.groupable&&e.dataview.virtualmode){if(e.loadondemandupdate){clearTimeout(e.loadondemandupdate)}e.loadondemandupdate=setTimeout(function(){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)},100)}if(d){e._lastScroll=new Date()}}};e.hScrollInstance.valueChanged=function(l){if(e.virtualsizeinfo){e._closemenu();var k=function(){e._renderhorizontalscroll();e._renderrows(e.virtualsizeinfo);if(e.editcell&&!e.editrow){if(e._showcelleditor&&e.editcell.editing){if(!e.hScrollInstance.isScrolling()){e._showcelleditor(e.editcell.row,e.getcolumn(e.editcell.column),e.editcell.element,e.editcell.init)}}}};if(d){k()}else{var j=e._browser==undefined?e._isIE10():e._browser;if(navigator&&navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},1)}else{if(b.jqx.browser.msie){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},0.01)}else{k()}}}if(d){e._lastScroll=new Date()}}};e._mousewheelfunc=e._mousewheelfunc||function(j){if(!e.editcell&&e.enablemousewheel){e.wheel(j,e);return false}};e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);e.addHandler(e.host,"mousewheel",e._mousewheelfunc);var h="mousedown.jqxgrid";if(d){h=b.jqx.mobile.getTouchEventName("touchend")}e.addHandler(e.host,h,function(k){if(e.isTouchDevice()){e._newScroll=new Date();if(e._newScroll-e._lastScroll<500){return false}if(b(k.target).ischildof(e.vScrollBar)){return false}if(b(k.target).ischildof(e.hScrollBar)){return false}}e._mousedown=new Date();var j=e._handlemousedown(k,e);if(e.isNestedGrid){if(!e.resizablecolumn&&!e.columnsreorder){k.stopPropagation()}}e._lastmousedown=new Date();return j});if(!d){e.addHandler(e.host,"dblclick.jqxgrid",function(k){if(e.editable&&e.begincelledit&&e.editmode=="dblclick"){e._handledblclick(k,e)}else{if(b.jqx.browser.msie&&b.jqx.browser.version<9){var j=e._handlemousedown(k,e)}}e.mousecaptured=false;e._lastmousedown=new Date();return true});e._mousemovefunc=function(j){if(e._handlemousemove){return e._handlemousemove(j,e)}};e.addHandler(e.content,"mousemove",e._mousemovefunc);if(e._handlemousemoveselection){e._mousemovedocumentfunc=function(j){if(e._handlemousemoveselection){return e._handlemousemoveselection(j,e)}};e.addHandler(b(document),"mousemove.selection"+e.element.id,e._mousemovedocumentfunc)}e.addHandler(b(document),"mouseup.selection"+e.element.id,function(j){if(e._handlemouseupselection){e._handlemouseupselection(j,e)}})}try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var i=null;if(window.parent&&document.referrer){i=document.referrer}if(i&&i.indexOf(document.location.host)!=-1){var g=function(k){if(e._handlemouseupselection){try{e._handlemouseupselection(k,e)}catch(j){}}};e.addHandler(b(window.top.document),"mouseup.grid"+e.element.id,g)}}}}catch(f){}e.focused=false;if(!d){e.addHandler(e.content,"mouseenter",function(j){e.focused=true;if(e.wrapper){e.wrapper.attr("tabindex",1);e.content.attr("tabindex",2)}if(e._overlayElement){if(e.vScrollInstance.isScrolling()||e.hScrollInstance.isScrolling()){e._overlayElement[0].style.visibility="visible"}else{e._overlayElement[0].style.visibility="hidden"}}});e.addHandler(e.content,"mouseleave",function(j){if(e._handlemousemove){if(e.enablehover){e._clearhoverstyle()}}if(e._overlayElement){e._overlayElement[0].style.visibility="hidden"}e.focused=false});if(e.groupable||e.columnsreorder){e.addHandler(b(document),"selectstart."+e.element.id,function(j){if(e.__drag===true){return false}})}e.addHandler(e.content,"selectstart."+e.element.id,function(j){if(e.enablebrowserselection){return true}if(e.showfilterrow){if(b(j.target).ischildof(e.filterrow)){return true}}if(e.showeverpresentrow){if(b(j.target).ischildof(e.addnewrow)){return true}if(e.addnewrowtop){if(b(j.target).ischildof(e.addnewrowtop)){return true}}}if(j.target.className&&j.target.className.indexOf("jqx-grid-widget")>=0){return true}if(!e.editcell){return false}if(j.stopPropagation){j.stopPropagation()}});e.addHandler(b(document),"keyup.edit"+e.element.id,function(j){e._keydown=false});e.addHandler(b(document),"keydown.edit"+e.element.id,function(l){if(e.adaptiveview){return true}e._keydown=true&&!e.editcell;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(k===20){if(!e._capsLock){e._capsLock=true}else{e._capsLock=false}}if(e.handlekeyboardnavigation){if(e.focused||(l.target===e.element||b(l.target).ischildof(e.host))){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}}if(e.editable&&e.editcell){if(k==13||k==27||k==9||k==32){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}}if(k==27){e.mousecaptured=false;if(e.selectionarea.css("visibility")=="visible"){e.selectionarea.css("visibility","hidden")}}if(b.jqx.browser.msie&&b.jqx.browser.version<12&&e.focused&&!e.isNestedGrid){if(k==13&&j==false){return j}var j=true;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(!e.editcell&&e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}return j}}return true});e.addHandler(e.host,"keyup.edit"+e.element.id,function(k){if(e.adaptiveview){return true}if(k.keyCode===9){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){switch(e.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var j=e.getselectedcell();if(j===null){e.selectcell(0,e.columns.records[0].displayfield)}break;default:var l=e.getselectedrowindex();if(l===-1){e.selectrow(0)}break}}}}});e.addHandler(e.host,"keydown.edit"+e.element.id,function(l){var j=true;if(e.adaptiveview){return true}if(e.handlekeyboardnavigation){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}if(e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}if(!e.editcell&&l.altKey){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){if(l.keyCode===40){var k=e.getselectedcell();if(k){e.openmenu(k.column)}}else{if(l.keyCode===38){e._closemenu()}}}}}if(!(b.jqx.browser.msie&&b.jqx.browser.version<8)){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}else{if(e.isNestedGrid){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);l.stopPropagation()}}}if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}if(j&&e.selectedcells&&e.selectedcells.length>0){if(l.keyCode===9&&l.shiftKey&&e.table&&e.table[0].rows&&e.table[0].rows.length>0){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){e.table[0].rows[0].cells[0].focus()}}}}return j})}},_hittestrow:function(s,q){if(this.vScrollInstance==null||this.hScrollInstance==null){return}if(s==undefined){s=0}if(q==undefined){q==0}var l=this.vScrollInstance;var k=this.hScrollInstance;var f=l.value;if(this.vScrollBar.css("visibility")!="visible"){f=0}var m=k.value;if(this.hScrollBar.css("visibility")!="visible"){m=0}if(this.scrollmode=="deferred"&&this._newmax!=null){if(f>this._newmax){f=this._newmax}}var r=parseInt(f)+q;var j=parseInt(m)+s;if(this.visiblerows==null){return}if(this.visiblerows.length==0){return}var e=false;var i=this._findvisiblerow(r,this.visiblerows);if(i>=0){var o=this.visiblerows[i];var d=this.rowdetails&&o.rowdetails;var n=!o.rowdetailshidden;if(d){var g=this.visiblerows[i-1];if(g==o){o=g;i--}if(n){var h=b(this.hittestinfo[i].visualrow).position().top+parseInt(this.table.css("top"));var p=b(this.hittestinfo[i].visualrow).height();if(!(q>=h&&q<=h+p)){i++;o=this.visiblerows[i];e=true}}}}return{index:i,row:o,details:e}},getcellatposition:function(j,q){var r=this.that;var z=this.showheader?this.columnsheader.height()+2:0;var s=this._groupsheader()?this.groupsheader.height():0;var B=this.showtoolbar?this.toolbarheight:0;s+=B;var g=this.host.coord();if(this.hasTransform){g=b.jqx.utilities.getOffset(this.host)}var p=j-g.left;var n=q-z-g.top-s;var d=this._hittestrow(p,n);var k=d.row;var l=d.index;var t=this.table[0].rows[l];if(this.dataview&&this.dataview.records.length==0){var o=this.table[0].rows;var C=0;for(var w=0;w<o.length;w++){if(n>=C&&n<C+this.rowsheight){t=o[w];break}C+=this.rowsheight}k={boundindex:w}}if(t==null){return true}var u=this.hScrollInstance;var v=u.value;var f=0;var m=this.groupable?this.groups.length:0;for(var w=0;w<t.cells.length;w++){var h=parseInt(b(this.columnsrow[0].cells[w]).css("left"));var j=h-v;if(r.columns.records[w].pinned){j=h}if(r.columns.records[w].hidden||r.columns.records[w].adaptivehidden){continue}var A=j+b(this.columnsrow[0].cells[w]).width();if(A>=p&&p>=j){f=w;break}}if(k!=null){var e=this._getcolumnat(f);return{row:this.getboundindex(k),column:e.datafield,value:this.getcellvalue(this.getboundindex(k),e.datafield)}}return null},_handlemousedown:function(Y,n){if(Y.target==null){return true}if(n.disabled){return true}if(b(Y.target).ischildof(this.columnsheader)||b(Y.target).ischildof(this.hScrollBar)||b(Y.target).ischildof(this.vScrollBar)){return true}if(Y.target===n.bottomRight[0]){return true}var o;if(Y.which){o=(Y.which==3)}else{if(Y.button){o=(Y.button==2)}}var R;if(Y.which){R=(Y.which==2)}else{if(Y.button){R=(Y.button==1)}}if(R){return true}if(this.adaptiveview){if(b(Y.target).ischildof(b(this.adaptiveview))){return true}if(Y.target==this.adaptiveview){return true}}if(this.showstatusbar){if(b(Y.target).ischildof(this.statusbar)){return true}if(Y.target==this.statusbar[0]){return true}}if(this.showtoolbar){if(b(Y.target).ischildof(this.toolbar)){return true}if(Y.target==this.toolbar[0]){return true}}if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}if(Y.target==this.pager[0]){return true}}if(!this.columnsheader){return true}if(!this.editcell){if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}}}var W=this.showheader?this.columnsheader.height()+2:0;var C=this._groupsheader()?this.groupsheader.height():0;var F=this.showtoolbar?this.toolbarheight:0;C+=F;var U=this.host.coord();if(this.hasTransform){U=b.jqx.utilities.getOffset(this.host);var ab=this._getBodyOffset();U.left-=ab.left;U.top-=ab.top}var k=parseInt(Y.pageX);var l=parseInt(Y.pageY);if(this.isTouchDevice()){var Z=n.getTouches(Y);var Q=Z[0];k=parseInt(Q.pageX);l=parseInt(Q.pageY);if(n.touchmode==true){if(Q._pageX!=undefined){k=parseInt(Q._pageX);l=parseInt(Q._pageY)}}}var J=k-U.left;var I=l-W-U.top-C;if(this.pageable&&!this.autoheight&&this.gotopage){var d=this.pager.coord().top-U.top-C-W;if(I>d){return}}var V=this._hittestrow(J,I);if(!V){return}if(V.details){return}var r=V.row;var E=V.index;var s=Y.target.className;var j=this.table[0].rows[E];if(j==null){if(n.editable&&n.begincelledit){if(n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}n.mousecaptured=true;n.mousecaptureposition={left:Y.pageX,top:Y.pageY-C,clickedrow:j};var m=this.hScrollInstance;var u=m.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){u=m.max-m.value}}var G=-1;var D=this.groupable?this.groups.length:0;if(this.rtl){if(this.vScrollBar[0].style.visibility!="hidden"){u-=this.scrollbarsize+4}if(this.hScrollBar[0].style.visibility=="hidden"){u=-parseInt(this.content.css("left"))}}for(var S=0;S<j.cells.length;S++){var T=parseInt(b(this.columnsrow[0].cells[S]).css("left"));var k=T-u;if(n.columns.records[S].pinned&&!n.rtl){k=T}var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}if(this.rtl&&this._haspinned){for(var S=j.cells.length-1;S>=0;S--){if(!n.columns.records[S].pinned){break}var T=b(this.columnsrow[0].cells[S]).coord().left-this.host.coord().left;var k=T;var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}}if(r!=null&&G>=0){this._raiseEvent(1,{rowindex:this.getboundindex(r),visibleindex:r.visibleindex,row:r,group:r.group,rightclick:o,originalEvent:Y});var L=this._getcolumnat(G);var O=this.getcellvalue(this.getboundindex(r),L.datafield);if(this.editable&&this.editcell){this._currentEditableColumn=G;if(L.datafield==this.editcell.column){if(this.getboundindex(r)==this.editcell.row){this.mousecaptured=false}}}if(L.columntype==="adaptive"){var K=document.createElement("div");var aa=document.createElement("div");var A=document.createElement("a");var w=document.createElement("a");var f=document.createElement("div");var M=this.getrowdata(this.getboundindex(r));A.href="#";w.href="#";K.style.zIndex=99999;K.style.position="absolute";K.style.left="0px";K.style.top="0px";K.style.width="100%";K.style.height="100%";K.className="jqx-adaptive-view jqx-widget-content";f.style.position="relative";f.style.top="100%";f.style.textAlign="center";f.style.marginTop="-40px";aa.style.position="absolute";aa.style.left="0px";aa.style.top="0px";aa.style.width="100%";aa.style.height="100%";if(this.theme){K.className="jqx-widget-content jqx-widget-content-"+this.theme}var e=document.createElement("span");e.className="jqx-icon-close";if(this.theme){e.className="jqx-icon-close jqx-widget-close-"+this.theme}e.style.zIndex=99;e.style.position="absolute";e.style.right="10px";e.style.top="10px";e.style.width="16px";e.style.height="16px";K.appendChild(aa);K.appendChild(e);A.innerHTML=this.gridlocalization.okstring;w.innerHTML=this.gridlocalization.cancelstring;A.addEventListener("mousedown",function(ad){var af={};var x=n.adaptiveview.querySelectorAll("input");for(var y=0;y<x.length;y++){var ae=x[y].value;var ac=x[y].getAttribute("data-column");af[ac]=ae}n.updaterow(M.uid,af);K.parentNode.removeChild(K);n.adaptiveview=null;ad.stopPropagation();return false});w.addEventListener("mousedown",function(){K.parentNode.removeChild(K);n.adaptiveview=null;Y.stopPropagation();return false});if(this.editable){f.appendChild(A);f.appendChild(w);K.appendChild(f)}var v="<table class='jqx-adaptive-table'><tr>";var E=0;for(var S=0;S<this.columns.records.length;S++){var L=this.columns.records[S];if(L.columntype==="adaptive"){continue}if(S>0&&E%2===0){v+="</tr><tr>"}var B=M[L.displayfield];if(L.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(B)){B=b.jqx.dataFormat.formatdate(B,L.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(B)){B=b.jqx.dataFormat.formatnumber(B,L.cellsformat,this.gridlocalization)}}}}var H=this.filterable?'<div datafield="'+L.datafield+'" class="'+n.toTP("jqx-grid-column-filterbutton")+'" style="position: relative; top: 4px; display: inline-block; width: 16px; height:16px;"></div>':"";if(this.editable){if(L.editable){v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' value='"+B+"'/></td>"}else{v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' readonly value='"+B+"'/></td>"}}else{v+="<td>"+H+L.text+": "+B+"</td>"}E++}v+="</tr></table>";aa.innerHTML=v;e.addEventListener("mousedown",function(i){K.parentNode.removeChild(K);n.adaptiveview=null});this.wrapper[0].appendChild(K);this.adaptiveview=K;b(this.adaptiveview).find(".jqx-grid-column-filterbutton").on("click",function(){var i=this.getAttribute("datafield");var x=this.offsetTop;n.openmenu(i);setTimeout(function(){n.gridmenu.css("top",30+x);n.gridmenu.css("left",25);n.gridmenu.css("z-index",99999);n.gridmenu.parent().css("z-index",99999)},300)});return}this._raiseEvent(8,{rowindex:this.getboundindex(r),column:L?L.getcolumnproperties():null,row:r,visibleindex:r.visibleindex,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y});if(L.createwidget){return true}if(this.isTouchDevice()){if(L.columntype=="checkbox"&&this.editable&&this._overlayElement){if(!this.editcell){this._overlayElement.css("visibility","hidden");this.editcell=this.getcell(E,L.datafield);return true}}else{if(L.columntype=="button"&&this._overlayElement){if(L.buttonclick){L.buttonclick(j.cells[G].buttonrow,Y)}return true}}}var h=false;if(this._lastmousedown!=null){if(this._mousedown-this._lastmousedown<300){if(this._clickedrowindex==this.getboundindex(r)){this._raiseEvent(22,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,group:r.group,rightclick:o,originalEvent:Y});if(this._clickedcolumn==L.datafield){this._raiseEvent(23,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,column:L?L.getcolumnproperties():null,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y})}h=true;this._clickedrowindex=-1;this._clickedcolumn=null;if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}}}}if(o){return true}if(!h){this._clickedrowindex=this.getboundindex(r);this._clickedcolumn=L.datafield}var g=b.jqx.utilities.getBrowser();if(g.browser=="msie"&&parseInt(g.version)<=7){if(G==0&&this.rowdetails){s="jqx-grid-group-collapse"}if(D>0){if(G<=D){s="jqx-grid-group-collapse"}}}if(s.indexOf("jqx-grid-group-expand")!=-1||s.indexOf("jqx-grid-group-collapse")!=-1){if(!this.rtl){if(D>0&&G<D&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}else{if(D>0&&G>j.cells.length-D-1&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==j.cells.length-1-D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}}else{if(r.boundindex!=-1){var p=this.selectedrowindexes.slice(0);var X=false;if(n.selectionmode!="none"&&n.selectionmode!="checkbox"&&this._selectrowwithmouse){if(n.selectionmode=="multiplecellsadvanced"||n.selectionmode=="multiplecellsextended"||n.selectionmode=="multiplerowsextended"||n.selectionmode=="multiplerowsadvanced"){if(!Y.ctrlKey&&!Y.shiftKey&&!Y.metaKey){n.selectedrowindexes=new Array();n.selectedcells=new Array()}}var z=false;var q=this.getboundindex(r);if(n._oldselectedrow===q||n.selectionmode==="none"){z=true}if(n.selectionmode.indexOf("cell")==-1){if((n.selectionmode!="singlerow")||(n.selectedrowindex!=q&&n.selectionmode=="singlerow")){this._applyrowselection(q,true,false,null,L.datafield);this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey)}}else{if(L.datafield!=null){this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey);if(!Y.shiftKey){this._applycellselection(q,L.datafield,true,false)}}}if(n._oldselectedcell){if(n._oldselectedcell.datafield==n.selectedcell.datafield&&n._oldselectedcell.rowindex==n.selectedcell.rowindex){X=true}}n._oldselectedcell=n.selectedcell;n._oldselectedrow=q}if(n.autosavestate){if(n.savestate){n.savestate()}}if(n.editable&&n.begincelledit&&n.editmode!="programmatic"){if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}if(n.editmode=="selectedrow"){if(z&&!n.editcell){if(L.columntype!=="checkbox"){this._currentEditableColumn=G;var t=n.beginrowedit(this.getboundindex(r))}}else{if(n.editcell&&!z&&n.selectionmode!="none"){var t=n.endrowedit(n.editcell.row)}}}else{var q=this.getboundindex(r);var P=n.editmode=="click"||(X&&n.editmode=="selectedcell");if(n.selectionmode.indexOf("cell")==-1){if(n.editmode!="dblclick"){P=true}}if(P){if(r.boundindex!=undefined&&L.editable){var t=n.begincelledit(this.getboundindex(r),L.datafield,L.defaulteditorvalue);if(n.selectionmode.indexOf("cell")!=-1){n._applycellselection(q,L.datafield,false,false)}}}if(n.selectionmode.indexOf("cell")!=-1){if(n.editmode=="selectedcell"&&!X&&n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}if(n.editmode=="dblclick"&&!X&&n.editcell&&!(n.editcell.row==q&&L.datafield==n.editcell.column)){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}}}}return true},_columnPropertyChanged:function(e,d,g,f){},_rowPropertyChanged:function(g,d,f,e){},_serializeObject:function(d){if(d==null){return""}var e="";b.each(d,function(g){var i=this;if(g>0){e+=", "}e+="[";var f=0;for(var h in i){if(f>0){e+=", "}e+="{"+h+":"+i[h]+"}";f++}e+="]"});return e},isbindingcompleted:function(){return !this._loading},propertiesChangedHandler:function(d,e,f){if(f.width&&f.height&&Object.keys(f).length==2){d._updatesize(true,true);d._resizeWindow();if(d.virtualmode&&!d._loading){d.vScrollInstance.setPosition(0)}else{setTimeout(function(){d._renderrows(d.virtualsizeinfo)},100)}}},propertyChangedHandler:function(e,f,i,h){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}f=f.toLowerCase();switch(f){case"editable":case"showcolumnheaderlines":case"showcolumnlines":case"showrowlines":e.refresh();break;case"everpresentrowactionsmode":if(i!=h){e._removeaddnewrow();e.render()}break;case"everpresentrowactions":e._updateaddnewrowui();break;case"showeverpresentrow":case"everpresentrowposition":case"everpresentrowheight":if(i!=h){e._removeaddnewrow();e.render()}break;case"rtl":e.content.css("left","");e.columns=e._columns;e._filterrowcache=[];e.vScrollBar.jqxScrollBar({rtl:h});e.hScrollBar.jqxScrollBar({rtl:h});if(e._initpager){e._initpager()}if(e._initgroupsheader){e._initgroupsheader()}e.render();break;case"enablebrowserselection":if(!e.showfilterrow){if(!e.showstatusbar&&!e.showtoolbar){e.host.addClass("jqx-disableselect")}e.content.addClass("jqx-disableselect")}if(e.enablebrowserselection){e.content.removeClass("jqx-disableselect");e.host.removeClass("jqx-disableselect")}break;case"columnsheight":if(e.columnsheight!=32||e.columngroups){e._measureElement("column")}e._render(true,true,true,false,false);break;case"rowsheight":if(h!=i){if(e.rowsheight!=31){e._measureElement("cell")}e.virtualsizeinfo=null;e.rendergridcontent(true,false);e.refresh()}break;case"scrollMode":e.vScrollInstance.thumbStep=e.rowsheight;break;case"showdefaultloadelement":e._builddataloadelement();break;case"showfiltermenuitems":case"showsortmenuitems":case"showgroupmenuitems":case"filtermode":e._initmenu();break;case"touchmode":if(i!=h){e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:h});e.hScrollBar.jqxScrollBar({touchMode:h});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._updatecellwidths();e._addHandlers()}break;case"autoshowcolumnsmenubutton":if(i!=h){e._rendercolumnheaders()}break;case"rendergridrows":if(i!=h){e.updatebounddata()}break;case"editmode":if(i!=h){e._removeHandlers();e._addHandlers()}break;case"source":e.updatebounddata();if(e.virtualmode&&!e._loading){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)}break;case"horizontalscrollbarstep":case"verticalscrollbarstep":case"horizontalscrollbarlargestep":case"verticalscrollbarlargestep":this.vScrollBar.jqxScrollBar({step:this.verticalscrollbarstep,largestep:this.verticalscrollbarlargestep});this.hScrollBar.jqxScrollBar({step:this.horizontalscrollbarstep,largestep:this.horizontalscrollbarlargestep});break;case"closeablegroups":if(e._initgroupsheader){e._initgroupsheader()}break;case"showgroupsheader":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}e._renderrows(e.virtualsizeinfo)}break;case"theme":if(h!=i){b.jqx.utilities.setTheme(i,h,e.host);if(e.gridmenu){e.gridmenu.jqxMenu({theme:h})}if(e.pageable){e._updatepagertheme()}if(e.filterable){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}}break;case"showtoolbar":case"toolbarheight":if(i!=h){e._arrange();e.refresh()}break;case"showstatusbar":if(i!=h){if(e.statusbar){if(h){e.statusbar.show()}else{e.statusbar.hide()}}e._arrange();e.refresh()}break;case"statusbarheight":if(i!=h){e._arrange();e.refresh()}break;case"filterable":case"showfilterrow":if(i!=h){e.render()}break;case"autoshowfiltericon":case"showfiltercolumnbackground":case"showpinnedcolumnbackground":case"showsortcolumnbackground":if(i!=h){e.rendergridcontent()}break;case"showrowdetailscolumn":if(i!=h){e.render()}break;case"scrollbarsize":if(i!=h){b.jqx.utilities.scrollBarSize=h;e._arrange()}break;case"width":case"height":if(i!=h){e._updatesize(true,true);e._resizeWindow();if(e.virtualmode&&!e._loading){e.vScrollInstance.setPosition(0)}else{setTimeout(function(){e._renderrows(e.virtualsizeinfo)},100)}}break;case"altrows":case"altstart":case"altstep":if(i!=h){e._renderrows(e.virtualsizeinfo)}break;case"groupsheaderheight":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}}break;case"pagerheight":if(i!=h){e._initpager()}break;case"selectedrowindex":e.selectrow(h);break;case"selectionmode":if(i!=h){if(h=="none"){e.selectedrowindexes=new Array();e.selectedcells=new Array();e.selectedrowindex=-1}e._renderrows(e.virtualsizeinfo);if(h=="checkbox"){e._render(false,false,true,false,false)}}break;case"showheader":if(h){e.columnsheader.css("display","block")}else{e.columnsheader.css("display","none")}break;case"virtualmode":if(i!=h){e.dataview.virtualmode=e.virtualmode;e.dataview.refresh(false);e._render(false,false,false)}break;case"columnsmenu":if(i!=h){e.render()}break;case"columngroups":e._render(true,true,true,false,false);break;case"columns":if(e.columns&&e.columns.length>e.headerZIndex){e.headerZIndex=e.columns.length+100}if(e._serializeObject(e._cachedcolumns)!==e._serializeObject(h)){var d=false;if(e.filterable){if(i&&i.records){b.each(i.records,function(){if(this.filter){d=true}e.dataview.removefilter(this.displayfield,this.filter)})}}e._columns=null;e._filterrowcache=[];e.render();if(d){e.applyfilters()}e._cachedcolumns=e.columns;if(e.removesort){e.removesort()}}else{e[f]=i}break;case"autoheight":if(i!=h){e._render(false,false,true)}break;case"pagermode":case"pagerbuttonscount":if(i!=h){if(e._initpager){if(e.pagershowrowscombo){e.pagershowrowscombo.jqxDropDownList("destroy");e.pagershowrowscombo=null}if(e.pagerrightbutton){e.removeHandler(e.pagerrightbutton,"mousedown");e.removeHandler(e.pagerrightbutton,"mouseup");e.removeHandler(e.pagerrightbutton,"click");e.pagerrightbutton.jqxButton("destroy");e.pagerrightbutton=null}if(e.pagerleftbutton){e.removeHandler(e.pagerleftbutton,"mousedown");e.removeHandler(e.pagerleftbutton,"mouseup");e.removeHandler(e.pagerleftbutton,"click");e.pagerleftbutton.jqxButton("destroy");e.removeHandler(b(document),"mouseup.pagerbuttons"+e.element.id);e.pagerleftbutton=null}e.pagerdiv.remove();e._initpager()}}break;case"pagesizeoptions":case"pageable":case"pagesize":if(i!=h){if(e._loading){throw new Error("jqxGrid: "+e.loadingerrormessage);return}if(!e.host.jqxDropDownList||!e.host.jqxListBox){e._testmodules();return}if(e._initpager){if(f!="pageable"&&f!="pagermode"){if(typeof(h)=="string"){var g="The expected value type is: Int.";if(f!="pagesize"){var g="The expected value type is: Array of Int values."}throw new Error("Invalid Value for: "+f+". "+g)}}e.dataview.pageable=e.pageable;e.dataview.pagenum=0;e.dataview.pagesize=e._getpagesize();if(e.virtualmode){e.updatebounddata()}e.dataview.refresh(true);e._initpager();if(f=="pagesizeoptions"){if(h!=null&&h.length>0){e.pagesize=parseInt(h[0]);e.dataview.pagesize=parseInt(h[0]);e.prerenderrequired=true;e._requiresupdate=true;e.dataview.pagenum=-1;e.gotopage(0)}}}e._render(false,false,false)}break;case"groups":if(e._serializeObject(i)!==e._serializeObject(h)){e.dataview.groups=h;e._refreshdataview();e._render(true,true,true,false)}break;case"groupable":if(i!=h){e.dataview.groupable=e.groupable;e.dataview.pagenum=0;e.dataview.refresh(false);e._render(false,false,true)}break;case"renderstatusbar":if(h!=null){e.renderstatusbar(e.statusbar)}break;case"rendertoolbar":if(h!=null){e.rendertoolbar(e.toolbar)}break;case"disabled":if(h){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled"))}b.jqx.aria(e,"aria-disabled",e.disabled);if(e.pageable){if(e.pagerrightbutton){e.pagerrightbutton.jqxButton({disabled:h});e.pagerleftbutton.jqxButton({disabled:h});e.pagershowrowscombo.jqxDropDownList({disabled:h});e.pagergotoinput.attr("disabled",h)}if(e.pagerfirstbutton){e.pagerfirstbutton.jqxButton({disabled:h});e.pagerlastbutton.jqxButton({disabled:h})}}e.vScrollBar.jqxScrollBar({disabled:h});e.hScrollBar.jqxScrollBar({disabled:h});if(e.filterable&&e.showfilterrow){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}break}}});function c(d,e){this.owner=d;this.datafield=null;this.displayfield=null;this.text="";this.createfilterpanel=null;this.sortable=true;this.hideable=true;this.editable=true;this.hidden=false;this.adaptivehidden=false;this.groupable=true;this.renderer=null;this.cellsrenderer=null;this.checkchange=null,this.threestatecheckbox=false;this.buttonclick=null,this.columntype=null;this.cellsformat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.filteritems=[];this.resizable=true;this.initeditor=null;this.createeditor=null;this.createwidget=null;this.initwidget=null;this.destroywidget=null;this.destroyeditor=null;this.geteditorvalue=null;this.validation=null;this.classname="";this.cellclassname="";this.cellendedit=null;this.cellbeginedit=null;this.cellvaluechanging=null;this.aggregates=null;this.aggregatesrenderer=null;this.menu=true;this.createfilterwidget=null;this.filtertype="default";this.filtercondition=null;this.rendered=null;this.exportable=true;this.exporting=false;this.draggable=true;this.nullable=true;this.clipboard=true;this.selectable=false;this._applyStyle=function(){var f=this;if(f.hovered){if(f.style.headerBackgroundHoveredColor){f.element.style.backgroundColor=f.style.headerBackgroundHoveredColor}if(f.style.headerHoveredColor){f.element.style.color=f.style.headerHoveredColor}return}if(f.selected){if(f.style.headerBackgroundSelectedColor){f.element.style.backgroundColor=f.style.headerBackgroundSelectedColor}if(f.style.headerSelectedColor){f.element.style.color=f.style.headerSelectedColor}return}if(f.style.headerBackgroundColor){f.element.style.backgroundColor=f.style.headerBackgroundColor}else{f.element.style.backgroundColor=""}if(f.style.headerColor){f.element.style.color=f.style.headerColor}else{f.element.style.color=""}};this._applyCellStyle=function(f){var j=this;var g=false;if(f.length){for(var h=0;h<f.length;h++){this._applyCellStyle(f[h])}return}if(j.style.backgroundColor||j.style.color||j.style.hoveredColor||j.style.hoveredColor||j.style.backgroundSelectedColor||j.style.selectedColor){g=true}if(!g){return}if(f.className.indexOf("hover")>=0){if(j.style.backgroundHoveredColor){f.style.backgroundColor=j.style.backgroundHoveredColor}if(j.style.hoveredColor){f.style.color=j.style.hoveredColor}return}if(f.className.indexOf("selected")>=0){if(j.style.backgroundSelectedColor){f.style.backgroundColor=j.style.backgroundSelectedColor}if(j.style.selectedColor){f.style.color=j.style.selectedColor}return}if(j.style.backgroundColor){f.style.backgroundColor=j.style.backgroundColor}if(j.style.color){f.style.color=j.style.color}};this.style={headerBackgroundColor:"",headerColor:"",headerBackgroundHoveredColor:"",headerHoveredColor:"",headerBackgroundSelectedColor:"",headerSelectedColor:"",backgroundColor:"",color:"",backgroundHoveredColor:"",hoveredColor:"",backgroundSelectedColor:"",selectedColor:""};this.enabletooltips=true;this.columngroup=null;this.filterdelay=800;this.reseteverpresentrowwidgetvalue=null;this.geteverpresentrowwidgetvalue=null;this.createeverpresentrowwidget=null;this.initeverpresentrowwidget=null;this.validateeverpresentrowwidgetvalue=null;this.destroyeverpresentrowwidget=null;this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hideable:this.hideable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsformat:this.cellsformat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(f,g){if(this[f]){var h=this[f];this[f]=g;this.owner._columnPropertyChanged(this,f,g,h)}else{if(this[f.toLowerCase()]){var h=this[f.toLowerCase()];this[f.toLowerCase()]=g;this.owner._columnPropertyChanged(this,f.toLowerCase(),g,h)}}};this._initfields=function(g){if(g!=null){var f=this.that;if(b.jqx.hasProperty(g,"dataField")){this.datafield=b.jqx.get(g,"dataField")}if(b.jqx.hasProperty(g,"selectable")){this.selectable=b.jqx.get(g,"selectable")}if(b.jqx.hasProperty(g,"displayField")){this.displayfield=b.jqx.get(g,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(g,"enableTooltips")){this.enabletooltips=b.jqx.get(g,"enableTooltips")}if(b.jqx.hasProperty(g,"text")){this.text=b.jqx.get(g,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(g,"style")){this.style=b.jqx.get(g,"style")}if(b.jqx.hasProperty(g,"createfilterpanel")){this.createfilterpanel=b.jqx.get(g,"createfilterpanel")}if(b.jqx.hasProperty(g,"sortable")){this.sortable=b.jqx.get(g,"sortable")}if(b.jqx.hasProperty(g,"hideable")){this.hideable=b.jqx.get(g,"hideable")}if(b.jqx.hasProperty(g,"hidden")){this.hidden=b.jqx.get(g,"hidden")}if(b.jqx.hasProperty(g,"adaptivehidden")){this.adaptivehidden=b.jqx.get(g,"adaptivehidden")}if(b.jqx.hasProperty(g,"groupable")){this.groupable=b.jqx.get(g,"groupable")}if(b.jqx.hasProperty(g,"renderer")){this.renderer=b.jqx.get(g,"renderer")}if(b.jqx.hasProperty(g,"align")){this.align=b.jqx.get(g,"align")}if(b.jqx.hasProperty(g,"cellsAlign")){this.cellsalign=b.jqx.get(g,"cellsAlign")}if(b.jqx.hasProperty(g,"clipboard")){this.clipboard=b.jqx.get(g,"clipboard")}if(b.jqx.hasProperty(g,"cellsFormat")){this.cellsformat=b.jqx.get(g,"cellsFormat")}if(b.jqx.hasProperty(g,"width")){this.width=b.jqx.get(g,"width")}if(b.jqx.hasProperty(g,"minWidth")){this.minwidth=parseInt(b.jqx.get(g,"minWidth"));if(isNaN(this.minwidth)){this.minwidth=25}}if(b.jqx.hasProperty(g,"maxWidth")){this.maxwidth=parseInt(b.jqx.get(g,"maxWidth"));if(isNaN(this.maxwidth)){this.maxwidth="auto"}}if(b.jqx.hasProperty(g,"cellsRenderer")){this.cellsrenderer=b.jqx.get(g,"cellsRenderer")}else{if(g.cellsRenderer){this.cellsrenderer=g.cellsRenderer}}if(b.jqx.hasProperty(g,"columnType")){this.columntype=b.jqx.get(g,"columnType")}if(b.jqx.hasProperty(g,"checkChange")){this.checkchange=b.jqx.get(g,"checkChange")}if(b.jqx.hasProperty(g,"buttonClick")){this.buttonclick=b.jqx.get(g,"buttonClick")}else{if(g.buttonClick){this.buttonclick=g.buttonClick}}if(b.jqx.hasProperty(g,"pinned")){this.pinned=b.jqx.get(g,"pinned")}if(b.jqx.hasProperty(g,"visibleIndex")){this.visibleindex=b.jqx.get(g,"visibleIndex")}if(b.jqx.hasProperty(g,"filterable")){this.filterable=b.jqx.get(g,"filterable")}if(b.jqx.hasProperty(g,"filter")){this.filter=b.jqx.get(g,"filter")}if(b.jqx.hasProperty(g,"resizable")){this.resizable=b.jqx.get(g,"resizable")}if(b.jqx.hasProperty(g,"editable")){this.editable=b.jqx.get(g,"editable")}if(b.jqx.hasProperty(g,"initEditor")){this.initeditor=b.jqx.get(g,"initEditor")}else{if(g.initEditor){this.initeditor=g.initEditor}}if(b.jqx.hasProperty(g,"createEditor")){this.createeditor=b.jqx.get(g,"createEditor")}else{if(g.createEditor){this.createeditor=g.createEditor}}if(b.jqx.hasProperty(g,"initWidget")){this.initwidget=b.jqx.get(g,"initWidget")}else{if(g.initWidget){this.initwidget=g.initWidget}}if(b.jqx.hasProperty(g,"createWidget")){this.createwidget=b.jqx.get(g,"createWidget")}else{if(g.createWidget){this.createwidget=g.createWidget}}if(b.jqx.hasProperty(g,"destroyWidget")){this.destroywidget=b.jqx.get(g,"destroyWidget")}else{if(g.destroyWidget){this.destroywidget=g.destroyWidget}}if(b.jqx.hasProperty(g,"reseteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"reseteverpresentrowwidgetvalue")){this.reseteverpresentrowwidgetvalue=b.jqx.get(g,"reseteverpresentrowwidgetvalue")}else{if(g.resetEverPresentRowWidgetValue){this.reseteverpresentrowwidgetvalue=g.resetEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"geteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"geteverpresentrowwidgetvalue")){this.geteverpresentrowwidgetvalue=b.jqx.get(g,"geteverpresentrowwidgetvalue")}else{if(g.getEverPresentRowWidgetValue){this.geteverpresentrowwidgetvalue=g.getEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"createeverpresentrowwidget")||b.jqx.hasFunction(g,"createeverpresentrowwidget")){this.createeverpresentrowwidget=b.jqx.get(g,"createeverpresentrowwidget")}else{if(g.createEverPresentRowWidget){this.createeverpresentrowwidget=g.createEverPresentRowWidget}}if(b.jqx.hasProperty(g,"initeverpresentrowwidget")||b.jqx.hasFunction(g,"initeverpresentrowwidget")){this.initeverpresentrowwidget=b.jqx.get(g,"initeverpresentrowwidget")}else{if(g.initEverPresentRowWidget){this.initeverpresentrowwidget=g.initEverPresentRowWidget}}if(b.jqx.hasProperty(g,"validateeverpresentrowwidgetvalue")){this.validateeverpresentrowwidgetvalue=b.jqx.get(g,"validateeverpresentrowwidgetvalue")}else{if(g.validateEverPresentRowWidgetValue){this.validateeverpresentrowwidgetvalue=g.validateEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"destroyeverpresentrowwidget")||b.jqx.hasFunction(g,"destroyeverpresentrowwidget")){this.destroyeverpresentrowwidget=b.jqx.get(g,"destroyeverpresentrowwidget")}else{if(g.destroyEverPresentRowWidget){this.destroyEverPresentRowWidget=g.destroyEverPresentRowWidget}}if(b.jqx.hasProperty(g,"destroyEditor")){this.destroyeditor=b.jqx.get(g,"destroyEditor")}else{if(g.destroyEditor){this.destroyeditor=g.destroyEditor}}if(b.jqx.hasProperty(g,"getEditorValue")){this.geteditorvalue=b.jqx.get(g,"getEditorValue")}else{if(g.getEditorValue){this.geteditorvalue=g.getEditorValue}}if(b.jqx.hasProperty(g,"validation")){this.validation=b.jqx.get(g,"validation")}else{if(g.validation){this.validation=g.validation}}if(b.jqx.hasProperty(g,"cellBeginEdit")){this.cellbeginedit=b.jqx.get(g,"cellBeginEdit")}else{if(g.cellBeginEdit){this.cellbeginedit=g.cellBeginEdit}}if(b.jqx.hasProperty(g,"cellEndEdit")){this.cellendedit=b.jqx.get(g,"cellEndEdit")}else{if(g.cellEndEdit){this.cellendedit=g.cellEndEdit}}if(b.jqx.hasProperty(g,"className")){this.classname=b.jqx.get(g,"className")}if(b.jqx.hasProperty(g,"cellClassName")){this.cellclassname=b.jqx.get(g,"cellClassName")}else{if(g.cellClassName){this.cellclassname=g.cellClassName}}if(b.jqx.hasProperty(g,"menu")){this.menu=b.jqx.get(g,"menu")}if(b.jqx.hasProperty(g,"aggregates")){this.aggregates=b.jqx.get(g,"aggregates")}if(b.jqx.hasProperty(g,"aggregatesRenderer")){this.aggregatesrenderer=b.jqx.get(g,"aggregatesRenderer")}if(b.jqx.hasProperty(g,"createFilterWidget")){this.createfilterwidget=b.jqx.get(g,"createFilterWidget")}if(b.jqx.hasProperty(g,"filterType")){this.filtertype=b.jqx.get(g,"filterType")}if(b.jqx.hasProperty(g,"filterDelay")){this.filterdelay=b.jqx.get(g,"filterDelay")}if(b.jqx.hasProperty(g,"rendered")){this.rendered=b.jqx.get(g,"rendered")}if(b.jqx.hasProperty(g,"exportable")){this.exportable=b.jqx.get(g,"exportable")}if(b.jqx.hasProperty(g,"filterItems")){this.filteritems=b.jqx.get(g,"filterItems")}if(b.jqx.hasProperty(g,"cellValueChanging")){this.cellvaluechanging=b.jqx.get(g,"cellValueChanging")}if(b.jqx.hasProperty(g,"draggable")){this.draggable=b.jqx.get(g,"draggable")}if(b.jqx.hasProperty(g,"filterCondition")){this.filtercondition=b.jqx.get(g,"filterCondition")}if(b.jqx.hasProperty(g,"threeStateCheckbox")){this.threestatecheckbox=b.jqx.get(g,"threeStateCheckbox")}if(b.jqx.hasProperty(g,"nullable")){this.nullable=b.jqx.get(g,"nullable")}if(b.jqx.hasProperty(g,"columnGroup")){this.columngroup=b.jqx.get(g,"columnGroup")}if(!g instanceof String&&!(typeof g=="string")){for(var h in g){if(!f.hasOwnProperty(h)){if(!f.hasOwnProperty(h.toLowerCase())){d.host.remove();throw new Error("jqxGrid: Invalid property name - "+h+".")}}}}}};this._initfields(e);return this}function a(d,e){this.setdata=function(f){if(f!=null){this.bounddata=f;this.boundindex=f.boundindex;this.visibleindex=f.visibleindex;this.group=f.group;this.parentbounddata=f.parentItem;this.uniqueid=f.uniqueid;this.level=f.level}};this.setdata(e);this.parentrow=null;this.subrows=new Array();this.owner=d;this.height=25;this.hidden=false;this.rowdetails=null;this.rowdetailsheight=100;this.rowdetailshidden=true;this.top=-1;this.setrowinfo=function(f){this.hidden=f.hidden;this.rowdetails=f.rowdetails;this.rowdetailsheight=f.rowdetailsheight;this.rowdetailshidden=!f.showdetails;this.height=f.height};return this}b.jqx.collection=function(d){this.records=new Array();this.owner=d;this.updating=false;this.beginupdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this._raiseEvent=function(e){};this.clear=function(){this.records=new Array()};this.replace=function(f,e){this.records[f]=e;if(!this.updating){this._raiseEvent({type:"replace",element:e})}};this.isempty=function(e){if(this.records[e]==undefined){return true}return false};this.initialize=function(e){if(e<1){e=1}this.records[e-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(e){return this.records.indexOf(e)};this.add=function(e){if(e==null){return false}this.records[this.records.length]=e;if(!this.updating){this._raiseEvent({type:"add",element:e})}return true};this.insertAt=function(f,e){if(f==null||f==undefined){return false}if(e==null){return false}if(f>=0){if(f<this.records.length){this.records.splice(f,0,e);if(!this.updating){this._raiseEvent({type:"insert",index:f,element:e})}return true}else{return this.add(e)}}return false};this.remove=function(f){if(f==null||f==undefined){return false}var e=this.records.indexOf(f);if(e!=-1){this.records.splice(e,1);if(!this.updating){this._raiseEvent({type:"remove",element:f})}return true}return false};this.removeAt=function(f){if(f==null||f==undefined){return false}if(f<0){return false}if(f<this.records.length){var e=this.records[f];this.records.splice(f,1);if(!this.updating){this._raiseEvent({type:"removeAt",index:f,element:e})}return true}return false};return this};b.jqx.dataview=function(){this.self=this;this.aggregates=false;this.grid=null;this.uniqueId="id";this.records=[];this.rows=[];this.columns=[];this.groups=[];this.filters=new Array();this.updated=null;this.update=null;this.suspend=false;this.pagesize=0;this.pagenum=0;this.totalrows=0;this.totalrecords=0;this.groupable=true;this.loadedrecords=[];this.loadedrootgroups=[];this.loadedgroups=[];this.loadedgroupsByKey=[];this.virtualmode=true;this._cachegrouppages=new Array();this.source=null;this.changedrecords=new Array();this.rowschangecallback=null;this.that=this;this.destroy=function(){delete this.self;delete this.grid;delete this.uniqueId;delete this.records;delete this.rows;delete this.columns;delete this.groups;delete this.filters;delete this.updated;delete this.update;delete this.suspend;delete this.pagesize;delete this.pagenum;delete this.totalrows;delete this.totalrecords;delete this.groupable;delete this.loadedrecords;delete this.loadedrootgroups;delete this.loadedgroups;delete this.loadedgroupsByKey;delete this.virtualmode;delete this._cachegrouppages;delete this.source;delete this.changedrecords;delete this.rowschangecallback;delete this.that},this.suspendupdate=function(){this.suspend=true},this.isupdating=function(){return this.suspend},this.resumeupdate=function(d){this.suspend=false;if(d==undefined){d=true}this.refresh(d)},this.getrecords=function(){return this.records},this.clearrecords=function(){this.recordids=new Array()};this.databind=function(y,p){var w=y._source?true:false;var h=null;if(this.grid){this.aggregates=this.grid.showgroupaggregates}if(w){h=y;y=y._source}else{h=new b.jqx.dataAdapter(y,{autoBind:false})}var f=function(m){h.recordids=[];h.records=new Array();h.cachedrecords=new Array();h.originaldata=new Array();h._options.virtualmode=m.virtualmode;h._options.totalrecords=m.totalrecords;h._options.originaldata=m.originaldata;h._options.recordids=m.recordids;h._options.cachedrecords=new Array();h._options.pagenum=m.pagenum;h._options.pageable=m.pageable;if(y.type!=undefined){h._options.type=y.type}if(y.formatdata!=undefined){h._options.formatData=y.formatdata}if(y.contenttype!=undefined){h._options.contentType=y.contenttype}if(y.async!=undefined){h._options.async=y.async}if(y.updaterow!=undefined){h._options.updaterow=y.updaterow}if(y.addrow!=undefined){h._options.addrow=y.addrow}if(y.deleterow!=undefined){h._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}h._options.pagesize=m.pagesize};var B=function(I){I.totalrecords=h.totalrecords;if(!I.virtualmode){I.originaldata=h.originaldata;I.records=h.records;I.recordids=h.recordids;I.cachedrecords=h.cachedrecords}else{var m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)};if(y.recordstartindex!=undefined){m.startindex=parseInt(y.recordstartindex)}if(y.recordendindex!=undefined){m.endindex=parseInt(y.recordendindex)}else{if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}}if(!y.recordendindex){if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}else{m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)}}}m.data=h.records;if(I.grid.rendergridrows&&I.totalrecords>0){var J=0;y.records=I.grid.rendergridrows(m);if(y.records.length){J=y.records.length}if(y.records&&!y.records[m.startindex]){var K=new Array();var H=m.startindex;b.each(y.records,function(){K[H]=this;H++;J++});y.records=K}if(J==0){if(y.records){b.each(y.records,function(){J++})}}if(J>0&&J<m.endindex-m.startindex&&!I.grid.groupable){var x=y.records[0];for(var q=0;q<m.endindex-m.startindex-J;q++){var L={};for(var o in x){L[o]=""}if(y.records.push){y.records.push(L)}}}}if(!y.records||I.totalrecords==0){y.records=new Array()}I.originaldata=y.records;I.records=y.records;I.cachedrecords=y.records}};f(this);this.source=y;if(p!==undefined){var k=p}var G=this.that;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){if(o!=undefined&&o!=""){var q=h._changedrecords[0];if(q){var x=new Array();b.each(h._changedrecords,function(K){var H=this.index;var I=this.record;G.grid._updateFromAdapter=true;switch(o){case"update":var J=G.grid.getrowid(H);if(K==h._changedrecords.length-1){G.grid.updaterow(J,I)}else{G.grid.updaterow(J,I,false)}G.grid._updateFromAdapter=false;return;case"add":G.grid.addrow(null,I);G.grid._updateFromAdapter=false;return;case"remove":var J=G.grid.getrowid(H);x.push(J);return}});if(x.length>0){G.grid.deleterow(x,false);G.grid._updateFromAdapter=false}}if(o=="update"){return}}var m=G.totalrecords;B(G,o);if(y.localdata.notifier===null&&y.localdata.name=="observableArray"){y.localdata.notifier=function(L){if(this._updating){return}this._updating=true;var K=G.grid.getrowid(L.index);switch(L.type){case"add":var H=b.extend({},L.object[L.index]);var J=h.getid(y.id,H,L.index);if(L.index===0){G.grid.addrow(J,H,"first")}else{G.grid.addrow(J,H)}break;case"delete":G.grid.deleterow(K);break;case"update":if(L.path&&L.path.split(".").length>1){var I=L.path.split(".");G.grid.setcellvalue(L.index,I[I.length-1],L.newValue)}else{var H=b.extend({},L.object[L.index]);G.grid.updaterow(K,H)}break}this._updating=false}}if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&this.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){var m=G.totalrecords;B(G);if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<this.filters.length;j++){var g=this.filters[j].datafield;var l=this.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[g+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=g;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var d=this.grid.getcolumn(i[A].datafield);if(d&&d.cellsformat){var z=this.grid.source.formatDate(i[A].value,d.cellsformat,this.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=g;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=g;t.type=i[A].type;var e=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==g){r.filters.push(t);e=true;break}}}if(!e){C.push({field:g,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterscount=v;E.groupscount=G.groups.length;for(var j=0;j<G.groups.length;j++){E["group"+j]=G.groups[j]}if(y.recordstartindex==undefined){y.recordstartindex=0}if(y.recordendindex==undefined||y.recordendindex==0){if(G.grid.height&&G.grid.height.toString().indexOf("%")==-1){y.recordendindex=parseInt(G.grid.height)/G.grid.rowsheight;y.recordendindex+=2;y.recordendindex=parseInt(y.recordendindex)}else{y.recordendindex=b(window).height()/G.grid.rowsheight;y.recordendindex=parseInt(y.recordendindex)}if(this.pageable){y.recordendindex=this.pagesize}}if(this.pageable){y.recordstartindex=(this.pagenum)*this.pagesize;y.recordendindex=(this.pagenum+1)*this.pagesize}b.extend(E,{sortdatafield:G.sortfield,sortorder:G.sortfielddirection,pagenum:G.pagenum,pagesize:G.grid.pagesize,recordstartindex:y.recordstartindex,recordendindex:y.recordendindex});var F=h._options.data;if(h._options.data){b.extend(h._options.data,E)}else{if(y.data){b.extend(E,y.data)}h._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){var x=G.totalrecords;B(G);if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(x!=G.totalrecords)};if(o){try{q()}catch(m){}}else{q()}};h.unbindDownloadComplete(G.grid.element.id);h.bindDownloadComplete(G.grid.element.id,n);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}else{if(!G.grid.isInitialized&&!G.grid.autobind){n()}}h._options.data=F}};this.getid=function(g,e,f){if(b(g,e).length>0){return b(g,e).text()}if(g){if(g.toString().length>0){var d=b(e).attr(g);if(d!=null&&d.toString().length>0){return d}}}return f};this.getvaluebytype=function(g,d){var e=g;if(d.type=="date"){var f=new Date(g);if(f.toString()=="NaN"||f.toString()=="Invalid Date"){if(b.jqx.dataFormat){g=b.jqx.dataFormat.tryparsedate(g)}else{g=f}}else{g=f}if(g==null){g=e}}else{if(d.type=="float"){var g=parseFloat(g);if(isNaN(g)){g=e}}else{if(d.type=="int"){var g=parseInt(g);if(isNaN(g)){g=e}}else{if(d.type=="bool"){if(g!=null){if(g.toLowerCase()=="false"){g=false}else{if(g.toLowerCase()=="true"){g=true}}}if(g==1){g=true}else{if(g==0){g=false}else{g=""}}}}}}return g};this.setpaging=function(d){if(d.pageSize!=undefined){this.pagesize=d.pageSize}if(d.pageNum!=undefined){this.pagenum=Math.min(d.pageNum,Math.ceil(this.totalrows/this.pagesize))}this.refresh()};this.getpagingdetails=function(){return{pageSize:this.pagesize,pageNum:this.pagenum,totalrows:this.totalrows}};this._clearcaches=function(){this.sortcache={};this.sortdata=null;this.changedrecords=new Array();this.records=new Array();this.rows=new Array();this.cacheddata=new Array();this.originaldata=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid=new Array();this.cachedrecords=new Array();this.recordids=new Array()};this.addfilter=function(g,f){var e=-1;for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==g){e=d;break}}if(e==-1){this.filters[this.filters.length]={filter:f,datafield:g}}else{this.filters[e]={filter:f,datafield:g}}};this.removefilter=function(e){for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==e){this.filters.splice(d,1);break}}};this.getItemFromIndex=function(d){return this.records[d]};this.updaterow=function(d,n,l){var e=this.filters&&this.filters.length>0&&!this.virtualmode;if(!e&&n!=undefined&&d!=undefined){n.uid=d;if(!(n[this.source.id])){n[this.source.id]=n.uid}var j=this.recordsbyid["id"+d];var k=this.records.indexOf(j);if(k==-1){return false}this.records[k]=n;if(this.cachedrecords){this.cachedrecords[k]=n}if(l==true||l==undefined){this.refresh()}this.changedrecords[n.uid]={Type:"Update",OldData:j,Data:n};return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var j=null;var k=-1;for(var h=0;h<f.length;h++){if(f[h].uid==d){j=f[h];k=h;break}}if(j){var m=this.that;for(var g in n){m.cachedrecords[k][g]=n[g]}if(l==true||l==undefined){this.refresh()}return true}}}return false};this.addrow=function(h,i,d,g){if(i!=undefined){if(b.isEmptyObject(i)){if(this.source&&this.source.datafields){b.each(this.source.datafields,function(){var j="";if(this.type=="number"){j=null}if(this.type=="date"){j=null}if(this.type=="bool"||this.type=="boolean"){j=false}i[this.name]=j})}}if(!h||this.recordsbyid["id"+h]){i.uid=this.getid(this.source.id,i,this.totalrecords);var e=this.recordsbyid["id"+i.uid];while(e!=null){var f=Math.floor(Math.random()*10000).toString();i.uid=f;e=this.recordsbyid["id"+f]}}else{i.uid=h}if(!(i[this.source.id])){if(this.source.id!=undefined){i[this.source.id]=i.uid}}if(d=="last"){this.records.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.records.splice(d,0,i)}else{this.records.splice(0,0,i)}}if(this.filters&&this.filters.length>0){if(d=="last"){this.cachedrecords.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.cachedrecords.splice(d,0,i)}else{this.cachedrecords.splice(0,0,i)}}}this.totalrecords++;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(g==true||g==undefined){this.refresh()}this.changedrecords[i.uid]={Type:"New",Data:i};return true}return false};this.deleterow=function(j,h){if(j!=undefined){var d=this.filters&&this.filters.length>0;if(this.recordsbyid["id"+j]&&!d){var e=this.recordsbyid["id"+j];var k=this.records.indexOf(e);if(this.grid&&this.grid.sortable&&this.grid.sortmode=="many"){for(var g=0;g<this.records.length;g++){if(this.records[g].boundindex===e.boundindex){k=g;break}}}this.changedrecords[j]={Type:"Delete",Data:this.records[k]};this.records.splice(k,1);this.totalrecords--;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(h==true||h==undefined){this.refresh()}return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var e=null;var k=-1;for(var g=0;g<f.length;g++){if(f[g].uid==j){e=f[g];k=g;break}}if(e){this.cachedrecords.splice(k,1);if(h==true||h==undefined){this.totalrecords=0;this.records=this.cachedrecords;this.refresh()}return true}}}return false}return false};this.reload=function(f,d,r,g,h,u,t){var m=this.that;var l=new Array();var o=f;var i=d;var j=r;var p=g;var k=i.length;var w=0;var e=0;var s,n;this.columns=[];this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid={};if(this.totalrecords==0){Object.size=function(z){var y=0,x;for(x in z){if(z.hasOwnProperty(x)){y++}}return y};var v=Object.size(o);this.totalrecords=v;b.each(this.records,function(y){var z=this;var x=0;b.each(z,function(A,B){m.columns[x++]=A});return false})}if(this.virtualmode){if(this.pageable){this.updateview();return}var u=0;if(!this.groupable){this.updateview();return}else{var t=this.totalrecords}}else{var u=0;var t=this.totalrecords}if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){var q=u;q=this.loadgrouprecords(0,u,t,j,e,p,i,k,l)}else{w=this.loadflatrecords(u,t,j,e,p,i,k,l)}if(k>e){i.splice(e,k-e)}if(this.groups.length>0&&this.groupable){this.totalrows=q}else{this.totalrows=w}return l};this.loadflatrecords=function(u,r,h,d,p,g,j,l){var m=this.that;var o=u;var v=u;r=Math.min(r,this.totalrecords);var f=this.sortdata!=null;var s=this.source.id&&(this.source.datatype=="local"||this.source.datatype=="array"||this.source.datatype=="");var t=f?this.sortdata:this.records;for(var k=u;k<r;k++){var q={};if(!f){q=new Object(t[k]);var n=q[m.uniqueId];q.boundindex=o;m.loadedrecords[o]=q;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,o)}m.recordsbyid["id"+q.uid]=t[k];q.uniqueid=m.generatekey();m.bounditems[this.bounditems.length]=q}else{q=b.extend({},t[k].value);var n=q[m.uniqueId];q.boundindex=t[k].index;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,q.boundindex)}m.recordsbyid["id"+q.uid]=t[k].value;m.loadedrecords[o]=q;q.uniqueid=m.generatekey();m.bounditems[q.boundindex]=q}if(d>=j||n!=g[d][m.uniqueId]||(p&&p[n])){l[l.length]=d}g[d]=q;d++;q.visibleindex=v;v++;o++}if(m.grid.summaryrows){var e=o;b.each(m.grid.summaryrows,function(){var i=b.extend({},this);i.boundindex=r++;m.loadedrecords[e]=i;i.uniqueid=m.generatekey();m.bounditems[m.bounditems.length]=i;g[d]=i;d++;i.visibleindex=v;v++;e++})}return v},this.updateview=function(o,p){var r=this.that;var k=this.pagesize*this.pagenum;var n=0;var s=new Array();var e=this.filters;var j=this.updated;var l=s.length;if(this.pageable){if(this.virtualmode){if(!this.groupable||this.groups.length==0){this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[]);this.totalrows=s.length}else{if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){if(this._cachegrouppages[this.pagenum+"_"+this.pagesize]!=undefined){this.rows=this._cachegrouppages[this.pagenum+"_"+this.pagesize];this.totalrows=this.rows.length;return}var m=this.pagesize*(1+this.pagenum);if(m>this.totalrecords){m=this.totalrecords}this.loadgrouprecords(0,this.pagesize*this.pagenum,m,e,n,j,s,l,[]);this._cachegrouppages[this.pagenum+"_"+this.pagesize]=this.rows;this.totalrows=this.rows.length;return}}}}else{if(this.virtualmode&&(!this.groupable||this.groups.length==0)){var g=this.pagesize;if(g==0){g=Math.min(100,this.totalrecords)}var d=g*this.pagenum;if(this.loadedrecords.length==0){d=0}if(o!=null&&p!=null){this.loadflatrecords(o,p,e,n,j,s,l,[])}else{this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[])}this.totalrows=this.loadedrecords.length;this.rows=s;if(s.length>=g){return}}}if(this.groupable&&this.pageable&&this.groups.length>0&&this._updategroupsinpage){s=this._updategroupsinpage(r,e,k,n,l,this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum))}else{for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum);h++){var q=h<this.loadedrecords.length?this.loadedrecords[h]:null;if(q==null){continue}if(!this.pagesize||(k>=this.pagesize*this.pagenum&&k<=this.pagesize*(this.pagenum+1))){s[n]=q;n++}k++}}if((s.length==0||s.length<this.pagesize)&&!this.pageable&&this.virtualmode){n=s.length;var f=s.length;for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum)-f;h++){var q={};q.boundindex=h+f;q.visibleindex=h+f;q.uniqueid=r.generatekey();q.empty=true;r.bounditems[h+f]=q;s[n]=q;n++}}this.rows=s};this.generatekey=function(){var d=function(){return(((1+Math.random())*16)|0)};return(""+d()+d()+"-"+d()+"-"+d()+"-"+d()+"-"+d()+d()+d())};this.reloaddata=function(){this.reload(this.records,this.rows,this.filter,this.updated,true)};this.refresh=function(m){if(this.suspend){return}if(m==undefined){m=true}var g=this.rows.length;var B=this.totalrows;if(this.filters.length>0&&!this.virtualmode){var q="";var f=this.cachedrecords.length;var k=new Array();this.totalrecords=0;var A=this.cachedrecords;this._dataIndexToBoundIndex=new Array();var s=this.filters.length;if(this.source!=null&&this.source.filter!=undefined&&this.source.localdata!=undefined){k=this.source.filter(this.filters,A,f);if(k==undefined){k=new Array()}this.records=k}else{if(this.source.filter==null||this.source.filter==undefined){for(var l=0;l<f;l++){var h=A[l];var w=undefined;for(var v=0;v<s;v++){var q=this.filters[v].filter;var t=h[this.filters[v].datafield];var p=q.evaluate(t);if(this.grid.filter){var z=this.grid.filter(t,h,this.filters[v].datafield,q,p);if(z!==undefined){p=z}}if(w==undefined){w=p}else{if(q.operator=="or"){w=w||p}else{w=w&&p}}}if(w){k[k.length]=b.extend({dataindex:l},h);this._dataIndexToBoundIndex[l]={boundindex:k.length-1}}else{this._dataIndexToBoundIndex[l]=null}}this.records=k}}if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var y=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,y);return}}else{var d=this.grid.getsortcolumns();for(var x=0;x<d.length;x++){var o=d[x];var u=o.dataField;this.grid.sortby(u,o.ascending,null)}return}}}else{if(this.filters.length==0&&!this.virtualmode){if(this.cachedrecords){this.totalrecords=0;var A=this.cachedrecords;this.records=A;if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var y=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,y);return}}else{var d=this.grid.getsortcolumns();for(var x=0;x<d.length;x++){var o=d[x];var u=o.dataField;this.grid.sortby(u,o.ascending,null)}return}}}}}var r=this.reload(this.records,this.rows,this.filter,this.updated,m);this.updated=null;if(this.rowschangecallback!=null){var n=this.rows;if(B!=this.totalrows){this.rowschangecallback({type:"PagingChanged",data:this.getpagingdetails()})}if(g!=n.length){this.rowschangecallback({type:"RowsCountChanged",data:{previous:g,current:n.length}})}if(r.length>0||g!=n.length){this.rowschangecallback({type:"RowsChanged",data:{previous:g,current:n.length,diff:r}})}}};return this}})(jqxBaseFramework);
+(function(b){b.jqx.jqxWidget("jqxGrid","",{});b.extend(b.jqx._jqxGrid.prototype,{defineInstance:function(){var d={adaptive:false,adaptivewidth:600,disabled:false,width:600,height:400,pagerheight:40,groupsheaderheight:34,pagesize:10,pagesizeoptions:["5","10","20"],rowsheight:32,columnsheight:32,filterrowheight:36,groupindentwidth:30,rowdetails:false,enablerowdetailsindent:true,enablemousewheel:true,initrowdetails:null,layoutrowdetails:null,editable:false,editmode:"selectedcell",pageable:false,pagermode:"default",pagerbuttonscount:5,groupable:false,sortable:false,sortmode:"one",filterable:false,filtermode:"default",autoshowfiltericon:true,showfiltercolumnbackground:true,showpinnedcolumnbackground:true,showsortcolumnbackground:true,altrows:false,altstart:1,altstep:1,showrowdetailscolumn:true,showrowlines:true,showcolumnlines:true,showcolumnheaderlines:true,showtoolbar:false,toolbarheight:36,showstatusbar:false,statusbarheight:36,enableellipsis:true,groups:[],groupsrenderer:null,groupcolumnrenderer:null,groupsexpandedbydefault:false,pagerrenderer:null,touchmode:"auto",columns:[],selectedrowindex:-1,selectedrowindexes:new Array(),selectedcells:new Array(),autobind:true,selectedcell:null,tableZIndex:79,headerZIndex:29,updatefilterconditions:null,showgroupaggregates:false,showaggregates:false,showfilterrow:false,showeverpresentrow:false,everpresentrowposition:"top",everpresentrowactions:"add reset",everpresentrowactionsmode:"buttons",everpresentrowheight:30,autorowheight:false,autokoupdates:true,handlekeyboardnavigation:null,showsortmenuitems:true,showfiltermenuitems:true,showgroupmenuitems:true,enablebrowserselection:false,enablekeyboarddelete:true,clipboard:true,clipboardbegin:null,clipboardend:null,copytoclipboardwithheaders:false,copytoclipboardhiddencolumns:false,ready:null,updatefilterpanel:null,autogeneratecolumns:false,rowdetailstemplate:null,scrollfeedback:null,rendertoolbar:null,renderstatusbar:null,rendered:null,multipleselectionbegins:null,columngroups:null,cellhover:null,source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},filter:null,dataview:null,updatedelay:null,autoheight:false,autowidth:false,showheader:true,showgroupsheader:true,closeablegroups:true,scrollbarsize:b.jqx.utilities.scrollBarSize,touchscrollbarsize:b.jqx.utilities.touchScrollBarSize,scrollbarautoshow:b.jqx.utilities.scrollBarAutoShow,virtualmode:false,sort:null,columnsmenu:true,columnsresize:false,columnsautoresize:true,columnsreorder:false,columnsmenuwidth:16,autoshowcolumnsmenubutton:true,showcolumnsactionbutton:false,popupwidth:"auto",popupheight:"auto",columnmenuopening:null,columnmenuclosing:null,sorttogglestates:2,rendergridrows:null,enableanimations:true,enablecolumnsvirtualization:true,enabletooltips:false,selectionmode:"singlerow",enablehover:true,loadingerrormessage:"The data is still loading. When the data binding is completed, the Grid raises the 'bindingcomplete' event. Call this function in the 'bindingcomplete' event handler.",verticalscrollbarstep:30,verticalscrollbarlargestep:400,horizontalscrollbarstep:10,horizontalscrollbarlargestep:50,keyboardnavigation:true,keyboardmenunavigation:true,touchModeStyle:"auto",autoshowloadelement:true,showdefaultloadelement:true,showemptyrow:true,autosavestate:false,autoloadstate:false,_updating:false,_pagescache:new Array(),_pageviews:new Array(),_cellscache:new Array(),_rowdetailscache:new Array(),_rowdetailselementscache:new Array(),_requiresupdate:false,_hasOpenedMenu:false,scrollmode:"physical",deferreddatafields:null,localization:null,rtl:false,menuitemsarray:[],charting:{appendTo:null,colorScheme:"scheme02",dialog:{header:"Data Visualization",height:400,width:400,position:"center",enabled:true},ready:null,formatSettings:{}},events:["initialized","rowClick","rowSelect","rowUnselect","groupExpand","groupCollapse","sort","columnClick","cellClick","pageChanged","pageSizeChanged","bindingComplete","groupsChanged","filter","columnResized","cellSelect","cellUnselect","cellBeginEdit","cellEndEdit","cellValueChanged","rowExpand","rowCollapse","rowDoubleClick","cellDoubleClick","columnReordered","pageChanging"]};if(this===b.jqx._jqxGrid.prototype){return d}b.extend(true,this,d);return d},createInstance:function(i){this.that=this;var h=this;h.pagesize=parseInt(h.pagesize);h.toolbarheight=parseInt(h.toolbarheight);h.columnsheight=parseInt(h.columnsheight);h.filterrowheight=parseInt(h.filterrowheight);h.statusbarheight=parseInt(h.statusbarheight);h.groupsheaderheight=parseInt(h.groupsheaderheight);h.detailsVisibility=new Array();h.savedArgs=i&&i.length>0?i[0]:null;var g="<div class='jqx-clear jqx-border-reset jqx-overflow-hidden jqx-max-size jqx-position-relative'><div tabindex='1' class='jqx-clear jqx-max-size jqx-position-relative jqx-overflow-hidden jqx-background-reset' id='wrapper"+h.element.id+"'><div class='jqx-clear jqx-position-absolute' id='toolbar' style='visibility: hidden;'></div><div class='jqx-clear jqx-position-absolute' id='groupsheader' style='visibility: hidden;'></div><div class='jqx-clear jqx-overflow-hidden jqx-position-absolute jqx-border-reset jqx-background-reset' id='content"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='verticalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute' id='horizontalScrollBar"+h.element.id+"'></div><div class='jqx-clear jqx-position-absolute jqx-border-reset' id='bottomRight'></div><div class='jqx-clear jqx-position-absolute' id='addrow'></div><div class='jqx-clear jqx-position-absolute' id='statusbar'></div><div class='jqx-clear jqx-position-absolute' id='pager' style='z-index: 20;'></div></div></div>";h.element.innerHTML="";if(h.source){if(!h.source.dataBind){if(!b.jqx.dataAdapter){throw new Error("jqxGrid: Missing reference to jqxdata.js")}h.source=new b.jqx.dataAdapter(h.source)}var e=h.source._source.datafields;if(e&&e.length>0){h.editmode=h.editmode.toLowerCase();h.selectionmode=h.selectionmode.toLowerCase()}}h.host.attr("role","grid");h.host.attr("align","left");h.element.innerHTML=g;h.host.addClass(h.toTP("jqx-grid"));h.host.addClass(h.toTP("jqx-reset"));h.host.addClass(h.toTP("jqx-rc-all"));h.host.addClass(h.toTP("jqx-widget"));h.host.addClass(h.toTP("jqx-widget-content"));h.wrapper=h.host.find("#wrapper"+h.element.id);h.content=h.host.find("#content"+h.element.id);h.content.addClass(h.toTP("jqx-reset"));var n=h.host.find("#verticalScrollBar"+h.element.id);var r=h.host.find("#horizontalScrollBar"+h.element.id);h.bottomRight=h.host.find("#bottomRight").addClass(h.toTP("jqx-grid-bottomright jqx-scrollbar-state-normal"));if(!n.jqxScrollBar){throw new Error("jqxGrid: Missing reference to jqxscrollbar.js");return}h.editors=new Array();h.vScrollBar=n.jqxScrollBar({vertical:true,rtl:h.rtl,touchMode:h.touchmode,step:h.verticalscrollbarstep,largestep:h.verticalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.hScrollBar=r.jqxScrollBar({vertical:false,rtl:h.rtl,touchMode:h.touchmode,step:h.horizontalscrollbarstep,largestep:h.horizontalscrollbarlargestep,theme:h.theme,_triggervaluechanged:false});h.addnewrow=h.host.find("#addrow");h.addnewrow[0].id="addrow"+h.element.id;h.addnewrow.addClass(h.toTP("jqx-widget-header"));h.pager=h.host.find("#pager");h.pager[0].id="pager"+h.element.id;h.toolbar=h.host.find("#toolbar");h.toolbar[0].id="toolbar"+h.element.id;h.toolbar.addClass(h.toTP("jqx-grid-toolbar"));h.toolbar.addClass(h.toTP("jqx-widget-header"));h.statusbar=h.host.find("#statusbar");h.statusbar[0].id="statusbar"+h.element.id;h.statusbar.addClass(h.toTP("jqx-grid-statusbar"));h.statusbar.addClass(h.toTP("jqx-widget-header"));h.pager.addClass(h.toTP("jqx-grid-pager"));h.pager.addClass(h.toTP("jqx-widget-header"));h.groupsheader=h.host.find("#groupsheader");h.groupsheader.addClass(h.toTP("jqx-grid-groups-header"));h.groupsheader.addClass(h.toTP("jqx-widget-header"));h.groupsheader[0].id="groupsheader"+h.element.id;h.vScrollBar.css("visibility","hidden");h.hScrollBar.css("visibility","hidden");h.vScrollInstance=b.data(h.vScrollBar[0],"jqxScrollBar").instance;h.hScrollInstance=b.data(h.hScrollBar[0],"jqxScrollBar").instance;h.gridtable=null;h.isNestedGrid=h.host.parent()?h.host.parent().css("z-index")==299:false;h.touchdevice=h.isTouchDevice();if(h.localizestrings){h.localizestrings();if(h.localization!=null){h.localizestrings(h.localization,false)}}if(h.rowdetailstemplate&&typeof h.rowdetailstemplate!=="function"){if(undefined==h.rowdetailstemplate.rowdetails){h.rowdetailstemplate.rowdetails="<div></div>"}if(undefined==h.rowdetailstemplate.rowdetailsheight){h.rowdetailstemplate.rowdetailsheight=200}if(undefined==h.rowdetailstemplate.rowdetailshidden){h.rowdetailstemplate.rowdetailshidden=true}}if(h.showfilterrow&&!h.filterable){throw new Error('jqxGrid: "showfilterrow" requires setting the "filterable" property to true!');h.host.remove();return}if(h.autorowheight&&!h.autoheight&&!h.pageable){throw new Error('jqxGrid: "autorowheight" requires setting the "autoheight" or "pageable" property to true!');h.host.remove();return}if(h.virtualmode&&h.rendergridrows==null){throw new Error('jqxGrid: "virtualmode" requires setting the "rendergridrows"!');h.host.remove();return}if(h.virtualmode&&!h.pageable&&h.groupable){throw new Error('jqxGrid: "grouping" in "virtualmode" without paging is not supported!');h.host.remove();return}if(h._testmodules()){return}h._builddataloadelement();h._cachedcolumns=h.columns;if(h.columns&&h.columns.length>h.headerZIndex){h.headerZIndex=h.columns.length+100}if(h.theme&&h.theme.indexOf("material")>=0){var o=b("<span>Test</span>");var f=b("<span>Test</span>");o.addClass(h.toTP("jqx-grid-row-cell"));f.addClass(h.toTP("jqx-grid-column-header-cell"));h.host.append(o);h.host.append(f);var l=o.outerHeight();var k=f.outerHeight();if(l>this.rowsheight){h.rowsheight=l;this._cellheight=l}if(k>this.columnsheight){h.columnsheight=k;this._columnHeight=k}o.remove();f.remove()}if(h.rowsheight!=31){h._measureElement("cell")}if(h.columnsheight!=32||h.columngroups){h._measureElement("column")}if(h.source){var e=h.source.datafields;if(e==null&&h.source._source){e=h.source._source.datafields}if(e){for(var d=0;d<h.columns.length;d++){var f=h.columns[d];if(f&&f.cellsformat&&f.cellsformat.length>2){for(var q=0;q<e.length;q++){if(e[q].name==f.datafield&&!e[q].format){e[q].format=f.cellsformat;break}}}}}}h.databind(h.source);if(h.showtoolbar){h.toolbar.css("visibility","inherit")}if(h.showstatusbar){h.statusbar.css("visibility","inherit")}h._arrange();if(h.pageable&&h._initpager){h._initpager()}h.tableheight=null;var j=h.that;var p=function(){if(j.content){j.content[0].scrollTop=0;j.content[0].scrollLeft=0}if(j.gridcontent){j.gridcontent[0].scrollLeft=0;j.gridcontent[0].scrollTop=0}};h.addHandler(h.content,"mousedown",function(){p()});h.addHandler(h.content,"scroll",function(m){p();return false});if(!h.showfilterrow){if(!h.showstatusbar&&!h.showtoolbar){h.host.addClass("jqx-disableselect")}h.content.addClass("jqx-disableselect")}if(h.enablebrowserselection){h.content.removeClass("jqx-disableselect");h.host.removeClass("jqx-disableselect")}h._resizeWindow();if(h.disabled){h.host.addClass(h.toThemeProperty("jqx-fill-state-disabled"))}h.hasTransform=b.jqx.utilities.hasTransform(h.host);if(h.scrollmode=="logical"){h.vScrollInstance.thumbStep=h.rowsheight;h.vScrollInstance.step=h.rowsheight}if(!b.jqx.isHidden(h.host)){if(h.filterable||h.groupable||h.sortable){h._initmenu()}}},_resizeWindow:function(){var e=this.that;if((this.width!=null&&this.width.toString().indexOf("%")!=-1)||(this.height!=null&&this.height.toString().indexOf("%")!=-1)){this._updatesizeonwindowresize=true;b.jqx.utilities.resize(this.host,function(k){var j=b(window).width();var g=b(window).height();var i=e.host.width();var l=e.host.height();if(e.pageable){var h=e.host.find(".jqx-grid-pager-input");if(j<350){h.hide()}else{h.show()}}if(e.autoheight){e._lastHostWidth=g}if(e._lastHostWidth!=i||e._lastHostHeight!=l){if(e.touchdevice&&e.editcell&&k!=="orientationchange"){return}e._updatesize(e._lastHostWidth!=i,e._lastHostHeight!=l)}e._lastWidth=j;e._lastHeight=g;e._lastHostWidth=i;e._lastHostHeight=l});var d=e.host.width();var f=e.host.height();e._lastHostWidth=d;e._lastHostHeight=f}},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=b('<div style="overflow: hidden; position: absolute;"></div>');if(this.showdefaultloadelement){var d=b('<div style="z-index: 99; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");d.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));d.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(d)}else{this.dataloadelement.addClass(this.toTP("jqx-grid-load"))}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this.wrapper.prepend(this.dataloadelement)},_measureElement:function(e){var d=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");d.addClass(this.toTP("jqx-widget"));b(document.body).append(d);if(e=="cell"){this._cellheight=d.height()}else{this._columnheight=d.height()}d.remove()},_measureMenuElement:function(){var e=b("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-menu"));e.addClass(this.toTP("jqx-menu-item-top"));e.addClass(this.toTP("jqx-fill-state-normal"));if(this.isTouchDevice()){e.addClass(this.toTP("jqx-grid-menu-item-touch"))}b(document.body).append(e);var d=e.outerHeight();e.remove();return d},_measureElementWidth:function(f){var e=b("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");e.addClass(this.toTP("jqx-widget"));e.addClass(this.toTP("jqx-grid"));e.addClass(this.toTP("jqx-grid-column-header"));e.addClass(this.toTP("jqx-widget-header"));b(document.body).append(e);var d=e.outerWidth()+20;e.remove();return d},_getBodyOffset:function(){var e=0;var d=0;if(b("body").css("border-top-width")!="0px"){e=parseInt(b("body").css("border-top-width"));if(isNaN(e)){e=0}}if(b("body").css("border-left-width")!="0px"){d=parseInt(b("body").css("border-left-width"));if(isNaN(d)){d=0}}return{left:d,top:e}},_testmodules:function(){var k="";var h=this.that;var d=function(){if(k.length!=""){k+=","}};if(this.columnsmenu&&!this.host.jqxMenu&&(this.sortable||this.groupable||this.filterable)){d();k+=" jqxmenu.js"}if(!this.host.jqxScrollBar){d();k+=" jqxscrollbar.js"}if(!this.host.jqxButton){d();k+=" jqxbuttons.js"}if(!b.jqx.dataAdapter){d();k+=" jqxdata.js"}if(this.pageable&&!this.gotopage){d();k+="jqxgrid.pager.js"}if(this.filterable&&!this.applyfilters){d();k+=" jqxgrid.filter.js"}if(this.groupable&&!this._initgroupsheader){d();k+=" jqxgrid.grouping.js"}if(this.columnsresize&&!this.autoresizecolumns){d();k+=" jqxgrid.columnsresize.js"}if(this.columnsreorder&&!this.setcolumnindex){d();k+=" jqxgrid.columnsreorder.js"}if(this.sortable&&!this.sortby){d();k+=" jqxgrid.sort.js"}if(this.editable&&!this.begincelledit){d();k+=" jqxgrid.edit.js"}if(this.showaggregates&&!this.getcolumnaggregateddata){d();k+=" jqxgrid.aggregates.js"}if(this.keyboardnavigation&&!this.selectrow){d();k+=" jqxgrid.selection.js"}if(k!=""||this.editable||this.filterable||this.pageable){var f=[];var j=function(i){switch(i){case"checkbox":if(!h.host.jqxCheckBox&&!f.checkbox){f.checkbox=true;d();k+=" jqxcheckbox.js"}break;case"numberinput":if(!h.host.jqxNumberInput&&!f.numberinput){f.numberinput=true;d();k+=" jqxnumberinput.js"}break;case"datetimeinput":if(!h.host.jqxDateTimeInput&&!f.datetimeinput){d();f.datetimeinput=true;k+=" jqxdatetimeinput.js(requires: jqxcalendar.js)"}else{if(!h.host.jqxCalendar&&!f.calendar){d();k+=" jqxcalendar.js"}}break;case"combobox":if(!h.host.jqxComboBox&&!f.combobox){d();f.combobox=true;k+=" jqxcombobox.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break;case"dropdownlist":if(!h.host.jqxDropDownList&&!f.dropdownlist){d();f.dropdownlist=true;k+=" jqxdropdownlist.js(requires: jqxlistbox.js)"}else{if(!h.host.jqxListBox&&!f.listbox){d();f.listbox=true;k+=" jqxlistbox.js"}}break}};if(this.filterable||this.pageable){j("dropdownlist")}for(var e=0;e<this.columns.length;e++){if(this.columns[e]==undefined){continue}var g=this.columns[e].columntype;j(g);if(this.filterable&&this.showfilterrow){var g=this.columns[e].filtertype;if(g=="checkedlist"||g=="bool"){j("checkbox")}if(g=="date"){j("datetimeinput")}}}if(k!=""){throw new Error("jqxGrid: Missing references to the following module(s): "+k);this.host.remove();return true}}return false},focus:function(){try{this.wrapper.focus();var e=this.that;setTimeout(function(){e.wrapper.focus()},25);this.focused=true}catch(d){}},hiddenParent:function(){return b.jqx.isHidden(this.host)},resize:function(e,d){this.width=e;this.height=d;this._updatesize(true,true)},_updatesize:function(r,g){if(this._loading){return}var m=this.that;m._newmax=null;var p=m.host.width();var d=m.host.height();if(!m._oldWidth){m._oldWidth=p}if(!m._oldHeight){m._oldHeight=d}if(m._resizeTimer){clearTimeout(m._resizeTimer)}var h=5;m.resizingGrid=true;if(b.jqx.isHidden(m.host)){return}if(m.editcell){m.endcelledit(m.editcell.row,m.editcell.column,true,true);m._oldselectedcell=null}if(d!=m._oldHeight||g==true){var e=m.groupable&&m.groups.length>0;var n=m.vScrollBar.css("visibility");if(!m.autoheight){if(m.virtualmode){m._pageviews=new Array()}if(!e&&!m.rowdetails&&!m.pageable){m._arrange();m.virtualsizeinfo=m._calculatevirtualheight();var d=Math.round(m.host.height())+2*m.rowsheight;if(parseInt(d)>=parseInt(m._oldHeight)){m.prerenderrequired=true}m._renderrows(m.virtualsizeinfo);if(m.rtl){m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}else{m._arrange();m.prerenderrequired=true;var d=Math.round(m.host.height())+2*m.rowsheight;var k=m._gettableheight();var q=Math.round(d/m.rowsheight);var i=Math.max(m.dataview.totalrows,m.dataview.totalrecords);if(m.pageable){i=m.pagesize;if(m.pagesize>Math.max(m.dataview.totalrows,m.dataview.totalrecords)&&m.autoheight){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}else{if(!m.autoheight){if(m.dataview.totalrows<m.pagesize){i=Math.max(m.dataview.totalrows,m.dataview.totalrecords)}}}}var l=i*m.rowsheight;var f=m._getpagesize();if(!m.pageable&&m.autoheight){q=i}if(m.virtualsizeinfo){m.virtualsizeinfo.visiblerecords=q}m.rendergridcontent(true,false);m._renderrows(m.virtualsizeinfo)}if(n!=m.vScrollBar.css("visibility")){m.vScrollInstance.setPosition(0);m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths()}}}if(p!=m._oldWidth||r==true){var o=false;if(m.editcell&&m.editcell.editor){switch(m.editcell.columntype){case"dropdownlist":o=m.editcell.editor.jqxDropDownList("isOpened")||(m.editcell.editor.jqxDropDownList("isanimating")&&!m.editcell.editor.jqxDropDownList("ishiding"));if(o){m.editcell.editor.jqxDropDownList({openDelay:0});m.editcell.editor.jqxDropDownList("open");m.editcell.editor.jqxDropDownList({openDelay:250});return}break;case"combobox":o=m.editcell.editor.jqxComboBox("isOpened")||(m.editcell.editor.jqxComboBox("isanimating")&&!m.editcell.editor.jqxComboBox("ishiding"));if(o){m.editcell.editor.jqxComboBox({openDelay:0});m.editcell.editor.jqxComboBox("open");m.editcell.editor.jqxComboBox({openDelay:250});return}break;case"datetimeinput":if(o){o=m.editcell.editor.jqxDateTimeInput("isOpened")||(m.editcell.editor.jqxDateTimeInput("isanimating")&&!m.editcell.editor.jqxDateTimeInput("ishiding"));m.editcell.editor.jqxDateTimeInput({openDelay:0});m.editcell.editor.jqxDateTimeInput("open");m.editcell.editor.jqxDateTimeInput({openDelay:250});return}break}}var j=m.hScrollBar.css("visibility");m._arrange();m._updatecolumnwidths();if(m.table){m.table.width(m.columnsheader.width())}m._updatecellwidths();if(!(r==false&&m._oldWidth>p)){if(!g||m.dataview.rows.length==0){m._renderrows(m.virtualsizeinfo)}}if(j!=m.hScrollBar.css("visibility")){m.hScrollInstance.setPosition(0)}}m._oldWidth=p;m._oldHeight=d;m.resizingGrid=false},getTouches:function(d){return b.jqx.mobile.getTouches(d)},_updateTouchScrolling:function(){var e=this.that;if(e.isTouchDevice()){e.scrollmode="logical";e.vScrollInstance.thumbStep=e.rowsheight;var g=b.jqx.mobile.getTouchEventName("touchstart");var f=b.jqx.mobile.getTouchEventName("touchend");var d=b.jqx.mobile.getTouchEventName("touchmove");e.enablehover=false;if(e.gridcontent){e.removeHandler(e.gridcontent,g+".touchScroll");e.removeHandler(e.gridcontent,d+".touchScroll");e.removeHandler(e.gridcontent,f+".touchScroll");e.removeHandler(e.gridcontent,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e.gridcontent[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);if(e._overlayElement){e.removeHandler(e._overlayElement,g+".touchScroll");e.removeHandler(e._overlayElement,d+".touchScroll");e.removeHandler(e._overlayElement,f+".touchScroll");e.removeHandler(e._overlayElement,"touchcancel.touchScroll");b.jqx.mobile.touchScroll(e._overlayElement[0],e.vScrollInstance.max,function(i,h){if(h!=null&&e.vScrollBar.css("visibility")=="visible"){e.vScrollInstance.setPosition(h)}if(i!=null&&e.hScrollBar.css("visibility")=="visible"){e.hScrollInstance.setPosition(i)}e.vScrollInstance.thumbCapture=true;e._lastScroll=new Date()},this.element.id,this.hScrollBar,this.vScrollBar);this.addHandler(this.host,g,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}});this.addHandler(this.host,f,function(){if(!e.editcell){e._overlayElement.css("visibility","visible")}else{e._overlayElement.css("visibility","hidden")}})}}}},_rendercelltexts:function(){if(b.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var e="www.jqwidgets.com";if(location.hostname.indexOf(e.substring(4))==-1){if(this._gridRenderElement){b(this._gridRenderElement).remove()}var f=String.fromCharCode(83,80,65,78);var d=String.fromCharCode(72,84,84,80,58,47,47);var g=document.createElement(f);g.id=b.jqx.utilities.createId();g.innerHTML=e;g.style.position="absolute";g.style.right="5px";g.style.bottom="5px";g.style.color="#909090";g.style.cursor="pointer";g.style.zIndex="999999";g.style.display="none";g.style.fontSize="9px";g.onmousedown=function(){open(d+e)};this.content[0].appendChild(g);this._gridRenderElement=g}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var d=b.jqx.mobile.isTouchDevice();this.touchDevice=d;if(this.touchmode==true){if(b.jqx.browser.msie&&b.jqx.browser.version<9){this.enablehover=false;return false}d=true;b.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=d}else{if(this.touchmode==false){d=false}}if(d&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return d},toTP:function(d){return this.toThemeProperty(d)},localizestrings:function(d,e){this._cellscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d!=null){for(var f in d){if(f.toLowerCase()!==f){d[f.toLowerCase()]=d[f]}}if(d.okstring){this.gridlocalization.okstring=d.okstring}if(d.cancelstring){this.gridlocalization.cancelstring=d.cancelstring}if(d.pagergotopagestring){this.gridlocalization.pagergotopagestring=d.pagergotopagestring}if(d.pagershowrowsstring){this.gridlocalization.pagershowrowsstring=d.pagershowrowsstring}if(d.pagerrangestring){this.gridlocalization.pagerrangestring=d.pagerrangestring}if(d.pagernextbuttonstring){this.gridlocalization.pagernextbuttonstring=d.pagernextbuttonstring}if(d.pagerpreviousbuttonstring){this.gridlocalization.pagerpreviousbuttonstring=d.pagerpreviousbuttonstring}if(d.pagerfirstbuttonstring){this.gridlocalization.pagerfirstbuttonstring=d.pagerfirstbuttonstring}if(d.pagerlastbuttonstring){this.gridlocalization.pagerlastbuttonstring=d.pagerlastbuttonstring}if(d.groupsheaderstring){this.gridlocalization.groupsheaderstring=d.groupsheaderstring}if(d.sortascendingstring){this.gridlocalization.sortascendingstring=d.sortascendingstring}if(d.sortdescendingstring){this.gridlocalization.sortdescendingstring=d.sortdescendingstring}if(d.sortremovestring){this.gridlocalization.sortremovestring=d.sortremovestring}if(d.groupbystring){this.gridlocalization.groupbystring=d.groupbystring}if(d.groupremovestring){this.gridlocalization.groupremovestring=d.groupremovestring}if(d.firstDay){this.gridlocalization.firstDay=d.firstDay}if(d.days){this.gridlocalization.days=d.days}if(d.months){this.gridlocalization.months=d.months}if(d.AM){this.gridlocalization.AM=d.AM}if(d.PM){this.gridlocalization.PM=d.PM}if(d.patterns){this.gridlocalization.patterns=d.patterns}if(d.percentsymbol){this.gridlocalization.percentsymbol=d.percentsymbol}if(d.currencysymbol){this.gridlocalization.currencysymbol=d.currencysymbol}if(d.currencysymbolposition){this.gridlocalization.currencysymbolposition=d.currencysymbolposition}if(d.decimalseparator!=undefined){this.gridlocalization.decimalseparator=d.decimalseparator}if(d.thousandsseparator!=undefined){this.gridlocalization.thousandsseparator=d.thousandsseparator}if(d.filterclearstring){this.gridlocalization.filterclearstring=d.filterclearstring}if(d.filterstring){this.gridlocalization.filterstring=d.filterstring}if(d.filtershowrowstring){this.gridlocalization.filtershowrowstring=d.filtershowrowstring}if(d.filtershowrowdatestring){this.gridlocalization.filtershowrowdatestring=d.filtershowrowdatestring}if(d.filterselectallstring){this.gridlocalization.filterselectallstring=d.filterselectallstring}if(d.filterchoosestring){this.gridlocalization.filterchoosestring=d.filterchoosestring}if(d.filterorconditionstring){this.gridlocalization.filterorconditionstring=d.filterorconditionstring}if(d.filterandconditionstring){this.gridlocalization.filterandconditionstring=d.filterandconditionstring}if(d.filterstringcomparisonoperators){this.gridlocalization.filterstringcomparisonoperators=d.filterstringcomparisonoperators}if(d.filternumericcomparisonoperators){this.gridlocalization.filternumericcomparisonoperators=d.filternumericcomparisonoperators}if(d.filterdatecomparisonoperators){this.gridlocalization.filterdatecomparisonoperators=d.filterdatecomparisonoperators}if(d.filterbooleancomparisonoperators){this.gridlocalization.filterbooleancomparisonoperators=d.filterbooleancomparisonoperators}if(d.emptydatastring){this.gridlocalization.emptydatastring=d.emptydatastring}if(d.filterselectstring){this.gridlocalization.filterselectstring=d.filterselectstring}if(d.todaystring){this.gridlocalization.todaystring=d.todaystring}if(d.clearstring){this.gridlocalization.clearstring=d.clearstring}if(d.validationstring){this.gridlocalization.validationstring=d.validationstring}if(d.loadtext){this.gridlocalization.loadtext=d.loadtext}if(d.addrowstring){this.gridlocalization.addrowstring=d.addrowstring}if(d.udpaterowstring){this.gridlocalization.udpaterowstring=d.udpaterowstring}if(d.deleterowstring){this.gridlocalization.deleterowstring=d.deleterowstring}if(d.resetrowstring){this.gridlocalization.resetrowstring=d.resetrowstring}if(d.everpresentrowplaceholder){this.gridlocalization.everpresentrowplaceholder=d.everpresentrowplaceholder}if(e!==false){if(this._initpager){this._initpager()}if(this._initgroupsheader){this._initgroupsheader()}if(this._initmenu){this._initmenu()}this._builddataloadelement();b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none");if(this.filterable&&this.showfilterrow){if(this._updatefilterrow){for(var f in this._filterrowcache){b(this._filterrowcache[f]).remove()}this._filterrowcache=[];this._updatefilterrow()}}if(this.showaggregates&&this.refresheaggregates){this.refresheaggregates()}this._renderrows(this.virtualsizeinfo)}}else{this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",groupsheaderstring:"Drag a column and drop it here to group by that column",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",groupbystring:"Group By this column",groupremovestring:"Remove from groups",filterclearstring:"Clear",filterstring:"Filter",filtershowrowstring:"Show rows where:",filtershowrowdatestring:"Show rows where date:",filterorconditionstring:"Or",filterandconditionstring:"And",filterselectallstring:"(Select All)",filterchoosestring:"Please Choose:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",addrowstring:"Add",udpaterowstring:"Update",deleterowstring:"Delete",resetrowstring:"Reset",everpresentrowplaceholder:"Enter ",okstring:"Ok",cancelstring:"Cancel"}}},_getmenudefaultheight:function(){var f=this;var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){e+=2}var d=f._measureMenuElement();var g=e*d+9;if(f.filterable&&!f.showfilterrow&&f.showfiltermenuitems){g+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){g+=20}}return g},_initmenu:function(){var s=this.that;if(this.host.jqxMenu){if(this.gridmenu){if(this._hasOpenedMenu){return}if(this.filterable){if(this._destroyfilterpanel){this._destroyfilterpanel()}}this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu.removeData();this.gridmenu.remove()}this.menuitemsarray=new Array();var n="";if(this.isTouchDevice()){n="jqx-grid-menu-item-touch"}this.gridmenu=b('<div tabindex=0 id="gridmenu'+this.element.id+'" style="z-index: 99;"></div>');this.host.append(this.gridmenu);var y=b("<ul></ul>");var i='<div class="jqx-grid-sortasc-icon"></div>';var u=b('<li class="'+n+'">'+i+this.gridlocalization.sortascendingstring+"</li>");var C='<div class="jqx-grid-sortdesc-icon"></div>';var z=b('<li class="'+n+'">'+C+this.gridlocalization.sortdescendingstring+"</li>");var o='<div class="jqx-grid-sortremove-icon"></div>';var k=b('<li class="'+n+'">'+o+this.gridlocalization.sortremovestring+"</li>");var j='<div class="jqx-grid-groupby-icon"></div>';var r=b('<li class="'+n+'">'+j+this.gridlocalization.groupbystring+"</li>");var f=b('<li class="'+n+'">'+j+this.gridlocalization.groupremovestring+"</li>");var d=b('<li type="separator"></li>');var x=b('<li class="filter '+n+'" style="height: 194px;" ignoretheme="true"><div class="filter"></div></li>');var m=this.gridlocalization.sortascendingstring.length;var t=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>m){m=this.gridlocalization.sortdescendingstring.length;t=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>m){m=this.gridlocalization.sortremovestring.length;t=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){if(this.gridlocalization.groupbystring.length>m){m=this.gridlocalization.groupbystring.length;t=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>m){m=this.gridlocalization.groupremovestring.length;t=this.gridlocalization.groupremovestring}}var A=200;t=b.trim(t).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+t+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);A=g.outerWidth()+60;g.remove();var e=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){y.append(u);this.menuitemsarray[0]=u[0];y.append(z);this.menuitemsarray[1]=z[0];y.append(k);this.menuitemsarray[2]=k[0];e=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){y.append(r);this.menuitemsarray[3]=r[0];y.append(f);this.menuitemsarray[4]=f[0];e+=2}var w=this._measureMenuElement();var l=e*w+9;var q=true;if(this.filterable&&!this.showfilterrow&&this.showfiltermenuitems){if(this._initfilterpanel){this.menuitemsarray[5]=x[0];this.menuitemsarray[6]=x[0];y.append(d);y.append(x);l+=194;if(b.jqx.browser.msie&&b.jqx.browser.version<8){l+=20}if(this.isTouchDevice()){l+=30}var p=b(x).find("div:first");this.excelfilterpanel=b("<div></div>");this.filterpanel=p;this.filtermenu=b(x);A+=20;if(this.adaptive&&this.element.offsetWidth<this.adaptivewidth){A=this.element.offsetWidth-50}this._initfilterpanel(this,p,"",A);this._initfilterpanel(this,this.excelfilterpanel,"",A,true);q=false;this.removeHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s);this.addHandler(b(document),"click.menu"+s.element.id,s._closemenuafterclick,s)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.filter.js.")}}this.gridmenu.append(y);if(b.jqx.browser.msie&&b.jqx.browser.version<8&&this.filterable){b("#listBoxfilter1"+this.element.id).css("z-index",49);b("#listBoxfilter2"+this.element.id).css("z-index",49);b("#listBoxfilter3"+this.element.id).css("z-index",49);b("#gridmenu"+this.element.id).css("z-index",50);this.addHandler(b("#gridmenu"+this.element.id),"initialized",function(){b("#menuWrappergridmenu"+s.element.id).css("z-index",49)})}if(this.menuitemsarray[0]==undefined){l=65}this.removeHandler(b(window),"orientationchange.jqxgrid"+this.element.id);this.removeHandler(b(window),"orientationchanged.jqxgrid"+this.element.id);this.addHandler(b(window),"orientationchange.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.addHandler(b(window),"orientationchanged.jqxgrid"+this.element.id,function(){s.gridmenu.jqxMenu("close")});this.removeHandler(this.gridmenu,"keydown");this.addHandler(this.gridmenu,"keydown",function(O){var N=b(s.gridmenu.find(".jqx-item")).toArray();var G=function(){b(N).removeClass("jqx-fill-state-focus")};var S=function(Y){var W=N.indexOf(Y);for(var X=W-1;X>=0;X--){if(N[X].className.indexOf("disabled")>=0){continue}return N[X]}return Y};var J=function(Y){var W=N.indexOf(Y);for(var X=W+1;X<N.length;X++){if(N[X].className.indexOf("disabled")>=0){continue}return N[X]}return Y};var M=function(){var W=N[N.length-1];if(W.className.indexOf("disabled")>=0){return S(W)}return W};var V=function(){var W=N[0];if(W.className.indexOf("disabled")>=0){return J(W)}return W};var K=function(){for(var W=0;W<N.length;W++){if(N[W].active){return N[W]}}return null};var H=function(X){G();for(var W=0;W<N.length;W++){N[W].active=false}if(X){b(X).addClass("jqx-fill-state-focus");X.active=true}};if(!K()&&!s.filterable){N[0].active=true}if(s.keyboardmenunavigation&&s.keyboardnavigation){if(O.keyCode===40){var K=K();H(J(K))}else{if(O.keyCode===38){var K=K();H(S(K))}}if(O.keyCode===9){if(!K()){if(O.shiftKey){if(document.activeElement===b.find("#filter1"+s.element.id)[0]){var U=M();H(U);b(b.find("#filter1"+s.element.id)).removeClass("jqx-fill-state-focus");s.gridmenu.focus();O.stopPropagation();O.preventDefault()}else{if(document.activeElement===b.find("#filter1"+s.element.id+"ex")[0]){var U=M();H(U);b(b.find("#filter1"+s.element.id)+"ex").removeClass("jqx-fill-state-focus");s.gridmenu.focus();O.stopPropagation();O.preventDefault()}}}return true}if(!O.shiftKey){var K=K();if(K===M()&&s.filterable&&!s.showfilterrow){H(null);if(b(b.find("#filter1"+s.element.id)).length>0){b(b.find("#filter1"+s.element.id)).jqxDropDownList("focus")}else{if(b(b.find("#filter1"+s.element.id+"ex")).length>0){b(b.find("#filter1"+s.element.id+"ex")).jqxListBox("focus")}}}else{H(J(K))}O.stopPropagation();O.preventDefault()}else{var K=K();H(S(K));O.stopPropagation();O.preventDefault()}}}if(O.keyCode==27){s.gridmenu.jqxMenu("close")}else{if(O.keyCode==13){var N=s.gridmenu.find(".jqx-item");var K=K();if(K){b(K).trigger("click");H(null)}else{if(s._buildfilter&&s.filterable&&!s.showfilterrow){if(b.find("#filter1"+s.element.id).length>0){var T=b(b.find("#filter1"+s.element.id)).jqxDropDownList("container").css("display")=="block";var R=b(b.find("#filter2"+s.element.id)).jqxDropDownList("container").css("display")=="block";var P=b(b.find("#filter3"+s.element.id)).jqxDropDownList("container").css("display")=="block"}var L=b(b.find("#filterclearbutton"+s.element.id)).hasClass("jqx-fill-state-focus");var D=b(b.find("#filterbutton"+s.element.id)).hasClass("jqx-fill-state-focus");if(L){var E=b.data(document.body,"contextmenu"+s.element.id).column;s._clearfilter(s,s.element,E);s.gridmenu.jqxMenu("close")}else{if(D){if(!T&&!R&&!P){var E=b.data(document.body,"contextmenu"+s.element.id).column;s.gridmenu.jqxMenu("close");s._buildfilter(s,x,E)}}}}}var Q=s.selectedcells.length>0||s.selectedrowindexes.length>0;s.clearselection();var I=s.getdisplayrows()[0];if(I){var F=s.getboundindex(I);if(s.selectionmode.indexOf("cell")>=0){if(Q){s.selectcell(F,s.columns.records[0].displayfield)}}else{if(Q){s.selectrow(F)}}}}}});if(this.popupwidth!="auto"){A=this.popupwidth}this.gridmenu.jqxMenu({popupZIndex:1000,width:A,height:l,autoCloseOnClick:q,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0});var v=document.querySelectorAll(".jqx-menu-wrapper");this.gridmenu.parent().attr("tabindex",v.length-1);if(this.filterable){this.gridmenu.jqxMenu("_setItemProperty",x[0].id,"closeOnClick",false)}if(this.rtl){var B=this.that;b.each(y.find("li"),function(){b(this).addClass(B.toTP("jqx-rtl"))});var h=function(D){var E=D.find("div");E.css("float","right");E.css("margin-left","4px");E.css("margin-right","-4px")};h(k);h(z);h(u);h(r);h(f)}this._handlemenueevents()}else{this.columnsmenu=false}},_arrangemenu:function(){if(!this.gridmenu){this._initmenu()}var j=this.gridlocalization.sortascendingstring.length;var e=this.gridlocalization.sortascendingstring;if(this.gridlocalization.sortdescendingstring.length>j){j=this.gridlocalization.sortdescendingstring.length;e=this.gridlocalization.sortdescendingstring}if(this.gridlocalization.sortremovestring.length>j){j=this.gridlocalization.sortremovestring.length;e=this.gridlocalization.sortremovestring}if(this.groupable&&this._initgroupsheader){if(this.gridlocalization.groupbystring.length>j){j=this.gridlocalization.groupbystring.length;e=this.gridlocalization.groupbystring}if(this.gridlocalization.groupremovestring.length>j){j=this.gridlocalization.groupremovestring.length;e=this.gridlocalization.groupremovestring}}var f=200;e=b.trim(e).replace(/\&nbsp\;/ig,"").replace(/\&#160\;/ig,"");var g=b("<span>"+e+"</span>");g.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(g);f=g.outerWidth()+60;g.remove();var h=0;if(this.sortable&&this._togglesort&&this.showsortmenuitems){h=3}if(this.groupable&&this._initgroupsheader&&this.showgroupmenuitems){h+=2}var d=this._measureMenuElement();var i=h*d+9;if(this.filterable&&this.showfiltermenuitems){if(this._initfilterpanel){i+=194;f+=20;if(b.jqx.browser.msie&&b.jqx.browser.version<8){i+=20}if(this.isTouchDevice()){i+=30}}}if(this.menuitemsarray[0]==undefined){i=65}if(this.popupwidth!="auto"){f=this.popupwidth}if(this.popupheight!="auto"){i=this.popupheight}this.gridmenu.jqxMenu({width:f,height:i})},_closemenuafterclick:function(e){var k=e!=null?e.data:this;var i=false;if(e.target==undefined||(e.target!=undefined&&e.target.className.indexOf==undefined)){k.gridmenu.jqxMenu("close");return}if(e.target.className.indexOf("filter")!=-1&&e.target.className.indexOf("jqx-grid-cell-filter")==-1){return}if(e.target.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return}if(k._hasOpenedMenu){if(b(e.target).ischildof(k.gridmenu)){return}}var d=k.host.coord();var f=k.gridmenu.coord();var m=e.pageX;var l=e.pageY;b.each(b(e.target).parents(),function(){if(this.id!=null&&this.id.indexOf&&this.id.indexOf("filter")!=-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("filter")!=-1&&this.className.indexOf("jqx-grid-cell-filter")==-1){i=true;return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-cell")!=-1){k.gridmenu.jqxMenu("close");return false}if(this.className.indexOf&&this.className.indexOf("jqx-grid-column")!=-1){k.gridmenu.jqxMenu("close");return false}});if(i){return}try{if(k.filtermode==="default"){var p=b(b.find("#filter1"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter3"+k.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup;if(n-o<100){return}if((b(b.find("#filter3"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter1"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if((b(b.find("#filter2"+k.element.id)).jqxDropDownList("container")).css("display")=="block"){return}if(k._hasdatefilter){if(b(".filtertext1"+k.element.id)[0].nodeName.toLowerCase()=="div"){if(b(".filtertext1"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}if(b(".filtertext2"+k.element.id).jqxDateTimeInput("container").css("display")=="block"){return}}}}else{var p=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.vScrollInstance._mouseup;var n=new Date();if(n-p<100){return}var o=b(b.find("#filter1"+k.element.id)).data().jqxListBox.instance.hScrollInstance._mouseup;if(n-o<100){return}}}catch(j){}if(m>=f.left&&m<=f.left+k.gridmenu.width()){if(l>=f.top&&l<=f.top+k.gridmenu.height()){return}}var h=false;if(k.columnmenuclosing){var g=b.data(document.body,"contextmenu"+k.element.id);if(!g){g={column:{displayfield:null}}}h=k.columnmenuclosing(k.gridmenu,g.column.displayfield,b(k.gridmenu).height());if(h===false){return}}k.gridmenu.jqxMenu("close")},_handlemenueevents:function(){var d=this.that;this.removeHandler(this.gridmenu,"closed");this.addHandler(this.gridmenu,"closed",function(e){d._closemenu()});this.removeHandler(this.gridmenu,"itemclick");this.addHandler(this.gridmenu,"itemclick",function(h){var g=h.args;for(var e=0;e<d.menuitemsarray.length;e++){var j=d.menuitemsarray[e];if(g==j){if(b(g).attr("ignoretheme")!=undefined){return}var k=b.data(document.body,"contextmenu"+d.element.id);var f=k.column;if(d.filterable){d.gridmenu.jqxMenu("close")}var m=f.displayfield;if(m==null){m=f.datafield}if(k!=null){switch(e){case 0:d.sortby(m,"ascending",null);break;case 1:d.sortby(m,"descending",null);break;case 2:d.sortby(m,null,null);break;case 3:d.addgroup(m);break;case 4:d.removegroup(m);break;case 5:var l=b(d.menuitemsarray[6]);b(l).css("display","block");break;case 7:break}}break}}})},getdatainformation:function(){var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}return{rowscount:d,sortinformation:this.getsortinformation(),paginginformation:this.getpaginginformation()}},getsortinformation:function(){return{sortcolumns:this.getsortcolumns?this.getsortcolumns():[],sortcolumn:this.sortcolumn,sortdirection:this.sortdirection}},getpaginginformation:function(){return{pagenum:this.dataview.pagenum,pagesize:this.pagesize,pagescount:Math.ceil(this.dataview.totalrecords/this.pagesize)}},_updaterowsproperties:function(){this._updatehiddenrows();this._updaterowheights();this._updaterowdetails()},_updatehiddenrows:function(){var e=this.that;this.hiddens=new Array();var d=this.hiddenboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.hiddens[h]=this.hidden}})},_updaterowheights:function(){var e=this.that;this.heights=new Array();var d=this.heightboundrows;b.each(d,function(g){if(this.index!=undefined){var f=this.index;var h=e.getrowvisibleindex(g);e.heights[h]=this.height}})},_updaterowdetails:function(){var d=this.that;this.details=new Array();var e=this.detailboundrows;b.each(e,function(g){if(this.index!=undefined){var f=this.index;var h=d.getrowvisibleindex(g);d.details[h]=this.details}})},_getmenuitembyindex:function(d){if(d==undefined){return null}return this.menuitemsarray[d]},openmenu:function(e){if(this._openingmenu){return}this._openingmenu=true;this.closemenu();var h=this.getcolumn(e);if(!h.menu){return false}if(!this.gridmenu){this._initmenu()}var d=h.columnsmenu;b(h.element).trigger("mouseenter");this.menuOwner=h;var g=this;for(var f=0;f<g.columns.records.length;f++){if(g.columns.records[f].datafield!=e){b(g.columns.records[f].element).trigger("mouseleave")}}setTimeout(function(){if(b(d)[0].style.display=="block"){b(d).trigger("click")}g._openingmenu=false},200)},closemenu:function(){this._closemenu()},_closemenu:function(){if(this._hasOpenedMenu){var f=false;if(this.columnmenuclosing){var i=b.data(document.body,"contextmenu"+this.element.id);if(!i){i={column:{displayfield:null}}}f=this.columnmenuclosing(this.gridmenu,i.column.displayfield,b(this.gridmenu).height());if(f===false){return}}if(this.gridmenu!=null){this.gridmenu.jqxMenu("close")}var i=b.data(document.body,"contextmenu"+this.element.id);var e=16;if(i!=null&&this.autoshowcolumnsmenubutton){if(this.enableanimations){b(i.columnsmenu).animate({"margin-left":0},"fast",function(){b(i.columnsmenu).css("display","none")});var h=!this.rtl?-32:0;i.column.iconscontainer.animate({"margin-left":h},"fast")}else{b(i.columnsmenu).css("display","none");var h=!this.rtl?-32:0;i.column.iconscontainer.css("margin-left",h)}b.data(document.body,"contextmenu"+this.element.id,null)}this._hasOpenedMenu=false;this.menuOwner=null;var k=this._getmenuitembyindex(5);if(k){var j=b(k).find("#filter1"+this.element.id);var d=b(k).find("#filter2"+this.element.id);var g=b(k).find("#filter3"+this.element.id);if(j.length>0&&this.filtermode==="default"){j.jqxDropDownList("hideListBox");if(d.length>0){d.jqxDropDownList("hideListBox")}if(g.length>0){g.jqxDropDownList("hideListBox")}}}this.focus()}},scrolloffset:function(e,d){if(e==null||d==null||e==undefined||d==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",e);this.hScrollBar.jqxScrollBar("setPosition",d)},scrollleft:function(d){if(d==null||d==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",d)}},scrolltop:function(d){if(d==null||d==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",d)}},beginupdate:function(e,d){this._updating=true;this._datachanged=false;if(e===true){this._batchupdate=true}if(d===true){this._stopbindings=true}},endupdate:function(){this.resumeupdate()},resumeupdate:function(){this._updating=false;if(this._batchupdate){this._batchupdate=false;this._datachanged=false;if(!this._stopbindings){this.render()}else{this.updatebounddata()}return}if(this._stopbindings){this.updatebounddata("data");return}if(this._datachanged==true){var d=this.vScrollInstance.value;this.render(true,true,false);this._datachanged=false;if(d!=0&&d<this.vScrollInstance.max){this.scrolltop(d)}}else{this.rendergridcontent(true);this._renderrows(this.virtualsizeinfo)}if(this.showaggregates&&this.renderaggregates){this.renderaggregates()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)},updating:function(){return this._updating},showloadelement:function(){if(this.renderloadelement){this.dataloadelement.html(this.renderloadelement())}this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block")},hideloadelement:function(){b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")},_updatefocusedfilter:function(){var d=this.that;if(d.focusedfilter){d.focusedfilter.focus();setTimeout(function(){d.focusedfilter.focus();if(d.focusedfilter[0].nodeName.toLowerCase()=="input"){var g=d.focusedfilter.val().length;try{if("selectionStart" in d.focusedfilter[0]){d.focusedfilter[0].setSelectionRange(g,g)}else{var e=d.focusedfilter[0].createTextRange();e.collapse(true);e.moveEnd("character",g);e.moveStart("character",g);e.select()}}catch(f){}}},50)}},databind:function(h,j){if(this.loadingstate===true){return}if(this._stopbindings===true){return}var d=window;if(this.host.css("display")=="block"){if(this.autoshowloadelement){b(this.dataloadelement).css("visibility","visible");b(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height());this._hideemptyrow()}else{b(this.dataloadelement).css("visibility","hidden");b(this.dataloadelement).css("display","none")}}if(!this._initgroupsheader&&this.groups.length>0){this.groups=new Array()}var g=this.that;if(h==null){h={}}if(!h.recordstartindex){h.recordstartindex=0}if(!h.recordendindex){h.recordendindex=0}if(h.loadallrecords==undefined||h.loadallrecords==null){h.loadallrecords=true}if(h.sortcomparer==undefined||h.sortcomparer==null){h.sortcomparer=null}if(h.filter==undefined||h.filter==null){h.filter=null}if(h.sort==undefined||h.sort==null){h.sort=null}if(h.data==undefined||h.data==null){h.data=null}var e=null;if(h!=null){e=h._source!=undefined?h._source.url:h.url}this.dataview=this.dataview||new b.jqx.dataview();if(b.jqx.dataview.sort){b.extend(this.dataview,new b.jqx.dataview.sort())}if(b.jqx.dataview.grouping){b.extend(this.dataview,new b.jqx.dataview.grouping())}this.dataview.suspendupdate();this.dataview.pageable=this.pageable;this.dataview.groupable=this.groupable;this.dataview.groups=this.groups;this.dataview.virtualmode=this.virtualmode;this.dataview.grid=this;this.dataview._clearcaches();if(!this.pageable&&this.virtualmode){this.loadondemand=true}if(!g.initializedcall){if(h._source){if(this.sortable){if(h._source.sortcolumn!=undefined){this.sortcolumn=h._source.sortcolumn;this.source.sortcolumn=this.sortcolumn;this.dataview.sortfield=h._source.sortcolumn;h._source.sortcolumn=null}if(h._source.sortdirection!=undefined){this.dataview.sortfielddirection=h._source.sortdirection;var i=h._source.sortdirection;if(i=="a"||i=="asc"||i=="ascending"||i==true){var f=true}else{var f=false}if(i!=null){this.sortdirection={ascending:f,descending:!f}}else{this.sortdirection={ascending:false,descending:false}}}}}if(this.pageable){if(h._source){if(h._source.pagenum!=undefined){this.dataview.pagenum=h._source.pagenum}if(h._source.pagesize!=undefined){this.pagesize=h._source.pagesize;this.dataview.pagesize=h._source.pagesize}else{this.dataview.pagesize=h._source.pagesize;if(this.dataview.pagesize==undefined){this.dataview.pagesize=this.pagesize}}}}if(this.sortable){if(h.sortcolumn){this.dataview.sortfield=h.sortcolumn}if(h.sortdirection){this.dataview.sortfielddirection=h.sortdirection}}if(this.filterable){if(this.columns){b.each(this.columns,function(){if(this.filter){g.dataview.addfilter(this.datafield,this.filter)}})}}}this._loading=true;this.dataview.update=function(q){if(!g.pageable&&g.virtualmode){g.loadondemand=true}g._loading=false;if(g.dataview.isupdating()){g.dataview.resumeupdate(false)}if(g.pageable&&g.pagerrenderer){if(g._initpager){g._initpager()}else{throw new Error("jqxGrid: Missing reference to jqxgrid.pager.js.")}}if((g.source&&g.source.sortcolumn)&&g.sortby&&!g.virtualmode){g.render();if(!g.source._source.sort){g.sortby(g.source.sortcolumn,g.source.sortdirection,g.source.sortcomparer)}g.source.sortcolumn=null;g._postrender("data")}else{var s=g.vScrollInstance.value;var p=g.hScrollInstance.value;var m=g.source?g.source.datatype:"array";if(m!="local"||m!="array"){var n=g.virtualsizeinfo==null||(g.virtualsizeinfo!=null&&g.virtualsizeinfo.virtualheight==0);if(j=="cells"){var k=false;if(g.filterable&&g._initfilterpanel&&g.dataview.filters.length){k=true}if(false==q){if(!g.vScrollInstance.isScrolling()&&!g.hScrollInstance.isScrolling()){g._cellscache=new Array();g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);if(g.showfilterrow&&g.filterable&&g.filterrow){g._updatelistfilters(true)}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}}if(g.sortcolumn){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.virtualmode&&!g._loading){g.loadondemand=true;g._renderrows(g.virtualsizeinfo)}g._postrender("data");return}else{if(k){j="filter"}else{if(g.sortcolumn!=undefined){j="sort"}}}}if(!g.virtualmode||n||(g.virtualmode&&g.pageable)){if(g.initializedcall==true&&j=="pagechanged"){s=0;if(g.groupable&&g.groups.length>0){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{g.rendergridcontent(true);if(g.pageable&&g.updatepagerdetails){g.updatepagerdetails();if(g.autoheight){g._updatepageviews();if(g.autorowheight){g._renderrows(this.virtualsizeinfo)}}else{if(g.autorowheight){g._updatepageviews();g._renderrows(this.virtualsizeinfo)}}}}if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(j=="filter"){if(g.virtualmode){g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}else{g._render(true,true,false,false,false);g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._updatefocusedfilter();g._postrender("data")}}else{if(j=="sort"){if(g.virtualmode){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{g._render(true,true,false,false,false);if(g.sortmode==="many"){for(var r in g.sortcolumns){g.sortby(r,g.sortcolumns[r],g.source.sortcomparer)}}else{if(g.sortcolumn&&!g.source.sort){g.sortby(g.sortcolumn,g.dataview.sortfielddirection,g.source.sortcomparer)}}g._postrender("data")}if(g.source.sort){g._updatefocusedfilter()}}else{if(j=="data"){g._render(true,true,false,false,false);g._postrender("data")}else{if(j=="state"){g._render(true,true,false,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}else{g._render(true,true,true,g.menuitemsarray&&g.menuitemsarray.length>0&&!g.virtualmode);g._postrender("data")}}}}}}else{if(g.virtualmode&&q==true&&!g.pageable){g._render(true,true,false,false,false);g._updatefocusedfilter();g._updatecolumnwidths();g._updatecellwidths();g._renderrows(g.virtualsizeinfo);g._postrender("data")}else{if(g.virtualmode&&!g.pageable&&q==false&&j!=undefined){g.rendergridcontent(true);if(g.showaggregates&&g._updateaggregates){g._updateaggregates()}g._postrender("data")}else{if(g.virtualmode&&g.dataview.totalrecords==0&&g.dataview.filters.length>0){g._render(true,true,true,g.menuitemsarray&&!g.virtualmode);g._postrender("data")}else{g._pagescache=new Array();g._renderrows(g.virtualsizeinfo);g._postrender("data")}}}}if(g.vScrollInstance.value!=s&&s<=g.vScrollInstance.max){g.vScrollInstance.setPosition(s)}if(g.hScrollInstance.value!=p&&p<=g.hScrollInstance.max){g.hScrollInstance.setPosition(p)}}}if(g.autoshowloadelement){b(g.dataloadelement).css("visibility","hidden");b(g.dataloadelement).css("display","none")}if(g.pageable){if(g.pagerrightbutton){g.pagerrightbutton.jqxButton({disabled:false});g.pagerleftbutton.jqxButton({disabled:false});g.pagershowrowscombo.jqxDropDownList({disabled:false})}if(g.pagerfirstbutton){g.pagerfirstbutton.jqxButton({disabled:false});g.pagerlastbutton.jqxButton({disabled:false})}}g._raiseEvent(11);if(!g.initializedcall){var o=function(){g._raiseEvent(0);g.initializedcall=true;g.isInitialized=true;if(g.ready){g.ready()}if(g.sortmode==="many"&&g.sortable){if(g.source&&g.source.sortcolumns){var v=g.source.sortcolumns;for(var u=0;u<v.length;u++){g.sortby(v[u],g.source.sortdirections[u]==="asc"?true:false)}}}if(g.renderstatusbar){g.renderstatusbar(g.statusbar)}if(g.rendertoolbar){g.rendertoolbar(g.toolbar)}if(g._rendercelltexts){g._rendercelltexts()}if(g._gridRenderElement){b(g._gridRenderElement).show("slow");var t=6000+Math.floor((Math.random()*4000)+1);var w=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();d[b.camelCase(w)](function(){b(g._gridRenderElement).hide("slow",function(){b(g._gridRenderElement).remove()})},t)}if(g.autoloadstate){if(g.loadstate){g.loadstate(null,true)}}};if(!b.jqx.isHidden(g.host)){o()}else{if(g.readyInterval){clearInterval(g.readyInterval)}g.readyInterval=setInterval(function(){if(!b.jqx.isHidden(g.host)){if(g.__isRendered){clearInterval(g.readyInterval);g.readyInterval=null;o();g._initmenu()}}},200)}if((g.width!=null&&g.width.toString().indexOf("%")!=-1)||(g.height!=null&&g.height.toString().indexOf("%")!=-1)){}if(g.host.css("visibility")=="hidden"){var l=b.jqx.browser.msie&&b.jqx.browser.version<8;if(g.vScrollBar.css("visibility")=="visible"){g.vScrollBar.css("visibility","inherit")}if(!g.autowidth){if(g.hScrollBar.css("visibility")=="visible"){g.hScrollBar.css("visibility","inherit")}}g._intervalTimer=setInterval(function(){if(g.host.css("visibility")=="visible"){g._updatesize(true);clearInterval(g._intervalTimer)}},100)}}else{g._updateTouchScrolling()}};this.dataview.databind(h);if(this.dataview.isupdating()){if(e!=undefined){this.dataview.suspend=false}else{this.dataview.resumeupdate(false)}}this._initializeRows()},scrollto:function(e,d){if(undefined!=e){this.hScrollInstance.setPosition(e)}if(undefined!=d){this.vScrollInstance.setPosition(d)}},scrollposition:function(){return{top:this.vScrollInstance.value,left:this.hScrollInstance.value}},ensurerowvisible:function(l){var k=this;if(this.autoheight&&!this.pageable){return true}var f=this._getpagesize();var j=Math.floor(l/f);if(!this._pageviews[j]&&!this.pageable){this._updatepageviews()}if(this.groupable&&this.groups.length>0){var n=this.getdisplayrows();var o=0;for(var g=0;g<n.length;g++){var t=n[g];if(t.boundindex===l){var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;if(o<q||o>q+r){this.scrolltop(o-this.rowsheight)}if(o===q){this.scrolltop(o-this.rowsheight)}break}var e=function(i){if(i.group){if(k.expandedgroups[i.uniqueid]){return k.expandedgroups[i.uniqueid].expanded}}else{return false}};var p=t.parentItem;var h=true;while(p){if(p&&!e(p)){h=false;break}p=p.parentItem}if(h){o+=this.rowsheight;if(this.details[g]){if(this.details[g].rowdetailshidden==false){o+=this.details[g].rowdetailsheight}}}}return true}var s=false;if(this.pageable&&this.gotopage&&!this.virtualmode){var j=Math.floor(l/f);if(this.dataview.pagenum!=j){if(this.groupable&&this.groups.length>0){return true}if(!this.editcell){this.gotopage(j)}else{setTimeout(function(){k.pagerpageinput.focus()},25);return false}s=true}}var q=this.vScrollInstance.value;var r=this._gettableheight()-this.rowsheight;var d=f*(l/f-j);d=Math.round(d);if(this._pageviews[j]){var o=this._pageviews[j].top;var m=o+d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<l;g++){if(this.details[g]){if(this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}}if(this.scrollmode=="deferred"){if(this.vScrollInstance.max<=m+this.rowsheight){m=this.vScrollInstance.max}}if(m<q){this.scrolltop(m);s=true}else{if(m>q+r+2){this.scrolltop(m-r);s=true}else{}}}else{if(this.pageable){var m=d*this.rowsheight;if(this.rowdetails){for(var g=f*j;g<f*j+d;g++){if(this.details[g]&&this.details[g].rowdetailshidden==false){m+=this.details[g].rowdetailsheight}}}if(m<q||m>q+r){this.scrollto(0,m);s=true}}}return s},ensurecellvisible:function(h,d){var n=this.that;var i=this.hScrollBar.jqxScrollBar("value");var j=n.hScrollInstance.max;if(n.rtl){if(this.hScrollBar.css("visibility")!="visible"){j=0}}var o=this.ensurerowvisible(h);var e=0;if(this.columns.records){var m=i;if(this.hScrollBar.css("visibility")=="hidden"){return}var l=this.host.width();var k=0;var f=this.vScrollBar.css("visibility")=="visible"?20:0;var g=false;b.each(this.columns.records,function(){if(this.hidden){return true}if(this.datafield==d){var q=0;var p=!n.rtl?m:j-i;if(e+this.width>p+l-f){q=e+this.width-l+f;if(n.rtl){q=j-q}n.scrollleft(q);g=true}else{if(e<=p){q=e-this.width;if(n.rtl){q=j-q}n.scrollleft(q);g=true}}if(k==0){if(n.rtl){n.scrollleft(j)}else{n.scrollleft(0)}g=true}else{if(k==n.columns.records.length-1){if(n.hScrollBar.css("visibility")=="visible"){if(!n.rtl){n.scrollleft(n.hScrollBar.jqxScrollBar("max"))}else{n.scrollleft(n.hScrollBar.jqxScrollBar("min"))}g=true}}}return false}k++;e+=this.width});if(!g){n.scrollleft(m)}}return o},setrowheight:function(e,d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(e==null||d==null){return false}this.heightboundrows[e]={index:e,height:d};e=this.getrowvisibleindex(e);if(e<0){return false}if(this.rows.records[e]){this.rows.records[e].height=d}else{var f=new a(this,null);f.height=d;this.rows.replace(e,f)}this.heights[e]=d;this.rendergridcontent(true);return true},getrowheight:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(d<0){return false}if(this.rows.records[d]){return this.rows.records[d].height}},setrowdetails:function(f,h,d,j){if(f==undefined||f==null||f<0){return}var e=f+"_";if(this._rowdetailscache[e]){var g=this._rowdetailscache[e].element;b(g).remove();this._rowdetailscache[e]=null}var i=this.dataview.generatekey();this.detailboundrows[f]={index:f,details:{rowdetails:h,rowdetailsheight:d,rowdetailshidden:j,key:i}};f=this.getrowvisibleindex(f);if(f<0){return false}return this._setrowdetails(f,h,d,j,i)},getcolumn:function(d){var e=null;if(this.columns.records){b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}else{if(this.columns){b.each(this.columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}})}}return e},_getcolumnindex:function(e){var d=-1;if(this.columns.records){b.each(this.columns.records,function(){d++;if(this.datafield==e){return false}})}return d},_getcolumnat:function(d){var e=this.columns.records[d];return e},_getprevvisiblecolumn:function(e){var d=this.that;while(e>0){e--;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},_getnextvisiblecolumn:function(e){var d=this.that;while(e<this.columns.records.length){e++;var f=d.getcolumnat(e);if(!f){return null}if(!f.hidden){return f}}return null},getcolumnat:function(d){if(!isNaN(d)){var e=this.columns.records[d];return e}return null},_getcolumn:function(d){var e=null;b.each(this._columns,function(){if(this.datafield==d||this.displayfield==d){e=this;return false}});return e},_setcolumnproperty:function(e,g,h){if(e==null||g==null||h==null){return null}g=g.toLowerCase();var f=this.getcolumn(e);if(f==null){return}var i=f[g];f[g]=h;var d=this._getcolumn(e);if(d!=null){d[g]=h}this._cellscache=new Array();switch(g){case"filteritems":if(this.filterable&&this.showfilterrow){this._updatelistfilters(true,true)}break;case"text":this.prerenderrequired=true;this._rendercolumnheaders();this._updatecellwidths();if(this._groupsheader()){if(this._initgroupsheader){this._initgroupsheader()}}this._renderrows(this.virtualsizeinfo);if(this.filterable&&this.showfilterrow){this.refreshfilterrow()}break;case"editable":case"resizable":case"draggable":if(g=="editable"){if(h!=i){if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,true)}if(f.columntype=="checkbox"){this.prerenderrequired=true;this.rendergridcontent(true,false);if(this.updating()){return false}}if(this.updating()){return false}this._renderrows(this.virtualsizeinfo)}}break;case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"classname":case"class":this.prerenderrequired=true;if(g=="pinned"){this._initializeColumns();this._preparecolumngroups()}this.rendergridcontent(true);if(this.updating()){return false}if(g=="hidden"){this._updatecolumnwidths();this._updatecellwidths()}this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}break;case"width":case"minwidth":case"maxwidth":if(this.updating()){return false}f._width=null;f._percentagewidth=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);break}},_getcolumnproperty:function(d,f){if(d==null||f==null){return null}f=f.toLowerCase();var e=this.getcolumn(d);return e[f]},setcolumnproperty:function(d,e,f){this._setcolumnproperty(d,e,f)},getcolumnproperty:function(d,e){return this._getcolumnproperty(d,e)},hidecolumn:function(d){this._setcolumnproperty(d,"hidden",true)},showcolumn:function(d){this._setcolumnproperty(d,"hidden",false)},iscolumnvisible:function(d){return !this._getcolumnproperty(d,"hidden")},pincolumn:function(d){this._setcolumnproperty(d,"pinned",true)},unpincolumn:function(d){this._setcolumnproperty(d,"pinned",false)},iscolumnpinned:function(d){return this._getcolumnproperty(d,"pinned")},_setrowdetails:function(j,d,n,h,e){if(n==0){n=100}if(j==null||n==null){return false}if(e!=null){this.details[j]={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:e}}else{var m=this.details[j]!=null?this.details[j].detailskey:null;var l={rowdetails:d,rowdetailsheight:n,rowdetailshidden:h,detailskey:m};var k=this.that;for(var g=0;g<this.detailboundrows.length;g++){if(this.detailboundrows[g]!=undefined){var f=this.detailboundrows[g];if(f.details.detailskey==m){f.details.rowdetailsheight=l.rowdetailsheight;f.details.rowdetailshidden=l.rowdetailshidden;f.details.rowdetails=l.rowdetails;break}}}this.details[j]=l}if(this._detailsUpdate){return}this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);return true},getrowdetails:function(d){if(d==null){return false}d=this.getrowvisibleindex(d);return this._getrowdetails(d)},_getrowdetails:function(d){if(d==null){return false}if(d<0){return false}if(this.details[d]){return this.details[d]}if(this.rowdetailstemplate){if(typeof this.rowdetailstemplate==="function"){var e=this.rowdetailstemplate(d);if(e.rowdetailshidden===undefined){e.rowdetailshidden=true}if(e.rowdetailsheight===undefined){e.rowdetailsheight=200}if(e.rowdetails===undefined){e.rowdetails="<div></div>"}return e}return this.rowdetailstemplate}},getrecordscount:function(){return this.dataview.totalrecords},showrowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=false;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,false)},hiderowdetails:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(!this.detailsVisibility){this.detailsVisibility=new Array()}this.detailsVisibility[d]=true;d=this.getrowvisibleindex(d);if(d<0){return false}var e=this._getrowdetails(d);return this._setrowdetailsvisibility(d,e,true)},_togglerowdetails:function(j){if(!this.detailsVisibility){this.detailsVisibility=new Array()}var f=j.visibleindex;var g=this._getrowdetails(f);if(g!=null){var e=this.vScrollInstance.value;var i=!g.rowdetailshidden;var h=this.getboundindex(j);if(h!=undefined){this.detailsVisibility[h]=i}var d=this._setrowdetailsvisibility(f,g,i);if(e!==0&&this.vScrollBar.css("visibility")!=="hidden"){if(e<=this.vScrollInstance.max){this.vScrollInstance.setPosition(e)}else{this.vScrollInstance.setPosition(this.vScrollInstance.max)}}return d}return false},_setrowdetailsvisibility:function(e,f,i){if(this.rowdetailstemplate){if(!this.details){this.details=new Array()}if(!this.details[e]){var g=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(e):this.rowdetailstemplate;if(undefined===g.rowdetailshidden){g.rowdetailshidden=true}if(undefined===g.rowdetailsheight){g.rowdetailsheight=200}if(undefined===g.rowdetails){g.rowdetails="<div></div>"}this.details[e]={rowdetailshidden:g.rowdetailshidden,rowdetailsheight:g.rowdetailsheight,rowdetails:g.rowdetails};var h=this.dataview.generatekey();this.details[e].detailskey=h;this.detailboundrows[e]={index:e,details:this.details[e]}}}if(f!=null){this.details[e].rowdetailshidden=i}else{return false}var d=this.details[e];if(i){this._raiseEvent(21,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}else{this._raiseEvent(20,{rowindex:e,details:d.rowdetails,height:d.rowdetailsheight})}return this._setrowdetails(e,d.rowdetails,d.rowdetailsheight,d.rowdetailshidden)},getrowvisibleindex:function(d){if(d==undefined||d==null||d<0){return false}if(this.virtualmode){var e=this.dataview.loadedrecords[d];if(e==undefined){return -1}return e.visibleindex}return this.getrowdisplayindex(d)},hiderow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:true};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,true)},showrow:function(d){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==undefined||d==null||d<0){return false}if(d==null){return false}this.hiddenboundrows[d]={index:d,hidden:false};d=this.getrowvisibleindex(d);return this._setrowvisibility(d,false)},isrowhiddenat:function(d){if(d==null){return null}d=this.getrowvisibleindex(d);if(this.rows.records[d]){return this.rows.records[d].hidden}},_setrowvisibility:function(d,f,e){if(d==null){return false}this.hiddens[d]=f;if(e==undefined||e){this.rendergridcontent(true);return true}return false},_loadrows:function(){if(!this._pageviews[this.dataview.pagenum]&&!this.pageable){return}var k=!this.pageable?this._pageviews[this.dataview.pagenum].top:0;if(!this.pageable&&this._pagescache[this.dataview.pagenum]!=undefined){return null}if(!this.virtualsizeinfo){return}var l=this.that;var s=new Array();var j=new Array();var u=l.groupable&&l.groups.length>0;var d=this.dataview.totalrecords;var m=this.virtualsizeinfo.virtualheight;var e=0;this.rows.beginupdate();var n=this.dataview.pagesize;if(this.pageable&&u){n=this.dataview.rows.length}for(var o=0;o<n;o++){if(o>=this.dataview.rows.length){break}var f=this.dataview.rows[o];var g=null;if(!l.rows.records[f.visibleindex]){g=new a(l,f)}else{g=l.rows.records[f.visibleindex];g.setdata(f)}g.hidden=this.hiddens[g.visibleindex];if(this.rowdetailstemplate){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate(g.boundindex):this.rowdetailstemplate;g.rowdetails=v.rowdetails;g.rowdetailsheight=v.rowdetailsheight;g.rowdetailshidden=v.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}var r=this.details[g.visibleindex];if(r){g.rowdetails=r.rowdetails;g.rowdetailsheight=r.rowdetailsheight;g.rowdetailshidden=r.rowdetailshidden;if(g.rowdetailshidden===undefined){g.rowdetailshidden=true}if(g.rowdetailsheight===undefined){g.rowdetailsheight=200}if(g.rowdetails===undefined){g.rowdetails="<div></div>"}}else{if(!this.rowdetailstemplate){g.rowdetails=null}}if(u&&this.pageable&&g.parentbounddata!=null){var p=s[g.parentbounddata.uniqueid];if(p!=null){var q=this._findgroupstate(p.uniqueid);if(this._setsubgroupsvisibility){this._setsubgroupsvisibility(this,g.parentbounddata,!q,false)}g.hidden=this.hiddens[g.visibleindex]}if(p!=null&&p!=undefined){g.parentrow=p;p.subrows[p.subrows.length++]=g}}if(g.hidden){continue}var h=f.visibleindex;if(!this.heights[h]){this.heights[h]=this.rowsheight}g.height=this.heights[h];if(this.rowdetails){if(g.rowdetails&&!g.rowdetailshidden){g.height+=g.rowdetailsheight}}s[g.uniqueid]=g;j[e++]=g;g.top=k;k+=g.height;var t=h;l.rows.replace(t,g)}if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews&&this._pageviews.length>0){this._pageviews[0].height=k}}this.rows.resumeupdate();if(j.length>0){this._pagescache[this.dataview.pagenum]=j}},_updateaddnewrowui:function(g){var m=this;var k=m.everpresentrowposition!="bottom"?m.addnewrowtop:m.addnewrowbottom;var o=m.columns.records.length;var f=0;for(var l=0;l<o;l++){var h=m.columns.records[l];if(h.addnewrowwidget){b(h.addnewrowwidget).detach()}}for(var l=0;l<o;l++){var h=m.columns.records[l];var e=h.width;if(e<h.minwidth){e=h.minwidth}if(e>h.maxwidth){e=h.maxwidth}var n=b(k[0].cells[l]);n.css("left",f);var i=true;if(n.width()==e){i=false}if(g){i=true}n.width(e);n[0].left=f;if(h.addnewrowwidget){n.html("");n.append(h.addnewrowwidget)}if(!(h.hidden&&h.hideable)&&!h.adaptivehidden){f+=e}else{n.css("display","none")}if(!i){continue}}var p=m.everpresentrowactions.split(" ");m.addnewrowbutton.show();m.addnewrowupdatebutton.show();m.addnewrowresetbutton.show();m.addnewrowdeletebutton.show();if(p.indexOf("add")==-1&&p.indexOf("addBottom")==-1){m.addnewrowbutton.hide()}if(p.indexOf("update")==-1){m.addnewrowupdatebutton.hide()}if(p.indexOf("reset")==-1){m.addnewrowresetbutton.hide()}if(p.indexOf("delete")==-1){m.addnewrowdeletebutton.hide()}var d=b(k.children()[0]);d.width(parseInt(f)+2);d.height(m.everpresentrowheight);d.css("max-height",m.everpresentrowheight+"px")},_removeaddnewrow:function(){var g=this;var d=g.columns.records.length;for(var f=0;f<d;f++){var e=g.columns.records[f];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}else{e.addnewrowwidget.remove()}e.addnewrowwidget=null}}if(g.addnewrowbutton){g.addnewrowbutton.remove()}if(g.addnewrowupdatebutton){g.addnewrowupdatebutton.remove()}if(g.addnewrowdeletebutton){g.addnewrowdeletebutton.remove()}if(g.addnewrowresetbutton){g.addnewrowresetbutton.remove()}if(g.addnewrowpopup){g.addnewrowpopup.remove();g.addnewrowpopup=null}if(g.addnewrowtop){g.addnewrowtop.remove();g.addnewrowtop=null}if(g.addnewrowbottom){g.addnewrowbottom.remove();g.addnewrowbottom=null}},_updateaddnewrow:function(){var o=this;var f=o.everpresentrowposition!="bottom"?o.addnewrowtop:o.addnewrowbottom;var t=b('<div style="position: relative;" id="row000'+o.element.id+'"></div>');var i=0;var z=o.columns.records.length;var n=o.toThemeProperty("jqx-grid-cell");n+=" "+o.toThemeProperty("jqx-grid-cell-add-new-row");n+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");var m=z+10;var h=new Array();var D=o.that;f[0].cells=h;t.height(o.everpresentrowheight);if(!o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-1)+"px")}else{if(o.showfilterrow&&o.everpresentrowposition!="bottom"){f.css("max-height",(o.everpresentrowheight-3)+"px")}}t.css("max-height",o.everpresentrowheight+"px");f.append(t);var C=b("<div style='border-width: 1px; border-style: solid; padding: 5px; z-index: 99; display: none; position: absolute;'><div>").appendTo(b(document.body));var d=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.addrowstring+"</button>");var q=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.udpaterowstring+"</button>");var k=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.deleterowstring+"</button>");var p=b("<button style='position: relative; float: left; margin: 2px; border-radius: 0px; padding: 4px 8px;'>"+o.gridlocalization.resetrowstring+"</button>");C.addClass(o.toThemeProperty("jqx-popup"));C.addClass(o.toThemeProperty("jqx-rc-all"));C.addClass(o.toThemeProperty("jqx-fill-state-normal"));C.addClass(o.toThemeProperty("jqx-shadow"));C.append(d);C.append(q);C.append(k);C.append(p);var g=o.everpresentrowactions.split(" ");if(g.indexOf("add")==-1&&g.indexOf("addBottom")==-1){d.hide()}if(g.indexOf("update")==-1){q.hide()}if(g.indexOf("reset")==-1){p.hide()}if(g.indexOf("delete")==-1){k.hide()}o.addnewrowpopup=C;o.addnewrowbutton=d;o.addnewrowupdatebutton=q;o.addnewrowdeletebutton=k;o.addnewrowresetbutton=p;d.jqxButton({template:"success",theme:o.theme});k.jqxButton({template:"danger",theme:o.theme});q.jqxButton({template:"primary",theme:o.theme});p.jqxButton({template:"warning",theme:o.theme});q.mousedown(function(E){var Q={};var J={};for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);J[F.datafield]=M;if(F.datafield!=F.displayfield){J[F.datafield]=M.value;J[F.displayfield]=M.label}}var L=false;for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);if(F.createeverpresentrowwidget&&F.validateeverpresentrowwidgetvalue){var K=F.validateeverpresentrowwidgetvalue(F.displayfield,M,J);var P=K;var I=o.gridlocalization.validationstring;if(P.message!=undefined){I=P.message}var O=typeof P=="boolean"?P:P.result;if(!O){M="invalid editor state";F.addnewrowwidget.attr("title",I);F.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{F.addnewrowwidget.attr("title","");F.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){E.preventDefault();E.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var F=o.columns.records[H];if(!F.geteverpresentrowwidgetvalue){continue}var M=F.geteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget);Q[F.datafield]=M;if(F.datafield!=F.displayfield){Q[F.datafield]=M.value;Q[F.displayfield]=M.label}if(F.reseteverpresentrowwidgetvalue){F.reseteverpresentrowwidgetvalue(F.displayfield,F.addnewrowwidget)}}if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var N=o.getselectedcells()[0].rowindex}else{var N=o.selectedrowindexes[0]}var G=o.getrowdata(N);if(G){o.updaterow(G.uid,Q)}}C.hide();o.focus()});k.mousedown(function(G){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var I=o.getselectedcells()[0].rowindex}else{var I=o.selectedrowindexes[0]}var H=o.getrowdata(I);if(H){o.deleterow(H.uid)}}for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}}C.hide();o.focus();o.updateeverpresentrow()});d.mousedown(function(F){var P={};var J={};for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);J[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.value;J[G.displayfield]=M.label}if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}}var L=false;for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);if(G.createeverpresentrowwidget&&G.validateeverpresentrowwidgetvalue){var K=G.validateeverpresentrowwidgetvalue(G.displayfield,M,J);var O=K;var I=o.gridlocalization.validationstring;if(O.message!=undefined){I=O.message}var N=typeof O=="boolean"?O:O.result;if(!N){M="invalid editor state";G.addnewrowwidget.attr("title",I);G.addnewrowwidget.addClass(o.toThemeProperty("jqx-input-invalid"))}else{G.addnewrowwidget.attr("title","");G.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}if(M==="invalid editor state"){F.preventDefault();F.stopPropagation();L=true;continue}if(L){continue}}if(L){C.hide();o.focus();return}for(var H=0;H<z;H++){var G=o.columns.records[H];if(!G.geteverpresentrowwidgetvalue){continue}var M=G.geteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget);P[G.datafield]=M;if(G.datafield!=G.displayfield){J[G.datafield]=M.label;J[G.displayfield]=M.value}if(G.reseteverpresentrowwidgetvalue){G.reseteverpresentrowwidgetvalue(G.displayfield,G.addnewrowwidget)}}var E=o.everpresentrowactions.indexOf("addBottom")>=0?"last":"first";o.addrow(null,P,E);C.hide();o.focus()});p.mousedown(function(G){var H={};for(var F=0;F<z;F++){var E=o.columns.records[F];if(E.reseteverpresentrowwidgetvalue){E.reseteverpresentrowwidgetvalue(E.displayfield,E.addnewrowwidget)}if(E.addnewrowwidget){E.addnewrowwidget.attr("title","");E.addnewrowwidget.removeClass(o.toThemeProperty("jqx-input-invalid"))}}C.hide();o.focus()});for(var w=0;w<z;w++){var x=o.columns.records[w];var u=x.width;if(u<x.minwidth){u=x.minwidth}if(u>x.maxwidth){u=x.maxwidth}var e=b('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+n+'"></div>');t.append(e);e.css("left",i);if(o.rtl){e.css("z-index",m++);e.css("border-left-width","1px")}else{e.css("z-index",m--)}if(u=="auto"){u=0}e[0].style.width=parseFloat(u)+"px";e[0].left=i;if(!(x.hidden&&x.hideable)&&!x.adaptivehidden){i+=u}else{e.css("display","none")}h[h.length]=e[0];if(x.checkboxcolumn){var B=o.toThemeProperty("jqx-grid-cell");B+=" "+o.toThemeProperty("jqx-grid-cell-filter-row");B+=" "+o.toThemeProperty("jqx-grid-cell-pinned");e.removeClass().addClass(B);continue}var s=true;if(!o.rtl){if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y>w){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==0){s=false}}else{if(o.groupable){var y=(o.showrowdetailscolumn&&o.rowdetails)?1:0;if(o.groups.length+y+w>z-1){s=false}}if(o.showrowdetailscolumn&&o.rowdetails&&w==z-1){s=false}}o.updateeverpresentrow=function(){var G=null;if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var H=o.getselectedcells()[0].rowindex}else{var H=o.selectedrowindexes[0]}G=o.getrowdata(H)}if(!G){return}for(var F=0;F<o.columns.records.length;F++){var j=o.columns.records[F];if(j.seteverpresentrowwidgetvalue){var E=o.getcelltext(H,j.displayfield);j.seteverpresentrowwidgetvalue(j.addnewrowwidget,E)}}};if(s){if(x.createeverpresentrowwidget){var v=function(){d.trigger("mousedown")};x.addnewrowwidget=x.createeverpresentrowwidget(x.datafield,e,C,v);if(x.initeverpresentrowwidget){x.initeverpresentrowwidget(x.datafield,e,C)}}else{o._measureElement("column");var r=(o.everpresentrowheight/2-o._columnheight/2);if(r<0){r=6}r+="px";if(x.datafield==="addButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.addrowstring+"</a></div>");e.append(l);l.mousedown(function(){d.trigger("mousedown")});continue}else{if(x.datafield==="resetButtonColumn"){var l=b('<div style="padding-bottom: 2px; text-align: center; margin-top: '+r+';"><a href="#">'+o.gridlocalization.resetrowstring+"</a></div>");e.append(l);l.mousedown(function(){p.trigger("mousedown")});continue}}var A=function(F,H,j){var E=b('<input style="box-sizing: border-box; padding-right: 4px; padding-left: 4px; border:none;" autocomplete="off" type="textarea"/>');E[0].id=b.jqx.utilities.createId();E.addClass(F.toThemeProperty("jqx-widget"));E.addClass(F.toThemeProperty("jqx-input"));E.addClass(F.toThemeProperty("jqx-widget-content"));E.addClass(F.toThemeProperty("jqx-enableselect"));E.addClass(F.toThemeProperty("jqx-grid-cell-add-new-row"));E.css("text-align",j.cellsalign);if(F.rtl){E.css("direction","rtl")}if(F.disabled){E.attr("disabled",true)}E.attr("disabled",false);E.attr("placeholder",F.gridlocalization.everpresentrowplaceholder+j.text);E.appendTo(H);E.css("width","100%");E.css("height",F.everpresentrowheight+"px");E.css("line-height",F.everpresentrowheight+"px");E.css("max-height",F.everpresentrowheight+"px");E.css("margin","0px");E.focus(function(){if(o.selectedcells.length>0||o.selectedrowindexes.length>0){if(o.selectionmode.indexOf("cell")>=0){var K=o.getselectedcells()[0].rowindex}else{var K=o.selectedrowindexes[0]}}E.addClass(F.toThemeProperty("jqx-fill-state-focus"));var I=F.columns.records.indexOf(j);if(F.everpresentrowactionsmode!=="columns"){C.css({display:"block",top:E.coord().top+F.everpresentrowheight-1,left:I>0?E.coord().left:E.coord().left-1})}var J=C.children().width();if(j.cellsalign==="right"){var J=d.width()+p.width();C.children().css("left",J-J+"px")}else{C.children().css("left","0px")}F.content[0].scrollLeft=0;F.content[0].scrollTop=0;setTimeout(function(){F.content[0].scrollLeft=0;F.content[0].scrollTop=0},50);return false});j.addnewrowwidget=E;if(!j.reseteverpresentrowwidgetvalue){j.reseteverpresentrowwidgetvalue=function(J,I){I.val("");I.focus();I.blur();I.removeClass(o.toThemeProperty("jqx-input-invalid"));I.attr("title","")}}if(!j.seteverpresentrowwidgetvalue){j.seteverpresentrowwidgetvalue=function(J,I){J.val(I)}}if(!j.geteverpresentrowwidgetvalue){var G=j;j.geteverpresentrowwidgetvalue=function(I,P,R){var U=P.val();if(R!==false&&G.validateeverpresentrowwidgetvalue){var Y={};var O={};for(var M=0;M<z;M++){var K=o.columns.records[M];if(!K.geteverpresentrowwidgetvalue){continue}var Q=K.geteverpresentrowwidgetvalue(K.displayfield,K.addnewrowwidget,false);O[K.datafield]=Q;if(K.datafield!=K.displayfield){O[K.datafield]=Q.value;O[K.displayfield]=Q.label}}var T=G.validateeverpresentrowwidgetvalue(G.displayfield,U,O);var X=T;var N=o.gridlocalization.validationstring;if(X.message!=undefined){N=X.message}var W=typeof X=="boolean"?X:X.result;if(!W){E.addClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title",N);return"invalid editor state"}else{E.removeClass(o.toThemeProperty("jqx-input-invalid"));E.attr("title","")}}var S="string";var J=o.source.datafields||((o.source._source)?o.source._source.datafields:null);if(J){var V="";b.each(J,function(){if(this.name==G.displayfield){if(this.type){V=this.type}return false}});if(V){S=V}}if(S==="number"){var L=parseFloat(U);if(isNaN(L)){return null}}if(S==="date"){return b.jqx.dataFormat.tryparsedate(U,o.gridlocalization)}if(S==="bool"||S==="boolean"){if(U==="true"){return true}if(U=="1"){return true}if(U==="false"){return false}if(U=="0"){return false}if(U===true){return U}if(U===false){return U}return false}return U}}E.keydown(function(I){if(I.keyCode===13){if(o.everpresentrowactions.indexOf("add")>=0){d.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("update")>=0){q.trigger("mousedown")}else{if(o.everpresentrowactions.indexOf("delete")>=0){k.trigger("mousedown")}}}}});E.blur(function(){E.removeClass(F.toThemeProperty("jqx-fill-state-focus"));C.css("display","none")});if(j.initeverpresentrowwidget){j.initeverpresentrowwidget(j.datafield,H,C)}};A(this,e,x)}}}if(b.jqx.browser.msie&&b.jqx.browser.version<8){t.css("z-index",m--)}t.width(parseFloat(i)+2);f.addClass(n);f.css("border-bottom-width","0px");if(o.showfilterrow){f.css("border-top-width","0px")}else{f.css("border-top-width","1px")}f.css("box-sizing","border-box");f.css("border-right-width","0px")},_gettableheight:function(){if(this.tableheight!=undefined){return this.tableheight}var e=this.host.height();if(this.columnsheader){var d=this.columnsheader.outerHeight();if(!this.showheader){d=0}}e-=d;if(this.hScrollBar[0].style.visibility=="visible"){e-=this.hScrollBar.outerHeight()}if(this.pageable){e-=this.pager.outerHeight()}if(this._groupsheader()){e-=this.groupsheader.outerHeight()}if(this.showtoolbar){e-=this.toolbarheight}if(this.showstatusbar){e-=this.statusbarheight}if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){e-=this.everpresentrowheight}if(e>0){this.tableheight=e;return e}return this.host.height()},_getpagesize:function(){if(this.pageable){return this.pagesize}if(this.virtualmode){var e=Math.round(this.host.height())+2*this.rowsheight;var d=Math.round(e/this.rowsheight);return d}if(this.autoheight||this.autorowheight){if(this.dataview.totalrows==0){return 1}return this.dataview.totalrows}if(this.dataview.totalrows<100&&this.dataview.totalrecords<100&&this.dataview.totalrows>0){return this.dataview.totalrows}return 100},_calculatevirtualheight:function(){var p=this.that;var e=Math.round(this.host.height())+2*this.rowsheight;var k=this._gettableheight();var r=Math.round(e/this.rowsheight);this.heights=new Array();this.hiddens=new Array();this.details=new Array();this.expandedgroups=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();var h=Math.max(this.dataview.totalrows,this.dataview.totalrecords);if(this.pageable){h=this.pagesize;if(this.pagesize>Math.max(this.dataview.totalrows,this.dataview.totalrecords)&&this.autoheight){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}else{if(!this.autoheight){if(this.dataview.totalrows<this.pagesize){h=Math.max(this.dataview.totalrows,this.dataview.totalrecords)}}}}var m=h*this.rowsheight;var n=0;var j=0;var l=0;var f=this._getpagesize();var d=f*this.rowsheight;var g=0;if(!this.pageable&&this.autoheight){r=h}if(h+f>0){while(g<=h+f){n+=d;if(g-f<h&&g>=h){var q=g-h;if(q>0){l-=d;this._pageviews[j-1]={top:l,height:d-q*this.rowsheight}}break}else{this._pageviews[j++]={top:l,height:d}}l=n;g+=f}}if(this.resizingGrid!=true){this.vScrollBar.jqxScrollBar({value:0})}if(this.hScrollBar.css("visibility")=="hidden"){var o=0;if(this.columns&&this.columns.records){for(var g=0;g<this.columns.records.length;g++){o+=!isNaN(this.columns.records[g].width)?this.columns.records[g].width:this.columns.records[g].minwidth}if(!isNaN(o)&&parseInt(o)>this.host.width()){k-=30}}}if(m>k&&!this.autoheight){this.vScrollBar.css("visibility","visible");if(this.scrollmode=="deferred"){this.vScrollBar.jqxScrollBar({max:m})}else{this.vScrollBar.jqxScrollBar({max:m-k})}}else{this.vScrollBar.css("visibility","hidden")}this.dataview.pagesize=f;this.dataview.updateview();return{visiblerecords:r,virtualheight:m}},_updatepageviews:function(){if(this.updating()){return}this._pagescache=new Array();this._pageviews=new Array();this.tableheight=null;var m=this.that;var h=Math.round(this.host.height())+2*this.rowsheight;var w=Math.round(h/this.rowsheight);var f=Math.max(this.dataview.totalrows,this.dataview.totalrecords);var n=f*this.rowsheight;var l=0;var q=0;var g=0;var p=0;var r=0;var o=this._getpagesize();if(!this.pageable){for(var t=0;t<f;t++){var d={index:t,height:this.heights[t],hidden:this.hiddens[t],details:this.details[t]};if(this.heights[t]==undefined){this.heights[t]=this.rowsheight;d.height=this.rowsheight}if(this.hiddens[t]==undefined){this.hiddens[t]=false;d.hidden=false}if(this.details[t]==undefined){this.details[t]=null}if(d.height!=m.rowsheight){n-=m.rowsheight;n+=d.height}if(d.hidden){n-=d.height}else{q+=d.height;var e=0;if(this.rowdetails){if(this.rowdetailstemplate){if(!d.details){var v=typeof this.rowdetailstemplate==="function"?this.rowdetailstemplate():this.rowdetailstemplate;if(v.rowdetailshidden===undefined){v.rowdetailshidden=true}if(v.rowdetailsheight===undefined){v.rowdetailsheight=200}if(v.rowdetails===undefined){v.rowdetails="<div></div>"}d.details=v}}if(d.details&&d.details.rowdetails&&!d.details.rowdetailshidden){e=d.details.rowdetailsheight;q+=e;n+=e}}l+=d.height+e}r++;if(r>=o||t==f-1){this._pageviews[g++]={top:p,height:q};q=0;p=l;r=0}}}else{if(this._updatepagedview){n=this._updatepagedview(f,n,0)}if(this.autoheight){this._arrange()}}var j=this._gettableheight();if(n>j){if(this.pageable&&this.gotopage){n=this._pageviews[0].height;if(n<0){n=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(n<=j||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(n-j>0){if(this.scrollmode!="deferred"){var s=n-j;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(s!=u){this.vScrollBar.jqxScrollBar({value:0})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{this.vScrollBar.jqxScrollBar({value:0,max:n})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.autoheight){w=Math.round(this.host.height()/this.rowsheight)}this.virtualsizeinfo={visiblerecords:w,virtualheight:n}},updatebounddata:function(f){if(f!="data"&&f!="sort"&&f!="filter"&&f!="cells"&&f!="pagechanged"&&f!="pagesizechanged"&&!this.virtualmode){this.virtualsizeinfo=null;if(this.columns&&this.columns.records){for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.destroywidget&&e.widget){if(e.destroywidget){e.destroywidget(e.widget)}}}}if(this.showfilterrow&&this.filterable&&this.filterrow){if(this.clearfilters){this.clearfilters(false)}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}this.filterrow.remove();this._filterrowcache=new Array();this.filterrow=null}else{if(this.filterable){if(this.clearfilters){this.clearfilters(false)}}}if(this.showeverpresentrow){this._removeaddnewrow()}this.detailsVisibility=new Array();this.groupsVisibility=new Array();if(this.groupable){this.dataview.groups=[];this.groups=[]}if(this.pageable){this.pagenum=0;this.dataview.pagenum=0}if(this.sortable){this.sortcolumn=null;this.sortdirection="";this.dataview.sortfielddirection="";this.dataview.clearsortdata()}}this.databind(this.source,f)},refreshdata:function(){this._refreshdataview();this.render()},_updatevscrollbarmax:function(){if(this._pageviews&&this._pageviews.length>0){var f=this._pageviews[0].height;if(this.virtualmode||!this.pageable){f=this.virtualsizeinfo.virtualheight}var e=this._gettableheight();if(f>e){if(this.pageable&&this.gotopage){f=this._pageviews[0].height;if(f<0){f=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(f<=e||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(f-e>0){var d=f-e;this.vScrollBar.jqxScrollBar({max:d})}else{this.vScrollBar.jqxScrollBar({value:0,max:f})}}else{this.vScrollBar.css("visibility","hidden");this.vScrollBar.jqxScrollBar({value:0})}}},_refreshdataview:function(){this.dataview.refresh()},refresh:function(d){if(d!=true){if(b.jqx.isHidden(this.host)){return}if(this.virtualsizeinfo!=null){this._cellscache=new Array();this._renderrows(this.virtualsizeinfo);this._updatesize()}}},render:function(){this._render(true,true,true,true)},invalidate:function(){if(this.virtualsizeinfo){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}},clear:function(){this.databind(null);this.render()},_preparecolumngroups:function(){var o=this.columnsheight;if(this.columngroups){this.columnshierarchy=new Array();if(this.columngroups.length){var n=this;for(var h=0;h<this.columngroups.length;h++){this.columngroups[h].parent=null;this.columngroups[h].groups=null}for(var h=0;h<this.columns.records.length;h++){this.columns.records[h].parent=null;this.columns.records[h].groups=null}var p=function(j){for(var u=0;u<n.columngroups.length;u++){var v=n.columngroups[u];if(v.name===j){return v}}return null};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];if(!q.groups){q.groups=null}if(q.parentgroup){var s=p(q.parentgroup);if(s){q.parent=s;if(!s.groups){s.groups=new Array()}if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];if(q.columngroup){var s=p(q.columngroup);if(s){if(!s.groups){s.groups=new Array()}q.parent=s;if(s.groups.indexOf(q)===-1){s.groups.push(q)}}}}var r=0;for(var h=0;h<this.columns.records.length;h++){var q=this.columns.records[h];var e=q;q.level=0;while(e.parent){e=e.parent;q.level++}var e=q;var d=q.level;r=Math.max(r,q.level);while(e.parent){e=e.parent;if(e){e.level=--d}}}var m=function(y){var x=new Array();if(y.columngroup){x.push(y)}if(y.groups){for(var w=0;w<y.groups.length;w++){if(y.groups[w].columngroup){x.push(y.groups[w])}else{if(y.groups[w].groups){var v=m(y.groups[w]);for(var u=0;u<v.length;u++){x.push(v[u])}}}}}return x};for(var h=0;h<this.columngroups.length;h++){var q=this.columngroups[h];var f=m(q);q.columns=f;var k=new Array();var t=0;for(var g=0;g<f.length;g++){k.push(this.columns.records.indexOf(f[g]));if(f[g].pinned){t++}}if(t!=0){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group cannot be pinned.")}k.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var l=1;l<k.length;l++){if(k[l]!=k[l-1]+1){throw new Error("jqxGrid: Column Groups initialization Error. Please, check the initialization of the jqxGrid's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columngroupslevel=1+r;o=this.columngroupslevel*this.columnsheight}return o},_render:function(k,j,l,e,f){if(this.dataview==null){return}if(this._loading){return}if(this._batchupdate){return}if(b.jqx.isHidden(this.host)){var g=this;if(g.___hiddenTimer){clearInterval(g.___hiddenTimer);g.___hiddenTimer=null}this.___hiddenTimer=setInterval(function(){if(!b.jqx.isHidden(g.host)){clearInterval(g.___hiddenTimer);g.render()}},300);return}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,true,false)}this.validationpopup=null;this._removeHandlers();this._addHandlers();this._initializeRows();this._requiresupdate=j!=undefined?j:true;this._newmax=null;if(l){if(!this._requiresupdate){if(e!=false){this._initmenu()}}if(this.columns==null){this.columns=new b.jqx.collection(this.element)}else{var i=this;if(this.columns&&this.columns.name==="observableArray"){this.columns.notifier=function(p){var n=function(){i.columns=i._columns;i.render()};switch(p.type){case"add":n();break;case"update":if(p.name==="index"){i.beginupdate();for(var o in p.newValue){i.setcolumnproperty(p.newValue.datafield,o,p.newValue[o])}i.endupdate()}else{var m=p.path.split(".");i.setcolumnproperty(i.columns[m[0]].datafield,p.name,p.newValue)}break;case"delete":n();break}}}if(this.columngroups&&this.columngroups.name==="observableArray"){this.columngroups.notifier=function(m){i.render()}}this._initializeColumns()}}this.tableheight=null;this._pagescache=new Array();this._pageviews=new Array();this.visiblerows=new Array();this.hittestinfo=new Array();if(this._requiresupdate){this._clearcaches();if(e==true){this._initmenu()}}this.virtualsizeinfo=null;this.prerenderrequired=true;if((this.groupable&&this.groups.length>0&&this.rowdetails)||(this.rowdetails)){if(this.gridcontent){this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();this.detailboundrows=new Array();this.details=new Array();b.jqx.utilities.html(this.gridcontent,"");this.gridcontent=null}}if(this.gridcontent){if(this.editable&&this._destroyeditors){this._destroyeditors()}}if(l){if(this.filterrow){this.filterrow.detach()}b.jqx.utilities.html(this.content,"");this.columnsheader=this.columnsheader||b('<div style="overflow: hidden;"></div>');this.columnsheader.remove();this.columnsheader.addClass(this.toTP("jqx-widget-header"));this.columnsheader.addClass(this.toTP("jqx-grid-header"))}else{if(this.gridcontent){b.jqx.utilities.html(this.gridcontent,"")}}if(!this.showheader){this.columnsheader.css("display","none")}else{if(this.columnsheader){this.columnsheader.css("display","block")}}this.gridcontent=this.gridcontent||b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');this.gridcontent.remove();var h=this.columnsheight;h=this._preparecolumngroups();if(this.showfilterrow&&this.filterable){this.columnsheader.height(h+this.filterrowheight);if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.filterrowheight+this.everpresentrowheight)}}else{if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){this.columnsheader.height(h+this.everpresentrowheight)}else{this.columnsheader.height(h)}}this.content.append(this.columnsheader);this.content.append(this.gridcontent);this._arrange();if(this._initgroupsheader){this._initgroupsheader()}this.selectionarea=this.selectionarea||b("<div style='z-index: 99; visibility: hidden; position: absolute;'></div>");this.selectionarea.addClass(this.toThemeProperty("jqx-grid-selectionarea"));this.selectionarea.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.content.append(this.selectionarea);this.tableheight=null;this.rendergridcontent(false,l);if(this.groups.length>0&&this.groupable){var d=this.vScrollBar[0].style.visibility;this.suspendgroupevents=true;if(this.collapseallgroups){if(!this.groupsexpandedbydefault){this.collapseallgroups(false);this._updatescrollbarsafterrowsprerender()}else{this.expandallgroups(false)}}if(this.vScrollBar[0].style.visibility!=d){this._updatecolumnwidths();this._updatecellwidths()}this.suspendgroupevents=false}if(this.pageable&&this.updatepagerdetails){this.updatepagerdetails();if(this.autoheight){this._updatepageviews()}if(this.autorowheight){if(!this.autoheight){this._updatepageviews()}this._renderrows(this.virtualsizeinfo)}}if(this.showaggregates&&this._updateaggregates){this._updateaggregates()}this._addoverlayelement();if(this.scrollmode=="deferred"){this._addscrollelement()}if(this.showfilterrow&&this.filterable&&this.filterrow&&(f==undefined||f==true)){this._updatelistfilters(!l)}if(this.rendered){this.rendered("full")}this.__isRendered=true},_addoverlayelement:function(){var d=b.jqx.utilities.getBrowser();if((d.browser=="msie"&&parseInt(d.version)<9)||this.isTouchDevice()){if(this._overlayElement){this._overlayElement.remove()}this._overlayElement=b("<div class='jqxgrid-overlay' style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._overlayElement.css("background","white");this._overlayElement.css("z-index",180);this._overlayElement.css("opacity",0.001);if(this.isTouchDevice()){if(this.vScrollBar.css("visibility")!=="hidden"||this.hScrollBar.css("visibility")!=="hidden"){var e=0;if(this.selectionmode=="checkbox"){e+=30}if(this.groupable||this.rowdetails){this._overlayElement.css("left",30*(this.groups.length+(this.rowdetails?1:0)))}var f=this._overlayElement.css("left");this._overlayElement.css("left",f+e)}else{if(this._overlayElement){this._overlayElement.remove()}}}else{this.content.prepend(this._overlayElement)}}this._updateTouchScrolling()},_addscrollelement:function(){if(this._scrollelement){this._scrollelement.remove()}if(this._scrollelementoverlay){this._scrollelementoverlay.remove()}this._scrollelementoverlay=b("<div style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>");this._scrollelementoverlay.css("background","black");this._scrollelementoverlay.css("z-index",1800);this._scrollelementoverlay.css("opacity",0.1);this._scrollelement=b("<span style='visibility: hidden; top: 50%; right: 10px; position: absolute;'></span>");this._scrollelement.css("z-index",1900);this._scrollelement.addClass(this.toThemeProperty("jqx-button"));this._scrollelement.addClass(this.toThemeProperty("jqx-fill-state-normal"));this._scrollelement.addClass(this.toThemeProperty("jqx-rc-all"));this._scrollelement.addClass(this.toThemeProperty("jqx-shadow"));this.content.prepend(this._scrollelement);this.content.prepend(this._scrollelementoverlay)},_postrender:function(f){if(f=="filter"||f=="sort"||f=="group"){if(this.rowdetails&&this.detailsVisibility&&this.detailsVisibility.length>0){this._detailsUpdate=true;for(var e=0;e<this.details.length;e++){if(this.details[e]){this.details[e].rowdetailshidden=true}}if(!this._loading){for(var e=0;e<this.detailsVisibility.length;e++){if(false===this.detailsVisibility[e]){this.showrowdetails(e)}else{if(true===this.detailsVisibility[e]){this.hiderowdetails(e)}}}}this._detailsUpdate=false;this.rendergridcontent(true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(this.groupable&&this.groups.length>0){if(f=="filter"||f=="sort"){for(var e=0;e<this.dataview.loadedgroups.length;e++){var h=this.dataview.loadedgroups[e];var d=0;var k;for(var g in this.groupsVisibility){if(g==h.group&&this.groupsVisibility[g]){k=true;this._setgroupstate(h,true,false);d++}}if(d>0){k=false;var j=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(j!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}}}else{if(f=="group"){this.groupsVisibility=new Array()}}}},rendergridcontent:function(e,g){if(this.updating()){return false}if(e==undefined||e==null){e=false}this._requiresupdate=e;var i=this.prerenderrequired;if(this.prerenderrequired){this._arrange()}var h=this.that;var g=g;if(g==null||g==undefined){g=true}this.tableheight=null;h.virtualsizeinfo=h.virtualsizeinfo||h._calculatevirtualheight();if(h.pageable&&!h.autoheight){if(h.dataview.totalrows<h.pagesize){h._requiresupdate=true}}if(g){h._rendercolumnheaders()}else{if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}}h._renderrows(h.virtualsizeinfo);if(this.gridcontent){if(this.gridcontent[0].scrollTop!=0){this.gridcontent[0].scrollTop=0}if(this.gridcontent[0].scrollLeft!=0){this.gridcontent[0].scrollLeft=0}}if(i){var f=this.tableheight;this._arrange();if(f!=this.tableheight&&this.autoheight){h._renderrows(h.virtualsizeinfo)}}if(this.rtl){this._renderhorizontalscroll()}if(this.autosavestate){if(this.initializedcall!=null){if(this.savestate){this.savestate()}}}if(this.adaptive&&this.element.offsetWidth<=this.adaptivewidth){var d=0;var j=h.element.offsetWidth-2;b.each(this.columns.records,function(k,l){d+=this.width;if(this.columntype==="adaptive"){return true}if(d>=j){this.adaptivehidden=true}});this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_updatecolumnwidths:function(){var p=this.host.width();var f=p;var n="";if(this.columns==undefined||this.columns.records==undefined){return}var u=this.that;var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;var m=this.adaptive&&this.element.offsetWidth<=this.adaptivewidth;var e=0;if(m){var t=1;b.each(this.columns.records,function(q,v){if(this.adaptivehidden){t++}});var l=this.vScrollBar[0].offsetWidth>0?this.vScrollBar[0].offsetWidth+4:0;if(this.vScrollBar.css("visibility")=="hidden"){l=0}var k=this.columns.records.length-t;e=(this.element.offsetWidth-32-l)/k}b.each(this.columns.records,function(v,x){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var x=0;var y=u.vScrollBar[0].style.visibility=="hidden"?0:u.scrollbarsize+5;if(u.scrollbarautoshow||u.scrollbarsize==0){y=0}var q=f;x=parseFloat(this.width)*q/100;y+=h;if(this._percentagewidth!=undefined){x=parseFloat(this._percentagewidth)*(q-y)/100}if(x<this.minwidth&&this.minwidth!="auto"){x=this.minwidth}if(x>this.maxwidth&&this.maxwidth!="auto"){x=this.maxwidth}p-=x}else{if(this.width!="auto"&&!this._width){p-=this.width}else{n+=this.text}}}});var g=this._gettableheight();if(!this.autoheight){if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>g){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var s=this.dataview.loadedrootgroups.length*this.rowsheight;if(this.pageable){for(var d=0;d<this.dataview.rows.length;d++){if(this.dataview.rows[d].group&&this.dataview.rows[d].level===0){s+=this.rowsheight}}}if(s>g){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}else{if(this.vScrollBar.css("visibility")=="visible"){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}else{p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}else{if(this.vScrollBar.css("visibility")!="hidden"&&this.scrollbarsize>0){p-=this.scrollbarsize+5;f-=this.scrollbarsize+5}}}}var h=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;f-=h;if(!this.columnsheader){return}var j=this.columnsheader.find("#columntable"+this.element.id);if(j.length==0){return}var i=0;var o=this;var r=0;b.each(this.columns.records,function(w,A){var y=b(this.element);if(!this.hidden&&!this.adaptivehidden&&this.element.style.display==="none"){this.element.style.display="block"}if(this.adaptivehidden){this.element.style.display="none"}var v=false;var z=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){z=parseFloat(this._percentagewidth)*f/100}else{z=parseFloat(this.width)*f/100}v=true}if(e>0&&this.columntype!=="adaptive"){y.width(e);this.adaptivewidth=e}else{if(this.width!="auto"&&!this._width&&!v){if(parseInt(y[0].style.width)!=this.width){y.width(this.width)}}else{if(v){if(z<this.minwidth&&this.minwidth!="auto"){z=this.minwidth;this.width=z}if(z>this.maxwidth&&this.maxwidth!="auto"){z=this.maxwidth;this.width=z}if(parseInt(y[0].style.width)!=z){y.width(z);this.width=z}}else{var x=Math.floor(p*(this.text.length/n.length));r+=x;if(p-r<3&&p!=r&&p-r>0.01){if(p-r===1){x++}else{x+=2}}else{if(w==u.columns.records.length-1){if(r<p){x+=(p-r)}}}if(isNaN(x)){x=this.minwidth}if(isNaN(x)){x=this.minwidth}if(x==Infinity){x=0}if(x<0){var q=b("<span>"+this.text+"</span>");b(document.body).append(q);x=10+q.width();q.remove()}if(x<this.minwidth){x=this.minwidth}if(x>this.maxwidth){x=this.maxwidth}this._width="auto";this.width=x;y.width(this.width)}}}if(parseInt(y[0].style.left)!=i){y.css("left",i)}if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(e>0&&this.columntype!=="adaptive"){i+=e}else{i+=this.width}}this._requirewidthupdate=true});this.columnsheader.width(2+i);j.width(this.columnsheader.width());if(i==0){this.columnsheader[0].style.visibility="hidden"}else{this.columnsheader[0].style.visibility="inherit"}this._resizecolumngroups();if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}if(this.autowidth){this._arrange()}},_rendercolumnheaders:function(){var x=this.that;if(!this.prerenderrequired){if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this.showfilterrow&&this.filterrow){this.filterrow.width(this.columnsheader.width());this._updatefilterrowui()}if(this.showeverpresentrow){if(this.everpresentrowposition!=="bottom"){this.addnewrowtop.width(this.columnsheader.width())}else{this.addnewrowbottom.width(this.columnsheader.width())}this._updateaddnewrowui()}return}this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var o=b('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');o[0].cells=new Array();var B=0;var h=0;var u="";var G=this.host.width();var s=G;var g=new Array();var A=new Array();var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;b.each(this.columns.records,function(j,k){if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){G-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){G-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;var p=x.vScrollBar[0].style.visibility=="hidden"?0:x.scrollbarsize+5;p+=t;k=parseFloat(this.width)*(s-p)/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}G-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}G-=this.width}}}}else{u+=this.text}}if(this.pinned||this.grouped||this.checkboxcolumn){if(x._haspinned){this.pinned=true}g[g.length]=this}else{A[A.length]=this}});if(!this.rtl){for(var D=0;D<g.length;D++){this.columns.replace(D,g[D])}for(var C=0;C<A.length;C++){this.columns.replace(g.length+C,A[C])}}else{var y=0;g.reverse();for(var D=this.columns.records.length-1;D>=this.columns.records.length-g.length;D--){this.columns.replace(D,g[y++])}for(var C=0;C<A.length;C++){this.columns.replace(C,A[C])}}var n=this.headerZIndex;var r=x.groupable?x.groups.length:0;if(this.rowdetails&&this.showrowdetailscolumn){r++}var l=x.columnsheader.height();if(this.showfilterrow){if(!this.columngroups){l=this.columnsheight}else{l-=this.filterrowheight}}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){l=this.columnsheight}else{l-=this.everpresentrowheight}}var v=this._gettableheight();if(this.virtualsizeinfo&&this.virtualsizeinfo.virtualheight>v&&!this.scrollbarautoshow){if(this.groupable&&this.groups.length>0){if(this.dataview&&this.dataview.loadedrootgroups&&!this.groupsexpandedbydefault){var E=0;if(!this.pageable){var E=this.dataview.loadedrootgroups.length*this.rowsheight}else{if(this.pageable){for(var w=0;w<this.dataview.rows.length;w++){if(this.dataview.rows[w].group&&this.dataview.rows[w].level===0){E+=this.rowsheight}}}}if(E>v){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}else{if(!this.autoheight&&this.scrollbarsize>0){G-=this.scrollbarsize+5;s-=this.scrollbarsize+5}}}s-=t;var d=function(j,k){var i=x.columngroupslevel*x.columnsheight;i=i-(k.level*x.columnsheight);return i};var f=document.createDocumentFragment();var z=0;b.each(this.columns.records,function(X,V){this.height=x.columnsheight;if(x.columngroups){if(x.columngroups.length){this.height=d(this.datafield,this);l=this.height}}var ab=x.toTP("jqx-grid-column-header")+" "+x.toTP("jqx-widget-header");if(x.rtl){ab+=" "+x.toTP("jqx-grid-column-header-rtl")}var Z=!x.rtl?150+n-1:150+n+1;var T=!x.rtl?n--:n++;var H=b('<div role="columnheader" style="z-index: '+T+';position: absolute; height: 100%;" class="'+ab+'"><div style="height: 100%; width: 100%;"></div></div>');if(x.columngroups){H[0].style.height=l+"px";H[0].style.bottom="0px";if(this.pinned){H[0].style.zIndex=Z}}this.uielement=H;if(this.classname!=""&&this.classname){H.addClass(this.classname)}var P=this.width;var Q=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){P=parseFloat(this._percentagewidth)*s/100}else{P=parseFloat(this.width)*s/100}Q=true}if(this.width!="auto"&&!this._width&&!Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth;this.width=P}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth;this.width=P}H[0].style.width=parseInt(P)+"px"}else{if(Q){if(P<this.minwidth&&this.minwidth!="auto"){P=this.minwidth}if(P>this.maxwidth&&this.maxwidth!="auto"){P=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}H.width(P);this.width=P}else{if(!this.hidden&&!this.adaptivehidden){var U=Math.floor(G*(this.text.length/u.length));z+=U;if(G-z<3&&G!=z&&G-z>0.01){if(G-z===1){U++}else{U+=2}}else{if(X==x.columns.records.length-1){if(z<G){U+=(G-z)}}}if(isNaN(U)){U=this.minwidth}if(U<0){var S=b("<span>"+this.text+"</span>");b(document.body).append(S);U=10+S.width();S.remove()}if(U<this.minwidth){U=this.minwidth}if(U>this.maxwidth){U=this.maxwidth}this._width="auto";this.width=U;P=this.width;H.width(this.width)}}}if((this.hidden&&this.hideable)||this.adaptivehidden){H.css("display","none")}var p=b(H.children()[0]);var Y=x.rtl?x.toTP("jqx-grid-column-menubutton")+" "+x.toTP("jqx-grid-column-menubutton-rtl"):x.toTP("jqx-grid-column-menubutton");Y+=" "+x.toTP("jqx-icon-arrow-down");var K=b('<div style="height: '+l+'px; display: none; left: 100%; top: 0%; position: absolute;"><div class="'+Y+'" style="width: 100%; height:100%;"></div></div>');if(!x.enableanimations){K.css("margin-left",-16)}if(x.rtl){K.css("left","0px")}this.columnsmenu=K[0];o[0].cells[X]=H[0];K[0].style.width=parseInt(x.columnsmenuwidth)+"px";var J=x.columnsmenu;var q=false;var W=false;var R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);if(x.rtl){R=(x.groupable&&r>0&&B<r)||(x.rowdetails&&B<r);R&=X>x.columns.records.length-1-r}if(R){B++;J&=false;this.sortable=false;this.editable=false;W=true}else{var M=this.renderer!=null?this.renderer(this.text,this.align,l):x._rendercolumnheader(this.text,this.align,l,x);if(M==null){M=x._rendercolumnheader(this.text,this.align,l,x)}if(this.renderer!=null){M=b(M)}J&=true;q=true}if(x.WinJS){MSApp.execUnsafeLocalFunction(function(){p.append(b(M))})}else{if(this.renderer){p.append(b(M))}else{if(M){p[0].innerHTML=M}}}if(M!=null){var O=b('<div class="iconscontainer" style="height: '+l+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortascbutton")+" "+x.toTP("jqx-icon-arrow-up")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; display: none; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sortdescbutton")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div><div class="sorticon '+x.toTP("jqx-widget-header")+'" style="height: '+l+'px; float: right; visibility: hidden; width: 16px;"><div class="'+x.toTP("jqx-grid-column-sorticon")+" "+x.toTP("jqx-icon-arrow-down")+'" style="width: 100%; height:100%;"></div></div></div>');K.addClass(x.toTP("jqx-widget-header"));p.append(O);var ad=O.children();this.sorticon=ad[3];this.sortasc=ad[1];this.sortdesc=ad[2];this.filtericon=ad[0];this.iconscontainer=O;if(x.rtl){O.css("margin-left","0px");O.css("left","0px");b(this.sorticon).css("float","left");b(this.sortasc).css("float","left");b(this.filtericon).css("float","left");b(this.sortdesc).css("float","left")}if(!x.autoshowfiltericon&&this.filterable){b(this.filtericon).css("display","block")}}this.element=H[0];if(J){x._handlecolumnsmenu(x,p,H,K,this);if(!this.menu){K.hide()}}f.appendChild(H[0]);if(x.groupable&&q){H[0].id=x.dataview.generatekey();if(x._handlecolumnstogroupsdragdrop){x._handlecolumnstogroupsdragdrop(this,H)}else{throw new Error("jqxGrid: Missing reference to jqxgrid.grouping.js.")}}if(x.columnsreorder&&this.draggable&&x._handlecolumnsdragreorder){x._handlecolumnsdragreorder(this,H)}var aa=this;aa._applyStyle();x.addHandler(H,"mouseenter",function(i){aa.hovered=true;aa._applyStyle()});x.addHandler(H,"mouseleave",function(i){aa.hovered=false;aa._applyStyle()});var ac=function(aj,ae,ak){if(aj.selectable){var am=x.getrows();if(aj.selected===undefined){aj.selected=false}if(!ae.shiftKey||x._clickedcolumn===undefined){x._clickedcolumn=aj}if(ae.shiftKey&&x._clickedcolumn&&ak===undefined){var al=x.columns.records.indexOf(x._clickedcolumn);var ai=x.columns.records.indexOf(aj);var af=Math.min(al,ai);var ag=Math.max(al,ai);x.clearselection();for(var ah=af;ah<=ag;ah++){ac(x.columns.records[ah],ae,true)}x._renderrows(this.virtualsizeinfo);return}if(ak){aj.selected=true}else{if(!ae.ctrlKey){x.clearselection()}aj.selected=!aj.selected}for(var ah=0;ah<am.length;ah++){x._applycellselection(am[ah].boundindex,aj.displayfield,aj.selected,false)}if(aj.selected){aj.element.setAttribute("selected","")}else{aj.element.removeAttribute("selected")}aj._applyStyle();if(ak===undefined){x._renderrows(this.virtualsizeinfo)}}};x.addHandler(H,"click",function(i){if(aa.checkboxcolumn){return true}if(x.sorttogglestates>0&&x._togglesort){if(!x._loading){if(x.suspendClick){return true}x._togglesort(aa)}}ac(aa,i);i.preventDefault();x._raiseEvent(7,{column:aa.getcolumnproperties(),datafield:aa.datafield,originalEvent:i})});if(aa.resizable&&x.columnsresize&&!W){var I=false;var j="mousemove";if(x.isTouchDevice()&&x.touchmode!==true){I=true;j=b.jqx.mobile.getTouchEventName("touchstart")}x.addHandler(H,j,function(ae){var i=parseInt(ae.pageX);var ag=5;var aj=parseInt(H.coord().left);if(x.hasTransform){aj=b.jqx.utilities.getOffset(H).left}if(x.resizing){return true}if(x._handlecolumnsresize){if(I){var af=x.getTouches(ae);var ai=af[0];i=ai.pageX;ag=40;if(i>=aj+aa.width-ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize")}else{H.css("cursor","");x.resizablecolumn=null}return true}var ah=aa.width;if(x.rtl){ah=0}if(i>=aj+ah-ag){if(i<=aj+ah+ag){x.resizablecolumn={columnelement:H,column:aa};H.css("cursor","col-resize");return false}else{H.css("cursor","");x.resizablecolumn=null}}else{H.css("cursor","");if(i<aj+ah-ag){if(!aa._animating&&!aa._menuvisible){H.mouseenter()}}x.resizablecolumn=null}}})}H.css("left",h);if(!(this.hidden&&this.hideable)&&!this.adaptivehidden){h+=P}if(aa.rendered){var N=aa.rendered(b(p[0].firstChild),aa.align,l);if(N&&O!=null){O.hide()}}if(aa.checkboxcolumn){if(O){O.hide()}if(!x.host.jqxCheckBox){throw new Error("jqxGrid: Missing reference to jqxcheckbox.js")}p.html('<div style="cursor: pointer; margin-left: 3px; top: 50%; margin-top: -9px; position: relative;"></div>');var k=p.find("div:first");k.jqxCheckBox({_canFocus:false,disabled:x.disabled,disabledContainer:true,theme:x.theme,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0});k.addClass(x.toThemeProperty("jqx-checkbox"));aa.checkboxelement=k;var L=k.data().jqxCheckBox.instance;x._checkboxcolumn=aa;L.updated=function(ae,i,af){x._checkboxcolumnupdating=true;if(x.disabled){k.jqxCheckBox({disabled:x.disabled});i=af}if(i){x.selectallrows()}else{x.unselectallrows()}x._checkboxcolumnupdating=false}}});if(h>0){this.columnsheader.width(2+h)}else{this.columnsheader.width(h)}o[0].appendChild(f);this.columnsrow=o;x.columnsheader.append(o);if(this.showfilterrow&&this._updatefilterrow){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.filterrow){var F=b("<div style='position: relative !important; '></div>");F[0].id="filterrow."+this.element.id;F.height(this.filterrowheight);this.filterrow=F}this.filterrow.width(2+h);this.columnsheader.append(this.filterrow);this._updatefilterrow()}if(this.showeverpresentrow&&this.everpresentrowposition!=="bottom"){if(!this.columngroups){o.height(this.columnsheight)}else{o.height(this.columngroupslevel*this.columnsheight)}if(!this.addnewrowtop){var m=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");m[0].id="addnewrowtop."+this.element.id;m.height(this.everpresentrowheight);this.addnewrowtop=m}this.addnewrowtop.width(2+h);if(this.everpresentrowposition=="topAboveFilterRow"){if(this.filterrow){this.addnewrowtop.insertBefore(this.filterrow)}else{this.columnsheader.append(this.addnewrowtop)}}else{this.columnsheader.append(this.addnewrowtop)}this._updateaddnewrow()}else{if(this.showeverpresentrow&&this.everpresentrowposition==="bottom"){if(!this.addnewrowbottom){var e=b("<div style='position: relative !important; z-index:"+this.headerZIndex+";'></div>");e[0].id="addnewrowbottom."+this.element.id;e.height(this.everpresentrowheight);this.addnewrowbottom=e}this.addnewrowbottom.width(2+h);this.addnewrow.append(this.addnewrowbottom);this._updateaddnewrow()}}if(h==0){o[0].style.visibility="hidden"}else{o[0].style.visibility="inherit"}o.width(h);if(this._handlecolumnsdragdrop){this._handlecolumnsdragdrop()}if(this._handlecolumnsreorder){this._handlecolumnsreorder()}if(this._rendersortcolumn){this._rendersortcolumn()}if(this._renderfiltercolumn){this._renderfiltercolumn()}if(this._handlecolumnsresize){this._handlecolumnsresize()}if(this.columngroups){this._rendercolumngroups()}if(this._updatecheckboxselection){this._updatecheckboxselection()}},_rendercolumngroups:function(){if(!this.columngroups){return}var p=0;for(var m=0;m<this.columns.records.length;m++){if(this.columns.records[m].pinned){p++}}var u=this.headerZIndex-p+this.columns.records.length;var v=this.that;var h=v.toTP("jqx-grid-column-header")+" "+v.toTP("jqx-grid-columngroup-header")+" "+v.toTP("jqx-widget-header");if(v.rtl){h+=" "+v.toTP("jqx-grid-columngroup-header-rtl")}var f=this.columnsheader.find("#columntable"+this.element.id);f.find("jqx-grid-columngroup-header").remove();for(var k=0;k<this.columngroupslevel-1;k++){for(var m=0;m<this.columngroups.length;m++){var r=this.columngroups[m];var d=r.level;if(d!==k){continue}var q=d*this.columnsheight;var e=99999;if(r.groups){var t=function(y){var x=0;for(var w=0;w<y.groups.length;w++){var i=y.groups[w];if(!i.groups){if(!i.hidden){x+=i.width;e=Math.min(parseFloat(i.element.style.left),e)}}else{x+=t(i)}}return x};r.width=t(r);r.left=e;var s=this.columnsheight;var n=u--;var g=b('<div role="columnheader" style="z-index: '+n+';position: absolute;" class="'+h+'"></div>');var l=b(this._rendercolumnheader(r.text,r.align,this.columnsheight,this));if(r.renderer){var l=b("<div style='height: 100%; width: 100%;'></div>");var o=r.renderer(r.text,r.align,s);l.html(o)}g.append(l);g[0].style.left=e+"px";if(e===0){g[0].style.borderLeftColor="transparent"}if(!this.showcolumnheaderlines){g[0].style.borderRightColor="transparent";g[0].style.borderBottomColor="transparent";g[0].style.boxShadow="none"}g[0].style.top=q+"px";g[0].style.height=s+"px";g[0].style.width=-1+r.width+"px";f.append(g);r.element=g;if(r.rendered){r.rendered(l,r.align,s)}}}}},_resizecolumngroups:function(){if(!this.columngroups){return}for(var e=0;e<this.columngroups.length;e++){var k=this.columngroups[e];var l=k.level;var j=l*this.columnsheight;var h=99999;if(k.groups){var g=function(o){var n=0;for(var m=0;m<o.groups.length;m++){var i=o.groups[m];if(!i.groups){if(!i.hidden){n+=i.width;h=Math.min(parseFloat(i.element.style.left),h)}}else{n+=g(i)}}return n};k.width=g(k);k.left=h;var d=this.columnsheight;var f=k.element;f[0].style.left=h+"px";f[0].style.top=j+"px";f[0].style.height=d+"px";f[0].style.width=-1+k.width+"px"}}},_handlecolumnsmenu:function(p,g,h,k,m){p.dragmousedown=null;k[0].id=p.dataview.generatekey();g.append(k);h[0].columnsmenu=k[0];m.element=h[0];var l=this.columnsmenuwidth+1;var o=function(){if(!m.menu){return false}if(!p.resizing){if(m._menuvisible&&p._hasOpenedMenu){return false}m._animating=true;if(p.menuitemsarray&&p.menuitemsarray.length>0){if(!p.enableanimations){k.css("display","block");var q=!p.rtl?-48:16;m.iconscontainer.css("margin-left",q+"px");m._animating=false;m._menuvisible=true}else{k.css("display","block");k.stop();m.iconscontainer.stop();if(!p.rtl){k.css("margin-left","0px");k.animate({"margin-left":-l},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}else{k.css("margin-left",-l);k.animate({"margin-left":"0px"},"fast",function(){k.css("display","block");m._animating=false;m._menuvisible=true})}var q=!p.rtl?-(32+l):l;m.iconscontainer.animate({"margin-left":q},"fast")}}}};var f="mouseenter";if(p.isTouchDevice()){f="touchstart"}p.addHandler(h,f,function(r){var q=parseInt(r.pageX);var t=p.columnsresize&&m.resizable?3:0;var v=parseInt(h.coord().left);if(p.hasTransform){v=b.jqx.utilities.getOffset(h).left}var u=m.width;if(p.rtl){u=0}if(t!=0){if(q>=v+u-t){if(q<=v+u+t){return false}}}var s=p.vScrollInstance.isScrolling();if(m.menu&&p.autoshowcolumnsmenubutton&&!s&&!p.disabled){o()}});if(!p.autoshowcolumnsmenubutton){k.css("display","block");var e=!p.rtl?-48:16;m.iconscontainer.css("margin-left",e+"px");if(!p.rtl){k.css({"margin-left":-l})}else{k.css({"margin-left":"0px"})}}p.addHandler(h,"mouseleave",function(q){if(p.menuitemsarray&&p.menuitemsarray.length>0&&m.menu){var s=b.data(document.body,"contextmenu"+p.element.id);if(s!=undefined&&k[0].id==s.columnsmenu.id){return}if(p.autoshowcolumnsmenubutton){if(!p.enableanimations){k.css("display","none");var r=!p.rtl?-32:0;m.iconscontainer.css("margin-left",r+"px");m._menuvisible=false}else{if(!p.rtl){k.css("margin-left",-l)}else{k.css("margin-left","0px")}k.stop();m.iconscontainer.stop();if(!p.rtl){k.animate({"margin-left":0},"fast",function(){k.css("display","none");m._menuvisible=false})}else{k.animate({"margin-left":-l},"fast",function(){k.css("display","none");m._menuvisible=false})}var r=!p.rtl?-32:0;m.iconscontainer.animate({"margin-left":r},"fast")}}}});var j=true;var d="";var i=b(m.filtericon);p.addHandler(k,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});p.addHandler(i,"mousedown",function(q){if(!p.gridmenu){p._initmenu()}j=!b.data(p.gridmenu[0],"contextMenuOpened"+p.gridmenu[0].id);d=b.data(document.body,"contextmenu"+p.element.id);if(d!=null){d=d.column.datafield}});var n=function(){if(!m.menu){return false}if(!p.gridmenu){p._initmenu()}if(p.disabled){return false}for(var H=0;H<p.columns.records.length;H++){if(p.columns.records[H].datafield!=m.datafield){p.columns.records[H]._menuvisible=false}}var w=k.coord(true);var B=k.height();if(!j){j=true;if(d==m.datafield){p._closemenu();return false}}var r=p.host.coord(true);if(p.hasTransform){r=b.jqx.utilities.getOffset(p.host);w=b.jqx.utilities.getOffset(k)}if(r.left+p.host.width()>parseInt(w.left)+p.gridmenu.width()){p.gridmenu.jqxMenu("open",w.left,w.top+B)}else{p.gridmenu.jqxMenu("open",k.width()+w.left-p.gridmenu.width(),w.top+B)}if(p.gridmenu.width()<100){p._arrangemenu()}if(p.adaptive&&p.element.offsetWidth<p.adaptivewidth){p.gridmenu.jqxMenu("close");p.gridmenu.jqxMenu("open",r.left,w.top+B);var D=0;for(var H=0;H<p.columns.records.length;H++){var v=p.columns.records[H];if(v.hidden||v.adaptivehidden||v.columntype==="adaptive"){continue}D+=v.adaptivewidth}p.gridmenu.width(D);p.gridmenu.height(p.content.height())}if(!p.filterable||(p.filterable&&p.showfilterrow)){setTimeout(function(){p.gridmenu.focus();var I=p.gridmenu.find(".jqx-item");for(var J=0;J<I.length;J++){if(I[J].active){I[J].active=false}}var K=I[0];if(I[0].className.indexOf("disabled")>=0){K=I[1]}b(I).removeClass("jqx-fill-state-focus");b(K).addClass("jqx-fill-state-focus");K.active=true},225)}p._hasOpenedMenu=true;var z=p._getmenuitembyindex(0);var x=p._getmenuitembyindex(1);var q=p._getmenuitembyindex(2);var y=p._getmenuitembyindex(3);var t=p._getmenuitembyindex(4);var G=p._getmenuitembyindex(5);if(z!=null&&x!=null&&q!=null){var u=m.sortable&&p.sortable;p.gridmenu.jqxMenu("disable",z.id,!u);p.gridmenu.jqxMenu("disable",x.id,!u);p.gridmenu.jqxMenu("disable",q.id,!u);if(m.displayfield!=undefined){if(p.sortcolumn==m.displayfield){var E=p.getsortinformation();if(u){if(E.sortdirection.ascending){p.gridmenu.jqxMenu("disable",z.id,true)}else{p.gridmenu.jqxMenu("disable",x.id,true)}}}else{p.gridmenu.jqxMenu("disable",q.id,true)}}}if(y!=null&&t!=null){if(!p.groupable||!m.groupable){p.gridmenu.jqxMenu("disable",t.id,true);p.gridmenu.jqxMenu("disable",y.id,true)}else{if(p.groups&&p.groups.indexOf(m.datafield)!=-1){p.gridmenu.jqxMenu("disable",y.id,true);p.gridmenu.jqxMenu("disable",t.id,false)}else{p.gridmenu.jqxMenu("disable",y.id,false);p.gridmenu.jqxMenu("disable",t.id,true)}}}if(G!=null){p.menuOwner=m;p._updatefilterpanel(p,G,m);var s=0;if(p.sortable&&p._togglesort&&p.showsortmenuitems){s+=3}if(p.groupable&&p.addgroup&&p.showgroupmenuitems){s+=2}var C=s*33+6;var F=p._measureMenuElement();var C=s*F+14;if(b.jqx.browser.msie&&b.jqx.browser.version<8){C+=20;b(G).height(194)}if(p.isTouchDevice()){C+=10}if(p.filterable&&p.showfiltermenuitems){if(!m.filterable){p.gridmenu.height(C);b(G).css("display","none")}else{p.gridmenu.height(C+194);b(G).css("display","block")}}}if(p.columnmenuopening){var A=p.columnmenuopening(p.gridmenu,m.displayfield,p.gridmenu.height());if(false===A){setTimeout(function(){p._closemenu()})}}b.data(document.body,"contextmenu"+p.element.id,{column:m,columnsmenu:k[0]})};p.addHandler(i,"click",function(q){if(!m.menu){return false}if(!p.showfilterrow){if(k[0].style.display!="block"){h.trigger("mouseenter")}setTimeout(function(){if(k[0].style.display!="block"){h.trigger("mouseenter")}n()},200)}return false});p.addHandler(k,"click",function(q){if(!m.menu){return false}n();return false});if(p.isTouchDevice()){p.addHandler(k,b.jqx.mobile.getTouchEventName("touchstart"),function(q){if(!m.menu){return false}if(!p._hasOpenedMenu){n()}else{p._closemenu()}return false})}},_removecolumnhandlers:function(h){var e=this.that;var f=b(h.element);if(f.length>0){e.removeHandler(f,"mouseenter");e.removeHandler(f,"mouseleave");var g=b(h.filtericon);e.removeHandler(g,"mousedown");e.removeHandler(g,"click");e.removeHandler(f,"click");e.removeHandler(f,"mousemove");if(e.columnsreorder){e.removeHandler(f,"mousedown.drag");e.removeHandler(f,"mousemove.drag")}e.removeHandler(f,"dragstart");if(f[0].columnsmenu){var d=b(f[0].columnsmenu);e.removeHandler(d,"click");e.removeHandler(d,"mousedown");e.removeHandler(d,b.jqx.mobile.getTouchEventName("touchstart"))}}},_rendercolumnheader:function(h,i,e,d){var g="8px";if(d.columngroups){g=(e/2-this._columnheight/2);if(g<0){g=6}g+="px"}else{if(this.columnsheight!=32){g=(this.columnsheight/2-this._columnheight/2);if(g<0){g=6}g+="px"}}if(this.enableellipsis){if(i=="left"){return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 4px; margin-right: 2px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}else{return'<div style="padding-bottom: 2px; overflow: hidden; text-overflow: ellipsis; text-align: '+i+"; margin-left: 2px; margin-right: 4px; line-height: "+e+'px;"><span style="text-overflow: ellipsis; cursor: default;">'+h+"</span></div>"}}if(i=="center"||i=="middle"){return'<div style="padding-bottom: 2px; text-align: center; line-height: '+e+'px;"><a href="#">'+h+"</a></div>"}var f='<a style="line-height: '+e+"px; float: "+i+';" href="#">'+h+"</a>";return f},_renderrows:function(m,p,t){var o=this.that;if((this.pageable||this.groupable)&&(this.autoheight||this.autorowheight)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length<this.dataview.rows.length){o.prerenderrequired=true}}if(!this.pageable&&(this.autoheight||this.autorowheight)&&(this.virtualmode||this.unboundmode)){var f=this.source.totalrecords;if(!isNaN(f)){if(this.table!=null&&this.table[0].rows!=null&&this.table[0].rows.length!=f){o.prerenderrequired=true}}}if((this.autoheight||this.autorowheight)&&!o.prerenderrequired){if(this.table&&this.table[0].rows){if(this.table[0].rows.length<this.dataview.records.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}if(this.table[0].rows.length<this.dataview.cachedrecords.length){if(this.pageable&&this.table[0].rows.length<this.dataview.pagesize){o.prerenderrequired=true}else{if(!this.pageable){o.prerenderrequired=true}}}}}o._prerenderrows(m);if(o._requiresupdate){o._requiresupdate=false;o._updatepageviews()}var l=function(){if(o._loading){return}if(o.WinJS){MSApp.execUnsafeLocalFunction(function(){o._rendervisualrows()})}else{o._rendervisualrows()}if(o.virtualmode&&o.showaggregates&&o._updateaggregates){o.refreshaggregates()}};var k=b.jqx.browser.msie&&b.jqx.browser.version<10;if(this.virtualmode){var e=function(){if(o.rendergridrows){var y=o._startboundindex;if(y==undefined){y=0}var w=y+1+o.dataview.pagesize;if(y!=null&&w!=null){var x=o.source._source?true:false;var z=!x?o.source.recordstartindex:o.source._source.recordstartindex;if(z!=y||p==true){if(!x){o.source.recordstartindex=y;o.source.recordendindex=w}else{if(w>=o.source._source.totalrecords){w=o.source._source.totalrecords;y=w-o.dataview.pagesize-1;if(y<0){y=0}if(o.source._source.recordendindex==w&&o.source._source.recordstartindex==y){return}}o.source._source.recordstartindex=y;o.source._source.recordendindex=w}o.updatebounddata("cells")}}}};if(this.loadondemand){l();e();this.loadondemand=false}var d=this._browser==undefined?this._isIE10():this._browser;if(this.editable&&this.editcell&&!this.vScrollInstance.isScrolling()&&!this.hScrollInstance.isScrolling()){l()}else{if(this.autoheight){l()}else{if(d||k||(navigator&&navigator.userAgent.indexOf("Safari")!=-1)){if(this._scrolltimer!=null){clearTimeout(this._scrolltimer)}this._scrolltimer=setTimeout(function(){l()},5)}else{l()}}}}else{if(this.scrollmode=="deferred"&&(this.hScrollInstance.isScrolling()||this.vScrollInstance.isScrolling())){if(this._scrolltimer!=null){clearInterval(this._scrolltimer)}var g=this._getfirstvisualrow();if(g!=null){var r=function(B){if(g==null){return""}var A="<table>";var y=o.deferreddatafields;if(y==null){if(o.columns.records.length>0){y=new Array();y.push(o.columns.records[0].displayfield)}}for(var x=0;x<y.length;x++){var C=y[x];var z=o._getcolumnbydatafield(C);if(z){var w=o._getcellvalue(z,g);if(z.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(w)){w=b.jqx.dataFormat.formatdate(w,z.cellsformat,o.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(w)){w=b.jqx.dataFormat.formatnumber(w,z.cellsformat,o.gridlocalization)}}}}A+="<tr><td>"+w+"</td></tr>"}}A+="</table>";return A};var i=this.scrollfeedback?this.scrollfeedback(g.bounddata):r(g.bounddata);if(i!=this._scrollelementcontent){this._scrollelement[0].innerHTML=i;this._scrollelementcontent=i}}this._scrollelement.css("visibility","visible");this._scrollelementoverlay.css("visibility","visible");this._scrollelement.css("margin-top",-this._scrollelement.height()/2);this._scrolltimer=setInterval(function(){if(!o.hScrollInstance.isScrolling()&&!o.vScrollInstance.isScrolling()){l();o._scrollelement.css("visibility","hidden");o._scrollelementoverlay.css("visibility","hidden");clearInterval(o._scrolltimer);if(g){o.ensurerowvisible(g.visibleindex)}}},100);return}if(navigator&&navigator.userAgent.indexOf("Chrome")==-1&&navigator.userAgent.indexOf("Safari")!=-1){this._updatedelay=1}if(this.touchDevice!=undefined&&this.touchDevice==true){this._updatedelay=5}var d=this._browser==undefined?this._isIE10():this._browser;if(d||k){this._updatedelay=5}if((d)&&this.hScrollInstance.isScrolling()){l();return}if(b.jqx.browser.mozilla&&this._updatedelay==0&&(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling())){this._updatedelay=0}var h=this.isTouchDevice();if(h){this._updatedelay=0}if(this.updatedelay!=null){this._updatedelay=this.updatedelay}if(this._updatedelay==0){l()}else{var j=this._jqxgridrendertimer;if(j!=null){clearTimeout(j)}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){if(this._updatedelay){j=setTimeout(function(){l()},this._updatedelay)}else{j=null;l()}this._jqxgridrendertimer=j}else{this._jqxgridrendertimer=j;l()}}}if(o.autorowheight&&!o.autoheight){if(this._pageviews.length>0){var n=this._gettableheight();var q=this._pageviews[0].height;if(q>n){if(this.pageable&&this.gotopage){q=this._pageviews[0].height;if(q<0){q=this._pageviews[0].height}}if(this.vScrollBar.css("visibility")!="visible"){this.vScrollBar.css("visibility","visible")}if(q<=n||this.autoheight){this.vScrollBar.css("visibility","hidden")}if(q-n>0){if(this.scrollmode!="deferred"){var s=q-n;var u=this.vScrollInstance.max;this.vScrollBar.jqxScrollBar({max:s});if(Math.round(s)!=Math.round(u)){var v=this.vScrollBar.jqxScrollBar("value");if(v>s){this.vScrollBar.jqxScrollBar({value:0})}}}}else{this.vScrollBar.jqxScrollBar({value:0,max:q})}}else{if(!this._loading){this.vScrollBar.css("visibility","hidden")}this.vScrollBar.jqxScrollBar({value:0})}this._arrange();if(this.virtualsizeinfo){this.virtualsizeinfo.virtualheight=q}}}},scrolling:function(){var e=this.vScrollInstance.isScrolling();var d=this.hScrollInstance.isScrolling();return{vertical:e,horizontal:d}},_renderhorizontalscroll:function(){var t=this.hScrollInstance;var u=t.value;if(this.hScrollBar.css("visibility")==="hidden"){t.value=0;u=0}var k=parseInt(u);if(this.table==null){return}var q=this.table[0].rows.length;var p=this.columnsrow;var r=this.groupable&&this.groups.length>0?this.groups.length:0;var l=this.columns.records.length-r;var f=this.columns.records;var n=this.dataview.rows.length==0;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){k=t.max-k}}if(n&&!this._haspinned){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px"}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned||this._haspinned==undefined){for(var w=0;w<q;w++){var s=this.table[0].rows[w];for(var v=0;v<r+l;v++){var d=s.cells[v];if(d!=undefined){var g=f[v];if(g.pinned){if(k==0&&d.style.marginLeft==""){continue}var h=null;var x=null;var o=null;if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){o=this.addnewrowtop[0].cells[v]}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){x=this.filterrow[0].cells[v]}}if(this.showaggregates){if(this.statusbar[0].cells){h=this.statusbar[0].cells[v]}}if(!this.rtl){d.style.marginLeft=k+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=k+"px";if(h){h.style.marginLeft=k+"px"}if(x){x.style.marginLeft=k+"px"}if(o){o.style.marginLeft=k+"px"}}}else{d.style.marginLeft=-parseInt(u)+"px";if(w==0){var e=p[0].cells[v];e.style.marginLeft=-parseInt(u)+"px";if(h){h.style.marginLeft=-parseInt(u)+"px"}if(x){x.style.marginLeft=-parseInt(u)+"px"}if(o){o.style.marginLeft=-parseInt(u)+"px"}}}}}}}this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}else{if(this._haspinned==false){this.table[0].style.marginLeft=-k+"px";p[0].style.marginLeft=-k+"px"}}}if(this.showaggregates){if(this.statusbar[0].cells){var m=0;if(this.rtl){if(this.vScrollBar.css("visibility")!="hidden"){if(this.hScrollBar.css("visibility")!="hidden"){m=2+parseInt(this.hScrollBar.css("left"))}}}this.statusbar[0].style.marginLeft=-k+m+"px"}}if(this.showfilterrow&&this.filterrow){if(this.filterrow[0].cells){this.filterrow[0].style.marginLeft=-k+"px"}}if(this.showeverpresentrow&&this.addnewrowtop){if(this.addnewrowtop[0].cells){this.addnewrowtop[0].style.marginLeft=-k+"px"}}},_updaterowdetailsvisibility:function(){if(this.rowdetails){for(var d=0;d<this._rowdetailselementscache.length;d++){b(this._rowdetailselementscache[d]).css("display","none")}}},_getvisualcolumnsindexes:function(e,n,i,m,d,l){if(this.rowdetails||this.rtl||this.editcell||(this.width&&this.width.toString().indexOf("%")>=0)||this.exporting){return{start:0,end:i+m}}var f=0;var k=-1;var g=i+m;var o=false;if(this.autorowheight){return{start:0,end:i+m}}if(!d){for(var h=0;h<i+m;h++){var p=h;if(!o){if(this.columns.records[h].pinned&&l){o=true}}if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>n+e){g=h;break}}}g++;if(g>i+m){g=i+m}if(k==-1||o){k=0}return{start:k,end:g}},_getvirtualcolumnsindexes:function(e,m,i,l,d){if(this.rtl||this.editcell||this.exporting){return{start:0,end:i+l}}var f=0;var k=-1;var g=i+l;if(this.autorowheight){return{start:0,end:i+l}}if(!d){for(var h=0;h<i+l;h++){var n=h;if(!this.columns.records[h].hidden&&!this.columns.records[h].adaptivehidden){f+=this.columns.records[h].width}if(f>=e&&k==-1){k=h}if(f>m+e){g=h;break}}}g++;if(g>i+l){g=i+l}if(k==-1){k=0}return{start:k,end:g}},_getfirstvisualrow:function(){var e=this.vScrollInstance;var g=e.value;var f=parseInt(g);if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility!="visible"){f=0}if(!this.pageable){var d=this._findvisiblerow(f,this._pageviews);if(d==-1){return null}if(d!=this.dataview.pagenum){this.dataview.pagenum=d;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var h=this._findvisiblerow(f,this._pagescache[this.dataview.pagenum]);var i=this._pagescache[this.dataview.pagenum];if(i&&i[0]){return i[h]}},_rendervisualrows:function(){if(!this.virtualsizeinfo){return}var Y=this.vScrollInstance;var p=this.hScrollInstance;var j=Y.value;var C=p.value;var o=parseInt(j);var l=parseInt(C);var x=this._gettableheight();var J=this._hostwidth!=undefined?this._hostwidth:this.host.width();if(this.hScrollBar[0].style.visibility=="visible"){x+=29}if(this.scrollmode=="deferred"&&this._newmax!=0){if(o>this._newmax&&this._newmax!=null){o=this._newmax}}var al=Y.isScrolling()||p.isScrolling()||this._keydown;var D=this.groupable&&this.groups.length>0;this.visiblerows=new Array();this.hittestinfo=new Array();if(this.editcell&&this.editrow==undefined){this._hidecelleditor(false)}if(this.editrow!=undefined){this._hideeditors()}if(this.virtualmode&&!this.pageable){this._pagescache=new Array()}if(this._pagescache.length==0){this.dataview.updateview();this._loadrows()}if(this.vScrollBar[0].style.visibility=="hidden"){o=0}if(!this.pageable){var L=this._findvisiblerow(o,this._pageviews);if(L==-1){this._clearvisualrows();this._renderemptyrow();this._updaterowdetailsvisibility();return}if(L!=this.dataview.pagenum){this.dataview.pagenum=L;this.dataview.updateview();this._loadrows()}else{if(!this._pagescache[this.dataview.pagenum]){this._loadrows()}}}var an=this.groupable&&this.groups.length>0?this.groups.length:0;if(!this.columns.records){return}var r=this.columns.records.length-an;var ad=this._findvisiblerow(o,this._pagescache[this.dataview.pagenum]);var M=this._pagescache[this.dataview.pagenum];var S=ad;if(S<0){S=0}var ag=0;var ac=0;var Q=0;var e=0;var U=this.virtualsizeinfo.visiblerecords;var P=this.groupable?this.groups.length:0;var B=this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");if(this.rtl){B+=" "+this.toTP("jqx-grid-cell-rtl")}if((this.autoheight||this.autorowheight)&&this.pageable){if(!this.groupable||(this.groupable&&this.groups.length===0)){U=this.dataview.pagesize}}if(D){B=" "+this.toTP("jqx-grid-group-cell")}if(this.isTouchDevice()){B+=" "+this.toTP("jqx-touch")}if(this.autorowheight){B+=" jqx-grid-cell-wrap"}var O=this.rowsheight;var G=S;var am=this._rendercell;var u=true;var q=this._getvisualcolumnsindexes(l,J,an,r,D,true);var d=q.start;var ab=q.end;var t=this._getvirtualcolumnsindexes(l,J,an,r,D);var I=t.start;var h=t.end;var af=b.jqx.browser.msie&&b.jqx.browser.version<9;if((this.autoheight||this.pageable)&&this.autorowheight){if(this._pageviews[0]){this._oldpageviewheight=this._pageviews[0].height}}if(this.autorowheight){S=0}if(S>=0){this._updaterowdetailsvisibility();this._startboundindex=M!=null?M[S].bounddata.boundindex:0;this._startvisibleindex=M!=null?M[S].bounddata.visibleindex:0;var A=this.table[0].rows;if(this.columns.records.length>10&&this.enablecolumnsvirtualization){var H=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};for(var ah=0;ah<A.length;ah++){var k=A[ah];for(var V=0;V<I;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=h;V<this.columns.records.length;V++){var aj=V;if(this.columns.records[aj].pinned){continue}if(this.columns.records[aj].datafield==null){continue}var ai=k.cells[aj];if(H(ai)){ai.parentNode.removeChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=false;if(H(R)){this.columnsrow[0].removeChild(R)}if(this.filterrow){if(H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].cells[aj].parentNode.removeChild(this.filterrow[0].cells[aj])}}}for(var V=I;V<h;V++){var aj=V;var ai=k.cells[aj];if(!H(ai)){k.appendChild(ai)}var R=this.columns.records[aj].element;this.columns.records[aj]._rendered=true;if(R.selectable){ai.removeAttribute("selected");if(R.selected){ai.setAttribute("selected","")}}if(!H(R)){this.columnsrow[0].appendChild(R)}if(this.filterrow&&!H(this.filterrow[0].cells[aj])&&this.columns.records[aj].filterable){this.filterrow[0].firstChild.appendChild(this.filterrow[0].cells[aj])}}}}for(var n=0;n<U&&ac<U;n++){var ae=M!=undefined?M[S+n]:null;if(this.virtualmode&&n>=this.source.totalrecords){ae=null}if(ae==null){S=-n;if(this._pagescache[this.dataview.pagenum+1]){M=this._pagescache[this.dataview.pagenum+1];this.dataview.pagenum++}else{var s=this._pageviews.length;do{if(this.dataview.pagenum<this._pageviews.length-1){this.dataview.pagenum++;M=undefined;if(this._pageviews[this.dataview.pagenum].height>0){this.dataview.updateview();this._loadrows();M=this._pagescache[this.dataview.pagenum]}}else{M=undefined;break}}while(M==undefined&&this.dataview.pagenum<s)}if(M!=undefined){ae=M[S+n]}}if(ae!=null){if(ae.hidden){continue}this._endboundindex=this._startboundindex+n;this._endvisibleindex=this._startvisibleindex+n;if(n==0){var m=Math.abs(o-ae.top);this.table[0].style.top=-m+"px";e=-m}var k=this.table[0].rows[ac];if(!k){continue}if(parseInt(k.style.height)!=ae.height){k.style.height=parseInt(ae.height)+"px"}Q+=ae.height;var X=this.rowdetails&&ae.rowdetails;var w=!ae.rowdetailshidden;if(X&&w){k.style.height=parseInt(ae.height-ae.rowdetailsheight)+"px";U++}var K=this._isrowselected(u,ae);for(var V=d;V<ab;V++){var aj=V;this._rendervisualcell(am,B,K,X,w,D,P,k,ae,aj,ac,al)}if(ae.group!=undefined&&this._rendergroup){this._rendergroup(P,k,ae,an,r,ac,J)}if(this.autorowheight&&(this.autoheight||this.pageable)){var O=this.rowsheight;for(var V=d;V<ab;V++){if(this.editable&&this.editcell&&this.editcell.column==this.columns.records[V].datafield&&this.editcell.row==this.getboundindex(ae)){if(this.editcell.editor){O=Math.max(O,this.editcell.editor.height());continue}}if(k.cells[V].firstChild){O=Math.max(O,8+parseInt(k.cells[V].firstChild.offsetHeight))}}k.style.height=parseInt(O)+"px";this.heights[this._startboundindex+n]=O;if(X&&w){O+=ae.rowdetailsheight}ae.height=O}this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:false};if(X&&w){ac++;var k=this.table[0].rows[ac];this._renderrowdetails(B,k,ae,an,r,ac);this.visiblerows[this.visiblerows.length]=ae;this.hittestinfo[this.hittestinfo.length]={row:ae,visualrow:k,details:true}}if(!this.autorowheight){if(Q+e>=x){break}}}else{var aa=true;this._clearvisualrow(l,D,ac,an,r);if(Q+ag+e<=x){ag+=O}}ac++}this._horizontalvalue=l;if(ag>0){if(this.vScrollBar[0].style.visibility=="visible"){var ak=parseInt(this.table.css("top"));var F=this._pageviews[this._pageviews.length-1];var v=Y.max;var E=F.top+F.height-x;if(this.hScrollBar.css("visibility")=="visible"){E+=this.scrollbarsize+20}if(v!=E&&!this.autorowheight){if(E>=0){if(this.scrollmode!="deferred"){Y.max=E;Y.setPosition(Y.max)}else{if(this._newmax!=E){this._newmax=E;this._rendervisualrows()}}}}}}}if((this.autoheight||this.pageable)&&this.autorowheight){this._pagescache=new Array();var W=0;var g=0;for(var ah=0;ah<this.visiblerows.length;ah++){var z=this.visiblerows[ah];z.top=W;W+=z.height;g+=z.height;var X=this.rowdetails&&z.rowdetails;var w=!z.rowdetailshidden;var k=this.table[0].rows[ah];if(X&&w){ah++}for(var V=d;V<ab;V++){var Z=this.columns.records[V];if(!Z.hidden&&!Z.adaptivehidden){if(!Z.cellsrenderer){var N=k.cells[V];var f=0;if(N.firstChild){var f=(z.height-parseInt(N.firstChild.offsetHeight)-8)/2;if(X&&w){var f=(z.height-z.rowdetailsheight-b(N.firstChild).height()-8)/2}}else{var f=(z.height-parseInt(b(N).height())-8)/2}if(f>=0){f=parseInt(f)+4;if(N.firstChild){if(N.firstChild.className.indexOf("jqx-grid-groups-row")==-1){if(Z.columntype!="checkbox"&&Z.columntype!="button"){if(this.editable&&this.editcell&&this.editcell.column==Z.datafield&&this.editcell.row==this.getboundindex(z)){continue}N.firstChild.style.marginTop=f+"px"}}}}}}}}if(this._pageviews[0]){this._pageviews[0].height=g}this._arrange()}this._renderemptyrow();if(this.toCompile&&this.toCompile.length>0){var T=this;b.each(T.toCompile,function(y,ao){if(this.compiled){return true}var i=this.cell;if(!i){return true}if(b.jqx.angularCompile){b.jqx.angularCompile(i,"<div>"+this.value+"</div>")}this.compiled=true})}},_hideemptyrow:function(){if(!this.showemptyrow){return}if(!this.table){return}if(!this.table[0].rows){return}var f=this.table[0].rows[0];if(!f){return}var g=false;for(var e=0;e<f.cells.length;e++){var d=b(f.cells[e]);if(d.css("display")!="none"&&!g){if(d.width()==this.host.width()||d.text()==this.gridlocalization.emptydatastring){d[0].checkbox=null;d[0].button=null;g=true;d[0].innerHTML=""}}}},_renderemptyrow:function(){if(this._loading){return}if(this.dataview.records.length==0&&this.showemptyrow){var l=false;var e=this.toTP("jqx-grid-cell");if(this.table&&this.table.length>0&&this.table[0].rows&&this.table[0].rows.length>0){var k=this.table[0].rows[0];this.table[0].style.top="0px";for(var f=0;f<k.cells.length;f++){var d=b(k.cells[f]);if(d.css("display")!="none"&&!l){d[0].checkbox=null;d[0].button=null;d[0].className=e;l=true;d[0].innerHTML="";var g=b("<span style='white-space: nowrap; float: left; margin-left: 50%; position: relative;'></span>");g.text(this.gridlocalization.emptydatastring);d.append(g);var j=0;if(!this.oldhscroll){j=parseInt(this.table[0].style.marginLeft);if(this.rtl){d.css("z-index",999);d.css("overflow","visible")}}g.css("left",-j-(g.width()/2));g.css("top",this._gettableheight()/2-g.height()/2);if(b.jqx.browser.msie&&b.jqx.browser.version<8){g.css("margin-left","0px");g.css("left",this.host.width()/2-g.width()/2)}var h=Math.abs(parseInt(this.table[0].style.top));if(isNaN(h)){h=0}b(k).height(this._gettableheight()+h);d.css("margin-left","0px");d.width(this.host.width());if(this.table.width()<this.host.width()){this.table.width(this.host.width())}}d.addClass(this.toThemeProperty("jqx-grid-empty-cell"))}}}},_clearvisualrows:function(){var e=this.virtualsizeinfo.visiblerecords;var f=this.hScrollInstance;var d=f.value;var g=parseInt(d);var i=this.groupable&&this.groups.length>0;if(!this.columns.records){return}for(var h=0;h<e;h++){this._clearvisualrow(g,i,h,0,this.columns.records.length)}},_iscellselected:function(j,i,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groups.length>0&&this.pageable&&this.groupable){var d=this.getrowboundindexbyid(i.bounddata.uid);if(d!=-1){for(var h in this.selectedcells){if(h==d+"_"+g){f=true}}return f}return false}if(j&&i.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&i.bounddata.dataindex!=undefined){for(var h in this.selectedcells){if(h==e+i.bounddata.dataindex+"_"+g){f=true;break}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex+"_"+g){f=true;break}}}}else{for(var h in this.selectedcells){if(h==e+i.bounddata.boundindex==this.selectedrowindex){f=true;break}}}}}return f},_isrowselected:function(h,g){var f=false;var e=0;if(this.virtualmode&&this.pageable&&this.groupable){if(this.groups.length>0){e=this.dataview.pagesize*this.dataview.pagenum}}if(this.groupable&&this.groups.length>0&&this.pageable){var d=this.getrowboundindexbyid(g.bounddata.uid);if(d==undefined||d==-1){return false}if(this.selectedrowindexes.indexOf(d)!=-1){f=true}if(!f){f=d==this.selectedrowindex&&this.selectedrowindex!=-1}return f}if(h&&g.bounddata!=null){if(this.selectionmode!="singlerow"){if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(this.dataview.filters.length>0){if(!this.virtualmode&&g.bounddata.dataindex!=undefined){if(this.selectedrowindexes.indexOf(e+g.bounddata.dataindex)!=-1){f=true}}else{if(this.selectedrowindexes.indexOf(e+g.bounddata.boundindex)!=-1){f=true}}}else{if(e+g.bounddata.boundindex==this.selectedrowindex){f=true}}}}return f},_rendervisualcell:function(D,j,s,l,x,B,k,t,d,i,w,q){var f=null;var g=this.columns.records[i];if(g.hidden||g.adaptivehidden){var e=t.cells[i];e.innerHTML="";return}var o=this._getcellvalue(g,d);var e=t.cells[i];var A=j;if(this.selectionmode.indexOf("cell")!=-1){if(this.dataview.filters.length>0){if(this.selectedcells[d.bounddata.dataindex+"_"+g.datafield]){s=true}else{s=false}}else{if(this.selectedcells[d.boundindex+"_"+g.datafield]){s=true}else{s=false}}if(this.editcell){if(this.editcell.row===d.boundindex&&this.editcell.column===g.datafield){if(g.columntype!=="checkbox"){s=false}}}if(this.virtualmode||(this.groupable&&this.groups.length>0&&this.pageable)){s=this._iscellselected(true,d,g.datafield)}}if(g.cellclassname!=""&&g.cellclassname){if(typeof g.cellclassname=="string"){A+=" "+g.cellclassname}else{var p=g.cellclassname(this.getboundindex(d),g.datafield,o,d.bounddata);if(p){A+=" "+p}}}var r=this.showsortcolumnbackground&&this.sortcolumn&&g.displayfield==this.sortcolumn;if(this.sortmode==="many"&&this.showsortcolumnbackground){var h=this.getsortcolumns();for(var v=0;v<h.length;v++){if(g.displayfield===h[v].dataField){r=true}}}if(r){A+=" "+this.toTP("jqx-grid-cell-sort")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter")}if(d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}if((g.pinned&&this.showpinnedcolumnbackground)||g.grouped){if(B){if(!d.bounddata.totalsrow){A+=" "+this.toTP("jqx-grid-cell-pinned")}else{}}else{A+=" "+this.toTP("jqx-grid-cell-pinned")}}if(this.altrows&&d.group==undefined){var C=d.visibleindex;if(C>=this.altstart){if((this.altstart+C)%(1+this.altstep)==0){if(!r){A+=" "+this.toTP("jqx-grid-cell-alt")}else{A+=" "+this.toTP("jqx-grid-cell-sort-alt")}if(g.filter&&this.showfiltercolumnbackground){A+=" "+this.toTP("jqx-grid-cell-filter-alt")}if(g.pinned&&this.showpinnedcolumnbackground){A+=" "+this.toTP("jqx-grid-cell-pinned-alt")}}}}if(i<=k){if(B||this.rowdetails||(this.pageable&&this.virtualmode)){var y=b(e);var n=this.columns.records[i].width;if(e.style.width!=parseInt(n)+"px"){y.width(n)}}}else{if(B||this.rowdetails){if(this._hiddencolumns){var y=b(e);var n=this.columns.records[i].width;if(parseInt(e.style.width)!=n){y.width(n)}}}}var z=true;if(this.rowdetails&&l){if(x&&!B){A+=" "+this.toTP("jqx-grid-details-cell")}else{if(B){A+=" "+this.toTP("jqx-grid-group-details-cell")}}if(this.showrowdetailscolumn){if(!this.rtl){if(d.group==undefined&&i==k&&!d.bounddata.totalsrow){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse");var u=this.toThemeProperty("jqx-icon-arrow-right");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}else{if(d.group==undefined&&i==t.cells.length-k-1){var u=this.toThemeProperty("jqx-icon-arrow-down");if(x){A+=" "+this.toTP("jqx-grid-group-expand-rtl");A+=" "+u}else{A+=" "+this.toTP("jqx-grid-group-collapse-rtl");var u=this.toThemeProperty("jqx-icon-arrow-left");A+=" "+u}z=false;e.title="";e.innerHTML="";if(e.className!=A){e.className=A}return}}}}if(s&&z&&i>=k){A+=" "+this.toTP("jqx-grid-cell-selected");A+=" "+this.toTP("jqx-fill-state-pressed")}if(e.className!=A){e.className=A}g._applyCellStyle(e);if(d.group!=undefined){o="";e.title="";e.innerHTML="";return}D(this,g,d,o,e,q)},_rendercell:function(v,f,k,t,d,r){var g=t+"_"+f.visibleindex;if(f.columntype=="number"||f.cellsrenderer!=null){var g=k.uniqueid+"_"+f.visibleindex}if(f.columntype=="number"){t=k.visibleindex}if(f.columntype==="adaptive"){t="..."}f._applyCellStyle(d);if(v.showrowlines){d.style.borderBottomColor=""}else{d.style.borderBottomColor="transparent"}if(v.showcolumnheaderlines){f.element.style.borderRightColor="";f.element.style.boxShadow=""}else{f.element.style.borderRightColor="transparent";f.element.style.boxShadow="none"}if(v.showcolumnlines){d.style.borderRightColor=""}else{d.style.borderRightColor="transparent"}if(v.editcell&&v.editrow==undefined){if(v.editmode=="selectedrow"&&f.editable&&v.editable){if(v.editcell.row==v.getboundindex(k)){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,d,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,d,false,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}else{if(v.editcell.row==v.getboundindex(k)&&v.editcell.column==f.datafield){v.editcell.element=d;if(v.editcell.editing){if(v._showcelleditor){if(!v.hScrollInstance.isScrolling()&&!v.vScrollInstance.isScrolling()){v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init)}else{v._showcelleditor(v.editcell.row,f,v.editcell.element,v.editcell.init,false)}d.className+=" "+v.toTP("jqx-grid-cell-edit");return}}}}}var s=v._defaultcellsrenderer(t,f);var o=v._cellscache[g];if(o){if(f.columntype=="checkbox"){if(v.host.jqxCheckBox){if(t===""){t=null}var n=d.innerHTML.toString().length==0;if(d.checkbox&&!v.groupable&&!n){d.checkboxrow=v.getboundindex(k);if(t==""){t=false}if(t=="1"){t=true}if(t=="0"){t=false}if(t==1){t=true}if(t==0){t=false}if(t=="true"){t=true}if(t=="false"){t=false}if(t==null&&!f.threestatecheckbox){t=false}if(f.checkboxcolumn){t=false;if(v.dataview.filters.length>0&&!v.virtualmode&&k.bounddata.dataindex!=undefined){if(v.selectedrowindexes.indexOf(k.bounddata.dataindex)!=-1){t=true}}else{if(v.selectedrowindexes.indexOf(k.bounddata.boundindex)!=-1){t=true}}}if(!v.disabled){if(d.checkboxinstance){d.checkboxinstance._setState(t)}else{d.checkbox.jqxCheckBox("_setState",t)}}}else{v._rendercheckboxcell(v,d,f,k,t)}if(f.cellsrenderer!=null){var h=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(h!=undefined){d.innerHTML=h}}return}}else{if(f.columntype=="button"){if(v.host.jqxButton){if(t==""){t=false}if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}if(d.innerHTML==""){d.buttonrow=v.getboundindex(k);d.button=null;v._renderbuttoncell(v,d,f,k,t)}if(d.button&&!v.groupable){d.buttonrow=v.getboundindex(k);d.button.val(t)}else{v._renderbuttoncell(v,d,f,k,t)}return}}else{if(f.columntype=="progressbar"||f.columntype==="rating"){if(v.host.jqxButton){if(t==""){t=false}if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}if(d.innerHTML==""){d.progressrow=v.getboundindex(k);d.progress=null;v._renderprogresscell(v,d,f,k,t)}if(d.progress&&!v.groupable){d.progressrow=v.getboundindex(k);d.progress.val(t)}else{v._renderprogresscell(v,d,f,k,t)}return}}}}if(f.createwidget){if(d.innerHTML==""){d.widgetrow=v.getboundindex(k);d.widget=null;f.widget=null;v._renderwidgetcell(v,d,f,k,t)}if(d.widget&&!v.groupable){d.widgetrow=v.getboundindex(k);if(f.initwidget){f.initwidget(v.getboundindex(k),f.datafield,t,d.firstChild)}else{throw new Error("jqxGrid: 'initwidget' column function is not implemented. Please, implement 'initwidget'")}}else{v._renderwidgetcell(v,d,f,k,t)}return}var u=o.element;if(f.cellsrenderer!=null||(d.childNodes&&d.childNodes.length==0)||v.groupable||v.rowdetails){if(d.innerHTML!=u){d.innerHTML=u}}else{if(d.innerHTML.indexOf("editor")>=0){d.innerHTML=u}else{if(r){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(d.innerHTML!=u){d.innerHTML=u}}}}if(v.enabletooltips&&f.enabletooltips){d.title=o.title}return}if(f.columntype=="checkbox"){v._rendercheckboxcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="button"){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderbuttoncell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="progressbar"||f.columntype==="rating"){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderprogresscell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=""+t}return}else{if(f.columntype=="number"){t=k.visibleindex}}}}if(f.createwidget){if(f.cellsrenderer!=null){t=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata)}v._renderwidgetcell(v,d,f,k,t);v._cellscache[g]={element:"",title:t};if(v.enabletooltips&&f.enabletooltips){d.title=t}return}var u=null;if(f.cellsrenderer!=null){u=f.cellsrenderer(v.getboundindex(k),f.datafield,t,s,f.getcolumnproperties(),k.bounddata);if(u&&(u.indexOf("<jqx-")>=0||u.indexOf(" ng-")>=0)){if(v.toCompile){v.toCompile.push({cell:d,value:u,row:v.getboundindex(k)})}return}}else{u=s}if(u==null){u=s}var l=t;if(v.enabletooltips&&f.enabletooltips){if(f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(t)){l=b.jqx.dataFormat.formatdate(l,f.cellsformat,v.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(t)){l=b.jqx.dataFormat.formatnumber(l,f.cellsformat,v.gridlocalization)}}}}d.title=l}if(v.WinJS){b(d).html(u)}else{var j=d.innerHTML;if(j.indexOf("editor")>=0||f.cellsrenderer!=null||v.groupable||v.virtualmode){d.innerHTML=u}else{if(j.length>0){var p=u.indexOf(">");var m=u.indexOf("</");var q=u.substring(p+1,m);var i=d.childNodes[0];if(q.indexOf(">")>=0){d.innerHTML=u}else{if(i.childNodes[0]){if(q!=i.childNodes[0].nodeValue){if(q.indexOf("&")>=0||j.indexOf("span")>=0){d.innerHTML=u}else{i.childNodes[0].nodeValue=q}}}else{var e=document.createTextNode(q);i.appendChild(e)}}}else{if(j!=u){d.innerHTML=u}}}}v._cellscache[g]={element:d.innerHTML,title:l};return true},_isIE10:function(){if(this._browser==undefined){var e=b.jqx.utilities.getBrowser();if(e.browser=="msie"&&parseInt(e.version)>9){this._browser=true}else{this._browser=false;if(e.browser=="msie"){var d="Browser CodeName: "+navigator.appCodeName+"";d+="Browser Name: "+navigator.appName+"";d+="Browser Version: "+navigator.appVersion+"";d+="Platform: "+navigator.platform+"";d+="User-agent header: "+navigator.userAgent+"";if(d.indexOf("Zune 4.7")!=-1){this._browser=true}}}}return this._browser},_renderinlinecell:function(f,d,e,i,g){var h=b(d);d.innerHTML='<div style="position: absolute;"></div>'},_rendercheckboxcell:function(g,e,f,k,h){if(g.host.jqxCheckBox){var j=b(e);if(h===""){if(f.threestatecheckbox){h=null}else{h=false}}if(h===null&&!f.threestatecheckbox){h=false}if(h=="1"){h=true}if(h=="0"){h=false}if(h==1){h=true}if(h==0){h=false}if(h=="true"){h=true}if(h=="false"){h=false}if(f.checkboxcolumn){h=false;var d=this.getboundindex(k);if(this.selectedrowindexes.indexOf(d)!=-1){h=true}}if(j.find(".jqx-checkbox").length==0){e.innerHTML='<div style="position: absolute; top: 50%; left: 50%; margin-top: -9px; margin-left: -12px;"></div>';b(e.firstChild).jqxCheckBox({disabled:g.disabled,_canFocus:false,hasInput:false,hasThreeStates:f.threestatecheckbox,enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,locked:true,theme:g.theme,checked:h});if(this.enabletooltips&&f.enabletooltips){e.title=""+h}if(this.editable&&f.editable){b(e.firstChild).jqxCheckBox({locked:false})}if(f.checkboxcolumn){b(e.firstChild).jqxCheckBox({locked:false})}e.checkbox=b(e.firstChild);e.checkboxinstance=e.checkbox.data().jqxCheckBox.instance;e.checkboxrow=this.getboundindex(k);var i=b.data(e.firstChild,"jqxCheckBox").instance;i.updated=function(l,s,m){if(g.disabled){s=m;var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox({disabled:g.disabled})}}}if(f.editable&&!g.disabled){var p=g.table[0].rows.length;var r=g._getcolumnindex(f.datafield);if(g.editrow==undefined){if(f.cellbeginedit){var u=f.cellbeginedit(e.checkboxrow,f.datafield,f.columntype,!s);if(u==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true);return}}if(f.cellvaluechanging){var t=f.cellvaluechanging(e.checkboxrow,f.datafield,f.columntype,m,s);if(t!=undefined){s=t}}if(g.editmode!=="selectedrow"){for(var o=0;o<p;o++){var n=g.table[0].rows[o].cells[r].firstChild;if(n){b(n).jqxCheckBox("destroy")}}}if(g.editcell&&g.editcell.validated==false){g.setcellvalue(e.checkboxrow,f.datafield,!s,true)}else{if(g.editmode!=="selectedrow"||g.editcell==null){var q=g.getrowdata(e.checkboxrow);g._raiseEvent(17,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,value:m,columntype:f.columntype});g.setcellvalue(e.checkboxrow,f.datafield,s,true);g._raiseEvent(18,{rowindex:e.checkboxrow,row:q,datafield:f.datafield,oldvalue:m,value:s,columntype:f.columntype})}else{g.setcellvalue(e.checkboxrow,f.datafield,s,false,false)}}if(f.cellendedit){f.cellendedit(e.checkboxrow,f.datafield,f.columntype,s)}}}else{if(f.checkboxcolumn){if(g.editcell){g.endcelledit(g.editcell.row,g.editcell.column,false,true)}if(!g.disabled){if(s){g.selectrow(e.checkboxrow)}else{g.unselectrow(e.checkboxrow)}if(g.autosavestate){if(g.savestate){g.savestate()}}}}}}}else{e.checkboxrow=this.getboundindex(k);b(e.firstChild).jqxCheckBox("_setState",h,!(this.editable&&f.editable)&&!f.checkboxcolumn)}}},_renderwidgetcell:function(f,d,e,i,g){var h=b(d);if(h.find(".jqx-grid-widget").length==0){var j='<div class="jqx-grid-widget" style="opacity: 0.99; position: absolute; width: 100%; height:100%; top: 0%; left: 0%; padding: 0px;"></div>';d.innerHTML=j;e.createwidget(i,e.datafield,g,d.firstChild);b(d.firstChild).attr("hideFocus","true");b(d.firstChild).children().addClass("jqx-grid-widget");d.widget=b(d.firstChild);d.widgetrow=f.getboundindex(i);e.widget=b(d.firstChild)}else{e.initwidget(f.getboundindex(i),e.datafield,g,d.firstChild);d.widgetrow=f.getboundindex(i);b(d.firstChild).val(g)}},_renderprogresscell:function(h,d,e,n,k){var l=b(d);if(e.columntype==="rating"){if(!h._linkadded){var j=document.createElement("link");j.rel="stylesheet";j.href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css";document.head.appendChild(j);h._linkadded=true}if(!e.ratingmax){e.ratingmax=5}var m="";for(var f=0;f<e.ratingmax;f++){if(k>=f+1){m+='<span style="color: rgba(255, 165, 0, 1);" class="fa fa-star checked"></span>'}else{m+='<span style="color: rgba(255, 165, 0, .3);" class="fa fa-star"></span>'}}var g=e.cellsalign;if(g==="right"){g="flex-end"}d.innerHTML='<div style="display: flex; width: 100%; height: 100%; justify-content: '+g+'; padding: 5px; box-sizing: border-box; font-size: 16px; align-items: center;">'+m+"</div>";return}if(k==""){k=false}if(l.find(".jqx-progress").length==0){d.innerHTML='<progress class="jqx-progress" max="100" style="opacity: 0.99; position: absolute; top: 10%; left: 10%; width:80%; height:80%; padding: 0px;"/>';b(d.firstChild).val(k);d.progress=b(d.firstChild);d.progressrow=h.getboundindex(n)}else{d.progressrow=h.getboundindex(n);b(d.firstChild).val(k)}},_renderbuttoncell:function(h,e,g,k,i){if(h.host.jqxButton){var j=b(e);if(i==""){i=false}if(j.find(".jqx-button").length==0){e.innerHTML='<input type="button" style="opacity: 0.99; position: absolute; top: 0%; left: 0%; padding: 0px; margin-top: 2px; margin-left: 2px;"/>';b(e.firstChild).val(i);b(e.firstChild).attr("hideFocus","true");b(e.firstChild).jqxButton({disabled:h.disabled,theme:h.theme,height:h.rowsheight-4,width:g.width-4});e.button=b(e.firstChild);e.buttonrow=h.getboundindex(k);var d=this.isTouchDevice();if(d){var f=b.jqx.mobile.getTouchEventName("touchend");h.addHandler(b(e.firstChild),f,function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}else{h.addHandler(b(e.firstChild),"click",function(l){if(g.buttonclick){g.buttonclick(e.buttonrow,l)}})}}else{e.buttonrow=h.getboundindex(k);b(e.firstChild).val(i)}}},_clearvisualrow:function(g,f,o,i,n){var m=this.toTP("jqx-grid-cell");if(f){m=" "+this.toTP("jqx-grid-group-cell")}m+=" "+this.toTP("jqx-grid-cleared-cell");var p=this.table[0].rows;for(var k=0;k<i+n;k++){if(p[o]){var e=p[o].cells[k];if(e.className!=m){e.className=m}var d=this.columns.records[k];if(this._horizontalvalue!=g&&!d.pinned){if(this.oldhscroll==true){var h=-g;e.style.marginLeft=-g+"px"}}var l=d.width;if(d.adaptivewidth){l=d.adaptivewidth}if(l<d.minwidth){l=d.minwidth}if(l>d.maxwidth){l=d.maxwidth}if(parseInt(e.style.width)!=l){if(l!="auto"){b(e)[0].style.width=l+"px"}else{b(e)[0].style.width=l}}if(e.title!=""){e.title=""}if(e.innerHTML!=""){e.innerHTML=""}}}if(p[o]){if(parseInt(p[o].style.height)!=this.rowsheight){p[o].style.height=parseInt(this.rowsheight)+"px"}}},_findgroupstate:function(e){var d=this._findgroup(e);if(d==null){return false}return d.expanded},_findgroup:function(e){var d=null;if(this.expandedgroups[e]){return this.expandedgroups[e]}return d},_clearcaches:function(){this._columnsbydatafield=new Array();this._pagescache=new Array();this._pageviews=new Array();this._cellscache=new Array();this.heights=new Array();this.hiddens=new Array();this.hiddenboundrows=new Array();this.heightboundrows=new Array();this.detailboundrows=new Array();this.details=new Array();this.expandedgroups=new Array();this._rowdetailscache=new Array();this._rowdetailselementscache=new Array();if(b.jqx.dataFormat){b.jqx.dataFormat.cleardatescache()}this.tableheight=null},_getColumnText:function(d){if(this._columnsbydatafield==undefined){this._columnsbydatafield=new Array()}if(this._columnsbydatafield[d]){return this._columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this._columnsbydatafield[d]={label:f,column:e};return this._columnsbydatafield[d]},_getcolumnbydatafield:function(d){if(this.__columnsbydatafield==undefined){this.__columnsbydatafield=new Array()}if(this.__columnsbydatafield[d]){return this.__columnsbydatafield[d]}var f=d;var e=null;b.each(this.columns.records,function(){if(this.datafield==d||this.displayfield==d){f=this.text;e=this;return false}});this.__columnsbydatafield[d]=e;return this.__columnsbydatafield[d]},isscrollingvertically:function(){var d=(this.vScrollBar.jqxScrollBar("isScrolling"));return d},_renderrowdetails:function(q,y,d,x,n,A){if(y==undefined){return}var E=b(y);var g=0;var t=this.rowdetails&&this.showrowdetailscolumn?(1+this.groups.length)*this.groupindentwidth:(this.groups.length)*this.groupindentwidth;if(this.groupable&&this.groups.length>0){for(var r=0;r<=n;r++){var e=b(y.cells[r]);e[0].innerHTML="";e[0].className="jqx-grid-details-cell"}}var e=b(y.cells[g]);if(e[0].style.display=="none"){var o=y.cells[g];var B=2;var l=g;while(o!=undefined&&o.style.display=="none"&&B<10){o=y.cells[l+B-1];B++}e=b(o)}if(this.rtl){for(var v=x;v<n;v++){y.cells[v].innerHTML="";y.cells[v].className="jqx-grid-details-cell"}}e.css("width","100%");E.height(d.rowdetailsheight);e[0].className=q;var p=this.getboundindex(d);var j=p+"_";if(this._rowdetailscache[j]){var u=this._rowdetailscache[j];var C=u.html;if(this.initrowdetails){if(this._rowdetailscache[j].element){var f=this._rowdetailscache[j].element;var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);if(this.rtl){k=0}b(f).css("top",w);b(f).css("left",k);b(f).css("display","block");b(f).width(this.host.width()-t);if(this.layoutrowdetails){this.layoutrowdetails(p,f,this.element,this.getrowdata(p))}}}else{e[0].innerHTML=C}return}e[0].innerHTML="";if(!this.enablerowdetailsindent){t=0}var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+t+'px;">'+d.rowdetails+"</div>";if(this.rtl){var h='<div class="jqx-enableselect" role="rowgroup" style="border: none; overflow: hidden; width: 100%; height: 100%; margin-left: '+0+"px; margin-right: "+t+'px;">'+d.rowdetails+"</div>"}this._rowdetailscache[j]={id:y.id,html:h};if(this.initrowdetails){var f=b(h)[0];b(this.gridcontent).prepend(b(f));b(f).css("position","absolute");b(f).width(this.host.width()-t);b(f).height(e.height());var i=e.coord();b(f).css("z-index",1799);if(this.isTouchDevice()){b(f).css("z-index",1999)}b(f).addClass(this.toThemeProperty("jqx-widget-content"));var i=e.coord();var z=this.gridcontent.coord();var w=parseInt(i.top)-parseInt(z.top);var k=parseInt(i.left)-parseInt(z.left);b(f).css("top",w);b(f).css("left",k);this.content[0].scrollTop=0;this.content[0].scrollLeft=0;var D=b(b(f).children()[0]);if(D[0].id!=""){D[0].id=D[0].id+p}this.initrowdetails(p,f,this.element,this.getrowdata(p));this._rowdetailscache[j].element=f;this._rowdetailselementscache[p]=f}else{e[0].innerHTML=h}},_defaultcellsrenderer:function(f,d){if(d.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(f)){f=b.jqx.dataFormat.formatdate(f,d.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(f)){f=b.jqx.dataFormat.formatnumber(f,d.cellsformat,this.gridlocalization)}}}}var e="8px";if(this.rowsheight!=31){e=(this.rowsheight/2-this._cellheight/2);if(e<0){e=4}e+="px"}if(this.enableellipsis){if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div class="jqx-grid-cell-middle-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="left"){return'<div class="jqx-grid-cell-left-align" style="margin-top: '+e+';">'+f+"</div>"}if(d.cellsalign=="right"){return'<div class="jqx-grid-cell-right-align" style="margin-top: '+e+';">'+f+"</div>"}}if(d.cellsalign=="center"||d.cellsalign=="middle"){return'<div style="text-align: center; margin-top: '+e+';">'+f+"</div>"}return'<span style="margin-left: 4px; margin-right: 2px; margin-top: '+e+"; float: "+d.cellsalign+';">'+f+"</span>"},getcelltext:function(g,e){if(g==null||e==null){return null}var d=this.getcellvalue(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},getcelltextbyid:function(g,e){if(g==null||e==null){return null}var d=this.getcellvaluebyid(g,e);var f=this.getcolumn(e);if(f&&f.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(d)){d=b.jqx.dataFormat.formatdate(d,f.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(d)){d=b.jqx.dataFormat.formatnumber(d,f.cellsformat,this.gridlocalization)}}}}return d},_getcellvalue:function(d,f){var e=null;e=f.bounddata[d.datafield];if(d.displayfield!=null){e=f.bounddata[d.displayfield]}if(e==null){e=""}return e},getcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},getrenderedcell:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;var f="";if(!isNaN(e)){g=this.getrenderedrowdata(e)}if(g!=null){f=g[d]}return this._getcellresult(f,h,d)},_getcellresult:function(k,n,e){var f=this.getcolumn(e);if(f==null||f==undefined){return null}var i=f.getcolumnproperties();var g=i.hidden;var d=i.width;var m=i.pinned;var h=i.cellsalign;var j=i.cellsformat;var l=this.getrowheight(n);if(l==false){return null}return{value:k,row:n,column:e,datafield:e,width:d,height:l,hidden:g,pinned:m,align:h,format:j}},setcellvaluebyid:function(i,d,h,f,g){var e=this.getrowboundindexbyid(i);return this.setcellvalue(e,d,h,f,g)},getcellvaluebyid:function(f,d){var e=this.getrowboundindexbyid(f);return this.getcellvalue(e,d)},setcellvalue:function(o,F,H,Q,j){if(o==null||F==null){return false}var h=parseInt(o);var t=h;var C=o;if(!isNaN(h)){C=this.getrowdata(h)}var N=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){N=true}if(this.virtualmode){this._pagescache=new Array()}if(this.sortcache){this.sortcache={}}var q="";var d="";if(C!=null&&C[F]!==H){if(C[F]===null&&H===""){return}var I=this._getcolumnbydatafield(F);var R="string";if(!this.source){this.source=new b.jqx.dataAdapter({})}var v=this.source.datafields||((this.source._source)?this.source._source.datafields:null);if(v){var D="";b.each(v,function(){if(this.name==I.displayfield){if(this.type){D=this.type}return false}});if(D){R=D}d=C[I.displayfield]}q=C[F];if(!I.nullable||(H!=null&&H!==""&&I.nullable&&H.label===undefined)){if(b.jqx.dataFormat.isNumber(q)||R=="number"||R=="float"||R=="int"||R=="decimal"&&R!="date"){if(this.gridlocalization&&this.gridlocalization.decimalseparator==","){if(H&&H.indexOf&&H.indexOf(",")>=0){H=H.replace(",",".")}}H=new Number(H);H=parseFloat(H);if(isNaN(H)){H=0}}else{if(b.jqx.dataFormat.isDate(q)||R=="date"){if(H!=""){var L=H;L=new Date(L);if(L!="Invalid Date"&&L!=null){H=L}else{if(L=="Invalid Date"){L=new Date();H=L}}}}}if(C[F]===H){if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return}}var A=this.source&&this.source._source.localdata&&this.source._source.localdata.name==="observableArray";C[F]=H;if(A){var P=this.source._source.localdata;if(!P._updating){P._updating=true;P[o][F]=H;P._updating=false}}var l=this.getrenderedrowdata(h,true);if(!l){return}l[F]=H;if(H!=null&&H.label!=null){var I=this._getcolumnbydatafield(F);C[I.displayfield]=H.label;l[I.displayfield]=H.label;C[F]=H.value;l[F]=H.value;if(A&&!P._updating){P._updating=true;P[o][F]=H.value;P[o][I.displayfield]=H.label;P._updating=false}}if(N){if(C.dataindex!=undefined){t=C.dataindex;this.dataview.cachedrecords[C.dataindex][F]=H;if(H!=null&&H.label!=undefined){this.dataview.cachedrecords[C.dataindex][F]=H.value;this.dataview.cachedrecords[C.dataindex][I.displayfield]=H.label}}}}else{if(!this._updating&&Q!=false){this._renderrows(this.virtualsizeinfo)}return false}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates){if(this.source._source._localdata){var E=h;if(N){if(C.dataindex!=undefined){E=C.dataindex}}var g=this.source._source._localdata()[E];this.source.suspendKO=true;var G=g;if(G[F]&&G[F].subscribe){if(H!=null&&H.label!=null){G[I.displayfield](H.label);G[F](H.value)}else{G[F](H)}}else{var v=this.source._source.datafields;var B=null;var x=null;if(v){b.each(v,function(){if(this.name==F){x=this.map;return false}})}if(x==null){if(H!=null&&H.label!=null){G[F]=H.value;G[I.displayfield]=H.label}else{G[F]=H}}else{var f=x.split(this.source.mapChar);if(f.length>0){var n=G;for(var M=0;M<f.length-1;M++){n=n[f[M]]}n[f[f.length-1]]=H}}this.source._source._localdata.replace(g,b.extend({},G))}this.source.suspendKO=false}}if(this.sortcolumn&&this.dataview.sortby&&!this._updating){var z=this.getsortinformation();if(this.sortcolumn==F&&this.sortmode!=="many"){this.dataview.clearsortdata();this.dataview.sortby(z.sortcolumn,z.sortdirection.ascending)}else{if(this.sortmode==="many"){var m=this.getsortcolumns();this.dataview.clearsortdata();this.sortby(null);for(var O=0;O<m.length;O++){this.sortby(m[O].dataField,m[O].ascending)}}}}else{if(!this._updating){if(this.dataview.sortby){if(this.dataview.sortcache[F]){this.dataview.sortcache[F]=null}}}}this._cellscache=new Array();this._pagescache=new Array();if(this.source.updaterow&&(j==undefined||j==true)){var J=false;var r=this.that;var s=function(i){if(false==i){r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}}};try{var k=this.getrowid(h);J=this.source.updaterow(k,C,s);if(J==undefined){J=true}}catch(w){J=false;r.setcellvalue(o,F,q,true,false);if(q!=d){r.setcellvalue(o,r.getcolumn(F).displayfield,d,true,false)}return}}var K=this.vScrollInstance.value;if(this._updating&&Q!=true){Q=false}if(Q==true||Q==undefined){var r=this.that;var e=function(){if(r.pageable&&r.updatepagerdetails){r.updatepagerdetails();if(r.autoheight||r.autorowheight){r._updatepageviews()}}};var u=this.groupable&&this.groups.length>0;if(N&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.refresh();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.sortcolumn&&!u){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}this.dataview.reloaddata();this.rendergridcontent(true,false);e();this._renderrows(this.virtualsizeinfo)}else{if(this.groupable&&this.groups.length>0){if(this.autoheight||this.autorowheight){this.prerenderrequired=true}if(this.pageable){if(this.groups.indexOf(F)!=-1){this._pagescache=new Array();this._cellscache=new Array();this.dataview.refresh();this._render(true,true,false,false)}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this._pagescache=new Array();this._cellscache=new Array();this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}else{this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}}}}this.vScrollInstance.setPosition(K);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}if(this.showfilterrow&&this.filterable&&this.filterrow){var y=this.getcolumn(F).filtertype;if(y=="list"||y=="checkedlist"){this._updatelistfilters(true)}}this._raiseEvent(19,{rowindex:o,datafield:F,newvalue:H,value:H,oldvalue:q});return true},getcellvalue:function(h,d){if(h==null||d==null){return null}var e=parseInt(h);var g=h;if(!isNaN(e)){g=this.getrowdata(e)}if(g!=null){var f=g[d];return f}return null},getrows:function(){var h=this.dataview.records.length;if(this.virtualmode){var j=new Array();for(var e=0;e<this.dataview.records.length;e++){var d=this.dataview.records[e];if(d){j.push(d)}}if(this.dataview.records.length===undefined){b.each(this.dataview.records,function(){var i=this;if(i){j.push(i)}})}var g=0;if(this.pageable){g=this.dataview.pagenum*this.dataview.pagesize}if(j.length>this.source._source.totalrecords-g){return j.slice(0,this.source._source.totalrecords-g)}return j}if(this.dataview.sortdata){var j=new Array();for(var e=0;e<h;e++){var f={};f=b.extend({},this.dataview.sortdata[e].value);j[e]=f}return j}else{return this.dataview.records}},getrowboundindexbyid:function(g){var f=this.dataview.recordsbyid["id"+g];if(f){if(f.boundindex){return this.getboundindex(f)}}var e=this.getboundrows();for(var d=0;d<e.length;d++){if(e[d]){if(e[d].uid==g){return d}}}return -1},getrowdatabyid:function(f){var e=this.dataview.recordsbyid["id"+f];if(e){return e}else{var d=this.getrowboundindexbyid(f);return this.getboundrows()[d]}return null},getrowdata:function(d){if(d==undefined){d=0}if(this.virtualmode){var e=this.dataview.records[d];return e}else{var e=this.getboundrows()[d];return e}return null},getrenderedrowdata:function(d,f){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var e=this.dataview.loadedrecords[g];return e}var g=this.getrowvisibleindex(d);if(g>=0){if(this.groupable&&this.groups.length>0){var e=this.dataview.loadedrecords[g]}else{var e=this.dataview.loadedrecords[g];if(this.pageable&&(f==undefined||f==false)){var e=this.dataview.loadedrecords[this.dataview.pagesize*this.dataview.pagenum+d]}}return e}return null},getboundrows:function(){return this.dataview.cachedrecords},getrowdisplayindex:function(d){var f=this.getdisplayrows();for(var e=0;e<f.length;e++){if(!f[e]){continue}if(f[e].dataindex!==undefined){if(f[e].dataindex==d){return f[e].visibleindex}}else{if(f[e].boundindex==d){return f[e].visibleindex}}}return -1},getboundindex:function(e){var d=e.boundindex;if(this.groupable&&this.groups.length>0&&this.pageable){if(e.bounddata){d=this.getrowboundindexbyid(e.bounddata.uid)}}if(this.dataview.filters.length>0){if(e.bounddata){if(e.bounddata.dataindex!==undefined){d=e.bounddata.dataindex}}else{if(e.dataindex!==undefined){d=e.dataindex}}}return d},getrowboundindex:function(d){var e=this.getdisplayrows()[d];if(e){if(e.dataindex!==undefined){return e.dataindex}return e.boundindex}return -1},getdisplayrows:function(){return this.dataview.loadedrecords},getloadedrows:function(){return this.getdisplayrows()},getvisiblerowdata:function(e){var d=this.getvisiblerows();if(d){return d[e]}return null},getloadedrowdata:function(e){var d=this.getloadedrows();if(d){return d[e]}return null},getvisiblerows:function(){if(this.virtualmode){return this.dataview.loadedrecords}if(this.pageable){var f=[];for(var e=0;e<this.dataview.pagesize;e++){var d=this.dataview.loadedrecords[e+(this.dataview.pagesize*this.dataview.pagenum)];if(d==undefined){break}f.push(d)}return f}else{if(this._startboundindex!=undefined&&this._endboundindex!=undefined){var f=[];for(var e=this._startvisibleindex;e<=this._endvisibleindex;e++){var d=this.dataview.loadedrecords[e];if(d==undefined){break}f.push(d)}return f}}return this.dataview.loadedrecords},getrowid:function(d){if(d==undefined){d=0}if(this.virtualmode){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g];if(f){return f.uid}}else{var f=null;var e=this.dataview.filters.length>0;if(d>=0&&d<this.dataview.bounditems.length&&!e){if(this.groupable&&this.groups.length>0){var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}else{var g=this.getrowvisibleindex(d);var f=this.dataview.loadedrecords[g]}if(f){return f.uid}}if(this.dataview.filters.length>0){var f=this.getboundrows()[d];if(f){if(f.uid!=null){return f.uid}}return null}}return null},_updateGridData:function(e){var d=false;if(this.filterable&&this._initfilterpanel&&this.dataview.filters.length){d=true}if(d){this.dataview.refresh();if(e=="updaterow"){this._render(true,true,false,false,false);this.invalidate()}else{this.render()}}else{if(this.sortcolumn||(this.groupable&&this.groups.length>0)){this.dataview.reloaddata();this.render()}else{if(e==="updaterow"){this.dataview.refresh();if(!this.virtualmode){this._render(true,true,false,false,false)}}this._cellscache=new Array();this._pagescache=new Array();this._renderrows(this.virtualsizeinfo)}}if(this.showfilterrow&&this.filterable&&this.filterrow){this._updatelistfilters(true)}},updaterow:function(i,k,g){if(i!=undefined&&k!=undefined){var h=this.that;var j=false;h._datachanged=true;var e=function(q,l,u){if(q._loading){throw new Error("jqxGrid: "+q.loadingerrormessage);return false}var s=false;if(!b.isArray(l)){s=q.dataview.updaterow(l,u)}else{b.each(l,function(v,w){s=q.dataview.updaterow(this,u[v],false)});q._cellscache=new Array();q._pagescache=new Array();q.dataview.refresh()}var m=q.vScrollInstance.value;if(g==undefined||g==true){if(q._updating==undefined||q._updating==false){q._updateGridData("updaterow")}}if(q.showaggregates&&q._updatecolumnsaggregates){q._updatecolumnsaggregates()}if(q.source&&q.source._knockoutdatasource&&!q._updateFromAdapter&&q.autokoupdates){if(q.source._source._localdata){var n=q.dataview.recordsbyid["id"+l];var o=q.dataview.records.indexOf(n);var p=q.source._source._localdata()[o];q.source.suspendKO=true;q.source._source._localdata.replace(p,b.extend({},n));q.source.suspendKO=false}}var r=q.source&&q.source._source.localdata&&q.source._source.localdata.name==="observableArray";if(r){if(!q.source._source.localdata._updating){q.source._source.localdata._updating=true;var t=q.getrowboundindexbyid(l);q.source._source.localdata.set(t,u);q.source._source.localdata._updating=false}}q.vScrollInstance.setPosition(m);return s};if(this.source.updaterow){var d=function(l){if(l==true||l==undefined){e(h,i,k)}else{j=false}};try{j=this.source.updaterow(i,k,d);if(j==undefined){j=true}}catch(f){j=false}}else{j=e(h,i,k)}return j}return false},deleterow:function(d,k){if(d!=undefined){this._datachanged=true;var o=false;var m=this.that;var p=this.getrowboundindexbyid(d);var e=new Array();var j=new Array();if(p!=undefined){if(this.selectedrowindexes.indexOf(p)>=0){this.selectedrowindexes.splice(this.selectedrowindexes.indexOf(p),1)}if(this.selectedrowindex==p){this.selectedrowindex=-1}if(!this.virtualmode){if(m.selectionmode.indexOf("row")>=0){b.each(this.selectedrowindexes,function(){var q=m.getrowid(this);e.push(q)});this.selectedrowindexes=new Array();this.selectedrowindex=-1}else{if(m.selectionmode.indexOf("cell")>=0){for(var i in m.selectedcells){var n=m.selectedcells[i];var h=m.getrowid(n.rowindex);n.rowid=h}}}this._rendervisualrows()}}var f=function(w,r){if(w._loading){throw new Error("jqxGrid: "+w.loadingerrormessage);return false}var z=false;var t=w.vScrollInstance.value;if(!b.isArray(r)){var z=w.dataview.deleterow(r)}else{b.each(r,function(){z=w.dataview.deleterow(this,false)});w._cellscache=new Array();w._pagescache=new Array();w.dataview.refresh()}if(!w.virtualmode){if(w.selectionmode.indexOf("row")>=0){b.each(e,function(){var B=w.getrowboundindexbyid(this);if(B!=-1){w.selectrow(B,false)}})}else{var A=new Array();for(var v in w.selectedcells){var y=w.selectedcells[v];var u=y.rowid;var s=w.getrowboundindexbyid(u);if(s!=-1){y.rowindex=s;A[s+"_"+y.datafield]=y}}w.selectedcells=A}}if(w._updating==undefined||w._updating==false){if(k==undefined||k==true){setTimeout(function(){w._render(true,true,false,false);if(w.vScrollBar.css("visibility")!="visible"){w._arrange();w._updatecolumnwidths();w._updatecellwidths();w._renderrows(w.virtualsizeinfo)}})}}if(w.source&&w.source._knockoutdatasource&&!w._updateFromAdapter&&w.autokoupdates){if(w.source._source._localdata){w.source.suspendKO=true;w.source._source._localdata.pop();w.source.suspendKO=false}}var x=w.source&&w.source._source.localdata&&w.source._source.localdata.name==="observableArray";if(x){if(!w.source._source.localdata._updating){w.source._source.localdata._updating=true;w.source._source.localdata.splice(p,1);w.source._source.localdata._updating=false}}if(w.dataview.sortby&&w.sortmode!=="many"){var q=w.getsortinformation();if(q.sortcolumn){w.dataview.clearsortdata();w.dataview.sortby(q.sortcolumn,q.sortdirection?q.sortdirection.ascending:null)}}w.vScrollInstance.setPosition(t);return z};if(this.source.deleterow){var g=function(q){if(q==true||q==undefined){f(m,d)}};try{this.source.deleterow(d,g);if(o==undefined){o=true}}catch(l){o=false}}else{o=f(m,d)}return o}return false},addrow:function(f,o,j){if(o!=undefined){this._datachanged=true;if(j==undefined){j="last"}var n=false;var m=this.that;if(f==null){var g=this.dataview.filters&&this.dataview.filters.length>0;var l=!g?this.dataview.totalrecords:this.dataview.cachedrecords.length;if(!b.isArray(o)){f=this.dataview.getid(this.dataview.source.id,o,l);while(null!=this.dataview.recordsbyid["id"+f]){f++}}else{var d=new Array();b.each(o,function(e,p){var q=m.dataview.getid(m.dataview.source.id,o[e],l+e);d.push(q)});f=d}}var h=function(s,r,v,e){if(s._loading){throw new Error("jqxGrid: "+s.loadingerrormessage);return false}var u=s.vScrollInstance.value;var t=false;if(!b.isArray(v)){if(v!=undefined&&v.dataindex!=undefined){delete v.dataindex}t=s.dataview.addrow(r,v,e)}else{b.each(v,function(w,x){if(this.dataindex!=undefined){delete this.dataindex}var y=null;if(r!=null&&r[w]!=null){y=r[w]}t=s.dataview.addrow(y,this,e,false)});s._cellscache=new Array();s._pagescache=new Array();s.dataview.refresh()}if(s._updating==undefined||s._updating==false){s._render(true,true,false,false);s.invalidate()}if(s.source&&s.source._knockoutdatasource&&!s._updateFromAdapter&&s.autokoupdates){if(s.source._source._localdata){s.source.suspendKO=true;s.source._source._localdata.push(v);s.source.suspendKO=false}}var p=s.source&&s.source._source.localdata&&s.source._source.localdata.name==="observableArray";if(p){if(!s.source._source.localdata._updating){s.source._source.localdata._updating=true;var q=s.getrowboundindexbyid(r);s.source._source.localdata.set(q,v);s.source._source.localdata._updating=false}}if(s.scrollmode!="deferred"){s.vScrollInstance.setPosition(u)}else{s.vScrollInstance.setPosition(0)}return t};if(this.source&&this.source.addrow){var i=function(e,p){if(e==true||e==undefined){if(p!=undefined){f=p}h(m,f,o,j)}};try{n=this.source.addrow(f,o,j,i);if(n==undefined){n=true}}catch(k){n=false}if(n==false){return false}}else{h(this,f,o,j)}return n}return false},_findvisiblerow:function(h,i){if(h==undefined){h=parseInt(this.vScrollInstance.value)}var f=0;if(i==undefined||i==null){i=this.rows.records}var d=i.length;while(f<=d){var e=parseInt((f+d)/2);var g=i[e];if(g==undefined){break}if(g.top>h&&g.top+g.height>h){d=e-1}else{if(g.top<h&&g.top+g.height<h){f=e+1}else{return e;break}}}return -1},_updatecellwidths:function(){var f=this.virtualsizeinfo;if(!f){return}var p=this.that;if(p.gridcontent==undefined){return}if(p.table==undefined){p.table=p.gridcontent.find("#contenttable"+p.element.id)}var k=p.groupable&&p.groups.length>0;var q=0;var l=f.visiblerecords;if(p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.pagesize;if(p.groupable){p.dataview.updateview();l=p.dataview.rows.length}}if(!p.groupable&&!p.pageable&&(p.autoheight||p.autorowheight)){l=p.dataview.totalrecords}if(p.rowdetails){l+=p.dataview.pagesize}if(!p.columns.records){return}var r=p.columns.records.length;var t=p.table[0].rows;for(var n=0;n<l;n++){var d=t[n];if(!d){break}var s=d.cells;var h=0;for(var m=0;m<r;m++){var g=p.columns.records[m];var e=g.width;if(g.adaptivewidth){e=g.adaptivewidth}var o=s[m];if(parseInt(o.style.left)!=h){o.style.left=h+"px"}if(parseInt(o.style.width)!=e){o.style.width=e+"px"}if(!(g.hidden&&g.hideable)&&!g.adaptivehidden){h+=parseFloat(e)}else{o.style.display="none"}}if(q==0){p.table.width(parseFloat(h)+2);q=h}}if(p.showaggregates&&p._updateaggregates){p._updateaggregates()}if(p.showfilterrow&&p.filterable&&p._updatefilterrowui){p._updatefilterrowui()}if(p.showeverpresentrow){p._updateaddnewrowui()}p._updatescrollbarsafterrowsprerender();if(k){p._renderrows(p.virtualsizeinfo)}},_updatescrollbarsafterrowsprerender:function(){var g=this.that;var f=g.hScrollBar[0].style.visibility;var i=0;var d=g.vScrollBar[0].style.visibility;if(d=="visible"){i=g.scrollbarsize+3}if(g.scrollbarsize==0){i=0}if(g.scrollbarautoshow){i=0}var e=g.element.style.width;if(e.toString().indexOf("%")>=0){e=g.host.width()}else{e=parseInt(e)}if(parseInt(g.table[0].style.width)-2>e-i){if(f!="visible"){if(!g.autowidth){g.hScrollBar[0].style.visibility="visible"}g._arrange()}if(d=="visible"){if(g.scrollmode!="deferred"&&!g.virtualmode){if(g.virtualsizeinfo){var h=g.virtualsizeinfo.virtualheight-g._gettableheight();if(!isNaN(h)&&h>0){if(f!="hidden"){g.vScrollBar.jqxScrollBar("max",h+g.scrollbarsize+4)}else{g.vScrollBar.jqxScrollBar("max",h)}}}}else{g._updatevscrollbarmax()}}else{i=-2}g.hScrollBar.jqxScrollBar("max",i+g.table.width()-g.host.width())}else{if(f!="hidden"){g.hScrollBar.css("visibility","hidden");g._arrange()}}g._renderhorizontalscroll()},_hascolumnstyle:function(){if(undefined!==this._hascolumnstyles){return this._hascolumnstyles}this._hascolumnstyles=false;for(var d=0;d<this.columns.records.length;d++){var e=this.columns.records[d];if(e.style.headerBackgroundColor||e.style.headerColor||e.style.headerBackgroundHoveredColor||e.style.headerHoveredColor||e.style.headerBackgroundSelectedColor||e.style.headerSelectedColor||e.style.backgroundColor||e.style.color||e.style.backgroundHoveredColor||e.style.hoveredColor||e.style.backgroundSelectedColor||e.style.selectedColor){this._hascolumnstyles=true;return true}}return false},_prerenderrows:function(o){var C=this.that;if(C.prerenderrequired==true){C.prerenderrequired=false;if(C.editable&&C._destroyeditors){C._destroyeditors()}if(C.gridcontent==undefined){return}C.gridcontent.find("#contenttable"+C.element.id).remove();if(C.table!=null){C.table.remove();C.table=null}C.table=b('<div id="contenttable'+C.element.id+'" style="overflow: hidden; position: relative;"></div>');C.gridcontent.addClass(C.toTP("jqx-grid-content"));C.gridcontent.addClass(C.toTP("jqx-widget-content"));C.gridcontent.append(C.table);var B=C.groupable&&C.groups.length>0;var p=0;C.table[0].rows=new Array();var l=C.toTP("jqx-grid-cell");if(B){l=" "+C.toTP("jqx-grid-group-cell")}var u=o.visiblerecords;if(C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.pagesize;if(C.groupable){C.dataview.updateview();u=C.dataview.rows.length;if(u<C.dataview.pagesize){u=C.dataview.pagesize}}}if(!C.pageable&&(C.autoheight||C.autorowheight)){u=C.dataview.totalrecords}if(C.groupable&&C.groups.length>0&&(C.autoheight||C.autorowheight)&&!C.pageable){u=C.dataview.rows.length}if(C.rowdetails){if(C.autoheight||C.autorowheight){u+=C.dataview.pagesize}else{u+=u}}if(!C.columns.records){return}var A=C.columns.records.length;if(b.jqx.browser.msie&&b.jqx.browser.version>8){C.table.css("opacity","0.99")}if(b.jqx.browser.mozilla){}if(navigator.userAgent.indexOf("Safari")!=-1){C.table.css("opacity","0.99")}var r=b.jqx.browser.msie&&b.jqx.browser.version<8;if(r){C.host.attr("hideFocus","true")}var k=C.tableZIndex;if(u*A>k){k=u*A}var g=C.dataview.records.length==0;var n=C.isTouchDevice();var v="";C._hiddencolumns=false;var D=5+C.columns.records.length;for(var z=0;z<u;z++){var s='<div role="row" style="position: relative; height:'+C.rowsheight+'px;" id="row'+z+C.element.id+'">';if(r){var s='<div role="row" style="position: relative; z-index: '+k+"; height:"+C.rowsheight+'px;" id="row'+z+C.element.id+'">';k--}var f=0;for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(C.rtl){var q=k-A+2*x;var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+q+"; width:"+t+"px;";k--}else{var d='<div columnindex="'+x+'" role="gridcell" style="left: '+f+"px; z-index: "+k--+"; width:"+t+"px;"}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}else{d+="display: none;";C._hiddencolumns=true;k++}if(z===0&&x===0){d+='" tabindex="'+D+'"'}d+='" class="'+l+'">';var y=this._defaultcellsrenderer("",w);d+=y;d+="</div>";s+=d}if(p==0){C.table.width(parseInt(f)+2);p=f}s+="</div>";v+=s}if(C.WinJS){MSApp.execUnsafeLocalFunction(function(){C.table.html(v)})}else{C.table[0].innerHTML=v}C.table[0].rows=new Array();var m=C.table.children();for(var z=0;z<u;z++){var h=m[z];C.table[0].rows.push(h);h.cells=new Array();var e=b(h).children();for(var x=0;x<A;x++){h.cells.push(e[x])}}if(u==0){var f=0;if(C.showemptyrow){var s=b('<div style="position: relative;" id="row0'+C.element.id+'"></div>');C.table.append(s);s.height(C.rowsheight);C.table[0].rows[0]=s[0];C.table[0].rows[0].cells=new Array()}for(var x=0;x<A;x++){var w=C.columns.records[x];var t=w.width;if(C.showemptyrow){var d=b('<div style="position: absolute; height: 100%; left: '+f+"px; z-index: "+k--+"; width:"+t+'px;" class="'+l+'"></div>');d.height(C.rowsheight);s.append(d);C.table[0].rows[0].cells[x]=d[0]}if(t<w.minwidth){t=w.minwidth}if(t>w.maxwidth){t=w.maxwidth}if(!(w.hidden&&w.hideable)&&!w.adaptivehidden){f+=t}}C.table.width(parseInt(f)+2);p=f}C._updatescrollbarsafterrowsprerender();if(C.rendered){C.rendered("rows")}C.toCompile=new Array();C._addoverlayelement()}},_groupsheader:function(){return this.groupable&&this.showgroupsheader},_arrange:function(){var A=null;var x=null;this.tableheight=null;var F=this.that;var n=false;var m=false;if(F.width!=null&&F.width.toString().indexOf("px")!=-1){A=F.width}else{if(F.width!=undefined&&!isNaN(F.width)){A=F.width}}if(F.width!=null&&F.width.toString().indexOf("%")!=-1){A=F.width;n=true}if(F.scrollbarautoshow){F.vScrollBar[0].style.display="none";F.hScrollBar[0].style.display="none";F.vScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex;F.hScrollBar[0].style.zIndex=F.tableZIndex+F.headerZIndex}if(F.autowidth){var p=0;for(var B=0;B<F.columns.records.length;B++){var e=F.columns.records[B].width;if(e=="auto"){e=F._measureElementWidth(F.columns.records[B].text);p+=e}else{p+=e}}if(F.vScrollBar.css("visibility")!="hidden"){p+=F.scrollbarsize+4}A=p;F.width=A}if(F.height!=null&&F.height.toString().indexOf("px")!=-1){x=F.height}else{if(F.height!=undefined&&!isNaN(F.height)){x=F.height}}if(F.height!=null&&F.height.toString().indexOf("%")!=-1){x=F.height;m=true}var k=function(){var i=0;var w=F.showheader?F.columnsheader!=null?F.columnsheader.height()+2:0:0;i+=w;if(F.pageable){i+=F.pagerheight}if(F._groupsheader()){i+=F.groupsheaderheight}if(F.showtoolbar){i+=F.toolbarheight}if(F.showstatusbar){i+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){i+=F.everpresentrowheight}if(F.hScrollBar[0].style.visibility=="visible"){i+=15}return i};if(F.autoheight&&F.virtualsizeinfo){if(F.pageable&&F.gotopage){var C=0;x=C+(F._pageviews[0]?F._pageviews[0].height:0);x+=k();if(F.showemptyrow&&F.dataview.totalrecords==0){x+=F.rowsheight}}else{var C=F.host.height()-F._gettableheight();if(F._pageviews.length>0){x=C+F._pageviews[F._pageviews.length-1].height+F._pageviews[F._pageviews.length-1].top;F.vScrollBar[0].style.visibility="hidden"}else{x=k();if(F.showemptyrow){x+=F.rowsheight}}}}else{if(F.autoheight){x=F.dataview.totalrecords*F.rowsheight;if(F.pageable&&F.gotopage){x=F.pagesize*F.rowsheight}if(F._loading){x=250;F.dataloadelement.height(x)}x+=k();if(x>10000){x=10000}}}if(A!=null){A=parseInt(A);if(!n){if(F.element.style.width!=parseInt(F.width)+"px"){F.element.style.width=parseInt(F.width)+"px"}}else{F.element.style.width=F.width}if(n){A=F.host.width();if(A<=2){A=600;F.host.width(A)}if(!F._oldWidth){F._oldWidth=A}}}else{F.host.width(250)}if(x!=null){if(this.autoheight){x+=2}if(!m){x=parseInt(x)}if(!m){if(F.element.style.height!=parseInt(x)+"px"){F.element.style.height=parseInt(x)+"px"}}else{F.element.style.height=F.height}if(m&&!F.autoheight){x=F.host.height();if(x==0){x=400;F.host.height(x)}if(!F._oldHeight){F._oldHeight=x}}}else{F.host.height(250)}if(F.autoheight){F.tableheight=null;F._gettableheight()}var v=0;if(F.showtoolbar){F.toolbar.width(A);F.toolbar.height(F.toolbarheight-1);F.toolbar.css("top",0);v+=F.toolbarheight;x-=parseInt(F.toolbarheight)}else{F.toolbar[0].style.height="0px"}if(F.showstatusbar){if(F.showaggregates){F.statusbar.width(!F.table?A:Math.max(A,F.table.width()))}else{F.statusbar.width(A)}F.statusbar.height(F.statusbarheight)}else{F.statusbar[0].style.height="0px"}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.width(A);F.addnewrow.height(F.everpresentrowheight)}else{F.addnewrow[0].style.height="0px"}if(F._groupsheader()){F.groupsheader.width(A);F.groupsheader.height(F.groupsheaderheight);F.groupsheader.css("top",v);var y=F.groupsheader.height()+1;v+=y;if(x>y){x-=parseInt(y)}}else{if(F.groupsheader[0].style.width!=A+"px"){F.groupsheader[0].style.width=parseInt(A)+"px"}F.groupsheader[0].style.height="0px";if(F.groupsheader[0].style.top!=v+"px"){F.groupsheader.css("top",v)}var y=F.showgroupsheader&&F.groupable?F.groupsheaderheight:0;var f=v+y+"px";if(F.content[0].style.top!=f){F.content.css("top",v+F.groupsheaderheight)}}var d=F.scrollbarsize;if(isNaN(d)){d=parseInt(d);if(isNaN(d)){d="17px"}else{d=d+"px"}}d=parseInt(d);var s=4;var h=2;var j=0;if(F.vScrollBar[0].style.visibility=="visible"){j=d+s}if(F.hScrollBar[0].style.visibility=="visible"){h=d+s+2}if(d==0){j=0;h=0}var r=0;if(F.pageable){r=F.pagerheight;h+=F.pagerheight}if(F.showstatusbar){h+=F.statusbarheight;r+=F.statusbarheight}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){h+=F.everpresentrowheight;r+=F.everpresentrowheight}if(F.hScrollBar[0].style.height!=d+"px"){F.hScrollBar[0].style.height=parseInt(d)+"px"}if(F.hScrollBar[0].style.top!=v+x-s-d-r+"px"||F.hScrollBar[0].style.left!="0px"){F.hScrollBar.css({top:v+x-s-d-r+"px",left:"0px"})}var q=F.hScrollBar[0].style.width;var l=false;var D=false;if(j==0){if(q!=(A-2)+"px"){F.hScrollBar.width(A-2);l=true}}else{if(q!=(A-d-s)+"px"){F.hScrollBar.width(A-d-s+"px");l=true}}if(!F.autoheight){if(F.vScrollBar[0].style.width!=d+"px"){F.vScrollBar.width(d);D=true}if(F.vScrollBar[0].style.height!=parseInt(x)-h+"px"){F.vScrollBar.height(parseInt(x)-h+"px");D=true}if(F.vScrollBar[0].style.left!=parseInt(A)-parseInt(d)-s+"px"||F.vScrollBar[0].style.top!=v+"px"){F.vScrollBar.css({left:parseInt(A)-parseInt(d)-s+"px",top:v})}}if(F.rtl){F.vScrollBar.css({left:"0px",top:v});if(F.vScrollBar.css("visibility")!="hidden"){F.hScrollBar.css({left:d+2})}}var o=F.vScrollInstance;o.disabled=F.disabled;if(!F.autoheight){if(D){o.refresh()}}var z=F.hScrollInstance;z.disabled=F.disabled;if(l){z.refresh()}if(F.autowidth){F.hScrollBar[0].style.visibility="hidden"}F.statusbarheight=parseInt(F.statusbarheight);F.toolbarheight=parseInt(F.toolbarheight);var t=function(w){if((w.vScrollBar[0].style.visibility=="visible")&&(w.hScrollBar[0].style.visibility=="visible")){w.bottomRight[0].style.visibility="visible";w.bottomRight.css({left:1+parseInt(w.vScrollBar.css("left")),top:parseInt(w.hScrollBar.css("top"))});if(w.rtl){w.bottomRight.css("left","0px")}w.bottomRight.width(parseInt(d)+3);w.bottomRight.height(parseInt(d)+4);var G=w.showeverpresentrow&&w.everpresentrowposition=="bottom";var i=G?w.everpresentrowheight:0;if(i>0&&!w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-i})}if(w.showaggregates){w.bottomRight.css("z-index",99);w.bottomRight.height(parseInt(d)+4+w.statusbarheight+i);w.bottomRight.css({top:parseInt(w.hScrollBar.css("top"))-w.statusbarheight-i})}}else{w.bottomRight[0].style.visibility="hidden"}};t(this);if(F.content[0].style.width!=A-j+"px"){F.content.width(A-j)}if(F.content[0].style.height!=x-h+3+"px"){F.content.height(x-h+3)}if(F.scrollbarautoshow){if(F.content[0].style.width!=A+"px"){F.content.width(A)}if(F.content[0].style.height!=x+"px"){F.content.height(x)}}if(F.content[0].style.top!=v+"px"){F.content.css("top",v)}if(F.rtl){F.content.css("left",j);if(F.scrollbarautoshow){F.content.css("left","0px")}if(F.table){var u=F.table.width();if(u<A-j){F.content.css("left",A-u)}}}if(F.showstatusbar){F.statusbar.css("top",v+x-F.statusbarheight-(F.pageable?F.pagerheight:0));if(F.showaggregates){if(F.hScrollBar.css("visibility")=="visible"){F.hScrollBar.css({top:v+x-s-d-r+F.statusbarheight+"px"});F.statusbar.css("top",1+v+x-d-5-F.statusbarheight-(F.pageable?F.pagerheight:0))}t(this)}if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.statusbar.css("left",F.content.css("left"))}else{F.statusbar.css("left","0px")}}}if(F.showeverpresentrow&&F.everpresentrowposition==="bottom"){F.addnewrow.css("top",v+x-(F.showstatusbar?F.statusbarheight:0)-(F.pageable?F.pagerheight:0)-F.everpresentrowheight);if(F.rtl){if(F.hScrollBar.css("visibility")!="visible"){F.addnewrow.css("left",F.content.css("left"))}else{F.addnewrow.css("left","0px")}}}if(F.pageable){F.pager.width(A);F.pager.height(F.pagerheight);F.pager.css("top",v+x-F.pagerheight-1)}else{F.pager[0].style.height="0px"}if(F.table!=null){var g=-2;if(F.vScrollBar[0].style.visibility=="visible"){g=F.scrollbarsize+3}if(F.hScrollBar[0].style.visibility=="visible"){var E=g+F.table.width()-F.host.width();if(E>=0){F.hScrollBar.jqxScrollBar("max",E)}if(F.hScrollBar[0].style.visibility=="visible"&&E==0){F.hScrollBar[0].style.visibility="hidden";F._arrange()}}}if(A!=parseInt(F.dataloadelement[0].style.width)){F.dataloadelement[0].style.width=F.element.style.width}if(x!=parseInt(F.dataloadelement[0].style.height)){F.dataloadelement[0].style.height=F.element.style.height}if(this.pagergotoinput){if(this.pagergotoinput.offset().top!==this.pagergoto.offset().top){this.pagergotoinput.css("visibility","hidden");this.pagergoto.css("visibility","hidden")}else{this.pagergotoinput.css("visibility","inherit");this.pagergoto.css("visibility","inherit")}}F._hostwidth=A},destroy:function(){delete b.jqx.dataFormat.datescache;delete this.gridlocalization;b.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(b(window.top.document),"mouseup.grid"+this.element.id)}}if(this.table&&this.table[0]){var m=this.table[0].rows.length;for(var k=0;k<m;k++){var q=this.table[0].rows[k];var p=q.cells;var f=p.length;for(var h=0;h<f;h++){b(q.cells[h]).remove();q.cells[h]=null;delete q.cells[h]}q.cells=null;if(q.cells){delete q.cells}b(this.table[0].rows[k]).remove();this.table[0].rows[k]=null}try{delete this.table[0].rows}catch(n){}this.table.remove();delete this.table}if(this.columns&&this.columns.records){for(var k=0;k<this.columns.records.length;k++){var e=this.columns.records[k];if(e.addnewrowwidget){if(e.destroyeverpresentrowwidget){e.destroyeverpresentrowwidget(e.addnewrowwidget)}}if(e.destroywidget){if(e.destroywidget){e.destroywidget(e.widget)}}this._removecolumnhandlers(this.columns.records[k]);if(e.element){b(e.element).remove();b(e.sortasc).remove();b(e.sortdesc).remove();b(e.filtericon).remove();b(e.menu).remove();e.element=null;e.uielement=null;e.sortasc=null;e.sortdesc=null;e.filtericon=null;e.menu=null;delete e.element;delete e.uielement;delete e.sortasc;delete e.sortdesc;delete e.filtericon;delete e.menu;delete this.columnsrow[0].cells[k]}}try{delete this.columnsrow[0].cells}catch(n){}delete this.columnsrow}b.removeData(document.body,"contextmenu"+this.element.id);if(this.host.jqxDropDownList){if(this._destroyfilterpanel){this._destroyfilterpanel()}}if(this.editable&&this._destroyeditors){this._destroyeditors()}if(this.filterable&&this._destroyedfilters&&this.showfilterrow){this._destroyedfilters()}if(this.host.jqxMenu){if(this.gridmenu){this.removeHandler(b(document),"click.menu"+this.element.id);this.removeHandler(this.gridmenu,"keydown");this.removeHandler(this.gridmenu,"closed");this.removeHandler(this.gridmenu,"itemclick");this.gridmenu.jqxMenu("destroy");this.gridmenu=null}}if(this.pagershowrowscombo){this.pagershowrowscombo.jqxDropDownList("destroy");this.pagershowrowscombo=null}if(this.pagerrightbutton){this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.pagerrightbutton.jqxButton("destroy");this.pagerrightbutton=null}if(this.pagerleftbutton){this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.pagerleftbutton.jqxButton("destroy");this.removeHandler(b(document),"mouseup.pagerbuttons"+this.element.id);this.pagerleftbutton=null}this.removeHandler(b(document),"selectstart."+this.element.id);this.removeHandler(b(document),"mousedown.resize"+this.element.id);this.removeHandler(b(document),"mouseup.resize"+this.element.id);this.removeHandler(b(document),"mousemove.resize"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(document),"mousedown.reorder"+this.element.id);this.removeHandler(b(document),"mouseup.reorder"+this.element.id);this.removeHandler(b(document),"mousemove.reorder"+this.element.id);if(this.isTouchDevice()){var l=b.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id;var d=b.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id;var g=b.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}this.removeHandler(b(window),"resize."+this.element.id);if(this.resizeline){this.resizeline.remove()}if(this.resizestartline){this.resizestartline.remove()}if(this.groupable){var l="mousemove.grouping"+this.element.id;var d="mousedown.grouping"+this.element.id;var g="mouseup.grouping"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g)}if(this.columnsreorder){var l="mousemove.reorder"+this.element.id;var d="mousedown.reorder"+this.element.id;var g="mouseup.reorder"+this.element.id;this.removeHandler(b(document),l);this.removeHandler(b(document),d);this.removeHandler(b(document),g);delete this.columnsbounds}if(this.content){this.removeHandler(this.content,"mousedown");this.removeHandler(this.content,"scroll")}this._removeHandlers();this.hScrollInstance.destroy();this.vScrollInstance.destroy();this.hScrollBar.remove();this.vScrollBar.remove();this._clearcaches();delete this.hScrollInstance;delete this.vScrollInstance;delete this.visiblerows;delete this.hittestinfo;delete this.rows;delete this.columns;delete this.columnsbydatafield;delete this.pagescache;delete this.pageviews;delete this.cellscache;delete this.heights;delete this.hiddens;delete this.hiddenboundrows;delete this.heightboundrows;delete this.detailboundrows;delete this.details;delete this.expandedgroups;delete this._rowdetailscache;delete this._rowdetailselementscache;delete this.columnsmenu;if(this.columnsheader){this.columnsheader.remove();delete this.columnsheader}if(this.selectionarea){this.selectionarea.remove();delete this.selectionarea}if(this.menuitemsarray&&this.menuitemsarray.length){var o=this.menuitemsarray.length;for(var k=0;k<o;k++){b(this.menuitemsarray[k]).remove()}}delete this.menuitemsarray;this.dataview._clearcaches();this.content.removeClass();this.content.remove();this.content=null;delete this.content;this.vScrollBar=null;this.hScrollBar=null;delete this.hScrollBar;delete this.hScrollBar;if(this.gridcontent){this.gridcontent.remove();delete this.gridcontent}if(this.gridmenu){this.gridmenu=null;delete this.gridmenu}delete this._mousemovefunc;delete this._mousewheelfunc;this.dataview.destroy();delete this.dataview;this.bottomRight.remove();delete this.bottomRight;this.wrapper.remove();delete this.wrapper;if(this.pagerdiv){this.pagerdiv.remove();delete this.pagerdiv}if(this.pagerpageinput){this.pagerpageinput.remove();delete this.pagerpageinput}if(this.pagergoto){this.pagergoto.remove();delete this.pagergoto}if(this.pagershowrows){this.pagershowrows.remove();delete this.pagershowrows}if(this.pagerfirstbutton){this.pagerfirstbutton.remove();delete this.pagerfirstbutton}if(this.pagerlastbutton){this.pagerlastbutton.remove();delete this.pagerlastbutton}if(this.pagerbuttons){this.pagerbuttons.remove();delete this.pagerbuttons}if(this.pagerdetails){this.pagerdetails.remove();delete this.pagerdetails}if(this.pagergotoinput){this.pagergotoinput.remove();delete this.pagergotoinput}this.pager.remove();delete this.pager;this.groupsheader.remove();delete this.groupsheader;this.dataloadelement.remove();delete this.dataloadelement;this.toolbar.remove();delete this.toolbar;this.statusbar.remove();delete this.statusbar;this.host.removeData();this.host.removeClass();this.host.remove();this.host=null;delete this.host;delete this.element;delete this.set;delete this.get;delete this.that;delete this.call},_initializeColumns:function(){var f=this.source?this.source.datafields:null;if(f==null&&this.source&&this.source._source){f=this.source._source.datafields}var k=f?f.length>0:false;if(this.autogeneratecolumns){var m=new Array();if(f){b.each(f,function(){var i={datafield:this.name,text:this.text||this.name,cellsformat:this.format||""};m.push(i)})}else{if(this.source.records.length>0){var o=this.source.records[0];for(var h in o){if(h!="uid"){var g={width:100,datafield:h,text:h};m.push(g)}}}}this.columns=m}if(this.columns&&this.columns.records){for(var j=0;j<this.columns.records.length;j++){this._removecolumnhandlers(this.columns.records[j])}}var l=this.that;var e=new b.jqx.collection(this.element);var d=0;this._haspinned=false;if(!this._columns){this._columns=this.columns}else{this.columns=this._columns}if(this.groupable){b.each(this.groups,function(i){var p=new c(l,this);p.visibleindex=d++;p.width=l.groupindentwidth;e.add(p);p.grouped=true;p.filterable=false;p.sortable=false;p.editable=false;p.resizable=false;p.draggable=false})}if(this.rowdetails&&this.showrowdetailscolumn){var g=new c(l,this);g.visibleindex=d++;g.width=l.groupindentwidth;g.pinned=true;g.editable=false;g.filterable=false;g.draggable=false;g.groupable=false;g.resizable=false;e.add(g);l._haspinned=true}if(this.selectionmode=="checkbox"){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.checkboxcolumn=true;g.editable=false;g.columntype="checkbox";g.groupable=false;g.draggable=false;g.filterable=false;g.resizable=false;g.datafield="_checkboxcolumn";e.add(g)}var n=new Array();b.each(this.columns,function(i){if(l.columns[i]!=undefined){var p=new c(l,this);p.visibleindex=d++;if(this.dataField!=undefined){this.datafield=this.dataField}if(this.pinned){l._haspinned=true}if(l.showeverpresentrow){if(this.datafield==="addButtonColumn"||this.datafield==="resetButtonColumn"||this.datafield==="updateButtonColumn"||this.datafield==="deleteButtonColumn"){p.editable=false;p.groupable=false;p.draggable=false;p.filterable=false;p.resizable=false;p.menu=false}}if(this.datafield==null){if(l.source&&l.source._source&&(l.source._source.datatype=="array")){if(!k){if(!l.source._source.datafields){l.source._source.datafields=new Array();l.source._source.datafields.push({name:i.toString()})}else{l.source._source.datafields.push({name:i.toString()})}}this.datafield=i.toString();this.displayfield=i.toString();p.datafield=this.datafield;p.displayfield=this.displayfield}}else{if(n[this.datafield]){throw new Error("jqxGrid: Invalid column 'datafield' setting. jqxGrid's columns should be initialized with unique data fields.");l.host.remove();return false}else{n[this.datafield]=true}}e.add(p)}});if(this.adaptive){var g=new c(l,null);g.visibleindex=d++;g.width=l.groupindentwidth;g.editable=false;g.columntype="adaptive";g.cellsalign="center";g.groupable=false;g.draggable=false;g.menu=false;g.sortable=false;g.filterable=false;g.resizable=false;g.datafield="_adaptivecolumn";e.add(g)}if(this.rtl){e.records.reverse()}this.columns=e},_initializeRows:function(){var d=new b.jqx.collection(this.element);if(this.rows){this.rows.clear()}this.rows=d},_raiseEvent:function(j,e){if(e==undefined){e={owner:null}}if(this._trigger===false){return}var f=this.events[j];if(!this._camelCase){f=f.toLowerCase()}if(j==2||j==15){if(this.showeverpresentrow&&(this.everpresentrowactions.indexOf("delete")>=0||this.everpresentrowactions.indexOf("update")>=0)){if(this.updateeverpresentrow){var i=this}setTimeout(function(){i.updateeverpresentrow()},50)}}var g=e;g.owner=this;var h=new b.Event(f);h.owner=this;h.args=g;var d=this.host.trigger(h);e=h.args;return d},wheel:function(f,e){if(e.autoheight&&e.hScrollBar.css("visibility")!="visible"){f.returnValue=true;return true}var g=0;if(!f){f=window.event}if(f.originalEvent&&f.originalEvent.wheelDelta){f.wheelDelta=f.originalEvent.wheelDelta}if(f.wheelDelta){g=f.wheelDelta/120}else{if(f.detail){g=-f.detail/3}}if(g){var d=e._handleDelta(g);if(d){if(f.preventDefault){f.preventDefault()}if(f.originalEvent!=null){f.originalEvent.mouseHandled=true}if(f.stopPropagation!=undefined){f.stopPropagation()}}if(d){d=false;f.returnValue=d;return d}else{return false}}if(f.preventDefault){f.preventDefault()}f.returnValue=false},_handleDelta:function(f){if(this.vScrollBar.css("visibility")!="hidden"){var e=this.vScrollInstance.value;if(f<0){this.scrollDown()}else{this.scrollUp()}var d=this.vScrollInstance.value;if(e!=d){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var e=this.hScrollInstance.value;if(f>0){if(this.hScrollInstance.value>2*this.horizontalscrollbarstep){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*this.horizontalscrollbarstep)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var d=this.hScrollInstance.value;if(e!=d){if(this._activeFilterElement){this._activeFilterElement.jqxDropDownList("close")}return true}}}return false},scrollDown:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value+this.rowsheight<=d.max){d.setPosition(parseInt(d.value)+this.rowsheight)}else{d.setPosition(d.max)}},scrollUp:function(){if(this.vScrollBar.css("visibility")=="hidden"){return}var d=this.vScrollInstance;if(d.value-this.rowsheight>=d.min){d.setPosition(parseInt(d.value)-this.rowsheight)}else{d.setPosition(d.min)}},_removeHandlers:function(){var d=this.that;d.removeHandler(b(window),"orientationchange.jqxgrid"+d.element.id);d.removeHandler(b(window),"orientationchanged.jqxgrid"+d.element.id);d.removeHandler(d.vScrollBar,"valueChanged");d.removeHandler(d.hScrollBar,"valueChanged");d.vScrollInstance.valueChanged=null;d.hScrollInstance.valueChanged=null;var e="mousedown.jqxgrid";if(d.isTouchDevice()){e=b.jqx.mobile.getTouchEventName("touchend")}d.removeHandler(d.host,"dblclick.jqxgrid");d.removeHandler(d.host,e);d.removeHandler(d.content,"mousemove",d._mousemovefunc);d.removeHandler(d.host,"mouseleave.jqxgrid");d.removeHandler(d.content,"mouseenter");d.removeHandler(d.content,"mouseleave");d.removeHandler(d.content,"mousedown");d.removeHandler(d.content,"scroll");d.removeHandler(d.content,"selectstart."+d.element.id);d.removeHandler(d.host,"dragstart."+d.element.id);d.removeHandler(d.host,"keydown.edit"+d.element.id);d.removeHandler(b(document),"keydown.edit"+d.element.id);d.removeHandler(b(document),"keyup.edit"+d.element.id);if(d._mousemovedocumentfunc){d.removeHandler(b(document),"mousemove.selection"+d.element.id,d._mousemovedocumentfunc)}d.removeHandler(b(document),"mouseup.selection"+d.element.id);if(d._mousewheelfunc){d.removeHandler(d.host,"mousewheel",d._mousewheelfunc)}if(d.editable){d.removeHandler(b(document),"mousedown.gridedit"+d.element.id)}if(d.host.off){d.content.off("mousemove");d.host.off("mousewheel")}},_addHandlers:function(){var e=this.that;var d=e.isTouchDevice();if(!d){e.addHandler(e.host,"dragstart."+e.element.id,function(j){return false})}if(e.scrollbarautoshow){e.addHandler(e.host,"mouseenter.gridscroll"+e.element.id,function(j){e.vScrollBar.fadeIn("fast");e.hScrollBar.fadeIn("fast")});e.addHandler(e.host,"mouseleave.gridscroll"+e.element.id,function(j){if(!e.vScrollInstance.isScrolling()&&!e.hScrollInstance.isScrolling()){e.vScrollBar.fadeOut("fast");e.hScrollBar.fadeOut("fast")}})}if(e.editable){e.addHandler(b(document),"mousedown.gridedit"+e.element.id,function(m){if(e.editable&&e.begincelledit){if(e.editcell){if(!e.vScrollInstance.isScrolling()&&!e.vScrollInstance.isScrolling()){var r=e.host.coord();var q=e.host.width();var n=e.host.height();var v=false;var k=false;var t=false;if(m.pageY<r.top||m.pageY>r.top+n){v=true;k=true}if(m.pageX<r.left||m.pageX>r.left+q){v=true;t=true}if(v){var u=false;if(e.editcell&&e.editcell.editor){switch(e.editcell.columntype){case"datetimeinput":if(e.editcell.editor.jqxDateTimeInput&&e.editcell.editor.jqxDateTimeInput("container")&&e.editcell.editor.jqxDateTimeInput("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDateTimeInput("container").coord().top;var j=e.editcell.editor.jqxDateTimeInput("container").coord().top+e.editcell.editor.jqxDateTimeInput("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDateTimeInput("close")}else{return}}break;case"combobox":if(e.editcell.editor.jqxComboBox&&e.editcell.editor.jqxComboBox("container")&&e.editcell.editor.jqxComboBox("container")[0].style.display=="block"){var s=e.editcell.editor.jqxComboBox("container").coord().top;var j=e.editcell.editor.jqxComboBox("container").coord().top+e.editcell.editor.jqxComboBox("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxComboBox("close")}else{return}}break;case"dropdownlist":if(e.editcell.editor.jqxDropDownList&&e.editcell.editor.jqxDropDownList("container")&&e.editcell.editor.jqxDropDownList("container")[0].style.display=="block"){var s=e.editcell.editor.jqxDropDownList("container").coord().top;var j=e.editcell.editor.jqxDropDownList("container").coord().top+e.editcell.editor.jqxDropDownList("container").height();if(k&&(m.pageY<s||m.pageY>j)){v=true;e.editcell.editor.jqxDropDownList("close")}else{return}}break;case"template":case"custom":var l=["jqxDropDownList","jqxComboBox","jqxDropDownButton","jqxDateTimeInput"];var p=function(A){var z=e.editcell.editor.data();if(z[A]&&z[A].instance.container&&z[A].instance.container[0].style.display=="block"){var x=z[A].instance;var B=x.container.coord().top;var y=x.container.coord().top+x.container.height();if(k&&(m.pageY<B||m.pageY>y)){v=true;x.close();return true}else{return false}}};for(var o=0;o<l.length;o++){var w=p(l[o]);if(w==false){return}}break}}e.endcelledit(e.editcell.row,e.editcell.column,false,true);e._oldselectedcell=null}}}}})}e.vScrollInstance.valueChanged=function(j){if(e.virtualsizeinfo){e._closemenu();if(e.scrollmode!="physical"){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{if(e.currentScrollValue!=undefined&&Math.abs(e.currentScrollValue-j.currentValue)>=5){e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}else{e._renderrows(e.virtualsizeinfo);e.currentScrollValue=j.currentValue}}if(!e.pageable&&!e.groupable&&e.dataview.virtualmode){if(e.loadondemandupdate){clearTimeout(e.loadondemandupdate)}e.loadondemandupdate=setTimeout(function(){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)},100)}if(d){e._lastScroll=new Date()}}};e.hScrollInstance.valueChanged=function(l){if(e.virtualsizeinfo){e._closemenu();var k=function(){e._renderhorizontalscroll();e._renderrows(e.virtualsizeinfo);if(e.editcell&&!e.editrow){if(e._showcelleditor&&e.editcell.editing){if(!e.hScrollInstance.isScrolling()){e._showcelleditor(e.editcell.row,e.getcolumn(e.editcell.column),e.editcell.element,e.editcell.init)}}}};if(d){k()}else{var j=e._browser==undefined?e._isIE10():e._browser;if(navigator&&navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Chrome")==-1){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},1)}else{if(b.jqx.browser.msie){if(e._hScrollTimer){clearTimeout(e._hScrollTimer)}e._hScrollTimer=setTimeout(function(){k()},0.01)}else{k()}}}if(d){e._lastScroll=new Date()}}};e._mousewheelfunc=e._mousewheelfunc||function(j){if(!e.editcell&&e.enablemousewheel){e.wheel(j,e);return false}};e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);e.addHandler(e.host,"mousewheel",e._mousewheelfunc);var h="mousedown.jqxgrid";if(d){h=b.jqx.mobile.getTouchEventName("touchend")}e.addHandler(e.host,h,function(k){if(e.isTouchDevice()){e._newScroll=new Date();if(e._newScroll-e._lastScroll<500){return false}if(b(k.target).ischildof(e.vScrollBar)){return false}if(b(k.target).ischildof(e.hScrollBar)){return false}}e._mousedown=new Date();var j=e._handlemousedown(k,e);if(e.isNestedGrid){if(!e.resizablecolumn&&!e.columnsreorder){k.stopPropagation()}}e._lastmousedown=new Date();return j});if(!d){e.addHandler(e.host,"dblclick.jqxgrid",function(k){if(e.editable&&e.begincelledit&&e.editmode=="dblclick"){e._handledblclick(k,e)}else{if(b.jqx.browser.msie&&b.jqx.browser.version<9){var j=e._handlemousedown(k,e)}}e.mousecaptured=false;e._lastmousedown=new Date();return true});e._mousemovefunc=function(j){if(e._handlemousemove){return e._handlemousemove(j,e)}};e.addHandler(e.content,"mousemove",e._mousemovefunc);if(e._handlemousemoveselection){e._mousemovedocumentfunc=function(j){if(e._handlemousemoveselection){return e._handlemousemoveselection(j,e)}};e.addHandler(b(document),"mousemove.selection"+e.element.id,e._mousemovedocumentfunc)}e.addHandler(b(document),"mouseup.selection"+e.element.id,function(j){if(e._handlemouseupselection){e._handlemouseupselection(j,e)}})}try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var i=null;if(window.parent&&document.referrer){i=document.referrer}if(i&&i.indexOf(document.location.host)!=-1){var g=function(k){if(e._handlemouseupselection){try{e._handlemouseupselection(k,e)}catch(j){}}};e.addHandler(b(window.top.document),"mouseup.grid"+e.element.id,g)}}}}catch(f){}e.focused=false;if(!d){e.addHandler(e.content,"mouseenter",function(j){e.focused=true;if(e.wrapper){e.wrapper.attr("tabindex",1);e.content.attr("tabindex",2)}if(e._overlayElement){if(e.vScrollInstance.isScrolling()||e.hScrollInstance.isScrolling()){e._overlayElement[0].style.visibility="visible"}else{e._overlayElement[0].style.visibility="hidden"}}});e.addHandler(e.content,"mouseleave",function(j){if(e._handlemousemove){if(e.enablehover){e._clearhoverstyle()}}if(e._overlayElement){e._overlayElement[0].style.visibility="hidden"}e.focused=false});if(e.groupable||e.columnsreorder){e.addHandler(b(document),"selectstart."+e.element.id,function(j){if(e.__drag===true){return false}})}e.addHandler(e.content,"selectstart."+e.element.id,function(j){if(e.enablebrowserselection){return true}if(e.showfilterrow){if(b(j.target).ischildof(e.filterrow)){return true}}if(e.showeverpresentrow){if(b(j.target).ischildof(e.addnewrow)){return true}if(e.addnewrowtop){if(b(j.target).ischildof(e.addnewrowtop)){return true}}}if(j.target.className&&j.target.className.indexOf("jqx-grid-widget")>=0){return true}if(!e.editcell){return false}if(j.stopPropagation){j.stopPropagation()}});e.addHandler(b(document),"keyup.edit"+e.element.id,function(j){e._keydown=false});e.addHandler(b(document),"keydown.edit"+e.element.id,function(l){if(e.adaptiveview){return true}e._keydown=true&&!e.editcell;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(k===20){if(!e._capsLock){e._capsLock=true}else{e._capsLock=false}}if(e.handlekeyboardnavigation){if(e.focused||(l.target===e.element||b(l.target).ischildof(e.host))){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}}if(e.editable&&e.editcell){if(k==13||k==27||k==9||k==32){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}}if(k==27){e.mousecaptured=false;if(e.selectionarea.css("visibility")=="visible"){e.selectionarea.css("visibility","hidden")}}if(b.jqx.browser.msie&&b.jqx.browser.version<12&&e.focused&&!e.isNestedGrid){if(k==13&&j==false){return j}var j=true;var k=l.charCode?l.charCode:l.keyCode?l.keyCode:0;if(!e.editcell&&e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e)}}if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}return j}}return true});e.addHandler(e.host,"keyup.edit"+e.element.id,function(k){if(e.adaptiveview){return true}if(k.keyCode===9){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){switch(e.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var j=e.getselectedcell();if(j===null){e.selectcell(0,e.columns.records[0].displayfield)}break;default:var l=e.getselectedrowindex();if(l===-1){e.selectrow(0)}break}}}}});e.addHandler(e.host,"keydown.edit"+e.element.id,function(l){var j=true;if(e.adaptiveview){return true}if(e.handlekeyboardnavigation){var m=e.handlekeyboardnavigation(l);if(m==true){return false}}if(e.editable&&e.editmode!="programmatic"){if(e._handleeditkeydown){j=e._handleeditkeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}if(!e.editcell&&l.altKey){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){if(l.keyCode===40){var k=e.getselectedcell();if(k){e.openmenu(k.column)}}else{if(l.keyCode===38){e._closemenu()}}}}}if(!(b.jqx.browser.msie&&b.jqx.browser.version<8)){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);if(e.isNestedGrid){l.stopPropagation()}}}else{if(e.isNestedGrid){if(j&&e.keyboardnavigation&&e._handlekeydown){j=e._handlekeydown(l,e);l.stopPropagation()}}}if(!j){if(l.preventDefault){l.preventDefault()}if(l.stopPropagation!=undefined){l.stopPropagation()}}if(j&&e.selectedcells&&e.selectedcells.length>0){if(l.keyCode===9&&l.shiftKey&&e.table&&e.table[0].rows&&e.table[0].rows.length>0){if(!b(document.activeElement).ischildof(e.filterrow)){if(!b(document.activeElement).ischildof(e.pager)){e.table[0].rows[0].cells[0].focus()}}}}return j})}},_hittestrow:function(s,q){if(this.vScrollInstance==null||this.hScrollInstance==null){return}if(s==undefined){s=0}if(q==undefined){q==0}var l=this.vScrollInstance;var k=this.hScrollInstance;var f=l.value;if(this.vScrollBar.css("visibility")!="visible"){f=0}var m=k.value;if(this.hScrollBar.css("visibility")!="visible"){m=0}if(this.scrollmode=="deferred"&&this._newmax!=null){if(f>this._newmax){f=this._newmax}}var r=parseInt(f)+q;var j=parseInt(m)+s;if(this.visiblerows==null){return}if(this.visiblerows.length==0){return}var e=false;var i=this._findvisiblerow(r,this.visiblerows);if(i>=0){var o=this.visiblerows[i];var d=this.rowdetails&&o.rowdetails;var n=!o.rowdetailshidden;if(d){var g=this.visiblerows[i-1];if(g==o){o=g;i--}if(n){var h=b(this.hittestinfo[i].visualrow).position().top+parseInt(this.table.css("top"));var p=b(this.hittestinfo[i].visualrow).height();if(!(q>=h&&q<=h+p)){i++;o=this.visiblerows[i];e=true}}}}return{index:i,row:o,details:e}},getcellatposition:function(j,q){var r=this.that;var z=this.showheader?this.columnsheader.height()+2:0;var s=this._groupsheader()?this.groupsheader.height():0;var B=this.showtoolbar?this.toolbarheight:0;s+=B;var g=this.host.coord();if(this.hasTransform){g=b.jqx.utilities.getOffset(this.host)}var p=j-g.left;var n=q-z-g.top-s;var d=this._hittestrow(p,n);var k=d.row;var l=d.index;var t=this.table[0].rows[l];if(this.dataview&&this.dataview.records.length==0){var o=this.table[0].rows;var C=0;for(var w=0;w<o.length;w++){if(n>=C&&n<C+this.rowsheight){t=o[w];break}C+=this.rowsheight}k={boundindex:w}}if(t==null){return true}var u=this.hScrollInstance;var v=u.value;var f=0;var m=this.groupable?this.groups.length:0;for(var w=0;w<t.cells.length;w++){var h=parseInt(b(this.columnsrow[0].cells[w]).css("left"));var j=h-v;if(r.columns.records[w].pinned){j=h}if(r.columns.records[w].hidden||r.columns.records[w].adaptivehidden){continue}var A=j+b(this.columnsrow[0].cells[w]).width();if(A>=p&&p>=j){f=w;break}}if(k!=null){var e=this._getcolumnat(f);return{row:this.getboundindex(k),column:e.datafield,value:this.getcellvalue(this.getboundindex(k),e.datafield)}}return null},_handlemousedown:function(Y,n){if(Y.target==null){return true}if(n.disabled){return true}if(b(Y.target).ischildof(this.columnsheader)||b(Y.target).ischildof(this.hScrollBar)||b(Y.target).ischildof(this.vScrollBar)){return true}if(Y.target===n.bottomRight[0]){return true}var o;if(Y.which){o=(Y.which==3)}else{if(Y.button){o=(Y.button==2)}}var R;if(Y.which){R=(Y.which==2)}else{if(Y.button){R=(Y.button==1)}}if(R){return true}if(this.adaptiveview){if(b(Y.target).ischildof(b(this.adaptiveview))){return true}if(Y.target==this.adaptiveview){return true}}if(this.showstatusbar){if(b(Y.target).ischildof(this.statusbar)){return true}if(Y.target==this.statusbar[0]){return true}}if(this.showtoolbar){if(b(Y.target).ischildof(this.toolbar)){return true}if(Y.target==this.toolbar[0]){return true}}if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}if(Y.target==this.pager[0]){return true}}if(!this.columnsheader){return true}if(!this.editcell){if(this.pageable){if(b(Y.target).ischildof(this.pager)){return true}}}var W=this.showheader?this.columnsheader.height()+2:0;var C=this._groupsheader()?this.groupsheader.height():0;var F=this.showtoolbar?this.toolbarheight:0;C+=F;var U=this.host.coord();if(this.hasTransform){U=b.jqx.utilities.getOffset(this.host);var ab=this._getBodyOffset();U.left-=ab.left;U.top-=ab.top}var k=parseInt(Y.pageX);var l=parseInt(Y.pageY);if(this.isTouchDevice()){var Z=n.getTouches(Y);var Q=Z[0];k=parseInt(Q.pageX);l=parseInt(Q.pageY);if(n.touchmode==true){if(Q._pageX!=undefined){k=parseInt(Q._pageX);l=parseInt(Q._pageY)}}}var J=k-U.left;var I=l-W-U.top-C;if(this.pageable&&!this.autoheight&&this.gotopage){var d=this.pager.coord().top-U.top-C-W;if(I>d){return}}var V=this._hittestrow(J,I);if(!V){return}if(V.details){return}var r=V.row;var E=V.index;var s=Y.target.className;var j=this.table[0].rows[E];if(j==null){if(n.editable&&n.begincelledit){if(n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}n.mousecaptured=true;n.mousecaptureposition={left:Y.pageX,top:Y.pageY-C,clickedrow:j};var m=this.hScrollInstance;var u=m.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){u=m.max-m.value}}var G=-1;var D=this.groupable?this.groups.length:0;if(this.rtl){if(this.vScrollBar[0].style.visibility!="hidden"){u-=this.scrollbarsize+4}if(this.hScrollBar[0].style.visibility=="hidden"){u=-parseInt(this.content.css("left"))}}for(var S=0;S<j.cells.length;S++){var T=parseInt(b(this.columnsrow[0].cells[S]).css("left"));var k=T-u;if(n.columns.records[S].pinned&&!n.rtl){k=T}var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}if(this.rtl&&this._haspinned){for(var S=j.cells.length-1;S>=0;S--){if(!n.columns.records[S].pinned){break}var T=b(this.columnsrow[0].cells[S]).coord().left-this.host.coord().left;var k=T;var L=this._getcolumnat(S);if(L!=null&&L.hidden){continue}if(L!=null&&L.adaptivehidden){continue}var N=k+b(this.columnsrow[0].cells[S]).width();if(N>=J&&J>=k){G=S;n.mousecaptureposition.clickedcell=S;break}}}if(r!=null&&G>=0){this._raiseEvent(1,{rowindex:this.getboundindex(r),visibleindex:r.visibleindex,row:r,group:r.group,rightclick:o,originalEvent:Y});var L=this._getcolumnat(G);var O=this.getcellvalue(this.getboundindex(r),L.datafield);if(this.editable&&this.editcell){this._currentEditableColumn=G;if(L.datafield==this.editcell.column){if(this.getboundindex(r)==this.editcell.row){this.mousecaptured=false}}}if(L.columntype==="adaptive"){var K=document.createElement("div");var aa=document.createElement("div");var A=document.createElement("a");var w=document.createElement("a");var f=document.createElement("div");var M=this.getrowdata(this.getboundindex(r));A.href="#";w.href="#";K.style.zIndex=99999;K.style.position="absolute";K.style.left="0px";K.style.top="0px";K.style.width="100%";K.style.height="100%";K.className="jqx-adaptive-view jqx-widget-content";f.style.position="relative";f.style.top="100%";f.style.textAlign="center";f.style.marginTop="-40px";aa.style.position="absolute";aa.style.left="0px";aa.style.top="0px";aa.style.width="100%";aa.style.height="100%";if(this.theme){K.className="jqx-widget-content jqx-widget-content-"+this.theme}var e=document.createElement("span");e.className="jqx-icon-close";if(this.theme){e.className="jqx-icon-close jqx-widget-close-"+this.theme}e.style.zIndex=99;e.style.position="absolute";e.style.right="10px";e.style.top="10px";e.style.width="16px";e.style.height="16px";K.appendChild(aa);K.appendChild(e);A.innerHTML=this.gridlocalization.okstring;w.innerHTML=this.gridlocalization.cancelstring;A.addEventListener("mousedown",function(ad){var af={};var x=n.adaptiveview.querySelectorAll("input");for(var y=0;y<x.length;y++){var ae=x[y].value;var ac=x[y].getAttribute("data-column");af[ac]=ae}n.updaterow(M.uid,af);K.parentNode.removeChild(K);n.adaptiveview=null;ad.stopPropagation();return false});w.addEventListener("mousedown",function(){K.parentNode.removeChild(K);n.adaptiveview=null;Y.stopPropagation();return false});if(this.editable){f.appendChild(A);f.appendChild(w);K.appendChild(f)}var v="<table class='jqx-adaptive-table'><tr>";var E=0;for(var S=0;S<this.columns.records.length;S++){var L=this.columns.records[S];if(L.columntype==="adaptive"){continue}if(S>0&&E%2===0){v+="</tr><tr>"}var B=M[L.displayfield];if(L.cellsformat!=""){if(b.jqx.dataFormat){if(b.jqx.dataFormat.isDate(B)){B=b.jqx.dataFormat.formatdate(B,L.cellsformat,this.gridlocalization)}else{if(b.jqx.dataFormat.isNumber(B)){B=b.jqx.dataFormat.formatnumber(B,L.cellsformat,this.gridlocalization)}}}}var H=this.filterable?'<div datafield="'+L.datafield+'" class="'+n.toTP("jqx-grid-column-filterbutton")+'" style="position: relative; top: 4px; display: inline-block; width: 16px; height:16px;"></div>':"";if(this.editable){if(L.editable){v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' value='"+B+"'/></td>"}else{v+="<td>"+H+L.text+": <input data-column='"+L.displayfield+"' readonly value='"+B+"'/></td>"}}else{v+="<td>"+H+L.text+": "+B+"</td>"}E++}v+="</tr></table>";aa.innerHTML=v;e.addEventListener("mousedown",function(i){K.parentNode.removeChild(K);n.adaptiveview=null});this.wrapper[0].appendChild(K);this.adaptiveview=K;b(this.adaptiveview).find(".jqx-grid-column-filterbutton").on("click",function(){var i=this.getAttribute("datafield");var x=this.offsetTop;n.openmenu(i);setTimeout(function(){n.gridmenu.css("top",30+x);n.gridmenu.css("left",25);n.gridmenu.css("z-index",99999);n.gridmenu.parent().css("z-index",99999)},300)});return}this._raiseEvent(8,{rowindex:this.getboundindex(r),column:L?L.getcolumnproperties():null,row:r,visibleindex:r.visibleindex,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y});if(L.createwidget){return true}if(this.isTouchDevice()){if(L.columntype=="checkbox"&&this.editable&&this._overlayElement){if(!this.editcell){this._overlayElement.css("visibility","hidden");this.editcell=this.getcell(E,L.datafield);return true}}else{if(L.columntype=="button"&&this._overlayElement){if(L.buttonclick){L.buttonclick(j.cells[G].buttonrow,Y)}return true}}}var h=false;if(this._lastmousedown!=null){if(this._mousedown-this._lastmousedown<300){if(this._clickedrowindex==this.getboundindex(r)){this._raiseEvent(22,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,group:r.group,rightclick:o,originalEvent:Y});if(this._clickedcolumn==L.datafield){this._raiseEvent(23,{rowindex:this.getboundindex(r),row:r,visibleindex:r.visibleindex,column:L?L.getcolumnproperties():null,datafield:L?L.datafield:null,columnindex:G,value:O,rightclick:o,originalEvent:Y})}h=true;this._clickedrowindex=-1;this._clickedcolumn=null;if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}}}}if(o){return true}if(!h){this._clickedrowindex=this.getboundindex(r);this._clickedcolumn=L.datafield}var g=b.jqx.utilities.getBrowser();if(g.browser=="msie"&&parseInt(g.version)<=7){if(G==0&&this.rowdetails){s="jqx-grid-group-collapse"}if(D>0){if(G<=D){s="jqx-grid-group-collapse"}}}if(s.indexOf("jqx-grid-group-expand")!=-1||s.indexOf("jqx-grid-group-collapse")!=-1){if(!this.rtl){if(D>0&&G<D&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}else{if(D>0&&G>j.cells.length-D-1&&this._togglegroupstate){this._togglegroupstate(r.bounddata,true)}else{if(G==j.cells.length-1-D&&this.rowdetails&&this.showrowdetailscolumn){this._togglerowdetails(r.bounddata,true);this.gridcontent[0].scrollTop=0;this.gridcontent[0].scrollLeft=0}}}}else{if(r.boundindex!=-1){var p=this.selectedrowindexes.slice(0);var X=false;if(n.selectionmode!="none"&&n.selectionmode!="checkbox"&&this._selectrowwithmouse){if(n.selectionmode=="multiplecellsadvanced"||n.selectionmode=="multiplecellsextended"||n.selectionmode=="multiplerowsextended"||n.selectionmode=="multiplerowsadvanced"){if(!Y.ctrlKey&&!Y.shiftKey&&!Y.metaKey){n.selectedrowindexes=new Array();n.selectedcells=new Array()}}var z=false;var q=this.getboundindex(r);if(n._oldselectedrow===q||n.selectionmode==="none"){z=true}if(n.selectionmode.indexOf("cell")==-1){if((n.selectionmode!="singlerow")||(n.selectedrowindex!=q&&n.selectionmode=="singlerow")){this._applyrowselection(q,true,false,null,L.datafield);this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey)}}else{if(L.datafield!=null){this._selectrowwithmouse(n,V,p,L.datafield,Y.ctrlKey||Y.metaKey,Y.shiftKey);if(!Y.shiftKey){this._applycellselection(q,L.datafield,true,false)}}}if(n._oldselectedcell){if(n._oldselectedcell.datafield==n.selectedcell.datafield&&n._oldselectedcell.rowindex==n.selectedcell.rowindex){X=true}}n._oldselectedcell=n.selectedcell;n._oldselectedrow=q}if(n.autosavestate){if(n.savestate){n.savestate()}}if(n.editable&&n.begincelledit&&n.editmode!="programmatic"){if(Y.isPropagationStopped&&Y.isPropagationStopped()){return false}if(n.editmode=="selectedrow"){if(z&&!n.editcell){if(L.columntype!=="checkbox"){this._currentEditableColumn=G;var t=n.beginrowedit(this.getboundindex(r))}}else{if(n.editcell&&!z&&n.selectionmode!="none"){var t=n.endrowedit(n.editcell.row)}}}else{var q=this.getboundindex(r);var P=n.editmode=="click"||(X&&n.editmode=="selectedcell");if(n.selectionmode.indexOf("cell")==-1){if(n.editmode!="dblclick"){P=true}}if(P){if(r.boundindex!=undefined&&L.editable){var t=n.begincelledit(this.getboundindex(r),L.datafield,L.defaulteditorvalue);if(n.selectionmode.indexOf("cell")!=-1){n._applycellselection(q,L.datafield,false,false)}}}if(n.selectionmode.indexOf("cell")!=-1){if(n.editmode=="selectedcell"&&!X&&n.editcell){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}if(n.editmode=="dblclick"&&!X&&n.editcell&&!(n.editcell.row==q&&L.datafield==n.editcell.column)){n.endcelledit(n.editcell.row,n.editcell.column,false,true)}}return true}}}}return true},_columnPropertyChanged:function(e,d,g,f){},_rowPropertyChanged:function(g,d,f,e){},_serializeObject:function(d){if(d==null){return""}var e="";b.each(d,function(g){var i=this;if(g>0){e+=", "}e+="[";var f=0;for(var h in i){if(f>0){e+=", "}e+="{"+h+":"+i[h]+"}";f++}e+="]"});return e},isbindingcompleted:function(){return !this._loading},propertiesChangedHandler:function(d,e,f){if(f.width&&f.height&&Object.keys(f).length==2){d._updatesize(true,true);d._resizeWindow();if(d.virtualmode&&!d._loading){d.vScrollInstance.setPosition(0)}else{setTimeout(function(){d._renderrows(d.virtualsizeinfo)},100)}}},propertyChangedHandler:function(e,f,i,h){if(this.isInitialized==undefined||this.isInitialized==false){return}if(e.batchUpdate&&e.batchUpdate.width&&e.batchUpdate.height&&Object.keys(e.batchUpdate).length==2){return}f=f.toLowerCase();switch(f){case"editable":case"showcolumnheaderlines":case"showcolumnlines":case"showrowlines":e.refresh();break;case"everpresentrowactionsmode":if(i!=h){e._removeaddnewrow();e.render()}break;case"everpresentrowactions":e._updateaddnewrowui();break;case"showeverpresentrow":case"everpresentrowposition":case"everpresentrowheight":if(i!=h){e._removeaddnewrow();e.render()}break;case"rtl":e.content.css("left","");e.columns=e._columns;e._filterrowcache=[];e.vScrollBar.jqxScrollBar({rtl:h});e.hScrollBar.jqxScrollBar({rtl:h});if(e._initpager){e._initpager()}if(e._initgroupsheader){e._initgroupsheader()}e.render();break;case"enablebrowserselection":if(!e.showfilterrow){if(!e.showstatusbar&&!e.showtoolbar){e.host.addClass("jqx-disableselect")}e.content.addClass("jqx-disableselect")}if(e.enablebrowserselection){e.content.removeClass("jqx-disableselect");e.host.removeClass("jqx-disableselect")}break;case"columnsheight":if(e.columnsheight!=32||e.columngroups){e._measureElement("column")}e._render(true,true,true,false,false);break;case"rowsheight":if(h!=i){if(e.rowsheight!=31){e._measureElement("cell")}e.virtualsizeinfo=null;e.rendergridcontent(true,false);e.refresh()}break;case"scrollMode":e.vScrollInstance.thumbStep=e.rowsheight;break;case"showdefaultloadelement":e._builddataloadelement();break;case"showfiltermenuitems":case"showsortmenuitems":case"showgroupmenuitems":case"filtermode":e._initmenu();break;case"touchmode":if(i!=h){e._removeHandlers();e.touchDevice=null;e.vScrollBar.jqxScrollBar({touchMode:h});e.hScrollBar.jqxScrollBar({touchMode:h});e._updateTouchScrolling();e._arrange();e._updatecolumnwidths();e._updatecellwidths();e._addHandlers()}break;case"autoshowcolumnsmenubutton":if(i!=h){e._rendercolumnheaders()}break;case"rendergridrows":if(i!=h){e.updatebounddata()}break;case"editmode":if(i!=h){e._removeHandlers();e._addHandlers()}break;case"source":e.updatebounddata();if(e.virtualmode&&!e._loading){e.loadondemand=true;e._renderrows(e.virtualsizeinfo)}break;case"horizontalscrollbarstep":case"verticalscrollbarstep":case"horizontalscrollbarlargestep":case"verticalscrollbarlargestep":this.vScrollBar.jqxScrollBar({step:this.verticalscrollbarstep,largestep:this.verticalscrollbarlargestep});this.hScrollBar.jqxScrollBar({step:this.horizontalscrollbarstep,largestep:this.horizontalscrollbarlargestep});break;case"closeablegroups":if(e._initgroupsheader){e._initgroupsheader()}break;case"showgroupsheader":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}e._renderrows(e.virtualsizeinfo)}break;case"theme":if(h!=i){b.jqx.utilities.setTheme(i,h,e.host);if(e.gridmenu){e.gridmenu.jqxMenu({theme:h})}if(e.pageable){e._updatepagertheme()}if(e.filterable){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}}break;case"showtoolbar":case"toolbarheight":if(i!=h){e._arrange();e.refresh()}break;case"showstatusbar":if(i!=h){if(e.statusbar){if(h){e.statusbar.show()}else{e.statusbar.hide()}}e._arrange();e.refresh()}break;case"statusbarheight":if(i!=h){e._arrange();e.refresh()}break;case"filterable":case"showfilterrow":if(i!=h){e.render()}break;case"autoshowfiltericon":case"showfiltercolumnbackground":case"showpinnedcolumnbackground":case"showsortcolumnbackground":if(i!=h){e.rendergridcontent()}break;case"showrowdetailscolumn":if(i!=h){e.render()}break;case"scrollbarsize":if(i!=h){b.jqx.utilities.scrollBarSize=h;e._arrange()}break;case"width":case"height":if(i!=h){e._updatesize(true,true);e._resizeWindow();if(e.virtualmode&&!e._loading){e.vScrollInstance.setPosition(0)}else{setTimeout(function(){e._renderrows(e.virtualsizeinfo)},100)}}break;case"altrows":case"altstart":case"altstep":if(i!=h){e._renderrows(e.virtualsizeinfo)}break;case"groupsheaderheight":if(i!=h){e._arrange();if(e._initgroupsheader){e._initgroupsheader()}}break;case"pagerheight":if(i!=h){e._initpager()}break;case"selectedrowindex":e.selectrow(h);break;case"selectionmode":if(i!=h){if(h=="none"){e.selectedrowindexes=new Array();e.selectedcells=new Array();e.selectedrowindex=-1}e._renderrows(e.virtualsizeinfo);if(h=="checkbox"){e._render(false,false,true,false,false)}}break;case"showheader":if(h){e.columnsheader.css("display","block")}else{e.columnsheader.css("display","none")}break;case"virtualmode":if(i!=h){e.dataview.virtualmode=e.virtualmode;e.dataview.refresh(false);e._render(false,false,false)}break;case"columnsmenu":if(i!=h){e.render()}break;case"columngroups":e._render(true,true,true,false,false);break;case"columns":if(e.columns&&e.columns.length>e.headerZIndex){e.headerZIndex=e.columns.length+100}if(e._serializeObject(e._cachedcolumns)!==e._serializeObject(h)){var d=false;if(e.filterable){if(i&&i.records){b.each(i.records,function(){if(this.filter){d=true}e.dataview.removefilter(this.displayfield,this.filter)})}}e._columns=null;e._filterrowcache=[];e.render();if(d){e.applyfilters()}e._cachedcolumns=e.columns;if(e.removesort){e.removesort()}}else{e[f]=i}break;case"autoheight":if(i!=h){e._render(false,false,true)}break;case"pagermode":case"pagerbuttonscount":if(i!=h){if(e._initpager){if(e.pagershowrowscombo){e.pagershowrowscombo.jqxDropDownList("destroy");e.pagershowrowscombo=null}if(e.pagerrightbutton){e.removeHandler(e.pagerrightbutton,"mousedown");e.removeHandler(e.pagerrightbutton,"mouseup");e.removeHandler(e.pagerrightbutton,"click");e.pagerrightbutton.jqxButton("destroy");e.pagerrightbutton=null}if(e.pagerleftbutton){e.removeHandler(e.pagerleftbutton,"mousedown");e.removeHandler(e.pagerleftbutton,"mouseup");e.removeHandler(e.pagerleftbutton,"click");e.pagerleftbutton.jqxButton("destroy");e.removeHandler(b(document),"mouseup.pagerbuttons"+e.element.id);e.pagerleftbutton=null}e.pagerdiv.remove();e._initpager()}}break;case"pagesizeoptions":case"pageable":case"pagesize":if(i!=h){if(e._loading){throw new Error("jqxGrid: "+e.loadingerrormessage);return}if(!e.host.jqxDropDownList||!e.host.jqxListBox){e._testmodules();return}if(e._initpager){if(f!="pageable"&&f!="pagermode"){if(typeof(h)=="string"){var g="The expected value type is: Int.";if(f!="pagesize"){var g="The expected value type is: Array of Int values."}throw new Error("Invalid Value for: "+f+". "+g)}}e.dataview.pageable=e.pageable;e.dataview.pagenum=0;e.dataview.pagesize=e._getpagesize();if(e.virtualmode){e.updatebounddata()}e.dataview.refresh(true);e._initpager();if(f=="pagesizeoptions"){if(h!=null&&h.length>0){e.pagesize=parseInt(h[0]);e.dataview.pagesize=parseInt(h[0]);e.prerenderrequired=true;e._requiresupdate=true;e.dataview.pagenum=-1;e.gotopage(0)}}}e._render(false,false,false)}break;case"groups":if(e._serializeObject(i)!==e._serializeObject(h)){e.dataview.groups=h;e._refreshdataview();e._render(true,true,true,false)}break;case"groupable":if(i!=h){e.dataview.groupable=e.groupable;e.dataview.pagenum=0;e.dataview.refresh(false);e._render(false,false,true)}break;case"renderstatusbar":if(h!=null){e.renderstatusbar(e.statusbar)}break;case"rendertoolbar":if(h!=null){e.rendertoolbar(e.toolbar)}break;case"disabled":if(h){e.host.addClass(e.toThemeProperty("jqx-fill-state-disabled"))}else{e.host.removeClass(e.toThemeProperty("jqx-fill-state-disabled"))}b.jqx.aria(e,"aria-disabled",e.disabled);if(e.pageable){if(e.pagerrightbutton){e.pagerrightbutton.jqxButton({disabled:h});e.pagerleftbutton.jqxButton({disabled:h});e.pagershowrowscombo.jqxDropDownList({disabled:h});e.pagergotoinput.attr("disabled",h)}if(e.pagerfirstbutton){e.pagerfirstbutton.jqxButton({disabled:h});e.pagerlastbutton.jqxButton({disabled:h})}}e.vScrollBar.jqxScrollBar({disabled:h});e.hScrollBar.jqxScrollBar({disabled:h});if(e.filterable&&e.showfilterrow){e._updatefilterrowui(true)}if(e.showeverpresentrow){e._updateaddnewrowui(true)}break}}});function c(d,e){this.owner=d;this.datafield=null;this.displayfield=null;this.text="";this.createfilterpanel=null;this.sortable=true;this.hideable=true;this.editable=true;this.hidden=false;this.adaptivehidden=false;this.groupable=true;this.renderer=null;this.cellsrenderer=null;this.checkchange=null,this.threestatecheckbox=false;this.buttonclick=null,this.columntype=null;this.cellsformat="";this.align="left";this.cellsalign="left";this.width="auto";this.minwidth=25;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.filteritems=[];this.resizable=true;this.initeditor=null;this.createeditor=null;this.createwidget=null;this.initwidget=null;this.destroywidget=null;this.destroyeditor=null;this.geteditorvalue=null;this.validation=null;this.classname="";this.cellclassname="";this.cellendedit=null;this.cellbeginedit=null;this.cellvaluechanging=null;this.aggregates=null;this.aggregatesrenderer=null;this.menu=true;this.createfilterwidget=null;this.filtertype="default";this.filtercondition=null;this.rendered=null;this.exportable=true;this.exporting=false;this.draggable=true;this.nullable=true;this.clipboard=true;this.selectable=false;this._applyStyle=function(){var f=this;if(f.hovered){if(f.style.headerBackgroundHoveredColor){f.element.style.backgroundColor=f.style.headerBackgroundHoveredColor}if(f.style.headerHoveredColor){f.element.style.color=f.style.headerHoveredColor}return}if(f.selected){if(f.style.headerBackgroundSelectedColor){f.element.style.backgroundColor=f.style.headerBackgroundSelectedColor}if(f.style.headerSelectedColor){f.element.style.color=f.style.headerSelectedColor}return}if(f.style.headerBackgroundColor){f.element.style.backgroundColor=f.style.headerBackgroundColor}else{f.element.style.backgroundColor=""}if(f.style.headerColor){f.element.style.color=f.style.headerColor}else{f.element.style.color=""}};this._applyCellStyle=function(f){var j=this;var g=false;if(f.length){for(var h=0;h<f.length;h++){this._applyCellStyle(f[h])}return}if(j.style.backgroundColor||j.style.color||j.style.hoveredColor||j.style.hoveredColor||j.style.backgroundSelectedColor||j.style.selectedColor){g=true}if(!g){return}if(f.className.indexOf("hover")>=0){if(j.style.backgroundHoveredColor){f.style.backgroundColor=j.style.backgroundHoveredColor}if(j.style.hoveredColor){f.style.color=j.style.hoveredColor}return}if(f.className.indexOf("selected")>=0){if(j.style.backgroundSelectedColor){f.style.backgroundColor=j.style.backgroundSelectedColor}if(j.style.selectedColor){f.style.color=j.style.selectedColor}return}if(j.style.backgroundColor){f.style.backgroundColor=j.style.backgroundColor}if(j.style.color){f.style.color=j.style.color}};this.style={headerBackgroundColor:"",headerColor:"",headerBackgroundHoveredColor:"",headerHoveredColor:"",headerBackgroundSelectedColor:"",headerSelectedColor:"",backgroundColor:"",color:"",backgroundHoveredColor:"",hoveredColor:"",backgroundSelectedColor:"",selectedColor:""};this.enabletooltips=true;this.columngroup=null;this.filterdelay=800;this.reseteverpresentrowwidgetvalue=null;this.geteverpresentrowwidgetvalue=null;this.createeverpresentrowwidget=null;this.initeverpresentrowwidget=null;this.validateeverpresentrowwidgetvalue=null;this.destroyeverpresentrowwidget=null;this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hideable:this.hideable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsformat:this.cellsformat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(f,g){if(this[f]){var h=this[f];this[f]=g;this.owner._columnPropertyChanged(this,f,g,h)}else{if(this[f.toLowerCase()]){var h=this[f.toLowerCase()];this[f.toLowerCase()]=g;this.owner._columnPropertyChanged(this,f.toLowerCase(),g,h)}}};this._initfields=function(g){if(g!=null){var f=this.that;if(b.jqx.hasProperty(g,"dataField")){this.datafield=b.jqx.get(g,"dataField")}if(b.jqx.hasProperty(g,"selectable")){this.selectable=b.jqx.get(g,"selectable")}if(b.jqx.hasProperty(g,"displayField")){this.displayfield=b.jqx.get(g,"displayField")}else{this.displayfield=this.datafield}if(b.jqx.hasProperty(g,"enableTooltips")){this.enabletooltips=b.jqx.get(g,"enableTooltips")}if(b.jqx.hasProperty(g,"text")){this.text=b.jqx.get(g,"text")}else{this.text=this.displayfield}if(b.jqx.hasProperty(g,"style")){this.style=b.jqx.get(g,"style")}if(b.jqx.hasProperty(g,"createfilterpanel")){this.createfilterpanel=b.jqx.get(g,"createfilterpanel")}if(b.jqx.hasProperty(g,"sortable")){this.sortable=b.jqx.get(g,"sortable")}if(b.jqx.hasProperty(g,"hideable")){this.hideable=b.jqx.get(g,"hideable")}if(b.jqx.hasProperty(g,"hidden")){this.hidden=b.jqx.get(g,"hidden")}if(b.jqx.hasProperty(g,"adaptivehidden")){this.adaptivehidden=b.jqx.get(g,"adaptivehidden")}if(b.jqx.hasProperty(g,"groupable")){this.groupable=b.jqx.get(g,"groupable")}if(b.jqx.hasProperty(g,"renderer")){this.renderer=b.jqx.get(g,"renderer")}if(b.jqx.hasProperty(g,"align")){this.align=b.jqx.get(g,"align")}if(b.jqx.hasProperty(g,"cellsAlign")){this.cellsalign=b.jqx.get(g,"cellsAlign")}if(b.jqx.hasProperty(g,"clipboard")){this.clipboard=b.jqx.get(g,"clipboard")}if(b.jqx.hasProperty(g,"cellsFormat")){this.cellsformat=b.jqx.get(g,"cellsFormat")}if(b.jqx.hasProperty(g,"width")){this.width=b.jqx.get(g,"width")}if(b.jqx.hasProperty(g,"minWidth")){this.minwidth=parseInt(b.jqx.get(g,"minWidth"));if(isNaN(this.minwidth)){this.minwidth=25}}if(b.jqx.hasProperty(g,"maxWidth")){this.maxwidth=parseInt(b.jqx.get(g,"maxWidth"));if(isNaN(this.maxwidth)){this.maxwidth="auto"}}if(b.jqx.hasProperty(g,"cellsRenderer")){this.cellsrenderer=b.jqx.get(g,"cellsRenderer")}else{if(g.cellsRenderer){this.cellsrenderer=g.cellsRenderer}}if(b.jqx.hasProperty(g,"columnType")){this.columntype=b.jqx.get(g,"columnType")}if(b.jqx.hasProperty(g,"checkChange")){this.checkchange=b.jqx.get(g,"checkChange")}if(b.jqx.hasProperty(g,"buttonClick")){this.buttonclick=b.jqx.get(g,"buttonClick")}else{if(g.buttonClick){this.buttonclick=g.buttonClick}}if(b.jqx.hasProperty(g,"pinned")){this.pinned=b.jqx.get(g,"pinned")}if(b.jqx.hasProperty(g,"visibleIndex")){this.visibleindex=b.jqx.get(g,"visibleIndex")}if(b.jqx.hasProperty(g,"filterable")){this.filterable=b.jqx.get(g,"filterable")}if(b.jqx.hasProperty(g,"filter")){this.filter=b.jqx.get(g,"filter")}if(b.jqx.hasProperty(g,"resizable")){this.resizable=b.jqx.get(g,"resizable")}if(b.jqx.hasProperty(g,"editable")){this.editable=b.jqx.get(g,"editable")}if(b.jqx.hasProperty(g,"initEditor")){this.initeditor=b.jqx.get(g,"initEditor")}else{if(g.initEditor){this.initeditor=g.initEditor}}if(b.jqx.hasProperty(g,"createEditor")){this.createeditor=b.jqx.get(g,"createEditor")}else{if(g.createEditor){this.createeditor=g.createEditor}}if(b.jqx.hasProperty(g,"initWidget")){this.initwidget=b.jqx.get(g,"initWidget")}else{if(g.initWidget){this.initwidget=g.initWidget}}if(b.jqx.hasProperty(g,"createWidget")){this.createwidget=b.jqx.get(g,"createWidget")}else{if(g.createWidget){this.createwidget=g.createWidget}}if(b.jqx.hasProperty(g,"destroyWidget")){this.destroywidget=b.jqx.get(g,"destroyWidget")}else{if(g.destroyWidget){this.destroywidget=g.destroyWidget}}if(b.jqx.hasProperty(g,"reseteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"reseteverpresentrowwidgetvalue")){this.reseteverpresentrowwidgetvalue=b.jqx.get(g,"reseteverpresentrowwidgetvalue")}else{if(g.resetEverPresentRowWidgetValue){this.reseteverpresentrowwidgetvalue=g.resetEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"geteverpresentrowwidgetvalue")||b.jqx.hasFunction(g,"geteverpresentrowwidgetvalue")){this.geteverpresentrowwidgetvalue=b.jqx.get(g,"geteverpresentrowwidgetvalue")}else{if(g.getEverPresentRowWidgetValue){this.geteverpresentrowwidgetvalue=g.getEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"createeverpresentrowwidget")||b.jqx.hasFunction(g,"createeverpresentrowwidget")){this.createeverpresentrowwidget=b.jqx.get(g,"createeverpresentrowwidget")}else{if(g.createEverPresentRowWidget){this.createeverpresentrowwidget=g.createEverPresentRowWidget}}if(b.jqx.hasProperty(g,"initeverpresentrowwidget")||b.jqx.hasFunction(g,"initeverpresentrowwidget")){this.initeverpresentrowwidget=b.jqx.get(g,"initeverpresentrowwidget")}else{if(g.initEverPresentRowWidget){this.initeverpresentrowwidget=g.initEverPresentRowWidget}}if(b.jqx.hasProperty(g,"validateeverpresentrowwidgetvalue")){this.validateeverpresentrowwidgetvalue=b.jqx.get(g,"validateeverpresentrowwidgetvalue")}else{if(g.validateEverPresentRowWidgetValue){this.validateeverpresentrowwidgetvalue=g.validateEverPresentRowWidgetValue}}if(b.jqx.hasProperty(g,"destroyeverpresentrowwidget")||b.jqx.hasFunction(g,"destroyeverpresentrowwidget")){this.destroyeverpresentrowwidget=b.jqx.get(g,"destroyeverpresentrowwidget")}else{if(g.destroyEverPresentRowWidget){this.destroyEverPresentRowWidget=g.destroyEverPresentRowWidget}}if(b.jqx.hasProperty(g,"destroyEditor")){this.destroyeditor=b.jqx.get(g,"destroyEditor")}else{if(g.destroyEditor){this.destroyeditor=g.destroyEditor}}if(b.jqx.hasProperty(g,"getEditorValue")){this.geteditorvalue=b.jqx.get(g,"getEditorValue")}else{if(g.getEditorValue){this.geteditorvalue=g.getEditorValue}}if(b.jqx.hasProperty(g,"validation")){this.validation=b.jqx.get(g,"validation")}else{if(g.validation){this.validation=g.validation}}if(b.jqx.hasProperty(g,"cellBeginEdit")){this.cellbeginedit=b.jqx.get(g,"cellBeginEdit")}else{if(g.cellBeginEdit){this.cellbeginedit=g.cellBeginEdit}}if(b.jqx.hasProperty(g,"cellEndEdit")){this.cellendedit=b.jqx.get(g,"cellEndEdit")}else{if(g.cellEndEdit){this.cellendedit=g.cellEndEdit}}if(b.jqx.hasProperty(g,"className")){this.classname=b.jqx.get(g,"className")}if(b.jqx.hasProperty(g,"cellClassName")){this.cellclassname=b.jqx.get(g,"cellClassName")}else{if(g.cellClassName){this.cellclassname=g.cellClassName}}if(b.jqx.hasProperty(g,"menu")){this.menu=b.jqx.get(g,"menu")}if(b.jqx.hasProperty(g,"aggregates")){this.aggregates=b.jqx.get(g,"aggregates")}if(b.jqx.hasProperty(g,"aggregatesRenderer")){this.aggregatesrenderer=b.jqx.get(g,"aggregatesRenderer")}if(b.jqx.hasProperty(g,"createFilterWidget")){this.createfilterwidget=b.jqx.get(g,"createFilterWidget")}if(b.jqx.hasProperty(g,"filterType")){this.filtertype=b.jqx.get(g,"filterType")}if(b.jqx.hasProperty(g,"filterDelay")){this.filterdelay=b.jqx.get(g,"filterDelay")}if(b.jqx.hasProperty(g,"rendered")){this.rendered=b.jqx.get(g,"rendered")}if(b.jqx.hasProperty(g,"exportable")){this.exportable=b.jqx.get(g,"exportable")}if(b.jqx.hasProperty(g,"filterItems")){this.filteritems=b.jqx.get(g,"filterItems")}if(b.jqx.hasProperty(g,"cellValueChanging")){this.cellvaluechanging=b.jqx.get(g,"cellValueChanging")}if(b.jqx.hasProperty(g,"draggable")){this.draggable=b.jqx.get(g,"draggable")}if(b.jqx.hasProperty(g,"filterCondition")){this.filtercondition=b.jqx.get(g,"filterCondition")}if(b.jqx.hasProperty(g,"threeStateCheckbox")){this.threestatecheckbox=b.jqx.get(g,"threeStateCheckbox")}if(b.jqx.hasProperty(g,"nullable")){this.nullable=b.jqx.get(g,"nullable")}if(b.jqx.hasProperty(g,"columnGroup")){this.columngroup=b.jqx.get(g,"columnGroup")}if(!g instanceof String&&!(typeof g=="string")){for(var h in g){if(!f.hasOwnProperty(h)){if(!f.hasOwnProperty(h.toLowerCase())){d.host.remove();throw new Error("jqxGrid: Invalid property name - "+h+".")}}}}}};this._initfields(e);return this}function a(d,e){this.setdata=function(f){if(f!=null){this.bounddata=f;this.boundindex=f.boundindex;this.visibleindex=f.visibleindex;this.group=f.group;this.parentbounddata=f.parentItem;this.uniqueid=f.uniqueid;this.level=f.level}};this.setdata(e);this.parentrow=null;this.subrows=new Array();this.owner=d;this.height=25;this.hidden=false;this.rowdetails=null;this.rowdetailsheight=100;this.rowdetailshidden=true;this.top=-1;this.setrowinfo=function(f){this.hidden=f.hidden;this.rowdetails=f.rowdetails;this.rowdetailsheight=f.rowdetailsheight;this.rowdetailshidden=!f.showdetails;this.height=f.height};return this}b.jqx.collection=function(d){this.records=new Array();this.owner=d;this.updating=false;this.beginupdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this._raiseEvent=function(e){};this.clear=function(){this.records=new Array()};this.replace=function(f,e){this.records[f]=e;if(!this.updating){this._raiseEvent({type:"replace",element:e})}};this.isempty=function(e){if(this.records[e]==undefined){return true}return false};this.initialize=function(e){if(e<1){e=1}this.records[e-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(e){return this.records.indexOf(e)};this.add=function(e){if(e==null){return false}this.records[this.records.length]=e;if(!this.updating){this._raiseEvent({type:"add",element:e})}return true};this.insertAt=function(f,e){if(f==null||f==undefined){return false}if(e==null){return false}if(f>=0){if(f<this.records.length){this.records.splice(f,0,e);if(!this.updating){this._raiseEvent({type:"insert",index:f,element:e})}return true}else{return this.add(e)}}return false};this.remove=function(f){if(f==null||f==undefined){return false}var e=this.records.indexOf(f);if(e!=-1){this.records.splice(e,1);if(!this.updating){this._raiseEvent({type:"remove",element:f})}return true}return false};this.removeAt=function(f){if(f==null||f==undefined){return false}if(f<0){return false}if(f<this.records.length){var e=this.records[f];this.records.splice(f,1);if(!this.updating){this._raiseEvent({type:"removeAt",index:f,element:e})}return true}return false};return this};b.jqx.dataview=function(){this.self=this;this.aggregates=false;this.grid=null;this.uniqueId="id";this.records=[];this.rows=[];this.columns=[];this.groups=[];this.filters=new Array();this.updated=null;this.update=null;this.suspend=false;this.pagesize=0;this.pagenum=0;this.totalrows=0;this.totalrecords=0;this.groupable=true;this.loadedrecords=[];this.loadedrootgroups=[];this.loadedgroups=[];this.loadedgroupsByKey=[];this.virtualmode=true;this._cachegrouppages=new Array();this.source=null;this.changedrecords=new Array();this.rowschangecallback=null;this.that=this;this.destroy=function(){delete this.self;delete this.grid;delete this.uniqueId;delete this.records;delete this.rows;delete this.columns;delete this.groups;delete this.filters;delete this.updated;delete this.update;delete this.suspend;delete this.pagesize;delete this.pagenum;delete this.totalrows;delete this.totalrecords;delete this.groupable;delete this.loadedrecords;delete this.loadedrootgroups;delete this.loadedgroups;delete this.loadedgroupsByKey;delete this.virtualmode;delete this._cachegrouppages;delete this.source;delete this.changedrecords;delete this.rowschangecallback;delete this.that},this.suspendupdate=function(){this.suspend=true},this.isupdating=function(){return this.suspend},this.resumeupdate=function(d){this.suspend=false;if(d==undefined){d=true}this.refresh(d)},this.getrecords=function(){return this.records},this.clearrecords=function(){this.recordids=new Array()};this.databind=function(y,p){var w=y._source?true:false;var h=null;if(this.grid){this.aggregates=this.grid.showgroupaggregates}if(w){h=y;y=y._source}else{h=new b.jqx.dataAdapter(y,{autoBind:false})}var f=function(m){h.recordids=[];h.records=new Array();h.cachedrecords=new Array();h.originaldata=new Array();h._options.virtualmode=m.virtualmode;h._options.totalrecords=m.totalrecords;h._options.originaldata=m.originaldata;h._options.recordids=m.recordids;h._options.cachedrecords=new Array();h._options.pagenum=m.pagenum;h._options.pageable=m.pageable;if(y.type!=undefined){h._options.type=y.type}if(y.formatdata!=undefined){h._options.formatData=y.formatdata}if(y.contenttype!=undefined){h._options.contentType=y.contenttype}if(y.async!=undefined){h._options.async=y.async}if(y.updaterow!=undefined){h._options.updaterow=y.updaterow}if(y.addrow!=undefined){h._options.addrow=y.addrow}if(y.deleterow!=undefined){h._options.deleterow=y.deleterow}if(m.pagesize==0){m.pagesize=10}h._options.pagesize=m.pagesize};var B=function(I){I.totalrecords=h.totalrecords;if(!I.virtualmode){I.originaldata=h.originaldata;I.records=h.records;I.recordids=h.recordids;I.cachedrecords=h.cachedrecords}else{var m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)};if(y.recordstartindex!=undefined){m.startindex=parseInt(y.recordstartindex)}if(y.recordendindex!=undefined){m.endindex=parseInt(y.recordendindex)}else{if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}}if(!y.recordendindex){if(!I.grid.pageable){m.endindex=m.startindex+100;if(I.grid.autoheight){m.endindex=m.startindex+I.totalrecords}}else{m={startindex:I.pagenum*I.pagesize,endindex:(I.pagenum*I.pagesize+I.pagesize)}}}m.data=h.records;if(I.grid.rendergridrows&&I.totalrecords>0){var J=0;y.records=I.grid.rendergridrows(m);if(y.records.length){J=y.records.length}if(y.records&&!y.records[m.startindex]){var K=new Array();var H=m.startindex;b.each(y.records,function(){K[H]=this;H++;J++});y.records=K}if(J==0){if(y.records){b.each(y.records,function(){J++})}}if(J>0&&J<m.endindex-m.startindex&&!I.grid.groupable){var x=y.records[0];for(var q=0;q<m.endindex-m.startindex-J;q++){var L={};for(var o in x){L[o]=""}if(y.records.push){y.records.push(L)}}}}if(!y.records||I.totalrecords==0){y.records=new Array()}I.originaldata=y.records;I.records=y.records;I.cachedrecords=y.records}};f(this);this.source=y;if(p!==undefined){var k=p}var G=this.that;switch(y.datatype){case"local":case"array":default:if(y.localdata==null){y.localdata=[]}if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){if(o!=undefined&&o!=""){var q=h._changedrecords[0];if(q){var x=new Array();b.each(h._changedrecords,function(K){var H=this.index;var I=this.record;G.grid._updateFromAdapter=true;switch(o){case"update":var J=G.grid.getrowid(H);if(K==h._changedrecords.length-1){G.grid.updaterow(J,I)}else{G.grid.updaterow(J,I,false)}G.grid._updateFromAdapter=false;return;case"add":G.grid.addrow(null,I);G.grid._updateFromAdapter=false;return;case"remove":var J=G.grid.getrowid(H);x.push(J);return}});if(x.length>0){G.grid.deleterow(x,false);G.grid._updateFromAdapter=false}}if(o=="update"){return}}var m=G.totalrecords;B(G,o);if(y.localdata.notifier===null&&y.localdata.name=="observableArray"){y.localdata.notifier=function(L){if(G._updating){return}G._updating=true;var K=G.grid.getrowid(L.index);switch(L.type){case"add":var H=b.extend({},L.object[L.index]);var J=h.getid(y.id,H,L.index);if(L.index===0){G.grid.addrow(J,H,"first")}else{G.grid.addrow(J,H)}break;case"delete":G.grid.deleterow(K);break;case"update":if(L.path&&L.path.split(".").length>1){var I=L.path.split(".");G.grid.setcellvalue(L.index,I[I.length-1],L.newValue)}else{var H=b.extend({},L.object[L.index]);G.grid.updaterow(K,H)}break}G._updating=false}}if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(y.localdata!=null){h.unbindBindingUpdate(G.grid.element.id);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}var n=function(o){var m=G.totalrecords;B(G);if(o=="updateData"){G.refresh();G.grid._updateGridData()}else{if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(m!=G.totalrecords)}};n();h.bindBindingUpdate(G.grid.element.id,n);return}var D={};var C=[];var v=0;var E={};for(var j=0;j<G.filters.length;j++){var g=G.filters[j].datafield;var l=G.filters[j].filter;if(!l.getfilters){continue}var i=l.getfilters();E[g+"operator"]=l.operator;for(var A=0;A<i.length;A++){i[A].datafield=g;var u=i[A].value;if(i[A].type=="datefilter"){if(i[A].value&&i[A].value.toLocaleString){var d=G.grid.getcolumn(i[A].datafield);if(d&&d.cellsformat){var z=G.grid.source.formatDate(i[A].value,d.cellsformat,G.grid.gridlocalization);if(z){E["filtervalue"+v]=z}else{E["filtervalue"+v]=i[A].value.toLocaleString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString()}}else{E["filtervalue"+v]=u.toString();if(i[A].data){E["filterid"+v]=i[A].data.toString()}if(i[A].id){E["filterid"+v]=i[A].id.toString()}}E["filtercondition"+v]=i[A].condition;E["filteroperator"+v]=i[A].operator;E["filterdatafield"+v]=g;var t={label:u.toString()};if(i[A].data){t.value=i[A].data.toString()}if(i[A].id){t.value=i[A].id.toString()}else{t.value=u.toString()}t.condition=i[A].condition;t.operator=i[A].operator==0?"and":"or";t.field=g;t.type=i[A].type;var e=false;if(C.length>0){for(var s=0;s<C.length;s++){var r=C[s];if(r.field==g){r.filters.push(t);e=true;break}}}if(!e){C.push({field:g,filters:[]});C[C.length-1].filters.push(t)}v++}}E.filterGroups=C;E.filterscount=v;E.groupscount=G.groups.length;for(var j=0;j<G.groups.length;j++){E["group"+j]=G.groups[j]}if(y.recordstartindex==undefined){y.recordstartindex=0}if(y.recordendindex==undefined||y.recordendindex==0){if(G.grid.height&&G.grid.height.toString().indexOf("%")==-1){y.recordendindex=parseInt(G.grid.height)/G.grid.rowsheight;y.recordendindex+=2;y.recordendindex=parseInt(y.recordendindex)}else{y.recordendindex=b(window).height()/G.grid.rowsheight;y.recordendindex=parseInt(y.recordendindex)}if(G.pageable){y.recordendindex=G.pagesize}}if(G.pageable){y.recordstartindex=(G.pagenum)*G.pagesize;y.recordendindex=(G.pagenum+1)*G.pagesize}b.extend(E,{sortdatafield:G.sortfield,sortorder:G.sortfielddirection,pagenum:G.pagenum,pagesize:G.grid.pagesize,recordstartindex:y.recordstartindex,recordendindex:y.recordendindex});var F=h._options.data;if(h._options.data){b.extend(h._options.data,E)}else{if(y.data){b.extend(E,y.data)}h._options.data=E}var n=function(){var o=b.jqx.browser.msie&&b.jqx.browser.version<9;var q=function(){var x=G.totalrecords;B(G);if(y.recordstartindex&&G.virtualmode){G.updateview(y.recordstartindex,y.recordstartindex+G.pagesize)}else{G.refresh()}G.update(x!=G.totalrecords)};if(o){try{q()}catch(m){}}else{q()}};h.unbindDownloadComplete(G.grid.element.id);h.bindDownloadComplete(G.grid.element.id,n);if((!G.grid.autobind&&G.grid.isInitialized)||G.grid.autobind){h.dataBind()}else{if(!G.grid.isInitialized&&!G.grid.autobind){n()}}h._options.data=F}};this.getid=function(g,e,f){if(b(g,e).length>0){return b(g,e).text()}if(g){if(g.toString().length>0){var d=b(e).attr(g);if(d!=null&&d.toString().length>0){return d}}}return f};this.getvaluebytype=function(g,d){var e=g;if(d.type=="date"){var f=new Date(g);if(f.toString()=="NaN"||f.toString()=="Invalid Date"){if(b.jqx.dataFormat){g=b.jqx.dataFormat.tryparsedate(g)}else{g=f}}else{g=f}if(g==null){g=e}}else{if(d.type=="float"){var g=parseFloat(g);if(isNaN(g)){g=e}}else{if(d.type=="int"){var g=parseInt(g);if(isNaN(g)){g=e}}else{if(d.type=="bool"){if(g!=null){if(g.toLowerCase()=="false"){g=false}else{if(g.toLowerCase()=="true"){g=true}}}if(g==1){g=true}else{if(g==0){g=false}else{g=""}}}}}}return g};this.setpaging=function(d){if(d.pageSize!=undefined){this.pagesize=d.pageSize}if(d.pageNum!=undefined){this.pagenum=Math.min(d.pageNum,Math.ceil(this.totalrows/this.pagesize))}this.refresh()};this.getpagingdetails=function(){return{pageSize:this.pagesize,pageNum:this.pagenum,totalrows:this.totalrows}};this._clearcaches=function(){this.sortcache={};this.sortdata=null;this.changedrecords=new Array();this.records=new Array();this.rows=new Array();this.cacheddata=new Array();this.originaldata=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid=new Array();this.cachedrecords=new Array();this.recordids=new Array()};this.addfilter=function(g,f){var e=-1;for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==g){e=d;break}}if(e==-1){this.filters[this.filters.length]={filter:f,datafield:g}}else{this.filters[e]={filter:f,datafield:g}}};this.removefilter=function(e){for(var d=0;d<this.filters.length;d++){if(this.filters[d].datafield==e){this.filters.splice(d,1);break}}};this.getItemFromIndex=function(d){return this.records[d]};this.updaterow=function(d,n,l){var e=this.filters&&this.filters.length>0&&!this.virtualmode;if(!e&&n!=undefined&&d!=undefined){n.uid=d;if(!(n[this.source.id])){n[this.source.id]=n.uid}var j=this.recordsbyid["id"+d];var k=this.records.indexOf(j);if(k==-1){return false}this.records[k]=n;if(this.cachedrecords){this.cachedrecords[k]=n}if(l==true||l==undefined){this.refresh()}this.changedrecords[n.uid]={Type:"Update",OldData:j,Data:n};return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var j=null;var k=-1;for(var h=0;h<f.length;h++){if(f[h].uid==d){j=f[h];k=h;break}}if(j){var m=this.that;for(var g in n){m.cachedrecords[k][g]=n[g]}if(l==true||l==undefined){this.refresh()}return true}}}return false};this.addrow=function(h,i,d,g){if(i!=undefined){if(b.isEmptyObject(i)){if(this.source&&this.source.datafields){b.each(this.source.datafields,function(){var j="";if(this.type=="number"){j=null}if(this.type=="date"){j=null}if(this.type=="bool"||this.type=="boolean"){j=false}i[this.name]=j})}}if(!h||this.recordsbyid["id"+h]){i.uid=this.getid(this.source.id,i,this.totalrecords);var e=this.recordsbyid["id"+i.uid];while(e!=null){var f=Math.floor(Math.random()*10000).toString();i.uid=f;e=this.recordsbyid["id"+f]}}else{i.uid=h}if(!(i[this.source.id])){if(this.source.id!=undefined){i[this.source.id]=i.uid}}i.boundindex=this.records.length;if(d=="last"){this.records.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.records.splice(d,0,i)}else{this.records.splice(0,0,i)}}if(this.filters&&this.filters.length>0){if(d=="last"){this.cachedrecords.push(i)}else{if(typeof d==="number"&&isFinite(d)){this.cachedrecords.splice(d,0,i)}else{this.cachedrecords.splice(0,0,i)}}}this.totalrecords++;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(g==true||g==undefined){this.refresh()}this.changedrecords[i.uid]={Type:"New",Data:i};return true}return false};this.deleterow=function(j,h){if(j!=undefined){var d=this.filters&&this.filters.length>0;if(this.recordsbyid["id"+j]&&!d){var e=this.recordsbyid["id"+j];var k=this.records.indexOf(e);if(this.grid&&this.grid.sortable&&this.grid.sortmode=="many"){for(var g=0;g<this.records.length;g++){if(this.records[g].boundindex===e.boundindex){k=g;break}}}this.changedrecords[j]={Type:"Delete",Data:this.records[k]};this.records.splice(k,1);this.totalrecords--;if(this.virtualmode){this.source.totalrecords=this.totalrecords}if(h==true||h==undefined){this.refresh()}return true}else{if(this.filters&&this.filters.length>0){var f=this.cachedrecords;var e=null;var k=-1;for(var g=0;g<f.length;g++){if(f[g].uid==j){e=f[g];k=g;break}}if(e){this.cachedrecords.splice(k,1);if(h==true||h==undefined){this.totalrecords=0;this.records=this.cachedrecords;this.refresh()}return true}}}return false}return false};this.reload=function(f,d,r,g,h,u,t){var m=this.that;var l=new Array();var o=f;var i=d;var j=r;var p=g;var k=i.length;var w=0;var e=0;var s,n;this.columns=[];this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this._cachegrouppages=new Array();this.recordsbyid={};if(this.totalrecords==0){Object.size=function(z){var y=0,x;for(x in z){if(z.hasOwnProperty(x)){y++}}return y};var v=Object.size(o);this.totalrecords=v;b.each(this.records,function(y){var z=this;var x=0;b.each(z,function(A,B){m.columns[x++]=A});return false})}if(this.virtualmode){if(this.pageable){this.updateview();return}var u=0;if(!this.groupable){this.updateview();return}else{var t=this.totalrecords}}else{var u=0;var t=this.totalrecords}if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){var q=u;q=this.loadgrouprecords(0,u,t,j,e,p,i,k,l)}else{w=this.loadflatrecords(u,t,j,e,p,i,k,l)}if(k>e){i.splice(e,k-e)}if(this.groups.length>0&&this.groupable){this.totalrows=q}else{this.totalrows=w}return l};this.loadflatrecords=function(u,r,h,d,p,g,j,l){var m=this.that;var o=u;var v=u;r=Math.min(r,this.totalrecords);var f=this.sortdata!=null;var s=this.source.id&&(this.source.datatype=="local"||this.source.datatype=="array"||this.source.datatype=="");var t=f?this.sortdata:this.records;for(var k=u;k<r;k++){var q={};if(!f){q=new Object(t[k]);var n=q[m.uniqueId];q.boundindex=o;m.loadedrecords[o]=q;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,o)}m.recordsbyid["id"+q.uid]=t[k];q.uniqueid=m.generatekey();m.bounditems[this.bounditems.length]=q}else{q=b.extend({},t[k].value);var n=q[m.uniqueId];q.boundindex=t[k].index;if(q.uid==undefined){q.uid=m.getid(m.source.id,q,q.boundindex)}m.recordsbyid["id"+q.uid]=t[k].value;m.loadedrecords[o]=q;q.uniqueid=m.generatekey();m.bounditems[q.boundindex]=q}if(d>=j||n!=g[d][m.uniqueId]||(p&&p[n])){l[l.length]=d}g[d]=q;d++;q.visibleindex=v;v++;o++}if(m.grid.summaryrows){var e=o;b.each(m.grid.summaryrows,function(){var i=b.extend({},this);i.boundindex=r++;m.loadedrecords[e]=i;i.uniqueid=m.generatekey();m.bounditems[m.bounditems.length]=i;g[d]=i;d++;i.visibleindex=v;v++;e++})}return v},this.updateview=function(o,p){var r=this.that;var k=this.pagesize*this.pagenum;var n=0;var s=new Array();var e=this.filters;var j=this.updated;var l=s.length;if(this.pageable){if(this.virtualmode){if(!this.groupable||this.groups.length==0){this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[]);this.totalrows=s.length}else{if(this.groupable&&this.groups.length>0&&this.loadgrouprecords){if(this._cachegrouppages[this.pagenum+"_"+this.pagesize]!=undefined){this.rows=this._cachegrouppages[this.pagenum+"_"+this.pagesize];this.totalrows=this.rows.length;return}var m=this.pagesize*(1+this.pagenum);if(m>this.totalrecords){m=this.totalrecords}this.loadgrouprecords(0,this.pagesize*this.pagenum,m,e,n,j,s,l,[]);this._cachegrouppages[this.pagenum+"_"+this.pagesize]=this.rows;this.totalrows=this.rows.length;return}}}}else{if(this.virtualmode&&(!this.groupable||this.groups.length==0)){var g=this.pagesize;if(g==0){g=Math.min(100,this.totalrecords)}var d=g*this.pagenum;if(this.loadedrecords.length==0){d=0}if(o!=null&&p!=null){this.loadflatrecords(o,p,e,n,j,s,l,[])}else{this.loadflatrecords(this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum),e,n,j,s,l,[])}this.totalrows=this.loadedrecords.length;this.rows=s;if(s.length>=g){return}}}if(this.groupable&&this.pageable&&this.groups.length>0&&this._updategroupsinpage){s=this._updategroupsinpage(r,e,k,n,l,this.pagesize*this.pagenum,this.pagesize*(1+this.pagenum))}else{for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum);h++){var q=h<this.loadedrecords.length?this.loadedrecords[h]:null;if(q==null){continue}if(!this.pagesize||(k>=this.pagesize*this.pagenum&&k<=this.pagesize*(this.pagenum+1))){s[n]=q;n++}k++}}if((s.length==0||s.length<this.pagesize)&&!this.pageable&&this.virtualmode){n=s.length;var f=s.length;for(var h=this.pagesize*this.pagenum;h<this.pagesize*(1+this.pagenum)-f;h++){var q={};q.boundindex=h+f;q.visibleindex=h+f;q.uniqueid=r.generatekey();q.empty=true;r.bounditems[h+f]=q;s[n]=q;n++}}this.rows=s};this.generatekey=function(){var d=function(){return(((1+Math.random())*16)|0)};return(""+d()+d()+"-"+d()+"-"+d()+"-"+d()+"-"+d()+d()+d())};this.reloaddata=function(){this.reload(this.records,this.rows,this.filter,this.updated,true)};this.refresh=function(m){if(this.suspend){return}if(m==undefined){m=true}var g=this.rows.length;var C=this.totalrows;if(this.filters.length>0&&!this.virtualmode){var r="";var f=this.cachedrecords.length;var k=new Array();this.totalrecords=0;var B=this.cachedrecords;this._dataIndexToBoundIndex=new Array();var t=this.filters.length;if(this.source!=null&&this.source.filter!=undefined&&this.source.localdata!=undefined){var n=this.source.filter(this.filters,B,f);if(n==undefined){n=new Array()}for(var l=0;l<f;l++){var h=B[l];var x=n.indexOf(h)>=0;if(x){k[k.length]=b.extend({dataindex:l},h);this._dataIndexToBoundIndex[l]={boundindex:k.length-1}}else{this._dataIndexToBoundIndex[l]=null}}this.records=k}else{if(this.source.filter==null||this.source.filter==undefined){for(var l=0;l<f;l++){var h=B[l];var x=undefined;for(var w=0;w<t;w++){var r=this.filters[w].filter;var u=h[this.filters[w].datafield];var q=r.evaluate(u);if(this.grid.filter){var A=this.grid.filter(u,h,this.filters[w].datafield,r,q);if(A!==undefined){q=A}}if(x==undefined){x=q}else{if(r.operator=="or"){x=x||q}else{x=x&&q}}}if(x){k[k.length]=b.extend({dataindex:l},h);this._dataIndexToBoundIndex[l]={boundindex:k.length-1}}else{this._dataIndexToBoundIndex[l]=null}}this.records=k}}if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var z=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,z);return}}else{var d=this.grid.getsortcolumns();for(var y=0;y<d.length;y++){var p=d[y];var v=p.dataField;this.grid.sortby(v,p.ascending,null)}return}}}else{if(this.filters.length==0&&!this.virtualmode){if(this.cachedrecords){this.totalrecords=0;var B=this.cachedrecords;this.records=B;if(this.sortdata){if(this.grid&&this.grid.sortmode!=="many"){var e=this.sortfield;if(this.sortcache[e]){this.sortdata=null;var z=this.sortcache[e].direction;this.sortcache[e]=null;this.sortby(this.sortfield,z);return}}else{var d=this.grid.getsortcolumns();for(var y=0;y<d.length;y++){var p=d[y];var v=p.dataField;this.grid.sortby(v,p.ascending,null)}return}}}}}var s=this.reload(this.records,this.rows,this.filter,this.updated,m);this.updated=null;if(this.rowschangecallback!=null){var o=this.rows;if(C!=this.totalrows){this.rowschangecallback({type:"PagingChanged",data:this.getpagingdetails()})}if(g!=o.length){this.rowschangecallback({type:"RowsCountChanged",data:{previous:g,current:o.length}})}if(s.length>0||g!=o.length){this.rowschangecallback({type:"RowsChanged",data:{previous:g,current:o.length,diff:s}})}}};return this}})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.pager.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.pager.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{_initpager:function(){var r=this.that;var j=this.gridlocalization.pagergotopagestring;var s=this.gridlocalization.pagerrangestring;var l=this.gridlocalization.pagershowrowsstring;var m=(this.pagerheight-28)/2;this.pagerdiv=this.pagerdiv||a('<div style="line-height: 26px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.vScrollBar.jqxScrollBar({thumbSize:0});return}if(!this.pagerrenderer){this.pagerdiv.css("top",m);this.pager.append(this.pagerdiv);this.pagergotoinput=this.pagergotoinput||a('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');this.pagergoto=this.pagergoto||a('<div style="float: right; margin-right: 7px;"></div>');this.pagerrightbutton=this.pagerrightbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerleftbutton=this.pagerleftbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerdetails=this.pagerdetails||a('<div style="margin-right: 7px; float: right;"></div>');this.pagershowrows=this.pagershowrows||a('<div style="margin-right: 7px; float: right;"></div>');this.pagerbuttons=a('<div style="margin-right: 3px; float: right;"></div>');if(this.pagershowrowscombo&&this.pagershowrowscombo.jqxDropDownList){this.pagershowrowscombo.remove();this.pagershowrowscombo=null}this.pagergotoinput.attr("disabled",this.disabled);this.pagerfirstbutton=a('<div type="button" style="padding: 0px; margin-left: 3px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagerlastbutton=a('<div type="button" style="padding: 0px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagershowrowscombo=this.pagershowrowscombo||a('<div id="gridpagerlist" style="margin-right: 7px; float: right;"></div>');this.pagerdiv.children().remove();this.pagershowrowscombo[0].id="gridpagerlist"+this.element.id;this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.removeHandler(this.pagerfirstbutton,"mousedown");this.removeHandler(this.pagerfirstbutton,"mouseup");this.removeHandler(this.pagerfirstbutton,"click");this.removeHandler(this.pagerlastbutton,"mousedown");this.removeHandler(this.pagerlastbutton,"mouseup");this.removeHandler(this.pagerlastbutton,"click");this.pagerleftbutton.attr("title",this.gridlocalization.pagerpreviousbuttonstring);this.pagerrightbutton.attr("title",this.gridlocalization.pagernextbuttonstring);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var n=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");n.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(n);var g=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);if(!this.rtl){this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton)}else{this.pagerdiv.append(this.pagerlastbutton);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerfirstbutton)}this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});var u=!this.rtl?"left":"right";this.pagerbuttons.css("float",u);this.pagerlastbutton.css("float",u);this.pagerfirstbutton.css("float",u);this.pagerrightbutton.css("float",u);this.pagerleftbutton.css("float",u);this.pagerdetails.css("float",this.rtl?"left":"right");if(this.rtl){this.pagerdetails.css("margin-left","7px");this.pagerdetails.css("margin-right","0px")}else{this.pagerdetails.css("margin-left","0px");this.pagerdetails.css("margin-right","7px")}this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show();if(!this.rtl){this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}this.pagerrightbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var c=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");c.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(c);var d=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(d);this.pagerdiv.append(this.pagerdetails);if(this.pagermode!="simple"){if(!this.rtl){this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagergoto)}else{this.pagerdiv.append(this.pagergoto);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagerdetails);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}var o=this.pagesizeoptions;if(!this.pagershowrowscombo.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}this.pagershowrowscombo.jqxDropDownList({rtl:this.rtl,disabled:this.disabled,source:o,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:this.theme});var q=0;for(var p=0;p<o.length;p++){if(this.pagesize>=o[p]){q=p}}this.pagershowrows[0].innerHTML=l;this.pagergoto[0].innerHTML=j;this.updatepagerdetails();this.pagershowrowscombo.jqxDropDownList({selectedIndex:q});this.pagerpageinput=this.pagergotoinput.find("input");this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));if(this.rtl){this.pagerpageinput.css("direction","rtl")}var t=6+(this.columns.records?this.columns.records.length:this.columns.length);this.pagerpageinput.attr("tabindex",t++);this.pagershowrowscombo.attr("tabindex",t++);this.pagerleftbutton.attr("tabindex",t++);this.pagerrightbutton.attr("tabindex",t++);var r=this.that;this.removeHandler(this.pagershowrowscombo,"select");this.addHandler(this.pagershowrowscombo,"select",function(x){if(x.args){if(r.vScrollInstance){r.vScrollInstance.setPosition(0)}if(r.editcell!=null&&r.endcelledit){r.endcelledit(r.editcell.row,r.editcell.column,true,false)}var v=x.args.index;var y=r.dataview.pagenum*r.dataview.pagesize;var w=o[v];var z=r.pagesize;r.pagesize=parseInt(w);if(isNaN(r.pagesize)){r.pagesize=10}r.dataview.pagesize=r.pagesize;var i=Math.floor(y/r.dataview.pagesize);r.prerenderrequired=true;r._requiresupdate=true;r._raiseEvent(10,{pagenum:i,oldpagesize:z,pagesize:r.dataview.pagesize});r.gotopage(i);if(r.autoheight&&r._updatesizeonwindowresize){r._updatesize(true);setTimeout(function(){r._updatesize(true)},500)}setTimeout(function(){r.pagershowrowscombo.focus()},25)}});var k=this.pagergotoinput.find("input");k.addClass(this.toThemeProperty("jqx-grid-pager-input"));k.addClass(this.toThemeProperty("jqx-rc-all"));this.removeHandler(k,"keydown");this.removeHandler(k,"change");this.addHandler(k,"keydown",function(i){if(i.keyCode>=65&&i.keyCode<=90){return false}if(i.keyCode=="13"){var v=k.val();v=parseInt(v);if(!isNaN(v)){r.gotopage(v-1);setTimeout(function(){k.focus()},25)}return false}});this.addHandler(k,"change",function(){var i=k.val();i=parseInt(i);if(!isNaN(i)){r.gotopage(i-1);setTimeout(function(){k.focus()},25)}});this.addHandler(this.pagerrightbutton,"mouseenter",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+this.element.id,function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerrightbutton,"click",function(){if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}}});this.addHandler(this.pagerleftbutton,"click",function(){if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}}});this.addHandler(this.pagerrightbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}setTimeout(function(){r.pagerrightbutton.focus()},25)}});this.addHandler(this.pagerleftbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}setTimeout(function(){r.pagerleftbutton.focus()},25)}});var f=this;if(this.pagermode==="simple"){var e=this.pagerfirstbutton;var h=this.pagerlastbutton;this.addHandler(h,"mouseenter",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseenter",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mouseleave",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseleave",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mousedown",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mousedown",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(h,"mouseup",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mouseup",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+name+this.element.id,function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"));if(g){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"));n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))}});this.addHandler(e,"click",function(){if(!e.jqxButton("disabled")){if(!f.rtl){f.gotopage(0)}else{var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}}});this.addHandler(h,"click",function(){if(!h.jqxButton("disabled")){if(!f.rtl){var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}else{f.gotopage(0)}}})}}else{this.pagerdiv.children().remove();var b=this.pagerrenderer();if(b!=null){this.pagerdiv.append(a(b))}this.pager.append(this.pagerdiv)}this.vScrollBar.jqxScrollBar("refresh");this._arrange()},_updatepagertheme:function(){if(this.pagershowrowscombo==null){return}this.pagershowrowscombo.jqxDropDownList({theme:this.theme});this.pagerrightbutton.jqxButton({theme:this.theme});this.pagerleftbutton.jqxButton({theme:this.theme});this.pagerpageinput.removeClass();var c=this.pagergotoinput.find("input");c.removeClass();c.addClass(this.toThemeProperty("jqx-grid-pager-input"));c.addClass(this.toThemeProperty("jqx-rc-all"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var d=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(d);var e=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(e);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var h=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");h.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(h);var g=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton);this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerbuttons.css("float","left");this.pagerlastbutton.css("float","left");this.pagerfirstbutton.css("float","left");this.pagerrightbutton.css("float","left");this.pagerleftbutton.css("float","left");this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show()}var b=function(j,i){j.removeHandler(i,"mouseenter");j.removeHandler(i,"mouseleave");j.removeHandler(i,"mousedown");j.removeHandler(i,"mouseup")};b(this,this.pagerrightbutton);b(this,this.pagerleftbutton);var f=this.that;this.addHandler(this.pagerrightbutton,"mouseenter",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))})},gotopage:function(e){if(e==null||e==undefined){e=0}if(e==-1){e=0}if(e<0){return}var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var f=this.pagenum;this._raiseEvent(25,{oldpagenum:this.dataview.pagenum,pagenum:e,pagesize:this.dataview.pagesize});var c=Math.ceil(d/this.pagesize);if(e>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(e>0){e=c-1}if(e<0){e=0}}if(this.dataview.pagenum!=e||this._requiresupdate){if(this.pageable){if(this.source.pager){this.source.pager(e,this.dataview.pagesize,this.dataview.pagenum)}this.dataview.pagenum=e;if(this.virtualmode){this.hiddens=new Array();this.expandedgroups=new Array();if(this.rendergridrows){var i=e*this.dataview.pagesize;var h=i+this.dataview.pagesize;if(i!=null&&h!=null){if(this.pagerrightbutton){this.pagerrightbutton.jqxButton({disabled:true});this.pagerleftbutton.jqxButton({disabled:true});this.pagershowrowscombo.jqxDropDownList({disabled:true})}if(this.pagerfirstbutton){this.pagerfirstbutton.jqxButton({disabled:true});this.pagerlastbutton.jqxButton({disabled:true})}this.updatebounddata("pagechanged");this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});this.updatepagerdetails();if(this.autosavestate){if(this.savestate){this.savestate()}}return}}}else{this.dataview.updateview()}this._loadrows();this._updatepageviews();this.tableheight=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this.updatepagerdetails();if(this.autoheight||this.autorowheight){var g=this.host.height()-this._gettableheight();var b=g+this._pageviews[0].height;if(b!=this.host.height()){this._arrange();this._updatepageviews();if(this.autorowheight){this._renderrows(this.virtualsizeinfo)}}}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}this.focus();this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});if(this.autosavestate){if(this.savestate){this.savestate()}}}}},gotoprevpage:function(){if(this.dataview.pagenum>0){this.gotopage(this.dataview.pagenum-1)}else{if(this.pagermode!="simple"){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);this.gotopage(b-1)}}},gotonextpage:function(){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);if(this.dataview.pagenum<b-1){this.gotopage(this.dataview.pagenum+1)}else{if(this.pagermode!="simple"){this.gotopage(0)}}},updatepagerdetails:function(){if(this.pagerdetails!=null&&this.pagerdetails.length>0){var n=this.dataview.pagenum*this.pagesize;var d=(this.dataview.pagenum+1)*this.pagesize;if(d>=this.dataview.totalrecords){d=this.dataview.totalrecords}var q=this.dataview.totalrecords;if(this.summaryrows){q+=this.summaryrows.length;if((this.dataview.pagenum+1)*this.pagesize>this.dataview.totalrecords){d=q}}n++;var g=Math.ceil(q/this.dataview.pagesize);if(g>=1){g--}g++;if(this.pagermode!=="simple"){var o=this.pagergotoinput.find("input");o.val(this.dataview.pagenum+1)}else{var b="";var f=this.pagerbuttonscount;if(f==0||!f){f=5}var h=0;if(this.rtl){h=f-1}while((this.rtl&&h>=0)||(!this.rtl&&h<f)){var m=1+h;var k=this.dataview.pagenum/f;var e=Math.floor(k);m+=e*f;var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(m>g){break}if(!this.rtl){if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>";if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}}else{if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>"}if(this.rtl){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(!this.rtl){h++}else{h--}}var p=this["pagerbuttons"].find("a");this.removeHandler(p,"click");this.removeHandler(p,"mouseenter");this.removeHandler(p,"mouseleave");this["pagerbuttons"][0].innerHTML=b;var j=this;var c=function(){j.addHandler(p,"click",function(i){var r=a(i.target).attr("data-page");j.gotopage(parseInt(r)-1);return false});j.addHandler(p,"mouseenter",function(i){a(i.target).addClass(j.toTP("jqx-fill-state-hover"))});j.addHandler(p,"mouseleave",function(i){a(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};var p=this["pagerbuttons"].find("a");c(p)}this.pagergotoinput.attr("title","1 - "+g);if(d==0&&d<n){n=0}if(!this.rtl){this.pagerdetails[0].innerHTML=n+"-"+d+this.gridlocalization.pagerrangestring+q}else{this.pagerdetails[0].innerHTML=q+this.gridlocalization.pagerrangestring+d+"-"+n}if(n>d){this.gotoprevpage()}}},_updatepagedview:function(e,g,b){var j=this.that;if(this.dataview.rows.length!=this.dataview.pagesize){this.dataview.updateview()}var k=this.dataview.rows.length;for(var d=0;d<k;d++){var f=this.dataview.rows[d].visibleindex;var h={index:f,height:this.heights[f],hidden:this.hiddens[f],details:this.details[f]};if(this.heights[f]==undefined){this.heights[f]=this.rowsheight;h.height=this.rowsheight}if(this.hiddens[f]==undefined){this.hiddens[f]=false;h.hidden=false}if(this.details[f]==undefined){this.details[f]=null}if(h.height!=j.rowsheight){g-=j.rowsheight;g+=h.height}if(h.hidden){g-=h.height}else{b+=h.height;var c=0;if(this.rowdetails){if(h.details&&h.details.rowdetails&&!h.details.rowdetailshidden){c=h.details.rowdetailsheight;b+=c;g+=c}}}}this._pageviews[0]={top:0,height:b};return g}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{_initpager:function(){var r=this.that;var j=this.gridlocalization.pagergotopagestring;var s=this.gridlocalization.pagerrangestring;var l=this.gridlocalization.pagershowrowsstring;var m=(this.pagerheight-28)/2;this.pagerdiv=this.pagerdiv||a('<div style="line-height: 26px; width: 100%; height: 100%; position: relative;"></div>');if(!this.pageable){this.pagerdiv.remove();this.vScrollBar.jqxScrollBar({thumbSize:0});return}if(this.pagermode==="material"){var b=function(){var A=a("<div style='margin-top: 5px; width: 100%; height: 100%;'></div>");var v=document.createElement("style");v.innerHTML=".jqx-center{text-align:center}.jqx-pagination{display:inline-block}.jqx-pagination span{float:left;text-decoration:none;transition:background-color .3s;border-style:solid;border-width:1px;margin:0 4px;border-radius:100%;width:38px;height:38px;display:flex;justify-content:center;align-content:center;align-items:center;cursor:pointer}";A[0].appendChild(v);var G=r.getdatainformation();var z=G.paginginformation;var F=document.querySelector("#pager");var x=document.createElement("div");x.classList.add("jqx-center");var C="<span>❮</span>";for(var B=0;B<z.pagesize;B++){C+="<span>"+z.pagenum+B+1+"</span>"}C+="<span>❯</span>";x.innerHTML='<div class="jqx-pagination">'+C+"</div>";A[0].appendChild(x);var w=x.querySelectorAll("span");var y=r.theme;var D=function(I,H,i){I.classList.add("jqx-grid-column-header");if(i==="hover"){I.classList[H]("jqx-fill-state-hover")}if(y){I.classList.add("jqx-grid-column-header-"+y);if(i==="hover"){I.classList[H]("jqx-fill-state-hover-"+y)}}if(i==="pressed"){I.classList[H]("active");I.classList[H]("jqx-grid-cell-selected");if(y){I.classList[H]("jqx-grid-cell-selected-"+y)}}};for(var B=0;B<w.length;B++){var E=w[B];if(B>0&&B<w.length-1){E.innerHTML=z.pagenum+B;E.setAttribute("data-page",B)}else{if(B===0){E.setAttribute("data-page","prev")}if(B===w.length-1){E.setAttribute("data-page","next")}}if(B===z.pagenum+1){D(E,"add","pressed")}D(E,"add","normal");E.onmouseenter=function(){D(this,"add","hover")};E.onmouseleave=function(){D(this,"remove","hover")};E.onpointerdown=function(){D(this,"add","pressed")};E.onclick=function(){for(var J=0;J<w.length;J++){D(w[J],"remove","pressed")}var Q=this.getAttribute("data-page");var R=r.getdatainformation();var K=R.paginginformation;if(Q==="prev"&&K.pagenum>0){r.gotoprevpage()}else{if(Q==="next"&&K.pagenum<K.pagescount-1){r.gotonextpage()}else{if(Q!=="prev"&&Q!=="next"){Q=parseInt(Q);r.gotopage(Q-1)}}}var L=false;var I=null;R=r.getdatainformation();K=R.paginginformation;for(var M=0;M<w.length;M++){var P=w[M];var Q=parseInt(P.getAttribute("data-page"));if(Q===K.pagenum+1){D(P,"add","pressed")}var H=parseInt(w[1].getAttribute("data-page"))-1;var O=[H,H+K.pagesize];if((K.pagenum<O[0])||(K.pagenum>=O[1])){if(M>0&&M<w.length-1){if(!I){I=Math.max(1,K.pagenum-K.pagesize+M+1)}else{I++}P.innerHTML=I;L=true}}}if(L){for(var M=1;M<w.length-1;M++){var P=w[M];var N=parseInt(P.innerHTML);if(N===K.pagenum+1){D(P,"add","pressed")}P.setAttribute("data-page",N)}}return false}}return A}();this.pagerdiv.children().remove();this.pagerdiv.append(a(b));this.pager.append(this.pagerdiv)}else{if(!this.pagerrenderer){this.pagerdiv.css("top",m);this.pager.append(this.pagerdiv);this.pagergotoinput=this.pagergotoinput||a('<div style="margin-right: 12px; height: 28px; float: right;"><input style="height:100%; box-sizing: border-box; text-align: right; width: 36px;" type="text"/></div>');this.pagergoto=this.pagergoto||a('<div style="float: right; margin-right: 7px;"></div>');this.pagerrightbutton=this.pagerrightbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerleftbutton=this.pagerleftbutton||a('<div type="button" style="padding: 0px; margin-right: 3px; height:26px; width: 26px; float: right;"></div>');this.pagerdetails=this.pagerdetails||a('<div style="margin-right: 7px; float: right;"></div>');this.pagershowrows=this.pagershowrows||a('<div style="margin-right: 7px; float: right;"></div>');this.pagerbuttons=a('<div style="margin-right: 3px; float: right;"></div>');if(this.pagershowrowscombo&&this.pagershowrowscombo.jqxDropDownList){this.pagershowrowscombo.remove();this.pagershowrowscombo=null}this.pagergotoinput.attr("disabled",this.disabled);this.pagerfirstbutton=a('<div type="button" style="padding: 0px; margin-left: 3px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagerlastbutton=a('<div type="button" style="padding: 0px; margin-right: 3px; width: 26px; float: right;"></div>');this.pagershowrowscombo=this.pagershowrowscombo||a('<div id="gridpagerlist" style="margin-right: 7px; float: right;"></div>');this.pagerdiv.children().remove();this.pagershowrowscombo[0].id="gridpagerlist"+this.element.id;this.removeHandler(this.pagerrightbutton,"mousedown");this.removeHandler(this.pagerrightbutton,"mouseup");this.removeHandler(this.pagerrightbutton,"click");this.removeHandler(this.pagerleftbutton,"mousedown");this.removeHandler(this.pagerleftbutton,"mouseup");this.removeHandler(this.pagerleftbutton,"click");this.removeHandler(this.pagerfirstbutton,"mousedown");this.removeHandler(this.pagerfirstbutton,"mouseup");this.removeHandler(this.pagerfirstbutton,"click");this.removeHandler(this.pagerlastbutton,"mousedown");this.removeHandler(this.pagerlastbutton,"mouseup");this.removeHandler(this.pagerlastbutton,"click");this.pagerleftbutton.attr("title",this.gridlocalization.pagerpreviousbuttonstring);this.pagerrightbutton.attr("title",this.gridlocalization.pagernextbuttonstring);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var n=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");n.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(n);var g=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);if(!this.rtl){this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton)}else{this.pagerdiv.append(this.pagerlastbutton);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerfirstbutton)}this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});var u=!this.rtl?"left":"right";this.pagerbuttons.css("float",u);this.pagerlastbutton.css("float",u);this.pagerfirstbutton.css("float",u);this.pagerrightbutton.css("float",u);this.pagerleftbutton.css("float",u);this.pagerdetails.css("float",this.rtl?"left":"right");if(this.rtl){this.pagerdetails.css("margin-left","7px");this.pagerdetails.css("margin-right","0px")}else{this.pagerdetails.css("margin-left","0px");this.pagerdetails.css("margin-right","7px")}this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show();if(!this.rtl){this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}this.pagerrightbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var c=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");c.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(c);var d=a("<div style='margin-left: 6px; width: 15px; height: 26px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(d);this.pagerdiv.append(this.pagerdetails);if(this.pagermode!="simple"){if(!this.rtl){this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagergoto)}else{this.pagerdiv.append(this.pagergoto);this.pagerdiv.append(this.pagergotoinput);this.pagerdiv.append(this.pagershowrows);this.pagerdiv.append(this.pagershowrowscombo);this.pagerdiv.append(this.pagerdetails);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerleftbutton)}}var o=this.pagesizeoptions;if(!this.pagershowrowscombo.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}this.pagershowrowscombo.jqxDropDownList({rtl:this.rtl,disabled:this.disabled,source:o,enableBrowserBoundsDetection:true,keyboardSelection:false,autoDropDownHeight:true,width:"auto",height:28,theme:this.theme});var q=0;for(var p=0;p<o.length;p++){if(this.pagesize>=o[p]){q=p}}this.pagershowrows[0].innerHTML=l;this.pagergoto[0].innerHTML=j;this.updatepagerdetails();this.pagershowrowscombo.jqxDropDownList({selectedIndex:q});this.pagerpageinput=this.pagergotoinput.find("input");this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));if(this.rtl){this.pagerpageinput.css("direction","rtl")}var t=6+(this.columns.records?this.columns.records.length:this.columns.length);this.pagerpageinput.attr("tabindex",t++);this.pagershowrowscombo.attr("tabindex",t++);this.pagerleftbutton.attr("tabindex",t++);this.pagerrightbutton.attr("tabindex",t++);var r=this.that;this.removeHandler(this.pagershowrowscombo,"select");this.addHandler(this.pagershowrowscombo,"select",function(x){if(x.args){if(r.vScrollInstance){r.vScrollInstance.setPosition(0)}if(r.editcell!=null&&r.endcelledit){r.endcelledit(r.editcell.row,r.editcell.column,true,false)}var v=x.args.index;var y=r.dataview.pagenum*r.dataview.pagesize;var w=o[v];var z=r.pagesize;r.pagesize=parseInt(w);if(isNaN(r.pagesize)){r.pagesize=10}r.dataview.pagesize=r.pagesize;var i=Math.floor(y/r.dataview.pagesize);r.prerenderrequired=true;r._requiresupdate=true;r._raiseEvent(10,{pagenum:i,oldpagesize:z,pagesize:r.dataview.pagesize});r.gotopage(i);if(r.autoheight&&r._updatesizeonwindowresize){r._updatesize(true);setTimeout(function(){r._updatesize(true)},500)}setTimeout(function(){r.pagershowrowscombo.focus()},25)}});var k=this.pagergotoinput.find("input");k.addClass(this.toThemeProperty("jqx-grid-pager-input"));k.addClass(this.toThemeProperty("jqx-rc-all"));this.removeHandler(k,"keydown");this.removeHandler(k,"change");this.addHandler(k,"keydown",function(i){if(i.keyCode>=65&&i.keyCode<=90){return false}if(i.keyCode=="13"){var v=k.val();v=parseInt(v);if(!isNaN(v)){r.gotopage(v-1);setTimeout(function(){k.focus()},25)}return false}});this.addHandler(k,"change",function(){var i=k.val();i=parseInt(i);if(!isNaN(i)){r.gotopage(i-1);setTimeout(function(){k.focus()},25)}});this.addHandler(this.pagerrightbutton,"mouseenter",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){d.addClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){c.addClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+this.element.id,function(){d.removeClass(r.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(r.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerrightbutton,"click",function(){if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}}});this.addHandler(this.pagerleftbutton,"click",function(){if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}}});this.addHandler(this.pagerrightbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerrightbutton.jqxButton("disabled")){if(!r.rtl){r.gotonextpage()}else{r.gotoprevpage()}setTimeout(function(){r.pagerrightbutton.focus()},25)}});this.addHandler(this.pagerleftbutton,"keydown",function(i){if(i.keyCode!==13){return}if(!r.pagerleftbutton.jqxButton("disabled")){if(!r.rtl){r.gotoprevpage()}else{r.gotonextpage()}setTimeout(function(){r.pagerleftbutton.focus()},25)}});var f=this;if(this.pagermode==="simple"){var e=this.pagerfirstbutton;var h=this.pagerlastbutton;this.addHandler(h,"mouseenter",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseenter",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mouseleave",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))});this.addHandler(e,"mouseleave",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))});this.addHandler(h,"mousedown",function(){g.addClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mousedown",function(){n.addClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(h,"mouseup",function(){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))});this.addHandler(e,"mouseup",function(){n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))});this.addHandler(a(document),"mouseup.pagerbuttons"+name+this.element.id,function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"));c.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"));if(g){g.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"));n.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))}});this.addHandler(e,"click",function(){if(!e.jqxButton("disabled")){if(!f.rtl){f.gotopage(0)}else{var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}}});this.addHandler(h,"click",function(){if(!h.jqxButton("disabled")){if(!f.rtl){var v=f.dataview.totalrecords;var i=Math.ceil(v/f.pagesize);f.gotopage(i-1)}else{f.gotopage(0)}}})}}else{this.pagerdiv.children().remove();var b=this.pagerrenderer();if(b!=null){this.pagerdiv.append(a(b))}this.pager.append(this.pagerdiv)}}this.vScrollBar.jqxScrollBar("refresh");this._arrange()},_updatepagertheme:function(){if(this.pagershowrowscombo==null){return}this.pagershowrowscombo.jqxDropDownList({theme:this.theme});this.pagerrightbutton.jqxButton({theme:this.theme});this.pagerleftbutton.jqxButton({theme:this.theme});this.pagerpageinput.removeClass();var c=this.pagergotoinput.find("input");c.removeClass();c.addClass(this.toThemeProperty("jqx-grid-pager-input"));c.addClass(this.toThemeProperty("jqx-rc-all"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-input"));this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content"));this.pagerleftbutton.find(".jqx-icon-arrow-left").remove();this.pagerrightbutton.find(".jqx-icon-arrow-right").remove();var d=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");d.addClass(this.toThemeProperty("jqx-icon-arrow-left"));this.pagerleftbutton.wrapInner(d);var e=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(this.toThemeProperty("jqx-icon-arrow-right"));this.pagerrightbutton.wrapInner(e);if(this.pagermode=="simple"){if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.pagerbuttons.css("overflow","visible");this.pagerbuttons.css("padding","3px")}this.pagerfirstbutton.attr("title",this.gridlocalization.pagerfirstbuttonstring);this.pagerlastbutton.attr("title",this.gridlocalization.pagerlastbuttonstring);var h=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");h.addClass(this.toThemeProperty("jqx-icon-arrow-first"));this.pagerfirstbutton.wrapInner(h);var g=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");g.addClass(this.toThemeProperty("jqx-icon-arrow-last"));this.pagerlastbutton.wrapInner(g);this.pagerdiv.append(this.pagerfirstbutton);this.pagerdiv.append(this.pagerleftbutton);this.pagerdiv.append(this.pagerbuttons);this.pagerdiv.append(this.pagerrightbutton);this.pagerdiv.append(this.pagerlastbutton);this.pagerlastbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerfirstbutton.jqxButton({cursor:"pointer",disabled:this.disabled,theme:this.theme});this.pagerbuttons.css("float","left");this.pagerlastbutton.css("float","left");this.pagerfirstbutton.css("float","left");this.pagerrightbutton.css("float","left");this.pagerleftbutton.css("float","left");this.pagergotoinput.hide();this.pagershowrowscombo.hide();this.pagergoto.hide();this.pagershowrows.hide()}else{this.pagergotoinput.show();this.pagershowrowscombo.show();this.pagergoto.show();this.pagershowrows.show()}var b=function(j,i){j.removeHandler(i,"mouseenter");j.removeHandler(i,"mouseleave");j.removeHandler(i,"mousedown");j.removeHandler(i,"mouseup")};b(this,this.pagerrightbutton);b(this,this.pagerleftbutton);var f=this.that;this.addHandler(this.pagerrightbutton,"mouseenter",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseenter",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mouseleave",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))});this.addHandler(this.pagerleftbutton,"mouseleave",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))});this.addHandler(this.pagerrightbutton,"mousedown",function(){e.addClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerrightbutton,"mouseup",function(){e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))});this.addHandler(this.pagerleftbutton,"mousedown",function(){d.addClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))});this.addHandler(this.pagerleftbutton,"mouseup",function(){d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))})},gotopage:function(e){if(e==null||e==undefined){e=0}if(e==-1){e=0}if(e<0){return}var d=this.dataview.totalrecords;if(this.summaryrows){d+=this.summaryrows.length}var f=this.pagenum;this._raiseEvent(25,{oldpagenum:this.dataview.pagenum,pagenum:e,pagesize:this.dataview.pagesize});var c=Math.ceil(d/this.pagesize);if(e>=c){if(this.dataview.totalrecords==0){this.dataview.pagenum=0;this.updatepagerdetails()}if(e>0){e=c-1}if(e<0){e=0}}if(this.dataview.pagenum!=e||this._requiresupdate){if(this.pageable){if(this.source.pager){this.source.pager(e,this.dataview.pagesize,this.dataview.pagenum)}this.dataview.pagenum=e;if(this.virtualmode){this.hiddens=new Array();this.expandedgroups=new Array();if(this.rendergridrows){var i=e*this.dataview.pagesize;var h=i+this.dataview.pagesize;if(i!=null&&h!=null){if(this.pagerrightbutton){this.pagerrightbutton.jqxButton({disabled:true});this.pagerleftbutton.jqxButton({disabled:true});this.pagershowrowscombo.jqxDropDownList({disabled:true})}if(this.pagerfirstbutton){this.pagerfirstbutton.jqxButton({disabled:true});this.pagerlastbutton.jqxButton({disabled:true})}this.updatebounddata("pagechanged");this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});this.updatepagerdetails();if(this.autosavestate){if(this.savestate){this.savestate()}}return}}}else{this.dataview.updateview()}this._loadrows();this._updatepageviews();this.tableheight=null;this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);this.updatepagerdetails();if(this.autoheight||this.autorowheight){var g=this.host.height()-this._gettableheight();var b=g+this._pageviews[0].height;if(b!=this.host.height()){this._arrange();this._updatepageviews();if(this.autorowheight){this._renderrows(this.virtualsizeinfo)}}}if(this.editcell!=null&&this.endcelledit){this.endcelledit(this.editcell.row,this.editcell.column,false,false)}this.focus();this._raiseEvent(9,{pagenum:e,oldpagenum:f,pagesize:this.dataview.pagesize});if(this.autosavestate){if(this.savestate){this.savestate()}}}}},gotoprevpage:function(){if(this.dataview.pagenum>0){this.gotopage(this.dataview.pagenum-1)}else{if(this.pagermode!="simple"){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);this.gotopage(b-1)}}},gotonextpage:function(){var c=this.dataview.totalrecords;if(this.summaryrows){c+=this.summaryrows.length}var b=Math.ceil(c/this.pagesize);if(this.dataview.pagenum<b-1){this.gotopage(this.dataview.pagenum+1)}else{if(this.pagermode!="simple"){this.gotopage(0)}}},updatepagerdetails:function(){if(this.pagerdetails!=null&&this.pagerdetails.length>0){var n=this.dataview.pagenum*this.pagesize;var d=(this.dataview.pagenum+1)*this.pagesize;if(d>=this.dataview.totalrecords){d=this.dataview.totalrecords}var q=this.dataview.totalrecords;if(this.summaryrows){q+=this.summaryrows.length;if((this.dataview.pagenum+1)*this.pagesize>this.dataview.totalrecords){d=q}}n++;var g=Math.ceil(q/this.dataview.pagesize);if(g>=1){g--}g++;if(this.pagermode!=="simple"){var o=this.pagergotoinput.find("input");o.val(this.dataview.pagenum+1)}else{var b="";var f=this.pagerbuttonscount;if(f==0||!f){f=5}var h=0;if(this.rtl){h=f-1}while((this.rtl&&h>=0)||(!this.rtl&&h<f)){var m=1+h;var k=this.dataview.pagenum/f;var e=Math.floor(k);m+=e*f;var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(m>g){break}if(!this.rtl){if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}if(!this.rtl){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>";if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}}else{if(h===f-1){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(g>=1+m){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(1+m)+"'>...</a>"}}if(this.dataview.pagenum===m-1){l+=" "+this.toTP("jqx-fill-state-pressed")}b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+m+"'>"+m+"</a>"}if(this.rtl){var l=this.toTP("jqx-grid-pager-number");l+=" "+this.toTP("jqx-rc-all");if(h==0&&m>f){b+="<a class='"+l+"' tabindex=-1 href='javascript:;' data-page='"+(-1+m)+"'>...</a>"}}if(!this.rtl){h++}else{h--}}var p=this["pagerbuttons"].find("a");this.removeHandler(p,"click");this.removeHandler(p,"mouseenter");this.removeHandler(p,"mouseleave");this["pagerbuttons"][0].innerHTML=b;var j=this;var c=function(){j.addHandler(p,"click",function(i){var r=a(i.target).attr("data-page");j.gotopage(parseInt(r)-1);return false});j.addHandler(p,"mouseenter",function(i){a(i.target).addClass(j.toTP("jqx-fill-state-hover"))});j.addHandler(p,"mouseleave",function(i){a(i.target).removeClass(j.toTP("jqx-fill-state-hover"))})};var p=this["pagerbuttons"].find("a");c(p)}this.pagergotoinput.attr("title","1 - "+g);if(d==0&&d<n){n=0}if(!this.rtl){this.pagerdetails[0].innerHTML=n+"-"+d+this.gridlocalization.pagerrangestring+q}else{this.pagerdetails[0].innerHTML=q+this.gridlocalization.pagerrangestring+d+"-"+n}if(n>d){this.gotoprevpage()}}},_updatepagedview:function(e,g,b){var j=this.that;if(this.dataview.rows.length!=this.dataview.pagesize){this.dataview.updateview()}var k=this.dataview.rows.length;for(var d=0;d<k;d++){var f=this.dataview.rows[d].visibleindex;var h={index:f,height:this.heights[f],hidden:this.hiddens[f],details:this.details[f]};if(this.heights[f]==undefined){this.heights[f]=this.rowsheight;h.height=this.rowsheight}if(this.hiddens[f]==undefined){this.hiddens[f]=false;h.hidden=false}if(this.details[f]==undefined){this.details[f]=null}if(h.height!=j.rowsheight){g-=j.rowsheight;g+=h.height}if(h.hidden){g-=h.height}else{b+=h.height;var c=0;if(this.rowdetails){if(h.details&&h.details.rowdetails&&!h.details.rowdetailshidden){c=h.details.rowdetailsheight;b+=c;g+=c}}}}this._pageviews[0]={top:0,height:b};return g}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.selection.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.selection.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.extend(a.jqx._jqxGrid.prototype,{selectallrows:function(){this._trigger=false;var d=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();var e=this.dataview.loadedrecords;for(var c=0;c<d;c++){var f=e[c];if(!f){this.selectedrowindexes[c]=c;continue}var b=this.getboundindex(f);if(b!=undefined){this.selectedrowindexes[c]=b}}if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},unselectallrows:function(){this._trigger=false;var b=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},selectrow:function(b,c){if(this.selectionmode!=="none"){this._applyrowselection(b,true,c);if(c!==false){this._updatecheckboxselection()}}},_updatecheckboxselection:function(){if(this.selectionmode=="checkbox"){var d=this.getrows();if(d&&this._checkboxcolumn){if(d.length===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false});return}var c=d.length;if(this.groupable){c=this.dataview.loadedrecords.length}if(this.virtualmode){c=this.source._source.totalrecords}var b=this.selectedrowindexes.length;if(b===c){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}else{if(b===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}else{this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:null})}}}}},unselectrow:function(b,c){this._applyrowselection(b,false,c);if(c!==false){this._updatecheckboxselection()}},selectcell:function(c,b){this._applycellselection(c,b,true)},unselectcell:function(c,b){this._applycellselection(c,b,false)},clearselection:function(c,d){this._trigger=false;this.selectedrowindex=-1;this._oldselectedcell=null;if(d!==false){for(var b=0;b<this.selectedrowindexes.length;b++){this._raiseEvent(3,{rowindex:this.selectedrowindexes[b]})}}this.selectedrowindexes=new Array();this.selectedcells=new Array();this.selectedcell=null;if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}for(var b=0;b<this.columns.records.length;b++){this.columns.records[b].selected=false;this.columns.records[b]._applyStyle()}if(false===c){this._trigger=true;return}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(3,{rowindex:this.selectedrowindexes})}},getselectedrowindex:function(){if(this.selectedrowindex==-1||this.selectedrowindex==undefined){for(var b=0;b<this.selectedrowindexes.length;b++){return this.selectedrowindexes[b]}}return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){if(!this.selectedcell){return null}var b=this.selectedcell;b.row=this.selectedcell.rowindex;b.column=this.selectedcell.datafield;b.value=this.getcellvalue(b.row,b.column);return b},getselectedcells:function(){var b=new Array();for(var c in this.selectedcells){b[b.length]=this.selectedcells[c]}return b},_getcellsforcopypaste:function(){var e=new Array();if(this.selectionmode.indexOf("cell")==-1){var h=this.selectedrowindexes;for(var d=0;d<h.length;d++){var c=h[d];for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield==="_checkboxcolumn"){continue}var g=c+"_"+this.columns.records[f].datafield;var b={rowindex:c,datafield:this.columns.records[f].datafield};e.push(b)}}}return e},deleteselection:function(){var d=this;var f=d.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){f=this._getcellsforcopypaste()}if(f!=null&&f.length>0){for(var e=0;e<f.length;e++){var b=f[e];var g=d.getcolumn(b.datafield);var h=d.getcellvalue(b.rowindex,b.datafield);if(!g){continue}if(h!==""){var c=null;if(g.columntype=="checkbox"){if(!g.threestatecheckbox){c=false}}d._raiseEvent(17,{rowindex:b.rowindex,datafield:b.datafield,value:h});if(e==f.length-1){d.setcellvalue(b.rowindex,b.datafield,c,true);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}else{d.setcellvalue(b.rowindex,b.datafield,c,false);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}d._raiseEvent(18,{rowindex:b.rowindex,datafield:b.datafield,oldvalue:h,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},copyselection:function(){var n="";var s=this;this.clipboardselection={};this.logicalclipboardselection={};this._clipboardselection=[];var r=s.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){r=this._getcellsforcopypaste()}var b=0;var e=new Array();if(r!=null&&r.length>0){var t=999999999999999;var q=-1;for(var j=0;j<r.length;j++){var l=r[j];var d=s.getcolumn(l.datafield);if(d!=null&&d.clipboard&&(!d.hidden||this.copytoclipboardhiddencolumns)){if(e.indexOf(d.text)==-1){e.push(d.text)}var p=s.getcelltext(l.rowindex,d.displayfield);var h=this.getrowdisplayindex(l.rowindex);if(!this.clipboardselection[h]){this.clipboardselection[h]={}}this.clipboardselection[h][d.displayfield]=p;if(!this.logicalclipboardselection[h]){this.logicalclipboardselection[h]={}}this.logicalclipboardselection[h][d.displayfield]=p;if(d.displayfield!=d.datafield){this.logicalclipboardselection[h][d.datafield]=s.getcellvalue(l.rowindex,d.datafield)}t=Math.min(t,h);q=Math.max(q,h)}}var g=new Array();for(var f=t;f<=q;f++){if(!this.logicalclipboardselection[f]){continue}var o=a.extend({},this.logicalclipboardselection[f]);g.push(o)}this.logicalclipboardselection=g;if(this.copytoclipboardwithheaders){for(var c=0;c<e.length;c++){if(c>0){n+="\t"}n+=e[c]}n+="\r\n"}for(var f=t;f<=q;f++){var k=0;this._clipboardselection[this._clipboardselection.length]=new Array();if(this.clipboardselection[f]!=undefined){a.each(this.clipboardselection[f],function(i,m){if(k>0){n+="\t"}var u=m;if(m==null){u=""}s._clipboardselection[s._clipboardselection.length-1][k]=u;k++;n+=u})}else{continue}if(f<q){n+="\r\n"}}}this.clipboardselectedtext=n;return n},pasteselection:function(){var g=this.getselectedcells();this._oldselectedcell=null;if(this.selectionmode.indexOf("cell")==-1){g=this._getcellsforcopypaste()}if(g!=null&&g.length>0){var h=g[0].rowindex;var w=this.getrowdisplayindex(h);var q=g[0].datafield;var u=this._getcolumnindex(q);var o=0;this.selectedrowindexes=new Array();this.selectedcells=new Array();var k=g.length;var B=0;var d=new Array();if(this.copytoclipboardwithheaders){this._clipboardselection.splice(0,1)}for(var z=0;z<this._clipboardselection.length;z++){B+=this._clipboardselection[z].length;d[z]=new Array();for(var y=0;y<this._clipboardselection[z].length;y++){var r=this._clipboardselection[z][y];d[z].push(r)}}if(B<g.length){var n=new Array();for(var z=0;z<g.length;z++){var e=g[z];if(!n[e.rowindex]){n[e.rowindex]=new Array()}n[e.rowindex].push(e)}var A=0;var D=0;for(var z=0;z<n.length;z++){if(!n[z]){continue}for(var y=0;y<n[z].length;y++){var e=n[z][y];var m=e.rowindex;var f=this.getcolumn(e.datafield);if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var r="";if(undefined==d[A][D]){D=0}r=d[A][D];D++;if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){if(this.logicalclipboardselection[m]){var v=this.logicalclipboardselection[m][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}A++;D=0;if(!d[A]){A=0}}}else{if(!this._clipboardselection){return}for(var l=0;l<this._clipboardselection.length;l++){for(var C=0;C<this._clipboardselection[l].length;C++){var f=this.getcolumnat(u+C);if(!f){continue}if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var m=this.getrowboundindex(w+l);var e=this.getcell(m,f.datafield);var r=null;r=this._clipboardselection[l][C];if(r!=null){if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){var v=this.logicalclipboardselection[l][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}}}}if(this.selectionmode=="checkbox"){this._updatecheckboxselection()}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}if(this.clipboardend){this.clipboardend("paste")}},_applyrowselection:function(e,i,f,h,b){if(e==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlerow"){if(i){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}else{this._raiseEvent(3,{rowindex:e,row:this.getrowdata(e)})}this._raiseEvent(3,{rowindex:j});this.selectedrowindexes=new Array();this.selectedcells=new Array()}if(h==true){this.selectedrowindexes=new Array()}if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex}else{if(c&&c.dataindex===undefined){if(c.uid!=undefined){e=this.getrowboundindexbyid(c.uid)}}}}var d=this.selectedrowindexes.indexOf(e);if(i){this.selectedrowindex=e;if(d==-1){this.selectedrowindexes.push(e);if(this.selectionmode!="singlerow"){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}}else{if(this.selectionmode=="multiplerows"){this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(e)});this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1}}}else{if(d>=0||this.selectionmode=="singlerow"||this.selectionmode=="multiplerowsextended"||this.selectionmode=="multiplerowsadvanced"){var g=this.selectedrowindexes[d];this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:g,row:this.getrowdata(e)});this.selectedrowindex=-1}}if(f==undefined||f){this._rendervisualrows()}return true},_applycellselection:function(e,b,h,f){if(e==null){return false}if(b==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlecell"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}this.selectedcells=new Array()}if(this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}}var g=e+"_"+b;if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex;var g=e+"_"+b}else{if(c&&c.dataindex===undefined){if(c.uid){e=this.getrowboundindexbyid(c.uid);var g=e+"_"+b}}}}var i={rowindex:e,datafield:b};if(h){this.selectedcell=i;if(!this.selectedcells[g]){this.selectedcells[g]=i;this.selectedcells.length++;this._raiseEvent(15,i)}else{if(this.selectionmode=="multiplecells"||this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}}}else{delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}if(f==undefined||f){this._rendervisualrows()}return true},_getcellindex:function(b){var c=-1;a.each(this.selectedcells,function(){c++;if(this[b]){return false}});return c},_clearhoverstyle:function(){if(undefined==this.hoveredrow||this.hoveredrow==-1){return}if(this.vScrollInstance.isScrolling()){return}if(this.hScrollInstance.isScrolling()){return}var c=this.table.find(".jqx-grid-cell-hover");if(c.length>0){c.removeClass(this.toTP("jqx-grid-cell-hover"));c.removeClass(this.toTP("jqx-fill-state-hover"))}for(var d=0;d<c.length;d++){var e=c[d].getAttribute("columnindex");if(e){var b=this.columns.records[parseInt(e)];if(b){b._applyCellStyle(c[d])}}}this.hoveredrow=-1},_clearselectstyle:function(){var m=this.table[0].rows.length;var r=this.table[0].rows;var n=this.toTP("jqx-grid-cell-selected");var c=this.toTP("jqx-fill-state-pressed");var o=this.toTP("jqx-grid-cell-hover");var l=this.toTP("jqx-fill-state-hover");for(var k=0;k<m;k++){var b=r[k];var h=b.cells.length;var q=b.cells;for(var g=0;g<h;g++){var e=q[g];var p=a(e);if(e.className.indexOf("jqx-grid-cell-selected")!=-1){p.removeClass(n);p.removeClass(c)}if(e.className.indexOf("jqx-grid-cell-hover")!=-1){p.removeClass(o);p.removeClass(l)}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}}},_selectpath:function(n,e){var l=this;var i=this._lastClickedCell?Math.min(this._lastClickedCell.row,n):0;var k=this._lastClickedCell?Math.max(this._lastClickedCell.row,n):0;if(i<=k){var h=this._getcolumnindex(this._lastClickedCell.column);var g=this._getcolumnindex(e);var f=Math.min(h,g);var d=Math.max(h,g);this.selectedcells=new Array();var m=this.dataview.loadedrecords;for(var b=i;b<=k;b++){for(var j=f;j<=d;j++){var n=m[b];this._applycellselection(l.getboundindex(n),l._getcolumnat(j).datafield,true,false)}}this._rendervisualrows()}},_selectrowpath:function(g){if(this.selectionmode=="multiplerowsextended"){var c=this;var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,g):0;var h=this._lastClickedCell?Math.max(this._lastClickedCell.row,g):0;var f=this.dataview.loadedrecords;if(b<=h){this.selectedrowindexes=new Array();for(var e=b;e<=h;e++){var g=f[e];var d=this.getrowboundindex(e);this._applyrowselection(d,true,false)}this._rendervisualrows()}}},_selectrowwithmouse:function(q,b,c,f,d,t){var k=b.row;if(k==undefined){return}var l=b.index;if(this.hittestinfo[l]==undefined){return}for(var x=0;x<this.columns.records.length;x++){var w=this.columns.records[x];w.selected=false;if(w.element){w.element.removeAttribute("selected")}w._applyStyle()}var u=this.hittestinfo[l].visualrow;if(this.hittestinfo[l].details){return}var n=u.cells[0].className;if(k.group){return}if(this.selectionmode=="multiplerows"||this.selectionmode=="multiplecells"||this.selectionmode=="checkbox"||(this.selectionmode.indexOf("multiple")!=-1&&(t==true||d==true))){var m=this.getboundindex(k);if(this.dataview.filters.length>0){var y=this.getrowdata(m);if(y){m=y.dataindex;if(m==undefined){var m=this.getboundindex(k)}}}var s=c.indexOf(m)!=-1;var z=this.getboundindex(k)+"_"+f;if(this.selectionmode.indexOf("cell")!=-1){var h=this.selectedcells[z]!=undefined;if(this.selectedcells[z]!=undefined&&h){this._selectcellwithstyle(q,false,l,f,u)}else{this._selectcellwithstyle(q,true,l,f,u)}if(t&&this._lastClickedCell==undefined){var g=this.getselectedcells();if(g&&g.length>0){this._lastClickedCell={row:g[0].rowindex,column:g[0].datafield}}}if(t&&this._lastClickedCell){this._selectpath(k.visibleindex,f);this.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden")}}}else{if(s){if(d){this._applyrowselection(this.getboundindex(k),false)}else{this._selectrowwithstyle(q,u,false,f)}}else{this._selectrowwithstyle(q,u,true,f)}if(t&&this._lastClickedCell==undefined){var j=this.getselectedrowindexes();if(j&&j.length>0){this._lastClickedCell={row:j[0],column:f}}}if(t&&this._lastClickedCell){this.selectedrowindexes=new Array();var e=this._lastClickedCell?Math.min(this._lastClickedCell.row,k.visibleindex):0;var v=this._lastClickedCell?Math.max(this._lastClickedCell.row,k.visibleindex):0;var o=this.dataview.loadedrecords;for(var p=e;p<=v;p++){var k=o[p];if(k){this._applyrowselection(this.getboundindex(k),true,false,false)}}this._rendervisualrows()}}}else{this._clearselectstyle();this._selectrowwithstyle(q,u,true,f);if(this.selectionmode.indexOf("cell")!=-1){this._selectcellwithstyle(q,true,l,f,u)}}if(!t){this._lastClickedCell={row:k.visibleindex,column:f}}},_selectcellwithstyle:function(e,c,h,g,f){var b=a(f.cells[e._getcolumnindex(g)]);b.removeClass(this.toTP("jqx-grid-cell-hover"));b.removeClass(this.toTP("jqx-fill-state-hover"));if(c){b.addClass(this.toTP("jqx-grid-cell-selected"));b.addClass(this.toTP("jqx-fill-state-pressed"))}else{b.removeClass(this.toTP("jqx-grid-cell-selected"));b.removeClass(this.toTP("jqx-fill-state-pressed"))}var d=this.getcolumn(g);d._applyCellStyle(b)},_selectrowwithstyle:function(k,b,j,f){var h=b.cells.length;var c=0;if(k.rowdetails&&k.showrowdetailscolumn){if(!this.rtl){c=1+this.groups.length}else{h-=1;h-=this.groups.length}}else{if(this.groupable){if(!this.rtl){c=this.groups.length}else{h-=this.groups.length}}}for(var g=c;g<h;g++){var e=b.cells[g];if(j){a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));if(k.selectionmode.indexOf("cell")==-1){a(e).addClass(this.toTP("jqx-grid-cell-selected"));a(e).addClass(this.toTP("jqx-fill-state-pressed"))}}else{a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-grid-cell-selected"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));a(e).removeClass(this.toTP("jqx-fill-state-pressed"))}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}},_handlemousemoveselection:function(ac,r){if(r.hScrollInstance.isScrolling()||r.vScrollInstance.isScrolling()){return false}if((r.selectionmode=="multiplerowsextended"||r.selectionmode=="multiplecellsextended"||r.selectionmode=="multiplecellsadvanced")&&r.mousecaptured){if(r.multipleselectionbegins){var b=r.multipleselectionbegins(ac);if(b===false){return true}}var ab=this.showheader?this.columnsheader.height()+2:0;var J=this._groupsheader()?this.groupsheader.height():0;var L=this.showtoolbar?this.toolbar.height():0;J+=L;var aa=this.host.coord();if(this.hasTransform){aa=a.jqx.utilities.getOffset(this.host);var ae=this._getBodyOffset();aa.left-=ae.left;aa.top-=ae.top}if(this.host.css("border-top-width")==="0px"){J-=2}var N=ac.pageX;var M=ac.pageY-J;if(Math.abs(this.mousecaptureposition.left-N)>3||Math.abs(this.mousecaptureposition.top-M)>3){var g=parseInt(this.columnsheader.coord().top);if(this.hasTransform){g=a.jqx.utilities.getOffset(this.columnsheader).top}if(N<aa.left){N=aa.left}if(N>aa.left+this.host.width()){N=aa.left+this.host.width()}var Y=aa.top+ab;if(M<Y){M=Y+5}var K=parseInt(Math.min(r.mousecaptureposition.left,N));var h=-5+parseInt(Math.min(r.mousecaptureposition.top,M));var I=parseFloat(Math.abs(r.mousecaptureposition.left-N));var Q=parseInt(Math.abs(r.mousecaptureposition.top-M));K-=aa.left;h-=aa.top;this.selectionarea.css("visibility","visible");if(r.selectionmode=="multiplecellsadvanced"){var N=K;var u=N+I;var H=N;var o=r.hScrollInstance;var w=o.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){w=o.max-o.value}if(this.vScrollBar[0].style.visibility!="hidden"){}}var j=r.table[0].rows[0];var U=0;var C=r.mousecaptureposition.clickedcell;var B=C;var n=false;var s=0;var ad=j.cells.length;if(r.mousecaptureposition.left<=ac.pageX){s=C}var c=false;for(var X=s;X<ad;X++){var Z=parseFloat(a(this.columnsrow[0].cells[X]).css("left"));var l=Z-w;if(r.columns.records[X].pinned&&!r.columns.records[X].hidden){if(X==C){c=true}var T=Z+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}continue}if(c){n=true;B--;break}var P=this._getcolumnat(X);if(P!=null&&P.hidden){continue}if(r.groupable&&r.groups.length>0){if(X<r.groups.length){continue}}var T=l+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}}if(!n){if(r.mousecaptureposition.left>ac.pageX){a.each(this.columns.records,function(i,k){if(r.groupable&&r.groups.length>0){if(i<r.groups.length){return true}}if(!this.pinned&&!this.hidden){B=i;return false}})}else{if(!r.groupable||(r.groupable&&!r.groups.length>0)){B=j.cells.length-1}}}var O=C;C=Math.min(C,B);B=Math.max(O,B);h+=5;h+=J;var S=r.table[0].rows.indexOf(r.mousecaptureposition.clickedrow);var z=0;var f=-1;var v=-1;var e=0;for(var X=0;X<r.table[0].rows.length;X++){var t=a(r.table[0].rows[X]);if(X==0){e=t.coord().top}var G=t.height();var A=e-aa.top;if(f==-1&&A+G>=h){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}f=X}e+=G;if(r.groupable&&r.groups.length>0){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}var U=0;for(var V=r.groups.length;V<t[0].cells.length;V++){var F=t[0].cells[V];if(a(F).html()==""){U++}}if(U==t[0].cells.length-r.groups.length){continue}}if(f!=-1){z+=G}if(A+G>h+Q){v=X;break}}if(f!=-1){h=a(r.table[0].rows[f]).coord().top-aa.top-J-2;var E=0;if(this.filterable&&this.showfilterrow){E=this.filterrowheight}if(parseFloat(r.table[0].style.top)<0&&h<this.rowsheight+E){h-=parseFloat(r.table[0].style.top);z+=parseFloat(r.table[0].style.top)}Q=z;var m=a(this.columnsrow[0].cells[C]);var D=a(this.columnsrow[0].cells[B]);K=parseFloat(m.css("left"));I=parseFloat(D.css("left"))-parseFloat(K)+D.width()-2;K-=w;if(c){K+=w}if(r.editcell&&r.editable&&r.endcelledit&&(C!=B||f!=v)){if(r.editcell.validated==false){return}r.endcelledit(r.editcell.row,r.editcell.column,true,true)}}}this.selectionarea.width(I);this.selectionarea.height(Q);this.selectionarea.css("left",K);this.selectionarea.css("top",h)}}},_handlemouseupselection:function(u,o){if(!this.selectionarea){return}if(this.selectionarea[0].style.visibility!="visible"){o.mousecaptured=false;return true}if(o.mousecaptured&&(o.selectionmode=="multiplerowsextended"||o.selectionmode=="multiplerowsadvanced"||o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced")){o.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden");var w=this.showheader?this.columnsheader.height()+2:0;var p=this._groupsheader()?this.groupsheader.height():0;if(this.host.css("border-top-width")==="0px"){p-=2}var B=this.showtoolbar?this.toolbar.height():0;p+=B;var C=this.selectionarea.coord();var c=this.host.coord();if(this.hasTransform){c=a.jqx.utilities.getOffset(this.host);C=a.jqx.utilities.getOffset(this.selectionarea)}if(this.host.css("border-top-width")==="0px"){p-=2}var n=C.left-c.left;var k=C.top-w-c.top-p;var s=k;var g=n+this.selectionarea.width();var D=n;var l=new Array();var e=new Array();if(o.selectionmode=="multiplerowsextended"){while(k<s+this.selectionarea.height()){var b=this._hittestrow(n,k);var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;l[l.length]=b}}k+=20}var s=0;a.each(l,function(){var i=this;var m=this.row;if(o.selectionmode!="none"&&o._selectrowwithmouse){if(u.ctrlKey||u.metaKey){o._applyrowselection(o.getboundindex(m),true,false,false)}else{if(s==0){o._applyrowselection(o.getboundindex(m),true,false,true)}else{o._applyrowselection(o.getboundindex(m),true,false,false)}}s++}})}else{if(o.selectionmode=="multiplecellsadvanced"){k+=2}var r=o.hScrollInstance;var t=r.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=r.max-r.value}if(this.vScrollBar[0].style.visibility!="hidden"){t-=this.scrollbarsize+4}}var q=o.table[0].rows[0];var j=o.selectionarea.height();if(!u.ctrlKey&&!u.metaKey&&j>0){o.selectedcells=new Array()}var A=j;while(k<s+A){var b=o._hittestrow(n,k);if(!b){k+=5;continue}var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;for(var v=0;v<q.cells.length;v++){var d=parseFloat(a(o.columnsrow[0].cells[v]).css("left"))-t;var z=d+a(o.columnsrow[0].cells[v]).width();if((D>=d&&D<=z)||(g>=d&&g<=z)||(d>=D&&d<=g)){o._applycellselection(o.getboundindex(f),o._getcolumnat(v).datafield,true,false)}}}}k+=5}}if(o.autosavestate){if(o.savestate){o.savestate()}}o._renderrows(o.virtualsizeinfo)}}},selectprevcell:function(e,c){var f=this._getcolumnindex(c);var b=this.columns.records.length;var d=this._getprevvisiblecolumn(f);if(d!=null){this.clearselection();this.selectcell(e,d.datafield)}},selectnextcell:function(e,d){var f=this._getcolumnindex(d);var c=this.columns.records.length;var b=this._getnextvisiblecolumn(f);if(b!=null){this.clearselection();this.selectcell(e,b.datafield)}},_getfirstvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=0;c<e;c++){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_getlastvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=e-1;c>=0;c--){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_handlekeydown:function(A,t){if(t.groupable&&t.groups.length>0){}if(t.disabled){return false}var H=A.charCode?A.charCode:A.keyCode?A.keyCode:0;if(t.editcell&&t.selectionmode!="multiplecellsadvanced"){return true}else{if(t.editcell&&t.selectionmode=="multiplecellsadvanced"){if(H>=33&&H<=40){if(!A.altKey){if(t._cancelkeydown==undefined||t._cancelkeydown==false){if(t.editmode!=="selectedrow"){t.endcelledit(t.editcell.row,t.editcell.column,false,true);t._cancelkeydown=false;if(t.editcell&&!t.editcell.validated){t._rendervisualrows();t.endcelledit(t.editcell.row,t.editcell.column,false,true);return false}}else{return true}}else{t._cancelkeydown=false;return true}}else{t._cancelkeydown=false;return true}}else{return true}}}if(t.selectionmode=="none"){return true}if(t.showfilterrow&&t.filterable){if(this.filterrow){if(a(A.target).ischildof(t.filterrow)){return true}}}if(t.showeverpresentrow){if(t.addnewrowtop){if(a(A.target).ischildof(t.addnewrowtop)){return true}}if(t.addnewrowbottom){if(a(A.target).ischildof(t.addnewrowbottom)){return true}}}if(A.target.className&&A.target.className.indexOf("jqx-grid-widget")>=0){return true}if(t.pageable){if(a(A.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(A.target).ischildof(this.toolbar)){return true}}if(this.showstatusbar){if(a(A.target).ischildof(this.statusbar)){return true}}var r=false;if(A.altKey){return true}if(A.ctrlKey||A.metaKey){if(this.clipboard){var b=String.fromCharCode(H).toLowerCase();if(this.clipboardbegin){var j=null;if(b=="c"){j=this.clipboardbegin("copy",this.copyselection())}else{if(b=="x"){j=this.clipboardbegin("cut",this.copyselection())}else{if(b=="v"){j=this.clipboardbegin("paste")}}}if(j===false){return false}}if(b=="c"||b=="x"){var q=this.copyselection();if(b=="c"&&this.clipboardend){this.clipboardend("copy")}if(b=="x"&&this.clipboardend){this.clipboardend("cut")}if(window.clipboardData){window.clipboardData.setData("Text",q)}else{var g=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');g.val(q);a("body").append(g);g.select();setTimeout(function(){document.designMode="off";g.select();g.remove();t.focus()},100)}if(b=="c"&&a.jqx.browser.msie){return false}else{if(b=="c"){return true}}}else{if(b=="v"){var F=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(F);F.select();var k=this;setTimeout(function(){k._clipboardselection=new Array();var M=F.val();if(M.length==0&&window.clipboardData){F.val(window.clipboardData.getData("Text"));var M=F.val()}var L=M.split("\n");for(var K=0;K<L.length;K++){if(L[K].split("\t").length>0){var J=L[K].split("\t");if(J.length==1&&K==L.length-1&&J[0]==""){continue}if(J.length>0){k._clipboardselection.push(J)}}}k.pasteselection();F.remove();k.focus()},100);return true}}if(b=="x"){this.deleteselection();this.host.focus();return false}}}var n=Math.round(t._gettableheight());var y=Math.round(n/t.rowsheight);var f=t.getdatainformation();switch(t.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var I=t.getselectedcell();if(I===null){t.selectcell(0,t.columns.records[0].displayfield)}if(I!=null){var e=this.getrowvisibleindex(I.rowindex);var i=e;var p=I.datafield;var w=t._getcolumnindex(p);var c=t.columns.records.length;var v=function(Q,K,P,O){var J=function(ab,U){var W=t.dataview.loadedrecords[ab];if(t.groupable&&t.groups.length>0){var X=ab;if(O=="up"){X++}if(O=="down"){X--}var W=t.getdisplayrows()[X];var R=function(ac){if(ac.group){if(t.expandedgroups[ac.uniqueid]){return t.expandedgroups[ac.uniqueid].expanded}}else{return false}};var Z=1;var S=true;while(S&&Z<300){S=false;if(O=="down"){W=t.getdisplayrows()[X+Z]}else{if(O=="up"){W=t.getdisplayrows()[X-Z]}}if(!W){break}if(W&&W.group){S=true}var aa=W.parentItem;while(aa){if(aa&&!R(aa)){S=true}aa=aa.parentItem}if(!S){break}Z++}if(Z==300){W=null}if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){W=null}}}}else{if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){if(t.pagerpageinput&&A.keyCode===9){if(W.boundindex>t.dataview.rows[t.dataview.rows.length-1].boundindex){t.pagerpageinput.focus();A.preventDefault()}}t.ensurerowvisible(W)}}}}if(W!=undefined&&U!=null){if(P||P==undefined){t.clearselection()}var T=t.getboundindex(W);t.selectcell(T,U);t._oldselectedcell=t.selectedcell;r=true;if(t.groupable){t.ensurecellvisible(T,U)}else{t.ensurecellvisible(ab,U)}return true}return false};if(!J(Q,K)&&!t.groupable){t.ensurecellvisible(Q,K);J(Q,K);if(t.virtualmode){t.host.focus()}}var M=t.groupable&&t.groups.length>0;if(!M){if(A.shiftKey&&A.keyCode!=9){if(t.selectionmode=="multiplecellsextended"||t.selectionmode=="multiplecellsadvanced"){if(t._lastClickedCell){t._selectpath(Q,K);var N=t.dataview.loadedrecords[Q];var L=t.getboundindex(N);t.selectedcell={rowindex:L,datafield:K};return}}}else{if(!A.shiftKey){t._lastClickedCell={row:Q,column:K}}}}};var B=A.shiftKey&&t.selectionmode!="singlecell"&&t.selectionmode!="multiplecells";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;v(J,p,!B)}else{v(0,p,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}v(K,p,!B)};var d=H==9&&!A.shiftKey;var m=H==9&&A.shiftKey;if(t.rtl){var s=d;d=m;m=s}if(d||m){B=false}if(d||m){if(document.activeElement&&document.activeElement.className&&document.activeElement.className.indexOf("jqx-grid-cell-add-new-row")>=0){return true}}var o=A.ctrlKey||A.metaKey;if(o&&H==37){var E=t._getfirstvisiblecolumn(w);if(E!=null){v(i,E.datafield)}}else{if(o&&H==39){var u=t._getlastvisiblecolumn(w);if(u!=null){v(i,u.datafield)}}else{if(H==39||d){var x=t._getnextvisiblecolumn(w);if(x!=null){v(i,x.datafield,!B)}else{if(!d){r=true}else{var G=t._getfirstvisiblecolumn();H=40;p=G.displayfield}}}else{if(H==37||m){var E=t._getprevvisiblecolumn(w);if(E!=null){v(i,E.datafield,!B)}else{if(!m){r=true}else{var l=t._getlastvisiblecolumn();H=38;p=l.displayfield}}}else{if(H==36){C()}else{if(H==35){h()}else{if(H==33){if(i-y>=0){var D=i-y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){v(D,p,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){v(D,p,!B)},25)}}else{h()}}}}}}}}}if(H==38){if(o){C()}else{if(i>0){v(i-1,p,!B,"up")}else{r=false}}}if(H==40){if(o){h()}else{if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){v(i+1,p,!B,"down")}else{r=true}}}}break;case"singlerow":case"multiplerows":case"multiplerowsextended":case"multiplerowsadvanced":var i=t.getselectedrowindex();if(i==null||i==-1){return true}i=this.getrowvisibleindex(i);var z=function(K,N,M){var J=function(V){var U=t.dataview.loadedrecords[V];if(t.groupable&&t.groups.length>0){if(M=="up"){V++}if(M=="down"){V--}var U=t.getdisplayrows()[V];var O=function(Z){if(Z.group){if(t.expandedgroups[Z.uniqueid]){return t.expandedgroups[Z.uniqueid].expanded}}else{return false}};var X=1;var P=true;while(P&&X<300){P=false;if(M=="down"){U=t.getdisplayrows()[V+X]}else{if(M=="up"){U=t.getdisplayrows()[V-X]}}if(!U){break}if(U&&U.group){P=true}var Y=U.parentItem;while(Y){if(Y&&!O(Y)){P=true}Y=Y.parentItem}if(!P){break}X++}if(X==300){U=null}if(t.pageable){var W=false;if(U){for(var T=0;T<t.dataview.rows.length;T++){if(t.dataview.rows[T].boundindex==U.boundindex){W=true}}if(!W){U=null}}}}if(U!=undefined){var Q=t.getboundindex(U);var S=t.selectedrowindex;if(N||N==undefined){t.clearselection()}t.selectedrowindex=S;t.selectrow(Q,false);if(t.groupable){var R=t.ensurerowvisible(Q)}else{var R=t.ensurerowvisible(V)}if(!R||t.autoheight||t.groupable){t._rendervisualrows()}r=true;return true}return false};if(!J(K)&&!t.groupable){t.ensurerowvisible(K);J(K,N);if(t.virtualmode){setTimeout(function(){J(K,N)},25)}if(t.virtualmode){t.host.focus()}}var L=t.groupable&&t.groups.length>0;if(!L){if(A.shiftKey&&H!=9){if(t.selectionmode=="multiplerowsextended"){if(t._lastClickedCell){t._selectrowpath(K);t.selectedrowindex=t.getrowboundindex(K);return}}}else{if(!A.shiftKey){t._lastClickedCell={row:K};t.selectedrowindex=t.getrowboundindex(K)}}}};var B=A.shiftKey&&t.selectionmode!="singlerow"&&t.selectionmode!="multiplerows";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;z(J,!B)}else{z(0,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}z(K,!B)};var o=A.ctrlKey||A.metaKey;if(H==36||(o&&H==38)){C()}else{if(H==35||(o&&H==40)){h()}else{if(H==33){if(i-y>=0){var D=i-y;z(D,!B,"up");if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){z(D,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;z(D,!B,"down");if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){z(D,!B)},25)}}else{h()}}else{if(H==38){if(i>0){z(i-1,!B,"up")}else{r=true}}else{if(H==40){if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){z(i+1,!B,"down")}else{r=true}}}}}}}break}if(r){if(t.autosavestate){if(t.savestate){t.savestate()}}return false}return true},_handlemousemove:function(u,p){if(p.vScrollInstance.isScrolling()){return}if(p.hScrollInstance.isScrolling()){return}var w;var q;var f;var n;var m;if(p.enablehover||p.selectionmode=="multiplerows"){w=this.showheader?this.columnsheader.height()+2:0;q=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;q+=A;f=this.host.coord();if(this.hasTransform){f=a.jqx.utilities.getOffset(this.host);var k=this._getBodyOffset();f.left-=k.left;f.top-=k.top}n=u.pageX-f.left;m=u.pageY-w-f.top-q}if(p.selectionmode=="multiplerowsextended"||p.selectionmode=="multiplecellsextended"||p.selectionmode=="multiplecellsadvanced"){if(p.mousecaptured==true){return}}if(p.enablehover){if(p.disabled){return}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){return}var c=this._hittestrow(n,m);if(!c){return}var h=c.row;var j=c.index;if(this.hoveredrow!=-1&&j!=-1&&this.hoveredrow==j&&this.selectionmode.indexOf("cell")==-1&&this.selectionmode!="checkbox"){return}this._clearhoverstyle();if(j==-1||h==undefined){return}var r=this.hittestinfo[j].visualrow;if(r==null){return}if(this.hittestinfo[j].details){return}if(u.clientX>a(r).width()+a(r).coord().left){return}var B=0;var o=r.cells.length;if(p.rowdetails&&p.showrowdetailscolumn){if(!this.rtl){B=1+this.groups.length}else{o-=1;o-=this.groups.length}}else{if(this.groupable){if(!this.rtl){B=this.groups.length}else{o-=this.groups.length}}}if(r.cells.length==0){return}var l=r.cells[B].className;if(h.group||(this.selectionmode.indexOf("row")>=0&&l.indexOf("jqx-grid-cell-selected")!=-1)){return}this.hoveredrow=j;if(this.selectionmode.indexOf("cell")!=-1||this.selectionmode=="checkbox"){var e=-1;var s=this.hScrollInstance;var t=s.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=s.max-s.value}}for(var v=B;v<o;v++){var g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))-t;if(this.columns.records[v].pinned&&!this.rtl){g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))}var z=g+a(this.columnsrow[0].cells[v]).width();if(z>=n&&n>=g){e=v;break}}if(e!=-1){var b=r.cells[e];if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}if(b.className.indexOf("jqx-grid-cell-selected")==-1){if(this.editcell){var d=this._getcolumnat(e);if(d){if(this.editcell.row==j&&this.editcell.column==d.datafield){return}}}}a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));var d=this._getcolumnat(e);d._applyCellStyle(b)}return}for(var v=B;v<o;v++){var b=r.cells[v];a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}var d=this._getcolumnat(v);d._applyCellStyle(b)}}else{return true}}})})(jqxBaseFramework);
+(function(a){a.extend(a.jqx._jqxGrid.prototype,{selectallrows:function(){this._trigger=false;var d=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();var e=this.dataview.loadedrecords;for(var c=0;c<d;c++){var f=e[c];if(!f){this.selectedrowindexes[c]=c;continue}var b=this.getboundindex(f);if(b!=undefined){this.selectedrowindexes[c]=b}}if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},unselectallrows:function(){this._trigger=false;var b=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},selectrow:function(b,c){if(this.selectionmode!=="none"){this._applyrowselection(b,true,c);if(c!==false){this._updatecheckboxselection()}}},_updatecheckboxselection:function(){if(this.selectionmode=="checkbox"){var d=this.getrows();if(d&&this._checkboxcolumn){if(d.length===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false});return}var c=d.length;if(this.groupable){c=this.dataview.loadedrecords.length}if(this.virtualmode){c=this.source._source.totalrecords}var b=this.selectedrowindexes.length;if(b===c){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}else{if(b===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}else{this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:null})}}}}},unselectrow:function(b,c){this._applyrowselection(b,false,c);if(c!==false){this._updatecheckboxselection()}},selectcell:function(c,b){this._applycellselection(c,b,true)},unselectcell:function(c,b){this._applycellselection(c,b,false)},clearselection:function(c,d){this._trigger=false;this.selectedrowindex=-1;this._oldselectedcell=null;if(d!==false){for(var b=0;b<this.selectedrowindexes.length;b++){this._raiseEvent(3,{rowindex:this.selectedrowindexes[b]})}}this.selectedrowindexes=new Array();this.selectedcells=new Array();this.selectedcell=null;if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}for(var b=0;b<this.columns.records.length;b++){this.columns.records[b].selected=false;this.columns.records[b]._applyStyle()}if(false===c){this._trigger=true;return}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(3,{rowindex:this.selectedrowindexes})}},getselectedrowindex:function(){if(this.selectedrowindex==-1||this.selectedrowindex==undefined){for(var b=0;b<this.selectedrowindexes.length;b++){return this.selectedrowindexes[b]}}return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){if(!this.selectedcell){return null}var b=this.selectedcell;b.row=this.selectedcell.rowindex;b.column=this.selectedcell.datafield;b.value=this.getcellvalue(b.row,b.column);return b},getselectedcells:function(){var b=new Array();for(var c in this.selectedcells){b[b.length]=this.selectedcells[c]}return b},getselection:function(){return{cells:this.getselectedcells(),rows:this.getselectedrowindexes()}},_getcellsforcopypaste:function(){var e=new Array();if(this.selectionmode.indexOf("cell")==-1){var h=this.selectedrowindexes;for(var d=0;d<h.length;d++){var c=h[d];for(var f=0;f<this.columns.records.length;f++){if(this.columns.records[f].datafield==="_checkboxcolumn"){continue}var g=c+"_"+this.columns.records[f].datafield;var b={rowindex:c,datafield:this.columns.records[f].datafield};e.push(b)}}}return e},deleteselection:function(){var d=this;var f=d.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){f=this._getcellsforcopypaste()}if(f!=null&&f.length>0){for(var e=0;e<f.length;e++){var b=f[e];var g=d.getcolumn(b.datafield);var h=d.getcellvalue(b.rowindex,b.datafield);if(!g){continue}if(h!==""){var c=null;if(g.columntype=="checkbox"){if(!g.threestatecheckbox){c=false}}d._raiseEvent(17,{rowindex:b.rowindex,datafield:b.datafield,value:h});if(e==f.length-1){d.setcellvalue(b.rowindex,b.datafield,c,true);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}else{d.setcellvalue(b.rowindex,b.datafield,c,false);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}d._raiseEvent(18,{rowindex:b.rowindex,datafield:b.datafield,oldvalue:h,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},copyselection:function(){var n="";var s=this;this.clipboardselection={};this.logicalclipboardselection={};this._clipboardselection=[];var r=s.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){r=this._getcellsforcopypaste()}var b=0;var e=new Array();if(r!=null&&r.length>0){var t=999999999999999;var q=-1;for(var j=0;j<r.length;j++){var l=r[j];var d=s.getcolumn(l.datafield);if(d!=null&&d.clipboard&&(!d.hidden||this.copytoclipboardhiddencolumns)){if(e.indexOf(d.text)==-1){e.push(d.text)}var p=s.getcelltext(l.rowindex,d.displayfield);var h=this.getrowdisplayindex(l.rowindex);if(!this.clipboardselection[h]){this.clipboardselection[h]={}}this.clipboardselection[h][d.displayfield]=p;if(!this.logicalclipboardselection[h]){this.logicalclipboardselection[h]={}}this.logicalclipboardselection[h][d.displayfield]=p;if(d.displayfield!=d.datafield){this.logicalclipboardselection[h][d.datafield]=s.getcellvalue(l.rowindex,d.datafield)}t=Math.min(t,h);q=Math.max(q,h)}}var g=new Array();for(var f=t;f<=q;f++){if(!this.logicalclipboardselection[f]){continue}var o=a.extend({},this.logicalclipboardselection[f]);g.push(o)}this.logicalclipboardselection=g;if(this.copytoclipboardwithheaders){for(var c=0;c<e.length;c++){if(c>0){n+="\t"}n+=e[c]}n+="\r\n"}for(var f=t;f<=q;f++){var k=0;this._clipboardselection[this._clipboardselection.length]=new Array();if(this.clipboardselection[f]!=undefined){a.each(this.clipboardselection[f],function(i,m){if(k>0){n+="\t"}var u=m;if(m==null){u=""}s._clipboardselection[s._clipboardselection.length-1][k]=u;k++;n+=u})}else{continue}if(f<q){n+="\r\n"}}}this.clipboardselectedtext=n;return n},pasteselection:function(){var g=this.getselectedcells();this._oldselectedcell=null;if(this.selectionmode.indexOf("cell")==-1){g=this._getcellsforcopypaste()}if(g!=null&&g.length>0){var h=g[0].rowindex;var w=this.getrowdisplayindex(h);var q=g[0].datafield;var u=this._getcolumnindex(q);var o=0;this.selectedrowindexes=new Array();this.selectedcells=new Array();var k=g.length;var B=0;var d=new Array();if(this.copytoclipboardwithheaders){this._clipboardselection.splice(0,1)}for(var z=0;z<this._clipboardselection.length;z++){B+=this._clipboardselection[z].length;d[z]=new Array();for(var y=0;y<this._clipboardselection[z].length;y++){var r=this._clipboardselection[z][y];d[z].push(r)}}if(B<g.length){var n=new Array();for(var z=0;z<g.length;z++){var e=g[z];if(!n[e.rowindex]){n[e.rowindex]=new Array()}n[e.rowindex].push(e)}var A=0;var D=0;for(var z=0;z<n.length;z++){if(!n[z]){continue}for(var y=0;y<n[z].length;y++){var e=n[z][y];var m=e.rowindex;var f=this.getcolumn(e.datafield);if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var r="";if(undefined==d[A][D]){D=0}r=d[A][D];D++;if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){if(this.logicalclipboardselection[m]){var v=this.logicalclipboardselection[m][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}A++;D=0;if(!d[A]){A=0}}}else{if(!this._clipboardselection){return}for(var l=0;l<this._clipboardselection.length;l++){for(var C=0;C<this._clipboardselection[l].length;C++){var f=this.getcolumnat(u+C);if(!f){continue}if(f.datafield==="_checkboxcolumn"){continue}if(f.hidden){continue}var m=this.getrowboundindex(w+l);var e=this.getcell(m,f.datafield);var r=null;r=this._clipboardselection[l][C];if(r!=null){if(f.cellsformat){if(f.cellsformat.indexOf("p")!=-1||f.cellsformat.indexOf("c")!=-1||f.cellsformat.indexOf("n")!=-1||f.cellsformat.indexOf("f")!=-1){if(r.indexOf(this.gridlocalization.currencysymbol)>-1){r=r.replace(this.gridlocalization.currencysymbol,"")}var b=function(x,j,t){var c=x;if(j==t){return x}var i=c.indexOf(j);while(i!=-1){c=c.replace(j,t);i=c.indexOf(j)}return c};r=b(r,this.gridlocalization.thousandsseparator,"");r=r.replace(this.gridlocalization.decimalseparator,".");if(r.indexOf(this.gridlocalization.percentsymbol)>-1){r=r.replace(this.gridlocalization.percentsymbol,"")}var E="";for(var s=0;s<r.length;s++){var p=r.substring(s,s+1);if(p==="-"){E+="-"}if(p==="."){E+="."}if(p.match(/^[0-9]+$/)!=null){E+=p}}r=E;r=r.replace(/ /g,"");r=new Number(r);if(isNaN(r)){r=""}}}this._raiseEvent(17,{rowindex:m,datafield:e.datafield,value:r});this.setcellvalue(m,f.displayfield,r,false);if(f.displayfield!=f.datafield&&this.logicalclipboardselection){var v=this.logicalclipboardselection[l][f.datafield];if(v!=undefined){this.setcellvalue(m,f.datafield,v,false)}}this._raiseEvent(18,{rowindex:m,datafield:e.datafield,oldvalue:this.getcellvalue(e.rowindex,e.datafield),value:r});this._applycellselection(m,e.datafield,true,false)}}}}if(this.selectionmode=="checkbox"){this._updatecheckboxselection()}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}if(this.clipboardend){this.clipboardend("paste")}},_applyrowselection:function(e,i,f,h,b){if(e==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlerow"){if(i){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}else{this._raiseEvent(3,{rowindex:e,row:this.getrowdata(e)})}this._raiseEvent(3,{rowindex:j});this.selectedrowindexes=new Array();this.selectedcells=new Array()}if(h==true){this.selectedrowindexes=new Array()}if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex}else{if(c&&c.dataindex===undefined){if(c.uid!=undefined){e=this.getrowboundindexbyid(c.uid)}}}}var d=this.selectedrowindexes.indexOf(e);if(i){this.selectedrowindex=e;if(d==-1){this.selectedrowindexes.push(e);if(this.selectionmode!="singlerow"){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}}else{if(this.selectionmode=="multiplerows"){this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(e)});this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1}}}else{if(d>=0||this.selectionmode=="singlerow"||this.selectionmode=="multiplerowsextended"||this.selectionmode=="multiplerowsadvanced"){var g=this.selectedrowindexes[d];this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:g,row:this.getrowdata(e)});this.selectedrowindex=-1}}if(f==undefined||f){this._rendervisualrows()}return true},_applycellselection:function(e,b,h,f){if(e==null){return false}if(b==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlecell"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}this.selectedcells=new Array()}if(this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}}var g=e+"_"+b;if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex;var g=e+"_"+b}else{if(c&&c.dataindex===undefined){if(c.uid){e=this.getrowboundindexbyid(c.uid);var g=e+"_"+b}}}}var i={rowindex:e,datafield:b};if(h){this.selectedcell=i;if(!this.selectedcells[g]){this.selectedcells[g]=i;this.selectedcells.length++;this._raiseEvent(15,i)}else{if(this.selectionmode=="multiplecells"||this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}}}else{delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}if(f==undefined||f){this._rendervisualrows()}return true},_getcellindex:function(b){var c=-1;a.each(this.selectedcells,function(){c++;if(this[b]){return false}});return c},_clearhoverstyle:function(){if(undefined==this.hoveredrow||this.hoveredrow==-1){return}if(this.vScrollInstance.isScrolling()){return}if(this.hScrollInstance.isScrolling()){return}var c=this.table.find(".jqx-grid-cell-hover");if(c.length>0){c.removeClass(this.toTP("jqx-grid-cell-hover"));c.removeClass(this.toTP("jqx-fill-state-hover"))}for(var d=0;d<c.length;d++){var e=c[d].getAttribute("columnindex");if(e){var b=this.columns.records[parseInt(e)];if(b){b._applyCellStyle(c[d])}}}this.hoveredrow=-1},_clearselectstyle:function(){var m=this.table[0].rows.length;var r=this.table[0].rows;var n=this.toTP("jqx-grid-cell-selected");var c=this.toTP("jqx-fill-state-pressed");var o=this.toTP("jqx-grid-cell-hover");var l=this.toTP("jqx-fill-state-hover");for(var k=0;k<m;k++){var b=r[k];var h=b.cells.length;var q=b.cells;for(var g=0;g<h;g++){var e=q[g];var p=a(e);if(e.className.indexOf("jqx-grid-cell-selected")!=-1){p.removeClass(n);p.removeClass(c)}if(e.className.indexOf("jqx-grid-cell-hover")!=-1){p.removeClass(o);p.removeClass(l)}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}}},_selectpath:function(n,e){var l=this;var i=this._lastClickedCell?Math.min(this._lastClickedCell.row,n):0;var k=this._lastClickedCell?Math.max(this._lastClickedCell.row,n):0;if(i<=k){var h=this._getcolumnindex(this._lastClickedCell.column);var g=this._getcolumnindex(e);var f=Math.min(h,g);var d=Math.max(h,g);this.selectedcells=new Array();var m=this.dataview.loadedrecords;for(var b=i;b<=k;b++){for(var j=f;j<=d;j++){var n=m[b];this._applycellselection(l.getboundindex(n),l._getcolumnat(j).datafield,true,false)}}this._rendervisualrows()}},_selectrowpath:function(g){if(this.selectionmode=="multiplerowsextended"){var c=this;var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,g):0;var h=this._lastClickedCell?Math.max(this._lastClickedCell.row,g):0;var f=this.dataview.loadedrecords;if(b<=h){this.selectedrowindexes=new Array();for(var e=b;e<=h;e++){var g=f[e];var d=this.getrowboundindex(e);this._applyrowselection(d,true,false)}this._rendervisualrows()}}},_selectrowwithmouse:function(q,b,c,f,d,t){var k=b.row;if(k==undefined){return}var l=b.index;if(this.hittestinfo[l]==undefined){return}for(var x=0;x<this.columns.records.length;x++){var w=this.columns.records[x];w.selected=false;if(w.element){w.element.removeAttribute("selected")}w._applyStyle()}var u=this.hittestinfo[l].visualrow;if(this.hittestinfo[l].details){return}var n=u.cells[0].className;if(k.group){return}if(this.selectionmode=="multiplerows"||this.selectionmode=="multiplecells"||this.selectionmode=="checkbox"||(this.selectionmode.indexOf("multiple")!=-1&&(t==true||d==true))){var m=this.getboundindex(k);if(this.dataview.filters.length>0){var y=this.getrowdata(m);if(y){m=y.dataindex;if(m==undefined){var m=this.getboundindex(k)}}}var s=c.indexOf(m)!=-1;var z=this.getboundindex(k)+"_"+f;if(this.selectionmode.indexOf("cell")!=-1){var h=this.selectedcells[z]!=undefined;if(this.selectedcells[z]!=undefined&&h){this._selectcellwithstyle(q,false,l,f,u)}else{this._selectcellwithstyle(q,true,l,f,u)}if(t&&this._lastClickedCell==undefined){var g=this.getselectedcells();if(g&&g.length>0){this._lastClickedCell={row:g[0].rowindex,column:g[0].datafield}}}if(t&&this._lastClickedCell){this._selectpath(k.visibleindex,f);this.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden")}}}else{if(s){if(d){this._applyrowselection(this.getboundindex(k),false)}else{this._selectrowwithstyle(q,u,false,f)}}else{this._selectrowwithstyle(q,u,true,f)}if(t&&this._lastClickedCell==undefined){var j=this.getselectedrowindexes();if(j&&j.length>0){this._lastClickedCell={row:j[0],column:f}}}if(t&&this._lastClickedCell){this.selectedrowindexes=new Array();var e=this._lastClickedCell?Math.min(this._lastClickedCell.row,k.visibleindex):0;var v=this._lastClickedCell?Math.max(this._lastClickedCell.row,k.visibleindex):0;var o=this.dataview.loadedrecords;for(var p=e;p<=v;p++){var k=o[p];if(k){this._applyrowselection(this.getboundindex(k),true,false,false)}}this._rendervisualrows()}}}else{this._clearselectstyle();this._selectrowwithstyle(q,u,true,f);if(this.selectionmode.indexOf("cell")!=-1){this._selectcellwithstyle(q,true,l,f,u)}}if(!t){this._lastClickedCell={row:k.visibleindex,column:f}}},_selectcellwithstyle:function(e,c,h,g,f){var b=a(f.cells[e._getcolumnindex(g)]);b.removeClass(this.toTP("jqx-grid-cell-hover"));b.removeClass(this.toTP("jqx-fill-state-hover"));if(c){b.addClass(this.toTP("jqx-grid-cell-selected"));b.addClass(this.toTP("jqx-fill-state-pressed"))}else{b.removeClass(this.toTP("jqx-grid-cell-selected"));b.removeClass(this.toTP("jqx-fill-state-pressed"))}var d=this.getcolumn(g);d._applyCellStyle(b)},_selectrowwithstyle:function(k,b,j,f){var h=b.cells.length;var c=0;if(k.rowdetails&&k.showrowdetailscolumn){if(!this.rtl){c=1+this.groups.length}else{h-=1;h-=this.groups.length}}else{if(this.groupable){if(!this.rtl){c=this.groups.length}else{h-=this.groups.length}}}for(var g=c;g<h;g++){var e=b.cells[g];if(j){a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));if(k.selectionmode.indexOf("cell")==-1){a(e).addClass(this.toTP("jqx-grid-cell-selected"));a(e).addClass(this.toTP("jqx-fill-state-pressed"))}}else{a(e).removeClass(this.toTP("jqx-grid-cell-hover"));a(e).removeClass(this.toTP("jqx-grid-cell-selected"));a(e).removeClass(this.toTP("jqx-fill-state-hover"));a(e).removeClass(this.toTP("jqx-fill-state-pressed"))}var f=e.getAttribute("columnindex");if(f){var d=this.columns.records[parseInt(f)];if(d){d._applyCellStyle(e)}}}},_handlemousemoveselection:function(ac,r){if(r.hScrollInstance.isScrolling()||r.vScrollInstance.isScrolling()){return false}if((r.selectionmode=="multiplerowsextended"||r.selectionmode=="multiplecellsextended"||r.selectionmode=="multiplecellsadvanced")&&r.mousecaptured){if(r.multipleselectionbegins){var b=r.multipleselectionbegins(ac);if(b===false){return true}}var ab=this.showheader?this.columnsheader.height()+2:0;var J=this._groupsheader()?this.groupsheader.height():0;var L=this.showtoolbar?this.toolbar.height():0;J+=L;var aa=this.host.coord();if(this.hasTransform){aa=a.jqx.utilities.getOffset(this.host);var ae=this._getBodyOffset();aa.left-=ae.left;aa.top-=ae.top}if(this.host.css("border-top-width")==="0px"){J-=2}var N=ac.pageX;var M=ac.pageY-J;if(Math.abs(this.mousecaptureposition.left-N)>3||Math.abs(this.mousecaptureposition.top-M)>3){var g=parseInt(this.columnsheader.coord().top);if(this.hasTransform){g=a.jqx.utilities.getOffset(this.columnsheader).top}if(N<aa.left){N=aa.left}if(N>aa.left+this.host.width()){N=aa.left+this.host.width()}var Y=aa.top+ab;if(M<Y){M=Y+5}var K=parseInt(Math.min(r.mousecaptureposition.left,N));var h=-5+parseInt(Math.min(r.mousecaptureposition.top,M));var I=parseFloat(Math.abs(r.mousecaptureposition.left-N));var Q=parseInt(Math.abs(r.mousecaptureposition.top-M));K-=aa.left;h-=aa.top;this.selectionarea.css("visibility","visible");if(r.selectionmode=="multiplecellsadvanced"){var N=K;var u=N+I;var H=N;var o=r.hScrollInstance;var w=o.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){w=o.max-o.value}if(this.vScrollBar[0].style.visibility!="hidden"){}}var j=r.table[0].rows[0];var U=0;var C=r.mousecaptureposition.clickedcell;var B=C;var n=false;var s=0;var ad=j.cells.length;if(r.mousecaptureposition.left<=ac.pageX){s=C}var c=false;for(var X=s;X<ad;X++){var Z=parseFloat(a(this.columnsrow[0].cells[X]).css("left"));var l=Z-w;if(r.columns.records[X].pinned&&!r.columns.records[X].hidden){if(X==C){c=true}var T=Z+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}continue}if(c){n=true;B--;break}var P=this._getcolumnat(X);if(P!=null&&P.hidden){continue}if(r.groupable&&r.groups.length>0){if(X<r.groups.length){continue}}var T=l+a(this.columnsrow[0].cells[X]).width();if(r.mousecaptureposition.left>ac.pageX){if(T>=N&&N>=l){B=X;n=true;break}}else{if(T>=u&&u>=l){B=X;n=true;break}}}if(!n){if(r.mousecaptureposition.left>ac.pageX){a.each(this.columns.records,function(i,k){if(r.groupable&&r.groups.length>0){if(i<r.groups.length){return true}}if(!this.pinned&&!this.hidden){B=i;return false}})}else{if(!r.groupable||(r.groupable&&!r.groups.length>0)){B=j.cells.length-1}}}var O=C;C=Math.min(C,B);B=Math.max(O,B);h+=5;h+=J;var S=r.table[0].rows.indexOf(r.mousecaptureposition.clickedrow);var z=0;var f=-1;var v=-1;var e=0;for(var X=0;X<r.table[0].rows.length;X++){var t=a(r.table[0].rows[X]);if(X==0){e=t.coord().top}var G=t.height();var A=e-aa.top;if(f==-1&&A+G>=h){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}f=X}e+=G;if(r.groupable&&r.groups.length>0){var d=false;for(var R=0;R<r.groups.length;R++){var W=t[0].cells[R].className;if(W.indexOf("jqx-grid-group-collapse")!=-1||W.indexOf("jqx-grid-group-expand")!=-1){d=true;break}}if(d){continue}var U=0;for(var V=r.groups.length;V<t[0].cells.length;V++){var F=t[0].cells[V];if(a(F).html()==""){U++}}if(U==t[0].cells.length-r.groups.length){continue}}if(f!=-1){z+=G}if(A+G>h+Q){v=X;break}}if(f!=-1){h=a(r.table[0].rows[f]).coord().top-aa.top-J-2;var E=0;if(this.filterable&&this.showfilterrow){E=this.filterrowheight}if(parseFloat(r.table[0].style.top)<0&&h<this.rowsheight+E){h-=parseFloat(r.table[0].style.top);z+=parseFloat(r.table[0].style.top)}Q=z;var m=a(this.columnsrow[0].cells[C]);var D=a(this.columnsrow[0].cells[B]);K=parseFloat(m.css("left"));I=parseFloat(D.css("left"))-parseFloat(K)+D.width()-2;K-=w;if(c){K+=w}if(r.editcell&&r.editable&&r.endcelledit&&(C!=B||f!=v)){if(r.editcell.validated==false){return}r.endcelledit(r.editcell.row,r.editcell.column,true,true)}}}this.selectionarea.width(I);this.selectionarea.height(Q);this.selectionarea.css("left",K);this.selectionarea.css("top",h)}}},_handlemouseupselection:function(u,o){if(!this.selectionarea){return}if(this.selectionarea[0].style.visibility!="visible"){o.mousecaptured=false;return true}if(o.mousecaptured&&(o.selectionmode=="multiplerowsextended"||o.selectionmode=="multiplerowsadvanced"||o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced")){o.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden");var w=this.showheader?this.columnsheader.height()+2:0;var p=this._groupsheader()?this.groupsheader.height():0;if(this.host.css("border-top-width")==="0px"){p-=2}var B=this.showtoolbar?this.toolbar.height():0;p+=B;var C=this.selectionarea.coord();var c=this.host.coord();if(this.hasTransform){c=a.jqx.utilities.getOffset(this.host);C=a.jqx.utilities.getOffset(this.selectionarea)}if(this.host.css("border-top-width")==="0px"){p-=2}var n=C.left-c.left;var k=C.top-w-c.top-p;var s=k;var g=n+this.selectionarea.width();var D=n;var l=new Array();var e=new Array();if(o.selectionmode=="multiplerowsextended"){while(k<s+this.selectionarea.height()){var b=this._hittestrow(n,k);var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;l[l.length]=b}}k+=20}var s=0;a.each(l,function(){var i=this;var m=this.row;if(o.selectionmode!="none"&&o._selectrowwithmouse){if(u.ctrlKey||u.metaKey){o._applyrowselection(o.getboundindex(m),true,false,false)}else{if(s==0){o._applyrowselection(o.getboundindex(m),true,false,true)}else{o._applyrowselection(o.getboundindex(m),true,false,false)}}s++}})}else{if(o.selectionmode=="multiplecellsadvanced"){k+=2}var r=o.hScrollInstance;var t=r.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=r.max-r.value}if(this.vScrollBar[0].style.visibility!="hidden"){t-=this.scrollbarsize+4}}var q=o.table[0].rows[0];var j=o.selectionarea.height();if(!u.ctrlKey&&!u.metaKey&&j>0){o.selectedcells=new Array()}var A=j;while(k<s+A){var b=o._hittestrow(n,k);if(!b){k+=5;continue}var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;for(var v=0;v<q.cells.length;v++){var d=parseFloat(a(o.columnsrow[0].cells[v]).css("left"))-t;var z=d+a(o.columnsrow[0].cells[v]).width();if((D>=d&&D<=z)||(g>=d&&g<=z)||(d>=D&&d<=g)){o._applycellselection(o.getboundindex(f),o._getcolumnat(v).datafield,true,false)}}}}k+=5}}if(o.autosavestate){if(o.savestate){o.savestate()}}o._renderrows(o.virtualsizeinfo)}}},selectprevcell:function(e,c){var f=this._getcolumnindex(c);var b=this.columns.records.length;var d=this._getprevvisiblecolumn(f);if(d!=null){this.clearselection();this.selectcell(e,d.datafield)}},selectnextcell:function(e,d){var f=this._getcolumnindex(d);var c=this.columns.records.length;var b=this._getnextvisiblecolumn(f);if(b!=null){this.clearselection();this.selectcell(e,b.datafield)}},_getfirstvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=0;c<e;c++){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_getlastvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=e-1;c>=0;c--){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_handlekeydown:function(A,t){if(t.groupable&&t.groups.length>0){}if(t.disabled){return false}var H=A.charCode?A.charCode:A.keyCode?A.keyCode:0;if(t.editcell&&t.selectionmode!="multiplecellsadvanced"){return true}else{if(t.editcell&&t.selectionmode=="multiplecellsadvanced"){if(H>=33&&H<=40){if(!A.altKey){if(t._cancelkeydown==undefined||t._cancelkeydown==false){if(t.editmode!=="selectedrow"){t.endcelledit(t.editcell.row,t.editcell.column,false,true);t._cancelkeydown=false;if(t.editcell&&!t.editcell.validated){t._rendervisualrows();t.endcelledit(t.editcell.row,t.editcell.column,false,true);return false}}else{return true}}else{t._cancelkeydown=false;return true}}else{t._cancelkeydown=false;return true}}else{return true}}}if(t.selectionmode=="none"){return true}if(t.showfilterrow&&t.filterable){if(this.filterrow){if(a(A.target).ischildof(t.filterrow)){return true}}}if(t.showeverpresentrow){if(t.addnewrowtop){if(a(A.target).ischildof(t.addnewrowtop)){return true}}if(t.addnewrowbottom){if(a(A.target).ischildof(t.addnewrowbottom)){return true}}}if(A.target.className&&A.target.className.indexOf("jqx-grid-widget")>=0){return true}if(t.pageable){if(a(A.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(A.target).ischildof(this.toolbar)){return true}}if(this.showstatusbar){if(a(A.target).ischildof(this.statusbar)){return true}}var r=false;if(A.altKey){return true}if(A.ctrlKey||A.metaKey){if(this.clipboard){var b=String.fromCharCode(H).toLowerCase();if(this.clipboardbegin){var j=null;if(b=="c"){j=this.clipboardbegin("copy",this.copyselection())}else{if(b=="x"){j=this.clipboardbegin("cut",this.copyselection())}else{if(b=="v"){j=this.clipboardbegin("paste")}}}if(j===false){return false}}if(b=="c"||b=="x"){var q=this.copyselection();if(b=="c"&&this.clipboardend){this.clipboardend("copy")}if(b=="x"&&this.clipboardend){this.clipboardend("cut")}if(window.clipboardData){window.clipboardData.setData("Text",q)}else{var g=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');g.val(q);a("body").append(g);g.select();setTimeout(function(){document.designMode="off";g.select();g.remove();t.focus()},100)}if(b=="c"&&a.jqx.browser.msie){return false}else{if(b=="c"){return true}}}else{if(b=="v"){var F=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(F);F.select();var k=this;setTimeout(function(){k._clipboardselection=new Array();var M=F.val();if(M.length==0&&window.clipboardData){F.val(window.clipboardData.getData("Text"));var M=F.val()}var L=M.split("\n");for(var K=0;K<L.length;K++){if(L[K].split("\t").length>0){var J=L[K].split("\t");if(J.length==1&&K==L.length-1&&J[0]==""){continue}if(J.length>0){k._clipboardselection.push(J)}}}k.pasteselection();F.remove();k.focus()},100);return true}}if(b=="x"){this.deleteselection();this.host.focus();return false}}}var n=Math.round(t._gettableheight());var y=Math.round(n/t.rowsheight);var f=t.getdatainformation();switch(t.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var I=t.getselectedcell();if(I===null){t.selectcell(0,t.columns.records[0].displayfield)}if(I!=null){var e=this.getrowvisibleindex(I.rowindex);var i=e;var p=I.datafield;var w=t._getcolumnindex(p);var c=t.columns.records.length;var v=function(Q,K,P,O){var J=function(ab,U){var W=t.dataview.loadedrecords[ab];if(t.groupable&&t.groups.length>0){var X=ab;if(O=="up"){X++}if(O=="down"){X--}var W=t.getdisplayrows()[X];var R=function(ac){if(ac.group){if(t.expandedgroups[ac.uniqueid]){return t.expandedgroups[ac.uniqueid].expanded}}else{return false}};var Z=1;var S=true;while(S&&Z<300){S=false;if(O=="down"){W=t.getdisplayrows()[X+Z]}else{if(O=="up"){W=t.getdisplayrows()[X-Z]}}if(!W){break}if(W&&W.group){S=true}var aa=W.parentItem;while(aa){if(aa&&!R(aa)){S=true}aa=aa.parentItem}if(!S){break}Z++}if(Z==300){W=null}if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){W=null}}}}else{if(t.pageable){var Y=false;if(W){for(var V=0;V<t.dataview.rows.length;V++){if(t.dataview.rows[V].boundindex==W.boundindex){Y=true}}if(!Y){if(t.pagerpageinput&&A.keyCode===9){if(W.boundindex>t.dataview.rows[t.dataview.rows.length-1].boundindex){t.pagerpageinput.focus();A.preventDefault()}}t.ensurerowvisible(W)}}}}if(W!=undefined&&U!=null){if(P||P==undefined){t.clearselection()}var T=t.getboundindex(W);t.selectcell(T,U);t._oldselectedcell=t.selectedcell;r=true;if(t.groupable){t.ensurecellvisible(T,U)}else{t.ensurecellvisible(ab,U)}return true}return false};if(!J(Q,K)&&!t.groupable){t.ensurecellvisible(Q,K);J(Q,K);if(t.virtualmode){t.host.focus()}}var M=t.groupable&&t.groups.length>0;if(!M){if(A.shiftKey&&A.keyCode!=9){if(t.selectionmode=="multiplecellsextended"||t.selectionmode=="multiplecellsadvanced"){if(t._lastClickedCell){t._selectpath(Q,K);var N=t.dataview.loadedrecords[Q];var L=t.getboundindex(N);t.selectedcell={rowindex:L,datafield:K};return}}}else{if(!A.shiftKey){t._lastClickedCell={row:Q,column:K}}}}};var B=A.shiftKey&&t.selectionmode!="singlecell"&&t.selectionmode!="multiplecells";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;v(J,p,!B)}else{v(0,p,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}v(K,p,!B)};var d=H==9&&!A.shiftKey;var m=H==9&&A.shiftKey;if(t.rtl){var s=d;d=m;m=s}if(d||m){B=false}if(d||m){if(document.activeElement&&document.activeElement.className&&document.activeElement.className.indexOf("jqx-grid-cell-add-new-row")>=0){return true}}var o=A.ctrlKey||A.metaKey;if(o&&H==37){var E=t._getfirstvisiblecolumn(w);if(E!=null){v(i,E.datafield)}}else{if(o&&H==39){var u=t._getlastvisiblecolumn(w);if(u!=null){v(i,u.datafield)}}else{if(H==39||d){var x=t._getnextvisiblecolumn(w);if(x!=null){v(i,x.datafield,!B)}else{if(!d){r=true}else{var G=t._getfirstvisiblecolumn();H=40;p=G.displayfield}}}else{if(H==37||m){var E=t._getprevvisiblecolumn(w);if(E!=null){v(i,E.datafield,!B)}else{if(!m){r=true}else{var l=t._getlastvisiblecolumn();H=38;p=l.displayfield}}}else{if(H==36){C()}else{if(H==35){h()}else{if(H==33){if(i-y>=0){var D=i-y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){v(D,p,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;v(D,p,!B);if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){v(D,p,!B)},25)}}else{h()}}}}}}}}}if(H==38){if(o){C()}else{if(i>0){v(i-1,p,!B,"up")}else{r=false}}}if(H==40){if(o){h()}else{if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){v(i+1,p,!B,"down")}else{r=true}}}}break;case"singlerow":case"multiplerows":case"multiplerowsextended":case"multiplerowsadvanced":var i=t.getselectedrowindex();if(i==null||i==-1){return true}i=this.getrowvisibleindex(i);var z=function(K,N,M){var J=function(V){var U=t.dataview.loadedrecords[V];if(t.groupable&&t.groups.length>0){if(M=="up"){V++}if(M=="down"){V--}var U=t.getdisplayrows()[V];var O=function(Z){if(Z.group){if(t.expandedgroups[Z.uniqueid]){return t.expandedgroups[Z.uniqueid].expanded}}else{return false}};var X=1;var P=true;while(P&&X<300){P=false;if(M=="down"){U=t.getdisplayrows()[V+X]}else{if(M=="up"){U=t.getdisplayrows()[V-X]}}if(!U){break}if(U&&U.group){P=true}var Y=U.parentItem;while(Y){if(Y&&!O(Y)){P=true}Y=Y.parentItem}if(!P){break}X++}if(X==300){U=null}if(t.pageable){var W=false;if(U){for(var T=0;T<t.dataview.rows.length;T++){if(t.dataview.rows[T].boundindex==U.boundindex){W=true}}if(!W){U=null}}}}if(U!=undefined){var Q=t.getboundindex(U);var S=t.selectedrowindex;if(N||N==undefined){t.clearselection()}t.selectedrowindex=S;t.selectrow(Q,false);if(t.groupable){var R=t.ensurerowvisible(Q)}else{var R=t.ensurerowvisible(V)}if(!R||t.autoheight||t.groupable){t._rendervisualrows()}r=true;return true}return false};if(!J(K)&&!t.groupable){t.ensurerowvisible(K);J(K,N);if(t.virtualmode){setTimeout(function(){J(K,N)},25)}if(t.virtualmode){t.host.focus()}}var L=t.groupable&&t.groups.length>0;if(!L){if(A.shiftKey&&H!=9){if(t.selectionmode=="multiplerowsextended"){if(t._lastClickedCell){t._selectrowpath(K);t.selectedrowindex=t.getrowboundindex(K);return}}}else{if(!A.shiftKey){t._lastClickedCell={row:K};t.selectedrowindex=t.getrowboundindex(K)}}}};var B=A.shiftKey&&t.selectionmode!="singlerow"&&t.selectionmode!="multiplerows";var C=function(){if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;z(J,!B)}else{z(0,!B)}};var h=function(){var K=f.rowscount-1;if(t.pageable){var J=t.dataview.pagenum*t.dataview.pagesize;K=J+t.dataview.rows.length-1}z(K,!B)};var o=A.ctrlKey||A.metaKey;if(H==36||(o&&H==38)){C()}else{if(H==35||(o&&H==40)){h()}else{if(H==33){if(i-y>=0){var D=i-y;z(D,!B,"up");if(t.pageable&&t.virtualmode){t.gotoprevpage();setTimeout(function(){z(D,!B)},25)}}else{C()}}else{if(H==34){if(f.rowscount>i+y){var D=i+y;z(D,!B,"down");if(t.pageable&&t.virtualmode){t.gotonextpage();setTimeout(function(){z(D,!B)},25)}}else{h()}}else{if(H==38){if(i>0){z(i-1,!B,"up")}else{r=true}}else{if(H==40){if((f.rowscount>i+1)||(t.groupable&&t.groups.length>0)){z(i+1,!B,"down")}else{r=true}}}}}}}break}if(r){if(t.autosavestate){if(t.savestate){t.savestate()}}return false}return true},_handlemousemove:function(u,p){if(p.vScrollInstance.isScrolling()){return}if(p.hScrollInstance.isScrolling()){return}var w;var q;var f;var n;var m;if(p.enablehover||p.selectionmode=="multiplerows"){w=this.showheader?this.columnsheader.height()+2:0;q=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;q+=A;f=this.host.coord();if(this.hasTransform){f=a.jqx.utilities.getOffset(this.host);var k=this._getBodyOffset();f.left-=k.left;f.top-=k.top}n=u.pageX-f.left;m=u.pageY-w-f.top-q}if(p.selectionmode=="multiplerowsextended"||p.selectionmode=="multiplecellsextended"||p.selectionmode=="multiplecellsadvanced"){if(p.mousecaptured==true){return}}if(p.enablehover){if(p.disabled){return}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){return}var c=this._hittestrow(n,m);if(!c){return}var h=c.row;var j=c.index;if(this.hoveredrow!=-1&&j!=-1&&this.hoveredrow==j&&this.selectionmode.indexOf("cell")==-1&&this.selectionmode!="checkbox"){return}this._clearhoverstyle();if(j==-1||h==undefined){return}var r=this.hittestinfo[j].visualrow;if(r==null){return}if(this.hittestinfo[j].details){return}if(u.clientX>a(r).width()+a(r).coord().left){return}var B=0;var o=r.cells.length;if(p.rowdetails&&p.showrowdetailscolumn){if(!this.rtl){B=1+this.groups.length}else{o-=1;o-=this.groups.length}}else{if(this.groupable){if(!this.rtl){B=this.groups.length}else{o-=this.groups.length}}}if(r.cells.length==0){return}var l=r.cells[B].className;if(h.group||(this.selectionmode.indexOf("row")>=0&&l.indexOf("jqx-grid-cell-selected")!=-1)){return}this.hoveredrow=j;if(this.selectionmode.indexOf("cell")!=-1||this.selectionmode=="checkbox"){var e=-1;var s=this.hScrollInstance;var t=s.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=s.max-s.value}}for(var v=B;v<o;v++){var g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))-t;if(this.columns.records[v].pinned&&!this.rtl){g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))}var z=g+a(this.columnsrow[0].cells[v]).width();if(z>=n&&n>=g){e=v;break}}if(e!=-1){var b=r.cells[e];if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}if(b.className.indexOf("jqx-grid-cell-selected")==-1){if(this.editcell){var d=this._getcolumnat(e);if(d){if(this.editcell.row==j&&this.editcell.column==d.datafield){return}}}}a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));var d=this._getcolumnat(e);d._applyCellStyle(b)}return}for(var v=B;v<o;v++){var b=r.cells[v];a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}var d=this._getcolumnat(v);d._applyCellStyle(b)}}else{return true}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.sort.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.sort.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.dataview.sort=function(){this.sortby=function(d,g,u){var o=Object.prototype.toString;if(g==null){this.sortdata=null;if(this.grid.sortmode!=="many"){this.sortcache={}}else{if(this.sortcache[d]){delete this.sortcache[d]}}this.grid._pagescache=new Array();this.grid._cellscache=new Array();if(this.grid.sortmode!=="many"){this.refresh();return}}if(this.grid.sortmode==="many"){this.grid._pagescache=new Array();this.grid._cellscache=new Array()}if(g!=null){if(g=="a"||g=="asc"||g=="ascending"||g==true){g=true}else{g=false}}var h=d;this.sortfield=d;this.sortfielddirection=g?"asc":"desc";if(g==null){this.sortfielddirection=null}if(this.sortcache==undefined){this.sortcache={}}this.sortdata=[];var b=[];var c=false;if(h=="constructor"){h=""}if(!this.virtualmode&&this.sortcache[h]!=null&&this.grid.sortmode!=="many"){var t=this.sortcache[h];b=t._sortdata;if(t.direction==g){b.reverse()}else{if(!t.direction&&g){b.reverse()}c=true}if(b.length<this.totalrecords){this.sortcache={};c=false;b=[]}}Object.prototype.toString=(typeof d=="function")?d:function(){return this[d]};var x=this.records;var z=this.that;var q="";if(this.source.datafields){a.each(this.source.datafields,function(){if(this.name==d){if(this.type){q=this.type}return false}})}if(b.length==0){if(x.length){var j=x.length;for(var w=0;w<j;w++){var f=x[w];if(f!=null){var k=f;var y=k.toString();b.push({sortkey:y,value:k,index:w})}}}else{var n=false;for(var s in x){var f=x[s];if(f==undefined){n=true;break}var k=f;b.push({sortkey:k.toString(),value:k,index:s})}if(n){a.each(x,function(A,B){b.push({sortkey:B.toString(),value:B,index:A})})}}}if(!c){if(u==null){this._sortcolumntype=q;var m=this;b.sort(function(A,i){return m._compare(A,i,q)})}else{b.sort(u)}}if(!g){b.reverse()}Object.prototype.toString=o;this.sortdata=b;if(g!==null){this.sortcache[h]={_sortdata:b,direction:g,dataType:this._sortcolumntype,dataField:h}}if(this.grid.sortmode==="many"){var v=[];var r=[];var e=[];for(var l in this.sortcache){if(l==="data"){continue}var t=this.sortcache[l];v.push(t.dataField);r.push(t.direction?"asc":"desc");e.push(t.dataType)}if(v.length>0){var p=this.multiSort(x,v,r,e);b=[];a.each(p,function(A,B){b.push({sortkey:h,value:B,index:B.boundindex})});this.sortdata=b}else{this.sortcache={};this.sortdata=null;this.refresh();return}}this.reload(this.records,this.rows,this.filters,this.updated,true)},this.multiSort=function(g,c,k,m,f){var j=this;if(g.length===0){return}var b=[];for(var h=0;h<g.length;h++){var p=a.extend({},g[h]);b.push(p)}var l=false;if(b&&b.constructor&&b.constructor.name==="ObservableArray"){l=true}if(!b||!(b instanceof Array)||b.length===0||!c||c instanceof Array&&c.length===0){if(!l){throw new Error("sort: Missing or Invalid arguments!")}}if(typeof c==="string"){c=[c]}var e=[],o=[];if(k===undefined){k=[]}var d=function(i,s){var r=s||typeof i;var q;switch(r){case"string":default:q=new Intl.Collator().compare;break;case"date":case"time":case"datetime":case"number":case"int":case"float":q=function(u,t){return u-t};break;case"boolean":q=function(u,t){if(u===t){return 0}else{if(u===false){return -1}else{return 1}}};break;case"object":if(i instanceof Date){q=function(u,t){return u.getTime()-t.getTime()}}break}return q};for(var h=0;h<c.length;h++){if(k[h]===undefined||k[h]==="asc"||k[h]==="ascending"){e[h]=1}else{e[h]=-1}var n=b[0][c[h]];o[h]=d(n,m[h])}if(f){f(b,c,k,o);return}b.sort(function(s,r){for(var t=0;t<c.length;t++){var q=o[t](s[c[t]],r[c[t]]);if(q===0){if(c[t+1]){continue}else{if(s._index!==undefined){return(s._index-r._index)*e[t]}}return 0}return q*e[t]}if(c.length===0){if(s.boundIndex<r.boundIndex){return -1}if(s.boundIndex>r.boundIndex){return 1}return 0}});return b},this.clearsortdata=function(){this.sortcache={};this.sortdata=null};this._compare=function(c,b,e){var c=c.sortkey;var b=b.sortkey;if(c===undefined){c=null}if(b===undefined){b=null}if(c===null&&b===null){return 0}if(c===null&&b!==null){return -1}if(c!==null&&b===null){return 1}if(a.jqx.dataFormat){if(e&&e!=""){switch(e){case"number":case"int":case"float":if(c<b){return -1}if(c>b){return 1}return 0;case"date":case"time":if(c<b){return -1}if(c>b){return 1}return 0;case"string":case"text":c=String(c).toLowerCase();b=String(b).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(c)&&a.jqx.dataFormat.isNumber(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(a.jqx.dataFormat.isDate(c)&&a.jqx.dataFormat.isDate(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(c)&&!a.jqx.dataFormat.isNumber(b)){c=String(c).toLowerCase();b=String(b).toLowerCase()}}}}}try{if(c<b){return -1}if(c>b){return 1}}catch(d){var f=d}return 0};this._equals=function(c,b){return(this._compare(c,b)===0)}};a.extend(a.jqx._jqxGrid.prototype,{_rendersortcolumn:function(){var b=this.that;var h=this.getsortcolumn();if(this.sortmode==="many"){this.__columnsbydatafield=new Array();var d=this.getsortcolumns();a.each(this.columns.records,function(j,k){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");this.element.removeAttribute("sort")});if(d.length>0){for(var c=0;c<d.length;c++){var e=d[c];var g=this._getcolumnbydatafield(e.dataField);g.element.setAttribute("sort",true);if(b.isMaterialized()||b.isModern()){a(g.sorticon).show();a(g.sorticon).css("visibility","inherit");a(g.sorticon).removeClass("ascending");a(g.sorticon).removeClass("descending");if(e.ascending){a(g.sorticon).addClass("ascending")}else{a(g.sorticon).addClass("descending")}}else{if(e.ascending){a(g.sortasc).show();a(g.sortdesc).hide()}else{if(e.ascending===false){a(g.sortasc).hide();a(g.sortdesc).show()}}}}}return}if(this.sortdirection){var f=function(j,k){var i=b.getcolumn(j);if(i){if(k.ascending){a.jqx.aria(i.element,"aria-sort","ascending")}else{if(k.descending){a.jqx.aria(i.element,"aria-sort","descending")}else{a.jqx.aria(i.element,"aria-sort","none")}}}};if(this._oldsortinfo){if(this._oldsortinfo.column){f(this._oldsortinfo.column,{ascending:false,descending:false})}}f(h,this.sortdirection)}this._oldsortinfo={column:h,direction:this.sortdirection};if(this.sortdirection){a.each(this.columns.records,function(k,l){var j=a.data(document.body,"groupsortelements"+this.displayfield);if(h==null||this.displayfield!=h){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");this.element.removeAttribute("sort");if(j!=null){j.sortasc.hide();j.sortdesc.hide()}}else{if(b.isMaterialized()||b.isModern()){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).show();a(this.sorticon).css("visibility","inherit");if(j!=null){j.sortasc.hide();j.sortdesc.show()}a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");if(b.sortdirection.ascending){a(this.sorticon).addClass("ascending")}else{a(this.sorticon).addClass("descending")}}else{if(b.sortdirection.ascending){a(this.sortasc).show();a(this.sortdesc).hide();if(j!=null){j.sortasc.show();j.sortdesc.hide()}}else{a(this.sortasc).hide();a(this.sortdesc).show();if(j!=null){j.sortasc.hide();j.sortdesc.show()}}}this.element.setAttribute("sort",true)}})}},getsortcolumns:function(){var c=this;var b=[];for(var e in c.dataview.sortcache){if(e==="data"){continue}b.push({dataField:e,ascending:c.dataview.sortcache[e].direction})}if(b.length===0){for(var f in c.sortcolumns){var d=c.sortcolumns[f];if(d!==null){b.push({dataField:f,ascending:d})}}}return b},getsortcolumn:function(){if(this.sortcolumn!=undefined){return this.sortcolumn}return null},removesort:function(){this.sortby(null);if(this.sortmode==="many"){for(var b in this.sortcolumns){this.sortby(b,null)}}},sortby:function(d,h,g,f,b){if(this._loading&&b!==false){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){h=null;d=this.sortcolumn}if(d!=undefined){var c=this.that;if(g==undefined&&c.source.sortcomparer!=null){g=c.source.sortcomparer}if(h===undefined){h=true}if(h=="a"||h=="asc"||h=="ascending"||h==true){var e=true}else{var e=false}if(h!=null){c.sortdirection={ascending:e,descending:!e}}else{c.sortdirection={ascending:false,descending:false}}if(h!=null){c.sortcolumn=d}else{c.sortcolumn=null}if(!c.sortcolumns){c.sortcolumns=[]}c.sortcolumns[d]=h;if(c.source.sort||c.virtualmode){c.dataview.sortfield=d;if(h==null){c.dataview.sortfielddirection=""}else{c.dataview.sortfielddirection=e?"asc":"desc"}if(c.source.sort&&!this._loading){c.source.sort(d,h,c.sortcolumns);c._raiseEvent(6,{sortinformation:c.getsortinformation()});return}}else{c.dataview.sortby(d,h,g)}if(f===false){return}if(c.groupable&&c.groups.length>0){c._render(true,false,false);if(c._updategroupheadersbounds&&c.showgroupsheader){c._updategroupheadersbounds()}c._postrender("sort")}else{if(c.pageable){c.dataview.updateview()}c._updaterowsproperties();c.rendergridcontent(true);c._postrender("sort")}c._raiseEvent(6,{sortinformation:c.getsortinformation()})}},_togglesort:function(f){var b=this.that;if(this.disabled){return}if(this.sortmode==="many"){if(f.sortable&&b.sortable){var e=b.getsortcolumns();var g=null;for(var d=0;d<e.length;d++){var j=e[d];var h=f.displayfield;if(h===j.dataField){g=j.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}b.sortby(f.displayfield,g,null);return}}b.sortby(f.displayfield,true,null)}return}if(f.sortable&&b.sortable){var c=b.getsortinformation();var g=null;if(c.sortcolumn!=null&&c.sortcolumn==f.displayfield){g=c.sortdirection.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}}else{g=true}b.sortby(f.displayfield,g,null)}}})})(jqxBaseFramework);
+(function(a){a.jqx.dataview.sort=function(){this.sortby=function(d,g,u){var o=Object.prototype.toString;if(g==null){this.sortdata=null;if(this.grid.sortmode!=="many"){this.sortcache={}}else{if(this.sortcache[d]){delete this.sortcache[d]}}this.grid._pagescache=new Array();this.grid._cellscache=new Array();if(this.grid.sortmode!=="many"){this.refresh();return}}if(this.grid.sortmode==="many"){this.grid._pagescache=new Array();this.grid._cellscache=new Array()}if(g!=null){if(g=="a"||g=="asc"||g=="ascending"||g==true){g=true}else{g=false}}var h=d;this.sortfield=d;this.sortfielddirection=g?"asc":"desc";if(g==null){this.sortfielddirection=null}if(this.sortcache==undefined){this.sortcache={}}this.sortdata=[];var b=[];var c=false;if(h=="constructor"){h=""}if(!this.virtualmode&&this.sortcache[h]!=null&&this.grid.sortmode!=="many"){var t=this.sortcache[h];b=t._sortdata;if(t.direction==g){b.reverse()}else{if(!t.direction&&g){b.reverse()}c=true}if(b.length<this.totalrecords){this.sortcache={};c=false;b=[]}}Object.prototype.toString=(typeof d=="function")?d:function(){return this[d]};var x=this.records;var z=this.that;var q="";if(this.source.datafields){a.each(this.source.datafields,function(){if(this.name==d){if(this.type){q=this.type}return false}})}if(b.length==0){if(x.length){var j=x.length;for(var w=0;w<j;w++){var f=x[w];if(f!=null){var k=f;var y=k.toString();b.push({sortkey:y,value:k,index:w})}}}else{var n=false;for(var s in x){var f=x[s];if(f==undefined){n=true;break}var k=f;b.push({sortkey:k.toString(),value:k,index:s})}if(n){a.each(x,function(A,B){b.push({sortkey:B.toString(),value:B,index:A})})}}}if(!c){if(u==null){this._sortcolumntype=q;var m=this;b.sort(function(A,i){return m._compare(A,i,q)})}else{b.sort(u)}}if(!g){b.reverse()}Object.prototype.toString=o;this.sortdata=b;if(g!==null){this.sortcache[h]={_sortdata:b,direction:g,dataType:this._sortcolumntype,dataField:h}}if(this.grid.sortmode==="many"){var v=[];var r=[];var e=[];for(var l in this.sortcache){if(l==="data"){continue}var t=this.sortcache[l];v.push(t.dataField);r.push(t.direction?"asc":"desc");e.push(t.dataType)}if(v.length>0){var p=this.multiSort(x,v,r,e);b=[];a.each(p,function(A,B){b.push({sortkey:h,value:B,index:B.boundindex})});this.sortdata=b}else{this.sortcache={};this.sortdata=null;this.refresh();return}}this.reload(this.records,this.rows,this.filters,this.updated,true)},this.multiSort=function(g,c,k,m,f){var j=this;if(g.length===0){return}var b=[];for(var h=0;h<g.length;h++){var p=a.extend({},g[h]);b.push(p)}var l=false;if(b&&b.constructor&&b.constructor.name==="ObservableArray"){l=true}if(!b||!(b instanceof Array)||b.length===0||!c||c instanceof Array&&c.length===0){if(!l){throw new Error("sort: Missing or Invalid arguments!")}}if(typeof c==="string"){c=[c]}var e=[],o=[];if(k===undefined){k=[]}var d=function(i,s){var r=s||typeof i;var q;switch(r){case"string":default:q=new Intl.Collator().compare;break;case"date":case"time":case"datetime":case"number":case"int":case"float":q=function(u,t){return u-t};break;case"boolean":q=function(u,t){if(u===t){return 0}else{if(u===false){return -1}else{return 1}}};break;case"object":if(i instanceof Date){q=function(u,t){return u.getTime()-t.getTime()}}break}return q};for(var h=0;h<c.length;h++){if(k[h]===undefined||k[h]==="asc"||k[h]==="ascending"){e[h]=1}else{e[h]=-1}var n=b[0][c[h]];o[h]=d(n,m[h])}if(f){f(b,c,k,o);return}b.sort(function(s,r){for(var t=0;t<c.length;t++){var q=o[t](s[c[t]],r[c[t]]);if(q===0){if(c[t+1]){continue}else{if(s._index!==undefined){return(s._index-r._index)*e[t]}}return 0}return q*e[t]}if(c.length===0){if(s.boundIndex<r.boundIndex){return -1}if(s.boundIndex>r.boundIndex){return 1}return 0}});return b},this.clearsortdata=function(){this.sortcache={};this.sortdata=null};this._compare=function(c,b,e){var c=c.sortkey;var b=b.sortkey;if(c===undefined){c=null}if(b===undefined){b=null}if(c===null&&b===null){return 0}if(c===null&&b!==null){return -1}if(c!==null&&b===null){return 1}if(a.jqx.dataFormat){if(e&&e!=""){switch(e){case"number":case"int":case"float":if(c<b){return -1}if(c>b){return 1}return 0;case"date":case"time":if(c<b){return -1}if(c>b){return 1}return 0;case"string":case"text":c=String(c).toLowerCase();b=String(b).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(c)&&a.jqx.dataFormat.isNumber(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(a.jqx.dataFormat.isDate(c)&&a.jqx.dataFormat.isDate(b)){if(c<b){return -1}if(c>b){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(c)&&!a.jqx.dataFormat.isNumber(b)){c=String(c).toLowerCase();b=String(b).toLowerCase()}}}}}try{if(c<b){return -1}if(c>b){return 1}}catch(d){var f=d}return 0};this._equals=function(c,b){return(this._compare(c,b)===0)}};a.extend(a.jqx._jqxGrid.prototype,{_rendersortcolumn:function(){var b=this.that;var h=this.getsortcolumn();if(this.sortmode==="many"){this.__columnsbydatafield=new Array();var d=this.getsortcolumns();a.each(this.columns.records,function(j,k){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");this.element.removeAttribute("sort")});if(d.length>0){for(var c=0;c<d.length;c++){var e=d[c];var g=this._getcolumnbydatafield(e.dataField);g.element.setAttribute("sort",true);if(b.isMaterialized()||b.isModern()){a(g.sorticon).show();a(g.sorticon).css("visibility","inherit");a(g.sorticon).removeClass("ascending");a(g.sorticon).removeClass("descending");if(e.ascending){a(g.sorticon).addClass("ascending")}else{a(g.sorticon).addClass("descending")}}else{if(e.ascending){a(g.sortasc).show();a(g.sortdesc).hide()}else{if(e.ascending===false){a(g.sortasc).hide();a(g.sortdesc).show()}}}}}return}if(this.sortdirection){var f=function(j,k){var i=b.getcolumn(j);if(i){if(k.ascending){a.jqx.aria(i.element,"aria-sort","ascending")}else{if(k.descending){a.jqx.aria(i.element,"aria-sort","descending")}else{a.jqx.aria(i.element,"aria-sort","none")}}}};if(this._oldsortinfo){if(this._oldsortinfo.column){f(this._oldsortinfo.column,{ascending:false,descending:false})}}f(h,this.sortdirection)}this._oldsortinfo={column:h,direction:this.sortdirection};if(this.sortdirection){a.each(this.columns.records,function(k,l){var j=a.data(document.body,"groupsortelements"+this.displayfield);if(h==null||this.displayfield!=h){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).css("visibility","hidden");a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");this.element.removeAttribute("sort");if(j!=null){j.sortasc.hide();j.sortdesc.hide()}}else{if(b.isMaterialized()||b.isModern()){a(this.sortasc).hide();a(this.sortdesc).hide();a(this.sorticon).show();a(this.sorticon).css("visibility","inherit");if(j!=null){j.sortasc.hide();j.sortdesc.show()}a(this.sorticon).removeClass("ascending");a(this.sorticon).removeClass("descending");if(b.sortdirection.ascending){a(this.sorticon).addClass("ascending")}else{a(this.sorticon).addClass("descending")}}else{if(b.sortdirection.ascending){a(this.sortasc).show();a(this.sortdesc).hide();if(j!=null){j.sortasc.show();j.sortdesc.hide()}}else{a(this.sortasc).hide();a(this.sortdesc).show();if(j!=null){j.sortasc.hide();j.sortdesc.show()}}}this.element.setAttribute("sort",true)}})}},getsortcolumns:function(){var c=this;var b=[];for(var e in c.dataview.sortcache){if(e==="data"){continue}b.push({dataField:e,ascending:c.dataview.sortcache[e].direction})}if(b.length===0){for(var f in c.sortcolumns){var d=c.sortcolumns[f];if(d!==null){b.push({dataField:f,ascending:d})}}}return b},getsortcolumn:function(){if(this.sortcolumn!=undefined){return this.sortcolumn}return null},removesort:function(){this.sortby(null);if(this.sortmode==="many"){for(var b in this.sortcolumns){this.sortby(b,null)}}},sortby:function(d,h,g,f,b){if(this._loading&&b!==false){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}if(d==null){h=null;d=this.sortcolumn}if(d!=undefined){var c=this.that;if(g==undefined&&c.source&&c.source.sortcomparer!=null){g=c.source.sortcomparer}if(h===undefined){h=true}if(h=="a"||h=="asc"||h=="ascending"||h==true){var e=true}else{var e=false}if(h!=null){c.sortdirection={ascending:e,descending:!e}}else{c.sortdirection={ascending:false,descending:false}}if(h!=null){c.sortcolumn=d}else{c.sortcolumn=null}if(!c.sortcolumns){c.sortcolumns=[]}c.sortcolumns[d]=h;if(c.source&&(c.source.sort||c.virtualmode)){c.dataview.sortfield=d;if(h==null){c.dataview.sortfielddirection=""}else{c.dataview.sortfielddirection=e?"asc":"desc"}if(c.source.sort&&!this._loading){c.source.sort(d,h,c.sortcolumns);c._raiseEvent(6,{sortinformation:c.getsortinformation()});return}}else{c.dataview.sortby(d,h,g)}if(f===false){return}if(c.groupable&&c.groups.length>0){c._render(true,false,false);if(c._updategroupheadersbounds&&c.showgroupsheader){c._updategroupheadersbounds()}c._postrender("sort")}else{if(c.pageable){c.dataview.updateview()}c._updaterowsproperties();c.rendergridcontent(true);c._postrender("sort")}c._raiseEvent(6,{sortinformation:c.getsortinformation()})}},_togglesort:function(f){var b=this.that;if(this.disabled){return}if(this.sortmode==="many"){if(f.sortable&&b.sortable){var e=b.getsortcolumns();var g=null;for(var d=0;d<e.length;d++){var j=e[d];var h=f.displayfield;if(h===j.dataField){g=j.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}b.sortby(f.displayfield,g,null);return}}b.sortby(f.displayfield,true,null)}return}if(f.sortable&&b.sortable){var c=b.getsortinformation();var g=null;if(c.sortcolumn!=null&&c.sortcolumn==f.displayfield){g=c.sortdirection.ascending;if(b.sorttogglestates>1){if(g==true){g=false}else{g=null}}else{g=!g}}else{g=true}b.sortby(f.displayfield,g,null)}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxgrid.storage.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxgrid.storage.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxheatmap.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxheatmap.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxHeatMap","",{});a.extend(a.jqx._jqxHeatMap.prototype,{defineInstance:function(){var b={width:"auto",xAxis:{labels:[],opposedPosition:false,isInversed:false,minimum:null,maximum:null,labelFormat:"short",},yAxis:{labels:[],opposedPosition:false,isInversed:false,},source:[],title:"Title",paletteSettings:{palette:[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}],type:"Gradient",emptyPointColor:"#eee"},legendSettings:{position:"Right"},tooltipRender:null,_isXAxisInversed:false,_isYAxisInversed:false,};if(this===a.jqx._jqxHeatMap.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;b._setDefaultValues();b._renderAllElements();b._addHandlers()},_addHandlers:function(){var b=this;b.host.find(".jqx-heatmap-cell").on("mouseenter",function(c){var e=c.target;var d=e.getAttribute("data-value");if(b.legendSettings.position==="Top"||b.legendSettings.position==="Bottom"){b._showLegendArrow("horizontal",d)}else{b._showLegendArrow("vertical",d)}if(b._hideTimer){clearTimeout(b._hideTimer)}b._showTooltip(c.target);e.classList.toggle("jqx-opacity-50")});b.host.find(".jqx-heatmap-cell").on("mouseleave",function(){var d=event.target;var c;b._arrow.style.display="";d.classList.toggle("jqx-opacity-50");c=setTimeout(function(){b._tooltipContainer.classList.add("jqx-heatmap-hidden")},300);b._hideTimer=c});b.host.find(".jqx-color-container, .jqx-color-container-tick").on("click",function(){var c=a(this).attr("data-value");var d=a(this).attr("data-color-index");b._hideCells(d);b._toggleClass("jqx-color-container","jqx-selected-color",c);b._toggleClass("jqx-color-container-tick","jqx-opacity-50",c)})},_setDefaultValues:function(){var e=this;var d=Object.keys(e.xAxis);var b=Object.keys(e.yAxis);var c=Object.keys(e.legendSettings);var f=Object.keys(e.paletteSettings);if(d.indexOf("labels")===-1){e.xAxis.labels=[]}if(d.indexOf("opposedPosition")===-1){e.xAxis.opposedPosition=false}if(d.indexOf("isInversed")===-1){e.xAxis.isInversed=false}if(b.indexOf("opposedPosition")===-1){e.yAxis.opposedPosition=false}if(b.indexOf("isInversed")===-1){e.yAxis.isInversed=false}if(c.indexOf("position")===-1){e.legendSettings.position="Right"}if(f.indexOf("type")===-1){e.paletteSettings.type="Gradient"}if(f.indexOf("palette")===-1){e.paletteSettings.palette=[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}]}if(f.indexOf("emptyPointColor")===-1){e.paletteSettings.emptyPointColor="#eee"}},_showTooltip:function(l){var i=this;var d=document.createElement("div");var p=l.getAttribute("data-value");var e=l.getAttribute("data-date");var g=l.getAttribute("data-column");var f=i.xAxis.labels[g];var c=l.getAttribute("data-row");var n=i.yAxis.labels[c];var k=f+" | "+n+" : "+p;var o=l.offsetWidth;var j=10;var h;var q;var b;if(!i._tooltipContainer){i._tooltipContainer=d}i.element.appendChild(i._tooltipContainer);i._tooltipContainer.classList.remove("jqx-heatmap-hidden");i._tooltipContainer.className="jqx-heatmap-tooltip";if(i.tooltipRender){if(i.xAxis.minimum&&i.xAxis.maximum){var m={xLabel:f,yLabel:n,value:p,date:e,content:k}}else{var m={xLabel:f,yLabel:n,value:p,content:k}}i.tooltipRender(m);k=m.content}if(i.xAxis.minimum&&i.xAxis.maximum){i._tooltipContainer.innerHTML=p+" on "+i._defaultDateTooltipFormat(new Date(e))}else{i._tooltipContainer.innerHTML=k}h=i._tooltipContainer.offsetWidth;q=i._tooltipContainer.offsetHeight;b=h-o;i._tooltipContainer.style.top=(l.offsetTop-q+j)+"px";if(b>0){i._tooltipContainer.style.left=(l.offsetLeft-b/2)+"px"}else{i._tooltipContainer.style.left=(l.offsetLeft+Math.abs(b)/2)+"px"}},_defaultDateTooltipFormat:function(c){var b={day:"numeric",weekday:"short",month:"short",year:"numeric"};var d=new Intl.DateTimeFormat("en-US",b);return d.format(c)},_getAllDates:function(){var d=this;var g=new Date(d.xAxis.minimum);var i=new Date(d.xAxis.maximum);var h=d.source[0].length;var f=[];var e=[];for(var c=g,b=0;c<=i;c.setDate(c.getDate()+1),b++){if(b<h){e.push(c.toISOString());continue}f.push(e);d._addMonthLabel(e);e=[];b=0;e.push(c.toISOString())}d._dateArray=f},_addMonthLabel:function(f){var e=this;var c={month:e.xAxis.labelFormat};var d=new Intl.DateTimeFormat("en-US",c);var b=new Date(f[0]);var g=d.format(b);e.xAxis.labels.push(g)},_renderGrid:function(){var g=this;var b=document.createElement("div");var e=document.createElement("div");var l=document.createElement("div");var f=document.createElement("div");b.className="jqx-heatmap-grid";e.className="jqx-x-axis-container";l.className="jqx-y-axis-container";f.className="jqx-heatmap-container-wrapper";g._setAxisOrigin();for(var d=0,c=g.source.length;d<c;d++){var k=document.createElement("div");var h=g.source[d];g._setGridColumn(k,d,c);for(var m=0,i=h.length;m<i;m++){var j=document.createElement("div");g._setGridCell(j,d,m,h);k.appendChild(j)}b.appendChild(k)}f.style.width=g._toPx(g.width);e.appendChild(b);l.appendChild(e);f.appendChild(l);g._gridXAxisContainer=e;g._gridYAxisContainer=l;g._gridContainerWrapper=f;g.element.appendChild(f)},_renderAxis:function(d,h,k,m){var f=this;var j=document.createElement("div");var c=f.element.querySelector(".jqx-heatmap-grid").offsetHeight;for(var g=0,b=h.length;g<b;g++){var n=h[g];var e=document.createElement("div");e.innerHTML=n;e.className=m;if(d==="x"){e.style.width="calc(100% /"+b+")";if(f.xAxis.minimum&&f.xAxis.maximum){var l=f.source.length;var i=(n.duplicates/l)*100;e.innerHTML=n.name;e.style.width=i+"%";if(f.xAxis.isInversed){e.style.textAlign="right"}else{e.style.textAlign="left"}}}else{j.style.height=c+"px";e.style.height="calc(100% /"+b+")"}j.appendChild(e)}if(d==="x"){j.className=k;f._gridXAxisContainer.appendChild(j)}else{j.className=k;f._gridYAxisContainer.appendChild(j)}},_getLabels:function(b){var d=this;var e={};var f=[];var c=0;b.forEach(function(h,g){if(h===b[g+1]){c++}else{c++;e={name:h,duplicates:c};f.push(e);c=0}});d.xAxis.labels=f},_renderAllAxis:function(){var d=this;var c;var e;var b;if(d.xAxis.minimum&&d.xAxis.maximum){d._getLabels(d.xAxis.labels)}d._renderAxis("x",d.xAxis.labels,"jqx-x-axis","jqx-x-axis-label");d._renderAxis("y",d.yAxis.labels,"jqx-y-axis","jqx-y-axis-label");b=d.element.querySelector(".jqx-y-axis");c=d.element.querySelectorAll(".jqx-x-axis-label");e=d.element.querySelectorAll(".jqx-y-axis-label");if(d.xAxis.opposedPosition){d._gridXAxisContainer.style.flexDirection="column-reverse";b.classList.add("jqx-margin-top-auto");c.forEach(function(f){f.classList.add("jqx-top")})}if(d.yAxis.opposedPosition){d._gridYAxisContainer.style.flexDirection="row";e.forEach(function(f){f.classList.add("jqx-right")})}},_setGridColumn:function(d,c,b){d.id="jqx-column-"+c;d.classList.add("jqx-column");d.style.width="calc(100% / "+b+")"},_setGridCell:function(b,c,e,h){var i=this;var n=h[e];b.classList.add("jqx-heatmap-cell");b.setAttribute("data-row",e);b.setAttribute("data-column",c);b.setAttribute("data-value",n);if(i.xAxis.minimum&&i.xAxis.maximum){b.setAttribute("data-date",i._dateArray[c][e])}for(var j=0,d=i.paletteSettings.palette.length;j<d;j++){if(n===null){continue}var m=Number(n);var f=i.paletteSettings.palette[j].value;var g=Number(f);var l=null;var k=null;if(j+1<d){l=i.paletteSettings.palette[j+1].value;k=Number(l)}if(k&&((m>=g&&m<k)||m<i._minValue)){b.setAttribute("data-color-index",j);break}else{if(!k&&(m>=g)){b.setAttribute("data-color-index",j)}}}if(i.xAxis.minimum&&i.xAxis.maximum){if(n===null){b.classList.add("jqx-empty-cell")}return}if(n===null){b.innerHTML="&nbsp";b.classList.add("jqx-empty-cell");return}b.innerHTML=n},_getTicksMinMax:function(){var h=this;var f=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=f[0].value;var g=f[0].value;var d=[];for(var i=0,e=f.length;i<e;i++){var c=f[i].value;var b=f[i].label||"";d.push({value:c,label:b});if(c<j){j=c;continue}if(c>g){g=c;continue}}h._minValue=j;h._maxValue=g;h._ticksArray=d},_renderTitle:function(){var c=this;var b=document.createElement("div");b.className="jqx-heatmap-title";b.innerHTML=c.title;b.style.width=c._toPx(c.width);c._title=b;c.element.appendChild(b)},_renderLegend:function(b){var e=this;var d=document.createElement("div");var c=e.paletteSettings.type==="Gradient"?document.createElement("canvas"):document.createElement("div");var f=document.createElement("div");d.classList.add("jqx-legend-"+b);c.classList.add("jqx-palette-"+b);f.classList.add("jqx-arrow-"+b);e._drawLegend(d,c,b);d.appendChild(c);d.appendChild(f);e._gridContainerWrapper.appendChild(d);e._arrow=f;e._palette=c;e._legend=d;e._adjustLegend(b)},_drawLegend:function(c,e,b){var d=this;if(b==="vertical"){if(d.xAxis.opposedPosition===true){c.classList.add("jqx-margin-top-auto")}if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"vertical")}else{d._drawFixedLegend(e,"vertical")}if(d.legendSettings.position==="Left"){c.classList.add("jqx-left")}d._gridXAxisContainer.width="calc(100% - "+c.offsetWidth+"px)"}else{if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"horizontal")}else{d._drawFixedLegend(e,"horizontal")}if(d.legendSettings.position==="Bottom"){c.classList.add("jqx-bottom")}if(d.yAxis.opposedPosition===true){c.classList.add("jqx-margin-right-auto")}}},_drawFixedLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=h.element.querySelector(".jqx-heatmap-grid").offsetWidth;var b=h.element.querySelector(".jqx-heatmap-grid").offsetHeight;if(f==="horizontal"){e.classList.add("jqx-fixed")}for(var i=0,c=d.length;i<c;i++){var g=d[i];var k=document.createElement("div");var l=((j/c)/j)*100;k.id="jqx-color-container-"+i;k.className="jqx-color-container";k.setAttribute("data-value",g.value);k.setAttribute("data-color-index",i);k.setAttribute("data-color",g.color);k.style.background=g.color;if(f==="vertical"){k.style.width="10px";k.style.height="calc("+b+"px / "+c+")"}else{k.style.width=l+"%";k.style.height="10px"}e.appendChild(k)}},_drawGradientLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var b=e.getContext("2d");if(f==="vertical"){var k=b.createLinearGradient(0,0,0,150)}else{var k=b.createLinearGradient(0,0,300,0)}if(h.paletteSettings.type==="Gradient"){h._checkNewMinMax()}for(var i=0,c=d.length;i<c;i++){var g=d[i];var j=((g.value-h._minValue)/(h._maxValue-h._minValue));k.addColorStop(j,g.color)}b.fillStyle=k;b.fillRect(0,0,300,150);h._canvasContext=b},_getSourceMinMax:function(){var g=this;var e=g.source[0][0];var b=g.source[0][0];for(var d=0,f=g.source.length;d<f;d++){for(var h=0,i=g.source[d].length;h<i;h++){var c=g.source[d][h];if(c===null){continue}if(e>c){e=c;continue}if(b<c){b=c;continue}}}return{min:e,max:b}},_checkNewMinMax:function(){var c=this;var b=JSON.parse(JSON.stringify(c.paletteSettings.palette));var d=c._getSourceMinMax();if(c._minValue>d.min){c._minValue=d.min;b.splice(0,0,{value:d.min,color:b[0].color})}if(c._maxValue<d.max){c._maxValue=d.max;b.push({value:d.max,color:b[b.length-1].color})}},_adjustLegend:function(b){var c=this;if(b==="vertical"){c._setVerticalLegendHeight();c._renderScale("vertical")}else{c._setHorizontalLegendWidth();c._renderScale("horizontal")}},_renderScale:function(b){var g=this;for(var d=0,f=g._ticksArray.length;d<f;d++){var c=g._ticksArray[d].value;var h=g._ticksArray[d].label;var e=document.createElement("div");if(g.paletteSettings.type==="Fixed"){e.classList.add("jqx-color-container-tick")}e.classList.add("jqx-tick","jqx-tick-"+b);e.setAttribute("data-value",c);e.setAttribute("data-color-index",d);e.innerHTML=h||c;g._setLegendTicksPosition(e,c,d,b);g._legend.appendChild(e)}if(b==="vertical"){g._tick=e;g._setVerticalLegendWidth()}},_setLegendTicksPosition:function(f,g,c,h){var i=this;var n="6px";if(i.paletteSettings.type==="Gradient"){if(g===i._minValue||g===i._maxValue){if(g===i._minValue){if(h==="vertical"){f.style.top="-0.5%"}else{f.style.left="-3px"}}else{if(h==="vertical"){f.style.top="96%"}else{f.style.right="-11px"}}f.classList.add("jqx-no-line")}else{var k=((g-i._minValue)/(i._maxValue-i._minValue))*100;if(h==="vertical"){f.style.top="calc("+k+"% - "+n+")"}else{f.style.left="calc("+k+"% - "+n+")"}}}else{var b=i.element.querySelector(".jqx-color-container").offsetHeight;var d=i.element.querySelector(".jqx-color-container").offsetWidth;var m=5;if(h==="vertical"){if(c===0){f.style.top=c*b+"px"}else{f.style.top=c*b-m+"px"}}else{if(c===0){f.style.left=c*d+"px"}else{var e=i.paletteSettings.palette.length;var j=i.element.querySelector(".jqx-heatmap-grid").offsetWidth;var l=((j/e)/j)*100;f.style.left="calc("+l*c+"% - "+m+"px)"}}f.classList.add("jqx-no-line")}},_showLegendArrow:function(b,f){var e=this;var d="6px";var c=((f-e._minValue)/(e._maxValue-e._minValue))*100;if(e.paletteSettings.type==="Gradient"&&f<=e._maxValue){e._arrow.style.display="block";if(b==="vertical"){e._arrow.style.top="calc("+c+"% - "+d+")"}else{e._arrow.style.left="calc("+c+"% - "+d+")"}}},_setVerticalLegendWidth:function(){var b=this;var d=15;var c=15;b._legend.style.width=d+b._tick.offsetWidth+"px";b._gridXAxisContainer.style.width="calc(100% - "+(b._legend.offsetWidth+c)+"px)"},_setVerticalLegendHeight:function(){var c=this;var b=c.element.querySelector(".jqx-heatmap-grid").offsetHeight;c._legend.style.height=b+"px"},_setHorizontalLegendWidth:function(){var c=this;var b=c.element.querySelector(".jqx-y-axis").offsetWidth;c._legend.style.width="calc(100% - "+b+"px)"},_hideCells:function(g){var f=this;var d=f.element.querySelectorAll('.jqx-heatmap-cell[data-color-index="'+g+'"]');for(var c=0,e=d.length;c<e;c++){var b=d[c];b.classList.toggle("jqx-heatmap-hidden")}},_toggleClass:function(j,i,h){var e=this;var g=e.element.querySelectorAll("."+j);for(var f=0,c=g.length;f<c;f++){var d=g[f];var b=d.getAttribute("data-value");if(h===b){d.classList.toggle(i);return}}},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_getLegendColor:function(i,e){var f=this;var d=149;var b=299;var g=((i-f._minValue)/(f._maxValue-f._minValue))*d;var h=((i-f._minValue)/(f._maxValue-f._minValue))*b;var j=null;var c=null;if(i>f._maxValue||i<f._minValue){return}if(e==="vertical"){j=f._canvasContext.getImageData(0,g,1,1).data}else{j=f._canvasContext.getImageData(h,0,1,1).data}c="rgba("+j[0]+", "+j[1]+", "+j[2]+", "+(j[3]/255)+")";return c},_getFixedLegendColor:function(h){var g=this;var e=JSON.parse(JSON.stringify(g.paletteSettings.palette));for(var d=0,f=e.length;d<f;d++){var b=e[d];var c=e[d+1];if(c&&((h>=b.value&&h<c.value)||h<g._minValue)){return b.color}else{if(!c&&h>=b.value){return b.color}}}},_setCellsBackground:function(c){var h=this;var f=h.element.querySelectorAll(".jqx-heatmap-cell");for(var e=0,g=f.length;e<g;e++){var b=f[e];var i=f[e].getAttribute("data-value");if(i==="null"){b.style.background=h.paletteSettings.emptyPointColor}else{if(h.paletteSettings.type==="Gradient"){var d=h._getLegendColor(i,c)}else{var d=h._getFixedLegendColor(i)}b.style.background=d}}},_renderLegendPosition:function(){var b=this;switch(b.legendSettings.position){default:case"Right":b._gridContainerWrapper.style.flexDirection="row";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Left":b._gridContainerWrapper.style.flexDirection="row-reverse";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Top":b._gridContainerWrapper.style.flexDirection="column-reverse";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break;case"Bottom":b._gridContainerWrapper.style.flexDirection="column";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break}},_reverseXAxisOrigin:function(){var b=this;b.xAxis.labels.reverse();b.source.reverse();b._isXAxisInversed=!b._isXAxisInversed;if(b.xAxis.minimum&&b.xAxis.maximum){b._dateArray.reverse()}},_reverseYAxisOrigin:function(){var b=this;b.yAxis.labels.reverse();b._isYAxisInversed=!b._isYAxisInversed;b._reverseNestedArray(b.source);if(b.xAxis.minimum&&b.xAxis.maximum){b._reverseNestedArray(b._dateArray)}},_reverseNestedArray:function(e){for(var b=0,d=e.length;b<d;b++){var c=e[b];c.reverse()}},_setAxisOrigin:function(){var b=this;if(b.xAxis.isInversed!==b._isXAxisInversed){b._reverseXAxisOrigin()}if(b.yAxis.isInversed!==b._isYAxisInversed){b._reverseYAxisOrigin()}},_destroyGrid:function(){var b=this;a(b._gridContainerWrapper).remove();if(b.xAxis.minimum&&b.xAxis.maximum){b.xAxis.labels=[]}},_destroyTitle:function(){var b=this;a(b._title).remove()},_renderAllElements:function(){var b=this;b._renderTitle();b._getTicksMinMax();if(b.xAxis.minimum&&b.xAxis.maximum){b._getAllDates()}b._renderGrid();b._renderAllAxis();b._renderLegendPosition()},_rerender:function(){var b=this;b._destroyTitle();b._destroyGrid();b._renderAllElements();b._addHandlers()},setLegendPosition:function(b){var c=this;if(c.legendSettings.position!==b){c.legendSettings.position=b;c._rerender()}},setOpposedXAxisPosition:function(c){var b=this;if(b.xAxis.opposedPosition!==c){b.xAxis.opposedPosition=c;b._rerender()}},setOpposedYAxisPosition:function(c){var b=this;if(b.yAxis.opposedPosition!==c){b.yAxis.opposedPosition=c;b._rerender()}},reverseXAxisPosition:function(c){var b=this;b.xAxis.isInversed=c;b._rerender()},reverseYAxisPosition:function(c){var b=this;b.yAxis.isInversed=c;b._rerender()},setPaletteType:function(b){var c=this;c.paletteSettings.type=b;c._rerender()},destroy:function(){var b=this;b.host.remove()}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxHeatMap","",{});a.extend(a.jqx._jqxHeatMap.prototype,{defineInstance:function(){var b={width:"auto",xAxis:{labels:[],opposedPosition:false,isInversed:false,minimum:null,maximum:null,labelFormat:"short",},yAxis:{labels:[],opposedPosition:false,isInversed:false,},source:[],title:"Title",paletteSettings:{palette:[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}],type:"Gradient",emptyPointColor:"#eee"},legendSettings:{position:"Right"},tooltipRender:null,_isXAxisInversed:false,_isYAxisInversed:false,};if(this===a.jqx._jqxHeatMap.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){var b=this;if("NodeList" in window&&!NodeList.prototype.forEach){console.info("polyfill for IE11");NodeList.prototype.forEach=function(e,c){c=c||window;for(var d=0;d<this.length;d++){e.call(c,this[d],d,this)}}}b._setDefaultValues();b._renderAllElements();b._addHandlers()},_addHandlers:function(){var b=this;b.host.find(".jqx-heatmap-cell").on("mouseenter",function(c){var e=c.target;var d=e.getAttribute("data-value");if(b.legendSettings.position==="Top"||b.legendSettings.position==="Bottom"){b._showLegendArrow("horizontal",d)}else{b._showLegendArrow("vertical",d)}if(b._hideTimer){clearTimeout(b._hideTimer)}b._showTooltip(c.target);e.classList.toggle("jqx-opacity-50")});b.host.find(".jqx-heatmap-cell").on("mouseleave",function(){var d=event.target;var c;b._arrow.style.display="";d.classList.toggle("jqx-opacity-50");c=setTimeout(function(){b._tooltipContainer.classList.add("jqx-heatmap-hidden")},300);b._hideTimer=c});b.host.find(".jqx-color-container, .jqx-color-container-tick").on("click",function(){var c=a(this).attr("data-value");var d=a(this).attr("data-color-index");b._hideCells(d);b._toggleClass("jqx-color-container","jqx-selected-color",c);b._toggleClass("jqx-color-container-tick","jqx-opacity-50",c)})},_setDefaultValues:function(){var e=this;var d=Object.keys(e.xAxis);var b=Object.keys(e.yAxis);var c=Object.keys(e.legendSettings);var f=Object.keys(e.paletteSettings);if(d.indexOf("labels")===-1){e.xAxis.labels=[]}if(d.indexOf("opposedPosition")===-1){e.xAxis.opposedPosition=false}if(d.indexOf("isInversed")===-1){e.xAxis.isInversed=false}if(b.indexOf("opposedPosition")===-1){e.yAxis.opposedPosition=false}if(b.indexOf("isInversed")===-1){e.yAxis.isInversed=false}if(c.indexOf("position")===-1){e.legendSettings.position="Right"}if(f.indexOf("type")===-1){e.paletteSettings.type="Gradient"}if(f.indexOf("palette")===-1){e.paletteSettings.palette=[{value:0,color:"#5dc3f0",label:""},{value:50,color:"#4bb1de",label:""},{value:100,color:"#3885a6",label:""}]}if(f.indexOf("emptyPointColor")===-1){e.paletteSettings.emptyPointColor="#eee"}},_showTooltip:function(l){var i=this;var d=document.createElement("div");var p=l.getAttribute("data-value");var e=l.getAttribute("data-date");var g=l.getAttribute("data-column");var f=i.xAxis.labels[g];var c=l.getAttribute("data-row");var n=i.yAxis.labels[c];var k=f+" | "+n+" : "+p;var o=l.offsetWidth;var j=10;var h;var q;var b;if(!i._tooltipContainer){i._tooltipContainer=d}i.element.appendChild(i._tooltipContainer);i._tooltipContainer.classList.remove("jqx-heatmap-hidden");i._tooltipContainer.className="jqx-heatmap-tooltip";if(i.tooltipRender){if(i.xAxis.minimum&&i.xAxis.maximum){var m={xLabel:f,yLabel:n,value:p,date:e,content:k}}else{var m={xLabel:f,yLabel:n,value:p,content:k}}i.tooltipRender(m);k=m.content}if(i.xAxis.minimum&&i.xAxis.maximum){i._tooltipContainer.innerHTML=p+" on "+i._defaultDateTooltipFormat(new Date(e))}else{i._tooltipContainer.innerHTML=k}h=i._tooltipContainer.offsetWidth;q=i._tooltipContainer.offsetHeight;b=h-o;i._tooltipContainer.style.top=(l.offsetTop-q+j)+"px";if(b>0){i._tooltipContainer.style.left=(l.offsetLeft-b/2)+"px"}else{i._tooltipContainer.style.left=(l.offsetLeft+Math.abs(b)/2)+"px"}},_defaultDateTooltipFormat:function(c){var b={day:"numeric",weekday:"short",month:"short",year:"numeric"};var d=new Intl.DateTimeFormat("en-US",b);return d.format(c)},_getAllDates:function(){var d=this;var g=new Date(d.xAxis.minimum);var i=new Date(d.xAxis.maximum);var h=d.source[0].length;var f=[];var e=[];for(var c=g,b=0;c<=i;c.setDate(c.getDate()+1),b++){if(b<h){e.push(c.toISOString());continue}f.push(e);d._addMonthLabel(e);e=[];b=0;e.push(c.toISOString())}d._dateArray=f},_addMonthLabel:function(f){var e=this;var c={month:e.xAxis.labelFormat};var d=new Intl.DateTimeFormat("en-US",c);var b=new Date(f[0]);var g=d.format(b);e.xAxis.labels.push(g)},_renderGrid:function(){var g=this;var b=document.createElement("div");var e=document.createElement("div");var l=document.createElement("div");var f=document.createElement("div");b.className="jqx-heatmap-grid";e.className="jqx-x-axis-container";l.className="jqx-y-axis-container";f.className="jqx-heatmap-container-wrapper";g._setAxisOrigin();for(var d=0,c=g.source.length;d<c;d++){var k=document.createElement("div");var h=g.source[d];g._setGridColumn(k,d,c);for(var m=0,i=h.length;m<i;m++){var j=document.createElement("div");g._setGridCell(j,d,m,h);k.appendChild(j)}b.appendChild(k)}f.style.width=g._toPx(g.width);e.appendChild(b);l.appendChild(e);f.appendChild(l);g._gridXAxisContainer=e;g._gridYAxisContainer=l;g._gridContainerWrapper=f;g.element.appendChild(f)},_renderAxis:function(d,h,k,m){var f=this;var j=document.createElement("div");var c=f.element.querySelector(".jqx-heatmap-grid").offsetHeight;for(var g=0,b=h.length;g<b;g++){var n=h[g];var e=document.createElement("div");e.innerHTML=n;e.className=m;if(d==="x"){e.style.width="calc(100% /"+b+")";if(f.xAxis.minimum&&f.xAxis.maximum){var l=f.source.length;var i=(n.duplicates/l)*100;e.innerHTML=n.name;e.style.width=i+"%";if(f.xAxis.isInversed){e.style.textAlign="right"}else{e.style.textAlign="left"}}}else{j.style.height=c+"px";e.style.height="calc(100% /"+b+")"}j.appendChild(e)}if(d==="x"){j.className=k;f._gridXAxisContainer.appendChild(j)}else{j.className=k;f._gridYAxisContainer.appendChild(j)}},_getLabels:function(b){var d=this;var e={};var f=[];var c=0;b.forEach(function(h,g){if(h===b[g+1]){c++}else{c++;e={name:h,duplicates:c};f.push(e);c=0}});d.xAxis.labels=f},_renderAllAxis:function(){var d=this;var c;var e;var b;if(d.xAxis.minimum&&d.xAxis.maximum){d._getLabels(d.xAxis.labels)}d._renderAxis("x",d.xAxis.labels,"jqx-x-axis","jqx-x-axis-label");d._renderAxis("y",d.yAxis.labels,"jqx-y-axis","jqx-y-axis-label");b=d.element.querySelector(".jqx-y-axis");c=d.element.querySelectorAll(".jqx-x-axis-label");e=d.element.querySelectorAll(".jqx-y-axis-label");if(d.xAxis.opposedPosition){d._gridXAxisContainer.style.flexDirection="column-reverse";b.classList.add("jqx-margin-top-auto");c.forEach(function(f){f.classList.add("jqx-top")})}if(d.yAxis.opposedPosition){d._gridYAxisContainer.style.flexDirection="row";e.forEach(function(f){f.classList.add("jqx-right")})}},_setGridColumn:function(d,c,b){d.id="jqx-column-"+c;d.classList.add("jqx-column");d.style.width="calc(100% / "+b+")"},_setGridCell:function(b,c,e,h){var i=this;var n=h[e];b.classList.add("jqx-heatmap-cell");b.setAttribute("data-row",e);b.setAttribute("data-column",c);b.setAttribute("data-value",n);if(i.xAxis.minimum&&i.xAxis.maximum){b.setAttribute("data-date",i._dateArray[c][e])}for(var j=0,d=i.paletteSettings.palette.length;j<d;j++){if(n===null){continue}var m=Number(n);var f=i.paletteSettings.palette[j].value;var g=Number(f);var l=null;var k=null;if(j+1<d){l=i.paletteSettings.palette[j+1].value;k=Number(l)}if(k&&((m>=g&&m<k)||m<i._minValue)){b.setAttribute("data-color-index",j);break}else{if(!k&&(m>=g)){b.setAttribute("data-color-index",j)}}}if(i.xAxis.minimum&&i.xAxis.maximum){if(n===null){b.classList.add("jqx-empty-cell")}return}if(n===null){b.innerHTML="&nbsp";b.classList.add("jqx-empty-cell");return}b.innerHTML=n},_getTicksMinMax:function(){var h=this;var f=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=f[0].value;var g=f[0].value;var d=[];for(var i=0,e=f.length;i<e;i++){var c=f[i].value;var b=f[i].label||"";d.push({value:c,label:b});if(c<j){j=c;continue}if(c>g){g=c;continue}}h._minValue=j;h._maxValue=g;h._ticksArray=d},_renderTitle:function(){var c=this;var b=document.createElement("div");b.className="jqx-heatmap-title";b.innerHTML=c.title;b.style.width=c._toPx(c.width);c._title=b;c.element.appendChild(b)},_renderLegend:function(b){var e=this;var d=document.createElement("div");var c=e.paletteSettings.type==="Gradient"?document.createElement("canvas"):document.createElement("div");var f=document.createElement("div");d.classList.add("jqx-legend-"+b);c.classList.add("jqx-palette-"+b);f.classList.add("jqx-arrow-"+b);e._drawLegend(d,c,b);d.appendChild(c);d.appendChild(f);e._gridContainerWrapper.appendChild(d);e._arrow=f;e._palette=c;e._legend=d;e._adjustLegend(b)},_drawLegend:function(c,e,b){var d=this;if(b==="vertical"){if(d.xAxis.opposedPosition===true){c.classList.add("jqx-margin-top-auto")}if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"vertical")}else{d._drawFixedLegend(e,"vertical")}if(d.legendSettings.position==="Left"){c.classList.add("jqx-left")}d._gridXAxisContainer.width="calc(100% - "+c.offsetWidth+"px)"}else{if(d.paletteSettings.type==="Gradient"){d._drawGradientLegend(e,"horizontal")}else{d._drawFixedLegend(e,"horizontal")}if(d.legendSettings.position==="Bottom"){c.classList.add("jqx-bottom")}if(d.yAxis.opposedPosition===true){c.classList.add("jqx-margin-right-auto")}}},_drawFixedLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var j=h.element.querySelector(".jqx-heatmap-grid").offsetWidth;var b=h.element.querySelector(".jqx-heatmap-grid").offsetHeight;if(f==="horizontal"){e.classList.add("jqx-fixed")}for(var i=0,c=d.length;i<c;i++){var g=d[i];var k=document.createElement("div");var l=((j/c)/j)*100;k.id="jqx-color-container-"+i;k.className="jqx-color-container";k.setAttribute("data-value",g.value);k.setAttribute("data-color-index",i);k.setAttribute("data-color",g.color);k.style.background=g.color;if(f==="vertical"){k.style.width="10px";k.style.height="calc("+b+"px / "+c+")"}else{k.style.width=l+"%";k.style.height="10px"}e.appendChild(k)}},_drawGradientLegend:function(e,f){var h=this;var d=JSON.parse(JSON.stringify(h.paletteSettings.palette));var b=e.getContext("2d");if(f==="vertical"){var k=b.createLinearGradient(0,0,0,150)}else{var k=b.createLinearGradient(0,0,300,0)}if(h.paletteSettings.type==="Gradient"){h._checkNewMinMax()}for(var i=0,c=d.length;i<c;i++){var g=d[i];var j=((g.value-h._minValue)/(h._maxValue-h._minValue));k.addColorStop(j,g.color)}b.fillStyle=k;b.fillRect(0,0,300,150);h._canvasContext=b},_getSourceMinMax:function(){var g=this;var e=g.source[0][0];var b=g.source[0][0];for(var d=0,f=g.source.length;d<f;d++){for(var h=0,i=g.source[d].length;h<i;h++){var c=g.source[d][h];if(c===null){continue}if(e>c){e=c;continue}if(b<c){b=c;continue}}}return{min:e,max:b}},_checkNewMinMax:function(){var c=this;var b=JSON.parse(JSON.stringify(c.paletteSettings.palette));var d=c._getSourceMinMax();if(c._minValue>d.min){c._minValue=d.min;b.splice(0,0,{value:d.min,color:b[0].color})}if(c._maxValue<d.max){c._maxValue=d.max;b.push({value:d.max,color:b[b.length-1].color})}},_adjustLegend:function(b){var c=this;if(b==="vertical"){c._setVerticalLegendHeight();c._renderScale("vertical")}else{c._setHorizontalLegendWidth();c._renderScale("horizontal")}},_renderScale:function(b){var g=this;for(var d=0,f=g._ticksArray.length;d<f;d++){var c=g._ticksArray[d].value;var h=g._ticksArray[d].label;var e=document.createElement("div");if(g.paletteSettings.type==="Fixed"){e.classList.add("jqx-color-container-tick")}e.classList.add("jqx-tick","jqx-tick-"+b);e.setAttribute("data-value",c);e.setAttribute("data-color-index",d);e.innerHTML=h||c;g._setLegendTicksPosition(e,c,d,b);g._legend.appendChild(e)}if(b==="vertical"){g._tick=e;g._setVerticalLegendWidth()}},_setLegendTicksPosition:function(f,g,c,h){var i=this;var n="6px";if(i.paletteSettings.type==="Gradient"){if(g===i._minValue||g===i._maxValue){if(g===i._minValue){if(h==="vertical"){f.style.top="-0.5%"}else{f.style.left="-3px"}}else{if(h==="vertical"){f.style.top="96%"}else{f.style.right="-11px"}}f.classList.add("jqx-no-line")}else{var k=((g-i._minValue)/(i._maxValue-i._minValue))*100;if(h==="vertical"){f.style.top="calc("+k+"% - "+n+")"}else{f.style.left="calc("+k+"% - "+n+")"}}}else{var b=i.element.querySelector(".jqx-color-container").offsetHeight;var d=i.element.querySelector(".jqx-color-container").offsetWidth;var m=5;if(h==="vertical"){if(c===0){f.style.top=c*b+"px"}else{f.style.top=c*b-m+"px"}}else{if(c===0){f.style.left=c*d+"px"}else{var e=i.paletteSettings.palette.length;var j=i.element.querySelector(".jqx-heatmap-grid").offsetWidth;var l=((j/e)/j)*100;f.style.left="calc("+l*c+"% - "+m+"px)"}}f.classList.add("jqx-no-line")}},_showLegendArrow:function(b,f){var e=this;var d="6px";var c=((f-e._minValue)/(e._maxValue-e._minValue))*100;if(e.paletteSettings.type==="Gradient"&&f<=e._maxValue){e._arrow.style.display="block";if(b==="vertical"){e._arrow.style.top="calc("+c+"% - "+d+")"}else{e._arrow.style.left="calc("+c+"% - "+d+")"}}},_setVerticalLegendWidth:function(){var b=this;var d=15;var c=15;b._legend.style.width=d+b._tick.offsetWidth+"px";b._gridXAxisContainer.style.width="calc(100% - "+(b._legend.offsetWidth+c)+"px)"},_setVerticalLegendHeight:function(){var c=this;var b=c.element.querySelector(".jqx-heatmap-grid").offsetHeight;c._legend.style.height=b+"px"},_setHorizontalLegendWidth:function(){var c=this;var b=c.element.querySelector(".jqx-y-axis").offsetWidth;c._legend.style.width="calc(100% - "+b+"px)"},_hideCells:function(g){var f=this;var d=f.element.querySelectorAll('.jqx-heatmap-cell[data-color-index="'+g+'"]');for(var c=0,e=d.length;c<e;c++){var b=d[c];b.classList.toggle("jqx-heatmap-hidden")}},_toggleClass:function(j,i,h){var e=this;var g=e.element.querySelectorAll("."+j);for(var f=0,c=g.length;f<c;f++){var d=g[f];var b=d.getAttribute("data-value");if(h===b){d.classList.toggle(i);return}}},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_getLegendColor:function(i,e){var f=this;var d=149;var b=299;var g=((i-f._minValue)/(f._maxValue-f._minValue))*d;var h=((i-f._minValue)/(f._maxValue-f._minValue))*b;var j=null;var c=null;if(i>f._maxValue||i<f._minValue){return}if(e==="vertical"){j=f._canvasContext.getImageData(0,g,1,1).data}else{j=f._canvasContext.getImageData(h,0,1,1).data}c="rgba("+j[0]+", "+j[1]+", "+j[2]+", "+(j[3]/255)+")";return c},_getFixedLegendColor:function(h){var g=this;var e=JSON.parse(JSON.stringify(g.paletteSettings.palette));for(var d=0,f=e.length;d<f;d++){var b=e[d];var c=e[d+1];if(c&&((h>=b.value&&h<c.value)||h<g._minValue)){return b.color}else{if(!c&&h>=b.value){return b.color}}}},_setCellsBackground:function(c){var h=this;var f=h.element.querySelectorAll(".jqx-heatmap-cell");for(var e=0,g=f.length;e<g;e++){var b=f[e];var i=f[e].getAttribute("data-value");if(i==="null"){b.style.background=h.paletteSettings.emptyPointColor}else{if(h.paletteSettings.type==="Gradient"){var d=h._getLegendColor(i,c)}else{var d=h._getFixedLegendColor(i)}b.style.background=d}}},_renderLegendPosition:function(){var b=this;switch(b.legendSettings.position){default:case"Right":b._gridContainerWrapper.style.flexDirection="row";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Left":b._gridContainerWrapper.style.flexDirection="row-reverse";b._renderLegend("vertical");b._setCellsBackground("vertical");break;case"Top":b._gridContainerWrapper.style.flexDirection="column-reverse";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break;case"Bottom":b._gridContainerWrapper.style.flexDirection="column";b._renderLegend("horizontal");b._setCellsBackground("horizontal");break}},_reverseXAxisOrigin:function(){var b=this;b.xAxis.labels.reverse();b.source.reverse();b._isXAxisInversed=!b._isXAxisInversed;if(b.xAxis.minimum&&b.xAxis.maximum){b._dateArray.reverse()}},_reverseYAxisOrigin:function(){var b=this;b.yAxis.labels.reverse();b._isYAxisInversed=!b._isYAxisInversed;b._reverseNestedArray(b.source);if(b.xAxis.minimum&&b.xAxis.maximum){b._reverseNestedArray(b._dateArray)}},_reverseNestedArray:function(e){for(var b=0,d=e.length;b<d;b++){var c=e[b];c.reverse()}},_setAxisOrigin:function(){var b=this;if(b.xAxis.isInversed!==b._isXAxisInversed){b._reverseXAxisOrigin()}if(b.yAxis.isInversed!==b._isYAxisInversed){b._reverseYAxisOrigin()}},_destroyGrid:function(){var b=this;a(b._gridContainerWrapper).remove();if(b.xAxis.minimum&&b.xAxis.maximum){b.xAxis.labels=[]}},_destroyTitle:function(){var b=this;a(b._title).remove()},_renderAllElements:function(){var b=this;b._renderTitle();b._getTicksMinMax();if(b.xAxis.minimum&&b.xAxis.maximum){b._getAllDates()}b._renderGrid();b._renderAllAxis();b._renderLegendPosition()},_rerender:function(){var b=this;b._destroyTitle();b._destroyGrid();b._renderAllElements();b._addHandlers()},setLegendPosition:function(b){var c=this;if(c.legendSettings.position!==b){c.legendSettings.position=b;c._rerender()}},setOpposedXAxisPosition:function(c){var b=this;if(b.xAxis.opposedPosition!==c){b.xAxis.opposedPosition=c;b._rerender()}},setOpposedYAxisPosition:function(c){var b=this;if(b.yAxis.opposedPosition!==c){b.yAxis.opposedPosition=c;b._rerender()}},reverseXAxisPosition:function(c){var b=this;b.xAxis.isInversed=c;b._rerender()},reverseYAxisPosition:function(c){var b=this;b.yAxis.isInversed=c;b._rerender()},setPaletteType:function(b){var c=this;c.paletteSettings.type=b;c._rerender()},destroy:function(){var b=this;b.host.remove()}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxkanban.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxkanban.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxknob.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxknob.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxknockout.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxknockout.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxlayout.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxlayout.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxlistbox.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxlistbox.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxlistmenu.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxlistmenu.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxloader.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxloader.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxmaskedinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxmaskedinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxmenu.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxmenu.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxnavbar.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxnavbar.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxnavigationbar.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxnavigationbar.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxnotification.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxnotification.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxnumberinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxnumberinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxpanel.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxpanel.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxpasswordinput.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxpasswordinput.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxpivot.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxpivot.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxpivotdesigner.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxpivotdesigner.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxpivotgrid.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxpivotgrid.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxPivotGrid","",{});a.extend(a.jqx._jqxPivotGrid.prototype,{defineInstance:function(){var b={scrollBarsEnabled:true,source:null,groupingColumns:[],isGroupingEnabled:false,_offsetX:0,_offsetY:0,_currentPosition:{},_selectStartPosition:{},_isMouseLeftButtonDown:false,_timeLastUp:new Date(),_timeLastDown:new Date(),resizeTooltipEnabled:false,isHorizontalResize:true,_colResizeState:"NO_RESIZE",activeEditor:{Editor:null},_id:0,_colItemRangeSelectionBeg:null,_colItemRangeSelectionEnd:null,_rowItemRangeSelectionBeg:null,_rowItemRangeSelectionEnd:null,_isCTRLPressed:false,_internalSelectMode:"CELLS_SELECT",_mostRightItemBounds:{x:0,y:0,width:0,height:0},_mostLeftItemBounds:{x:0,y:0,width:0,height:0},_adjSelectedItemsSave:{},multipleSelectionEnabled:true,selectionEnabled:true,selectionMode:"CELLS_SELECT",treeStyleRows:true,autoResize:false,cellsRenderer:null,itemsRenderer:null,localization:null};a.extend(true,this,b);this._createPivotAreas();return b},_createPivotAreas:function(){if(this._pivotRows){this._pivotRows.clear();delete this._pivotRows}if(this._pivotColumns){this._pivotColumns.clear();delete this._pivotColumns}if(this._pivotCells){this._pivotCells._resetCanvas();this._pivotCells.clear();delete this._pivotCells}this._pivotRows=new a.jqx.jqxPivotGrid.pivotRows(this);this._pivotColumns=new a.jqx.jqxPivotGrid.pivotColumns(this);this._pivotCells=new a.jqx.jqxPivotGrid.pivotCells();this._pivotCells.parentPivotGrid=this},_instanceId:0,createInstance:function(j){var f=this.element;var k=this.host;var l=this;l.localizeStrings(l.localization);var b="jqx-pivotgrid jqx-rc-all jqx-widget "+this.toThemeProperty("jqx-widget-content");var g="";if(this._isTouchDevice()){g="class='jqx-grid-menu-item-touch'"}k.append("<div class='"+b+"' style='width:100%; height: 100%; overflow:hidden; position:relative; onselectstart='return false;' oncontextmenu='return false;''><div id='divContent' style='width:100px; height:100%;'></div><div id='divHScroll' style='width:100%; height:17px;'></div><div id='divVScroll' style='width:17px; height:100%;'></div><div id='divContextMenu'><ul><li "+g+"><div id='sortasc' class='jqx-pivotgrid-sortasc-icon'></div><span>"+l._localizedStrings.sortascendingstring+"</span></li><li "+g+"><div id='sortdesc' class='jqx-pivotgrid-sortdesc-icon'></div><span>"+l._localizedStrings.sortdescendingstring+"</span></li><li "+g+"><div id='sortremove' class='jqx-pivotgrid-sortremove-icon'></div><span>"+l._localizedStrings.sortremovestring+"</span></li></ul></div></div>");var c=k.find("#divContent");var d=c[0];var i=document.createElement("div");i.style.position="relative";i.style.left="0px";i.style.top="0px";i.style.width="100%";i.style.height="100%";i.style.overflow="hidden";c.append(i);this.contentCanvas=this.Canvas=i;this.hostVScroll=k.find("#divVScroll");this.hostHScroll=k.find("#divHScroll");this.hScroll=k.find("#divHScroll").jqxScrollBar({vertical:false,theme:this.theme});this.vScroll=k.find("#divVScroll").jqxScrollBar({vertical:true,theme:this.theme});l._createContextMenu();l.id=l._instanceId++;l._resizeLineId="divResizeLine"+l.id;a(document.body).append("<div id='"+l._resizeLineId+"' style='position: absolute; display: none;'></div>");try{l.dataBind()}catch(h){throw"Databinding exception: "+h.toString();return}l._installEventHandlers();a.jqx.utilities.resize(l.host,function(){l.refresh()},false);if(!l._isInitialized){l._isInitialized=true}},destroy:function(){this._isInitialized=false;this.host.find("#divHScroll").off();this.host.find("#divVScroll").off();this._contextMenu.off();this.removeHandler(this.host);a.jqx.utilities.resize(this.host,null,true)},_installEventHandlers:function(){var b=this;b.hostVScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostVScroll[0]){b.onVScroll(c.currentValue)}});b.hostHScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostHScroll[0]){b.onHScroll(c.currentValue)}});b.addHandler(b.host,"mousewheel DOMMouseScroll",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){return}c.preventDefault();if(!b._scrollBarPositions.vertical.visible){return}b.onMouseWheel(c)});b.addHandler(b.host,"mouseenter",function(c){if(c.currentTarget==b.element){b._onMouseEnter(c)}});b.addHandler(b.host,"mouseleave",function(c){if(c.currentTarget==b.element){b._onMouseLeave(c)}});b.addHandler(b.host,"mousedown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseDown(c);this.focus()});b.addHandler(a(document),"mouseup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseUp(c);if(c.cancel){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){if(b._colResizeState!="RESIZING"){return}}b._onMouseClick(c)});b.addHandler(a(document),"mousemove",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}b._onMouseMove(c)});b.addHandler(a(document),"keydown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=true}else{if(c.keyCode==16){b._isSHIFTPressed=true}else{if(b._handleKeyboardNavigation){b._handleKeyboardNavigation(c)}}}});b.addHandler(a(document),"keyup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=false}else{if(c.keyCode==16){b._isSHIFTPressed=false}}})},_createContextMenu:function(){var k=this;var j=this.host;var h=j.find("#divContextMenu");k._contextMenu=h.jqxMenu({width:"120px",autoCloseOnClick:true,autoOpenPopup:false,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0,theme:this.theme,keyboardNavigation:false,mode:"popup"});var f=h.find("li");var b="";for(var d=0;d<f.length;d++){var g=a(f[d]).text();if(g.length>b.length){b=g}}var c=a('<span style="white-space:nowrap;">'+b+"</span>");c.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(c);var e=c.outerWidth()+30;c.remove();k._contextMenu=h.jqxMenu({width:e});k._contextMenu.on("shown",function(){k._isContextMenuOpen=true});k._contextMenu.on("closed",function(){k._isContextMenuOpen=false;k._hideItemMenuElement()});k._contextMenu.on("itemclick",function(n){n.stopImmediatePropagation();n.stopPropagation();var m=k._menuElement._itemMouseOver;if(!m){return}var l=m.hierarchy==k._pivotColumns?k._pivotRows:k._pivotColumns;var i=n.args.innerHTML;if(i.indexOf("sortasc")!=-1){l.sortBy(m,"asc")}else{if(i.indexOf("sortdesc")!=-1){l.sortBy(m,"desc")}else{if(i.indexOf("sortremove")!=-1){l.removeSort()}}}})},_isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchmode==true){if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.enablehover=false;return false}b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchmode==false){b=false}}if(b&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return b},propertyChangedHandler:function(b,c,e,d){if(this._isInitialized==undefined||this._isInitialized==false){return}if(c=="source"){this.dataBind()}else{if(c=="theme"){this.hostVScrollBar.jqxScrollBar("theme",this.theme);this.hostHScrollBar.jqxScrollBar("theme",this.theme)}}this._internalRefresh()},genId:function(){return this._id++},getCellId:function(b,c){return b.id+"_"+c.id},_scrollTimer:undefined,_renderOnTimeout:function(c){clearTimeout(this._scrollTimer);var b=this;if(c==0){this._pivotColumns._refreshRequired=this._pivotRows._refreshRequired=true;b._internalRefresh()}else{this._scrollTimer=setTimeout(function(){b._render()},c)}},onVScroll:function(b){b=Math.round(b);if(b==this._offsetY){return}var d=50;var c=0;this._offsetY=b;this._renderOnTimeout(c)},onHScroll:function(b){b=Math.round(b);if(b==this._offsetX){return}var d=50;var c=0;this._offsetX=b;this._renderOnTimeout(c)},onMouseWheel:function(d){var f=0;if(!d){d=window.event}if(d.wheelDelta){f=d.wheelDelta/120}else{if(d.detail){f=-d.detail/3}}if(!f){return}if(d.preventDefault){d.preventDefault()}d.returnValue=false;var c=this.vScroll.jqxScrollBar("min");var b=this.vScroll.jqxScrollBar("max");var e=this.vScroll.jqxScrollBar("value");f*=10;e=e-f;if(e>b){e=b}if(e<c){e=c}this.vScroll.jqxScrollBar("value",e)},_onMouseMove:function(c){var d=a.jqx.position(c);var b=d.left;var g=d.top;if(!this.isPtInRect({x:b,y:g},this._rect)){if(this._colResizeState!="RESIZING"){return}}var f=this.host.offset();b-=Math.round(f.left);g-=Math.round(f.top);b=Math.max(b,0);g=Math.max(g,0);if(this._currentPosition.x==b&&this._currentPosition.y==g){return}else{this._currentPosition.x=b;this._currentPosition.y=g}for(var e in this._scrollBarPositions){if(this._scrollBarPositions[e].visible&&this.isPtInRect({x:b,y:g},this._scrollBarPositions[e].rect)){return}}this._handleMouseMove(c);if(this.activeEditor&&this.activeEditor.Editor){}else{}},_onMouseEnter:function(b){},_onMouseLeave:function(b){this._hideItemMenuElement()},_onMouseDown:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(null!=d){var c=this._raisePivotItemMouseEvent(d,"pivotitemmousedown",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonDown(e)}else{if(e.button==2){this.onMouseRightButtonDown(e)}}},_onMouseUp:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(d!=null){var c=this._raisePivotItemMouseEvent(d,"pivotitemmouseup",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonUp(e)}else{if(e.button==2){this.onMouseRightButtonUp(e)}}},_onMouseClick:function(d){var b=this;var c=d;b._handleMouseClick(d);if(d.cancel){return}if(b._dtLastMouseClick){var e=new Date()-b._dtLastMouseClick;if(e<500){this._handleMouseDoubleClick(d);b._dtLastMouseClick=undefined;return}}b._dtLastMouseClick=new Date()},setDivContent:function(f,c,d,g,e){var b=this.getChild(f,"innerDiv");b.style.padding=d.top+"px "+d.right+"px "+d.bottom+"px "+d.left+"px";if(g){b.style["text-align"]=g}this.setElementSize(f,parseFloat(f.style.width),parseFloat(f.style.height));if(e){b.style.width=parseFloat(f.style.width)-d.left+"px"}b.innerHTML=c},setElementPosition:function(c,b,d){c.style.position="absolute";c.style.left=b+"px";c.style.top=d+"px"},_getFloat:function(b){var d;for(var c=0;c<b.length;c++){d=parseFloat(b[c]);if(!isNaN(d)){return d}}return NaN},setElementSize:function(j,b,f){j.style.width=b+"px";j.style.height=f+"px";var e=this.getChild(j,"innerDiv");if(e){var i=this._getFloat([e.style.padding.left,e.style.padding,0]);var d=this._getFloat([e.style.padding.right,e.style.padding,0]);var g=this._getFloat([e.style.padding.top,e.style.padding,0]);var c=this._getFloat([e.style.padding.bottom,e.style.padding,0]);e.style.width=(b-i-d)+"px";e.style.height=(f-g-c)+"px"}},createCanvas:function(b){var c=document.createElement("div");c.style["background-color"]="transparent";c.style.overflow="hidden";b.appendChild(c);return c},createDiv:function(c,d,f,b){var g=document.createElement("div");g.id=d;g.style.height=b+"px";g.style.width=f+"px";var e=document.createElement("div");e.id="innerDiv";e.style.height=b+"px";e.style.width=f+"px";g.appendChild(e);c.appendChild(g);return g},getPivotRows:function(){return this._pivotRows},getPivotColumns:function(){return this._pivotColumns},getPivotCells:function(){return this._pivotCells},_layout:function(){var d=this.host.find("#divContent");var f=this.host.find("#divVScroll");var c=this.host.find("#divHScroll");var e=this.host.width();var b=this.host.height();if(!this._pivotCells.Canvas){this._pivotCells.Canvas=this.createCanvas(this.Canvas,"divCells",100,100)}if(!this._pivotRows.Canvas){this._pivotRows.Canvas=this.createCanvas(this.Canvas,"divRowsHierarchy",100,100)}if(!this._pivotColumns.Canvas){this._pivotColumns.Canvas=this.createCanvas(this.Canvas,"divColumnsHierarchy",100,100)}if(this._pivotRows.isHidden){this._pivotRows.Canvas.style.display="none"}else{this._pivotRows.Canvas.style.display="block";this.setElementPosition(this._pivotRows.Canvas,this._pivotRows.x,this._pivotRows.y);this.setElementSize(this._pivotRows.Canvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight());if(this._pivotRows.renderCanvas==undefined){this._pivotRows.renderCanvas=this.createCanvas(this._pivotRows.Canvas,"divRowsRender",100,100)}this.setElementSize(this._pivotRows.renderCanvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight())}if(this._pivotColumns.isHidden){this._pivotColumns.Canvas.style.display="none"}else{this._pivotColumns.Canvas.style.display="block";this.setElementPosition(this._pivotColumns.Canvas,this._pivotColumns.x,this._pivotColumns.y);this.setElementSize(this._pivotColumns.Canvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1);if(this._pivotColumns.renderCanvas==undefined){this._pivotColumns.renderCanvas=this.createCanvas(this._pivotColumns.Canvas,"divColumnsRender",100,100)}this.setElementSize(this._pivotColumns.renderCanvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1)}this.setElementPosition(this._pivotCells.Canvas,this._pivotColumns.x,this._pivotRows.y);this.setElementSize(this._pivotCells.Canvas,this._pivotCells.viewPort.width,this._pivotCells.viewPort.height);if(this._pivotCells.renderCanvas==undefined){this._pivotCells.renderCanvas=this.createCanvas(this._pivotCells.Canvas,"divCellsRender",100,100)}this.setElementSize(this._pivotCells.renderCanvas,this._pivotColumns.getWidth()+1,this._pivotRows.getHeight()+1)},refresh:function(){this._pivotColumns._renderRequired=true;this._pivotRows._renderRequired=true;this._pivotCells.clear();this._internalRefresh()},_internalRefresh:function(){var h=this.host.offset();if(this.autoResize){var d=this._pivotColumns.isHidden?0:this._pivotColumns.getHeight();var f=this._pivotColumns.isHidden?0:this._pivotColumns.getWidth();var e=this._pivotRows.isHidden?0:this._pivotRows.getHeight();var c=this._pivotRows.isHidden?0:this._pivotRows.getWidth();var g={};g.width=f+c+1;g.height=d+e+1;if(g.width!=this.host.width()||g.height!=this.host.height()){this._pivotColumns._renderRequired=this._pivotRows._renderRequired=true;this.host.css({width:g.width+"px",height:g.height+"px"})}}this._rect={x:h.left,y:h.top,width:this.host.width(),height:this.host.height()};this._render();var b=this.host.find("#divHScroll");b.jqxScrollBar("refresh")},_render:function(){var b=this._pivotColumns._renderRequired||this._pivotRows._renderRequired;if(this._pivotRows.compactStyleRenderingEnabled!=this.treeStyleRows){this._pivotRows.compactStyleRenderingEnabled=this.treeStyleRows;b=true}if(b){this._pivotRows._renderRequired=this._pivotColumns._renderRequired=true;this.RenderGridContent();this._layout()}this._pivotRows.viewPort.y=this._offsetY+(this._pivotColumns.isVisible()?this._pivotColumns.viewPort.height:0);this._pivotColumns.viewPort.x=this._offsetX+(this._pivotRows.isVisible()?this._pivotRows.viewPort.width:0);this._pivotColumns.refresh();this._pivotRows.refresh();this._pivotCells.render();this._updateMenuElement()},_updateMenuElement:function(){var b=this.host.find("#divContent");var d=b[0];if(this._menuElement){a(this._menuElement).off();d.removeChild(this._menuElement)}var e=document.createElement("div");e.style.height="16px";e.style.width="16px";e.style.id="menu_element";e.style.align="left";e.style.valign="top";e.style.display="none";d.appendChild(e);this._menuElement=e;var c=this;a(c._menuElement).on("click",function(){c._showItemContextMenu()})},dataBind:function(){var c=this.source;if(this.localization&&!c.localization){c.localization=this.localization}c.dataBind();function b(l,k,d,f,j){for(var g in l.items){var h=l.items[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.text=h.text;e.adapterItem=h;e.isColumn=j;k.items.push(e);b(h,e,e,f,j)}for(var g in l.valueItems){var h=l.valueItems[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.adapterItem=h;e.text=h.text;e.isColumn=j;e._isValueItem=true;k.valueItems.push(e);b(h,e,e,f,j)}}this._createPivotAreas();b(c._rowsHierarchy,this._pivotRows,null,this._pivotRows,false);b(c._columnsHierarchy,this._pivotColumns,null,this._pivotColumns,true);this.bindingState="DataBoundPivot";this._pivotRows.autoResize("default");this._pivotColumns.autoResize("default");this._internalRefresh()},getChild:function(d,e){var c=d.childNodes;for(var b=0;b<c.length;b++){if(c[b].id==e){return c[b]}}return null},scrollToOffset:function(c,e){var b=this.gridcells;for(var d=0;d<b.length;d++){b[d].style.top=e+parseInt(b[d].originalY)+"px";this.setDivContent(b[d],"cell "+d)}},getWidth:function(){return this.host.width()},getHeight:function(){return this.host.height()},RenderGridContent:function(){if(!this._pivotColumns._renderRequired&&!this._pivotRows._renderRequired){this._pivotRows.viewPort.y=this._offsetY;this._pivotColumns.viewPort.x=this._offsetX;return}if(this.PaintSuspended){return}if(this._colResizeState=="RESIZING"){return}var k={};k.x=this._offsetX;k.y=this._offsetY;k.width=this.getWidth();k.height=this.getHeight();if(k.width==0||k.height==0){return}this.PaintSuspended=true;if(this._pivotColumns._isColumnsCountRequresUpdate){this._pivotColumns._updateVisibleLeaves();this._pivotColumns._updateColumnsCount();this._pivotColumns._updateColumnsIndexes()}if(this._pivotRows._isColumnsCountRequresUpdate){this._pivotRows._updateColumnsCount();this._pivotRows._updateColumnsIndexes()}if(this.getWidth()==0||this.getHeight()==0){this.PaintSuspended=false;return}if(this.GroupingEnabled&&this.groupingColumns.length>0){this._pivotRows.isHidden=true}if(this._pivotColumns._renderRequired){this._pivotColumns.render()}if(this._pivotRows._renderRequired){this._pivotRows.render()}var c=(this._pivotColumns.isVisible()?this._pivotColumns.getHeight():0);var h=(this._pivotRows.isVisible()?this._pivotRows.getWidth():0);var i={width:this._pivotColumns.getWidth()+h,height:this._pivotRows.getHeight()+c};if(this.scrollableAreaSize!=i||this.isSyncScrollRequired){this.scrollableAreaSize=i;this.SynchronizeScrollBars()}var b=this.host.find("#divContent");var l=this.host.find("#divVScroll");var e=this.host.find("#divHScroll");var d=e.css("display")!="none";var g=l.css("display")!="none";b.css({height:(k.height-(d?e.height()+4:0))+"px"});b.css({width:(k.width-(g?l.width()+4:0))+"px"});var j=k.height;if(k.height==this.getHeight()){j=k.height-c-((d)?e.height()+4:0);if(j<0){j=k.height}}this._pivotRows.x=0;this._pivotRows.y=c;this._pivotRows.viewPort={x:this._pivotRows.x,y:k.y,width:this._pivotRows.getWidth(),height:j};var f=k.width;if(k.width==this.getWidth()){f=k.width-h-((g)?l.width()+4:0);if(f<0){f=k.width}}this._pivotColumns.x=h;this._pivotColumns.y=0;this._pivotColumns.viewPort={x:k.x,y:this._pivotColumns.y,width:f,height:this._pivotColumns.getHeight()};this._pivotCells.Bounds={x:this._pivotColumns.x,y:this._pivotRows.y,width:this._pivotColumns.getWidth(),height:j};this._pivotCells.viewPort={x:k.x,y:k.y,width:f,height:j};if(this.draggingItem!=null&&this.dragElement.visibility=="visible"){this.dragElement.setValue(this.Canvas.ZIndexProperty,10000)}this._pivotRows._renderRequired=false;this._pivotColumns._renderRequired=false;this.PaintSuspended=false},SynchronizeScrollBars:function(){var p=false;var e=false;var n=this.host.find("#divVScroll");var h=this.host.find("#divHScroll");var g=h.css("display")!="none";var j=n.css("display")!="none";var d=h.height();var k=false;var m=false;if(this.scrollableAreaSize.height>this.getHeight()){p=true}if(this.scrollableAreaSize.width>this.getWidth()){e=true}if(this.scrollableAreaSize.height<=this.getHeight()&&this.scrollableAreaSize.width<=this.getWidth()){p=false;e=false}if(p){e=e||(this.scrollableAreaSize.width>this.getWidth()-d)}if(e){p=p||(this.scrollableAreaSize.height>this.getHeight()-d)}if(p){if(!j){k=true}n[0].style.display="block";var c=this.getHeight()-(e?d+5:0);if(c<0){c=0}this.setElementPosition(n[0],this.getWidth()-d-4,0);this.setElementSize(n[0],d,c);n.jqxScrollBar("min",0);var i=this.scrollableAreaSize.height-(this.getHeight()-(e?d:0))+4;if(i!=n.jqxScrollBar("max")){n.jqxScrollBar("max",i)}if(this.VerticalScrollBarSmallChange!=undefined){n.jqxScrollBar("step",this.VerticalScrollBarSmallChange)}else{n.jqxScrollBar("step",10)}var l=this.scrollableAreaSize.height/10;if(l<10){l=10}if(this.VerticalScrollBarLargeChange!=undefined){l=verticalScrollBarLargeChange}if(n.jqxScrollBar("largestep")!=l){n.jqxScrollBar("largestep",l)}if(n.jqxScrollBar("largestep")<n.jqxScrollBar("step")){n.jqxScrollBar("largestep",n.jqxScrollBar("step"))}if(this.rtl){}else{}}else{if(j){k=true}n.jqxScrollBar("value",0);n[0].style.display="none"}if(e){if(g){m=true}h[0].style.display="block";var o=this.getWidth()-(p?d+5:0);if(o<0||o==undefined){o=0}this.setElementPosition(h[0],0,this.getHeight()-d-4);this.setElementSize(h[0],o,d);if(h.jqxScrollBar("min")!=0){h.jqxScrollBar("min",0)}var f=this.scrollableAreaSize.width-(this.getWidth()-(p?d:0))+4;if(h.jqxScrollBar("max")!=f){h.jqxScrollBar("max",f)}if(this.HorizontalScrollBarSmallChange!=undefined){h.jqxScrollBar("step",this.HorizontalScrollBarSmallChange)}else{h.jqxScrollBar("step",10)}var b=(this.getWidth()/2);if(b<25){b=25}if(this.HorizontalScrollBarLargeChange!=undefined){b=this.HorizontalScrollBarSmallChange}h.jqxScrollBar("largestep",b);if(h.jqxScrollBar("largestep")<h.jqxScrollBar("largestep")){h.jqxScrollBar("largestep",h.jqxScrollBar("step"))}}else{if(g){m=true}h.jqxScrollBar("value",0);h[0].style.display="none"}e=e&&this.scrollBarsEnabled;p=p&&this.scrollBarsEnabled;if(e!=(h[0].display=="block")){h[0].display=e?"block":"none";m=true}if(p!=(n[0].display=="block")){n[0].display=p?"block":"none";k=true}this._scrollBarPositions={vertical:{visible:p,rect:{x:n.position().left,y:n.position().top,width:n.width(),height:n.height()}},horizontal:{visible:e,rect:{x:h.position().left,y:h.position().top,width:h.width(),height:h.height()}}};h.jqxScrollBar("refresh");n.jqxScrollBar("refresh")},isPtInRect:function(b,c){return(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height)},onMouseLeftButtonUp:function(c){var j=this;for(var k in j._scrollBarPositions){if(this._scrollBarPositions[k].visible&&this.isPtInRect(j._currentPosition,j._scrollBarPositions[k].rect)){if(j._isMouseCaptured()){j._releaseMouseCapture()}j._isMouseLeftButtonDown=false;return}}if(j._isMouseCaptured()){j._releaseMouseCapture();return}if(j._itemMenuButtonMouseOver||j._isContextMenuOpen){return}j.canDrag=false;var g=a.jqx.position(c);var e=j.isPtInRect({x:g.left,y:g.top},j._rect);var d=j._pivotCells._hitTest(j._currentPosition);if(d&&e){var h=j._raisePivotCellMouseEvent(d.pivotRow,d.pivotColumn,"pivotcellmouseup","left");if(h){return}}if(j._colResizeState=="RESIZING"){j._colResizeState="NO_RESIZE";j._updateCursor("ARROW");j._pivotColumns._renderRequired=true;j._pivotRows._renderRequired=true;var l={x:j.resizingItem.x+j.resizingItem.hierarchy.x-j._offsetX,y:j.resizingItem.y+j.resizingItem.hierarchy.y-j._offsetY};if(this.isHorizontalResize){j.resizingItem.setWidth(Math.max(j.resizingItem.minimumWidth,Math.abs(j._currentPosition.x-l.x)))}else{j.resizingItem.setHeight(Math.max(j.resizingItem.minimumHeight,Math.abs(j._currentPosition.y-l.y)))}a("body").find("#"+j._resizeLineId).hide();j.resizingItem=null;if(j.resizeTooltipEnabled){}j._isMouseLeftButtonDown=false;j._internalRefresh();return}var f={isOnItemButton:false};var i=j._itemHitTest(j._currentPosition,f);if(i!=null){if(f.isOnItemButton||f.isOnMenuButton){return}}var b=false;if(j._canDrop(i)){j._endDrag(i);b=true}else{if(j.dragElement&&j.dragElement.style.display=="block"){j._endDrag(draggingItem);b=true}}if(b){j._isMouseLeftButtonDown=false;j._internalRefresh();return}j._isMouseLeftButtonDown=false;if(e&&j.activeEditor.Editor==null){j._updateSelection()}},onMouseLeftButtonDown:function(g){for(var h in this._scrollBarPositions){if(this._scrollBarPositions[h].visible&&this.isPtInRect(this._currentPosition,this._scrollBarPositions[h].rect)){this._captureMouse();return}}var d={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,d);this._timeLastDown=new Date();var c=false;if(!this.isShiftPressed){this._selectStartPosition={x:this._currentPosition.x,y:this._currentPosition.y}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}this._isMouseLeftButtonDown=true;if(this._colResizeState=="READY_RESIZE"){this._colResizeState="RESIZING";this._updateCursor(this.isHorizontalResize?"COLUMN_RESIZE":"ROW_RESIZE");this._refreshMouseCursor();return}else{if(this._colResizeState=="RESIZING"){return}}if(null!=f){if(d.isOnItemButton){if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}this._isMouseLeftButtonDown=false;if(f.isExpanded){f.collapse()}else{f.expand()}this._lastToggle={time:new Date(),item:f};this._internalRefresh();return}this.canDrag=true;if(d.isOnItemButton){this._updateCursor("ARROW")}else{this._updateCursor("CROSS")}if(f.isColumn){this._internalSelectMode="COL_SELECT"}else{this._internalSelectMode="ROW_SELECT"}}else{this._internalSelectMode="CELLS_SELECT"}var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","left");if(e){return}}if(this.activeEditor.Editor==null){this._updateSelection()}this._refreshMouseCursor()},onMouseRightButtonDown:function(e){this._timeLastDown=new Date();var c={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,c);if(d!=null){this._raisePivotItemMouseEvent(d,"pivotitemmousedown","right");return}var b=this._pivotCells._hitTest(this._currentPosition);if(b){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","right")}},onMouseRightButtonUp:function(d){var c=this;var f=a.jqx.position(d);var e=c.isPtInRect({x:f.left,y:f.top},c._rect);var b=this._pivotCells._hitTest(this._currentPosition);if(b&&e){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmouseup","right")}this._timeLastUp=new Date()},_itemMouseMove:function(b,g){if(this.resizingItem){if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}return}if(this._menuElement._itemMouseOver!=g){this._hideItemMenuElement()}this._updateCursor("CROSS");var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};if(g.isColumn){h.x+=g.hierarchy.x-this._offsetX}else{h.y+=g.hierarchy.y-this._offsetY}if(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled){h.height=g.height}h.right=h.x+h.width;h.bottom=h.y+h.height;if(Math.abs(h.right-b.x)<=4&&b.y>=h.y&&b.y<=h.bottom){this.isHorizontalResize=true;if(g.hierarchy.resizable&&!this._pivotColumns.isGroupingColumn(g)){this._updateCursor("COLUMN_RESIZE");this.resizingItem=(g.isColumn)?g._getLastVisibleLeaf(g):g;if(!this.resizingItem.isColumn&&!this.resizingItem.isExpanded){var d=this._pivotRows._getVisibleLeafLevelItems();for(var c in d){var e=d[c];if(e.ItemLevel>this.resizingItem.ItemLevel){this.resizingItem=e}}}this._colResizeState="READY_RESIZE"}return}if(!g.isColumn&&Math.abs(h.bottom-b.y)<=3){this.isHorizontalResize=false;if(!(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled)){g=g._getLastVisibleLeaf(g)}if(g.hierarchy.resizable){this._updateCursor("ROW_RESIZE");this.resizingItem=g;this._colResizeState="READY_RESIZE"}return}var f=g.hierarchy.getOtherHierarchy();if(g.hierarchy.sortable&&f.items.length>0){this._hitTestShowItemMenuElement(b,g,h)}},isInHierarchyViewPort:function(b,c){if(c.isColumnsHierarchy){return(this.isPtInRect({x:b.x+this._offsetX,y:b.y},c.viewPort))}else{return(this.isPtInRect({x:b.x,y:b.y+this._offsetY},c.viewPort))}},_hitTestShowItemMenuElement:function(b,g,h){if(this._menuElement&&this._menuElement._itemMouseOver&&this._menuElement._itemMouseOver._element){a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}this._menuElement.style.display="none";if(this._isContextMenuOpen||g.valueItems.length>0||!(b.x<h.right&&b.x>h.x&&b.y>=h.y&&b.y<=h.bottom)){return}var d=a.extend({},this._rect);d.x=d.y=0;if(this.vScroll[0].display=="block"){d.width-=this.vScroll.width()}if(this.hScroll[0].display=="block"){d.height-=this.hScroll.height()}var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);var e={x:g.x+h.width-18,y:g.y+(h.height-16)/2+1,width:16,height:16};this._menuElement.style.height=e.height+"px";this._menuElement.className=this.toThemeProperty("jqx-pivotgrid-menu-button");if(g.isColumn){e.x+=g.hierarchy.x-this._offsetX}else{e.y+=g.hierarchy.y-this._offsetY}this.setElementPosition(this._menuElement,e.x,e.y);if(this.isPtInRect({x:e.x,y:e.y},d)&&this.isPtInRect({x:e.x,y:e.y+e.height},d)&&this.isPtInRect({x:e.x+e.width,y:e.y},d)&&this.isPtInRect({x:e.x+e.width,y:e.y+e.height},d)){this._menuElement.style.display="block";this._menuElement._itemMouseOver=g;a(this._menuElement._itemMouseOver._element).find("#sortElement").hide();if(!g._currentCustomContent){var c=a(g._element).css("background-color");this._menuElement.style["background-color"]=c}if(g.isColumn){e.x+=this._offsetX-g.hierarchy.x}else{e.y+=this._offsetY-g.hierarchy.y}if(this.isPtInRect({x:f.x,y:f.y},e)){this._itemMenuButtonMouseOver=true}}},_hideItemMenuElement:function(){if(this._menuElement&&!this._isContextMenuOpen&&this._menuElement.style.display=="block"){this._menuElement.style.display="none";a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}},_hideItemContextMenu:function(){this._contextMenu.jqxMenu("close");this._hideItemMenuElement()},_showItemContextMenu:function(){var f=this._menuElement._itemMouseOver;if(!f){return}var e=this._contextMenu.width();var c=this._contextMenu.height();this._contextMenu.find("#sortasc")[0]["className"]="jqx-pivotgrid-sortasc-icon "+this.toThemeProperty("jqx-pivotgrid-sortasc-icon");this._contextMenu.find("#sortdesc")[0]["className"]="jqx-pivotgrid-sortdesc-icon "+this.toThemeProperty("jqx-pivotgrid-sortdesc-icon");this._contextMenu.find("#sortremove")[0]["className"]="jqx-pivotgrid-sortremove-icon "+this.toThemeProperty("jqx-pivotgrid-sortremove-icon");var d=-e+f.displayWidth+f.x+(f.hierarchy.viewPort.x-this._offsetX)-this._offsetX;if(!f.isColumn){d=f.x+f.displayWidth}var b=f.y+f.getDisplayHeight();if(!f.isColumn){b=f.y-this._offsetY+f.hierarchy.y}if(d<=1){d=1}if(b<this._pivotColumns.y+this._pivotColumns.getHeight()){b=this._pivotColumns.y+this._pivotColumns.getHeight()}if(b+c>this._rect.height){b=this._rect.height-c}this._contextMenu.jqxMenu("open",d+this._rect.x,b+this._rect.y);this._contextMenu.focus()},_handleMouseMove:function(d){if(this._colResizeState=="RESIZING"){this._doResize({x:this._currentPosition.x,y:this._currentPosition.y});this._refreshMouseCursor();return}else{this._colResizeState="NO_RESIZE";this.resizingItem=null}var j=this._currentPosition;var i=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotColumns)){i=this._pivotColumns.hitTest(j)}var c=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotRows)){c=this._pivotRows.hitTest(j)}this._itemMenuButtonMouseOver=false;if(i!=null||c!=null){var h=i==null?c:i;this.gridCellMouseOver=null;this._itemMouseMove(j,h);if(this._focusedItem!=h){this._focusedItem=h;if(this._isMouseLeftButtonDown){this._updateSelection()}}var f={};if(this.CellsHighlightOnHierarchyItemMoveEnabled&&((h.IsRowsHierarchyItem&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_ROW"))||(h.isColumn&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN")))){if(h.isColumn){f={x:h.x,y:0,width:h.DisplayWidth,height:this._pivotRows.getHeight()}}else{f={x:0,y:h.y,width:this._pivotColumns.getWidth(),height:h.getDisplayHeight()}}if((h.isColumn&&this.isGroupingEnabled&&this.groupingColumns.length>0)||(h.IsRowsHierarchyItem&&this._pivotRows.isOnRowDetails(this._currentPosition,h))){f={x:0,y:0,width:0,height:0}}}this._refreshMouseCursor();return}else{this._hideItemMenuElement()}var b=this.gridCellMouseOver!=null;this.resizingItem=null;this._focusedItem=null;this._colResizeState="NO_RESIZE";this._updateCursor("ARROW");var g=null;if(this.gridCellMouseOver){g={};g.pivotColumn=this.gridCellMouseOver.pivotColumn;g.pivotRow=this.gridCellMouseOver.pivotRow}var e=this._pivotCells._hitTest(j);if(this._isMouseLeftButtonDown&&e){if(this.gridCellMouseOver==null||this.gridCellMouseOver.pivotRow!=c||this.gridCellMouseOver.pivotColumn!=i){this.gridCellMouseOver={pivotRow:e.pivotRow,pivotColumn:e.pivotColumn,pivotCells:this._pivotCells}}var f={x:0,y:0,width:0,height:0};if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN"){f={x:this.gridCellMouseOver.pivotColumn.x,y:0,width:this.gridCellMouseOver.pivotColumn.getDisplayWidth(),height:this._pivotRows.getHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_ROW"){f={x:0,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_SINGLE_CELL"){f={x:this.gridCellMouseOver.pivotColumn.x,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()};if(this.isGroupingEnabled&&this.groupingColumns.length>0){if(this.gridCellMouseOver.pivotRow.items.length>0){f={x:0,y:0,width:0,height:0}}}if(this.gridCellMouseOver.pivotRow.RowDetailsVisible){f.height-=this.gridCellMouseOver.pivotRow.GetRowDetailsHeight()}}}}if(this._pivotColumns.isGroupingColumn(this.gridCellMouseOver.pivotColumn)||this._pivotRows.isOnRowDetails(this._currentPosition,this.gridCellMouseOver.pivotRow)){f={x:0,y:0,width:0,height:0}}}else{this.gridCellMouseOver=null}if(this.gridCellMouseOver!=null&&(this.gridCellMouseOver!=g||g.pivotRow!=this.gridCellMouseOver.pivotRow||g.pivotColumn!=this.gridCellMouseOver.pivotColumn)){if(this._isMouseLeftButtonDown&&!this._itemMenuButtonMouseOver){this._updateSelection();this._internalRefresh()}}},_handleMouseClick:function(f){var c={isOnItemButton:false};var g=this._itemHitTest(this._currentPosition,c);if(g!=null){var d=this._raisePivotItemMouseEvent(g,"pivotitemclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}if(this._isMouseLeftButtonDown&&!c.isOnItemButton&&g.sortMode=="Automatic"&&g.valueItems.length==0){var e=this.cursor;this.cursor="Wait";this.cursor=e}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var d=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}}}},_handleMouseDoubleClick:function(g){if(this.activeEditor.Editor!=null){var d=null;if(false==this.hideEditor("MOUSE_DBLCLICK",d,true)){return}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}var c={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,c);if(f!=null){if(c.isOnMenuButton){return}var e=this._raisePivotItemMouseEvent(f,"pivotitemdblclick",(g.button==0)?"left":"right");if(e){return}if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}if(g.button==0){if(f.isExpanded){f.collapse()}else{f.expand()}f.hierarchy.selectItem(f);this._internalRefresh()}this._lastToggle={time:new Date(),item:f}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcelldblclick",(g.button==0)?"left":"right");if(e){return}}}this._refreshMouseCursor()},_isMouseCaptured:function(){return this._captured===true},_releaseMouseCapture:function(){this._captured=false},_captureMouse:function(){this._captured=true},_updateCursor:function(b){if(b=="ARROW"){this.element.style.cursor="default"}else{if(b=="CROSS"){this.element.style.cursor="pointer"}else{if(b=="COLUMN_RESIZE"){this.element.style.cursor="col-resize"}else{if(b=="ROW_RESIZE"){this.element.style.cursor="row-resize"}}}}},_refreshMouseCursor:function(){},_ensureEditorFocus:function(){},focus:function(){},_itemHitTest:function(b,c){c.isOnItemButton=false;var g=null;if(!this._pivotRows.isHidden&&this.isInHierarchyViewPort(b,this._pivotRows)){g=this._pivotRows.hitTest(b)}if(g==null&&!this._pivotColumns.isHidden&&this.isInHierarchyViewPort(b,this._pivotColumns)){g=this._pivotColumns.hitTest(b)}if(g!=null){var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);if(g.items.length!=0&&g.expandCollapseEnabled!=false&&g.hierarchy.showExpandCollapseButtons){var e=0;if(!g.hierarchy.isColumnsHierarchy&&g.hierarchy.compactStyleRenderingEnabled){e=24*g.itemLevel}if(f.x>g.x+9+e&&f.x<g.x+20+e&&f.y>g.y+9&&f.y<g.y+20){c.isOnItemButton=true}}var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};var d={x:g.x+h.width-16,y:g.y,width:16,height:h.height};if(this.isPtInRect(f,d)&&g.hierarchy.sortable){c.isOnMenuButton=true}}return g},_raisePivotCellMouseEvent:function(g,f,b,c){var e=new a.Event(b);e.owner=this;e.args={pivotRow:g,pivotColumn:f,mousebutton:c,cancel:false};var d=this.host;d.trigger(e);if(e.args.cancel){return true}return false},_raisePivotItemMouseEvent:function(d,b,c){var f=new a.Event(b);f.owner=this;f.args={pivotItem:d,mousebutton:c,cancel:false};var e=this.host;e.trigger(f);if(f.args.cancel){return true}return false},_beginDrag:function(b){},_endDrag:function(b){},_canDrop:function(b){},_doResize:function(b){if(!(this.resizingItem!=null&&this.resizingItem.hierarchy.resizable)){return}if(this._pivotColumns.isGroupingColumn(this.resizingItem)){return}if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}this._focusedItem=this.resizingItem;var i={x:this.resizingItem.x+2*this.resizingItem.hierarchy.x-this.resizingItem.hierarchy.viewPort.x,y:this.resizingItem.y+2*this.resizingItem.hierarchy.y-this.resizingItem.hierarchy.viewPort.y};var g=false;var e=this.resizingItem.hierarchy;var d=a("body").find("#"+this._resizeLineId);if(this.isHorizontalResize){var h=b.x-i.x;if(h<this.resizingItem.minimumWidth){return}var f={x:b.x+this._rect.x,y:this._pivotRows.y+this._rect.y};d.css({"border-right":"1px dotted #555","border-bottom":"",width:"1px",height:this._pivotCells.viewPort.height,top:f.y,left:f.x,display:"block"});if(h>=this.resizingItem.minimumWidth&&h<=this.resizingItem.maximumWidth){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="width: "+h+" pixels"}g=true}}else{var c=b.y-i.y;if(c<this.resizingItem.minimumHeight){return}var f={x:this._pivotColumns.x+this._rect.x,y:b.y+this._rect.y};d.css({"border-bottom":"1px dotted #555","border-right":"",height:"1px",width:this._pivotCells.viewPort.width,left:f.x,top:f.y,display:"block",zIndex:50000});if(c>=this.resizingItem.minimumHeight&&c<=this.resizingItem.maximumHeight){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="height: "+c+" pixels"}g=true}}if(g){if(this.resizeTooltipEnabled){if(this._resizeTooltip.visibility!="visible"){this._resizeTooltip.visibility="visible"}this._resizeTooltip.setValue(this.Canvas.LeftProperty,b.x);this._resizeTooltip.setValue(this.Canvas.TopProperty,b.y);this._resizeTooltip.setValue(this.Canvas.ZIndexProperty,10002)}}},_internalClearSelection:function(){this._pivotColumns._internalClearSelection();this._pivotRows._internalClearSelection();this._pivotCells._internalClearSelection()},_beginSelectionUpdate:function(){if(this._isCTRLPressed&&this.multipleSelectionEnabled){return}this._pivotCells._beginSelectionUpdate();this._pivotColumns._beginSelectionUpdate();this._pivotRows._beginSelectionUpdate()},_endSelectionUpdate:function(){this._pivotColumns._endSelectionUpdate();this._pivotRows._endSelectionUpdate();this._pivotCells._endSelectionUpdate()},_updateSelection:function(){if(!this.selectionEnabled){return}this._colItemRangeSelectionBeg=null;this._rowItemRangeSelectionBeg=null;this._beginSelectionUpdate();var l=false;if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection();l=true}if(this.activeEditor.Editor!=null){this._internalClearSelection();this._endSelectionUpdate();return}var j=-1;var t=-1;var g={x:this._selectStartPosition.x,y:this._selectStartPosition.y};g.y-=this._offsetY;g.x-=this._offsetX;var p={isOnItemButton:false};var i=this._itemHitTest(this._selectStartPosition,p);if(i!=null){if(!(!i.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){i=i._getFirstVisibleLeaf(i)}if(i.isColumn){if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();return}else{this._internalSelectMode="COL_SELECT"}this._colItemRangeSelectionBeg=i}else{if(this.selectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}else{this._internalSelectMode="ROW_SELECT"}this._rowItemRangeSelectionBeg=i}}else{var h=this._pivotCells._hitTest(this._selectStartPosition);if(h){this._internalSelectMode="CELLS_SELECT";if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="ROW_SELECT"}else{if(this._SelectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="COL_SELECT"}}}else{this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}}var b={x:this._currentPosition.x,y:this._currentPosition.y};if(this._internalSelectMode=="COL_SELECT"){if(b.y>=this._pivotColumns.y+this._pivotColumns.getHeight()){b.y=this._pivotColumns.y+this._pivotColumns.getHeight()-1}if(b.y<=this._pivotColumns.y){b.y=this._selectStartPosition.y}if(b.x<=this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.x>=this._pivotColumns.x+this._pivotColumns.getWidth()){b.x=this._pivotColumns.x+this._pivotColumns.getWidth()-1}}else{if(this._internalSelectMode=="ROW_SELECT"){if(b.y>=this._pivotRows.y+this._pivotRows.getHeight()){b.y=this._pivotRows.y+this._pivotRows.getHeight()-1}if(b.y<=this._pivotRows.y){b.y=this._pivotRows.y+1}if(b.x<=this._pivotRows.x){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}if(b.x>=this._pivotRows.x+this._pivotRows.getWidth()){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}}else{if(this._internalSelectMode=="CELLS_SELECT"){if(b.x<this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.y<this._pivotRows.y){b.y=this._pivotRows.y+1}}}}this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null;var f=-1;var o=-1;if(this._internalSelectMode=="COL_SELECT"||this._internalSelectMode=="ROW_SELECT"){if(i!=null){var h={};var d=this._itemHitTest(b,h);if(null==d){this._endSelectionUpdate();return}if(!(!d.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){d=d._getLastVisibleLeaf(d)}if(d.isColumn){this._colItemRangeSelectionEnd=d}else{this._rowItemRangeSelectionEnd=d}}else{this._pivotCells.hitTest(b,h);if(h!=null){this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}else{this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null}}}if(this._internalSelectMode=="CELLS_SELECT"){var h=this._pivotCells._hitTest(this._selectStartPosition);this._colItemRangeSelectionBeg=h.pivotColumn;this._rowItemRangeSelectionBeg=h.pivotRow;if(!h){this._endSelectionUpdate();this._internalRefresh();return}if(g.x!=b.x||g.y!=b.y){this._pivotCells.hitTest(b,h);this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}if(!h.pivotRow||!h.pivotColumn){this._internalSelectMode="CELLS_SELECT";this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionStart=this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}}this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(l);if(this._internalSelectMode=="CELLS_SELECT"){var u=this._pivotRows._getVisibleLeafLevelItems();var n=this._pivotColumns._getVisibleLeafLevelItems();var t=this._pivotRows._pointToLeafItemIndexAbsolute(this._selectStartPosition);var o=this._pivotRows._pointToLeafItemIndexAbsolute(b);var j=this._pivotColumns._pointToLeafItemIndexAbsolute(this._selectStartPosition);var f=this._pivotColumns._pointToLeafItemIndexAbsolute(b);if((j==-1&&f==-1)||(t==-1&&o==-1)){this._endSelectionUpdate();this._internalRefresh();return}if(j==-1){j=f}if(f==-1){f=j}if(t==-1){t=o}if(o==-1){o=t}if(f<j){var s=j;j=f;f=s}if(o<t){var s=t;t=o;o=s}for(var m=t;m<=o&&m<u.length;m++){var e=u[m];for(var q=j;q<=f&&q<n.length;q++){var k=n[q];this._pivotCells._internalSelectCell(e,k)}}this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionEnd,pivotColumn:this._colItemRangeSelectionEnd,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}this._restoreSelectedItemsRangeOrder();this._applyItemsMultiSelect(l);this._endSelectionUpdate();this._internalRefresh()},_saveSelectedItemsRangeOrder:function(){this._adjSelectedItemsSave.colBeg=this._colItemRangeSelectionBeg;this._adjSelectedItemsSave.colEnd=this._colItemRangeSelectionEnd;this._adjSelectedItemsSave.rowBeg=this._rowItemRangeSelectionBeg;this._adjSelectedItemsSave.rowEnd=this._rowItemRangeSelectionEnd},_restoreSelectedItemsRangeOrder:function(){this._colItemRangeSelectionBeg=this._adjSelectedItemsSave.colBeg;this._colItemRangeSelectionEnd=this._adjSelectedItemsSave.colEnd;this._rowItemRangeSelectionBeg=this._adjSelectedItemsSave.rowBeg;this._rowItemRangeSelectionEnd=this._adjSelectedItemsSave.rowEnd},_adjustSelectedItemsOrder:function(c){if(this._colItemRangeSelectionBeg!=null&&this._colItemRangeSelectionEnd!=null&&this._colItemRangeSelectionBeg.x>this._colItemRangeSelectionEnd.x){var b=this._colItemRangeSelectionBeg;this._colItemRangeSelectionBeg=this._colItemRangeSelectionEnd;this._colItemRangeSelectionEnd=b}if(this._rowItemRangeSelectionBeg!=null&&this._rowItemRangeSelectionEnd!=null&&this._rowItemRangeSelectionBeg.y>this._rowItemRangeSelectionEnd.y){var b=this._rowItemRangeSelectionBeg;this._rowItemRangeSelectionBeg=this._rowItemRangeSelectionEnd;this._rowItemRangeSelectionEnd=b}if((false==this.multipleSelectionEnabled&&!c)||this._rowItemRangeSelectionEnd==null){this._rowItemRangeSelectionEnd=this._rowItemRangeSelectionBeg}if((false==this.multipleSelectionEnabled&&!c)||this._colItemRangeSelectionEnd==null){this._colItemRangeSelectionEnd=this._colItemRangeSelectionBeg}},_applyItemsMultiSelect:function(k){this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(k);for(var e=0;e<2;e++){if(this._internalSelectMode=="COL_SELECT"&&e!=0){continue}if(this._internalSelectMode=="ROW_SELECT"&&e!=1){continue}var l=e==0?this._colItemRangeSelectionBeg:this._rowItemRangeSelectionBeg;var c=e==0?this._colItemRangeSelectionEnd:this._rowItemRangeSelectionEnd;var f=(e==0)?this._pivotColumns:this._pivotRows;var g=f._getVisibleLeafLevelItems();if(g==null){this._internalRefresh();this._restoreSelectedItemsRangeOrder();return}var b=false;for(var d in g){var m=g[d];if(m!=l&&!b){continue}if(m.getWidthWithChildren()+m.x>this._mostRightItemBounds.x+this._mostRightItemBounds.width){this._mostRightItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}if(m.getWidthWithChildren()+m.x<this._mostLeftItemBounds.x+this._mostLeftItemBounds.width){this._mostLeftItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}b=true;f._internalSelectItem(m);if(m==c){break}}if(f.isColumnsHierarchy||!f.compactStyleRenderingEnabled){f._applySelectionToParentItems()}}this._restoreSelectedItemsRangeOrder()},localizeStrings:function(g,e){var b=this;if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}b._localizedStrings={decimalseparator:".",thousandsseparator:",",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",alignment:"Text alignment",cellalignment:"Number alignment",numberformat:"Number format",prefix:"Number prefix",decimalplacestext:"Decimal places",thousandsseparatortext:"Thousands separator",decimalseparatortext:"Decimal separator",nagativebracketstext:"Nagatives in brackets",fieldsettings:"Field settings",ok:"Ok",cancel:"Cancel"};var c=a.extend({},g);b._localizedStrings=a.extend(b._localizedStrings,c);for(var f in c){if(f&&f.toLowerCase()!==f){c[f.toLowerCase()]=c[f]}}for(var d in b._localizedStrings){if(c[d]!==undefined){b._localizedStrings[d]=c[d]}}},})})(jqxBaseFramework);$.jqx.jqxPivotGrid=$.jqx.jqxPivotGrid||{};$.jqx.define($.jqx.jqxPivotGrid,"propertyBag","");$.extend($.jqx.jqxPivotGrid.propertyBag.prototype,{defineInstance:function(){this.namedPropertyTables={};this._tableSizes={};this.enablePropertyChangeNotifications=false},getPropertyTable:function(a){if(undefined==this.namedPropertyTables[a]){this.namedPropertyTables[a]={};this._tableSizes[a]=0}return this.namedPropertyTables[a]},getPropertyCount:function(a){var b=this.getPropertyTable(a);if(null==b){return 0}return this._tableSizes[a]},getPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return null}if(c[b]!=undefined){return c[b]}return null},containsPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return false}return c[b]!=undefined},removePropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return}delete c[b];this._tableSizes[a]--},setPropertyValue:function(a,b,c){var d=this.getPropertyTable(a);if(null==d){return}if(c==null||c==undefined){if(d[b]){this._tableSizes[a]--;delete d[b]}}else{if(!d[b]){this._tableSizes[a]++}d[b]=c}if(this.enablePropertyChangeNotifications){this.onPropertyChanged(a)}},clear:function(a){if(a==""||a==null||a==undefined){this.namedPropertyTables={};return}var b=this.getPropertyTable(a);b={};this._tableSizes[a]=0},onPropertyChanged:function(a){$.event.trigger("propertychanged",a)}});(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.define(a.jqx.jqxPivotGrid,"pivotCells","");a.extend(a.jqx.jqxPivotGrid.pivotCells.prototype,{defineInstance:function(){this.parentPivotGrid=null;this.IsDataBoundPivotCellsEditable=false;this.cellProperties=new a.jqx.jqxPivotGrid.propertyBag();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._selectedCells=new Object()},hitTest:function(c){var d=this._hitTest(c);if(!d){return undefined}var b={pivotRow:d.pivotRow,pivotColumn:d.pivotColumn,pivotCells:this};return b},_hitTest:function(b){var c={};c.pivotColumn=this.parentPivotGrid._pivotColumns._pointToLeafItemAbsolute(b);c.pivotRow=this.parentPivotGrid._pivotRows._pointToLeafItemAbsolute(b);if(this.parentPivotGrid._pivotColumns.isGroupingColumn(c.pivotColumn)){return undefined}if(c.pivotColumn==null||c.pivotRow==null){return undefined}return c},clear:function(){this._reset()},_reset:function(){this.cellProperties.clear();this._selectedCells=new Object();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._clearElementsAndCellsCache()},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.removeChild(b.firstChild)}},_clearElementsAndCellsCache:function(){this._clearCellsCache()},setCellValue:function(b,g,k){if(b==null||g==null){return}var c=this.parentPivotGrid.getCellId(g,b);var i=this.getCellDataSource(b,g);var f=b.BoundFieldIndex!=-1&&g.BoundFieldIndex!=-1;var d=false;var j=this.getCellDataSource(b,g);if(j=="DataBound"&&f){d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}try{this.parentPivotGrid.setCellValueFromDataSourceNonPivot(b,g,k)}catch(h){return}this.cellProperties.setPropertyValue("CellValue",c,null);this.parentPivotGrid.OnCellValueChanged(b,g);return}else{if(j=="DataBoundPivot"){if(!this.IsDataBoundPivotCellsEditable){throw"The cell's value is derived from the data source and aggregated. It is not editable in this mode. Use the SetCellDataSource method to change the cell's data source first"}else{return}}}var d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}this.SetCellDataSource(b,g,"Static");this.cellProperties.setPropertyValue("CellValue",c,k);this.onPropertyChanged("CellValue");this.parentPivotGrid.OnCellValueChanged(b,g)},_clearCellsCache:function(){this.cellProperties.clear("CellValue")},_clearCachedCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this.cellProperties.containsPropertyValue("CellValue",b)){this.cellProperties.removePropertyValue("CellValue",b)}},drillThroughCell:function(c,b){if(!c||c.isColumn){throw"Invalid pivotRow parameter"}if(!b||!b.isColumn){throw"Invalid pivotColumn parameter"}return this.parentPivotGrid.source.drillThroughPivotCell(c.adapterItem,b.adapterItem)},getCellValue:function(h,f){var d=null;if(this.parentPivotGrid._pivotColumns.isGroupingColumn(f)){return null}var c=this.parentPivotGrid.getCellId(f,h);var b=this.getCellDataSource(h,f);if(h.isTotal||f.isTotal){b="Virtual"}switch(b){case"Virtual":d=this.parentPivotGrid.onCellValueNeeded(h,f);this.cellProperties.setDirty(c);if(d==null&&this.parentPivotGrid.bindingState=="BoundPivot"&&(h.isTotal||f.isTotal)){d=this.parentPivotGrid.getCellValueFromDataSource(h,f)}break;case"DataBoundPivot":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){d=this.parentPivotGrid.source.getCellValue(h.adapterItem,f.adapterItem);if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"DataBound":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){try{d=this.parentPivotGrid.getCellValueFromDataSourceNonPivot(h,f)}catch(g){return null}if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"NotSet":case"Static":default:d=this.cellProperties.getPropertyValue("CellValue",c);break}return d},setCellDataSource:function(e,c,b){if(e==null||c==null){return}var d=this.parentPivotGrid.getCellId(c,e);this.cellProperties.setPropertyValue("cellDataSource",d,b)},getCellDataSource:function(e,b){var d=this.parentPivotGrid.getCellId(b,e);var c=this.cellProperties.getPropertyValue("cellDataSource",d);if(null==c){c=b.cellDataSource}if(c==null||c=="NotSet"){c=e.cellDataSource}if(c!=null&&c!="NotSet"){return c}if(this.parentPivotGrid.UseVirtualCellsByDefault){return"Virtual"}if(this.parentPivotGrid.bindingState=="DataBound"||this.parentPivotGrid.bindingState=="DataBoundPivot"){return this.parentPivotGrid.bindingState}return"NotSet"},render:function(){var m=this.renderCanvas;if(!m){return}var x=this.parentPivotGrid;x.setElementPosition(m,-this.parentPivotGrid._offsetX,-this.parentPivotGrid._offsetY);var d=x._pivotRows;var A=x._pivotColumns;if(!this._refreshRequired&&(!d._isVirtualMode&&!A._isVirtualMode)){return}var o=d._getLeafItemsToRender();var g=A._getLeafItemsToRender();this._cellElements=this._cellElements||{};var e=new Array();var q=new Date();var s={first:d._isVirtualMode?o.first:0,last:d._isVirtualMode?o.last:o.items.length-1};var u={first:A._isVirtualMode?g.first:0,last:A._isVirtualMode?g.last:g.items.length-1};for(var y=s.last;y>=s.first;y--){for(var G=u.last;G>=u.first;G--){if(y==-1||G==-1){continue}var n=o.items[y];var l=g.items[G];var I=x.getCellId(l,n);var p=l.getDisplayWidth()-1;var F=n.getDisplayHeight()-1;var f=this.isCellSelected(n,l);var z=this._cellElements[I];var k=undefined;if(z&&z.isSelected==f){k=z.element}var v={left:4,top:4,right:4,bottom:4};var B=this.getCellValue(n,l);var j="";if(!k){k=x.createDiv(m,j,p,F);k.cellId=I;this._cellElements[I]={element:k,isSelected:f};x.setElementSize(k,p,F);var D="right";if(x.cellsRenderer&&a.isFunction(x.cellsRenderer)){j=x.cellsRenderer({value:B.value,formattedValue:B.formattedValue,isSelected:f,pivotRow:n,pivotColumn:l});v={left:0,top:0,right:0,bottom:0}}else{j=(B!==undefined&&B.formattedValue!==undefined)?B.formattedValue.toString():"";var C=this.parentPivotGrid.source.getCellFormatSettings(n.adapterItem,l.adapterItem);if(C){D=C.align||"right"}}this.parentPivotGrid.setDivContent(k,j,v,D);k.originalY=k.style.top;k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal")}else{if(k.style.width!=p+"px"||k.style.height!=F+"px"){this.parentPivotGrid.setElementSize(k,p,F)}}k.tRender=q;if(k.style.display!="block"){k.style.display="block"}if(k.style.left!=l.x+"px"||k.style.top!=n.y+"px"){this.parentPivotGrid.setElementPosition(k,l.x,n.y)}var b="cellsClassName";if(this.isCellSelected(n,l)){k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-selected jqx-fill-state-hover jqx-widget-content");b="cellsClassNameSelected"}else{k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal jqx-widget-content")}var H=a.jqx.getByPriority([n[b],(n.adapterItem&&n.adapterItem.boundField)?n.adapterItem.boundField[b]:undefined,l[b],(l.adapterItem&&l.adapterItem.boundField)?l.adapterItem.boundField[b]:undefined]);if(H){k.className+=" "+H}k.className+=" jqx-pivotgrid-content-wrapper"}}for(var E=0;E<m.childNodes.length;E++){if(m.childNodes[E].cellId&&m.childNodes[E].tRender!=q){e.push(m.childNodes[E])}}while(true){var k=e.pop();if(!k){break}else{delete this._cellElements[k.cellId];k.style.display="none";m.removeChild(k)}}this._refreshRequired=false},_beginSelectionUpdate:function(){for(var b in this._selectedCells){this._selectedCells[b].OldIsSelected=this._selectedCells[b].isSelected}},_endSelectionUpdate:function(){var d=new Array();for(var b in this._selectedCells){var c=this._selectedCells[b];if(!c.isSelected){d.push(b)}if(c.isSelected!=c.OldIsSelected){}}if(d.length>0){for(var b in d){delete this._selectedCells[d[b]]}}},_internalClearSelection:function(){for(var b in this._selectedCells){this._internalUnselectCell(this._selectedCells[b].pivotRow,this._selectedCells[b].pivotColumn)}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate();this.render()},selectCell:function(c,b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectCell(c,b);this.parentPivotGrid._cellKBRangeSelectionStart={pivotRow:c,pivotColumn:b,pivotCells:this};this.parentPivotGrid._cellKBRangeSelectionEnd={pivotRow:c,pivotColumn:b,pivotCells:this};this._endSelectionUpdate()},_internalSelectCell:function(d,c){if(c!=null&&this.parentPivotGrid._pivotColumns.isGroupingColumn(c)){return}if(this.parentPivotGrid._internalSelectMode=="NO_SELECT"){switch(this.parentPivotGrid.selectionMode){case"CELL_SELECT":this.parentPivotGrid._internalSelectMode="CELLS_SELECT";break;case"FULL_COLUMN_SELECT":this.parentPivotGrid._internalSelectMode="COL_SELECT";break;case"FULL_ROW_SELECT":this.parentPivotGrid._internalSelectMode="ROW_SELECT";break}}var b=this.parentPivotGrid.getCellId(c,d);delete this._cellElements[b];if(this._selectedCells[b]==undefined){this._selectedCells[b]={pivotRow:d,pivotColumn:c,isSelected:true}}else{this._selectedCells[b].isSelected=true}this._refreshRequired=true},unselectCell:function(c,b){this._beginSelectionUpdate();this._internalUnselectCell(c,b);this._endSelectionUpdate()},_internalUnselectCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this._selectedCells[b]!=undefined){this._selectedCells[b].isSelected=false}delete this._cellElements[b];this._refreshRequired=true},isCellSelected:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(c.isSelected||d.isSelected){return true}return this._selectedCells[b]!=undefined&&this._selectedCells[b].isSelected},getSelectedCellsCount:function(){return this._selectedCells.length},getSelectedCells:function(){var d=new Array();for(var c in this._selectedCells){var b=this._selectedCells[c];if(b.isSelected){d.push({pivotRow:b.pivotRow,pivotColumn:b.pivotColumn,pivotCells:this})}}return d},getNextCell:function(c,b){var e={};switch(b){case"left":e={x:c.pivotColumn.x-1,y:c.pivotRow.y+1};break;case"right":e={x:c.pivotColumn.x+c.pivotColumn.getWidth()+1,y:c.pivotRow.y+1};break;case"top":e={x:c.pivotColumn.x+1,y:c.pivotRow.y-1};break;case"bottom":e={x:c.pivotColumn.x+1,y:c.pivotRow.y+c.pivotRow.getHeight()+1};break}var f={x:e.x+2*this.parentPivotGrid._pivotColumns.x-this.parentPivotGrid._pivotColumns.viewPort.x,y:e.y+2*this.parentPivotGrid._pivotRows.y-this.parentPivotGrid._pivotRows.viewPort.y};var d=this._hitTest(f);if(!d){return undefined}return d}})})(jqxBaseFramework);(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.jqxPivotGrid.pivotItem=function(c,b){this.text="Item";this.isExpanded=false;this.expandCollapseEnabled=true;this.isHidden=false;this.isFiltered=false;this.isSelected=false;this._height=26;this._width=18;this.isDirty=true;this.parentItem=c||null;this.hierarchy=b||c.hierarchy;this.parentPivotGrid=this.hierarchy.parentPivotGrid;this.id=this.parentPivotGrid.genId();this.itemLevel=0;this.itemColumn=0;this._itemOrdinal=NaN;this.x=0;this.y=0;this.hierarchyItemWidth=70;this.hierarchyItemHeight=26;this.widthWithChildrenCached=0;this.minimumWidth=18;this.maximumWidth=10000000;this.minimumHeight=8;this.maximumHeight=Infinity;this.items=new Array();this.valueItems=new Array()};a.extend(a.jqx.jqxPivotGrid.pivotItem.prototype,{_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},_calculateWidthWithChildren:function(){if(this.isHidden){this.widthWithChildrenCached=0;return}var d=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(d){this.widthWithChildrenCached=this.hierarchy.getColumnWidth(0);return}this.widthWithChildrenCached=this.getWidth();if(this.items!=null&&this.valueItems!=null){if(this.getVisibleItemsCount()>0||(!this.isColumn&&!d)){var c=0;if(!this.isColumn){var b=this.hierarchy.getMaxVisibleLevelDepth();for(var e=this.itemLevel;e<=b;e++){c+=this.hierarchy.getColumnWidth(e)}}else{c=0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){if((this.items[e]).isHidden){continue}c+=this.items[e].getWidthWithChildren()}}for(var e=0;e<this.valueItems.length;e++){if(this.valueItems[e].isHidden){continue}c+=this.valueItems[e].getWidthWithChildren()}}this.widthWithChildrenCached=c;return}}this.widthWithChildrenCached=this.getWidth();return},getWidthWithChildren:function(){if(this.hierarchy._renderRequired){this._calculateWidthWithChildren()}return this.widthWithChildrenCached},getDisplayWidth:function(){if(!this.isDirty&&!this.hierarchy._renderRequired){return this.displayWidth}var b=this.hasVisibleValueItems();if(this.isColumn){this.displayWidth=(this.isExpanded||b)?this.getWidthWithChildren():this.getWidth()}else{this.displayWidth=(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled)?this.getWidthWithChildren():this.getWidth();if(!this.isExpanded&&!b){this.displayWidth=this.hierarchy.getWidth()-this.x}}if(this.displayWidth<18){this.displayWidth=18}return this.displayWidth},getWidth:function(){if(this.isHidden||this.isFiltered){return 0}if(null==this.hierarchy){return 0}var d=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){d=0}var c=this.minimumWidth;if(!this.isColumn){c=this.hierarchy.getColumnWidth(d)}else{c=this.hierarchyItemWidth;if(this.parentItem){var b=this.parentItem.getWidth();if(b>c&&b>this.parentItem.widthWithChildrenCached){}}}return c},_measureElement:function(f){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");a(document.body).append(c);var d=this.hierarchy.sortable?16:0;var e=4;var b={width:c.width()+d+2*e,height:c.height()+2*e};c.remove();return b},autoResize:function(b){if(!b){b="fitItemContent"}if(this.isColumn){this.setWidth(this.minimumWidth)}else{this.setHeight(this.minimumHeight)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){this._autoResizeBestItemContent(b)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){if(this.isColumn&&this.parentItem!=null&&this.getWidth()<this.parentItem.getWidth()){this.setWidth(this.parentItem.getWidth())}}},_autoResizeBestItemContent:function(b){this._updateVisibleChildItemsCount();var e=this._measureElement(this.text);if(b=="default"&&this.adapterItem.boundField){if(!isNaN(this.adapterItem.boundField.width)){e.width=this.adapterItem.boundField.width}if(!isNaN(this.adapterItem.boundField.height)){e.height=this.adapterItem.boundField.height}}if(this.itemColumn>=this.hierarchy._getColumnsCount()){this.hierarchy._updateColumnsCount()}if(this._visibleChildItemsCount>0){e.width+=30}if(this.getWidth()<e.width||(b=="default"&&this.adapterItem.boundField&&!isNaN(this.adapterItem.boundField.width))){this.setWidth(e.width)}if(!this.isColumn){if(this.getHeight()<e.height){this.setHeight(e.height)}}else{var d=this.parentPivotGrid._pivotColumns.getHeight();if(d<e.height){this.parentPivotGrid._pivotColumns.setRowHeight(this,e.height)}}for(var c in this.items){this.items[c]._autoResizeBestItemContent(b)}for(var c in this.valueItems){this.valueItems[c]._autoResizeBestItemContent(b)}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_autoResizeBestCellFit:function(d){if(this.hierarchy!=null&&this.hierarchy._renderRequired){this.hierarchy.render()}if(this.hierarchy!=null&&this.hierarchy.ColumnsCountRequresUpdate){this.hierarchy._updateColumnsCount()}if(this.items.length==0&&this.valueItems.length==0){if(this.hierarchy!=null&&this.parentPivotGrid!=null&&this.parentPivotGrid._pivotCells!=null&&this.parentPivotGrid._pivotRows!=null&&this.parentPivotGrid._pivotColumns!=null){var c={width:1,height:1};var e=this.isColumn?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var g=this._getVisibleLeafLevelItems();for(var f in g){var i=!(g[f].isColumn)?g[f]:this;var b=g[f].isColumn?g[f]:this;var h={width:10,height:10};if(c.width<h.width){c.width=h.width}if(c.height<h.height){c.height=h.height}}if(this.width<c.width){this.setWidth(c.width)}if(!this.isColumn&&this.getHeight()<c.height){this.setHeight(c.height)}}}else{for(var f in this.items){this.items[f]._autoResizeBestCellFit(d)}for(var f in this.valueItems){this.valueItems[f]._autoResizeBestCellFit(d)}}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},setWidth:function(c){if(c<0){throw new Exception("Invalid pivotItem Width value. The value must greater than 0")}if(null==this.hierarchy){return}var b=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){b=0}if(this.hierarchy._getColumnsCount()<b){this.hierarchy._updateColumnsCount()}if(c<this.minimumWidth){c=this.minimumWidth}if(c>this.maximumWidth){c=this.maximumWidth}if(this.isColumn){this.hierarchyItemWidth=c}else{this.hierarchy.setColumnWidth(b,c)}this.hierarchy._renderRequired=true},getHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight},setHeight:function(b){if(b<0||b>10000){throw new Exception("Invalid pivotItem Height value. The value must be between 0 and 10000")}if(b<this.minimumHeight){b=this.minimumHeight}if(b>this.maximumHeight){b=this.maximumHeight}this.hierarchyItemHeight=b;if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_calculateHeightWithChildren:function(){if(this.isHidden||this.isFiltered){this.heightWithChildren=0;return}var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(this.isExpanded||this.hasVisibleValueItems()){var b=0;if(this.isColumn){b=this.hierarchyItemHeight;var f=0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){var e=this.items[d].getHeightWithChildren();if(f<e){f=e}}}for(var d=0;d<this.valueItems.length;d++){var e=this.valueItems[d].getHeightWithChildren();if(f<e){f=e}}if(f>0){b+=f}}else{b=c?this.getHeight():0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){if(this.items[d].isHidden||this.items[d].isFiltered){continue}b+=this.items[d].getHeightWithChildren()}}for(var d=0;d<this.valueItems.length;d++){if(this.valueItems[d].isHidden||this.valueItems[d].isFiltered){continue}b+=this.valueItems[d].getHeightWithChildren()}}this.heightWithChildren=b}else{this.heightWithChildren=this.hierarchyItemHeight}if(this.IsRowDetailsVisible){this.heightWithChildren+=this.RowDetailsHeight}return},getHeightWithChildren:function(){if(this.hierarchy._renderRequired||this.isDirty){this._calculateHeightWithChildren()}return this.heightWithChildren},getDisplayHeight:function(){var c=this.hasVisibleValueItems();var b=0;if(this.isColumn){b=(this.isExpanded||c)?this.getTotalHeight():this.hierarchy.getHeight()-this.y}else{if(this.hierarchy.compactStyleRenderingEnabled){b=this.getHeight();if(this.IsRowDetailsVisible){b+=this.RowDetailsHeight}}else{b=this.getHeightWithChildren()}}if(b<this.minimumHeight){b=this.minimumHeight}return b},getTotalHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight+((this.IsRowDetailsVisible)?this.RowDetailsHeight:0)},ensureVisible:function(){var c=this;if(c.isVisible()){return}var e=c.hierarchy.parentPivotGrid.host;if(c.isColumn){var b=e.find("#divHScroll");if(c.x+c.getWidth()>c.hierarchy.viewPort.width){b.val(c.x+c.getWidth()-c.hierarchy.viewPort.width)}else{b.val(c.x)}}else{var d=e.find("#divVScroll");if(c.y+c.getHeight()>c.hierarchy.viewPort.height){d.val(c.y+c.getHeight()-c.hierarchy.viewPort.height)}else{d.val(c.y)}}},isVisible:function(){if(this.isHidden){return false}if(this.y<this.hierarchy.viewPort.y-this.hierarchy.y||this.y+this.getDisplayHeight()>this.hierarchy.viewPort.y-this.hierarchy.y+this.hierarchy.viewPort.height||this.x<this.hierarchy.viewPort.x-this.hierarchy.x||this.x+this.getDisplayWidth()>this.hierarchy.viewPort.x-this.hierarchy.x+this.hierarchy.viewPort.width){return false}return true},_updateVisibleChildItemsCount:function(){var c=0;for(var b=0;b<this.items.length;b++){if(this.items[b].isHidden||this.items[b].isFiltered){continue}c++}this._visibleChildItemsCount=c},render:function(h,g){this._updateVisibleChildItemsCount();var k=-1;var b=-1;if(this.isHidden||this.isFiltered){return true}this.x=h;this.y=g;var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);var d=c?this.getTotalHeight():0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){var j=this.items[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}}for(var e=0;e<this.valueItems.length;e++){var j=this.valueItems[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}this._calculateWidthWithChildren();this._calculateHeightWithChildren();return true},_getChildItemsDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d+1},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},hasVisibleValueItems:function(){for(var b=0;b<this.valueItems.length;b++){var c=this.valueItems[b];if(false==c.isHidden&&false==c.isFiltered){return true}}return false},getVisibleItemsCount:function(){if(this.isHidden||this.isFiltered){return 0}var c=0;if((!this.isExpanded||this.items.length==0)&&this.valueItems.length==0){return c}else{c=0;for(var b=0;b<this.items.length;b++){if(!this.items[b].isHidden&&!this.items[b].isFiltered){c++}}for(var b=0;b<this.valueItems.length;b++){if(!this.valueItems[b].isHidden&&!this.valueItems[b].isFiltered){c++}}}return c},hitTest:function(b){if(this.isHidden||this.isFiltered){return null}var d=this.getDisplayHeight()+1;var c=this.getDisplayWidth()+1;if(b.x>=this.x&&b.x<=this.x+c&&b.y>=this.y&&b.y<=this.y+d){return this}return null},_expandInternal:function(b,f,g){if(this.items.length==0){return}if(!this.expandCollapseEnabled){return}if(this.isExpanded==b){return}var e=new a.Event(this.isExpanded?"pivotitemcollapsing":"pivotitemexpanding");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};e.cancel=false;var d=this.hierarchy.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this.isExpanded=b;if(this.items.length==0&&this.valueItems.length==0){return}if(g){for(var c=0;c<this.items.length;c++){this.items[c]._expandInternal(b,f,g)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c]._expandInternal(b,f,g)}}this.hierarchy._renderRequired=true;if(f){this.hierarchy._updateVisibleLeaves()}var e=new a.Event(this.isExpanded?"pivotitemexpanded":"pivotitemcollapsed");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};d.trigger(e)},expand:function(){this._expandInternal(true,true,false)},collapse:function(){this._expandInternal(false,true,false)},_getFirstVisibleLeaf:function(c){if(c.isExpanded){var d=false;for(var b=0;b<c.items.length;b++){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}if(c.hasVisibleValueItems){var d=false;for(var b=0;b<c.valueItems.length;b++){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}return c},_getLastVisibleLeaf:function(c){var d=false;for(var b=c.valueItems.length-1;b>=0;b--){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getLastVisibleLeaf(c);d=true;break}}if(d){return c}for(var b=c.items.length-1;b>=0&&c.isExpanded;b--){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getLastVisibleLeaf(c);break}}return c}});a.jqx.jqxPivotGrid.hierarchy=function(){this.parentPivotGrid=arguments[0];this._initDefaults()};a.extend(a.jqx.jqxPivotGrid.hierarchy.prototype,{_initDefaults:function(){this.columnWidths=new Array();this.rowHeights=new Array();this.items=new Array();this.valueItems=new Array();this.visibleLeafItems=new Array();this.viewPort=new Object();this.viewPort.x=0;this.viewPort.y=0;this.viewPort.width=10000;this.viewPort.height=10000;this.isFixed=false;this.isHidden=false;this.resizable=true;this.sortable=true;this._renderRequired=true;this.maxVisibleLevelDepth=-1;this.showExpandCollapseButtons=true;this.x=0;this.y=0;this._width=0;this._height=0;this.minColumnWidth=18;this._isColumnsCountRequresUpdate=true;this._selectedItems=new Object();this.virtualModeThreshold=5000;this._isVirtualMode=true},isVisible:function(){return !this.isHidden},toggle:function(){if(this.isHidden){this.show()}else{this.hide()}},getOtherHierarchy:function(){return(this.isColumnsHierarchy)?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns},show:function(){this.isHidden=false;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},hide:function(){this.isHidden=true;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},refresh:function(){var j=this.parentPivotGrid;var b=j.toThemeProperty("jqx-widget-content jqx-fill-state-pressed jqx-widget-header");var r=j.toThemeProperty("jqx-widget-content jqx-fill-state-normal jqx-widget-header");var k=a.jqx.get(this,"renderCanvas");var p=this._renderRequired||this._refreshRequired;if(!p){return}if(this._renderRequired){this.render()}if(this.isHidden){return}var d=new Array();var s=new Date();var x=this._getItemsToRender();if(!x){return}for(var A=0;A<x.length;A++){var F=x[A];var q=F.getDisplayWidth()-1;var B=F.getDisplayHeight()-1;var v=F._element;if(a.isFunction(j.itemsRenderer)){var n=j.itemsRenderer(F);if(v&&F._currentCustomContent!=n){k.removeChild(v);v=F._element=null}F._currentCustomContent=n}if(!v){var u={left:4,top:4,right:4,bottom:4};if(!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled){u.left+=F.itemLevel*this.compactStyleRenderingItemsIndent}var I=F.text;var m="left";if(a.isFunction(j.itemsRenderer)){I=F._currentCustomContent;u={left:0,top:0,right:0,bottom:0}}else{var g="";if(F.items.length!=0&&F.hierarchy.showExpandCollapseButtons){if(F.isExpanded){g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-collapse-button'></div>"}else{g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-expand-button'></div>"}}var G="";if(F.hierarchy._sortItem==F){var z=F.hierarchy._sortOrder=="desc"?"sortdesc jqx-grid-column-sortdescbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-down"):"sortasc jqx-grid-column-sortascbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-up");G="<div id='sortElement' class='"+z+"' style='position: relative; float: right; padding-right: 8px; width: 16px; height: 100%;'></div>"}var y=F.text;if(F.adapterItem.boundField){m=F.adapterItem.boundField.align||"left"}m=m.toString().toLowerCase();if(m!="center"&&m!="right"){m="left"}if(G!=""){var l=0;var o=24;if(g!=""){l=23;o+=l}I=g+"<div><div style='left: "+l+"px; top: 0; position: absolute; height: 100%; width: calc(100% - "+o+"px); text-overflow: ellipsis; overflow: hidden;  white-space: nowrap;padding-left:"+u.left+"px; padding-top:"+u.top+"px; '>"+y+"</div><div style='left: 0; top: 0; position: absolute; height: 100%; width: 100%;'>"+G+"</div></div>"}else{I=g+y+G}}v=j.createDiv(k,"",q,B);j.setDivContent(v,I,u,m,true);var J=this.parentPivotGrid.getChild(v,"innerDiv");J.className="jqx-pivotgrid-item";j.setElementPosition(v,F.x,F.y);v.originalY=v.style.top}F.tRender=s;var f=F.isSelected?b:r;var c=F.isSelected?"classNameSelected":"className";var H=a.jqx.getByPriority([F[c],(F.adapterItem&&F.adapterItem.boundField)?F.adapterItem.boundField[c]:undefined,this.hierarchy?this.hierarchy[c]:undefined]);if(H){f+=" "+H}f+=" jqx-pivotgrid-content-wrapper";if(f!=v.className){v.className=f}v.style.display="block";v.item=F;F._element=v}for(var A=0;A<k.childNodes.length;A++){if(k.childNodes[A].item&&k.childNodes[A].item.tRender!=s){d.push(k.childNodes[A])}}var E=100;while(true){var e=d.pop();if(!e){break}else{if(k.childNodes.length>E){e.item._element=undefined;k.removeChild(e)}else{e.item._element.style.display="none"}}}var C=!this.isColumnsHierarchy?-j._offsetY:0;var D=this.isColumnsHierarchy?-j._offsetX:0;j.setElementPosition(k,D,C);this._refreshRequired=false},clear:function(){this._initDefaults();this._resetCanvas();this.items=[];this.valueItems=[];this._renderRequired=true},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.firstChild.item._element=undefined;b.removeChild(b.firstChild)}},autoResize:function(b){for(var c=0;c<this.items.length;c++){this.items[c].autoResize(b)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c].autoResize(b)}},getMaxVisibleLevelDepth:function(){if(this.maxVisibleLevelDepth==-1||this._renderRequired){var c=this._getVisibleLeafLevelItems();this.maxVisibleLevelDepth=0;for(var b=0;b<c.length;b++){if(c[b].itemLevel>this.maxVisibleLevelDepth){this.maxVisibleLevelDepth=c[b].itemLevel}}}return this.maxVisibleLevelDepth},getHierarchyDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d},getSortItem:function(){return this._sortItem},getSortOrder:function(){return this._sortOrder},_fnAscSortComparer:function(c,b){var h=c.hierarchy.parentPivotGrid;var e=c.isColumn?h._pivotRows:h._pivotColumns;var i=e._sortItem;if(!i){return 0}if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}var g=h._pivotCells;var f=c.isColumn?g.getCellValue(i,c):g.getCellValue(c,i);var d=b.isColumn?g.getCellValue(i,b):g.getCellValue(b,i);return f.value-d.value},_fnDescSortComparer:function(c,b){if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}return -1*a.jqx.jqxPivotGrid.hierarchy.prototype._fnAscSortComparer(c,b)},_collectionSort:function(f,c,b){if(!this.parentPivotGrid||!this.parentPivotGrid._pivotCells){return}var e=!this.isColumnsHierarchy?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;if(!f){f=this.items}if(!c){c=e._sortOrder=="asc"?this._fnAscSortComparer:this._fnDescSortComparer}if(this._isSorted&&!b){this._collectionRemoveSort(f)}for(var d=0;d<f.length;d++){f[d]._itemOrdinal=d;this._collectionSort(f[d].items,c,true)}f=f.sort(c);if(!b){this._isSorted=true;this._renderRequired=true;e._renderRequired=true;this._updateVisibleLeaves()}},_collectionRemoveSort:function(f,c){if(!this._isSorted){return}if(!f){f=this.items}var b=new Array(f.length);for(var d=0;d<f.length;d++){b[f[d]._itemOrdinal]=f[d];this._collectionRemoveSort(f[d].items,true)}this.items=b;if(!c){this._renderRequired=true;this._updateVisibleLeaves();if(this.isColumnsHierarchy){this._isColumnsCountRequresUpdate=true}this._isSorted=false;var e=this.isColumnsHierarchy?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;e._sortItem=undefined;e._sortOrder=undefined;e._renderRequired=true}},sortBy:function(f,c){if(!f||f.isColumn==this.isColumnsHierarchy||f.valueItems.length>0){return}var e=new a.Event("sortchanging");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);var b=f.isColumn?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;b._sortItem=f;b._sortOrder=c;this._collectionSort();this.parentPivotGrid._internalRefresh();e=new a.Event("sortchanged");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};var d=this.parentPivotGrid.host;d.trigger(e)},removeSort:function(){var f=this==this.parentPivotGrid._pivotColumns?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var b=f._sortItem;var c=f._sortOrder;var e=new a.Event("sortremoving");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);this.parentPivotGrid._internalRefresh();e=new a.Event("sortremoved");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};d.trigger(e)},_binSearchItems:function(c,b){return this._binSearchItems2(c,b,0,c.length)},_binSearchItems2:function(g,i,f,j){var d=f;var e=j;if(e==d){return -1}var b=g[0].isColumn;while(d<e){var h=parseInt((d+e)/2);var c=g[h];if(b){if(c.x>i.x){e=h}else{if((h+1<e?g[h+1].x:c.x+c.getWidth())<i.x){d=h+1}else{return h}}}else{if(c.y>i.y){e=h}else{if((h+1<e?g[h+1].y:c.y+c.getTotalHeight())<i.y){d=h+1}else{return h}}}}return -1},_pointToLeafItemIndex:function(b){if(this._renderRequired){this.render()}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;var d=this._getVisibleLeafLevelItems();var e=this._binSearchItems(d,c);return e},_pointToLeafItem:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndex(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointToLeafItemIndexAbsolute:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var g=this.viewPort.y-this.y;var d={x:c.x,y:c.y};d.x-=this.x-(this.viewPort.x-this.x);d.y-=this.y-(this.viewPort.y-this.y);var e=this._getVisibleLeafLevelItems();var f=this._binSearchItems(e,d);return f},_pointToLeafItemAbsolute:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndexAbsolute(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointInRect:function(b,c){if(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height){return true}return false},hitTest:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var i=this.viewPort.y-this.y;if(!this._pointInRect({x:c.x+b,y:c.y+i},this.viewPort)||this.isHidden){return null}var e={x:c.x,y:c.y};e.x-=this.x-(this.viewPort.x-this.x);e.y-=this.y-(this.viewPort.y-this.y);var f=this._getVisibleLeafLevelItems();var h=this._binSearchItems(f,e);if(h==-1){return null}else{var d=f[h];var g=d.hitTest(e);if(g!=null){return g}while(d!=null){d=d.parentItem;if(d!=null){g=d.hitTest(e);if(g!=null){return g}}}}return null},_addColumn:function(b){if(b<this.minColumnWidth){b=this.minColumnWidth}this.columnWidths.push(b);return this.columnWidths.length-1},setColumnWidth:function(c,b){if(c>=this.columnWidths.length){this._updateColumnsCount(c+1)}if(b<this.minColumnWidth){b=this.minColumnWidth}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},getColumnWidth:function(b){if(b>=this.columnWidths.length){return 70}return this.columnWidths[b]},_getVisibleLeaves:function(g,f,c){if(f.isHidden||f.isFiltered){return true}if(f.items.length==0&&f.valueItems.length==0){g.push(f);return true}if(c){g.push(f)}if(f.isExpanded){for(var e=0;e<f.items.length;e++){var d=f.items[e];if(d.isHidden||d.isFiltered){continue}if((f.items.length>0&&d.isExpanded)||d.hasVisibleValueItems()){this._getVisibleLeaves(g,d,c)}else{g.push(d)}}}for(var e=0;e<f.valueItems.length;e++){var b=f.valueItems[e];if(b.isHidden||b.isFiltered){continue}g.push(b)}return true},_getVisibleLeafLevelItems:function(){if(this.visibleLeafItems.length==0){this._updateVisibleLeaves()}return this.visibleLeafItems},_updateVisibleLeaves:function(){this.visibleLeafItems=new Array();if(this.items.length+this.valueItems.length==0){return}var b=!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled;for(var c=0;c<this.items.length;c++){var d=this.items[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.valueItems.length;c++){var d=this.valueItems[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.visibleLeafItems.length;c++){this.visibleLeafItems[c]._lfIndex=c}this._updateItemsLevelAndColumn()},_getFirstLeafIndexToRender:function(){var b={x:this.x,y:this.y};var c={x:b.x,y:b.y};c.x-=this.x-(this.viewPort.x-this.x);c.y-=this.y-(this.viewPort.y-this.y);var d=this._binSearchItems(this._getVisibleLeafLevelItems(),c);return d},_getLastLeafIndexToRender:function(){var c={x:Math.min(this.viewPort.width,this.getWidth())-5,y:Math.min(this.viewPort.height,this.getHeight())-5};var b=this._pointToLeafItemIndex(c);return b},_getLeafItemsToRender:function(){var b={};b.items=this._getVisibleLeafLevelItems();b.first=this._getFirstLeafIndexToRender();b.last=this._getLastLeafIndexToRender();return b},_getItemsToRender:function(){var g=this._getLeafItemsToRender();var j=g.first;var e=g.last;if(j==-1||e==-1){return}var c={};for(b=j;b<=e;b++){var d=g.items[b];c[d.id]=d;while(d.parentItem!=null){d=d.parentItem;c[d.id]=d}}var f=new Array();for(var b in c){f.push(c[b])}return f},_updateItemsLevelAndColumn2:function(c,d){c.itemColumn=d;c.itemLevel=d;for(var b=0;b<c.items.length;b++){this._updateItemsLevelAndColumn2(c.items[b],d+1)}for(var b=0;b<c.valueItems.length;b++){this._updateItemsLevelAndColumn2(c.valueItems[b],d+1)}},_updateItemsLevelAndColumn:function(){for(var b=0;b<this.items.length;b++){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b=0;b<this.valueItems.length;b++){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},updateColumnsCount:function(){this.updateColumnsCount(0)},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},_updateColumnsCount:function(c){var f=this._getColumnsCount();var b=this.getTotalItemsCount();if(c>1024){c=1024}if(this.isColumnsHierarchy){if(c>b){b=c}}else{var e=this.getHierarchyDepth();b=c>e?c:e}for(var d=f;d<b;d++){this._addColumn(70)}this._isColumnsCountRequresUpdate=false},_updateColumnsIndexes:function(){for(var b in this.items){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b in this.valueItems){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},_getColumnsCount:function(){return this.columnWidths.length},_getRenderedItems:function(){var b=new Array();this._getChildItemsToRender(b);return b},_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},getWidth:function(){if(this._renderRequired){this.render()}return this._width},getHeight:function(){if(this._renderRequired){this.render()}return this._height},_beginSelectionUpdate:function(){for(var b in this._selectedItems){this._selectedItems[b].OldIsSelected=this._selectedItems[b].isSelected}},_endSelectionUpdate:function(){var f=new Array();for(var b in this._selectedItems){var e=this._selectedItems[b];if(!e.isSelected){f.push(this._selectedItems[b])}if(e.isSelected!=e.OldIsSelected&&(e.parentItem==null||e.parentItem.isExpanded==true||e._isValueItem)){var d=new a.Event("pivotitemselectionchanged");d.owner=this.parentPivotGrid;d.args={pivotItem:e,selected:e.isSelected};this.parentPivotGrid.host.trigger(d)}}for(var b in f){var c=this._selectedItems[f[b].adapterItem.key];c.isSelected=c.OldIsSelected=false;delete this._selectedItems[f[b].adapterItem.key]}},selectItem:function(b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectItem(b);this._endSelectionUpdate()},_internalSelectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}if(this.isColumnsHierarchy&&this.isGroupingColumn(d)){return}var c=d.adapterItem.key;if(this._selectedItems[c]==undefined){this._selectedItems[c]=d}d.isSelected=true;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalSelectItem(d.items[b])}for(var b in d.valueItems){this._internalSelectItem(d.valueItems[b])}},unselectItem:function(b){this._beginSelectionUpdate();this._internalUnselectItem(b);this._endSelectionUpdate()},_internalUnselectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}var c=d.adapterItem.key;if(this._selectedItems[c]){this._selectedItems[c].isSelected=false;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true}if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalUnselectItem(d.items[b])}for(var b in d.valueItems){this._internalUnselectItem(d.valueItems[b])}},_internalClearSelection:function(){for(var b in this._selectedItems){this._internalUnselectItem(this._selectedItems[b])}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate()},_applySelectionToParentItem:function(h){var c=h.parentItem;if(c==undefined||c==null){return}var d=h.hierarchy;var b=true;if(c.isExpanded){for(var g in c.items){var f=c.items[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){for(var g in c.valueItems){var f=c.valueItems[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){var e=c.adapterItem.key;if(d._selectedItems[e]==undefined){d._selectedItems[e]=c}c.isSelected=true;this._applySelectionToParentItem(c)}},_applySelectionToParentItems:function(){for(var b in this._selectedItems){this._applySelectionToParentItem(this._selectedItems[b])}},getSelectedItems:function(){var c=new Array();for(var b in this._selectedItems){if(this._selectedItems[b].isSelected){c.push(b)}}return c}});a.jqx.jqxPivotGrid.pivotRows=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=false;this.compactStyleRenderingEnabled=false;this.compactStyleRenderingItemsIndent=20};a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,{setColumnWidth:function(c,b){if(c>=this.columnWidths.Count){this._updateColumnsCount(c+1)}if(this.compactStyleRenderingEnabled){c=0}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},updateBounds:function(){var b=0;var g=0;for(var l=0;l<2;l++){var k=(l==0)?this.items:this.valueItems;for(var e=0;e<k.length;e++){var j=k[e];if(j.isHidden){continue}var f=j.getHeightWithChildren();b+=f;var d=j.getWidthWithChildren();if(g<d){g=d}}}this._width=g;this._height=b+1},render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this.isRendering=true;if(this._isColumnsCountRequresUpdate){this._updateColumnsCount()}while(this._getColumnsCount()<this.getHierarchyDepth()){a.jqx.get(this,"columnWidths").push(70)}this._updateVisibleLeaves();if(this.compactStyleRenderingEnabled){if(this.columnWidths.Count==0){this._addColumn(70)}var e=this.columnWidths[0];var k=this.getHierarchyDepth();if(e<k*(this.compactStyleRenderingItemsIndent)){e=k*(this.compactStyleRenderingItemsIndent)}this.columnWidths[0]=e}this.updateBounds();var l=0;if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this.isRendering=false;this._renderRequired=false;return}for(var c=0;c<2;c++){var g=(c==0)?this.items:this.valueItems;for(var b=0;b<g.length;b++){var f=g[b];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var d=f.getHeightWithChildren();if(f.itemLevel<this.columnWidths.length&&f.getWidth()>this.columnWidths[f.itemLevel]){this.columnWidths[f.itemLevel]=f.getWidth()}if(!f.render(0,l)){break}l+=d}}this.updateBounds();if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._resetCanvas();this._renderRequired=false;this.isRendering=false},isOnRowDetails:function(b,d){if(!d.RowDetailsVisible){return false}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;if(c.y<d.y+d.getDisplayHeight()&&c.y>d.y+d.getDisplayHeight()-d.RowDetailsHeight){return true}return false}});a.jqx.jqxPivotGrid.pivotColumns=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=true};a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,{render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this._updateVisibleLeaves();this._updateColumnsIndexes();if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();return}var b=0;for(var e=0;e<2;e++){var g=(e==0)?this.items:this.valueItems;for(var d=0;d<g.length;d++){var f=g[d];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var c=f.getWidthWithChildren();if(!f.render(b,0)){break}b+=c}}this._renderRequired=false;if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();this.updateBounds();this._resetCanvas()},updateBounds:function(){var b=0;var f=0;for(var d=0;d<2;d++){var k=(d==0)?this.items:this.valueItems;for(var c=0;c<k.length;c++){var g=k[c];var e=g.getHeightWithChildren();if(b<e){b=e}f+=g.getWidthWithChildren()}}this._height=b;this._width=f+1},_updateColumnsIndexes:function(){var e=this.visibleLeafItems.length;for(var c=--e;c>=0;c--){var d=this.visibleLeafItems[c];d.itemColumn=c;var b=d.parentItem;while(b!=null){if(b.hierarchy!=d.hierarchy){b=null}else{b.itemColumn=c;d=b;b=d.parentItem}}}},setRowHeight:function(c,b){if(b<15||b>500){return false}c.hierarchyItemHeight=b;this._renderRequired=true;return true},isGroupingColumn:function(b){if(b==null){return false}if(this.parentPivotGrid==null){return false}if(b.ItemIndex<this.parentPivotGrid.groupingColumns.length&&this.parentPivotGrid.isGroupingEnabled){return true}return false}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxPivotGrid.prototype,{_handleKeyboardNavigation:function(b){if(this._internalSelectMode=="CELLS_SELECT"){return this._handleCellsKeyboardNavigation(b)}else{if(this._internalSelectMode=="ROW_SELECT"||this._internalSelectMode=="COL_SELECT"){}}return false},_handleCellsKeyboardNavigation:function(e){var k=this._cellKBRangeSelectionEnd;var f=undefined;var m=this;if(!k){return false}if(e.keyCode==37){f=this._pivotCells.getNextCell(k,"left")}if(e.keyCode==38){f=this._pivotCells.getNextCell(k,"top")}else{if(e.keyCode==39){f=this._pivotCells.getNextCell(k,"right")}else{if(e.keyCode==40){f=this._pivotCells.getNextCell(k,"bottom")}}}if(f!=null){this._pivotRows._refreshRequired=true;this._pivotColumns._refreshRequired=true;this._pivotCells._refreshRequired=true;this._colItemRangeSelectionBeg=f.pivotColumn;this._rowItemRangeSelectionBeg=f.pivotRow;this._beginSelectionUpdate();if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection()}this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};if(!this._cellKBRangeSelectionStart||!this._isSHIFTPressed){this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells}}var l=Math.min(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var h=Math.max(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var n=Math.min(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);var i=Math.max(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);for(var j=l;j<=h;j++){for(var b=n;b<=i;b++){var g=this._pivotColumns.visibleLeafItems[j];var d=this._pivotRows.visibleLeafItems[b];this._pivotCells._internalSelectCell(d,g)}}this._endSelectionUpdate();f.pivotRow.ensureVisible();f.pivotColumn.ensureVisible();this._internalRefresh()}return false}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxPivotGrid","",{});a.extend(a.jqx._jqxPivotGrid.prototype,{defineInstance:function(){var b={scrollBarsEnabled:true,source:null,groupingColumns:[],isGroupingEnabled:false,_offsetX:0,_offsetY:0,_currentPosition:{},_selectStartPosition:{},_isMouseLeftButtonDown:false,_timeLastUp:new Date(),_timeLastDown:new Date(),resizeTooltipEnabled:false,isHorizontalResize:true,_colResizeState:"NO_RESIZE",activeEditor:{Editor:null},_id:0,_colItemRangeSelectionBeg:null,_colItemRangeSelectionEnd:null,_rowItemRangeSelectionBeg:null,_rowItemRangeSelectionEnd:null,_isCTRLPressed:false,_internalSelectMode:"CELLS_SELECT",_mostRightItemBounds:{x:0,y:0,width:0,height:0},_mostLeftItemBounds:{x:0,y:0,width:0,height:0},_adjSelectedItemsSave:{},multipleSelectionEnabled:true,selectionEnabled:true,selectionMode:"CELLS_SELECT",treeStyleRows:true,autoResize:false,cellsRenderer:null,itemsRenderer:null,localization:null};a.extend(true,this,b);this._createPivotAreas();return b},_createPivotAreas:function(){if(this._pivotRows){this._pivotRows.clear();delete this._pivotRows}if(this._pivotColumns){this._pivotColumns.clear();delete this._pivotColumns}if(this._pivotCells){this._pivotCells._resetCanvas();this._pivotCells.clear();delete this._pivotCells}this._pivotRows=new a.jqx.jqxPivotGrid.pivotRows(this);this._pivotColumns=new a.jqx.jqxPivotGrid.pivotColumns(this);this._pivotCells=new a.jqx.jqxPivotGrid.pivotCells();this._pivotCells.parentPivotGrid=this},_instanceId:0,createInstance:function(j){var f=this.element;var k=this.host;var l=this;l.localizeStrings(l.localization);var b="jqx-pivotgrid jqx-rc-all jqx-widget "+this.toThemeProperty("jqx-widget-content");var g="";if(this._isTouchDevice()){g="class='jqx-grid-menu-item-touch'"}k.append("<div class='"+b+"' style='width:100%; height: 100%; overflow:hidden; position:relative; onselectstart='return false;' oncontextmenu='return false;''><div id='divContent' style='width:100px; height:100%;'></div><div id='divHScroll' style='width:100%; height:17px;'></div><div id='divVScroll' style='width:17px; height:100%;'></div><div id='divContextMenu'><ul><li "+g+"><div id='sortasc' class='jqx-pivotgrid-sortasc-icon'></div><span>"+l._localizedStrings.sortascendingstring+"</span></li><li "+g+"><div id='sortdesc' class='jqx-pivotgrid-sortdesc-icon'></div><span>"+l._localizedStrings.sortdescendingstring+"</span></li><li "+g+"><div id='sortremove' class='jqx-pivotgrid-sortremove-icon'></div><span>"+l._localizedStrings.sortremovestring+"</span></li></ul></div></div>");var c=k.find("#divContent");var d=c[0];var i=document.createElement("div");i.style.position="relative";i.style.left="0px";i.style.top="0px";i.style.width="100%";i.style.height="100%";i.style.overflow="hidden";c.append(i);this.contentCanvas=this.Canvas=i;this.hostVScroll=k.find("#divVScroll");this.hostHScroll=k.find("#divHScroll");this.hScroll=k.find("#divHScroll").jqxScrollBar({vertical:false,theme:this.theme});this.vScroll=k.find("#divVScroll").jqxScrollBar({vertical:true,theme:this.theme});l._createContextMenu();l.id=l._instanceId++;l._resizeLineId="divResizeLine"+l.id;a(document.body).append("<div id='"+l._resizeLineId+"' style='position: absolute; display: none;'></div>");try{l.dataBind()}catch(h){throw"Databinding exception: "+h.toString();return}l._installEventHandlers();a.jqx.utilities.resize(l.host,function(){l.refresh()},false);if(!l._isInitialized){l._isInitialized=true}},destroy:function(){this._isInitialized=false;this.host.find("#divHScroll").off();this.host.find("#divVScroll").off();this._contextMenu.off();this.removeHandler(this.host);a.jqx.utilities.resize(this.host,null,true)},_installEventHandlers:function(){var b=this;b.hostVScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostVScroll[0]){b.onVScroll(c.currentValue)}});b.hostHScroll.on("valueChanged",function(c){if(c.currentTarget==b.hostHScroll[0]){b.onHScroll(c.currentValue)}});b.addHandler(b.host,"mousewheel DOMMouseScroll",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){return}c.preventDefault();if(!b._scrollBarPositions.vertical.visible){return}b.onMouseWheel(c)});b.addHandler(b.host,"mouseenter",function(c){if(c.currentTarget==b.element){b._onMouseEnter(c)}});b.addHandler(b.host,"mouseleave",function(c){if(c.currentTarget==b.element){b._onMouseLeave(c)}});b.addHandler(b.host,"mousedown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseDown(c);this.focus()});b.addHandler(a(document),"mouseup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}c.preventDefault();b._onMouseUp(c);if(c.cancel){return}var d=a.jqx.position(c);if(!b.isPtInRect({x:d.left,y:d.top},b._rect)){if(b._colResizeState!="RESIZING"){return}}b._onMouseClick(c)});b.addHandler(a(document),"mousemove",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}b._onMouseMove(c)});b.addHandler(a(document),"keydown",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=true}else{if(c.keyCode==16){b._isSHIFTPressed=true}else{if(b._handleKeyboardNavigation){b._handleKeyboardNavigation(c)}}}});b.addHandler(a(document),"keyup",function(c){if(b._isContextMenuOpen){return}if(b._pivotDesigner&&b._pivotDesigner._isWindowOpen()){return}if(b._isContextMenuOpen){return}if(c.keyCode==17){b._isCTRLPressed=false}else{if(c.keyCode==16){b._isSHIFTPressed=false}}})},_createContextMenu:function(){var k=this;var j=this.host;var h=j.find("#divContextMenu");k._contextMenu=h.jqxMenu({width:"120px",autoCloseOnClick:true,autoOpenPopup:false,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0,theme:this.theme,keyboardNavigation:false,mode:"popup"});var f=h.find("li");var b="";for(var d=0;d<f.length;d++){var g=a(f[d]).text();if(g.length>b.length){b=g}}var c=a('<span style="white-space:nowrap;">'+b+"</span>");c.addClass(this.toThemeProperty("jqx-menu-item"));this.host.append(c);var e=c.outerWidth()+30;c.remove();k._contextMenu=h.jqxMenu({width:e});k._contextMenu.on("shown",function(){k._isContextMenuOpen=true});k._contextMenu.on("closed",function(){k._isContextMenuOpen=false;k._hideItemMenuElement()});k._contextMenu.on("itemclick",function(n){n.stopImmediatePropagation();n.stopPropagation();var m=k._menuElement._itemMouseOver;if(!m){return}var l=m.hierarchy==k._pivotColumns?k._pivotRows:k._pivotColumns;var i=n.args.innerHTML;if(i.indexOf("sortasc")!=-1){l.sortBy(m,"asc")}else{if(i.indexOf("sortdesc")!=-1){l.sortBy(m,"desc")}else{if(i.indexOf("sortremove")!=-1){l.removeSort()}}}})},_isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchmode==true){if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.enablehover=false;return false}b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchmode==false){b=false}}if(b&&this.touchModeStyle!=false){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollbarsize=this.touchscrollbarsize}return b},propertyChangedHandler:function(b,c,e,d){if(this._isInitialized==undefined||this._isInitialized==false){return}if(c=="source"){this.dataBind()}else{if(c=="theme"){this.hostVScrollBar.jqxScrollBar("theme",this.theme);this.hostHScrollBar.jqxScrollBar("theme",this.theme)}}this._internalRefresh()},genId:function(){return this._id++},getCellId:function(b,c){return b.id+"_"+c.id},_scrollTimer:undefined,_renderOnTimeout:function(c){clearTimeout(this._scrollTimer);var b=this;if(c==0){this._pivotColumns._refreshRequired=this._pivotRows._refreshRequired=true;b._internalRefresh()}else{this._scrollTimer=setTimeout(function(){b._render()},c)}},onVScroll:function(b){b=Math.round(b);if(b==this._offsetY){return}var d=50;var c=0;this._offsetY=b;this._renderOnTimeout(c)},onHScroll:function(b){b=Math.round(b);if(b==this._offsetX){return}var d=50;var c=0;this._offsetX=b;this._renderOnTimeout(c)},onMouseWheel:function(d){var f=0;if(!d){d=window.event}if(d.wheelDelta){f=d.wheelDelta/120}else{if(d.detail){f=-d.detail/3}}if(!f){return}if(d.preventDefault){d.preventDefault()}d.returnValue=false;var c=this.vScroll.jqxScrollBar("min");var b=this.vScroll.jqxScrollBar("max");var e=this.vScroll.jqxScrollBar("value");f*=10;e=e-f;if(e>b){e=b}if(e<c){e=c}this.vScroll.jqxScrollBar("value",e)},_onMouseMove:function(c){var d=a.jqx.position(c);var b=d.left;var g=d.top;if(!this.isPtInRect({x:b,y:g},this._rect)){if(this._colResizeState!="RESIZING"){return}}var f=this.host.offset();b-=Math.round(f.left);g-=Math.round(f.top);b=Math.max(b,0);g=Math.max(g,0);if(this._currentPosition.x==b&&this._currentPosition.y==g){return}else{this._currentPosition.x=b;this._currentPosition.y=g}for(var e in this._scrollBarPositions){if(this._scrollBarPositions[e].visible&&this.isPtInRect({x:b,y:g},this._scrollBarPositions[e].rect)){return}}this._handleMouseMove(c);if(this.activeEditor&&this.activeEditor.Editor){}else{}},_onMouseEnter:function(b){},_onMouseLeave:function(b){this._hideItemMenuElement()},_onMouseDown:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(null!=d){var c=this._raisePivotItemMouseEvent(d,"pivotitemmousedown",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonDown(e)}else{if(e.button==2){this.onMouseRightButtonDown(e)}}},_onMouseUp:function(e){var b={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,b);if(d!=null){var c=this._raisePivotItemMouseEvent(d,"pivotitemmouseup",e.button==0?"left":"right");if(c){e.cancel=true;return}}if(e.button==0){this.onMouseLeftButtonUp(e)}else{if(e.button==2){this.onMouseRightButtonUp(e)}}},_onMouseClick:function(d){var b=this;var c=d;b._handleMouseClick(d);if(d.cancel){return}if(b._dtLastMouseClick){var e=new Date()-b._dtLastMouseClick;if(e<500){this._handleMouseDoubleClick(d);b._dtLastMouseClick=undefined;return}}b._dtLastMouseClick=new Date()},setDivContent:function(f,c,d,g,e){var b=this.getChild(f,"innerDiv");b.style.padding=d.top+"px "+d.right+"px "+d.bottom+"px "+d.left+"px";if(g){b.style["text-align"]=g}this.setElementSize(f,parseFloat(f.style.width),parseFloat(f.style.height));if(e){b.style.width=parseFloat(f.style.width)-d.left+"px"}b.innerHTML=c},setElementPosition:function(c,b,d){c.style.position="absolute";c.style.left=b+"px";c.style.top=d+"px"},_getFloat:function(b){var d;for(var c=0;c<b.length;c++){d=parseFloat(b[c]);if(!isNaN(d)){return d}}return NaN},setElementSize:function(j,b,f){j.style.width=b+"px";j.style.height=f+"px";var e=this.getChild(j,"innerDiv");if(e){var i=this._getFloat([e.style.padding.left,e.style.padding,0]);var d=this._getFloat([e.style.padding.right,e.style.padding,0]);var g=this._getFloat([e.style.padding.top,e.style.padding,0]);var c=this._getFloat([e.style.padding.bottom,e.style.padding,0]);e.style.width=(b-i-d)+"px";e.style.height=(f-g-c)+"px"}},createCanvas:function(b){var c=document.createElement("div");c.style["background-color"]="transparent";c.style.overflow="hidden";b.appendChild(c);return c},createDiv:function(c,d,f,b){var g=document.createElement("div");g.id=d;g.style.height=b+"px";g.style.width=f+"px";var e=document.createElement("div");e.id="innerDiv";e.style.height=b+"px";e.style.width=f+"px";g.appendChild(e);c.appendChild(g);return g},getPivotRows:function(){return this._pivotRows},getPivotColumns:function(){return this._pivotColumns},getPivotCells:function(){return this._pivotCells},_layout:function(){var d=this.host.find("#divContent");var f=this.host.find("#divVScroll");var c=this.host.find("#divHScroll");var e=this.host.width();var b=this.host.height();if(!this._pivotCells.Canvas){this._pivotCells.Canvas=this.createCanvas(this.Canvas,"divCells",100,100)}if(!this._pivotRows.Canvas){this._pivotRows.Canvas=this.createCanvas(this.Canvas,"divRowsHierarchy",100,100)}if(!this._pivotColumns.Canvas){this._pivotColumns.Canvas=this.createCanvas(this.Canvas,"divColumnsHierarchy",100,100)}if(this._pivotRows.isHidden){this._pivotRows.Canvas.style.display="none"}else{this._pivotRows.Canvas.style.display="block";this.setElementPosition(this._pivotRows.Canvas,this._pivotRows.x,this._pivotRows.y);this.setElementSize(this._pivotRows.Canvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight());if(this._pivotRows.renderCanvas==undefined){this._pivotRows.renderCanvas=this.createCanvas(this._pivotRows.Canvas,"divRowsRender",100,100)}this.setElementSize(this._pivotRows.renderCanvas,this._pivotRows.getWidth()+1,this._pivotRows.getHeight())}if(this._pivotColumns.isHidden){this._pivotColumns.Canvas.style.display="none"}else{this._pivotColumns.Canvas.style.display="block";this.setElementPosition(this._pivotColumns.Canvas,this._pivotColumns.x,this._pivotColumns.y);this.setElementSize(this._pivotColumns.Canvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1);if(this._pivotColumns.renderCanvas==undefined){this._pivotColumns.renderCanvas=this.createCanvas(this._pivotColumns.Canvas,"divColumnsRender",100,100)}this.setElementSize(this._pivotColumns.renderCanvas,this._pivotColumns.getWidth(),this._pivotColumns.getHeight()+1)}this.setElementPosition(this._pivotCells.Canvas,this._pivotColumns.x,this._pivotRows.y);this.setElementSize(this._pivotCells.Canvas,this._pivotCells.viewPort.width,this._pivotCells.viewPort.height);if(this._pivotCells.renderCanvas==undefined){this._pivotCells.renderCanvas=this.createCanvas(this._pivotCells.Canvas,"divCellsRender",100,100)}this.setElementSize(this._pivotCells.renderCanvas,this._pivotColumns.getWidth()+1,this._pivotRows.getHeight()+1)},refresh:function(){this._pivotColumns._renderRequired=true;this._pivotRows._renderRequired=true;this._pivotCells.clear();this._internalRefresh()},_internalRefresh:function(){var h=this.host.offset();if(this.autoResize){var d=this._pivotColumns.isHidden?0:this._pivotColumns.getHeight();var f=this._pivotColumns.isHidden?0:this._pivotColumns.getWidth();var e=this._pivotRows.isHidden?0:this._pivotRows.getHeight();var c=this._pivotRows.isHidden?0:this._pivotRows.getWidth();var g={};g.width=f+c+1;g.height=d+e+1;if(g.width!=this.host.width()||g.height!=this.host.height()){this._pivotColumns._renderRequired=this._pivotRows._renderRequired=true;this.host.css({width:g.width+"px",height:g.height+"px"})}}this._rect={x:h.left,y:h.top,width:this.host.width(),height:this.host.height()};this._render();var b=this.host.find("#divHScroll");b.jqxScrollBar("refresh")},_render:function(){var b=this._pivotColumns._renderRequired||this._pivotRows._renderRequired;if(this._pivotRows.compactStyleRenderingEnabled!=this.treeStyleRows){this._pivotRows.compactStyleRenderingEnabled=this.treeStyleRows;b=true}if(b){this._pivotRows._renderRequired=this._pivotColumns._renderRequired=true;this.RenderGridContent();this._layout()}this._pivotRows.viewPort.y=this._offsetY+(this._pivotColumns.isVisible()?this._pivotColumns.viewPort.height:0);this._pivotColumns.viewPort.x=this._offsetX+(this._pivotRows.isVisible()?this._pivotRows.viewPort.width:0);this._pivotColumns.refresh();this._pivotRows.refresh();this._pivotCells.render();this._updateMenuElement()},_updateMenuElement:function(){var b=this.host.find("#divContent");var d=b[0];if(this._menuElement){a(this._menuElement).off();d.removeChild(this._menuElement)}var e=document.createElement("div");e.style.height="16px";e.style.width="16px";e.style.id="menu_element";e.style.align="left";e.style.valign="top";e.style.display="none";d.appendChild(e);this._menuElement=e;var c=this;a(c._menuElement).on("click",function(){c._showItemContextMenu()})},dataBind:function(){var c=this.source;if(this.localization&&!c.localization){c.localization=this.localization}c.dataBind();function b(l,k,d,f,j){for(var g in l.items){var h=l.items[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.text=h.text;e.adapterItem=h;e.isColumn=j;k.items.push(e);b(h,e,e,f,j)}for(var g in l.valueItems){var h=l.valueItems[g];var e=new a.jqx.jqxPivotGrid.pivotItem(d,f);e.adapterItem=h;e.text=h.text;e.isColumn=j;e._isValueItem=true;k.valueItems.push(e);b(h,e,e,f,j)}}this._createPivotAreas();b(c._rowsHierarchy,this._pivotRows,null,this._pivotRows,false);b(c._columnsHierarchy,this._pivotColumns,null,this._pivotColumns,true);this.bindingState="DataBoundPivot";this._pivotRows.autoResize("default");this._pivotColumns.autoResize("default");this._internalRefresh()},getChild:function(d,e){var c=d.childNodes;for(var b=0;b<c.length;b++){if(c[b].id==e){return c[b]}}return null},scrollToOffset:function(c,e){var b=this.gridcells;for(var d=0;d<b.length;d++){b[d].style.top=e+parseInt(b[d].originalY)+"px";this.setDivContent(b[d],"cell "+d)}},getWidth:function(){return this.host.width()},getHeight:function(){return this.host.height()},RenderGridContent:function(){if(!this._pivotColumns._renderRequired&&!this._pivotRows._renderRequired){this._pivotRows.viewPort.y=this._offsetY;this._pivotColumns.viewPort.x=this._offsetX;return}if(this.PaintSuspended){return}if(this._colResizeState=="RESIZING"){return}var k={};k.x=this._offsetX;k.y=this._offsetY;k.width=this.getWidth();k.height=this.getHeight();if(k.width==0||k.height==0){return}this.PaintSuspended=true;if(this._pivotColumns._isColumnsCountRequresUpdate){this._pivotColumns._updateVisibleLeaves();this._pivotColumns._updateColumnsCount();this._pivotColumns._updateColumnsIndexes()}if(this._pivotRows._isColumnsCountRequresUpdate){this._pivotRows._updateColumnsCount();this._pivotRows._updateColumnsIndexes()}if(this.getWidth()==0||this.getHeight()==0){this.PaintSuspended=false;return}if(this.GroupingEnabled&&this.groupingColumns.length>0){this._pivotRows.isHidden=true}if(this._pivotColumns._renderRequired){this._pivotColumns.render()}if(this._pivotRows._renderRequired){this._pivotRows.render()}var c=(this._pivotColumns.isVisible()?this._pivotColumns.getHeight():0);var h=(this._pivotRows.isVisible()?this._pivotRows.getWidth():0);var i={width:this._pivotColumns.getWidth()+h,height:this._pivotRows.getHeight()+c};if(this.scrollableAreaSize!=i||this.isSyncScrollRequired){this.scrollableAreaSize=i;this.SynchronizeScrollBars()}var b=this.host.find("#divContent");var l=this.host.find("#divVScroll");var e=this.host.find("#divHScroll");var d=e.css("display")!="none";var g=l.css("display")!="none";b.css({height:(k.height-(d?e.height()+4:0))+"px"});b.css({width:(k.width-(g?l.width()+4:0))+"px"});var j=k.height;if(k.height==this.getHeight()){j=k.height-c-((d)?e.height()+4:0);if(j<0){j=k.height}}this._pivotRows.x=0;this._pivotRows.y=c;this._pivotRows.viewPort={x:this._pivotRows.x,y:k.y,width:this._pivotRows.getWidth(),height:j};var f=k.width;if(k.width==this.getWidth()){f=k.width-h-((g)?l.width()+4:0);if(f<0){f=k.width}}this._pivotColumns.x=h;this._pivotColumns.y=0;this._pivotColumns.viewPort={x:k.x,y:this._pivotColumns.y,width:f,height:this._pivotColumns.getHeight()};this._pivotCells.Bounds={x:this._pivotColumns.x,y:this._pivotRows.y,width:this._pivotColumns.getWidth(),height:j};this._pivotCells.viewPort={x:k.x,y:k.y,width:f,height:j};if(this.draggingItem!=null&&this.dragElement.visibility=="visible"){this.dragElement.setValue(this.Canvas.ZIndexProperty,10000)}this._pivotRows._renderRequired=false;this._pivotColumns._renderRequired=false;this.PaintSuspended=false},SynchronizeScrollBars:function(){var p=false;var e=false;var n=this.host.find("#divVScroll");var h=this.host.find("#divHScroll");var g=h.css("display")!="none";var j=n.css("display")!="none";var d=h.height();var k=false;var m=false;if(this.scrollableAreaSize.height>this.getHeight()){p=true}if(this.scrollableAreaSize.width>this.getWidth()){e=true}if(this.scrollableAreaSize.height<=this.getHeight()&&this.scrollableAreaSize.width<=this.getWidth()){p=false;e=false}if(p){e=e||(this.scrollableAreaSize.width>this.getWidth()-d)}if(e){p=p||(this.scrollableAreaSize.height>this.getHeight()-d)}if(p){if(!j){k=true}n[0].style.display="block";var c=this.getHeight()-(e?d+5:0);if(c<0){c=0}this.setElementPosition(n[0],this.getWidth()-d-4,0);this.setElementSize(n[0],d,c);n.jqxScrollBar("min",0);var i=this.scrollableAreaSize.height-(this.getHeight()-(e?d:0))+4;if(i!=n.jqxScrollBar("max")){n.jqxScrollBar("max",i)}if(this.VerticalScrollBarSmallChange!=undefined){n.jqxScrollBar("step",this.VerticalScrollBarSmallChange)}else{n.jqxScrollBar("step",10)}var l=this.scrollableAreaSize.height/10;if(l<10){l=10}if(this.VerticalScrollBarLargeChange!=undefined){l=verticalScrollBarLargeChange}if(n.jqxScrollBar("largestep")!=l){n.jqxScrollBar("largestep",l)}if(n.jqxScrollBar("largestep")<n.jqxScrollBar("step")){n.jqxScrollBar("largestep",n.jqxScrollBar("step"))}if(this.rtl){}else{}}else{if(j){k=true}n.jqxScrollBar("value",0);n[0].style.display="none"}if(e){if(g){m=true}h[0].style.display="block";var o=this.getWidth()-(p?d+5:0);if(o<0||o==undefined){o=0}this.setElementPosition(h[0],0,this.getHeight()-d-4);this.setElementSize(h[0],o,d);if(h.jqxScrollBar("min")!=0){h.jqxScrollBar("min",0)}var f=this.scrollableAreaSize.width-(this.getWidth()-(p?d:0))+4;if(h.jqxScrollBar("max")!=f){h.jqxScrollBar("max",f)}if(this.HorizontalScrollBarSmallChange!=undefined){h.jqxScrollBar("step",this.HorizontalScrollBarSmallChange)}else{h.jqxScrollBar("step",10)}var b=(this.getWidth()/2);if(b<25){b=25}if(this.HorizontalScrollBarLargeChange!=undefined){b=this.HorizontalScrollBarSmallChange}h.jqxScrollBar("largestep",b);if(h.jqxScrollBar("largestep")<h.jqxScrollBar("largestep")){h.jqxScrollBar("largestep",h.jqxScrollBar("step"))}}else{if(g){m=true}h.jqxScrollBar("value",0);h[0].style.display="none"}e=e&&this.scrollBarsEnabled;p=p&&this.scrollBarsEnabled;if(e!=(h[0].display=="block")){h[0].display=e?"block":"none";m=true}if(p!=(n[0].display=="block")){n[0].display=p?"block":"none";k=true}this._scrollBarPositions={vertical:{visible:p,rect:{x:n.position().left,y:n.position().top,width:n.width(),height:n.height()}},horizontal:{visible:e,rect:{x:h.position().left,y:h.position().top,width:h.width(),height:h.height()}}};h.jqxScrollBar("refresh");n.jqxScrollBar("refresh")},isPtInRect:function(b,c){return(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height)},onMouseLeftButtonUp:function(c){var j=this;for(var k in j._scrollBarPositions){if(this._scrollBarPositions[k].visible&&this.isPtInRect(j._currentPosition,j._scrollBarPositions[k].rect)){if(j._isMouseCaptured()){j._releaseMouseCapture()}j._isMouseLeftButtonDown=false;return}}if(j._isMouseCaptured()){j._releaseMouseCapture();return}if(j._itemMenuButtonMouseOver||j._isContextMenuOpen){return}j.canDrag=false;var g=a.jqx.position(c);var e=j.isPtInRect({x:g.left,y:g.top},j._rect);var d=j._pivotCells._hitTest(j._currentPosition);if(d&&e){var h=j._raisePivotCellMouseEvent(d.pivotRow,d.pivotColumn,"pivotcellmouseup","left");if(h){return}}if(j._colResizeState=="RESIZING"){j._colResizeState="NO_RESIZE";j._updateCursor("ARROW");j._pivotColumns._renderRequired=true;j._pivotRows._renderRequired=true;var l={x:j.resizingItem.x+j.resizingItem.hierarchy.x-j._offsetX,y:j.resizingItem.y+j.resizingItem.hierarchy.y-j._offsetY};if(this.isHorizontalResize){j.resizingItem.setWidth(Math.max(j.resizingItem.minimumWidth,Math.abs(j._currentPosition.x-l.x)))}else{j.resizingItem.setHeight(Math.max(j.resizingItem.minimumHeight,Math.abs(j._currentPosition.y-l.y)))}a("body").find("#"+j._resizeLineId).hide();j.resizingItem=null;if(j.resizeTooltipEnabled){}j._isMouseLeftButtonDown=false;j._internalRefresh();return}var f={isOnItemButton:false};var i=j._itemHitTest(j._currentPosition,f);if(i!=null){if(f.isOnItemButton||f.isOnMenuButton){return}}var b=false;if(j._canDrop(i)){j._endDrag(i);b=true}else{if(j.dragElement&&j.dragElement.style.display=="block"){j._endDrag(draggingItem);b=true}}if(b){j._isMouseLeftButtonDown=false;j._internalRefresh();return}j._isMouseLeftButtonDown=false;if(e&&j.activeEditor.Editor==null){j._updateSelection()}},onMouseLeftButtonDown:function(g){for(var h in this._scrollBarPositions){if(this._scrollBarPositions[h].visible&&this.isPtInRect(this._currentPosition,this._scrollBarPositions[h].rect)){this._captureMouse();return}}var d={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,d);this._timeLastDown=new Date();var c=false;if(!this.isShiftPressed){this._selectStartPosition={x:this._currentPosition.x,y:this._currentPosition.y}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}this._isMouseLeftButtonDown=true;if(this._colResizeState=="READY_RESIZE"){this._colResizeState="RESIZING";this._updateCursor(this.isHorizontalResize?"COLUMN_RESIZE":"ROW_RESIZE");this._refreshMouseCursor();return}else{if(this._colResizeState=="RESIZING"){return}}if(null!=f){if(d.isOnItemButton){if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}this._isMouseLeftButtonDown=false;if(f.isExpanded){f.collapse()}else{f.expand()}this._lastToggle={time:new Date(),item:f};this._internalRefresh();return}this.canDrag=true;if(d.isOnItemButton){this._updateCursor("ARROW")}else{this._updateCursor("CROSS")}if(f.isColumn){this._internalSelectMode="COL_SELECT"}else{this._internalSelectMode="ROW_SELECT"}}else{this._internalSelectMode="CELLS_SELECT"}var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","left");if(e){return}}if(this.activeEditor.Editor==null){this._updateSelection()}this._refreshMouseCursor()},onMouseRightButtonDown:function(e){this._timeLastDown=new Date();var c={isOnItemButton:false};var d=this._itemHitTest(this._currentPosition,c);if(d!=null){this._raisePivotItemMouseEvent(d,"pivotitemmousedown","right");return}var b=this._pivotCells._hitTest(this._currentPosition);if(b){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmousedown","right")}},onMouseRightButtonUp:function(d){var c=this;var f=a.jqx.position(d);var e=c.isPtInRect({x:f.left,y:f.top},c._rect);var b=this._pivotCells._hitTest(this._currentPosition);if(b&&e){this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellmouseup","right")}this._timeLastUp=new Date()},_itemMouseMove:function(b,g){if(this.resizingItem){if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}return}if(this._menuElement._itemMouseOver!=g){this._hideItemMenuElement()}this._updateCursor("CROSS");var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};if(g.isColumn){h.x+=g.hierarchy.x-this._offsetX}else{h.y+=g.hierarchy.y-this._offsetY}if(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled){h.height=g.height}h.right=h.x+h.width;h.bottom=h.y+h.height;if(Math.abs(h.right-b.x)<=4&&b.y>=h.y&&b.y<=h.bottom){this.isHorizontalResize=true;if(g.hierarchy.resizable&&!this._pivotColumns.isGroupingColumn(g)){this._updateCursor("COLUMN_RESIZE");this.resizingItem=(g.isColumn)?g._getLastVisibleLeaf(g):g;if(!this.resizingItem.isColumn&&!this.resizingItem.isExpanded){var d=this._pivotRows._getVisibleLeafLevelItems();for(var c in d){var e=d[c];if(e.ItemLevel>this.resizingItem.ItemLevel){this.resizingItem=e}}}this._colResizeState="READY_RESIZE"}return}if(!g.isColumn&&Math.abs(h.bottom-b.y)<=3){this.isHorizontalResize=false;if(!(g.IsRowsHierarchyItem&&this._pivotRows.compactStyleRenderingEnabled)){g=g._getLastVisibleLeaf(g)}if(g.hierarchy.resizable){this._updateCursor("ROW_RESIZE");this.resizingItem=g;this._colResizeState="READY_RESIZE"}return}var f=g.hierarchy.getOtherHierarchy();if(g.hierarchy.sortable&&f.items.length>0){this._hitTestShowItemMenuElement(b,g,h)}},isInHierarchyViewPort:function(b,c){if(c.isColumnsHierarchy){return(this.isPtInRect({x:b.x+this._offsetX,y:b.y},c.viewPort))}else{return(this.isPtInRect({x:b.x,y:b.y+this._offsetY},c.viewPort))}},_hitTestShowItemMenuElement:function(b,g,h){if(this._menuElement&&this._menuElement._itemMouseOver&&this._menuElement._itemMouseOver._element){a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}this._menuElement.style.display="none";if(this._isContextMenuOpen||g.valueItems.length>0||!(b.x<h.right&&b.x>h.x&&b.y>=h.y&&b.y<=h.bottom)){return}var d=a.extend({},this._rect);d.x=d.y=0;if(this.vScroll[0].display=="block"){d.width-=this.vScroll.width()}if(this.hScroll[0].display=="block"){d.height-=this.hScroll.height()}var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);var e={x:g.x+h.width-18,y:g.y+(h.height-16)/2+1,width:16,height:16};this._menuElement.style.height=e.height+"px";this._menuElement.className=this.toThemeProperty("jqx-pivotgrid-menu-button");if(g.isColumn){e.x+=g.hierarchy.x-this._offsetX}else{e.y+=g.hierarchy.y-this._offsetY}this.setElementPosition(this._menuElement,e.x,e.y);if(this.isPtInRect({x:e.x,y:e.y},d)&&this.isPtInRect({x:e.x,y:e.y+e.height},d)&&this.isPtInRect({x:e.x+e.width,y:e.y},d)&&this.isPtInRect({x:e.x+e.width,y:e.y+e.height},d)){this._menuElement.style.display="block";this._menuElement._itemMouseOver=g;a(this._menuElement._itemMouseOver._element).find("#sortElement").hide();if(!g._currentCustomContent){var c=a(g._element).css("background-color");this._menuElement.style["background-color"]=c}if(g.isColumn){e.x+=this._offsetX-g.hierarchy.x}else{e.y+=this._offsetY-g.hierarchy.y}if(this.isPtInRect({x:f.x,y:f.y},e)){this._itemMenuButtonMouseOver=true}}},_hideItemMenuElement:function(){if(this._menuElement&&!this._isContextMenuOpen&&this._menuElement.style.display=="block"){this._menuElement.style.display="none";a(this._menuElement._itemMouseOver._element).find("#sortElement").show()}},_hideItemContextMenu:function(){this._contextMenu.jqxMenu("close");this._hideItemMenuElement()},_showItemContextMenu:function(){var f=this._menuElement._itemMouseOver;if(!f){return}var e=this._contextMenu.width();var c=this._contextMenu.height();this._contextMenu.find("#sortasc")[0]["className"]="jqx-pivotgrid-sortasc-icon "+this.toThemeProperty("jqx-pivotgrid-sortasc-icon");this._contextMenu.find("#sortdesc")[0]["className"]="jqx-pivotgrid-sortdesc-icon "+this.toThemeProperty("jqx-pivotgrid-sortdesc-icon");this._contextMenu.find("#sortremove")[0]["className"]="jqx-pivotgrid-sortremove-icon "+this.toThemeProperty("jqx-pivotgrid-sortremove-icon");var d=-e+f.displayWidth+f.x+(f.hierarchy.viewPort.x-this._offsetX)-this._offsetX;if(!f.isColumn){d=f.x+f.displayWidth}var b=f.y+f.getDisplayHeight();if(!f.isColumn){b=f.y-this._offsetY+f.hierarchy.y}if(d<=1){d=1}if(b<this._pivotColumns.y+this._pivotColumns.getHeight()){b=this._pivotColumns.y+this._pivotColumns.getHeight()}if(b+c>this._rect.height){b=this._rect.height-c}this._contextMenu.jqxMenu("open",d+this._rect.x,b+this._rect.y);this._contextMenu.focus()},_handleMouseMove:function(d){if(this._colResizeState=="RESIZING"){this._doResize({x:this._currentPosition.x,y:this._currentPosition.y});this._refreshMouseCursor();return}else{this._colResizeState="NO_RESIZE";this.resizingItem=null}var j=this._currentPosition;var i=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotColumns)){i=this._pivotColumns.hitTest(j)}var c=null;if(this.isInHierarchyViewPort({x:j.x,y:j.y},this._pivotRows)){c=this._pivotRows.hitTest(j)}this._itemMenuButtonMouseOver=false;if(i!=null||c!=null){var h=i==null?c:i;this.gridCellMouseOver=null;this._itemMouseMove(j,h);if(this._focusedItem!=h){this._focusedItem=h;if(this._isMouseLeftButtonDown){this._updateSelection()}}var f={};if(this.CellsHighlightOnHierarchyItemMoveEnabled&&((h.IsRowsHierarchyItem&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_ROW"))||(h.isColumn&&(this.CellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN")))){if(h.isColumn){f={x:h.x,y:0,width:h.DisplayWidth,height:this._pivotRows.getHeight()}}else{f={x:0,y:h.y,width:this._pivotColumns.getWidth(),height:h.getDisplayHeight()}}if((h.isColumn&&this.isGroupingEnabled&&this.groupingColumns.length>0)||(h.IsRowsHierarchyItem&&this._pivotRows.isOnRowDetails(this._currentPosition,h))){f={x:0,y:0,width:0,height:0}}}this._refreshMouseCursor();return}else{this._hideItemMenuElement()}var b=this.gridCellMouseOver!=null;this.resizingItem=null;this._focusedItem=null;this._colResizeState="NO_RESIZE";this._updateCursor("ARROW");var g=null;if(this.gridCellMouseOver){g={};g.pivotColumn=this.gridCellMouseOver.pivotColumn;g.pivotRow=this.gridCellMouseOver.pivotRow}var e=this._pivotCells._hitTest(j);if(this._isMouseLeftButtonDown&&e){if(this.gridCellMouseOver==null||this.gridCellMouseOver.pivotRow!=c||this.gridCellMouseOver.pivotColumn!=i){this.gridCellMouseOver={pivotRow:e.pivotRow,pivotColumn:e.pivotColumn,pivotCells:this._pivotCells}}var f={x:0,y:0,width:0,height:0};if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_COLUMN"){f={x:this.gridCellMouseOver.pivotColumn.x,y:0,width:this.gridCellMouseOver.pivotColumn.getDisplayWidth(),height:this._pivotRows.getHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_ROW"){f={x:0,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()}}else{if(this.cellsHighlightMode=="CELLS_HIGHLIGHT_SINGLE_CELL"){f={x:this.gridCellMouseOver.pivotColumn.x,y:this.gridCellMouseOver.pivotRow.y,width:this._pivotColumns.getWidth(),height:this.gridCellMouseOver.pivotRow.getDisplayHeight()};if(this.isGroupingEnabled&&this.groupingColumns.length>0){if(this.gridCellMouseOver.pivotRow.items.length>0){f={x:0,y:0,width:0,height:0}}}if(this.gridCellMouseOver.pivotRow.RowDetailsVisible){f.height-=this.gridCellMouseOver.pivotRow.GetRowDetailsHeight()}}}}if(this._pivotColumns.isGroupingColumn(this.gridCellMouseOver.pivotColumn)||this._pivotRows.isOnRowDetails(this._currentPosition,this.gridCellMouseOver.pivotRow)){f={x:0,y:0,width:0,height:0}}}else{this.gridCellMouseOver=null}if(this.gridCellMouseOver!=null&&(this.gridCellMouseOver!=g||g.pivotRow!=this.gridCellMouseOver.pivotRow||g.pivotColumn!=this.gridCellMouseOver.pivotColumn)){if(this._isMouseLeftButtonDown&&!this._itemMenuButtonMouseOver){this._updateSelection();this._internalRefresh()}}},_handleMouseClick:function(f){var c={isOnItemButton:false};var g=this._itemHitTest(this._currentPosition,c);if(g!=null){var d=this._raisePivotItemMouseEvent(g,"pivotitemclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}if(this._isMouseLeftButtonDown&&!c.isOnItemButton&&g.sortMode=="Automatic"&&g.valueItems.length==0){var e=this.cursor;this.cursor="Wait";this.cursor=e}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var d=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcellclick",(f.button==0)?"left":"right");if(d){f.cancel=true;return}}}},_handleMouseDoubleClick:function(g){if(this.activeEditor.Editor!=null){var d=null;if(false==this.hideEditor("MOUSE_DBLCLICK",d,true)){return}}if(this._itemMenuButtonMouseOver||this._isContextMenuOpen){return}var c={isOnItemButton:false};var f=this._itemHitTest(this._currentPosition,c);if(f!=null){if(c.isOnMenuButton){return}var e=this._raisePivotItemMouseEvent(f,"pivotitemdblclick",(g.button==0)?"left":"right");if(e){return}if(this._lastToggle&&this._lastToggle.item==f&&(new Date()-this._lastToggle.time)<500){return}if(g.button==0){if(f.isExpanded){f.collapse()}else{f.expand()}f.hierarchy.selectItem(f);this._internalRefresh()}this._lastToggle={time:new Date(),item:f}}else{var b=this._pivotCells._hitTest(this._currentPosition);if(b){var e=this._raisePivotCellMouseEvent(b.pivotRow,b.pivotColumn,"pivotcelldblclick",(g.button==0)?"left":"right");if(e){return}}}this._refreshMouseCursor()},_isMouseCaptured:function(){return this._captured===true},_releaseMouseCapture:function(){this._captured=false},_captureMouse:function(){this._captured=true},_updateCursor:function(b){if(b=="ARROW"){this.element.style.cursor="default"}else{if(b=="CROSS"){this.element.style.cursor="pointer"}else{if(b=="COLUMN_RESIZE"){this.element.style.cursor="col-resize"}else{if(b=="ROW_RESIZE"){this.element.style.cursor="row-resize"}}}}},_refreshMouseCursor:function(){},_ensureEditorFocus:function(){},focus:function(){},_itemHitTest:function(b,c){c.isOnItemButton=false;var g=null;if(!this._pivotRows.isHidden&&this.isInHierarchyViewPort(b,this._pivotRows)){g=this._pivotRows.hitTest(b)}if(g==null&&!this._pivotColumns.isHidden&&this.isInHierarchyViewPort(b,this._pivotColumns)){g=this._pivotColumns.hitTest(b)}if(g!=null){var f={x:this._currentPosition.x,y:this._currentPosition.y};f.x-=g.hierarchy.x-(g.hierarchy.viewPort.x-g.hierarchy.x);f.y-=g.hierarchy.y-(g.hierarchy.viewPort.y-g.hierarchy.y);if(g.items.length!=0&&g.expandCollapseEnabled!=false&&g.hierarchy.showExpandCollapseButtons){var e=0;if(!g.hierarchy.isColumnsHierarchy&&g.hierarchy.compactStyleRenderingEnabled){e=24*g.itemLevel}if(f.x>g.x+9+e&&f.x<g.x+20+e&&f.y>g.y+9&&f.y<g.y+20){c.isOnItemButton=true}}var h={x:g.x,y:g.y,width:g.getDisplayWidth(),height:g.getDisplayHeight()};var d={x:g.x+h.width-16,y:g.y,width:16,height:h.height};if(this.isPtInRect(f,d)&&g.hierarchy.sortable){c.isOnMenuButton=true}}return g},_raisePivotCellMouseEvent:function(g,f,b,c){var e=new a.Event(b);e.owner=this;e.args={pivotRow:g,pivotColumn:f,mousebutton:c,cancel:false};var d=this.host;d.trigger(e);if(e.args.cancel){return true}return false},_raisePivotItemMouseEvent:function(d,b,c){var f=new a.Event(b);f.owner=this;f.args={pivotItem:d,mousebutton:c,cancel:false};var e=this.host;e.trigger(f);if(f.args.cancel){return true}return false},_beginDrag:function(b){},_endDrag:function(b){},_canDrop:function(b){},_doResize:function(b){if(!(this.resizingItem!=null&&this.resizingItem.hierarchy.resizable)){return}if(this._pivotColumns.isGroupingColumn(this.resizingItem)){return}if(this.isHorizontalResize){this._updateCursor("COLUMN_RESIZE")}else{this._updateCursor("ROW_RESIZE")}this._focusedItem=this.resizingItem;var i={x:this.resizingItem.x+2*this.resizingItem.hierarchy.x-this.resizingItem.hierarchy.viewPort.x,y:this.resizingItem.y+2*this.resizingItem.hierarchy.y-this.resizingItem.hierarchy.viewPort.y};var g=false;var e=this.resizingItem.hierarchy;var d=a("body").find("#"+this._resizeLineId);if(this.isHorizontalResize){var h=b.x-i.x;if(h<this.resizingItem.minimumWidth){return}var f={x:b.x+this._rect.x,y:this._pivotRows.y+this._rect.y};d.css({"border-right":"1px dotted #555","border-bottom":"",width:"1px",height:this._pivotCells.viewPort.height,top:f.y,left:f.x,display:"block"});if(h>=this.resizingItem.minimumWidth&&h<=this.resizingItem.maximumWidth){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="width: "+h+" pixels"}g=true}}else{var c=b.y-i.y;if(c<this.resizingItem.minimumHeight){return}var f={x:this._pivotColumns.x+this._rect.x,y:b.y+this._rect.y};d.css({"border-bottom":"1px dotted #555","border-right":"",height:"1px",width:this._pivotCells.viewPort.width,left:f.x,top:f.y,display:"block",zIndex:50000});if(c>=this.resizingItem.minimumHeight&&c<=this.resizingItem.maximumHeight){if(this.resizeTooltipEnabled){this._resizeTooltip.Content="height: "+c+" pixels"}g=true}}if(g){if(this.resizeTooltipEnabled){if(this._resizeTooltip.visibility!="visible"){this._resizeTooltip.visibility="visible"}this._resizeTooltip.setValue(this.Canvas.LeftProperty,b.x);this._resizeTooltip.setValue(this.Canvas.TopProperty,b.y);this._resizeTooltip.setValue(this.Canvas.ZIndexProperty,10002)}}},_internalClearSelection:function(){this._pivotColumns._internalClearSelection();this._pivotRows._internalClearSelection();this._pivotCells._internalClearSelection()},_beginSelectionUpdate:function(){if(this._isCTRLPressed&&this.multipleSelectionEnabled){return}this._pivotCells._beginSelectionUpdate();this._pivotColumns._beginSelectionUpdate();this._pivotRows._beginSelectionUpdate()},_endSelectionUpdate:function(){this._pivotColumns._endSelectionUpdate();this._pivotRows._endSelectionUpdate();this._pivotCells._endSelectionUpdate()},_updateSelection:function(){if(!this.selectionEnabled){return}this._colItemRangeSelectionBeg=null;this._rowItemRangeSelectionBeg=null;this._beginSelectionUpdate();var l=false;if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection();l=true}if(this.activeEditor.Editor!=null){this._internalClearSelection();this._endSelectionUpdate();return}var j=-1;var t=-1;var g={x:this._selectStartPosition.x,y:this._selectStartPosition.y};g.y-=this._offsetY;g.x-=this._offsetX;var p={isOnItemButton:false};var i=this._itemHitTest(this._selectStartPosition,p);if(i!=null){if(!(!i.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){i=i._getFirstVisibleLeaf(i)}if(i.isColumn){if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();return}else{this._internalSelectMode="COL_SELECT"}this._colItemRangeSelectionBeg=i}else{if(this.selectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}else{this._internalSelectMode="ROW_SELECT"}this._rowItemRangeSelectionBeg=i}}else{var h=this._pivotCells._hitTest(this._selectStartPosition);if(h){this._internalSelectMode="CELLS_SELECT";if(this.selectionMode=="FULL_ROW_SELECT"){this._internalSelectMode="ROW_SELECT"}else{if(this._SelectionMode=="FULL_COLUMN_SELECT"){this._internalSelectMode="COL_SELECT"}}}else{this._internalSelectMode="NO_SELECT";this._endSelectionUpdate();this._internalRefresh();return}}var b={x:this._currentPosition.x,y:this._currentPosition.y};if(this._internalSelectMode=="COL_SELECT"){if(b.y>=this._pivotColumns.y+this._pivotColumns.getHeight()){b.y=this._pivotColumns.y+this._pivotColumns.getHeight()-1}if(b.y<=this._pivotColumns.y){b.y=this._selectStartPosition.y}if(b.x<=this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.x>=this._pivotColumns.x+this._pivotColumns.getWidth()){b.x=this._pivotColumns.x+this._pivotColumns.getWidth()-1}}else{if(this._internalSelectMode=="ROW_SELECT"){if(b.y>=this._pivotRows.y+this._pivotRows.getHeight()){b.y=this._pivotRows.y+this._pivotRows.getHeight()-1}if(b.y<=this._pivotRows.y){b.y=this._pivotRows.y+1}if(b.x<=this._pivotRows.x){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}if(b.x>=this._pivotRows.x+this._pivotRows.getWidth()){b.x=this._pivotRows.x+this._pivotRows.getWidth()-1}}else{if(this._internalSelectMode=="CELLS_SELECT"){if(b.x<this._pivotColumns.x){b.x=this._pivotColumns.x+1}if(b.y<this._pivotRows.y){b.y=this._pivotRows.y+1}}}}this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null;var f=-1;var o=-1;if(this._internalSelectMode=="COL_SELECT"||this._internalSelectMode=="ROW_SELECT"){if(i!=null){var h={};var d=this._itemHitTest(b,h);if(null==d){this._endSelectionUpdate();return}if(!(!d.isColumn&&this._pivotRows.compactStyleRenderingEnabled)){d=d._getLastVisibleLeaf(d)}if(d.isColumn){this._colItemRangeSelectionEnd=d}else{this._rowItemRangeSelectionEnd=d}}else{this._pivotCells.hitTest(b,h);if(h!=null){this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}else{this._colItemRangeSelectionEnd=null;this._rowItemRangeSelectionEnd=null}}}if(this._internalSelectMode=="CELLS_SELECT"){var h=this._pivotCells._hitTest(this._selectStartPosition);this._colItemRangeSelectionBeg=h.pivotColumn;this._rowItemRangeSelectionBeg=h.pivotRow;if(!h){this._endSelectionUpdate();this._internalRefresh();return}if(g.x!=b.x||g.y!=b.y){this._pivotCells.hitTest(b,h);this._colItemRangeSelectionEnd=h.pivotColumn;this._rowItemRangeSelectionEnd=h.pivotRow}if(!h.pivotRow||!h.pivotColumn){this._internalSelectMode="CELLS_SELECT";this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionStart=this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}}this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(l);if(this._internalSelectMode=="CELLS_SELECT"){var u=this._pivotRows._getVisibleLeafLevelItems();var n=this._pivotColumns._getVisibleLeafLevelItems();var t=this._pivotRows._pointToLeafItemIndexAbsolute(this._selectStartPosition);var o=this._pivotRows._pointToLeafItemIndexAbsolute(b);var j=this._pivotColumns._pointToLeafItemIndexAbsolute(this._selectStartPosition);var f=this._pivotColumns._pointToLeafItemIndexAbsolute(b);if((j==-1&&f==-1)||(t==-1&&o==-1)){this._endSelectionUpdate();this._internalRefresh();return}if(j==-1){j=f}if(f==-1){f=j}if(t==-1){t=o}if(o==-1){o=t}if(f<j){var s=j;j=f;f=s}if(o<t){var s=t;t=o;o=s}for(var m=t;m<=o&&m<u.length;m++){var e=u[m];for(var q=j;q<=f&&q<n.length;q++){var k=n[q];this._pivotCells._internalSelectCell(e,k)}}this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionEnd,pivotColumn:this._colItemRangeSelectionEnd,pivotCells:this._pivotCells};this._endSelectionUpdate();this._internalRefresh();return}this._restoreSelectedItemsRangeOrder();this._applyItemsMultiSelect(l);this._endSelectionUpdate();this._internalRefresh()},_saveSelectedItemsRangeOrder:function(){this._adjSelectedItemsSave.colBeg=this._colItemRangeSelectionBeg;this._adjSelectedItemsSave.colEnd=this._colItemRangeSelectionEnd;this._adjSelectedItemsSave.rowBeg=this._rowItemRangeSelectionBeg;this._adjSelectedItemsSave.rowEnd=this._rowItemRangeSelectionEnd},_restoreSelectedItemsRangeOrder:function(){this._colItemRangeSelectionBeg=this._adjSelectedItemsSave.colBeg;this._colItemRangeSelectionEnd=this._adjSelectedItemsSave.colEnd;this._rowItemRangeSelectionBeg=this._adjSelectedItemsSave.rowBeg;this._rowItemRangeSelectionEnd=this._adjSelectedItemsSave.rowEnd},_adjustSelectedItemsOrder:function(c){if(this._colItemRangeSelectionBeg!=null&&this._colItemRangeSelectionEnd!=null&&this._colItemRangeSelectionBeg.x>this._colItemRangeSelectionEnd.x){var b=this._colItemRangeSelectionBeg;this._colItemRangeSelectionBeg=this._colItemRangeSelectionEnd;this._colItemRangeSelectionEnd=b}if(this._rowItemRangeSelectionBeg!=null&&this._rowItemRangeSelectionEnd!=null&&this._rowItemRangeSelectionBeg.y>this._rowItemRangeSelectionEnd.y){var b=this._rowItemRangeSelectionBeg;this._rowItemRangeSelectionBeg=this._rowItemRangeSelectionEnd;this._rowItemRangeSelectionEnd=b}if((false==this.multipleSelectionEnabled&&!c)||this._rowItemRangeSelectionEnd==null){this._rowItemRangeSelectionEnd=this._rowItemRangeSelectionBeg}if((false==this.multipleSelectionEnabled&&!c)||this._colItemRangeSelectionEnd==null){this._colItemRangeSelectionEnd=this._colItemRangeSelectionBeg}},_applyItemsMultiSelect:function(k){this._saveSelectedItemsRangeOrder();this._adjustSelectedItemsOrder(k);for(var e=0;e<2;e++){if(this._internalSelectMode=="COL_SELECT"&&e!=0){continue}if(this._internalSelectMode=="ROW_SELECT"&&e!=1){continue}var l=e==0?this._colItemRangeSelectionBeg:this._rowItemRangeSelectionBeg;var c=e==0?this._colItemRangeSelectionEnd:this._rowItemRangeSelectionEnd;var f=(e==0)?this._pivotColumns:this._pivotRows;var g=f._getVisibleLeafLevelItems();if(g==null){this._internalRefresh();this._restoreSelectedItemsRangeOrder();return}var b=false;for(var d in g){var m=g[d];if(m!=l&&!b){continue}if(m.getWidthWithChildren()+m.x>this._mostRightItemBounds.x+this._mostRightItemBounds.width){this._mostRightItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}if(m.getWidthWithChildren()+m.x<this._mostLeftItemBounds.x+this._mostLeftItemBounds.width){this._mostLeftItemBounds={x:m.x,y:m.y,width:m.getWidthWithChildren(),height:m.getHeightWithChildren()}}b=true;f._internalSelectItem(m);if(m==c){break}}if(f.isColumnsHierarchy||!f.compactStyleRenderingEnabled){f._applySelectionToParentItems()}}this._restoreSelectedItemsRangeOrder()},localizeStrings:function(g,e){var b=this;if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}b._localizedStrings={decimalseparator:".",thousandsseparator:",",sortascendingstring:"Sort Ascending",sortdescendingstring:"Sort Descending",sortremovestring:"Remove Sort",alignment:"Text alignment",cellalignment:"Number alignment",numberformat:"Number format",prefix:"Number prefix",decimalplacestext:"Decimal places",thousandsseparatortext:"Thousands separator",decimalseparatortext:"Decimal separator",nagativebracketstext:"Negatives in brackets",fieldsettings:"Field settings",ok:"Ok",cancel:"Cancel"};var c=a.extend({},g);b._localizedStrings=a.extend(b._localizedStrings,c);for(var f in c){if(f&&f.toLowerCase()!==f){c[f.toLowerCase()]=c[f]}}for(var d in b._localizedStrings){if(c[d]!==undefined){b._localizedStrings[d]=c[d]}}},})})(jqxBaseFramework);$.jqx.jqxPivotGrid=$.jqx.jqxPivotGrid||{};$.jqx.define($.jqx.jqxPivotGrid,"propertyBag","");$.extend($.jqx.jqxPivotGrid.propertyBag.prototype,{defineInstance:function(){this.namedPropertyTables={};this._tableSizes={};this.enablePropertyChangeNotifications=false},getPropertyTable:function(a){if(undefined==this.namedPropertyTables[a]){this.namedPropertyTables[a]={};this._tableSizes[a]=0}return this.namedPropertyTables[a]},getPropertyCount:function(a){var b=this.getPropertyTable(a);if(null==b){return 0}return this._tableSizes[a]},getPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return null}if(c[b]!=undefined){return c[b]}return null},containsPropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return false}return c[b]!=undefined},removePropertyValue:function(a,b){var c=this.getPropertyTable(a);if(null==c){return}delete c[b];this._tableSizes[a]--},setPropertyValue:function(a,b,c){var d=this.getPropertyTable(a);if(null==d){return}if(c==null||c==undefined){if(d[b]){this._tableSizes[a]--;delete d[b]}}else{if(!d[b]){this._tableSizes[a]++}d[b]=c}if(this.enablePropertyChangeNotifications){this.onPropertyChanged(a)}},clear:function(a){if(a==""||a==null||a==undefined){this.namedPropertyTables={};return}var b=this.getPropertyTable(a);b={};this._tableSizes[a]=0},onPropertyChanged:function(a){$.event.trigger("propertychanged",a)}});(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.define(a.jqx.jqxPivotGrid,"pivotCells","");a.extend(a.jqx.jqxPivotGrid.pivotCells.prototype,{defineInstance:function(){this.parentPivotGrid=null;this.IsDataBoundPivotCellsEditable=false;this.cellProperties=new a.jqx.jqxPivotGrid.propertyBag();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._selectedCells=new Object()},hitTest:function(c){var d=this._hitTest(c);if(!d){return undefined}var b={pivotRow:d.pivotRow,pivotColumn:d.pivotColumn,pivotCells:this};return b},_hitTest:function(b){var c={};c.pivotColumn=this.parentPivotGrid._pivotColumns._pointToLeafItemAbsolute(b);c.pivotRow=this.parentPivotGrid._pivotRows._pointToLeafItemAbsolute(b);if(this.parentPivotGrid._pivotColumns.isGroupingColumn(c.pivotColumn)){return undefined}if(c.pivotColumn==null||c.pivotRow==null){return undefined}return c},clear:function(){this._reset()},_reset:function(){this.cellProperties.clear();this._selectedCells=new Object();this.hashCellAutoSize={};this.hashCellInSpan={};this.hashCellSpan={};this._clearElementsAndCellsCache()},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.removeChild(b.firstChild)}},_clearElementsAndCellsCache:function(){this._clearCellsCache()},setCellValue:function(b,g,k){if(b==null||g==null){return}var c=this.parentPivotGrid.getCellId(g,b);var i=this.getCellDataSource(b,g);var f=b.BoundFieldIndex!=-1&&g.BoundFieldIndex!=-1;var d=false;var j=this.getCellDataSource(b,g);if(j=="DataBound"&&f){d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}try{this.parentPivotGrid.setCellValueFromDataSourceNonPivot(b,g,k)}catch(h){return}this.cellProperties.setPropertyValue("CellValue",c,null);this.parentPivotGrid.OnCellValueChanged(b,g);return}else{if(j=="DataBoundPivot"){if(!this.IsDataBoundPivotCellsEditable){throw"The cell's value is derived from the data source and aggregated. It is not editable in this mode. Use the SetCellDataSource method to change the cell's data source first"}else{return}}}var d=this.parentPivotGrid.OnCellValueChanging(b,g,k);if(d){return}this.SetCellDataSource(b,g,"Static");this.cellProperties.setPropertyValue("CellValue",c,k);this.onPropertyChanged("CellValue");this.parentPivotGrid.OnCellValueChanged(b,g)},_clearCellsCache:function(){this.cellProperties.clear("CellValue")},_clearCachedCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this.cellProperties.containsPropertyValue("CellValue",b)){this.cellProperties.removePropertyValue("CellValue",b)}},drillThroughCell:function(c,b){if(!c||c.isColumn){throw"Invalid pivotRow parameter"}if(!b||!b.isColumn){throw"Invalid pivotColumn parameter"}return this.parentPivotGrid.source.drillThroughPivotCell(c.adapterItem,b.adapterItem)},getCellValue:function(h,f){var d=null;if(this.parentPivotGrid._pivotColumns.isGroupingColumn(f)){return null}var c=this.parentPivotGrid.getCellId(f,h);var b=this.getCellDataSource(h,f);if(h.isTotal||f.isTotal){b="Virtual"}switch(b){case"Virtual":d=this.parentPivotGrid.onCellValueNeeded(h,f);this.cellProperties.setDirty(c);if(d==null&&this.parentPivotGrid.bindingState=="BoundPivot"&&(h.isTotal||f.isTotal)){d=this.parentPivotGrid.getCellValueFromDataSource(h,f)}break;case"DataBoundPivot":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){d=this.parentPivotGrid.source.getCellValue(h.adapterItem,f.adapterItem);if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"DataBound":d=this.cellProperties.getPropertyValue("CellValue",c);if(d==null){try{d=this.parentPivotGrid.getCellValueFromDataSourceNonPivot(h,f)}catch(g){return null}if(this.cellProperties.getPropertyCount("CellValue")<4000000){this.cellProperties.setPropertyValue("CellValue",c,d)}}break;case"NotSet":case"Static":default:d=this.cellProperties.getPropertyValue("CellValue",c);break}return d},setCellDataSource:function(e,c,b){if(e==null||c==null){return}var d=this.parentPivotGrid.getCellId(c,e);this.cellProperties.setPropertyValue("cellDataSource",d,b)},getCellDataSource:function(e,b){var d=this.parentPivotGrid.getCellId(b,e);var c=this.cellProperties.getPropertyValue("cellDataSource",d);if(null==c){c=b.cellDataSource}if(c==null||c=="NotSet"){c=e.cellDataSource}if(c!=null&&c!="NotSet"){return c}if(this.parentPivotGrid.UseVirtualCellsByDefault){return"Virtual"}if(this.parentPivotGrid.bindingState=="DataBound"||this.parentPivotGrid.bindingState=="DataBoundPivot"){return this.parentPivotGrid.bindingState}return"NotSet"},render:function(){var m=this.renderCanvas;if(!m){return}var x=this.parentPivotGrid;x.setElementPosition(m,-this.parentPivotGrid._offsetX,-this.parentPivotGrid._offsetY);var d=x._pivotRows;var A=x._pivotColumns;if(!this._refreshRequired&&(!d._isVirtualMode&&!A._isVirtualMode)){return}var o=d._getLeafItemsToRender();var g=A._getLeafItemsToRender();this._cellElements=this._cellElements||{};var e=new Array();var q=new Date();var s={first:d._isVirtualMode?o.first:0,last:d._isVirtualMode?o.last:o.items.length-1};var u={first:A._isVirtualMode?g.first:0,last:A._isVirtualMode?g.last:g.items.length-1};for(var y=s.last;y>=s.first;y--){for(var G=u.last;G>=u.first;G--){if(y==-1||G==-1){continue}var n=o.items[y];var l=g.items[G];var I=x.getCellId(l,n);var p=l.getDisplayWidth()-1;var F=n.getDisplayHeight()-1;var f=this.isCellSelected(n,l);var z=this._cellElements[I];var k=undefined;if(z&&z.isSelected==f){k=z.element}var v={left:4,top:4,right:4,bottom:4};var B=this.getCellValue(n,l);var j="";if(!k){k=x.createDiv(m,j,p,F);k.cellId=I;this._cellElements[I]={element:k,isSelected:f};x.setElementSize(k,p,F);var D="right";if(x.cellsRenderer&&a.isFunction(x.cellsRenderer)){j=x.cellsRenderer({value:B.value,formattedValue:B.formattedValue,isSelected:f,pivotRow:n,pivotColumn:l});v={left:0,top:0,right:0,bottom:0}}else{j=(B!==undefined&&B.formattedValue!==undefined)?B.formattedValue.toString():"";var C=this.parentPivotGrid.source.getCellFormatSettings(n.adapterItem,l.adapterItem);if(C){D=C.align||"right"}}this.parentPivotGrid.setDivContent(k,j,v,D);k.originalY=k.style.top;k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal")}else{if(k.style.width!=p+"px"||k.style.height!=F+"px"){this.parentPivotGrid.setElementSize(k,p,F)}}k.tRender=q;if(k.style.display!="block"){k.style.display="block"}if(k.style.left!=l.x+"px"||k.style.top!=n.y+"px"){this.parentPivotGrid.setElementPosition(k,l.x,n.y)}var b="cellsClassName";if(this.isCellSelected(n,l)){k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-selected jqx-fill-state-hover jqx-widget-content");b="cellsClassNameSelected"}else{k.className=this.parentPivotGrid.toThemeProperty("jqx-grid-cell-normal jqx-widget-content")}var H=a.jqx.getByPriority([n[b],(n.adapterItem&&n.adapterItem.boundField)?n.adapterItem.boundField[b]:undefined,l[b],(l.adapterItem&&l.adapterItem.boundField)?l.adapterItem.boundField[b]:undefined]);if(H){k.className+=" "+H}k.className+=" jqx-pivotgrid-content-wrapper"}}for(var E=0;E<m.childNodes.length;E++){if(m.childNodes[E].cellId&&m.childNodes[E].tRender!=q){e.push(m.childNodes[E])}}while(true){var k=e.pop();if(!k){break}else{delete this._cellElements[k.cellId];k.style.display="none";m.removeChild(k)}}this._refreshRequired=false},_beginSelectionUpdate:function(){for(var b in this._selectedCells){this._selectedCells[b].OldIsSelected=this._selectedCells[b].isSelected}},_endSelectionUpdate:function(){var d=new Array();for(var b in this._selectedCells){var c=this._selectedCells[b];if(!c.isSelected){d.push(b)}if(c.isSelected!=c.OldIsSelected){}}if(d.length>0){for(var b in d){delete this._selectedCells[d[b]]}}},_internalClearSelection:function(){for(var b in this._selectedCells){this._internalUnselectCell(this._selectedCells[b].pivotRow,this._selectedCells[b].pivotColumn)}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate();this.render()},selectCell:function(c,b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectCell(c,b);this.parentPivotGrid._cellKBRangeSelectionStart={pivotRow:c,pivotColumn:b,pivotCells:this};this.parentPivotGrid._cellKBRangeSelectionEnd={pivotRow:c,pivotColumn:b,pivotCells:this};this._endSelectionUpdate()},_internalSelectCell:function(d,c){if(c!=null&&this.parentPivotGrid._pivotColumns.isGroupingColumn(c)){return}if(this.parentPivotGrid._internalSelectMode=="NO_SELECT"){switch(this.parentPivotGrid.selectionMode){case"CELL_SELECT":this.parentPivotGrid._internalSelectMode="CELLS_SELECT";break;case"FULL_COLUMN_SELECT":this.parentPivotGrid._internalSelectMode="COL_SELECT";break;case"FULL_ROW_SELECT":this.parentPivotGrid._internalSelectMode="ROW_SELECT";break}}var b=this.parentPivotGrid.getCellId(c,d);delete this._cellElements[b];if(this._selectedCells[b]==undefined){this._selectedCells[b]={pivotRow:d,pivotColumn:c,isSelected:true}}else{this._selectedCells[b].isSelected=true}this._refreshRequired=true},unselectCell:function(c,b){this._beginSelectionUpdate();this._internalUnselectCell(c,b);this._endSelectionUpdate()},_internalUnselectCell:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(this._selectedCells[b]!=undefined){this._selectedCells[b].isSelected=false}delete this._cellElements[b];this._refreshRequired=true},isCellSelected:function(d,c){var b=this.parentPivotGrid.getCellId(c,d);if(c.isSelected||d.isSelected){return true}return this._selectedCells[b]!=undefined&&this._selectedCells[b].isSelected},getSelectedCellsCount:function(){return this._selectedCells.length},getSelectedCells:function(){var d=new Array();for(var c in this._selectedCells){var b=this._selectedCells[c];if(b.isSelected){d.push({pivotRow:b.pivotRow,pivotColumn:b.pivotColumn,pivotCells:this})}}return d},getNextCell:function(c,b){var e={};switch(b){case"left":e={x:c.pivotColumn.x-1,y:c.pivotRow.y+1};break;case"right":e={x:c.pivotColumn.x+c.pivotColumn.getWidth()+1,y:c.pivotRow.y+1};break;case"top":e={x:c.pivotColumn.x+1,y:c.pivotRow.y-1};break;case"bottom":e={x:c.pivotColumn.x+1,y:c.pivotRow.y+c.pivotRow.getHeight()+1};break}var f={x:e.x+2*this.parentPivotGrid._pivotColumns.x-this.parentPivotGrid._pivotColumns.viewPort.x,y:e.y+2*this.parentPivotGrid._pivotRows.y-this.parentPivotGrid._pivotRows.viewPort.y};var d=this._hitTest(f);if(!d){return undefined}return d}})})(jqxBaseFramework);(function(a){a.jqx.jqxPivotGrid=a.jqx.jqxPivotGrid||{};a.jqx.jqxPivotGrid.pivotItem=function(c,b){this.text="Item";this.isExpanded=false;this.expandCollapseEnabled=true;this.isHidden=false;this.isFiltered=false;this.isSelected=false;this._height=26;this._width=18;this.isDirty=true;this.parentItem=c||null;this.hierarchy=b||c.hierarchy;this.parentPivotGrid=this.hierarchy.parentPivotGrid;this.id=this.parentPivotGrid.genId();this.itemLevel=0;this.itemColumn=0;this._itemOrdinal=NaN;this.x=0;this.y=0;this.hierarchyItemWidth=70;this.hierarchyItemHeight=26;this.widthWithChildrenCached=0;this.minimumWidth=18;this.maximumWidth=10000000;this.minimumHeight=8;this.maximumHeight=Infinity;this.items=new Array();this.valueItems=new Array()};a.extend(a.jqx.jqxPivotGrid.pivotItem.prototype,{_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},_calculateWidthWithChildren:function(){if(this.isHidden){this.widthWithChildrenCached=0;return}var d=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(d){this.widthWithChildrenCached=this.hierarchy.getColumnWidth(0);return}this.widthWithChildrenCached=this.getWidth();if(this.items!=null&&this.valueItems!=null){if(this.getVisibleItemsCount()>0||(!this.isColumn&&!d)){var c=0;if(!this.isColumn){var b=this.hierarchy.getMaxVisibleLevelDepth();for(var e=this.itemLevel;e<=b;e++){c+=this.hierarchy.getColumnWidth(e)}}else{c=0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){if((this.items[e]).isHidden){continue}c+=this.items[e].getWidthWithChildren()}}for(var e=0;e<this.valueItems.length;e++){if(this.valueItems[e].isHidden){continue}c+=this.valueItems[e].getWidthWithChildren()}}this.widthWithChildrenCached=c;return}}this.widthWithChildrenCached=this.getWidth();return},getWidthWithChildren:function(){if(this.hierarchy._renderRequired){this._calculateWidthWithChildren()}return this.widthWithChildrenCached},getDisplayWidth:function(){if(!this.isDirty&&!this.hierarchy._renderRequired){return this.displayWidth}var b=this.hasVisibleValueItems();if(this.isColumn){this.displayWidth=(this.isExpanded||b)?this.getWidthWithChildren():this.getWidth()}else{this.displayWidth=(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled)?this.getWidthWithChildren():this.getWidth();if(!this.isExpanded&&!b){this.displayWidth=this.hierarchy.getWidth()-this.x}}if(this.displayWidth<18){this.displayWidth=18}return this.displayWidth},getWidth:function(){if(this.isHidden||this.isFiltered){return 0}if(null==this.hierarchy){return 0}var d=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){d=0}var c=this.minimumWidth;if(!this.isColumn){c=this.hierarchy.getColumnWidth(d)}else{c=this.hierarchyItemWidth;if(this.parentItem){var b=this.parentItem.getWidth();if(b>c&&b>this.parentItem.widthWithChildrenCached){}}}return c},_measureElement:function(f){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+f+"</span>");a(document.body).append(c);var d=this.hierarchy.sortable?16:0;var e=4;var b={width:c.width()+d+2*e,height:c.height()+2*e};c.remove();return b},autoResize:function(b){if(!b){b="fitItemContent"}if(this.isColumn){this.setWidth(this.minimumWidth)}else{this.setHeight(this.minimumHeight)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){this._autoResizeBestItemContent(b)}if(b=="default"||b=="fitAll"||b=="fitItemContent"){if(this.isColumn&&this.parentItem!=null&&this.getWidth()<this.parentItem.getWidth()){this.setWidth(this.parentItem.getWidth())}}},_autoResizeBestItemContent:function(b){this._updateVisibleChildItemsCount();var e=this._measureElement(this.text);if(b=="default"&&this.adapterItem.boundField){if(!isNaN(this.adapterItem.boundField.width)){e.width=this.adapterItem.boundField.width}if(!isNaN(this.adapterItem.boundField.height)){e.height=this.adapterItem.boundField.height}}if(this.itemColumn>=this.hierarchy._getColumnsCount()){this.hierarchy._updateColumnsCount()}if(this._visibleChildItemsCount>0){e.width+=30}if(this.getWidth()<e.width||(b=="default"&&this.adapterItem.boundField&&!isNaN(this.adapterItem.boundField.width))){this.setWidth(e.width)}if(!this.isColumn){if(this.getHeight()<e.height){this.setHeight(e.height)}}else{var d=this.parentPivotGrid._pivotColumns.getHeight();if(d<e.height){this.parentPivotGrid._pivotColumns.setRowHeight(this,e.height)}}for(var c in this.items){this.items[c]._autoResizeBestItemContent(b)}for(var c in this.valueItems){this.valueItems[c]._autoResizeBestItemContent(b)}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_autoResizeBestCellFit:function(d){if(this.hierarchy!=null&&this.hierarchy._renderRequired){this.hierarchy.render()}if(this.hierarchy!=null&&this.hierarchy.ColumnsCountRequresUpdate){this.hierarchy._updateColumnsCount()}if(this.items.length==0&&this.valueItems.length==0){if(this.hierarchy!=null&&this.parentPivotGrid!=null&&this.parentPivotGrid._pivotCells!=null&&this.parentPivotGrid._pivotRows!=null&&this.parentPivotGrid._pivotColumns!=null){var c={width:1,height:1};var e=this.isColumn?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var g=this._getVisibleLeafLevelItems();for(var f in g){var i=!(g[f].isColumn)?g[f]:this;var b=g[f].isColumn?g[f]:this;var h={width:10,height:10};if(c.width<h.width){c.width=h.width}if(c.height<h.height){c.height=h.height}}if(this.width<c.width){this.setWidth(c.width)}if(!this.isColumn&&this.getHeight()<c.height){this.setHeight(c.height)}}}else{for(var f in this.items){this.items[f]._autoResizeBestCellFit(d)}for(var f in this.valueItems){this.valueItems[f]._autoResizeBestCellFit(d)}}if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},setWidth:function(c){if(c<0){throw new Exception("Invalid pivotItem Width value. The value must greater than 0")}if(null==this.hierarchy){return}var b=this.itemColumn;if(!this.hierarchy.isColumnsHierarchy&&this.hierarchy.compactStyleRenderingEnabled){b=0}if(this.hierarchy._getColumnsCount()<b){this.hierarchy._updateColumnsCount()}if(c<this.minimumWidth){c=this.minimumWidth}if(c>this.maximumWidth){c=this.maximumWidth}if(this.isColumn){this.hierarchyItemWidth=c}else{this.hierarchy.setColumnWidth(b,c)}this.hierarchy._renderRequired=true},getHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight},setHeight:function(b){if(b<0||b>10000){throw new Exception("Invalid pivotItem Height value. The value must be between 0 and 10000")}if(b<this.minimumHeight){b=this.minimumHeight}if(b>this.maximumHeight){b=this.maximumHeight}this.hierarchyItemHeight=b;if(this.hierarchy!=null){this.hierarchy._renderRequired=true}},_calculateHeightWithChildren:function(){if(this.isHidden||this.isFiltered){this.heightWithChildren=0;return}var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);if(this.isExpanded||this.hasVisibleValueItems()){var b=0;if(this.isColumn){b=this.hierarchyItemHeight;var f=0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){var e=this.items[d].getHeightWithChildren();if(f<e){f=e}}}for(var d=0;d<this.valueItems.length;d++){var e=this.valueItems[d].getHeightWithChildren();if(f<e){f=e}}if(f>0){b+=f}}else{b=c?this.getHeight():0;if(this.isExpanded){for(var d=0;d<this.items.length;d++){if(this.items[d].isHidden||this.items[d].isFiltered){continue}b+=this.items[d].getHeightWithChildren()}}for(var d=0;d<this.valueItems.length;d++){if(this.valueItems[d].isHidden||this.valueItems[d].isFiltered){continue}b+=this.valueItems[d].getHeightWithChildren()}}this.heightWithChildren=b}else{this.heightWithChildren=this.hierarchyItemHeight}if(this.IsRowDetailsVisible){this.heightWithChildren+=this.RowDetailsHeight}return},getHeightWithChildren:function(){if(this.hierarchy._renderRequired||this.isDirty){this._calculateHeightWithChildren()}return this.heightWithChildren},getDisplayHeight:function(){var c=this.hasVisibleValueItems();var b=0;if(this.isColumn){b=(this.isExpanded||c)?this.getTotalHeight():this.hierarchy.getHeight()-this.y}else{if(this.hierarchy.compactStyleRenderingEnabled){b=this.getHeight();if(this.IsRowDetailsVisible){b+=this.RowDetailsHeight}}else{b=this.getHeightWithChildren()}}if(b<this.minimumHeight){b=this.minimumHeight}return b},getTotalHeight:function(){if(this.isHidden||this.isFiltered){return 0}return this.hierarchyItemHeight+((this.IsRowDetailsVisible)?this.RowDetailsHeight:0)},ensureVisible:function(){var c=this;if(c.isVisible()){return}var e=c.hierarchy.parentPivotGrid.host;if(c.isColumn){var b=e.find("#divHScroll");if(c.x+c.getWidth()>c.hierarchy.viewPort.width){b.val(c.x+c.getWidth()-c.hierarchy.viewPort.width)}else{b.val(c.x)}}else{var d=e.find("#divVScroll");if(c.y+c.getHeight()>c.hierarchy.viewPort.height){d.val(c.y+c.getHeight()-c.hierarchy.viewPort.height)}else{d.val(c.y)}}},isVisible:function(){if(this.isHidden){return false}if(this.y<this.hierarchy.viewPort.y-this.hierarchy.y||this.y+this.getDisplayHeight()>this.hierarchy.viewPort.y-this.hierarchy.y+this.hierarchy.viewPort.height||this.x<this.hierarchy.viewPort.x-this.hierarchy.x||this.x+this.getDisplayWidth()>this.hierarchy.viewPort.x-this.hierarchy.x+this.hierarchy.viewPort.width){return false}return true},_updateVisibleChildItemsCount:function(){var c=0;for(var b=0;b<this.items.length;b++){if(this.items[b].isHidden||this.items[b].isFiltered){continue}c++}this._visibleChildItemsCount=c},render:function(h,g){this._updateVisibleChildItemsCount();var k=-1;var b=-1;if(this.isHidden||this.isFiltered){return true}this.x=h;this.y=g;var c=(!this.isColumn&&this.hierarchy.compactStyleRenderingEnabled);var d=c?this.getTotalHeight():0;if(this.isExpanded){for(var e=0;e<this.items.length;e++){var j=this.items[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}}for(var e=0;e<this.valueItems.length;e++){var j=this.valueItems[e];if(j.isHidden||j.isFiltered){continue}if(!this.isColumn){var f=h;f+=c?0:this.getWidth();if(!j.render(f,this.y+d)){break}d+=j.getHeightWithChildren()}else{if(!j.render(this.x+d,g+this.getTotalHeight())){break}d+=j.getWidthWithChildren()}}this._calculateWidthWithChildren();this._calculateHeightWithChildren();return true},_getChildItemsDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d+1},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},hasVisibleValueItems:function(){for(var b=0;b<this.valueItems.length;b++){var c=this.valueItems[b];if(false==c.isHidden&&false==c.isFiltered){return true}}return false},getVisibleItemsCount:function(){if(this.isHidden||this.isFiltered){return 0}var c=0;if((!this.isExpanded||this.items.length==0)&&this.valueItems.length==0){return c}else{c=0;for(var b=0;b<this.items.length;b++){if(!this.items[b].isHidden&&!this.items[b].isFiltered){c++}}for(var b=0;b<this.valueItems.length;b++){if(!this.valueItems[b].isHidden&&!this.valueItems[b].isFiltered){c++}}}return c},hitTest:function(b){if(this.isHidden||this.isFiltered){return null}var d=this.getDisplayHeight()+1;var c=this.getDisplayWidth()+1;if(b.x>=this.x&&b.x<=this.x+c&&b.y>=this.y&&b.y<=this.y+d){return this}return null},_expandInternal:function(b,f,g){if(this.items.length==0){return}if(!this.expandCollapseEnabled){return}if(this.isExpanded==b){return}var e=new a.Event(this.isExpanded?"pivotitemcollapsing":"pivotitemexpanding");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};e.cancel=false;var d=this.hierarchy.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this.isExpanded=b;if(this.items.length==0&&this.valueItems.length==0){return}if(g){for(var c=0;c<this.items.length;c++){this.items[c]._expandInternal(b,f,g)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c]._expandInternal(b,f,g)}}this.hierarchy._renderRequired=true;if(f){this.hierarchy._updateVisibleLeaves()}var e=new a.Event(this.isExpanded?"pivotitemexpanded":"pivotitemcollapsed");e.owner=this.hierarchy.parentPivotGrid;e.args={pivotItem:this};d.trigger(e)},expand:function(){this._expandInternal(true,true,false)},collapse:function(){this._expandInternal(false,true,false)},_getFirstVisibleLeaf:function(c){if(c.isExpanded){var d=false;for(var b=0;b<c.items.length;b++){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}if(c.hasVisibleValueItems){var d=false;for(var b=0;b<c.valueItems.length;b++){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getFirstVisibleLeaf(c);d=true;break}}if(d){return c}}return c},_getLastVisibleLeaf:function(c){var d=false;for(var b=c.valueItems.length-1;b>=0;b--){if(c.valueItems[b].isHidden==false&&c.valueItems[b].isFiltered==false){c=c.valueItems[b];c=this._getLastVisibleLeaf(c);d=true;break}}if(d){return c}for(var b=c.items.length-1;b>=0&&c.isExpanded;b--){if(c.items[b].isHidden==false&&c.items[b].isFiltered==false){c=c.items[b];c=this._getLastVisibleLeaf(c);break}}return c}});a.jqx.jqxPivotGrid.hierarchy=function(){this.parentPivotGrid=arguments[0];this._initDefaults()};a.extend(a.jqx.jqxPivotGrid.hierarchy.prototype,{_initDefaults:function(){this.columnWidths=new Array();this.rowHeights=new Array();this.items=new Array();this.valueItems=new Array();this.visibleLeafItems=new Array();this.viewPort=new Object();this.viewPort.x=0;this.viewPort.y=0;this.viewPort.width=10000;this.viewPort.height=10000;this.isFixed=false;this.isHidden=false;this.resizable=true;this.sortable=true;this._renderRequired=true;this.maxVisibleLevelDepth=-1;this.showExpandCollapseButtons=true;this.x=0;this.y=0;this._width=0;this._height=0;this.minColumnWidth=18;this._isColumnsCountRequresUpdate=true;this._selectedItems=new Object();this.virtualModeThreshold=5000;this._isVirtualMode=true},isVisible:function(){return !this.isHidden},toggle:function(){if(this.isHidden){this.show()}else{this.hide()}},getOtherHierarchy:function(){return(this.isColumnsHierarchy)?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns},show:function(){this.isHidden=false;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},hide:function(){this.isHidden=true;this._renderRequired=true;this.getOtherHierarchy()._renderRequired=true},refresh:function(){var j=this.parentPivotGrid;var b=j.toThemeProperty("jqx-widget-content jqx-fill-state-pressed jqx-widget-header");var r=j.toThemeProperty("jqx-widget-content jqx-fill-state-normal jqx-widget-header");var k=a.jqx.get(this,"renderCanvas");var p=this._renderRequired||this._refreshRequired;if(!p){return}if(this._renderRequired){this.render()}if(this.isHidden){return}var d=new Array();var s=new Date();var x=this._getItemsToRender();if(!x){return}for(var A=0;A<x.length;A++){var F=x[A];var q=F.getDisplayWidth()-1;var B=F.getDisplayHeight()-1;var v=F._element;if(a.isFunction(j.itemsRenderer)){var n=j.itemsRenderer(F);if(v&&F._currentCustomContent!=n){k.removeChild(v);v=F._element=null}F._currentCustomContent=n}if(!v){var u={left:4,top:4,right:4,bottom:4};if(!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled){u.left+=F.itemLevel*this.compactStyleRenderingItemsIndent}var I=F.text;var m="left";if(a.isFunction(j.itemsRenderer)){I=F._currentCustomContent;u={left:0,top:0,right:0,bottom:0}}else{var g="";if(F.items.length!=0&&F.hierarchy.showExpandCollapseButtons){if(F.isExpanded){g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-collapse-button'></div>"}else{g="<div style='position: relative; top: 3px; padding: 5px; width: 11px; height: 11px;' class='jqx-pivotgrid-expand-button'></div>"}}var G="";if(F.hierarchy._sortItem==F){var z=F.hierarchy._sortOrder=="desc"?"sortdesc jqx-grid-column-sortdescbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-down"):"sortasc jqx-grid-column-sortascbutton "+this.parentPivotGrid.toThemeProperty("jqx-icon-arrow-up");G="<div id='sortElement' class='"+z+"' style='position: relative; float: right; padding-right: 8px; width: 16px; height: 100%;'></div>"}var y=F.text;if(F.adapterItem.boundField){m=F.adapterItem.boundField.align||"left"}m=m.toString().toLowerCase();if(m!="center"&&m!="right"){m="left"}if(G!=""){var l=0;var o=24;if(g!=""){l=23;o+=l}I=g+"<div><div style='left: "+l+"px; top: 0; position: absolute; height: 100%; width: calc(100% - "+o+"px); text-overflow: ellipsis; overflow: hidden;  white-space: nowrap;padding-left:"+u.left+"px; padding-top:"+u.top+"px; '>"+y+"</div><div style='left: 0; top: 0; position: absolute; height: 100%; width: 100%;'>"+G+"</div></div>"}else{I=g+y+G}}v=j.createDiv(k,"",q,B);j.setDivContent(v,I,u,m,true);var J=this.parentPivotGrid.getChild(v,"innerDiv");J.className="jqx-pivotgrid-item";j.setElementPosition(v,F.x,F.y);v.originalY=v.style.top}F.tRender=s;var f=F.isSelected?b:r;var c=F.isSelected?"classNameSelected":"className";var H=a.jqx.getByPriority([F[c],(F.adapterItem&&F.adapterItem.boundField)?F.adapterItem.boundField[c]:undefined,this.hierarchy?this.hierarchy[c]:undefined]);if(H){f+=" "+H}f+=" jqx-pivotgrid-content-wrapper";if(f!=v.className){v.className=f}v.style.display="block";v.item=F;F._element=v}for(var A=0;A<k.childNodes.length;A++){if(k.childNodes[A].item&&k.childNodes[A].item.tRender!=s){d.push(k.childNodes[A])}}var E=100;while(true){var e=d.pop();if(!e){break}else{if(k.childNodes.length>E){e.item._element=undefined;k.removeChild(e)}else{e.item._element.style.display="none"}}}var C=!this.isColumnsHierarchy?-j._offsetY:0;var D=this.isColumnsHierarchy?-j._offsetX:0;j.setElementPosition(k,D,C);this._refreshRequired=false},clear:function(){this._initDefaults();this._resetCanvas();this.items=[];this.valueItems=[];this._renderRequired=true},_resetCanvas:function(){var b=a.jqx.get(this,"renderCanvas");if(!b){return}while(b.hasChildNodes()){b.firstChild.item._element=undefined;b.removeChild(b.firstChild)}},autoResize:function(b){for(var c=0;c<this.items.length;c++){this.items[c].autoResize(b)}for(var c=0;c<this.valueItems.length;c++){this.valueItems[c].autoResize(b)}},getMaxVisibleLevelDepth:function(){if(this.maxVisibleLevelDepth==-1||this._renderRequired){var c=this._getVisibleLeafLevelItems();this.maxVisibleLevelDepth=0;for(var b=0;b<c.length;b++){if(c[b].itemLevel>this.maxVisibleLevelDepth){this.maxVisibleLevelDepth=c[b].itemLevel}}}return this.maxVisibleLevelDepth},getHierarchyDepth:function(){var d=0;for(var c=0;c<this.items.length;c++){var b=this.items[c]._getChildItemsDepth();if(b>d){d=b}}for(var c=0;c<this.valueItems.length;c++){var b=this.valueItems[c]._getChildItemsDepth();if(b>d){d=b}}return d},getSortItem:function(){return this._sortItem},getSortOrder:function(){return this._sortOrder},_fnAscSortComparer:function(c,b){var h=c.hierarchy.parentPivotGrid;var e=c.isColumn?h._pivotRows:h._pivotColumns;var i=e._sortItem;if(!i){return 0}if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}var g=h._pivotCells;var f=c.isColumn?g.getCellValue(i,c):g.getCellValue(c,i);var d=b.isColumn?g.getCellValue(i,b):g.getCellValue(b,i);return f.value-d.value},_fnDescSortComparer:function(c,b){if(c.adapterItem&&c.adapterItem.isTotal){return 1}if(b.adapterItem&&b.adapterItem.isTotal){return -1}return -1*a.jqx.jqxPivotGrid.hierarchy.prototype._fnAscSortComparer(c,b)},_collectionSort:function(f,c,b){if(!this.parentPivotGrid||!this.parentPivotGrid._pivotCells){return}var e=!this.isColumnsHierarchy?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;if(!f){f=this.items}if(!c){c=e._sortOrder=="asc"?this._fnAscSortComparer:this._fnDescSortComparer}if(this._isSorted&&!b){this._collectionRemoveSort(f)}for(var d=0;d<f.length;d++){f[d]._itemOrdinal=d;this._collectionSort(f[d].items,c,true)}f=f.sort(c);if(!b){this._isSorted=true;this._renderRequired=true;e._renderRequired=true;this._updateVisibleLeaves()}},_collectionRemoveSort:function(f,c){if(!this._isSorted){return}if(!f){f=this.items}var b=new Array(f.length);for(var d=0;d<f.length;d++){b[f[d]._itemOrdinal]=f[d];this._collectionRemoveSort(f[d].items,true)}this.items=b;if(!c){this._renderRequired=true;this._updateVisibleLeaves();if(this.isColumnsHierarchy){this._isColumnsCountRequresUpdate=true}this._isSorted=false;var e=this.isColumnsHierarchy?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;e._sortItem=undefined;e._sortOrder=undefined;e._renderRequired=true}},sortBy:function(f,c){if(!f||f.isColumn==this.isColumnsHierarchy||f.valueItems.length>0){return}var e=new a.Event("sortchanging");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);var b=f.isColumn?this.parentPivotGrid._pivotColumns:this.parentPivotGrid._pivotRows;b._sortItem=f;b._sortOrder=c;this._collectionSort();this.parentPivotGrid._internalRefresh();e=new a.Event("sortchanged");e.owner=this.parentPivotGrid;e.args={pivotItem:f,sortOrder:c};var d=this.parentPivotGrid.host;d.trigger(e)},removeSort:function(){var f=this==this.parentPivotGrid._pivotColumns?this.parentPivotGrid._pivotRows:this.parentPivotGrid._pivotColumns;var b=f._sortItem;var c=f._sortOrder;var e=new a.Event("sortremoving");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};e.cancel=false;var d=this.parentPivotGrid.host;d.trigger(e);if(e.cancel){return}this._collectionRemoveSort(this.items);this.parentPivotGrid._internalRefresh();e=new a.Event("sortremoved");e.owner=this.parentPivotGrid;e.args={pivotItem:b,sortOrder:c};d.trigger(e)},_binSearchItems:function(c,b){return this._binSearchItems2(c,b,0,c.length)},_binSearchItems2:function(g,i,f,j){var d=f;var e=j;if(e==d){return -1}var b=g[0].isColumn;while(d<e){var h=parseInt((d+e)/2);var c=g[h];if(b){if(c.x>i.x){e=h}else{if((h+1<e?g[h+1].x:c.x+c.getWidth())<i.x){d=h+1}else{return h}}}else{if(c.y>i.y){e=h}else{if((h+1<e?g[h+1].y:c.y+c.getTotalHeight())<i.y){d=h+1}else{return h}}}}return -1},_pointToLeafItemIndex:function(b){if(this._renderRequired){this.render()}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;var d=this._getVisibleLeafLevelItems();var e=this._binSearchItems(d,c);return e},_pointToLeafItem:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndex(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointToLeafItemIndexAbsolute:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var g=this.viewPort.y-this.y;var d={x:c.x,y:c.y};d.x-=this.x-(this.viewPort.x-this.x);d.y-=this.y-(this.viewPort.y-this.y);var e=this._getVisibleLeafLevelItems();var f=this._binSearchItems(e,d);return f},_pointToLeafItemAbsolute:function(b){var c=this._getVisibleLeafLevelItems();var d=this._pointToLeafItemIndexAbsolute(b);if(d==-1||d<0||d>=c.length){return null}c[d].lfIdx=d;return c[d]},_pointInRect:function(b,c){if(b.x>=c.x&&b.x<=c.x+c.width&&b.y>=c.y&&b.y<=c.y+c.height){return true}return false},hitTest:function(c){if(this._renderRequired){this.render()}var b=this.viewPort.x-this.x;var i=this.viewPort.y-this.y;if(!this._pointInRect({x:c.x+b,y:c.y+i},this.viewPort)||this.isHidden){return null}var e={x:c.x,y:c.y};e.x-=this.x-(this.viewPort.x-this.x);e.y-=this.y-(this.viewPort.y-this.y);var f=this._getVisibleLeafLevelItems();var h=this._binSearchItems(f,e);if(h==-1){return null}else{var d=f[h];var g=d.hitTest(e);if(g!=null){return g}while(d!=null){d=d.parentItem;if(d!=null){g=d.hitTest(e);if(g!=null){return g}}}}return null},_addColumn:function(b){if(b<this.minColumnWidth){b=this.minColumnWidth}this.columnWidths.push(b);return this.columnWidths.length-1},setColumnWidth:function(c,b){if(c>=this.columnWidths.length){this._updateColumnsCount(c+1)}if(b<this.minColumnWidth){b=this.minColumnWidth}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},getColumnWidth:function(b){if(b>=this.columnWidths.length){return 70}return this.columnWidths[b]},_getVisibleLeaves:function(g,f,c){if(f.isHidden||f.isFiltered){return true}if(f.items.length==0&&f.valueItems.length==0){g.push(f);return true}if(c){g.push(f)}if(f.isExpanded){for(var e=0;e<f.items.length;e++){var d=f.items[e];if(d.isHidden||d.isFiltered){continue}if((f.items.length>0&&d.isExpanded)||d.hasVisibleValueItems()){this._getVisibleLeaves(g,d,c)}else{g.push(d)}}}for(var e=0;e<f.valueItems.length;e++){var b=f.valueItems[e];if(b.isHidden||b.isFiltered){continue}g.push(b)}return true},_getVisibleLeafLevelItems:function(){if(this.visibleLeafItems.length==0){this._updateVisibleLeaves()}return this.visibleLeafItems},_updateVisibleLeaves:function(){this.visibleLeafItems=new Array();if(this.items.length+this.valueItems.length==0){return}var b=!this.isColumnsHierarchy&&this.compactStyleRenderingEnabled;for(var c=0;c<this.items.length;c++){var d=this.items[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.valueItems.length;c++){var d=this.valueItems[c];if(d.isHidden||d.isFiltered){continue}if(d.isExpanded||d.hasVisibleValueItems()){this._getVisibleLeaves(this.visibleLeafItems,d,b)}else{this.visibleLeafItems.push(d)}}for(var c=0;c<this.visibleLeafItems.length;c++){this.visibleLeafItems[c]._lfIndex=c}this._updateItemsLevelAndColumn()},_getFirstLeafIndexToRender:function(){var b={x:this.x,y:this.y};var c={x:b.x,y:b.y};c.x-=this.x-(this.viewPort.x-this.x);c.y-=this.y-(this.viewPort.y-this.y);var d=this._binSearchItems(this._getVisibleLeafLevelItems(),c);return d},_getLastLeafIndexToRender:function(){var c={x:Math.min(this.viewPort.width,this.getWidth())-5,y:Math.min(this.viewPort.height,this.getHeight())-5};var b=this._pointToLeafItemIndex(c);return b},_getLeafItemsToRender:function(){var b={};b.items=this._getVisibleLeafLevelItems();b.first=this._getFirstLeafIndexToRender();b.last=this._getLastLeafIndexToRender();return b},_getItemsToRender:function(){var g=this._getLeafItemsToRender();var j=g.first;var e=g.last;if(j==-1||e==-1){return}var c={};for(b=j;b<=e;b++){var d=g.items[b];c[d.id]=d;while(d.parentItem!=null){d=d.parentItem;c[d.id]=d}}var f=new Array();for(var b in c){f.push(c[b])}return f},_updateItemsLevelAndColumn2:function(c,d){c.itemColumn=d;c.itemLevel=d;for(var b=0;b<c.items.length;b++){this._updateItemsLevelAndColumn2(c.items[b],d+1)}for(var b=0;b<c.valueItems.length;b++){this._updateItemsLevelAndColumn2(c.valueItems[b],d+1)}},_updateItemsLevelAndColumn:function(){for(var b=0;b<this.items.length;b++){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b=0;b<this.valueItems.length;b++){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},updateColumnsCount:function(){this.updateColumnsCount(0)},getTotalItemsCount:function(){var c=0;if(this.items.length==0&&this.valueItems.length==0){c=1}else{for(var b=0;b<this.items.length;b++){c+=this.items[b].getTotalItemsCount()}for(var b=0;b<this.valueItems.length;b++){c+=this.valueItems[b].getTotalItemsCount()}}return c},_updateColumnsCount:function(c){var f=this._getColumnsCount();var b=this.getTotalItemsCount();if(c>1024){c=1024}if(this.isColumnsHierarchy){if(c>b){b=c}}else{var e=this.getHierarchyDepth();b=c>e?c:e}for(var d=f;d<b;d++){this._addColumn(70)}this._isColumnsCountRequresUpdate=false},_updateColumnsIndexes:function(){for(var b in this.items){this._updateItemsLevelAndColumn2(this.items[b],0)}for(var b in this.valueItems){this._updateItemsLevelAndColumn2(this.valueItems[b],0)}},_getColumnsCount:function(){return this.columnWidths.length},_getRenderedItems:function(){var b=new Array();this._getChildItemsToRender(b);return b},_getChildItemsToRender:function(d){for(var b=0;b<this.items.length;b++){var c=this.items[b];if(c.isHidden||c.isFiltered){continue}d.push(c);if(c.isExpanded){c._getChildItemsToRender(d)}}},getWidth:function(){if(this._renderRequired){this.render()}return this._width},getHeight:function(){if(this._renderRequired){this.render()}return this._height},_beginSelectionUpdate:function(){for(var b in this._selectedItems){this._selectedItems[b].OldIsSelected=this._selectedItems[b].isSelected}},_endSelectionUpdate:function(){var f=new Array();for(var b in this._selectedItems){var e=this._selectedItems[b];if(!e.isSelected){f.push(this._selectedItems[b])}if(e.isSelected!=e.OldIsSelected&&(e.parentItem==null||e.parentItem.isExpanded==true||e._isValueItem)){var d=new a.Event("pivotitemselectionchanged");d.owner=this.parentPivotGrid;d.args={pivotItem:e,selected:e.isSelected};this.parentPivotGrid.host.trigger(d)}}for(var b in f){var c=this._selectedItems[f[b].adapterItem.key];c.isSelected=c.OldIsSelected=false;delete this._selectedItems[f[b].adapterItem.key]}},selectItem:function(b){if(!this.parentPivotGrid.selectionEnabled){return}this._beginSelectionUpdate();this._internalSelectItem(b);this._endSelectionUpdate()},_internalSelectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}if(this.isColumnsHierarchy&&this.isGroupingColumn(d)){return}var c=d.adapterItem.key;if(this._selectedItems[c]==undefined){this._selectedItems[c]=d}d.isSelected=true;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalSelectItem(d.items[b])}for(var b in d.valueItems){this._internalSelectItem(d.valueItems[b])}},unselectItem:function(b){this._beginSelectionUpdate();this._internalUnselectItem(b);this._endSelectionUpdate()},_internalUnselectItem:function(d){if(null==d){return}if(d.isColumn!=this.isColumnsHierarchy){return}var c=d.adapterItem.key;if(this._selectedItems[c]){this._selectedItems[c].isSelected=false;this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true}if(!this.isColumnsHierarchy&&d.hierarchy.compactStyleRenderingEnabled){return}for(var b in d.items){this._internalUnselectItem(d.items[b])}for(var b in d.valueItems){this._internalUnselectItem(d.valueItems[b])}},_internalClearSelection:function(){for(var b in this._selectedItems){this._internalUnselectItem(this._selectedItems[b])}},clearSelection:function(){this._beginSelectionUpdate();this._internalClearSelection();this._endSelectionUpdate()},_applySelectionToParentItem:function(h){var c=h.parentItem;if(c==undefined||c==null){return}var d=h.hierarchy;var b=true;if(c.isExpanded){for(var g in c.items){var f=c.items[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){for(var g in c.valueItems){var f=c.valueItems[g];if(false==f.isSelected&&f.isHidden==false){b=false;break}}}if(b){var e=c.adapterItem.key;if(d._selectedItems[e]==undefined){d._selectedItems[e]=c}c.isSelected=true;this._applySelectionToParentItem(c)}},_applySelectionToParentItems:function(){for(var b in this._selectedItems){this._applySelectionToParentItem(this._selectedItems[b])}},getSelectedItems:function(){var c=new Array();for(var b in this._selectedItems){if(this._selectedItems[b].isSelected){c.push(b)}}return c}});a.jqx.jqxPivotGrid.pivotRows=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=false;this.compactStyleRenderingEnabled=false;this.compactStyleRenderingItemsIndent=20};a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotRows.prototype,{setColumnWidth:function(c,b){if(c>=this.columnWidths.Count){this._updateColumnsCount(c+1)}if(this.compactStyleRenderingEnabled){c=0}if(c<this.columnWidths.length){this.columnWidths[c]=b}this._renderRequired=true;return true},updateBounds:function(){var b=0;var g=0;for(var l=0;l<2;l++){var k=(l==0)?this.items:this.valueItems;for(var e=0;e<k.length;e++){var j=k[e];if(j.isHidden){continue}var f=j.getHeightWithChildren();b+=f;var d=j.getWidthWithChildren();if(g<d){g=d}}}this._width=g;this._height=b+1},render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this.isRendering=true;if(this._isColumnsCountRequresUpdate){this._updateColumnsCount()}while(this._getColumnsCount()<this.getHierarchyDepth()){a.jqx.get(this,"columnWidths").push(70)}this._updateVisibleLeaves();if(this.compactStyleRenderingEnabled){if(this.columnWidths.Count==0){this._addColumn(70)}var e=this.columnWidths[0];var k=this.getHierarchyDepth();if(e<k*(this.compactStyleRenderingItemsIndent)){e=k*(this.compactStyleRenderingItemsIndent)}this.columnWidths[0]=e}this.updateBounds();var l=0;if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this.isRendering=false;this._renderRequired=false;return}for(var c=0;c<2;c++){var g=(c==0)?this.items:this.valueItems;for(var b=0;b<g.length;b++){var f=g[b];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var d=f.getHeightWithChildren();if(f.itemLevel<this.columnWidths.length&&f.getWidth()>this.columnWidths[f.itemLevel]){this.columnWidths[f.itemLevel]=f.getWidth()}if(!f.render(0,l)){break}l+=d}}this.updateBounds();if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._resetCanvas();this._renderRequired=false;this.isRendering=false},isOnRowDetails:function(b,d){if(!d.RowDetailsVisible){return false}var c={x:b.x,y:b.y};c.x+=-this.x+this.viewPort.x;c.y+=-this.y+this.viewPort.y;if(c.y<d.y+d.getDisplayHeight()&&c.y>d.y+d.getDisplayHeight()-d.RowDetailsHeight){return true}return false}});a.jqx.jqxPivotGrid.pivotColumns=function(b){a.extend(this,new a.jqx.jqxPivotGrid.hierarchy);this.parentPivotGrid=b;this.isColumnsHierarchy=true};a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,a.jqx.jqxPivotGrid.hierarchy.prototype);a.extend(a.jqx.jqxPivotGrid.pivotColumns.prototype,{render:function(){if(this._renderSuppressed){return}this._refreshRequired=true;this.parentPivotGrid._pivotCells._refreshRequired=true;this._updateVisibleLeaves();this._updateColumnsIndexes();if(this.items.length+this.valueItems.length==0){if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();return}var b=0;for(var e=0;e<2;e++){var g=(e==0)?this.items:this.valueItems;for(var d=0;d<g.length;d++){var f=g[d];if(f.hierarchy==null){f.hierarchy=this}if(f.isHidden){continue}var c=f.getWidthWithChildren();if(!f.render(b,0)){break}b+=c}}this._renderRequired=false;if(this.parentPivotGrid!=null){this.parentPivotGrid.isSyncScrollRequired=true}this._updateVisibleLeaves();this.updateBounds();this._resetCanvas()},updateBounds:function(){var b=0;var f=0;for(var d=0;d<2;d++){var k=(d==0)?this.items:this.valueItems;for(var c=0;c<k.length;c++){var g=k[c];var e=g.getHeightWithChildren();if(b<e){b=e}f+=g.getWidthWithChildren()}}this._height=b;this._width=f+1},_updateColumnsIndexes:function(){var e=this.visibleLeafItems.length;for(var c=--e;c>=0;c--){var d=this.visibleLeafItems[c];d.itemColumn=c;var b=d.parentItem;while(b!=null){if(b.hierarchy!=d.hierarchy){b=null}else{b.itemColumn=c;d=b;b=d.parentItem}}}},setRowHeight:function(c,b){if(b<15||b>500){return false}c.hierarchyItemHeight=b;this._renderRequired=true;return true},isGroupingColumn:function(b){if(b==null){return false}if(this.parentPivotGrid==null){return false}if(b.ItemIndex<this.parentPivotGrid.groupingColumns.length&&this.parentPivotGrid.isGroupingEnabled){return true}return false}})})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxPivotGrid.prototype,{_handleKeyboardNavigation:function(b){if(this._internalSelectMode=="CELLS_SELECT"){return this._handleCellsKeyboardNavigation(b)}else{if(this._internalSelectMode=="ROW_SELECT"||this._internalSelectMode=="COL_SELECT"){}}return false},_handleCellsKeyboardNavigation:function(e){var k=this._cellKBRangeSelectionEnd;var f=undefined;var m=this;if(!k){return false}if(e.keyCode==37){f=this._pivotCells.getNextCell(k,"left")}if(e.keyCode==38){f=this._pivotCells.getNextCell(k,"top")}else{if(e.keyCode==39){f=this._pivotCells.getNextCell(k,"right")}else{if(e.keyCode==40){f=this._pivotCells.getNextCell(k,"bottom")}}}if(f!=null){this._pivotRows._refreshRequired=true;this._pivotColumns._refreshRequired=true;this._pivotCells._refreshRequired=true;this._colItemRangeSelectionBeg=f.pivotColumn;this._rowItemRangeSelectionBeg=f.pivotRow;this._beginSelectionUpdate();if(!this._isCTRLPressed||false==this.multipleSelectionEnabled){this._internalClearSelection()}this._pivotCells._internalSelectCell(this._rowItemRangeSelectionBeg,this._colItemRangeSelectionBeg);this._cellKBRangeSelectionEnd={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells};if(!this._cellKBRangeSelectionStart||!this._isSHIFTPressed){this._cellKBRangeSelectionStart={pivotRow:this._rowItemRangeSelectionBeg,pivotColumn:this._colItemRangeSelectionBeg,pivotCells:this._pivotCells}}var l=Math.min(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var h=Math.max(this._cellKBRangeSelectionStart.pivotColumn._lfIndex,this._cellKBRangeSelectionEnd.pivotColumn._lfIndex);var n=Math.min(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);var i=Math.max(this._cellKBRangeSelectionStart.pivotRow._lfIndex,this._cellKBRangeSelectionEnd.pivotRow._lfIndex);for(var j=l;j<=h;j++){for(var b=n;b<=i;b++){var g=this._pivotColumns.visibleLeafItems[j];var d=this._pivotRows.visibleLeafItems[b];this._pivotCells._internalSelectCell(d,g)}}this._endSelectionUpdate();f.pivotRow.ensureVisible();f.pivotColumn.ensureVisible();this._internalRefresh()}return false}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxpopover.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxpopover.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxprogressbar.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxprogressbar.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxradiobutton.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxradiobutton.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxrangeselector.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxrangeselector.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxrating.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxrating.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxresponsivepanel.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxresponsivepanel.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxribbon.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxribbon.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxscheduler.api.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxscheduler.api.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.scheduler.utilities={weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},guid:function(){function b(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return b()+b()},areWeekDaysIncluded:function(d,c){var b=false;a.each(d,function(e,f){if(f===c){b=true;return false}});return b},getStartOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),0,0,0);b.timeZone=c.timeZone;return b},getEndOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),23,59,59);b.timeZone=c.timeZone;return b},getDaysCount:function(d,c){var b=1;while(d<c){if(d.day()!=c.day()){b++}d=d.addDays(1)}return b},getStartOfWeek:function(e,g){var c=e.dayOfWeek();var b=g.firstDay;if(c<b){c+=7}var d=c-b;var f=e.addDays(-d);return f.date()},getEndOfWeek:function(d,f,c){var e=this;var g=7;var b=e.getStartOfWeek(d,f,c);return b.addDays(g)},getEndOfMonth:function(d,e){var c=d.daysInMonth();var b=new a.jqx.date(d.year(),d.month(),c,23,59,59);b.timeZone=d.timeZone;return b},rangeIntersection:function(i,h,f,e){var g=i.valueOf();var d=f.valueOf();var c=h.valueOf();var b=e.valueOf();if(d>=g&&d<c){return true}if(d<g&&b>g){return true}if(g==d||c==b){return true}if(g<d){if(c>d&&c<b){return true}if(c>b){return true}}else{if(b>g&&b<c){return true}if(b>c){return true}}return false},rangeContains:function(e,d,c,b){return(e<=c&&b<=d)},monthDays:[31,28,31,30,31,30,31,31,30,31,30,31],msPerDay:1000*60*60*24,maxYear:9999,ORDINAL_BASE:new Date(1970,0,1),getYearDay:function(b){var c=new Date(b.getFullYear(),b.getMonth(),b.getDate());return Math.ceil((c-new Date(b.getFullYear(),0,1))/a.jqx.scheduler.utilities.msPerDay)+1},isLeapYear:function(b){if(b instanceof Date){b=b.getFullYear()}return((b%4===0)&&(b%100!==0))||(b%400===0)},tzOffset:function(b){return b.getTimezoneOffset()*60*1000},monthRange:function(c,d){var b=new Date(c,d,1);return[a.jqx.scheduler.utilities.getWeekday(b),a.jqx.scheduler.utilities.getMonthDays(b)]},getMonthDays:function(b){var c=b.getMonth();return c==1&&a.jqx.scheduler.utilities.isLeapYear(b)?29:a.jqx.scheduler.utilities.monthDays[c]},getWeekday:function(b){var c=[6,0,1,2,3,4,5];return c[b.getDay()]},combine:function(b,c){c=c||b;return new Date(b.getFullYear(),b.getMonth(),b.getDate(),c.getHours(),c.getMinutes(),c.getSeconds())},sort:function(b){b.sort(function(d,c){return d.getTime()-c.getTime()})},timeToUntilString:function(e){var c=new Date(e);var b,f=[c.getUTCFullYear(),c.getUTCMonth()+1,c.getUTCDate(),"T",c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),"Z"];for(var d=0;d<f.length;d++){b=f[d];if(!/[TZ]/.test(b)&&b<10){f[d]="0"+String(b)}}return f.join("")},untilStringToDate:function(d){var b=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/;var c=b.exec(d);if(!c){throw new Error("Invalid UNTIL value: "+d)}return new Date(Date.UTC(c[1],c[2]-1,c[3],c[5]||0,c[6]||0,c[7]||0))},Time:function(b,e,c){this.hour=b;this.minute=e;this.second=c;this.that=this;var d=this;this.getHours=function(){return d.hour};this.getMinutes=function(){return d.minute},this.getSeconds=function(){return d.second},this.getTime=function(){return((d.hour*60*60)+(d.minute*60)+d.second)*1000}}};a.jqx.scheduler.appointment=function(){var c=this;c.from=new a.jqx.date();c.to=new a.jqx.date().addHours(1);c.subject="";c.description="";c.location="";c.tooltip="";c.hidden=false;c.resourceId=null;c.id="";c.background=null;c.color=null;c.borderColor=null;c.status="busy";c.style=null;c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.occurrenceEnumerator=null;c.rootAppointment=null;c.hiddenByResourceId=false;c.draggable=true;c.resizable=true;c.recurrentAppointment=false;c.allDay=false;c.readOnly=false;c.showStatus=true;c.timeZone=null;c.scheduler=null;c.elements=new Array();c.appointmentObject=true;c.duration=function(){var e=c.to-c.from;var f=e*10000;return new a.jqx.timeSpan(f)};c.toJSON=function(h){var e=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var g=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(!k?""+l.getFullYear()+"-"+g(l.getMonth()+1)+"-"+g(l.getDate())+"T"+g(l.getHours())+":"+g(l.getMinutes())+":"+g(l.getSeconds())+"Z":""+l.getUTCFullYear()+"-"+g(l.getUTCMonth()+1)+"-"+g(l.getUTCDate())+"T"+g(l.getUTCHours())+":"+g(l.getUTCMinutes())+":"+g(l.getUTCSeconds())+"Z"))};var f=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=c.recurrenceException[l].toString();if(l<c.recurrenceException.length-1){k+=","}}return k};var i={};i.id=c.id;i.from=j(c.from.toDate(),h);i.to=j(c.to.toDate(),h);i.subject=c.subject;i.status=c.status;i.location=c.location;i.description=c.description;i.title=c.title;i.resourceId=c.resourceId;if(c.recurrencePattern){i.recurrencePattern=c.recurrencePattern.toString()}else{i.recurrencePattern=""}if(c.recurrenceException&&c.recurrenceException.length>0){i.recurrenceException=f()}else{i.recurrenceException=""}i.dtstamp=j(new Date(),h);return JSON.stringify(i)};c.toString=function(i){var f=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var h=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(k?""+l.getFullYear()+h(l.getMonth()+1)+h(l.getDate())+"T"+h(l.getHours())+h(l.getMinutes())+h(l.getSeconds()):""+l.getUTCFullYear()+h(l.getUTCMonth()+1)+h(l.getUTCDate())+"T"+h(l.getUTCHours())+h(l.getUTCMinutes())+h(l.getUTCSeconds())+"Z"))};var g=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=j(c.recurrenceException[l].toDate(),i);if(l<c.recurrenceException.length-1){k+=","}}return k};var e=c.status;if(!e){e="CONFIRMED"}if(e.toLowerCase()=="busy"){e="CONFIRMED"}if(e.toLowerCase()=="tentative"){e="TENTATIVE"}if(e.toLowerCase()=="free"){e="CANCELLED"}if(e.toLowerCase()=="outOfOffice"){e="CANCELLED"}return"BEGIN:VEVENT\nUID:"+c.id+"\nDTSTAMP:"+j(new Date(),i)+"\n"+f("TITLE:"+c.subject)+"\nDTSTART:"+j(c.from.toDate(),i)+"\nDTEND:"+j(c.to.toDate(),i)+"\n"+(c.recurrencePattern?"RRULE:"+c.recurrencePattern.toString()+"\n":"")+(c.recurrenceException&&c.recurrenceException.length>0?"EXDATE:"+g()+"\n":"")+(c.subject?f("SUMMARY:"+c.subject)+"\n":"")+"TRANSP:OPAQUE\n"+(c.status?f("STATUS:"+e)+"\n":"")+(c.description?f("DESCRIPTION:"+c.description)+"\n":"")+(c.location?f("LOCATION:"+c.location)+"\n":"")+"END:VEVENT"};c.range=function(){if(!c.allDay){return{from:c.from,to:c.to}}else{return{from:a.jqx.scheduler.utilities.getStartOfDay(c.from),to:a.jqx.scheduler.utilities.getEndOfDay(c.to)}}};c.clearRecurrence=function(){if(c.recurrencePattern){c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.hidden=false}};c.isAllDayAppointment=function(){return this.duration().days()>=1||this.allDay};c.cloneAppointmentAttributes=function(e){e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.rootAppointment=c;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.hidden=c.hidden;e.timezone=c.timeZone;e.style=c.style;e.hiddenByResourceId=c.hiddenByResourceId};c.createOccurrence=function(g){if(g==null){return null}var f=new a.jqx.scheduler.appointment();f.allDay=c.allDay;var e=c.duration();if(c.allDay){e=new a.jqx.timeSpan(10000*(c.to-c.from))}f.from=g;f.to=g.add(e);f.occurrenceFrom=g.clone();f.subject=c.subject;f.description=c.description;f.location=c.location;f.tooltip=c.tooltip;f.resourceId=c.resourceId;f.category=c.category;f.status=c.status;f.rootAppointment=c;f.color=c.color;f.draggable=c.draggable;f.resizable=c.resizable;f.borderColor=c.borderColor;f.background=c.background;f.recurrentAppointment=true;f.timeZone=c.timeZone;f.style=c.style;f.hiddenByResourceId=c.hiddenByResourceId;f.boundAppointment=c.boundAppointment;if(c.hiddenByResourceId){f.hidden=true}f.id=c.id+"."+a.jqx.scheduler.utilities.guid();c.hidden=true;c.occurrenceIndex++;return f};c.clone=function(){var e=new a.jqx.scheduler.appointment();e.allDay=c.allDay;e.from=c.from.clone();e.to=c.to.clone();e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.style=c.style;e.timeZone=c.timeZone;e.hiddenByResourceId=c.hiddenByResourceId;if(c.hiddenByResourceId){e.hidden=true}e.id=c.id+"."+a.jqx.scheduler.utilities.guid();return e};c.isRecurrentAppointment=function(){return c.recurrentAppointment||c.recurrencePattern!=null};c.anyExceptions=function(){return c.exceptions!=null&&c.exceptions.length>0};c.anyOccurrences=function(){return c.occurrenceEnumerator!=null&&c.occurrenceEnumerator.getNextAppointment()};c.isException=function(){var g=c.rootAppointment||this;if(!g.recurrenceException){return false}for(var f=0;f<g.recurrenceException.length;f++){var e=g.recurrenceException[f];if(c.occurrenceFrom&&e.equals(c.occurrenceFrom)){return true}}return false};c.getOccurrences=function(h,g){c.occurrenceIndex=0;var f=h!==null?h:c.from;var e=new a.jqx.scheduler.recurrentAppointmentsList(c,c.calendar,f,g,c.scheduler);c.occurrences=e.list;return e.list};if(arguments.length===1){if(a.type(arguments[0])=="object"){for(var b in arguments[0]){var d=arguments[0][b];if(this[b]!==undefined){this[b]=d}}}else{c.from=arguments[0];c.to=new a.jqx.date(c.from).addHours(1)}}else{if(arguments.length===2){c.from=arguments[0];c.to=arguments[1]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2];c.description=arguments[3]}}}}if(c.recurrencePattern!=null){c.recurrencePattern.setFrom(c.from)}};a.jqx.scheduler.recurrentAppointmentsList=function(){var b=this;b.recurrentAppointment=null;b.currentTime=null;b.calendar=a.jqx.scheduler.calendar;b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31);b.foundItems=0;b.list=new Array();b.scheduler=null;b.getOccurrences=function(c,e,d){if(c==undefined){return b.list}return new a.jqx.scheduler.recurrentAppointmentsList(c,b.calendar,e,d).list};b.current=function(){return b.recurrentAppointment.createOccurrence(b.currentTime)};b.fillList=function(){b.currentTime=null;b.foundItems=0;b.list=new Array();var c=b.recurrentAppointment.recurrencePattern;c.step=0;c.current=0;c.currentYearDay=0;if(c==null){return false}while(b.getNextAppointment(c)){var d=b.current();if(d){b.list.push(d)}}};b.getNextAppointment=function(h){if(b.recurrentAppointment==null){return false}var d=4294967295;var j=this.scheduler._views[this.scheduler._view].type;var l=this.scheduler._views[this.scheduler._view];var f=0;switch(h.freq){case"weekly":f=7;break;case"monthly":f=31;break;case"yearly":f=365;break}for(var e=0;e<d;e++){var k=h.getNewOccurenceDate();if(!k){continue}h.currentTime=k;if((h.to<k&&h.to.addDays(f)>=k)||(b.to<k&&b.to.addDays(f)>=k)){b.currentTime=null;return true}if(h.to.addDays(f)<k||b.to.addDays(f)<k){b.currentTime=null;return false}var g=true;g=b.getCanSetTime(h,k,g);if(h.canCreateNewOccurence(k,b.calendar)){var c=true;if(false===l.showWeekends){if(k.dayOfWeek()==6||k.dayOfWeek()==0){c=false}}if(c){b.foundItems++}}if(!g){continue}b.currentTime=k;if(b.foundItems>h.count){return false}return true}return false};b.getCanSetTime=function(c,e,d){if(!c.canCreateNewOccurence(e,b.calendar)){d=false}if(e<b.from&&e.add(b.recurrentAppointment.duration())<=b.from){d=false}if(b.to<=e){d=false}return d};b.isException=function(f,c,g){var e=b.recurrentAppointment.exceptions;for(var d=0;d<e.length;d++){if(g.isDateInExceptionAppointment(f,c,e[d])){if(-1===g.newExceptions.indexOf(e[d])){return true}}}return false};if(arguments&&arguments.length>0){b.recurrentAppointment=arguments[0];if(arguments[1]){b.calendar=arguments[1]}if(arguments[2]){b.from=arguments[2]}if(arguments[3]){b.to=arguments[3]}if(arguments[4]){b.scheduler=arguments[4]}if(arguments[2]===undefined){b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31)}if(b.scheduler&&b.scheduler.localization){b.calendar.firstDay=b.scheduler.localization.firstDay}b.fillList()}return b};a.jqx.scheduler.recurrencePattern=function(){var c=this;var b={from:new a.jqx.date(0),to:new a.jqx.date(9999,12,31),count:1000,interval:1,exceptions:new Array(),newExceptions:new Array(),month:1,day:1,current:0,currentYearDay:0,step:0,days:[],bynweekday:[],isEveryWeekDay:true,timeZone:null,weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},freq:"daily",bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null};a.extend(true,c,b);c.getNewOccurenceDate=function(){var o=function(n,C){var k=0,D=[];if(n instanceof Array){for(;k<C;k++){D[k]=[].concat(n)}}else{for(;k<C;k++){D[k]=n}}return D};var d=function(k,i){var n=k%i;return(n*i<0)?n+i:n};var v=function(D,k){if(arguments.length===1){k=D;D=0}var n=[];for(var C=D;C<k;C++){n.push(C)}return n};var u=[0,31,60,91,121,152,182,213,244,274,305,335,366];var l=[0,31,59,90,120,151,181,212,243,273,304,334,365];var r=c.from.year();var j=[6,0,1,2,3,4,5];var q=function(i){c.yearlen=i%4==0&&(i%100!=0||i%400==0)?366:365;c.nextyearlen=(1+i)%4==0&&((1+i)%100!=0||(1+i)%400==0)?366:365;var k=new Date(i,0,1);var C=j[new Date(i,0,1).getDay()];var n=(function(){for(var D=[],E=0;E<55;E++){D=D.concat(v(7))}return D}());if(c.yearlen==365){c.wdaymask=n.slice(C);c.mrange=[].concat(l)}else{c.wdaymask=n.slice(C);c.mrange=[].concat(u)}};q(r);switch(c.freq){case"daily":default:var g=c.from.add(new a.jqx.timeSpan(c.step*c.interval,0,0,0));c.step++;return g;case"weekly":if(c.byweekday){var g=new a.jqx.date(c.from,c.timeZone);var t=j[c.from.dayOfWeek()];g=g.addDays(7*(c.step));g=g.addDays(c.byweekday[c.current]);g=g.addDays(-t);if(g<c.from){g=null}c.current++;if(undefined==c.byweekday[c.current]){c.current=0;c.step++}}return g;case"monthly":if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);c.step++;for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;var g=new a.jqx.date(c.from.year(),c.from.month(),A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths((c.step-1)*c.interval)}else{if(c.bymonthday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.bymonthday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.current++;if(!c.bymonthday[c.current]){c.current=0;c.step++}}else{var g=new a.jqx.date(c.from.year(),c.from.month(),c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.step++}}return g;case"yearly":if(c.bymonth&&c.bymonth.length>0){if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;g=new a.jqx.date(g.year(),c.bymonth[c.current],A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;c.step++}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.byyearday[c.currentYearDay],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.currentYearDay++;if(!c.byyearday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.from.day(),c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.byyearday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.byyearday[c.current]){c.current=0;c.step++}}else{if(c.byweekno!=null){var p=function(n,k){var i=1;var C=new a.jqx.date(k.year(),1,1,k.hour(),k.minute(),k.second());C.timeZone=c.timeZone;while(i!=n){C=C.addDays(7);i++;if(i>53){break}}while(a.jqx.scheduler.utilities.getWeekday(C.toDate())!=c.wkst){C=C.addDays(1)}return C};var g=c.from.addYears(c.step*c.interval);g=p(c.byweekno[c.current],g);if(c.byweekday){var e=g;for(var z=0;z<7;z++){if(j[e.dayOfWeek()]===c.byweekday[c.currentYearDay]){break}e=e.addDays(1)}g=e;c.currentYearDay++;if(!c.byweekday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.month,c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.step++}}}return g}};c.isDateInExceptionAppointment=function(d,e,f){switch(c.freq){case"daily":case"weekly":default:return d.year()==f.from.year()&&d.dayOfYear()==f.from.dayOfYear()}};c.createNewPattern=function(){if(c.ical){var d=new a.jqx.scheduler.recurrencePattern(c.ical);return d}else{var d=new a.jqx.scheduler.recurrencePattern();d.from=c.from;d.to=c.to;d.count=c.count;d.interval=c.interval;d.exceptions=c.exceptions;d.newExceptions=c.newExceptions;d.weekDays=c.weekDays;d.isEveryWeekDay=c.isEveryWeekDay;d.month=c.month;d.day=c.day;d.current=c.current;d.currentYearDay=c.currentYearDay;d.step=c.step;d.days=c.days;d.bynweekday=c.bynweekday;d.bymonth=c.bymonth;d.bymonthday=c.bymonthday;d.byyearday=c.byyearday;d.byweekno=c.byweekno;d.byweekday=c.byweekday;d.freq=d.freq;d.timeZone=d.timeZone;return d}};c.equals=function(e){var d=c.from==e.from&&c.to==e.to&&c.count===e.count&&c.interval===e.interval&&c.day===e.day&&c.month===e.month;return d};c.isDayOfWeekIncluded=function(e){var d=e.dayOfWeek();return a.jqx.scheduler.utilities.areWeekDaysIncluded(c.weekDays,d)};c.getWeekIndexFromDate=function(g,f){var e=f.firstDay;var h=a.jqx.scheduler.utilities.getStartOfWeek(c.from,f,e);var d=new a.jqx.timeSpan(g.subtract(h));return parseInt(d.days()/7)};c.canCreateNewOccurence=function(e,g){var d=e.toDate();switch(c.freq){case"daily":default:if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(c.isEveryWeekDay){if(!c.isDayOfWeekIncluded(e,g)){return false}else{return true}}else{return true}break;case"weekly":var f=c.getWeekIndexFromDate(e,g);if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if((f%c.interval)!=0){return false}if(c.weekDays=={}){var h=e;if(c.from.dayOfWeek()!=h.dayOfWeek()){return false}}else{if(!c.isDayOfWeekIncluded(e,g)){return false}}break;case"monthly":case"yearly":if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(e<c.from){return false}break}return true};c.toString=function(){var d={};d.dtstart=this.from.toDate();d.until=this.to?this.to.toDate():null;d.count=this.count;var e={};e.YEARLY=0;e.MONTHLY=1;e.WEEKLY=2;e.DAILY=3;e.HOURLY=4;e.MINUTELY=5;e.SECONDLY=6;d.freq=e[this.freq.toUpperCase()];if(d.freq=="YEARLY"){d.bymonth=this.bymonth?this.bymonth:new Array().push(this.month)}d.byweekday=new Array();var g=["MO","TU","WE","TH","FR","SA","SU"];a.each(this.weekDays,function(){var h=this;h--;if(h<0){h=6}d.byweekday.push(h)});if(this.byyearday!=undefined){d.byyearday=this.byyearday}if(this.byweekno!=undefined){d.byweekno=this.byweekno}d.bymonthday=this.bymonthday;d.wkst=g[this.wkst];d.interval=this.interval;var f=new a.jqx.ICalRule(d);return f.toString()};c.init=function(j){var d=new a.jqx.ICalRule(c.ical,j);var f=d.options;c.from=f.dtstart?new a.jqx.date(f.dtstart,c.timeZone):c.from;c.count=f.count!=undefined?f.count:c.count;c.freq=d.FREQUENCIES[f.freq].toLowerCase();c.interval=f.interval!=undefined?f.interval:c.interval;c.to=f.until?new a.jqx.date(f.until,c.timeZone):c.to;c.wkst=f.wkst;c.bymonth=f.bymonth;if(c.bymonth&&c.bymonth.length>0){c.month=c.bymonth[0]}else{c.month=c.from.month()}c.day=c.from.day();if(f.byweekday!=undefined){var h={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};c.weekDays={};for(var g=0;g<f.byweekday.length;g++){var e=f.byweekday[g];switch(e){case 0:c.weekDays.Monday=1;break;case 1:c.weekDays.Tuesday=2;break;case 2:c.weekDays.Wednesday=3;break;case 3:c.weekDays.Thursday=4;break;case 4:c.weekDays.Friday=5;break;case 5:c.weekDays.Saturday=6;break;case 6:c.weekDays.Sunday=0;break}}c.byweekday=f.byweekday}c.byweekno=f.byweekno;if(f.bynweekday){c.bynweekday=f.bynweekday}if(f.bymonthday!=undefined){c.bymonthday=f.bymonthday.sort();if(c.bymonthday[0]){c.day=c.bymonthday[0]}}if(f.byyearday!=undefined){c.day=f.byyearday[0];c.byyearday=f.byyearday.sort()}return f};c.setFrom=function(d){c.from=d.clone();if(c.ical){c.init(d)}};if(arguments.length==1){c.ical=arguments[0];c.init()}return c};a.jqx.scheduler.calendar={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","};a.jqx.ICalRule=function(u,n){var D=this;var m=function(R,j){if(arguments.length===1){j=R;R=0}var k=[];for(var v=R;v<j;v++){k.push(v)}return k};var A=function(k,v){var j=0,R=[];if(k instanceof Array){for(;j<v;j++){R[j]=[].concat(k)}}else{for(;j<v;j++){R[j]=k}}return R};var C=function(i){return(i instanceof Array&&i.length==0)?false:Boolean(i)};var B=function(i,j){return i.indexOf(j)!=-1};var G=[].concat(A(1,31),A(2,28),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var s=[].concat(A(1,31),A(2,29),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var h=m(1,29),g=m(1,30),P=m(1,31),O=m(1,32);var J=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var b=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));h=m(-28,0);g=m(-29,0);P=m(-30,0);O=m(-31,0);var K=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var e=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var c=[0,31,60,91,121,152,182,213,244,274,305,335,366];var z=[0,31,59,90,120,151,181,212,243,273,304,334,365];var q=(function(){for(var j=[],k=0;k<55;k++){j=j.concat(m(7))}return j}());var f=function(j,k){var i=this;if(k===0){throw new Error("Can't create weekday with n == 0")}this.weekday=j;this.n=k;this.nth=function(v){return i.n==v?i:new f(i.weekday,v)};this.equals=function(v){return i.weekday==v.weekday&&i.n==v.n};this.toString=function(){var v=["MO","TU","WE","TH","FR","SA","SU"][i.weekday];if(this.n){v=(i.n>0?"+":"")+String(i.n)+v}return v};this.getJsWeekday=function(){return i.weekday==6?0:i.weekday+1}};this.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"];this.YEARLY=0;this.MONTHLY=1;this.WEEKLY=2;this.DAILY=3;this.HOURLY=4;this.MINUTELY=5;this.SECONDLY=6;this.MO=new f(0);this.TU=new f(1);this.WE=new f(2);this.TH=new f(3);this.FR=new f(4);this.SA=new f(5);this.SU=new f(6);var d={freq:null,dtstart:null,interval:1,wkst:D.MO,count:null,until:null,bysetpos:null,bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null};this._string=null;this.toString=function(){var aa=this.origOptions;var Y,Z,V,W,U,k=[];Z=Object.keys(aa);V=Object.keys(d);for(var R=0;R<Z.length;R++){if(!B(V,Z[R])){continue}Y=Z[R].toUpperCase();W=aa[Z[R]];U=[];if(W===null||W instanceof Array&&!W.length){continue}switch(Y){case"FREQ":W=D.FREQUENCIES[aa.freq];break;case"WKST":if(!W){W=0}W=W.toString();break;case"BYWEEKDAY":Y="BYDAY";if(!(W instanceof Array)){W=[W]}for(var T,v=0;v<W.length;v++){T=W[v];if(T instanceof f){}else{if(T instanceof Array){T=new f(T[0],T[1])}else{T=new f(T)}}U[v]=T.toString()}W=U;break;case"DTSTART":case"UNTIL":W=a.jqx.scheduler.utilities.timeToUntilString(W);break;default:if(W instanceof Array){for(var v=0;v<W.length;v++){U[v]=String(W[v])}W=U}else{W=String(W)}}k.push([Y,W])}var X=[];for(var R=0;R<k.length;R++){var S=k[R];X.push(S[0]+"="+S[1].toString())}return X.join(";")};this.parseString=function(v){v=v.replace(/^\s+|\s+$/,"");if(!v.length){return null}var S,R,X,W,T,Y=v.split(";"),aa={};for(S=0;S<Y.length;S++){T=Y[S].split("=");X=T[0];W=T[1];if(X==""){continue}switch(X){case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":if(W.indexOf(",")!=-1){W=W.split(",");for(R=0;R<W.length;R++){if(/^[+-]?\d+$/.test(W[R])){W[R]=Number(W[R])}}}else{if(/^[+-]?\d+$/.test(W)){W=Number(W)}}X=X.toLowerCase();aa[X]=W;break;case"BYDAY":var k,U,V,Z=W.split(",");aa.byweekday=[];for(R=0;R<Z.length;R++){V=Z[R];if(V.length==2){U=D[V];aa.byweekday.push(U)}else{V=V.match(/^([+-]?\d)([A-Z]{2})$/);k=Number(V[1]);U=V[2];U=D[U].weekday;aa.byweekday.push(new f(U,k))}}break;case"FREQ":aa.freq=D[W];break;case"WKST":aa.wkst=D[W];break;case"DTSTART":aa.dtstart=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"UNTIL":aa.until=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"BYEASTER":aa.byeaster=Number(W);break;default:throw new Error("Unknown ICalRule property '"+X+"'")}}D.options=aa;return aa};if(a.type(u)==="string"){this.options=this.parseString(u)}else{this.options=u||{}}var u=this.options;if(!Array.prototype.forEach){Array.prototype.forEach=function(V,j){var R,v;if(this==null){throw new TypeError(" this is null or not defined")}var U=Object(this);var i=U.length>>>0;if(typeof V!=="function"){throw new TypeError(V+" is not a function")}if(arguments.length>1){R=j}v=0;while(v<i){var S;if(v in U){S=U[v];V.call(R,S,v,U)}v++}}}if(!Object.keys){Object.keys=(function(){var k=Object.prototype.hasOwnProperty,v=!({toString:null}).propertyIsEnumerable("toString"),j=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=j.length;return function(T){if(typeof T!=="object"&&(typeof T!=="function"||T===null)){throw new TypeError("Object.keys called on non-object")}var R=[],U,S;for(U in T){if(k.call(T,U)){R.push(U)}}if(v){for(S=0;S<i;S++){if(k.call(T,j[S])){R.push(j[S])}}}return R}}())}this.origOptions={};var E=[],w=Object.keys(this.options),p=Object.keys(d);w.forEach(function(i){this.origOptions[i]=this.options[i];if(!B(p,i)){E.push(i)}},this);if(E.length){throw new Error("Invalid options: "+E.join(", "))}if(!D.FREQUENCIES[this.options.freq]&&u.byeaster===null){throw new Error("Invalid Frequency: "+String(u.freq))}p.forEach(function(i){if(!B(w,i)){u[i]=d[i]}});var x=this.options;if(x.byeaster!==null){x.freq=this.YEARLY}if(!x.dtstart){x.dtstart=new Date();x.dtstart.setMilliseconds(0)}if(n){x.dtstart=n.toDate()}if(x.wkst===null){x.wkst=this.MO.weekday}else{if(typeof x.wkst=="number"){}else{if(x.wkst==null){x.wkst=this.MO.weekday}else{x.wkst=x.wkst.weekday}}}if(x.bysetpos!==null){if(typeof x.bysetpos=="number"){x.bysetpos=[x.bysetpos]}for(var N=0;N<x.bysetpos.length;N++){var H=x.bysetpos[N];if(H==0||!(-366<=H&&H<=366)){throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}}if(!(C(x.byweekno)||C(x.byyearday)||C(x.bymonthday)||x.byweekday!==null||x.byeaster!==null)){switch(x.freq){case this.YEARLY:if(!x.bymonth){x.bymonth=x.dtstart.getMonth()+1}x.bymonthday=x.dtstart.getDate();break;case this.MONTHLY:x.bymonthday=x.dtstart.getDate();break;case this.WEEKLY:x.byweekday=a.jqx.scheduler.utilities.getWeekday(x.dtstart);break}}if(x.bymonth!==null&&!(x.bymonth instanceof Array)){x.bymonth=[x.bymonth]}if(x.byyearday!==null&&!(x.byyearday instanceof Array)){x.byyearday=[x.byyearday]}if(x.bymonthday===null){x.bymonthday=[];x.bynmonthday=[]}else{if(x.bymonthday instanceof Array){var Q=[],I=[];for(N=0;N<x.bymonthday.length;N++){var H=x.bymonthday[N];if(H>0){Q.push(H)}else{if(H<0){I.push(H)}}}x.bymonthday=Q;x.bynmonthday=I}else{if(x.bymonthday<0){x.bynmonthday=[x.bymonthday];x.bymonthday=[]}else{x.bynmonthday=[];x.bymonthday=[x.bymonthday]}}}if(x.byweekno!==null&&!(x.byweekno instanceof Array)){x.byweekno=[x.byweekno]}if(x.byweekday===null){x.bynweekday=null}else{if(typeof x.byweekday=="number"){x.byweekday=[x.byweekday];x.bynweekday=null}else{if(x.byweekday instanceof f){if(!x.byweekday.n||x.freq>this.MONTHLY){x.byweekday=[x.byweekday.weekday];x.bynweekday=null}else{x.bynweekday=[[x.byweekday.weekday,x.byweekday.n]];x.byweekday=null}}else{var r=[],F=[];for(N=0;N<x.byweekday.length;N++){var o=x.byweekday[N];if(typeof o=="number"){r.push(o)}else{if(!o.n||x.freq>this.MONTHLY){r.push(o.weekday)}else{F.push([o.weekday,o.n])}}}x.byweekday=C(r)?r:null;x.bynweekday=C(F)?F:null}}}if(x.byhour===null){x.byhour=(x.freq<this.HOURLY)?[x.dtstart.getHours()]:null}else{if(typeof x.byhour=="number"){x.byhour=[x.byhour]}}if(x.byminute===null){x.byminute=(x.freq<this.MINUTELY)?[x.dtstart.getMinutes()]:null}else{if(typeof x.byminute=="number"){x.byminute=[x.byminute]}}if(x.bysecond===null){x.bysecond=(x.freq<this.SECONDLY)?[x.dtstart.getSeconds()]:null}else{if(typeof x.bysecond=="number"){x.bysecond=[x.bysecond]}}if(x.freq>=this.HOURLY){this.timeset=null}else{this.timeset=[];if(x.byhour){for(N=0;N<x.byhour.length;N++){var t=x.byhour[N];for(var M=0;M<x.byminute.length;M++){var l=x.byminute[M];for(var L=0;L<x.bysecond.length;L++){var y=x.bysecond[L];this.timeset.push(new a.jqx.scheduler.utilities.Time(t,l,y))}}}}a.jqx.scheduler.utilities.sort(this.timeset)}return this}})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxScheduler.prototype,{_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(b){return this._intToHex(b.r)+this._intToHex(b.g)+this._intToHex(b.b)},_intToHex:function(c){var b=(parseInt(c).toString(16));if(b.length==1){b=("0"+b)}return b.toUpperCase()},exportData:function(w){var q=this;if(!a.jqx.dataAdapter.ArrayExporter){throw"jqxScheduler: Missing reference to jqxdata.export.js!"}var y=this.exportSettings.serverURL;var g=this.exportSettings.characterSet;var C=this.exportSettings.fileName;var H=this.exportSettings.ICSXWRCALNAME;var s=this.exportSettings.ICSXWRCALDESC;if(C===undefined){C="jqxScheduler"}var q=this;if(w=="ical"||w=="ics"){if(q._resources.length>1&&C&&q.resourcesInMultipleICSFiles){var t=this.getAppointments();for(var E=0;E<q._resources.length;E++){var c=q._resources[E];var v=new Array();for(var D=0;D<t.length;D++){var k=t[D];if(k.resourceId==c){v.push(k)}}var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";if(H){I+="X-WR-CALNAME:"+H+"\n"}if(s){I+="X-WR-CALDESC:"+s+"\n"}for(var B=0;B<v.length;B++){I+=v[B].jqxAppointment.toString();if(B<v.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(var B=0;B<h;B++){p[B]=I.charCodeAt(B)}var b=new Blob([p],{type:"application/calendar"});var d;if(d){d(b,C+"_"+c+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+"_"+c+".ics")}}}}else{var t=this.getAppointments();var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";for(var E=0;E<t.length;E++){I+=t[E].jqxAppointment.toString();if(E<t.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(E=0;E<h;E++){p[E]=I.charCodeAt(E)}var b=new Blob([p],{type:"application/calendar"});if(!C){return I}if(d){d(b,C+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+".ics")}}}return}var t=this.getDataAppointments();var A=new Array();var F={};var r={};var n=this.host.find(".jqx-grid-cell:first");n.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var l="cell";var f=1;var G="column";var e=1;var z=a(this.columns.records[0].element);var o=0;a.each(this.appointmentDataFields,function(j,m){F[m]={};F[m].text=m;F[m].width=100;F[m].formatString="";F[m].localization=q.schedulerLocalization;if(j=="from"||j=="to"){F[m].type="date";F[m].formatString=q.exportSettings.dateTimeFormatString}else{F[m].type="string"}F[m].cellsAlign="left";A.push(F[m]);l="cell"+f;G="column"+e;if(w=="html"||w=="xls"||w=="pdf"){var i=function(J,R,Q,K,P,M,L,N,O){r[J]={};if(R==undefined){return}r[J]["font-size"]=R.css("font-size");r[J]["font-weight"]=R.css("font-weight");r[J]["font-style"]=R.css("font-style");r[J]["background-color"]=q._getexportcolor(R.css("background-color"));r[J]["color"]=q._getexportcolor(R.css("color"));r[J]["border-color"]=q._getexportcolor(R.css("border-top-color"));if(Q){r[J]["text-align"]="left"}else{r[J]["text-align"]="left";r[J]["formatString"]="";r[J]["dataType"]="string";if(L=="from"||L=="to"){r[J]["dataType"]="date";r[J]["formatString"]=q.exportSettings.dateTimeFormatString}}if(w=="html"||w=="pdf"){r[J]["border-top-width"]=R.css("border-top-width");r[J]["border-left-width"]=R.css("border-left-width");r[J]["border-right-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width");r[J]["border-top-style"]=R.css("border-top-style");r[J]["border-left-style"]=R.css("border-left-style");r[J]["border-right-style"]=R.css("border-right-style");r[J]["border-bottom-style"]=R.css("border-bottom-style");if(Q){if(o==0){r[J]["border-left-width"]=R.css("border-right-width")}r[J]["border-top-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width")}else{if(o==0){r[J]["border-left-width"]="1px"}r[J]["border-right-width"]="1px"}}if(Q){F[m].style=J}F[m].cellStyle=J};i(G,z,true,false,this,q,j);e++;i(l,n,false,false,this,q,j);f++}o++});var x=a.jqx.dataAdapter.ArrayExporter(t,F,r,y);if(C==null){this._renderrows();var u=x.exportTo(w);setTimeout(function(){q.exporting=false},50);return u}else{x.exportToFile(w,C,y,g)}this._renderrows();setTimeout(function(){q.exporting=false},50)},shadeColor:function(b,g){var h=parseInt(b.slice(1),16),c=g<0?0:255,i=g<0?g*-1:g,e=h>>16,d=h>>8&255,j=h&255;return"#"+(16777216+(Math.round((c-e)*i)+e)*65536+(Math.round((c-d)*i)+d)*256+(Math.round((c-j)*i)+j)).toString(16).slice(1)},hexToRgba:function(c,e){var b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c);var d=function(){var f=a.jqx.browser.msie&&a.jqx.browser.version<10;if(this.alpha==undefined||f){return"rgb("+this.r+", "+this.g+", "+this.b+")"}if(this.alpha>1){this.alpha=1}else{if(this.alpha<0){this.alpha=0}}return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"};if(e==undefined){return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),toString:d}:null}if(e>1){e=1}else{if(e<0){e=0}}return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),alpha:e,toString:d}:null},getAppointmentColors:function(f){var e="";var d="";var c="";e=this.hexToRgba(f,this.appointmentOpacity).toString();d=f;var b=function(h){var g=105;var i=(h.r*0.299)+(h.g*0.587)+(h.b*0.114);var j=(255-i<g)?"Black":"White";return j};c=b(this.hexToRgba(f,0.7));return{background:e,color:c,border:d}},getColors:function(g){if(g==-1){g=0}var c="";var e="";var f="";var i=this.resources?this.resources.colorScheme:null;if(!i){i="scheme01"}var b=new Array();for(var d=0;d<this.colorSchemes.length;d++){if(this.colorSchemes[d].name==i){b=this.colorSchemes[d].colors;break}}while(g>b.length-1){var j=parseInt(i.substring(6));if(j>=27){j=0}b=b.concat(this.colorSchemes[j].colors);j++}c=b[g];c=this.hexToRgba(b[g],this.appointmentOpacity).toString();e=b[g];var h=function(l){var k=105;var m=(l.r*0.299)+(l.g*0.587)+(l.b*0.114);var n=(255-m<k)?"Black":"White";return n};f=h(this.hexToRgba(b[g],0.7));return{background:c,color:f,border:e}},getAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var e=d[c].boundAppointment;e.toString=e.jqxAppointment.toString;b.push(e)}return b},getDataAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var f=d[c].boundAppointment;var e={};a.each(this.appointmentDataFields,function(h,i){e[i]=f[h];if(h=="from"||h=="to"){if("date"!=a.type(f[h])){e[i]=f[h].toDate()}}if(h=="recurrencePattern"){if(f[h]){e[i]=f[h].toString()}}if(h=="recurrenceException"){if(f[h]){e[i]="";for(var g=0;g<f[h].length;g++){e[i]+=f[h][g].toString();if(g<f[h].length-1){e[i]+=","}}}}try{if(JSON){e.toString=function(){return JSON.stringify(e)}}}catch(k){}});b.push(e)}return b},_refreshColumns:function(){this._initializeColumns();this.columnsheader=this.columnsheader||a('<div style="overflow: hidden;"></div>');this.columnsheader.children().remove();var b=this.columnsHeight;b=this._preparecolumnGroups();this.columnsheader.height(b);this._rendercolumnheaders()},_refreshColumnTitles:function(){var p=this._views[this._view].type;var o=this._views[this._view];var l=this;var d=new Array();if(l.columns.records[0].timeColumn){d.push({})}if(o.timeRuler&&o.timeRuler.timeZones){for(var v=0;v<o.timeRuler.timeZones.length;v++){d.push({})}}var q=function(A,G,I){var B="halfHour";if(o.timeRuler&&o.timeRuler.scale){B=o.timeRuler.scale}var K=24;var z=0;var J=23;if(o.timeRuler){if(o.timeRuler.scaleStartHour!=undefined){var z=parseInt(o.timeRuler.scaleStartHour)}if(o.timeRuler.scaleEndHour!=undefined){var J=parseInt(o.timeRuler.scaleEndHour)}if(z<0){z=0}if(J<0){J=23}if(z>23){z=0}if(J>23){J=23}K=J-z+1}var D=60;var H=2;if(B){switch(B){case"sixtyMinutes":case"hour":H=1;break;case"thirdyMinutes":case"halfHour":H=2;break;case"fifteenMinutes":case"quarterHour":H=4;break;case"tenMinutes":H=6;break;case"fiveMinutes":H=12;break}}var M=new Array();var L="auto";if(o.timeRuler&&o.timeRuler.formatString){L=o.timeRuler.formatString}var y=z;var E=K;var j=A.addHours(y);if(l.rtl){var j=A.addHours(J)}for(var F=0;F<E;F++){var x=j.toDate();if(L==="auto"){if((x.getHours()==0&&x.getMinutes()==0)||(x.getHours()==12&&x.getMinutes()==0)){var C="hh tt"}else{var C="hh:mm"}}else{if(a.isFunction(L)){var C=L(x)}else{C=L}}if(a.jqx.dataFormat.isDate(x)){x=a.jqx.dataFormat.formatdate(x,C,l.schedulerLocalization)}if(!l.rtl){j=j.addMinutes(D)}else{j=j.addMinutes(-D)}d.push({});l.columns.records[d.length-1].text=x}};var k=this.tableColumns;for(var t=0;t<this.tableColumns;t++){switch(p){case"dayView":var g=this.getViewStart();if(false===o.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}d.push({});this.columns.records[d.length-1].text=this._getDayName(g.dayOfWeek());break;case"weekView":case"monthView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}d.push({});if(l.rtl){u=6-u}this.columns.records[d.length-1].text=this._getDayName(u)}break;case"timelineDayView":var f=l._resources[t]?l._resources[t]:"Resource"+t;q(l.getViewStart(),f);break;case"timelineWeekView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}if(l.rtl){u=6-u}q(l.getViewStart().addDays(v),this._getDayName(u))}break;case"timelineMonthView":var n=l.getViewStart();var w="auto";if(o.timeRuler&&o.timeRuler.formatString){w=o.timeRuler.formatString}for(var v=0;v<41;v++){var u=n.dayOfWeek();if(false===o.showWeekends){if(u===0||u===6){continue}}if(l.rtl){u=6-u}var r=n.toDate();if(w==="auto"){var c="dd";r=n.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(w)){var c=w(r)}else{c=w}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,l.schedulerLocalization)}n=n.addDays(1);d.push({});l.columns.records[d.length-1].text=r}break}}var h=l.columnsHeight;var b=function(j,x){var i=l.columnGroupslevel*l.columnsHeight;i=i-(x.level*l.columnsHeight);return i};var s=0;for(var v=0;v<this.columns.records.length;v++){var e=this.columns.records[v];if(e.timeColumn){continue}if(l.columnGroups){if(l.columnGroups.length){h=b(e.datafield,e)}}var m=e.renderer!=null?e.renderer(e.text,e.align,h):l._rendercolumnheader(e.text,e.align,h,e);if(m==null){m=l._rendercolumnheader(e.text,e.align,h,l)}if(e.renderer!=null){m=a(m)}a(e.element).html(m)}},_editDialogLabel:function(){if(this.theme){return"jqx-scheduler-edit-dialog-label jqx-scheduler-edit-dialog-label-"+this.theme}return"jqx-scheduler-edit-dialog-label"},_editDialogField:function(){if(this.theme){return"jqx-scheduler-edit-dialog-field jqx-scheduler-edit-dialog-field-"+this.theme}return"jqx-scheduler-edit-dialog-field"},initRepeatPanels:function(p,i,c){var h=this;var b=a("<div></div>");i.append(b);var j=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatString+"</div>").appendTo(b);var l=a("<div class='"+h._editDialogField()+"'></div>").appendTo(b);var k=a("<div></div>").appendTo(l);var r=a("<div></div>");i.append(r);var m=a("<div></div>");r.append(m);var o=function(H,A){var u=a("<div></div>").appendTo(H);var E=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEndString+"</div>").appendTo(u);var D=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var G=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatNeverString+"</span></div>").appendTo(D);G.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:200,checked:true});h.editDialogFields[A].repeatEndNever=G;h.editDialogFields[A].repeatEndNeverLabel=E;var z=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var y=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var F=a("<div style='top: 3px;  position:relative;  float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatAfterString+"</span></div>").appendTo(y);F.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var B=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(y);B.jqxNumberInput({rtl:h.rtl,decimal:10,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var v=a("<div style='float: left; top: 3px;  margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatOccurrencesString+"</div>").appendTo(y);h.editDialogFields[A].repeatEndAfter=F;h.editDialogFields[A].repeatEndAfterValue=B;h.editDialogFields[A].repeatEndAfterLabel=z;var x=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var w=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var t=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatOnString+"</span></div>").appendTo(w);t.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var C=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(w);C.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:h.rtl,localization:h._getDateTimeInputLocalization(),firstDayOfWeek:h.schedulerLocalization.firstDay,todayString:h.schedulerLocalization.todayString,clearString:h.schedulerLocalization.clearString,value:c,formatString:h.editDialogDateFormatString,width:150,theme:h.theme});var s=C.jqxDateTimeInput("getInstance");h.editDialogFields[A].repeatEndOn=t;h.editDialogFields[A].repeatEndOnValue=C;h.editDialogFields[A].repeatEndOnLabel=x;return u};m.detach();h.editDialogFields.repeatEndPanel={};h.editDialogFields.repeatEndPanelContainer=m;o(m,"repeatEndPanel");var q=function(){var z=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ad=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(z);var ay=a("<div class='"+h._editDialogField()+"'></div>").appendTo(z);var am=a("<div style='float:left;'></div>").appendTo(ay);am.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var V=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryDayString+"</div>").appendTo(ay);h.editDialogFields.daily={};h.editDialogFields.daily.repeatDayInterval=am;h.editDialogFields.daily.repeatDayLabel=ad;h.editDialogFields.daily.panel=z;z.detach();h.editDialogFields.weekly={};var E=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ag=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(E);var t=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var at=a("<div style='float:left;'></div>").appendTo(t);at.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var W=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryWeekString+"</div>").appendTo(t);h.editDialogFields.weekly.repeatWeekInterval=at;h.editDialogFields.weekly.repeatWeekIntervalLabel=ag;var F=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(E);var Z=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var T=a("<div style='float:left;'></div>").appendTo(Z);h.editDialogFields.weekly.repeatDaysLabel=F;h.editDialogFields.weekly.repeatDays=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw,"firstTwoLetters");var B=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+P+"</span></div>");T.append(B);var Y=aw==1?true:false;B.jqxCheckBox({rtl:h.rtl,checked:Y,width:50,theme:h.theme});h.editDialogFields.weekly.repeatDays.push(B)}h.editDialogFields.weekly.panel=E;E.detach();h.editDialogFields.monthly={};var U=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var av=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(U);var M=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var A=a("<div style='float:left;'></div>").appendTo(M);A.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var ai=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthString+"</div>").appendTo(M);h.editDialogFields.monthly.repeatMonth=A;h.editDialogFields.monthly.repeatMonthLabel=av;var an=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(U);var H=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var x=a("<div style='float:left;'></div>").appendTo(H);var al=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthDayString+"</span></div>").appendTo(x);al.jqxRadioButton({rtl:h.rtl,groupName:"month",width:60,checked:true,theme:h.theme});var ao=a("<div style='float:left;'></div>").appendTo(x);ao.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.monthly.repeatMonthDay=ao;h.editDialogFields.monthly.repeatMonthDayBool=al;h.editDialogFields.monthly.repeatMonthDayLabel=an;var O=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(U);var aj=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var aa=a("<div style='float:left;'></div>").appendTo(aj);var G=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(aa);G.jqxRadioButton({groupName:"month",width:25,checked:false,theme:h.theme});var L=a("<div style='float:left;'></div>").appendTo(aa);var Q=new Array();Q.push(h.schedulerLocalization.editDialogRepeatFirstString);Q.push(h.schedulerLocalization.editDialogRepeatSecondString);Q.push(h.schedulerLocalization.editDialogRepeatThirdString);Q.push(h.schedulerLocalization.editDialogRepeatFourthString);Q.push(h.schedulerLocalization.editDialogRepeatLastString);L.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:Q,autoDropDownHeight:true,width:"auto",theme:h.theme});var S=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(aa);var ac=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);ac.push(P)}S.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,autoDropDownHeight:true,selectedIndex:1,source:ac,width:"auto",theme:h.theme});h.editDialogFields.monthly.repeatDayOfWeekBool=G;h.editDialogFields.monthly.repeatDayOfWeek=S;h.editDialogFields.monthly.repeatDayOfWeekLabel=O;h.editDialogFields.monthly.repeatDayOfWeekType=L;h.editDialogFields.monthly.panel=U;U.detach();h.editDialogFields.yearly={};var aq=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var R=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(aq);var ak=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ab=a("<div style='float:left;'></div>").appendTo(ak);ab.jqxNumberInput({decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var D=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryYearString+"</div>").appendTo(ak);h.editDialogFields.yearly.repeatYear=ab;h.editDialogFields.yearly.repeatYearLabel=R;var N=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(aq);var ah=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var X=a("<div style='float:left;'></div>").appendTo(ah);var af=a("<div style='position:relative; top: 6px; float:left;'></span></div>").appendTo(X);af.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:true,theme:h.theme});h.editDialogFields.yearly.repeatYearBool=af;h.editDialogFields.yearly.repeatYearBoolLabel=N;var v=a("<div style='float:left;'></div>").appendTo(X);var ap=new Array();for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}v.jqxDropDownList({height:27,selectedIndex:0,dropDownWidth:150,width:"auto",source:ap,theme:h.theme});h.editDialogFields.yearly.repeatYearMonth=v;var y=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(X);y.jqxNumberInput({height:25,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.yearly.repeatYearDay=y;var ae=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(aq);var s=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ar=a("<div style='float:left;'></div>").appendTo(s);var C=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(ar);C.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:false,theme:h.theme});var au=a("<div style='float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeekBool=C;h.editDialogFields.yearly.repeatDayOfWeekType=au;h.editDialogFields.yearly.repeatDayOfWeekLabel=ae;var K=new Array();K.push(h.schedulerLocalization.editDialogRepeatFirstString);K.push(h.schedulerLocalization.editDialogRepeatSecondString);K.push(h.schedulerLocalization.editDialogRepeatThirdString);K.push(h.schedulerLocalization.editDialogRepeatFourthString);K.push(h.schedulerLocalization.editDialogRepeatLastString);au.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:K,autoDropDownHeight:true,width:"auto",theme:h.theme});var I=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeek=I;var u=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);u.push(P)}I.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:1,autoDropDownHeight:true,source:u,width:"auto",theme:h.theme});var ap=new Array();var J=a("<div style='line-height:25px; height: 25px; margin-left: 5px; float:left;'>"+h.schedulerLocalization.editDialogRepeatOfString+"</div>").appendTo(ar);var w=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}h.editDialogFields.yearly.repeatDayOfWeekMonth=w;w.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:0,source:ap,width:"auto",theme:h.theme});h.editDialogFields.yearly.panel=aq;aq.detach()};if(h.editAppointment&&h.editAppointment.rootAppointment){q()}else{q()}var g=a("<div></div>");i.append(g);var f=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogExceptionsString+"</div>").appendTo(g);var e=a("<div class='"+h._editDialogField()+"'></div>").appendTo(g);var d=a("<div style='position:relative; top:2px;'>"+h.schedulerLocalization.editDialogResetExceptionsString+"</div>").appendTo(e);d.jqxCheckBox({width:"100%",theme:h.theme});g.hide();h.editDialogFields.resetExceptions=d;h.editDialogFields.resetExceptionsLabel=f;h.editDialogFields.resetExceptionsContainer=g;var n=new Array();n.push(h.schedulerLocalization.editDialogRepeatNeverString);n.push(h.schedulerLocalization.editDialogRepeatDailyString);n.push(h.schedulerLocalization.editDialogRepeatWeeklyString);n.push(h.schedulerLocalization.editDialogRepeatMonthlyString);n.push(h.schedulerLocalization.editDialogRepeatYearlyString);k.jqxDropDownList({rtl:h.rtl,height:27,width:"100%",autoDropDownHeight:true,theme:h.theme,source:n,selectedIndex:0});h.editDialogFields.repeat=k;h.editDialogFields.repeatLabel=j;h.editDialogFields.repeatContainer=b;h.editDialogFields.repeatPanel=r;this.addHandler(k,"change",function(u){var t=u.args.item.index;var s=function(){r.children().detach();switch(t){case 0:break;case 1:h.editDialogFields.daily.panel.css("visibility","visible");r.append(h.editDialogFields.daily.panel);break;case 2:h.editDialogFields.weekly.panel.css("visibility","visible");r.append(h.editDialogFields.weekly.panel);break;case 3:h.editDialogFields.monthly.panel.css("visibility","visible");r.append(h.editDialogFields.monthly.panel);break;case 4:h.editDialogFields.yearly.panel.css("visibility","visible");r.append(h.editDialogFields.yearly.panel);break}r.append(m);if(t==0){h.editDialogFields.repeatEndPanelContainer.hide()}else{h.editDialogFields.repeatEndPanelContainer.show()}if(!h.isTouchDevice()){p.jqxWindow({height:150});p.jqxWindow({height:i[0].scrollHeight+40})}}()})},_initMenu:function(){var c=this;if(this.host.jqxMenu){if(this.menu){if(this._hasOpenedMenu){return}this.removeHandler(this.menu,"keydown");this.removeHandler(this.menu,"closed");this.removeHandler(this.menu,"itemclick");this.menu.jqxMenu("destroy");this.menu.removeData();this.menu.remove()}this.menuitemsarray=new Array();this.menu=a('<div id="menu.jqxscheduler'+this.element.id+'" style="white-space: nowrap; z-index: 9999999999999;"></div>');this.host.append(this.menu);this.addHandler(a(window),"orientationchange.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.addHandler(a(window),"orientationchanged.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.removeHandler(this.menu,"keydown");this.addHandler(this.menu,"keydown",function(e){if(e.keyCode==27){c.menu.jqxMenu("close");c._hasOpenedMenu=false;c.focus()}});this.addHandler(this.menu,"open",function(e){if(c.contextMenuOpen){c.contextMenuOpen(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._raiseEvent("contextMenuOpen",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});c._removeFeedbackAndStopResize()});this.addHandler(this.menu,"close",function(e){if(c.contextMenuClose){c.contextMenuClose(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._hasOpenedMenu=false;if(document.activeElement&&document.activeElement.className.indexOf("jqx-menu")>=0&&!c.menuOpening){c.focus()}c._raiseEvent("contextMenuClose",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null})});this.addHandler(this.host,"contextmenu",function(e){e.preventDefault();e.stopPropagation();return false});this.addHandler(this.menu,"itemclick",function(h){var g=c.menu.jqxMenu("getItem",h.args.id);c._raiseEvent("contextMenuItemClick",{item:g,menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});if(c.contextMenuItemClick){var f=c.contextMenuItemClick(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,h);if(f==true){if(new Date()-c.renderedTime>500){c._renderrows()}c.menu.jqxMenu("close");c._hasOpenedMenu=false;return}}if(g.id=="createAppointment"){c._initDialog();c._openDialog();if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(g.id=="editAppointment"){var e=c.getJQXAppointmentByElement(c.selectedAppointment);if(!e.readOnly){var f=c._initDialog(e);if(f!==false){c._openDialog()}}if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}return true}}});var d=new Array();d.push({label:this.schedulerLocalization.contextMenuEditAppointmentString,id:"editAppointment"});d.push({label:this.schedulerLocalization.contextMenuCreateAppointmentString,id:"createAppointment"});var b={rtl:this.rtl,keyboardNavigation:true,source:d,popupZIndex:999999,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0};if(c.contextMenuCreate){c.contextMenuCreate(c.menu,b)}c._raiseEvent("contextMenuCreate",{menu:c.menu,settings:b});this.menu.jqxMenu(b)}},_initDialog:function(b,c){var m=this;var k=null;if(b&&b.isRecurrentAppointment()&&!m.editRecurrenceDialog.jqxWindow("isOpen")){var l=m.host.coord();var o=l.top+m.host.height()/2-m.editRecurrenceDialog.height()/2;var g=l.left+m.host.width()/2-m.editRecurrenceDialog.width()/2;m.editRecurrenceDialog.find("button:first").focus();setTimeout(function(){m.editRecurrenceDialog.find("button:first").focus()},25);m.editRecurrenceDialog.jqxWindow("move",g,o);m.editRecurrenceDialog.jqxWindow("open");m.editSeries=function(i){if(i){m._initDialog(b.rootAppointment);m._openDialog()}else{m._initDialog(b);m._openDialog()}};m.overlay.show();m.overlay.width(m.host.width());m.overlay.height(m.host.height());var l=m.host.coord();m.overlay.offset(l);if(!m._editDialog){m._initDialog()}return false}m.editAppointment=b;if(!b){k=m.getSelection();if(!k){m.focus();if(!m.focusedCell){m._updateFocusedCell()}if(m.focusedCell){m.focusedCell.setAttribute("data-selected","true");m._lastSelectedCell=m.focusedCell;m._updateCellsSelection(m.focusedCell);k=m.getSelection()}}}if(k||b){var d=k?k.from:b.from;var h=k?k.to:b.to;var n=m.getSelectedCells();if(n.length>0){var f=n[n.length-1].getAttribute("data-end-date");if(f){h=a.jqx.scheduler.utilities.getEndOfDay(h)}}m._editStart=d;m._editEnd=h}if(m.editDialogFields&&m.editDialogFields.resourceContainer&&m._resources.length>0){var e=new Array();for(var j=0;j<m._resources.length;j++){e.push(m._resources[j])}var r=true;if(e.length>10){r=false}m.editDialogFields.resource.jqxDropDownList({source:e,selectedIndex:0,autoDropDownHeight:r});if(!b){m.editDialogFields.resource.val(k.resourceId)}}if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(b&&b.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}if(m._editDialog==null){m._editDialog=null;var p=b==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;var q=a("<div><div>"+p+"</div><div id='dialog"+this.element.id+"'></div></div>");a(q).jqxWindow({rtl:m.rtl,autoFocus:false,autoOpen:false,animationType:"none",theme:m.theme,width:540,maxHeight:800,minHeight:110,resizable:false,initContent:function(){m.editDialogFields={};if(d==null&&h==null&&m._editStart&&m._editEnd){d=m._editStart;h=m._editEnd}q.jqxWindow("setTitle",p);var H=a(q.children()[1]);var A=a("<div></div>");H.append(A);var C=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogSubjectString+"</div>").appendTo(A);var ad=a("<div class='"+m._editDialogField()+"'></div>").appendTo(A);var U=a("<input type='text'/>").appendTo(ad);U.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});U.css("box-sizing","border-box");m.editDialogFields.subject=U;m.editDialogFields.subjectLabel=C;m.editDialogFields.subjectContainer=A;var P=a("<div></div>");H.append(P);var z=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogLocationString+"</div>").appendTo(P);var Z=a("<div class='"+m._editDialogField()+"'></div>").appendTo(P);var T=a("<input type='text'/>").appendTo(Z);T.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});T.css("box-sizing","border-box");m.editDialogFields.location=T;m.editDialogFields.locationLabel=z;m.editDialogFields.locationContainer=P;var L=a("<div></div>");H.append(L);var X=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogFromString+"</div>").appendTo(L);var av=a("<div class='"+m._editDialogField()+"'></div>").appendTo(L);var aq=a("<div></div>").appendTo(av);var V=null;if(!d){var ay=new Date();ay.setHours(9,0,0);V=ay;d=new a.jqx.date(ay)}else{V=d.toDate()}aq.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:V,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.from=aq;m.editDialogFields.fromLabel=X;m.editDialogFields.fromContainer=L;var aC=a("<div></div>");H.append(aC);var y=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogToString+"</div>").appendTo(aC);var Y=a("<div class='"+m._editDialogField()+"'></div>").appendTo(aC);var S=a("<div></div>").appendTo(Y);var x=null;if(!h){var ay=new Date();ay.setHours(10,0,0);x=ay;h=new a.jqx.date(ay)}else{x=h.toDate()}S.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:x,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.to=S;m.editDialogFields.toLabel=y;m.editDialogFields.toContainer=aC;m._changeFromUser=true;m.addHandler(aq,"change",function(aH){if(!m._changeFromUser){return}var aF=aH.args;var aK=aH.args.oldValue;var aJ=S.val("date");var aE=new a.jqx.date(aJ)-new a.jqx.date(aK);if(aE>0){var aG=aE*10000;var aI=a.jqx.timeSpan(aG);var i=new a.jqx.date(aH.args.newValue).add(aI);S.val(i.toDate())}});m.addHandler(S,"change",function(aE){if(!m._changeFromUser){return}var i=aE.args;var aG=aE.args.oldValue;var aF=S.val("date");if(aq.val("date")>=aF){S.val(aG)}});var t=a("<div></div>");H.append(t);var R=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogAllDayString+"</div>").appendTo(t);var ar=a("<div class='"+m._editDialogField()+"'></div>").appendTo(t);var ai=a("<div style='top: 8px; position:relative;'></div>").appendTo(ar);ai.jqxCheckBox({rtl:m.rtl,width:25,theme:m.theme});m.editDialogFields.allDay=ai;m.editDialogFields.allDayLabel=R;m.editDialogFields.allDayContainer=t;m.addHandler(t,"change",function(i){if(i.args.checked){S.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString});aq.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString})}else{S.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString});aq.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString})}});if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}if(m._views[m._view].type.indexOf("month")>=0||(d&&d.equals(h))||(h&&h.equals(a.jqx.scheduler.utilities.getEndOfDay(h))&&d&&d.equals(a.jqx.scheduler.utilities.getStartOfDay(d)))){m.editDialogFields.allDay.val(true)}var w=a("<div></div>");H.append(w);var W=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogTimeZoneString+"</div>").appendTo(w);var at=a("<div class='"+m._editDialogField()+"'></div>").appendTo(w);var ao=a("<div></div>").appendTo(at);var u=new Array();u.push({displayName:m.schedulerLocalization.editDialogSelectTimeZoneString,id:null});u=u.concat(m.timeZones);for(var aw=0;aw<u.length;aw++){var au=u[aw];var G=au.displayName.indexOf(")");if(G>=0){var af=au.displayName.substring(2+G)}else{var af=au.displayName}au.searchName=af}ao.jqxDropDownList({height:27,rtl:m.rtl,placeHolder:m.schedulerLocalization.editDialogSelectTimeZoneString,width:"100%",theme:m.theme,searchMember:"searchName",source:u,displayMember:"displayName",valueMember:"id"});m.editDialogFields.timeZone=ao;m.editDialogFields.timeZoneLabel=W;m.editDialogFields.timeZoneContainer=w;m.initRepeatPanels(q,H,h.toDate());if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(m.editAppointment&&m.editAppointment.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}var K=a("<div></div>");H.append(K);var aA=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogDescriptionString+"</div>").appendTo(K);var O=a("<div class='"+m._editDialogField()+"'></div>").appendTo(K);var D=a("<textarea type='text' resizable='off' style='position:relative; top: 3px; padding:3px;'></textarea>").appendTo(O);D.jqxInput({rtl:m.rtl,height:40,width:"100%",theme:m.theme});D.css("box-sizing","border-box");m.editDialogFields.description=D;m.editDialogFields.descriptionLabel=aA;m.editDialogFields.descriptionContainer=K;var ac=a("<div></div>");H.append(ac);var aD=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogColorString+"</div>").appendTo(ac);var Q=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ac);var F=a("<div></div>").appendTo(Q);var I=function(aE){if(aE==-1){return""}var i=m.colors[aE];var aF="";var aF="";aF+="<div style='margin-top: 1px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};var an=function(aG,aE){if(aE<0){aG.css("top","4px");aG.css("position","relative");return aG[0].outerHTML}var i=m.colors[aE];var aF="";aF+="<div style='margin-top: 2px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};F.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:-1,placeHolder:m.schedulerLocalization.editDialogColorPlaceHolderString,selectionRenderer:an,renderer:I,source:m.colors,width:"100%",theme:m.theme});m.editDialogFields.color=F;m.editDialogFields.colorLabel=aD;m.editDialogFields.colorContainer=ac;var ah=a("<div></div>");H.append(ah);var az=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogStatusString+"</div>").appendTo(ah);var N=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ah);var B=a("<div></div>").appendTo(N);B.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:2,autoDropDownHeight:true,source:m.schedulerLocalization.editDialogStatuses,width:"100%",theme:m.theme});m.editDialogFields.status=B;m.editDialogFields.statusLabel=az;m.editDialogFields.statusContainer=ah;var ag=a("<div></div>");H.append(ag);var M=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogResourceIdString+"</div>").appendTo(ag);var am=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ag);var ab=a("<div></div>").appendTo(am);var E=new Array();for(var aw=0;aw<m._resources.length;aw++){E.push(m._resources[aw])}var v=true;if(E.length>10){v=false}ab.jqxDropDownList({height:27,rtl:m.rtl,source:E,selectedIndex:0,autoDropDownHeight:v,width:"100%",theme:m.theme});m.editDialogFields.resource=ab;m.editDialogFields.resourceLabel=M;m.editDialogFields.resourceContainer=ag;if(E.length==0){ag.hide()}if(!b&&k){m.editDialogFields.resource.val(k.resourceId)}var ae=a("<div></div>");H.append(ae);var al=a("<div style='width:100%;' class='"+m._editDialogField()+"'></div>").appendTo(ae);var ap=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogCancelString+"</button>").appendTo(al);var aj=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogDeleteString+"</button>").appendTo(al);var ak=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteSeriesString+"</button>").appendTo(al);var J=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteString+"</button>").appendTo(al);var aa=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogSaveString+"</button>").appendTo(al);var aB=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveSeriesString+"</button>").appendTo(al);var s=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveString+"</button>").appendTo(al);var ax=25;if(m.isTouchDevice()){ax=null}aj.jqxButton({rtl:m.rtl,theme:m.theme});ak.jqxButton({rtl:m.rtl,theme:m.theme});J.jqxButton({rtl:m.rtl,theme:m.theme});aa.jqxButton({rtl:m.rtl,theme:m.theme});ap.jqxButton({rtl:m.rtl,theme:m.theme});aB.jqxButton({rtl:m.rtl,theme:m.theme});s.jqxButton({rtl:m.rtl,theme:m.theme});aB.hide();s.hide();m.editDialogFields.saveOccurrenceButton=s;m.editDialogFields.saveSeriesButton=aB;m.editDialogFields.saveButton=aa;m.editDialogFields.cancelButton=ap;m.editDialogFields.deleteButton=aj;m.editDialogFields.deleteSeriesButton=ak;m.editDialogFields.deleteExceptionsButton=J;m.editDialogFields.buttons=al;m.addHandler(aj,"click",function(){q.jqxWindow("close");m.overlay.hide();m._deleteAppointment(m.editAppointment)});m.addHandler(ap,"click",function(){q.jqxWindow("close");m.overlay.hide()});m.addHandler(s,"click",function(){if(!m.editAppointment.isException()){if(m.editAppointment.rootAppointment!=null){m.editAppointment.rootAppointment.exceptions.push(m.editAppointment);m.editAppointment.rootAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}else{m.editAppointment.exceptions.push(m.editAppointment);m.editAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}}else{var aG=m.editAppointment.rootAppointment?m.editAppointment.rootAppointment.exceptions:m.editAppointment.exceptions;for(var aF=0;aF<aG.length;aF++){if(aG[aF].occurrenceFrom.equals(m.editAppointment.occurrenceFrom)){aG[aF]=m.editAppointment;break}}}var aE=m._setAppointmentPropertiesFromDialog(m.editAppointment,"occurrence");if(!aE){return}m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment.boundAppointment};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aB,"click",function(){var aE=m.editAppointment;if(aE.rootAppointment){aE=aE.rootAppointment}var i=m._setAppointmentPropertiesFromDialog(aE,"series");if(!i){return}m.changedAppointments[aE.id]={type:"Update",appointment:aE.boundAppointment};m._raiseEvent("appointmentChange",{appointment:aE.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aa,"click",function(){var i=true;if(m.editAppointment==null){var aE=new a.jqx.scheduler.appointment();i=m._setAppointmentPropertiesFromDialog(aE,"none");if(i){m.addAppointment(aE)}}else{if(m.editAppointment.rootAppointment){s.trigger("click");i=false}else{if(m.editAppointment.isRecurrentAppointment()){aB.trigger("click");i=false}else{i=m._setAppointmentPropertiesFromDialog(m.editAppointment,"none");if(i){m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment?m.editAppointment.boundAppointment:null};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows()}}}}if(i){q.jqxWindow("close");m.overlay.hide()}});m.addHandler(q,"close",function(i){m.overlay.hide();m.focus();if(m.editDialogClose){m.editDialogClose(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null)}m._raiseEvent("editDialogClose",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null})});if(m.editDialogCreate){m.editDialogCreate(q,m.editDialogFields,m.editAppointment)}m._raiseEvent("editDialogCreate",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null});q.jqxWindow({height:H[0].scrollHeight+40})}});m._editDialog=q}if(!m.dialogOpenings){m.dialogOpenings=0}m.removeHandler(m._editDialog,"open");m.addHandler(m._editDialog,"open",function(t){if(m.editDialogOpen&&m.editDialogFields){var i=m.editDialogOpen(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null);if(i==true){return}}if(m.rtl){m._editDialog.find(".jqx-scheduler-edit-dialog-label").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-label-rtl"));m._editDialog.find(".jqx-scheduler-edit-dialog-field").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-field-rtl"));m.editDialogFields.saveOccurrenceButton.css("float","left");m.editDialogFields.saveSeriesButton.css("float","left");m.editDialogFields.saveButton.css("float","left");m.editDialogFields.cancelButton.css("float","left");m.editDialogFields.deleteButton.css("float","left");m.editDialogFields.deleteSeriesButton.css("float","left");m.editDialogFields.deleteExceptionsButton.css("float","left");m.editDialogFields.buttons.css("width","auto");m.editDialogFields.allDay.css("float","right")}setTimeout(function(){var v=m.editAppointment?m.editAppointment.boundAppointment:null;if(m.editAppointment&&m.editAppointment.rootAppointment){v=m.editAppointment.rootAppointment.boundAppointment}m._raiseEvent("editDialogOpen",{dialog:m._editDialog,fields:m.editDialogFields,appointment:v})});var s=function(){setTimeout(function(){if(!c){m.editDialogFields.subject.focus();m.editDialogFields.subject.select()}else{m.editDialogFields.deleteButton.focus()}},1)};var u=m.editAppointment==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;m._editDialog.jqxWindow({title:u});if(0==m.dialogOpenings&&!b){m.dialogOpenings++;if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}m.editDialogFields.deleteButton.hide();s();return}if(m.editDialogFields){m.editDialogFields.subject.val("");m.editDialogFields.location.val("");s();m.editDialogFields.resetExceptions.val(false);m.editDialogFields.description.val("");if(!b){m.editDialogFields.deleteButton.hide()}if(b){m.dialogOpenings++;m.editDialogFields.deleteButton.show();m.editDialogFields.subject.val(b.subject);m.editDialogFields.location.val(b.location);m.editDialogFields.description.val(b.description);m.editDialogFields.timeZone.val(b.timeZone);if(m.colors.indexOf(b.borderColor)>=0){m.editDialogFields.color.val(b.borderColor)}else{m.editDialogFields.color.jqxDropDownList("clearSelection")}m.editDialogFields.allDay.val(b.allDay);m.editDialogFields.resource.val(b.resourceId);m.editDialogFields.status.val(b.status);if(b.timeZone){b.from=b.from.toTimeZone(b.timeZone);b.to=b.to.toTimeZone(b.timeZone)}d=b.from;h=b.to;if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}m._setAppointmentPropertiesToDialog(b,d,h,k?k.resourceId:null)}else{m.editDialogFields.saveButton.show();m._setAppointmentPropertiesToDialog(null,d,h,k?k.resourceId:null)}if(d&&h){m._changeFromUser=false;m.editDialogFields.from.val(d.toDate());m.editDialogFields.to.val(h.toDate());m._changeFromUser=true}if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}}});m.removeHandler(m._editDialog,"keydown");m.addHandler(m._editDialog,"keydown",function(s){if(m.editDialogKeyDown){var i=m.editDialogKeyDown(q,m.editDialogFields,m.editAppointment,s);if(i!=undefined){return i}}if(s.keyCode==13){if(a(document.activeElement).ischildof(m._editDialog)){if(document.activeElement.nodeName.toLowerCase()=="button"){return true}if(b){if(b.isException()||b.rootAppointment){m.editDialogFields.saveOccurrenceButton.trigger("click")}else{if(b.isRecurrentAppointment()){m.editDialogFields.saveSeriesButton.trigger("click")}else{m.editDialogFields.saveButton.trigger("click")}}}else{m.editDialogFields.saveButton.trigger("click")}}}else{if(s.keyCode==27){m.editDialogFields.cancelButton.trigger("click")}}})},openMenu:function(e,c){var d=this;if(!d.menu){d._initMenu()}var b=d._views[d._view].type;if(d.contextMenu&&d.menu){if(!d.selectedAppointment){d.menu.jqxMenu("hideItem","editAppointment")}else{d.menu.jqxMenu("showItem","editAppointment")}if(arguments.length<2){if(d.selectedAppointment){var f=d.selectedAppointment.coord();e=f.left;c=f.top}else{if(d.focusedCell){var f=a(d.focusedCell).coord()}}e=f.left;c=f.top}d.menu.jqxMenu("open",e,c);d._hasOpenedMenu=true}},closeMenu:function(){var b=this;if(b.contextMenu&&b.menu){setTimeout(function(){b.menu.jqxMenu("close")})}},closeDialog:function(){var b=this;b._editDialog.jqxWindow("close")},openDialog:function(d,e){var f=this;var c=f._views[f._view].type;if(f.selectedJQXAppointment){var b=f._initDialog(f.selectedJQXAppointment);if(b!==false){f._openDialog(d,e)}}else{if(f.getSelection()==null){f.focus();f.focusedCell.setAttribute("data-selected","true");f._lastSelectedCell=f.focusedCell;f._updateCellsSelection(f.focusedCell)}f._initDialog();f._openDialog(d,e)}},_openDialog:function(d,c){var f=this;var j=f._views[f._view].type;if(!f.editDialog){return}var e=f.host.coord();f.overlay.show();f.overlay.css("z-index",9999999);f.overlay.width(f.host.width());f.overlay.height(f.host.height());f.overlay.offset(e);var g=f.isTouchDevice();if(g){f._editDialog.jqxWindow("move",e.left,e.top);f._editDialog.jqxWindow({draggable:false,maxWidth:f.host.width(),maxHeight:f.host.height()});f._editDialog.jqxWindow({width:f.host.width(),height:f.host.height()});f._editDialog.jqxWindow("open");f._editDialog.jqxWindow("move",e.left,e.top)}else{if(d!=undefined&&c!=undefined){f._editDialog.jqxWindow("move",d,c);f._editDialog.jqxWindow("open")}else{var i=f._editDialog.height();if(i<400){i=400}var h=e.top+f.host.height()/2-i/2;var b=e.left+f.host.width()/2-f._editDialog.width()/2;f._editDialog.jqxWindow("move",b,h);f._editDialog.jqxWindow("open")}}setTimeout(function(){f.overlay.css("z-index",999)},50)},_setAppointmentPropertiesFromDialog:function(c,d){var e=this;var b=function(n){var x=e._views[e._view].type;var u=e._views[e._view];var A=e.editDialogFields.from.val("date");var h=e.editDialogFields.to.val("date");if(A>h){e.editDialogFields.from.jqxDateTimeInput("focus");return false}if(A==h){if(x.indexOf("month")>=0){return true}return false}n.resourceId=e.editDialogFields.resource.val();if(e.editDialogFields.resourceContainer.css("display")=="none"){n.resourceId=""}n.description=e.editDialogFields.description.val();n.allDay=e.editDialogFields.allDay.val();n.status=e.editDialogFields.status.val();n.location=e.editDialogFields.location.val();n.timeZone=e.editDialogFields.timeZone.val();if(n.timeZone==""&&e.timeZone!=""){n.timeZone=e.timeZone}n.from=new a.jqx.date(A,n.timeZone);n.to=new a.jqx.date(h,n.timeZone);if(e.timeZone){n.from=n.from.toTimeZone(e.timeZone);n.to=n.to.toTimeZone(e.timeZone)}else{n.from=n.from.toTimeZone(null);n.to=n.to.toTimeZone(null)}if(n.allDay){n.from=a.jqx.scheduler.utilities.getStartOfDay(n.from);n.to=a.jqx.scheduler.utilities.getEndOfDay(n.to)}if(e.editDialogFields.color.val()){var v=e.getAppointmentColors(e.editDialogFields.color.val());n.color=v.color;n.background=v.background;n.borderColor=v.border}n.subject=e.editDialogFields.subject.val();var f=e.editDialogFields.repeat.jqxDropDownList("selectedIndex");var r=new a.jqx.scheduler.recurrencePattern();var j=e.editDialogFields.repeatEndPanel;r.timeZone=e.timeZone;r.from=n.from.clone();if(d=="occurrence"){if(n.rootAppointment){r.from=n.rootAppointment.from.clone()}}if(e.editDialogFields.resetExceptions.val()){n.exceptions=new Array();n.recurrenceException=new Array()}if(j.repeatEndNever.val()){r.count=1000;r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndAfter.val()){r.count=j.repeatEndAfterValue.val();r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndOn.val()){r.count=1000;var h=new a.jqx.date(j.repeatEndOnValue.jqxDateTimeInput("getDate"),e.timeZone);r.to=h}}}switch(f){case 0:default:n.clearRecurrence();break;case 1:var k=e.editDialogFields.daily;var F=k.repeatDayInterval.val();r.interval=F;r.freq="daily";break;case 2:var w=e.editDialogFields.weekly;var F=w.repeatWeekInterval.val();var q=[{Sunday:0},{Monday:1},{Tuesday:2},{Wednesday:3},{Thursday:4},{Friday:5},{Saturday:6}];var p=w.repeatDays;var o=new Array();r.weekDays={};for(var C=0;C<7;C++){var B=p[C].val();if(B){if(C==0){o.push(6)}else{o.push(C-1)}a.extend(r.weekDays,q[C])}}r.freq="weekly";r.byweekday=o;r.interval=F;break;case 3:var D=e.editDialogFields.monthly;var F=D.repeatMonth.val();if(D.repeatMonthDayBool.val()){r.day=D.repeatMonthDay.val();r.bymonthday=new Array();r.bymonthday.push(r.day)}else{var y=D.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=D.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="monthly";r.interval=F;break;case 4:var G=e.editDialogFields.yearly;var F=G.repeatYear.val();if(G.repeatYearBool.val()){r.day=G.repeatYearDay.val();r.month=G.repeatYearMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);r.byyearday=new Array();r.byyearday.push(r.day)}else{r.month=G.repeatDayOfWeekMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);var y=G.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=G.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="yearly";r.interval=F;break}if(n.rootAppointment){n.rootAppointment.recurrencePattern=r}else{if(f>0){n.recurrencePattern=r}}var m={};var t={};for(var H in e.appointmentDataFields){var g=e.appointmentDataFields[H];var z=n[H];m[H]=z;if(H=="from"||H=="to"){z=z.toDate()}t[g]=z}m.originalData=t;m.jqxAppointment=n;n.boundAppointment=m;return true}(c);return b},_setAppointmentPropertiesToDialog:function(e,h,d,g){var f=this;var c=function(){var p=f.editDialogFields.repeatEndPanel;p.repeatEndNever.jqxRadioButton({checked:true});p.repeatEndAfter.jqxRadioButton({checked:false});p.repeatEndAfterValue.val(1);p.repeatEndOnValue.val(l);var l=d.toDate();if(f.editDialogFields.daily){var j=f.editDialogFields.daily;j.repeatDayInterval.val(1)}if(f.editDialogFields.weekly){var o=f.editDialogFields.weekly;for(var m=0;m<o.repeatDays.length;m++){if(m==1){o.repeatDays[m].jqxCheckBox({checked:true})}else{o.repeatDays[m].jqxCheckBox({checked:false})}}o.repeatWeekInterval.val(1)}if(f.editDialogFields.monthly){var n=f.editDialogFields.monthly;n.repeatDayOfWeek.jqxDropDownList("selectIndex",1);n.repeatDayOfWeekBool.jqxRadioButton({checked:false});n.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);n.repeatMonthDayBool.jqxRadioButton({checked:true});n.repeatMonthDay.val(1);n.repeatMonth.val(1)}if(f.editDialogFields.yearly){var k=f.editDialogFields.yearly;k.repeatDayOfWeekMonth.jqxDropDownList("selectIndex",0);k.repeatDayOfWeekBool.jqxRadioButton({checked:false});k.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);k.repeatDayOfWeek.jqxDropDownList("selectIndex",1);k.repeatYear.val(1);k.repeatYearMonth.jqxDropDownList("selectIndex",0);k.repeatYearDay.val(1);k.repeatYearBool.val(true)}};c();if(e&&e.isRecurrentAppointment()){if(!e.rootAppointment){f.editDialogFields.resetExceptionsContainer.show()}else{f.editDialogFields.resetExceptionsContainer.hide()}}else{if(e){f.editDialogFields.resetExceptionsContainer.hide();f.editDialogFields.repeat.jqxDropDownList("selectIndex",0)}}if(!e){f.editDialogFields.timeZone.jqxDropDownList("clearSelection");if(!g){f.editDialogFields.resource.jqxDropDownList("selectIndex",0)}else{f.editDialogFields.resource.val(g)}f.editDialogFields.allDay.val(false);if(f._views[f._view].type.indexOf("month")>=0||(h&&h.equals(d))||(d&&d.equals(a.jqx.scheduler.utilities.getEndOfDay(d))&&h&&h.equals(a.jqx.scheduler.utilities.getStartOfDay(h)))){f.editDialogFields.allDay.val(true)}f.editDialogFields.color.jqxDropDownList("clearSelection");f.editDialogFields.description.val("");f.editDialogFields.subject.val("");f.editDialogFields.repeat.jqxDropDownList("selectIndex",0);return}var b=function(j){var r=j.recurrencePattern;if(j.rootAppointment){var r=j.rootAppointment.recurrencePattern}if(r==null){return}var k=r.freq;var p=0;if(k=="daily"){p=1}if(k=="weekly"){p=2}if(k=="monthly"){p=3}if(k=="yearly"){p=4}var n=f.editDialogFields.repeatEndPanel;if(r.count!=1000){n.repeatEndNever.jqxRadioButton({checked:false});n.repeatEndAfter.jqxRadioButton({checked:true});n.repeatEndAfterValue.val(r.count)}else{if(r.to.year()!=9999){n.repeatEndOn.jqxRadioButton({checked:true});n.repeatEndOnValue.val(r.to.toDate())}else{n.repeatEndNever.jqxRadioButton({checked:true})}}f.editDialogFields.repeat.jqxDropDownList("selectIndex",p);switch(p){case 1:var l=r.interval;var q=f.editDialogFields.daily;q.repeatDayInterval.val(l);break;case 2:var l=r.interval;var z=f.editDialogFields.weekly;z.repeatWeekInterval.val(l);var y=r.byweekday;for(var o=0;o<7;o++){var w=z.repeatDays[o];w.val(false)}for(var o=0;o<y.length;o++){var w=y[o];if(w==6){z.repeatDays[0].val(true)}else{z.repeatDays[w+1].val(true)}}break;case 3:var u=f.editDialogFields.monthly;u.repeatMonth.val(r.interval);if(r.bymonthday&&r.bymonthday.length>0){u.repeatMonthDayBool.jqxRadioButton({checked:true});u.repeatMonthDay.val(r.day)}else{u.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}u.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}u.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break;case 4:var t=f.editDialogFields.yearly;if(r.byyearday&&r.byyearday.length>0){t.repeatYearDay.val(r.byyearday[0]);t.repeatYearBool.val(true)}if(r.bymonth&&r.bymonth.length>0){t.repeatYearMonth.val(r.bymonth[0]);t.repeatYearBool.val(true)}if(!r.byyearday||(r.byyearday&&r.byyearday.length==0)){t.repeatDayOfWeekMonth.val(r.bymonth[0]);t.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}t.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}t.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break}};b(e)}});a.jqx.scheduler.column=function(b,c){this.owner=b;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="center";this.cellsalign="center";this.width="auto";this.minwidth=60;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(d,e){if(this[d]){var f=this[d];this[d]=e;this.owner._columnPropertyChanged(this,d,e,f)}else{if(this[d.toLowerCase()]){var f=this[d.toLowerCase()];this[d.toLowerCase()]=e;this.owner._columnPropertyChanged(this,d.toLowerCase(),e,f)}}};this._initfields=function(e){if(e!=null){var d=this;if(a.jqx.hasProperty(e,"dataField")){this.datafield=a.jqx.get(e,"dataField")}if(a.jqx.hasProperty(e,"displayField")){this.displayfield=a.jqx.get(e,"displayField")}else{this.displayfield=this.datafield}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"validation")){this.validation=a.jqx.get(e,"validation")}if(a.jqx.hasProperty(e,"autoCellHeight")){this.autoCellHeight=a.jqx.get(e,"autoCellHeight")}if(a.jqx.hasProperty(e,"text")){this.text=a.jqx.get(e,"text")}else{this.text=this.displayfield}if(a.jqx.hasProperty(e,"sortable")){this.sortable=a.jqx.get(e,"sortable")}if(a.jqx.hasProperty(e,"hidden")){this.hidden=a.jqx.get(e,"hidden")}if(a.jqx.hasProperty(e,"groupable")){this.groupable=a.jqx.get(e,"groupable")}if(a.jqx.hasProperty(e,"renderer")){this.renderer=a.jqx.get(e,"renderer")}if(a.jqx.hasProperty(e,"align")){this.align=a.jqx.get(e,"align")}if(a.jqx.hasProperty(e,"cellsAlign")){this.cellsalign=a.jqx.get(e,"cellsAlign")}if(a.jqx.hasProperty(e,"cellsFormat")){this.cellsFormat=a.jqx.get(e,"cellsFormat")}if(a.jqx.hasProperty(e,"width")){this.width=a.jqx.get(e,"width")}if(a.jqx.hasProperty(e,"minWidth")){this.minwidth=a.jqx.get(e,"minWidth")}if(a.jqx.hasProperty(e,"maxWidth")){this.maxwidth=a.jqx.get(e,"maxWidth")}if(a.jqx.hasProperty(e,"cellsRenderer")){this.cellsRenderer=a.jqx.get(e,"cellsRenderer")}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"pinned")){this.pinned=a.jqx.get(e,"pinned")}if(a.jqx.hasProperty(e,"filterable")){this.filterable=a.jqx.get(e,"filterable")}if(a.jqx.hasProperty(e,"filter")){this.filter=a.jqx.get(e,"filter")}if(a.jqx.hasProperty(e,"resizable")){this.resizable=a.jqx.get(e,"resizable")}if(a.jqx.hasProperty(e,"draggable")){this.draggable=a.jqx.get(e,"draggable")}if(a.jqx.hasProperty(e,"editable")){this.editable=a.jqx.get(e,"editable")}if(a.jqx.hasProperty(e,"initEditor")){this.initeditor=a.jqx.get(e,"initEditor")}if(a.jqx.hasProperty(e,"createEditor")){this.createeditor=a.jqx.get(e,"createEditor")}if(a.jqx.hasProperty(e,"destroyEditor")){this.destroyeditor=a.jqx.get(e,"destroyEditor")}if(a.jqx.hasProperty(e,"getEditorValue")){this.geteditorvalue=a.jqx.get(e,"getEditorValue")}if(a.jqx.hasProperty(e,"className")){this.classname=a.jqx.get(e,"className")}if(a.jqx.hasProperty(e,"cellClassName")){this.cellclassname=a.jqx.get(e,"cellClassName")}if(a.jqx.hasProperty(e,"rendered")){this.rendered=a.jqx.get(e,"rendered")}if(a.jqx.hasProperty(e,"exportable")){this.exportable=a.jqx.get(e,"exportable")}if(a.jqx.hasProperty(e,"nullable")){this.nullable=a.jqx.get(e,"nullable")}if(a.jqx.hasProperty(e,"columnGroup")){this.columngroup=a.jqx.get(e,"columnGroup")}if(!e instanceof String&&!(typeof e=="string")){for(var f in e){if(!d.hasOwnProperty(f)){if(!d.hasOwnProperty(f.toLowerCase())){b.host.remove();throw new Error("jqxScheduler: Invalid property name - "+f+".")}}}}}};this._initfields(c);return this};a.jqx.schedulerDataCollection=function(b){this.records=new Array();this.owner=b;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(d,c){this.records[d]=c};this.isempty=function(c){if(this.records[c]==undefined){return true}return false};this.initialize=function(c){if(c<1){c=1}this.records[c-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(c){return this.records.indexOf(c)};this.add=function(c){if(c==null){return false}this.records[this.records.length]=c;return true};this.insertAt=function(d,c){if(d==null||d==undefined){return false}if(c==null){return false}if(d>=0){if(d<this.records.length){this.records.splice(d,0,c);return true}else{return this.add(c)}}return false};this.remove=function(d){if(d==null||d==undefined){return false}var c=this.records.indexOf(d);if(c!=-1){this.records.splice(c,1);return true}return false};this.removeAt=function(d){if(d==null||d==undefined){return false}if(d<0){return false}if(d<this.records.length){var c=this.records[d];this.records.splice(d,1);return true}return false};return this};a.jqx.scheduler.dataView=function(b){this.that=this;this.scheduler=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(c,i){var l=this;if(a.isArray(c)){l.update(c);return}var j=c._source?true:false;var e=null;this._sortData=null;this._sortHierarchyData=null;if(j){e=c;c=c._source}else{e=new a.jqx.dataAdapter(c,{autoBind:false})}var f=function(p){e.recordids=[];e.records=new Array();e.cachedrecords=new Array();e.originaldata=new Array();e._options.totalrecords=p.totalrecords;e._options.originaldata=p.originaldata;e._options.recordids=p.recordids;e._options.cachedrecords=new Array();e._options.pagenum=p.pagenum;e._options.pageable=p.pageable;if(c.type!=undefined){e._options.type=c.type}if(c.formatdata!=undefined){e._options.formatData=c.formatdata}if(c.contenttype!=undefined){e._options.contentType=c.contenttype}if(c.async!=undefined){e._options.async=c.async}if(c.updaterow!=undefined){e._options.updaterow=c.updaterow}if(c.addrow!=undefined){e._options.addrow=c.addrow}if(c.deleterow!=undefined){e._options.deleterow=c.deleterow}if(p.pagesize==0){p.pagesize=10}e._options.pagesize=p.pagesize};var m=function(p){p.originaldata=e.originaldata;p.records=e.records;p.hierarchy=e.hierarchy;if(!p.scheduler.serverProcessing){p._sortData=null;p._sortfield=null;p._filteredData=null;p._sortHierarchyData=null}if(!p.hierarchy){p.hierarchy=new Array();e.hierarchy=new Array()}if(e._source.totalrecords){p.totalrecords=e._source.totalrecords}else{if(e._source.totalRecords){p.totalrecords=e._source.totalRecords}else{if(p.hierarchy.length!==0){p.totalrecords=p.hierarchy.length}else{p.totalrecords=p.records.length}}}p.cachedrecords=e.cachedrecords};f(this);this.source=c;if(i!==undefined){var n=i}var l=this;switch(c.datatype){case"local":case"array":default:if(c.localdata==null){c.localdata=[]}if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k)}break;case"ics":case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(p){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k);return}var h={};var g=0;var o={};var d=e._options.data;if(e._options.data){a.extend(e._options.data,o)}else{if(c.data){a.extend(o,c.data)}e._options.data=o}var k=function(){var q=a.jqx.browser.msie&&a.jqx.browser.version<9;var r=function(){m(l);l.update(e.records)};if(q){try{r()}catch(p){}}else{r()}};e.unbindDownloadComplete(b+l.scheduler.element.id);e.bindDownloadComplete(b+l.scheduler.element.id,k);e._source.loaderror=function(r,p,q){k()};if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}e._options.data=d}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(a.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(d)&&a.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(a.jqx.dataFormat.isDate(d)&&a.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(d)&&!a.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(l){if(this.scheduler.serverProcessing){return l}var c=new Array();if(this.filters.length){var f=new Array();var k=function(o,s){for(var q=0;q<o.length;q++){var r=o[q];r._visible=true;var m=undefined;for(var p=0;p<this.filters.length;p++){var n=this.filters[p].filter;var t=r[this.filters[p].datafield];var u=n.evaluate(t);if(m==undefined){m=u}else{if(n.operator=="or"){m=m||u}else{m=m&&u}}}r._visible=false;if(m||r.aggregate){r._visible=true;s.push(r);f[r.uid]=r}}};if(!this._filteredData){if(this.source.hierarchy||(this.scheduler.source.hierarchy&&this.scheduler.source.hierarchy.length>0)){var j=new Array();var g=function(n,o){for(var m=0;m<o.length;m++){var p=o[m];j.push(p);if(p.records&&p.records.length>0){g(p,p.records)}}};g(null,l);k.call(this,j,c);for(var d=0;d<c.length;d++){var e=c[d];while(e.parent){var h=e.parent;if(!f[h.uid]){h._visible=true;f[h.uid]=h}e=h}}c=l}else{k.call(this,l,c)}this._filteredData=c;this.rows=c}else{this.rows=this._filteredData}}else{this.rows=l}return this.rows};this.getid=function(j,d,e){if(a(j,d).length>0){return a(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=a(d).attr(j);if(c!=null&&c.toString().length>0){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.scheduler.appointmentsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.scheduler.appointmentsByKey["jqx"+f];if(!g){var g=this.scheduler.appointmentsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
+(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.scheduler.utilities={weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},guid:function(){function b(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return b()+b()},areWeekDaysIncluded:function(d,c){var b=false;a.each(d,function(e,f){if(f===c){b=true;return false}});return b},getStartOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),0,0,0);b.timeZone=c.timeZone;return b},getEndOfDay:function(c){var b=new a.jqx.date(c.year(),c.month(),c.day(),23,59,59);b.timeZone=c.timeZone;return b},getDaysCount:function(d,c){var b=1;while(d<c){if(d.day()!=c.day()){b++}d=d.addDays(1)}return b},getStartOfWeek:function(e,g){var c=e.dayOfWeek();var b=g.firstDay;if(c<b){c+=7}var d=c-b;var f=e.addDays(-d);return f.date()},getEndOfWeek:function(d,f,c){var e=this;var g=7;var b=e.getStartOfWeek(d,f,c);return b.addDays(g)},getEndOfMonth:function(d,e){var c=d.daysInMonth();var b=new a.jqx.date(d.year(),d.month(),c,23,59,59);b.timeZone=d.timeZone;return b},rangeIntersection:function(i,h,f,e){var g=i.valueOf();var d=f.valueOf();var c=h.valueOf();var b=e.valueOf();if(d>=g&&d<c){return true}if(d<g&&b>g){return true}if(g==d||c==b){return true}if(g<d){if(c>d&&c<b){return true}if(c>b){return true}}else{if(b>g&&b<c){return true}if(b>c){return true}}return false},rangeContains:function(e,d,c,b){return(e<=c&&b<=d)},monthDays:[31,28,31,30,31,30,31,31,30,31,30,31],msPerDay:1000*60*60*24,maxYear:9999,ORDINAL_BASE:new Date(1970,0,1),getYearDay:function(b){var c=new Date(b.getFullYear(),b.getMonth(),b.getDate());return Math.ceil((c-new Date(b.getFullYear(),0,1))/a.jqx.scheduler.utilities.msPerDay)+1},isLeapYear:function(b){if(b instanceof Date){b=b.getFullYear()}return((b%4===0)&&(b%100!==0))||(b%400===0)},tzOffset:function(b){return b.getTimezoneOffset()*60*1000},monthRange:function(c,d){var b=new Date(c,d,1);return[a.jqx.scheduler.utilities.getWeekday(b),a.jqx.scheduler.utilities.getMonthDays(b)]},getMonthDays:function(b){var c=b.getMonth();return c==1&&a.jqx.scheduler.utilities.isLeapYear(b)?29:a.jqx.scheduler.utilities.monthDays[c]},getWeekday:function(b){var c=[6,0,1,2,3,4,5];return c[b.getDay()]},combine:function(b,c){c=c||b;return new Date(b.getFullYear(),b.getMonth(),b.getDate(),c.getHours(),c.getMinutes(),c.getSeconds())},sort:function(b){b.sort(function(d,c){return d.getTime()-c.getTime()})},timeToUntilString:function(e){var c=new Date(e);var b,f=[c.getUTCFullYear(),c.getUTCMonth()+1,c.getUTCDate(),"T",c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),"Z"];for(var d=0;d<f.length;d++){b=f[d];if(!/[TZ]/.test(b)&&b<10){f[d]="0"+String(b)}}return f.join("")},untilStringToDate:function(d){var b=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/;var c=b.exec(d);if(!c){throw new Error("Invalid UNTIL value: "+d)}return new Date(Date.UTC(c[1],c[2]-1,c[3],c[5]||0,c[6]||0,c[7]||0))},Time:function(b,e,c){this.hour=b;this.minute=e;this.second=c;this.that=this;var d=this;this.getHours=function(){return d.hour};this.getMinutes=function(){return d.minute},this.getSeconds=function(){return d.second},this.getTime=function(){return((d.hour*60*60)+(d.minute*60)+d.second)*1000}}};a.jqx.scheduler.appointment=function(){var c=this;c.from=new a.jqx.date();c.to=new a.jqx.date().addHours(1);c.subject="";c.description="";c.location="";c.tooltip="";c.hidden=false;c.resourceId=null;c.id="";c.background=null;c.color=null;c.borderColor=null;c.status="busy";c.style=null;c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.occurrenceEnumerator=null;c.rootAppointment=null;c.hiddenByResourceId=false;c.draggable=true;c.resizable=true;c.recurrentAppointment=false;c.allDay=false;c.readOnly=false;c.showStatus=true;c.timeZone=null;c.scheduler=null;c.elements=new Array();c.appointmentObject=true;c.duration=function(){var e=c.to-c.from;var f=e*10000;return new a.jqx.timeSpan(f)};c.toJSON=function(h){var e=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var g=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(!k?""+l.getFullYear()+"-"+g(l.getMonth()+1)+"-"+g(l.getDate())+"T"+g(l.getHours())+":"+g(l.getMinutes())+":"+g(l.getSeconds())+"Z":""+l.getUTCFullYear()+"-"+g(l.getUTCMonth()+1)+"-"+g(l.getUTCDate())+"T"+g(l.getUTCHours())+":"+g(l.getUTCMinutes())+":"+g(l.getUTCSeconds())+"Z"))};var f=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=c.recurrenceException[l].toString();if(l<c.recurrenceException.length-1){k+=","}}return k};var i={};i.id=c.id;i.from=j(c.from.toDate(),h);i.to=j(c.to.toDate(),h);i.subject=c.subject;i.status=c.status;i.location=c.location;i.description=c.description;i.title=c.title;i.resourceId=c.resourceId;if(c.recurrencePattern){i.recurrencePattern=c.recurrencePattern.toString()}else{i.recurrencePattern=""}if(c.recurrenceException&&c.recurrenceException.length>0){i.recurrenceException=f()}else{i.recurrenceException=""}i.dtstamp=j(new Date(),h);return JSON.stringify(i)};c.toString=function(i){var f=function(l){var k="";while(l.length>75){k+=l.substr(0,75)+"\n";l=" "+l.substr(75)}k+=l;return k};var h=function(k){return(k<10?"0":"")+k};var j=function(l,k){return(!l?"":(k?""+l.getFullYear()+h(l.getMonth()+1)+h(l.getDate())+"T"+h(l.getHours())+h(l.getMinutes())+h(l.getSeconds()):""+l.getUTCFullYear()+h(l.getUTCMonth()+1)+h(l.getUTCDate())+"T"+h(l.getUTCHours())+h(l.getUTCMinutes())+h(l.getUTCSeconds())+"Z"))};var g=function(){var k="";for(var l=0;l<c.recurrenceException.length;l++){k+=j(c.recurrenceException[l].toDate(),i);if(l<c.recurrenceException.length-1){k+=","}}return k};var e=c.status;if(!e){e="CONFIRMED"}if(e.toLowerCase()=="busy"){e="CONFIRMED"}if(e.toLowerCase()=="tentative"){e="TENTATIVE"}if(e.toLowerCase()=="free"){e="CANCELLED"}if(e.toLowerCase()=="outOfOffice"){e="CANCELLED"}return"BEGIN:VEVENT\nUID:"+c.id+"\nDTSTAMP:"+j(new Date(),i)+"\n"+f("TITLE:"+c.subject)+"\nDTSTART:"+j(c.from.toDate(),i)+"\nDTEND:"+j(c.to.toDate(),i)+"\n"+(c.recurrencePattern?"RRULE:"+c.recurrencePattern.toString()+"\n":"")+(c.recurrenceException&&c.recurrenceException.length>0?"EXDATE:"+g()+"\n":"")+(c.subject?f("SUMMARY:"+c.subject)+"\n":"")+"TRANSP:OPAQUE\n"+(c.status?f("STATUS:"+e)+"\n":"")+(c.description?f("DESCRIPTION:"+c.description)+"\n":"")+(c.location?f("LOCATION:"+c.location)+"\n":"")+"END:VEVENT"};c.range=function(){if(!c.allDay){return{from:c.from,to:c.to}}else{return{from:a.jqx.scheduler.utilities.getStartOfDay(c.from),to:a.jqx.scheduler.utilities.getEndOfDay(c.to)}}};c.clearRecurrence=function(){if(c.recurrencePattern){c.exceptions=new Array();c.exceptionDates=new Array();c.recurrencePattern=null;c.recurrenceException=new Array();c.hidden=false}};c.isAllDayAppointment=function(){return this.duration().days()>=1||this.allDay};c.cloneAppointmentAttributes=function(e){e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.rootAppointment=c;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.hidden=c.hidden;e.timezone=c.timeZone;e.style=c.style;e.hiddenByResourceId=c.hiddenByResourceId};c.createOccurrence=function(g){if(g==null){return null}var f=new a.jqx.scheduler.appointment();f.allDay=c.allDay;var e=c.duration();if(c.allDay){e=new a.jqx.timeSpan(10000*(c.to-c.from))}f.from=g;f.to=g.add(e);f.occurrenceFrom=g.clone();f.subject=c.subject;f.description=c.description;f.location=c.location;f.tooltip=c.tooltip;f.resourceId=c.resourceId;f.category=c.category;f.status=c.status;f.rootAppointment=c;f.color=c.color;f.draggable=c.draggable;f.resizable=c.resizable;f.borderColor=c.borderColor;f.background=c.background;f.recurrentAppointment=true;f.timeZone=c.timeZone;f.style=c.style;f.hiddenByResourceId=c.hiddenByResourceId;f.boundAppointment=c.boundAppointment;if(c.hiddenByResourceId){f.hidden=true}f.id=c.id+"."+a.jqx.scheduler.utilities.guid();c.hidden=true;c.occurrenceIndex++;return f};c.clone=function(){var e=new a.jqx.scheduler.appointment();e.allDay=c.allDay;e.from=c.from.clone();e.to=c.to.clone();e.subject=c.subject;e.description=c.description;e.location=c.location;e.tooltip=c.tooltip;e.resourceId=c.resourceId;e.category=c.category;e.status=c.status;e.color=c.color;e.borderColor=c.borderColor;e.background=c.background;e.style=c.style;e.timeZone=c.timeZone;e.hiddenByResourceId=c.hiddenByResourceId;if(c.hiddenByResourceId){e.hidden=true}e.id=c.id+"."+a.jqx.scheduler.utilities.guid();return e};c.isRecurrentAppointment=function(){return c.recurrentAppointment||c.recurrencePattern!=null};c.anyExceptions=function(){return c.exceptions!=null&&c.exceptions.length>0};c.anyOccurrences=function(){return c.occurrenceEnumerator!=null&&c.occurrenceEnumerator.getNextAppointment()};c.isException=function(){var g=c.rootAppointment||this;if(!g.recurrenceException){return false}for(var f=0;f<g.recurrenceException.length;f++){var e=g.recurrenceException[f];if(c.occurrenceFrom&&e.equals(c.occurrenceFrom)){return true}}return false};c.getOccurrences=function(h,g){c.occurrenceIndex=0;var f=h!==null?h:c.from;var e=new a.jqx.scheduler.recurrentAppointmentsList(c,c.calendar,f,g,c.scheduler);c.occurrences=e.list;return e.list};if(arguments.length===1){if(a.type(arguments[0])=="object"){for(var b in arguments[0]){var d=arguments[0][b];if(this[b]!==undefined){this[b]=d}}}else{c.from=arguments[0];c.to=new a.jqx.date(c.from).addHours(1)}}else{if(arguments.length===2){c.from=arguments[0];c.to=arguments[1]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2]}else{if(arguments.length===3){c.from=arguments[0];c.to=arguments[1];c.subject=arguments[2];c.description=arguments[3]}}}}if(c.recurrencePattern!=null){c.recurrencePattern.setFrom(c.from)}};a.jqx.scheduler.recurrentAppointmentsList=function(){var b=this;b.recurrentAppointment=null;b.currentTime=null;b.calendar=a.jqx.scheduler.calendar;b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31);b.foundItems=0;b.list=new Array();b.scheduler=null;b.getOccurrences=function(c,e,d){if(c==undefined){return b.list}return new a.jqx.scheduler.recurrentAppointmentsList(c,b.calendar,e,d).list};b.current=function(){return b.recurrentAppointment.createOccurrence(b.currentTime)};b.fillList=function(){b.currentTime=null;b.foundItems=0;b.list=new Array();var c=b.recurrentAppointment.recurrencePattern;c.step=0;c.current=0;c.currentYearDay=0;if(c==null){return false}while(b.getNextAppointment(c)){var d=b.current();if(d){b.list.push(d)}}};b.getNextAppointment=function(h){if(b.recurrentAppointment==null){return false}var d=4294967295;var j=this.scheduler._views[this.scheduler._view].type;var l=this.scheduler._views[this.scheduler._view];var f=0;switch(h.freq){case"weekly":f=7;break;case"monthly":f=31;break;case"yearly":f=365;break}for(var e=0;e<d;e++){var k=h.getNewOccurenceDate();if(!k){continue}h.currentTime=k;if((h.to<k&&h.to.addDays(f)>=k)||(b.to<k&&b.to.addDays(f)>=k)){b.currentTime=null;return true}if(a.jqx.scheduler.utilities.getEndOfDay(h.to).addDays(f)<k||a.jqx.scheduler.utilities.getEndOfDay(b.to).addDays(f)<k){b.currentTime=null;return false}var g=true;g=b.getCanSetTime(h,k,g);if(h.canCreateNewOccurence(k,b.calendar)){var c=true;if(false===l.showWeekends){if(k.dayOfWeek()==6||k.dayOfWeek()==0){c=false}}if(c){b.foundItems++}}if(!g){continue}b.currentTime=k;if(b.foundItems>h.count){return false}return true}return false};b.getCanSetTime=function(c,e,d){if(!c.canCreateNewOccurence(e,b.calendar)){d=false}if(e<b.from&&e.add(b.recurrentAppointment.duration())<=b.from){d=false}if(b.to<=e){d=false}return d};b.isException=function(f,c,g){var e=b.recurrentAppointment.exceptions;for(var d=0;d<e.length;d++){if(g.isDateInExceptionAppointment(f,c,e[d])){if(-1===g.newExceptions.indexOf(e[d])){return true}}}return false};if(arguments&&arguments.length>0){b.recurrentAppointment=arguments[0];if(arguments[1]){b.calendar=arguments[1]}if(arguments[2]){b.from=arguments[2]}if(arguments[3]){b.to=arguments[3]}if(arguments[4]){b.scheduler=arguments[4]}if(arguments[2]===undefined){b.from=new a.jqx.date(0);b.to=new a.jqx.date(9999,12,31)}if(b.scheduler&&b.scheduler.localization){b.calendar.firstDay=b.scheduler.localization.firstDay}b.fillList()}return b};a.jqx.scheduler.recurrencePattern=function(){var c=this;var b={from:new a.jqx.date(0),to:new a.jqx.date(9999,12,31),count:1000,interval:1,exceptions:new Array(),newExceptions:new Array(),month:1,day:1,current:0,currentYearDay:0,step:0,days:[],bynweekday:[],isEveryWeekDay:true,timeZone:null,weekDays:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},freq:"daily",bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null};a.extend(true,c,b);c.getNewOccurenceDate=function(){var o=function(n,C){var k=0,D=[];if(n instanceof Array){for(;k<C;k++){D[k]=[].concat(n)}}else{for(;k<C;k++){D[k]=n}}return D};var d=function(k,i){var n=k%i;return(n*i<0)?n+i:n};var v=function(D,k){if(arguments.length===1){k=D;D=0}var n=[];for(var C=D;C<k;C++){n.push(C)}return n};var u=[0,31,60,91,121,152,182,213,244,274,305,335,366];var l=[0,31,59,90,120,151,181,212,243,273,304,334,365];var r=c.from.year();var j=[6,0,1,2,3,4,5];var q=function(i){c.yearlen=i%4==0&&(i%100!=0||i%400==0)?366:365;c.nextyearlen=(1+i)%4==0&&((1+i)%100!=0||(1+i)%400==0)?366:365;var k=new Date(i,0,1);var C=j[new Date(i,0,1).getDay()];var n=(function(){for(var D=[],E=0;E<55;E++){D=D.concat(v(7))}return D}());if(c.yearlen==365){c.wdaymask=n.slice(C);c.mrange=[].concat(l)}else{c.wdaymask=n.slice(C);c.mrange=[].concat(u)}};q(r);switch(c.freq){case"daily":default:var g=c.from.add(new a.jqx.timeSpan(c.step*c.interval,0,0,0));c.step++;return g;case"weekly":if(c.byweekday){var g=new a.jqx.date(c.from,c.timeZone);var t=j[c.from.dayOfWeek()];g=g.addDays(7*(c.step));g=g.addDays(c.byweekday[c.current]);g=g.addDays(-t);if(g<c.from){g=null}c.current++;if(undefined==c.byweekday[c.current]){c.current=0;c.step++}}return g;case"monthly":if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);c.step++;for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;var g=new a.jqx.date(c.from.year(),c.from.month(),A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths((c.step-1)*c.interval)}else{if(c.bymonthday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.bymonthday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.current++;if(!c.bymonthday[c.current]){c.current=0;c.step++}}else{var g=new a.jqx.date(c.from.year(),c.from.month(),c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addMonths(c.step*c.interval);c.step++}}return g;case"yearly":if(c.bymonth&&c.bymonth.length>0){if(c.bynweekday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],1,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);q(g.year());var B=g.month();var f=[c.mrange.slice(B-1,B+1)][0];var h=f[0];var m=f[1];m-=1;c.nwdaymask=o(0,c.yearlen);for(var y=0;y<c.bynweekday.length;y++){var s=c.bynweekday[y][0],x=c.bynweekday[y][1];if(x<0){z=m+(x+1)*7;z-=d(c.wdaymask[z]-s,7)}else{z=h+(x-1)*7;z+=d(7-c.wdaymask[z]+s,7)}if(h<=z&&z<=m){c.nwdaymask[z]=1}}var w=z+1;var A=w-h;g=new a.jqx.date(g.year(),c.bymonth[c.current],A,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;c.step++}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.byyearday[c.currentYearDay],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.currentYearDay++;if(!c.byyearday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.bymonth[c.current],c.from.day(),c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.bymonth[c.current]){c.current=0;c.step++}}}}else{if(c.byyearday&&c.byyearday.length>0){var g=new a.jqx.date(c.from.year(),c.from.month(),c.byyearday[c.current],c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.current++;if(!c.byyearday[c.current]){c.current=0;c.step++}}else{if(c.byweekno!=null){var p=function(n,k){var i=1;var C=new a.jqx.date(k.year(),1,1,k.hour(),k.minute(),k.second());C.timeZone=c.timeZone;while(i!=n){C=C.addDays(7);i++;if(i>53){break}}while(a.jqx.scheduler.utilities.getWeekday(C.toDate())!=c.wkst){C=C.addDays(1)}return C};var g=c.from.addYears(c.step*c.interval);g=p(c.byweekno[c.current],g);if(c.byweekday){var e=g;for(var z=0;z<7;z++){if(j[e.dayOfWeek()]===c.byweekday[c.currentYearDay]){break}e=e.addDays(1)}g=e;c.currentYearDay++;if(!c.byweekday[c.currentYearDay]){c.currentYearDay=0;c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{c.current++;if(!c.byweekno[c.current]){c.current=0;c.step++}}}else{var g=new a.jqx.date(c.from.year(),c.month,c.day,c.from.hour(),c.from.minute(),c.from.second());g.timeZone=c.timeZone;g=g.addYears(c.step*c.interval);c.step++}}}return g}};c.isDateInExceptionAppointment=function(d,e,f){switch(c.freq){case"daily":case"weekly":default:return d.year()==f.from.year()&&d.dayOfYear()==f.from.dayOfYear()}};c.createNewPattern=function(){if(c.ical){var d=new a.jqx.scheduler.recurrencePattern(c.ical);return d}else{var d=new a.jqx.scheduler.recurrencePattern();d.from=c.from;d.to=c.to;d.count=c.count;d.interval=c.interval;d.exceptions=c.exceptions;d.newExceptions=c.newExceptions;d.weekDays=c.weekDays;d.isEveryWeekDay=c.isEveryWeekDay;d.month=c.month;d.day=c.day;d.current=c.current;d.currentYearDay=c.currentYearDay;d.step=c.step;d.days=c.days;d.bynweekday=c.bynweekday;d.bymonth=c.bymonth;d.bymonthday=c.bymonthday;d.byyearday=c.byyearday;d.byweekno=c.byweekno;d.byweekday=c.byweekday;d.freq=d.freq;d.timeZone=d.timeZone;return d}};c.equals=function(e){var d=c.from==e.from&&c.to==e.to&&c.count===e.count&&c.interval===e.interval&&c.day===e.day&&c.month===e.month;return d};c.isDayOfWeekIncluded=function(e){var d=e.dayOfWeek();return a.jqx.scheduler.utilities.areWeekDaysIncluded(c.weekDays,d)};c.getWeekIndexFromDate=function(g,f){var e=f.firstDay;var h=a.jqx.scheduler.utilities.getStartOfWeek(c.from,f,e);var d=new a.jqx.timeSpan(g.subtract(h));return parseInt(d.days()/7)};c.canCreateNewOccurence=function(e,g){var d=e.toDate();switch(c.freq){case"daily":default:if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(c.isEveryWeekDay){if(!c.isDayOfWeekIncluded(e,g)){return false}else{return true}}else{return true}break;case"weekly":var f=c.getWeekIndexFromDate(e,g);if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if((f%c.interval)!=0){return false}if(c.weekDays=={}){var h=e;if(c.from.dayOfWeek()!=h.dayOfWeek()){return false}}else{if(!c.isDayOfWeekIncluded(e,g)){return false}}break;case"monthly":case"yearly":if(c.bymonth){if(c.bymonth.indexOf(e.month())==-1){return false}}if(e<c.from){return false}break}return true};c.toString=function(){var d={};d.dtstart=this.from.toDate();d.until=this.to?this.to.toDate():null;d.count=this.count;var e={};e.YEARLY=0;e.MONTHLY=1;e.WEEKLY=2;e.DAILY=3;e.HOURLY=4;e.MINUTELY=5;e.SECONDLY=6;d.freq=e[this.freq.toUpperCase()];if(d.freq=="YEARLY"){d.bymonth=this.bymonth?this.bymonth:new Array().push(this.month)}d.byweekday=new Array();var g=["MO","TU","WE","TH","FR","SA","SU"];a.each(this.weekDays,function(){var h=this;h--;if(h<0){h=6}d.byweekday.push(h)});if(this.byyearday!=undefined){d.byyearday=this.byyearday}if(this.byweekno!=undefined){d.byweekno=this.byweekno}d.bymonthday=this.bymonthday;d.wkst=g[this.wkst];d.interval=this.interval;var f=new a.jqx.ICalRule(d);return f.toString()};c.init=function(j){var d=new a.jqx.ICalRule(c.ical,j);var f=d.options;c.from=f.dtstart?new a.jqx.date(f.dtstart,c.timeZone):c.from;c.count=f.count!=undefined?f.count:c.count;c.freq=d.FREQUENCIES[f.freq].toLowerCase();c.interval=f.interval!=undefined?f.interval:c.interval;c.to=f.until?new a.jqx.date(f.until,c.timeZone):c.to;c.wkst=f.wkst;c.bymonth=f.bymonth;if(c.bymonth&&c.bymonth.length>0){c.month=c.bymonth[0]}else{c.month=c.from.month()}c.day=c.from.day();if(f.byweekday!=undefined){var h={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};c.weekDays={};for(var g=0;g<f.byweekday.length;g++){var e=f.byweekday[g];switch(e){case 0:c.weekDays.Monday=1;break;case 1:c.weekDays.Tuesday=2;break;case 2:c.weekDays.Wednesday=3;break;case 3:c.weekDays.Thursday=4;break;case 4:c.weekDays.Friday=5;break;case 5:c.weekDays.Saturday=6;break;case 6:c.weekDays.Sunday=0;break}}c.byweekday=f.byweekday}c.byweekno=f.byweekno;if(f.bynweekday){c.bynweekday=f.bynweekday}if(f.bymonthday!=undefined){c.bymonthday=f.bymonthday.sort();if(c.bymonthday[0]){c.day=c.bymonthday[0]}}if(f.byyearday!=undefined){c.day=f.byyearday[0];c.byyearday=f.byyearday.sort()}return f};c.setFrom=function(d){c.from=d.clone();if(c.ical){c.init(d)}};if(arguments.length==1){c.ical=arguments[0];c.init()}return c};a.jqx.scheduler.calendar={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff",custom2:"yyyy-MM-dd HH:mm:ss.fff"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","};a.jqx.ICalRule=function(u,n){var D=this;var m=function(R,j){if(arguments.length===1){j=R;R=0}var k=[];for(var v=R;v<j;v++){k.push(v)}return k};var A=function(k,v){var j=0,R=[];if(k instanceof Array){for(;j<v;j++){R[j]=[].concat(k)}}else{for(;j<v;j++){R[j]=k}}return R};var C=function(i){return(i instanceof Array&&i.length==0)?false:Boolean(i)};var B=function(i,j){return i.indexOf(j)!=-1};var G=[].concat(A(1,31),A(2,28),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var s=[].concat(A(1,31),A(2,29),A(3,31),A(4,30),A(5,31),A(6,30),A(7,31),A(8,31),A(9,30),A(10,31),A(11,30),A(12,31),A(1,7));var h=m(1,29),g=m(1,30),P=m(1,31),O=m(1,32);var J=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var b=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));h=m(-28,0);g=m(-29,0);P=m(-30,0);O=m(-31,0);var K=[].concat(O,g,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var e=[].concat(O,h,O,P,O,P,O,O,P,O,P,O,O.slice(0,7));var c=[0,31,60,91,121,152,182,213,244,274,305,335,366];var z=[0,31,59,90,120,151,181,212,243,273,304,334,365];var q=(function(){for(var j=[],k=0;k<55;k++){j=j.concat(m(7))}return j}());var f=function(j,k){var i=this;if(k===0){throw new Error("Can't create weekday with n == 0")}this.weekday=j;this.n=k;this.nth=function(v){return i.n==v?i:new f(i.weekday,v)};this.equals=function(v){return i.weekday==v.weekday&&i.n==v.n};this.toString=function(){var v=["MO","TU","WE","TH","FR","SA","SU"][i.weekday];if(this.n){v=(i.n>0?"+":"")+String(i.n)+v}return v};this.getJsWeekday=function(){return i.weekday==6?0:i.weekday+1}};this.FREQUENCIES=["YEARLY","MONTHLY","WEEKLY","DAILY","HOURLY","MINUTELY","SECONDLY"];this.YEARLY=0;this.MONTHLY=1;this.WEEKLY=2;this.DAILY=3;this.HOURLY=4;this.MINUTELY=5;this.SECONDLY=6;this.MO=new f(0);this.TU=new f(1);this.WE=new f(2);this.TH=new f(3);this.FR=new f(4);this.SA=new f(5);this.SU=new f(6);var d={freq:null,dtstart:null,interval:1,wkst:D.MO,count:null,until:null,bysetpos:null,bymonth:null,bymonthday:null,byyearday:null,byweekno:null,byweekday:null,byhour:null,byminute:null,bysecond:null,byeaster:null};this._string=null;this.toString=function(){var aa=this.origOptions;var Y,Z,V,W,U,k=[];Z=Object.keys(aa);V=Object.keys(d);for(var R=0;R<Z.length;R++){if(!B(V,Z[R])){continue}Y=Z[R].toUpperCase();W=aa[Z[R]];U=[];if(W===null||W instanceof Array&&!W.length){continue}switch(Y){case"FREQ":W=D.FREQUENCIES[aa.freq];break;case"WKST":if(!W){W=0}W=W.toString();break;case"BYWEEKDAY":Y="BYDAY";if(!(W instanceof Array)){W=[W]}for(var T,v=0;v<W.length;v++){T=W[v];if(T instanceof f){}else{if(T instanceof Array){T=new f(T[0],T[1])}else{T=new f(T)}}U[v]=T.toString()}W=U;break;case"DTSTART":case"UNTIL":W=a.jqx.scheduler.utilities.timeToUntilString(W);break;default:if(W instanceof Array){for(var v=0;v<W.length;v++){U[v]=String(W[v])}W=U}else{W=String(W)}}k.push([Y,W])}var X=[];for(var R=0;R<k.length;R++){var S=k[R];X.push(S[0]+"="+S[1].toString())}return X.join(";")};this.parseString=function(v){v=v.replace(/^\s+|\s+$/,"");if(!v.length){return null}var S,R,X,W,T,Y=v.split(";"),aa={};for(S=0;S<Y.length;S++){T=Y[S].split("=");X=T[0];W=T[1];if(X==""){continue}switch(X){case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":if(W.indexOf(",")!=-1){W=W.split(",");for(R=0;R<W.length;R++){if(/^[+-]?\d+$/.test(W[R])){W[R]=Number(W[R])}}}else{if(/^[+-]?\d+$/.test(W)){W=Number(W)}}X=X.toLowerCase();aa[X]=W;break;case"BYDAY":var k,U,V,Z=W.split(",");aa.byweekday=[];for(R=0;R<Z.length;R++){V=Z[R];if(V.length==2){U=D[V];aa.byweekday.push(U)}else{V=V.match(/^([+-]?\d)([A-Z]{2})$/);k=Number(V[1]);U=V[2];U=D[U].weekday;aa.byweekday.push(new f(U,k))}}break;case"FREQ":aa.freq=D[W];break;case"WKST":aa.wkst=D[W];break;case"DTSTART":aa.dtstart=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"UNTIL":aa.until=a.jqx.scheduler.utilities.untilStringToDate(W);break;case"BYEASTER":aa.byeaster=Number(W);break;default:throw new Error("Unknown ICalRule property '"+X+"'")}}D.options=aa;return aa};if(a.type(u)==="string"){this.options=this.parseString(u)}else{this.options=u||{}}var u=this.options;if(!Array.prototype.forEach){Array.prototype.forEach=function(V,j){var R,v;if(this==null){throw new TypeError(" this is null or not defined")}var U=Object(this);var i=U.length>>>0;if(typeof V!=="function"){throw new TypeError(V+" is not a function")}if(arguments.length>1){R=j}v=0;while(v<i){var S;if(v in U){S=U[v];V.call(R,S,v,U)}v++}}}if(!Object.keys){Object.keys=(function(){var k=Object.prototype.hasOwnProperty,v=!({toString:null}).propertyIsEnumerable("toString"),j=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=j.length;return function(T){if(typeof T!=="object"&&(typeof T!=="function"||T===null)){throw new TypeError("Object.keys called on non-object")}var R=[],U,S;for(U in T){if(k.call(T,U)){R.push(U)}}if(v){for(S=0;S<i;S++){if(k.call(T,j[S])){R.push(j[S])}}}return R}}())}this.origOptions={};var E=[],w=Object.keys(this.options),p=Object.keys(d);w.forEach(function(i){this.origOptions[i]=this.options[i];if(!B(p,i)){E.push(i)}},this);if(E.length){throw new Error("Invalid options: "+E.join(", "))}if(!D.FREQUENCIES[this.options.freq]&&u.byeaster===null){throw new Error("Invalid Frequency: "+String(u.freq))}p.forEach(function(i){if(!B(w,i)){u[i]=d[i]}});var x=this.options;if(x.byeaster!==null){x.freq=this.YEARLY}if(!x.dtstart){x.dtstart=new Date();x.dtstart.setMilliseconds(0)}if(n){x.dtstart=n.toDate()}if(x.wkst===null){x.wkst=this.MO.weekday}else{if(typeof x.wkst=="number"){}else{if(x.wkst==null){x.wkst=this.MO.weekday}else{x.wkst=x.wkst.weekday}}}if(x.bysetpos!==null){if(typeof x.bysetpos=="number"){x.bysetpos=[x.bysetpos]}for(var N=0;N<x.bysetpos.length;N++){var H=x.bysetpos[N];if(H==0||!(-366<=H&&H<=366)){throw new Error("bysetpos must be between 1 and 366, or between -366 and -1")}}}if(!(C(x.byweekno)||C(x.byyearday)||C(x.bymonthday)||x.byweekday!==null||x.byeaster!==null)){switch(x.freq){case this.YEARLY:if(!x.bymonth){x.bymonth=x.dtstart.getMonth()+1}x.bymonthday=x.dtstart.getDate();break;case this.MONTHLY:x.bymonthday=x.dtstart.getDate();break;case this.WEEKLY:x.byweekday=a.jqx.scheduler.utilities.getWeekday(x.dtstart);break}}if(x.bymonth!==null&&!(x.bymonth instanceof Array)){x.bymonth=[x.bymonth]}if(x.byyearday!==null&&!(x.byyearday instanceof Array)){x.byyearday=[x.byyearday]}if(x.bymonthday===null){x.bymonthday=[];x.bynmonthday=[]}else{if(x.bymonthday instanceof Array){var Q=[],I=[];for(N=0;N<x.bymonthday.length;N++){var H=x.bymonthday[N];if(H>0){Q.push(H)}else{if(H<0){I.push(H)}}}x.bymonthday=Q;x.bynmonthday=I}else{if(x.bymonthday<0){x.bynmonthday=[x.bymonthday];x.bymonthday=[]}else{x.bynmonthday=[];x.bymonthday=[x.bymonthday]}}}if(x.byweekno!==null&&!(x.byweekno instanceof Array)){x.byweekno=[x.byweekno]}if(x.byweekday===null){x.bynweekday=null}else{if(typeof x.byweekday=="number"){x.byweekday=[x.byweekday];x.bynweekday=null}else{if(x.byweekday instanceof f){if(!x.byweekday.n||x.freq>this.MONTHLY){x.byweekday=[x.byweekday.weekday];x.bynweekday=null}else{x.bynweekday=[[x.byweekday.weekday,x.byweekday.n]];x.byweekday=null}}else{var r=[],F=[];for(N=0;N<x.byweekday.length;N++){var o=x.byweekday[N];if(typeof o=="number"){r.push(o)}else{if(!o.n||x.freq>this.MONTHLY){r.push(o.weekday)}else{F.push([o.weekday,o.n])}}}x.byweekday=C(r)?r:null;x.bynweekday=C(F)?F:null}}}if(x.byhour===null){x.byhour=(x.freq<this.HOURLY)?[x.dtstart.getHours()]:null}else{if(typeof x.byhour=="number"){x.byhour=[x.byhour]}}if(x.byminute===null){x.byminute=(x.freq<this.MINUTELY)?[x.dtstart.getMinutes()]:null}else{if(typeof x.byminute=="number"){x.byminute=[x.byminute]}}if(x.bysecond===null){x.bysecond=(x.freq<this.SECONDLY)?[x.dtstart.getSeconds()]:null}else{if(typeof x.bysecond=="number"){x.bysecond=[x.bysecond]}}if(x.freq>=this.HOURLY){this.timeset=null}else{this.timeset=[];if(x.byhour){for(N=0;N<x.byhour.length;N++){var t=x.byhour[N];for(var M=0;M<x.byminute.length;M++){var l=x.byminute[M];for(var L=0;L<x.bysecond.length;L++){var y=x.bysecond[L];this.timeset.push(new a.jqx.scheduler.utilities.Time(t,l,y))}}}}a.jqx.scheduler.utilities.sort(this.timeset)}return this}})(jqxBaseFramework);(function(a){a.extend(a.jqx._jqxScheduler.prototype,{_getexportcolor:function(l){var f=l;if(l=="transparent"){f="#FFFFFF"}if(!f||!f.toString()){f="#FFFFFF"}if(f.toString().indexOf("rgb")!=-1){var i=f.split(",");if(f.toString().indexOf("rgba")!=-1){var d=parseInt(i[0].substring(5));var h=parseInt(i[1]);var j=parseInt(i[2]);var k=parseInt(i[3].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);if(d==0&&h==0&&j==0&&k==0){return"#ffffff"}return"#"+e}var d=parseInt(i[0].substring(4));var h=parseInt(i[1]);var j=parseInt(i[2].substring(1,4));var m={r:d,g:h,b:j};var e=this._rgbToHex(m);return"#"+e}else{if(f.toString().indexOf("#")!=-1){if(f.toString().length==4){var c=f.toString().substring(1,4);f+=c}}}return f},_rgbToHex:function(b){return this._intToHex(b.r)+this._intToHex(b.g)+this._intToHex(b.b)},_intToHex:function(c){var b=(parseInt(c).toString(16));if(b.length==1){b=("0"+b)}return b.toUpperCase()},exportData:function(w){var q=this;if(!a.jqx.dataAdapter.ArrayExporter){throw"jqxScheduler: Missing reference to jqxdata.export.js!"}var y=this.exportSettings.serverURL;var g=this.exportSettings.characterSet;var C=this.exportSettings.fileName;var H=this.exportSettings.ICSXWRCALNAME;var s=this.exportSettings.ICSXWRCALDESC;if(C===undefined){C="jqxScheduler"}var q=this;if(w=="ical"||w=="ics"){if(q._resources.length>1&&C&&q.resourcesInMultipleICSFiles){var t=this.getAppointments();for(var E=0;E<q._resources.length;E++){var c=q._resources[E];var v=new Array();for(var D=0;D<t.length;D++){var k=t[D];if(k.resourceId==c){v.push(k)}}var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";if(H){I+="X-WR-CALNAME:"+H+"\n"}if(s){I+="X-WR-CALDESC:"+s+"\n"}for(var B=0;B<v.length;B++){I+=v[B].jqxAppointment.toString();if(B<v.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(var B=0;B<h;B++){p[B]=I.charCodeAt(B)}var b=new Blob([p],{type:"application/calendar"});var d;if(d){d(b,C+"_"+c+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+"_"+c+".ics")}}}}else{var t=this.getAppointments();var I="BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:jqxScheduler\nMETHOD:PUBLISH\n";for(var E=0;E<t.length;E++){I+=t[E].jqxAppointment.toString();if(E<t.length-1){I+="\n"}}I+="\nEND:VCALENDAR";var h=I.length;var p=new Uint8Array(new ArrayBuffer(h));for(E=0;E<h;E++){p[E]=I.charCodeAt(E)}var b=new Blob([p],{type:"application/calendar"});if(!C){return I}if(d){d(b,C+".ics")}else{if(window.jqxSaveAs){window.jqxSaveAs(b,C+".ics")}}}return}var t=this.getDataAppointments();var A=new Array();var F={};var r={};var n=this.host.find(".jqx-grid-cell:first");n.removeClass(this.toThemeProperty("jqx-grid-cell-selected"));n.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));n.removeClass(this.toThemeProperty("jqx-grid-cell-hover"));n.removeClass(this.toThemeProperty("jqx-fill-state-hover"));var l="cell";var f=1;var G="column";var e=1;var z=a(this.columns.records[0].element);var o=0;a.each(this.appointmentDataFields,function(j,m){F[m]={};F[m].text=m;F[m].width=100;F[m].formatString="";F[m].localization=q.schedulerLocalization;if(j=="from"||j=="to"){F[m].type="date";F[m].formatString=q.exportSettings.dateTimeFormatString}else{F[m].type="string"}F[m].cellsAlign="left";A.push(F[m]);l="cell"+f;G="column"+e;if(w=="html"||w=="xls"||w=="pdf"){var i=function(J,R,Q,K,P,M,L,N,O){r[J]={};if(R==undefined){return}r[J]["font-size"]=R.css("font-size");r[J]["font-weight"]=R.css("font-weight");r[J]["font-style"]=R.css("font-style");r[J]["background-color"]=q._getexportcolor(R.css("background-color"));r[J]["color"]=q._getexportcolor(R.css("color"));r[J]["border-color"]=q._getexportcolor(R.css("border-top-color"));if(Q){r[J]["text-align"]="left"}else{r[J]["text-align"]="left";r[J]["formatString"]="";r[J]["dataType"]="string";if(L=="from"||L=="to"){r[J]["dataType"]="date";r[J]["formatString"]=q.exportSettings.dateTimeFormatString}}if(w=="html"||w=="pdf"){r[J]["border-top-width"]=R.css("border-top-width");r[J]["border-left-width"]=R.css("border-left-width");r[J]["border-right-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width");r[J]["border-top-style"]=R.css("border-top-style");r[J]["border-left-style"]=R.css("border-left-style");r[J]["border-right-style"]=R.css("border-right-style");r[J]["border-bottom-style"]=R.css("border-bottom-style");if(Q){if(o==0){r[J]["border-left-width"]=R.css("border-right-width")}r[J]["border-top-width"]=R.css("border-right-width");r[J]["border-bottom-width"]=R.css("border-bottom-width")}else{if(o==0){r[J]["border-left-width"]="1px"}r[J]["border-right-width"]="1px"}}if(Q){F[m].style=J}F[m].cellStyle=J};i(G,z,true,false,this,q,j);e++;i(l,n,false,false,this,q,j);f++}o++});var x=a.jqx.dataAdapter.ArrayExporter(t,F,r,y);if(C==null){this._renderrows();var u=x.exportTo(w);setTimeout(function(){q.exporting=false},50);return u}else{x.exportToFile(w,C,y,g)}this._renderrows();setTimeout(function(){q.exporting=false},50)},shadeColor:function(b,g){var h=parseInt(b.slice(1),16),c=g<0?0:255,i=g<0?g*-1:g,e=h>>16,d=h>>8&255,j=h&255;return"#"+(16777216+(Math.round((c-e)*i)+e)*65536+(Math.round((c-d)*i)+d)*256+(Math.round((c-j)*i)+j)).toString(16).slice(1)},hexToRgba:function(c,e){var b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c);var d=function(){var f=a.jqx.browser.msie&&a.jqx.browser.version<10;if(this.alpha==undefined||f){return"rgb("+this.r+", "+this.g+", "+this.b+")"}if(this.alpha>1){this.alpha=1}else{if(this.alpha<0){this.alpha=0}}return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"};if(e==undefined){return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),toString:d}:null}if(e>1){e=1}else{if(e<0){e=0}}return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),alpha:e,toString:d}:null},getAppointmentColors:function(f){var e="";var d="";var c="";e=this.hexToRgba(f,this.appointmentOpacity).toString();d=f;var b=function(h){var g=105;var i=(h.r*0.299)+(h.g*0.587)+(h.b*0.114);var j=(255-i<g)?"Black":"White";return j};c=b(this.hexToRgba(f,0.7));return{background:e,color:c,border:d}},getColors:function(g){if(g==-1){g=0}var c="";var e="";var f="";var i=this.resources?this.resources.colorScheme:null;if(!i){i="scheme01"}var b=new Array();for(var d=0;d<this.colorSchemes.length;d++){if(this.colorSchemes[d].name==i){b=this.colorSchemes[d].colors;break}}while(g>b.length-1){var j=parseInt(i.substring(6));if(j>=27){j=0}b=b.concat(this.colorSchemes[j].colors);j++}c=b[g];c=this.hexToRgba(b[g],this.appointmentOpacity).toString();e=b[g];var h=function(l){var k=105;var m=(l.r*0.299)+(l.g*0.587)+(l.b*0.114);var n=(255-m<k)?"Black":"White";return n};f=h(this.hexToRgba(b[g],0.7));return{background:c,color:f,border:e}},getAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var e=d[c].boundAppointment;e.toString=e.jqxAppointment.toString;b.push(e)}return b},getDataAppointments:function(){var d=this.uiappointments;var b=new Array();for(var c=0;c<d.length;c++){var f=d[c].boundAppointment;var e={};a.each(this.appointmentDataFields,function(h,i){e[i]=f[h];if(h=="from"||h=="to"){if("date"!=a.type(f[h])){e[i]=f[h].toDate()}}if(h=="recurrencePattern"){if(f[h]){e[i]=f[h].toString()}}if(h=="recurrenceException"){if(f[h]){e[i]="";for(var g=0;g<f[h].length;g++){e[i]+=f[h][g].toString();if(g<f[h].length-1){e[i]+=","}}}}try{if(JSON){e.toString=function(){return JSON.stringify(e)}}}catch(k){}});b.push(e)}return b},_refreshColumns:function(){this._initializeColumns();this.columnsheader=this.columnsheader||a('<div style="overflow: hidden;"></div>');this.columnsheader.children().remove();var b=this.columnsHeight;b=this._preparecolumnGroups();this.columnsheader.height(b);this._rendercolumnheaders()},_refreshColumnTitles:function(){var p=this._views[this._view].type;var o=this._views[this._view];var l=this;var d=new Array();if(l.columns.records[0].timeColumn){d.push({})}if(o.timeRuler&&o.timeRuler.timeZones){for(var v=0;v<o.timeRuler.timeZones.length;v++){d.push({})}}var q=function(A,G,I){var B="halfHour";if(o.timeRuler&&o.timeRuler.scale){B=o.timeRuler.scale}var K=24;var z=0;var J=23;if(o.timeRuler){if(o.timeRuler.scaleStartHour!=undefined){var z=parseInt(o.timeRuler.scaleStartHour)}if(o.timeRuler.scaleEndHour!=undefined){var J=parseInt(o.timeRuler.scaleEndHour)}if(z<0){z=0}if(J<0){J=23}if(z>23){z=0}if(J>23){J=23}K=J-z+1}var D=60;var H=2;if(B){switch(B){case"sixtyMinutes":case"hour":H=1;break;case"thirdyMinutes":case"halfHour":H=2;break;case"fifteenMinutes":case"quarterHour":H=4;break;case"tenMinutes":H=6;break;case"fiveMinutes":H=12;break}}var M=new Array();var L="auto";if(o.timeRuler&&o.timeRuler.formatString){L=o.timeRuler.formatString}var y=z;var E=K;var j=A.addHours(y);if(l.rtl){var j=A.addHours(J)}for(var F=0;F<E;F++){var x=j.toDate();if(L==="auto"){if((x.getHours()==0&&x.getMinutes()==0)||(x.getHours()==12&&x.getMinutes()==0)){var C="hh tt"}else{var C="hh:mm"}}else{if(a.isFunction(L)){var C=L(x)}else{C=L}}if(a.jqx.dataFormat.isDate(x)){x=a.jqx.dataFormat.formatdate(x,C,l.schedulerLocalization)}if(!l.rtl){j=j.addMinutes(D)}else{j=j.addMinutes(-D)}d.push({});l.columns.records[d.length-1].text=x}};var k=this.tableColumns;for(var t=0;t<this.tableColumns;t++){switch(p){case"dayView":var g=this.getViewStart();if(false===o.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}d.push({});this.columns.records[d.length-1].text=this._getDayName(g.dayOfWeek());break;case"weekView":case"monthView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}d.push({});if(l.rtl){u=6-u}this.columns.records[d.length-1].text=this._getDayName(u)}break;case"timelineDayView":var f=l._resources[t]?l._resources[t]:"Resource"+t;q(l.getViewStart(),f);break;case"timelineWeekView":for(var v=0;v<7;v++){var u=this.schedulerLocalization.firstDay+v;if(false===o.showWeekends){if(v===0||v===6){continue}}if(l.rtl){u=6-u}q(l.getViewStart().addDays(v),this._getDayName(u))}break;case"timelineMonthView":var n=l.getViewStart();var w="auto";if(o.timeRuler&&o.timeRuler.formatString){w=o.timeRuler.formatString}for(var v=0;v<41;v++){var u=n.dayOfWeek();if(false===o.showWeekends){if(u===0||u===6){continue}}if(l.rtl){u=6-u}var r=n.toDate();if(w==="auto"){var c="dd";r=n.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(w)){var c=w(r)}else{c=w}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,l.schedulerLocalization)}n=n.addDays(1);d.push({});l.columns.records[d.length-1].text=r}break}}var h=l.columnsHeight;var b=function(j,x){var i=l.columnGroupslevel*l.columnsHeight;i=i-(x.level*l.columnsHeight);return i};var s=0;for(var v=0;v<this.columns.records.length;v++){var e=this.columns.records[v];if(e.timeColumn){continue}if(l.columnGroups){if(l.columnGroups.length){h=b(e.datafield,e)}}var m=e.renderer!=null?e.renderer(e.text,e.align,h):l._rendercolumnheader(e.text,e.align,h,e);if(m==null){m=l._rendercolumnheader(e.text,e.align,h,l)}if(e.renderer!=null){m=a(m)}a(e.element).html(m)}},_editDialogLabel:function(){if(this.theme){return"jqx-scheduler-edit-dialog-label jqx-scheduler-edit-dialog-label-"+this.theme}return"jqx-scheduler-edit-dialog-label"},_editDialogField:function(){if(this.theme){return"jqx-scheduler-edit-dialog-field jqx-scheduler-edit-dialog-field-"+this.theme}return"jqx-scheduler-edit-dialog-field"},initRepeatPanels:function(p,i,c){var h=this;var b=a("<div></div>");i.append(b);var j=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatString+"</div>").appendTo(b);var l=a("<div class='"+h._editDialogField()+"'></div>").appendTo(b);var k=a("<div></div>").appendTo(l);var r=a("<div></div>");i.append(r);var m=a("<div></div>");r.append(m);var o=function(H,A){var u=a("<div></div>").appendTo(H);var E=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEndString+"</div>").appendTo(u);var D=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var G=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatNeverString+"</span></div>").appendTo(D);G.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:200,checked:true});h.editDialogFields[A].repeatEndNever=G;h.editDialogFields[A].repeatEndNeverLabel=E;var z=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var y=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var F=a("<div style='top: 3px;  position:relative;  float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatAfterString+"</span></div>").appendTo(y);F.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var B=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(y);B.jqxNumberInput({rtl:h.rtl,decimal:10,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var v=a("<div style='float: left; top: 3px;  margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatOccurrencesString+"</div>").appendTo(y);h.editDialogFields[A].repeatEndAfter=F;h.editDialogFields[A].repeatEndAfterValue=B;h.editDialogFields[A].repeatEndAfterLabel=z;var x=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(u);var w=a("<div class='"+h._editDialogField()+"'></div>").appendTo(u);var t=a("<div style='top: 3px; position:relative; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatOnString+"</span></div>").appendTo(w);t.jqxRadioButton({rtl:h.rtl,groupName:"end"+A,theme:h.theme,width:60,checked:false});var C=a("<div style='margin-left: 3px; float:left;'></div>").appendTo(w);C.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:h.rtl,localization:h._getDateTimeInputLocalization(),firstDayOfWeek:h.schedulerLocalization.firstDay,todayString:h.schedulerLocalization.todayString,clearString:h.schedulerLocalization.clearString,value:c,formatString:h.editDialogDateFormatString,width:150,theme:h.theme});var s=C.jqxDateTimeInput("getInstance");h.editDialogFields[A].repeatEndOn=t;h.editDialogFields[A].repeatEndOnValue=C;h.editDialogFields[A].repeatEndOnLabel=x;return u};m.detach();h.editDialogFields.repeatEndPanel={};h.editDialogFields.repeatEndPanelContainer=m;o(m,"repeatEndPanel");var q=function(){var z=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ad=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(z);var ay=a("<div class='"+h._editDialogField()+"'></div>").appendTo(z);var am=a("<div style='float:left;'></div>").appendTo(ay);am.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var V=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryDayString+"</div>").appendTo(ay);h.editDialogFields.daily={};h.editDialogFields.daily.repeatDayInterval=am;h.editDialogFields.daily.repeatDayLabel=ad;h.editDialogFields.daily.panel=z;z.detach();h.editDialogFields.weekly={};var E=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var ag=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(E);var t=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var at=a("<div style='float:left;'></div>").appendTo(t);at.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var W=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryWeekString+"</div>").appendTo(t);h.editDialogFields.weekly.repeatWeekInterval=at;h.editDialogFields.weekly.repeatWeekIntervalLabel=ag;var F=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(E);var Z=a("<div class='"+h._editDialogField()+"'></div>").appendTo(E);var T=a("<div style='float:left;'></div>").appendTo(Z);h.editDialogFields.weekly.repeatDaysLabel=F;h.editDialogFields.weekly.repeatDays=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw,"firstTwoLetters");var B=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+P+"</span></div>");T.append(B);var Y=aw==1?true:false;B.jqxCheckBox({rtl:h.rtl,checked:Y,width:50,theme:h.theme});h.editDialogFields.weekly.repeatDays.push(B)}h.editDialogFields.weekly.panel=E;E.detach();h.editDialogFields.monthly={};var U=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var av=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(U);var M=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var A=a("<div style='float:left;'></div>").appendTo(M);A.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var ai=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthString+"</div>").appendTo(M);h.editDialogFields.monthly.repeatMonth=A;h.editDialogFields.monthly.repeatMonthLabel=av;var an=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(U);var H=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var x=a("<div style='float:left;'></div>").appendTo(H);var al=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'>"+h.schedulerLocalization.editDialogRepeatEveryMonthDayString+"</span></div>").appendTo(x);al.jqxRadioButton({rtl:h.rtl,groupName:"month",width:60,checked:true,theme:h.theme});var ao=a("<div style='float:left;'></div>").appendTo(x);ao.jqxNumberInput({rtl:h.rtl,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.monthly.repeatMonthDay=ao;h.editDialogFields.monthly.repeatMonthDayBool=al;h.editDialogFields.monthly.repeatMonthDayLabel=an;var O=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(U);var aj=a("<div class='"+h._editDialogField()+"'></div>").appendTo(U);var aa=a("<div style='float:left;'></div>").appendTo(aj);var G=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(aa);G.jqxRadioButton({groupName:"month",width:25,checked:false,theme:h.theme});var L=a("<div style='float:left;'></div>").appendTo(aa);var Q=new Array();Q.push(h.schedulerLocalization.editDialogRepeatFirstString);Q.push(h.schedulerLocalization.editDialogRepeatSecondString);Q.push(h.schedulerLocalization.editDialogRepeatThirdString);Q.push(h.schedulerLocalization.editDialogRepeatFourthString);Q.push(h.schedulerLocalization.editDialogRepeatLastString);L.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:Q,autoDropDownHeight:true,width:"auto",theme:h.theme});var S=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(aa);var ac=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);ac.push(P)}S.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,autoDropDownHeight:true,selectedIndex:1,source:ac,width:"auto",theme:h.theme});h.editDialogFields.monthly.repeatDayOfWeekBool=G;h.editDialogFields.monthly.repeatDayOfWeek=S;h.editDialogFields.monthly.repeatDayOfWeekLabel=O;h.editDialogFields.monthly.repeatDayOfWeekType=L;h.editDialogFields.monthly.panel=U;U.detach();h.editDialogFields.yearly={};var aq=a("<div style='visibility: hidden;'></div>").appendTo(a(document.body));var R=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatEveryString+"</div>").appendTo(aq);var ak=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ab=a("<div style='float:left;'></div>").appendTo(ak);ab.jqxNumberInput({decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});var D=a("<div style='float: left; margin-left: 5px; line-height:25px;'>"+h.schedulerLocalization.editDialogRepeatEveryYearString+"</div>").appendTo(ak);h.editDialogFields.yearly.repeatYear=ab;h.editDialogFields.yearly.repeatYearLabel=R;var N=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogRepeatOnString+"</div>").appendTo(aq);var ah=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var X=a("<div style='float:left;'></div>").appendTo(ah);var af=a("<div style='position:relative; top: 6px; float:left;'></span></div>").appendTo(X);af.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:true,theme:h.theme});h.editDialogFields.yearly.repeatYearBool=af;h.editDialogFields.yearly.repeatYearBoolLabel=N;var v=a("<div style='float:left;'></div>").appendTo(X);var ap=new Array();for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}v.jqxDropDownList({height:27,selectedIndex:0,dropDownWidth:150,width:"auto",source:ap,theme:h.theme});h.editDialogFields.yearly.repeatYearMonth=v;var y=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(X);y.jqxNumberInput({height:25,decimal:1,min:1,inputMode:"simple",width:50,spinButtons:true,decimalDigits:0,theme:h.theme});h.editDialogFields.yearly.repeatYearDay=y;var ae=a("<div class='"+h._editDialogLabel()+"'></div>").appendTo(aq);var s=a("<div class='"+h._editDialogField()+"'></div>").appendTo(aq);var ar=a("<div style='float:left;'></div>").appendTo(s);var C=a("<div style='position:relative; top: 6px; float:left;'><span style='margin-left:2px;'></span></div>").appendTo(ar);C.jqxRadioButton({rtl:h.rtl,groupName:"year",width:25,checked:false,theme:h.theme});var au=a("<div style='float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeekBool=C;h.editDialogFields.yearly.repeatDayOfWeekType=au;h.editDialogFields.yearly.repeatDayOfWeekLabel=ae;var K=new Array();K.push(h.schedulerLocalization.editDialogRepeatFirstString);K.push(h.schedulerLocalization.editDialogRepeatSecondString);K.push(h.schedulerLocalization.editDialogRepeatThirdString);K.push(h.schedulerLocalization.editDialogRepeatFourthString);K.push(h.schedulerLocalization.editDialogRepeatLastString);au.jqxDropDownList({height:27,dropDownWidth:150,selectedIndex:0,source:K,autoDropDownHeight:true,width:"auto",theme:h.theme});var I=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);h.editDialogFields.yearly.repeatDayOfWeek=I;var u=new Array();for(var aw=0;aw<7;aw++){var P=h._getDayName(aw);u.push(P)}I.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:1,autoDropDownHeight:true,source:u,width:"auto",theme:h.theme});var ap=new Array();var J=a("<div style='line-height:25px; height: 25px; margin-left: 5px; float:left;'>"+h.schedulerLocalization.editDialogRepeatOfString+"</div>").appendTo(ar);var w=a("<div style='margin-left: 5px; float:left;'></div>").appendTo(ar);for(var aw=0;aw<12;aw++){var ax=h.schedulerLocalization.months.names[aw];ap.push(ax)}h.editDialogFields.yearly.repeatDayOfWeekMonth=w;w.jqxDropDownList({height:27,rtl:h.rtl,dropDownWidth:150,selectedIndex:0,source:ap,width:"auto",theme:h.theme});h.editDialogFields.yearly.panel=aq;aq.detach()};if(h.editAppointment&&h.editAppointment.rootAppointment){q()}else{q()}var g=a("<div></div>");i.append(g);var f=a("<div class='"+h._editDialogLabel()+"'>"+h.schedulerLocalization.editDialogExceptionsString+"</div>").appendTo(g);var e=a("<div class='"+h._editDialogField()+"'></div>").appendTo(g);var d=a("<div style='position:relative; top:2px;'>"+h.schedulerLocalization.editDialogResetExceptionsString+"</div>").appendTo(e);d.jqxCheckBox({width:"100%",theme:h.theme});g.hide();h.editDialogFields.resetExceptions=d;h.editDialogFields.resetExceptionsLabel=f;h.editDialogFields.resetExceptionsContainer=g;var n=new Array();n.push(h.schedulerLocalization.editDialogRepeatNeverString);n.push(h.schedulerLocalization.editDialogRepeatDailyString);n.push(h.schedulerLocalization.editDialogRepeatWeeklyString);n.push(h.schedulerLocalization.editDialogRepeatMonthlyString);n.push(h.schedulerLocalization.editDialogRepeatYearlyString);k.jqxDropDownList({rtl:h.rtl,height:27,width:"100%",autoDropDownHeight:true,theme:h.theme,source:n,selectedIndex:0});h.editDialogFields.repeat=k;h.editDialogFields.repeatLabel=j;h.editDialogFields.repeatContainer=b;h.editDialogFields.repeatPanel=r;this.addHandler(k,"change",function(u){var t=u.args.item.index;var s=function(){r.children().detach();switch(t){case 0:break;case 1:h.editDialogFields.daily.panel.css("visibility","visible");r.append(h.editDialogFields.daily.panel);break;case 2:h.editDialogFields.weekly.panel.css("visibility","visible");r.append(h.editDialogFields.weekly.panel);break;case 3:h.editDialogFields.monthly.panel.css("visibility","visible");r.append(h.editDialogFields.monthly.panel);break;case 4:h.editDialogFields.yearly.panel.css("visibility","visible");r.append(h.editDialogFields.yearly.panel);break}r.append(m);if(t==0){h.editDialogFields.repeatEndPanelContainer.hide()}else{h.editDialogFields.repeatEndPanelContainer.show()}if(!h.isTouchDevice()){p.jqxWindow({height:150});p.jqxWindow({height:i[0].scrollHeight+40})}}()})},_initMenu:function(){var c=this;if(this.host.jqxMenu){if(this.menu){if(this._hasOpenedMenu){return}this.removeHandler(this.menu,"keydown");this.removeHandler(this.menu,"closed");this.removeHandler(this.menu,"itemclick");this.menu.jqxMenu("destroy");this.menu.removeData();this.menu.remove()}this.menuitemsarray=new Array();this.menu=a('<div id="menu.jqxscheduler'+this.element.id+'" style="white-space: nowrap; z-index: 9999999999999;"></div>');this.host.append(this.menu);this.addHandler(a(window),"orientationchange.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.addHandler(a(window),"orientationchanged.jqxscheduler"+this.element.id,function(){c.menu.jqxMenu("close");c._hasOpenedMenu=false});this.removeHandler(this.menu,"keydown");this.addHandler(this.menu,"keydown",function(e){if(e.keyCode==27){c.menu.jqxMenu("close");c._hasOpenedMenu=false;c.focus()}});this.addHandler(this.menu,"open",function(e){if(c.contextMenuOpen){c.contextMenuOpen(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._raiseEvent("contextMenuOpen",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});c._removeFeedbackAndStopResize()});this.addHandler(this.menu,"close",function(e){if(c.contextMenuClose){c.contextMenuClose(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,e)}c._hasOpenedMenu=false;if(document.activeElement&&document.activeElement.className.indexOf("jqx-menu")>=0&&!c.menuOpening){c.focus()}c._raiseEvent("contextMenuClose",{menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null})});this.addHandler(this.host,"contextmenu",function(e){e.preventDefault();e.stopPropagation();return false});this.addHandler(this.menu,"itemclick",function(h){var g=c.menu.jqxMenu("getItem",h.args.id);c._raiseEvent("contextMenuItemClick",{item:g,menu:c.menu,appointment:c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null});if(c.contextMenuItemClick){var f=c.contextMenuItemClick(c.menu,c.selectedJQXAppointment?c.selectedJQXAppointment.boundAppointment:null,h);if(f==true){if(new Date()-c.renderedTime>500){c._renderrows()}c.menu.jqxMenu("close");c._hasOpenedMenu=false;return}}if(g.id=="createAppointment"){c._initDialog();c._openDialog();if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(g.id=="editAppointment"){var e=c.getJQXAppointmentByElement(c.selectedAppointment);if(!e.readOnly){var f=c._initDialog(e);if(f!==false){c._openDialog()}}if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}}else{if(h.args.clickType=="keyboard"){c.menu.jqxMenu("close");c._hasOpenedMenu=false}return true}}});var d=new Array();d.push({label:this.schedulerLocalization.contextMenuEditAppointmentString,id:"editAppointment"});d.push({label:this.schedulerLocalization.contextMenuCreateAppointmentString,id:"createAppointment"});var b={rtl:this.rtl,keyboardNavigation:true,source:d,popupZIndex:999999,autoOpenPopup:false,mode:"popup",theme:this.theme,animationShowDuration:0,animationHideDuration:0,animationShowDelay:0};if(c.contextMenuCreate){c.contextMenuCreate(c.menu,b)}c._raiseEvent("contextMenuCreate",{menu:c.menu,settings:b});this.menu.jqxMenu(b)}},_initDialog:function(b,c){var m=this;var k=null;if(b&&b.isRecurrentAppointment()&&!m.editRecurrenceDialog.jqxWindow("isOpen")){var l=m.host.coord();var o=l.top+m.host.height()/2-m.editRecurrenceDialog.height()/2;var g=l.left+m.host.width()/2-m.editRecurrenceDialog.width()/2;m.editRecurrenceDialog.find("button:first").focus();setTimeout(function(){m.editRecurrenceDialog.find("button:first").focus()},25);m.editRecurrenceDialog.jqxWindow("move",g,o);m.editRecurrenceDialog.jqxWindow("open");m.editSeries=function(i){if(i){m._initDialog(b.rootAppointment);m._openDialog()}else{m._initDialog(b);m._openDialog()}};m.overlay.show();m.overlay.width(m.host.width());m.overlay.height(m.host.height());var l=m.host.coord();m.overlay.offset(l);if(!m._editDialog){m._initDialog()}return false}m.editAppointment=b;if(!b){k=m.getSelection();if(!k){m.focus();if(!m.focusedCell){m._updateFocusedCell()}if(m.focusedCell){m.focusedCell.setAttribute("data-selected","true");m._lastSelectedCell=m.focusedCell;m._updateCellsSelection(m.focusedCell);k=m.getSelection()}}}if(k||b){var d=k?k.from:b.from;var h=k?k.to:b.to;var n=m.getSelectedCells();if(n.length>0){var f=n[n.length-1].getAttribute("data-end-date");if(f){h=a.jqx.scheduler.utilities.getEndOfDay(h)}}m._editStart=d;m._editEnd=h}if(m.editDialogFields&&m.editDialogFields.resourceContainer&&m._resources.length>0){var e=new Array();for(var j=0;j<m._resources.length;j++){e.push(m._resources[j])}var r=true;if(e.length>10){r=false}m.editDialogFields.resource.jqxDropDownList({source:e,selectedIndex:0,autoDropDownHeight:r});if(!b){m.editDialogFields.resource.val(k.resourceId)}}if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(b&&b.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}if(m._editDialog==null){m._editDialog=null;var p=b==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;var q=a("<div><div>"+p+"</div><div id='dialog"+this.element.id+"'></div></div>");a(q).jqxWindow({rtl:m.rtl,autoFocus:false,autoOpen:false,animationType:"none",theme:m.theme,width:540,maxHeight:800,minHeight:110,resizable:false,initContent:function(){m.editDialogFields={};if(d==null&&h==null&&m._editStart&&m._editEnd){d=m._editStart;h=m._editEnd}q.jqxWindow("setTitle",p);var H=a(q.children()[1]);var A=a("<div></div>");H.append(A);var C=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogSubjectString+"</div>").appendTo(A);var ad=a("<div class='"+m._editDialogField()+"'></div>").appendTo(A);var U=a("<input type='text'/>").appendTo(ad);U.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});U.css("box-sizing","border-box");m.editDialogFields.subject=U;m.editDialogFields.subjectLabel=C;m.editDialogFields.subjectContainer=A;var P=a("<div></div>");H.append(P);var z=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogLocationString+"</div>").appendTo(P);var Z=a("<div class='"+m._editDialogField()+"'></div>").appendTo(P);var T=a("<input type='text'/>").appendTo(Z);T.jqxInput({height:25,rtl:m.rtl,width:"100%",theme:m.theme});T.css("box-sizing","border-box");m.editDialogFields.location=T;m.editDialogFields.locationLabel=z;m.editDialogFields.locationContainer=P;var L=a("<div></div>");H.append(L);var X=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogFromString+"</div>").appendTo(L);var av=a("<div class='"+m._editDialogField()+"'></div>").appendTo(L);var aq=a("<div></div>").appendTo(av);var V=null;if(!d){var ay=new Date();ay.setHours(9,0,0);V=ay;d=new a.jqx.date(ay)}else{V=d.toDate()}aq.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:V,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.from=aq;m.editDialogFields.fromLabel=X;m.editDialogFields.fromContainer=L;var aC=a("<div></div>");H.append(aC);var y=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogToString+"</div>").appendTo(aC);var Y=a("<div class='"+m._editDialogField()+"'></div>").appendTo(aC);var S=a("<div></div>").appendTo(Y);var x=null;if(!h){var ay=new Date();ay.setHours(10,0,0);x=ay;h=new a.jqx.date(ay)}else{x=h.toDate()}S.jqxDateTimeInput({height:27,dropDownWidth:220,dropDownHeight:220,rtl:m.rtl,localization:m._getDateTimeInputLocalization(),firstDayOfWeek:m.schedulerLocalization.firstDay,todayString:m.schedulerLocalization.todayString,clearString:m.schedulerLocalization.clearString,value:x,formatString:m.editDialogDateTimeFormatString,width:"100%",showTimeButton:true,theme:m.theme});m.editDialogFields.to=S;m.editDialogFields.toLabel=y;m.editDialogFields.toContainer=aC;m._changeFromUser=true;m.addHandler(aq,"change",function(aH){if(!m._changeFromUser){return}var aF=aH.args;var aK=aH.args.oldValue;var aJ=S.val("date");var aE=new a.jqx.date(aJ)-new a.jqx.date(aK);if(aE>0){var aG=aE*10000;var aI=a.jqx.timeSpan(aG);var i=new a.jqx.date(aH.args.newValue).add(aI);S.val(i.toDate())}});m.addHandler(S,"change",function(aE){if(!m._changeFromUser){return}var i=aE.args;var aG=aE.args.oldValue;var aF=S.val("date");if(aq.val("date")>=aF){S.val(aG)}});var t=a("<div></div>");H.append(t);var R=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogAllDayString+"</div>").appendTo(t);var ar=a("<div class='"+m._editDialogField()+"'></div>").appendTo(t);var ai=a("<div style='top: 8px; position:relative;'></div>").appendTo(ar);ai.jqxCheckBox({rtl:m.rtl,width:25,theme:m.theme});m.editDialogFields.allDay=ai;m.editDialogFields.allDayLabel=R;m.editDialogFields.allDayContainer=t;m.addHandler(t,"change",function(i){if(i.args.checked){S.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString});aq.jqxDateTimeInput({showTimeButton:false,formatString:m.editDialogDateFormatString})}else{S.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString});aq.jqxDateTimeInput({showTimeButton:true,formatString:m.editDialogDateTimeFormatString})}});if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}if(m._views[m._view].type.indexOf("month")>=0||(d&&d.equals(h))||(h&&h.equals(a.jqx.scheduler.utilities.getEndOfDay(h))&&d&&d.equals(a.jqx.scheduler.utilities.getStartOfDay(d)))){m.editDialogFields.allDay.val(true)}var w=a("<div></div>");H.append(w);var W=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogTimeZoneString+"</div>").appendTo(w);var at=a("<div class='"+m._editDialogField()+"'></div>").appendTo(w);var ao=a("<div></div>").appendTo(at);var u=new Array();u.push({displayName:m.schedulerLocalization.editDialogSelectTimeZoneString,id:null});u=u.concat(m.timeZones);for(var aw=0;aw<u.length;aw++){var au=u[aw];var G=au.displayName.indexOf(")");if(G>=0){var af=au.displayName.substring(2+G)}else{var af=au.displayName}au.searchName=af}ao.jqxDropDownList({height:27,rtl:m.rtl,placeHolder:m.schedulerLocalization.editDialogSelectTimeZoneString,width:"100%",theme:m.theme,searchMember:"searchName",source:u,displayMember:"displayName",valueMember:"id"});m.editDialogFields.timeZone=ao;m.editDialogFields.timeZoneLabel=W;m.editDialogFields.timeZoneContainer=w;m.initRepeatPanels(q,H,h.toDate());if(m.editDialogFields&&m.editDialogFields.repeatContainer){if(m.editAppointment&&m.editAppointment.rootAppointment){m.editDialogFields.repeatContainer.hide();m.editDialogFields.repeatPanel.hide()}else{m.editDialogFields.repeatContainer.show();m.editDialogFields.repeatPanel.show()}}var K=a("<div></div>");H.append(K);var aA=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogDescriptionString+"</div>").appendTo(K);var O=a("<div class='"+m._editDialogField()+"'></div>").appendTo(K);var D=a("<textarea type='text' resizable='off' style='position:relative; top: 3px; padding:3px;'></textarea>").appendTo(O);D.jqxInput({rtl:m.rtl,height:40,width:"100%",theme:m.theme});D.css("box-sizing","border-box");m.editDialogFields.description=D;m.editDialogFields.descriptionLabel=aA;m.editDialogFields.descriptionContainer=K;var ac=a("<div></div>");H.append(ac);var aD=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogColorString+"</div>").appendTo(ac);var Q=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ac);var F=a("<div></div>").appendTo(Q);var I=function(aE){if(aE==-1){return""}var i=m.colors[aE];var aF="";var aF="";aF+="<div style='margin-top: 1px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};var an=function(aG,aE){if(aE<0){aG.css("top","4px");aG.css("position","relative");return aG[0].outerHTML}var i=m.colors[aE];var aF="";aF+="<div style='margin-top: 2px; float: left; border-radius: 3px; width: 96%; height: 20px; border: none; background:"+i+"; margin-left: 2%;'></div>";return aF};F.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:-1,placeHolder:m.schedulerLocalization.editDialogColorPlaceHolderString,selectionRenderer:an,renderer:I,source:m.colors,width:"100%",theme:m.theme});m.editDialogFields.color=F;m.editDialogFields.colorLabel=aD;m.editDialogFields.colorContainer=ac;var ah=a("<div></div>");H.append(ah);var az=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogStatusString+"</div>").appendTo(ah);var N=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ah);var B=a("<div></div>").appendTo(N);B.jqxDropDownList({height:27,rtl:m.rtl,selectedIndex:2,autoDropDownHeight:true,source:m.schedulerLocalization.editDialogStatuses,width:"100%",theme:m.theme});m.editDialogFields.status=B;m.editDialogFields.statusLabel=az;m.editDialogFields.statusContainer=ah;var ag=a("<div></div>");H.append(ag);var M=a("<div class='"+m._editDialogLabel()+"'>"+m.schedulerLocalization.editDialogResourceIdString+"</div>").appendTo(ag);var am=a("<div class='"+m._editDialogField()+"'></div>").appendTo(ag);var ab=a("<div></div>").appendTo(am);var E=new Array();for(var aw=0;aw<m._resources.length;aw++){E.push(m._resources[aw])}var v=true;if(E.length>10){v=false}ab.jqxDropDownList({height:27,rtl:m.rtl,source:E,selectedIndex:0,autoDropDownHeight:v,width:"100%",theme:m.theme});m.editDialogFields.resource=ab;m.editDialogFields.resourceLabel=M;m.editDialogFields.resourceContainer=ag;if(E.length==0){ag.hide()}if(!b&&k){m.editDialogFields.resource.val(k.resourceId)}var ae=a("<div></div>");H.append(ae);var al=a("<div style='width:100%;' class='"+m._editDialogField()+"'></div>").appendTo(ae);var ap=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogCancelString+"</button>").appendTo(al);var aj=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogDeleteString+"</button>").appendTo(al);var ak=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteSeriesString+"</button>").appendTo(al);var J=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatDeleteString+"</button>").appendTo(al);var aa=a("<button style='margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogSaveString+"</button>").appendTo(al);var aB=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveSeriesString+"</button>").appendTo(al);var s=a("<button style='display: none; margin-left: 5px; float:right;'>"+m.schedulerLocalization.editDialogRepeatSaveString+"</button>").appendTo(al);var ax=25;if(m.isTouchDevice()){ax=null}aj.jqxButton({rtl:m.rtl,theme:m.theme});ak.jqxButton({rtl:m.rtl,theme:m.theme});J.jqxButton({rtl:m.rtl,theme:m.theme});aa.jqxButton({rtl:m.rtl,theme:m.theme});ap.jqxButton({rtl:m.rtl,theme:m.theme});aB.jqxButton({rtl:m.rtl,theme:m.theme});s.jqxButton({rtl:m.rtl,theme:m.theme});aB.hide();s.hide();m.editDialogFields.saveOccurrenceButton=s;m.editDialogFields.saveSeriesButton=aB;m.editDialogFields.saveButton=aa;m.editDialogFields.cancelButton=ap;m.editDialogFields.deleteButton=aj;m.editDialogFields.deleteSeriesButton=ak;m.editDialogFields.deleteExceptionsButton=J;m.editDialogFields.buttons=al;m.addHandler(aj,"click",function(){q.jqxWindow("close");m.overlay.hide();m._deleteAppointment(m.editAppointment)});m.addHandler(ap,"click",function(){q.jqxWindow("close");m.overlay.hide()});m.addHandler(s,"click",function(){if(!m.editAppointment.isException()){if(m.editAppointment.rootAppointment!=null){m.editAppointment.rootAppointment.exceptions.push(m.editAppointment);m.editAppointment.rootAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}else{m.editAppointment.exceptions.push(m.editAppointment);m.editAppointment.recurrenceException.push(m.editAppointment.occurrenceFrom)}}else{var aG=m.editAppointment.rootAppointment?m.editAppointment.rootAppointment.exceptions:m.editAppointment.exceptions;for(var aF=0;aF<aG.length;aF++){if(aG[aF].occurrenceFrom.equals(m.editAppointment.occurrenceFrom)){aG[aF]=m.editAppointment;break}}}var aE=m._setAppointmentPropertiesFromDialog(m.editAppointment,"occurrence");if(!aE){return}m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment.boundAppointment};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aB,"click",function(){var aE=m.editAppointment;if(aE.rootAppointment){aE=aE.rootAppointment}var i=m._setAppointmentPropertiesFromDialog(aE,"series");if(!i){return}m.changedAppointments[aE.id]={type:"Update",appointment:aE.boundAppointment};m._raiseEvent("appointmentChange",{appointment:aE.boundAppointment});m._renderrows();q.jqxWindow("close");m.overlay.hide()});m.addHandler(aa,"click",function(){var i=true;if(m.editAppointment==null){var aE=new a.jqx.scheduler.appointment();i=m._setAppointmentPropertiesFromDialog(aE,"none");if(i){m.addAppointment(aE)}}else{if(m.editAppointment.rootAppointment){s.trigger("click");i=false}else{if(m.editAppointment.isRecurrentAppointment()){aB.trigger("click");i=false}else{i=m._setAppointmentPropertiesFromDialog(m.editAppointment,"none");if(i){m.changedAppointments[m.editAppointment.id]={type:"Update",appointment:m.editAppointment?m.editAppointment.boundAppointment:null};m._raiseEvent("appointmentChange",{appointment:m.editAppointment.boundAppointment});m._renderrows()}}}}if(i){q.jqxWindow("close");m.overlay.hide()}});m.addHandler(q,"close",function(i){m.overlay.hide();m.focus();if(m.editDialogClose){m.editDialogClose(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null)}m._raiseEvent("editDialogClose",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null})});if(m.editDialogCreate){m.editDialogCreate(q,m.editDialogFields,m.editAppointment)}m._raiseEvent("editDialogCreate",{dialog:q,fields:m.editDialogFields,appointment:m.editAppointment?m.editAppointment.boundAppointment:null});q.jqxWindow({height:H[0].scrollHeight+40})}});m._editDialog=q}if(!m.dialogOpenings){m.dialogOpenings=0}m.removeHandler(m._editDialog,"open");m.addHandler(m._editDialog,"open",function(t){if(m.editDialogOpen&&m.editDialogFields){var i=m.editDialogOpen(q,m.editDialogFields,m.editAppointment?m.editAppointment.boundAppointment:null);if(i==true){return}}if(m.rtl){m._editDialog.find(".jqx-scheduler-edit-dialog-label").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-label-rtl"));m._editDialog.find(".jqx-scheduler-edit-dialog-field").addClass(m.toThemeProperty("jqx-scheduler-edit-dialog-field-rtl"));m.editDialogFields.saveOccurrenceButton.css("float","left");m.editDialogFields.saveSeriesButton.css("float","left");m.editDialogFields.saveButton.css("float","left");m.editDialogFields.cancelButton.css("float","left");m.editDialogFields.deleteButton.css("float","left");m.editDialogFields.deleteSeriesButton.css("float","left");m.editDialogFields.deleteExceptionsButton.css("float","left");m.editDialogFields.buttons.css("width","auto");m.editDialogFields.allDay.css("float","right")}setTimeout(function(){var v=m.editAppointment?m.editAppointment.boundAppointment:null;if(m.editAppointment&&m.editAppointment.rootAppointment){v=m.editAppointment.rootAppointment.boundAppointment}m._raiseEvent("editDialogOpen",{dialog:m._editDialog,fields:m.editDialogFields,appointment:v})});var s=function(){setTimeout(function(){if(!c){m.editDialogFields.subject.focus();m.editDialogFields.subject.select()}else{m.editDialogFields.deleteButton.focus()}},1)};var u=m.editAppointment==null?m.schedulerLocalization.editDialogCreateTitleString:m.schedulerLocalization.editDialogTitleString;m._editDialog.jqxWindow({title:u});if(0==m.dialogOpenings&&!b){m.dialogOpenings++;if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}m.editDialogFields.deleteButton.hide();s();return}if(m.editDialogFields){m.editDialogFields.subject.val("");m.editDialogFields.location.val("");s();m.editDialogFields.resetExceptions.val(false);m.editDialogFields.description.val("");if(!b){m.editDialogFields.deleteButton.hide()}if(b){m.dialogOpenings++;m.editDialogFields.deleteButton.show();m.editDialogFields.subject.val(b.subject);m.editDialogFields.location.val(b.location);m.editDialogFields.description.val(b.description);m.editDialogFields.timeZone.val(b.timeZone);if(m.colors.indexOf(b.borderColor)>=0){m.editDialogFields.color.val(b.borderColor)}else{m.editDialogFields.color.jqxDropDownList("clearSelection")}m.editDialogFields.allDay.val(b.allDay);m.editDialogFields.resource.val(b.resourceId);m.editDialogFields.status.val(b.status);if(b.timeZone){b.from=b.from.toTimeZone(b.timeZone);b.to=b.to.toTimeZone(b.timeZone)}d=b.from;h=b.to;if(a.jqx.scheduler.utilities.getStartOfDay(d).equals(d)&&a.jqx.scheduler.utilities.getEndOfDay(h).equals(h)){m.editDialogFields.allDay.val(true)}m._setAppointmentPropertiesToDialog(b,d,h,k?k.resourceId:null)}else{m.editDialogFields.saveButton.show();m._setAppointmentPropertiesToDialog(null,d,h,k?k.resourceId:null)}if(d&&h){m._changeFromUser=false;m.editDialogFields.from.val(d.toDate());m.editDialogFields.to.val(h.toDate());m._changeFromUser=true}if(!m.isTouchDevice()){m._editDialog.jqxWindow({height:150});m._editDialog.jqxWindow({height:a(m._editDialog.children())[1].scrollHeight+40})}}});m.removeHandler(m._editDialog,"keydown");m.addHandler(m._editDialog,"keydown",function(s){if(m.editDialogKeyDown){var i=m.editDialogKeyDown(q,m.editDialogFields,m.editAppointment,s);if(i!=undefined){return i}}if(s.keyCode==13){if(a(document.activeElement).ischildof(m._editDialog)){if(document.activeElement.nodeName.toLowerCase()=="button"){return true}if(b){if(b.isException()||b.rootAppointment){m.editDialogFields.saveOccurrenceButton.trigger("click")}else{if(b.isRecurrentAppointment()){m.editDialogFields.saveSeriesButton.trigger("click")}else{m.editDialogFields.saveButton.trigger("click")}}}else{m.editDialogFields.saveButton.trigger("click")}}}else{if(s.keyCode==27){m.editDialogFields.cancelButton.trigger("click")}}})},openMenu:function(e,c){var d=this;if(!d.menu){d._initMenu()}var b=d._views[d._view].type;if(d.contextMenu&&d.menu){if(!d.selectedAppointment){d.menu.jqxMenu("hideItem","editAppointment")}else{d.menu.jqxMenu("showItem","editAppointment")}if(arguments.length<2){if(d.selectedAppointment){var f=d.selectedAppointment.coord();e=f.left;c=f.top}else{if(d.focusedCell){var f=a(d.focusedCell).coord()}}e=f.left;c=f.top}d.menu.jqxMenu("open",e,c);d._hasOpenedMenu=true}},closeMenu:function(){var b=this;if(b.contextMenu&&b.menu){setTimeout(function(){b.menu.jqxMenu("close")})}},closeDialog:function(){var b=this;b._editDialog.jqxWindow("close")},openDialog:function(d,e){var f=this;var c=f._views[f._view].type;if(f.selectedJQXAppointment){var b=f._initDialog(f.selectedJQXAppointment);if(b!==false){f._openDialog(d,e)}}else{if(f.getSelection()==null){f.focus();f.focusedCell.setAttribute("data-selected","true");f._lastSelectedCell=f.focusedCell;f._updateCellsSelection(f.focusedCell)}f._initDialog();f._openDialog(d,e)}},_openDialog:function(d,c){var f=this;var j=f._views[f._view].type;if(!f.editDialog){return}var e=f.host.coord();f.overlay.show();f.overlay.css("z-index",9999999);f.overlay.width(f.host.width());f.overlay.height(f.host.height());f.overlay.offset(e);var g=f.isTouchDevice();if(g){f._editDialog.jqxWindow("move",e.left,e.top);f._editDialog.jqxWindow({draggable:false,maxWidth:f.host.width(),maxHeight:f.host.height()});f._editDialog.jqxWindow({width:f.host.width(),height:f.host.height()});f._editDialog.jqxWindow("open");f._editDialog.jqxWindow("move",e.left,e.top)}else{if(d!=undefined&&c!=undefined){f._editDialog.jqxWindow("move",d,c);f._editDialog.jqxWindow("open")}else{var i=f._editDialog.height();if(i<400){i=400}var h=e.top+f.host.height()/2-i/2;var b=e.left+f.host.width()/2-f._editDialog.width()/2;f._editDialog.jqxWindow("move",b,h);f._editDialog.jqxWindow("open")}}setTimeout(function(){f.overlay.css("z-index",999)},50)},_setAppointmentPropertiesFromDialog:function(c,d){var e=this;var b=function(n){var x=e._views[e._view].type;var u=e._views[e._view];var A=e.editDialogFields.from.val("date");var h=e.editDialogFields.to.val("date");if(A>h){e.editDialogFields.from.jqxDateTimeInput("focus");return false}if(A==h){if(x.indexOf("month")>=0){return true}return false}n.resourceId=e.editDialogFields.resource.val();if(e.editDialogFields.resourceContainer.css("display")=="none"){n.resourceId=""}n.description=e.editDialogFields.description.val();n.allDay=e.editDialogFields.allDay.val();n.status=e.editDialogFields.status.val();n.location=e.editDialogFields.location.val();n.timeZone=e.editDialogFields.timeZone.val();if(n.timeZone==""&&e.timeZone!=""){n.timeZone=e.timeZone}n.from=new a.jqx.date(A,n.timeZone);n.to=new a.jqx.date(h,n.timeZone);if(e.timeZone){n.from=n.from.toTimeZone(e.timeZone);n.to=n.to.toTimeZone(e.timeZone)}else{n.from=n.from.toTimeZone(null);n.to=n.to.toTimeZone(null)}if(n.allDay){n.from=a.jqx.scheduler.utilities.getStartOfDay(n.from);n.to=a.jqx.scheduler.utilities.getEndOfDay(n.to)}if(e.editDialogFields.color.val()){var v=e.getAppointmentColors(e.editDialogFields.color.val());n.color=v.color;n.background=v.background;n.borderColor=v.border}n.subject=e.editDialogFields.subject.val();var f=e.editDialogFields.repeat.jqxDropDownList("selectedIndex");var r=new a.jqx.scheduler.recurrencePattern();var j=e.editDialogFields.repeatEndPanel;r.timeZone=e.timeZone;r.from=n.from.clone();if(d=="occurrence"){if(n.rootAppointment){r.from=n.rootAppointment.from.clone()}}if(e.editDialogFields.resetExceptions.val()){n.exceptions=new Array();n.recurrenceException=new Array()}if(j.repeatEndNever.val()){r.count=1000;r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndAfter.val()){r.count=j.repeatEndAfterValue.val();r.to=new a.jqx.date(9999,12,31)}else{if(j.repeatEndOn.val()){r.count=1000;var h=new a.jqx.date(j.repeatEndOnValue.jqxDateTimeInput("getDate"),e.timeZone);r.to=h}}}switch(f){case 0:default:n.clearRecurrence();break;case 1:var k=e.editDialogFields.daily;var F=k.repeatDayInterval.val();r.interval=F;r.freq="daily";break;case 2:var w=e.editDialogFields.weekly;var F=w.repeatWeekInterval.val();var q=[{Sunday:0},{Monday:1},{Tuesday:2},{Wednesday:3},{Thursday:4},{Friday:5},{Saturday:6}];var p=w.repeatDays;var o=new Array();r.weekDays={};for(var C=0;C<7;C++){var B=p[C].val();if(B){if(C==0){o.push(6)}else{o.push(C-1)}a.extend(r.weekDays,q[C])}}r.freq="weekly";r.byweekday=o;r.interval=F;break;case 3:var D=e.editDialogFields.monthly;var F=D.repeatMonth.val();if(D.repeatMonthDayBool.val()){r.day=D.repeatMonthDay.val();r.bymonthday=new Array();r.bymonthday.push(r.day)}else{var y=D.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=D.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="monthly";r.interval=F;break;case 4:var G=e.editDialogFields.yearly;var F=G.repeatYear.val();if(G.repeatYearBool.val()){r.day=G.repeatYearDay.val();r.month=G.repeatYearMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);r.byyearday=new Array();r.byyearday.push(r.day)}else{r.month=G.repeatDayOfWeekMonth.jqxDropDownList("selectedIndex");r.bymonth=new Array();r.bymonth.push(1+r.month);var y=G.repeatDayOfWeek.jqxDropDownList("selectedIndex");var s=new Array();if(y==0){y=6}else{y--}var l=G.repeatDayOfWeekType.jqxDropDownList("selectedIndex");var E="";switch(l){case 0:E=1;break;case 1:E=2;break;case 2:E=3;break;case 3:E=4;break;case 4:E=-1;break}s.push([y,E]);r.bynweekday=s}r.freq="yearly";r.interval=F;break}if(n.rootAppointment){n.rootAppointment.recurrencePattern=r}else{if(f>0){n.recurrencePattern=r}}var m={};var t={};for(var H in e.appointmentDataFields){var g=e.appointmentDataFields[H];var z=n[H];m[H]=z;if(H=="from"||H=="to"){z=z.toDate()}t[g]=z}m.originalData=t;m.jqxAppointment=n;n.boundAppointment=m;return true}(c);return b},_setAppointmentPropertiesToDialog:function(e,h,d,g){var f=this;var c=function(){var p=f.editDialogFields.repeatEndPanel;p.repeatEndNever.jqxRadioButton({checked:true});p.repeatEndAfter.jqxRadioButton({checked:false});p.repeatEndAfterValue.val(1);p.repeatEndOnValue.val(l);var l=d.toDate();if(f.editDialogFields.daily){var j=f.editDialogFields.daily;j.repeatDayInterval.val(1)}if(f.editDialogFields.weekly){var o=f.editDialogFields.weekly;for(var m=0;m<o.repeatDays.length;m++){if(m==1){o.repeatDays[m].jqxCheckBox({checked:true})}else{o.repeatDays[m].jqxCheckBox({checked:false})}}o.repeatWeekInterval.val(1)}if(f.editDialogFields.monthly){var n=f.editDialogFields.monthly;n.repeatDayOfWeek.jqxDropDownList("selectIndex",1);n.repeatDayOfWeekBool.jqxRadioButton({checked:false});n.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);n.repeatMonthDayBool.jqxRadioButton({checked:true});n.repeatMonthDay.val(1);n.repeatMonth.val(1)}if(f.editDialogFields.yearly){var k=f.editDialogFields.yearly;k.repeatDayOfWeekMonth.jqxDropDownList("selectIndex",0);k.repeatDayOfWeekBool.jqxRadioButton({checked:false});k.repeatDayOfWeekType.jqxDropDownList("selectIndex",0);k.repeatDayOfWeek.jqxDropDownList("selectIndex",1);k.repeatYear.val(1);k.repeatYearMonth.jqxDropDownList("selectIndex",0);k.repeatYearDay.val(1);k.repeatYearBool.val(true)}};c();if(e&&e.isRecurrentAppointment()){if(!e.rootAppointment){f.editDialogFields.resetExceptionsContainer.show()}else{f.editDialogFields.resetExceptionsContainer.hide()}}else{if(e){f.editDialogFields.resetExceptionsContainer.hide();f.editDialogFields.repeat.jqxDropDownList("selectIndex",0)}}if(!e){f.editDialogFields.timeZone.jqxDropDownList("clearSelection");if(!g){f.editDialogFields.resource.jqxDropDownList("selectIndex",0)}else{f.editDialogFields.resource.val(g)}f.editDialogFields.allDay.val(false);if(f._views[f._view].type.indexOf("month")>=0||(h&&h.equals(d))||(d&&d.equals(a.jqx.scheduler.utilities.getEndOfDay(d))&&h&&h.equals(a.jqx.scheduler.utilities.getStartOfDay(h)))){f.editDialogFields.allDay.val(true)}f.editDialogFields.color.jqxDropDownList("clearSelection");f.editDialogFields.description.val("");f.editDialogFields.subject.val("");f.editDialogFields.repeat.jqxDropDownList("selectIndex",0);return}var b=function(j){var r=j.recurrencePattern;if(j.rootAppointment){var r=j.rootAppointment.recurrencePattern}if(r==null){return}var k=r.freq;var p=0;if(k=="daily"){p=1}if(k=="weekly"){p=2}if(k=="monthly"){p=3}if(k=="yearly"){p=4}var n=f.editDialogFields.repeatEndPanel;if(r.count!=1000){n.repeatEndNever.jqxRadioButton({checked:false});n.repeatEndAfter.jqxRadioButton({checked:true});n.repeatEndAfterValue.val(r.count)}else{if(r.to.year()!=9999){n.repeatEndOn.jqxRadioButton({checked:true});n.repeatEndOnValue.val(r.to.toDate())}else{n.repeatEndNever.jqxRadioButton({checked:true})}}f.editDialogFields.repeat.jqxDropDownList("selectIndex",p);switch(p){case 1:var l=r.interval;var q=f.editDialogFields.daily;q.repeatDayInterval.val(l);break;case 2:var l=r.interval;var z=f.editDialogFields.weekly;z.repeatWeekInterval.val(l);var y=r.byweekday;for(var o=0;o<7;o++){var w=z.repeatDays[o];w.val(false)}for(var o=0;o<y.length;o++){var w=y[o];if(w==6){z.repeatDays[0].val(true)}else{z.repeatDays[w+1].val(true)}}break;case 3:var u=f.editDialogFields.monthly;u.repeatMonth.val(r.interval);if(r.bymonthday&&r.bymonthday.length>0){u.repeatMonthDayBool.jqxRadioButton({checked:true});u.repeatMonthDay.val(r.day)}else{u.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}u.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}u.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break;case 4:var t=f.editDialogFields.yearly;if(r.byyearday&&r.byyearday.length>0){t.repeatYearDay.val(r.byyearday[0]);t.repeatYearBool.val(true)}if(r.bymonth&&r.bymonth.length>0){t.repeatYearMonth.jqxDropDownList("selectIndex",r.bymonth[0]-1);t.repeatYearBool.val(true)}if(!r.byyearday||(r.byyearday&&r.byyearday.length==0)){t.repeatDayOfWeekMonth.jqxDropDownList("selectIndex",r.bymonth[0]-1);t.repeatDayOfWeekBool.jqxRadioButton({checked:true});var s=r.bynweekday;var m=s[0][0];m++;if(m==7){m=0}t.repeatDayOfWeek.jqxDropDownList("selectIndex",m);var x=s[0][1];var v="";switch(x){case 1:v=0;break;case 2:v=1;break;case 3:v=2;break;case 4:v=3;break;case -1:v=4;break}t.repeatDayOfWeekType.jqxDropDownList("selectIndex",v)}break}};b(e)}});a.jqx.scheduler.column=function(b,c){this.owner=b;this.datafield=null;this.displayfield=null;this.text="";this.sortable=true;this.editable=true;this.hidden=false;this.hideable=true;this.groupable=true;this.renderer=null;this.cellsRenderer=null;this.columntype=null;this.cellsFormat="";this.align="center";this.cellsalign="center";this.width="auto";this.minwidth=60;this.maxwidth="auto";this.pinned=false;this.visibleindex=-1;this.filterable=true;this.filter=null;this.resizable=true;this.draggable=true;this.initeditor=null;this.createeditor=null;this.destroyeditor=null;this.geteditorvalue=null;this.autoCellHeight=true;this.validation=null;this.classname="";this.cellclassname="";this.rendered=null;this.exportable=true;this.nullable=true;this.columngroup=null;this.columntype="textbox";this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(d,e){if(this[d]){var f=this[d];this[d]=e;this.owner._columnPropertyChanged(this,d,e,f)}else{if(this[d.toLowerCase()]){var f=this[d.toLowerCase()];this[d.toLowerCase()]=e;this.owner._columnPropertyChanged(this,d.toLowerCase(),e,f)}}};this._initfields=function(e){if(e!=null){var d=this;if(a.jqx.hasProperty(e,"dataField")){this.datafield=a.jqx.get(e,"dataField")}if(a.jqx.hasProperty(e,"displayField")){this.displayfield=a.jqx.get(e,"displayField")}else{this.displayfield=this.datafield}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"validation")){this.validation=a.jqx.get(e,"validation")}if(a.jqx.hasProperty(e,"autoCellHeight")){this.autoCellHeight=a.jqx.get(e,"autoCellHeight")}if(a.jqx.hasProperty(e,"text")){this.text=a.jqx.get(e,"text")}else{this.text=this.displayfield}if(a.jqx.hasProperty(e,"sortable")){this.sortable=a.jqx.get(e,"sortable")}if(a.jqx.hasProperty(e,"hidden")){this.hidden=a.jqx.get(e,"hidden")}if(a.jqx.hasProperty(e,"groupable")){this.groupable=a.jqx.get(e,"groupable")}if(a.jqx.hasProperty(e,"renderer")){this.renderer=a.jqx.get(e,"renderer")}if(a.jqx.hasProperty(e,"align")){this.align=a.jqx.get(e,"align")}if(a.jqx.hasProperty(e,"cellsAlign")){this.cellsalign=a.jqx.get(e,"cellsAlign")}if(a.jqx.hasProperty(e,"cellsFormat")){this.cellsFormat=a.jqx.get(e,"cellsFormat")}if(a.jqx.hasProperty(e,"width")){this.width=a.jqx.get(e,"width")}if(a.jqx.hasProperty(e,"minWidth")){this.minwidth=a.jqx.get(e,"minWidth")}if(a.jqx.hasProperty(e,"maxWidth")){this.maxwidth=a.jqx.get(e,"maxWidth")}if(a.jqx.hasProperty(e,"cellsRenderer")){this.cellsRenderer=a.jqx.get(e,"cellsRenderer")}if(a.jqx.hasProperty(e,"columnType")){this.columntype=a.jqx.get(e,"columnType")}if(a.jqx.hasProperty(e,"pinned")){this.pinned=a.jqx.get(e,"pinned")}if(a.jqx.hasProperty(e,"filterable")){this.filterable=a.jqx.get(e,"filterable")}if(a.jqx.hasProperty(e,"filter")){this.filter=a.jqx.get(e,"filter")}if(a.jqx.hasProperty(e,"resizable")){this.resizable=a.jqx.get(e,"resizable")}if(a.jqx.hasProperty(e,"draggable")){this.draggable=a.jqx.get(e,"draggable")}if(a.jqx.hasProperty(e,"editable")){this.editable=a.jqx.get(e,"editable")}if(a.jqx.hasProperty(e,"initEditor")){this.initeditor=a.jqx.get(e,"initEditor")}if(a.jqx.hasProperty(e,"createEditor")){this.createeditor=a.jqx.get(e,"createEditor")}if(a.jqx.hasProperty(e,"destroyEditor")){this.destroyeditor=a.jqx.get(e,"destroyEditor")}if(a.jqx.hasProperty(e,"getEditorValue")){this.geteditorvalue=a.jqx.get(e,"getEditorValue")}if(a.jqx.hasProperty(e,"className")){this.classname=a.jqx.get(e,"className")}if(a.jqx.hasProperty(e,"cellClassName")){this.cellclassname=a.jqx.get(e,"cellClassName")}if(a.jqx.hasProperty(e,"rendered")){this.rendered=a.jqx.get(e,"rendered")}if(a.jqx.hasProperty(e,"exportable")){this.exportable=a.jqx.get(e,"exportable")}if(a.jqx.hasProperty(e,"nullable")){this.nullable=a.jqx.get(e,"nullable")}if(a.jqx.hasProperty(e,"columnGroup")){this.columngroup=a.jqx.get(e,"columnGroup")}if(!e instanceof String&&!(typeof e=="string")){for(var f in e){if(!d.hasOwnProperty(f)){if(!d.hasOwnProperty(f.toLowerCase())){b.host.remove();throw new Error("jqxScheduler: Invalid property name - "+f+".")}}}}}};this._initfields(c);return this};a.jqx.schedulerDataCollection=function(b){this.records=new Array();this.owner=b;this.updating=false;this.beginUpdate=function(){this.updating=true};this.resumeupdate=function(){this.updating=false};this.clear=function(){this.records=new Array()};this.replace=function(d,c){this.records[d]=c};this.isempty=function(c){if(this.records[c]==undefined){return true}return false};this.initialize=function(c){if(c<1){c=1}this.records[c-1]=-1};this.length=function(){return this.records.length};this.indexOf=function(c){return this.records.indexOf(c)};this.add=function(c){if(c==null){return false}this.records[this.records.length]=c;return true};this.insertAt=function(d,c){if(d==null||d==undefined){return false}if(c==null){return false}if(d>=0){if(d<this.records.length){this.records.splice(d,0,c);return true}else{return this.add(c)}}return false};this.remove=function(d){if(d==null||d==undefined){return false}var c=this.records.indexOf(d);if(c!=-1){this.records.splice(c,1);return true}return false};this.removeAt=function(d){if(d==null||d==undefined){return false}if(d<0){return false}if(d<this.records.length){var c=this.records[d];this.records.splice(d,1);return true}return false};return this};a.jqx.scheduler.dataView=function(b){this.that=this;this.scheduler=null;this.records=[];this.rows=[];this.columns=[];this.filters=new Array();this.pagesize=0;this.pagenum=0;this.source=null;this.databind=function(c,i){var l=this;if(a.isArray(c)){l.update(c);return}var j=c._source?true:false;var e=null;this._sortData=null;this._sortHierarchyData=null;if(j){e=c;c=c._source}else{e=new a.jqx.dataAdapter(c,{autoBind:false})}var f=function(p){e.recordids=[];e.records=new Array();e.cachedrecords=new Array();e.originaldata=new Array();e._options.totalrecords=p.totalrecords;e._options.originaldata=p.originaldata;e._options.recordids=p.recordids;e._options.cachedrecords=new Array();e._options.pagenum=p.pagenum;e._options.pageable=p.pageable;if(c.type!=undefined){e._options.type=c.type}if(c.formatdata!=undefined){e._options.formatData=c.formatdata}if(c.contenttype!=undefined){e._options.contentType=c.contenttype}if(c.async!=undefined){e._options.async=c.async}if(c.updaterow!=undefined){e._options.updaterow=c.updaterow}if(c.addrow!=undefined){e._options.addrow=c.addrow}if(c.deleterow!=undefined){e._options.deleterow=c.deleterow}if(p.pagesize==0){p.pagesize=10}e._options.pagesize=p.pagesize};var m=function(p){p.originaldata=e.originaldata;p.records=e.records;p.hierarchy=e.hierarchy;if(!p.scheduler.serverProcessing){p._sortData=null;p._sortfield=null;p._filteredData=null;p._sortHierarchyData=null}if(!p.hierarchy){p.hierarchy=new Array();e.hierarchy=new Array()}if(e._source.totalrecords){p.totalrecords=e._source.totalrecords}else{if(e._source.totalRecords){p.totalrecords=e._source.totalRecords}else{if(p.hierarchy.length!==0){p.totalrecords=p.hierarchy.length}else{p.totalrecords=p.records.length}}}p.cachedrecords=e.cachedrecords};f(this);this.source=c;if(i!==undefined){var n=i}var l=this;switch(c.datatype){case"local":case"array":default:if(c.localdata==null){c.localdata=[]}if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k)}break;case"ics":case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(c.localdata!=null){e.unbindBindingUpdate(b+l.scheduler.element.id);if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}var k=function(p){m(l);l.update(e.records)};k();e.bindBindingUpdate(b+l.scheduler.element.id,k);return}var h={};var g=0;var o={};var d=e._options.data;if(e._options.data){a.extend(e._options.data,o)}else{if(c.data){a.extend(o,c.data)}e._options.data=o}var k=function(){var q=a.jqx.browser.msie&&a.jqx.browser.version<9;var r=function(){m(l);l.update(e.records)};if(q){try{r()}catch(p){}}else{r()}};e.unbindDownloadComplete(b+l.scheduler.element.id);e.bindDownloadComplete(b+l.scheduler.element.id,k);e._source.loaderror=function(r,p,q){k()};if((!l.scheduler.autoBind&&l.scheduler.isInitialized)||l.scheduler.autoBind){e.dataBind()}e._options.data=d}};this.addFilter=function(f,e){this._sortData=null;this._sortHierarchyData=null;var d=-1;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==f){d=c;break}}if(d==-1){this.filters[this.filters.length]={filter:e,datafield:f}}else{this.filters[d]={filter:e,datafield:f}}};this.removeFilter=function(d){this._sortData=null;this._sortHierarchyData=null;for(var c=0;c<this.filters.length;c++){if(this.filters[c].datafield==d){this.filters.splice(c,1);break}}};this._compare=function(d,c,f){var d=d;var c=c;if(d===undefined){d=null}if(c===undefined){c=null}if(d===null&&c===null){return 0}if(d===null&&c!==null){return 1}if(d!==null&&c===null){return 1}d=d.toString();c=c.toString();if(a.jqx.dataFormat){if(f&&f!=""){switch(f){case"number":case"int":case"float":if(d<c){return -1}if(d>c){return 1}return 0;case"date":case"time":if(d<c){return -1}if(d>c){return 1}return 0;case"string":case"text":d=String(d).toLowerCase();c=String(c).toLowerCase();break}}else{if(a.jqx.dataFormat.isNumber(d)&&a.jqx.dataFormat.isNumber(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(a.jqx.dataFormat.isDate(d)&&a.jqx.dataFormat.isDate(c)){if(d<c){return -1}if(d>c){return 1}return 0}else{if(!a.jqx.dataFormat.isNumber(d)&&!a.jqx.dataFormat.isNumber(c)){d=String(d).toLowerCase();c=String(c).toLowerCase()}}}}}try{if(d<c){return -1}if(d>c){return 1}}catch(e){var g=e}return 0};this._equals=function(d,c){return(this._compare(d,c)===0)};this.evaluate=function(l){if(this.scheduler.serverProcessing){return l}var c=new Array();if(this.filters.length){var f=new Array();var k=function(o,s){for(var q=0;q<o.length;q++){var r=o[q];r._visible=true;var m=undefined;for(var p=0;p<this.filters.length;p++){var n=this.filters[p].filter;var t=r[this.filters[p].datafield];var u=n.evaluate(t);if(m==undefined){m=u}else{if(n.operator=="or"){m=m||u}else{m=m&&u}}}r._visible=false;if(m||r.aggregate){r._visible=true;s.push(r);f[r.uid]=r}}};if(!this._filteredData){if(this.source.hierarchy||(this.scheduler.source.hierarchy&&this.scheduler.source.hierarchy.length>0)){var j=new Array();var g=function(n,o){for(var m=0;m<o.length;m++){var p=o[m];j.push(p);if(p.records&&p.records.length>0){g(p,p.records)}}};g(null,l);k.call(this,j,c);for(var d=0;d<c.length;d++){var e=c[d];while(e.parent){var h=e.parent;if(!f[h.uid]){h._visible=true;f[h.uid]=h}e=h}}c=l}else{k.call(this,l,c)}this._filteredData=c;this.rows=c}else{this.rows=this._filteredData}}else{this.rows=l}return this.rows};this.getid=function(j,d,e){if(a(j,d).length>0){return a(j,d).text()}if(this.rows&&j!=""&&j!=undefined&&this.rows.length>0){var h=this.rows[this.rows.length-1][j];if(h==null){h=null}for(var f=1;f<=100;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}if(j!=undefined){if(j.toString().length>0){var c=a(d).attr(j);if(c!=null&&c.toString().length>0){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){return"jqx"+c}return c}}}if(this.rows&&this.rows.length>0){var g=this.scheduler.appointmentsByKey[e];if(g){var h=this.rows[this.rows.length-1][j];if(h==null){h=""}for(var f=1;f<=1000;f++){var g=this.scheduler.appointmentsByKey[f+h];if(!g){if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+h+f];if(g){continue}return"jqx"+h+f}return h+f}}}}if(this.scheduler&&this.scheduler.treeGrid&&this.scheduler.treescheduler.virtualModeCreateRecords){var g=this.scheduler.appointmentsByKey["jqx"+e];if(!g){return"jqx"+e}else{for(var f=e+1;f<=100;f++){var g=this.scheduler.appointmentsByKey["jqx"+f];if(!g){var g=this.scheduler.appointmentsByKey["jqx"+f];if(g){continue}return"jqx"+f}}}}return e};this.generatekey=function(){var c=function(){return(((1+Math.random())*16)|0)};return(""+c()+c()+"-"+c()+"-"+c()+"-"+c()+"-"+c())};return this}})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxscheduler.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxscheduler.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.jqxWidget("jqxScheduler","",{});a.extend(a.jqx._jqxScheduler.prototype,{defineInstance:function(){var b={altRows:false,autoShowLoadElement:true,columnsHeight:30,columns:[],columnGroups:null,dataview:null,disabled:false,enableHover:true,appointmentOpacity:0.8,headerZIndex:235,height:600,timeRulerWidth:60,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",localization:null,ready:null,renderToolBar:null,renderAppointment:null,rendered:null,rendering:null,rtl:false,showToolbar:true,showLegend:false,legendPosition:"bottom",legendHeight:34,rowsHeight:27,touchRowsHeight:36,appointmentsMinHeight:18,touchAppointmentsMinHeight:27,appointmentsRenderMode:"default",serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:a.jqx.utilities.scrollBarSize,touchScrollBarSize:a.jqx.utilities.touchScrollBarSize,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,showAllDayRow:true,changedAppointments:new Array(),renderMode:"simple",views:new Array(),view:0,min:new a.jqx.date(0),max:new a.jqx.date(9999,12,31),date:new a.jqx.date("todayDate"),colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF","#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8","#E8601A","#FF9639","#F5BD6A","#599994","#115D6E","#D02841","#FF7C41","#FFC051","#5B5F4D","#364651","#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00","#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B","#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63","#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6","#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F","#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825","#993144","#FFA257","#CCA56A","#ADA072","#949681","#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932","#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54","#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3","#444546","#FFBB6E","#F28D00","#D94F00","#7F203B","#583C39","#674E49","#948658","#F0E99A","#564E49","#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17","#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5","#844341","#D5CC92","#BBA146","#897B26","#55591C","#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472","#96003A","#FF7347","#FFBC7B","#FF4154","#642223","#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E","#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7","#7B1A25","#BF5322","#9DA860","#CEA457","#B67818","#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46","#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800","#FF6800","#A0A700","#FF8D00","#678900","#0069A5"],colorSchemes:[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]}],resources:null,contextMenu:true,contextMenuOpen:null,contextMenuClose:null,contextMenuItemClick:null,contextMenuCreate:null,timeZone:null,statuses:{free:"white",tentative:"tentative",busy:"transparent",outOfOffice:"#800080"},appointmentDataFields:{from:"from",to:"to",id:"id",calendarId:"calendarId",description:"description",location:"location",subject:"subject",background:"background",color:"color",borderColor:"borderColor",style:"style",recurrencePattern:"recurrencePattern",recurrenceException:"recurrenceException",draggable:"draggable",resizable:"resizable",resourceId:"resourceId",status:"status",tooltip:"tooltip",hidden:"hidden",allDay:"allDay",timeZone:"timeZone",ownerId:"ownerId"},appointmentTooltips:true,tableColumns:1,tableRows:1,dayNameFormat:"full",touchDayNameFormat:"abbr",toolBarRangeFormat:"dd MMMM yyyy",toolBarRangeFormatAbbr:"dd MM yyyy",columnRenderer:null,exportSettings:{serverURL:null,characterSet:null,fileName:"jqxScheduler",dateTimeFormatString:"S",resourcesInMultipleICSFiles:false,ICSXWRCALNAME:"jqxScheduler",ICSXWRCALDESC:"jqxScheduler Description"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},editDialogDateTimeFormatString:"dd/MM/yyyy hh:mm tt",editDialogDateFormatString:"dd/MM/yyyy",editDialogOpen:null,editDialogCreate:null,editDialogKeyDown:null,editDialogClose:null,editDialog:true,toolbarHeight:54,tableZIndex:469,_updating:false,touchMode:"auto",width:800,that:this,beginDrag:null,endDrag:null,dragging:null,timeZones:[{id:"Dateline Standard Time",offset:-720,offsetHours:-12,displayName:"(UTC-12:00) International Date Line West",supportsDaylightSavingTime:false},{id:"UTC-11",offset:-660,offsetHours:-11,displayName:"(UTC-11:00) Coordinated Universal Time-11",supportsDaylightSavingTime:false},{id:"Hawaiteratoran Standard Time",offset:-600,offsetHours:-10,displayName:"(UTC-10:00) Hawaiterator",supportsDaylightSavingTime:false},{id:"Alaskan Standard Time",offset:-540,offsetHours:-9,displayName:"(UTC-09:00) Alaska",supportsDaylightSavingTime:true},{id:"Pacific Standard Time (Mexico)",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Baja California",supportsDaylightSavingTime:true},{id:"Pacific Standard Time",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Pacific Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Arizona",supportsDaylightSavingTime:false},{id:"Mountain Standard Time (Mexico)",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",supportsDaylightSavingTime:true},{id:"Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Mountain Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central America Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central America",supportsDaylightSavingTime:false},{id:"Canada Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Saskatchewan",supportsDaylightSavingTime:false},{id:"Central Standard Time (Mexico)",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",supportsDaylightSavingTime:true},{id:"SA Pacific Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Bogota, Lima, Quito, Rio Branco",supportsDaylightSavingTime:false},{id:"Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Eastern Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Indiana (East)",supportsDaylightSavingTime:true},{id:"Venezuela Standard Time",offset:-270,offsetHours:-4.5,displayName:"(UTC-04:30) Caracas",supportsDaylightSavingTime:false},{id:"Atlantic Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Atlantic Time (Canada)",supportsDaylightSavingTime:true},{id:"Paraguay Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Asuncion",supportsDaylightSavingTime:true},{id:"Central Brazilian Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Cuiaba",supportsDaylightSavingTime:true},{id:"Pacific SA Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Santiago",supportsDaylightSavingTime:true},{id:"SA Western Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Georgetown, La Paz, Manaus",supportsDaylightSavingTime:false},{id:"Newfoundland Standard Time",offset:-210,offsetHours:-3.5,displayName:"(UTC-03:30) Newfoundland",supportsDaylightSavingTime:true},{id:"SA Eastern Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Cayenne, Fortaleza",supportsDaylightSavingTime:false},{id:"Argentina Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Buenos Aires",supportsDaylightSavingTime:true},{id:"E. South America Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Brasilia",supportsDaylightSavingTime:true},{id:"Bahia Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Salvador",supportsDaylightSavingTime:true},{id:"Montevideo Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Montevideo",supportsDaylightSavingTime:true},{id:"Greenland Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Greenland",supportsDaylightSavingTime:true},{id:"UTC-02",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Coordinated Universal Time-02",supportsDaylightSavingTime:false},{id:"Mid-Atlantic Standard Time",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Mid-Atlantic - Old",supportsDaylightSavingTime:true},{id:"Azores Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Azores",supportsDaylightSavingTime:true},{id:"Cape Verde Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Cape Verde Is.",supportsDaylightSavingTime:false},{id:"Morocco Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Casablanca",supportsDaylightSavingTime:true},{id:"UTC",offset:0,offsetHours:0,displayName:"(UTC) Coordinated Universal Time",supportsDaylightSavingTime:false},{id:"GMT Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Dublin, Edinburgh, Lisbon, London",supportsDaylightSavingTime:true},{id:"Greenwich Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Monrovia, Reykjavik",supportsDaylightSavingTime:false},{id:"Central European Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",supportsDaylightSavingTime:true},{id:"Namibia Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Windhoek",supportsDaylightSavingTime:true},{id:"W. Central Africa Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) West Central Africa",supportsDaylightSavingTime:false},{id:"W. Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Amsterdam, Berlin, Rome",supportsDaylightSavingTime:true},{id:"Central Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Belgrade, Budapest, Prague",supportsDaylightSavingTime:true},{id:"Romance Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",supportsDaylightSavingTime:true},{id:"FLE Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia",supportsDaylightSavingTime:true},{id:"South Africa Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Harare, Pretoria",supportsDaylightSavingTime:false},{id:"Turkey Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Istanbul",supportsDaylightSavingTime:true},{id:"GTB Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Athens, Bucharest",supportsDaylightSavingTime:true},{id:"Libya Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Tripoli",supportsDaylightSavingTime:true},{id:"E. Europe Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) E. Europe",supportsDaylightSavingTime:true},{id:"Jordan Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Amman",supportsDaylightSavingTime:true},{id:"Middle East Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Beirut",supportsDaylightSavingTime:true},{id:"Egypt Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Cairo",supportsDaylightSavingTime:true},{id:"Syria Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Damascus",supportsDaylightSavingTime:true},{id:"Israel Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Jerusalem",supportsDaylightSavingTime:true},{id:"Arab Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kuwait, Riyadh",supportsDaylightSavingTime:false},{id:"E. Africa Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Nairobi",supportsDaylightSavingTime:false},{id:"Arabic Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Baghdad",supportsDaylightSavingTime:true},{id:"Kaliningrad Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kaliningrad, Minsk",supportsDaylightSavingTime:true},{id:"Iran Standard Time",offset:210,offsetHours:3.5,displayName:"(UTC+03:30) Tehran",supportsDaylightSavingTime:true},{id:"Mauritius Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Port Louis",supportsDaylightSavingTime:true},{id:"Georgian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Tbilisi",supportsDaylightSavingTime:false},{id:"Caucasus Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Yerevan",supportsDaylightSavingTime:true},{id:"Arabian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Abu Dhabi, Muscat",supportsDaylightSavingTime:false},{id:"Azerbaijan Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Baku",supportsDaylightSavingTime:true},{id:"Russian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Moscow, St. Petersburg, Volgograd",supportsDaylightSavingTime:true},{id:"Afghanistan Standard Time",offset:270,offsetHours:4.5,displayName:"(UTC+04:30) Kabul",supportsDaylightSavingTime:false},{id:"Pakistan Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Islamabad, Karachi",supportsDaylightSavingTime:true},{id:"West Asia Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Ashgabat, Tashkent",supportsDaylightSavingTime:false},{id:"India Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",supportsDaylightSavingTime:false},{id:"Sri Lanka Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Sri Jayawardenepura",supportsDaylightSavingTime:false},{id:"Nepal Standard Time",offset:345,offsetHours:5.75,displayName:"(UTC+05:45) Kathmandu",supportsDaylightSavingTime:false},{id:"Central Asia Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Astana",supportsDaylightSavingTime:false},{id:"Bangladesh Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Dhaka",supportsDaylightSavingTime:true},{id:"Ekaterinburg Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Ekaterinburg",supportsDaylightSavingTime:true},{id:"Myanmar Standard Time",offset:390,offsetHours:6.5,displayName:"(UTC+06:30) Yangon (Rangoon)",supportsDaylightSavingTime:false},{id:"SE Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Bangkok, Hanoi, Jakarta",supportsDaylightSavingTime:false},{id:"N. Central Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Novosibirsk",supportsDaylightSavingTime:true},{id:"Ulaanbaatar Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Ulaanbaatar",supportsDaylightSavingTime:false},{id:"China Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong",supportsDaylightSavingTime:false},{id:"Singapore Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Kuala Lumpur, Singapore",supportsDaylightSavingTime:false},{id:"North Asia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Krasnoyarsk",supportsDaylightSavingTime:true},{id:"Taipei Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Taipei",supportsDaylightSavingTime:false},{id:"W. Australia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Perth",supportsDaylightSavingTime:true},{id:"Korea Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Seoul",supportsDaylightSavingTime:false},{id:"North Asia East Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Irkutsk",supportsDaylightSavingTime:true},{id:"Tokyo Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Osaka, Sapporo, Tokyo",supportsDaylightSavingTime:false},{id:"AUS Central Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Darwin",supportsDaylightSavingTime:false},{id:"Cen. Australia Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Adelaide",supportsDaylightSavingTime:true},{id:"West Pacific Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Guam, Port Moresby",supportsDaylightSavingTime:false},{id:"Tasmania Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Hobart",supportsDaylightSavingTime:true},{id:"E. Australia Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Brisbane",supportsDaylightSavingTime:false},{id:"AUS Eastern Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Canberra, Melbourne, Sydney",supportsDaylightSavingTime:true},{id:"Yakutsk Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Yakutsk",supportsDaylightSavingTime:true},{id:"Vladivostok Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Vladivostok",supportsDaylightSavingTime:true},{id:"Central Pacific Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Solomon Is., New Caledonia",supportsDaylightSavingTime:false},{id:"Magadan Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Magadan",supportsDaylightSavingTime:true},{id:"Kamchatka Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Petropavlovsk-Kamchatsky - Old",supportsDaylightSavingTime:true},{id:"Fiji Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Fiji",supportsDaylightSavingTime:true},{id:"New Zealand Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Auckland, Wellington",supportsDaylightSavingTime:true},{id:"UTC+12",offset:720,offsetHours:12,displayName:"(UTC+12:00) Coordinated Universal Time+12",supportsDaylightSavingTime:false},{id:"Tonga Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Nuku'alofa",supportsDaylightSavingTime:false},{id:"Samoa Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Samoa",supportsDaylightSavingTime:true}]};if(this===a.jqx._jqxScheduler.prototype){return b}a.extend(true,this,b);this.that=this;return b},createInstance:function(c){var e=this;e._views=new Array();e._view=e.view;for(var d=0;d<e.views.length;d++){if(a.type(e.views[d])==="string"){e._views.push({type:e.views[d]})}else{e._views.push(e.views[d])}}for(var d=0;d<e._views.length;d++){if(e._views[d].type==e.view){e._view=d;break}}if(a.jqx.utilities.scrollBarSize!=15){e.scrollBarSize=a.jqx.utilities.scrollBarSize}if(e.source&&!e.source.dataBind){e.source=new a.jqx.dataAdapter(e.source)}var b=e.source._source.datafields;if(b&&b.length>0){e._camelCase=e.source._source.dataFields!==undefined;e.selectionMode=e.selectionMode.toLowerCase()}if(e.host.attr("tabindex")==null){e.host.attr("tabindex","0")}e.host.attr("role","grid");e.host.attr("align","left");e.host.addClass(e.toTP("jqx-grid"));e.host.addClass(e.toTP("jqx-scheduler"));e.host.addClass(e.toTP("jqx-reset"));e.host.addClass(e.toTP("jqx-rc-all"));e.host.addClass(e.toTP("jqx-widget"));e.host.addClass(e.toTP("jqx-widget-content jqx-disableselect"));if(e._testmodules()){return}e.overlay=a("<div style='z-index: 999; position:absolute;'></div>");e.overlay.hide();e.overlay.appendTo(e.host);e.render(true);a.jqx.utilities.resize(e.host,function(){var h=a(window).width();var f=a(window).height();e._hostWidth=null;e._hostHeight=null;var g=e.host.width();var i=e.host.height();e._hostWidth=g;e._hostHeight=i;if(e._lastHostWidth!=g||e._lastHostHeight!=i){e._updatesize(e._lastHostWidth!=g,e._lastHostHeight!=i)}e._lastWidth=h;e._lastHeight=f;e._lastHostWidth=g;e._lastHostHeight=i});e.createEditRecurrenceDialog()},createEditRecurrenceDialog:function(){var d=this;d.editRecurrenceDialog=null;var b=a("<div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogTitleString+"</div><div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogContentString+"</div><div style='position: absolute; white-space:nowrap; text-overflow: ellipsis; left:0px; width:100%; bottom: 0px;'><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"' id='editRecurringAppointmentOccurrence."+d.element.id+"' style='white-space:nowrap; text-overflow: ellipsis; border-left-width: 0px;  border-bottom-width: 0px; border-radius:0px; width:50%;'>"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"</button><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"' id='editRecurringAppointmentSeries."+d.element.id+"' style=' white-space:nowrap; text-overflow: ellipsis; border-bottom-width: 0px;  border-left-width: 0px; border-right-width:0px; width:50%; border-radius:0px;'>"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"</button></div></div></div>");d.editRecurrenceDialog=b;a(b).jqxWindow({rtl:d.rtl,autoFocus:false,animationType:"none",autoOpen:false,theme:d.theme,minWidth:300,minHeight:110,resizable:false});var c=b.find("button");c.jqxButton({theme:d.theme,width:"50%"});var e=false;c.mousedown(function(){e=true;var f=this.id;if(f.indexOf("editRecurringAppointmentOccurrence")>=0){d.editSeries(false)}else{d.editSeries(true)}a(b).jqxWindow("close")});this.addHandler(a(b),"open",function(f){d._raiseEvent("editRecurrenceDialogOpen",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.addHandler(a(b),"keydown",function(f){if(f.keyCode==13){if(a(document.activeElement).ischildof(a(b))){if(document.activeElement.nodeName.toLowerCase()=="button"){a(document.activeElement).trigger("mousedown");a(document.activeElement).trigger("mouseup");return true}}}});this.addHandler(a(b),"close",function(f){if(!e){d._removeFeedbackAndStopResize();d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null});return false}e=false;d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.editRecurrenceDialog=b},getViewStart:function(){var d=this.getVisibleDate();var b=this._views[this._view].type;var e=this._views[this._view];switch(b){case"dayView":case"timelineDayView":return d}var c=this.getFirstDayOfWeek(d);return c},getViewEnd:function(){var e=this.getViewStart();var d=1;var b=this._views[this._view].type;var c=this._views[this._view];switch(b){case"dayView":d=1;break;case"timelineDayView":d=1;if(c.days){d=c.days}break;case"weekView":case"timelineWeekView":d=7;if(c.days){d=c.days}break;case"monthView":d=41;break;case"timelineMonthView":d=41;if(c.days){d=c.days}break;case"agendaView":d=7;if(c.days){d=c.days}break}return e.addDays(d)},getFirstDayOfWeek:function(d){var c=d;var b=this.schedulerLocalization.firstDay;if(b<0||b>6){b=6}while(c.dayOfWeek()!=b){c.addDays(-1,false)}return c},getVisibleDate:function(){var d=this.date;if(d<this.min){d=this.min}if(d>this.max){d=this.max}var b=this._views[this._view].type;var f=this._views[this._view];d=d.clearTime();switch(b){case"dayView":case"weekView":case"timelineDayView":case"timelineWeekView":case"agendaView":return d}var e=d.day();var c=d.addDays(-e+1);d=c;return d},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=a('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var c=a('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.schedulerLocalization.loadString+"</span></div></div>");c.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));c.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(c);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var b=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){b=true}}if(b){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var d=false;if(this.width==="auto"||this.width===null||this.autoWidth){d=true}if(d){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(c){var b=a("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");b.addClass(this.toTP("jqx-widget"));a(document.body).append(b);if(c=="cell"){this._cellheight=b.height()}else{this._columnheight=b.height()}b.remove()},_testmodules:function(){var e="";var c=this;var b=function(){if(e.length!=""){e+=","}};if(!this.host.jqxScrollBar){b();e+=" jqxscrollbar.js"}if(!this.host.jqxButton){b();e+=" jqxbuttons.js"}if(!a.jqx.dataAdapter){b();e+=" jqxdata.js"}if(!this.host.jqxDateTimeInput){b();e+=" jqxdatetimeinput.js"}if(!this.host.jqxCalendar){b();e+=" jqxcalendar.js"}try{if(!Globalize){b();e+=" globalize.js"}}catch(d){}if(e!=""){throw new Error("jqxScheduler: Missing references to the following module(s): "+e);this.host.remove();return true}return false},focus:function(){try{if(this.isTouchDevice()){return}if(this._editDialog&&this._editDialog.jqxWindow("isOpen")){var c=this;setTimeout(function(){c.editDialogFields.subject.focus();c.editDialogFields.subject.select()},1);this.focused=true;return}if(document.activeElement==this.element){return}this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25);this.focused=true}catch(b){}},hiddenParent:function(){return a.jqx.isHidden(this.host)},_updatesize:function(h,g){if(this._loading){return}var e=this;var f=e.host.width();var d=e.host.height();if(!e._oldWidth){e._oldWidth=f}if(!e._oldHeight){e._oldHeight=d}if(e._resizeTimer!=undefined){clearTimeout(e._resizeTimer);e._resizeTimer=null}var c=300;var b=function(){if(e._resizeTimer){clearTimeout(e._resizeTimer)}e.resizingGrid=true;if(a.jqx.isHidden(e.host)){return}e._updatecolumnwidths();e.refresh();e._oldWidth=f;e._oldHeight=d;e.resizingGrid=false};b();e._resizeTimer=setTimeout(function(){var j=e.host.width();var i=e.host.height();if(e._oldWidth!=j||e._oldHeight!=i){b()}},c)},resize:function(c,b){if(c!=undefined){this.width=c}if(b!=undefined){this.height=b}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchMode==true){b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchMode==false){b=false}}if(b){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return b},toTP:function(b){return this.toThemeProperty(b)},localizestrings:function(b,c){this._cellscache=new Array();if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxScheduler: "+this.loadingErrorMessage);return false}if(b!=null){for(var d in this.schedulerLocalization){if(b[d]){this.schedulerLocalization[d]=b[d]}}if(b.loadingErrorMessage){this.loadingErrorMessage=b.loadingErrorMessage}if(c!==false){this._builddataloadelement();a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}else{this.schedulerLocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},agendaDateColumn:"Date",agendaTimeColumn:"Time",agendaAppointmentColumn:"Appointment",backString:"Back",forwardString:"Forward",toolBarPreviousButtonString:"previous",toolBarNextButtonString:"next",emptyDataString:"No data to display",loadString:"Loading...",clearString:"Clear",todayString:"Today",dayViewString:"Day",weekViewString:"Week",monthViewString:"Month",agendaViewString:"Agenda",timelineDayViewString:"Timeline Day",timelineWeekViewString:"Timeline Week",timelineMonthViewString:"Timeline Month",agendaAllDayString:"all day",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",editRecurringAppointmentDialogTitleString:"Edit Recurring Appointment",editRecurringAppointmentDialogContentString:"Do you want to edit only this occurrence or the series?",editRecurringAppointmentDialogOccurrenceString:"Edit Occurrence",editRecurringAppointmentDialogSeriesString:"Edit The Series",editDialogTitleString:"Edit Appointment",editDialogCreateTitleString:"Create New Appointment",contextMenuEditAppointmentString:"Edit Appointment",contextMenuCreateAppointmentString:"Create New Appointment",editDialogSubjectString:"Subject",editDialogLocationString:"Location",editDialogFromString:"From",editDialogToString:"To",editDialogAllDayString:"All day",editDialogExceptionsString:"Exceptions",editDialogResetExceptionsString:"Reset on Save",editDialogDescriptionString:"Description",editDialogResourceIdString:"Owner",editDialogStatusString:"Status",editDialogColorString:"Color",editDialogColorPlaceHolderString:"Select Color",editDialogTimeZoneString:"Time Zone",editDialogSelectTimeZoneString:"Select Time Zone",editDialogSaveString:"Save",editDialogDeleteString:"Delete",editDialogCancelString:"Cancel",editDialogRepeatString:"Repeat",editDialogRepeatEveryString:"Repeat every",editDialogRepeatEveryWeekString:"week(s)",editDialogRepeatEveryYearString:"year(s)",editDialogRepeatEveryDayString:"day(s)",editDialogRepeatNeverString:"Never",editDialogRepeatDailyString:"Daily",editDialogRepeatWeeklyString:"Weekly",editDialogRepeatMonthlyString:"Monthly",editDialogRepeatYearlyString:"Yearly",editDialogRepeatEveryMonthString:"month(s)",editDialogRepeatEveryMonthDayString:"Day",editDialogRepeatFirstString:"first",editDialogRepeatSecondString:"second",editDialogRepeatThirdString:"third",editDialogRepeatFourthString:"fourth",editDialogRepeatLastString:"last",editDialogRepeatEndString:"End",editDialogRepeatAfterString:"After",editDialogRepeatOnString:"On",editDialogRepeatOfString:"of",editDialogRepeatOccurrencesString:"occurrence(s)",editDialogRepeatSaveString:"Save Occurrence",editDialogRepeatSaveSeriesString:"Save Series",editDialogRepeatDeleteString:"Delete Occurrence",editDialogRepeatDeleteSeriesString:"Delete Series",editDialogStatuses:{free:"Free",tentative:"Tentative",busy:"Busy",outOfOffice:"Out of Office"}}}},_updateScrollbars:function(r){var j=false;var d=this;if(d.width==="auto"||d.width===null||d.autowidth){if(d.maxWidth==999999){j=true}}var h=d._views[d._view].type;var g=d._views[d._view];if(h=="monthView"&&d.resources&&d.resources.orientation=="none"&&!g.monthRowAutoHeight){var k=d.vScrollBar[0].style.visibility;d.hScrollBar[0].style.visibility="hidden";d.vScrollBar[0].style.visibility="hidden";if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}return}var b=parseInt(d.scrollBarSize);var s=d.table?d.table.height():0;var i=0;var n="inherit";var k=d.vScrollBar[0].style.visibility;var o=d.hScrollBar[0].style.visibility;if(!r){var f=d.host.height()}else{var f=r}if(!d.columnGroups){f-=d.showHeader?d.columnsHeight:0}else{f-=d.showHeader?d.columnsheader.height():0}if(d.filterable){f-=d.filter.height()}if(d.pageable){f-=d.pagerHeight;if(d.pagerPosition==="both"){f-=d.pagerHeight}}if(d.showToolbar){f-=d.toolbarHeight}if(d.showLegend&&d._resources.length>0){f-=d.legendHeight}var m=false;if(d.height==="auto"||d.height===null||d.autoheight){if(d.maxHeight==999999){m=true}}if(!m&&s>f&&(d.getRows().length>0)){d.vScrollBar[0].style.visibility=n;i=4+parseInt(b);d.vScrollBar.jqxScrollBar({max:s-f})}else{d.vScrollBar[0].style.visibility="hidden"}if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}var p=d.table?d.table.width():0;if(p>4){p-=4}var q=parseInt(d.host.css("border-left-width"))+parseInt(d.host.css("border-right-width"));var l=q+d.host.width()-i;if(p>l&&!j){d.hScrollBar[0].style.visibility=n;d.hScrollBar.jqxScrollBar({max:2+q+p-l});i=4+parseInt(b);if(b==0){i=0}if(!m&&s!=f){if(s>f-i+4&&(d.getRows().length>0)){d.hScrollBar.jqxScrollBar({max:q+p-l});var c=d.vScrollBar[0].style.visibility==="hidden";d.vScrollBar[0].style.visibility=n;d._updatecolumnwidths();if(c){d.hScrollBar.jqxScrollBar({max:p-l+q})}var e=d.table?d.table.width():0;if(e>3){e-=3}if(e!=p){if(e<l){d.hScrollBar.jqxScrollBar({max:q+e-l});d.hScrollBar[0].style.visibility="hidden";i=0}else{if(!c){d.hScrollBar.jqxScrollBar({max:p-l+q-b})}else{if(e>l){d.hScrollBar.jqxScrollBar({max:q+e-l})}}}}}if(s-f>0){d.vScrollBar.jqxScrollBar({max:s-f+i})}else{d.vScrollBar[0].style.visibility="hidden"}}}else{d.hScrollBar[0].style.visibility="hidden"}if(d.getRows().length===0){d.vScrollBar[0].style.visibility="hidden";d.bottomRight[0].style.visibility="hidden"}if(d.vScrollBar[0].style.visibility=="hidden"){if(d.vScrollInstance.value!=0){d.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(d){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+d+"</span>");c.addClass(this.toTP("jqx-widget"));c.addClass(this.toTP("jqx-grid"));c.addClass(this.toTP("jqx-grid-column-header"));c.addClass(this.toTP("jqx-widget-header"));a(document.body).append(c);var b=c.outerWidth()+20;c.remove();return b},_arrangeAutoHeight:function(d){if(!d){d=0}if(this.height==="auto"||this.height===null||this.autoheight){var g=this.table.height();var f=0;this._hostHeight=null;if(!this.columnGroups){f+=this.showHeader?this.columnsHeight:-1}else{f+=this.showHeader?this.columnsheader.height():-1}f+=this.showLegend&&this._resources.length>0?this.legendHeight:0;f+=this.showToolbar?this.toolbarHeight:0;f+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){f+=this.pageable?this.pagerHeight:0}f+=g;if(this.filterable){var e=this.filter.find(".filterrow");var b=this.filter.find(".filterrow-hidden");var c=1;if(b.length>0){c=0}f+=this.filterHeight-1+this.filterHeight*e.length*c}if(f+d>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(f+d)}return true}return false},_arrangeAutoWidth:function(d){if(!d){d=0}if(this.width==="auto"||this.width===null||this.autowidth){this._hostWidth=null;var c=0;for(var e=0;e<this.columns.records.length;e++){var b=this.columns.records[e].width;if(this.columns.records[e].hidden){continue}if(b=="auto"){b=this._measureElementWidth(this.columns.records[e].text);c+=b}else{c+=b}}var f=c;if(f+d>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(f+d)}return true}return false},_measureTopAndHeight:function(){var b=this.host.height();var c=0;if(this.showToolbar){c+=this.toolbarHeight;b-=parseInt(this.toolbarHeight)}if(this.showLegend&&this.legendPosition!="bottom"&&this._resources.length>0){c+=parseInt(this.legendHeight)+1}return{top:c,height:b}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var d=this.legendHeight;if(this._resources.length==0){d=0}var t=this._hostWidth?this._hostWidth:this.host.width();var q=this._hostHeight?this._hostHeight:this.host.height();var j=q;var i=this;if(this.showLegend&&this.legendPosition=="top"){this.legendbartop[0].style.visibility="inherit"}else{this.legendbartop[0].style.visibility="hidden"}var p=0;if(this.showToolbar){this.toolbar.width(t);this.toolbar[0].style.height=this.toolbarHeight-1+"px";this.toolbar[0].style.top="0px";p+=this.toolbarHeight;q-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom[0].style.width=t+"px";this.legendbarbottom[0].style.height=d+"px"}else{this.legendbarbottom[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="top"){if(this.legendbartop[0].style.width!=t+"px"){this.legendbartop[0].style.width=parseInt(t)+"px"}if(this.legendbartop[0].style.height!=d+"px"){this.legendbartop[0].style.height=parseInt(d-1)+"px"}if(this.legendbartop[0].style.top!=p+"px"){this.legendbartop[0].style.top=p+"px"}var e=p+d+"px";p=p+d;if(this.content[0].style.top!=e){this.content[0].style.top=p+"px"}}if(!this.showLegend){this.legendbartop[0].style.display="none";this.legendbarbottom[0].style.display="none"}this._updateScrollbars(j);var b=parseInt(this.scrollBarSize);var m=4;var f=2;var g=0;if(this.vScrollBar[0].style.visibility!="hidden"){g=b+m}if(this.hScrollBar[0].style.visibility!="hidden"){f=b+m+2}if(b==0){f=0;g=0}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var u=this._arrangeAutoHeight(f-2);var r=this._arrangeAutoWidth(g+1);if(u||r){this.legendbartop[0].style.width=parseInt(t)+"px";this.toolbar[0].style.width=parseInt(t)+"px";this.legendbarbottom[0].style.width=parseInt(t)+"px";this.filter[0].style.width=parseInt(t)+"px"}if(u){var w=this._measureTopAndHeight();p=w.top;q=w.height}}var n=0;if(this.showLegend&&this.legendPosition=="bottom"){f+=d;n+=d}else{if(this.showLegend){f+=d}}if(this.hScrollBar[0].style.height!=b+"px"){this.hScrollBar[0].style.height=parseInt(b)+"px"}if(this.hScrollBar[0].style.top!=p+q-m-b-n+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=p+q-m-b-n-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var h=false;var v=false;if(g==0){if(l!=(t-2)+"px"){this.hScrollBar[0].style.width=(t-2)+"px";h=true}}else{if(l!=(t-b-m)+"px"){this.hScrollBar[0].style.width=(t-b-m+"px");h=true}}if(this.vScrollBar[0].style.width!=b+"px"){this.vScrollBar[0].style.width=b+"px";v=true}if(this.vScrollBar[0].style.height!=parseInt(q)-f+"px"){this.vScrollBar[0].style.height=(parseInt(q)-f+"px");v=true}if(this.vScrollBar[0].style.left!=parseInt(t)-parseInt(b)-m+"px"||this.vScrollBar[0].style.top!=p+"px"){this.vScrollBar[0].style.top=p+"px";this.vScrollBar[0].style.left=parseInt(t)-parseInt(b)-m+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:p});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:b+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var s=this.hScrollInstance;s.disabled=this.disabled;if(h){s.refresh()}if(v){k.refresh()}var o=function(x){if((x.vScrollBar[0].style.visibility!="hidden")&&(x.hScrollBar[0].style.visibility!="hidden")){x.bottomRight[0].style.visibility="inherit";x.bottomRight[0].style.left=1+parseInt(x.vScrollBar.css("left"))+"px";x.bottomRight[0].style.top=parseInt(x.hScrollBar.css("top"))+"px";if(x.rtl){x.bottomRight.css("left","0px")}x.bottomRight[0].style.width=parseInt(b)+3+"px";x.bottomRight[0].style.height=parseInt(b)+4+"px"}else{x.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=t-g+"px"){this.content[0].style.width=t-g+"px"}if(this.content[0].style.height!=q-f+3+"px"){this.content[0].style.height=q-f+3+"px"}if(this.content[0].style.top!=p+"px"){this.content[0].style.top=parseInt(p)+"px"}if(this.rtl){this.content.css("left",g)}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom.css("top",p-1+q-d-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.legendbarbottom.css("left",this.content.css("left"))}else{this.legendbarbottom.css("left","0px")}}}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(t!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(q!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostWidth=t;this._hostHeight=j;var c=this.schedulercontent.coord();this._tableOffset=c},scrollOffset:function(d,c){if(arguments.length==0||(d!=null&&typeof(d)=="object"&&!d.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(d!=null&&typeof(d)=="object"){var c=d.left;var b=d.top;var d=b}if(d==null||c==null||d==undefined||c==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",d);this.hScrollBar.jqxScrollBar("setPosition",c)},scrollleft:function(b){if(b==null||b==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",b)}},scrolltop:function(b){if(b==null||b==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",b)}},beginAppointmentsUpdate:function(){this._appupdating=true},endAppointmentsUpdate:function(){this._appupdating=false;this._renderrows()},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(b){this._updating=false;if(b===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(b,g,f){if(this.loadingstate===true){return}var j=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){a(this.dataloadelement).css("visibility","visible");a(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}var h=this;if(b==null){b={}}if(b.sortcomparer==undefined||b.sortcomparer==null){b.sortcomparer=null}if(b.filter==undefined||b.filter==null){b.filter=null}if(b.sort==undefined||b.sort==null){b.sort=null}if(b.data==undefined||b.data==null){b.data=null}var d=null;if(b!=null){d=b._source!=undefined?b._source.url:b.url}this.dataview=this.dataview||new a.jqx.scheduler.dataView("dataView");this.resourcesDataView=this.resourcesDataView||new a.jqx.scheduler.dataView("resourcesDataView");this.dataview.pageable=this.pageable;this.dataview.scheduler=this;this.resourcesDataView.scheduler=this;this._loading=true;this.appointments=new Array();this.uiappointments=new Array();var e=1;if(this.resources&&this.resources.source){e=2}var c=0;var i=function(){if(c==e){h._resourcesBinding=false;var m=h._resources.length>1?h._resources.length:1;if(h.resources&&h.resources.orientation==="horizontal"){h.tableColumns=m;h.tableRows=1}else{if(h.resources&&h.resources.orientation==="vertical"){h.tableRows=m;h.tableColumns=1}else{h.tableColumns=1;h.tableRows=1}}h._render();if(h.autoShowLoadElement&&!h._loading){a(h.dataloadelement).css("visibility","hidden");a(h.dataloadelement).css("display","none")}h._updateTouchScrolling();h._raiseEvent("bindingComplete");if(f){f()}if(!h.initializedcall){h.initializedcall=true;h.isInitialized=true;if((h.width!=null&&h.width.toString().indexOf("%")!=-1)||(h.height!=null&&h.height.toString().indexOf("%")!=-1)){h._updatesize(true)}if(h.ready){h.ready()}if(h._rendercelltexts){h._rendercelltexts()}if(h._gridRenderElement){a(h._gridRenderElement).show("slow");var l=6000+Math.floor((Math.random()*4000)+1);var n=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();j[a.camelCase(n)](function(){a(h._gridRenderElement).hide("slow",function(){a(h._gridRenderElement).remove()})},l)}if(h.host.css("visibility")=="hidden"){var k=a.jqx.browser.msie&&a.jqx.browser.version<8;if(h.vScrollBar.css("visibility")=="visible"){h.vScrollBar.css("visibility","inherit")}if(h.hScrollBar.css("visibility")=="visible"){h.hScrollBar.css("visibility","inherit")}h._intervalTimer=setInterval(function(){if(h.host.css("visibility")=="visible"){h._updatesize(true);clearInterval(h._intervalTimer)}},100)}}}};this._resourcesBinding=false;this.dataview.update=function(y){h._loading=false;h.appointmentsByKey=new Array();h.appointments=new Array();h.uiappointments=new Array();var D=h.source._source.datafields;var o=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];var m=new Array();for(var z=0;z<h.source.records.length;z++){var p=h.source.records[z];var n={};for(var G in h.appointmentDataFields){var l=h.appointmentDataFields[G];var x=p[l];if(G=="from"||G=="to"){x=new a.jqx.date(x)}if(G=="style"){if(x){var s=h.getAppointmentColors(x);n.color=s.color;n.background=s.background;n.borderColor=s.border}}if(G=="recurrencePattern"){if(x){x=new a.jqx.scheduler.recurrencePattern(x);x.timeZone=p.timeZone||h.timeZone}}if(G=="recurrenceException"){var B=new Array();if(x){if(x.indexOf("EXDATE:")>=0){x=x.substring(x.indexOf("EXDATE:")+7)}var t=new Array();if(x.indexOf(",")>=0){t=x.split(",")}else{t.push(x)}for(var A=0;A<t.length;A++){var w=t[A];if(w.indexOf(";")>=0){var q=w.split(";")[1];w=w.split(";")[0];if(q.toLowerCase().indexOf("display")>=0&&q.toLowerCase().indexOf("none")){n.hidden=true}}try{var E=a.jqx.scheduler.utilities.untilStringToDate(w);if(E!="Invalid Date"){if(n.timeZone){E=new a.jqx.date(E,n.timeZone)}else{if(h.timeZone){E=E.toTimeZone(h.timeZone)}else{E=new a.jqx.date(E)}}}}catch(F){var E=new a.jqx.date(w,h.timeZone)}B.push(E)}}x=B}n[G]=x}for(var u in o){var G=o[u];if(n[G]==undefined){var x="";if(G=="originalData"){continue}if(G=="ownerId"){x=null}if(G=="timeZone"){x=null}if(G=="recurrencePattern"){x=null}if(G=="recurrenceException"){x=[]}if(G=="allDay"){x=false}if(G=="draggable"){x=true}if(G=="resizable"){x=true}if(G=="hidden"){x=false}if(G=="resourceId"){x=null}if(G=="from"){x=new a.jqx.date()}if(G=="to"){x=new a.jqx.date().addHours(1)}n[G]=x}}n.originalData=p;if(h.resources&&!h.resources.source){if(!h._resourcesBinding){if(m.indexOf(n.resourceId)==-1){m.push(n.resourceId)}}}h.appointmentsByKey[p.uid]=n;h.appointments.push(n);var v=new a.jqx.scheduler.appointment(n);if(n.timeZone){v.from=v.from.toTimeZone(n.timeZone);v.to=v.to.toTimeZone(n.timeZone)}if(h.timeZone){if(!n.timeZone){v.timeZone=h.timeZone}v.from=v.from.toTimeZone(h.timeZone);v.to=v.to.toTimeZone(h.timeZone)}else{v.from=v.from.toTimeZone(null);v.to=v.to.toTimeZone(null)}n.jqxAppointment=v;if(n.recurrenceException){for(var C=0;C<n.recurrenceException.length;C++){var E=v.recurrenceException[C];var r=v.clone();r.occurrenceFrom=E;var k=v.duration();if(h.allDay){k=new a.jqx.timeSpan(10000*(h.to-h.from))}r.from=E;r.to=E.add(k);r.rootAppointment=v;r.hidden=true;v.exceptions.push(r)}}v.boundAppointment=n;v.scheduler=h;h.uiappointments.push(v)}if(!h._resourcesBinding){h._resources=m}c++;i()};this.resourcesDataView.update=function(k){if(h.resources.dataField){h._resources=new Array();for(var l=0;l<k.length;l++){if(h._resources.indexOf(k[l][h.resources.dataField])>=0){continue}if(k[l][h.resources.dataField]){h._resources.push(k[l][h.resources.dataField])}}}else{h._resources=k}if(h.resources.orientation==undefined){h.resources.orientation="none"}c++;i()};this.dataview.databind(b);if(this.resources&&this.resources.source){this._resourcesBinding=true;this.resourcesDataView.databind(this.resources.source)}},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=g;var e=c;e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);c=f.args;return b},ensureAppointmentVisible:function(b){if(this.appointmentsByKey[b]){return this._ensureAppointmentVisible(this.appointmentsByKey[b].jqxAppointment)}return false},_ensureAppointmentVisible:function(h){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}if(!h){return false}var k=this.getViewStart();var i=this.getViewEnd();var p=a.jqx.scheduler.utilities.rangeIntersection(h.from,h.to,k,i);if(!p){this.navigateTo(h.from);return this._ensureAppointmentVisible(h)}var G=h.id;var t=a('[data-key="'+G+'"]');if(t.length>0){var c=t[0]}else{if(h.elements&&h.elements.length>0){var f=h.elements[0];var c=f.element}else{return false}}var z=this.vScrollInstance.value;var y=this.hScrollInstance.value;if(this.rtl){var y=this.hScrollInstance.max-y}var s=this.element.clientHeight;var v=this.element.clientWidth;var B=0;if(!this.columnGroups){B+=this.showHeader?this.columnsHeight:0}else{B+=this.showHeader?this.columnsheader.height():0}var r=this._views[this._view].type;var n=this._views[this._view];var D=0;if(r=="dayView"||r=="weekView"){var x=this.showAllDayRow;if(n.timeRuler&&(r==="dayView"||r==="weekView")){if(n.timeRuler.showAllDayRow!=undefined){x=n.timeRuler.showAllDayRow}}if(x){if(this.tableRows==1){D=this.table[0].rows[0].clientHeight}else{D=this.table[0].rows[1].clientHeight}}var q=h.duration().days()>=1||h.allDay;if(q&&this.tableRows==1&&this.tableColumns==1){return false}}if(this.showToolbar){B+=this.toolbarHeight}s-=B;if(this.showLegend&&this._resources.length>0){s-=this.legendHeight}var e=0;var l=0;var d=z-e;var C=s+d-D;var w=y-l;var F=v+w;var E=c;E=a(E);var g=E[0].clientHeight;var j=E.position().top-D;var m=j+g;if(j<=d){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A)}}else{if(j>=C){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A-2)}}}var u=E.position().left;u=Math.round(u);var b=u+E.outerWidth();if(Math.round(E.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(u<=w){var o=u-E.outerWidth()+l;if(o<0){o=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}if(u>F){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}},ensureVisible:function(d,l){var g=this;var m=a.type(d)=="date"?d:d.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var c=b(h);if(c.valueOf()==m.valueOf()){return g._ensureVisible(k)}}}},_ensureVisible:function(b){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}var t=this.vScrollBar.jqxScrollBar("value");var s=this.hScrollBar.jqxScrollBar("value");if(this.rtl){s=this.hScrollBar.jqxScrollBar("max")-s}var m=this._hostHeight;var p=this._hostWidth;var w=0;if(!this.columnGroups){w+=this.showHeader?this.columnsHeight:0}else{w+=this.showHeader?this.columnsheader.height():0}if(this.showToolbar){w+=this.toolbarHeight}m-=w;if(this.showLegend&&this._resources.length>0){m-=this.legendHeight}if(this.hScrollBar.css("visibility")!="hidden"){m-=20}var e=0;var h=0;var l=this._views[this._view].type;var j=this._views[this._view];var y=0;if(l=="dayView"||l=="weekView"){var r=this.showAllDayRow;if(j.timeRuler&&(l==="dayView"||l==="weekView")){if(j.timeRuler.showAllDayRow!=undefined){r=j.timeRuler.showAllDayRow}}if(r){if(this.tableRows==1){y=this.table[0].rows[0].clientHeight}else{y=this.table[0].rows[1].clientHeight}}}var d=t-e;var x=m+d-y;var q=s-h;var A=p+q;var z=b;z=a(z);var f=z.position().top-y;var i=f+z.outerHeight();var o=z.position().left;o=Math.round(o);var c=o+z.outerWidth();if(Math.round(z.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(o<=q){var k=o-z.outerWidth()+h;if(k<0){k=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",k)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-k)}}if(c>=A){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",2+h+c-p)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-(2+h+c-p))}}var g=z.parent().index();if(this.tableRows>0){g--}if(Math.round(z.position().top)===0||g===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var n=this.table[0].rows.length-1;var v=this.table[0].rows[n];if(v[0]===z.parent()[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}if(f<=d){var u=f;if(u<0){u=0}return this.vScrollBar.jqxScrollBar("setPosition",u)}if(i>=x){return this.vScrollBar.jqxScrollBar("setPosition",4+i-m+y)}},getColumn:function(b){var c=null;if(this.columns.records){a.each(this.columns.records,function(){if(this.datafield==b||this.displayfield==b){c=this;return false}})}return c},_setcolumnproperty:function(c,e,f){if(c==null||e==null||f==null){return null}e=e.toLowerCase();var d=this.getColumn(c);if(d==null){return}var g=d[e];d[e]=f;var b=this.getColumn(c);if(b!=null){b[e]=f}switch(e){case"text":case"hidden":case"hideable":case"renderer":case"align":case"cellsalign":case"contenttype":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(e=="align"){this._rendercolumnheaders();this.refresh()}else{if(e=="text"||e=="class"||e=="hidden"||e=="pinned"||e=="resizable"||e=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(e=="width"||e=="maxwidth"||e=="minwidth"){d._width=null;d._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(b,d){if(b==null||d==null){return null}d=d.toLowerCase();var c=this.getColumn(b);return c[d]},setColumnProperty:function(b,c,d){this._setcolumnproperty(b,c,d)},hideColumn:function(b){this._setcolumnproperty(b,"hidden",true)},showColumn:function(b){this._setcolumnproperty(b,"hidden",false)},updateBoundData:function(c,b){this.databind(this.source,c,b)},refresh:function(c){if(c!=true){var b=this;if(a.jqx.isHidden(b.host)){return}b.table[0].style.top="0px";b.vScrollInstance.setPosition(0);b._renderrows();b._arrange();b._renderhorizontalscroll();b._updateTouchScrolling();b._refreshToolBar();b._updateFocusedCell()}},_updateFocusedCell:function(){var h=this;if(h.focusedCell){h._updateCellsSelection();return}var d=h._views[h._view].type;var g=h._views[h._view];var c=h.showAllDayRow;if(g.timeRuler&&(d==="dayView"||d==="weekView")){if(g.timeRuler.showAllDayRow!=undefined){c=g.timeRuler.showAllDayRow}}if(!c||(d!="dayView"&&d!="weekView")){h.focusedCell=h.rows[0].cells[0];if(h.rtl){h.focusedCell=h.rows[0].cells[h.rows[0].cells.length-1]}}else{h.focusedCell=h.rows[1].cells[0];if(h.rtl){h.focusedCell=h.rows[1].cells[h.rows[1].cells.length-1]}}if(h.focusedCell.className.indexOf("jqx-scheduler-disabled-cell")>=0){h.focusedCell=null;for(var f=0;f<this.rows.length;f++){for(var e=0;e<this.rows[f].cells.length;e++){var b=this.rows[f].cells[e];if(b.className.indexOf("jqx-scheduler-disabled-cell")==-1){h.focusedCell=b;break}}if(h.focusedCell){break}}}h._lastSelectedCell=h.focusedCell;h._updateCellsSelection()},_updateTouchScrolling:function(){var c=this.that;if(c.isTouchDevice()){var e=a.jqx.mobile.getTouchEventName("touchstart");var d=a.jqx.mobile.getTouchEventName("touchend");var b=a.jqx.mobile.getTouchEventName("touchmove");if(c.schedulercontent){c.removeHandler(c.table,e+".touchScroll");c.removeHandler(c.table,b+".touchScroll");c.removeHandler(c.table,d+".touchScroll");c.removeHandler(c.table,"touchcancel.touchScroll");a.jqx.mobile.touchScroll(c._table[0],Math.max(c.vScrollInstance.max,c.hScrollInstance.max),function(h,g){if(c.dragOrResize){return}if(g!=null&&c.vScrollBar.css("visibility")!="hidden"){var f=c.vScrollInstance.value;c.vScrollInstance.setPosition(g)}if(h!=null&&c.hScrollBar.css("visibility")!="hidden"){var f=c.hScrollInstance.value;c.hScrollInstance.setPosition(h)}c.scrolled=new Date()},this.element.id,this.hScrollBar,this.vScrollBar)}}},scrollWidth:function(){return this.hScrollInstance.max},scrollHeight:function(){return this.vScrollInstance.max},scrollLeft:function(b){if(this.hScrollBar[0].style.visibility!="hidden"){this.hScrollInstance.setPosition(b)}},scrollTop:function(b){if(this.vScrollBar[0].style.visibility!="hidden"){this.vScrollInstance.setPosition(b)}},render:function(i){var e="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbartop' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbarbottom' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerHTML=e;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var g=this.host.find("#verticalScrollBar"+this.element.id);var k=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=g.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=k.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=a.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=a.data(this.hScrollBar[0],"jqxScrollBar").instance;this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-scheduler-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.legendbarbottom=this.host.find("#legendbarbottom");this.legendbarbottom[0].id="legendbarbottom"+this.element.id;this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar-bottom"));this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbarbottom.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.legendbartop=this.host.find("#legendbartop");this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar-top"));this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbartop.addClass(this.toTP("jqx-widget-header"));this.schedulertable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var b=this.source.datafields;if(b==null&&this.source._source){b=this.source._source.datafields}if(b){for(var c=0;c<this.columns.length;c++){var d=this.columns[c];if(d&&d.cellsFormat&&d.cellsFormat.length>2){for(var j=0;j<b.length;j++){if(b[j].name==d.datafield&&!b[j].format){b[j].format=d.cellsFormat;break}}}}}this.databind(this.source);if(this.showToolbar){this.toolbar.css("visibility","inherit")}if(this.showLegend){this.legendbarbottom.css("visibility","inherit")}this.tableheight=null;var f=this;var h=function(){if(f.content){f.content[0].scrollTop=0;f.content[0].scrollLeft=0}if(f.schedulercontent){f.schedulercontent[0].scrollLeft=0;f.schedulercontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(l){h();return false});if(i!==true){this._render()}},_render:function(){var g=this;if(g.dataview==null){return}if(g._loading){return}if(g.columnsHeight!=25||g.columnGroups){g._measureElement("column")}g.rowinfo=new Array();g._removeHandlers();if(g.columns==null){g.columns=new a.jqx.schedulerDataCollection(g.element)}else{g._initializeColumns()}g.host.height(g.height);g.host.width(g.width);a.jqx.utilities.html(g.content,"");g.columnsheader=g.columnsheader||a('<div style="overflow: hidden;"></div>');g.columnsheader.remove();g.columnsheader.addClass(g.toTP("jqx-widget-header"));g.columnsheader.addClass(g.toTP("jqx-grid-header"));if(!g.showHeader){g.columnsheader.css("display","none")}else{if(g.columnsheader){g.columnsheader.css("display","block")}}g.schedulercontent=g.schedulercontent||a('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');g.schedulercontent.remove();var e=g.columnsHeight;e=g._preparecolumnGroups();g.columnsheader.height(e);g.content.append(g.columnsheader);g.content.append(g.schedulercontent);g._rendercolumnheaders();g.tableheight=null;g.schedulercontent.find("#contenttable"+g.element.id).remove();if(g.table!=null){g.table.remove();g.table=null}if(g.pinnedtable!=null){g.pinnedtable.remove();g.pinnedtable=null}g.table=a('<div id="contenttable'+g.element.id+'" style="overflow: hidden; position: relative;"></div>');g.pinnedtable=a('<div id="contenttable2'+g.element.id+'" style="display: none; overflow: hidden; position: relative;"></div>');g.schedulercontent.addClass(g.toTP("jqx-grid-content"));g.schedulercontent.addClass(g.toTP("jqx-widget-content"));g.schedulercontent.append(g.table);if(g.tableRows==1){g.schedulercontent.append(g.pinnedtable)}g._renderrows();g._arrange();g._resourcesElements=new Array();var d=function(h,i){h.children().remove();var h=a("<div style='margin:5px; position: relative;'></div>").appendTo(h);g._resourcesElements[i]=new Array();a.each(g._resources,function(n){var l=g.getColors(n);var m=this.toString();var o=a("<div data-toggle='on' style='border-color: "+l.border+"; background: "+l.background+";' class='"+g.toThemeProperty("jqx-scheduler-legend")+"'></div>");o.appendTo(h);var k=a("<div class='"+g.toThemeProperty("jqx-scheduler-legend-label")+"'>"+m+"</div>");k.appendTo(h);g._resourcesElements[i][m]=o;var j=function(){if(o.attr("data-toggle")=="on"){g.hideAppointmentsByResource(m)}else{g.showAppointmentsByResource(m)}};g.addHandler(o,"mousedown",function(){j();return false});g.addHandler(k,"mousedown",function(){j();return false})})};d(g.legendbarbottom,"bottom");d(g.legendbartop,"top");if(g.legendPosition=="top"){g.legendbarbottom.hide()}else{g.legendbartop.hide()}if(g._resources.length==0){g.legendbarbottom.hide();g.legendbartop.hide()}if(g.renderToolBar){g.renderToolBar(g.toolbar)}else{g._renderToolBar()}if(g.disabled){g.host.addClass(g.toThemeProperty("jqx-fill-state-disabled"))}g._renderhorizontalscroll();g._addHandlers();g.clearSelection();var c=g._views[g._view].type;var f=g._views[g._view];var b=g.showAllDayRow;if(f.timeRuler&&(c==="dayView"||c==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){b=f.timeRuler.showAllDayRow}}if(!b||(c!="dayView"&&c!="weekView")){g.focusedCell=g.rows[0].cells[0]}else{g.focusedCell=g.rows[1].cells[0]}g._lastSelectedCell=g.focusedCell;g._updateCellsSelection()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},getAppointmentElement:function(e){var b=null;if(e.className.indexOf("jqx-scheduler-appointment")>=0&&e.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=e}var d=e;for(var c=0;c<4;c++){if(d.parentNode){if(d.className.indexOf("jqx-scheduler-appointment")>=0&&d.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=d}d=d.parentNode}else{break}}return b},getJQXAppointmentByElement:function(d){var f=this;var e=d.getAttribute?d.getAttribute("data-key"):d.attr("data-key");if(e.indexOf(".")>=0){var c=e.substring(0,e.indexOf("."));var h=e.substring(e.indexOf(".")+1);var g=f.appointmentsByKey[c];var b=g.jqxAppointment.renderedAppointments[e]}else{var g=f.appointmentsByKey[e];var b=g.jqxAppointment}return b},_renderToolBar:function(){var i=this;var b=a('<div style="width: 100%; height: 100%; position: relative;"></div>');var k=(this.toolbarHeight-20)/2;b.css("top",k);i.toolbarLeftButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-left: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarRightButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.attr("title",i.schedulerLocalization.toolBarPreviousButtonString);i.toolbarRightButton.attr("title",i.schedulerLocalization.toolBarNextButtonString);i.toolbarRightButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.toolbarLeftButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.dateTimeInput=a('<div style="outline: none; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.find(".jqx-icon-arrow-left").remove();i.toolbarRightButton.find(".jqx-icon-arrow-right").remove();var e=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(i.toThemeProperty("jqx-icon-arrow-left"));i.toolbarLeftButton.wrapInner(e);var j=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");j.addClass(i.toThemeProperty("jqx-icon-arrow-right"));i.toolbarRightButton.wrapInner(j);if(i.rtl){i.toolbarLeftButton.css("float","right");i.toolbarRightButton.css("float","right");i.dateTimeInput.css("float","right")}i.addHandler(i.toolbarRightButton,"mouseenter",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseenter",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mouseleave",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseleave",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mousedown",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarRightButton,"mouseup",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarLeftButton,"mousedown",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarLeftButton,"mouseup",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(a(document),"mouseup.pagerbuttons"+i.element.id,function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"));e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarRightButton,"click",function(){if(!i.toolbarRightButton.jqxButton("disabled")){if(!i.rtl){i.navigateForward()}else{i.navigateBackward()}i.focus()}});i.addHandler(i.toolbarLeftButton,"click",function(){if(!i.toolbarLeftButton.jqxButton("disabled")){if(!i.rtl){i.navigateBackward()}else{i.navigateForward()}i.focus()}});i.toolbar.children().remove();i.toolbar.append(b);if(!i.rtl){b.append(i.toolbarLeftButton);b.append(i.dateTimeInput);b.append(i.toolbarRightButton)}else{b.append(i.toolbarRightButton);b.append(i.dateTimeInput);b.append(i.toolbarLeftButton)}i.toolbarDetails=a('<div class="'+i.toTP("jqx-scheduler-toolbar-details")+'" style="margin-left: 7px; margin-top:2px; float: left;"></div>');i.toolbarViews=a('<div style="margin-right: 10px; margin-top:0px; float: right;"></div>');if(i.rtl){i.toolbarDetails.css("float","right");i.toolbarDetails.css("margin-left","0px");i.toolbarDetails.css("margin-right","7px");i.toolbarViews.css("margin-left","10px");i.toolbarViews.css("margin-right","0px");i.toolbarViews.css("float","left")}var h=new Array();if(!i.rtl){h.push(i.toolbarLeftButton);h.push(i.dateTimeInput);h.push(i.toolbarRightButton)}else{h.push(i.toolbarRightButton);h.push(i.dateTimeInput);h.push(i.toolbarLeftButton)}var l=i._views.length-1;a.each(i._views,function(p){var q="";var n=p;if(i.rtl){n=l-p}if(i._views[n].text!=undefined){q=i._views[n].text}else{switch(i._views[n].type){case"dayView":q=i.schedulerLocalization.dayViewString;break;case"weekView":q=i.schedulerLocalization.weekViewString;break;case"monthView":q=i.schedulerLocalization.monthViewString;break;case"agendaView":q=i.schedulerLocalization.agendaViewString;break;case"timelineDayView":q=i.schedulerLocalization.timelineDayViewString;break;case"timelineWeekView":q=i.schedulerLocalization.timelineWeekViewString;break;case"timelineMonthView":q=i.schedulerLocalization.timelineMonthViewString;break}}var o='<span data-type="'+i._views[n].type+'" style="cursor: pointer; outline: none; margin-left: -1px; position: relative;">'+q+"</span>";var m=a(o);m.addClass(i.toTP("jqx-group-button-normal jqx-button jqx-fill-state-normal"));h.push(m);if(n==0){if(!i.rtl){m.addClass(i.toTP("jqx-rc-l"))}else{m.addClass(i.toTP("jqx-rc-r"))}}if(n==i._views.length-1){if(!i.rtl){m.addClass(i.toTP("jqx-rc-r"))}else{m.addClass(i.toTP("jqx-rc-l"))}}if(n===i._view){m.addClass(i.toTP("jqx-fill-state-pressed"))}m.mouseenter(function(){m.addClass(i.toTP("jqx-fill-state-hover"))});m.mouseleave(function(){m.removeClass(i.toTP("jqx-fill-state-hover"))});m.mousedown(function(){i._setView(n);i.focus()});a(i.toolbarViews).append(m)});b.append(i.toolbarDetails);b.append(i.toolbarViews);if(i._views.length<2){i.toolbarViews.hide()}i.dateTimeInput.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:i.rtl,localization:i._getDateTimeInputLocalization(),firstDayOfWeek:i.schedulerLocalization.firstDay,todayString:i.schedulerLocalization.todayString,clearString:i.schedulerLocalization.clearString,showFooter:true,height:19,width:18,renderMode:"simple"});i.addHandler(i.dateTimeInput,"change",function(m){if(!i.fromNavigate){i.navigateTo(new a.jqx.date(m.args.date,i.timeZone));i.focus()}});i.tabKeyElements=h;var g=i._views[i._view].type;var d=function(m){var o=a.jqx.formatDate(i.getViewStart().toDate(),m,i.schedulerLocalization);var n=a.jqx.formatDate(i.getViewEnd().toDate(),m,i.schedulerLocalization);if(g==="dayView"||g==="timelineDayView"){i.toolbarDetails.html(o)}else{i.toolbarDetails.html(o+" - "+n)}if(i.rtl){i.toolbarDetails.addClass("jqx-rtl");i.toolbarDetails.html("<span style='direction:rtl;'>"+n+"<span> - <span style='direction:rtl;'>"+o+"</span>")}else{i.toolbarDetails[0].style.direction="ltr"}};d(i.toolBarRangeFormat);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;var f=i.toolBarRangeFormat;if(c>i.host.width()){f=i.toolBarRangeFormatAbbr;d(f);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;if(c>i.host.width()){i.toolbarDetails.hide();var c=i.toolbarViews.width()+120;if(c>i.host.width()){i.toolbarViews.hide()}}}else{i.currentToolbarFormat=i.toolBarRangeFormat}},_setView:function(g){var f=this;f.toolbarViews.find(".jqx-fill-state-pressed").removeClass(f.toTP("jqx-fill-state-pressed"));if(!f.rtl){a(f.toolbarViews.children()[g]).addClass(f.toTP("jqx-fill-state-pressed"))}else{a(f.toolbarViews.children()[f._views.length-1-g]).addClass(f.toTP("jqx-fill-state-pressed"))}if(f._view===g){return}var b=f.vScrollBar[0].style.visibility;if(b){if(!f._scrollPosition){f._scrollPosition=new Array()}f._scrollPosition[f._view]=f.vScrollInstance.value}var c=f.hScrollBar[0].style.visibility;if(c){if(!f._hscrollPosition){f._hscrollPosition=new Array()}f._hscrollPosition[f._view]=f.hScrollInstance.value}var i=f._views[f._view].type;var e=f._views[g].type;f._view=g;f._refreshColumns();f.refresh();var h=f.hScrollBar[0].style.visibility;if(c!==h){f._renderrows();f._updateTouchScrolling()}if(f._scrollPosition[f._view]){f.vScrollInstance.setPosition(f._scrollPosition[f._view])}if(f._hscrollPosition[f._view]){f.hScrollInstance.setPosition(f._hscrollPosition[f._view])}if(f.selectedJQXAppointment){f._ensureAppointmentVisible(f.selectedJQXAppointment)}var d=f.getViewStart();var j=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._raiseEvent("viewChange",{date:f.date,from:d,to:j,oldViewType:i,newViewType:e})},_getDateTimeInputLocalization:function(){var b=this;var c={};c.backString=b.schedulerLocalization.backString;c.forwardString=b.schedulerLocalization.forwardString;c.todayString=b.schedulerLocalization.todayString;c.clearString=b.schedulerLocalization.clearString;c.calendar=b.schedulerLocalization;return c},setView:function(b){switch(b){case"dayView":this._setView(0);break;case"weekView":this._setView(1);break;case"monthView":this._setView(2);break;case"timelineDayView":this._setView(3);break;case"timelineWeekView":this._setView(4);break;case"timelineMonthView":this._setView(5);break}this.view=b},navigateForward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(1);break;case"agendaView":if(i.days){c=c.addDays(i.days)}else{c=c.addDays(7)}break}return this.navigateTo(c)},navigateBackward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(-1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(-1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(-7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(-1);break;case"agendaView":if(i.days){c=c.addDays(-i.days)}else{c=c.addDays(-7)}break}return this.navigateTo(c)},_refreshToolBar:function(d){var f=this;var g=f.getViewStart();var e=f.getViewEnd();var c=function(i){var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization);var h=f._views[f._view].type;var k=f._views[f._view];if(k.showWeekends===false){if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization)}if(h==="dayView"||h==="timelineDayView"){f.toolbarDetails.html(l)}else{f.toolbarDetails.html(l+" - "+j)}if(f.rtl){f.toolbarDetails.addClass("jqx-rtl");f.toolbarDetails.html("<span style='direction:rtl;'>"+j+"<span> - <span style='direction:rtl;'>"+l+"</span>")}else{f.toolbarDetails[0].style.direction="ltr"}};if(d){c(f._lastFormatString||f.toolBarRangeFormat);return}c(f.toolBarRangeFormat);f.toolbarDetails.show();f.toolbarViews.show();var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){c(f.toolBarRangeFormatAbbr);var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){f.toolbarDetails.hide();var b=f.toolbarViews.width()+120;if(b>f.host.width()){f.toolbarViews.hide()}}}},navigateTo:function(b){var d=this;if(a.type(b)=="date"){b=new a.jqx.date(b)}if(b<this.min){return}if(b>this.max){return}b.timeZone=d.timeZone;d.date=b;d._refreshToolBar(true);d.fromNavigate=true;d.dateTimeInput.val(b.toDate());d.fromNavigate=false;d._refreshColumnTitles();d._renderrows();d._updateFocusedCell();if(d.resources){d._renderhorizontalscroll()}var e=d.getViewStart();var c=a.jqx.scheduler.utilities.getEndOfDay(d.getViewEnd());d._raiseEvent("dateChange",{date:b,from:e,to:c})},_preparecolumnGroups:function(){var n=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var l=this;for(var f=0;f<this.columnGroups.length;f++){this.columnGroups[f].parent=null;this.columnGroups[f].groups=null}for(var f=0;f<this.columns.records.length;f++){this.columns.records[f].parent=null;this.columns.records[f].groups=null}var m=function(j){for(var s=0;s<l.columnGroups.length;s++){var t=l.columnGroups[s];if(t.name===j){return t}}return null};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];if(!o.groups){o.groups=null}if(o.parentGroup){o.parentgroup=o.parentGroup}if(o.parentgroup){var q=m(o.parentgroup);if(q){o.parent=q;if(!q.groups){q.groups=new Array()}if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];if(o.columngroup){var q=m(o.columngroup);if(q){if(!q.groups){q.groups=new Array()}o.parent=q;if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}var p=0;for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];var c=o;o.level=0;while(c.parent){c=c.parent;o.level++}var c=o;var b=o.level;p=Math.max(p,o.level);while(c.parent){c=c.parent;if(c){c.level=--b}}}var k=function(w){var v=new Array();if(w.columngroup){v.push(w)}if(!w.groups){return new Array()}for(var u=0;u<w.groups.length;u++){if(w.groups[u].columngroup){v.push(w.groups[u])}else{if(w.groups[u].groups){var t=k(w.groups[u]);for(var s=0;s<t.length;s++){v.push(t[s])}}}}return v};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];var d=k(o);o.columns=d;var g=new Array();var r=0;for(var e=0;e<d.length;e++){g.push(this.columns.records.indexOf(d[e]));if(d[e].pinned){r++}}if(r!=0){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group cannot be pinned.")}g.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var h=1;h<g.length;h++){if(g[h]!=g[h-1]+1){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+p;n=this.columnGroupslevel*this.columnsHeight}return n},wheel:function(d,c){if(c.editRecurrenceDialog&&c.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(c._editDialog&&c._editDialog.jqxWindow("isOpen")){return true}if(c.autoheight&&c.hScrollBar.css("visibility")=="hidden"){d.returnValue=true;return true}var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(b){if(d.preventDefault){d.preventDefault()}if(d.originalEvent!=null){d.originalEvent.mouseHandled=true}if(d.stopPropagation!=undefined){d.stopPropagation()}}if(b){b=false;d.returnValue=b;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(d){if(this.vScrollBar.css("visibility")!="hidden"){var c=this.vScrollInstance.value;if(d<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var b=this.vScrollInstance.value;if(c!=b){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var c=this.hScrollInstance.value;if(d>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var b=this.hScrollInstance.value;if(c!=b){return true}}}return false},_removeHandlers:function(){var e=this;if(e._mousewheelfunc){e.removeHandler(this.host,"mousewheel",e._mousewheelfunc)}e.removeHandler(a(document),"keydown.scheduler"+e.element.id);e.removeHandler(e.host,"focus");e.removeHandler(e.host,"blur");e.removeHandler(e.host,"dragstart."+e.element.id);e.removeHandler(e.host,"selectstart."+e.element.id);e.removeHandler(a(window),"jqxReady."+e.element.id);e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);var d="mousedown";if(e.isTouchDevice()){d=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){d="mousedown"}}if(e.table){e.removeHandler(e.table,"mouseleave")}var c="mousemove.scheduler"+e.element.id;var f="mouseup.scheduler"+e.element.id;if(e.isTouchDevice()&&e.touchMode!==true){c=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+e.element.id;f=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+e.element.id}e.removeHandler(a(document),c);e.removeHandler(a(document),f);if(!e.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var g=null;if(window.parent&&document.referrer){g=document.referrer}if(g&&g.indexOf(document.location.host)!=-1){e.removeHandler(a(window.top.document),"mouseup.jqxscheduler"+e.element.id)}}}}catch(b){}}e.removeHandler(e.host,c);e.removeHandler(a(document),"keydown.jqxscheduler"+e.element.id);e.removeHandler(e.host,"keydown");if(e.table){e.removeHandler(e.table,"dblclick");e.removeHandler(e.pinnedtable,d);e.removeHandler(e.table,d)}},selectAppointment:function(b){if(this.appointmentsByKey[b]){this._selectAppointment(this.appointmentsByKey[b].jqxAppointment)}},_selectAppointment:function(d,i,f){if(!d){return}var h=this;if(h.selectedAppointment){h.clearAppointmentsSelection()}var e=d.id;var c=a('[data-key="'+e+'"]');if(c.length>0){h.selectedJQXAppointment=d;if(!i){h.selectedAppointment=a(c[0])}else{h.selectedAppointment=a(i)}var b=h._views[h._view].type;var g=h._views[h._view];if(b=="agendaView"){h.clearSelection();return}c.addClass(h.toTP("jqx-scheduler-selected-appointment"));if(d.resizable){c.find(".jqx-scheduler-appointment-resize-indicator").show()}switch(b){case"dayView":a(c).find(".jqx-scheduler-appointment-left-resize-indicator").hide();a(c).find(".jqx-scheduler-appointment-right-resize-indicator").hide();break;case"weekView":break;case"monthView":case"timeLineMonthView":case"timeLineDayView":case"timeLineWeekView":if(c.length>1){a.each(c,function(j){if(!h.rtl){if(j>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}}else{if(j>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}}})}break}if(f=="mouse"){h.clearSelection();return}}h.clearSelection()},clearAppointmentsSelection:function(){var d=this;if(d.selectedAppointment){var c=d.selectedAppointment.attr("data-key");var b=a('[data-key="'+c+'"]');b.removeClass(d.toTP("jqx-scheduler-selected-appointment"));b.find(".jqx-scheduler-appointment-resize-indicator").hide();d.selectedAppointment=null;d.selectedJQXAppointment=null}},selectCell:function(c,m,l){var g=this;var n=c.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var d=b(h);if(m&&k.getAttribute("data-end-date")){if(d.valueOf()==c.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}else{if(!m&&k.getAttribute("data-end-date")){continue}}if(d.valueOf()==n.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}}g._updateCellsSelection()},selectRange:function(m,n,q,p){var k=this;if(m<this.min){m=this.min}if(n>this.max){n=this.max}var f=m.toDate();var d=n.toDate();var g=false;for(var h=0;h<k.rows.length;h++){for(var e=0;e<k.rows[h].cells.length;e++){var o=k.rows[h].cells[e];if(p){if(o.getAttribute("data-view")!==p){continue}}var l=o.getAttribute("data-date");var b=k._getDateByString;var c=b(l);if(q&&o.getAttribute("data-end-date")){if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true")}}else{if(!q&&o.getAttribute("data-end-date")){continue}}if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true");if(!g){k._lastSelectedCell=o;k.focusedCell=o;g=true}}}}k._updateCellsSelection()},_selectRange:function(b,r){var h=this;if(h._views[h._view].type=="agendaView"){return}var k=b;var v=r.getAttribute("data-view");if(b.getAttribute("data-view")!==v){return}var q=r.getAttribute("data-date");var m=k.getAttribute("data-date");if(null==q||null==m){return}var C=r.getAttribute("data-end-date");var F=k.getAttribute("data-end-date");var H=C!=null||F!=null;var s=C!=null&&F!=null;var n=h._getDateByString;var u=n(q);var t=n(m);if(u<this.min.toDate()){u=this.min.toDate()}if(t<this.min.toDate()){t=this.min.toDate()}if(u>this.max.toDate()){u=this.max.toDate()}if(t>this.max.toDate()){t=this.max.toDate()}var w=Math.min(u,t);var A=Math.max(u,t);var p=h.rows;var f=0;var e=0;if(f>0&&h.rtl){f=0;e=1}var d=p.length;if(H){d=1;if(b.getAttribute("data-end-date")==null){t.setHours(0,0,0,0);var B=new a.jqx.date(t,h.timeZone).toString();var E=a(k).parent().index();a.each(p[0].cells,function(){var i=this.getAttribute("data-date");if(i===B){b=this;s=r.getAttribute("data-end-date")!=null&&b.getAttribute("data-end-date")!=null;var I=r.getAttribute("data-date");var j=b.getAttribute("data-date");var K=n(I);var J=n(j);w=Math.min(K,J);A=Math.max(K,J);return false}})}}for(var z=0;z<d;z++){var g=p[z];if(H&&this.tableRows>1){var y=parseInt(b.getAttribute("data-view"));var l=p.length/h.tableRows;var o=(-1+y)*l;c=p[o];g=p[o]}var c=g.cells;for(var x=f;x<c.length-e;x++){if(c[x].getAttribute("data-view")!==v){continue}c[x].removeAttribute("data-selected");if(!s&&c[x].getAttribute("data-end-date")){continue}var G=c[x].getAttribute("data-date");var D=n(G).valueOf();if(w<=D&&D<=A){c[x].setAttribute("data-selected","true")}}}h._updateCellsSelection()},findCell:function(s,p){var k=this;var l=null;if(!k._tableOffset){var c=k.schedulercontent.coord();k._tableOffset=c}var g=k._tableOffset;var e=g.top;var n=g.left;if(p<e){return null}if(s<n){return null}if(p>e+k._hostHeight){return null}if(s>n+k._hostWidth){return null}var q=false;var r=k.rows;var o=k._views[k._view];var t=o.type;var D=0;var m=k.vScrollInstance.value;var u=k.hScrollInstance.value;for(var B=0;B<r.length;B++){if(q){break}var h=r[B];var d=h.cells;var z=false;if(B==0&&t=="dayView"||t=="weekView"){z=k.showAllDayRow;if(o.timeRuler&&(t==="dayView"||t==="weekView")){if(o.timeRuler.showAllDayRow!=undefined){z=o.timeRuler.showAllDayRow}}if(z){D=k._allDayRowFullHeight}}for(var C=0;C<d.length;C++){var b=d[C];if(C==0&&b.getAttribute("data-time-slot")){continue}if(!b._left){var f=b.offsetLeft+n;var v=b.offsetTop+e;var A=b.offsetWidth;var w=b.offsetHeight;b._left=f;b._top=v;b._width=A;b._height=w}else{var f=b._left;var v=b._top;var A=b._width;var w=b._height}b._left=f;b._top=v;b._width=A;b._height=w;if(A===0||w===0){continue}if(!k.rtl){f-=u}else{if(k.hScrollInstance.element.style.visibility!="hidden"){f-=(k.hScrollInstance.max-u)}}v-=m;if(B==0&&z){v+=m}if(v<=p&&p<v+w){if(f<=s&&s<f+A){l=b;q=true;break}}else{break}}}return l},_removeFeedbackAndStopResize:function(){var d=this;if(!d.feedback){return}d.feedback.remove();d.feedback=null;d.pinnedfeedback.remove();d.pinnedfeedback=null;if(d.feedbacks){for(var c=0;c<d.feedbacks.length;c++){d.feedbacks[c].remove()}}d._resizeDays=0;d._resizeStep=0;d._lastX=null;d.feedbacks=new Array();d.leftResize=false;d.rightResize=false;d.topResize=false;d.bottomResize=false;d.overlay.hide();d.resizing=false;d.resizeFrom=null;d._dragCell=null;d._dragStartCell=null;d.resizeTo=null;d.dragOrResize=false;d.isMouseDown=false;if(d.selectedJQXAppointment){var b=a('[data-key="'+d.selectedJQXAppointment.id+'"]');b.removeClass(d.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"))}if(d.openedMonthCellPopup){d.openedMonthCellPopup.remove()}},_saveChangesAfterDragOrResize:function(e,b,r,m){var l=this;if(e===false){if(!b.isException()){if(!b.rootAppointment.recurrenceException){b.rootAppointment.recurrenceException=new Array()}if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(b);b.rootAppointment.recurrenceException.push(b.occurrenceFrom)}else{b.exceptions.push(b);b.recurrenceException.push(b.occurrenceFrom)}}else{var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){d[h]=b;break}}}}else{if(e===true){if(b.isException()){var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){for(var g=0;g<b.rootAppointment.recurrenceException.length;g++){if(b.rootAppointment.recurrenceException[g].equals(d[h].occurrenceFrom)){var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());b.rootAppointment.recurrenceException[g]=f;break}}d[h]=b;var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());d[h].occurrenceFrom=f;break}}}if(b.rootAppointment!=null){b.rootAppointment.recurrencePattern=b.rootAppointment.recurrencePattern.createNewPattern();var p=b.rootAppointment.from;var n=b.rootAppointment.duration();var c=b.rootAppointment.recurrencePattern.freq;var f=null;switch(c){case"daily":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"weekly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"monthly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"yearly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break}if(m){b.rootAppointment.from=p;b.rootAppointment.to=p.add(b.duration())}else{b.rootAppointment.from=f;b.rootAppointment.to=f.add(n)}b.rootAppointment.allDay=b.allDay;b.rootAppointment.resourceId=b.resourceId;b.rootAppointment.color=b.color;b.rootAppointment.borderColor=b.borderColor;b.rootAppointment.background=b.background;b.rootAppointment.timezone=b.timezone;b.rootAppointment.subject=b.subject;b.rootAppointment.description=b.description;b.rootAppointment.location=b.location;b.rootAppointment.category=b.category;b.rootAppointment.status=b.status;if(!l.resizing){b.rootAppointment.recurrencePattern.setFrom(f)}else{b.rootAppointment.recurrencePattern.setFrom(p)}}else{b.recurrencePattern=b.recurrencePattern.createNewPattern();b.recurrencePattern.setFrom(b.from)}var o=a(r).attr("data-view");var k=l._resources[parseInt(o)-1];if(k!=null){if(b.rootAppointment!=null){b.rootAppointment.resourceId=k}else{b.resourceId=k}}}}},_handleMouseUp:function(k,i,g){var f=this;clearInterval(f._verticalIntervalDragVelocity);clearInterval(f._horizontalIntervalDragVelocity);clearInterval(f._intervalDrag);clearInterval(f._horizontalIntervalDrag);var b=k;var j=false;if(!g){if(f._dragStartCell==i){j=true}}else{if(f.resizeTo){if(b.to.equals(f.resizeTo)){j=true}}else{if(f.resizeFrom){if(b.from.equals(f.resizeFrom)){j=true}}}}if(j){var h=a('[data-key="'+k.id+'"]');h.removeClass(f.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));f._removeFeedbackAndStopResize();return}var d=b.duration();var c=b.duration().days()>=1||b.allDay;var e=function(t,q){if(q.allDay||c){var w=f.getMaxAllDayAppointments(f.appointmentsToRender)}if(g){if(f.resizeTo){if(f.resizeTo>f.max){f.resizeTo=f.max}if(f.resizeTo<f.min){f.resizeTo=f.min}q.to=f.resizeTo}else{if(f.resizeFrom){if(f.resizeFrom>f.max){f.resizeFrom=f.max}if(f.resizeFrom<f.min){f.resizeFrom=f.min}q.from=f.resizeFrom}}if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{var x=f._views[f._view].type;var u=f._views[f._view];var C=a(i).attr("data-date");var D=a(i).attr("data-end-date")!=null;var o=new a.jqx.date(C,f.timeZone);if(o<f.min){o=f.min}if(o>f.max){o=f.max}if(f.rtl&&c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="monthView"||x=="timelineMonthView")){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="timelineDayView"||x=="timelineWeekView")){var n=f.getMinutesPerScale();q.to=o.addMinutes(n)}else{q.from=o}}}if(x==="dayView"||x==="weekView"){if(!c&&!D){q.to=o.add(d);q.allDay=false}else{if(!c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o);q.allDay=true}else{if(c&&D&&!f.rtl){q.to=o.add(d);if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&D&&f.rtl){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)));if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&!D){var A=30;var E=u.timeRuler&&u.timeRuler.scale;switch(E){case"sixtyMinutes":case"hour":A=60;break;case"fifteenMinutes":case"quarterHour":A=15;break;case"tenMinutes":A=10;break;case"fiveMinutes":A=5;break}q.to=o.addMinutes(A);q.allDay=false}}}}}}else{if(x==="monthView"){if(!f.rtl){q.to=o.add(d)}else{q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}}else{if(x==="timelineDayView"||x==="timelineWeekView"||x==="timelineMonthView"){if(!f.rtl){q.to=o.add(d)}else{if(x=="timelineMonthView"){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}else{var n=f.getMinutesPerScale();q.from=o.addMinutes(n).add(new a.jqx.timeSpan(-d))}}}}}}f._saveChangesAfterDragOrResize(t,q,i,f.resizing);var x=a(i).attr("data-view");var y=f._resources[parseInt(x)-1];if(y!=null){q.resourceId=y}f.resizing=false;f.resizeFrom=null;f._dragCell=null;f.resizeTo=null;var p={};var v={};for(var F in f.appointmentDataFields){var m=f.appointmentDataFields[F];var z=q[F];p[F]=z;if(F=="from"||F=="to"){z=z.toDate()}v[m]=z}p.jqxAppointment=q;p.originalData=v;q.boundAppointment=p;f._raiseEvent("appointmentChange",{appointment:q.boundAppointment});f.changedAppointments[q.id]={type:"Update",appointment:q.boundAppointment};f.table.find(".jqx-icon-arrow-down").hide();if(f._views[f._view].type=="monthView"&&f._views[f._view].monthRowAutoHeight){f._renderrows()}else{if((f._views[f._view].type=="weekView"||f._views[f._view].type=="dayView")&&(q.allDay||c)){if(f.tableRows>1){f._renderrows()}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r);var l=f.getMaxAllDayAppointments(f.appointmentsToRender);if(l!=w){var B=l*(f._defaultRowHeight-2);if(f.isTouchDevice()){B=Math.max(22+f._defaultRowHeight,17+B)}else{B=Math.max(3*f._defaultRowHeight,17+B)}if(f.tableRows==1){a(a(f.table[0].rows[0]).find("td")).css("height",B+"px")}else{a(a(f.table[0].rows[1]).find("td")).css("height",B+"px")}a(f.oldRow).find("td").css("height",B+"px");a(f.pinnedTableRow).find("td").css("height",B+"px");f.pinnedtable.height(B);f._updateScrollbars(f._hostHeight?f._hostHeight:f.host.height())}}}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r)}}f._removeFeedbackAndStopResize()};if(b.isRecurrentAppointment()){e(false,b)}else{e(null,b)}},_handleDayWeekViewResize:function(E,D,h,F,n){var C=this;var f=C._views[C._view].type;var B=C._views[C._view];var r=n.duration().days()>=1||n.allDay;if(!r&&!h.getAttribute("data-end-date")){var e=function(i){if(i<10){return false}return true};var j=C.findCell(C.feedback.coord().left,D);if(C.topResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-a(h).height()-3;if(e(v)){C.feedback.css("top",2+F.top+a(h).height());C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;var M=new a.jqx.date(j.getAttribute("data-date"),C.timeZone);C.resizeFrom=M.addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-3;if(e(v)){C.feedback.css("top",2+F.top);C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;C.resizeFrom=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}else{if(C.bottomResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var G=-5+a(h).height()+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone).addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var G=-5+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}}}else{var p=function(i){if(i<C.cellWidth-10){return false}return true};var A=B.appointmentsRenderMode&&B.appointmentsRenderMode=="exactTime";if(n.allDay||!A){if(C.leftResize){if(!C._lastResizeX){C._lastResizeX=C.mouseDownPosition.left}if(E>C._lastResizeX+a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left-C.cellWidth;if(p(d)){C.feedback.css("left",5+F.left+C.cellWidth);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left+C.cellWidth);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone)).addDays(-1)}}}else{if(E<C._lastResizeX-a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left;if(p(d)){C.feedback.css("left",5+F.left);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}}}}}else{if(C.rightResize){if(!C._lastResizeX){C._lastResizeX=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left}var m=a(h).width()/2;if(E>C._lastResizeX+m){var G=a(h).width()+F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.width(d-6);C.feedback.css("left",5+F.left);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}}}else{if(E<C._lastResizeX-m){var G=F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.css("left",5+F.left);C.feedback.width(d-6);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(-1))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}}}}}}}else{var t=new Array();var b=new Array();var K=-1;var J=-1;var k=this.host.coord().left;var Q=0;var z=C.hScrollInstance.value;if(C.rtl){var z=C.hScrollInstance.max-C.hScrollInstance.value}if(C.hScrollBar[0].style.visibility=="hidden"){z=0}var O=E+z-k;k=0;for(var L=0;L<this.columns.records.length;L++){if(this.columns.records[L].timeColumn){if(!C.rtl){k+=this.columns.records[L].width;Q++}}}var s=C.getViewStart();var H=C.getViewEnd();for(var L=0;L<this._getColumnsLengthPerView();L++){var c=this.columns.records[L+Q].width;if(C.leftResize){if(!C.rtl){t.push(k);b.push(s.addDays(L));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}}if(C.rtl){t.push(k);b.push(H.addDays(-L-1));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}}k+=c}else{if(!C.rtl){if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(s.addDays(L))}else{if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(H.addDays(-L-1))}}}if(C.leftResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?O>=F&&O<=N:O>=F;if(g){var c=-F+C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width;var q=C.pinnedfeedback.width();var I=C.pinnedfeedback.css("left");var l=C.resizeTo;var w=C.resizeFrom;if(c>0){C.pinnedfeedback.css("left",F);C.pinnedfeedback.width(c);if(L==K){if(!C.rtl){C.resizeFrom=n.from}else{C.resizeTo=n.from}}else{if(L==J){if(!C.rtl){C.resizeFrom=n.to}else{C.resizeTo=n.to}}else{if(!C.rtl){C.resizeFrom=b[L]}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}}}}}}var o=C.resizeFrom;var P=C.resizeTo;if(C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.css("left",I);C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}else{if(C.rightResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?E>=F-this.cellWidth/3&&E<=N-this.cellWidth/3:E>=F-this.cellWidth/3;if(g){var c=F-C.selectedAppointmentTableBounds.left-15;var q=C.pinnedfeedback.width();C.pinnedfeedback.width(c);var l=C.resizeTo;var w=C.resizeFrom;if(L==K){if(!C.rtl){C.resizeTo=n.from}else{C.resizeFrom=n.from}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(L==J){if(!C.rtl){C.resizeTo=n.to}else{C.resizeFrom=n.to}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}else{C.resizeFrom=b[L]}break}}}}var o=C.resizeFrom;var P=C.resizeTo;if(!C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}}}}},_handleTimelineMonthViewResize:function(t,s,q,M,k){var p=this;var w=p._views[p._view].type;var r=p._views[p._view];var D=function(i){if(i<10){return false}return true};var E=p.findCell(t,p.feedback.coord().top);if(k.allDay){if(p.leftResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left-a(q).width();if(D(v)){p.feedback.css("left",M.left+a(q).width());p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}}}else{if(t<p._lastResizeX-a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left;if(D(v)){p.feedback.css("left",M.left);p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}}}}}else{if(p.rightResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var n=a(q).width()+M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}}}else{if(t<p._lastResizeX-a(q).width()/2){var n=M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}}}}}}}else{var o=new Array();var L=new Array();var u=-1;var A=-1;var j=this.host.coord().left;var h=0;for(var J=0;J<this.columns.records.length;J++){if(this.columns.records[J].timeColumn){j+=this.columns.records[J].width;h++}}var z=p.hScrollInstance.value;if(p.rtl){var z=p.hScrollInstance.max-p.hScrollInstance.value}if(p.hScrollBar[0].style.visibility=="hidden"){z=0}var d=t+z-j;j=0;var m=p.getViewStart();var l=p.getViewEnd();var g=this._getColumnsLengthPerView()-1;for(var J=0;J<this._getColumnsLengthPerView();J++){var C=this.columns.records[J+h].width;if(p.leftResize){o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J))}if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width+8);L.push(k.to);A=o.length-1}}j+=C}else{if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width);L.push(k.to);A=o.length-1}}j+=C;o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J-1))}}}if(p.leftResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c&&d<=H:d>=c;if(I){var C=-c+p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width;var B=p.feedback.width();var f=p.feedback.css("left");var F=p.resizeTo;var K=p.resizeFrom;p.feedback.css("left",c);p.feedback.width(C);if(J==u){if(!p.rtl){p.resizeFrom=k.from}else{p.resizeTo=k.from}}else{if(J==A){if(!p.rtl){p.resizeFrom=k.to}else{p.resizeTo=k.to}}else{if(!p.rtl){p.resizeFrom=L[J]}else{p.resizeTo=L[J]}}}}}var G=p.resizeFrom;var e=p.resizeTo;if(p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.css("left",f);p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}else{if(p.rightResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c-this.cellWidth/3&&d<=H-this.cellWidth/3:d>=c-this.cellWidth/3;if(I){var C=c-p.selectedAppointmentTableBounds.left-12;var B=p.feedback.width();p.feedback.width(C);var F=p.resizeTo;var K=p.resizeFrom;if(J==u){if(!p.rtl){p.resizeTo=k.from}else{p.resizeFrom=k.from}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(J==A){if(!p.rtl){p.resizeTo=k.to}else{p.resizeFrom=k.to}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(L[J])}else{p.resizeFrom=L[J]}break}}}}var G=p.resizeFrom;var e=p.resizeTo;if(!p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}}}},_handleMonthViewResize:function(K,I,g,L,r){var H=this;if(!H.selectedJQXAppointment){return}var f=H._views[H._view].type;var G=H._views[H._view];var v=function(i){if(i<10){return false}return true};var s=-5;if(H.tableColumns>1){s=parseInt(-5/H.tableColumns)}for(var R=0;R<H.columns.records.length/H.tableColumns;R++){if(H.columns.records[R].timeColumn){continue}s+=H.columns.records[R].width}var q=H.selectedJQXAppointment.resourceId;var k=H._resources.indexOf(q);if(H.resources&&H.resources.orientation=="none"){k=-1}var e="0px";if(k!=-1&&H.tableRows==1){e=s*k+"px"}if(G.showWeekNumbers){if(!H.rtl){e=parseInt(e)+H.columns.records[0].width+"px"}}var F=g.offsetWidth;var P=g.offsetHeight;var E=18;if(H.isTouchDevice()){E=2}for(var R=0;R<6;R++){H.feedbacks[R][0].style.left=e;H.feedbacks[R][0].style.width=s+"px";H.feedbacks[R][0].style.display="block";H.feedbacks[R][0].style.top=parseInt(H.rows[R].top)+E+"px";if(H.tableRows>1){H.feedbacks[R][0].style.top=parseInt(H.rows[6*k+R].top)+E+"px"}a(H.feedbacks[R][0]).find(".jqx-scheduler-appointment-resize-indicator").css("visibility","inherit")}var l=H.selectedJQXAppointment.elements;var c=l[0].cells[0].cell;var J=l[l.length-1];var N=J.lastCellY;var h=J.lastCellX;var n=l[0].cellY;var B=l[0].cellX;var t=parseInt(L.top);var S=parseInt(L.left);if(!H.rtl){if(H.leftResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px";for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var M=H.cellWidth-(u.x-B);var b=H.host.coord().left;if(K-b>=u.x&&K-b<=u.x+M+2){C[0].style.left=m+"px";C[0].style.width=u.width+"px";O=true}}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>=N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t>N||(t==N&&S>h)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}else{if(t==N&&S<=h){if(n!=N){C[0].style.width=l[Q].width-L.left+parseInt(e)+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}else{if(H.rightResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=h&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";p=true}}}else{C[0].style.width=u.width+"px"}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A<n){C[0].style.display="none"}if(A>t&&A>n){C[0].style.display="none"}if(t<=n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n&&S<B)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}}}else{if(H.leftResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(L.left>u.x+u.width){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px"}if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.x-10&&K-b<=u.cellX+H.cellWidth){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px";p=true}}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A<n){C[0].style.display="none"}if(A>t){C[0].style.display="none"}if(t<n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t==n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n)){if(o==A&&n!=N){C[0].style.left=1+L.left+parseInt(e)+"px";if(1+L.left+parseInt(e)>u.x+u.width){C[0].style.left=u.x+"px"}C[0].style.width=-1+u.x+u.width-L.left+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}else{if(H.rightResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.lastCellX&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";O=true}}}else{C[0].style.width=u.width+"px"}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block"}if(A==N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t<=N){if(A==N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(A!=t&&o==A&&n!=N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}else{if(A==t&&o==A&&n!=N){C[0].style.left=l[Q].x+"px";C[0].style.width=S+F-5-parseInt(e)-l[Q].x+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}}}var d=new Array();for(var R=0;R<6;R++){var C=H.feedbacks[R];if(C[0].style.display=="block"){d.push(C)}}a.each(d,function(i){if(!H.rtl){if(i>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}}else{if(i>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}}})},_handleTimelineDayWeekViewResize:function(m,k,d,h,b){var i=this;var l=i._views[i._view].type;var n=i._views[i._view];var e=i.getMinutesPerScale();var j=function(o){if(o<10){return false}return true};var c=i.findCell(m,i.feedback.coord().top);if(i.leftResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left-a(d).width();if(j(g)){i.feedback.css("left",2+h.left+a(d).width());i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left;if(j(g)){i.feedback.css("left",2+h.left);i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}else{if(i.rightResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var f=a(d).width()+h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var f=h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}}},_handleResize:function(c,i,h,b,e){var g=this;var d=g._views[g._view].type;var f=g._views[g._view];if(d==="dayView"||d==="weekView"){g._handleDayWeekViewResize(c,i,h,b,e)}else{if(d==="timelineMonthView"){g._handleTimelineMonthViewResize(c,i,h,b,e)}else{if(d==="monthView"){g._handleMonthViewResize(c,i,h,b,e)}else{if(d==="timelineDayView"||d==="timelineWeekView"){g._handleTimelineDayWeekViewResize(c,i,h,b,e)}}}}if(d==="timelineDayView"||d==="timelineMonthView"||d==="timelineWeekView"){clearInterval(g._horizontalIntervalDrag);g._horizontalIntervalDrag=setInterval(function(){var k=g.host.width();var m=g.host.coord().left;var j=m+25;var l=k+j-45;if(!g.rtl){if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}},5)}else{if(d==="dayView"||d==="weekView"){clearInterval(g._intervalDrag);g._intervalDrag=setInterval(function(){var n=g.host.height();var k=0;if(!g.columnGroups){k+=g.showHeader?g.columnsHeight:0}else{k+=g.showHeader?g.columnsheader.height():0}if(g.showToolbar){k+=g.toolbarHeight}n-=k;var m=g.legendHeight;if(g._resources.length==0){m=0}if(g.showLegend){n-=m}var q=k+g.host.coord().top;var j=g.showAllDayRow;if(f.timeRuler&&(d==="dayView"||d==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){j=f.timeRuler.showAllDayRow}}var l=e.duration().days()>=1||e.allDay;if(j&&l){q-=20}else{if(j&&g.resizing){q+=a(g.table[0].rows[0]).height();n-=a(g.table[0].rows[0]).height()}}var p=q+25;var o=n+p-45;if(i<p){g.vScrollInstance.setPosition(g.vScrollInstance.value-5)}else{if(i>o){g.vScrollInstance.setPosition(g.vScrollInstance.value+5)}}},5)}}g.resizing=true},_startTimers:function(b,h,d){var f=this;var g=f.host.coord();var e=0;var c=0;if(f.hScrollInstance.element.style.visibility!="hidden"){clearInterval(f._horizontalIntervalDragVelocity);f._horizontalIntervalDragVelocity=setInterval(function(){e++;if(e>40){e=40}},100);clearInterval(f._horizontalIntervalDrag);f._horizontalIntervalDrag=setInterval(function(){var j=f._hostWidth;var l=g.left;var i=l+30;var k=j+i-60;if(!f.rtl){if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{e=0}}}else{if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{e=0}}}},10)}if(f.vScrollInstance.element.style.visibility!="hidden"){clearInterval(f._verticalIntervalDragVelocity);f._verticalIntervalDragVelocity=setInterval(function(){c++;if(c>40){c=40}},100);clearInterval(f._intervalDrag);f._intervalDrag=setInterval(function(){var m=f._hostHeight;var o=0;if(!f.columnGroups){o+=f.showHeader?f.columnsHeight:0}else{o+=f.showHeader?f.columnsheader.height():0}var p=f._views[f._view].type;var r=f._views[f._view];if(f.showToolbar){o+=f.toolbarHeight}m-=o;if(f.showLegend&&f._resources.length>0){m-=f.legendHeight}var k=g.top;var q=o+k;if(p=="dayView"||p=="weekView"){var j=f.showAllDayRow;if(r.timeRuler&&(p==="dayView"||p==="weekView")){if(r.timeRuler.showAllDayRow!=undefined){j=r.timeRuler.showAllDayRow}}var l=d.duration().days()>=1||d.allDay;if(j&&l){q-=20}else{if(j&&f.resizing){q+=a(f.table[0].rows[0]).height()}}}var n=q+30;var i=k+m+o-30;if(h<n){f.vScrollInstance.setPosition(f.vScrollInstance.value-10-c)}else{if(h>i){f.vScrollInstance.setPosition(f.vScrollInstance.value+10+c)}else{c=0}}},10)}},_hoverCell:function(b){var c=this;if(!c.enableHover){return true}if(c._resources.length>0){if(b.className.indexOf("pinned")>=0){return true}}if(b.className.indexOf("time-column")>=0){return true}if(b.className.indexOf("jqx-scheduler-disabled-cell")>=0){return true}if(b&&b==c.hoveredCell){return true}c.hoveredCell=b;if(!b){return true}c._removeHoveredCell();c.hoveredCell=b;b.className+=" "+c.toTP("jqx-fill-state-hover")+" "+c.toTP("jqx-grid-cell-hover")+" "+c.toTP("jqx-scheduler-cell-hover");b.jqxClassName=b.className},_removeHoveredCell:function(){var d=this;if(d.hoveredCell){var c=d.hoveredCell;var b=function(e){var f=c.className;f=f.replace(" "+d.toTP("jqx-fill-state-hover"),"");f=f.replace(" "+d.toTP("jqx-grid-cell-hover"),"");f=f.replace(" "+d.toTP("jqx-scheduler-cell-hover"),"");c.className=f;c.jqxClassName=f};b(c)}d.hoveredCell=null},_addHandlers:function(){var i=this;this._mousewheelfunc=this._mousewheelfunc||function(m){i.wheel(m,i);return false};this.focused=false;var g=false;this.addHandler(a(document),"keydown.scheduler"+i.element.id,function(m){g=false;if(m.keyCode===9&&m.shiftKey&&!i.focused){g=true}});this.addHandler(this.host,"focus",function(n){if(i.focusedCell&&!i.selectedAppointment&&!g){a(i.focusedCell).addClass(i.toThemeProperty("jqx-scheduler-cell-focus"))}i.focused=true;if(g){if(i.appointmentsToRender.length>0){var m=i.appointmentsToRender[i.appointmentsToRender.length-1];i._selectAppointment(m);i._lastSelectedAppointment=m}else{if(!i.focusedCell){i._updateFocusedCell()}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();return false}}}}}});this.addHandler(this.host,"blur",function(m){if(i.focusedCell){if(document.activeElement==i.element){return true}if(a(document.activeElement).ischildof(i.host)){return true}a(i.focusedCell).removeClass(i.toThemeProperty("jqx-scheduler-cell-focus"));i.focused=false}});this.addHandler(this.host,"dragstart."+this.element.id,function(m){return false});this.addHandler(this.host,"selectstart."+this.element.id,function(m){if(i.enableBrowserSelection){return true}if(i.showToolBar){if(a(m.target).ischildof(i.toolbar)){return true}}if(i.rowDetails){if(a(m.target).parents("[data-role=details]").length>0){return true}}if(undefined==i.editKey){return false}});this.addHandler(a(window),"jqxReady."+this.element.id,function(){});this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(m){if(i._timer){clearTimeout(i._timer)}if(d){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}}else{i._timer=setTimeout(function(){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}},1)}};this.hScrollInstance.valueChanged=function(m){if(i._htimer){clearTimeout(i._htimer)}if(d){if(i.table){i._renderhorizontalscroll()}}else{i._htimer=setTimeout(function(){if(i.table){i._renderhorizontalscroll()}},1)}};var c="mousedown";if(this.isTouchDevice()){c=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){c="mousedown"}}this.addHandler(this.table,"mouseleave",function(m){i._removeHoveredCell()});if(i.isTouchDevice()){i.enableHover=false}var h="mousemove.scheduler"+this.element.id;var e="mouseup.scheduler"+this.element.id;if(this.isTouchDevice()&&this.touchMode!==true){h=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+this.element.id}this.addHandler(a(document),h,function(X){var M=X.pageX;var L=X.pageY;if(i.isTouchDevice()){var N=a.jqx.position(X);M=N.left;L=N.top;if(isNaN(M)||isNaN(L)){var N=a.jqx.position(X.originalEvent);M=N.left;L=N.top}}if(i.disabled||X.which===3){return true}if(!i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hostWidth){var D=i.host.coord();if(D.left+i._hostWidth<M||M<D.left){return true}if(D.top+i._hostHeight<L||L<D.top){return true}}if(i.mouseDownPosition){if((Math.abs(i.mouseDownPosition.left-M)>=3&&Math.abs(i.mouseDownPosition.left-M)<=10)||(Math.abs(i.mouseDownPosition.top-L)>=3&&Math.abs(i.mouseDownPosition.top-L)<=10)){i.dragOrResize=true}}if(i.selectedAppointment&&i.dragOrResize){var w=null;if(i._hasOpenedMenu){return true}if(i.editRecurrenceDialog.jqxWindow("isOpen")){return true}var o=i._views[i._view].type;var K=i._views[i._view];var A=false;if(X.target.nodeName.toLowerCase()==="td"){var q=X.target}else{var q=i.findCell(M,L)}if(!q){return true}if(q.getAttribute("data-time-slot")!=undefined){return true}if(q.className.indexOf("jqx-grid-cell-pinned")>=0){return true}if(!i.feedback){w=i.getJQXAppointmentByElement(i.selectedAppointment);if(!w.draggable&&!w.resizable){w=null;return true}if(i.beginDrag){var t=i.beginDrag(w);if(!t){return true}}var T=a('[data-key="'+w.id+'"]');var B=i.selectedAppointment.position();i.feedback=i.selectedAppointment.clone(true);i.pinnedfeedback=i.selectedAppointment.clone(true);var V=!(i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing);var p=function(x){if(V){x.find(".jqx-scheduler-appointment-resize-indicator").hide()}T.addClass(i.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));x.find(".jqx-scheduler-appointment-duration-status").hide();x.addClass(i.toTP("jqx-scheduler-feedback-appointment"));x.addClass(i.toTP("jqx-scheduler-feedback-drag-appointment"));if(!V){x.css("z-index",400)}else{x.css("z-index",401)}};p(i.feedback);p(i.pinnedfeedback);if(i._views[i._view].type!="monthView"||V){i.table.append(i.feedback);if(i.tableRows==1){i.pinnedtable.append(i.pinnedfeedback)}else{i.table.append(i.pinnedfeedback)}i.feedback.css("left",B.left);i.feedback.css("top",B.top);i.pinnedfeedback.css("left",B.left);i.pinnedfeedback.css("top",B.top);if(i._views[i._view].type=="monthView"&&i.isTouchDevice()){i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}else{i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}if(i.dragging){var t=i.dragging(w,q,i.feedback);if(false===t){return true}}var N=a(q).position();if(i.endDrag){var I=i.feedback.css("left");var J=i.feedback.css("top");var z=i.feedback.width();var F=i.feedback.height}if(!w){w=i.selectedJQXAppointment}if(!w){i.selectAppointment(i.uiappointments[0].id);w=i.selectedJQXAppointment}var v=w.resourceId;var r=i._resources.indexOf(v);if(i.resources&&i.resources.orientation=="none"){r=-1}var Q=false;var U=i.isTouchDevice();if(U&&i.touchMode!==true&&i._dragCell==null&&!(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)){switch(o){case"dayView":case"weekView":var A=w.duration().days()>=1||w.allDay;if(!A){if(L>=i.selectedAppointmentBounds.top-15&&L<=i.selectedAppointmentBounds.top+15){Q=true;i.topResize=true}if(L>=i.selectedAppointmentBounds.top-15+i.selectedAppointmentBounds.height&&L<=i.selectedAppointmentBounds.top+i.selectedAppointmentBounds.height+15){Q=true;i.bottomResize=true}}else{if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}}break;default:if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}break}}if(U&&(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)||Q){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!U&&i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources&&i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!w.draggable){i._removeFeedbackAndStopResize();return true}if(i._dragCell==q){i._startTimers(M,L,w);if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}else{return}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}var E=w.duration();if(o.indexOf("month")>=0&&new a.jqx.date(W).add(E)>i.max){return}var P=i.vScrollBar[0].style.visibility=="hidden"?0:6+i.vScrollBar.outerWidth();i._dragCell=q;i.feedback[0].style.left=2+N.left+"px";i.feedback[0].style.top=2+N.top+"px";if(o==="dayView"||o==="weekView"){i.pinnedfeedback.css("left",2+N.left);i.pinnedfeedback.css("top",2+N.top);var m=0;if(q.getAttribute("data-end-date")){var s=i.appointmentsMinHeight;if(i.isTouchDevice()){s=i.touchAppointmentsMinHeight}if(K.appointmentHeight){s=K.appointmentHeight}A=w.duration().days()>=1||w.allDay;i.feedback.css("top",2+N.top+s);i.pinnedfeedback.css("top",2+N.top+18);if(o=="dayView"){var R=i.selectedAppointment.coord().left-9;i.feedback.css("left",R);i.pinnedfeedback.css("left",R)}if(A){i.pinnedfeedback.css("top",w.elements[0].y);m=i.selectedAppointment.width();if(2+N.left+m>i.host.width()-P){var C=2+N.left+m-i.host.width()+P+6;m-=C}i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}else{m=a(q).width()-4;i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}i.feedback.hide();i.pinnedfeedback.show()}else{i.feedback.show();i.pinnedfeedback.hide();var u=2;var O=30;var H=K.timeRuler&&K.timeRuler.scale;switch(H){case"sixtyMinutes":case"hour":u=1;break;case"thirtyMinutes":case"halfHour":u=2;break;case"fifteenMinutes":case"quarterHour":u=4;break;case"tenMinutes":u=6;break;case"fiveMinutes":u=12;break}m=a(q).width()-4;i.feedback.width(m);A=w.duration().days()>=1||w.allDay;if(A){i.feedback.height((a(q).height())-6)}else{i.feedback.height(i.selectedAppointment.height())}}i._startTimers(M,L,w)}else{if(o==="monthView"){i.feedback.css("left",1+N.left);var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}else{i.feedback.css("top",i.selectedAppointment.height()+N.top-2)}if(i.isTouchDevice()){i.feedback.css("top",N.top+2)}m=i.selectedAppointment.width();i.feedback.width(m);i.feedback.height(i.selectedAppointment.height());i._startTimers(M,L,w)}else{if(o==="timelineDayView"||o==="timelineMonthView"||o==="timelineWeekView"){var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}i._startTimers(M,L,w)}}}}}if(i.endDrag){var t=i.endDrag(w,q,i.feedback);if(!t){i.feedback.width(z)}i.feedback.height(F);i.feedback.css("top",J);i.feedback.css("left",I);return true}if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}}});var l=function(m){i.isMouseDown=false;i.dragOrResize=false;if(i.contextMenu&&i.menu&&m.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}if(m.which===3){return true}if(i.selectedAppointment&&i.feedback){if(i.editRecurrenceDialog.jqxWindow("isOpen")){return}i._handleMouseUp(i.selectedJQXAppointment,i._dragCell,i.resizing)}};this.addHandler(a(document),e,function(m){return l(m)});if(!this.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var b=null;if(window.parent&&document.referrer){b=document.referrer}if(b&&b.indexOf(document.location.host)!=-1){var f=function(m){if(!i.disabled){return l(m)}};i.addHandler(a(window.top.document),"mouseup.jqxscheduler"+i.element.id,f)}}}}catch(k){}}this.addHandler(this.host,h,function(o){var C=o.pageX;var A=o.pageY;if(i.disabled||o.which===3){return true}if(i.selectedAppointment&&i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hasOpenedMenu){return true}if(i.overlay[0].style.display!=="none"){return true}var n=null;if(o.target.className.indexOf("jqx-scheduler-appointment")>=0&&o.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=o.target}var u=o.target;for(var v=0;v<4;v++){if(u.parentNode){if(u.className.indexOf("jqx-scheduler-appointment")>=0&&u.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=u}u=u.parentNode}else{break}}if(n){var B=i._views[i._view].type;var E=i._views[i._view];var D=i.getJQXAppointmentByElement(n);if(D.resizable){var t=D.duration();var p=D.allDay||t.days()>=1||(t.hours()==23&&t.minutes==59&&t.seconds==59);var z=a(n).coord();var w=a(n).position();i.selectedAppointmentBounds={top:z.top,left:z.left,width:a(n).width(),height:a(n).height()};i.selectedAppointmentTableBounds={top:w.top,left:w.left,width:a(n).width(),height:a(n).height()};var m=i.selectedAppointmentBounds;if(B=="weekView"||B=="dayView"){if(!p){if(A>=m.top-3&&A<=m.top+6){n.style.cursor="row-resize";i.topResize=true;i.bottomResize=false}else{if(A>=m.top+m.height-6&&A<=m.top+m.height+3){n.style.cursor="row-resize";i.topResize=false;i.bottomResize=true}else{n.style.cursor="pointer"}}}else{if(B!="dayView"){if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}else{n.style.cursor="pointer"}}}else{if(B=="monthView"&&D.elements.length>1){var s=i.table.coord();for(var v=0;v<D.elements.length;v++){var q=D.elements[v];var m={top:s.top+q.y,left:s.left+q.x,width:q.width,height:q.height};if((v==0&&!i.rtl)||(v==D.elements.length-1&&i.rtl)){if(C>=m.left-3&&C<=m.left+6){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}else{if((v==D.elements.length-1&&!i.rtl)||(v==0&&i.rtl)){if(C>=m.left+m.width-6&&C<=m.left+m.width+3){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}}}}else{if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}}}}if(!i.enableHover){return true}if(o.target.nodeName.toLowerCase()==="td"){var r=o.target}else{var r=i.findCell(C,A)}if(!r){return true}i._removeHoveredCell();if(i.renderedRecords&&i.renderedRecords.length===0){return true}if(i.isMouseDown){if(Math.abs(i.mousecaptureposition.left-C)>3||Math.abs(i.mousecaptureposition.top-A)>3){if(i.mousecaptureposition.clickedcell.length===0){i.selectionarea[0].style.visibility="hidden";return}if(i.lastHoveredCell!=r){if(i._selectRangeTimer){clearTimeout(i._selectRangeTimer)}i._selectRangeTimer=setTimeout(function(){var x=i._views[i._view].type;if(x!="agendaView"){i._selectRange(r,i.mousecaptureposition.clickedcell[0])}},1)}i.lastHoveredCell=r}}else{if(!n){if(i.rows.length==1&&i.rows[0].cells.length==1){return true}i._hoverCell(r)}}return true});this.addHandler(a(document),"keydown.jqxscheduler"+i.element.id,function(m){if(i.focused&&m.ctrlKey){if(m.keyCode==68){return false}}});this.addHandler(this.host,"keydown",function(m){return i._handleKey(m)});if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(m){i.table.trigger("mousedown",m)})}var j=function(K){var M=K.target;var u=null;if(i.disabled){return true}if(!i.menu&&K.which==3){i._initMenu()}var n=i.table.coord();var B=K.pageX;var w=K.pageY;if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(arguments&&arguments.length==2){B=arguments[1].pageX;w=arguments[1].pageY}}if(i.isTouchDevice()){var N=a.jqx.position(K);B=N.left;w=N.top;if(isNaN(B)||isNaN(w)){var N=a.jqx.position(K.originalEvent);B=N.left;w=N.top}}i.mouseDown={top:w,left:B};var u=i.findCell(B,w);if(K.target.nodeName.toLowerCase()==="td"){var u=K.target}else{var u=i.findCell(B,w)}var D=i._views[i._view].type;var v=i._views[i._view];if(D==="monthView"&&v.weekViewNavigation){if(u&&u.getAttribute("data-time-slot")){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("weekView")}}if(D==="monthView"&&v.dayViewNavigation){var m=a(u).coord().top;if(u&&w>=m&&m+16>=w){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("dayView")}}if(K.target.nodeName.toLowerCase()==="span"&&(K.target.className.indexOf("jqx-icon-arrow-down")>=0||K.target.className.indexOf("jqx-icon-close")>=0)){if(K.target.mousedown){K.target.mousedown()}return true}var t=a(u).parent();var P=t.attr("data-key");i.mousecaptureposition={left:K.pageX,top:K.pageY,clickedrow:a(t).index(),clickedcell:a(u)};if(K.which!==3){i.isMouseDown=true;i.isMouseDownDate=new Date()}else{i.isMouseDown=false}if(i.contextMenu&&i.menu&&K.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}var r=function(y){if(K.which===3){if(i.contextMenu&&i.menu){if(y){i.menu.find("li:first").show()}else{i.menu.find("li:first").hide()}var x=i.menu.coord();if(i.menu.css("display")=="block"&&x.left==K.pageX&&x.top==K.pageY){i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();return}if(D==="agendaView"){}i.menuOpening=true;i.menu.jqxMenu("open",K.pageX,K.pageY);i.menuOpening=false;i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();setTimeout(function(){i.menu.jqxMenu("focus")},50)}}};var I=function(){for(var Q=0;Q<A.length;Q++){var y=A[Q].cells;for(var x=0;x<y.length;x++){y[x].removeAttribute("data-selected")}}};var q=K.target.className.indexOf("jqx-scheduler-appointment")>=0&&K.target.className.indexOf("jqx-scheduler-appointment-duration-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-content")==-1?a(K.target):a(K.target).parents(".jqx-scheduler-appointment");if(q.length==0){q=null}if(q&&q[0].className.indexOf("feedback")==-1){if(q.parents(".jqx-scheduler-month-cell-popup").length>0){return true}i.mouseDownPosition={top:w,left:B};var H=a(q).coord();i.selectedAppointmentBounds={top:H.top,left:H.left,width:a(q).width(),height:a(q).height()};var N=a(q).position();i.selectedAppointmentTableBounds={top:N.top,left:N.left,width:a(q).width(),height:a(q).height()};if(!i._dragStartCell){i._dragStartCell=i.findCell(H.left,H.top)}var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});i.clearSelection();var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}else{if(!p.readOnly){if(K.which!==3){i.focus()}}}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}return}else{if(K.which===3){var O=i.getSelection();if(O!==null){r(false)}else{i.clearAppointmentsSelection();u.setAttribute("data-selected","true");i._lastSelectedCell=u;i.focusedCell=u;i._updateCellsSelection(u);r(false);var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellClick",{cell:u,date:L})}}else{if(K.which!=3){i.clearAppointmentsSelection()}}}if(i.view=="agendaView"){var q=K.target.className.indexOf("jqx-scheduler-agenda-appointment")!=-1;if(q){q=K.target;var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}}}var E=function(){if(!i.enableBrowserSelection){if(K.preventDefault){K.preventDefault()}}var x=a(document).scrollTop();i.host.focus();a(document).scrollTop(x)};if(P!==undefined&&K.which!=3){i.clickedTD=u;var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);var o=i.rowinfo[P];var G=false;if(o){var s=new Date().getTime();var F=300;if(!i.clickTime){i.clickTime=new Date()}i.focus();if(i._lastSelectedCell&&i._lastSelectedCell.getAttribute("data-selected")=="true"&&u.getAttribute("data-selected")==="true"&&(s-i.clickTime.getTime()<F)){var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellDoubleClick",{cell:u,date:L});G=true;i._initDialog();i._openDialog();if(K.preventDefault){K.preventDefault()}}}var A=i.rows;if(u.getAttribute("data-selected")!="true"||K.shiftKey||s-i.clickTime.getTime()>F){if(u.getAttribute("data-time-slot")=="true"){return}if(!K.shiftKey){i.shiftSelectedCell=null}if(K.shiftKey&&i._lastSelectedCell&&D!="agendaView"){if(!i.shiftSelectedCell){i.shiftSelectedCell=i._lastSelectedCell}if(u.getAttribute("data-view")===i.shiftSelectedCell.getAttribute("data-view")){I()}i._selectRange(u,i.shiftSelectedCell)}if(!K.shiftKey){I();var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){u.setAttribute("data-selected","true")}else{u.setAttribute("data-selected","false")}}a('[data-key="'+P+'"]').removeClass(i.toTP("jqx-scheduler-selected-appointment"));i.selectedAppointment=null;var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){i._lastSelectedCell=u;i.focusedCell=u}i._updateCellsSelection(u);if(i.openedMonthCellPopup){i.openedMonthCellPopup.remove()}}i._raiseEvent("cellClick",{cell:u,date:L});i.clickTime=new Date();if(K.stopPropagation){K.stopPropagation()}}};this.addHandler(this.pinnedtable,c,function(n){var m=j(n);if(m!=undefined){return m}});this.addHandler(this.table,c,function(n){var m=j(n);if(m!=undefined){return m}})},moveAppointment:function(k,c,g,f,j){var h=this;var i=f.getAttribute("data-end-date");if(k){if(h.editRecurrenceDialog.jqxWindow("isOpen")){return}clearInterval(h._verticalIntervalDragVelocity);clearInterval(h._horizontalIntervalDragVelocity);clearInterval(h._intervalDrag);clearInterval(h._horizontalIntervalDrag);var d=k.duration();var b=k.duration().days()>=1||k.allDay;var e=function(r){if(!j){var l=h._views[h._view].type;var o=h._views[h._view];var p=c;k.from=p;if(l==="dayView"||l==="weekView"){if(!b&&!i){k.to=p.add(d);k.allDay=false}else{if(!b&&i){k.to=a.jqx.scheduler.utilities.getEndOfDay(p);k.allDay=true}else{if(b&&i){k.to=p.add(d)}else{if(b&&!i){var n=30;var q=o.timeRuler&&o.timeRuler.scale;switch(q){case"sixtyMinutes":case"hour":n=60;break;case"fifteenMinutes":case"quarterHour":n=15;break;case"tenMinutes":n=10;break;case"fiveMinutes":n=5;break}k.to=p.addMinutes(n);k.allDay=false}}}}}else{if(l==="monthView"){k.to=p.add(d)}else{if(l==="timelineDayView"||l==="timelineWeekView"||l==="timelineMonthView"){k.to=p.add(d)}}}}h._saveChangesAfterDragOrResize(r,k,f,j);if(g!=null){k.resourceId=g}h.table.find(".jqx-icon-arrow-down").hide();if(k.allDay||b){h._renderrows()}else{var s=h.getViewStart();var m=a.jqx.scheduler.utilities.getEndOfDay(h.getViewEnd());h._prepareAppointmentsInView(s,m);h._renderAppointments(s,m)}h._raiseEvent("appointmentChange",{appointment:k.boundAppointment});h.changedAppointments[k.id]={type:"Update",appointment:k.boundAppointment};h._ensureAppointmentVisible(h.selectedJQXAppointment)};if(k.isRecurrentAppointment()){e(false)}else{e(null)}}},getAppointmentProperty:function(d,b){var e=this;var c=null;if(this.appointmentsByKey[d]){c=this.appointmentsByKey[d].jqxAppointment}if(!c){return}return c[b]},setAppointmentProperty:function(e,b,g){var f=this;var c=null;if(this.appointmentsByKey[e]){c=this.appointmentsByKey[e].jqxAppointment}if(!c){return}c[b]=g;f.changedAppointments[e]={type:b,appointment:c.boundAppointment};switch(e){case"draggable":case"resizable":break;case"background":case"color":case"borderColor":case"status":case"tooltip":case"subject":case"location":case"description":case"style":var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d);break;case"hidden":case"timeZone":if(c.isAllDayAppointment()){f._renderrows()}else{var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d)}break;default:f._renderrows()}},deleteAppointment:function(b){if(this.appointmentsByKey[b]){this._deleteAppointment(this.appointmentsByKey[b].jqxAppointment)}},_deleteAppointment:function(b){var g=this;if(b.rootAppointment){if(!b.isException()){if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(g.editAppointment);b.rootAppointment.recurrenceException.push(g.editAppointment.occurrenceFrom)}else{b.exceptions.push(g.editAppointment);b.recurrenceException.push(g.editAppointment.occurrenceFrom)}}else{var f=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var e=0;e<f.length;e++){if(f[e].occurrenceFrom.equals(g.editAppointment.occurrenceFrom)){f[e]=b;break}}}b.hidden=true;g._renderrows();return}g._raiseEvent("appointmentDelete",{appointment:b.boundAppointment});var d=b.id;delete g.appointmentsByKey[d];var c=-1;for(var e=0;e<g.appointments.length;e++){if(g.appointments[e]==b.boundAppointment||g.appointments[e].id==b.boundAppointment.id){c=e;break}}if(c!=-1){g.appointments.splice(c,1)}c=-1;for(var e=0;e<g.uiappointments.length;e++){if(g.uiappointments[e]==b||g.uiappointments[e].id==b.id){c=e;break}}if(c!=-1){g.uiappointments.splice(c,1)}if(g.selectedJQXAppointment==b){g.clearAppointmentsSelection();if(g.uiappointments[c+1]){g.selectAppointment(g.uiappointments[c+1].id)}else{if(g.uiappointments[c-1]){g.selectAppointment(g.uiappointments[c-1].id)}else{if(g.uiappointments[0]){g.selectAppointment(g.uiappointments[0].id)}}}}g.changedAppointments[d]={type:"Delete",appointment:b.boundAppointment};g._renderrows()},addAppointment:function(o){var g=this;if(!o.scheduler){o.scheduler=this}if(!o.duration){if((!o.from&&!o.to)||(!o.appointmentObject)){var f=o;var d={};var e=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];for(var w in g.appointmentDataFields){var b=g.appointmentDataFields[w];var q=f[b];if(w=="from"||w=="to"){q=new a.jqx.date(q)}if(w=="style"){if(q){var k=g.getAppointmentColors(q);d.color=k.color;d.background=k.background;d.borderColor=k.border}}if(w=="recurrencePattern"){if(q){q=new a.jqx.scheduler.recurrencePattern(q);q.timeZone=f.timeZone||g.timeZone}}if(w=="recurrenceException"){var t=new Array();if(q){if(q.indexOf("EXDATE:")>=0){q=q.substring(q.indexOf("EXDATE:")+7)}var l=new Array();if(q.indexOf(",")>=0){l=q.split(",")}else{l.push(q)}for(var s=0;s<l.length;s++){var p=l[s];if(p.indexOf(";")>=0){var h=p.split(";")[1];p=p.split(";")[0];if(h.toLowerCase().indexOf("display")>=0&&h.toLowerCase().indexOf("none")){d.hidden=true}}try{var u=a.jqx.scheduler.utilities.untilStringToDate(p);if(u!="Invalid Date"){if(d.timeZone){u=new a.jqx.date(u,d.timeZone)}else{if(g.timeZone){u=u.toTimeZone(g.timeZone)}else{u=new a.jqx.date(u)}}}}catch(v){var u=new a.jqx.date(p,g.timeZone)}t.push(u)}}q=t}d[w]=q}for(var m in e){var w=e[m];if(d[w]==undefined){var q="";if(w=="originalData"){continue}if(w=="ownerId"){q=null}if(w=="timeZone"){q=null}if(w=="recurrencePattern"){q=null}if(w=="recurrenceException"){q=null}if(w=="allDay"){q=false}if(w=="draggable"){q=true}if(w=="resizable"){q=true}if(w=="hidden"){q=false}if(w=="resourceId"){q=null}if(w=="from"){q=new a.jqx.date()}if(w=="to"){q=new a.jqx.date().addHours(1)}d[w]=q}}d.originalData=f;d.scheduler=this;var o=new a.jqx.scheduler.appointment(d);if(d.timeZone){o.from=o.from.toTimeZone(d.timeZone);o.to=o.to.toTimeZone(d.timeZone)}if(g.timeZone){if(!d.timeZone){o.timeZone=g.timeZone}o.from=o.from.toTimeZone(g.timeZone);o.to=o.to.toTimeZone(g.timeZone)}else{o.from=o.from.toTimeZone(null);o.to=o.to.toTimeZone(null)}}else{var i=new a.jqx.scheduler.appointment();for(var w in o){i[w]=o[w]}o=i}}var w=g.dataview.generatekey();o.id=w;g.appointmentsByKey[w]=o;g.appointments.push(o);var c={};var j={};for(var r in g.appointmentDataFields){var b=g.appointmentDataFields[r];var q=o[r];c[r]=q;if(r=="from"||r=="to"){if(q.toDate){q=q.toDate()}else{q=new a.jqx.date(q).toDate()}}j[b]=q}c.originalData=j;o.boundAppointment=c;c.jqxAppointment=o;o.jqxAppointment=o;g._raiseEvent("appointmentAdd",{appointment:o.boundAppointment});g.uiappointments.push(o);g.changedAppointments[w]={type:"Add",appointment:o.boundAppointment};if(g.hiddenResources&&g.hiddenResources[o.resourceId]){g.hideAppointmentsByResource(o.resourceId)}else{g._renderrows()}g._selectAppointment(o);g._lastSelectedAppointment=o;if(g.resources){var n=o.resourceId;if(g._resources.indexOf(n)===-1){g._resources.push(n);g._renderrows()}}},_updateCellsSelection:function(){var f=this;var l=f.rows;var b=0;var c=0;if(b>0&&f.rtl){b=0;c=1}for(var e=0;e<l.length;e++){var k=l[e].cells;for(var d=b;d<k.length-c;d++){var h=k[d];if(h.getAttribute("data-selected")=="true"){var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")>=0){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");g=g+=" "+f.toTP("jqx-fill-state-pressed jqx-grid-cell-selected jqx-scheduler-cell-selected");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}else{var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")==-1){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g;h.removeAttribute("data-selected")}}}},_getuikey:function(c,f){var e=null;var d=this.table[0].rows;e=a(d[c]).attr("data-key");if(a(d[c]).attr("data-role")){var b=a(d[c]);if(f=="next"){while(b){b=b.next();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}else{if(f=="prev"){while(b){b=b.prev();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}}return null}return e},getRows:function(){var h=this._views[this._view].type;var k=this._views[this._view];var d="halfHour";if(k.timeRuler&&k.timeRuler.scale){d=k.timeRuler.scale}var j=24;var b=this.showAllDayRow;if(k.timeRuler&&(h==="dayView"||h==="weekView")){var c=0;var f=23;if(k.timeRuler.scaleStartHour!=undefined){var c=parseInt(k.timeRuler.scaleStartHour)}if(k.timeRuler.scaleEndHour!=undefined){var f=parseInt(k.timeRuler.scaleEndHour)}if(c<0){c=0}if(f<0){f=23}if(c>23){c=0}if(f>23){f=23}j=f-c+1;if(k.timeRuler.showAllDayRow!=undefined){b=k.timeRuler.showAllDayRow}}var l=new Array();var g=0;switch(h){case"dayView":case"weekView":default:var g=j*2;if(d==="hour"||d==="sixtyMinutes"){var g=j}else{if(d==="quarterHour"||d==="fifteenMinutes"){var g=j*4}else{if(d==="tenMinutes"){var g=j*6}else{if(d==="fiveMinutes"){var g=j*12}}}}if(b){g++}break;case"monthView":var g=6;break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":var g=1;break;case"agendaView":var g=this.appointments?this.appointments.length:0;break}for(var e=0;e<g;e++){l.push({uid:e})}return l},_getDateByString:function(j){var e=j.split(" ");var l=e[0].split("-");var h=e[1].split(":");var g=parseInt(l[0],10);var f=parseInt(l[1],10)-1;var i=parseInt(l[2],10);var d=parseInt(h[0],10);var c=parseInt(h[1],10);var k=parseInt(h[2],10);var b=new Date(g,f,i,d,c,k);if(g<1970){b.setFullYear(g,f,i)}return b},_getCellByDate:function(b,d,c){var m=this.rows;if(d===undefined){d=false}if(c===undefined){if(this.focusedCell){c=this.focusedCell.getAttribute("data-view")}}for(var g=0;g<m.length;g++){var l=m[g];if(l.element.getAttribute("data-group-row")){continue}for(var f=0;f<l.cells.length;f++){var k=l.cells[f];if(k.getAttribute("rowspan")!=null){continue}if(k.getAttribute("data-view")!==c){continue}if(k.getAttribute("data-time-slot")){continue}if(d&&k.getAttribute("data-end-date")!=null){continue}var h=k.getAttribute("data-date");var e=this._getDateByString(h);if(e.valueOf()==b.valueOf()){return k}}}},_rendercelltexts:function(){if(a.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var c="www.jqwidgets.com";if(location.hostname.indexOf(c.substring(4))==-1){if(this._gridRenderElement){a(this._gridRenderElement).remove()}var d=String.fromCharCode(83,80,65,78);var b=String.fromCharCode(72,84,84,80,58,47,47);var e=document.createElement(d);e.id=a.jqx.utilities.createId();e.innerHTML=c;e.style.position="absolute";e.style.right="5px";e.style.bottom="5px";e.style.color="#909090";e.style.cursor="pointer";e.style.zIndex="999999";e.style.display="none";e.style.fontSize="9px";e.onmousedown=function(){open(b+c)};this.content[0].appendChild(e);this._gridRenderElement=e}}},_handleKey:function(s){if(this._loading){return true}var t=s.shiftKey;var m=s.ctrlKey||s.metaKey;var i=this;var w=s.charCode?s.charCode:s.keyCode?s.keyCode:0;if(i._hasOpenedMenu){if(w==27){i.closeMenu()}else{i.menu.jqxMenu("focus")}return true}if(w===13||(i.selectedAppointment&&w==46)){if(i.editRecurrenceDialog&&i.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(i._editDialog&&i._editDialog.jqxWindow("isOpen")){return true}if(!i.selectedAppointment){i._initDialog();i._openDialog()}else{var c=i.getJQXAppointmentByElement(i.selectedAppointment);if(!c.readOnly){if(w==46){var o=i._initDialog(c,"delete");if(o!==false){i._openDialog()}}else{var o=i._initDialog(c);if(o!==false){i._openDialog()}}}}}if(w===27){if(i.dragOrResize){i.table.find(".jqx-icon-arrow-down").hide();var f=i.getViewStart();var e=a.jqx.scheduler.utilities.getEndOfDay(i.getViewEnd());i._prepareAppointmentsInView(f,e);i._renderAppointments(f,e);i._removeFeedbackAndStopResize();return false}}var r=function(z){var B=i.selectedAppointment;var y=i.getJQXAppointmentByElement(B);var x=y.elements[0].cells[0].cell;var L=y.elements[y.elements.length-1].cells[y.elements[y.elements.length-1].cells.length-1].cell;var E=i.rows[i.rows.length-1].cells[i.rows[i.rows.length-1].cells.length-1];if(t||(!t&&!m&&(z=="down"||z=="right"))){x=L}var H=i._views[i._view].type;var G=i._views[i._view];var I=x;switch(z){case"left":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F>0&&!t){I=D.cells[F-1]}else{if(H=="monthView"&&!t){var A=D.aboveRow;if(A){I=A.cells[A.cells.length-1]}}}break;case"right":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F<D.cells.length-1){I=D.cells[F+1]}else{if(H=="monthView"){var P=D.belowRow;if(P){I=P.cells[0]}}}if(H=="monthView"&&!t&&m&&L==E){I=x}break;case"up":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var A=D.aboveRow;if(A&&!t){I=A.cells[F]}break;case"down":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var P=D.belowRow;if(P){I=P.cells[F]}break}var N=I.getAttribute("data-date");var M=new a.jqx.date(N,i.timeZone);var H=a(I).attr("data-view");var J=i._resources[parseInt(H)-1];if(t){var H=i._views[i._view].type;var G=i._views[i._view];var C=false;if(H==="dayView"||H==="weekView"){if(x.getAttribute("data-end-date")){if(z=="left"&&(y.elements[0].cells.length>1||i.rtl)){if(!i.rtl){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1))}else{y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(1))}C=true}else{if(z=="right"){if(!i.rtl||(i.rtl&&y.elements[0].cells.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M)}C=true}}}else{if(z=="up"&&y.elements[0].cells.length>1){y.to=M;C=true}else{if(z=="down"){y.to=M.addMinutes(i.getMinutesPerScale());C=true}}}}else{if(H.indexOf("month")>=0){if(z=="left"&&(y.elements[0].cells.length>1||y.elements.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1));C=true}else{if(z=="right"){y.to=a.jqx.scheduler.utilities.getEndOfDay(M);C=true}}}else{if((!i.rtl&&z=="left"&&y.elements[0].cells.length>1)||(i.rtl&&z=="right"&&y.elements[0].cells.length>1)){y.to=M;if(i.rtl){y.to=M.addMinutes(i.getMinutesPerScale())}C=true}else{if((!i.rtl&&z=="right")||(i.rtl&&z=="left")){y.to=M.addMinutes(i.getMinutesPerScale());if(i.rtl){y.to=y.to.addMinutes(i.getMinutesPerScale())}C=true}}}}if(C){i.moveAppointment(y,M,J,I,true)}}else{if(m){i.moveAppointment(y,M,J,I)}else{i.clearAppointmentsSelection();var K=true;if(z=="down"){K=false}i.selectCell(M,K,H);i._ensureVisible(I)}}if(i.selectedAppointment){i.selectedAppointment.removeClass(i.toTP("jqx-scheduler-selected-appointment"));var O=i.selectedAppointment.attr("data-key");a('[data-key="'+O+'"]').addClass(i.toTP("jqx-scheduler-selected-appointment"));i.clearSelection()}};if(s.altKey&&i._resourcesElements&&i._resources&&i._resources.length>0){var g=function(x){var y=i._resourcesElements.bottom[x];if(y.attr("data-toggle")=="on"){i.hideAppointmentsByResource(x)}else{i.showAppointmentsByResource(x)}};var j=w>=49&&w<=58?j=w-48:-1;if(j>=1){a.each(i._resources,function(x,y){if(x==j-1){g(y);return false}});return false}}if(s.ctrlKey){if(!i.selectedAppointment){if(w==37){i.toolbarLeftButton.trigger("click");i._ensureVisible(i.focusedCell);return false}else{if(w==39){i.toolbarRightButton.trigger("click");i._ensureVisible(i.focusedCell);return false}}}if(w==49){i._setView(0);return false}else{if(w==50){i._setView(1);return false}else{if(w==51){i._setView(2);return false}else{if(w==52){i._setView(3);return false}else{if(w==53){i._setView(4);return false}else{if(w==54){i._setView(5);return false}else{if(w==68){i.dateTimeInput.jqxDateTimeInput("open");return false}else{if(w==77){i.openMenu();return false}}}}}}}}}if(w==9){if(!s.shiftKey){if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);var h=i.tabKeyAppointments.indexOf(c);if(h<i.tabKeyAppointments.length-1){c=i.tabKeyAppointments[h+1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();return true}}else{var c=i.tabKeyAppointments[0];if(c){i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}else{if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);if(c){var h=i.tabKeyAppointments.indexOf(c);if(h>0){c=i.tabKeyAppointments[h-1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}return true}}}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell)}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}if(i.selectedAppointment){if(w==37){r("left")}else{if(w==38){r("up")}else{if(w==40){r("down")}else{if(w==39){r("right")}}}}if(w>=37&&w<=40){return false}return}var k=this._lastSelectedCell;if(!k){return}if(!a(this._lastSelectedCell).parent()[0]){this._lastSelectedCell=this.rows[0].cells[0];k=this._lastSelectedCell}var n=this.rows;var p=this._views[this._view].type;var l=this._views[this._view];var v="halfHour";if(l.timeRuler&&l.timeRuler.scale){v=l.timeRuler.scale}var q=function(K,F){var B=30;switch(v){case"sixtyMinutes":case"hour":B=60;break;case"thirtyMinutes":case"halfHour":B=30;break;case"fifteenMinutes":case"quarterHour":B=15;break;case"tenMinutes":B=10;break;case"fiveMinutes":B=5;break}var I=K.getAttribute("data-date");var H=function(U,N,P){if(U&&(U.getAttribute("rowspan")==null||p=="agendaView")&&U.getAttribute("data-time-slot")==null){if(P<i.min||P>i.max){return}var S=i.rows;var R=i._lastSelectedCell;i._lastSelectedCell=U;if(s.shiftKey&&i._lastSelectedCell){if(!i.shiftSelectedCell){i.shiftSelectedCell=k}}else{if(!s.shiftKey){i.shiftSelectedCell=null}}if(!i.shiftSelectedCell){for(var Q=0;Q<S.length;Q++){var T=S[Q];if(T.element.getAttribute("data-group-row")){continue}for(var O=0;O<T.cells.length;O++){var N=T.cells[O];N.removeAttribute("data-selected","false")}}U.setAttribute("data-selected","true");i.focusedCell=U}else{if(U.getAttribute("data-end-date")&&i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{if(!U.getAttribute("data-end-date")&&!i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{i.focusedCell=R;i._lastSelectedCell=R}}}i._ensureVisible(i.focusedCell)}};var y=new a.jqx.date(I,i.timeZone);var z=K.getAttribute("data-view");switch(F){case"left":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E>0){var C=M.cells[E-1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"right":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E<M.cells.length-1){var C=M.cells[E+1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"up":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var x=M.aboveRow;if(x){var C=x.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=-1+i.rows.indexOf(M);var C=K;while(G>=0){if(i.rows[G].cells[0]==C){G--}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"down":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var D=M.belowRow;if(D){var C=D.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=1+i.rows.indexOf(M);var C=K;while(G<i.rows.length){if(i.rows[G].cells[0]==C){G++}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"home":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var A=i.rows[0];var C=A.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break;case"end":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var L=i.rows[i.rows.length-1];var C=L.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break}i._updateCellsSelection()};var u=function(){q(k,"home")};var b=function(){q(k,"end")};if(w==36||(m&&w==38)){u();return false}else{if(w==35||(m&&w==40)){b();return false}else{if(w==37){if(i.selectedAppointment){r(k,"left")}else{q(k,"left")}return false}else{if(w==38){if(i.selectedAppointment){r(k,"up")}else{q(k,"up")}return false}else{if(w==40){if(i.selectedAppointment){r(k,"down")}else{q(k,"down")}return false}else{if(w==39){if(i.selectedAppointment){r(k,"right")}else{q(k,"right")}return false}}}}}}},getSelectedCells:function(){var g=this;var h=g.rows;var f=h.length;var b=new Array();for(var e=0;e<f;e++){var d=h[e].cells;for(var c=0;c<d.length;c++){if(d[c].getAttribute("data-selected")){b.push(d[c])}}}return b.sort(function(i,j){return g._sortByDate(i,j)})},getSelection:function(){var e=this;var b=e.getSelectedCells();if(b.length==0){return null}var h=b[0].getAttribute("data-date");var g=b[b.length-1].getAttribute("data-date");var d=e.getMinutesPerScale();var c=e._views[e._view].type;if(c.toLowerCase().indexOf("month")>=0){d=0}if(b[0].getAttribute("data-end-date")){d=0}g=new a.jqx.date(g,e.timeZone).addMinutes(d);var c=parseInt(b[0].getAttribute("data-view"))-1;var f=e._resources[c];if(e._views[e._view].type.toLowerCase().indexOf("month")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("day")>=0||e._views[e._view].type.toLowerCase().indexOf("week")>=0){h=new a.jqx.date(h,e.timeZone);if(g.minute()===0&&g.hour()===0&&h.hour()===0&&h.minute()===0){if(g.day()===h.day()){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}else{return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g).addDays(-1),resourceId:f}}}return{from:new a.jqx.date(h,e.timeZone),to:g,resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("agenda")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}},clearSelection:function(){var f=this;var g=f.rows;var e=g.length;for(var d=0;d<e;d++){var c=g[d].cells;for(var b=0;b<c.length;b++){c[b].removeAttribute("data-selected")}}f._updateCellsSelection()},_getvirtualcolumnsindexes:function(c,k,g,i,b){if(this.rtl){c=this.hScrollInstance.max-c}var d=0;var h=-1;var e=g+i;if(this.autorowheight){return{start:0,end:g+i}}if(!b){for(var f=0;f<g+i;f++){var l=f;if(!this.columns.records[f].hidden){d+=this.columns.records[f].width}if(d>=c&&h==-1){h=f}if(d>k+c){e=f;break}}}e++;if(e>g+i){e=g+i}if(h==-1){h=0}return{start:h,end:e}},_renderhorizontalscroll:function(){var k=this;var r=k.hScrollInstance;var s=r.value;if(k.hScrollBar[0].style.visibility==="hidden"){r.value=0;s=0}var d=parseInt(s);if(k.table==null){return}var j=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};var q=k._getvirtualcolumnsindexes(d,k._hostWidth,0,k.columns.records.length,false);var l=q.start;var n=q.end;var b=k.rows;for(var m=0;m<l;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=n;m<k.columns.records.length;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=l;m<n;m++){var h=m;t=k.columns.records[h].element[0];if(!j(t)){k.columnsrow[0].appendChild(t)}}var o=k.columnsrow;var p=0;var e=k.columns.records.length-p;var c=k.columns.records;var f=k.source.records.length==0;if(k.rtl){if(k.hScrollBar.css("visibility")!="hidden"){d=r.max-d}}k.table[0].style.left=-d+"px";if(k.pinnedtable[0].style.display=="block"){k.pinnedtable[0].style.left=-d+"px"}if(k._resources.length>0&&k.tableRows>0){for(var u=0;u<this.table[0].rows.length;u++){var g=this.table[0].rows[u];if(g.getAttribute("data-group-row")){a(g).find("span").css("left",5+d)}}}o[0].style.marginLeft=-d+"px"},_getDayName:function(b,d){if(b>=7){b-=7}if(!d){d=this.dayNameFormat;if(this.isTouchDevice()){d=this.touchDayNameFormat}}var c=this.schedulerLocalization.days.names[b];switch(d){case"full":c=this.schedulerLocalization.days.names[b];break;case"abbr":c=this.schedulerLocalization.days.namesAbbr[b];break;case"shortest":c=this.schedulerLocalization.days.namesShort[b];break;case"firstTwoLetters":c=c.substring(0,2);break;case"firstLetter":c=c.substring(0,1);break}return c},_initializeColumns:function(){if(this._views.length===0){this._views.push({type:"dayView"})}if(!this._views[this._view]){throw new Error("jqxScheduler: View is undefined. You need to define the View in the Views Array when you create jqxScheduler")}var p=this._views[this._view].type;var m=this._views[this._view];if(m.timeSlotWidth){m.timeSlotWidth=Math.max(m.timeSlotWidth,30);m.columnWidth=m.timeSlotWidth}if(m.columnWidth){if(m.columnWidth<30){m.columnWidth=30}}if(this.columns&&this.columns.records){for(var z=0;z<this.columns.records.length;z++){this._removecolumnhandlers(this.columns.records[z])}}this.columns=new Array();var B=new Array();var h=this;var q=function(H,N){var I="halfHour";if(m.timeRuler&&m.timeRuler.scale){I=m.timeRuler.scale}var Q=24;var G=0;var P=23;if(m.timeRuler){if(m.timeRuler.scaleStartHour!=undefined){var G=parseInt(m.timeRuler.scaleStartHour)}if(m.timeRuler.scaleEndHour!=undefined){var P=parseInt(m.timeRuler.scaleEndHour)}if(G<0){G=0}if(P<0){P=23}if(G>23){G=0}if(P>23){P=23}Q=P-G+1}var K=60;var O=2;if(I){switch(I){case"sixtyMinutes":case"hour":O=1;break;case"thirtyMinutes":case"halfHour":O=2;break;case"fifteenMinutes":case"quarterHour":O=4;break;case"tenMinutes":O=6;break;case"fiveMinutes":O=12;break}}var S=new Array();var R="auto";if(m.timeRuler&&m.timeRuler.formatString){R=m.timeRuler.formatString}var F=G;var L=Q;var D=H.addHours(F);var j="auto";if(m.columnWidth){j=O*m.columnWidth}else{j=O*80}for(var M=0;M<L;M++){var E=D.toDate();if(R==="auto"){if((E.getHours()==0&&E.getMinutes()==0)||(E.getHours()==12&&E.getMinutes()==0)){var J="hh tt"}else{var J="hh:mm"}}else{if(a.isFunction(R)){var J=R(E)}else{J=R}}if(a.jqx.dataFormat.isDate(E)){E=a.jqx.dataFormat.formatdate(E,J,h.schedulerLocalization)}D=D.addMinutes(K,false);h.columns.push({columnGroup:N,text:E,minwidth:30,width:j})}};for(var x=0;x<this.tableColumns;x++){if(this.tableColumns>1){var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({text:f,name:f})}var w="left";if(this.rtl){w="right"}switch(p){case"dayView":var g=this.getViewStart();if(false===m.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:w,width:v,columnGroup:f,text:this._getDayName(g.dayOfWeek())});break;case"weekView":case"monthView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(y>6){y=0}if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:p=="weekView"?w:"center",width:v,columnGroup:f,text:this._getDayName(y)})}break;case"timelineDayView":var f=h._resources[x]?h._resources[x]:"Resource"+x;q(h.getViewStart(),f);break;case"timelineWeekView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(false===m.showWeekends){if(z===0||z===6){continue}}var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({align:h.rtl?"right":"left",parentGroup:f,name:this._getDayName(y)+x,text:this._getDayName(y)});q(h.getViewStart().addDays(z),this._getDayName(y)+x)}break;case"timelineMonthView":var k=h.getViewStart();var A="auto";if(m.timeRuler&&m.timeRuler.formatString){A=m.timeRuler.formatString}for(var z=0;z<41;z++){var y=k.dayOfWeek();if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m.columnWidth){v=m.columnWidth}else{v=100}var r=k.toDate();if(A==="auto"){var c="dd";r=k.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(A)){var c=A(r)}else{c=A}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,h.schedulerLocalization)}k=k.addDays(1);var f=h._resources[x]?h._resources[x]:"Resource"+x;h.columns.push({minwidth:30,columnGroup:f,text:r,width:v})}break;case"agendaView":var l=m.dateColumnWidth;var u=m.timeColumnWidth;var o=m.appointmentColumnWidth;if(!o){o="70%"}if(!u){u="auto"}if(!l){l="auto"}h.columns.push({text:h.schedulerLocalization.agendaDateColumn,width:l});h.columns.push({text:h.schedulerLocalization.agendaTimeColumn,width:u});h.columns.push({text:h.schedulerLocalization.agendaAppointmentColumn,width:o});break}}if(B.length>0){this.columnGroups=B}var h=this;var s=new a.jqx.schedulerDataCollection(this.element);var d=0;this._columns=this.columns;var C="left";var e=new a.jqx.scheduler.column(h,this);e.visibleindex=d++;e.text="";e.width=h.timeRulerWidth;e.editable=false;e.timeColumn=true;C="left";e.text="";e.hidden=false;e.width=h.timeRulerWidth;var b=false;if(m.timeRuler&&(p==="dayView"||p==="weekView")){e._text=m.timeRuler.text||"";C=m.timeRuler.position||"left";e.hidden=m.timeRuler.hidden||false;e.width=m.timeRuler.width||h.timeRulerWidth;if(m.timeRuler.timeZones){b=true}}else{if(p!=="dayView"&&p!=="weekView"){e.hidden=true}}var n=function(i){var j=new a.jqx.scheduler.column(h,h);j.visibleindex=d++;j.text="";j.width=h.timeRulerWidth;j.editable=false;j.timeColumn=true;C="left";j.text="";j.hidden=false;j.timeZone=m.timeRuler.timeZones[i].id;j.width=h.timeRulerWidth;if(m.timeRuler&&(p==="dayView"||p==="weekView")){j._text=m.timeRuler.timeZones[z].text||"";j.hidden=m.timeRuler.hidden||false;j.width=m.timeRuler.width||h.timeRulerWidth;s.add(j)}};if(C==="left"&&(p==="dayView"||p==="weekView")){if(m.timeRuler&&m.timeRuler.timeZones){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="left"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}var t=new Array();a.each(this.columns,function(i){if(h.columns[i]!=undefined){var j=new a.jqx.scheduler.column(h,this);j.visibleindex=d++;s.add(j)}});if(C==="right"&&(p==="dayView"||p==="weekView")){if(m.timeRuler){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="right"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}if(this.rtl){s.records.reverse()}this.columns=s},_getColumnsLengthPerView:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=1;switch(b){case"dayView":c=1;break;case"weekView":if(d.showWeekends!==false){c=7}else{c=5}break;case"monthView":if(d.showWeekends!==false){c=7}else{c=5}break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":c=this.columns.records.length;break;case"agendaView":c=this.columns.records.length;break}return c},_renderagenda:function(){var ab=this;var h=ab._views[ab._view].type;var aa=ab._views[ab._view];var K=ab.getViewStart();var af=a.jqx.scheduler.utilities.getEndOfDay(ab.getViewEnd().addDays(-1));ab._prepareAppointmentsInView(K,af);var R=ab.appointmentsToRender.length;var al=new Array();var aj=0;for(var at=0;at<ab.appointmentsToRender.length;at++){var q=ab.appointmentsToRender[at];var au=q.from.clearTime();while(au<a.jqx.scheduler.utilities.getEndOfDay(q.to)){var d=au.toString();if(!al[d]){al[d]={date:au,appointments:new Array()};al[d].appointments.push(q);al[al.length]=al[d];aj++}else{al[d].appointments.push(q);aj++}au=au.addDays(1).clearTime()}}var O=0;var N=0;ab.rows=new Array();var av=a.jqx.browser.msie&&a.jqx.browser.version<8;var F=0;var ax=0;var ap=ab.rtl?" "+ab.toTP("jqx-grid-table-rtl"):"";var Z=0;var v="<table cellspacing='0' cellpadding='0' class='"+ab.toTP("jqx-grid-table")+ap+"' id='table"+ab.element.id+"'><colgroup>";var G=ab.columns.records.length;for(var aq=0;aq<G;aq++){var X=ab.columns.records[aq];if(X.hidden){F++;continue}var c=X.width;if(c<X.minwidth){c=X.minwidth}if(c>X.maxwidth){c=X.maxwidth}c-=ax;if(c<0){c=0}if(av){var ae=c;if(aq==F){ae++}v+="<col style='max-width: "+ae+"px; width: "+ae+"px;'>"}else{v+="<col style='max-width: "+c+"px; width: "+c+"px;'>"}Z+=c}v+="</colgroup>";if(R==0){var l='<tr role="row">';var f=this.host.height();var U=0;if(!ab.columnGroups){U+=ab.showHeader?ab.columnsHeight:0}else{U+=ab.showHeader?ab.columnsheader.height():0}if(ab.showToolbar){U+=ab.toolbarHeight}if(ab.showLegend&&ab._resources.length>0){U+=ab.legendHeight}f-=U;var e='<td data-date="'+K.toString()+'" colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+f+"px; height: "+f+"px; max-width:"+Z+"px; width:"+Z+"px;";var E=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");E+=" "+this.toTP("jqx-center-align");e+='" class="'+E+'">';e+=this.schedulerLocalization.emptyDataString;e+="</td>";l+=e;l+="</tr>";v+=l;this.table[0].style.width=Z+2+"px";N=Z}var k=ab.rowsHeight;if(ab.isTouchDevice()){k=ab.touchRowsHeight}for(var at=0;at<al.length;at++){var H=at;var au=al[at];for(var ai=0;ai<au.appointments.length;ai++){var m=0;var l='<tr data-key="'+H+'" role="row">';O=0;var u=au.appointments[ai];for(var aq=0;aq<G;aq++){var ah=ab.columns.records[aq];var ao=aq;if(ab.rtl){ao=G-1-aq}var c=ah.width;if(c<ah.minwidth){c=ah.minwidth}if(c>ah.maxwidth){c=ah.maxwidth}c-=ax;if(c<0){c=0}var E=ab.toTP("jqx-cell")+" "+ab.toTP("jqx-grid-cell")+" "+ab.toTP("jqx-item");if(ab.rtl){E+=" "+ab.toTP("jqx-cell-rtl")}var J="";var H=ab.dataview.generatekey();var s=-1;var g=au.date;var f=k+"px";var e='<td data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px; height: "+f+"; min-height: "+k+"px;";if(ao==0&&ai==0){var M=au.appointments.length;var e='<td rowspan="'+M+'" data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px;  min-height: "+k+"px;";E+=" "+ab.toTP("jqx-center-align")}else{if(ao==0){O++;continue}}if(ab.rtl&&ao==1){E+=" "+ab.toTP("jqx-right-align")}if(!(ah.hidden)){m+=ax+c;if(O==0&&!ab.rtl){e+="border-left-width: 0px;"}else{e+="border-left-width: 1px;"}O++}else{e+="display: none;";ab._hiddencolumns=true}e+='" class="'+E+'">';var an="";if(ao==0&&ai==0){var D=g.toString("dddd",ab.schedulerLocalization);var am=g.toString("MMMM, yyyy",ab.schedulerLocalization);var ar=ab.toTP("jqx-scheduler-agenda-date");var o=ab.toTP("jqx-scheduler-agenda-day");var n=ab.toTP("jqx-scheduler-agenda-week");an='<div class="'+ar+'"><strong class="'+o+'">'+g.day()+'</strong><br/><em class="'+n+'">'+D+'</em><br/><span class="'+ar+'">'+am+"</span></div>"}if(ao==1){var Q="auto";var aa=this._views[this._view];var z=u.from;var ay=u.to;if(aa.timeRuler&&aa.timeRuler.formatString){Q=aa.timeRuler.formatString}var ad=Q;var I=Q;if(Q==="auto"){if((z.hour()==0&&z.minute()==0)||(z.hour()==12&&z.minute()==0)){var ad="hh tt"}else{var ad="hh:mm"}if((ay.hour()==0&&ay.minute()==0)||(ay.hour()==12&&ay.minute()==0)){var I="hh tt"}else{var I="hh:mm"}}var ar=ab.toTP("jqx-scheduler-agenda-time");if(u.allDay){an="<span class='"+ar+"'>"+ab.schedulerLocalization.agendaAllDayString+"</span>"}else{if(!ab.rtl){an="<span class='"+ar+"'>"+z.toString(ad,ab.schedulerLocalization)+" - "+ay.toString(I,ab.schedulerLocalization)+"</span>"}else{an="<span class='"+ar+"'>"+ay.toString(I,ab.schedulerLocalization)+" - "+z.toString(ad,ab.schedulerLocalization)+"</span>"}}}else{if(ao==2){if(u.resourceId){a.each(ab._resources,function(r,x){if(u.resourceId==x){var i=ab.getColors(r);var j=this.toString();var w=ab.toTP("jqx-scheduler-agenda-appointment-resource jqx-scheduler-legend");if(ab.rtl){var w=ab.toTP("jqx-scheduler-agenda-appointment-resource-rtl jqx-scheduler-legend")}var t="<div data-key='"+u.id+"' class='"+w+"' style='margin-right: 5px; border-color: "+i.border+"; background: "+i.background+";' class='"+ab.toThemeProperty("jqx-scheduler-legend")+"'></div>";an=t}})}var W=u.subject?u.subject:"(No Title)";var C=u.location;var y=u.description;var T=u.status?ab.schedulerLocalization.editDialogStatuses[u.status]:"";var b=u.isRecurrentAppointment();var B=u.isException();var Y=""+ab.schedulerLocalization.editDialogSubjectString+": "+W+"";if(C){Y+="\n"+ab.schedulerLocalization.editDialogLocationString+": "+C+""}if(y){Y+="\n"+ab.schedulerLocalization.editDialogDescriptionString+": "+y+""}if(T){Y+="\n"+ab.schedulerLocalization.editDialogStatusString+": "+T+""}if(b){Y+="\n"+ab.schedulerLocalization.editDialogRepeatString+": "+b+""}var ar=ab.toTP("jqx-scheduler-agenda-appointment jqx-scheduler-legend-label");if(ab.rtl){var ar=ab.toTP("jqx-scheduler-agenda-appointment-rtl jqx-scheduler-legend-label")}an+="<span data-key='"+u.id+"' title='"+Y+"' class='"+ar+"'>"+W+"</span>"}}e+=an;e+="</td>";l+=e}if(N==0){ab.table[0].style.width=m+2+"px";ab.pinnedtable[0].style.width=m+2+"px";N=m}l+="</tr>";v+=l}}v+="</table>";ab.table[0].innerHTML=v;ab.pinnedtable[0].innerHTML=v;ab.pinnedtable[0].style.display="none";var ag=a(ab.table[0].firstChild);var V=a(ab.pinnedtable[0].firstChild);ab._table=ag;ab._pinnedtable=V;if(a.jqx.browser.msie&&a.jqx.browser.version<10){ab._table[0].style.width=N+"px";ab._pinnedtable[0].style.width=N+"px"}if(R===0){ab._table[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.display="none"}ab._pinnedtable[0].style.display="none";ab._table.addClass("jqx-grid-table-one-cell jqx-disableselect");ab.table[0].rows=ab.table[0].firstChild.rows;ab.rowByCell=new Array();ab.columnCells=new Array();function p(){var i={};i.cells=new Array();i.indexOf=function(j){for(var r=0;r<i.cells.length;r++){if(i.cells[r].getAttribute("data-key")==j.getAttribute("data-key")){return r}}return -1};return i}ab.cellWidth=0;ab.cellHeight=0;var L=ab.table[0].rows.length;for(var at=0;at<L;at++){var ak=ab.table[0].rows[at];if(ak.getAttribute("data-group-row")){continue}var A=new p();A.aboveRow=null;A.belowRow=null;if(ab.rows.length>0){A.aboveRow=ab.rows[ab.rows.length-1];ab.rows[ab.rows.length-1].belowRow=A}A.element=ak;ab.rows.push(A);var S=false;for(var aq=0;aq<ak.cells.length;aq++){if(ak.cells.length<ab.columns.records.length&&!S){var ac=at;while(ac>=0){var aw=ab.table[0].rows[ac];if(ab.table[0].rows[ac].cells.length==ab.columns.records.length){var P=aw.cells[0];if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);S=true;break}ac--}}var P=ak.cells[aq];if(P.style.display==="none"){continue}if(P.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);ab.rowByCell[P.getAttribute("data-key")]=A}}if(R===0){ab._table[0].style.tableLayout="auto"}ab._updateScrollbars(ab.host.height());ab._arrange();if(ab.rendered){ab.rendered()}ab.renderedTime=new Date()},_renderrows:function(){var V=this;if(V._loading){return}if(V._updating||V._appupdating){return}if(V.rendering){V.rendering()}var V=this;var aF=V._views[V._view].type;var G=V._views[V._view];if(aF=="agendaView"){V._renderagenda();return}var az=1;var d=V.getViewStart();var aN=a.jqx.scheduler.utilities.getEndOfDay(V.getViewEnd());V._prepareAppointmentsInView(d,aN);var N=new Array();if(aF==="weekView"||aF==="dayView"){var az=V.getMaxAllDayAppointments(V.appointmentsToRender)}else{if(aF==="monthView"&&G.monthRowAutoHeight&&V.rows&&V.rows.length==6){N=V._getMonthAppointmentsPerWeek()}}var aa=V.tableRows>1?V.tableRows:0;var aL="halfHour";var B=null;var aQ;if(G.rowHeight){B=G.rowHeight}if(G&&G.allDayRowHeight){aQ=G.allDayRowHeight}if(G.timeRuler&&G.timeRuler.scale){aL=G.timeRuler.scale}var aM=0;V.table[0].rows=new Array();V.rows=new Array();var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-widget-content");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var b=V.columns.records.length;var av=V._getColumnsLengthPerView();var W=a.jqx.browser.msie&&a.jqx.browser.version<8;if(W){V.host.attr("hideFocus","true")}V._lastSelectedCell=null;V.focusedCell=null;var E=new Array();var aD=V.source.records;aD=V.dataview.evaluate(aD);V.dataViewRecords=aD;V.cells=new Array();var E=V.dataViewRecords;V.renderedRecords=V.getRows();var aZ=V.tableZIndex;var ai=V.getRows().length;var o=0;var aH=0;if(W){for(var X=0;X<b;X++){var ac=V.columns.records[X];var aK=ac.width;if(aK<ac.minwidth){aK=ac.minwidth}if(aK>ac.maxwidth){aK=ac.maxwidth}var aJ=a('<table><tr><td role="gridcell" style="max-width: '+aK+"px; width:"+aK+'px;" class="'+a5+'"></td></tr></table>');a(document.body).append(aJ);var at=aJ.find("td");o=1+parseInt(at.css("padding-left"))+parseInt(at.css("padding-right"));aJ.remove();break}}var K=V.rtl?" "+V.toTP("jqx-grid-table-rtl"):"";var H="<table cellspacing='0' cellpadding='0' class='"+V.toTP("jqx-grid-table")+K+"' id='table"+V.element.id+"'><colgroup>";var aY=0;var a4=b;var aS=2;var an=30;switch(aL){case"sixtyMinutes":case"hour":an=60;aS=1;break;case"thirtyMinutes":case"halfHour":an=30;aS=2;break;case"fifteenMinutes":case"quarterHour":an=15;aS=4;break;case"tenMinutes":an=10;aS=6;break;case"fiveMinutes":an=5;aS=12;break}var a3=1;if(aF==="timelineDayView"||aF==="timelineWeekView"){b=aS*b;a3=aS;av=b/V.tableColumns}else{if(aF==="timelineMonthView"){av=b/V.tableColumns}else{if(aF==="monthView"){if(G.showWeekNumbers){av=(b-V.tableColumns)/V.tableColumns}else{av=b/V.tableColumns}}}}var g=function(i){var c=V.columns.records[i];if(c){return c}while(i>=V.columns.records.length){i-=V.columns.records.length}var c=V.columns.records[i];return c};for(var X=0;X<b;X++){var ac=g(X);if(ac.hidden){aY++;a4--;continue}var aK=ac.width/a3;if(aK<ac.minwidth){aK=ac.minwidth/a3}if(aK>ac.maxwidth){aK=ac.maxwidth/a3}aK-=o;if(aK<0){aK=0}if(aF=="monthView"&&V.rtl&&ac.timeColumn){aK++}if(W){var P=aK;if(X==aY){P++}H+="<col style='max-width: "+P+"px; width: "+P+"px;'>"}else{H+="<col style='max-width: "+aK+"px; width: "+aK+"px;'>"}aH+=aK}H+="</colgroup>";V._hiddencolumns=false;if(ai===0){var u='<tr role="row">';var z=V.host.height();if(V.pageable){z-=V.pagerHeight;if(V.pagerPosition==="both"){z-=V.pagerHeight}}z-=V.columnsHeight;if(V.showLegend&&V._resources.length>0){z-=V.legendHeight}if(z<25){z=25}if(V.hScrollBar[0].style.visibility!="hidden"){z-=V.hScrollBar.outerHeight()}if(V.height==="auto"||V.height===null||V.autoheight){z=300}var aJ='<td colspan="'+V.columns.records.length+'" role="gridcell" style="border: none; min-height: '+z+"px; height: "+z+"px; max-width:"+aH+"px; width:"+aH+"px;";var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}a5+=" "+V.toTP("jqx-center-align");aJ+='" class="'+a5+'">';aJ+=V.schedulerLocalization.emptyDataString;aJ+="</td>";u+=aJ;H+=u;V.table[0].style.width=aH+2+"px";aM=aH}var au=V.getRows();var d=V.getViewStart();var z=V._hostHeight?V._hostHeight:V.host.height();var a2=0;if(!V.columnGroups){a2+=V.showHeader?V.columnsHeight:0}else{a2+=V.showHeader?V.columnsheader.height():0}if(V.showToolbar){a2+=V.toolbarHeight}if(V.showLegend&&V._resources.length>0){a2+=V.legendHeight}var f=V.showAllDayRow;var m=23;if(G.resourceHeaderRowHeight){m=G.resourcesRowHeight}m+=2;if(G.showAllDayRow!=undefined){f=G.showAllDayRow}var h=V._columnswidth>V._hostWidth;var al=h?(3+V.scrollBarSize):0;var ag=V.tableRows>1?V.resources.unitsInView:1;if(ag==undefined){ag=V._resources.length}if(V.resources&&V.resources.resourceRowHeight){B=V.resources.resourceRowHeight}if(B==null||B=="auto"){var p=V.rowsHeight;var ap=3*p;if(V.isTouchDevice()){p=V.touchRowsHeight;var ap=22+p}if(V.tableRows==1){B=z>0?(z-a2):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2):p}}else{B=z>0?(z-a2-m)/(ai):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2-ag*m)/(ag*ai):p}}if(aF==="dayView"||aF==="weekView"){if(f){if(aQ==null||aQ=="auto"){B=z>0?(z-a2)/(V.tableRows*(ai)):ap;aQ=B}else{B=z>0?(z-a2-aQ-ag*m)/(ag*(ai-1)):p}}}else{if(aF==="monthView"){if(V.hScrollBar[0].style.visibility=="hidden"){al=0}if(V.tableRows==1){B=z>0?(z-a2-al)/ai:p}else{B=z>0?(z-a2-m-al)/(ai):p}}}B=Math.max(p,B);if(!aQ){aQ=ap}aQ=Math.max(ap,aQ);V._allDayRowHeight=aQ;V._defaultRowHeight=p;aQ=az*(p-2);aQ=Math.max(ap,17+aQ);V._allDayRowFullHeight=aQ;if(G.allDayRowHeight){V._allDayRowHeight=G.allDayRowHeight;aQ=az*(G.allDayRowHeight-2);V._allDayRowFullHeight=aQ}}var aB=new Array();if(V.resources&&V.resources.colorScheme){for(var ao=0;ao<V.colorSchemes.length;ao++){if(V.colorSchemes[ao].name==V.resources.colorScheme){aB=V.colorSchemes[ao].colors;break}}while(V._resources.length>aB.length-1){var aW=parseInt(V.resources.colorScheme.substring(6));if(aW>=27){aW=0}aB=aB.concat(V.colorSchemes[aW].colors);aW++}}for(var aE=0;aE<V.tableRows;aE++){var aq=0;var S=0;var e=23;if(G.timeRuler&&G.timeRuler.scaleStartHour!=undefined){var S=parseInt(G.timeRuler.scaleStartHour)}if(G.timeRuler&&G.timeRuler.scaleEndHour!=undefined){var e=parseInt(G.timeRuler.scaleEndHour)}var A=d;if(false===G.showWeekends){if(A.dayOfWeek()==0||A.dayOfWeek()==6){A=A.addDays(1)}}var ar=new Array();var k=aF!="monthView"&&aF!="timelineDayView"&&aF!="timelineWeekView"&&aF!="timelineMonthView"&&f?1:0;if(V.tableRows>1){var u='<tr data-group-row="true" role="row">';var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(!W){a5+=" "+V.toTP("jqx-grid-cell-pinned");Z+=' colspan="'+b+'"';var P=0;for(var Q=0;Q<b;Q++){var ab=g(Q);var ak=ab.width/a3;if(ak<ab.minwidth){aK=ab.minwidth/a3}if(ak>ab.maxwidth){aK=ab.maxwidth/a3}ak-=o;if(ak<0){ak=0}if(!ab.hidden){P+=ak}}aK=P}else{a5+=" "+V.toTP("jqx-grid-cell-pinned")}var aJ='<td style="height:'+m+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!="none"){var aO="";var y="";var D="";var L=function(i){var c=105;var j=(i.r*0.299)+(i.g*0.587)+(i.b*0.114);var q=(255-j<c)?"Black":"White";return q};aO=aB[aE];aO=V.hexToRgba(aB[aE],0.7).toString();D=L(V.hexToRgba(aB[aE],0.7));y=aB[aE];aJ+="background: "+aO+";";aJ+="border-color: "+y+";";aJ+="color: "+D+";"}aJ+='" class="'+a5+'" role="gridcell" '+Z+"";var aX=V._resources[aE];aJ+="><span style='position: relative;'>"+aX+"</span>";aJ+="</td>";u+=aJ;H+=u}for(var Y=0;Y<ai;Y++){var aI={};var am="jqx"+V.element.id+"_"+Y;aI.uid=am;var u='<tr data-key="'+am+'" role="row">';var ad=0;var x=0;if(ar[0]&&Y>k){var an=30;if(aF!="monthView"){switch(aL){case"sixtyMinutes":case"hour":an=60;break;case"thirtyMinutes":case"halfHour":an=30;break;case"fifteenMinutes":case"quarterHour":an=15;break;case"tenMinutes":an=10;break;case"fiveMinutes":an=5;break}for(var T=0;T<b;T++){ar[T]=ar[T].addMinutes(an,false)}}else{for(var T=0;T<b;T++){ar[T]=ar[T].addDays(7,false)}}}var ax=0;var ae=1;var aj=0;if(G.showWeekends||G.showWeekends==undefined){aj=(V.columns.records.length)/(7*V.tableColumns);aj*=aS}else{aj=(V.columns.records.length)/(5*V.tableColumns);aj*=aS}var aw=0;if(V.rtl){aw=1}var aU=0;for(var X=0;X<b;X++){var R=g(X);if(ax>=av){ax=0;aU=0;aw=0;if(V.rtl){aw=1}ae++}if(!ar[X]){if(!V.rtl){if(aF.toString().indexOf("timelineDayView")>=0){var I=X;ar[X]=A.addHours(S).addMinutes(I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){ar[X]=A.addDays(aU).addHours(S,false).addMinutes(aw*an,false)}else{ar[X]=A.addDays(ax).addHours(S,false)}}if(V.timeZone){ar[X].timeZone=V.timeZone}}else{if(aF.toString().indexOf("timelineDayView")>=0){var I=1+X;ar[X]=A.addHours(1+e).addMinutes(-I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-aU).addHours(1+e,false).addMinutes(-aw*an,false)}else{ar[X]=A.addDays(4-aU).addHours(1+e,false).addMinutes(-aw*an,false)}}else{if(aF=="dayView"||aF=="monthView"||aF=="weekView"){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-ax).addHours(S,false)}else{ar[X]=A.addDays(4-ax).addHours(S,false)}}else{ar[X]=A.addDays(av-ax-1).addHours(S,false)}}}if(V.timeZone){ar[X].timeZone=V.timeZone}}}aw++;if(aw>=aj){aw=0;aU++}if(!R.timeColumn&&(aF==="dayView"||aF==="weekView")){ax++}else{if(!R.timeColumn&&(aF==="monthView"&&G.showWeekNumbers)){ax++}else{if((aF==="monthView"&&!(G.showWeekNumbers))||aF==="timelineMonthView"){ax++}else{if(aF=="timelineDayView"||aF=="timelineWeekView"){ax++}}}}var C=ar[X];var aK=R.width/a3;if(aK<R.minwidth){aK=R.minwidth/a3}if(aK>R.maxwidth){aK=R.maxwidth/a3}aK-=o;if(aK<0){aK=0}var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(R.pinned){a5+=" "+V.toTP("jqx-grid-cell-pinned")}if(V.sortcolumn===R.displayfield){a5+=" "+V.toTP("jqx-grid-cell-sort")}if(V.altRows&&Y%2!=0){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(C>V.max||C<V.min){a5+=" "+V.toTP("jqx-scheduler-disabled-cell")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var Z="";var am=V.dataview.generatekey();var aG=aE+ae;if(V.resources&&V.resources.orientation=="none"){aG=-1}if(V._resources.length==0){aG=-1}var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+B+"px;";if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td  data-key="'+am+'" data-view="'+(aG)+'" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.clearTime().toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px; height:"+aQ+"px;"}if(aF=="monthView"&&G.monthRowAutoHeight&&N.length>0){if(N[Y]&&N[Y]!="auto"){if(B<N[Y]){var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+N[Y]+"px;"}}}if(V.date.month()!=C.month()&&aF==="monthView"&&!G.showOtherMonthDays){}if(V.resources&&V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!=="none"){var aO="";var y="";aO=aB[aE+ae-1];if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){aO=V.hexToRgba(aB[aE+ae-1],0.3).toString()}else{aO=V.shadeColor(aB[aE+ae-1],0.3).toString()}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){aO=V.hexToRgba(aB[aE+ae-1],0.1).toString()}}}}}}y=aB[ae+aE-1];aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(R.timeColumn&&!R.hidden&&aF==="monthView"){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");a5+=" "+V.toTP("jqx-scheduler-week-number-column");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" role="gridcell" style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}if(X==b-1&&V.rtl){aJ+="border-right-color: transparent;"}}else{x++;continue}}if(R.timeColumn&&!R.hidden&&(aF==="dayView"||aF==="weekView")){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(Y>0){if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" rowspan='+aS+' role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}}else{x++;continue}}else{if(V.resources&&V.resources.orientation=="none"){aG=-1}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td data-view="'+(aG)+'" data-time-slot="true" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(X==0&&b==1&&V.rtl){aJ+="border-right-color: transparent;"}}if(V.rtl){aJ+="border-left-width: 1px;"}if(V.tableRows>1){aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}}}else{if(Y>0){var n="border-left-width: 1px;";if(V.rtl&&X==0&&aF=="monthView"&&G.showWeekNumbers){n="border-left-width: 0px;"}aJ+=n}}if(R.cellsalign!="left"){if(R.cellsalign==="right"){a5+=" "+V.toTP("jqx-right-align")}else{a5+=" "+V.toTP("jqx-center-align")}}if(!R.timeColumn){if(V.rowinfo[aI.uid]){if(V.rowinfo[aI.uid].selected){if(V.editKey!==aI.uid){if(V.selectionMode!=="none"){a5+=" "+V.toTP("jqx-grid-cell-selected");a5+=" "+V.toTP("jqx-fill-state-pressed");a5+=" "+V.toTP("jqx-scheduler-cell-selected")}}}}}if(!(R.hidden)){ad+=o+aK;if(x==0&&!V.rtl){aJ+="border-left-width: 0px;"}x++}else{aJ+="display: none;";V._hiddencolumns=true}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){a5+=" "+V.toTP("jqx-grid-cell-nowrap");if(Y%2==1&&!R.timeColumn){a5+=" "+V.toTP("jqx-scheduler-middle-cell")}if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){a5+=" "+V.toTP("jqx-scheduler-work-time-cell")}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}}}}var ah="";if(aF==="monthView"){if(!V.touchDevice&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align")}var af="dd";ah=C.toDate();var a1=V.toTP("jqx-scheduler-month-outer-cell")+" ";var aA=V.toTP("jqx-scheduler-month-weekend-cell");if(V.date.month()==C.month()){a1=""}if(!C.isWeekend()){aA=""}else{a5+=" "+aA}if(ah.getDate()===1){af="MMM dd"}if(V.touchDevice){if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}else{if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}}else{if(aF==="timelineWeekView"||aF==="timelineDayView"||aF==="timelineMonthView"){a5+=" "+V.toTP("jqx-right-align jqx-bottom-align");ah="<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span>"}}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align");a5+=" "+V.toTP("jqx-scheduler-all-day-cell");if(V.rtl){a5+=" "+V.toTP("jqx-rtl")}ah=C.toDate();ah="<span>"+a.jqx.dataFormat.formatdate(ah,"dd",V.schedulerLocalization)+"</span>"}var r=R.cellsFormat;if(R.timeColumn&&!R.hidden){ah=C.toDate();if(R.timeZone){ah=C.clone().toTimeZone(R.timeZone);ah=ah.toDate()}var s="auto";if(G.timeRuler&&G.timeRuler.formatString){r=G.timeRuler.formatString}else{if(!R.timeColumn.format){if(ah.getHours()==0||ah.getHours()==12){r="hh tt"}else{r="hh:mm"}}}if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}if(Y<k){if(!V.rtl){a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell")}else{a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell-rtl")}ah=""}if(Y<k){if(R._text){a5+=" "+V.toTP("jqx-bottom-align")}if(G.timeRuler&&G.timeRuler.timeZones&&G.timeRuler.timeZones.length>0){if(X<G.timeRuler.timeZones.length){ah=R._text}}}if(aF=="monthView"){ah=C.weekOfYear(V.schedulerLocalization.firstDay)}}else{if(r!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}else{if(a.jqx.dataFormat.isNumber(ah)||(!isNaN(parseFloat(ah))&&isFinite(ah))){ah=a.jqx.dataFormat.formatnumber(ah,r,V.schedulerLocalization)}}}}}if(R.cellclassname!=""&&R.cellclassname){if(typeof R.cellclassname=="string"){a5+=" "+R.cellclassname}else{var a0=R.cellclassname(Y,R.datafield,ah,aI);if(a0){a5+=" "+a0}}}if(R.cellsRenderer!=""&&R.cellsRenderer){var aT=au.indexOf(aI);ah=R.cellsRenderer(aT,R.datafield,ah,aI)}aJ+='" class="'+a5+'">';aJ+=ah;aJ+="</td>";u+=aJ}if(aM==0){V.table[0].style.width=ad+2+"px";V.pinnedtable[0].style.width=ad+2+"px";aM=ad}u+="</tr>";H+=u;if(!V.rowinfo[aI.uid]){V.rowinfo[aI.uid]={row:aI}}else{if(!("row" in V.rowinfo[aI.uid])){V.rowinfo[aI.uid].row=aI}}}}H+="</table>";V.table[0].innerHTML=H;V.pinnedtable[0].innerHTML=H;V.table[0].rows=V.table[0].firstChild.rows;var aR=a.jqx.browser.msie&&a.jqx.browser.version<9;var aP=null;if(f&&(aF==="dayView"||aF==="weekView")&&V.tableRows==1){V.pinnedtable[0].style.display="block";V.pinnedtable[0].style.zIndex="400";V.pinnedtable[0].style.position="absolute";V.pinnedtable[0].style.top="0px";V.pinnedtable[0].style.height=aQ+"px";if(!aR){if(V.tableRows==1){V.oldRow=V.table[0].rows[0];try{V.table[0].rows[0]=V.pinnedtable.find("tr")[0]}catch(aC){}aP=V.pinnedtable.find("tr")[0];V.pinnedTableRow=aP}else{V.oldRow=V.table[0].rows[1];try{V.table[0].rows[1]=V.pinnedtable.find("tr")[1]}catch(aC){}aP=V.pinnedtable.find("tr")[1];V.pinnedTableRow=aP}}}else{V.pinnedtable[0].style.display="none"}var Q=a(V.table[0].firstChild);var aV=a(V.pinnedtable[0].firstChild);V._table=Q;V._pinnedtable=aV;if(a.jqx.browser.msie&&a.jqx.browser.version<10){V._table[0].style.width=aM+"px";V._pinnedtable[0].style.width=aM+"px"}if(ai===0){V._table[0].style.width=(2+aM)+"px";V._pinnedtable[0].style.width=(2+aM)+"px"}V._table.addClass("jqx-grid-table-one-cell jqx-disableselect");V._pinnedtable.addClass("jqx-grid-table-one-cell jqx-disableselect");V.rowByCell=new Array();V.columnCells=new Array();function F(){var c={};c.cells=new Array();c.indexOf=function(j){for(var q=0;q<c.cells.length;q++){if(c.cells[q].getAttribute("data-key")==j.getAttribute("data-key")){return q}}return -1};return c}V.cellWidth=0;V.cellHeight=0;var U=V.table[0].rows.length;for(var Y=0;Y<U;Y++){var v=V.table[0].rows[Y];if(Y==0&&aP){v=aP}if(v.getAttribute("data-group-row")){continue}var aI=new F();aI.aboveRow=null;aI.belowRow=null;if(V.rows.length>0){aI.aboveRow=V.rows[V.rows.length-1];V.rows[V.rows.length-1].belowRow=aI}aI.element=v;V.rows.push(aI);for(var X=0;X<v.cells.length;X++){var M=v.cells[X];if(M.getAttribute("data-time-slot")){continue}if(M.style.display==="none"){continue}if(M.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!V.columnCells[aI.cells.length]){V.columnCells[aI.cells.length]=new Array()}V.columnCells[aI.cells.length].push(M);if(V.cellWidth==0){V.cellWidth=M.clientWidth}if(V.cellHeight==0&&(U==1||Y>1)){V.cellHeight=M.clientHeight}if(V._views[V._view].type=="monthView"){if(aI.top==undefined){aI.top=parseInt(a(M).position().top)}}aI.cells.push(M);V.rowByCell[M.getAttribute("data-key")]=aI}}if(ai===0){V._table[0].style.tableLayout="auto"}V._renderAppointments(d,aN);if(V.pinnedtable[0].style.display!="none"||((aF=="dayView"||aF=="weekView")&&V.tableRows>1)){V._updateScrollbars(V.host.height())}if(aF==="monthView"&&G.monthRowAutoHeight){if(N.length==0){V._renderrows()}else{V._updateScrollbars(V.host.height())}}if(V.rendered){V.rendered()}V.renderedTime=new Date()},showAppointmentsByResource:function(f){var e=this;for(var d=0;d<e.uiappointments.length;d++){var g=e.uiappointments[d];if(g.resourceId==f){g.hidden=false;g.hiddenByResourceId=false;if(g.exceptions){for(var c=0;c<g.exceptions.length;c++){g.exceptions[c].hiddenByResourceId=false}}}}if(e._resourcesElements){var b=e.getColors(e._resources.indexOf(f));e._resourcesElements.top[f].attr("data-toggle","on");e._resourcesElements.top[f].css("background",b.background);e._resourcesElements.bottom[f].attr("data-toggle","on");e._resourcesElements.bottom[f].css("background",b.background)}if(e.hiddenResources){delete e.hiddenResources[f]}e._renderrows()},hideAppointmentsByResource:function(e){var d=this;for(var c=0;c<d.uiappointments.length;c++){var f=d.uiappointments[c];if(f.resourceId==e){f.hidden=true;f.hiddenByResourceId=true;if(f.exceptions){for(var b=0;b<f.exceptions.length;b++){f.exceptions[b].hiddenByResourceId=true;f.exceptions[b].hidden=true}}}}if(d._resourcesElements){d._resourcesElements.top[e].attr("data-toggle","off");d._resourcesElements.top[e].css("background","transparent");d._resourcesElements.bottom[e].attr("data-toggle","off");d._resourcesElements.bottom[e].css("background","transparent")}if(!d.hiddenResources){d.hiddenResources=new Array()}d.hiddenResources[e]=true;d._renderrows()},_prepareAppointmentsInView:function(g,f){var h=this;if(h._appupdating){return}var l=new Array();for(var s=0;s<this.uiappointments.length;s++){var n=this.uiappointments[s];if(n.hidden&&n.recurrencePattern==null){continue}var o=a.jqx.scheduler.utilities.rangeIntersection(n.from,n.to,g,f);if(o&&!n.recurrencePattern){l.push(n)}n.renderedAppointments=new Array();var v=false;if(n.recurrencePattern){var u=n.getOccurrences(g,f);var t=n.exceptions;for(var r=0;r<u.length;r++){var e=u[r];if(e.hidden){continue}var c=true;for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.occurrenceFrom:k;if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(w.clearTime())){h.selectedJQXAppointment=k;v=true}}if(w.clearTime().equals(e.from.clearTime())){c=false;break}}if(!c){continue}if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(e.occurrenceFrom.clearTime())){h.selectedJQXAppointment=e;v=true}}n.renderedAppointments[e.id]=e;l.push(e)}for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.from:k;var q=n.createOccurrence(w);if(k.occurrenceFrom){k.cloneAppointmentAttributes(q);if(k.hidden){continue}}if(q!=n){l.push(k);n.renderedAppointments[k.id]=k}}}}var b=new Array();this.tabKeyAppointments=new Array();for(var s=0;s<l.length;s++){var d=l[s];b.push(d);this.tabKeyAppointments.push(d)}b.sort(this._sortAppointmentsByFrom);if(this._resources.length>0){this.tabKeyAppointments.sort(function(j,i){return h._sortAppointmentsByResourceId(j,i,h)})}else{this.tabKeyAppointments.sort(this._sortAppointmentsByFrom)}this.appointmentsToRender=b},_renderDayWeekAppointments:function(){var N=this;var ab=N._views[N._view].type;var M=N._views[N._view];var A=new Array();var K=new Array();var Z=this.rows;var E=N.showAllDayRow;var ad=N.getMinutesPerScale();if(M.timeRuler&&M.timeRuler.showAllDayRow!=undefined){E=M.timeRuler.showAllDayRow}for(var f=0;f<this.appointmentsToRender.length;f++){var s=this.appointmentsToRender[f];var u=s.from;var ae=s.to;var V=a.jqx.scheduler.utilities.getEndOfDay(ae);var D=u.day();var e=s.allDay;var v=N._getDateByString;var G=new Array();var r=new Array();var p=s.resourceId;var h=N._resources.indexOf(p);if(N.resources&&N.resources.orientation=="none"){h=-1}var B=u.toDate().valueOf();var k=ae.toDate().valueOf();var Q=V.toDate().valueOf();var af=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};if(!s.allDay&&s.duration().days()<1||!E){var q=ae.toDate();var I=false;if(q.getHours()==0&&q.getMinutes()==0){I=true}for(var X=0;X<N.columnCells.length;X++){if(!N.columnCells[X]){continue}var w=N.columnCells[X];if(N.rtl){w=N.columnCells[N.columnCells.length-1-X]}for(var W=0;W<w.length;W++){if(w[W].getAttribute("data-end-date")){continue}var n=w[W].getAttribute("data-date");var Y=v(n);var F=v(n);F.setMinutes(F.getMinutes()+ad-1);var m=Y.valueOf();var H=F.valueOf();if(m>ae){continue}if((B<=m&&m<k)||(B<=H&&H<k)||(B>=m&&H>=k)){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(D!=Y.getDate()){G.sort(af);r.push(G);G=new Array();D=u.addDays(1).day()}G.push({cell:w[W],date:Y})}}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){continue}var c=N.cellWidth;var d=w[w.length-1].cell.offsetTop+N.cellHeight;var P=w[0].cell.offsetLeft;var O=w[0].cell.offsetTop;var S=N.getMinutesPerScale();var q=new a.jqx.date(w[w.length-1].date,N.timeZone).addMinutes(S);var ac={cells:w,x:P,y:O,height:d-O,width:c,appointment:s,from:new a.jqx.date(w[0].date,N.timeZone),to:q};C.push(ac);A.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}else{var w=Z[0].cells;if(this.tableRows>1){var U=Z.length/N.tableRows;var b=h*U;w=Z[b].cells}for(var W=0;W<w.length;W++){var n=w[W].getAttribute("data-date");var ag=v(n);var Y=new a.jqx.date(ag,N.timeZone);Y=a.jqx.scheduler.utilities.getEndOfDay(Y);var m=Y.toDate().valueOf();if(m>V){continue}if(u<=Y&&Y<=V){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(G.length==0){Y=a.jqx.scheduler.utilities.getStartOfDay(Y)}G.push({cell:w[W],date:Y})}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){break}var l=a(w[0].cell).position();var c=a(w[w.length-1].cell).position().left+this.cellWidth-l.left;var d=a(w[w.length-1].cell).position().top;var P=l.left;var O=l.top;if(this.rtl){var l=a(w[w.length-1].cell).position();var P=l.left;var c=a(w[0].cell).position().left+this.cellWidth-l.left}var T=w[w.length-1].date;T=new a.jqx.date(a.jqx.scheduler.utilities.getEndOfDay(T),N.timeZone);var ac={cells:w,x:P,y:O,height:d-O+this.cellHeight,width:c,appointment:s,from:a.jqx.scheduler.utilities.getStartOfDay(new a.jqx.date(w[0].date,N.timeZone)),to:T};C.push(ac);K.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}}var z=this.getViewStart();var R=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;aa[J].push(t)}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}this._renderAllDayAppointments(K)}else{for(var W=0;W<this._resources.length;W++){var L=this._resources[W];var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;if(t.appointment.resourceId==L){aa[J].push(t)}}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}var o=new Array();for(var X=0;X<K.length;X++){if(K[X].appointment.resourceId==L){o.push(K[X])}}this._renderAllDayAppointments(o)}}},_renderAllDayAppointments:function(ar){var ac=this;var I=this.showAllDayRow;var ab=this._views[this._view];if(ab.timeRuler&&ab.timeRuler.showAllDayRow!=undefined){I=ab.timeRuler.showAllDayRow}if(!I){return}if(ar.length==0){return}var B=ar;var H=1;H=this.getMaxAllDayAppointments(ar);if(this.tableRows==1){var A=this.table[0].rows[0].clientHeight/H}else{var A=this.table[0].rows[1].clientHeight/H}for(var ap=0;ap<ar.length;ap++){var z=ar[ap];z.row=-1;var d=this.getCollisionAppointments(z,ar);d.sort(this._sortAppointmentsByFrom);var s=d.indexOf(z);if(s>=0){for(var aj=s;aj<d.length;aj++){d[aj].row=-1}}for(var am=0;am<H;am++){var n=am;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(n,d)){Y.row=n;var an=H;var c=this.getMaxAllDayAppointments(d);if(an>c){an=c}Y.rowsCount=an}}}}for(var am=0;am<B.length;am++){var z=B[am];var d=this.getCollisionAppointments(z,B);d.sort(this._sortAppointmentsByFrom);var l=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];l=Math.max(l,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=l}if(d.length==1){z.rowSpan=l}else{var F=0;var f=true;for(var aj=z.row;aj<l;aj++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==z){continue}if(Y.row==aj){f=false}}if(!f){break}F++}z.rowSpan=F}}var aq=ac.appointmentsMinHeight+2;if(ac.isTouchDevice()){var aq=ac.touchAppointmentsMinHeight+2}for(var ae=0;ae<B.length;ae++){var ad=aq;var z=B[ae];z.height=aq;var D=ad*z.row;z.y=18+z.y+D+(4*z.row);z.x+=3;z.width-=8;if(z.appointment.from.hour()!=0||z.appointment.to.hour()!=23){var C=this.getViewStart();var ag=this.getViewEnd();if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30);if(z.appointment.from<C){K=0}z.timewidth=z.width;z.timex=K;var L=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);if(z.appointment.to>ag){L=0}z.timewidth-=K;if(L>0){z.timewidth-=ac.cellWidth;z.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){z.width=z.timewidth;z.x+=K}}else{var K=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);var L=(parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30));if(K>0){K=ac.cellWidth-K}if(z.appointment.from<C){L=0}if(z.appointment.to>ag){K=0}if(ab.appointmentsRenderMode=="exactTime"){z.x+=K;z.width-=K;z.width-=L}if(z.appointment.duration().days()<1){if(z.width<15){z.width=15}}z.timewidth=z.width;if(ab.appointmentsRenderMode=="exactTimeStatus"){z.timewidth-=K;z.timewidth-=L}z.timex=K}}}for(var ae=0;ae<B.length;ae++){var ak=B[ae];var N="";var P="auto";var ab=this._views[this._view];var o=ak.appointment.from;var av=ak.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var af=P;if(P==="auto"){if((o.hour()==0&&o.minute()==0)||(o.hour()==12&&o.minute()==0)){var af="hh tt"}else{var af="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var y="hh tt"}else{var y="hh:mm"}}var u=o.toString(af);var v=av.toString(y);var J=ak.appointment.duration();var e=ak.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=ak.appointment.background;var T=ak.appointment.subject?ak.appointment.subject:"(No Title)";var M=ak.appointment.color;var i=ak.appointment.resourceId;var ah=ac.getColors(ac._resources.indexOf(i));var ai=" data-resourceId='"+i+"' ";var X=ak.appointment.borderColor;var t=ak.appointment.location;if(t.length>0){t=", "+t}if(!aa){aa=ah.background}if(!X){X=ah.border}if(!M){M=ah.color}var b=ak.appointment.isRecurrentAppointment();var r=ak.appointment.isException();var g=u+"-"+v;if(e){u="";v=""}var ao="";var w=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[ak.appointment.status];var k=false;if(R){if(R=="transparent"){k=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+w+"'></div>"}k=true}}var E=ac.toTP("jqx-scheduler-appointment-duration-status");var al="<div style='width: "+ak.timewidth+"px; left: "+ak.timex+"px;' class='"+E+"'></div>";if(e){al=""}var G="";if(ab.appointmentsRenderMode!="exactTimeStatus"){al=""}if(ac.rtl){var w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+w+"'></div>"}G=S;S=""}var W="";var Q=T+t;if(!e){Q=T+t+al}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:ak.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:ak.width,height:ak.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ah=ac.getAppointmentColors(au.style);aa=ah.background;X=ah.border;M=ah.color}}}if(ao===""){if(k){var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+G+"</div>"}else{var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(r){var h=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+h+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var q=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+q+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);if(this.tableRows==1){V.appendTo(this.pinnedtable)}else{V.appendTo(this.table)}ak.element=V;if(this.appointmentTooltips){if(!ak.appointment.tooltip){var Z=ak.appointment.subject;if(u){Z=u+" - "+v+" "+Z}if(Z){var t=ak.appointment.location;if(t){Z+="\n"+t}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",ak.appointment.tooltip)}}}},_renderAppointmentsInDay:function(an,am){if(an.length==0){return}var Z=this;var Y=this._views[this._view];var B=an;var C=this.getViewStart();var ac=this.getViewEnd();var ai=1;var o=0;if(Y.timeRuler){o=this.columns.records[1].width;if(Y.timeRuler.timeZones){o=this.columns.records[1+Y.timeRuler.timeZones.length].width}}else{o=this.columns.records[1].width}ai=this.getMaxColumnsInADay(an);var n=o/ai;if(n<0){return}for(var al=0;al<an.length;al++){var A=an[al];A.column=-1;var d=this.getCollisionAppointments(A,an);d.sort(this._sortAppointmentsByFrom);var t=d.indexOf(A);if(t>=0){for(var ag=t;ag<d.length;ag++){d[ag].column=-1}}for(var aj=0;aj<ai;aj++){var e=aj;for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==-1&&!this.isBusyColumn(e,d)){V.column=e;var g=ai;var c=this.getMaxColumnsInADay(d);if(g>c){g=c}V.columnsCount=g}}}}for(var aj=0;aj<B.length;aj++){var A=B[aj];var d=this.getCollisionAppointments(A,B);d.sort(this._sortAppointmentsByFrom);var H=1;for(var R in d){if(R=="indexOf"){break}var L=d[R];if(L.columnsCount==undefined){continue}H=Math.max(H,L.columnsCount)}for(var R in d){if(R=="indexOf"){break}var L=d[R];L.columnsCount=H}if(d.length==1){A.columnSpan=H}else{var D=0;var f=true;for(var ag=A.column;ag<H;ag++){for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==undefined){continue}if(V==A){continue}if(V.column==ag){f=false}}if(!f){break}D++}A.columnSpan=D}}for(var aa=0;aa<B.length;aa++){var E=o/B[aa].columnsCount;var A=B[aa];A.width=-5+(E*A.columnSpan);var ap=E*A.column;A.x=2+A.x+ap;A.height-=5;A.y+=1;if(Y.appointmentsRenderMode=="exactTime"){var ae=Z.getMinutesPerScale();if(A.appointment.from.minute()%ae!=0){var at=A.appointment.from.minute()%ae;var J=parseFloat(Z.cellHeight/ae)*at}else{var J=0}if(A.appointment.to.minute()%ae!=0){var at=A.appointment.to.minute()%ae;var G=Z.cellHeight-parseFloat(Z.cellHeight/ae)*at;if(A.to.day()!==A.appointment.to.day()){G=0}}else{G=0}A.y+=J;A.height-=J;A.height-=G}}for(var aa=0;aa<B.length;aa++){var ah=B[aa];var K="";var M="auto";var Y=this._views[this._view];var q=ah.appointment.from;var ar=ah.appointment.to;if(Y.timeRuler&&Y.timeRuler.formatString){M=Y.timeRuler.formatString}var ab=M;if(M==="auto"){if((q.hour()==0&&q.minute()==0)||(q.hour()==12&&q.minute()==0)){var ab="hh tt"}else{var ab="hh:mm"}if((ar.hour()==0&&ar.minute()==0)||(ar.hour()==12&&ar.minute()==0)){var z="hh tt"}else{var z="hh:mm"}}var v=q.toString(ab);var w=ar.toString(z);var X=ah.appointment.background;var Q=ah.appointment.subject?ah.appointment.subject:"(No Title)";var u=ah.appointment.location?ah.appointment.location:"";var I=ah.appointment.color;var k=ah.appointment.resourceId;var ad=Z.getColors(Z._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var U=ah.appointment.borderColor;if(!X){X=ad.background}if(!U){U=ad.border}if(!I){I=ad.color}var b=ah.appointment.isRecurrentAppointment();var s=ah.appointment.isException();var ak="";var y=Z.toTP("jqx-scheduler-appointment-status");var P="";var O=Z.statuses[ah.appointment.status];var l=false;if(O){if(O=="transparent"){l=false}else{P="<div style='background: "+O+"; border-right-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-right-color: "+U+"' class='"+y+"'></div>"}l=true}}var F="";if(Z.rtl){var y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");P="<div style='background: "+O+"; border-left-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-left-color: "+U+"' class='"+y+"'></div>"}F=P;P=""}var T="";var N=Q+"<br/>"+u;if(!u){var N=Q}if(Z.renderAppointment){var aq=Z.renderAppointment({appointment:ah.appointment.boundAppointment,textColor:I,background:X,borderColor:U,html:N,cssClass:"",style:"",width:ah.width,height:ah.height,view:Z._views[Z._view].type});if(aq){var K=aq.html;if(K!=N){N=K}I=aq.textColor;X=aq.background;U=aq.borderColor;if(aq.cssClass){T=aq.cssClass+" "}if(aq.style!=""){var ad=Z.getAppointmentColors(aq.style);X=ad.background;U=ad.border;I=ad.color}}}if(ak===""){if(l){var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'>"+P+"<div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div>"+F+"</div>"}else{var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div></div>"}}var ao="";if(Z.rtl){ao=Z.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var h=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-exception-white"):Z.toTP("jqx-icon-recurrence-exception");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+h+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{if(b){var r=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-white"):Z.toTP("jqx-icon-recurrence");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+r+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}}var S=a(K);S.appendTo(this.table);ah.element=S;if(this.appointmentTooltips){if(!ah.appointment.tooltip){var W=ah.appointment.subject;if(W){var u=ah.appointment.location;if(u){W+="\n"+u}S[0].setAttribute("title",W)}}else{S[0].setAttribute("title",ah.appointment.tooltip)}}}},getCollisionAppointments:function(b,f){var j=new Array();var g=b.from;var h=b.to;for(var d=0;d<f.length;d++){var k=f[d];var e=k.from;var c=k.to;if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},getAllDayCollisionAppointments:function(b,f){var j=new Array();var g=a.jqx.scheduler.utilities.getStartOfDay(b.from);var h=a.jqx.scheduler.utilities.getEndOfDay(b.to);for(var d=0;d<f.length;d++){var k=f[d];var e=a.jqx.scheduler.utilities.getStartOfDay(k.from);var c=a.jqx.scheduler.utilities.getEndOfDay(k.to);if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},_renderAppointments:function(e,c){var d=this;if(d._appupdating){return}d.table.find(".jqx-scheduler-appointment").remove();d.pinnedtable.find(".jqx-scheduler-appointment").remove();var b=d._views[d._view].type;if(b==="dayView"||b==="weekView"){d._renderDayWeekAppointments(e,c)}else{if(b==="monthView"){d._renderMonthAppointments(e,c)}else{if(b==="timelineWeekView"||b==="timelineDayView"||b==="timelineMonthView"){d._renderTimelineAppointments(e,c)}}}if(d.selectedJQXAppointment){d._selectAppointment(d.selectedJQXAppointment)}},_renderTimelineAppointments:function(t,I){var E=this;var Q=E._views[E._view].type;var D=E._views[E._view];var u=new Array();var P=this.rows;var L=this.cellHeight;var K=this.cellWidth;var J=E.getMinutesPerScale();for(var d=0;d<this.appointmentsToRender.length;d++){var o=this.appointmentsToRender[d];var p=o.from;var S=o.to;var r=E._getDateByString;var A=new Array();var v=p.toDate().valueOf();var g=S.toDate().valueOf();if(Q==="timelineMonthView"){v=p.clearTime().toDate().valueOf()}var T=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var q=E.rows[0];var m=o.resourceId;var f=E._resources.indexOf(m);if(E._resources.length>0){if(E.resources.orientation!=="horizontal"){if(f>=1){q=E.rows[f]}}}if(E.resources&&E.resources.orientation=="none"){f=-1;var q=E.rows[0]}var s=q.cells;for(var M=0;M<s.length;M++){var k=s[M].getAttribute("data-date");s[M].appointments=new Array();var O=r(k);var h=O.valueOf();var z=r(k);z.setMinutes(z.getMinutes()+J-1);var B=z.valueOf();if(h>S){continue}if((v<=h&&h<g)||(v<=B&&B<g)||(v>=h&&v<=B&&g<=B)){if(f!=-1){if((1+f)!=s[M].getAttribute("data-view")){continue}}A.push({cell:s[M],date:O});q=N}}A.sort(T);var w=new Array();var s=A;if(s.length==0){break}var l=E.appointmentsMinHeight;if(E.isTouchDevice()){l=E.touchAppointmentsMinHeight}if(D.appointmentHeight){l=D.appointmentHeight}var H=a(s[0].cell).position();var c=l;var b=a(s[s.length-1].cell).position().left-H.left+K;var G=H.left;var F=H.top;if(E.rtl){var H=a(s[s.length-1].cell).position();var b=a(s[0].cell).position().left-H.left+K;var G=H.left;var F=H.top}var n=new a.jqx.date(s[s.length-1].date,E.timeZone).addMinutes(J);if(Q==="timelineMonthView"){var n=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(s[s.length-1].date,E.timeZone))}var R={cellX:G,cellY:F,cellHeight:L,cells:s,x:G,y:F,height:c,width:b,appointment:o,from:new a.jqx.date(s[0].date,E.timeZone),to:n};if(D.appointmentsRenderMode==="exactTime"){R.from=o.from;R.to=o.to}w.push(R);u.push(R);o.elements=w;if(o.rootAppointment){o.rootAppointment.elements=o.rootAppointment.elements.concat(o.elements)}}if(this._resources.length<2||this.resources.orientation=="none"){this._renderUITimelineAppointments(u,t,I)}else{for(var M=0;M<this._resources.length;M++){var C=this._resources[M];var e=new Array();for(var N=0;N<u.length;N++){if(u[N].appointment.resourceId==C){e.push(u[N])}}this._renderUITimelineAppointments(e,t,I)}}},_renderUITimelineAppointments:function(ao,w,ac){var Y=this;var ap=Y._views[Y._view].type;var X=Y._views[Y._view];var E=ao;var C=1;var Y=this;var T=new Array();C=Y.getMaxTimelineAppointments(ao,T,w,ac);var h=Y.appointmentsMinHeight;if(Y.isTouchDevice()){h=Y.touchAppointmentsMinHeight}if(X.appointmentHeight){h=X.appointmentHeight}for(var an=0;an<ao.length;an++){var g=ao[an];g.row=-1;var d=Y.getCollisionAppointments(g,ao);d.sort(Y._sortAppointmentsByFrom);var t=d.indexOf(g);if(t>=0){for(var aj=t;aj<d.length;aj++){d[aj].row=-1}}for(var ak=0;ak<C;ak++){var o=ak;for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U.row==-1&&!Y.isBusyRow(o,d)){U.row=o;var al=C;var c=Y.getMaxTimelineAppointments(d,T,w,ac);if(al>c){al=c}U.rowsCount=al}}}}for(var ak=0;ak<E.length;ak++){var g=E[ak];var d=Y.getCollisionAppointments(g,E);d.sort(Y._sortAppointmentsByFrom);var n=1;for(var P in d){if(P=="indexOf"){break}var K=d[P];n=Math.max(n,K.rowsCount)}for(var P in d){if(P=="indexOf"){break}var K=d[P];K.rowsCount=n}if(d.length==1){g.rowSpan=n}else{var z=0;var f=true;for(var aj=g.row;aj<n;aj++){for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U==g){continue}if(U.row==aj){f=false}}if(!f){break}z++}g.rowSpan=z}}for(var aa=0;aa<E.length;aa++){var Z=h;var g=E[aa];g.height=Z;var y=2+(3+Z)*g.row;g.y=g.y+y;g.x+=1;g.width-=5;var e=Y._views[Y._view].type;var X=Y._views[Y._view];if(e=="timelineMonthView"&&X.appointmentsRenderMode){if((g.appointment.from.hour()!=0||g.appointment.to.hour()!=23)){if(!Y.rtl){var F=parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30);var G=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);g.timewidth=g.width;g.timex=F;g.timewidth-=F;g.timewidth-=Y.cellWidth;g.timewidth+=G;if(X.appointmentsRenderMode=="exactTime"){g.width=g.timewidth;if(Y.date.month()===g.appointment.from.month()){g.x+=F}else{g.width=F+g.timewidth}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15;if(F+15>Y.cellWidth){var D=Y.cellWidth-F-15;g.x+=D}}}}}else{var F=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);var G=(parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30));if(F>0){F=Y.cellWidth-F}if(X.appointmentsRenderMode=="exactTime"){g.x+=F;g.width-=F;g.width-=G}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15}}g.timewidth=g.width;g.timex=F}}}else{if(X.appointmentsRenderMode){if(X.appointmentsRenderMode=="exactTime"){var ae=Y.getMinutesPerScale();if(g.appointment.from.minute()%ae!=0){var au=g.appointment.from.minute()%ae;var F=parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var F=parseFloat(Y.cellWidth/ae)*au}}else{var F=0}if(g.appointment.to.minute()%ae!=0){var au=g.appointment.to.minute()%ae;var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au}}else{G=0}if(!Y.rtl){g.x+=F;g.width-=F;g.width-=G}else{g.x+=G;g.width-=F;g.width-=G}}}}}var ah="";for(var aa=0;aa<E.length;aa++){var ai=E[aa];var I="";var J="auto";var X=Y._views[Y._view];var q=ai.appointment.from;var at=ai.appointment.to;if(X.timeRuler&&X.timeRuler.formatString){J=X.timeRuler.formatString}var W=ai.appointment.background;var O=ai.appointment.subject?ai.appointment.subject:"(No Title)";var u=ai.appointment.location;if(u&&u.length>1){u=", "+u}var H=ai.appointment.color;var k=ai.appointment.resourceId;var ad=Y.getColors(Y._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var S=ai.appointment.borderColor;if(!W){W=ad.background}if(!S){S=ad.border}if(!H){H=ad.color}var b=ai.appointment.isRecurrentAppointment();var s=ai.appointment.isException();var am="";var v=Y.toTP("jqx-scheduler-appointment-status");var N="";var M=Y.statuses[ai.appointment.status];var l=false;if(M){if(M=="transparent"){l=false}else{N="<div style='background: "+M+"; border-right-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-right-color: "+S+"' class='"+v+"'></div>"}l=true}}var A="";if(Y.rtl){var v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");N="<div style='background: "+M+"; border-left-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-left-color: "+S+"' class='"+v+"'></div>"}A=N;N=""}var R="";var L=O+"<br/>"+u;if(Y.renderAppointment){var ar=Y.renderAppointment({appointment:ai.appointment.boundAppointment,textColor:H,background:W,borderColor:S,html:L,cssClass:"",style:"",width:ai.width,height:ai.height,view:Y._views[Y._view].type});if(ar){var I=ar.html;if(I!=L){L=I}H=ar.textColor;W=ar.background;S=ar.borderColor;if(ar.cssClass){R=ar.cssClass+" "}if(ar.style!=""){var ad=Y.getAppointmentColors(ar.style);W=ad.background;S=ad.border;H=ad.color}}}if(am===""){if(l){var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'>"+N+"<div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div>"+A+"</div>"}else{var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div></div>"}}var aq="";if(Y.rtl){aq=Y.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var i=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-exception-white"):Y.toTP("jqx-icon-recurrence-exception");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+i+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var r=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-white"):Y.toTP("jqx-icon-recurrence");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+r+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}ah=I;var Q=a(I);Q.appendTo(this.table);ai.element=Q;if(this.appointmentTooltips){if(!ai.appointment.tooltip){var V=ai.appointment.subject;if(V){var u=ai.appointment.location;if(u){V+="\n"+u}Q[0].setAttribute("title",V)}}else{Q[0].setAttribute("title",ai.appointment.tooltip)}}}var ag=Y.table.find(".jqx-scheduler-appointment");var B=function(m){for(var j=0;j<ag.length;j++){var p=ag[j].getAttribute("data-key");if(p==m){return ag[j]}}};for(var aa=0;aa<E.length;aa++){var ai=E[aa];var ab=false;var Q=a(B(ai.appointment.id));a.each(ai.cells,function(p){var m=a(this.cell);var aw=ai.cellY;var av=ai.cellX;var j=ai.cellHeight;if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:Q,appointment:ai});Q=Q;if(ai.y+ai.height>=aw+j-12){Q[0].style.visibility="hidden";var x=m.find(".jqx-icon-arrow-down");if(x.length>0){x[0].style.display="block";x[0].mousedown=function(){if(Y.openedMonthCellPopup){Y.openedMonthCellPopup.remove()}var ax=a("<div></div>");var aA=new a.jqx.date(m.attr("data-date"),Y.timeZone);var aD=a("<div class='"+Y.toTP("jqx-scheduler-month-cell")+"'><span style='float: right; cursor: pointer; width:16px; height: 16px;' class='"+Y.toTP("jqx-icon-close")+"'></span></div>");aD.height(16);aD.find("span")[0].mousedown=function(){ax.remove()};aD.addClass(Y.toTP("jqx-widget-header"));ax.addClass(Y.toTP("jqx-widget"));ax.addClass(Y.toTP("jqx-window"));ax.addClass(Y.toTP("jqx-scheduler-month-cell-popup"));ax.addClass(Y.toTP("jqx-popup"));var aE=a("<div></div>");ax.append(aD);ax.append(aE);aE.addClass(Y.toTP("jqx-widget-content"));var ay=m.width();var aG=21;for(var aB=0;aB<m[0].appointments.length;aB++){var az=m[0].appointments[aB].ui.clone(true);az.css("left","3px");az.css("top","0px");az.css("margin-top","2px");az.css("position","relative");az.css("visibility","visible");az.width(ay-6);az.click(function(aH){var aI=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aH.target));Y._raiseEvent("appointmentClick",{appointment:aI.boundAppointment})});az.dblclick(function(aI){var aJ=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aI.target));if(!aJ.readOnly&&!Y.editRecurrenceDialog.jqxWindow("isOpen")&&(!Y._editDialog||(Y._editDialog&&!Y._editDialog.jqxWindow("isOpen")))){var aH=Y._initDialog(aJ);if(aH!==false){Y._openDialog()}}Y._raiseEvent("appointmentDoubleClick",{appointment:aJ.boundAppointment})});aG+=az.outerHeight()+4;aE.append(az)}ax.css("overflow","hidden");ax.css("position","absolute");var aF=Y.table.height()-aw-25;if(aF<j){aF=j}ax.css("max-height",aF);ax.height(aG);ax.width(ay);ax.css("z-index","9999");var aC=m.position();ax.css("top",aC.top);ax.css("left",aC.left);Y.table.append(ax);Y.openedMonthCellPopup=ax}}}})}},_renderMonthAppointments:function(){var K=this;var U=K._views[K._view].type;var J=K._views[K._view];var A=new Array();var S=this.rows;var O=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){O=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}for(var e=0;e<this.appointmentsToRender.length;e++){var r=this.appointmentsToRender[e];var t=a.jqx.scheduler.utilities.getStartOfDay(r.from);var W=a.jqx.scheduler.utilities.getEndOfDay(r.to);var c=r.allDay;var v=K._getDateByString;var F=new Array();var q=new Array();var B=t.toDate().valueOf();var k=W.toDate().valueOf();var X=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var u=-1;var o=r.resourceId;var h=K._resources.indexOf(o);if(K.resources&&K.resources.orientation=="none"){h=-1}for(var Q=0;Q<K.rows.length;Q++){var w=K.rows[Q].cells;for(var P=0;P<w.length;P++){var m=w[P].getAttribute("data-date");var R=v(m);var l=R.valueOf();if(l>W){continue}w[P].appointments=new Array();if(h!=-1){if((1+h)!=w[P].getAttribute("data-view")){continue}}if(B<=l&&l<k){if(u!=Q&&u!=-1){F.sort(X);q.push(F);F=new Array()}F.push({cell:w[P],date:R});u=Q}}}F.sort(X);q.push(F);var C=new Array();for(var Q=0;Q<q.length;Q++){var w=q[Q];if(w.length==0){break}var n=K.appointmentsMinHeight;if(K.isTouchDevice()){n=K.touchAppointmentsMinHeight}if(J.appointmentHeight){n=J.appointmentHeight}var d=n;var E=a(w[w.length-1].cell).position().left;var b=E-a(w[0].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[0].cell).position().left+K.columns.records[1].width}var G=a(w[0].cell).position();var M=G.left;var L=G.top+O;var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[w.length-1].date,K.timeZone));var D=new a.jqx.date(w[0].date,K.timeZone);if(K.rtl){var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[0].date,K.timeZone));var D=new a.jqx.date(w[w.length-1].date,K.timeZone);var G=a(w[w.length-1].cell).position();var M=G.left;var L=G.top+O;var E=a(w[0].cell).position().left;var b=E-a(w[w.length-1].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[w.length-1].cell).position().left+K.columns.records[1].width}}var V={cells:w,cellY:parseInt(G.top),cellX:parseInt(G.left),lastCellY:parseInt(G.top),lastCellX:E,x:M,y:L,height:d,width:b,appointment:r,from:D,to:p};C.push(V);A.push(V)}r.elements=C;if(r.rootAppointment){r.rootAppointment.elements=r.rootAppointment.elements.concat(r.elements)}}var z=this.getViewStart();var N=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;T[H].push(s)}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}else{for(var P=0;P<this._resources.length;P++){var I=this._resources[P];var g=new Array();var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;if(s.appointment.resourceId==I){T[H].push(s)}}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}}},_getMonthAppointmentsPerWeek:function(){var M=this;var W=M._views[M._view].type;var L=M._views[M._view];var C=new Array();var U=this.rows;var Q=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){Q=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}if(!M.rows){return new Array()}var B=this.getViewStart();var P=this.getViewEnd();for(var e=0;e<this.appointmentsToRender.length;e++){var s=this.appointmentsToRender[e];var u=a.jqx.scheduler.utilities.getStartOfDay(s.from);var Y=a.jqx.scheduler.utilities.getEndOfDay(s.to);var c=s.allDay;var z=M._getDateByString;var H=new Array();var r=new Array();var D=u.toDate().valueOf();var l=Y.toDate().valueOf();var Z=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var v=-1;var p=s.resourceId;var k=M._resources.indexOf(p);if(M.resources&&M.resources.orientation=="none"){k=-1}for(var S=0;S<M.rows.length;S++){var A=M.rows[S].cells;for(var R=0;R<A.length;R++){var n=A[R].getAttribute("data-date");var T=B.addDays(S*7+R).toDate();var m=T.valueOf();if(m>Y){continue}if(k!=-1){if((1+k)!=A[R].getAttribute("data-view")){continue}}if(D<=m&&m<l){if(v!=S&&v!=-1){H.sort(Z);r.push(H);H=new Array()}H.push({cell:A[R],date:T});v=S}}}H.sort(Z);r.push(H);var E=new Array();for(var S=0;S<r.length;S++){var A=r[S];if(A.length==0){break}var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}var d=o;var G=a(A[A.length-1].cell).position().left;var b=G-a(A[0].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[0].cell).position().left+M.columns.records[1].width}var I=a(A[0].cell).position();var O=I.left;var N=I.top+Q;var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[A.length-1].date,M.timeZone));var F=new a.jqx.date(A[0].date,M.timeZone);if(M.rtl){var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[0].date,M.timeZone));var F=new a.jqx.date(A[A.length-1].date,M.timeZone);var I=a(A[A.length-1].cell).position();var O=I.left;var N=I.top+Q;var G=a(A[0].cell).position().left;var b=G-a(A[A.length-1].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[A.length-1].cell).position().left+M.columns.records[1].width}}var X={cells:A,cellY:parseInt(I.top),cellX:parseInt(I.left),lastCellY:parseInt(I.top),lastCellX:G,x:O,y:N,height:d,width:b,appointment:s,from:F,to:q};E.push(X);C.push(X)}}if(this._resources.length<2||this.resources.orientation=="none"){var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;V[J].push(t)}}J++;g=g.addDays(7)}var f=new Array();for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}f.push((w*(o+3))+22)}else{f.push("auto")}}return f}else{var f=new Array();for(var R=0;R<this._resources.length;R++){var K=this._resources[R];var h=new Array();var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;if(t.appointment.resourceId==K){V[J].push(t)}}}J++;g=g.addDays(7)}for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);f.push((w*(o+3))+22)}else{f.push("auto")}}return f}}},_renderUIMonthAppointments:function(ar){var ab=this._views[this._view];var I=ar;var B=this.getViewStart();var ah=this.getViewEnd();var G=1;var ac=this;G=this.getMaxMonthAppointments(ar);var i=ac.appointmentsMinHeight;if(ac.isTouchDevice()){i=ac.touchAppointmentsMinHeight}if(ab.appointmentHeight){i=ab.appointmentHeight}var f=this._sortAppointmentsByFrom;if(this.rtl){f=this._sortAppointmentsByTo}for(var aq=0;aq<ar.length;aq++){var h=ar[aq];h.row=-1;var d=this.getCollisionAppointments(h,ar);d.sort(f);var u=d.indexOf(h);if(u>=0){for(var ak=u;ak<d.length;ak++){d[ak].row=-1}}for(var an=0;an<G;an++){var q=an;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(q,d)){Y.row=q;var ao=G;var c=this.getMaxMonthAppointments(d);if(ao>c){ao=c}Y.rowsCount=ao}}}}for(var an=0;an<I.length;an++){var h=I[an];var d=this.getCollisionAppointments(h,I);d.sort(f);var o=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];o=Math.max(o,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=o}if(d.length==1){h.rowSpan=o}else{var E=0;var g=true;for(var ak=h.row;ak<o;ak++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==h){continue}if(Y.row==ak){g=false}}if(!g){break}E++}h.rowSpan=E}}for(var ae=0;ae<I.length;ae++){var ad=i;var h=I[ae];h.height=ad;var C=2+(3+ad)*h.row;h.y=h.y+C;h.x+=1;h.width-=5;if(h.appointment.from.hour()!=0||h.appointment.to.hour()!=23){if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);h.timewidth=h.width;if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.timex=K}else{K=0}if(h.appointment.elements.length>1){if(h.appointment.elements[0]!=h){K=0}}var L=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);if(h.appointment.elements.length>1){if(h.appointment.elements[h.appointment.elements.length-1]!=h){L=0}}h.timewidth-=K;if(L>0){h.timewidth-=ac.cellWidth;h.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.x+=K}h.width=h.timewidth;if(h.appointment.duration().days()<1){if(h.width<15){h.width=15;if(K+15>ac.cellWidth){var H=ac.cellWidth-K-15;h.x+=H}}}}}else{var K=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);var L=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);if(h.appointment.elements.length>1){if(h==h.appointment.elements[0]){if(L>0){if(ab.appointmentsRenderMode=="exactTime"){h.width-=(ac.cellWidth-K);h.width-=L}else{h.timewidth=h.width-ac.cellWidth+K-L}}else{h.timewidth=h.width;h.timex=0}}else{if(h==h.appointment.elements[h.appointment.elements.length-1]){if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width+=K;h.width-=ac.cellWidth}h.timewidth=h.width-ac.cellWidth+K;h.timex=ac.cellWidth-K}}}else{if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width-=(ac.cellWidth-K);h.width-=L}if(h.appointment.duration().days()<1){if(h.width<15){h.width=15}}h.timewidth=h.width-ac.cellWidth+K-L;h.timex=ac.cellWidth-K}}}}for(var ae=0;ae<I.length;ae++){var al=I[ae];var N="";var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var ag=P;var A=P;if(P==="auto"){if((r.hour()==0&&r.minute()==0)||(r.hour()==12&&r.minute()==0)){var ag="hh tt"}else{var ag="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var A="hh tt"}else{var A="hh:mm"}}var w=r.toString(ag);var y=av.toString(A);var J=al.appointment.duration();var e=al.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=al.appointment.background;var T=al.appointment.subject?al.appointment.subject:"(No Title)";var M=al.appointment.color;var l=al.appointment.resourceId;var ai=ac.getColors(ac._resources.indexOf(l));var aj=" data-resourceId='"+l+"' ";var X=al.appointment.borderColor;var v=al.appointment.location;if(v&&v.length>1){v=", "+v}if(!aa){aa=ai.background}if(!X){X=ai.border}if(!M){M=ai.color}var b=al.appointment.isRecurrentAppointment();var t=al.appointment.isException();var ap="";var z=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[al.appointment.status];var n=false;if(R){if(R=="transparent"){n=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+z+"'></div>"}n=true}}var D=ac.toTP("jqx-scheduler-appointment-duration-status");var am="<div style='width: "+al.timewidth+"px; left: "+al.timex+"px;' class='"+D+"'></div>";if(e){am=""}if(ab.appointmentsRenderMode!="exactTimeStatus"){am=""}var F="";if(ac.rtl){var z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+z+"'></div>"}F=S;S=""}var W="";var Q=T+v;if(!e){Q=T+v+am}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:al.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:al.width,height:al.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ai=ac.getAppointmentColors(au.style);aa=ai.background;X=ai.border;M=ai.color}}}if(ap===""){if(n){var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+F+"</div>"}else{var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(t){var k=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+k+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var s=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+s+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);V.appendTo(this.table);al.element=V;if(this.appointmentTooltips){if(!al.appointment.tooltip){var Z=al.appointment.subject;if(w&&!e){Z=w+" - "+y+" "+Z}if(Z){var v=al.appointment.location;if(v){Z+="\n"+v}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",al.appointment.tooltip)}}var af=false;a.each(al.cells,function(){var m=a(this.cell);var j=m.position();if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:V,appointment:al});if(al.y+al.height+2>=j.top+m.height()){V.css("visibility","hidden");var p=m.find(".jqx-icon-arrow-down");p.show();if(p[0]){p[0].mousedown=function(){if(ac.openedMonthCellPopup){ac.openedMonthCellPopup.remove()}var aw=a("<div></div>");var aB=m.find("div").clone(true);aB.find("span").removeClass().addClass(ac.toTP("jqx-icon-close"));aB.find("span")[0].mousedown=function(){aw.remove()};aB.addClass(ac.toTP("jqx-widget-header"));aw.addClass(ac.toTP("jqx-widget"));aw.addClass(ac.toTP("jqx-window"));aw.addClass(ac.toTP("jqx-scheduler-month-cell-popup"));aw.addClass(ac.toTP("jqx-popup"));var az=a("<div></div>");aw.append(aB);aw.append(az);az.addClass(ac.toTP("jqx-widget-content jqx-disableselect"));var ay=m.width();var x=5+m.find("div").outerHeight();for(var ax=0;ax<m[0].appointments.length;ax++){var aA=m[0].appointments[ax].ui.clone(true);aA.css("left","3px");aA.css("top","0px");aA.css("margin-top","2px");aA.css("position","relative");aA.css("visibility","visible");aA.width(ay-6);x+=aA.outerHeight()+4;az.append(aA);aA.click(function(aC){var aD=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aC.target));ac._raiseEvent("appointmentClick",{appointment:aD.boundAppointment})});aA.dblclick(function(aD){var aE=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aD.target));if(!aE.readOnly&&!ac.editRecurrenceDialog.jqxWindow("isOpen")&&(!ac._editDialog||(ac._editDialog&&!ac._editDialog.jqxWindow("isOpen")))){var aC=ac._initDialog(aE);if(aC!==false){ac._openDialog()}}ac._raiseEvent("appointmentDoubleClick",{appointment:aE.boundAppointment})})}aw.css("overflow","hidden");aw.css("position","absolute");aw.height(x);aw.width(ay);aw.css("z-index","9999");aw.css("top",j.top);aw.css("left",j.left);ac.table.append(aw);ac.openedMonthCellPopup=aw}}}})}},_sortByDate:function(b,e){var d=b.getAttribute("data-date");d=this._getDateByString(d);var c=e.getAttribute("data-date");c=this._getDateByString(c);if(d<c){return -1}if(d>c){return 1}if(d==c){return 0}},_sortAppointmentsByFrom:function(b,f){if(b.from.equals(f.from)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.from<f.from){return -1}if(b.from>f.from){return 1}if(b.from==f.from){return 0}},_sortAppointmentsByTo:function(b,f){if(b.to.equals(f.to)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.to<f.to){return -1}if(b.to>f.to){return 1}if(b.to==f.to){return 0}},_sortAppointmentsByResourceId:function(b,f,e){var d=e._resources.indexOf(b.resourceId);var c=e._resources.indexOf(f.resourceId);if(d==c){return 0}if(d<c){return -1}if(d>c){return -1}},isBusyRow:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.row==e){return true}}return false},isBusyColumn:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.column==e){return true}}return false},getMaxTimelineAppointments:function(c,s,f,e){if(c.length==0){return 1}var i=this;var t=i._views[i._view].type;var j=i._views[i._view];var k=1;var m=f;var u=e;var q=this.getMinutesPerScale();var n=null;var r=null;var w="";for(var g in c){if(g=="indexOf"){break}var d=c[g];if(!n){n=d.from}if(!r){r=d.to}n=Math.min(d.from,n);r=Math.max(d.to,r);w+=d.appointment.id}w+=n;w+=r;if(s[w]){return s[w]}n=new a.jqx.date(n,i.timeZone);r=new a.jqx.date(r,i.timeZone);var m=n;while(n<r){var p=m;if(t==="timelineMonthView"){var b=p.addDays(1)}else{var b=p.addMinutes(q)}var o=0;for(var g in c){if(g=="indexOf"){break}var d=c[g];var h=d.from;var v=d.to;var l=a.jqx.scheduler.utilities.rangeIntersection(p,b,h,v);if(l){o++}}k=Math.max(o,k);if(t==="timelineMonthView"){m=m.addDays(1,false)}else{m=m.addMinutes(q,false)}}s[w]=k;return k},getMaxMonthAppointments:function(g){var i=this._views[this._view].type;var l=this._views[this._view];if(g.length==0){return 1}var o=1;var h=this.getViewStart().clone();var e=this.getViewEnd();while(h<e){var j=h;var k=a.jqx.scheduler.utilities.getEndOfDay(j);var n=0;for(var f in g){if(f=="indexOf"){break}var b=g[f];var d=b.from;var c=b.to;var m=a.jqx.scheduler.utilities.rangeIntersection(j,k,d,c);if(m){n++}}o=Math.max(n,o);h=h.addDays(1,false)}return o},getMaxAllDayAppointments:function(e){var h=this._views[this._view].type;var l=this._views[this._view];var f=this;if(e.length==0){return 1}var n=function(r){var y=1;var s=f.getViewStart();var p=f.getViewEnd();while(s<p){var t=s;var u=a.jqx.scheduler.utilities.getEndOfDay(t);var x=0;for(var q in r){if(q=="indexOf"){break}var i=r[q];var v=i;if(i.appointment){v=i.appointment}if(v.hidden==true){continue}if(!v.duration){continue}if(v.allDay||v.duration().days()>=1){var o=i.from;var j=i.to;var w=a.jqx.scheduler.utilities.rangeIntersection(t,u,o,j);if(w){x++}}}y=Math.max(x,y);s=s.addDays(1,false)}return y};if(this._resources.length<2||(!this.resources.orientation||this.resources.orientation=="none")){var m=n(e)}else{var k=1;for(var c=0;c<this._resources.length;c++){var b=this._resources[c];var g=new Array();for(var d=0;d<e.length;d++){if(e[d].appointment&&e[d].appointment.resourceId==b){g.push(e[d])}else{if(e[d].resourceId!=undefined&&e[d].resourceId==b){g.push(e[d])}}}var m=n(g);k=Math.max(k,m)}m=k}return m},getMinutesPerScale:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=30;var e="halfHour";if(d.timeRuler&&d.timeRuler.scale){e=d.timeRuler.scale}switch(e){case"sixtyMinutes":case"hour":c=60;break;case"thirtyMinutes":case"halfHour":c=30;break;case"fifteenMinutes":case"quarterHour":c=15;break;case"tenMinutes":c=10;break;case"fiveMinutes":c=5;break}return c},getMaxColumnsInADay:function(k){var m=this._views[this._view].type;var p=this._views[this._view];var e=30;var c="halfHour";if(p.timeRuler&&p.timeRuler.scale){c=p.timeRuler.scale}switch(c){case"sixtyMinutes":case"hour":e=60;break;case"thirtyMinutes":case"halfHour":e=30;break;case"fifteenMinutes":case"quarterHour":e=15;break;case"tenMinutes":e=10;break;case"fiveMinutes":e=5;break}if(k.length==0){return 1}var d=1;var l=k[0].from.clone();var i=l.addMinutes(e);var h=a.jqx.scheduler.utilities.getEndOfDay(l);while(l<h){var o=l;var n=i;var r=0;for(var j in k){if(j=="indexOf"){break}var b=k[j];if(!b.from&&!b.to){continue}var g=b.from;var f=b.to;var q=a.jqx.scheduler.utilities.rangeIntersection(o,n,g,f);if(q){r++}}d=Math.max(r,d);l=l.addMinutes(e,false);i=i.addMinutes(e,false)}return d},getTouches:function(b){return a.jqx.mobile.getTouches(b)},_updatecolumnwidths:function(){var h=this;var j=this._hostWidth;var b=j;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){j-=parseInt(this.scrollBarSize)+6;if(this.rtl){j+=3}b=j}var i="";if(this.columns==undefined||this.columns.records==undefined){return}var h=this;var g=false;var k=new Array();a.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=h.vScrollBar[0].style.visibility=="hidden"?0:h.scrollBarSize+5;if(h.scrollBarSize==0){n=0}m=parseFloat(this.width)*b/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(b)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}j-=Math.round(m)}else{if(this.width!="auto"&&!this._width){j-=this.width}else{i+=this.text}}if(this._width=="auto"){k[k.length]=this}}});var e=this.columnsheader.find("#columntable"+this.element.id);if(e.length==0){return}var c=0;var f=e.find(".jqx-grid-column-header");var d=0;a.each(this.columns.records,function(o,t){var m=this.element;var w=false;var v=this.width;var q=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){v=parseFloat(this._percentagewidth)*b/100}else{v=parseFloat(this.width)*b/100}v=Math.round(v);w=true}if(this.width!="auto"&&!this._width&&!w){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(w){if(v<this.minwidth&&this.minwidth!="auto"){v=this.minwidth;this.width=v}if(v>this.maxwidth&&this.maxwidth!="auto"){v=this.maxwidth;this.width=v}if(parseInt(m[0].style.width)!=v){m.width(v);this.width=v}}else{var n=h.columns.records.length;var p=h._views[h._view].type;if(p==="dayView"||p==="weekView"){var r=h._views[h._view];if(r.timeRuler){if(r.timeRuler.timeZones){n-=r.timeRuler.timeZones.length}n--}else{n--}}else{if(p==="monthView"&&h._views[h._view].showWeekNumbers){n--}}var l=Math.floor(j*(1/n));if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth!="auto"){l=h.resources.resourceColumnWidth}else{if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth=="auto"){if(h.resources.orientation=="horizontal"){l=Math.round((2+j)*(1/h._getColumnsLengthPerView()))}}}var s=(j*(1/n))-l;c+=s;if(c>=1){c-=1;l++}if(c>=0.5&&o==h.columns.records.length-1){l++}if(p=="agendaView"){l=j/k.length;l++}if(l<0){var u=a("<span>"+this.text+"</span>");a(document.body).append(u);l=10+u.width();u.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=parseInt(l);m.width(this.width)}}if(parseInt(m[0].style.left)!=d){m.css("left",d)}if(!(this.hidden)){d+=this.width}this._requirewidthupdate=true;if(q!==this.width){g=true}});this.columnsheader.width(2+d);e.width(this.columnsheader.width());this._resizecolumnGroups();if(g){this._renderrows();h._arrange()}},_rendercolumnheaders:function(){var g=this;if(this._updating){return}var l=this._views[this._view];this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var h=a('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');h[0].cells=new Array();var r=0;var d=0;var n="";var p=this._hostWidth;if(!p){this._hostWidth=this.host.width()}var v=this._hostWidth;var m=v;var w=this.getRows().length;var u=this.rowsHeight;if(this.isTouchDevice()){u=this.touchRowsHeight}if(w*u>this.host.height()){this.vScrollBar[0].style.visibility="inherit"}if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){v-=parseInt(this.scrollBarSize)+6;if(this.rtl){v+=3}m=v}var q=new Array();var s=new Array();a.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){v-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){v-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*m/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}v-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}v-=this.width}}}}else{n+=this.text}}if(this.width==null||this.width=="auto"){s[s.length]=this}q[q.length]=this});if(this.rtl){for(var t=0;t<q.length;t++){this.columns.replace(t,q[t])}}var f=this.headerZIndex;var i=0;var e=g.columnsHeight;var b=function(k,x){var j=g.columnGroupslevel*g.columnsHeight;j=j-(x.level*g.columnsHeight);return j};var o=0;var c=document.createDocumentFragment();a.each(this.columns.records,function(D,I){this.height=g.columnsHeight;if(g.columnGroups){if(g.columnGroups.length){this.height=b(this.datafield,this);e=this.height}}var y=g.toTP("jqx-grid-column-header")+" "+g.toTP("jqx-widget-header");if(g.rtl){y+=" "+g.toTP("jqx-grid-column-header-rtl")}if(!g.enableBrowserSelection){y+=" "+g.toTP("jqx-disableselect")}var E=!g.rtl?f--:f++;var k=document.createElement("div");k.setAttribute("role","columnheader");k.style.position="absolute";k.style.zIndex=E;k.style.height="100%";k.className=y;var z=a(k);if(g.rtl&&D===0){z[0].style.borderLeftColor="transparent"}if(g.columnGroups){z[0].style.height=e+"px";z[0].style.bottom="0px"}else{if(!this.timeColumn){z[0].style.height=-1+e+"px"}}this.uielement=z;this.element=z;if(this.classname!=""&&this.classname){z.addClass(this.classname)}var K=this.width;var L=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){K=parseFloat(this._percentagewidth)*m/100}else{K=parseFloat(this.width)*m/100}K=Math.round(K);L=true}if(this.width!="auto"&&!this._width&&!L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}z[0].style.width=parseInt(K)+"px"}else{if(L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}z.width(K);this.width=K}else{var A=g.columns.records.length;var C=g._views[g._view].type;if(C==="dayView"||C==="weekView"){var G=g._views[g._view];if(G.timeRuler){if(G.timeRuler.timeZones){A-=G.timeRuler.timeZones.length}A--}else{A--}}else{if(C==="monthView"&&g._views[g._view].showWeekNumbers){A--}}var j=Math.floor(v*(1/A));if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth!="auto"){j=g.resources.resourceColumnWidth}else{if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth=="auto"){if(g.resources.orientation=="horizontal"){j=Math.round((2+v)*(1/g._getColumnsLengthPerView()))}}}var H=(v*(1/A))-j;o+=H;if(o>=1){o-=1;j++}if(o>=0.5&&D==g.columns.records.length-1){j++}if(isNaN(j)){j=this.minwidth}if(C=="agendaView"){j=v/s.length;j++}if(j<0){var J=a("<span>"+this.text+"</span>");a(document.body).append(J);j=10+J.width();J.remove()}if(j<this.minwidth){j=this.minwidth}if(j>this.maxwidth){j=this.maxwidth}this._width="auto";this.width=parseInt(j);K=this.width;z.width(this.width)}}if(this.timeColumn){z.css("border-bottom-color","transparent");if(l.timeRuler&&l.timeRuler.timeZones){if(D<l.timeRuler.timeZones.length){z.css("border-right-color","transparent")}}if(this.tableRows==1){z.addClass(g.toTP("jqx-scheduler-time-column"))}}if(this.hidden){z.css("display","none")}var x=a(z.children()[0]);h[0].cells[D]=z[0];var B=g._rendercolumnheader(this.text,this.align,e,g);z[0].innerHTML=B;c.appendChild(z[0]);var F=this;z[0].style.left=d+"px";if(!(this.hidden)){d+=K}});h[0].appendChild(c);if(d>0){this.columnsheader[0].style.width=2+d+"px"}else{this.columnsheader[0].style.width=d+"px"}this._columnswidth=d;this.columnsrow=h;g.columnsheader.append(h);h[0].style.width=d+"px";if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var r=this.headerZIndex+this.columns.records.length;var m=this;var f=m.toTP("jqx-grid-column-header")+" "+m.toTP("jqx-grid-columngroup-header")+" "+m.toTP("jqx-widget-header");if(m.rtl){f+=" "+m.toTP("jqx-grid-columngroup-header-rtl")}var d=this.columnsheader.find("#columntable"+this.element.id);d.find("jqx-grid-columngroup-header").remove();for(var g=0;g<this.columnGroupslevel-1;g++){for(var k=0;k<this.columnGroups.length;k++){var o=this.columnGroups[k];var b=o.level;if(b!==g){continue}var n=b*this.columnsHeight;var c=99999;if(o.groups){var q=function(u){var t=0;for(var s=0;s<u.groups.length;s++){var i=u.groups[s];if(!i.groups){if(!i.hidden){t+=i.width;c=Math.min(parseInt(i.element[0].style.left),c)}}else{t+=q(i)}}return t};o.width=q(o);o.left=c;var p=this.columnsHeight;var l=r--;var e=a('<div role="columnheader" style="z-index: '+l+';position: absolute;" class="'+f+'"></div>');var h=a(this._rendercolumnheader(o.text,o.align,this.columnsHeight,this));if(o.renderer){o.renderer(e,o.text)}e.append(h);e[0].style.left=c+"px";if(c===0){e[0].style.borderLeftColor="transparent"}e[0].style.top=n+"px";e[0].style.height=p+"px";e[0].style.width=-1+o.width+"px";d.append(e);o.element=e}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var c=0;c<this.columnGroups.length;c++){var h=this.columnGroups[c];var j=h.level;var g=j*this.columnsHeight;var f=99999;if(h.groups){var e=function(m){var l=0;for(var k=0;k<m.groups.length;k++){var i=m.groups[k];if(!i.groups){l+=i.width;f=Math.min(parseInt(i.element[0].style.left),f)}else{l+=e(i)}}return l};h.width=e(h);h.left=f;var b=this.columnsHeight;var d=h.element;d[0].style.left=f+"px";d[0].style.top=g+"px";d[0].style.height=b+"px";d[0].style.width=-1+h.width+"px"}}},_removecolumnhandlers:function(e){var c=this;var b=a(e.element);if(b.length>0){c.removeHandler(b,"mouseenter");c.removeHandler(b,"mouseleave");var d=a(e.filtericon);c.removeHandler(d,"mousedown");c.removeHandler(d,"click");c.removeHandler(b,"click")}},destroy:function(){var b=this;b._removeHandlers();if(b._editDialog){b._editDialog.jqxWindow("destroy")}if(b.menu){b.menu.jqxMenu("destroy")}if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy")}b.vScrollBar.jqxScrollBar("destroy");b.hScrollBar.jqxScrollBar("destroy");delete b.vScrollBar;delete b.hScrollBar;delete b._mousewheelfunc;a.jqx.utilities.resize(b.host,null,true);b.host.remove()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.host.height(d.height);d.host.width(d.width);d._updatesize(false,true)}},propertyChangedHandler:function(b,d,f,e){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(e!==f){if(d=="filterable"){b._render()}else{if(d=="view"){b.setView(e)}else{if(d=="views"){b._columns=null;b._views=new Array();b._view=b.view;for(var c=0;c<b.views.length;c++){if(a.type(b.views[c])==="string"){b._views.push({type:b.views[c]})}else{b._views.push(b.views[c])}}for(var c=0;c<b._views.length;c++){if(b._views[c].type==b.view){b._view=c;break}}b._render()}else{if(d==="height"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(false,true)}else{if(d==="width"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(true,false)}else{if(d==="source"){b.updateBoundData()}else{if(d=="resources"){b.updateBoundData()}else{if(d==="columns"||d==="columnGroups"){b._columns=null;b._render()}else{if(d==="selectionMode"){b.selectionMode=e.toLowerCase()}else{if(d=="touchMode"){b._removeHandlers();b.touchDevice=null;b.vScrollBar.jqxScrollBar({touchMode:e});b.hScrollBar.jqxScrollBar({touchMode:e});b.refresh();b._addHandlers()}else{if(d=="enableHover"){return}else{if(d=="showLegend"){b.legendbartop.show();b.legendbarbottom.show();b.refresh()}else{if(d=="disabled"){if(e){b.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{b.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}b.host.find(".jqx-grid-group-collapse").css("cursor",e?"default":"pointer");b.host.find(".jqx-grid-group-expand").css("cursor",e?"default":"pointer")}else{if(d=="columnsHeight"){b._render()}else{if(d=="localization"){b._render();if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy");b.createEditRecurrenceDialog()}}else{if(d=="theme"){a.jqx.utilities.setTheme(f,e,b.host);if(b._editDialog){a.jqx.utilities.setTheme(f,e,b._editDialog)}if(b.editRecurrenceDialog){a.jqx.utilities.setTheme(f,e,b.editRecurrenceDialog)}if(b.menu){b.menu.jqxMenu({theme:b.theme})}b.vScrollBar.jqxScrollBar({theme:b.theme});b.hScrollBar.jqxScrollBar({theme:b.theme});b.refresh()}else{if(d==="date"){b.navigateTo(e)}else{b.refresh()}}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(g,h,d,e){var f="4px";if(e.columnGroups){f=(d/2-this._columnheight/2);if(f<0){f=4}f+="px"}else{if(this.columnsHeight!=25){f=(this.columnsHeight/2-this._columnheight/2);if(f<0){f=4}f+="px"}}var c='<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+h+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+f+"; margin-top: "+f+';"><span style="text-overflow: ellipsis; cursor: default;">'+g+"</span></div>";if(this.columnRenderer){var b=this.columnRenderer(g,h,d,c);if(b!=undefined){return b}}return c}})})(jqxBaseFramework);
+(function(a){if(!a.jqx.scheduler){a.jqx.scheduler={}}a.jqx.jqxWidget("jqxScheduler","",{});a.extend(a.jqx._jqxScheduler.prototype,{defineInstance:function(){var b={altRows:false,autoShowLoadElement:true,columnsHeight:30,columns:[],columnGroups:null,dataview:null,disabled:false,enableHover:true,appointmentOpacity:0.8,headerZIndex:235,height:600,timeRulerWidth:60,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",localization:null,ready:null,renderToolBar:null,renderAppointment:null,rendered:null,rendering:null,rtl:false,showToolbar:true,showLegend:false,legendPosition:"bottom",legendHeight:34,rowsHeight:27,touchRowsHeight:36,appointmentsMinHeight:18,touchAppointmentsMinHeight:27,appointmentsRenderMode:"default",serverProcessing:false,selectionMode:"multiplerows",scrollBarSize:a.jqx.utilities.scrollBarSize,touchScrollBarSize:a.jqx.utilities.touchScrollBarSize,showHeader:true,maxHeight:999999,maxWidth:999999,autoBind:true,showAllDayRow:true,changedAppointments:new Array(),renderMode:"simple",views:new Array(),view:0,min:new a.jqx.date(0),max:new a.jqx.date(9999,12,31),date:new a.jqx.date("todayDate"),colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF","#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8","#E8601A","#FF9639","#F5BD6A","#599994","#115D6E","#D02841","#FF7C41","#FFC051","#5B5F4D","#364651","#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00","#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B","#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63","#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6","#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F","#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825","#993144","#FFA257","#CCA56A","#ADA072","#949681","#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932","#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54","#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3","#444546","#FFBB6E","#F28D00","#D94F00","#7F203B","#583C39","#674E49","#948658","#F0E99A","#564E49","#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17","#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5","#844341","#D5CC92","#BBA146","#897B26","#55591C","#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472","#96003A","#FF7347","#FFBC7B","#FF4154","#642223","#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E","#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7","#7B1A25","#BF5322","#9DA860","#CEA457","#B67818","#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46","#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800","#FF6800","#A0A700","#FF8D00","#678900","#0069A5"],colorSchemes:[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]}],resources:null,contextMenu:true,contextMenuOpen:null,contextMenuClose:null,contextMenuItemClick:null,contextMenuCreate:null,timeZone:null,statuses:{free:"white",tentative:"tentative",busy:"transparent",outOfOffice:"#800080"},appointmentDataFields:{from:"from",to:"to",id:"id",calendarId:"calendarId",description:"description",location:"location",subject:"subject",background:"background",color:"color",borderColor:"borderColor",style:"style",recurrencePattern:"recurrencePattern",recurrenceException:"recurrenceException",draggable:"draggable",resizable:"resizable",resourceId:"resourceId",status:"status",tooltip:"tooltip",hidden:"hidden",allDay:"allDay",timeZone:"timeZone",ownerId:"ownerId"},appointmentTooltips:true,tableColumns:1,tableRows:1,dayNameFormat:"full",touchDayNameFormat:"abbr",toolBarRangeFormat:"dd MMMM yyyy",toolBarRangeFormatAbbr:"dd MM yyyy",columnRenderer:null,exportSettings:{serverURL:null,characterSet:null,fileName:"jqxScheduler",dateTimeFormatString:"S",resourcesInMultipleICSFiles:false,ICSXWRCALNAME:"jqxScheduler",ICSXWRCALDESC:"jqxScheduler Description"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:true,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},editDialogDateTimeFormatString:"dd/MM/yyyy hh:mm tt",editDialogDateFormatString:"dd/MM/yyyy",editDialogOpen:null,editDialogCreate:null,editDialogKeyDown:null,editDialogClose:null,editDialog:true,toolbarHeight:54,tableZIndex:469,_updating:false,touchMode:"auto",width:800,that:this,beginDrag:null,endDrag:null,dragging:null,timeZones:[{id:"Dateline Standard Time",offset:-720,offsetHours:-12,displayName:"(UTC-12:00) International Date Line West",supportsDaylightSavingTime:false},{id:"UTC-11",offset:-660,offsetHours:-11,displayName:"(UTC-11:00) Coordinated Universal Time-11",supportsDaylightSavingTime:false},{id:"Hawaiteratoran Standard Time",offset:-600,offsetHours:-10,displayName:"(UTC-10:00) Hawaiterator",supportsDaylightSavingTime:false},{id:"Alaskan Standard Time",offset:-540,offsetHours:-9,displayName:"(UTC-09:00) Alaska",supportsDaylightSavingTime:true},{id:"Pacific Standard Time (Mexico)",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Baja California",supportsDaylightSavingTime:true},{id:"Pacific Standard Time",offset:-480,offsetHours:-8,displayName:"(UTC-08:00) Pacific Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Arizona",supportsDaylightSavingTime:false},{id:"Mountain Standard Time (Mexico)",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Chihuahua, La Paz, Mazatlan",supportsDaylightSavingTime:true},{id:"Mountain Standard Time",offset:-420,offsetHours:-7,displayName:"(UTC-07:00) Mountain Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central Time (US & Canada)",supportsDaylightSavingTime:true},{id:"Central America Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Central America",supportsDaylightSavingTime:false},{id:"Canada Central Standard Time",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Saskatchewan",supportsDaylightSavingTime:false},{id:"Central Standard Time (Mexico)",offset:-360,offsetHours:-6,displayName:"(UTC-06:00) Guadalajara, Mexico City, Monterrey",supportsDaylightSavingTime:true},{id:"SA Pacific Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Bogota, Lima, Quito, Rio Branco",supportsDaylightSavingTime:false},{id:"Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Eastern Time (US & Canada)",supportsDaylightSavingTime:true},{id:"US Eastern Standard Time",offset:-300,offsetHours:-5,displayName:"(UTC-05:00) Indiana (East)",supportsDaylightSavingTime:true},{id:"Venezuela Standard Time",offset:-270,offsetHours:-4.5,displayName:"(UTC-04:30) Caracas",supportsDaylightSavingTime:false},{id:"Atlantic Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Atlantic Time (Canada)",supportsDaylightSavingTime:true},{id:"Paraguay Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Asuncion",supportsDaylightSavingTime:true},{id:"Central Brazilian Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Cuiaba",supportsDaylightSavingTime:true},{id:"Pacific SA Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Santiago",supportsDaylightSavingTime:true},{id:"SA Western Standard Time",offset:-240,offsetHours:-4,displayName:"(UTC-04:00) Georgetown, La Paz, Manaus",supportsDaylightSavingTime:false},{id:"Newfoundland Standard Time",offset:-210,offsetHours:-3.5,displayName:"(UTC-03:30) Newfoundland",supportsDaylightSavingTime:true},{id:"SA Eastern Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Cayenne, Fortaleza",supportsDaylightSavingTime:false},{id:"Argentina Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Buenos Aires",supportsDaylightSavingTime:true},{id:"E. South America Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Brasilia",supportsDaylightSavingTime:true},{id:"Bahia Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Salvador",supportsDaylightSavingTime:true},{id:"Montevideo Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Montevideo",supportsDaylightSavingTime:true},{id:"Greenland Standard Time",offset:-180,offsetHours:-3,displayName:"(UTC-03:00) Greenland",supportsDaylightSavingTime:true},{id:"UTC-02",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Coordinated Universal Time-02",supportsDaylightSavingTime:false},{id:"Mid-Atlantic Standard Time",offset:-120,offsetHours:-2,displayName:"(UTC-02:00) Mid-Atlantic - Old",supportsDaylightSavingTime:true},{id:"Azores Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Azores",supportsDaylightSavingTime:true},{id:"Cape Verde Standard Time",offset:-60,offsetHours:-1,displayName:"(UTC-01:00) Cape Verde Is.",supportsDaylightSavingTime:false},{id:"Morocco Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Casablanca",supportsDaylightSavingTime:true},{id:"UTC",offset:0,offsetHours:0,displayName:"(UTC) Coordinated Universal Time",supportsDaylightSavingTime:false},{id:"GMT Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Dublin, Edinburgh, Lisbon, London",supportsDaylightSavingTime:true},{id:"Greenwich Standard Time",offset:0,offsetHours:0,displayName:"(UTC) Monrovia, Reykjavik",supportsDaylightSavingTime:false},{id:"Central European Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",supportsDaylightSavingTime:true},{id:"Namibia Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Windhoek",supportsDaylightSavingTime:true},{id:"W. Central Africa Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) West Central Africa",supportsDaylightSavingTime:false},{id:"W. Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Amsterdam, Berlin, Rome",supportsDaylightSavingTime:true},{id:"Central Europe Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Belgrade, Budapest, Prague",supportsDaylightSavingTime:true},{id:"Romance Standard Time",offset:60,offsetHours:1,displayName:"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",supportsDaylightSavingTime:true},{id:"FLE Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia",supportsDaylightSavingTime:true},{id:"South Africa Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Harare, Pretoria",supportsDaylightSavingTime:false},{id:"Turkey Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Istanbul",supportsDaylightSavingTime:true},{id:"GTB Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Athens, Bucharest",supportsDaylightSavingTime:true},{id:"Libya Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Tripoli",supportsDaylightSavingTime:true},{id:"E. Europe Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) E. Europe",supportsDaylightSavingTime:true},{id:"Jordan Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Amman",supportsDaylightSavingTime:true},{id:"Middle East Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Beirut",supportsDaylightSavingTime:true},{id:"Egypt Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Cairo",supportsDaylightSavingTime:true},{id:"Syria Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Damascus",supportsDaylightSavingTime:true},{id:"Israel Standard Time",offset:120,offsetHours:2,displayName:"(UTC+02:00) Jerusalem",supportsDaylightSavingTime:true},{id:"Arab Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kuwait, Riyadh",supportsDaylightSavingTime:false},{id:"E. Africa Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Nairobi",supportsDaylightSavingTime:false},{id:"Arabic Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Baghdad",supportsDaylightSavingTime:true},{id:"Kaliningrad Standard Time",offset:180,offsetHours:3,displayName:"(UTC+03:00) Kaliningrad, Minsk",supportsDaylightSavingTime:true},{id:"Iran Standard Time",offset:210,offsetHours:3.5,displayName:"(UTC+03:30) Tehran",supportsDaylightSavingTime:true},{id:"Mauritius Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Port Louis",supportsDaylightSavingTime:true},{id:"Georgian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Tbilisi",supportsDaylightSavingTime:false},{id:"Caucasus Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Yerevan",supportsDaylightSavingTime:true},{id:"Arabian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Abu Dhabi, Muscat",supportsDaylightSavingTime:false},{id:"Azerbaijan Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Baku",supportsDaylightSavingTime:true},{id:"Russian Standard Time",offset:240,offsetHours:4,displayName:"(UTC+04:00) Moscow, St. Petersburg, Volgograd",supportsDaylightSavingTime:true},{id:"Afghanistan Standard Time",offset:270,offsetHours:4.5,displayName:"(UTC+04:30) Kabul",supportsDaylightSavingTime:false},{id:"Pakistan Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Islamabad, Karachi",supportsDaylightSavingTime:true},{id:"West Asia Standard Time",offset:300,offsetHours:5,displayName:"(UTC+05:00) Ashgabat, Tashkent",supportsDaylightSavingTime:false},{id:"India Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",supportsDaylightSavingTime:false},{id:"Sri Lanka Standard Time",offset:330,offsetHours:5.5,displayName:"(UTC+05:30) Sri Jayawardenepura",supportsDaylightSavingTime:false},{id:"Nepal Standard Time",offset:345,offsetHours:5.75,displayName:"(UTC+05:45) Kathmandu",supportsDaylightSavingTime:false},{id:"Central Asia Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Astana",supportsDaylightSavingTime:false},{id:"Bangladesh Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Dhaka",supportsDaylightSavingTime:true},{id:"Ekaterinburg Standard Time",offset:360,offsetHours:6,displayName:"(UTC+06:00) Ekaterinburg",supportsDaylightSavingTime:true},{id:"Myanmar Standard Time",offset:390,offsetHours:6.5,displayName:"(UTC+06:30) Yangon (Rangoon)",supportsDaylightSavingTime:false},{id:"SE Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Bangkok, Hanoi, Jakarta",supportsDaylightSavingTime:false},{id:"N. Central Asia Standard Time",offset:420,offsetHours:7,displayName:"(UTC+07:00) Novosibirsk",supportsDaylightSavingTime:true},{id:"Ulaanbaatar Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Ulaanbaatar",supportsDaylightSavingTime:false},{id:"China Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Beijing, Chongqing, Hong Kong",supportsDaylightSavingTime:false},{id:"Singapore Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Kuala Lumpur, Singapore",supportsDaylightSavingTime:false},{id:"North Asia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Krasnoyarsk",supportsDaylightSavingTime:true},{id:"Taipei Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Taipei",supportsDaylightSavingTime:false},{id:"W. Australia Standard Time",offset:480,offsetHours:8,displayName:"(UTC+08:00) Perth",supportsDaylightSavingTime:true},{id:"Korea Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Seoul",supportsDaylightSavingTime:false},{id:"North Asia East Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Irkutsk",supportsDaylightSavingTime:true},{id:"Tokyo Standard Time",offset:540,offsetHours:9,displayName:"(UTC+09:00) Osaka, Sapporo, Tokyo",supportsDaylightSavingTime:false},{id:"AUS Central Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Darwin",supportsDaylightSavingTime:false},{id:"Cen. Australia Standard Time",offset:570,offsetHours:9.5,displayName:"(UTC+09:30) Adelaide",supportsDaylightSavingTime:true},{id:"West Pacific Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Guam, Port Moresby",supportsDaylightSavingTime:false},{id:"Tasmania Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Hobart",supportsDaylightSavingTime:true},{id:"E. Australia Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Brisbane",supportsDaylightSavingTime:false},{id:"AUS Eastern Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Canberra, Melbourne, Sydney",supportsDaylightSavingTime:true},{id:"Yakutsk Standard Time",offset:600,offsetHours:10,displayName:"(UTC+10:00) Yakutsk",supportsDaylightSavingTime:true},{id:"Vladivostok Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Vladivostok",supportsDaylightSavingTime:true},{id:"Central Pacific Standard Time",offset:660,offsetHours:11,displayName:"(UTC+11:00) Solomon Is., New Caledonia",supportsDaylightSavingTime:false},{id:"Magadan Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Magadan",supportsDaylightSavingTime:true},{id:"Kamchatka Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Petropavlovsk-Kamchatsky - Old",supportsDaylightSavingTime:true},{id:"Fiji Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Fiji",supportsDaylightSavingTime:true},{id:"New Zealand Standard Time",offset:720,offsetHours:12,displayName:"(UTC+12:00) Auckland, Wellington",supportsDaylightSavingTime:true},{id:"UTC+12",offset:720,offsetHours:12,displayName:"(UTC+12:00) Coordinated Universal Time+12",supportsDaylightSavingTime:false},{id:"Tonga Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Nuku'alofa",supportsDaylightSavingTime:false},{id:"Samoa Standard Time",offset:780,offsetHours:13,displayName:"(UTC+13:00) Samoa",supportsDaylightSavingTime:true}]};if(this===a.jqx._jqxScheduler.prototype){return b}a.extend(true,this,b);this.that=this;return b},createInstance:function(c){var e=this;e._views=new Array();e._view=e.view;for(var d=0;d<e.views.length;d++){if(a.type(e.views[d])==="string"){e._views.push({type:e.views[d]})}else{e._views.push(e.views[d])}}for(var d=0;d<e._views.length;d++){if(e._views[d].type==e.view){e._view=d;break}}if(a.jqx.utilities.scrollBarSize!=15){e.scrollBarSize=a.jqx.utilities.scrollBarSize}if(e.source&&!e.source.dataBind){e.source=new a.jqx.dataAdapter(e.source)}var b=e.source._source.datafields;if(b&&b.length>0){e._camelCase=e.source._source.dataFields!==undefined;e.selectionMode=e.selectionMode.toLowerCase()}if(e.host.attr("tabindex")==null){e.host.attr("tabindex","0")}e.host.attr("role","grid");e.host.attr("align","left");e.host.addClass(e.toTP("jqx-grid"));e.host.addClass(e.toTP("jqx-scheduler"));e.host.addClass(e.toTP("jqx-reset"));e.host.addClass(e.toTP("jqx-rc-all"));e.host.addClass(e.toTP("jqx-widget"));e.host.addClass(e.toTP("jqx-widget-content jqx-disableselect"));if(e._testmodules()){return}e.overlay=a("<div style='z-index: 999; position:absolute;'></div>");e.overlay.hide();e.overlay.appendTo(e.host);e.render(true);a.jqx.utilities.resize(e.host,function(){var h=a(window).width();var f=a(window).height();e._hostWidth=null;e._hostHeight=null;var g=e.host.width();var i=e.host.height();e._hostWidth=g;e._hostHeight=i;if(e._lastHostWidth!=g||e._lastHostHeight!=i){e._updatesize(e._lastHostWidth!=g,e._lastHostHeight!=i)}e._lastWidth=h;e._lastHeight=f;e._lastHostWidth=g;e._lastHostHeight=i});e.createEditRecurrenceDialog()},createEditRecurrenceDialog:function(){var d=this;d.editRecurrenceDialog=null;var b=a("<div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogTitleString+"</div><div><div>"+d.schedulerLocalization.editRecurringAppointmentDialogContentString+"</div><div style='position: absolute; white-space:nowrap; text-overflow: ellipsis; left:0px; width:100%; bottom: 0px;'><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"' id='editRecurringAppointmentOccurrence."+d.element.id+"' style='white-space:nowrap; text-overflow: ellipsis; border-left-width: 0px;  border-bottom-width: 0px; border-radius:0px; width:50%;'>"+d.schedulerLocalization.editRecurringAppointmentDialogOccurrenceString+"</button><button title='"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"' id='editRecurringAppointmentSeries."+d.element.id+"' style=' white-space:nowrap; text-overflow: ellipsis; border-bottom-width: 0px;  border-left-width: 0px; border-right-width:0px; width:50%; border-radius:0px;'>"+d.schedulerLocalization.editRecurringAppointmentDialogSeriesString+"</button></div></div></div>");d.editRecurrenceDialog=b;a(b).jqxWindow({rtl:d.rtl,autoFocus:false,animationType:"none",autoOpen:false,theme:d.theme,minWidth:300,minHeight:110,resizable:false});var c=b.find("button");c.jqxButton({theme:d.theme,width:"50%"});var e=false;c.mousedown(function(){e=true;var f=this.id;if(f.indexOf("editRecurringAppointmentOccurrence")>=0){d.editSeries(false)}else{d.editSeries(true)}a(b).jqxWindow("close")});this.addHandler(a(b),"open",function(f){d._raiseEvent("editRecurrenceDialogOpen",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.addHandler(a(b),"keydown",function(f){if(f.keyCode==13){if(a(document.activeElement).ischildof(a(b))){if(document.activeElement.nodeName.toLowerCase()=="button"){a(document.activeElement).trigger("mousedown");a(document.activeElement).trigger("mouseup");return true}}}});this.addHandler(a(b),"close",function(f){if(!e){d._removeFeedbackAndStopResize();d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null});return false}e=false;d.overlay.hide();d.focus();d._raiseEvent("editRecurrenceDialogClose",{dialog:b,appointment:d.selectedJQXAppointment?d.selectedJQXAppointment.boundAppointment:null})});d.editRecurrenceDialog=b},getViewStart:function(){var d=this.getVisibleDate();var b=this._views[this._view].type;var e=this._views[this._view];switch(b){case"dayView":case"timelineDayView":return d}var c=this.getFirstDayOfWeek(d);return c},getViewEnd:function(){var e=this.getViewStart();var d=1;var b=this._views[this._view].type;var c=this._views[this._view];switch(b){case"dayView":d=1;break;case"timelineDayView":d=1;if(c.days){d=c.days}break;case"weekView":case"timelineWeekView":d=7;if(c.days){d=c.days}break;case"monthView":d=41;break;case"timelineMonthView":d=41;if(c.days){d=c.days}break;case"agendaView":d=7;if(c.days){d=c.days}break}return e.addDays(d)},getFirstDayOfWeek:function(d){var c=d;var b=this.schedulerLocalization.firstDay;if(b<0||b>6){b=6}while(c.dayOfWeek()!=b){c.addDays(-1,false)}return c},getVisibleDate:function(){var d=this.date;if(d<this.min){d=this.min}if(d>this.max){d=this.max}var b=this._views[this._view].type;var f=this._views[this._view];d=d.clearTime();switch(b){case"dayView":case"weekView":case"timelineDayView":case"timelineWeekView":case"agendaView":return d}var e=d.day();var c=d.addDays(-e+1);d=c;return d},_builddataloadelement:function(){if(this.dataloadelement){this.dataloadelement.remove()}this.dataloadelement=a('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var c=a('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.schedulerLocalization.loadString+"</span></div></div>");c.addClass(this.toTP("jqx-rc-all"));this.dataloadelement.addClass(this.toTP("jqx-rc-all"));c.addClass(this.toTP("jqx-fill-state-normal"));this.dataloadelement.append(c);this.dataloadelement.width(this.width);this.dataloadelement.height(this.height);this.host.prepend(this.dataloadelement);if(this.source._source.url!=""){var b=false;if(this.height==="auto"||this.height===null||this.autoheight){if(this.maxHeight==999999){b=true}}if(b){this.host.height(100);this.dataloadelement.height(100)}else{this.host.height(this.height);this.dataloadelement.height(this.height)}var d=false;if(this.width==="auto"||this.width===null||this.autoWidth){d=true}if(d){this.host.width(300);this.dataloadelement.width(300)}else{this.host.width(this.width);this.dataloadelement.width(this.width)}}},_measureElement:function(c){var b=a("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");b.addClass(this.toTP("jqx-widget"));a(document.body).append(b);if(c=="cell"){this._cellheight=b.height()}else{this._columnheight=b.height()}b.remove()},_testmodules:function(){var e="";var c=this;var b=function(){if(e.length!=""){e+=","}};if(!this.host.jqxScrollBar){b();e+=" jqxscrollbar.js"}if(!this.host.jqxButton){b();e+=" jqxbuttons.js"}if(!a.jqx.dataAdapter){b();e+=" jqxdata.js"}if(!this.host.jqxDateTimeInput){b();e+=" jqxdatetimeinput.js"}if(!this.host.jqxCalendar){b();e+=" jqxcalendar.js"}try{if(!Globalize){b();e+=" globalize.js"}}catch(d){}if(e!=""){throw new Error("jqxScheduler: Missing references to the following module(s): "+e);this.host.remove();return true}return false},focus:function(){try{if(this.isTouchDevice()){return}if(this._editDialog&&this._editDialog.jqxWindow("isOpen")){var c=this;setTimeout(function(){c.editDialogFields.subject.focus();c.editDialogFields.subject.select()},1);this.focused=true;return}if(document.activeElement==this.element){return}this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25);this.focused=true}catch(b){}},hiddenParent:function(){return a.jqx.isHidden(this.host)},_updatesize:function(h,g){if(this._loading){return}var e=this;var f=e.host.width();var d=e.host.height();if(!e._oldWidth){e._oldWidth=f}if(!e._oldHeight){e._oldHeight=d}if(e._resizeTimer!=undefined){clearTimeout(e._resizeTimer);e._resizeTimer=null}var c=300;var b=function(){if(e._resizeTimer){clearTimeout(e._resizeTimer)}e.resizingGrid=true;if(a.jqx.isHidden(e.host)){return}e._updatecolumnwidths();e.refresh();e._oldWidth=f;e._oldHeight=d;e.resizingGrid=false};b();e._resizeTimer=setTimeout(function(){var j=e.host.width();var i=e.host.height();if(e._oldWidth!=j||e._oldHeight!=i){b()}},c)},resize:function(c,b){if(c!=undefined){this.width=c}if(b!=undefined){this.height=b}this._updatecolumnwidths();this.refresh()},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b=a.jqx.mobile.isTouchDevice();this.touchDevice=b;if(this.touchMode==true){b=true;a.jqx.mobile.setMobileSimulator(this.element);this.touchDevice=b}else{if(this.touchMode==false){b=false}}if(b){this.touchDevice=true;this.host.addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch"));this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch"));this.scrollBarSize=this.touchScrollBarSize}return b},toTP:function(b){return this.toThemeProperty(b)},localizestrings:function(b,c){this._cellscache=new Array();if(a.jqx.dataFormat){a.jqx.dataFormat.cleardatescache()}if(this._loading){throw new Error("jqxScheduler: "+this.loadingErrorMessage);return false}if(b!=null){for(var d in this.schedulerLocalization){if(b[d]){this.schedulerLocalization[d]=b[d]}}if(b.loadingErrorMessage){this.loadingErrorMessage=b.loadingErrorMessage}if(c!==false){this._builddataloadelement();a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}else{this.schedulerLocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},agendaDateColumn:"Date",agendaTimeColumn:"Time",agendaAppointmentColumn:"Appointment",backString:"Back",forwardString:"Forward",toolBarPreviousButtonString:"previous",toolBarNextButtonString:"next",emptyDataString:"No data to display",loadString:"Loading...",clearString:"Clear",todayString:"Today",dayViewString:"Day",weekViewString:"Week",monthViewString:"Month",agendaViewString:"Agenda",timelineDayViewString:"Timeline Day",timelineWeekViewString:"Timeline Week",timelineMonthViewString:"Timeline Month",agendaAllDayString:"all day",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxScheduler raises the 'bindingComplete' event when the binding is completed.",editRecurringAppointmentDialogTitleString:"Edit Recurring Appointment",editRecurringAppointmentDialogContentString:"Do you want to edit only this occurrence or the series?",editRecurringAppointmentDialogOccurrenceString:"Edit Occurrence",editRecurringAppointmentDialogSeriesString:"Edit The Series",editDialogTitleString:"Edit Appointment",editDialogCreateTitleString:"Create New Appointment",contextMenuEditAppointmentString:"Edit Appointment",contextMenuCreateAppointmentString:"Create New Appointment",editDialogSubjectString:"Subject",editDialogLocationString:"Location",editDialogFromString:"From",editDialogToString:"To",editDialogAllDayString:"All day",editDialogExceptionsString:"Exceptions",editDialogResetExceptionsString:"Reset on Save",editDialogDescriptionString:"Description",editDialogResourceIdString:"Owner",editDialogStatusString:"Status",editDialogColorString:"Color",editDialogColorPlaceHolderString:"Select Color",editDialogTimeZoneString:"Time Zone",editDialogSelectTimeZoneString:"Select Time Zone",editDialogSaveString:"Save",editDialogDeleteString:"Delete",editDialogCancelString:"Cancel",editDialogRepeatString:"Repeat",editDialogRepeatEveryString:"Repeat every",editDialogRepeatEveryWeekString:"week(s)",editDialogRepeatEveryYearString:"year(s)",editDialogRepeatEveryDayString:"day(s)",editDialogRepeatNeverString:"Never",editDialogRepeatDailyString:"Daily",editDialogRepeatWeeklyString:"Weekly",editDialogRepeatMonthlyString:"Monthly",editDialogRepeatYearlyString:"Yearly",editDialogRepeatEveryMonthString:"month(s)",editDialogRepeatEveryMonthDayString:"Day",editDialogRepeatFirstString:"first",editDialogRepeatSecondString:"second",editDialogRepeatThirdString:"third",editDialogRepeatFourthString:"fourth",editDialogRepeatLastString:"last",editDialogRepeatEndString:"End",editDialogRepeatAfterString:"After",editDialogRepeatOnString:"On",editDialogRepeatOfString:"of",editDialogRepeatOccurrencesString:"occurrence(s)",editDialogRepeatSaveString:"Save Occurrence",editDialogRepeatSaveSeriesString:"Save Series",editDialogRepeatDeleteString:"Delete Occurrence",editDialogRepeatDeleteSeriesString:"Delete Series",editDialogStatuses:{free:"Free",tentative:"Tentative",busy:"Busy",outOfOffice:"Out of Office"}}}},_updateScrollbars:function(r){var j=false;var d=this;if(d.width==="auto"||d.width===null||d.autowidth){if(d.maxWidth==999999){j=true}}var h=d._views[d._view].type;var g=d._views[d._view];if(h=="monthView"&&d.resources&&d.resources.orientation=="none"&&!g.monthRowAutoHeight){var k=d.vScrollBar[0].style.visibility;d.hScrollBar[0].style.visibility="hidden";d.vScrollBar[0].style.visibility="hidden";if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}return}var b=parseInt(d.scrollBarSize);var s=d.table?d.table.height():0;var i=0;var n="inherit";var k=d.vScrollBar[0].style.visibility;var o=d.hScrollBar[0].style.visibility;if(!r){var f=d.host.height()}else{var f=r}if(!d.columnGroups){f-=d.showHeader?d.columnsHeight:0}else{f-=d.showHeader?d.columnsheader.height():0}if(d.filterable){f-=d.filter.height()}if(d.pageable){f-=d.pagerHeight;if(d.pagerPosition==="both"){f-=d.pagerHeight}}if(d.showToolbar){f-=d.toolbarHeight}if(d.showLegend&&d._resources.length>0){f-=d.legendHeight}var m=false;if(d.height==="auto"||d.height===null||d.autoheight){if(d.maxHeight==999999){m=true}}if(!m&&s>f&&(d.getRows().length>0)){d.vScrollBar[0].style.visibility=n;i=4+parseInt(b);d.vScrollBar.jqxScrollBar({max:s-f})}else{d.vScrollBar[0].style.visibility="hidden"}if((k!=d.vScrollBar[0].style.visibility)){d._updatecolumnwidths()}var p=d.table?d.table.width():0;if(p>4){p-=4}var q=parseInt(d.host.css("border-left-width"))+parseInt(d.host.css("border-right-width"));var l=q+d.host.width()-i;if(p>l&&!j){d.hScrollBar[0].style.visibility=n;d.hScrollBar.jqxScrollBar({max:2+q+p-l});i=4+parseInt(b);if(b==0){i=0}if(!m&&s!=f){if(s>f-i+4&&(d.getRows().length>0)){d.hScrollBar.jqxScrollBar({max:q+p-l});var c=d.vScrollBar[0].style.visibility==="hidden";d.vScrollBar[0].style.visibility=n;d._updatecolumnwidths();if(c){d.hScrollBar.jqxScrollBar({max:p-l+q})}var e=d.table?d.table.width():0;if(e>3){e-=3}if(e!=p){if(e<l){d.hScrollBar.jqxScrollBar({max:q+e-l});d.hScrollBar[0].style.visibility="hidden";i=0}else{if(!c){d.hScrollBar.jqxScrollBar({max:p-l+q-b})}else{if(e>l){d.hScrollBar.jqxScrollBar({max:q+e-l})}}}}}if(s-f>0){d.vScrollBar.jqxScrollBar({max:s-f+i})}else{d.vScrollBar[0].style.visibility="hidden"}}}else{d.hScrollBar[0].style.visibility="hidden"}if(d.getRows().length===0){d.vScrollBar[0].style.visibility="hidden";d.bottomRight[0].style.visibility="hidden"}if(d.vScrollBar[0].style.visibility=="hidden"){if(d.vScrollInstance.value!=0){d.vScrollInstance.setPosition(0)}}},_measureElementWidth:function(d){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+d+"</span>");c.addClass(this.toTP("jqx-widget"));c.addClass(this.toTP("jqx-grid"));c.addClass(this.toTP("jqx-grid-column-header"));c.addClass(this.toTP("jqx-widget-header"));a(document.body).append(c);var b=c.outerWidth()+20;c.remove();return b},_arrangeAutoHeight:function(d){if(!d){d=0}if(this.height==="auto"||this.height===null||this.autoheight){var g=this.table.height();var f=0;this._hostHeight=null;if(!this.columnGroups){f+=this.showHeader?this.columnsHeight:-1}else{f+=this.showHeader?this.columnsheader.height():-1}f+=this.showLegend&&this._resources.length>0?this.legendHeight:0;f+=this.showToolbar?this.toolbarHeight:0;f+=this.pageable?this.pagerHeight:0;if(this.pagerPosition==="both"){f+=this.pageable?this.pagerHeight:0}f+=g;if(this.filterable){var e=this.filter.find(".filterrow");var b=this.filter.find(".filterrow-hidden");var c=1;if(b.length>0){c=0}f+=this.filterHeight-1+this.filterHeight*e.length*c}if(f+d>this.maxHeight){this.host.height(this.maxHeight)}else{this.host.height(f+d)}return true}return false},_arrangeAutoWidth:function(d){if(!d){d=0}if(this.width==="auto"||this.width===null||this.autowidth){this._hostWidth=null;var c=0;for(var e=0;e<this.columns.records.length;e++){var b=this.columns.records[e].width;if(this.columns.records[e].hidden){continue}if(b=="auto"){b=this._measureElementWidth(this.columns.records[e].text);c+=b}else{c+=b}}var f=c;if(f+d>this.maxWidth){this.host.width(this.maxWidth)}else{this.host.width(f+d)}return true}return false},_measureTopAndHeight:function(){var b=this.host.height();var c=0;if(this.showToolbar){c+=this.toolbarHeight;b-=parseInt(this.toolbarHeight)}if(this.showLegend&&this.legendPosition!="bottom"&&this._resources.length>0){c+=parseInt(this.legendHeight)+1}return{top:c,height:b}},_arrange:function(){if(!this.table){return}this._arrangeAutoHeight();this._arrangeAutoWidth();var d=this.legendHeight;if(this._resources.length==0){d=0}var t=this._hostWidth?this._hostWidth:this.host.width();var q=this._hostHeight?this._hostHeight:this.host.height();var j=q;var i=this;if(this.showLegend&&this.legendPosition=="top"){this.legendbartop[0].style.visibility="inherit"}else{this.legendbartop[0].style.visibility="hidden"}var p=0;if(this.showToolbar){this.toolbar.width(t);this.toolbar[0].style.height=this.toolbarHeight-1+"px";this.toolbar[0].style.top="0px";p+=this.toolbarHeight;q-=parseInt(this.toolbarHeight)}else{this.toolbar[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom[0].style.width=t+"px";this.legendbarbottom[0].style.height=d+"px"}else{this.legendbarbottom[0].style.height="0px"}if(this.showLegend&&this.legendPosition=="top"){if(this.legendbartop[0].style.width!=t+"px"){this.legendbartop[0].style.width=parseInt(t)+"px"}if(this.legendbartop[0].style.height!=d+"px"){this.legendbartop[0].style.height=parseInt(d-1)+"px"}if(this.legendbartop[0].style.top!=p+"px"){this.legendbartop[0].style.top=p+"px"}var e=p+d+"px";p=p+d;if(this.content[0].style.top!=e){this.content[0].style.top=p+"px"}}if(!this.showLegend){this.legendbartop[0].style.display="none";this.legendbarbottom[0].style.display="none"}this._updateScrollbars(j);var b=parseInt(this.scrollBarSize);var m=4;var f=2;var g=0;if(this.vScrollBar[0].style.visibility!="hidden"){g=b+m}if(this.hScrollBar[0].style.visibility!="hidden"){f=b+m+2}if(b==0){f=0;g=0}if("hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var u=this._arrangeAutoHeight(f-2);var r=this._arrangeAutoWidth(g+1);if(u||r){this.legendbartop[0].style.width=parseInt(t)+"px";this.toolbar[0].style.width=parseInt(t)+"px";this.legendbarbottom[0].style.width=parseInt(t)+"px";this.filter[0].style.width=parseInt(t)+"px"}if(u){var w=this._measureTopAndHeight();p=w.top;q=w.height}}var n=0;if(this.showLegend&&this.legendPosition=="bottom"){f+=d;n+=d}else{if(this.showLegend){f+=d}}if(this.hScrollBar[0].style.height!=b+"px"){this.hScrollBar[0].style.height=parseInt(b)+"px"}if(this.hScrollBar[0].style.top!=p+q-m-b-n+"px"||this.hScrollBar[0].style.left!="0px"){this.hScrollBar[0].style.top=p+q-m-b-n-1+"px";this.hScrollBar[0].style.left="0px"}var l=this.hScrollBar[0].style.width;var h=false;var v=false;if(g==0){if(l!=(t-2)+"px"){this.hScrollBar[0].style.width=(t-2)+"px";h=true}}else{if(l!=(t-b-m)+"px"){this.hScrollBar[0].style.width=(t-b-m+"px");h=true}}if(this.vScrollBar[0].style.width!=b+"px"){this.vScrollBar[0].style.width=b+"px";v=true}if(this.vScrollBar[0].style.height!=parseInt(q)-f+"px"){this.vScrollBar[0].style.height=(parseInt(q)-f+"px");v=true}if(this.vScrollBar[0].style.left!=parseInt(t)-parseInt(b)-m+"px"||this.vScrollBar[0].style.top!=p+"px"){this.vScrollBar[0].style.top=p+"px";this.vScrollBar[0].style.left=parseInt(t)-parseInt(b)-m+"px"}if(this.rtl){this.vScrollBar.css({left:"0px",top:p});if(this.vScrollBar.css("visibility")!="hidden"){this.hScrollBar.css({left:b+2})}}var k=this.vScrollInstance;k.disabled=this.disabled;var s=this.hScrollInstance;s.disabled=this.disabled;if(h){s.refresh()}if(v){k.refresh()}var o=function(x){if((x.vScrollBar[0].style.visibility!="hidden")&&(x.hScrollBar[0].style.visibility!="hidden")){x.bottomRight[0].style.visibility="inherit";x.bottomRight[0].style.left=1+parseInt(x.vScrollBar.css("left"))+"px";x.bottomRight[0].style.top=parseInt(x.hScrollBar.css("top"))+"px";if(x.rtl){x.bottomRight.css("left","0px")}x.bottomRight[0].style.width=parseInt(b)+3+"px";x.bottomRight[0].style.height=parseInt(b)+4+"px"}else{x.bottomRight[0].style.visibility="hidden"}};o(this);if(this.content[0].style.width!=t-g+"px"){this.content[0].style.width=t-g+"px"}if(this.content[0].style.height!=q-f+3+"px"){this.content[0].style.height=q-f+3+"px"}if(this.content[0].style.top!=p+"px"){this.content[0].style.top=parseInt(p)+"px"}if(this.rtl){this.content.css("left",g)}if(this.showLegend&&this.legendPosition=="bottom"){this.legendbarbottom.css("top",p-1+q-d-(this.pageable?this.pagerHeight:0));if(this.rtl){if(this.hScrollBar.css("visibility")=="hidden"){this.legendbarbottom.css("left",this.content.css("left"))}else{this.legendbarbottom.css("left","0px")}}}this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length;if(t!=parseInt(this.dataloadelement[0].style.width)){this.dataloadelement[0].style.width=this.element.style.width}if(q!=parseInt(this.dataloadelement[0].style.height)){this.dataloadelement[0].style.height=this.element.style.height}this._hostWidth=t;this._hostHeight=j;var c=this.schedulercontent.coord();this._tableOffset=c},scrollOffset:function(d,c){if(arguments.length==0||(d!=null&&typeof(d)=="object"&&!d.top)){return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")}}if(d!=null&&typeof(d)=="object"){var c=d.left;var b=d.top;var d=b}if(d==null||c==null||d==undefined||c==undefined){return}this.vScrollBar.jqxScrollBar("setPosition",d);this.hScrollBar.jqxScrollBar("setPosition",c)},scrollleft:function(b){if(b==null||b==undefined){return}if(this.hScrollBar.css("visibility")!="hidden"){this.hScrollBar.jqxScrollBar("setPosition",b)}},scrolltop:function(b){if(b==null||b==undefined){return}if(this.vScrollBar.css("visibility")!="hidden"){this.vScrollBar.jqxScrollBar("setPosition",b)}},beginAppointmentsUpdate:function(){this._appupdating=true},endAppointmentsUpdate:function(){this._appupdating=false;this._renderrows()},beginUpdate:function(){this._updating=true;this._datachanged=false},endUpdate:function(b){this._updating=false;if(b===false){return}this._rendercolumnheaders();this.refresh()},updating:function(){return this._updating},databind:function(b,g,f){if(this.loadingstate===true){return}var j=window;if(this.host.css("display")=="block"){if(this.autoShowLoadElement){a(this.dataloadelement).css("visibility","visible");a(this.dataloadelement).css("display","block");this.dataloadelement.width(this.host.width());this.dataloadelement.height(this.host.height())}else{a(this.dataloadelement).css("visibility","hidden");a(this.dataloadelement).css("display","none")}}var h=this;if(b==null){b={}}if(b.sortcomparer==undefined||b.sortcomparer==null){b.sortcomparer=null}if(b.filter==undefined||b.filter==null){b.filter=null}if(b.sort==undefined||b.sort==null){b.sort=null}if(b.data==undefined||b.data==null){b.data=null}var d=null;if(b!=null){d=b._source!=undefined?b._source.url:b.url}this.dataview=this.dataview||new a.jqx.scheduler.dataView("dataView");this.resourcesDataView=this.resourcesDataView||new a.jqx.scheduler.dataView("resourcesDataView");this.dataview.pageable=this.pageable;this.dataview.scheduler=this;this.resourcesDataView.scheduler=this;this._loading=true;this.appointments=new Array();this.uiappointments=new Array();var e=1;if(this.resources&&this.resources.source){e=2}var c=0;var i=function(){if(c==e){h._resourcesBinding=false;var m=h._resources.length>1?h._resources.length:1;if(h.resources&&h.resources.orientation==="horizontal"){h.tableColumns=m;h.tableRows=1}else{if(h.resources&&h.resources.orientation==="vertical"){h.tableRows=m;h.tableColumns=1}else{h.tableColumns=1;h.tableRows=1}}h._render();if(h.autoShowLoadElement&&!h._loading){a(h.dataloadelement).css("visibility","hidden");a(h.dataloadelement).css("display","none")}h._updateTouchScrolling();h._raiseEvent("bindingComplete");if(f){f()}if(!h.initializedcall){h.initializedcall=true;h.isInitialized=true;if((h.width!=null&&h.width.toString().indexOf("%")!=-1)||(h.height!=null&&h.height.toString().indexOf("%")!=-1)){h._updatesize(true)}if(h.ready){h.ready()}if(h._rendercelltexts){h._rendercelltexts()}if(h._gridRenderElement){a(h._gridRenderElement).show("slow");var l=6000+Math.floor((Math.random()*4000)+1);var n=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();j[a.camelCase(n)](function(){a(h._gridRenderElement).hide("slow",function(){a(h._gridRenderElement).remove()})},l)}if(h.host.css("visibility")=="hidden"){var k=a.jqx.browser.msie&&a.jqx.browser.version<8;if(h.vScrollBar.css("visibility")=="visible"){h.vScrollBar.css("visibility","inherit")}if(h.hScrollBar.css("visibility")=="visible"){h.hScrollBar.css("visibility","inherit")}h._intervalTimer=setInterval(function(){if(h.host.css("visibility")=="visible"){h._updatesize(true);clearInterval(h._intervalTimer)}},100)}}}};this._resourcesBinding=false;this.dataview.update=function(y){h._loading=false;h.appointmentsByKey=new Array();h.appointments=new Array();h.uiappointments=new Array();var D=h.source._source.datafields;var o=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];var m=new Array();for(var z=0;z<h.source.records.length;z++){var p=h.source.records[z];var n={};for(var G in h.appointmentDataFields){var l=h.appointmentDataFields[G];var x=p[l];if(G=="from"||G=="to"){x=new a.jqx.date(x)}if(G=="style"){if(x){var s=h.getAppointmentColors(x);n.color=s.color;n.background=s.background;n.borderColor=s.border}}if(G=="recurrencePattern"){if(x){x=new a.jqx.scheduler.recurrencePattern(x);x.timeZone=p.timeZone||h.timeZone}}if(G=="recurrenceException"){var B=new Array();if(x){if(x.indexOf("EXDATE:")>=0){x=x.substring(x.indexOf("EXDATE:")+7)}var t=new Array();if(x.indexOf(",")>=0){t=x.split(",")}else{t.push(x)}for(var A=0;A<t.length;A++){var w=t[A];if(w.indexOf(";")>=0){var q=w.split(";")[1];w=w.split(";")[0];if(q.toLowerCase().indexOf("display")>=0&&q.toLowerCase().indexOf("none")){n.hidden=true}}try{var E=a.jqx.scheduler.utilities.untilStringToDate(w);if(E!="Invalid Date"){if(n.timeZone){E=new a.jqx.date(E,n.timeZone)}else{if(h.timeZone){E=E.toTimeZone(h.timeZone)}else{E=new a.jqx.date(E)}}}}catch(F){var E=new a.jqx.date(w,h.timeZone)}B.push(E)}}x=B}n[G]=x}for(var u in o){var G=o[u];if(n[G]==undefined){var x="";if(G=="originalData"){continue}if(G=="ownerId"){x=null}if(G=="timeZone"){x=null}if(G=="recurrencePattern"){x=null}if(G=="recurrenceException"){x=[]}if(G=="allDay"){x=false}if(G=="draggable"){x=true}if(G=="resizable"){x=true}if(G=="hidden"){x=false}if(G=="resourceId"){x=null}if(G=="from"){x=new a.jqx.date()}if(G=="to"){x=new a.jqx.date().addHours(1)}n[G]=x}}n.originalData=p;if(h.resources&&!h.resources.source){if(!h._resourcesBinding){if(m.indexOf(n.resourceId)==-1){m.push(n.resourceId)}}}h.appointmentsByKey[p.uid]=n;h.appointments.push(n);var v=new a.jqx.scheduler.appointment(n);if(n.timeZone){v.from=v.from.toTimeZone(n.timeZone);v.to=v.to.toTimeZone(n.timeZone)}if(h.timeZone){if(!n.timeZone){v.timeZone=h.timeZone}v.from=v.from.toTimeZone(h.timeZone);v.to=v.to.toTimeZone(h.timeZone)}else{v.from=v.from.toTimeZone(null);v.to=v.to.toTimeZone(null)}n.jqxAppointment=v;if(n.recurrenceException){for(var C=0;C<n.recurrenceException.length;C++){var E=v.recurrenceException[C];var r=v.clone();r.occurrenceFrom=E;var k=v.duration();if(h.allDay){k=new a.jqx.timeSpan(10000*(h.to-h.from))}r.from=E;r.to=E.add(k);r.rootAppointment=v;r.hidden=true;v.exceptions.push(r)}}v.boundAppointment=n;v.scheduler=h;h.uiappointments.push(v)}if(!h._resourcesBinding){h._resources=m}c++;i()};this.resourcesDataView.update=function(k){if(h.resources.dataField){h._resources=new Array();for(var l=0;l<k.length;l++){if(h._resources.indexOf(k[l][h.resources.dataField])>=0){continue}if(k[l][h.resources.dataField]){h._resources.push(k[l][h.resources.dataField])}}}else{h._resources=k}if(h.resources.orientation==undefined){h.resources.orientation="none"}c++;i()};this.dataview.databind(b);if(this.resources&&this.resources.source){this._resourcesBinding=true;this.resourcesDataView.databind(this.resources.source)}},_raiseEvent:function(g,c){if(c==undefined){c={owner:null}}var d=g;var e=c;e.owner=this;var f=new a.Event(d);f.owner=this;f.args=e;var b=this.host.trigger(f);c=f.args;return b},ensureAppointmentVisible:function(b){if(this.appointmentsByKey[b]){return this._ensureAppointmentVisible(this.appointmentsByKey[b].jqxAppointment)}return false},_ensureAppointmentVisible:function(h){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}if(!h){return false}var k=this.getViewStart();var i=this.getViewEnd();var p=a.jqx.scheduler.utilities.rangeIntersection(h.from,h.to,k,i);if(!p){this.navigateTo(h.from);return this._ensureAppointmentVisible(h)}var G=h.id;var t=a('[data-key="'+G+'"]');if(t.length>0){var c=t[0]}else{if(h.elements&&h.elements.length>0){var f=h.elements[0];var c=f.element}else{return false}}var z=this.vScrollInstance.value;var y=this.hScrollInstance.value;if(this.rtl){var y=this.hScrollInstance.max-y}var s=this.element.clientHeight;var v=this.element.clientWidth;var B=0;if(!this.columnGroups){B+=this.showHeader?this.columnsHeight:0}else{B+=this.showHeader?this.columnsheader.height():0}var r=this._views[this._view].type;var n=this._views[this._view];var D=0;if(r=="dayView"||r=="weekView"){var x=this.showAllDayRow;if(n.timeRuler&&(r==="dayView"||r==="weekView")){if(n.timeRuler.showAllDayRow!=undefined){x=n.timeRuler.showAllDayRow}}if(x){if(this.tableRows==1){D=this.table[0].rows[0].clientHeight}else{D=this.table[0].rows[1].clientHeight}}var q=h.duration().days()>=1||h.allDay;if(q&&this.tableRows==1&&this.tableColumns==1){return false}}if(this.showToolbar){B+=this.toolbarHeight}s-=B;if(this.showLegend&&this._resources.length>0){s-=this.legendHeight}var e=0;var l=0;var d=z-e;var C=s+d-D;var w=y-l;var F=v+w;var E=c;E=a(E);var g=E[0].clientHeight;var j=E.position().top-D;var m=j+g;if(j<=d){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A)}}else{if(j>=C){var A=j;if(A<0){A=0}if(!q||(q&&this.tableRows>1)){this.vScrollBar.jqxScrollBar("setPosition",A-2)}}}var u=E.position().left;u=Math.round(u);var b=u+E.outerWidth();if(Math.round(E.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(u<=w){var o=u-E.outerWidth()+l;if(o<0){o=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}if(u>F){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",u)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-u)}}},ensureVisible:function(d,l){var g=this;var m=a.type(d)=="date"?d:d.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var c=b(h);if(c.valueOf()==m.valueOf()){return g._ensureVisible(k)}}}},_ensureVisible:function(b){if(this.vScrollBar[0].style.visibility==="hidden"&&this.hScrollBar[0].style.visibility==="hidden"){return false}var t=this.vScrollBar.jqxScrollBar("value");var s=this.hScrollBar.jqxScrollBar("value");if(this.rtl){s=this.hScrollBar.jqxScrollBar("max")-s}var m=this._hostHeight;var p=this._hostWidth;var w=0;if(!this.columnGroups){w+=this.showHeader?this.columnsHeight:0}else{w+=this.showHeader?this.columnsheader.height():0}if(this.showToolbar){w+=this.toolbarHeight}m-=w;if(this.showLegend&&this._resources.length>0){m-=this.legendHeight}if(this.hScrollBar.css("visibility")!="hidden"){m-=20}var e=0;var h=0;var l=this._views[this._view].type;var j=this._views[this._view];var y=0;if(l=="dayView"||l=="weekView"){var r=this.showAllDayRow;if(j.timeRuler&&(l==="dayView"||l==="weekView")){if(j.timeRuler.showAllDayRow!=undefined){r=j.timeRuler.showAllDayRow}}if(r){if(this.tableRows==1){y=this.table[0].rows[0].clientHeight}else{y=this.table[0].rows[1].clientHeight}}}var d=t-e;var x=m+d-y;var q=s-h;var A=p+q;var z=b;z=a(z);var f=z.position().top-y;var i=f+z.outerHeight();var o=z.position().left;o=Math.round(o);var c=o+z.outerWidth();if(Math.round(z.position().left)===0){this.hScrollBar.jqxScrollBar("setPosition",0)}if(o<=q){var k=o-z.outerWidth()+h;if(k<0){k=0}if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",k)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-k)}}if(c>=A){if(!this.rtl){this.hScrollBar.jqxScrollBar("setPosition",2+h+c-p)}else{this.hScrollBar.jqxScrollBar("setPosition",this.hScrollBar.jqxScrollBar("max")-(2+h+c-p))}}var g=z.parent().index();if(this.tableRows>0){g--}if(Math.round(z.position().top)===0||g===0){return this.vScrollBar.jqxScrollBar("setPosition",0)}else{var n=this.table[0].rows.length-1;var v=this.table[0].rows[n];if(v[0]===z.parent()[0]){return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"))}}if(f<=d){var u=f;if(u<0){u=0}return this.vScrollBar.jqxScrollBar("setPosition",u)}if(i>=x){return this.vScrollBar.jqxScrollBar("setPosition",4+i-m+y)}},getColumn:function(b){var c=null;if(this.columns.records){a.each(this.columns.records,function(){if(this.datafield==b||this.displayfield==b){c=this;return false}})}return c},_setcolumnproperty:function(c,e,f){if(c==null||e==null||f==null){return null}e=e.toLowerCase();var d=this.getColumn(c);if(d==null){return}var g=d[e];d[e]=f;var b=this.getColumn(c);if(b!=null){b[e]=f}switch(e){case"text":case"hidden":case"hideable":case"renderer":case"align":case"cellsalign":case"contenttype":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":if(e=="align"){this._rendercolumnheaders();this.refresh()}else{if(e=="text"||e=="class"||e=="hidden"||e=="pinned"||e=="resizable"||e=="renderer"){this._rendercolumnheaders();this.refresh()}else{if(e=="width"||e=="maxwidth"||e=="minwidth"){d._width=null;d._percentagewidth=null;this._updatecolumnwidths();this.refresh()}else{this.refresh()}}}break}},getColumnProperty:function(b,d){if(b==null||d==null){return null}d=d.toLowerCase();var c=this.getColumn(b);return c[d]},setColumnProperty:function(b,c,d){this._setcolumnproperty(b,c,d)},hideColumn:function(b){this._setcolumnproperty(b,"hidden",true)},showColumn:function(b){this._setcolumnproperty(b,"hidden",false)},updateBoundData:function(c,b){this.databind(this.source,c,b)},refresh:function(c){if(c!=true){var b=this;if(a.jqx.isHidden(b.host)){return}b.table[0].style.top="0px";b.vScrollInstance.setPosition(0);b._renderrows();b._arrange();b._renderhorizontalscroll();b._updateTouchScrolling();b._refreshToolBar();b._updateFocusedCell()}},_updateFocusedCell:function(){var h=this;if(h.focusedCell){h._updateCellsSelection();return}var d=h._views[h._view].type;var g=h._views[h._view];var c=h.showAllDayRow;if(g.timeRuler&&(d==="dayView"||d==="weekView")){if(g.timeRuler.showAllDayRow!=undefined){c=g.timeRuler.showAllDayRow}}if(!c||(d!="dayView"&&d!="weekView")){h.focusedCell=h.rows[0].cells[0];if(h.rtl){h.focusedCell=h.rows[0].cells[h.rows[0].cells.length-1]}}else{h.focusedCell=h.rows[1].cells[0];if(h.rtl){h.focusedCell=h.rows[1].cells[h.rows[1].cells.length-1]}}if(h.focusedCell.className.indexOf("jqx-scheduler-disabled-cell")>=0){h.focusedCell=null;for(var f=0;f<this.rows.length;f++){for(var e=0;e<this.rows[f].cells.length;e++){var b=this.rows[f].cells[e];if(b.className.indexOf("jqx-scheduler-disabled-cell")==-1){h.focusedCell=b;break}}if(h.focusedCell){break}}}h._lastSelectedCell=h.focusedCell;h._updateCellsSelection()},_updateTouchScrolling:function(){var c=this.that;if(c.isTouchDevice()){var e=a.jqx.mobile.getTouchEventName("touchstart");var d=a.jqx.mobile.getTouchEventName("touchend");var b=a.jqx.mobile.getTouchEventName("touchmove");if(c.schedulercontent){c.removeHandler(c.table,e+".touchScroll");c.removeHandler(c.table,b+".touchScroll");c.removeHandler(c.table,d+".touchScroll");c.removeHandler(c.table,"touchcancel.touchScroll");a.jqx.mobile.touchScroll(c._table[0],Math.max(c.vScrollInstance.max,c.hScrollInstance.max),function(h,g){if(c.dragOrResize){return}if(g!=null&&c.vScrollBar.css("visibility")!="hidden"){var f=c.vScrollInstance.value;c.vScrollInstance.setPosition(g)}if(h!=null&&c.hScrollBar.css("visibility")!="hidden"){var f=c.hScrollInstance.value;c.hScrollInstance.setPosition(h)}c.scrolled=new Date()},this.element.id,this.hScrollBar,this.vScrollBar)}}},scrollWidth:function(){return this.hScrollInstance.max},scrollHeight:function(){return this.vScrollInstance.max},scrollLeft:function(b){if(this.hScrollBar[0].style.visibility!="hidden"){this.hScrollInstance.setPosition(b)}},scrollTop:function(b){if(this.vScrollBar[0].style.visibility!="hidden"){this.vScrollInstance.setPosition(b)}},render:function(i){var e="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbartop' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='legendbarbottom' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerHTML=e;this.wrapper=this.host.find("#wrapper"+this.element.id);this.content=this.host.find("#content"+this.element.id);this.content.addClass(this.toTP("jqx-reset"));var g=this.host.find("#verticalScrollBar"+this.element.id);var k=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal"));if(this.vScrollBar){this.vScrollBar.jqxScrollBar("destroy")}if(this.hScrollBar){this.hScrollBar.jqxScrollBar("destroy")}this.vScrollBar=g.jqxScrollBar({vertical:true,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.hScrollBar=k.jqxScrollBar({vertical:false,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme,_triggervaluechanged:false});this.vScrollBar.css("visibility","hidden");this.hScrollBar.css("visibility","hidden");this.vScrollInstance=a.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=a.data(this.hScrollBar[0],"jqxScrollBar").instance;this.pager=this.host.find("#pager");this.pager[0].id="pager"+this.element.id;this.toolbar=this.host.find("#toolbar");this.toolbar[0].id="toolbar"+this.element.id;this.toolbar.addClass(this.toTP("jqx-scheduler-toolbar"));this.toolbar.addClass(this.toTP("jqx-widget-header"));this.legendbarbottom=this.host.find("#legendbarbottom");this.legendbarbottom[0].id="legendbarbottom"+this.element.id;this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar-bottom"));this.legendbarbottom.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbarbottom.addClass(this.toTP("jqx-widget-header"));this.pager.addClass(this.toTP("jqx-grid-pager"));this.pager.addClass(this.toTP("jqx-widget-header"));this.legendbartop=this.host.find("#legendbartop");this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar-top"));this.legendbartop.addClass(this.toTP("jqx-scheduler-legend-bar"));this.legendbartop.addClass(this.toTP("jqx-widget-header"));this.schedulertable=null;if(this.localizestrings){this.localizestrings();if(this.localization!=null){this.localizestrings(this.localization,false)}}this._builddataloadelement();this._cachedcolumns=this.columns;var b=this.source.datafields;if(b==null&&this.source._source){b=this.source._source.datafields}if(b){for(var c=0;c<this.columns.length;c++){var d=this.columns[c];if(d&&d.cellsFormat&&d.cellsFormat.length>2){for(var j=0;j<b.length;j++){if(b[j].name==d.datafield&&!b[j].format){b[j].format=d.cellsFormat;break}}}}}this.databind(this.source);if(this.showToolbar){this.toolbar.css("visibility","inherit")}if(this.showLegend){this.legendbarbottom.css("visibility","inherit")}this.tableheight=null;var f=this;var h=function(){if(f.content){f.content[0].scrollTop=0;f.content[0].scrollLeft=0}if(f.schedulercontent){f.schedulercontent[0].scrollLeft=0;f.schedulercontent[0].scrollTop=0}};this.removeHandler(this.content,"scroll");this.removeHandler(this.content,"mousedown");this.addHandler(this.content,"scroll",function(l){h();return false});if(i!==true){this._render()}},_render:function(){var g=this;if(g.dataview==null){return}if(g._loading){return}if(g.columnsHeight!=25||g.columnGroups){g._measureElement("column")}g.rowinfo=new Array();g._removeHandlers();if(g.columns==null){g.columns=new a.jqx.schedulerDataCollection(g.element)}else{g._initializeColumns()}g.host.height(g.height);g.host.width(g.width);a.jqx.utilities.html(g.content,"");g.columnsheader=g.columnsheader||a('<div style="overflow: hidden;"></div>');g.columnsheader.remove();g.columnsheader.addClass(g.toTP("jqx-widget-header"));g.columnsheader.addClass(g.toTP("jqx-grid-header"));if(!g.showHeader){g.columnsheader.css("display","none")}else{if(g.columnsheader){g.columnsheader.css("display","block")}}g.schedulercontent=g.schedulercontent||a('<div style="width: 100%; overflow: hidden; position: absolute;"></div>');g.schedulercontent.remove();var e=g.columnsHeight;e=g._preparecolumnGroups();g.columnsheader.height(e);g.content.append(g.columnsheader);g.content.append(g.schedulercontent);g._rendercolumnheaders();g.tableheight=null;g.schedulercontent.find("#contenttable"+g.element.id).remove();if(g.table!=null){g.table.remove();g.table=null}if(g.pinnedtable!=null){g.pinnedtable.remove();g.pinnedtable=null}g.table=a('<div id="contenttable'+g.element.id+'" style="overflow: hidden; position: relative;"></div>');g.pinnedtable=a('<div id="contenttable2'+g.element.id+'" style="display: none; overflow: hidden; position: relative;"></div>');g.schedulercontent.addClass(g.toTP("jqx-grid-content"));g.schedulercontent.addClass(g.toTP("jqx-widget-content"));g.schedulercontent.append(g.table);if(g.tableRows==1){g.schedulercontent.append(g.pinnedtable)}g._renderrows();g._arrange();g._resourcesElements=new Array();var d=function(h,i){h.children().remove();var h=a("<div style='margin:5px; position: relative;'></div>").appendTo(h);g._resourcesElements[i]=new Array();a.each(g._resources,function(n){var l=g.getColors(n);var m=this.toString();var o=a("<div data-toggle='on' style='border-color: "+l.border+"; background: "+l.background+";' class='"+g.toThemeProperty("jqx-scheduler-legend")+"'></div>");o.appendTo(h);var k=a("<div class='"+g.toThemeProperty("jqx-scheduler-legend-label")+"'>"+m+"</div>");k.appendTo(h);g._resourcesElements[i][m]=o;var j=function(){if(o.attr("data-toggle")=="on"){g.hideAppointmentsByResource(m)}else{g.showAppointmentsByResource(m)}};g.addHandler(o,"mousedown",function(){j();return false});g.addHandler(k,"mousedown",function(){j();return false})})};d(g.legendbarbottom,"bottom");d(g.legendbartop,"top");if(g.legendPosition=="top"){g.legendbarbottom.hide()}else{g.legendbartop.hide()}if(g._resources.length==0){g.legendbarbottom.hide();g.legendbartop.hide()}if(g.renderToolBar){g.renderToolBar(g.toolbar)}else{g._renderToolBar()}if(g.disabled){g.host.addClass(g.toThemeProperty("jqx-fill-state-disabled"))}g._renderhorizontalscroll();g._addHandlers();g.clearSelection();var c=g._views[g._view].type;var f=g._views[g._view];var b=g.showAllDayRow;if(f.timeRuler&&(c==="dayView"||c==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){b=f.timeRuler.showAllDayRow}}if(!b||(c!="dayView"&&c!="weekView")){g.focusedCell=g.rows[0].cells[0]}else{g.focusedCell=g.rows[1].cells[0]}g._lastSelectedCell=g.focusedCell;g._updateCellsSelection()},clear:function(){if(this.source){this.source.records=new Array();this.source.hierarchy=new Array()}this.dataview._filteredData=new Array();this.databind(null);this._render()},getAppointmentElement:function(e){var b=null;if(e.className.indexOf("jqx-scheduler-appointment")>=0&&e.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-content")==-1&&e.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=e}var d=e;for(var c=0;c<4;c++){if(d.parentNode){if(d.className.indexOf("jqx-scheduler-appointment")>=0&&d.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-content")==-1&&d.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){b=d}d=d.parentNode}else{break}}return b},getJQXAppointmentByElement:function(d){var f=this;var e=d.getAttribute?d.getAttribute("data-key"):d.attr("data-key");if(e.indexOf(".")>=0){var c=e.substring(0,e.indexOf("."));var h=e.substring(e.indexOf(".")+1);var g=f.appointmentsByKey[c];var b=g.jqxAppointment.renderedAppointments[e]}else{var g=f.appointmentsByKey[e];var b=g.jqxAppointment}return b},_renderToolBar:function(){var i=this;var b=a('<div style="width: 100%; height: 100%; position: relative;"></div>');var k=(this.toolbarHeight-20)/2;b.css("top",k);i.toolbarLeftButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-left: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarRightButton=a('<div type="button" style="outline: none; padding: 0px; margin-top: 3px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.attr("title",i.schedulerLocalization.toolBarPreviousButtonString);i.toolbarRightButton.attr("title",i.schedulerLocalization.toolBarNextButtonString);i.toolbarRightButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.toolbarLeftButton.jqxButton({enableHover:false,enableDefault:false,enablePressed:false,cursor:"pointer",disabled:i.disabled,theme:i.theme});i.dateTimeInput=a('<div style="outline: none; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: left;"></div>');i.toolbarLeftButton.find(".jqx-icon-arrow-left").remove();i.toolbarRightButton.find(".jqx-icon-arrow-right").remove();var e=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");e.addClass(i.toThemeProperty("jqx-icon-arrow-left"));i.toolbarLeftButton.wrapInner(e);var j=a("<div style='outline: none; margin-left: 6px; width: 15px; height: 15px;'></div>");j.addClass(i.toThemeProperty("jqx-icon-arrow-right"));i.toolbarRightButton.wrapInner(j);if(i.rtl){i.toolbarLeftButton.css("float","right");i.toolbarRightButton.css("float","right");i.dateTimeInput.css("float","right")}i.addHandler(i.toolbarRightButton,"mouseenter",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseenter",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mouseleave",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-hover"))});i.addHandler(i.toolbarLeftButton,"mouseleave",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-hover"))});i.addHandler(i.toolbarRightButton,"mousedown",function(){j.addClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarRightButton,"mouseup",function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"))});i.addHandler(i.toolbarLeftButton,"mousedown",function(){e.addClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarLeftButton,"mouseup",function(){e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(a(document),"mouseup.pagerbuttons"+i.element.id,function(){j.removeClass(i.toThemeProperty("jqx-icon-arrow-right-selected"));e.removeClass(i.toThemeProperty("jqx-icon-arrow-left-selected"))});i.addHandler(i.toolbarRightButton,"click",function(){if(!i.toolbarRightButton.jqxButton("disabled")){if(!i.rtl){i.navigateForward()}else{i.navigateBackward()}i.focus()}});i.addHandler(i.toolbarLeftButton,"click",function(){if(!i.toolbarLeftButton.jqxButton("disabled")){if(!i.rtl){i.navigateBackward()}else{i.navigateForward()}i.focus()}});i.toolbar.children().remove();i.toolbar.append(b);if(!i.rtl){b.append(i.toolbarLeftButton);b.append(i.dateTimeInput);b.append(i.toolbarRightButton)}else{b.append(i.toolbarRightButton);b.append(i.dateTimeInput);b.append(i.toolbarLeftButton)}i.toolbarDetails=a('<div class="'+i.toTP("jqx-scheduler-toolbar-details")+'" style="margin-left: 7px; margin-top:2px; float: left;"></div>');i.toolbarViews=a('<div style="margin-right: 10px; margin-top:0px; float: right;"></div>');if(i.rtl){i.toolbarDetails.css("float","right");i.toolbarDetails.css("margin-left","0px");i.toolbarDetails.css("margin-right","7px");i.toolbarViews.css("margin-left","10px");i.toolbarViews.css("margin-right","0px");i.toolbarViews.css("float","left")}var h=new Array();if(!i.rtl){h.push(i.toolbarLeftButton);h.push(i.dateTimeInput);h.push(i.toolbarRightButton)}else{h.push(i.toolbarRightButton);h.push(i.dateTimeInput);h.push(i.toolbarLeftButton)}var l=i._views.length-1;a.each(i._views,function(p){var q="";var n=p;if(i.rtl){n=l-p}if(i._views[n].text!=undefined){q=i._views[n].text}else{switch(i._views[n].type){case"dayView":q=i.schedulerLocalization.dayViewString;break;case"weekView":q=i.schedulerLocalization.weekViewString;break;case"monthView":q=i.schedulerLocalization.monthViewString;break;case"agendaView":q=i.schedulerLocalization.agendaViewString;break;case"timelineDayView":q=i.schedulerLocalization.timelineDayViewString;break;case"timelineWeekView":q=i.schedulerLocalization.timelineWeekViewString;break;case"timelineMonthView":q=i.schedulerLocalization.timelineMonthViewString;break}}var o='<span data-type="'+i._views[n].type+'" style="cursor: pointer; outline: none; margin-left: -1px; position: relative;">'+q+"</span>";var m=a(o);m.addClass(i.toTP("jqx-group-button-normal jqx-button jqx-fill-state-normal"));h.push(m);if(n==0){if(!i.rtl){m.addClass(i.toTP("jqx-rc-l"))}else{m.addClass(i.toTP("jqx-rc-r"))}}if(n==i._views.length-1){if(!i.rtl){m.addClass(i.toTP("jqx-rc-r"))}else{m.addClass(i.toTP("jqx-rc-l"))}}if(n===i._view){m.addClass(i.toTP("jqx-fill-state-pressed"))}m.mouseenter(function(){m.addClass(i.toTP("jqx-fill-state-hover"))});m.mouseleave(function(){m.removeClass(i.toTP("jqx-fill-state-hover"))});m.mousedown(function(){i._setView(n);i.focus()});a(i.toolbarViews).append(m)});b.append(i.toolbarDetails);b.append(i.toolbarViews);if(i._views.length<2){i.toolbarViews.hide()}i.dateTimeInput.jqxDateTimeInput({dropDownWidth:220,dropDownHeight:220,rtl:i.rtl,localization:i._getDateTimeInputLocalization(),firstDayOfWeek:i.schedulerLocalization.firstDay,todayString:i.schedulerLocalization.todayString,clearString:i.schedulerLocalization.clearString,showFooter:true,height:19,width:18,renderMode:"simple"});i.addHandler(i.dateTimeInput,"change",function(m){if(!i.fromNavigate){i.navigateTo(new a.jqx.date(m.args.date,i.timeZone));i.focus()}});i.tabKeyElements=h;var g=i._views[i._view].type;var d=function(m){var o=a.jqx.formatDate(i.getViewStart().toDate(),m,i.schedulerLocalization);var n=a.jqx.formatDate(i.getViewEnd().toDate(),m,i.schedulerLocalization);if(g==="dayView"||g==="timelineDayView"){i.toolbarDetails.html(o)}else{i.toolbarDetails.html(o+" - "+n)}if(i.rtl){i.toolbarDetails.addClass("jqx-rtl");i.toolbarDetails.html("<span style='direction:rtl;'>"+n+"<span> - <span style='direction:rtl;'>"+o+"</span>")}else{i.toolbarDetails[0].style.direction="ltr"}};d(i.toolBarRangeFormat);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;var f=i.toolBarRangeFormat;if(c>i.host.width()){f=i.toolBarRangeFormatAbbr;d(f);var c=i.toolbarViews.width()+i.toolbarDetails.width()+120;if(c>i.host.width()){i.toolbarDetails.hide();var c=i.toolbarViews.width()+120;if(c>i.host.width()){i.toolbarViews.hide()}}}else{i.currentToolbarFormat=i.toolBarRangeFormat}},_setView:function(g){var f=this;f.toolbarViews.find(".jqx-fill-state-pressed").removeClass(f.toTP("jqx-fill-state-pressed"));if(!f.rtl){a(f.toolbarViews.children()[g]).addClass(f.toTP("jqx-fill-state-pressed"))}else{a(f.toolbarViews.children()[f._views.length-1-g]).addClass(f.toTP("jqx-fill-state-pressed"))}if(f._view===g){return}var b=f.vScrollBar[0].style.visibility;if(b){if(!f._scrollPosition){f._scrollPosition=new Array()}f._scrollPosition[f._view]=f.vScrollInstance.value}var c=f.hScrollBar[0].style.visibility;if(c){if(!f._hscrollPosition){f._hscrollPosition=new Array()}f._hscrollPosition[f._view]=f.hScrollInstance.value}var i=f._views[f._view].type;var e=f._views[g].type;f._view=g;f._refreshColumns();f.refresh();var h=f.hScrollBar[0].style.visibility;if(c!==h){f._renderrows();f._updateTouchScrolling()}if(f._scrollPosition[f._view]){f.vScrollInstance.setPosition(f._scrollPosition[f._view])}if(f._hscrollPosition[f._view]){f.hScrollInstance.setPosition(f._hscrollPosition[f._view])}if(f.selectedJQXAppointment){f._ensureAppointmentVisible(f.selectedJQXAppointment)}var d=f.getViewStart();var j=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._raiseEvent("viewChange",{date:f.date,from:d,to:j,oldViewType:i,newViewType:e})},_getDateTimeInputLocalization:function(){var b=this;var c={};c.backString=b.schedulerLocalization.backString;c.forwardString=b.schedulerLocalization.forwardString;c.todayString=b.schedulerLocalization.todayString;c.clearString=b.schedulerLocalization.clearString;c.calendar=b.schedulerLocalization;return c},setView:function(b){switch(b){case"dayView":this._setView(0);break;case"weekView":this._setView(1);break;case"monthView":this._setView(2);break;case"timelineDayView":this._setView(3);break;case"timelineWeekView":this._setView(4);break;case"timelineMonthView":this._setView(5);break}this.view=b},navigateForward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(1);break;case"agendaView":if(i.days){c=c.addDays(i.days)}else{c=c.addDays(7)}break}return this.navigateTo(c)},navigateBackward:function(){var d=this;var h=this._views[this._view].type;var i=this._views[this._view];var c=new a.jqx.date(this.date,d.timeZone);var j=function(){while((c.dayOfWeek()==0||c.dayOfWeek()==6)&&false===i.showWeekends){c=c.addDays(-1)}return c};switch(h){case"dayView":case"timelineDayView":c=c.addDays(-1);c=j();break;case"weekView":case"timelineWeekView":c=c.addDays(-7);break;case"monthView":case"timelineMonthView":var g=c.day();var e=c.month();var f=c.year();var b=new a.jqx.date(f,e,1);b.timeZone=d.timeZone;c=b.addMonths(-1);break;case"agendaView":if(i.days){c=c.addDays(-i.days)}else{c=c.addDays(-7)}break}return this.navigateTo(c)},_refreshToolBar:function(d){var f=this;var g=f.getViewStart();var e=f.getViewEnd();var c=function(i){var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization);var h=f._views[f._view].type;var k=f._views[f._view];if(k.showWeekends===false){if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(g.dayOfWeek()==0||g.dayOfWeek()==6){g=g.addDays(1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}if(e.dayOfWeek()==0||e.dayOfWeek()==6){e=e.addDays(-1)}var l=a.jqx.formatDate(g.toDate(),i,f.schedulerLocalization);var j=a.jqx.formatDate(e.toDate(),i,f.schedulerLocalization)}if(h==="dayView"||h==="timelineDayView"){f.toolbarDetails.html(l)}else{f.toolbarDetails.html(l+" - "+j)}if(f.rtl){f.toolbarDetails.addClass("jqx-rtl");f.toolbarDetails.html("<span style='direction:rtl;'>"+j+"<span> - <span style='direction:rtl;'>"+l+"</span>")}else{f.toolbarDetails[0].style.direction="ltr"}};if(d){c(f._lastFormatString||f.toolBarRangeFormat);return}c(f.toolBarRangeFormat);f.toolbarDetails.show();f.toolbarViews.show();var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){c(f.toolBarRangeFormatAbbr);var b=f.toolbarViews.width()+f.toolbarDetails.width()+120;if(b>f.host.width()){f.toolbarDetails.hide();var b=f.toolbarViews.width()+120;if(b>f.host.width()){f.toolbarViews.hide()}}}},navigateTo:function(b){var d=this;if(a.type(b)=="date"){b=new a.jqx.date(b)}if(b<this.min){return}if(b>this.max){return}b.timeZone=d.timeZone;d.date=b;d._refreshToolBar(true);d.fromNavigate=true;d.dateTimeInput.val(b.toDate());d.fromNavigate=false;d._refreshColumnTitles();d._renderrows();d._updateFocusedCell();if(d.resources){d._renderhorizontalscroll()}var e=d.getViewStart();var c=a.jqx.scheduler.utilities.getEndOfDay(d.getViewEnd());d._raiseEvent("dateChange",{date:b,from:e,to:c})},_preparecolumnGroups:function(){var n=this.columnsHeight;if(this.columnGroups){this.columnshierarchy=new Array();if(this.columnGroups.length){var l=this;for(var f=0;f<this.columnGroups.length;f++){this.columnGroups[f].parent=null;this.columnGroups[f].groups=null}for(var f=0;f<this.columns.records.length;f++){this.columns.records[f].parent=null;this.columns.records[f].groups=null}var m=function(j){for(var s=0;s<l.columnGroups.length;s++){var t=l.columnGroups[s];if(t.name===j){return t}}return null};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];if(!o.groups){o.groups=null}if(o.parentGroup){o.parentgroup=o.parentGroup}if(o.parentgroup){var q=m(o.parentgroup);if(q){o.parent=q;if(!q.groups){q.groups=new Array()}if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];if(o.columngroup){var q=m(o.columngroup);if(q){if(!q.groups){q.groups=new Array()}o.parent=q;if(q.groups.indexOf(o)===-1){q.groups.push(o)}}}}var p=0;for(var f=0;f<this.columns.records.length;f++){var o=this.columns.records[f];var c=o;o.level=0;while(c.parent){c=c.parent;o.level++}var c=o;var b=o.level;p=Math.max(p,o.level);while(c.parent){c=c.parent;if(c){c.level=--b}}}var k=function(w){var v=new Array();if(w.columngroup){v.push(w)}if(!w.groups){return new Array()}for(var u=0;u<w.groups.length;u++){if(w.groups[u].columngroup){v.push(w.groups[u])}else{if(w.groups[u].groups){var t=k(w.groups[u]);for(var s=0;s<t.length;s++){v.push(t[s])}}}}return v};for(var f=0;f<this.columnGroups.length;f++){var o=this.columnGroups[f];var d=k(o);o.columns=d;var g=new Array();var r=0;for(var e=0;e<d.length;e++){g.push(this.columns.records.indexOf(d[e]));if(d[e].pinned){r++}}if(r!=0){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group cannot be pinned.")}g.sort(function(j,i){j=parseInt(j);i=parseInt(i);if(j<i){return -1}if(j>i){return 1}return 0});for(var h=1;h<g.length;h++){if(g[h]!=g[h-1]+1){throw new Error("jqxScheduler: Column Groups initialization Error. Please, check the initialization of the jqxScheduler's columns array. The columns in a column group are expected to be siblings in the columns array.");this.host.remove()}}}}this.columnGroupslevel=1+p;n=this.columnGroupslevel*this.columnsHeight}return n},wheel:function(d,c){if(c.editRecurrenceDialog&&c.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(c._editDialog&&c._editDialog.jqxWindow("isOpen")){return true}if(c.autoheight&&c.hScrollBar.css("visibility")=="hidden"){d.returnValue=true;return true}var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(b){if(d.preventDefault){d.preventDefault()}if(d.originalEvent!=null){d.originalEvent.mouseHandled=true}if(d.stopPropagation!=undefined){d.stopPropagation()}}if(b){b=false;d.returnValue=b;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(d){if(this.vScrollBar.css("visibility")!="hidden"){var c=this.vScrollInstance.value;if(d<0){this.vScrollInstance.setPosition(this.vScrollInstance.value+2*10)}else{this.vScrollInstance.setPosition(this.vScrollInstance.value-2*10)}var b=this.vScrollInstance.value;if(c!=b){return true}}else{if(this.hScrollBar.css("visibility")!="hidden"){var c=this.hScrollInstance.value;if(d>0){if(this.hScrollInstance.value>2*10){this.hScrollInstance.setPosition(this.hScrollInstance.value-2*10)}else{this.hScrollInstance.setPosition(0)}}else{if(this.hScrollInstance.value<this.hScrollInstance.max){this.hScrollInstance.setPosition(this.hScrollInstance.value+2*10)}else{this.hScrollInstance.setPosition(this.hScrollInstance.max)}}var b=this.hScrollInstance.value;if(c!=b){return true}}}return false},_removeHandlers:function(){var e=this;if(e._mousewheelfunc){e.removeHandler(this.host,"mousewheel",e._mousewheelfunc)}e.removeHandler(a(document),"keydown.scheduler"+e.element.id);e.removeHandler(e.host,"focus");e.removeHandler(e.host,"blur");e.removeHandler(e.host,"dragstart."+e.element.id);e.removeHandler(e.host,"selectstart."+e.element.id);e.removeHandler(a(window),"jqxReady."+e.element.id);e.removeHandler(e.host,"mousewheel",e._mousewheelfunc);var d="mousedown";if(e.isTouchDevice()){d=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){d="mousedown"}}if(e.table){e.removeHandler(e.table,"mouseleave")}var c="mousemove.scheduler"+e.element.id;var f="mouseup.scheduler"+e.element.id;if(e.isTouchDevice()&&e.touchMode!==true){c=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+e.element.id;f=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+e.element.id}e.removeHandler(a(document),c);e.removeHandler(a(document),f);if(!e.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var g=null;if(window.parent&&document.referrer){g=document.referrer}if(g&&g.indexOf(document.location.host)!=-1){e.removeHandler(a(window.top.document),"mouseup.jqxscheduler"+e.element.id)}}}}catch(b){}}e.removeHandler(e.host,c);e.removeHandler(a(document),"keydown.jqxscheduler"+e.element.id);e.removeHandler(e.host,"keydown");if(e.table){e.removeHandler(e.table,"dblclick");e.removeHandler(e.pinnedtable,d);e.removeHandler(e.table,d)}},selectAppointment:function(b){if(this.appointmentsByKey[b]){this._selectAppointment(this.appointmentsByKey[b].jqxAppointment)}},_selectAppointment:function(d,i,f){if(!d){return}var h=this;if(h.selectedAppointment){h.clearAppointmentsSelection()}var e=d.id;var c=a('[data-key="'+e+'"]');if(c.length>0){h.selectedJQXAppointment=d;if(!i){h.selectedAppointment=a(c[0])}else{h.selectedAppointment=a(i)}var b=h._views[h._view].type;var g=h._views[h._view];if(b=="agendaView"){h.clearSelection();return}c.addClass(h.toTP("jqx-scheduler-selected-appointment"));if(d.resizable){c.find(".jqx-scheduler-appointment-resize-indicator").show()}switch(b){case"dayView":a(c).find(".jqx-scheduler-appointment-left-resize-indicator").hide();a(c).find(".jqx-scheduler-appointment-right-resize-indicator").hide();break;case"weekView":break;case"monthView":case"timeLineMonthView":case"timeLineDayView":case"timeLineWeekView":if(c.length>1){a.each(c,function(j){if(!h.rtl){if(j>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}}else{if(j>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator").hide()}if(j<c.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator").hide()}}})}break}if(f=="mouse"){h.clearSelection();return}}h.clearSelection()},clearAppointmentsSelection:function(){var d=this;if(d.selectedAppointment){var c=d.selectedAppointment.attr("data-key");var b=a('[data-key="'+c+'"]');b.removeClass(d.toTP("jqx-scheduler-selected-appointment"));b.find(".jqx-scheduler-appointment-resize-indicator").hide();d.selectedAppointment=null;d.selectedJQXAppointment=null}},selectCell:function(c,m,l){var g=this;var n=c.toDate();for(var f=0;f<g.rows.length;f++){for(var e=0;e<g.rows[f].cells.length;e++){var k=g.rows[f].cells[e];if(l){if(k.getAttribute("data-view")!==l){continue}}var h=k.getAttribute("data-date");var b=g._getDateByString;var d=b(h);if(m&&k.getAttribute("data-end-date")){if(d.valueOf()==c.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}else{if(!m&&k.getAttribute("data-end-date")){continue}}if(d.valueOf()==n.valueOf()){k.setAttribute("data-selected","true");g.focusedCell=k;g._lastSelectedCell=k;g._updateCellsSelection();g._ensureVisible(g.focusedCell);return}}}g._updateCellsSelection()},selectRange:function(m,n,q,p){var k=this;if(m<this.min){m=this.min}if(n>this.max){n=this.max}var f=m.toDate();var d=n.toDate();var g=false;for(var h=0;h<k.rows.length;h++){for(var e=0;e<k.rows[h].cells.length;e++){var o=k.rows[h].cells[e];if(p){if(o.getAttribute("data-view")!==p){continue}}var l=o.getAttribute("data-date");var b=k._getDateByString;var c=b(l);if(q&&o.getAttribute("data-end-date")){if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true")}}else{if(!q&&o.getAttribute("data-end-date")){continue}}if(c.valueOf()>=f.valueOf()&&c.valueOf()<=d.valueOf()){o.setAttribute("data-selected","true");if(!g){k._lastSelectedCell=o;k.focusedCell=o;g=true}}}}k._updateCellsSelection()},_selectRange:function(b,r){var h=this;if(h._views[h._view].type=="agendaView"){return}var k=b;var v=r.getAttribute("data-view");if(b.getAttribute("data-view")!==v){return}var q=r.getAttribute("data-date");var m=k.getAttribute("data-date");if(null==q||null==m){return}var C=r.getAttribute("data-end-date");var F=k.getAttribute("data-end-date");var H=C!=null||F!=null;var s=C!=null&&F!=null;var n=h._getDateByString;var u=n(q);var t=n(m);if(u<this.min.toDate()){u=this.min.toDate()}if(t<this.min.toDate()){t=this.min.toDate()}if(u>this.max.toDate()){u=this.max.toDate()}if(t>this.max.toDate()){t=this.max.toDate()}var w=Math.min(u,t);var A=Math.max(u,t);var p=h.rows;var f=0;var e=0;if(f>0&&h.rtl){f=0;e=1}var d=p.length;if(H){d=1;if(b.getAttribute("data-end-date")==null){t.setHours(0,0,0,0);var B=new a.jqx.date(t,h.timeZone).toString();var E=a(k).parent().index();a.each(p[0].cells,function(){var i=this.getAttribute("data-date");if(i===B){b=this;s=r.getAttribute("data-end-date")!=null&&b.getAttribute("data-end-date")!=null;var I=r.getAttribute("data-date");var j=b.getAttribute("data-date");var K=n(I);var J=n(j);w=Math.min(K,J);A=Math.max(K,J);return false}})}}for(var z=0;z<d;z++){var g=p[z];if(H&&this.tableRows>1){var y=parseInt(b.getAttribute("data-view"));var l=p.length/h.tableRows;var o=(-1+y)*l;c=p[o];g=p[o]}var c=g.cells;for(var x=f;x<c.length-e;x++){if(c[x].getAttribute("data-view")!==v){continue}c[x].removeAttribute("data-selected");if(!s&&c[x].getAttribute("data-end-date")){continue}var G=c[x].getAttribute("data-date");var D=n(G).valueOf();if(w<=D&&D<=A){c[x].setAttribute("data-selected","true")}}}h._updateCellsSelection()},findCell:function(s,p){var k=this;var l=null;if(!k._tableOffset){var c=k.schedulercontent.coord();k._tableOffset=c}var g=k._tableOffset;var e=g.top;var n=g.left;if(p<e){return null}if(s<n){return null}if(p>e+k._hostHeight){return null}if(s>n+k._hostWidth){return null}var q=false;var r=k.rows;var o=k._views[k._view];var t=o.type;var D=0;var m=k.vScrollInstance.value;var u=k.hScrollInstance.value;for(var B=0;B<r.length;B++){if(q){break}var h=r[B];var d=h.cells;var z=false;if(B==0&&t=="dayView"||t=="weekView"){z=k.showAllDayRow;if(o.timeRuler&&(t==="dayView"||t==="weekView")){if(o.timeRuler.showAllDayRow!=undefined){z=o.timeRuler.showAllDayRow}}if(z){D=k._allDayRowFullHeight}}for(var C=0;C<d.length;C++){var b=d[C];if(C==0&&b.getAttribute("data-time-slot")){continue}if(!b._left){var f=b.offsetLeft+n;var v=b.offsetTop+e;var A=b.offsetWidth;var w=b.offsetHeight;b._left=f;b._top=v;b._width=A;b._height=w}else{var f=b._left;var v=b._top;var A=b._width;var w=b._height}b._left=f;b._top=v;b._width=A;b._height=w;if(A===0||w===0){continue}if(!k.rtl){f-=u}else{if(k.hScrollInstance.element.style.visibility!="hidden"){f-=(k.hScrollInstance.max-u)}}v-=m;if(B==0&&z){v+=m}if(v<=p&&p<v+w){if(f<=s&&s<f+A){l=b;q=true;break}}else{break}}}return l},_removeFeedbackAndStopResize:function(){var d=this;if(!d.feedback){return}d.feedback.remove();d.feedback=null;d.pinnedfeedback.remove();d.pinnedfeedback=null;if(d.feedbacks){for(var c=0;c<d.feedbacks.length;c++){d.feedbacks[c].remove()}}d._resizeDays=0;d._resizeStep=0;d._lastX=null;d.feedbacks=new Array();d.leftResize=false;d.rightResize=false;d.topResize=false;d.bottomResize=false;d.overlay.hide();d.resizing=false;d.resizeFrom=null;d._dragCell=null;d._dragStartCell=null;d.resizeTo=null;d.dragOrResize=false;d.isMouseDown=false;if(d.selectedJQXAppointment){var b=a('[data-key="'+d.selectedJQXAppointment.id+'"]');b.removeClass(d.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"))}if(d.openedMonthCellPopup){d.openedMonthCellPopup.remove()}},_saveChangesAfterDragOrResize:function(e,b,r,m){var l=this;if(e===false){if(!b.isException()){if(!b.rootAppointment.recurrenceException){b.rootAppointment.recurrenceException=new Array()}if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(b);b.rootAppointment.recurrenceException.push(b.occurrenceFrom)}else{b.exceptions.push(b);b.recurrenceException.push(b.occurrenceFrom)}}else{var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){d[h]=b;break}}}}else{if(e===true){if(b.isException()){var d=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var h=0;h<d.length;h++){if(d[h].occurrenceFrom.equals(b.occurrenceFrom)){for(var g=0;g<b.rootAppointment.recurrenceException.length;g++){if(b.rootAppointment.recurrenceException[g].equals(d[h].occurrenceFrom)){var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());b.rootAppointment.recurrenceException[g]=f;break}}d[h]=b;var q=b.from;var f=new a.jqx.date(d[h].occurrenceFrom.year(),d[h].occurrenceFrom.month(),d[h].occurrenceFrom.day(),b.from.hour(),b.from.minute(),b.from.second());d[h].occurrenceFrom=f;break}}}if(b.rootAppointment!=null){b.rootAppointment.recurrencePattern=b.rootAppointment.recurrencePattern.createNewPattern();var p=b.rootAppointment.from;var n=b.rootAppointment.duration();var c=b.rootAppointment.recurrencePattern.freq;var f=null;switch(c){case"daily":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"weekly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"monthly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break;case"yearly":f=new a.jqx.date(p.year(),p.month(),p.day(),b.from.hour(),b.from.minute(),b.from.second());break}if(m){b.rootAppointment.from=p;b.rootAppointment.to=p.add(b.duration())}else{b.rootAppointment.from=f;b.rootAppointment.to=f.add(n)}b.rootAppointment.allDay=b.allDay;b.rootAppointment.resourceId=b.resourceId;b.rootAppointment.color=b.color;b.rootAppointment.borderColor=b.borderColor;b.rootAppointment.background=b.background;b.rootAppointment.timezone=b.timezone;b.rootAppointment.subject=b.subject;b.rootAppointment.description=b.description;b.rootAppointment.location=b.location;b.rootAppointment.category=b.category;b.rootAppointment.status=b.status;if(!l.resizing){b.rootAppointment.recurrencePattern.setFrom(f)}else{b.rootAppointment.recurrencePattern.setFrom(p)}}else{b.recurrencePattern=b.recurrencePattern.createNewPattern();b.recurrencePattern.setFrom(b.from)}var o=a(r).attr("data-view");var k=l._resources[parseInt(o)-1];if(k!=null){if(b.rootAppointment!=null){b.rootAppointment.resourceId=k}else{b.resourceId=k}}}}},_handleMouseUp:function(k,i,g){var f=this;clearInterval(f._verticalIntervalDragVelocity);clearInterval(f._horizontalIntervalDragVelocity);clearInterval(f._intervalDrag);clearInterval(f._horizontalIntervalDrag);var b=k;var j=false;if(!g){if(f._dragStartCell==i){j=true}}else{if(f.resizeTo){if(b.to.equals(f.resizeTo)){j=true}}else{if(f.resizeFrom){if(b.from.equals(f.resizeFrom)){j=true}}}}if(j){var h=a('[data-key="'+k.id+'"]');h.removeClass(f.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));f._removeFeedbackAndStopResize();return}var d=b.duration();var c=b.duration().days()>=1||b.allDay;var e=function(t,q){if(q.allDay||c){var w=f.getMaxAllDayAppointments(f.appointmentsToRender)}if(g){if(f.resizeTo){if(f.resizeTo>f.max){f.resizeTo=f.max}if(f.resizeTo<f.min){f.resizeTo=f.min}q.to=f.resizeTo}else{if(f.resizeFrom){if(f.resizeFrom>f.max){f.resizeFrom=f.max}if(f.resizeFrom<f.min){f.resizeFrom=f.min}q.from=f.resizeFrom}}if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{var x=f._views[f._view].type;var u=f._views[f._view];var C=a(i).attr("data-date");var D=a(i).attr("data-end-date")!=null;var o=new a.jqx.date(C,f.timeZone);if(o<f.min){o=f.min}if(o>f.max){o=f.max}if(f.rtl&&c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="monthView"||x=="timelineMonthView")){q.to=a.jqx.scheduler.utilities.getEndOfDay(o)}else{if(f.rtl&&(x=="timelineDayView"||x=="timelineWeekView")){var n=f.getMinutesPerScale();q.to=o.addMinutes(n)}else{q.from=o}}}if(x==="dayView"||x==="weekView"){if(!c&&!D){q.to=o.add(d);q.allDay=false}else{if(!c&&D){q.to=a.jqx.scheduler.utilities.getEndOfDay(o);q.allDay=true}else{if(c&&D&&!f.rtl){q.to=o.add(d);if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&D&&f.rtl){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)));if(q.from.hour()==0&&q.from.minute()==0&&q.to.hour()==23&&q.to.minute()==59){q.allDay=true}}else{if(c&&!D){var A=30;var E=u.timeRuler&&u.timeRuler.scale;switch(E){case"sixtyMinutes":case"hour":A=60;break;case"fifteenMinutes":case"quarterHour":A=15;break;case"tenMinutes":A=10;break;case"fiveMinutes":A=5;break}q.to=o.addMinutes(A);q.allDay=false}}}}}}else{if(x==="monthView"){if(!f.rtl){q.to=o.add(d)}else{q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}}else{if(x==="timelineDayView"||x==="timelineWeekView"||x==="timelineMonthView"){if(!f.rtl){q.to=o.add(d)}else{if(x=="timelineMonthView"){q.from=a.jqx.scheduler.utilities.getStartOfDay(q.to.add(new a.jqx.timeSpan(-d)))}else{var n=f.getMinutesPerScale();q.from=o.addMinutes(n).add(new a.jqx.timeSpan(-d))}}}}}}f._saveChangesAfterDragOrResize(t,q,i,f.resizing);var x=a(i).attr("data-view");var y=f._resources[parseInt(x)-1];if(y!=null){q.resourceId=y}f.resizing=false;f.resizeFrom=null;f._dragCell=null;f.resizeTo=null;var p={};var v={};for(var F in f.appointmentDataFields){var m=f.appointmentDataFields[F];var z=q[F];p[F]=z;if(F=="from"||F=="to"){z=z.toDate()}v[m]=z}p.jqxAppointment=q;p.originalData=v;q.boundAppointment=p;f._raiseEvent("appointmentChange",{appointment:q.boundAppointment});f.changedAppointments[q.id]={type:"Update",appointment:q.boundAppointment};f.table.find(".jqx-icon-arrow-down").hide();if(f._views[f._view].type=="monthView"&&f._views[f._view].monthRowAutoHeight){f._renderrows()}else{if((f._views[f._view].type=="weekView"||f._views[f._view].type=="dayView")&&(q.allDay||c)){if(f.tableRows>1){f._renderrows()}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r);var l=f.getMaxAllDayAppointments(f.appointmentsToRender);if(l!=w){var B=l*(f._defaultRowHeight-2);if(f.isTouchDevice()){B=Math.max(22+f._defaultRowHeight,17+B)}else{B=Math.max(3*f._defaultRowHeight,17+B)}if(f.tableRows==1){a(a(f.table[0].rows[0]).find("td")).css("height",B+"px")}else{a(a(f.table[0].rows[1]).find("td")).css("height",B+"px")}a(f.oldRow).find("td").css("height",B+"px");a(f.pinnedTableRow).find("td").css("height",B+"px");f.pinnedtable.height(B);f._updateScrollbars(f._hostHeight?f._hostHeight:f.host.height())}}}else{var s=f.getViewStart();var r=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(s,r);f._renderAppointments(s,r)}}f._removeFeedbackAndStopResize()};if(b.isRecurrentAppointment()){e(false,b)}else{e(null,b)}},_handleDayWeekViewResize:function(E,D,h,F,n){var C=this;var f=C._views[C._view].type;var B=C._views[C._view];var r=n.duration().days()>=1||n.allDay;if(!r&&!h.getAttribute("data-end-date")){var e=function(i){if(i<10){return false}return true};var j=C.findCell(C.feedback.coord().left,D);if(C.topResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-a(h).height()-3;if(e(v)){C.feedback.css("top",2+F.top+a(h).height());C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;var M=new a.jqx.date(j.getAttribute("data-date"),C.timeZone);C.resizeFrom=M.addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var v=C.selectedAppointmentTableBounds.height+C.selectedAppointmentTableBounds.top-F.top-3;if(e(v)){C.feedback.css("top",2+F.top);C.feedback.height(v);C._lastResizeY=C.feedback.coord().top;C.resizeFrom=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}else{if(C.bottomResize){if(!C._lastResizeY){C._lastResizeY=C.mouseDownPosition.top}if(D>C._lastResizeY+a(h).height()/2){var G=-5+a(h).height()+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone).addMinutes(C.getMinutesPerScale())}}else{if(D<C._lastResizeY-a(h).height()/2){var G=-5+F.top-C.selectedAppointmentTableBounds.height-C.selectedAppointmentTableBounds.top;var v=C.selectedAppointmentTableBounds.height+G;if(e(v)){C.feedback.height(v);C._lastResizeY=C.selectedAppointmentTableBounds.height+G+C.feedback.coord().top;C.resizeTo=new a.jqx.date(j.getAttribute("data-date"),C.timeZone)}}}}}}else{var p=function(i){if(i<C.cellWidth-10){return false}return true};var A=B.appointmentsRenderMode&&B.appointmentsRenderMode=="exactTime";if(n.allDay||!A){if(C.leftResize){if(!C._lastResizeX){C._lastResizeX=C.mouseDownPosition.left}if(E>C._lastResizeX+a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left-C.cellWidth;if(p(d)){C.feedback.css("left",5+F.left+C.cellWidth);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left+C.cellWidth);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone)).addDays(-1)}}}else{if(E<C._lastResizeX-a(h).width()/2){var d=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left-F.left;if(p(d)){C.feedback.css("left",5+F.left);C.feedback.width(d-5);C.feedback.hide();C.pinnedfeedback.css("left",5+F.left);C.pinnedfeedback.width(d-5);C._lastResizeX=C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}}}}}else{if(C.rightResize){if(!C._lastResizeX){C._lastResizeX=C.selectedAppointmentTableBounds.width+C.selectedAppointmentTableBounds.left}var m=a(h).width()/2;if(E>C._lastResizeX+m){var G=a(h).width()+F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.width(d-6);C.feedback.css("left",5+F.left);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone)}}}else{if(E<C._lastResizeX-m){var G=F.left-C.selectedAppointmentTableBounds.width-C.selectedAppointmentTableBounds.left;var d=C.selectedAppointmentTableBounds.width+G;if(p(d)){C.feedback.hide();C.feedback.css("left",5+F.left);C.feedback.width(d-6);C.pinnedfeedback.width(d-6);C._lastResizeX=C.selectedAppointmentTableBounds.width+G+C.pinnedfeedback.coord().left;if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(-1))}else{C.resizeFrom=new a.jqx.date(h.getAttribute("data-date"),C.timeZone).addDays(1)}}}}}}}else{var t=new Array();var b=new Array();var K=-1;var J=-1;var k=this.host.coord().left;var Q=0;var z=C.hScrollInstance.value;if(C.rtl){var z=C.hScrollInstance.max-C.hScrollInstance.value}if(C.hScrollBar[0].style.visibility=="hidden"){z=0}var O=E+z-k;k=0;for(var L=0;L<this.columns.records.length;L++){if(this.columns.records[L].timeColumn){if(!C.rtl){k+=this.columns.records[L].width;Q++}}}var s=C.getViewStart();var H=C.getViewEnd();for(var L=0;L<this._getColumnsLengthPerView();L++){var c=this.columns.records[L+Q].width;if(C.leftResize){if(!C.rtl){t.push(k);b.push(s.addDays(L));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}}if(C.rtl){t.push(k);b.push(H.addDays(-L-1));if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}}k+=c}else{if(!C.rtl){if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(s.addDays(L))}else{if(n.from.hour()!=0||(n.from.hour()==0&&n.from.minute()!=0)){if(k<C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width&&k+c>C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width){t.push(C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width+8);b.push(n.from);K=t.length-1}}if(n.to.hour()!=23||(n.to.hour()==23&&n.to.minute()!=59)){if(k<C.selectedAppointmentTableBounds.left&&k+c>C.selectedAppointmentTableBounds.left){t.push(C.selectedAppointmentTableBounds.left);b.push(n.to);J=t.length-1}}k+=c;t.push(k);b.push(H.addDays(-L-1))}}}if(C.leftResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?O>=F&&O<=N:O>=F;if(g){var c=-F+C.selectedAppointmentTableBounds.left+C.selectedAppointmentTableBounds.width;var q=C.pinnedfeedback.width();var I=C.pinnedfeedback.css("left");var l=C.resizeTo;var w=C.resizeFrom;if(c>0){C.pinnedfeedback.css("left",F);C.pinnedfeedback.width(c);if(L==K){if(!C.rtl){C.resizeFrom=n.from}else{C.resizeTo=n.from}}else{if(L==J){if(!C.rtl){C.resizeFrom=n.to}else{C.resizeTo=n.to}}else{if(!C.rtl){C.resizeFrom=b[L]}else{C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}}}}}}var o=C.resizeFrom;var P=C.resizeTo;if(C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.css("left",I);C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}else{if(C.rightResize){for(var L=0;L<t.length;L++){var F=t[L];var N=t[L+1];if(!N){N=F}var g=L<t.length-1?E>=F-this.cellWidth/3&&E<=N-this.cellWidth/3:E>=F-this.cellWidth/3;if(g){var c=F-C.selectedAppointmentTableBounds.left-15;var q=C.pinnedfeedback.width();C.pinnedfeedback.width(c);var l=C.resizeTo;var w=C.resizeFrom;if(L==K){if(!C.rtl){C.resizeTo=n.from}else{C.resizeFrom=n.from}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(L==J){if(!C.rtl){C.resizeTo=n.to}else{C.resizeFrom=n.to}var c=F-C.selectedAppointmentTableBounds.left-9;C.pinnedfeedback.width(c);break}else{if(!C.rtl){C.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(b[L])}else{C.resizeFrom=b[L]}break}}}}var o=C.resizeFrom;var P=C.resizeTo;if(!C.rtl){o=n.from}else{P=n.to}var u=new a.jqx.timeSpan(10000*(P-o));if(u.days()<1){C.pinnedfeedback.width(q);C.resizeFrom=w;C.resizeTo=l}}}}}},_handleTimelineMonthViewResize:function(t,s,q,M,k){var p=this;var w=p._views[p._view].type;var r=p._views[p._view];var D=function(i){if(i<10){return false}return true};var E=p.findCell(t,p.feedback.coord().top);if(k.allDay){if(p.leftResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left-a(q).width();if(D(v)){p.feedback.css("left",M.left+a(q).width());p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}}}else{if(t<p._lastResizeX-a(q).width()/2){var v=p.selectedAppointmentTableBounds.width+p.selectedAppointmentTableBounds.left-M.left;if(D(v)){p.feedback.css("left",M.left);p.feedback.width(v);p._lastResizeX=p.feedback.coord().left;if(!p.rtl){p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}else{p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}}}}}else{if(p.rightResize){if(!p._lastResizeX){p._lastResizeX=p.mouseDownPosition.left}if(t>p._lastResizeX+a(q).width()/2){var n=a(q).width()+M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone)}}}else{if(t<p._lastResizeX-a(q).width()/2){var n=M.left-p.selectedAppointmentTableBounds.width-p.selectedAppointmentTableBounds.left;var v=p.selectedAppointmentTableBounds.width+n-5;if(D(v)){p.feedback.width(v);p._lastResizeX=p.selectedAppointmentTableBounds.width+n+p.feedback.coord().left;if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(-1))}else{p.resizeFrom=new a.jqx.date(E.getAttribute("data-date"),p.timeZone).addDays(1)}}}}}}}else{var o=new Array();var L=new Array();var u=-1;var A=-1;var j=this.host.coord().left;var h=0;for(var J=0;J<this.columns.records.length;J++){if(this.columns.records[J].timeColumn){j+=this.columns.records[J].width;h++}}var z=p.hScrollInstance.value;if(p.rtl){var z=p.hScrollInstance.max-p.hScrollInstance.value}if(p.hScrollBar[0].style.visibility=="hidden"){z=0}var d=t+z-j;j=0;var m=p.getViewStart();var l=p.getViewEnd();var g=this._getColumnsLengthPerView()-1;for(var J=0;J<this._getColumnsLengthPerView();J++){var C=this.columns.records[J+h].width;if(p.leftResize){o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J))}if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width+8);L.push(k.to);A=o.length-1}}j+=C}else{if(k.from.hour()!=0||(k.from.hour()==0&&k.from.minute()!=0)){if(j<p.selectedAppointmentTableBounds.left&&j+C>p.selectedAppointmentTableBounds.left){o.push(p.selectedAppointmentTableBounds.left);L.push(k.from);u=o.length-1}}if(k.to.hour()!=23||(k.to.hour()==23&&k.to.minute()!=59)){if(j<p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width&&j+C>p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width){o.push(p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width);L.push(k.to);A=o.length-1}}j+=C;o.push(j);if(!p.rtl){L.push(m.addDays(J))}else{L.push(l.addDays(-J-1))}}}if(p.leftResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c&&d<=H:d>=c;if(I){var C=-c+p.selectedAppointmentTableBounds.left+p.selectedAppointmentTableBounds.width;var B=p.feedback.width();var f=p.feedback.css("left");var F=p.resizeTo;var K=p.resizeFrom;p.feedback.css("left",c);p.feedback.width(C);if(J==u){if(!p.rtl){p.resizeFrom=k.from}else{p.resizeTo=k.from}}else{if(J==A){if(!p.rtl){p.resizeFrom=k.to}else{p.resizeTo=k.to}}else{if(!p.rtl){p.resizeFrom=L[J]}else{p.resizeTo=L[J]}}}}}var G=p.resizeFrom;var e=p.resizeTo;if(p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.css("left",f);p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}else{if(p.rightResize){for(var J=0;J<o.length;J++){var c=o[J];var H=o[J+1];if(!H){H=c}var I=J<o.length-1?d>=c-this.cellWidth/3&&d<=H-this.cellWidth/3:d>=c-this.cellWidth/3;if(I){var C=c-p.selectedAppointmentTableBounds.left-12;var B=p.feedback.width();p.feedback.width(C);var F=p.resizeTo;var K=p.resizeFrom;if(J==u){if(!p.rtl){p.resizeTo=k.from}else{p.resizeFrom=k.from}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(J==A){if(!p.rtl){p.resizeTo=k.to}else{p.resizeFrom=k.to}var C=c-p.selectedAppointmentTableBounds.left;p.feedback.width(C);break}else{if(!p.rtl){p.resizeTo=a.jqx.scheduler.utilities.getEndOfDay(L[J])}else{p.resizeFrom=L[J]}break}}}}var G=p.resizeFrom;var e=p.resizeTo;if(!p.rtl){G=k.from}else{e=k.to}var b=new a.jqx.timeSpan(10000*(e-G));if(p.feedback.width()<20){p.feedback.width(B);p.resizeFrom=K;p.resizeTo=F}}}}},_handleMonthViewResize:function(K,I,g,L,r){var H=this;if(!H.selectedJQXAppointment){return}var f=H._views[H._view].type;var G=H._views[H._view];var v=function(i){if(i<10){return false}return true};var s=-5;if(H.tableColumns>1){s=parseInt(-5/H.tableColumns)}for(var R=0;R<H.columns.records.length/H.tableColumns;R++){if(H.columns.records[R].timeColumn){continue}s+=H.columns.records[R].width}var q=H.selectedJQXAppointment.resourceId;var k=H._resources.indexOf(q);if(H.resources&&H.resources.orientation=="none"){k=-1}var e="0px";if(k!=-1&&H.tableRows==1){e=s*k+"px"}if(G.showWeekNumbers){if(!H.rtl){e=parseInt(e)+H.columns.records[0].width+"px"}}var F=g.offsetWidth;var P=g.offsetHeight;var E=18;if(H.isTouchDevice()){E=2}for(var R=0;R<6;R++){H.feedbacks[R][0].style.left=e;H.feedbacks[R][0].style.width=s+"px";H.feedbacks[R][0].style.display="block";H.feedbacks[R][0].style.top=parseInt(H.rows[R].top)+E+"px";if(H.tableRows>1){H.feedbacks[R][0].style.top=parseInt(H.rows[6*k+R].top)+E+"px"}a(H.feedbacks[R][0]).find(".jqx-scheduler-appointment-resize-indicator").css("visibility","inherit")}var l=H.selectedJQXAppointment.elements;var c=l[0].cells[0].cell;var J=l[l.length-1];var N=J.lastCellY;var h=J.lastCellX;var n=l[0].cellY;var B=l[0].cellX;var t=parseInt(L.top);var S=parseInt(L.left);if(!H.rtl){if(H.leftResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px";for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var M=H.cellWidth-(u.x-B);var b=H.host.coord().left;if(K-b>=u.x&&K-b<=u.x+M+2){C[0].style.left=m+"px";C[0].style.width=u.width+"px";O=true}}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>=N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t>N||(t==N&&S>h)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}else{if(t==N&&S<=h){if(n!=N){C[0].style.width=l[Q].width-L.left+parseInt(e)+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}else{if(H.rightResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=h&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";p=true}}}else{C[0].style.width=u.width+"px"}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A<n){C[0].style.display="none"}if(A>t&&A>n){C[0].style.display="none"}if(t<=n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n&&S<B)){if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}}}else{if(H.leftResize){var p=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}else{for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.width=l[Q].width+"px";C[0].style.top=l[Q].y+"px"}}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){C[0].style.left=1+L.left+"px";C[0].style.width=-1+u.x+u.width-L.left+"px";if(L.left>u.x+u.width){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px"}if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.x-10&&K-b<=u.cellX+H.cellWidth){C[0].style.width=u.width+"px";C[0].style.left=u.x+"px";p=true}}}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t>n){C[0].style.left=e;C[0].style.width=u.x+u.width-parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=s-L.left+parseInt(e)+"px";C[0].style.left=L.left+"px"}}if(A<n){C[0].style.display="none"}if(A>t){C[0].style.display="none"}if(t<n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block";C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t==n){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(t<n||(t==n)){if(o==A&&n!=N){C[0].style.left=1+L.left+parseInt(e)+"px";if(1+L.left+parseInt(e)>u.x+u.width){C[0].style.left=u.x+"px"}C[0].style.width=-1+u.x+u.width-L.left+"px"}}}}}var D=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(g.getAttribute("data-date"),H.timeZone));if(D>H.selectedJQXAppointment.from&&!p){H.resizeTo=D}else{H.resizeTo=H.selectedJQXAppointment.to}}else{if(H.rightResize){var O=false;for(var R=0;R<6;R++){var C=H.feedbacks[R];var A=parseInt(C[0].style.top)-E;var z=parseInt(C[0].style.left);if(A<t){C[0].style.width=s+"px"}for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.top=l[Q].y+"px"}}var u=l[0];var m=parseInt(u.x);if(A==n){C[0].style.left=m+"px";if(t==n){if(S>=B){C[0].style.width=S+F-m-5+"px";if(G.appointmentsRenderMode=="exactTime"&&!H.selectedJQXAppointment.allDay){var b=H.host.coord().left;if(K-b>=u.lastCellX&&K-b<=u.x+u.width+15){C[0].style.width=u.width+"px";O=true}}}else{C[0].style.width=u.width+"px"}}else{if(t>n){C[0].style.left=m+"px";C[0].style.width=u.width+"px"}else{if(t<n){C[0].style.left=m+"px";C[0].style.width=s-m+parseInt(e)+"px"}}}}else{if(A==t){C[0].style.width=S+F-5-parseInt(e)+"px"}}if(A>N){C[0].style.display="none"}if(A<t){C[0].style.display="none"}if(t>N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(o==A){C[0].style.display="block"}if(A==N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}}}if(t<=N){if(A==N){for(var Q=0;Q<l.length;Q++){var o=l[Q].cellY;if(A!=t&&o==A&&n!=N){C[0].style.width=l[Q].width+"px";C[0].style.left=l[Q].x+"px"}else{if(A==t&&o==A&&n!=N){C[0].style.left=l[Q].x+"px";C[0].style.width=S+F-5-parseInt(e)-l[Q].x+"px"}}}}}}var D=new a.jqx.date(g.getAttribute("data-date"),H.timeZone);if(D<H.selectedJQXAppointment.to&&!O){H.resizeFrom=D}else{H.resizeFrom=H.selectedJQXAppointment.from}}}}var d=new Array();for(var R=0;R<6;R++){var C=H.feedbacks[R];if(C[0].style.display=="block"){d.push(C)}}a.each(d,function(i){if(!H.rtl){if(i>0){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}}else{if(i>0){a(this).find(".jqx-scheduler-appointment-right-resize-indicator")[0].style.visibility="hidden"}if(i<d.length-1){a(this).find(".jqx-scheduler-appointment-left-resize-indicator")[0].style.visibility="hidden"}}})},_handleTimelineDayWeekViewResize:function(m,k,d,h,b){var i=this;var l=i._views[i._view].type;var n=i._views[i._view];var e=i.getMinutesPerScale();var j=function(o){if(o<10){return false}return true};var c=i.findCell(m,i.feedback.coord().top);if(i.leftResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left-a(d).width();if(j(g)){i.feedback.css("left",2+h.left+a(d).width());i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var g=i.selectedAppointmentTableBounds.width+i.selectedAppointmentTableBounds.left-h.left;if(j(g)){i.feedback.css("left",2+h.left);i.feedback.width(g);i._lastResizeX=i.feedback.coord().left;if(!i.rtl){i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}else{if(i.rightResize){if(!i._lastResizeX){i._lastResizeX=i.mouseDownPosition.left}if(m>i._lastResizeX+a(d).width()/2){var f=a(d).width()+h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}}}else{if(m<i._lastResizeX-a(d).width()/2){var f=h.left-i.selectedAppointmentTableBounds.width-i.selectedAppointmentTableBounds.left;var g=i.selectedAppointmentTableBounds.width+f;if(j(g)){i.feedback.width(g);i._lastResizeX=i.selectedAppointmentTableBounds.width+f+i.feedback.coord().left;if(!i.rtl){i.resizeTo=new a.jqx.date(c.getAttribute("data-date"),i.timeZone)}else{i.resizeFrom=new a.jqx.date(c.getAttribute("data-date"),i.timeZone).addMinutes(e)}}}}}}},_handleResize:function(c,i,h,b,e){var g=this;var d=g._views[g._view].type;var f=g._views[g._view];if(d==="dayView"||d==="weekView"){g._handleDayWeekViewResize(c,i,h,b,e)}else{if(d==="timelineMonthView"){g._handleTimelineMonthViewResize(c,i,h,b,e)}else{if(d==="monthView"){g._handleMonthViewResize(c,i,h,b,e)}else{if(d==="timelineDayView"||d==="timelineWeekView"){g._handleTimelineDayWeekViewResize(c,i,h,b,e)}}}}if(d==="timelineDayView"||d==="timelineMonthView"||d==="timelineWeekView"){clearInterval(g._horizontalIntervalDrag);g._horizontalIntervalDrag=setInterval(function(){var k=g.host.width();var m=g.host.coord().left;var j=m+25;var l=k+j-45;if(!g.rtl){if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}else{if(c>l){g.hScrollInstance.setPosition(g.hScrollInstance.value-5)}else{if(c<j){g.hScrollInstance.setPosition(g.hScrollInstance.value+5)}}}},5)}else{if(d==="dayView"||d==="weekView"){clearInterval(g._intervalDrag);g._intervalDrag=setInterval(function(){var n=g.host.height();var k=0;if(!g.columnGroups){k+=g.showHeader?g.columnsHeight:0}else{k+=g.showHeader?g.columnsheader.height():0}if(g.showToolbar){k+=g.toolbarHeight}n-=k;var m=g.legendHeight;if(g._resources.length==0){m=0}if(g.showLegend){n-=m}var q=k+g.host.coord().top;var j=g.showAllDayRow;if(f.timeRuler&&(d==="dayView"||d==="weekView")){if(f.timeRuler.showAllDayRow!=undefined){j=f.timeRuler.showAllDayRow}}var l=e.duration().days()>=1||e.allDay;if(j&&l){q-=20}else{if(j&&g.resizing){q+=a(g.table[0].rows[0]).height();n-=a(g.table[0].rows[0]).height()}}var p=q+25;var o=n+p-45;if(i<p){g.vScrollInstance.setPosition(g.vScrollInstance.value-5)}else{if(i>o){g.vScrollInstance.setPosition(g.vScrollInstance.value+5)}}},5)}}g.resizing=true},_startTimers:function(b,h,d){var f=this;var g=f.host.coord();var e=0;var c=0;if(f.hScrollInstance.element.style.visibility!="hidden"){clearInterval(f._horizontalIntervalDragVelocity);f._horizontalIntervalDragVelocity=setInterval(function(){e++;if(e>40){e=40}},100);clearInterval(f._horizontalIntervalDrag);f._horizontalIntervalDrag=setInterval(function(){var j=f._hostWidth;var l=g.left;var i=l+30;var k=j+i-60;if(!f.rtl){if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{e=0}}}else{if(b<i){f.hScrollInstance.setPosition(f.hScrollInstance.value+10+e)}else{if(b>k){f.hScrollInstance.setPosition(f.hScrollInstance.value-10-e)}else{e=0}}}},10)}if(f.vScrollInstance.element.style.visibility!="hidden"){clearInterval(f._verticalIntervalDragVelocity);f._verticalIntervalDragVelocity=setInterval(function(){c++;if(c>40){c=40}},100);clearInterval(f._intervalDrag);f._intervalDrag=setInterval(function(){var m=f._hostHeight;var o=0;if(!f.columnGroups){o+=f.showHeader?f.columnsHeight:0}else{o+=f.showHeader?f.columnsheader.height():0}var p=f._views[f._view].type;var r=f._views[f._view];if(f.showToolbar){o+=f.toolbarHeight}m-=o;if(f.showLegend&&f._resources.length>0){m-=f.legendHeight}var k=g.top;var q=o+k;if(p=="dayView"||p=="weekView"){var j=f.showAllDayRow;if(r.timeRuler&&(p==="dayView"||p==="weekView")){if(r.timeRuler.showAllDayRow!=undefined){j=r.timeRuler.showAllDayRow}}var l=d.duration().days()>=1||d.allDay;if(j&&l){q-=20}else{if(j&&f.resizing){q+=a(f.table[0].rows[0]).height()}}}var n=q+30;var i=k+m+o-30;if(h<n){f.vScrollInstance.setPosition(f.vScrollInstance.value-10-c)}else{if(h>i){f.vScrollInstance.setPosition(f.vScrollInstance.value+10+c)}else{c=0}}},10)}},_hoverCell:function(b){var c=this;if(!c.enableHover){return true}if(c._resources.length>0){if(b.className.indexOf("pinned")>=0){return true}}if(b.className.indexOf("time-column")>=0){return true}if(b.className.indexOf("jqx-scheduler-disabled-cell")>=0){return true}if(b&&b==c.hoveredCell){return true}c.hoveredCell=b;if(!b){return true}c._removeHoveredCell();c.hoveredCell=b;b.className+=" "+c.toTP("jqx-fill-state-hover")+" "+c.toTP("jqx-grid-cell-hover")+" "+c.toTP("jqx-scheduler-cell-hover");b.jqxClassName=b.className},_removeHoveredCell:function(){var d=this;if(d.hoveredCell){var c=d.hoveredCell;var b=function(e){var f=c.className;f=f.replace(" "+d.toTP("jqx-fill-state-hover"),"");f=f.replace(" "+d.toTP("jqx-grid-cell-hover"),"");f=f.replace(" "+d.toTP("jqx-scheduler-cell-hover"),"");c.className=f;c.jqxClassName=f};b(c)}d.hoveredCell=null},_addHandlers:function(){var i=this;this._mousewheelfunc=this._mousewheelfunc||function(m){i.wheel(m,i);return false};this.focused=false;var g=false;this.addHandler(a(document),"keydown.scheduler"+i.element.id,function(m){g=false;if(m.keyCode===9&&m.shiftKey&&!i.focused){g=true}});this.addHandler(this.host,"focus",function(n){if(i.focusedCell&&!i.selectedAppointment&&!g){a(i.focusedCell).addClass(i.toThemeProperty("jqx-scheduler-cell-focus"))}i.focused=true;if(g){if(i.appointmentsToRender.length>0){var m=i.appointmentsToRender[i.appointmentsToRender.length-1];i._selectAppointment(m);i._lastSelectedAppointment=m}else{if(!i.focusedCell){i._updateFocusedCell()}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();return false}}}}}});this.addHandler(this.host,"blur",function(m){if(i.focusedCell){if(document.activeElement==i.element){return true}if(a(document.activeElement).ischildof(i.host)){return true}a(i.focusedCell).removeClass(i.toThemeProperty("jqx-scheduler-cell-focus"));i.focused=false}});this.addHandler(this.host,"dragstart."+this.element.id,function(m){return false});this.addHandler(this.host,"selectstart."+this.element.id,function(m){if(i.enableBrowserSelection){return true}if(i.showToolBar){if(a(m.target).ischildof(i.toolbar)){return true}}if(i.rowDetails){if(a(m.target).parents("[data-role=details]").length>0){return true}}if(undefined==i.editKey){return false}});this.addHandler(a(window),"jqxReady."+this.element.id,function(){});this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);this.addHandler(this.host,"mousewheel",this._mousewheelfunc);var d=this.isTouchDevice();this.vScrollInstance.valueChanged=function(m){if(i._timer){clearTimeout(i._timer)}if(d){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}}else{i._timer=setTimeout(function(){if(i.table){i.table[0].style.top=0-i.vScrollInstance.value+"px"}},1)}};this.hScrollInstance.valueChanged=function(m){if(i._htimer){clearTimeout(i._htimer)}if(d){if(i.table){i._renderhorizontalscroll()}}else{i._htimer=setTimeout(function(){if(i.table){i._renderhorizontalscroll()}},1)}};var c="mousedown";if(this.isTouchDevice()){c=a.jqx.mobile.getTouchEventName("touchstart");if(a.jqx.browser.msie&&a.jqx.browser.version<10){c="mousedown"}}this.addHandler(this.table,"mouseleave",function(m){i._removeHoveredCell()});if(i.isTouchDevice()){i.enableHover=false}var h="mousemove.scheduler"+this.element.id;var e="mouseup.scheduler"+this.element.id;if(this.isTouchDevice()&&this.touchMode!==true){h=a.jqx.mobile.getTouchEventName("touchmove")+".scheduler"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchend")+".scheduler"+this.element.id}this.addHandler(a(document),h,function(X){var M=X.pageX;var L=X.pageY;if(i.isTouchDevice()){var N=a.jqx.position(X);M=N.left;L=N.top;if(isNaN(M)||isNaN(L)){var N=a.jqx.position(X.originalEvent);M=N.left;L=N.top}}if(i.disabled||X.which===3){return true}if(!i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hostWidth){var D=i.host.coord();if(D.left+i._hostWidth<M||M<D.left){return true}if(D.top+i._hostHeight<L||L<D.top){return true}}if(i.mouseDownPosition){if((Math.abs(i.mouseDownPosition.left-M)>=3&&Math.abs(i.mouseDownPosition.left-M)<=10)||(Math.abs(i.mouseDownPosition.top-L)>=3&&Math.abs(i.mouseDownPosition.top-L)<=10)){i.dragOrResize=true}}if(i.selectedAppointment&&i.dragOrResize){var w=null;if(i._hasOpenedMenu){return true}if(i.editRecurrenceDialog.jqxWindow("isOpen")){return true}var o=i._views[i._view].type;var K=i._views[i._view];var A=false;if(X.target.nodeName.toLowerCase()==="td"){var q=X.target}else{var q=i.findCell(M,L)}if(!q){return true}if(q.getAttribute("data-time-slot")!=undefined){return true}if(q.className.indexOf("jqx-grid-cell-pinned")>=0){return true}if(!i.feedback){w=i.getJQXAppointmentByElement(i.selectedAppointment);if(!w.draggable&&!w.resizable){w=null;return true}if(i.beginDrag){var t=i.beginDrag(w);if(!t){return true}}var T=a('[data-key="'+w.id+'"]');var B=i.selectedAppointment.position();i.feedback=i.selectedAppointment.clone(true);i.pinnedfeedback=i.selectedAppointment.clone(true);var V=!(i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing);var p=function(x){if(V){x.find(".jqx-scheduler-appointment-resize-indicator").hide()}T.addClass(i.toTP("jqx-scheduler-feedback-appointment jqx-disableselect"));x.find(".jqx-scheduler-appointment-duration-status").hide();x.addClass(i.toTP("jqx-scheduler-feedback-appointment"));x.addClass(i.toTP("jqx-scheduler-feedback-drag-appointment"));if(!V){x.css("z-index",400)}else{x.css("z-index",401)}};p(i.feedback);p(i.pinnedfeedback);if(i._views[i._view].type!="monthView"||V){i.table.append(i.feedback);if(i.tableRows==1){i.pinnedtable.append(i.pinnedfeedback)}else{i.table.append(i.pinnedfeedback)}i.feedback.css("left",B.left);i.feedback.css("top",B.top);i.pinnedfeedback.css("left",B.left);i.pinnedfeedback.css("top",B.top);if(i._views[i._view].type=="monthView"&&i.isTouchDevice()){i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}else{i.feedbacks=new Array();for(var S=0;S<6;S++){i.feedbacks.push(i.feedback.clone(true));a(i.feedbacks[S]).hide();i.table.append(a(i.feedbacks[S]))}}}if(i.dragging){var t=i.dragging(w,q,i.feedback);if(false===t){return true}}var N=a(q).position();if(i.endDrag){var I=i.feedback.css("left");var J=i.feedback.css("top");var z=i.feedback.width();var F=i.feedback.height}if(!w){w=i.selectedJQXAppointment}if(!w){i.selectAppointment(i.uiappointments[0].id);w=i.selectedJQXAppointment}var v=w.resourceId;var r=i._resources.indexOf(v);if(i.resources&&i.resources.orientation=="none"){r=-1}var Q=false;var U=i.isTouchDevice();if(U&&i.touchMode!==true&&i._dragCell==null&&!(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)){switch(o){case"dayView":case"weekView":var A=w.duration().days()>=1||w.allDay;if(!A){if(L>=i.selectedAppointmentBounds.top-15&&L<=i.selectedAppointmentBounds.top+15){Q=true;i.topResize=true}if(L>=i.selectedAppointmentBounds.top-15+i.selectedAppointmentBounds.height&&L<=i.selectedAppointmentBounds.top+i.selectedAppointmentBounds.height+15){Q=true;i.bottomResize=true}}else{if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}}break;default:if(M>=i.selectedAppointmentBounds.left-15&&M<=i.selectedAppointmentBounds.left+15){Q=true;i.leftResize=true}if(M>=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width-15&&M<=i.selectedAppointmentBounds.left+i.selectedAppointmentBounds.width+15){Q=true;i.rightResize=true}break}}if(U&&(i.leftResize||i.rightResize||i.topResize||i.bottomResize||i.resizing)||Q){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!U&&i.selectedAppointment[0].style.cursor=="row-resize"||i.selectedAppointment[0].style.cursor=="col-resize"||i.resizing){if(q.getAttribute("data-view")!=r+1&&i._resources.length>0){if(i.resources&&i.resources.orientation!="none"){return true}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}i._handleResize(M,L,q,N,w);i._oldResizeTD=q}else{if(!w.draggable){i._removeFeedbackAndStopResize();return true}if(i._dragCell==q){i._startTimers(M,L,w);if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}else{return}}var W=i._getDateByString(q.getAttribute("data-date"));if(W<i.min.toDate()||W>i.max.toDate()){return}var E=w.duration();if(o.indexOf("month")>=0&&new a.jqx.date(W).add(E)>i.max){return}var P=i.vScrollBar[0].style.visibility=="hidden"?0:6+i.vScrollBar.outerWidth();i._dragCell=q;i.feedback[0].style.left=2+N.left+"px";i.feedback[0].style.top=2+N.top+"px";if(o==="dayView"||o==="weekView"){i.pinnedfeedback.css("left",2+N.left);i.pinnedfeedback.css("top",2+N.top);var m=0;if(q.getAttribute("data-end-date")){var s=i.appointmentsMinHeight;if(i.isTouchDevice()){s=i.touchAppointmentsMinHeight}if(K.appointmentHeight){s=K.appointmentHeight}A=w.duration().days()>=1||w.allDay;i.feedback.css("top",2+N.top+s);i.pinnedfeedback.css("top",2+N.top+18);if(o=="dayView"){var R=i.selectedAppointment.coord().left-9;i.feedback.css("left",R);i.pinnedfeedback.css("left",R)}if(A){i.pinnedfeedback.css("top",w.elements[0].y);m=i.selectedAppointment.width();if(2+N.left+m>i.host.width()-P){var C=2+N.left+m-i.host.width()+P+6;m-=C}i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}else{m=a(q).width()-4;i.feedback.width(m);i.feedback.height(s);i.pinnedfeedback.width(m);i.pinnedfeedback.height(s)}i.feedback.hide();i.pinnedfeedback.show()}else{i.feedback.show();i.pinnedfeedback.hide();var u=2;var O=30;var H=K.timeRuler&&K.timeRuler.scale;switch(H){case"sixtyMinutes":case"hour":u=1;break;case"thirtyMinutes":case"halfHour":u=2;break;case"fifteenMinutes":case"quarterHour":u=4;break;case"tenMinutes":u=6;break;case"fiveMinutes":u=12;break}m=a(q).width()-4;i.feedback.width(m);A=w.duration().days()>=1||w.allDay;if(A){i.feedback.height((a(q).height())-6)}else{i.feedback.height(i.selectedAppointment.height())}}i._startTimers(M,L,w)}else{if(o==="monthView"){i.feedback.css("left",1+N.left);var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}else{i.feedback.css("top",i.selectedAppointment.height()+N.top-2)}if(i.isTouchDevice()){i.feedback.css("top",N.top+2)}m=i.selectedAppointment.width();i.feedback.width(m);i.feedback.height(i.selectedAppointment.height());i._startTimers(M,L,w)}else{if(o==="timelineDayView"||o==="timelineMonthView"||o==="timelineWeekView"){var n=i.selectedAppointmentTableBounds;var G=parseInt(n.top);if(G>N.top&&G<N.top+q.offsetHeight){i.feedback.css("top",G+"px")}i._startTimers(M,L,w)}}}}}if(i.endDrag){var t=i.endDrag(w,q,i.feedback);if(!t){i.feedback.width(z)}i.feedback.height(F);i.feedback.css("top",J);i.feedback.css("left",I);return true}if(i.isTouchDevice()&&i.touchMode!==true){X.stopPropagation();return false}}});var l=function(m){i.isMouseDown=false;i.dragOrResize=false;if(i.contextMenu&&i.menu&&m.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}if(m.which===3){return true}if(i.selectedAppointment&&i.feedback){if(i.editRecurrenceDialog.jqxWindow("isOpen")){return}i._handleMouseUp(i.selectedJQXAppointment,i._dragCell,i.resizing)}};this.addHandler(a(document),e,function(m){return l(m)});if(!this.isTouchDevice()){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var b=null;if(window.parent&&document.referrer){b=document.referrer}if(b&&b.indexOf(document.location.host)!=-1){var f=function(m){if(!i.disabled){return l(m)}};i.addHandler(a(window.top.document),"mouseup.jqxscheduler"+i.element.id,f)}}}}catch(k){}}this.addHandler(this.host,h,function(o){var C=o.pageX;var A=o.pageY;if(i.disabled||o.which===3){return true}if(i.selectedAppointment&&i.isMouseDown){return true}if(i.hScrollInstance.isScrolling()||i.vScrollInstance.isScrolling()){return true}if(i._hasOpenedMenu){return true}if(i.overlay[0].style.display!=="none"){return true}var n=null;if(o.target.className.indexOf("jqx-scheduler-appointment")>=0&&o.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-content")==-1&&o.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=o.target}var u=o.target;for(var v=0;v<4;v++){if(u.parentNode){if(u.className.indexOf("jqx-scheduler-appointment")>=0&&u.className.indexOf("jqx-scheduler-appointment-innter-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-content")==-1&&u.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1){n=u}u=u.parentNode}else{break}}if(n){var B=i._views[i._view].type;var E=i._views[i._view];var D=i.getJQXAppointmentByElement(n);if(D.resizable){var t=D.duration();var p=D.allDay||t.days()>=1||(t.hours()==23&&t.minutes==59&&t.seconds==59);var z=a(n).coord();var w=a(n).position();i.selectedAppointmentBounds={top:z.top,left:z.left,width:a(n).width(),height:a(n).height()};i.selectedAppointmentTableBounds={top:w.top,left:w.left,width:a(n).width(),height:a(n).height()};var m=i.selectedAppointmentBounds;if(B=="weekView"||B=="dayView"){if(!p){if(A>=m.top-3&&A<=m.top+6){n.style.cursor="row-resize";i.topResize=true;i.bottomResize=false}else{if(A>=m.top+m.height-6&&A<=m.top+m.height+3){n.style.cursor="row-resize";i.topResize=false;i.bottomResize=true}else{n.style.cursor="pointer"}}}else{if(B!="dayView"){if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}else{n.style.cursor="pointer"}}}else{if(B=="monthView"&&D.elements.length>1){var s=i.table.coord();for(var v=0;v<D.elements.length;v++){var q=D.elements[v];var m={top:s.top+q.y,left:s.left+q.x,width:q.width,height:q.height};if((v==0&&!i.rtl)||(v==D.elements.length-1&&i.rtl)){if(C>=m.left-3&&C<=m.left+6){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}else{if((v==D.elements.length-1&&!i.rtl)||(v==0&&i.rtl)){if(C>=m.left+m.width-6&&C<=m.left+m.width+3){if(A>=m.top&&A<=m.top+m.height){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true;i.selectedAppointment=a(n);break}else{n.style.cursor="pointer"}}else{n.style.cursor="pointer"}}}}}else{if(C>=m.left-3&&C<=m.left+6){n.style.cursor="col-resize";i.leftResize=true;i.rightResize=false}else{if(C>=m.left+m.width-6&&C<=m.left+m.width+3){n.style.cursor="col-resize";i.leftResize=false;i.rightResize=true}else{n.style.cursor="pointer"}}}}}}if(!i.enableHover){return true}if(o.target.nodeName.toLowerCase()==="td"){var r=o.target}else{var r=i.findCell(C,A)}if(!r){return true}i._removeHoveredCell();if(i.renderedRecords&&i.renderedRecords.length===0){return true}if(i.isMouseDown){if(Math.abs(i.mousecaptureposition.left-C)>3||Math.abs(i.mousecaptureposition.top-A)>3){if(i.mousecaptureposition.clickedcell.length===0){i.selectionarea[0].style.visibility="hidden";return}if(i.lastHoveredCell!=r){if(i._selectRangeTimer){clearTimeout(i._selectRangeTimer)}i._selectRangeTimer=setTimeout(function(){var x=i._views[i._view].type;if(x!="agendaView"){i._selectRange(r,i.mousecaptureposition.clickedcell[0])}},1)}i.lastHoveredCell=r}}else{if(!n){if(i.rows.length==1&&i.rows[0].cells.length==1){return true}i._hoverCell(r)}}return true});this.addHandler(a(document),"keydown.jqxscheduler"+i.element.id,function(m){if(i.focused&&m.ctrlKey){if(m.keyCode==68){return false}}});this.addHandler(this.host,"keydown",function(m){return i._handleKey(m)});if(a.jqx.browser.msie&&a.jqx.browser.version<9){this.addHandler(this.table,"dblclick",function(m){i.table.trigger("mousedown",m)})}var j=function(K){var M=K.target;var u=null;if(i.disabled){return true}if(!i.menu&&K.which==3){i._initMenu()}var n=i.table.coord();var B=K.pageX;var w=K.pageY;if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(arguments&&arguments.length==2){B=arguments[1].pageX;w=arguments[1].pageY}}if(i.isTouchDevice()){var N=a.jqx.position(K);B=N.left;w=N.top;if(isNaN(B)||isNaN(w)){var N=a.jqx.position(K.originalEvent);B=N.left;w=N.top}}i.mouseDown={top:w,left:B};var u=i.findCell(B,w);if(K.target.nodeName.toLowerCase()==="td"){var u=K.target}else{var u=i.findCell(B,w)}var D=i._views[i._view].type;var v=i._views[i._view];if(D==="monthView"&&v.weekViewNavigation){if(u&&u.getAttribute("data-time-slot")){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("weekView")}}if(D==="monthView"&&v.dayViewNavigation){var m=a(u).coord().top;if(u&&w>=m&&m+16>=w){var z=i._getDateByString(u.getAttribute("data-date"));var J=new a.jqx.date(z);i.date=J;i.setView("dayView")}}if(K.target.nodeName.toLowerCase()==="span"&&(K.target.className.indexOf("jqx-icon-arrow-down")>=0||K.target.className.indexOf("jqx-icon-close")>=0)){if(K.target.mousedown){K.target.mousedown()}return true}var t=a(u).parent();var P=t.attr("data-key");i.mousecaptureposition={left:K.pageX,top:K.pageY,clickedrow:a(t).index(),clickedcell:a(u)};if(K.which!==3){i.isMouseDown=true;i.isMouseDownDate=new Date()}else{i.isMouseDown=false}if(i.contextMenu&&i.menu&&K.which!==3){i.menu.jqxMenu("close");i._hasOpenedMenu=false}var r=function(y){if(K.which===3){if(i.contextMenu&&i.menu){if(y){i.menu.find("li:first").show()}else{i.menu.find("li:first").hide()}var x=i.menu.coord();if(i.menu.css("display")=="block"&&x.left==K.pageX&&x.top==K.pageY){i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();return}if(D==="agendaView"){}i.menuOpening=true;i.menu.jqxMenu("open",K.pageX,K.pageY);i.menuOpening=false;i._hasOpenedMenu=true;K.preventDefault();K.stopPropagation();setTimeout(function(){i.menu.jqxMenu("focus")},50)}}};var I=function(){for(var Q=0;Q<A.length;Q++){var y=A[Q].cells;for(var x=0;x<y.length;x++){y[x].removeAttribute("data-selected")}}};var q=K.target.className.indexOf("jqx-scheduler-appointment")>=0&&K.target.className.indexOf("jqx-scheduler-appointment-duration-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-inner-content")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-status")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-resize-indicator")==-1&&K.target.className.indexOf("jqx-scheduler-appointment-content")==-1?a(K.target):a(K.target).parents(".jqx-scheduler-appointment");if(q.length==0){q=null}if(q&&q[0].className.indexOf("feedback")==-1){if(q.parents(".jqx-scheduler-month-cell-popup").length>0){return true}i.mouseDownPosition={top:w,left:B};var H=a(q).coord();i.selectedAppointmentBounds={top:H.top,left:H.left,width:a(q).width(),height:a(q).height()};var N=a(q).position();i.selectedAppointmentTableBounds={top:N.top,left:N.left,width:a(q).width(),height:a(q).height()};if(!i._dragStartCell){i._dragStartCell=i.findCell(H.left,H.top)}var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});i.clearSelection();var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}else{if(!p.readOnly){if(K.which!==3){i.focus()}}}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}return}else{if(K.which===3){var O=i.getSelection();if(O!==null){r(false)}else{i.clearAppointmentsSelection();u.setAttribute("data-selected","true");i._lastSelectedCell=u;i.focusedCell=u;i._updateCellsSelection(u);r(false);var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellClick",{cell:u,date:L})}}else{if(K.which!=3){i.clearAppointmentsSelection()}}}if(i.view=="agendaView"){var q=K.target.className.indexOf("jqx-scheduler-agenda-appointment")!=-1;if(q){q=K.target;var p=i.getJQXAppointmentByElement(q);i._selectAppointment(p,q,"mouse");i._raiseEvent("appointmentClick",{appointment:p.boundAppointment});var s=new Date().getTime();var F=300;if(a.jqx.browser.msie&&a.jqx.browser.version<9){F=1000}if(!i.clickTime){i.clickTime=new Date()}if((s-i.clickTime.getTime()<F)&&i._lastSelectedAppointment&&p.id==i._lastSelectedAppointment.id&&K.which!=3){if(!p.readOnly&&!i.editRecurrenceDialog.jqxWindow("isOpen")&&(!i._editDialog||(i._editDialog&&!i._editDialog.jqxWindow("isOpen")))){var C=i._initDialog(p);if(C!==false){i._openDialog()}}i.mouseDownPosition=null;i.isMouseDown=false;if(K.preventDefault){K.preventDefault()}i._raiseEvent("appointmentDoubleClick",{appointment:p.boundAppointment})}i._lastSelectedAppointment=p;if(K.preventDefault){K.preventDefault()}K.stopPropagation();i.clickTime=new Date();if(!p.readOnly){if(K.which==3){r(true)}}}}var E=function(){if(!i.enableBrowserSelection){if(K.preventDefault){K.preventDefault()}}var x=a(document).scrollTop();i.host.focus();a(document).scrollTop(x)};if(P!==undefined&&K.which!=3){i.clickedTD=u;var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);var o=i.rowinfo[P];var G=false;if(o){var s=new Date().getTime();var F=300;if(!i.clickTime){i.clickTime=new Date()}i.focus();if(i._lastSelectedCell&&i._lastSelectedCell.getAttribute("data-selected")=="true"&&u.getAttribute("data-selected")==="true"&&(s-i.clickTime.getTime()<F)){var L=new a.jqx.date(u.getAttribute("data-date"),i.timeZone);i._raiseEvent("cellDoubleClick",{cell:u,date:L});G=true;i._initDialog();i._openDialog();if(K.preventDefault){K.preventDefault()}}}var A=i.rows;if(u.getAttribute("data-selected")!="true"||K.shiftKey||s-i.clickTime.getTime()>F){if(u.getAttribute("data-time-slot")=="true"){return}if(!K.shiftKey){i.shiftSelectedCell=null}if(K.shiftKey&&i._lastSelectedCell&&D!="agendaView"){if(!i.shiftSelectedCell){i.shiftSelectedCell=i._lastSelectedCell}if(u.getAttribute("data-view")===i.shiftSelectedCell.getAttribute("data-view")){I()}i._selectRange(u,i.shiftSelectedCell)}if(!K.shiftKey){I();var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){u.setAttribute("data-selected","true")}else{u.setAttribute("data-selected","false")}}a('[data-key="'+P+'"]').removeClass(i.toTP("jqx-scheduler-selected-appointment"));i.selectedAppointment=null;var z=i._getDateByString(u.getAttribute("data-date"));if(z>=i.min.toDate()&&z<=i.max.toDate()){i._lastSelectedCell=u;i.focusedCell=u}i._updateCellsSelection(u);if(i.openedMonthCellPopup){i.openedMonthCellPopup.remove()}}i._raiseEvent("cellClick",{cell:u,date:L});i.clickTime=new Date();if(K.stopPropagation){K.stopPropagation()}}};this.addHandler(this.pinnedtable,c,function(n){var m=j(n);if(m!=undefined){return m}});this.addHandler(this.table,c,function(n){var m=j(n);if(m!=undefined){return m}})},moveAppointment:function(k,c,g,f,j){var h=this;var i=f.getAttribute("data-end-date");if(k){if(h.editRecurrenceDialog.jqxWindow("isOpen")){return}clearInterval(h._verticalIntervalDragVelocity);clearInterval(h._horizontalIntervalDragVelocity);clearInterval(h._intervalDrag);clearInterval(h._horizontalIntervalDrag);var d=k.duration();var b=k.duration().days()>=1||k.allDay;var e=function(r){if(!j){var l=h._views[h._view].type;var o=h._views[h._view];var p=c;k.from=p;if(l==="dayView"||l==="weekView"){if(!b&&!i){k.to=p.add(d);k.allDay=false}else{if(!b&&i){k.to=a.jqx.scheduler.utilities.getEndOfDay(p);k.allDay=true}else{if(b&&i){k.to=p.add(d)}else{if(b&&!i){var n=30;var q=o.timeRuler&&o.timeRuler.scale;switch(q){case"sixtyMinutes":case"hour":n=60;break;case"fifteenMinutes":case"quarterHour":n=15;break;case"tenMinutes":n=10;break;case"fiveMinutes":n=5;break}k.to=p.addMinutes(n);k.allDay=false}}}}}else{if(l==="monthView"){k.to=p.add(d)}else{if(l==="timelineDayView"||l==="timelineWeekView"||l==="timelineMonthView"){k.to=p.add(d)}}}}h._saveChangesAfterDragOrResize(r,k,f,j);if(g!=null){k.resourceId=g}h.table.find(".jqx-icon-arrow-down").hide();if(k.allDay||b){h._renderrows()}else{var s=h.getViewStart();var m=a.jqx.scheduler.utilities.getEndOfDay(h.getViewEnd());h._prepareAppointmentsInView(s,m);h._renderAppointments(s,m)}h._raiseEvent("appointmentChange",{appointment:k.boundAppointment});h.changedAppointments[k.id]={type:"Update",appointment:k.boundAppointment};h._ensureAppointmentVisible(h.selectedJQXAppointment)};if(k.isRecurrentAppointment()){e(false)}else{e(null)}}},getAppointmentProperty:function(d,b){var e=this;var c=null;if(this.appointmentsByKey[d]){c=this.appointmentsByKey[d].jqxAppointment}if(!c){return}return c[b]},setAppointmentProperty:function(e,b,g){var f=this;var c=null;if(this.appointmentsByKey[e]){c=this.appointmentsByKey[e].jqxAppointment}if(!c){return}c[b]=g;f.changedAppointments[e]={type:b,appointment:c.boundAppointment};switch(e){case"draggable":case"resizable":break;case"background":case"color":case"borderColor":case"status":case"tooltip":case"subject":case"location":case"description":case"style":var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d);break;case"hidden":case"timeZone":if(c.isAllDayAppointment()){f._renderrows()}else{var h=f.getViewStart();var d=a.jqx.scheduler.utilities.getEndOfDay(f.getViewEnd());f._prepareAppointmentsInView(h,d);f._renderAppointments(h,d)}break;default:f._renderrows()}},deleteAppointment:function(b){if(this.appointmentsByKey[b]){this._deleteAppointment(this.appointmentsByKey[b].jqxAppointment)}},_deleteAppointment:function(b){var g=this;if(b.rootAppointment){if(!b.isException()){if(b.rootAppointment!=null){b.rootAppointment.exceptions.push(g.editAppointment);b.rootAppointment.recurrenceException.push(g.editAppointment.occurrenceFrom)}else{b.exceptions.push(g.editAppointment);b.recurrenceException.push(g.editAppointment.occurrenceFrom)}}else{var f=b.rootAppointment?b.rootAppointment.exceptions:b.exceptions;for(var e=0;e<f.length;e++){if(f[e].occurrenceFrom.equals(g.editAppointment.occurrenceFrom)){f[e]=b;break}}}b.hidden=true;g._renderrows();return}g._raiseEvent("appointmentDelete",{appointment:b.boundAppointment});var d=b.id;delete g.appointmentsByKey[d];var c=-1;for(var e=0;e<g.appointments.length;e++){if(g.appointments[e]==b.boundAppointment||g.appointments[e].id==b.boundAppointment.id){c=e;break}}if(c!=-1){g.appointments.splice(c,1)}c=-1;for(var e=0;e<g.uiappointments.length;e++){if(g.uiappointments[e]==b||g.uiappointments[e].id==b.id){c=e;break}}if(c!=-1){g.uiappointments.splice(c,1)}if(g.selectedJQXAppointment==b){g.clearAppointmentsSelection();if(g.uiappointments[c+1]){g.selectAppointment(g.uiappointments[c+1].id)}else{if(g.uiappointments[c-1]){g.selectAppointment(g.uiappointments[c-1].id)}else{if(g.uiappointments[0]){g.selectAppointment(g.uiappointments[0].id)}}}}g.changedAppointments[d]={type:"Delete",appointment:b.boundAppointment};g._renderrows()},addAppointment:function(o){var g=this;if(!o.scheduler){o.scheduler=this}if(!o.duration){if((!o.from&&!o.to)||(!o.appointmentObject)){var f=o;var d={};var e=["from","to","id","style","description","location","subject","background","color","borderColor","recurrencePattern","recurrenceException","draggable","resizable","tooltip","hidden","allDay","timeZone","ownerId","resourceId"];for(var w in g.appointmentDataFields){var b=g.appointmentDataFields[w];var q=f[b];if(w=="from"||w=="to"){q=new a.jqx.date(q)}if(w=="style"){if(q){var k=g.getAppointmentColors(q);d.color=k.color;d.background=k.background;d.borderColor=k.border}}if(w=="recurrencePattern"){if(q){q=new a.jqx.scheduler.recurrencePattern(q);q.timeZone=f.timeZone||g.timeZone}}if(w=="recurrenceException"){var t=new Array();if(q){if(q.indexOf("EXDATE:")>=0){q=q.substring(q.indexOf("EXDATE:")+7)}var l=new Array();if(q.indexOf(",")>=0){l=q.split(",")}else{l.push(q)}for(var s=0;s<l.length;s++){var p=l[s];if(p.indexOf(";")>=0){var h=p.split(";")[1];p=p.split(";")[0];if(h.toLowerCase().indexOf("display")>=0&&h.toLowerCase().indexOf("none")){d.hidden=true}}try{var u=a.jqx.scheduler.utilities.untilStringToDate(p);if(u!="Invalid Date"){if(d.timeZone){u=new a.jqx.date(u,d.timeZone)}else{if(g.timeZone){u=u.toTimeZone(g.timeZone)}else{u=new a.jqx.date(u)}}}}catch(v){var u=new a.jqx.date(p,g.timeZone)}t.push(u)}}q=t}d[w]=q}for(var m in e){var w=e[m];if(d[w]==undefined){var q="";if(w=="originalData"){continue}if(w=="ownerId"){q=null}if(w=="timeZone"){q=null}if(w=="recurrencePattern"){q=null}if(w=="recurrenceException"){q=null}if(w=="allDay"){q=false}if(w=="draggable"){q=true}if(w=="resizable"){q=true}if(w=="hidden"){q=false}if(w=="resourceId"){q=null}if(w=="from"){q=new a.jqx.date()}if(w=="to"){q=new a.jqx.date().addHours(1)}d[w]=q}}d.originalData=f;d.scheduler=this;var o=new a.jqx.scheduler.appointment(d);if(d.timeZone){o.from=o.from.toTimeZone(d.timeZone);o.to=o.to.toTimeZone(d.timeZone)}if(g.timeZone){if(!d.timeZone){o.timeZone=g.timeZone}o.from=o.from.toTimeZone(g.timeZone);o.to=o.to.toTimeZone(g.timeZone)}else{o.from=o.from.toTimeZone(null);o.to=o.to.toTimeZone(null)}}else{var i=new a.jqx.scheduler.appointment();for(var w in o){i[w]=o[w]}o=i}}var w=g.dataview.generatekey();o.id=w;g.appointmentsByKey[w]=o;g.appointments.push(o);var c={};var j={};for(var r in g.appointmentDataFields){var b=g.appointmentDataFields[r];var q=o[r];c[r]=q;if(r=="from"||r=="to"){if(q.toDate){q=q.toDate()}else{q=new a.jqx.date(q).toDate()}}j[b]=q}c.originalData=j;o.boundAppointment=c;c.jqxAppointment=o;o.jqxAppointment=o;g._raiseEvent("appointmentAdd",{appointment:o.boundAppointment});g.uiappointments.push(o);g.changedAppointments[w]={type:"Add",appointment:o.boundAppointment};if(g.hiddenResources&&g.hiddenResources[o.resourceId]){g.hideAppointmentsByResource(o.resourceId)}else{g._renderrows()}g._selectAppointment(o);g._lastSelectedAppointment=o;if(g.resources){var n=o.resourceId;if(g._resources.indexOf(n)===-1){g._resources.push(n);g._renderrows()}}},_updateCellsSelection:function(){var f=this;var l=f.rows;var b=0;var c=0;if(b>0&&f.rtl){b=0;c=1}for(var e=0;e<l.length;e++){var k=l[e].cells;for(var d=b;d<k.length-c;d++){var h=k[d];if(h.getAttribute("data-selected")=="true"){var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")>=0){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");g=g+=" "+f.toTP("jqx-fill-state-pressed jqx-grid-cell-selected jqx-scheduler-cell-selected");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}else{var g=h.jqxClassName||h.className;if(g.indexOf("jqx-fill-state-pressed")==-1){if(h!=f.focusedCell){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"")}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}}}if(h.className!=g){h.className=g}h.jqxClassName=g;continue}else{if(h==f.focusedCell&&f.focused){g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");if(!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g}}g=g.replace(" jqx-fill-state-pressed","");g=g.replace(" jqx-fill-state-pressed-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-focus","");g=g.replace(" jqx-scheduler-cell-focus-"+f.theme,"");g=g.replace(" jqx-grid-cell-selected","");g=g.replace(" jqx-grid-cell-selected-"+f.theme,"");g=g.replace(" jqx-scheduler-cell-selected","");g=g.replace(" jqx-scheduler-cell-selected-"+f.theme,"");if(h==f.focusedCell&&f.focused&&!f.selectedAppointment){g=g+=" "+f.toTP("jqx-scheduler-cell-focus")}if(h.className!=g){h.className=g}h.jqxClassName=g;h.removeAttribute("data-selected")}}}},_getuikey:function(c,f){var e=null;var d=this.table[0].rows;e=a(d[c]).attr("data-key");if(a(d[c]).attr("data-role")){var b=a(d[c]);if(f=="next"){while(b){b=b.next();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}else{if(f=="prev"){while(b){b=b.prev();if(b){var g=b.attr("data-role");if(!g){e=b.attr("data-key");return e}}}}}return null}return e},getRows:function(){var h=this._views[this._view].type;var k=this._views[this._view];var d="halfHour";if(k.timeRuler&&k.timeRuler.scale){d=k.timeRuler.scale}var j=24;var b=this.showAllDayRow;if(k.timeRuler&&(h==="dayView"||h==="weekView")){var c=0;var f=23;if(k.timeRuler.scaleStartHour!=undefined){var c=parseInt(k.timeRuler.scaleStartHour)}if(k.timeRuler.scaleEndHour!=undefined){var f=parseInt(k.timeRuler.scaleEndHour)}if(c<0){c=0}if(f<0){f=23}if(c>23){c=0}if(f>23){f=23}j=f-c+1;if(k.timeRuler.showAllDayRow!=undefined){b=k.timeRuler.showAllDayRow}}var l=new Array();var g=0;switch(h){case"dayView":case"weekView":default:var g=j*2;if(d==="hour"||d==="sixtyMinutes"){var g=j}else{if(d==="quarterHour"||d==="fifteenMinutes"){var g=j*4}else{if(d==="tenMinutes"){var g=j*6}else{if(d==="fiveMinutes"){var g=j*12}}}}if(b){g++}break;case"monthView":var g=6;break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":var g=1;break;case"agendaView":var g=this.appointments?this.appointments.length:0;break}for(var e=0;e<g;e++){l.push({uid:e})}return l},_getDateByString:function(j){var e=j.split(" ");var l=e[0].split("-");var h=e[1].split(":");var g=parseInt(l[0],10);var f=parseInt(l[1],10)-1;var i=parseInt(l[2],10);var d=parseInt(h[0],10);var c=parseInt(h[1],10);var k=parseInt(h[2],10);var b=new Date(g,f,i,d,c,k);if(g<1970){b.setFullYear(g,f,i)}return b},_getCellByDate:function(b,d,c){var m=this.rows;if(d===undefined){d=false}if(c===undefined){if(this.focusedCell){c=this.focusedCell.getAttribute("data-view")}}for(var g=0;g<m.length;g++){var l=m[g];if(l.element.getAttribute("data-group-row")){continue}for(var f=0;f<l.cells.length;f++){var k=l.cells[f];if(k.getAttribute("rowspan")!=null){continue}if(k.getAttribute("data-view")!==c){continue}if(k.getAttribute("data-time-slot")){continue}if(d&&k.getAttribute("data-end-date")!=null){continue}var h=k.getAttribute("data-date");var e=this._getDateByString(h);if(e.valueOf()==b.valueOf()){return k}}}},_rendercelltexts:function(){if(a.jqx.credits!=="75CE8878-FCD1-4EC7-9249-BA0F153A5DE8"){var c="www.jqwidgets.com";if(location.hostname.indexOf(c.substring(4))==-1){if(this._gridRenderElement){a(this._gridRenderElement).remove()}var d=String.fromCharCode(83,80,65,78);var b=String.fromCharCode(72,84,84,80,58,47,47);var e=document.createElement(d);e.id=a.jqx.utilities.createId();e.innerHTML=c;e.style.position="absolute";e.style.right="5px";e.style.bottom="5px";e.style.color="#909090";e.style.cursor="pointer";e.style.zIndex="999999";e.style.display="none";e.style.fontSize="9px";e.onmousedown=function(){open(b+c)};this.content[0].appendChild(e);this._gridRenderElement=e}}},_handleKey:function(s){if(this._loading){return true}var t=s.shiftKey;var m=s.ctrlKey||s.metaKey;var i=this;var w=s.charCode?s.charCode:s.keyCode?s.keyCode:0;if(i._hasOpenedMenu){if(w==27){i.closeMenu()}else{i.menu.jqxMenu("focus")}return true}if(w===13||(i.selectedAppointment&&w==46)){if(i.editRecurrenceDialog&&i.editRecurrenceDialog.jqxWindow("isOpen")){return true}if(i._editDialog&&i._editDialog.jqxWindow("isOpen")){return true}if(!i.selectedAppointment){i._initDialog();i._openDialog()}else{var c=i.getJQXAppointmentByElement(i.selectedAppointment);if(!c.readOnly){if(w==46){var o=i._initDialog(c,"delete");if(o!==false){i._openDialog()}}else{var o=i._initDialog(c);if(o!==false){i._openDialog()}}}}}if(w===27){if(i.dragOrResize){i.table.find(".jqx-icon-arrow-down").hide();var f=i.getViewStart();var e=a.jqx.scheduler.utilities.getEndOfDay(i.getViewEnd());i._prepareAppointmentsInView(f,e);i._renderAppointments(f,e);i._removeFeedbackAndStopResize();return false}}var r=function(z){var B=i.selectedAppointment;var y=i.getJQXAppointmentByElement(B);var x=y.elements[0].cells[0].cell;var L=y.elements[y.elements.length-1].cells[y.elements[y.elements.length-1].cells.length-1].cell;var E=i.rows[i.rows.length-1].cells[i.rows[i.rows.length-1].cells.length-1];if(t||(!t&&!m&&(z=="down"||z=="right"))){x=L}var H=i._views[i._view].type;var G=i._views[i._view];var I=x;switch(z){case"left":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F>0&&!t){I=D.cells[F-1]}else{if(H=="monthView"&&!t){var A=D.aboveRow;if(A){I=A.cells[A.cells.length-1]}}}break;case"right":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);if(F<D.cells.length-1){I=D.cells[F+1]}else{if(H=="monthView"){var P=D.belowRow;if(P){I=P.cells[0]}}}if(H=="monthView"&&!t&&m&&L==E){I=x}break;case"up":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var A=D.aboveRow;if(A&&!t){I=A.cells[F]}break;case"down":var D=i.rowByCell[x.getAttribute("data-key")];var F=D.indexOf(x);var P=D.belowRow;if(P){I=P.cells[F]}break}var N=I.getAttribute("data-date");var M=new a.jqx.date(N,i.timeZone);var H=a(I).attr("data-view");var J=i._resources[parseInt(H)-1];if(t){var H=i._views[i._view].type;var G=i._views[i._view];var C=false;if(H==="dayView"||H==="weekView"){if(x.getAttribute("data-end-date")){if(z=="left"&&(y.elements[0].cells.length>1||i.rtl)){if(!i.rtl){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1))}else{y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(1))}C=true}else{if(z=="right"){if(!i.rtl||(i.rtl&&y.elements[0].cells.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M)}C=true}}}else{if(z=="up"&&y.elements[0].cells.length>1){y.to=M;C=true}else{if(z=="down"){y.to=M.addMinutes(i.getMinutesPerScale());C=true}}}}else{if(H.indexOf("month")>=0){if(z=="left"&&(y.elements[0].cells.length>1||y.elements.length>1)){y.to=a.jqx.scheduler.utilities.getEndOfDay(M.addDays(-1));C=true}else{if(z=="right"){y.to=a.jqx.scheduler.utilities.getEndOfDay(M);C=true}}}else{if((!i.rtl&&z=="left"&&y.elements[0].cells.length>1)||(i.rtl&&z=="right"&&y.elements[0].cells.length>1)){y.to=M;if(i.rtl){y.to=M.addMinutes(i.getMinutesPerScale())}C=true}else{if((!i.rtl&&z=="right")||(i.rtl&&z=="left")){y.to=M.addMinutes(i.getMinutesPerScale());if(i.rtl){y.to=y.to.addMinutes(i.getMinutesPerScale())}C=true}}}}if(C){i.moveAppointment(y,M,J,I,true)}}else{if(m){i.moveAppointment(y,M,J,I)}else{i.clearAppointmentsSelection();var K=true;if(z=="down"){K=false}i.selectCell(M,K,H);i._ensureVisible(I)}}if(i.selectedAppointment){i.selectedAppointment.removeClass(i.toTP("jqx-scheduler-selected-appointment"));var O=i.selectedAppointment.attr("data-key");a('[data-key="'+O+'"]').addClass(i.toTP("jqx-scheduler-selected-appointment"));i.clearSelection()}};if(s.altKey&&i._resourcesElements&&i._resources&&i._resources.length>0){var g=function(x){var y=i._resourcesElements.bottom[x];if(y.attr("data-toggle")=="on"){i.hideAppointmentsByResource(x)}else{i.showAppointmentsByResource(x)}};var j=w>=49&&w<=58?j=w-48:-1;if(j>=1){a.each(i._resources,function(x,y){if(x==j-1){g(y);return false}});return false}}if(s.ctrlKey){if(!i.selectedAppointment){if(w==37){i.toolbarLeftButton.trigger("click");i._ensureVisible(i.focusedCell);return false}else{if(w==39){i.toolbarRightButton.trigger("click");i._ensureVisible(i.focusedCell);return false}}}if(w==49){i._setView(0);return false}else{if(w==50){i._setView(1);return false}else{if(w==51){i._setView(2);return false}else{if(w==52){i._setView(3);return false}else{if(w==53){i._setView(4);return false}else{if(w==54){i._setView(5);return false}else{if(w==68){i.dateTimeInput.jqxDateTimeInput("open");return false}else{if(w==77){i.openMenu();return false}}}}}}}}}if(w==9){if(!s.shiftKey){if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);var h=i.tabKeyAppointments.indexOf(c);if(h<i.tabKeyAppointments.length-1){c=i.tabKeyAppointments[h+1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();return true}}else{var c=i.tabKeyAppointments[0];if(c){i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}else{if(i.selectedAppointment){i.clearSelection();var d=i.selectedAppointment;var c=i.getJQXAppointmentByElement(d);if(c){var h=i.tabKeyAppointments.indexOf(c);if(h>0){c=i.tabKeyAppointments[h-1];i._selectAppointment(c);i._lastSelectedAppointment=c;i._ensureAppointmentVisible(c);return false}else{i.clearAppointmentsSelection();if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell);return false}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}return true}}}else{if(!i.focusedCell){i._updateFocusedCell();i._ensureVisible(i.focusedCell)}else{if(i.focusedCell){if(i.focusedCell.className.indexOf("-focus")==-1){i._updateCellsSelection();i._ensureVisible(i.focusedCell);return false}}}}}}if(i.selectedAppointment){if(w==37){r("left")}else{if(w==38){r("up")}else{if(w==40){r("down")}else{if(w==39){r("right")}}}}if(w>=37&&w<=40){return false}return}var k=this._lastSelectedCell;if(!k){return}if(!a(this._lastSelectedCell).parent()[0]){this._lastSelectedCell=this.rows[0].cells[0];k=this._lastSelectedCell}var n=this.rows;var p=this._views[this._view].type;var l=this._views[this._view];var v="halfHour";if(l.timeRuler&&l.timeRuler.scale){v=l.timeRuler.scale}var q=function(K,F){var B=30;switch(v){case"sixtyMinutes":case"hour":B=60;break;case"thirtyMinutes":case"halfHour":B=30;break;case"fifteenMinutes":case"quarterHour":B=15;break;case"tenMinutes":B=10;break;case"fiveMinutes":B=5;break}var I=K.getAttribute("data-date");var H=function(U,N,P){if(U&&(U.getAttribute("rowspan")==null||p=="agendaView")&&U.getAttribute("data-time-slot")==null){if(P<i.min||P>i.max){return}var S=i.rows;var R=i._lastSelectedCell;i._lastSelectedCell=U;if(s.shiftKey&&i._lastSelectedCell){if(!i.shiftSelectedCell){i.shiftSelectedCell=k}}else{if(!s.shiftKey){i.shiftSelectedCell=null}}if(!i.shiftSelectedCell){for(var Q=0;Q<S.length;Q++){var T=S[Q];if(T.element.getAttribute("data-group-row")){continue}for(var O=0;O<T.cells.length;O++){var N=T.cells[O];N.removeAttribute("data-selected","false")}}U.setAttribute("data-selected","true");i.focusedCell=U}else{if(U.getAttribute("data-end-date")&&i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{if(!U.getAttribute("data-end-date")&&!i.shiftSelectedCell.getAttribute("data-end-date")){i.focusedCell=U;i._selectRange(U,i.shiftSelectedCell)}else{i.focusedCell=R;i._lastSelectedCell=R}}}i._ensureVisible(i.focusedCell)}};var y=new a.jqx.date(I,i.timeZone);var z=K.getAttribute("data-view");switch(F){case"left":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E>0){var C=M.cells[E-1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"right":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);if(E<M.cells.length-1){var C=M.cells[E+1];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone)}H(C,K,J);break;case"up":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var x=M.aboveRow;if(x){var C=x.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=-1+i.rows.indexOf(M);var C=K;while(G>=0){if(i.rows[G].cells[0]==C){G--}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"down":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var D=M.belowRow;if(D){var C=D.cells[E];if(E==0&&C.getAttribute("rowspan")){var G=1+i.rows.indexOf(M);var C=K;while(G<i.rows.length){if(i.rows[G].cells[0]==C){G++}else{C=i.rows[G].cells[0];break}}}var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J)}break;case"home":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var A=i.rows[0];var C=A.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break;case"end":var M=i.rowByCell[K.getAttribute("data-key")];var E=M.indexOf(K);var L=i.rows[i.rows.length-1];var C=L.cells[E];var J=new a.jqx.date(C.getAttribute("data-date"),i.timeZone);H(C,K,J);break}i._updateCellsSelection()};var u=function(){q(k,"home")};var b=function(){q(k,"end")};if(w==36||(m&&w==38)){u();return false}else{if(w==35||(m&&w==40)){b();return false}else{if(w==37){if(i.selectedAppointment){r(k,"left")}else{q(k,"left")}return false}else{if(w==38){if(i.selectedAppointment){r(k,"up")}else{q(k,"up")}return false}else{if(w==40){if(i.selectedAppointment){r(k,"down")}else{q(k,"down")}return false}else{if(w==39){if(i.selectedAppointment){r(k,"right")}else{q(k,"right")}return false}}}}}}},getSelectedCells:function(){var g=this;var h=g.rows;var f=h.length;var b=new Array();for(var e=0;e<f;e++){var d=h[e].cells;for(var c=0;c<d.length;c++){if(d[c].getAttribute("data-selected")){b.push(d[c])}}}return b.sort(function(i,j){return g._sortByDate(i,j)})},getSelection:function(){var e=this;var b=e.getSelectedCells();if(b.length==0){return null}var h=b[0].getAttribute("data-date");var g=b[b.length-1].getAttribute("data-date");var d=e.getMinutesPerScale();var c=e._views[e._view].type;if(c.toLowerCase().indexOf("month")>=0){d=0}if(b[0].getAttribute("data-end-date")){d=0}g=new a.jqx.date(g,e.timeZone).addMinutes(d);var c=parseInt(b[0].getAttribute("data-view"))-1;var f=e._resources[c];if(e._views[e._view].type.toLowerCase().indexOf("month")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("day")>=0||e._views[e._view].type.toLowerCase().indexOf("week")>=0){h=new a.jqx.date(h,e.timeZone);if(g.minute()===0&&g.hour()===0&&h.hour()===0&&h.minute()===0){if(g.day()===h.day()){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}else{return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g).addDays(-1),resourceId:f}}}return{from:new a.jqx.date(h,e.timeZone),to:g,resourceId:f}}if(e._views[e._view].type.toLowerCase().indexOf("agenda")>=0){return{from:new a.jqx.date(h,e.timeZone),to:a.jqx.scheduler.utilities.getEndOfDay(g),resourceId:f}}},clearSelection:function(){var f=this;var g=f.rows;var e=g.length;for(var d=0;d<e;d++){var c=g[d].cells;for(var b=0;b<c.length;b++){c[b].removeAttribute("data-selected")}}f._updateCellsSelection()},_getvirtualcolumnsindexes:function(c,k,g,i,b){if(this.rtl){c=this.hScrollInstance.max-c}var d=0;var h=-1;var e=g+i;if(this.autorowheight){return{start:0,end:g+i}}if(!b){for(var f=0;f<g+i;f++){var l=f;if(!this.columns.records[f].hidden){d+=this.columns.records[f].width}if(d>=c&&h==-1){h=f}if(d>k+c){e=f;break}}}e++;if(e>g+i){e=g+i}if(h==-1){h=0}return{start:h,end:e}},_renderhorizontalscroll:function(){var k=this;var r=k.hScrollInstance;var s=r.value;if(k.hScrollBar[0].style.visibility==="hidden"){r.value=0;s=0}var d=parseInt(s);if(k.table==null){return}var j=function(i){if(i.parentNode&&i.parentNode.nodeName!="#document-fragment"){return true}return false};var q=k._getvirtualcolumnsindexes(d,k._hostWidth,0,k.columns.records.length,false);var l=q.start;var n=q.end;var b=k.rows;for(var m=0;m<l;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=n;m<k.columns.records.length;m++){var h=m;var t=k.columns.records[h].element[0];if(j(t)){t.parentNode.removeChild(t)}}for(var m=l;m<n;m++){var h=m;t=k.columns.records[h].element[0];if(!j(t)){k.columnsrow[0].appendChild(t)}}var o=k.columnsrow;var p=0;var e=k.columns.records.length-p;var c=k.columns.records;var f=k.source.records.length==0;if(k.rtl){if(k.hScrollBar.css("visibility")!="hidden"){d=r.max-d}}k.table[0].style.left=-d+"px";if(k.pinnedtable[0].style.display=="block"){k.pinnedtable[0].style.left=-d+"px"}if(k._resources.length>0&&k.tableRows>0){for(var u=0;u<this.table[0].rows.length;u++){var g=this.table[0].rows[u];if(g.getAttribute("data-group-row")){a(g).find("span").css("left",5+d)}}}o[0].style.marginLeft=-d+"px"},_getDayName:function(b,d){if(b>=7){b-=7}if(!d){d=this.dayNameFormat;if(this.isTouchDevice()){d=this.touchDayNameFormat}}var c=this.schedulerLocalization.days.names[b];switch(d){case"full":c=this.schedulerLocalization.days.names[b];break;case"abbr":c=this.schedulerLocalization.days.namesAbbr[b];break;case"shortest":c=this.schedulerLocalization.days.namesShort[b];break;case"firstTwoLetters":c=c.substring(0,2);break;case"firstLetter":c=c.substring(0,1);break}return c},_initializeColumns:function(){if(this._views.length===0){this._views.push({type:"dayView"})}if(!this._views[this._view]){throw new Error("jqxScheduler: View is undefined. You need to define the View in the Views Array when you create jqxScheduler")}var p=this._views[this._view].type;var m=this._views[this._view];if(m.timeSlotWidth){m.timeSlotWidth=Math.max(m.timeSlotWidth,30);m.columnWidth=m.timeSlotWidth}if(m.columnWidth){if(m.columnWidth<30){m.columnWidth=30}}if(this.columns&&this.columns.records){for(var z=0;z<this.columns.records.length;z++){this._removecolumnhandlers(this.columns.records[z])}}this.columns=new Array();var B=new Array();var h=this;var q=function(H,N){var I="halfHour";if(m.timeRuler&&m.timeRuler.scale){I=m.timeRuler.scale}var Q=24;var G=0;var P=23;if(m.timeRuler){if(m.timeRuler.scaleStartHour!=undefined){var G=parseInt(m.timeRuler.scaleStartHour)}if(m.timeRuler.scaleEndHour!=undefined){var P=parseInt(m.timeRuler.scaleEndHour)}if(G<0){G=0}if(P<0){P=23}if(G>23){G=0}if(P>23){P=23}Q=P-G+1}var K=60;var O=2;if(I){switch(I){case"sixtyMinutes":case"hour":O=1;break;case"thirtyMinutes":case"halfHour":O=2;break;case"fifteenMinutes":case"quarterHour":O=4;break;case"tenMinutes":O=6;break;case"fiveMinutes":O=12;break}}var S=new Array();var R="auto";if(m.timeRuler&&m.timeRuler.formatString){R=m.timeRuler.formatString}var F=G;var L=Q;var D=H.addHours(F);var j="auto";if(m.columnWidth){j=O*m.columnWidth}else{j=O*80}for(var M=0;M<L;M++){var E=D.toDate();if(R==="auto"){if((E.getHours()==0&&E.getMinutes()==0)||(E.getHours()==12&&E.getMinutes()==0)){var J="hh tt"}else{var J="hh:mm"}}else{if(a.isFunction(R)){var J=R(E)}else{J=R}}if(a.jqx.dataFormat.isDate(E)){E=a.jqx.dataFormat.formatdate(E,J,h.schedulerLocalization)}D=D.addMinutes(K,false);h.columns.push({columnGroup:N,text:E,minwidth:30,width:j})}};for(var x=0;x<this.tableColumns;x++){if(this.tableColumns>1){var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({text:f,name:f})}var w="left";if(this.rtl){w="right"}switch(p){case"dayView":var g=this.getViewStart();if(false===m.showWeekends){if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}if(g.dayOfWeek()===0||g.dayOfWeek()===6){g=g.addDays(1)}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:w,width:v,columnGroup:f,text:this._getDayName(g.dayOfWeek())});break;case"weekView":case"monthView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(y>6){y=0}if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m&&m.columnWidth){v=m.columnWidth}var f=h._resources[x]?h._resources[x]:"Resource"+x;this.columns.push({align:p=="weekView"?w:"center",width:v,columnGroup:f,text:this._getDayName(y)})}break;case"timelineDayView":var f=h._resources[x]?h._resources[x]:"Resource"+x;q(h.getViewStart(),f);break;case"timelineWeekView":for(var z=0;z<7;z++){var y=this.schedulerLocalization.firstDay+z;if(false===m.showWeekends){if(z===0||z===6){continue}}var f=h._resources[x]?h._resources[x]:"Resource"+x;B.push({align:h.rtl?"right":"left",parentGroup:f,name:this._getDayName(y)+x,text:this._getDayName(y)});q(h.getViewStart().addDays(z),this._getDayName(y)+x)}break;case"timelineMonthView":var k=h.getViewStart();var A="auto";if(m.timeRuler&&m.timeRuler.formatString){A=m.timeRuler.formatString}for(var z=0;z<41;z++){var y=k.dayOfWeek();if(false===m.showWeekends){if(y===0||y===6){continue}}var v="auto";if(m.columnWidth){v=m.columnWidth}else{v=100}var r=k.toDate();if(A==="auto"){var c="dd";r=k.toDate();if(r.getDate()===1){c="MMM dd"}}else{if(a.isFunction(A)){var c=A(r)}else{c=A}}if(a.jqx.dataFormat.isDate(r)){r=a.jqx.dataFormat.formatdate(r,c,h.schedulerLocalization)}k=k.addDays(1);var f=h._resources[x]?h._resources[x]:"Resource"+x;h.columns.push({minwidth:30,columnGroup:f,text:r,width:v})}break;case"agendaView":var l=m.dateColumnWidth;var u=m.timeColumnWidth;var o=m.appointmentColumnWidth;if(!o){o="70%"}if(!u){u="auto"}if(!l){l="auto"}h.columns.push({text:h.schedulerLocalization.agendaDateColumn,width:l});h.columns.push({text:h.schedulerLocalization.agendaTimeColumn,width:u});h.columns.push({text:h.schedulerLocalization.agendaAppointmentColumn,width:o});break}}if(B.length>0){this.columnGroups=B}var h=this;var s=new a.jqx.schedulerDataCollection(this.element);var d=0;this._columns=this.columns;var C="left";var e=new a.jqx.scheduler.column(h,this);e.visibleindex=d++;e.text="";e.width=h.timeRulerWidth;e.editable=false;e.timeColumn=true;C="left";e.text="";e.hidden=false;e.width=h.timeRulerWidth;var b=false;if(m.timeRuler&&(p==="dayView"||p==="weekView")){e._text=m.timeRuler.text||"";C=m.timeRuler.position||"left";e.hidden=m.timeRuler.hidden||false;e.width=m.timeRuler.width||h.timeRulerWidth;if(m.timeRuler.timeZones){b=true}}else{if(p!=="dayView"&&p!=="weekView"){e.hidden=true}}var n=function(i){var j=new a.jqx.scheduler.column(h,h);j.visibleindex=d++;j.text="";j.width=h.timeRulerWidth;j.editable=false;j.timeColumn=true;C="left";j.text="";j.hidden=false;j.timeZone=m.timeRuler.timeZones[i].id;j.width=h.timeRulerWidth;if(m.timeRuler&&(p==="dayView"||p==="weekView")){j._text=m.timeRuler.timeZones[z].text||"";j.hidden=m.timeRuler.hidden||false;j.width=m.timeRuler.width||h.timeRulerWidth;s.add(j)}};if(C==="left"&&(p==="dayView"||p==="weekView")){if(m.timeRuler&&m.timeRuler.timeZones){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="left"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}var t=new Array();a.each(this.columns,function(i){if(h.columns[i]!=undefined){var j=new a.jqx.scheduler.column(h,this);j.visibleindex=d++;s.add(j)}});if(C==="right"&&(p==="dayView"||p==="weekView")){if(m.timeRuler){for(var z=0;z<m.timeRuler.timeZones.length;z++){n(z)}}s.add(e)}if(C==="right"&&p==="monthView"&&m.showWeekNumbers){e.hidden=false;s.add(e)}if(this.rtl){s.records.reverse()}this.columns=s},_getColumnsLengthPerView:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=1;switch(b){case"dayView":c=1;break;case"weekView":if(d.showWeekends!==false){c=7}else{c=5}break;case"monthView":if(d.showWeekends!==false){c=7}else{c=5}break;case"timelineDayView":case"timelineWeekView":case"timelineMonthView":c=this.columns.records.length;break;case"agendaView":c=this.columns.records.length;break}return c},_renderagenda:function(){var ab=this;var h=ab._views[ab._view].type;var aa=ab._views[ab._view];var K=ab.getViewStart();var af=a.jqx.scheduler.utilities.getEndOfDay(ab.getViewEnd().addDays(-1));ab._prepareAppointmentsInView(K,af);var R=ab.appointmentsToRender.length;var al=new Array();var aj=0;for(var at=0;at<ab.appointmentsToRender.length;at++){var q=ab.appointmentsToRender[at];var au=q.from.clearTime();while(au<a.jqx.scheduler.utilities.getEndOfDay(q.to)){var d=au.toString();if(!al[d]){al[d]={date:au,appointments:new Array()};al[d].appointments.push(q);al[al.length]=al[d];aj++}else{al[d].appointments.push(q);aj++}au=au.addDays(1).clearTime()}}var O=0;var N=0;ab.rows=new Array();var av=a.jqx.browser.msie&&a.jqx.browser.version<8;var F=0;var ax=0;var ap=ab.rtl?" "+ab.toTP("jqx-grid-table-rtl"):"";var Z=0;var v="<table cellspacing='0' cellpadding='0' class='"+ab.toTP("jqx-grid-table")+ap+"' id='table"+ab.element.id+"'><colgroup>";var G=ab.columns.records.length;for(var aq=0;aq<G;aq++){var X=ab.columns.records[aq];if(X.hidden){F++;continue}var c=X.width;if(c<X.minwidth){c=X.minwidth}if(c>X.maxwidth){c=X.maxwidth}c-=ax;if(c<0){c=0}if(av){var ae=c;if(aq==F){ae++}v+="<col style='max-width: "+ae+"px; width: "+ae+"px;'>"}else{v+="<col style='max-width: "+c+"px; width: "+c+"px;'>"}Z+=c}v+="</colgroup>";if(R==0){var l='<tr role="row">';var f=this.host.height();var U=0;if(!ab.columnGroups){U+=ab.showHeader?ab.columnsHeight:0}else{U+=ab.showHeader?ab.columnsheader.height():0}if(ab.showToolbar){U+=ab.toolbarHeight}if(ab.showLegend&&ab._resources.length>0){U+=ab.legendHeight}f-=U;var e='<td data-date="'+K.toString()+'" colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+f+"px; height: "+f+"px; max-width:"+Z+"px; width:"+Z+"px;";var E=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");E+=" "+this.toTP("jqx-center-align");e+='" class="'+E+'">';e+=this.schedulerLocalization.emptyDataString;e+="</td>";l+=e;l+="</tr>";v+=l;this.table[0].style.width=Z+2+"px";N=Z}var k=ab.rowsHeight;if(ab.isTouchDevice()){k=ab.touchRowsHeight}for(var at=0;at<al.length;at++){var H=at;var au=al[at];for(var ai=0;ai<au.appointments.length;ai++){var m=0;var l='<tr data-key="'+H+'" role="row">';O=0;var u=au.appointments[ai];for(var aq=0;aq<G;aq++){var ah=ab.columns.records[aq];var ao=aq;if(ab.rtl){ao=G-1-aq}var c=ah.width;if(c<ah.minwidth){c=ah.minwidth}if(c>ah.maxwidth){c=ah.maxwidth}c-=ax;if(c<0){c=0}var E=ab.toTP("jqx-cell")+" "+ab.toTP("jqx-grid-cell")+" "+ab.toTP("jqx-item");if(ab.rtl){E+=" "+ab.toTP("jqx-cell-rtl")}var J="";var H=ab.dataview.generatekey();var s=-1;var g=au.date;var f=k+"px";var e='<td data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px; height: "+f+"; min-height: "+k+"px;";if(ao==0&&ai==0){var M=au.appointments.length;var e='<td rowspan="'+M+'" data-key="'+H+'" data-view="'+(s)+'" data-date="'+g.toString()+'" role="gridcell" '+J+' style="max-width:'+c+"px; width:"+c+"px;  min-height: "+k+"px;";E+=" "+ab.toTP("jqx-center-align")}else{if(ao==0){O++;continue}}if(ab.rtl&&ao==1){E+=" "+ab.toTP("jqx-right-align")}if(!(ah.hidden)){m+=ax+c;if(O==0&&!ab.rtl){e+="border-left-width: 0px;"}else{e+="border-left-width: 1px;"}O++}else{e+="display: none;";ab._hiddencolumns=true}e+='" class="'+E+'">';var an="";if(ao==0&&ai==0){var D=g.toString("dddd",ab.schedulerLocalization);var am=g.toString("MMMM, yyyy",ab.schedulerLocalization);var ar=ab.toTP("jqx-scheduler-agenda-date");var o=ab.toTP("jqx-scheduler-agenda-day");var n=ab.toTP("jqx-scheduler-agenda-week");an='<div class="'+ar+'"><strong class="'+o+'">'+g.day()+'</strong><br/><em class="'+n+'">'+D+'</em><br/><span class="'+ar+'">'+am+"</span></div>"}if(ao==1){var Q="auto";var aa=this._views[this._view];var z=u.from;var ay=u.to;if(aa.timeRuler&&aa.timeRuler.formatString){Q=aa.timeRuler.formatString}var ad=Q;var I=Q;if(Q==="auto"){if((z.hour()==0&&z.minute()==0)||(z.hour()==12&&z.minute()==0)){var ad="hh tt"}else{var ad="hh:mm"}if((ay.hour()==0&&ay.minute()==0)||(ay.hour()==12&&ay.minute()==0)){var I="hh tt"}else{var I="hh:mm"}}var ar=ab.toTP("jqx-scheduler-agenda-time");if(u.allDay){an="<span class='"+ar+"'>"+ab.schedulerLocalization.agendaAllDayString+"</span>"}else{if(!ab.rtl){an="<span class='"+ar+"'>"+z.toString(ad,ab.schedulerLocalization)+" - "+ay.toString(I,ab.schedulerLocalization)+"</span>"}else{an="<span class='"+ar+"'>"+ay.toString(I,ab.schedulerLocalization)+" - "+z.toString(ad,ab.schedulerLocalization)+"</span>"}}}else{if(ao==2){if(u.resourceId){a.each(ab._resources,function(r,x){if(u.resourceId==x){var i=ab.getColors(r);var j=this.toString();var w=ab.toTP("jqx-scheduler-agenda-appointment-resource jqx-scheduler-legend");if(ab.rtl){var w=ab.toTP("jqx-scheduler-agenda-appointment-resource-rtl jqx-scheduler-legend")}var t="<div data-key='"+u.id+"' class='"+w+"' style='margin-right: 5px; border-color: "+i.border+"; background: "+i.background+";' class='"+ab.toThemeProperty("jqx-scheduler-legend")+"'></div>";an=t}})}var W=u.subject?u.subject:"(No Title)";var C=u.location;var y=u.description;var T=u.status?ab.schedulerLocalization.editDialogStatuses[u.status]:"";var b=u.isRecurrentAppointment();var B=u.isException();var Y=""+ab.schedulerLocalization.editDialogSubjectString+": "+W+"";if(C){Y+="\n"+ab.schedulerLocalization.editDialogLocationString+": "+C+""}if(y){Y+="\n"+ab.schedulerLocalization.editDialogDescriptionString+": "+y+""}if(T){Y+="\n"+ab.schedulerLocalization.editDialogStatusString+": "+T+""}if(b){Y+="\n"+ab.schedulerLocalization.editDialogRepeatString+": "+b+""}var ar=ab.toTP("jqx-scheduler-agenda-appointment jqx-scheduler-legend-label");if(ab.rtl){var ar=ab.toTP("jqx-scheduler-agenda-appointment-rtl jqx-scheduler-legend-label")}an+="<span data-key='"+u.id+"' title='"+Y+"' class='"+ar+"'>"+W+"</span>"}}e+=an;e+="</td>";l+=e}if(N==0){ab.table[0].style.width=m+2+"px";ab.pinnedtable[0].style.width=m+2+"px";N=m}l+="</tr>";v+=l}}v+="</table>";ab.table[0].innerHTML=v;ab.pinnedtable[0].innerHTML=v;ab.pinnedtable[0].style.display="none";var ag=a(ab.table[0].firstChild);var V=a(ab.pinnedtable[0].firstChild);ab._table=ag;ab._pinnedtable=V;if(a.jqx.browser.msie&&a.jqx.browser.version<10){ab._table[0].style.width=N+"px";ab._pinnedtable[0].style.width=N+"px"}if(R===0){ab._table[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.width=(2+N)+"px";ab._pinnedtable[0].style.display="none"}ab._pinnedtable[0].style.display="none";ab._table.addClass("jqx-grid-table-one-cell jqx-disableselect");ab.table[0].rows=ab.table[0].firstChild.rows;ab.rowByCell=new Array();ab.columnCells=new Array();function p(){var i={};i.cells=new Array();i.indexOf=function(j){for(var r=0;r<i.cells.length;r++){if(i.cells[r].getAttribute("data-key")==j.getAttribute("data-key")){return r}}return -1};return i}ab.cellWidth=0;ab.cellHeight=0;var L=ab.table[0].rows.length;for(var at=0;at<L;at++){var ak=ab.table[0].rows[at];if(ak.getAttribute("data-group-row")){continue}var A=new p();A.aboveRow=null;A.belowRow=null;if(ab.rows.length>0){A.aboveRow=ab.rows[ab.rows.length-1];ab.rows[ab.rows.length-1].belowRow=A}A.element=ak;ab.rows.push(A);var S=false;for(var aq=0;aq<ak.cells.length;aq++){if(ak.cells.length<ab.columns.records.length&&!S){var ac=at;while(ac>=0){var aw=ab.table[0].rows[ac];if(ab.table[0].rows[ac].cells.length==ab.columns.records.length){var P=aw.cells[0];if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);S=true;break}ac--}}var P=ak.cells[aq];if(P.style.display==="none"){continue}if(P.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!ab.columnCells[A.cells.length]){ab.columnCells[A.cells.length]=new Array()}ab.columnCells[A.cells.length].push(P);if(ab.cellWidth==0){ab.cellWidth=P.clientWidth}if(ab.cellHeight==0&&(L==1||at>1)){ab.cellHeight=P.clientHeight}A.cells.push(P);ab.rowByCell[P.getAttribute("data-key")]=A}}if(R===0){ab._table[0].style.tableLayout="auto"}ab._updateScrollbars(ab.host.height());ab._arrange();if(ab.rendered){ab.rendered()}ab.renderedTime=new Date()},_renderrows:function(){var V=this;if(V._loading){return}if(V._updating||V._appupdating){return}if(V.rendering){V.rendering()}var V=this;var aF=V._views[V._view].type;var G=V._views[V._view];if(aF=="agendaView"){V._renderagenda();return}var az=1;var d=V.getViewStart();var aN=a.jqx.scheduler.utilities.getEndOfDay(V.getViewEnd());V._prepareAppointmentsInView(d,aN);var N=new Array();if(aF==="weekView"||aF==="dayView"){var az=V.getMaxAllDayAppointments(V.appointmentsToRender)}else{if(aF==="monthView"&&G.monthRowAutoHeight&&V.rows&&V.rows.length==6){N=V._getMonthAppointmentsPerWeek()}}var aa=V.tableRows>1?V.tableRows:0;var aL="halfHour";var B=null;var aQ;if(G.rowHeight){B=G.rowHeight}if(G&&G.allDayRowHeight){aQ=G.allDayRowHeight}if(G.timeRuler&&G.timeRuler.scale){aL=G.timeRuler.scale}var aM=0;V.table[0].rows=new Array();V.rows=new Array();var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-widget-content");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var b=V.columns.records.length;var av=V._getColumnsLengthPerView();var W=a.jqx.browser.msie&&a.jqx.browser.version<8;if(W){V.host.attr("hideFocus","true")}V._lastSelectedCell=null;V.focusedCell=null;var E=new Array();var aD=V.source.records;aD=V.dataview.evaluate(aD);V.dataViewRecords=aD;V.cells=new Array();var E=V.dataViewRecords;V.renderedRecords=V.getRows();var aZ=V.tableZIndex;var ai=V.getRows().length;var o=0;var aH=0;if(W){for(var X=0;X<b;X++){var ac=V.columns.records[X];var aK=ac.width;if(aK<ac.minwidth){aK=ac.minwidth}if(aK>ac.maxwidth){aK=ac.maxwidth}var aJ=a('<table><tr><td role="gridcell" style="max-width: '+aK+"px; width:"+aK+'px;" class="'+a5+'"></td></tr></table>');a(document.body).append(aJ);var at=aJ.find("td");o=1+parseInt(at.css("padding-left"))+parseInt(at.css("padding-right"));aJ.remove();break}}var K=V.rtl?" "+V.toTP("jqx-grid-table-rtl"):"";var H="<table cellspacing='0' cellpadding='0' class='"+V.toTP("jqx-grid-table")+K+"' id='table"+V.element.id+"'><colgroup>";var aY=0;var a4=b;var aS=2;var an=30;switch(aL){case"sixtyMinutes":case"hour":an=60;aS=1;break;case"thirtyMinutes":case"halfHour":an=30;aS=2;break;case"fifteenMinutes":case"quarterHour":an=15;aS=4;break;case"tenMinutes":an=10;aS=6;break;case"fiveMinutes":an=5;aS=12;break}var a3=1;if(aF==="timelineDayView"||aF==="timelineWeekView"){b=aS*b;a3=aS;av=b/V.tableColumns}else{if(aF==="timelineMonthView"){av=b/V.tableColumns}else{if(aF==="monthView"){if(G.showWeekNumbers){av=(b-V.tableColumns)/V.tableColumns}else{av=b/V.tableColumns}}}}var g=function(i){var c=V.columns.records[i];if(c){return c}while(i>=V.columns.records.length){i-=V.columns.records.length}var c=V.columns.records[i];return c};for(var X=0;X<b;X++){var ac=g(X);if(ac.hidden){aY++;a4--;continue}var aK=ac.width/a3;if(aK<ac.minwidth){aK=ac.minwidth/a3}if(aK>ac.maxwidth){aK=ac.maxwidth/a3}aK-=o;if(aK<0){aK=0}if(aF=="monthView"&&V.rtl&&ac.timeColumn){aK++}if(W){var P=aK;if(X==aY){P++}H+="<col style='max-width: "+P+"px; width: "+P+"px;'>"}else{H+="<col style='max-width: "+aK+"px; width: "+aK+"px;'>"}aH+=aK}H+="</colgroup>";V._hiddencolumns=false;if(ai===0){var u='<tr role="row">';var z=V.host.height();if(V.pageable){z-=V.pagerHeight;if(V.pagerPosition==="both"){z-=V.pagerHeight}}z-=V.columnsHeight;if(V.showLegend&&V._resources.length>0){z-=V.legendHeight}if(z<25){z=25}if(V.hScrollBar[0].style.visibility!="hidden"){z-=V.hScrollBar.outerHeight()}if(V.height==="auto"||V.height===null||V.autoheight){z=300}var aJ='<td colspan="'+V.columns.records.length+'" role="gridcell" style="border: none; min-height: '+z+"px; height: "+z+"px; max-width:"+aH+"px; width:"+aH+"px;";var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}a5+=" "+V.toTP("jqx-center-align");aJ+='" class="'+a5+'">';aJ+=V.schedulerLocalization.emptyDataString;aJ+="</td>";u+=aJ;H+=u;V.table[0].style.width=aH+2+"px";aM=aH}var au=V.getRows();var d=V.getViewStart();var z=V._hostHeight?V._hostHeight:V.host.height();var a2=0;if(!V.columnGroups){a2+=V.showHeader?V.columnsHeight:0}else{a2+=V.showHeader?V.columnsheader.height():0}if(V.showToolbar){a2+=V.toolbarHeight}if(V.showLegend&&V._resources.length>0){a2+=V.legendHeight}var f=V.showAllDayRow;var m=23;if(G.resourceHeaderRowHeight){m=G.resourcesRowHeight}m+=2;if(G.showAllDayRow!=undefined){f=G.showAllDayRow}var h=V._columnswidth>V._hostWidth;var al=h?(3+V.scrollBarSize):0;var ag=V.tableRows>1?V.resources.unitsInView:1;if(ag==undefined){ag=V._resources.length}if(V.resources&&V.resources.resourceRowHeight){B=V.resources.resourceRowHeight}if(B==null||B=="auto"){var p=V.rowsHeight;var ap=3*p;if(V.isTouchDevice()){p=V.touchRowsHeight;var ap=22+p}if(V.tableRows==1){B=z>0?(z-a2):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2):p}}else{B=z>0?(z-a2-m)/(ai):p;if(V.columns.records.length>10){B=z>0?(z-V.scrollBarSize-5-a2-ag*m)/(ag*ai):p}}if(aF==="dayView"||aF==="weekView"){if(f){if(aQ==null||aQ=="auto"){B=z>0?(z-a2)/(V.tableRows*(ai)):ap;aQ=B}else{B=z>0?(z-a2-aQ-ag*m)/(ag*(ai-1)):p}}}else{if(aF==="monthView"){if(V.hScrollBar[0].style.visibility=="hidden"){al=0}if(V.tableRows==1){B=z>0?(z-a2-al)/ai:p}else{B=z>0?(z-a2-m-al)/(ai):p}}}B=Math.max(p,B);if(!aQ){aQ=ap}aQ=Math.max(ap,aQ);V._allDayRowHeight=aQ;V._defaultRowHeight=p;aQ=az*(p-2);aQ=Math.max(ap,17+aQ);V._allDayRowFullHeight=aQ;if(G.allDayRowHeight){V._allDayRowHeight=G.allDayRowHeight;aQ=az*(G.allDayRowHeight-2);V._allDayRowFullHeight=aQ}}var aB=new Array();if(V.resources&&V.resources.colorScheme){for(var ao=0;ao<V.colorSchemes.length;ao++){if(V.colorSchemes[ao].name==V.resources.colorScheme){aB=V.colorSchemes[ao].colors;break}}while(V._resources.length>aB.length-1){var aW=parseInt(V.resources.colorScheme.substring(6));if(aW>=27){aW=0}aB=aB.concat(V.colorSchemes[aW].colors);aW++}}for(var aE=0;aE<V.tableRows;aE++){var aq=0;var S=0;var e=23;if(G.timeRuler&&G.timeRuler.scaleStartHour!=undefined){var S=parseInt(G.timeRuler.scaleStartHour)}if(G.timeRuler&&G.timeRuler.scaleEndHour!=undefined){var e=parseInt(G.timeRuler.scaleEndHour)}var A=d;if(false===G.showWeekends){if(A.dayOfWeek()==0||A.dayOfWeek()==6){A=A.addDays(1)}}var ar=new Array();var k=aF!="monthView"&&aF!="timelineDayView"&&aF!="timelineWeekView"&&aF!="timelineMonthView"&&f?1:0;if(V.tableRows>1){var u='<tr data-group-row="true" role="row">';var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(!W){a5+=" "+V.toTP("jqx-grid-cell-pinned");Z+=' colspan="'+b+'"';var P=0;for(var Q=0;Q<b;Q++){var ab=g(Q);var ak=ab.width/a3;if(ak<ab.minwidth){aK=ab.minwidth/a3}if(ak>ab.maxwidth){aK=ab.maxwidth/a3}ak-=o;if(ak<0){ak=0}if(!ab.hidden){P+=ak}}aK=P}else{a5+=" "+V.toTP("jqx-grid-cell-pinned")}var aJ='<td style="height:'+m+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!="none"){var aO="";var y="";var D="";var L=function(i){var c=105;var j=(i.r*0.299)+(i.g*0.587)+(i.b*0.114);var q=(255-j<c)?"Black":"White";return q};aO=aB[aE];aO=V.hexToRgba(aB[aE],0.7).toString();D=L(V.hexToRgba(aB[aE],0.7));y=aB[aE];aJ+="background: "+aO+";";aJ+="border-color: "+y+";";aJ+="color: "+D+";"}aJ+='" class="'+a5+'" role="gridcell" '+Z+"";var aX=V._resources[aE];aJ+="><span style='position: relative;'>"+aX+"</span>";aJ+="</td>";u+=aJ;H+=u}for(var Y=0;Y<ai;Y++){var aI={};var am="jqx"+V.element.id+"_"+Y;aI.uid=am;var u='<tr data-key="'+am+'" role="row">';var ad=0;var x=0;if(ar[0]&&Y>k){var an=30;if(aF!="monthView"){switch(aL){case"sixtyMinutes":case"hour":an=60;break;case"thirtyMinutes":case"halfHour":an=30;break;case"fifteenMinutes":case"quarterHour":an=15;break;case"tenMinutes":an=10;break;case"fiveMinutes":an=5;break}for(var T=0;T<b;T++){ar[T]=ar[T].addMinutes(an,false)}}else{for(var T=0;T<b;T++){ar[T]=ar[T].addDays(7,false)}}}var ax=0;var ae=1;var aj=0;if(G.showWeekends||G.showWeekends==undefined){aj=(V.columns.records.length)/(7*V.tableColumns);aj*=aS}else{aj=(V.columns.records.length)/(5*V.tableColumns);aj*=aS}var aw=0;if(V.rtl){aw=1}var aU=0;for(var X=0;X<b;X++){var R=g(X);if(ax>=av){ax=0;aU=0;aw=0;if(V.rtl){aw=1}ae++}if(!ar[X]){if(!V.rtl){if(aF.toString().indexOf("timelineDayView")>=0){var I=X;ar[X]=A.addHours(S).addMinutes(I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){ar[X]=A.addDays(aU).addHours(S,false).addMinutes(aw*an,false)}else{ar[X]=A.addDays(ax).addHours(S,false)}}if(V.timeZone){ar[X].timeZone=V.timeZone}}else{if(aF.toString().indexOf("timelineDayView")>=0){var I=1+X;ar[X]=A.addHours(1+e).addMinutes(-I*an,false)}else{if(aF.toString().indexOf("timelineWeekView")>=0){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-aU).addHours(1+e,false).addMinutes(-aw*an,false)}else{ar[X]=A.addDays(4-aU).addHours(1+e,false).addMinutes(-aw*an,false)}}else{if(aF=="dayView"||aF=="monthView"||aF=="weekView"){if(G.showWeekends||G.showWeekends==undefined){ar[X]=A.addDays(6-ax).addHours(S,false)}else{ar[X]=A.addDays(4-ax).addHours(S,false)}}else{ar[X]=A.addDays(av-ax-1).addHours(S,false)}}}if(V.timeZone){ar[X].timeZone=V.timeZone}}}aw++;if(aw>=aj){aw=0;aU++}if(!R.timeColumn&&(aF==="dayView"||aF==="weekView")){ax++}else{if(!R.timeColumn&&(aF==="monthView"&&G.showWeekNumbers)){ax++}else{if((aF==="monthView"&&!(G.showWeekNumbers))||aF==="timelineMonthView"){ax++}else{if(aF=="timelineDayView"||aF=="timelineWeekView"){ax++}}}}var C=ar[X];var aK=R.width/a3;if(aK<R.minwidth){aK=R.minwidth/a3}if(aK>R.maxwidth){aK=R.maxwidth/a3}aK-=o;if(aK<0){aK=0}var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(R.pinned){a5+=" "+V.toTP("jqx-grid-cell-pinned")}if(V.sortcolumn===R.displayfield){a5+=" "+V.toTP("jqx-grid-cell-sort")}if(V.altRows&&Y%2!=0){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){a5+=" "+V.toTP("jqx-grid-cell-alt")}if(C>V.max||C<V.min){a5+=" "+V.toTP("jqx-scheduler-disabled-cell")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}var Z="";var am=V.dataview.generatekey();var aG=aE+ae;if(V.resources&&V.resources.orientation=="none"){aG=-1}if(V._resources.length==0){aG=-1}var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+B+"px;";if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td  data-key="'+am+'" data-view="'+(aG)+'" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.clearTime().toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px; height:"+aQ+"px;"}if(aF=="monthView"&&G.monthRowAutoHeight&&N.length>0){if(N[Y]&&N[Y]!="auto"){if(B<N[Y]){var aJ='<td data-key="'+am+'" data-view="'+(aG)+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;  height:"+N[Y]+"px;"}}}if(V.date.month()!=C.month()&&aF==="monthView"&&!G.showOtherMonthDays){}if(V.resources&&V._resources.length>0&&V.resources.colorScheme&&V.resources.orientation!=="none"){var aO="";var y="";aO=aB[aE+ae-1];if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){aO=V.hexToRgba(aB[aE+ae-1],0.3).toString()}else{aO=V.shadeColor(aB[aE+ae-1],0.3).toString()}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour!==undefined?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){aO=V.hexToRgba(aB[aE+ae-1],0.1).toString()}}}}}}y=aB[ae+aE-1];aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}if(R.timeColumn&&!R.hidden&&aF==="monthView"){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");a5+=" "+V.toTP("jqx-scheduler-week-number-column");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" role="gridcell" style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}if(X==b-1&&V.rtl){aJ+="border-right-color: transparent;"}}else{x++;continue}}if(R.timeColumn&&!R.hidden&&(aF==="dayView"||aF==="weekView")){var a5=V.toTP("jqx-scheduler-time-column")+" "+V.toTP("jqx-widget-header")+" "+V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item");if(V.tableRows>1){var a5=V.toTP("jqx-cell")+" "+V.toTP("jqx-grid-cell")+" "+V.toTP("jqx-item")}if(V.rtl){a5+=" "+V.toTP("jqx-cell-rtl")}if(Y>0){if(C.minute()===0){var aJ='<td classname="jqx-disableselect" data-time-slot="true" data-date="'+C.toString()+'" rowspan='+aS+' role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;";if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(V.rtl&&X==0){aJ+="border-left-color: transparent;"}}}else{x++;continue}}else{if(V.resources&&V.resources.orientation=="none"){aG=-1}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")){var aJ='<td data-view="'+(aG)+'" data-time-slot="true" data-end-date="'+a.jqx.scheduler.utilities.getEndOfDay(C).toString()+'" data-date="'+C.toString()+'" role="gridcell" '+Z+' style="max-width:'+aK+"px; width:"+aK+"px;"}if(X==b-1&&b==1&&!V.rtl){aJ+="border-right-color: transparent;"}else{if(X==0&&b==1&&V.rtl){aJ+="border-right-color: transparent;"}}if(V.rtl){aJ+="border-left-width: 1px;"}if(V.tableRows>1){aJ+="background: "+aO+";";aJ+="border-color: "+y+";"}}}else{if(Y>0){var n="border-left-width: 1px;";if(V.rtl&&X==0&&aF=="monthView"&&G.showWeekNumbers){n="border-left-width: 0px;"}aJ+=n}}if(R.cellsalign!="left"){if(R.cellsalign==="right"){a5+=" "+V.toTP("jqx-right-align")}else{a5+=" "+V.toTP("jqx-center-align")}}if(!R.timeColumn){if(V.rowinfo[aI.uid]){if(V.rowinfo[aI.uid].selected){if(V.editKey!==aI.uid){if(V.selectionMode!=="none"){a5+=" "+V.toTP("jqx-grid-cell-selected");a5+=" "+V.toTP("jqx-fill-state-pressed");a5+=" "+V.toTP("jqx-scheduler-cell-selected")}}}}}if(!(R.hidden)){ad+=o+aK;if(x==0&&!V.rtl){aJ+="border-left-width: 0px;"}x++}else{aJ+="display: none;";V._hiddencolumns=true}if(!(Y==0&&f&&(aF==="dayView"||aF==="weekView"))){if(aF.indexOf("month")==-1){a5+=" "+V.toTP("jqx-grid-cell-nowrap");if(Y%2==1&&!R.timeColumn){a5+=" "+V.toTP("jqx-scheduler-middle-cell")}if(!R.timeColumn){if(G.showWorkTime!==false){var O=1;var J=5;var ay=8;var l=18;if(G.workTime){var O=G.workTime.fromDayOfWeek?G.workTime.fromDayOfWeek:0;var J=G.workTime.toDayOfWeek?G.workTime.toDayOfWeek:0;var ay=G.workTime.fromHour!==undefined?G.workTime.fromHour:8;var l=G.workTime.toHour?G.workTime.toHour:8}if(C.dayOfWeek()>=O&&C.dayOfWeek()<=J){if(C.hour()>=ay&&C.hour()<l){a5+=" "+V.toTP("jqx-scheduler-work-time-cell")}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}else{a5+=" "+V.toTP("jqx-scheduler-not-work-time-cell")}}}}}var ah="";if(aF==="monthView"){if(!V.touchDevice&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align")}var af="dd";ah=C.toDate();var a1=V.toTP("jqx-scheduler-month-outer-cell")+" ";var aA=V.toTP("jqx-scheduler-month-weekend-cell");if(V.date.month()==C.month()){a1=""}if(!C.isWeekend()){aA=""}else{a5+=" "+aA}if(ah.getDate()===1){af="MMM dd"}if(V.touchDevice){if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell-touch")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}else{if(B>16){ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}else{ah="<div class='"+a1+V.toTP("jqx-scheduler-month-cell")+"'>"+a.jqx.dataFormat.formatdate(ah,af,V.schedulerLocalization)+"<span style='display: none; float: right; cursor: pointer;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span></div>"}}}else{if(aF==="timelineWeekView"||aF==="timelineDayView"||aF==="timelineMonthView"){a5+=" "+V.toTP("jqx-right-align jqx-bottom-align");ah="<span style='display: none; float: right; cursor: pointer; width:16px; height: 16px;' class='"+V.toTP("jqx-icon-arrow-down")+"'></span>"}}if(Y==0&&f&&(aF==="dayView"||aF==="weekView")&&!R.timeColumn){a5+=" "+V.toTP("jqx-top-align");a5+=" "+V.toTP("jqx-scheduler-all-day-cell");if(V.rtl){a5+=" "+V.toTP("jqx-rtl")}ah=C.toDate();ah="<span>"+a.jqx.dataFormat.formatdate(ah,"dd",V.schedulerLocalization)+"</span>"}var r=R.cellsFormat;if(R.timeColumn&&!R.hidden){ah=C.toDate();if(R.timeZone){ah=C.clone().toTimeZone(R.timeZone);ah=ah.toDate()}var s="auto";if(G.timeRuler&&G.timeRuler.formatString){r=G.timeRuler.formatString}else{if(!R.timeColumn.format){if(ah.getHours()==0||ah.getHours()==12){r="hh tt"}else{r="hh:mm"}}}if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}if(Y<k){if(!V.rtl){a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell")}else{a5+=" "+V.toTP("jqx-scheduler-time-column-header-cell-rtl")}ah=""}if(Y<k){if(R._text){a5+=" "+V.toTP("jqx-bottom-align")}if(G.timeRuler&&G.timeRuler.timeZones&&G.timeRuler.timeZones.length>0){if(X<G.timeRuler.timeZones.length){ah=R._text}}}if(aF=="monthView"){ah=C.weekOfYear(V.schedulerLocalization.firstDay)}}else{if(r!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(ah)){ah=a.jqx.dataFormat.formatdate(ah,r,V.schedulerLocalization)}else{if(a.jqx.dataFormat.isNumber(ah)||(!isNaN(parseFloat(ah))&&isFinite(ah))){ah=a.jqx.dataFormat.formatnumber(ah,r,V.schedulerLocalization)}}}}}if(R.cellclassname!=""&&R.cellclassname){if(typeof R.cellclassname=="string"){a5+=" "+R.cellclassname}else{var a0=R.cellclassname(Y,R.datafield,ah,aI);if(a0){a5+=" "+a0}}}if(R.cellsRenderer!=""&&R.cellsRenderer){var aT=au.indexOf(aI);ah=R.cellsRenderer(aT,R.datafield,ah,aI)}aJ+='" class="'+a5+'">';aJ+=ah;aJ+="</td>";u+=aJ}if(aM==0){V.table[0].style.width=ad+2+"px";V.pinnedtable[0].style.width=ad+2+"px";aM=ad}u+="</tr>";H+=u;if(!V.rowinfo[aI.uid]){V.rowinfo[aI.uid]={row:aI}}else{if(!("row" in V.rowinfo[aI.uid])){V.rowinfo[aI.uid].row=aI}}}}H+="</table>";V.table[0].innerHTML=H;V.pinnedtable[0].innerHTML=H;V.table[0].rows=V.table[0].firstChild.rows;var aR=a.jqx.browser.msie&&a.jqx.browser.version<9;var aP=null;if(f&&(aF==="dayView"||aF==="weekView")&&V.tableRows==1){V.pinnedtable[0].style.display="block";V.pinnedtable[0].style.zIndex="400";V.pinnedtable[0].style.position="absolute";V.pinnedtable[0].style.top="0px";V.pinnedtable[0].style.height=aQ+"px";if(!aR){if(V.tableRows==1){V.oldRow=V.table[0].rows[0];try{V.table[0].rows[0]=V.pinnedtable.find("tr")[0]}catch(aC){}aP=V.pinnedtable.find("tr")[0];V.pinnedTableRow=aP}else{V.oldRow=V.table[0].rows[1];try{V.table[0].rows[1]=V.pinnedtable.find("tr")[1]}catch(aC){}aP=V.pinnedtable.find("tr")[1];V.pinnedTableRow=aP}}}else{V.pinnedtable[0].style.display="none"}var Q=a(V.table[0].firstChild);var aV=a(V.pinnedtable[0].firstChild);V._table=Q;V._pinnedtable=aV;if(a.jqx.browser.msie&&a.jqx.browser.version<10){V._table[0].style.width=aM+"px";V._pinnedtable[0].style.width=aM+"px"}if(ai===0){V._table[0].style.width=(2+aM)+"px";V._pinnedtable[0].style.width=(2+aM)+"px"}V._table.addClass("jqx-grid-table-one-cell jqx-disableselect");V._pinnedtable.addClass("jqx-grid-table-one-cell jqx-disableselect");V.rowByCell=new Array();V.columnCells=new Array();function F(){var c={};c.cells=new Array();c.indexOf=function(j){for(var q=0;q<c.cells.length;q++){if(c.cells[q].getAttribute("data-key")==j.getAttribute("data-key")){return q}}return -1};return c}V.cellWidth=0;V.cellHeight=0;var U=V.table[0].rows.length;for(var Y=0;Y<U;Y++){var v=V.table[0].rows[Y];if(Y==0&&aP){v=aP}if(v.getAttribute("data-group-row")){continue}var aI=new F();aI.aboveRow=null;aI.belowRow=null;if(V.rows.length>0){aI.aboveRow=V.rows[V.rows.length-1];V.rows[V.rows.length-1].belowRow=aI}aI.element=v;V.rows.push(aI);for(var X=0;X<v.cells.length;X++){var M=v.cells[X];if(M.getAttribute("data-time-slot")){continue}if(M.style.display==="none"){continue}if(M.className.indexOf("jqx-grid-cell-pinned")>=0){continue}if(!V.columnCells[aI.cells.length]){V.columnCells[aI.cells.length]=new Array()}V.columnCells[aI.cells.length].push(M);if(V.cellWidth==0){V.cellWidth=M.clientWidth}if(V.cellHeight==0&&(U==1||Y>1)){V.cellHeight=M.clientHeight}if(V._views[V._view].type=="monthView"){if(aI.top==undefined){aI.top=parseInt(a(M).position().top)}}aI.cells.push(M);V.rowByCell[M.getAttribute("data-key")]=aI}}if(ai===0){V._table[0].style.tableLayout="auto"}V._renderAppointments(d,aN);if(V.pinnedtable[0].style.display!="none"||((aF=="dayView"||aF=="weekView")&&V.tableRows>1)){V._updateScrollbars(V.host.height())}if(aF==="monthView"&&G.monthRowAutoHeight){if(N.length==0){V._renderrows()}else{V._updateScrollbars(V.host.height())}}if(V.rendered){V.rendered()}V.renderedTime=new Date()},showAppointmentsByResource:function(f){var e=this;for(var d=0;d<e.uiappointments.length;d++){var g=e.uiappointments[d];if(g.resourceId==f){g.hidden=false;g.hiddenByResourceId=false;if(g.exceptions){for(var c=0;c<g.exceptions.length;c++){g.exceptions[c].hiddenByResourceId=false}}}}if(e._resourcesElements){var b=e.getColors(e._resources.indexOf(f));e._resourcesElements.top[f].attr("data-toggle","on");e._resourcesElements.top[f].css("background",b.background);e._resourcesElements.bottom[f].attr("data-toggle","on");e._resourcesElements.bottom[f].css("background",b.background)}if(e.hiddenResources){delete e.hiddenResources[f]}e._renderrows()},hideAppointmentsByResource:function(e){var d=this;for(var c=0;c<d.uiappointments.length;c++){var f=d.uiappointments[c];if(f.resourceId==e){f.hidden=true;f.hiddenByResourceId=true;if(f.exceptions){for(var b=0;b<f.exceptions.length;b++){f.exceptions[b].hiddenByResourceId=true;f.exceptions[b].hidden=true}}}}if(d._resourcesElements){d._resourcesElements.top[e].attr("data-toggle","off");d._resourcesElements.top[e].css("background","transparent");d._resourcesElements.bottom[e].attr("data-toggle","off");d._resourcesElements.bottom[e].css("background","transparent")}if(!d.hiddenResources){d.hiddenResources=new Array()}d.hiddenResources[e]=true;d._renderrows()},_prepareAppointmentsInView:function(g,f){var h=this;if(h._appupdating){return}var l=new Array();for(var s=0;s<this.uiappointments.length;s++){var n=this.uiappointments[s];if(n.hidden&&n.recurrencePattern==null){continue}var o=a.jqx.scheduler.utilities.rangeIntersection(n.from,n.to,g,f);if(o&&!n.recurrencePattern){l.push(n)}n.renderedAppointments=new Array();var v=false;if(n.recurrencePattern){var u=n.getOccurrences(g,f);var t=n.exceptions;for(var r=0;r<u.length;r++){var e=u[r];if(e.hidden){continue}var c=true;for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.occurrenceFrom:k;if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(w.clearTime())){h.selectedJQXAppointment=k;v=true}}if(w.clearTime().equals(e.from.clearTime())){c=false;break}}if(!c){continue}if(h.selectedJQXAppointment&&h.selectedJQXAppointment.rootAppointment){if(!v&&h.selectedJQXAppointment.occurrenceFrom.clearTime().equals(e.occurrenceFrom.clearTime())){h.selectedJQXAppointment=e;v=true}}n.renderedAppointments[e.id]=e;l.push(e)}for(var p=0;p<t.length;p++){var k=t[p];var w=k.occurrenceFrom?k.from:k;var q=n.createOccurrence(w);if(k.occurrenceFrom){k.cloneAppointmentAttributes(q);if(k.hidden){continue}}if(q!=n){l.push(k);n.renderedAppointments[k.id]=k}}}}var b=new Array();this.tabKeyAppointments=new Array();for(var s=0;s<l.length;s++){var d=l[s];b.push(d);this.tabKeyAppointments.push(d)}b.sort(this._sortAppointmentsByFrom);if(this._resources.length>0){this.tabKeyAppointments.sort(function(j,i){return h._sortAppointmentsByResourceId(j,i,h)})}else{this.tabKeyAppointments.sort(this._sortAppointmentsByFrom)}this.appointmentsToRender=b},_renderDayWeekAppointments:function(){var N=this;var ab=N._views[N._view].type;var M=N._views[N._view];var A=new Array();var K=new Array();var Z=this.rows;var E=N.showAllDayRow;var ad=N.getMinutesPerScale();if(M.timeRuler&&M.timeRuler.showAllDayRow!=undefined){E=M.timeRuler.showAllDayRow}for(var f=0;f<this.appointmentsToRender.length;f++){var s=this.appointmentsToRender[f];var u=s.from;var ae=s.to;var V=a.jqx.scheduler.utilities.getEndOfDay(ae);var D=u.day();var e=s.allDay;var v=N._getDateByString;var G=new Array();var r=new Array();var p=s.resourceId;var h=N._resources.indexOf(p);if(N.resources&&N.resources.orientation=="none"){h=-1}var B=u.toDate().valueOf();var k=ae.toDate().valueOf();var Q=V.toDate().valueOf();var af=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};if(!s.allDay&&s.duration().days()<1||!E){var q=ae.toDate();var I=false;if(q.getHours()==0&&q.getMinutes()==0){I=true}for(var X=0;X<N.columnCells.length;X++){if(!N.columnCells[X]){continue}var w=N.columnCells[X];if(N.rtl){w=N.columnCells[N.columnCells.length-1-X]}for(var W=0;W<w.length;W++){if(w[W].getAttribute("data-end-date")){continue}var n=w[W].getAttribute("data-date");var Y=v(n);var F=v(n);F.setMinutes(F.getMinutes()+ad-1);var m=Y.valueOf();var H=F.valueOf();if(m>ae){continue}if((B<=m&&m<k)||(B<=H&&H<k)||(B>=m&&H>=k)){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(D!=Y.getDate()){G.sort(af);r.push(G);G=new Array();D=u.addDays(1).day()}G.push({cell:w[W],date:Y})}}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){continue}var c=N.cellWidth;var d=w[w.length-1].cell.offsetTop+N.cellHeight;var P=w[0].cell.offsetLeft;var O=w[0].cell.offsetTop;var S=N.getMinutesPerScale();var q=new a.jqx.date(w[w.length-1].date,N.timeZone).addMinutes(S);var ac={cells:w,x:P,y:O,height:d-O,width:c,appointment:s,from:new a.jqx.date(w[0].date,N.timeZone),to:q};C.push(ac);A.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}else{var w=Z[0].cells;if(this.tableRows>1){var U=Z.length/N.tableRows;var b=h*U;w=Z[b].cells}for(var W=0;W<w.length;W++){var n=w[W].getAttribute("data-date");var ag=v(n);var Y=new a.jqx.date(ag,N.timeZone);Y=a.jqx.scheduler.utilities.getEndOfDay(Y);var m=Y.toDate().valueOf();if(m>V){continue}if(u<=Y&&Y<=V){if(h!=-1){if((1+h)!=w[W].getAttribute("data-view")){continue}}if(G.length==0){Y=a.jqx.scheduler.utilities.getStartOfDay(Y)}G.push({cell:w[W],date:Y})}}G.sort(af);r.push(G);var C=new Array();for(var X=0;X<r.length;X++){var w=r[X];if(w.length==0){break}var l=a(w[0].cell).position();var c=a(w[w.length-1].cell).position().left+this.cellWidth-l.left;var d=a(w[w.length-1].cell).position().top;var P=l.left;var O=l.top;if(this.rtl){var l=a(w[w.length-1].cell).position();var P=l.left;var c=a(w[0].cell).position().left+this.cellWidth-l.left}var T=w[w.length-1].date;T=new a.jqx.date(a.jqx.scheduler.utilities.getEndOfDay(T),N.timeZone);var ac={cells:w,x:P,y:O,height:d-O+this.cellHeight,width:c,appointment:s,from:a.jqx.scheduler.utilities.getStartOfDay(new a.jqx.date(w[0].date,N.timeZone)),to:T};C.push(ac);K.push(ac)}s.elements=C;if(s.rootAppointment){s.rootAppointment.elements=s.rootAppointment.elements.concat(s.elements)}}}var z=this.getViewStart();var R=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;aa[J].push(t)}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}this._renderAllDayAppointments(K)}else{for(var W=0;W<this._resources.length;W++){var L=this._resources[W];var aa=new Array();var g=z;var J=0;while(g<R){aa[J]=new Array();for(var X=0;X<A.length;X++){var t=A[X];if(t.from.day()==g.day()){t.column=-1;t.columnSpan=1;if(t.appointment.resourceId==L){aa[J].push(t)}}}J++;g=g.addDays(1)}for(var X=0;X<aa.length;X++){this._renderAppointmentsInDay(aa[X])}var o=new Array();for(var X=0;X<K.length;X++){if(K[X].appointment.resourceId==L){o.push(K[X])}}this._renderAllDayAppointments(o)}}},_renderAllDayAppointments:function(ar){var ac=this;var I=this.showAllDayRow;var ab=this._views[this._view];if(ab.timeRuler&&ab.timeRuler.showAllDayRow!=undefined){I=ab.timeRuler.showAllDayRow}if(!I){return}if(ar.length==0){return}var B=ar;var H=1;H=this.getMaxAllDayAppointments(ar);if(this.tableRows==1){var A=this.table[0].rows[0].clientHeight/H}else{var A=this.table[0].rows[1].clientHeight/H}for(var ap=0;ap<ar.length;ap++){var z=ar[ap];z.row=-1;var d=this.getCollisionAppointments(z,ar);d.sort(this._sortAppointmentsByFrom);var s=d.indexOf(z);if(s>=0){for(var aj=s;aj<d.length;aj++){d[aj].row=-1}}for(var am=0;am<H;am++){var n=am;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(n,d)){Y.row=n;var an=H;var c=this.getMaxAllDayAppointments(d);if(an>c){an=c}Y.rowsCount=an}}}}for(var am=0;am<B.length;am++){var z=B[am];var d=this.getCollisionAppointments(z,B);d.sort(this._sortAppointmentsByFrom);var l=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];l=Math.max(l,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=l}if(d.length==1){z.rowSpan=l}else{var F=0;var f=true;for(var aj=z.row;aj<l;aj++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==z){continue}if(Y.row==aj){f=false}}if(!f){break}F++}z.rowSpan=F}}var aq=ac.appointmentsMinHeight+2;if(ac.isTouchDevice()){var aq=ac.touchAppointmentsMinHeight+2}for(var ae=0;ae<B.length;ae++){var ad=aq;var z=B[ae];z.height=aq;var D=ad*z.row;z.y=18+z.y+D+(4*z.row);z.x+=3;z.width-=8;if(z.appointment.from.hour()!=0||z.appointment.to.hour()!=23){var C=this.getViewStart();var ag=this.getViewEnd();if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30);if(z.appointment.from<C){K=0}z.timewidth=z.width;z.timex=K;var L=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);if(z.appointment.to>ag){L=0}z.timewidth-=K;if(L>0){z.timewidth-=ac.cellWidth;z.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){z.width=z.timewidth;z.x+=K}}else{var K=parseFloat(ac.cellWidth/24)*(z.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.to.minute()/30);var L=(parseFloat(ac.cellWidth/24)*(z.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(z.appointment.from.minute()/30));if(K>0){K=ac.cellWidth-K}if(z.appointment.from<C){L=0}if(z.appointment.to>ag){K=0}if(ab.appointmentsRenderMode=="exactTime"){z.x+=K;z.width-=K;z.width-=L}if(z.appointment.duration().days()<1){if(z.width<15){z.width=15}}z.timewidth=z.width;if(ab.appointmentsRenderMode=="exactTimeStatus"){z.timewidth-=K;z.timewidth-=L}z.timex=K}}}for(var ae=0;ae<B.length;ae++){var ak=B[ae];var N="";var P="auto";var ab=this._views[this._view];var o=ak.appointment.from;var av=ak.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var af=P;if(P==="auto"){if((o.hour()==0&&o.minute()==0)||(o.hour()==12&&o.minute()==0)){var af="hh tt"}else{var af="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var y="hh tt"}else{var y="hh:mm"}}var u=o.toString(af);var v=av.toString(y);var J=ak.appointment.duration();var e=ak.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=ak.appointment.background;var T=ak.appointment.subject?ak.appointment.subject:"(No Title)";var M=ak.appointment.color;var i=ak.appointment.resourceId;var ah=ac.getColors(ac._resources.indexOf(i));var ai=" data-resourceId='"+i+"' ";var X=ak.appointment.borderColor;var t=ak.appointment.location;if(t.length>0){t=", "+t}if(!aa){aa=ah.background}if(!X){X=ah.border}if(!M){M=ah.color}var b=ak.appointment.isRecurrentAppointment();var r=ak.appointment.isException();var g=u+"-"+v;if(e){u="";v=""}var ao="";var w=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[ak.appointment.status];var k=false;if(R){if(R=="transparent"){k=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+w+"'></div>"}k=true}}var E=ac.toTP("jqx-scheduler-appointment-duration-status");var al="<div style='width: "+ak.timewidth+"px; left: "+ak.timex+"px;' class='"+E+"'></div>";if(e){al=""}var G="";if(ab.appointmentsRenderMode!="exactTimeStatus"){al=""}if(ac.rtl){var w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+w+"'></div>";if(R=="tentative"){w=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+w+"'></div>"}G=S;S=""}var W="";var Q=T+t;if(!e){Q=T+t+al}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:ak.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:ak.width,height:ak.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ah=ac.getAppointmentColors(au.style);aa=ah.background;X=ah.border;M=ah.color}}}if(ao===""){if(k){var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+G+"</div>"}else{var ao="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(r){var h=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+h+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var q=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+q+"'></div>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+ak.appointment.id+"'"+ai+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ak.x+"px; top: "+ak.y+"px; width: "+ak.width+"px; line-height: "+ak.height+"px; height: "+ak.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ao+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);if(this.tableRows==1){V.appendTo(this.pinnedtable)}else{V.appendTo(this.table)}ak.element=V;if(this.appointmentTooltips){if(!ak.appointment.tooltip){var Z=ak.appointment.subject;if(u){Z=u+" - "+v+" "+Z}if(Z){var t=ak.appointment.location;if(t){Z+="\n"+t}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",ak.appointment.tooltip)}}}},_renderAppointmentsInDay:function(an,am){if(an.length==0){return}var Z=this;var Y=this._views[this._view];var B=an;var C=this.getViewStart();var ac=this.getViewEnd();var ai=1;var o=0;if(Y.timeRuler){o=this.columns.records[1].width;if(Y.timeRuler.timeZones){o=this.columns.records[1+Y.timeRuler.timeZones.length].width}}else{o=this.columns.records[1].width}ai=this.getMaxColumnsInADay(an);var n=o/ai;if(n<0){return}for(var al=0;al<an.length;al++){var A=an[al];A.column=-1;var d=this.getCollisionAppointments(A,an);d.sort(this._sortAppointmentsByFrom);var t=d.indexOf(A);if(t>=0){for(var ag=t;ag<d.length;ag++){d[ag].column=-1}}for(var aj=0;aj<ai;aj++){var e=aj;for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==-1&&!this.isBusyColumn(e,d)){V.column=e;var g=ai;var c=this.getMaxColumnsInADay(d);if(g>c){g=c}V.columnsCount=g}}}}for(var aj=0;aj<B.length;aj++){var A=B[aj];var d=this.getCollisionAppointments(A,B);d.sort(this._sortAppointmentsByFrom);var H=1;for(var R in d){if(R=="indexOf"){break}var L=d[R];if(L.columnsCount==undefined){continue}H=Math.max(H,L.columnsCount)}for(var R in d){if(R=="indexOf"){break}var L=d[R];L.columnsCount=H}if(d.length==1){A.columnSpan=H}else{var D=0;var f=true;for(var ag=A.column;ag<H;ag++){for(var R in d){if(R=="indexOf"){break}var V=d[R];if(V.column==undefined){continue}if(V==A){continue}if(V.column==ag){f=false}}if(!f){break}D++}A.columnSpan=D}}for(var aa=0;aa<B.length;aa++){var E=o/B[aa].columnsCount;var A=B[aa];A.width=-5+(E*A.columnSpan);var ap=E*A.column;A.x=2+A.x+ap;A.height-=5;A.y+=1;if(Y.appointmentsRenderMode=="exactTime"){var ae=Z.getMinutesPerScale();if(A.appointment.from.minute()%ae!=0){var at=A.appointment.from.minute()%ae;var J=parseFloat(Z.cellHeight/ae)*at}else{var J=0}if(A.appointment.to.minute()%ae!=0){var at=A.appointment.to.minute()%ae;var G=Z.cellHeight-parseFloat(Z.cellHeight/ae)*at;if(A.to.day()!==A.appointment.to.day()){G=0}}else{G=0}A.y+=J;A.height-=J;A.height-=G}}for(var aa=0;aa<B.length;aa++){var ah=B[aa];var K="";var M="auto";var Y=this._views[this._view];var q=ah.appointment.from;var ar=ah.appointment.to;if(Y.timeRuler&&Y.timeRuler.formatString){M=Y.timeRuler.formatString}var ab=M;if(M==="auto"){if((q.hour()==0&&q.minute()==0)||(q.hour()==12&&q.minute()==0)){var ab="hh tt"}else{var ab="hh:mm"}if((ar.hour()==0&&ar.minute()==0)||(ar.hour()==12&&ar.minute()==0)){var z="hh tt"}else{var z="hh:mm"}}var v=q.toString(ab);var w=ar.toString(z);var X=ah.appointment.background;var Q=ah.appointment.subject?ah.appointment.subject:"(No Title)";var u=ah.appointment.location?ah.appointment.location:"";var I=ah.appointment.color;var k=ah.appointment.resourceId;var ad=Z.getColors(Z._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var U=ah.appointment.borderColor;if(!X){X=ad.background}if(!U){U=ad.border}if(!I){I=ad.color}var b=ah.appointment.isRecurrentAppointment();var s=ah.appointment.isException();var ak="";var y=Z.toTP("jqx-scheduler-appointment-status");var P="";var O=Z.statuses[ah.appointment.status];var l=false;if(O){if(O=="transparent"){l=false}else{P="<div style='background: "+O+"; border-right-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-right-color: "+U+"' class='"+y+"'></div>"}l=true}}var F="";if(Z.rtl){var y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");P="<div style='background: "+O+"; border-left-color: "+U+"' class='"+y+"'></div>";if(O=="tentative"){y=Z.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");P="<div style='background-color: "+U+"; border-left-color: "+U+"' class='"+y+"'></div>"}F=P;P=""}var T="";var N=Q+"<br/>"+u;if(!u){var N=Q}if(Z.renderAppointment){var aq=Z.renderAppointment({appointment:ah.appointment.boundAppointment,textColor:I,background:X,borderColor:U,html:N,cssClass:"",style:"",width:ah.width,height:ah.height,view:Z._views[Z._view].type});if(aq){var K=aq.html;if(K!=N){N=K}I=aq.textColor;X=aq.background;U=aq.borderColor;if(aq.cssClass){T=aq.cssClass+" "}if(aq.style!=""){var ad=Z.getAppointmentColors(aq.style);X=ad.background;U=ad.border;I=ad.color}}}if(ak===""){if(l){var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'>"+P+"<div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div>"+F+"</div>"}else{var ak="<div class='"+Z.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Z.toTP("jqx-scheduler-appointment-inner-content")+"'>"+N+"</div></div>"}}var ao="";if(Z.rtl){ao=Z.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var h=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-exception-white"):Z.toTP("jqx-icon-recurrence-exception");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+h+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{if(b){var r=I.toLowerCase()=="white"?Z.toTP("jqx-icon-recurrence-white"):Z.toTP("jqx-icon-recurrence");K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'><div class='"+r+"'></div>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}else{K="<div data-key='"+ah.appointment.id+"'"+af+"class='"+ao+T+Z.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ah.x+"px; top: "+ah.y+"px; width: "+ah.width+"px; height: "+ah.height+"px; border-color:"+U+"; color:"+I+"; background:"+X+";'>"+ak+"<div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-top-resize-indicator")+"'></div><div class='"+Z.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-bottom-resize-indicator")+"'></div></div>"}}var S=a(K);S.appendTo(this.table);ah.element=S;if(this.appointmentTooltips){if(!ah.appointment.tooltip){var W=ah.appointment.subject;if(W){var u=ah.appointment.location;if(u){W+="\n"+u}S[0].setAttribute("title",W)}}else{S[0].setAttribute("title",ah.appointment.tooltip)}}}},getCollisionAppointments:function(b,f){var j=new Array();var g=b.from;var h=b.to;for(var d=0;d<f.length;d++){var k=f[d];var e=k.from;var c=k.to;if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},getAllDayCollisionAppointments:function(b,f){var j=new Array();var g=a.jqx.scheduler.utilities.getStartOfDay(b.from);var h=a.jqx.scheduler.utilities.getEndOfDay(b.to);for(var d=0;d<f.length;d++){var k=f[d];var e=a.jqx.scheduler.utilities.getStartOfDay(k.from);var c=a.jqx.scheduler.utilities.getEndOfDay(k.to);if(a.jqx.scheduler.utilities.rangeIntersection(g,h,e,c)){j.push(k)}}return j},_renderAppointments:function(e,c){var d=this;if(d._appupdating){return}d.table.find(".jqx-scheduler-appointment").remove();d.pinnedtable.find(".jqx-scheduler-appointment").remove();var b=d._views[d._view].type;if(b==="dayView"||b==="weekView"){d._renderDayWeekAppointments(e,c)}else{if(b==="monthView"){d._renderMonthAppointments(e,c)}else{if(b==="timelineWeekView"||b==="timelineDayView"||b==="timelineMonthView"){d._renderTimelineAppointments(e,c)}}}if(d.selectedJQXAppointment){d._selectAppointment(d.selectedJQXAppointment)}},_renderTimelineAppointments:function(t,I){var E=this;var Q=E._views[E._view].type;var D=E._views[E._view];var u=new Array();var P=this.rows;var L=this.cellHeight;var K=this.cellWidth;var J=E.getMinutesPerScale();for(var d=0;d<this.appointmentsToRender.length;d++){var o=this.appointmentsToRender[d];var p=o.from;var S=o.to;var r=E._getDateByString;var A=new Array();var v=p.toDate().valueOf();var g=S.toDate().valueOf();if(Q==="timelineMonthView"){v=p.clearTime().toDate().valueOf()}var T=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var q=E.rows[0];var m=o.resourceId;var f=E._resources.indexOf(m);if(E._resources.length>0){if(E.resources.orientation!=="horizontal"){if(f>=1){q=E.rows[f]}}}if(E.resources&&E.resources.orientation=="none"){f=-1;var q=E.rows[0]}var s=q.cells;for(var M=0;M<s.length;M++){var k=s[M].getAttribute("data-date");s[M].appointments=new Array();var O=r(k);var h=O.valueOf();var z=r(k);z.setMinutes(z.getMinutes()+J-1);var B=z.valueOf();if(h>S){continue}if((v<=h&&h<g)||(v<=B&&B<g)||(v>=h&&v<=B&&g<=B)){if(f!=-1){if((1+f)!=s[M].getAttribute("data-view")){continue}}A.push({cell:s[M],date:O});q=N}}A.sort(T);var w=new Array();var s=A;if(s.length==0){continue}var l=E.appointmentsMinHeight;if(E.isTouchDevice()){l=E.touchAppointmentsMinHeight}if(D.appointmentHeight){l=D.appointmentHeight}var H=a(s[0].cell).position();var c=l;var b=a(s[s.length-1].cell).position().left-H.left+K;var G=H.left;var F=H.top;if(E.rtl){var H=a(s[s.length-1].cell).position();var b=a(s[0].cell).position().left-H.left+K;var G=H.left;var F=H.top}var n=new a.jqx.date(s[s.length-1].date,E.timeZone).addMinutes(J);if(Q==="timelineMonthView"){var n=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(s[s.length-1].date,E.timeZone))}var R={cellX:G,cellY:F,cellHeight:L,cells:s,x:G,y:F,height:c,width:b,appointment:o,from:new a.jqx.date(s[0].date,E.timeZone),to:n};if(D.appointmentsRenderMode==="exactTime"){R.from=o.from;R.to=o.to}w.push(R);u.push(R);o.elements=w;if(o.rootAppointment){o.rootAppointment.elements=o.rootAppointment.elements.concat(o.elements)}}if(this._resources.length<2||this.resources.orientation=="none"){this._renderUITimelineAppointments(u,t,I)}else{for(var M=0;M<this._resources.length;M++){var C=this._resources[M];var e=new Array();for(var N=0;N<u.length;N++){if(u[N].appointment.resourceId==C){e.push(u[N])}}this._renderUITimelineAppointments(e,t,I)}}},_renderUITimelineAppointments:function(ao,w,ac){var Y=this;var ap=Y._views[Y._view].type;var X=Y._views[Y._view];var E=ao;var C=1;var Y=this;var T=new Array();C=Y.getMaxTimelineAppointments(ao,T,w,ac);var h=Y.appointmentsMinHeight;if(Y.isTouchDevice()){h=Y.touchAppointmentsMinHeight}if(X.appointmentHeight){h=X.appointmentHeight}for(var an=0;an<ao.length;an++){var g=ao[an];g.row=-1;var d=Y.getCollisionAppointments(g,ao);d.sort(Y._sortAppointmentsByFrom);var t=d.indexOf(g);if(t>=0){for(var aj=t;aj<d.length;aj++){d[aj].row=-1}}for(var ak=0;ak<C;ak++){var o=ak;for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U.row==-1&&!Y.isBusyRow(o,d)){U.row=o;var al=C;var c=Y.getMaxTimelineAppointments(d,T,w,ac);if(al>c){al=c}U.rowsCount=al}}}}for(var ak=0;ak<E.length;ak++){var g=E[ak];var d=Y.getCollisionAppointments(g,E);d.sort(Y._sortAppointmentsByFrom);var n=1;for(var P in d){if(P=="indexOf"){break}var K=d[P];n=Math.max(n,K.rowsCount)}for(var P in d){if(P=="indexOf"){break}var K=d[P];K.rowsCount=n}if(d.length==1){g.rowSpan=n}else{var z=0;var f=true;for(var aj=g.row;aj<n;aj++){for(var P in d){if(P=="indexOf"){break}var U=d[P];if(U==g){continue}if(U.row==aj){f=false}}if(!f){break}z++}g.rowSpan=z}}for(var aa=0;aa<E.length;aa++){var Z=h;var g=E[aa];g.height=Z;var y=2+(3+Z)*g.row;g.y=g.y+y;g.x+=1;g.width-=5;var e=Y._views[Y._view].type;var X=Y._views[Y._view];if(e=="timelineMonthView"&&X.appointmentsRenderMode){if((g.appointment.from.hour()!=0||g.appointment.to.hour()!=23)){if(!Y.rtl){var F=parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30);var G=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);g.timewidth=g.width;g.timex=F;g.timewidth-=F;g.timewidth-=Y.cellWidth;g.timewidth+=G;if(X.appointmentsRenderMode=="exactTime"){g.width=g.timewidth;if(Y.date.month()===g.appointment.from.month()){g.x+=F}else{g.width=F+g.timewidth}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15;if(F+15>Y.cellWidth){var D=Y.cellWidth-F-15;g.x+=D}}}}}else{var F=parseFloat(Y.cellWidth/24)*(g.appointment.to.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.to.minute()/30);var G=(parseFloat(Y.cellWidth/24)*(g.appointment.from.hour())+parseFloat(Y.cellWidth/48)*(g.appointment.from.minute()/30));if(F>0){F=Y.cellWidth-F}if(X.appointmentsRenderMode=="exactTime"){g.x+=F;g.width-=F;g.width-=G}if(g.appointment.duration().days()<1){if(g.width<15){g.width=15}}g.timewidth=g.width;g.timex=F}}}else{if(X.appointmentsRenderMode){if(X.appointmentsRenderMode=="exactTime"){var ae=Y.getMinutesPerScale();if(g.appointment.from.minute()%ae!=0){var au=g.appointment.from.minute()%ae;var F=parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var F=parseFloat(Y.cellWidth/ae)*au}}else{var F=0}if(g.appointment.to.minute()%ae!=0){var au=g.appointment.to.minute()%ae;var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au;if(Y.rtl){var G=Y.cellWidth-parseFloat(Y.cellWidth/ae)*au}}else{G=0}if(!Y.rtl){g.x+=F;g.width-=F;g.width-=G}else{g.x+=G;g.width-=F;g.width-=G}}}}}var ah="";for(var aa=0;aa<E.length;aa++){var ai=E[aa];var I="";var J="auto";var X=Y._views[Y._view];var q=ai.appointment.from;var at=ai.appointment.to;if(X.timeRuler&&X.timeRuler.formatString){J=X.timeRuler.formatString}var W=ai.appointment.background;var O=ai.appointment.subject?ai.appointment.subject:"(No Title)";var u=ai.appointment.location;if(u&&u.length>1){u=", "+u}var H=ai.appointment.color;var k=ai.appointment.resourceId;var ad=Y.getColors(Y._resources.indexOf(k));var af=" data-resourceId='"+k+"' ";var S=ai.appointment.borderColor;if(!W){W=ad.background}if(!S){S=ad.border}if(!H){H=ad.color}var b=ai.appointment.isRecurrentAppointment();var s=ai.appointment.isException();var am="";var v=Y.toTP("jqx-scheduler-appointment-status");var N="";var M=Y.statuses[ai.appointment.status];var l=false;if(M){if(M=="transparent"){l=false}else{N="<div style='background: "+M+"; border-right-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-right-color: "+S+"' class='"+v+"'></div>"}l=true}}var A="";if(Y.rtl){var v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");N="<div style='background: "+M+"; border-left-color: "+S+"' class='"+v+"'></div>";if(M=="tentative"){v=Y.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");N="<div style='background-color: "+S+"; border-left-color: "+S+"' class='"+v+"'></div>"}A=N;N=""}var R="";var L=O+"<br/>"+u;if(Y.renderAppointment){var ar=Y.renderAppointment({appointment:ai.appointment.boundAppointment,textColor:H,background:W,borderColor:S,html:L,cssClass:"",style:"",width:ai.width,height:ai.height,view:Y._views[Y._view].type});if(ar){var I=ar.html;if(I!=L){L=I}H=ar.textColor;W=ar.background;S=ar.borderColor;if(ar.cssClass){R=ar.cssClass+" "}if(ar.style!=""){var ad=Y.getAppointmentColors(ar.style);W=ad.background;S=ad.border;H=ad.color}}}if(am===""){if(l){var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'>"+N+"<div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div>"+A+"</div>"}else{var am="<div style='white-space:nowrap;' class='"+Y.toTP("jqx-scheduler-appointment-content")+"'><div class='"+Y.toTP("jqx-scheduler-appointment-inner-content")+"'>"+L+"</div></div>"}}var aq="";if(Y.rtl){aq=Y.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(s){var i=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-exception-white"):Y.toTP("jqx-icon-recurrence-exception");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+i+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var r=H.toLowerCase()=="white"?Y.toTP("jqx-icon-recurrence-white"):Y.toTP("jqx-icon-recurrence");I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'><div class='"+r+"'></div>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{I="<div data-key='"+ai.appointment.id+"'"+af+"class='"+aq+R+Y.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+ai.x+"px; top: "+ai.y+"px; width: "+ai.width+"px; height: "+ai.height+"px; line-height: "+ai.height+"px; border-color:"+S+"; color:"+H+"; background:"+W+";'>"+am+"<div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+Y.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}ah=I;var Q=a(I);Q.appendTo(this.table);ai.element=Q;if(this.appointmentTooltips){if(!ai.appointment.tooltip){var V=ai.appointment.subject;if(V){var u=ai.appointment.location;if(u){V+="\n"+u}Q[0].setAttribute("title",V)}}else{Q[0].setAttribute("title",ai.appointment.tooltip)}}}var ag=Y.table.find(".jqx-scheduler-appointment");var B=function(m){for(var j=0;j<ag.length;j++){var p=ag[j].getAttribute("data-key");if(p==m){return ag[j]}}};for(var aa=0;aa<E.length;aa++){var ai=E[aa];var ab=false;var Q=a(B(ai.appointment.id));a.each(ai.cells,function(p){var m=a(this.cell);var aw=ai.cellY;var av=ai.cellX;var j=ai.cellHeight;if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:Q,appointment:ai});Q=Q;if(ai.y+ai.height>=aw+j-12){Q[0].style.visibility="hidden";var x=m.find(".jqx-icon-arrow-down");if(x.length>0){x[0].style.display="block";x[0].mousedown=function(){if(Y.openedMonthCellPopup){Y.openedMonthCellPopup.remove()}var ax=a("<div></div>");var aA=new a.jqx.date(m.attr("data-date"),Y.timeZone);var aD=a("<div class='"+Y.toTP("jqx-scheduler-month-cell")+"'><span style='float: right; cursor: pointer; width:16px; height: 16px;' class='"+Y.toTP("jqx-icon-close")+"'></span></div>");aD.height(16);aD.find("span")[0].mousedown=function(){ax.remove()};aD.addClass(Y.toTP("jqx-widget-header"));ax.addClass(Y.toTP("jqx-widget"));ax.addClass(Y.toTP("jqx-window"));ax.addClass(Y.toTP("jqx-scheduler-month-cell-popup"));ax.addClass(Y.toTP("jqx-popup"));var aE=a("<div></div>");ax.append(aD);ax.append(aE);aE.addClass(Y.toTP("jqx-widget-content"));var ay=m.width();var aG=21;for(var aB=0;aB<m[0].appointments.length;aB++){var az=m[0].appointments[aB].ui.clone(true);az.css("left","3px");az.css("top","0px");az.css("margin-top","2px");az.css("position","relative");az.css("visibility","visible");az.width(ay-6);az.click(function(aH){var aI=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aH.target));Y._raiseEvent("appointmentClick",{appointment:aI.boundAppointment})});az.dblclick(function(aI){var aJ=Y.getJQXAppointmentByElement(Y.getAppointmentElement(aI.target));if(!aJ.readOnly&&!Y.editRecurrenceDialog.jqxWindow("isOpen")&&(!Y._editDialog||(Y._editDialog&&!Y._editDialog.jqxWindow("isOpen")))){var aH=Y._initDialog(aJ);if(aH!==false){Y._openDialog()}}Y._raiseEvent("appointmentDoubleClick",{appointment:aJ.boundAppointment})});aG+=az.outerHeight()+4;aE.append(az)}ax.css("overflow","hidden");ax.css("position","absolute");var aF=Y.table.height()-aw-25;if(aF<j){aF=j}ax.css("max-height",aF);ax.height(aG);ax.width(ay);ax.css("z-index","9999");var aC=m.position();ax.css("top",aC.top);ax.css("left",aC.left);Y.table.append(ax);Y.openedMonthCellPopup=ax}}}})}},_renderMonthAppointments:function(){var K=this;var U=K._views[K._view].type;var J=K._views[K._view];var A=new Array();var S=this.rows;var O=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){O=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}for(var e=0;e<this.appointmentsToRender.length;e++){var r=this.appointmentsToRender[e];var t=a.jqx.scheduler.utilities.getStartOfDay(r.from);var W=a.jqx.scheduler.utilities.getEndOfDay(r.to);var c=r.allDay;var v=K._getDateByString;var F=new Array();var q=new Array();var B=t.toDate().valueOf();var k=W.toDate().valueOf();var X=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var u=-1;var o=r.resourceId;var h=K._resources.indexOf(o);if(K.resources&&K.resources.orientation=="none"){h=-1}for(var Q=0;Q<K.rows.length;Q++){var w=K.rows[Q].cells;for(var P=0;P<w.length;P++){var m=w[P].getAttribute("data-date");var R=v(m);var l=R.valueOf();if(l>W){continue}w[P].appointments=new Array();if(h!=-1){if((1+h)!=w[P].getAttribute("data-view")){continue}}if(B<=l&&l<k){if(u!=Q&&u!=-1){F.sort(X);q.push(F);F=new Array()}F.push({cell:w[P],date:R});u=Q}}}F.sort(X);q.push(F);var C=new Array();for(var Q=0;Q<q.length;Q++){var w=q[Q];if(w.length==0){break}var n=K.appointmentsMinHeight;if(K.isTouchDevice()){n=K.touchAppointmentsMinHeight}if(J.appointmentHeight){n=J.appointmentHeight}var d=n;var E=a(w[w.length-1].cell).position().left;var b=E-a(w[0].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[0].cell).position().left+K.columns.records[1].width}var G=a(w[0].cell).position();var M=G.left;var L=G.top+O;var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[w.length-1].date,K.timeZone));var D=new a.jqx.date(w[0].date,K.timeZone);if(K.rtl){var p=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(w[0].date,K.timeZone));var D=new a.jqx.date(w[w.length-1].date,K.timeZone);var G=a(w[w.length-1].cell).position();var M=G.left;var L=G.top+O;var E=a(w[0].cell).position().left;var b=E-a(w[w.length-1].cell).position().left+K.columns.records[0].width;if(J.showWeekNumbers){var b=E-a(w[w.length-1].cell).position().left+K.columns.records[1].width}}var V={cells:w,cellY:parseInt(G.top),cellX:parseInt(G.left),lastCellY:parseInt(G.top),lastCellX:E,x:M,y:L,height:d,width:b,appointment:r,from:D,to:p};C.push(V);A.push(V)}r.elements=C;if(r.rootAppointment){r.rootAppointment.elements=r.rootAppointment.elements.concat(r.elements)}}var z=this.getViewStart();var N=this.getViewEnd();if(this._resources.length<2||this.resources.orientation=="none"){var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;T[H].push(s)}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}else{for(var P=0;P<this._resources.length;P++){var I=this._resources[P];var g=new Array();var T=new Array();var f=z;var H=0;while(f<N){T[H]=new Array();for(var Q=0;Q<A.length;Q++){var s=A[Q];if(f<=s.from&&s.to<f.addDays(7)){s.row=-1;s.rowSpan=1;if(s.appointment.resourceId==I){T[H].push(s)}}}H++;f=f.addDays(7)}for(var Q=0;Q<T.length;Q++){if(T[Q].length>0){this._renderUIMonthAppointments(T[Q])}}}}},_getMonthAppointmentsPerWeek:function(){var M=this;var W=M._views[M._view].type;var L=M._views[M._view];var C=new Array();var U=this.rows;var Q=0;if(this.host.find(".jqx-scheduler-month-cell").length>0){Q=a(this.host.find(".jqx-scheduler-month-cell")[0]).height()}if(!M.rows){return new Array()}var B=this.getViewStart();var P=this.getViewEnd();for(var e=0;e<this.appointmentsToRender.length;e++){var s=this.appointmentsToRender[e];var u=a.jqx.scheduler.utilities.getStartOfDay(s.from);var Y=a.jqx.scheduler.utilities.getEndOfDay(s.to);var c=s.allDay;var z=M._getDateByString;var H=new Array();var r=new Array();var D=u.toDate().valueOf();var l=Y.toDate().valueOf();var Z=function(j,i){if(j.date<i.date){return -1}if(j.date==i.date){return 0}if(j.date>i.date){return 1}};var v=-1;var p=s.resourceId;var k=M._resources.indexOf(p);if(M.resources&&M.resources.orientation=="none"){k=-1}for(var S=0;S<M.rows.length;S++){var A=M.rows[S].cells;for(var R=0;R<A.length;R++){var n=A[R].getAttribute("data-date");var T=B.addDays(S*7+R).toDate();var m=T.valueOf();if(m>Y){continue}if(k!=-1){if((1+k)!=A[R].getAttribute("data-view")){continue}}if(D<=m&&m<l){if(v!=S&&v!=-1){H.sort(Z);r.push(H);H=new Array()}H.push({cell:A[R],date:T});v=S}}}H.sort(Z);r.push(H);var E=new Array();for(var S=0;S<r.length;S++){var A=r[S];if(A.length==0){break}var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}var d=o;var G=a(A[A.length-1].cell).position().left;var b=G-a(A[0].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[0].cell).position().left+M.columns.records[1].width}var I=a(A[0].cell).position();var O=I.left;var N=I.top+Q;var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[A.length-1].date,M.timeZone));var F=new a.jqx.date(A[0].date,M.timeZone);if(M.rtl){var q=a.jqx.scheduler.utilities.getEndOfDay(new a.jqx.date(A[0].date,M.timeZone));var F=new a.jqx.date(A[A.length-1].date,M.timeZone);var I=a(A[A.length-1].cell).position();var O=I.left;var N=I.top+Q;var G=a(A[0].cell).position().left;var b=G-a(A[A.length-1].cell).position().left+M.columns.records[0].width;if(L.showWeekNumbers){var b=G-a(A[A.length-1].cell).position().left+M.columns.records[1].width}}var X={cells:A,cellY:parseInt(I.top),cellX:parseInt(I.left),lastCellY:parseInt(I.top),lastCellX:G,x:O,y:N,height:d,width:b,appointment:s,from:F,to:q};E.push(X);C.push(X)}}if(this._resources.length<2||this.resources.orientation=="none"){var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;V[J].push(t)}}J++;g=g.addDays(7)}var f=new Array();for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);var o=M.appointmentsMinHeight;if(M.isTouchDevice()){o=M.touchAppointmentsMinHeight}if(L.appointmentHeight){o=L.appointmentHeight}f.push((w*(o+3))+22)}else{f.push("auto")}}return f}else{var f=new Array();for(var R=0;R<this._resources.length;R++){var K=this._resources[R];var h=new Array();var V=new Array();var g=B;var J=0;while(g<P){V[J]=new Array();for(var S=0;S<C.length;S++){var t=C[S];if(g<=t.from&&t.to<g.addDays(7)){t.row=-1;t.rowSpan=1;if(t.appointment.resourceId==K){V[J].push(t)}}}J++;g=g.addDays(7)}for(var S=0;S<V.length;S++){if(V[S].length>0){var w=this.getMaxMonthAppointments(V[S]);f.push((w*(o+3))+22)}else{f.push("auto")}}return f}}},_renderUIMonthAppointments:function(ar){var ab=this._views[this._view];var I=ar;var B=this.getViewStart();var ah=this.getViewEnd();var G=1;var ac=this;G=this.getMaxMonthAppointments(ar);var i=ac.appointmentsMinHeight;if(ac.isTouchDevice()){i=ac.touchAppointmentsMinHeight}if(ab.appointmentHeight){i=ab.appointmentHeight}var f=this._sortAppointmentsByFrom;if(this.rtl){f=this._sortAppointmentsByTo}for(var aq=0;aq<ar.length;aq++){var h=ar[aq];h.row=-1;var d=this.getCollisionAppointments(h,ar);d.sort(f);var u=d.indexOf(h);if(u>=0){for(var ak=u;ak<d.length;ak++){d[ak].row=-1}}for(var an=0;an<G;an++){var q=an;for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y.row==-1&&!this.isBusyRow(q,d)){Y.row=q;var ao=G;var c=this.getMaxMonthAppointments(d);if(ao>c){ao=c}Y.rowsCount=ao}}}}for(var an=0;an<I.length;an++){var h=I[an];var d=this.getCollisionAppointments(h,I);d.sort(f);var o=1;for(var U in d){if(U=="indexOf"){break}var O=d[U];o=Math.max(o,O.rowsCount)}for(var U in d){if(U=="indexOf"){break}var O=d[U];O.rowsCount=o}if(d.length==1){h.rowSpan=o}else{var E=0;var g=true;for(var ak=h.row;ak<o;ak++){for(var U in d){if(U=="indexOf"){break}var Y=d[U];if(Y==h){continue}if(Y.row==ak){g=false}}if(!g){break}E++}h.rowSpan=E}}for(var ae=0;ae<I.length;ae++){var ad=i;var h=I[ae];h.height=ad;var C=2+(3+ad)*h.row;h.y=h.y+C;h.x+=1;h.width-=5;if(h.appointment.from.hour()!=0||h.appointment.to.hour()!=23){if(!ac.rtl){var K=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);h.timewidth=h.width;if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.timex=K}else{K=0}if(h.appointment.elements.length>1){if(h.appointment.elements[0]!=h){K=0}}var L=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);if(h.appointment.elements.length>1){if(h.appointment.elements[h.appointment.elements.length-1]!=h){L=0}}h.timewidth-=K;if(L>0){h.timewidth-=ac.cellWidth;h.timewidth+=L}if(ab.appointmentsRenderMode=="exactTime"){if(h.from.clearTime().toString()==h.appointment.from.clearTime().toString()){h.x+=K}h.width=h.timewidth;if(h.appointment.duration().days()<1){if(h.width<15){h.width=15;if(K+15>ac.cellWidth){var H=ac.cellWidth-K-15;h.x+=H}}}}}else{var K=parseFloat(ac.cellWidth/24)*(h.appointment.to.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.to.minute()/30);var L=parseFloat(ac.cellWidth/24)*(h.appointment.from.hour())+parseFloat(ac.cellWidth/48)*(h.appointment.from.minute()/30);if(h.appointment.elements.length>1){if(h==h.appointment.elements[0]){if(L>0){if(ab.appointmentsRenderMode=="exactTime"){h.width-=(ac.cellWidth-K);h.width-=L}else{h.timewidth=h.width-ac.cellWidth+K-L}}else{h.timewidth=h.width;h.timex=0}}else{if(h==h.appointment.elements[h.appointment.elements.length-1]){if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width+=K;h.width-=ac.cellWidth}h.timewidth=h.width-ac.cellWidth+K;h.timex=ac.cellWidth-K}}}else{if(ab.appointmentsRenderMode=="exactTime"){h.x+=ac.cellWidth;h.x-=K;h.width-=(ac.cellWidth-K);h.width-=L}if(h.appointment.duration().days()<1){if(h.width<15){h.width=15}}h.timewidth=h.width-ac.cellWidth+K-L;h.timex=ac.cellWidth-K}}}}for(var ae=0;ae<I.length;ae++){var al=I[ae];var N="";var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;var P="auto";var ab=this._views[this._view];var r=al.appointment.from;var av=al.appointment.to;if(ab.timeRuler&&ab.timeRuler.formatString){P=ab.timeRuler.formatString}var ag=P;var A=P;if(P==="auto"){if((r.hour()==0&&r.minute()==0)||(r.hour()==12&&r.minute()==0)){var ag="hh tt"}else{var ag="hh:mm"}if((av.hour()==0&&av.minute()==0)||(av.hour()==12&&av.minute()==0)){var A="hh tt"}else{var A="hh:mm"}}var w=r.toString(ag);var y=av.toString(A);var J=al.appointment.duration();var e=al.appointment.allDay||(J.hours===23&&J.minutes===59&&J.seconds===59);var aa=al.appointment.background;var T=al.appointment.subject?al.appointment.subject:"(No Title)";var M=al.appointment.color;var l=al.appointment.resourceId;var ai=ac.getColors(ac._resources.indexOf(l));var aj=" data-resourceId='"+l+"' ";var X=al.appointment.borderColor;var v=al.appointment.location;if(v&&v.length>1){v=", "+v}if(!aa){aa=ai.background}if(!X){X=ai.border}if(!M){M=ai.color}var b=al.appointment.isRecurrentAppointment();var t=al.appointment.isException();var ap="";var z=ac.toTP("jqx-scheduler-appointment-status");var S="";var R=ac.statuses[al.appointment.status];var n=false;if(R){if(R=="transparent"){n=false}else{S="<div style='background: "+R+"; border-right-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-right-color: "+X+"' class='"+z+"'></div>"}n=true}}var D=ac.toTP("jqx-scheduler-appointment-duration-status");var am="<div style='width: "+al.timewidth+"px; left: "+al.timex+"px;' class='"+D+"'></div>";if(e){am=""}if(ab.appointmentsRenderMode!="exactTimeStatus"){am=""}var F="";if(ac.rtl){var z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status");S="<div style='background: "+R+"; border-left-color: "+X+"' class='"+z+"'></div>";if(R=="tentative"){z=ac.toTP("jqx-scheduler-appointment-status-rtl jqx-scheduler-appointment-status jqx-scheduler-appointment-status-stripes");S="<div style='background-color: "+X+"; border-left-color: "+X+"' class='"+z+"'></div>"}F=S;S=""}var W="";var Q=T+v;if(!e){Q=T+v+am}if(ac.renderAppointment){var au=ac.renderAppointment({appointment:al.appointment.boundAppointment,textColor:M,background:aa,borderColor:X,html:Q,cssClass:"",style:"",width:al.width,height:al.height,view:ac._views[ac._view].type});if(au){var N=au.html;if(N!=Q){Q=N}M=au.textColor;aa=au.background;X=au.borderColor;if(au.cssClass){W=au.cssClass+" "}if(au.style!=""){var ai=ac.getAppointmentColors(au.style);aa=ai.background;X=ai.border;M=ai.color}}}if(ap===""){if(n){var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'>"+S+"<div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div>"+F+"</div>"}else{var ap="<div style='white-space:nowrap;' class='"+ac.toTP("jqx-scheduler-appointment-content")+"'><div class='"+ac.toTP("jqx-scheduler-appointment-inner-content")+"'>"+Q+"</div></div>"}}var at="";if(ac.rtl){at=ac.toTP("jqx-rtl jqx-scheduler-appointment-rtl")+" "}if(t){var k=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-exception-white"):ac.toTP("jqx-icon-recurrence-exception");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+k+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{if(b){var s=M.toLowerCase()=="white"?ac.toTP("jqx-icon-recurrence-white"):ac.toTP("jqx-icon-recurrence");N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'><div class='"+s+"'></div>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}else{N="<div data-key='"+al.appointment.id+"'"+aj+"class='"+at+W+ac.toTP("jqx-scheduler-appointment jqx-rc-all")+"' style='position:absolute; z-index: 399; left: "+al.x+"px; top: "+al.y+"px; width: "+al.width+"px; line-height: "+al.height+"px; height: "+al.height+"px; border-color:"+X+"; color:"+M+"; background:"+aa+";'>"+ap+"<div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-left-resize-indicator")+"'></div><div class='"+ac.toTP("jqx-scheduler-appointment-resize-indicator jqx-scheduler-appointment-right-resize-indicator")+"'></div>"}}var V=a(N);V.appendTo(this.table);al.element=V;if(this.appointmentTooltips){if(!al.appointment.tooltip){var Z=al.appointment.subject;if(w&&!e){Z=w+" - "+y+" "+Z}if(Z){var v=al.appointment.location;if(v){Z+="\n"+v}V[0].setAttribute("title",Z)}}else{V[0].setAttribute("title",al.appointment.tooltip)}}var af=false;a.each(al.cells,function(){var m=a(this.cell);var j=m.position();if(!m[0].appointments){m[0].appointments=new Array()}m[0].appointments.push({ui:V,appointment:al});if(al.y+al.height+2>=j.top+m.height()){V.css("visibility","hidden");var p=m.find(".jqx-icon-arrow-down");p.show();if(p[0]){p[0].mousedown=function(){if(ac.openedMonthCellPopup){ac.openedMonthCellPopup.remove()}var aw=a("<div></div>");var aB=m.find("div").clone(true);aB.find("span").removeClass().addClass(ac.toTP("jqx-icon-close"));aB.find("span")[0].mousedown=function(){aw.remove()};aB.addClass(ac.toTP("jqx-widget-header"));aw.addClass(ac.toTP("jqx-widget"));aw.addClass(ac.toTP("jqx-window"));aw.addClass(ac.toTP("jqx-scheduler-month-cell-popup"));aw.addClass(ac.toTP("jqx-popup"));var az=a("<div></div>");aw.append(aB);aw.append(az);az.addClass(ac.toTP("jqx-widget-content jqx-disableselect"));var ay=m.width();var x=5+m.find("div").outerHeight();for(var ax=0;ax<m[0].appointments.length;ax++){var aA=m[0].appointments[ax].ui.clone(true);aA.css("left","3px");aA.css("top","0px");aA.css("margin-top","2px");aA.css("position","relative");aA.css("visibility","visible");aA.width(ay-6);x+=aA.outerHeight()+4;az.append(aA);aA.click(function(aC){var aD=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aC.target));ac._raiseEvent("appointmentClick",{appointment:aD.boundAppointment})});aA.dblclick(function(aD){var aE=ac.getJQXAppointmentByElement(ac.getAppointmentElement(aD.target));if(!aE.readOnly&&!ac.editRecurrenceDialog.jqxWindow("isOpen")&&(!ac._editDialog||(ac._editDialog&&!ac._editDialog.jqxWindow("isOpen")))){var aC=ac._initDialog(aE);if(aC!==false){ac._openDialog()}}ac._raiseEvent("appointmentDoubleClick",{appointment:aE.boundAppointment})})}aw.css("overflow","hidden");aw.css("position","absolute");aw.height(x);aw.width(ay);aw.css("z-index","9999");aw.css("top",j.top);aw.css("left",j.left);ac.table.append(aw);ac.openedMonthCellPopup=aw}}}})}},_sortByDate:function(b,e){var d=b.getAttribute("data-date");d=this._getDateByString(d);var c=e.getAttribute("data-date");c=this._getDateByString(c);if(d<c){return -1}if(d>c){return 1}if(d==c){return 0}},_sortAppointmentsByFrom:function(b,f){if(b.from.equals(f.from)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.from<f.from){return -1}if(b.from>f.from){return 1}if(b.from==f.from){return 0}},_sortAppointmentsByTo:function(b,f){if(b.to.equals(f.to)){var d=b.to-b.from;var e=d*10000;var d=f.to-f.from;var c=d*10000;if(e>c){return -1}}if(b.to<f.to){return -1}if(b.to>f.to){return 1}if(b.to==f.to){return 0}},_sortAppointmentsByResourceId:function(b,f,e){var d=e._resources.indexOf(b.resourceId);var c=e._resources.indexOf(f.resourceId);if(d==c){return 0}if(d<c){return -1}if(d>c){return -1}},isBusyRow:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.row==e){return true}}return false},isBusyColumn:function(e,d){for(var c=0;c<d.length;c++){var b=d[c];if(b.column==e){return true}}return false},getMaxTimelineAppointments:function(c,s,f,e){if(c.length==0){return 1}var i=this;var t=i._views[i._view].type;var j=i._views[i._view];var k=1;var m=f;var u=e;var q=this.getMinutesPerScale();var n=null;var r=null;var w="";for(var g in c){if(g=="indexOf"){break}var d=c[g];if(!n){n=d.from}if(!r){r=d.to}n=Math.min(d.from,n);r=Math.max(d.to,r);w+=d.appointment.id}w+=n;w+=r;if(s[w]){return s[w]}n=new a.jqx.date(n,i.timeZone);r=new a.jqx.date(r,i.timeZone);var m=n;while(n<r){var p=m;if(t==="timelineMonthView"){var b=p.addDays(1)}else{var b=p.addMinutes(q)}var o=0;for(var g in c){if(g=="indexOf"){break}var d=c[g];var h=d.from;var v=d.to;var l=a.jqx.scheduler.utilities.rangeIntersection(p,b,h,v);if(l){o++}}k=Math.max(o,k);if(t==="timelineMonthView"){m=m.addDays(1,false)}else{m=m.addMinutes(q,false)}}s[w]=k;return k},getMaxMonthAppointments:function(g){var i=this._views[this._view].type;var l=this._views[this._view];if(g.length==0){return 1}var o=1;var h=this.getViewStart().clone();var e=this.getViewEnd();while(h<e){var j=h;var k=a.jqx.scheduler.utilities.getEndOfDay(j);var n=0;for(var f in g){if(f=="indexOf"){break}var b=g[f];var d=b.from;var c=b.to;var m=a.jqx.scheduler.utilities.rangeIntersection(j,k,d,c);if(m){n++}}o=Math.max(n,o);h=h.addDays(1,false)}return o},getMaxAllDayAppointments:function(e){var h=this._views[this._view].type;var l=this._views[this._view];var f=this;if(e.length==0){return 1}var n=function(r){var y=1;var s=f.getViewStart();var p=f.getViewEnd();while(s<p){var t=s;var u=a.jqx.scheduler.utilities.getEndOfDay(t);var x=0;for(var q in r){if(q=="indexOf"){break}var i=r[q];var v=i;if(i.appointment){v=i.appointment}if(v.hidden==true){continue}if(!v.duration){continue}if(v.allDay||v.duration().days()>=1){var o=i.from;var j=i.to;var w=a.jqx.scheduler.utilities.rangeIntersection(t,u,o,j);if(w){x++}}}y=Math.max(x,y);s=s.addDays(1,false)}return y};if(this._resources.length<2||(!this.resources.orientation||this.resources.orientation=="none")){var m=n(e)}else{var k=1;for(var c=0;c<this._resources.length;c++){var b=this._resources[c];var g=new Array();for(var d=0;d<e.length;d++){if(e[d].appointment&&e[d].appointment.resourceId==b){g.push(e[d])}else{if(e[d].resourceId!=undefined&&e[d].resourceId==b){g.push(e[d])}}}var m=n(g);k=Math.max(k,m)}m=k}return m},getMinutesPerScale:function(){var b=this._views[this._view].type;var d=this._views[this._view];var c=30;var e="halfHour";if(d.timeRuler&&d.timeRuler.scale){e=d.timeRuler.scale}switch(e){case"sixtyMinutes":case"hour":c=60;break;case"thirtyMinutes":case"halfHour":c=30;break;case"fifteenMinutes":case"quarterHour":c=15;break;case"tenMinutes":c=10;break;case"fiveMinutes":c=5;break}return c},getMaxColumnsInADay:function(k){var m=this._views[this._view].type;var p=this._views[this._view];var e=30;var c="halfHour";if(p.timeRuler&&p.timeRuler.scale){c=p.timeRuler.scale}switch(c){case"sixtyMinutes":case"hour":e=60;break;case"thirtyMinutes":case"halfHour":e=30;break;case"fifteenMinutes":case"quarterHour":e=15;break;case"tenMinutes":e=10;break;case"fiveMinutes":e=5;break}if(k.length==0){return 1}var d=1;var l=k[0].from.clone();var i=l.addMinutes(e);var h=a.jqx.scheduler.utilities.getEndOfDay(l);while(l<h){var o=l;var n=i;var r=0;for(var j in k){if(j=="indexOf"){break}var b=k[j];if(!b.from&&!b.to){continue}var g=b.from;var f=b.to;var q=a.jqx.scheduler.utilities.rangeIntersection(o,n,g,f);if(q){r++}}d=Math.max(r,d);l=l.addMinutes(e,false);i=i.addMinutes(e,false)}return d},getTouches:function(b){return a.jqx.mobile.getTouches(b)},_updatecolumnwidths:function(){var h=this;var j=this._hostWidth;var b=j;if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){j-=parseInt(this.scrollBarSize)+6;if(this.rtl){j+=3}b=j}var i="";if(this.columns==undefined||this.columns.records==undefined){return}var h=this;var g=false;var k=new Array();a.each(this.columns.records,function(l,m){if(!(this.hidden)){if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){var m=0;var n=h.vScrollBar[0].style.visibility=="hidden"?0:h.scrollBarSize+5;if(h.scrollBarSize==0){n=0}m=parseFloat(this.width)*b/100;if(this._percentagewidth!=undefined){m=parseFloat(this._percentagewidth)*(b)/100}if(m<this.minwidth&&this.minwidth!="auto"){m=this.minwidth}if(m>this.maxwidth&&this.maxwidth!="auto"){m=this.maxwidth}j-=Math.round(m)}else{if(this.width!="auto"&&!this._width){j-=this.width}else{i+=this.text}}if(this._width=="auto"){k[k.length]=this}}});var e=this.columnsheader.find("#columntable"+this.element.id);if(e.length==0){return}var c=0;var f=e.find(".jqx-grid-column-header");var d=0;a.each(this.columns.records,function(o,t){var m=this.element;var w=false;var v=this.width;var q=this.width;if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){v=parseFloat(this._percentagewidth)*b/100}else{v=parseFloat(this.width)*b/100}v=Math.round(v);w=true}if(this.width!="auto"&&!this._width&&!w){if(parseInt(m[0].style.width)!=this.width){m.width(this.width)}}else{if(w){if(v<this.minwidth&&this.minwidth!="auto"){v=this.minwidth;this.width=v}if(v>this.maxwidth&&this.maxwidth!="auto"){v=this.maxwidth;this.width=v}if(parseInt(m[0].style.width)!=v){m.width(v);this.width=v}}else{var n=h.columns.records.length;var p=h._views[h._view].type;if(p==="dayView"||p==="weekView"){var r=h._views[h._view];if(r.timeRuler){if(r.timeRuler.timeZones){n-=r.timeRuler.timeZones.length}n--}else{n--}}else{if(p==="monthView"&&h._views[h._view].showWeekNumbers){n--}}var l=Math.floor(j*(1/n));if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth!="auto"){l=h.resources.resourceColumnWidth}else{if(h.resources&&h.resources.resourceColumnWidth&&h.resources.resourceColumnWidth=="auto"){if(h.resources.orientation=="horizontal"){l=Math.round((2+j)*(1/h._getColumnsLengthPerView()))}}}var s=(j*(1/n))-l;c+=s;if(c>=1){c-=1;l++}if(c>=0.5&&o==h.columns.records.length-1){l++}if(p=="agendaView"){l=j/k.length;l++}if(l<0){var u=a("<span>"+this.text+"</span>");a(document.body).append(u);l=10+u.width();u.remove()}if(l<this.minwidth){l=this.minwidth}if(l>this.maxwidth){l=this.maxwidth}this._width="auto";this.width=parseInt(l);m.width(this.width)}}if(parseInt(m[0].style.left)!=d){m.css("left",d)}if(!(this.hidden)){d+=this.width}this._requirewidthupdate=true;if(q!==this.width){g=true}});this.columnsheader.width(2+d);e.width(this.columnsheader.width());this._resizecolumnGroups();if(g){this._renderrows();h._arrange()}},_rendercolumnheaders:function(){var g=this;if(this._updating){return}var l=this._views[this._view];this._columnsbydatafield=new Array();this.columnsheader.find("#columntable"+this.element.id).remove();var h=a('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');h[0].cells=new Array();var r=0;var d=0;var n="";var p=this._hostWidth;if(!p){this._hostWidth=this.host.width()}var v=this._hostWidth;var m=v;var w=this.getRows().length;var u=this.rowsHeight;if(this.isTouchDevice()){u=this.touchRowsHeight}if(w*u>this.host.height()){this.vScrollBar[0].style.visibility="inherit"}if(this.vScrollBar.css("visibility")!=="hidden"&&this.scrollBarSize>0){v-=parseInt(this.scrollBarSize)+6;if(this.rtl){v+=3}m=v}var q=new Array();var s=new Array();a.each(this.columns.records,function(j,k){if(!(this.hidden)){if(this.width!="auto"&&!this._width){if(this.width<this.minwidth&&this.minwidth!="auto"){v-=this.minwidth}else{if(this.width>this.maxwidth&&this.maxwidth!="auto"){v-=this.maxwidth}else{if(this.width.toString().indexOf("%")!=-1){var k=0;k=parseFloat(this.width)*m/100;if(k<this.minwidth&&this.minwidth!="auto"){k=this.minwidth}if(k>this.maxwidth&&this.maxwidth!="auto"){k=this.maxwidth}v-=k}else{if(typeof this.width=="string"){this.width=parseInt(this.width)}v-=this.width}}}}else{n+=this.text}}if(this.width==null||this.width=="auto"){s[s.length]=this}q[q.length]=this});if(this.rtl){for(var t=0;t<q.length;t++){this.columns.replace(t,q[t])}}var f=this.headerZIndex;var i=0;var e=g.columnsHeight;var b=function(k,x){var j=g.columnGroupslevel*g.columnsHeight;j=j-(x.level*g.columnsHeight);return j};var o=0;var c=document.createDocumentFragment();a.each(this.columns.records,function(D,I){this.height=g.columnsHeight;if(g.columnGroups){if(g.columnGroups.length){this.height=b(this.datafield,this);e=this.height}}var y=g.toTP("jqx-grid-column-header")+" "+g.toTP("jqx-widget-header");if(g.rtl){y+=" "+g.toTP("jqx-grid-column-header-rtl")}if(!g.enableBrowserSelection){y+=" "+g.toTP("jqx-disableselect")}var E=!g.rtl?f--:f++;var k=document.createElement("div");k.setAttribute("role","columnheader");k.style.position="absolute";k.style.zIndex=E;k.style.height="100%";k.className=y;var z=a(k);if(g.rtl&&D===0){z[0].style.borderLeftColor="transparent"}if(g.columnGroups){z[0].style.height=e+"px";z[0].style.bottom="0px"}else{if(!this.timeColumn){z[0].style.height=-1+e+"px"}}this.uielement=z;this.element=z;if(this.classname!=""&&this.classname){z.addClass(this.classname)}var K=this.width;var L=false;if(this.width===null){this.width="auto"}if(this.width.toString().indexOf("%")!=-1||this._percentagewidth!=undefined){if(this._percentagewidth!=undefined){K=parseFloat(this._percentagewidth)*m/100}else{K=parseFloat(this.width)*m/100}K=Math.round(K);L=true}if(this.width!="auto"&&!this._width&&!L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}z[0].style.width=parseInt(K)+"px"}else{if(L){if(K<this.minwidth&&this.minwidth!="auto"){K=this.minwidth}if(K>this.maxwidth&&this.maxwidth!="auto"){K=this.maxwidth}if(this._percentagewidth==undefined||this.width.toString().indexOf("%")!=-1){this._percentagewidth=this.width}z.width(K);this.width=K}else{var A=g.columns.records.length;var C=g._views[g._view].type;if(C==="dayView"||C==="weekView"){var G=g._views[g._view];if(G.timeRuler){if(G.timeRuler.timeZones){A-=G.timeRuler.timeZones.length}A--}else{A--}}else{if(C==="monthView"&&g._views[g._view].showWeekNumbers){A--}}var j=Math.floor(v*(1/A));if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth!="auto"){j=g.resources.resourceColumnWidth}else{if(g.resources&&g.resources.resourceColumnWidth&&g.resources.resourceColumnWidth=="auto"){if(g.resources.orientation=="horizontal"){j=Math.round((2+v)*(1/g._getColumnsLengthPerView()))}}}var H=(v*(1/A))-j;o+=H;if(o>=1){o-=1;j++}if(o>=0.5&&D==g.columns.records.length-1){j++}if(isNaN(j)){j=this.minwidth}if(C=="agendaView"){j=v/s.length;j++}if(j<0){var J=a("<span>"+this.text+"</span>");a(document.body).append(J);j=10+J.width();J.remove()}if(j<this.minwidth){j=this.minwidth}if(j>this.maxwidth){j=this.maxwidth}this._width="auto";this.width=parseInt(j);K=this.width;z.width(this.width)}}if(this.timeColumn){z.css("border-bottom-color","transparent");if(l.timeRuler&&l.timeRuler.timeZones){if(D<l.timeRuler.timeZones.length){z.css("border-right-color","transparent")}}if(this.tableRows==1){z.addClass(g.toTP("jqx-scheduler-time-column"))}}if(this.hidden){z.css("display","none")}var x=a(z.children()[0]);h[0].cells[D]=z[0];var B=g._rendercolumnheader(this.text,this.align,e,g);z[0].innerHTML=B;c.appendChild(z[0]);var F=this;z[0].style.left=d+"px";if(!(this.hidden)){d+=K}});h[0].appendChild(c);if(d>0){this.columnsheader[0].style.width=2+d+"px"}else{this.columnsheader[0].style.width=d+"px"}this._columnswidth=d;this.columnsrow=h;g.columnsheader.append(h);h[0].style.width=d+"px";if(this.columnGroups){this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(!this.columnGroups){return}var r=this.headerZIndex+this.columns.records.length;var m=this;var f=m.toTP("jqx-grid-column-header")+" "+m.toTP("jqx-grid-columngroup-header")+" "+m.toTP("jqx-widget-header");if(m.rtl){f+=" "+m.toTP("jqx-grid-columngroup-header-rtl")}var d=this.columnsheader.find("#columntable"+this.element.id);d.find("jqx-grid-columngroup-header").remove();for(var g=0;g<this.columnGroupslevel-1;g++){for(var k=0;k<this.columnGroups.length;k++){var o=this.columnGroups[k];var b=o.level;if(b!==g){continue}var n=b*this.columnsHeight;var c=99999;if(o.groups){var q=function(u){var t=0;for(var s=0;s<u.groups.length;s++){var i=u.groups[s];if(!i.groups){if(!i.hidden){t+=i.width;c=Math.min(parseInt(i.element[0].style.left),c)}}else{t+=q(i)}}return t};o.width=q(o);o.left=c;var p=this.columnsHeight;var l=r--;var e=a('<div role="columnheader" style="z-index: '+l+';position: absolute;" class="'+f+'"></div>');var h=a(this._rendercolumnheader(o.text,o.align,this.columnsHeight,this));if(o.renderer){o.renderer(e,o.text)}e.append(h);e[0].style.left=c+"px";if(c===0){e[0].style.borderLeftColor="transparent"}e[0].style.top=n+"px";e[0].style.height=p+"px";e[0].style.width=-1+o.width+"px";d.append(e);o.element=e}}}},_resizecolumnGroups:function(){if(!this.columnGroups){return}for(var c=0;c<this.columnGroups.length;c++){var h=this.columnGroups[c];var j=h.level;var g=j*this.columnsHeight;var f=99999;if(h.groups){var e=function(m){var l=0;for(var k=0;k<m.groups.length;k++){var i=m.groups[k];if(!i.groups){l+=i.width;f=Math.min(parseInt(i.element[0].style.left),f)}else{l+=e(i)}}return l};h.width=e(h);h.left=f;var b=this.columnsHeight;var d=h.element;d[0].style.left=f+"px";d[0].style.top=g+"px";d[0].style.height=b+"px";d[0].style.width=-1+h.width+"px"}}},_removecolumnhandlers:function(e){var c=this;var b=a(e.element);if(b.length>0){c.removeHandler(b,"mouseenter");c.removeHandler(b,"mouseleave");var d=a(e.filtericon);c.removeHandler(d,"mousedown");c.removeHandler(d,"click");c.removeHandler(b,"click")}},destroy:function(){var b=this;b._removeHandlers();if(b._editDialog){b._editDialog.jqxWindow("destroy")}if(b.menu){b.menu.jqxMenu("destroy")}if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy")}b.vScrollBar.jqxScrollBar("destroy");b.hScrollBar.jqxScrollBar("destroy");delete b.vScrollBar;delete b.hScrollBar;delete b._mousewheelfunc;a.jqx.utilities.resize(b.host,null,true);b.host.remove()},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length==2){d.host.height(d.height);d.host.width(d.width);d._updatesize(false,true)}},propertyChangedHandler:function(b,d,f,e){if(this.isInitialized==undefined||this.isInitialized==false){return}if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length==2){return}if(e!==f){if(d=="filterable"){b._render()}else{if(d=="view"){b.setView(e)}else{if(d=="views"){b._columns=null;b._views=new Array();b._view=b.view;for(var c=0;c<b.views.length;c++){if(a.type(b.views[c])==="string"){b._views.push({type:b.views[c]})}else{b._views.push(b.views[c])}}for(var c=0;c<b._views.length;c++){if(b._views[c].type==b.view){b._view=c;break}}b._render()}else{if(d==="height"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(false,true)}else{if(d==="width"){b._hostWidth=null;b._hostHeight=null;b.host.height(b.height);b.host.width(b.width);b._updatesize(true,false)}else{if(d==="source"){b.updateBoundData()}else{if(d=="resources"){b.updateBoundData()}else{if(d==="columns"||d==="columnGroups"){b._columns=null;b._render()}else{if(d==="selectionMode"){b.selectionMode=e.toLowerCase()}else{if(d=="touchMode"){b._removeHandlers();b.touchDevice=null;b.vScrollBar.jqxScrollBar({touchMode:e});b.hScrollBar.jqxScrollBar({touchMode:e});b.refresh();b._addHandlers()}else{if(d=="enableHover"){return}else{if(d=="showLegend"){b.legendbartop.show();b.legendbarbottom.show();b.refresh()}else{if(d=="disabled"){if(e){b.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{b.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}b.host.find(".jqx-grid-group-collapse").css("cursor",e?"default":"pointer");b.host.find(".jqx-grid-group-expand").css("cursor",e?"default":"pointer")}else{if(d=="columnsHeight"){b._render()}else{if(d=="localization"){b._render();if(b.editRecurrenceDialog){b.editRecurrenceDialog.jqxWindow("destroy");b.createEditRecurrenceDialog()}}else{if(d=="theme"){a.jqx.utilities.setTheme(f,e,b.host);if(b._editDialog){a.jqx.utilities.setTheme(f,e,b._editDialog)}if(b.editRecurrenceDialog){a.jqx.utilities.setTheme(f,e,b.editRecurrenceDialog)}if(b.menu){b.menu.jqxMenu({theme:b.theme})}b.vScrollBar.jqxScrollBar({theme:b.theme});b.hScrollBar.jqxScrollBar({theme:b.theme});b.refresh()}else{if(d==="date"){b.navigateTo(e)}else{b.refresh()}}}}}}}}}}}}}}}}}}},_rendercolumnheader:function(g,h,d,e){var f="4px";if(e.columnGroups){f=(d/2-this._columnheight/2);if(f<0){f=4}f+="px"}else{if(this.columnsHeight!=25){f=(this.columnsHeight/2-this._columnheight/2);if(f<0){f=4}f+="px"}}var c='<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+h+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+f+"; margin-top: "+f+';"><span style="text-overflow: ellipsis; cursor: default;">'+g+"</span></div>";if(this.columnRenderer){var b=this.columnRenderer(g,h,d,c);if(b!=undefined){return b}}return c}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxscrollbar.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxscrollbar.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxscrollview.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxscrollview.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxslider.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxslider.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxsortable.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxsortable.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxsplitter.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxsplitter.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxswitchbutton.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxswitchbutton.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtabs.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtabs.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxTabs","",{});a.extend(a.jqx._jqxTabs.prototype,{defineInstance:function(){var b={scrollAnimationDuration:200,enabledHover:true,disabled:false,collapsible:false,animationType:"none",enableScrollAnimation:true,contentTransitionDuration:450,toggleMode:"click",selectedItem:0,height:"auto",width:"auto",position:"top",selectionTracker:false,scrollable:true,scrollPosition:"right",scrollStep:70,autoHeight:true,headerHeight:null,showCloseButtons:false,canCloseAllTabs:true,closeButtonSize:16,arrowButtonSize:16,keyboardNavigation:true,reorder:false,selectionTrackerAnimationDuration:300,_isTouchDevice:false,roundedCorners:true,_headerExpandingBalance:0,_dragStarted:false,_tabCaptured:false,_lastUnorderedListPosition:0,_selectedItem:0,_titleList:[],_contentList:[],_contentWrapper:null,_unorderedList:null,_scrollTimeout:null,isCollapsed:false,touchMode:false,initTabContent:null,enableDropAnimation:false,_currentEvent:null,_needScroll:true,_isAnimated:{},_events:["created","selected","add","removed","enabled","disabled","selecting","unselecting","unselected","dragStart","dragEnd","locked","unlocked","collapsed","expanded","tabclick"],_initTabContentList:[],_invalidArgumentExceptions:{invalidScrollAnimationDuration:"The scroll animation duration is not valid!",invalidWidth:"Width you've entered is invalid!",invalidHeight:"Height you've entered is invalid!",invalidAnimationType:"You've entered invalid animation type!",invalidcontentTransitionDuration:"You've entered invalid value for contentTransitionDuration!",invalidToggleMode:"You've entered invalid value for toggleMode!",invalidPosition:"You've entered invalid position!",invalidScrollPosition:"You've entered invalid scroll position!",invalidScrollStep:"You've entered invalid scroll step!",invalidStructure:"Invalid structure!",invalidArrowSize:"Invalid scroll button size!",invalidCloseSize:"Invalid close button size!"},aria:{"aria-disabled":{name:"disabled",type:"boolean"}},rtl:false};if(this===a.jqx._jqxTabs.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){this._IE8=a.jqx.browser.msie&&a.jqx.browser.version<9;a.jqx.aria(this);this.element.className+=" "+this.toThemeProperty("jqx-tabs jqx-widget jqx-widget-content");this.element.setAttribute("role","tablist");var e=this.host.children();for(var b=0;b<e.length;b++){var d=e[b];if(d.nodeName.toLowerCase()==="ul"){this._unorderedList=d}else{if(d.nodeName.toLowerCase()==="div"){this._contentList.push(d)}}}this._unorderedListHelper=a(this._unorderedList);if(this._unorderedListHelper.initAnimate){this._unorderedListHelper.initAnimate()}this._closeButtonList=[];this._selectedItem=this.selectedItem;this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._needScroll=this.scrollable;if(this.selectionTracker){this.selectionTracker=this._seletionTrackerBrowserCheck()}if(this._isTouchDevice){this.reorder=false;this.keyboardNavigation=false}this._titleList=this._unorderedListHelper.children();var c=this._titleList.length;while(c){c--;this._titleList[c].setAttribute("role","tab");if(!this._titleList[c].getAttribute("id")){this._titleList[c].setAttribute("id",this.element.id+"Tab"+c)}this._contentList[c].setAttribute("role","tabpanel")}this._validateProperties();this._refresh();this._moveSelectionTrack(this._selectedItem,0);if(this.disabled){this.disable()}this.element.tabIndex=0;this._raiseEvent(0);this._enableWindowResize()},_hiddenParent:function(){var c=this;if(c.host.css("display")==="none"){return true}var b=false;a.each(c.host.parents(),function(){if(a(this).css("display")==="none"){b=true;return false}});return b},_enableWindowResize:function(){var b=this;var c=a.jqx.isHidden(b.host);a.jqx.utilities.resize(this.host,function(){if(c){b._uiRefresh(true);c=false}else{b.refresh()}b._refreshBarPosition()})},resize:function(c,b){this.width=c;this.height=b;var d=a.jqx.isHidden(this.host);if(d){this._uiRefresh(true);d=false}else{this.refresh()}},refresh:function(b){if(true!==b||b===undefined){this._setSize()}},_seletionTrackerBrowserCheck:function(){var b="Browser CodeName: "+navigator.appCodeName+"";b+="Browser Name: "+navigator.appName+"";b+="Browser Version: "+navigator.appVersion+"";b+="Platform: "+navigator.platform+"";b+="User-agent header: "+navigator.userAgent+"";if(b.indexOf("IEMobile")!==-1){return false}if(b.indexOf("Windows Phone OS")!==-1){return false}if(a.jqx.browser.msie&&a.jqx.browser.version<=7){return false}return true},render:function(){this._refresh()},_uiRefresh:function(b){this._unorderedListLeftBackup=this._unorderedListHelper.css("left");if(b){this._render()}this._addStyles();this._performLayout();this._prepareTabs();this._removeEventHandlers();this._addEventHandlers();if(this._unorderedListLeftBackup==="auto"){this._unorderedListLeftBackup=this._getArrowsDisplacement()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);if(this.rtl){if(this.scrollable&&this._rightArrow&&a(this._rightArrow).css("visibility")!=="hidden"){var e=2*this.arrowButtonSize;var d=this._width(this.element)-parseInt(this._width(this._unorderedList)+e+parseInt(this._unorderedListHelper.css("margin-left"),10),10);this._unorderedList.style.left=d+"px"}}var c=this;setTimeout(function(){c._performLayout()},100)},_refresh:function(){if(a.jqx.isHidden(this.host)){return}this._uiRefresh(true);this.host.addClass("jqx-tabs-header-position-"+this.position)},_addStyles:function(){this._unorderedList.className+=" "+this.toThemeProperty("jqx-tabs-title-container");this._unorderedList.style.outline="none";this._unorderedList.style.whiteSpace="nowrap";this._unorderedList.style.marginTop="0px";this._unorderedList.style.marginBottom="0px";this._unorderedList.style.padding="0px";this._unorderedList.style.background="transparent";this._unorderedList.style.border="none";this._unorderedList.style.borderStyle="none";this._unorderedList.style.textIndent="0px";var c=this.length();while(c){c--;var d=this._titleList[c],b="jqx-tabs-title jqx-item";d.style.padding="";if(this.position==="bottom"){b+=" jqx-tabs-title-bottom"}if(d.disabled){b+=" jqx-tabs-title-disable jqx-fill-state-disabled"}switch(this.position){case"top":b+=" jqx-rc-t";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-t"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-b");break;case"bottom":b+=" jqx-rc-b";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-b"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-t");break}d.className="jqx-reset jqx-disableselect "+this.toThemeProperty(b)}if(this.selectionTracker){switch(this.position){case"top":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-b"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-t");break;case"bottom":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-t"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-b");break}}},_raiseEvent:function(e,i){var g=new a.Event(this._events[e]);g.owner=this;g.args=i;if(e===6||e===7){g.cancel=false;this._currentEvent=g}var b="";try{b=this.host.trigger(g);if(e===1){var f=this;if(this.selectionTracker||this.animationType!=="none"){setTimeout(function(){if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}var j=new a.Event("loadContent");j.owner=this;if(f._contentList.length>0&&f._contentList[f.selectedItem]){a(f._contentList[f.selectedItem]).trigger(j)}},50+f.selectionTrackerAnimationDuration)}else{var d=new a.Event("loadContent");if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}d.owner=this;var h=new a.Event("resize");this.host.trigger(h)}}}catch(c){if(c&&console){console.log(c)}}return b},_getArrowsDisplacement:function(){if(!this._needScroll){return 0}var d;var c=this.arrowButtonSize;var b=this.arrowButtonSize;if(this.scrollPosition==="left"){d=c+b}else{if(this.scrollPosition==="both"){d=c}else{d=0}}return d},_scrollRight:function(e){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var f=parseInt(this._width(this._unorderedList)+parseInt(this._unorderedListHelper.css("margin-left"),10),10),h=this._width(this.element),g,i,b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),d=0,j;if(this.scrollable){g=this._leftArrow.offsetWidth;i=this._rightArrow.offsetWidth}else{g=0;i=0}e=(this.enableScrollAnimation)?e:0;if(this._width(this._headerWrapper)>parseInt(this._unorderedListHelper.css("margin-left"),10)+this._width(this._unorderedList)){d=c}else{if(Math.abs(b)+this.scrollStep<Math.abs(h-f)+g+i+c){d=b-this.scrollStep;j=b-this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{d=h-f-(2*this.arrowButtonSize-c);if(d<parseInt(this._unorderedListHelper.css("left"),10)-4&&d>parseInt(this._unorderedListHelper.css("left"),10)+4){j=h-f-g-i+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(d,j,e)},_scrollLeft:function(f){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),e=0,d;f=(this.enableScrollAnimation)?f:0;if(this._width(this._headerWrapper)>=this._width(this._unorderedList)){e=c}else{if(b+this.scrollStep<c){e=b+this.scrollStep;d=b+this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{e=c;if(e<parseInt(this._unorderedListHelper.css("left"),10)-4&&e>parseInt(this._unorderedListHelper.css("left"),10)+4){d=parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(e,d,f)},_performScrollAnimation:function(e,d,c){var b=this;if(d!==undefined){this._moveSelectionTrack(this._selectedItem,0,d)}this._lockAnimation("unorderedList");b._refreshBarPosition();this._unorderedListHelper.animate({left:e},c,function(){b._moveSelectionTrack(b.selectedItem,0);b._unlockAnimation("unorderedList");b._refreshBarPosition()})},_addKeyboardHandlers:function(){var b=this;if(this.keyboardNavigation){this.addHandler(this.host,"keydown",function(e){if(!b._activeAnimation()){var f=b._selectedItem;var d=b.selectionTracker;var c=b.getContentAt(f);if(a(e.target).ischildof(c)){return true}if(a(document.activeElement).ischildof(a(c))){return true}switch(e.keyCode){case 37:if(b.rtl){b.next()}else{b.previous()}return false;case 39:if(b.rtl){b.previous()}else{b.next()}return false;case 36:b.first();return false;case 35:b.last();return false;case 27:if(b._tabCaptured){b._cancelClick=true;b._uncapture(null,b.selectedItem);b._tabCaptured=false}break}b.selectionTracker=d}return true})}},_addScrollHandlers:function(){var b=this;this.addHandler(this._leftArrow,"mousedown",function(){b._startScrollRepeat(true,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mousedown",function(){b._startScrollRepeat(false,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(this._leftArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(a(document),"mouseup.tab"+this.element.id,this._mouseUpScrollDocumentHandler,this);this.addHandler(a(document),"mouseleave.tab"+this.element.id,this._mouseLeaveScrollDocumentHandler,this)},_mouseLeaveScrollDocumentHandler:function(c){var b=c.data;if(!b._scrollTimeout){return}clearTimeout(b._scrollTimeout)},_mouseUpScrollDocumentHandler:function(c){var b=c.data;clearTimeout(b._scrollTimeout)},_mouseUpDragDocumentHandler:function(c){var b=c.data;if(b._tabCaptured&&b._dragStarted){b._uncapture(c)}b._tabCaptured=false},_addReorderHandlers:function(){var b=this;b.addHandler(a(document),"mousemove.tab"+b.element.id,b._moveElement,b);b.addHandler(a(document),"mouseup.tab"+b.element.id,b._mouseUpDragDocumentHandler,b)},_addEventHandlers:function(){var e=this.length();while(e){e--;this._addEventListenerAt(e)}if(this.keyboardNavigation){this._addKeyboardHandlers()}if(this.scrollable){this._addScrollHandlers()}if(this.reorder&&!this._isTouchDevice){this._addReorderHandlers()}var d=this;try{if(document.referrer!==""||window.frameElement){if(window.top!==null&&window.top!==window.self){var c=function(){if(d._tabCaptured){d._cancelClick=true;d._uncapture(null,d.selectedItem);d._tabCaptured=false}};var f=null;if(window.parent&&document.referrer){f=document.referrer}if(f&&f.indexOf(document.location.host)!==-1){if(window.top.document){this.addHandler(a(window.top.document),"mouseup.tabs"+this.element.id,c)}}}}}catch(b){}},focus:function(){try{this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25)}catch(b){}},_getFocusedItem:function(c){var d=this.length();while(d){d--;var b=this._titleList[d],g=this._outerWidth(b,true),f=parseInt(a(b).offset().left,10),e=f;if((e<=c&&e+g>=c)&&(b!==this._capturedElement)&&(!this._titleList[d].locked)&&(this._titleList[d].disabled!==true)){return d}}return -1},_uncapture:function(f){var e=this.selectionTracker;this._unorderedListLeftBackup=this._unorderedListHelper.css("left");this._dragStarted=false;this._tabCaptured=false;var b=this._indexOf(this._capturedElement);if(!this._capturedElement){return}switch(this.position){case"top":this._capturedElement.style.bottom="0px";break;case"bottom":this._capturedElement.style.top="0px";break}var d;if(f){d=this._getFocusedItem(f.clientX)}if(d===-1||!f){this._capturedElement.style.left="0px"}else{this._raiseEvent(10,{item:b,dropIndex:d});this._reorderItems(d,b)}for(var c=0;c<this._titleList.length;c++){this._titleList[c].style.position="static"}this._reorderHeaderElements();this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._prepareTabs();if(d===-1||!f){this._selectedItem=b;this._moveSelectionTrack(b,0);this._addSelectStyle(this._selectedItem,true)}else{this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this._selectedItem,true)}if(document.selection){document.selection.clear()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);this.selectionTracker=e},_reorderItems:function(c,b){var e=this._titleList[this.selectedItem],d=this._titleList[b];if(typeof this._capturedElement==="undefined"){this._capturedElement=d}a(d).remove();if(b<c){if(this._titleList[c+1]){this._unorderedList.insertBefore(d,this._titleList[c+1])}else{this._unorderedList.appendChild(d)}}else{this._unorderedList.insertBefore(d,this._titleList[c])}this._reorderElementArrays(c,b);this._getSelectedItem(e);this._removeEventHandlers();this._addEventHandlers()},_reorderElementArrays:function(e,b){var f=this._contentList[b];if(b<e){for(var d=b;d<=e;d++){this._titleList[d]=this._titleList[d+1];this._contentList[d]=this._contentList[d+1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}else{for(var c=b;c>=e;c--){this._titleList[c]=this._titleList[c-1];this._contentList[c]=this._contentList[c-1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}},getSelectedItem:function(){return this.selectedItem},_getSelectedItem:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c){this._selectedItem=this.selectedItem=b;break}}},_moveElement:function(d){var c=d.data;if(c._tabCaptured){if(document.selection){document.selection.clear()}if(!c._dragStarted){var b=-parseInt(c._unorderedListHelper.css("left"),10);if(d.clientX+b>c._startX+3||d.clientX+b<c._startX-3){c._prepareTabForDragging();c._dragStarted=true}}else{c._performDrag(d);clearTimeout(c._scrollTimeout)}}},_performDrag:function(d){var c=this.getZoomFactor(),b=-parseInt(this._unorderedListHelper.css("left"),10);this._capturedElement.style.left=this._toPx(b+d.clientX/c-this._startX/c);this._lastX=d.clientX/c;this._moveSelectionTrack(this.selectedItem,0)},getZoomFactor:function(){var c=1;if(document.body.getBoundingClientRect){var d=document.body.getBoundingClientRect();var e=d.right-d.left;var b=document.body.offsetWidth;c=Math.round((e/b)*100)/100}return c},_prepareTabForDragging:function(){this._capturedElement.style.position="relative";this._capturedElement.style.left="0px";this._capturedElement.style.top="0px";this._capturedElement.style.zIndex=300;this.selectedItem=this._indexOf(this._capturedElement);switch(this.position){case"top":this._capturedElement.style.bottom=this._toPx(a(this._capturedElement).css("top"));break;case"bottom":this._capturedElement.style.top=this._toPx(a(this._capturedElement).css("top"));break}this._raiseEvent(9,{item:this._indexOf(this._capturedElement)})},_dragScroll:function(d){var b=parseInt(this._unorderedListHelper.css("left"),10);var c=this,e=a(c._headerWrapper);if(d.clientX<=e.offset().left){this._scrollLeft(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{if(d.clientX>e.offset().left+c._width(this._headerWrapper)){this._scrollRight(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{c._stop(c._unorderedListHelper);this._unlockAnimation("unorderedList");clearTimeout(this._scrollTimeout)}}this._scrollTimeout=setTimeout(function(){c._dragScroll(d)},this.scrollAnimationDuration);this._lastUnorderedListPosition=b},_captureElement:function(d,c){if(!this._tabCaptured&&!this._titleList[c].locked&&this._titleList[c].disabled!==true&&!this._activeAnimation()){var b=-parseInt(this._unorderedListHelper.css("left"),10);this._startX=b+d.clientX;this._startY=d.clientY;this._lastX=d.clientX;this._lastY=d.clientY;this._tabCaptured=true;this._capturedElement=this._titleList[c]}},_titleInteractionTrigger:function(b){if(this._headerExpandingBalance>0){this._removeOppositeBorder()}if(this._selectedItem!==b){this.select(this._titleList[b],"toggle");this._titleList[b].collapsed=false;if(!this.collapsible){if(this.height!=="auto"){this._contentWrapper.style.visibility="visible"}else{this._contentWrapper.style.display="block"}}}else{if(this.collapsible){if(this.isCollapsed){this.expand()}else{this.collapse()}}}},collapse:function(){var b=this._selectedItem,c=this;this.isCollapsed=true;if(c.height!=="auto"){c._contentWrapper.style.visibility="hidden"}else{c._contentWrapper.style.display="none"}c._raiseEvent(13,{item:b});if(this.position==="top"){c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed")}else{c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed-bottom");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed-bottom")}},expand:function(){var b=this._selectedItem,c=this;this.isCollapsed=false;this._select(b,c.contentTransitionDuration,null,false,true);if(c.height!=="auto"){c._contentWrapper.style.visibility="visible"}else{c._contentWrapper.style.display="block"}c._raiseEvent(14,{item:b});if(this.position==="top"){c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed"))}else{c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed-bottom"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed-bottom"))}},_addSelectHandler:function(b){var c=this;this.addHandler(this._titleList[b],"selectstart",function(){return false});this.addHandler(this._titleList[b],this.toggleMode,(function(d){return function(){c._raiseEvent("15",{item:d});if(!c._tabCaptured&&!c._cancelClick){c._titleInteractionTrigger(d)}return true}}(b)))},_addDragDropHandlers:function(b){var c=this;this.addHandler(this._titleList[b],"mousedown",function(d){c._captureElement(d,b)});this.addHandler(this._titleList[b],"mouseup",function(d){if(c._tabCaptured&&c._dragStarted){c._cancelClick=true;c._uncapture(d,b)}else{c._cancelClick=false}c._tabCaptured=false;return false})},_removeHoverStates:function(){var b=this;a.each(this._titleList,function(){b._removeClass(this,b.toThemeProperty("jqx-tabs-title-hover-top jqx-tabs-title-hover-bottom"))})},_addHoverHandlers:function(b){var d=this;var c=this._titleList[b];this.addHandler(c,"mouseenter mouseleave",function(g){if(b!==d._selectedItem){var f="jqx-fill-state-hover";if(d.position==="top"){f+=" jqx-tabs-title-hover-top"}else{f+=" jqx-tabs-title-hover-bottom"}if(g.type==="mouseenter"){c.className+=" "+d.toThemeProperty(f)}else{d._removeClass(c,d.toThemeProperty(f))}if(d.showCloseButtons){var e=d._closeButtonList[b];if(g.type==="mouseenter"){e.className+=" "+d.toThemeProperty("jqx-tabs-close-button-hover",true)}else{d._removeClass(e,d.toThemeProperty("jqx-tabs-close-button-hover",true))}}}})},_addEventListenerAt:function(c){var d=this;if(this._titleList[c].disabled){return}if(this.reorder&&!this._isTouchDevice){this._addDragDropHandlers(c)}this._addSelectHandler(c);if(this.enabledHover){this._addHoverHandlers(c)}var b=d._closeButtonList[c];this.removeHandler(b,"click");this.addHandler(b,"click",function(){d.removeAt(c);return false})},_removeEventHandlers:function(){var c=this;var b=c.length();while(b){b--;c._removeEventListenerAt(b)}if(c.scrollable){c.removeHandler(c._leftArrow,"mousedown");c.removeHandler(c._rightArrow,"mousedown")}c.removeHandler(a(document),"mousemove.tab"+c.element.id,c._moveElement);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpScrollDocumentHandler);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpDragDocumentHandler);c.removeHandler(c.host,"keydown")},_removeEventListenerAt:function(b){var c=this;c.removeHandler(c._titleList[b],c.toggleMode);c.removeHandler(c._titleList[b],"mouseenter");c.removeHandler(c._titleList[b],"mouseleave");c.removeHandler(c._titleList[b],"mousedown");c.removeHandler(c._titleList[b],"mouseup");c.removeHandler(c._closeButtonList[b],"click")},_moveSelectionTrack:function(n,c,b){var h=this;if(n===-1){return}if(this._titleList.length===0){return}if(n>=this._titleList.length){return}var m=this._titleList[n],o=a(m);h._refreshBarPosition();if(this.selectionTracker&&this._selectionTracker){var i;h._stop(h._selectionTrackerHelper);this._unlockAnimation("selectionTracker");if(b===undefined){i=parseInt(o.position().left,10);if(!isNaN(parseInt(this._unorderedListHelper.css("left"),10))){i+=parseInt(this._unorderedListHelper.css("left"),10)}if(!isNaN(parseInt(this._unorderedListHelper.css("margin-left"),10))){i+=parseInt(this._unorderedListHelper.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-left"),10))){i+=parseInt(o.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-right"),10))){}}else{i=b}var g=0;var e=0;if(this.position==="top"){g=this._height(h._headerWrapper)-m.offsetHeight;if(!this.autoHeight){e+=parseInt(o.css("margin-top"),10)}}this._lockAnimation("selectionTracker");var l=parseInt(o.css("padding-left"),10)+parseInt(o.css("padding-right"),10);var f=this.position==="top"?0:1;var k=parseInt(a(this._headerWrapper).css("padding-top"),10);var j=parseInt(o.css("padding-top"),10)+parseInt(o.css("padding-bottom"),10);this._selectionTracker.style.visibility="visible";this._moveSelectionTrackerContainer.style.visibility="visible";var d=parseInt(o.css("margin-top"),10);if(isNaN(d)){d=0}h._refreshBarPosition();h._selectionTrackerHelper.animate({top:k+d-f,left:i+"px",height:parseInt(this._height(m)+j,10),width:h._width(m)+l},c,function(){h._unlockAnimation("selectionTracker");h._selectionTracker.style.visibility="hidden";h._addSelectStyle(n,true);h._moveSelectionTrackerContainer.style.visibility="hidden"})}},destroy:function(){a.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(a(window.top.document),"mouseup.tabs"+this.element.id)}}this.host.remove()},_switchTabs:function(b,d){if(b!==d&&!this._activeAnimation()&&!this._tabCaptured){var c=this;this._raiseEvent(7,{item:d});this._raiseEvent(6,{item:b});if(this._currentEvent){if(this._currentEvent.cancel){this._currentEvent=null;return}}this._unselect(d,null,true);this._select(b,c.contentTransitionDuration,null,true);return true}return false},_activeAnimation:function(){for(var b in this._isAnimated){if(this._isAnimated.hasOwnProperty(b)){if(this._isAnimated[b]){return true}}}return false},_indexOf:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c||this._contentList[b]===c){return b}}return -1},_validateProperties:function(){try{if(this.scrollAnimationDuration<0||isNaN(this.scrollAnimationDuration)){throw new Error(this._invalidArgumentExceptions.invalidScrollAnimationDuration)}if(parseInt(this.width,10)<0&&this.width!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(parseInt(this.height,10)<0&&this.height!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.animationType!=="none"&&this.animationType!=="fade"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(this.contentTransitionDuration<0||isNaN(this.contentTransitionDuration)){throw new Error(this._invalidArgumentExceptions.invalidcontentTransitionDuration)}if(this.toggleMode!=="click"&&this.toggleMode!=="dblclick"&&this.toggleMode!=="mouseenter"&&this.toggleMode!=="none"){throw new Error(this._invalidArgumentExceptions.invalidToggleMode)}if(this.position!=="top"&&this.position!=="bottom"){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(this.scrollPosition!=="left"&&this.scrollPosition!=="right"&&this.scrollPosition!=="both"){throw new Error(this._invalidArgumentExceptions.invalidScrollPosition)}if(this.scrollStep<0||isNaN(this.scrollStep)){throw new Error(this._invalidArgumentExceptions.invalidScrollStep)}if(this._titleList.length!==this._contentList.length||this._titleList.length===0){throw new Error(this._invalidArgumentExceptions.invalidStructure)}if(this.arrowButtonSize<0||isNaN(this.arrowButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidArrowSize)}if(this.closeButtonSize<0||isNaN(this.closeButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidCloseSize)}}catch(b){try{console.log(b)}catch(c){}}},_startScrollRepeat:function(d,c){var b=this;if(d){this._scrollLeft(c)}else{this._scrollRight(c)}if(this._scrollTimeout){clearTimeout(this._scrollTimeout)}this._scrollTimeout=setTimeout(function(){b._startScrollRepeat(d,b.scrollAnimationDuration)},c)},_performLayout:function(){var b=this.length();while(b){b--;if(this.position==="top"||this.position==="bottom"){if(this.rtl){this._titleList[b].style["float"]="right"}else{this._titleList[b].style["float"]="left"}}}this._fitToSize();this._performHeaderLayout();this._fitToSize()},updatetabsheader:function(){this._performHeaderLayout()},_setSize:function(){var b=this;b._fitToSize();b._positionArrows(b._totalItemsWidth);if(b._totalItemsWidth>b.element.offsetWidth){b._unorderedList.style.width=b._toPx(b._totalItemsWidth)}else{b._unorderedList.style.width=b.element.offsetWidth-2+"px"}b._fitToSize()},_addArrows:function(){if(this._leftArrow&&this._rightArrow){a(this._leftArrow).remove();a(this._rightArrow).remove()}this._leftArrow=document.createElement("div");this._leftArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-left")+'"></span>';this._leftArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._leftArrow.style.zIndex=30;this._leftArrow.style.display="none";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.height="100%";this._rightArrow=document.createElement("div");this._rightArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-right")+'"></span>';this._rightArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._rightArrow.style.zIndex=30;this._rightArrow.style.display="none";this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.height="100%";this._headerWrapper.appendChild(this._leftArrow);this._headerWrapper.appendChild(this._rightArrow)},_tabsWithVisibleCloseButtons:function(){if(!this.showCloseButtons){return 0}var b=this.length();a.each(this._titleList,function(){var c=this.attr("hasclosebutton");if(c!==undefined&&c!==null){if(c==="false"||c===false){b--}}});return b},_calculateTitlesSize:function(){var g=this;function f(n,m){if(n){if(m){n.style.display="block"}else{n.style.display="none"}}}var l=0;var k=0;var h=this.length();if(this.rtl&&a.jqx.browser.msie&&a.jqx.browser.version<8){this._measureItem=document.createElement("span");this._measureItem.style.position="relative";this._measureItem.style.visibility="hidden";document.body.appendChild(this._measureItem)}while(h){h--;var j=this._titleList[h],b=g._closeButtonList[h];if(this._measureItem){this._measureItem.innerHTML=j.innerHTML;this._measureItem.html(this._titleList[h].html());j.style.width=g._toPx(g._width(this._measureItem))}j.style.position="static";f(b,false);k+=g._outerWidth(j,true);var e=g._outerHeight(j,true);if(l<e){l=e}if(g._height(j)===0){var i=j.cloneNode(true);document.body.appendChild(i);l=g._outerHeight(i,true);document.body.removeChild(i)}var c=j.getAttribute("hasCloseButton");var d;if(c!==undefined&&c!==null){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){if(c==="true"||c===true){k+=this.closeButtonSize;f(b,true)}else{if(c==="false"||c===false){f(b,false)}}}}else{if(this.showCloseButtons&&(this.canCloseAllTabs||this._tabsWithVisibleCloseButtons()>1)){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){k+=this.closeButtonSize;f(b,true)}}}j.style.height=this._toPx(g._height(j))}if(this._measureItem){a(this._measureItem).remove()}return{height:l,width:10+k}},_reorderHeaderElements:function(){if(this.selectionTracker){this._moveSelectionTrackerContainer.style.position="absolute";this._moveSelectionTrackerContainer.style.height="100%";this._moveSelectionTrackerContainer.style.top="0px";this._moveSelectionTrackerContainer.style.left="0px";this._moveSelectionTrackerContainer.style.width="100%"}this._headerWrapper.style.position="relative";this._headerWrapper.style.left="0px";this._headerWrapper.style.top="0px";if(this.scrollable){this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.position="absolute";this._rightArrow.style.top="0px";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.position="absolute";this._leftArrow.style.top="0px";var c=this.theme&&this.theme.indexOf("ui-")!==-1?3:0;if(c>0){this._rightArrow.className+=" "+this.toThemeProperty("jqx-rc-r");this._leftArrow.className+=" "+this.toThemeProperty("jqx-rc-l")}var b=this.scrollPosition;if(this.rtl){if(b==="left"){b="right"}if(b==="right"){b="left"}}switch(b){case"both":this._rightArrow.style.right="0px";this._leftArrow.style.left="0px";break;case"left":this._rightArrow.style.left=this._toPx(this.arrowButtonSize);this._leftArrow.style.left="0px";break;case"right":this._rightArrow.style.right=this._toPx(-c);this._leftArrow.style.right=this._toPx(parseInt(this.arrowButtonSize,10)-c);break}}},_positionArrows:function(b){if(b>=this._headerWrapper.offsetWidth&&this.scrollable){this._needScroll=true;if(this._unorderedListHelper.position().left===0){this._unorderedListLeftBackup=this._getArrowsDisplacement()+"px"}this._leftArrow.style.display="block";this._rightArrow.style.display="block"}else{this._needScroll=false;this._leftArrow.style.display="none";this._rightArrow.style.display="none";this._unorderedList.style.left="0px"}},_performHeaderLayout:function(){this._removeSelectStyle();var b=this._calculateTitlesSize();var e=b.height;var c=b.width;this._headerWrapper.style.height=this._toPx(e);this._unorderedList.style.height=this._toPx(e);if(this.headerHeight!==null&&this.headerHeight!=="auto"){this._headerWrapper.style.height=this._toPx(this.headerHeight);this._unorderedList.style.height=this._toPx(this.headerHeight)}var d=this._width(this.element);if(c>d){this._unorderedList.style.width=this._toPx(c)}else{this._unorderedList.style.width=this._toPx(d)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){this._unorderedList.style.position="relative";this._unorderedList.style.overflow="hidden"}this._reorderHeaderElements();c=c+parseInt(this._unorderedListHelper.css("margin-left"),10);this._totalItemsWidth=c;this._positionArrows(c);this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._verticalAlignElements();this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this.selectedItem)},_verticalAlignElements:function(){var j=this.length();while(j){j--;var n=this._titleList[j],p=a(n),b=p.children()[0],m=this._closeButtonList[j],k=parseInt(p.css("padding-top"),10);if(!k){k=0}if(this.autoHeight){var c=parseInt(p.css("padding-top"),10),o=parseInt(p.css("padding-bottom"),10),i=p.css("border-top-width"),f=p.css("border-bottom-width");if(i.indexOf("px")===-1){i=1}else{i=parseInt(i,10)}if(f.indexOf("px")===-1){f=1}else{f=parseInt(f,10)}n.style.height=this._toPx(this._outerHeight(this._unorderedList,true)-(c+o+i+f))}else{if(this.position==="top"){var h=this._height(this._unorderedList)-parseInt(this._outerHeight(n,true),10);if(parseInt(p.css("margin-top"),10)!==h&&h!==0){n.style.marginTop=this._toPx(h)}}else{n.style.height=this._toPx(this._height(n))}}b.style.height="100%";var e=this._height(n);if(m){var g=e/2-this._height(m)/2;m.style.marginTop=this._toPx(1+g)}var l=e/2-this._height(b)/2;b.style.marginTop=this._toPx(l)}if(this.scrollable){var d=(parseInt(this._headerWrapper.offsetHeight,10)-this.arrowButtonSize)/2;a(this._rightArrow).children()[0].style.marginTop=this._toPx(d);this._rightArrow.style.height="100%";a(this._leftArrow).children()[0].style.marginTop=this._toPx(d);this._leftArrow.style.height="100%"}},_getImageUrl:function(c){var b=c.css("background-image");b=b.replace('url("',"");b=b.replace('")',"");b=b.replace("url(","");b=b.replace(")","");return b},_fitToSize:function(){var c=false;var e=false;var d=this;if(d.width!==null&&d.width.toString().indexOf("%")!==-1){c=true}if(d.height!==null&&d.height.toString().indexOf("%")!==-1){e=true}if(c){this.element.style.width=this.width;this._contentWrapper.style.width="100%"}else{d.element.style.width=d._toPx(d.width);if(this.width!=="auto"){this._contentWrapper.style.width="100%"}}var b;if(e){this.element.style.height=this.height;this._contentWrapper.style.width="100%";this._contentWrapper.style.height="auto";b=this.element.offsetHeight-this._headerWrapper.offsetHeight-2;this._contentWrapper.style.height=b+"px"}else{if(this.height!=="auto"){d.element.style.height=d._toPx(d.height);b=this._height(d.element)-this._headerWrapper.offsetHeight;this._contentWrapper.style.height=d._toPx(b)}else{this._contentWrapper.style.height="auto"}}},_maxHeightTab:function(){var c=this.length();var d=-1;var b=-1;while(c){c--;if(d<this._outerHeight(this._titleList[c],true)){b=c}}return b},_addSelectionTracker:function(){if(this._moveSelectionTrackerContainer){a(this._moveSelectionTrackerContainer).remove()}this._moveSelectionTrackerContainer=document.createElement("div");this._moveSelectionTrackerContainer.className=this.toThemeProperty("jqx-tabs-selection-tracker-container");this._selectionTracker=document.createElement("div");this._selectionTracker.className=this.toThemeProperty("jqx-tabs-selection-tracker-"+this.position);this._selectionTracker.style.color="inherit";this._selectionTracker.style.position="absolute";this._selectionTracker.style.zIndex=10;this._selectionTracker.style.left="0px";this._selectionTracker.style.top="0px";this._selectionTracker.style.display="inline-block";this._moveSelectionTrackerContainer.appendChild(this._selectionTracker);this._headerWrapper.appendChild(this._moveSelectionTrackerContainer);this._selectionTrackerHelper=a(this._selectionTracker);if(this._selectionTrackerHelper.initAnimate){this._selectionTrackerHelper.initAnimate()}},_addContentWrapper:function(){var e="none";var b=this._contentWrapper===null;if(b){this._contentWrapper=document.createElement("div");this._contentWrapper.className=this.toThemeProperty("jqx-tabs-content jqx-widget-content");this._contentWrapper.style["float"]=e}var d=this.length();while(d){d--;this._contentList[d].className+=" "+this.toThemeProperty("jqx-tabs-content-element")}if(b){if(this.position==="top"){this.element.appendChild(this._contentWrapper)}else{this.element.insertBefore(this._contentWrapper,this.element.firstChild)}for(var c=0;c<this._contentList.length;c++){this._contentWrapper.appendChild(this._contentList[c])}}if(this.roundedCorners){if(this.position==="top"){this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-b")}else{this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-t")}this.element.className+=" "+this.toThemeProperty("jqx-rc-all")}},_addHeaderWrappers:function(){var d=this.length();if(this._headerWrapper!==undefined){a(this._headerWrapper).remove();if(this.bar){this.bar=null}}this._headerWrapper=document.createElement("div");this._headerWrapper.style.outline="none";if(this.position==="top"){this.element.insertBefore(this._headerWrapper,this.element.firstChild)}else{this.element.appendChild(this._headerWrapper)}this._headerWrapper.appendChild(this._unorderedList);var b="jqx-tabs-headerWrapper jqx-tabs-header jqx-widget-header";if(this.position==="bottom"){b+=" jqx-tabs-header-bottom"}if(this.roundedCorners){if(this.position==="top"){b+=" jqx-rc-t"}else{b+=" jqx-rc-b"}}this._headerWrapper.className=this.toThemeProperty(b);while(d){d--;var e=this._titleList[d];if(e.querySelector(".jqx-tabs-titleWrapper")===null){var f=document.createElement("div");f.className="jqx-tabs-titleWrapper";f.style.outline="none";f.style.position="relative";f.style.zIndex=15;var c=a(e).children();f.appendChild(c[0]);f.appendChild(c[1]);e.appendChild(f)}}},_render:function(){this._addCloseButtons();this._addHeaderWrappers();this._addContentWrapper();if(this.selectionTracker){this._addSelectionTracker()}this._addArrows()},_addCloseButton:function(c,e){var d=document.createElement("div"),g=this._titleList[c];d.className="jqx-tabs-titleContentWrapper jqx-disableselect";var f="left";if(this.rtl){f="right"}if(a(g).find(".jqx-tabs-close-button").length>0){a(g).find(".jqx-tabs-close-button").remove()}d.style["float"]=f;d.innerHTML=g.innerHTML;g.innerHTML="";var b=document.createElement("div");b.className=this.toThemeProperty("jqx-tabs-close-button");b.style.height=this._toPx(this.closeButtonSize);b.style.width=this._toPx(this.closeButtonSize);b.style["float"]=f;b.style.fontSize="1px";g.appendChild(d);g.appendChild(b);if(e===true){this._closeButtonList[c]=b}else{this._closeButtonList.splice(c,0,b)}if(!this.showCloseButtons){b.style.display="none"}else{if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[c]===1){b.style.display="none"}}}},_addCloseButtons:function(){var b=this.length();while(b){b--;this._addCloseButton(b,true)}},_prepareTabs:function(){var c=this.length();var b=this.selectionTracker;this.selectionTracker=false;while(c){c--;if(this._selectedItem!==c){this._unselect(c,null,false)}}this._select(this._selectedItem,0,null,false);this.selectionTracker=b;if(this.initTabContent){if(!this._initTabContentList[this.selectedItem]){if(!this._hiddenParent()){this.initTabContent(this.selectedItem);this._initTabContentList[this.selectedItem]=true}}}},_isValidIndex:function(b){return(b>=0&&b<this.length())},_removeSelectStyle:function(){var d=this.length();while(d){d--;var e=this._titleList[d];if(this.showCloseButtons){var c=this._closeButtonList[d];this._removeClass(c,this.toThemeProperty("jqx-tabs-close-button-selected"))}var b="jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-selected-bottom"}this._removeClass(e,this.toThemeProperty(b))}},_addSelectStyle:function(d,g){this._removeSelectStyle();if(!this.selectionTracker||(g!==undefined&&g)){var f=this._titleList[d];if(d>=0&&f!==undefined){var c=null;if(this.showCloseButtons){c=this._closeButtonList[d];if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[d]===1){c=null}}}var b="jqx-fill-state-hover",e=" jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-hover-top";e+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-hover-bottom";e+=" jqx-tabs-title-selected-bottom"}this._removeClass(f,this.toThemeProperty(b));f.className+=this.toThemeProperty(e);if(c!==null){c.className+=" "+this.toThemeProperty("jqx-tabs-close-button-selected")}}}},_addItemTo:function(g,c,e){if(c<g.length){var b,f;for(var d=c;d+1<g.length;d++){if(b===undefined){b=g[d+1];g[d+1]=g[d]}else{f=g[d+1];g[d+1]=b;b=f}}if(b===undefined){b=g[c]}g[c]=e;g.push(b)}else{g.push(e)}},_refreshBarPosition:function(){var c=this;if(!this.bar){var b=a("<span></span>");a(this._headerWrapper).append(b);b.addClass(this.toThemeProperty("jqx-tabs-bar"));this.bar=b}setTimeout(function(){var d=parseInt(c._unorderedListHelper.css("left"),10);var e=parseInt(c._unorderedListHelper.css("margin-left"));c.bar.css("left",e+c._titleList[c._selectedItem].offsetLeft+d);c.bar.width(a(c._titleList[c._selectedItem]).outerWidth()-2)})},_select:function(h,e,l,b,c){if(!this._tabCaptured){this.host.attr("hideFocus","true");var g=this;if(c===undefined){this._addSelectStyle(h)}else{this._addSelectStyle(h,c)}var k=a(g._titleList[h]),d=g._titleList[h].getAttribute("id"),j=a(g._contentList[h]);if(this.isCollapsed&&this.collapsible){j[0].style.display="none";this._selectCallback(h,l,b);return}g._refreshBarPosition();switch(this.animationType){case"none":if(!g.selectionTracker){for(var f=0;f<this._contentList.length;f++){if(h!==f&&a(g._contentList[f]).css("display")==="block"){g._contentList[f].style.display="none";a.jqx.aria(a(g._titleList[f]),"aria-selected",false);a.jqx.aria(a(g._contentList[f]),"aria-hidden",true)}}j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(this,"aria-activedescendant",d)}else{setTimeout(function(){j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)},this.selectionTrackerAnimationDuration)}this._selectCallback(h,l,b);break;case"fade":this._lockAnimation("contentListSelect");g._selectCallback(h,l,b);if(j.initAnimate&&j.fadeIn===undefined){j.initAnimate()}j.fadeIn({duration:1000,complete:function(){g._unlockAnimation("contentListSelect");a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)}});break}}},_selectCallback:function(c,d,b){this._selectedItem=c;this.selectedItem=this._selectedItem;if(d){d()}if(b){this._raiseEvent(1,{item:c})}},_unselect:function(d,i,b){if(d>=0){if(!this._tabCaptured){var g=this,e=g._contentList[d],c=a(e),h=g._titleList[d],f=a(h);if(c.initAnimate&&c.animate===undefined){c.initAnimate()}g._stop(c);if(this.animationType==="fade"){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}else{if(this.selectionTracker){setTimeout(function(){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)},this.selectionTrackerAnimationDuration)}else{e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}}this._unselectCallback(d,i,b);if(!this.selectionTracker){g._removeClass(h,g.toThemeProperty("jqx-tabs-title-selected jqx-fill-state-pressed"))}}}},_unselectCallback:function(c,d,b){if(b){this._raiseEvent(8,{item:c})}if(d){d()}},disable:function(){var b=this.length();while(b){b--;this.disableAt(b)}},enable:function(){var b=this.length();while(b){b--;this.enableAt(b)}},getEnabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(!this.disabled){b++}});return b},getDisabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(this.disabled){b++}});return b},removeAt:function(b){if(this._isValidIndex(b)&&(this.canCloseAllTabs||this.length()>1)){this._removeHoverStates();var d=this,c=d._outerWidth(this._titleList[b],true),g=this.getTitleAt(b);this._unorderedList.style.width=d._toPx(d._width(this._unorderedList)-c);a(this._titleList[b]).remove();a(this._contentList[b]).remove();this._titleList.splice(b,1);this._contentList.splice(b,1);d._closeButtonList.splice(b,1);this._addStyles();this._performHeaderLayout();this._removeEventHandlers();this._addEventHandlers();this._raiseEvent(3,{item:b,title:g});this._isAnimated={};var f;if(this.selectedItem>0){this._selectedItem=-1;if(this.selectedItem>=b){f=this._getPreviousIndex(this.selectedItem);this.select(f)}else{this.select(d.selectedItem)}}else{this._selectedItem=-1;f=this._getNextIndex(this.selectedItem);this.select(f)}if(parseInt(this._unorderedListHelper.css("left"),10)>this._getArrowsDisplacement()){this._unorderedList.style.left=d._toPx(this._getArrowsDisplacement())}if(d._width(this._unorderedList)<=d._width(this._headerWrapper)){var e=(this.enableScrollAnimation)?this.scrollAnimationDuration:0;this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:0},e,function(){d._unlockAnimation("unorderedList")})}}},removeFirst:function(){this.removeAt(0)},removeLast:function(){this.removeAt(this.length()-1)},disableAt:function(b){var d=this._titleList[b];if(!d.disabled||d.disabled===undefined){if(this.selectedItem===b){var c=this.next();if(!c){c=this.previous()}}d.disabled=true;this.removeHandler(d,this.toggleMode);if(this.enabledHover){a(d).off("mouseenter").off("mouseleave")}this._removeEventListenerAt(b);d.className+=" "+this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled");this._raiseEvent(5,{item:b})}},enableAt:function(b){var c=this._titleList[b];if(c.disabled){c.disabled=false;this._addEventListenerAt(b);this._removeClass(c,this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled"));this._raiseEvent(4,{item:b})}},addAt:function(d,g,e){if(d>=0&&d<=this.length()){this._removeHoverStates();var b=document.createElement("li");b.innerHTML=g;b.className=this.toThemeProperty("jqx-tabs-title jqx-item");var f=document.createElement("div");f.innerHTML=e;f.className=this.toThemeProperty("jqx-tabs-content-element");if(this.position==="bottom"){b.className+=" "+this.toThemeProperty("jqx-tabs-title-bottom")}var c=false;if(this._titleList.length===0){this._unorderedList.appendChild(b)}else{if(d<this.length()&&d>=0){this._unorderedList.insertBefore(b,this._titleList[d])}else{this._unorderedList.appendChild(b)}}this._contentWrapper.appendChild(f);this._addItemTo(this._titleList,d,b);this._addItemTo(this._contentList,d,f);this._addCloseButton(d);if(this._selectedItem>d){this._selectedItem++}this._switchTabs(d,this._selectedItem);this._selectedItem=d;this._uiRefresh(c);this._raiseEvent(2,{item:d});this._moveSelectionTrack(this._selectedItem,0)}},addFirst:function(c,b){this.addAt(0,c,b)},addLast:function(c,b){this.addAt(this.length(),c,b)},val:function(b){if(arguments.length===0||typeof(b)==="object"){return this._selectedItem}this.select(b);return this._selectedItem},select:function(b){if(typeof(b)==="object"){b=this._indexOf(b)}var d=b>=0&&b<this._titleList.length?this._titleList[b].getAttribute("canselect"):true;if(d===undefined||d===null||d==="true"||d===true){if(b!==this._selectedItem&&this._isValidIndex(b)){if(!this._activeAnimation()&&!this._titleList[b].disabled){var c=this._switchTabs(b,this._selectedItem);if(c){this.ensureVisible(b)}}}}},previous:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>0&&b<this._titleList.length){b--;if(!this._titleList[b].disabled){this.select(b);return true}}return false},_getPreviousIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>0&&c<=this._titleList.length){c--;if(!this._titleList[c].disabled){return c}}return b}else{return 0}},_getNextIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>=0&&c<this._titleList.length){if(!this._titleList[c].disabled){return c}c++}return b}else{return 0}},next:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>=0&&b<this._titleList.length-1){b++;if(!this._titleList[b].disabled){this.select(b);return true}}return false},first:function(){var b=0;if(this._titleList[b].disabled){this.next(b)}else{this.select(b)}},last:function(){var b=this._titleList.length-1;if(this._titleList[b].disabled){this.previous(b)}else{this.select(b)}},length:function(){return this._titleList.length},lockAt:function(b){if(this._isValidIndex(b)&&(!this._titleList[b].locked||this._titleList[b].locked===undefined)){this._titleList[b].locked=true;this._raiseEvent(11,{item:b})}},unlockAt:function(b){if(this._isValidIndex(b)&&this._titleList[b].locked){this._titleList[b].locked=false;this._raiseEvent(12,{item:b})}},lockAll:function(){var b=this.length();while(b){b--;this.lockAt(b)}},unlockAll:function(){var b=this.length();while(b){b--;this.unlockAt(b)}},showCloseButtonAt:function(b){if(this._isValidIndex(b)){if(!this.showCloseButtons){this.showCloseButtons=true;this.updatetabsheader()}this._closeButtonList[b].style.display="block";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=0}},hideCloseButtonAt:function(b){if(this._isValidIndex(b)){this._closeButtonList[b].style.display="none";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=1}},hideAllCloseButtons:function(){var b=this.length();while(b){b--;this.hideCloseButtonAt(b)}},showAllCloseButtons:function(){var b=this.length();while(b){b--;this.showCloseButtonAt(b)}},getTitleAt:function(b){if(this._titleList[b]){return a(this._titleList[b]).text()}return null},getContentAt:function(b){if(this._contentList[b]){return this._contentList[b]}return null},setTitleAt:function(b,c){if(this._titleList[b]){a(this._titleList[b]).text(c);if(this.showCloseButtons){this._addCloseButton(b);this._removeEventHandlers();this._addEventHandlers()}this.render();this.refresh()}},setContentAt:function(b,c){if(this._contentList[b]){a(this._contentList[b]).html(c)}},ensureVisible:function(e){var d=this;if(e===undefined||e===-1||e===null){e=this.selectedItem}if(!this._isValidIndex(e)){return false}var j=this._titleList[e];var l=parseInt(a(j).position().left,10)+parseInt(this._unorderedListHelper.css("margin-left"),10);var g=parseInt(this._unorderedListHelper.css("left"),10);var k=this._outerWidth(this._headerWrapper,true);var f=this._outerWidth(j,true);var i=g-this._getArrowsDisplacement();var b=k-this._getArrowsDisplacement()-i;var h,c;if(l<-i){h=-l+this._getArrowsDisplacement();c=this._getArrowsDisplacement()}else{if(l+f>b-this._getArrowsDisplacement()){h=-l+k-f-((this.scrollable)?(2*this.arrowButtonSize-this._getArrowsDisplacement()):0);c=k-f-this._getArrowsDisplacement()}else{this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration);return true}}this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:h},this.scrollAnimationDuration,function(){d._unlockAnimation("unorderedList");d._moveSelectionTrack(d._selectedItem,0);return true});this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration,c);return true},isVisibleAt:function(d){var c=this;if(d===undefined||d===-1||d===null){d=c.selectedItem}if(!c._isValidIndex(d)){return false}var h=c._titleList[d];var j=parseInt(a(h).position().left,10)+parseInt(c._unorderedListHelper.css("margin-left"),10);var f=parseInt(c._unorderedListHelper.css("left"),10);var i=c._outerWidth(c._headerWrapper,true);var e=c._outerWidth(h,true);var g=f-c._getArrowsDisplacement();var b=i-c._getArrowsDisplacement()-g;if(j<-g){return false}else{if(j+e>b){return false}else{return true}}return true},isDisabled:function(b){return this._titleList[b].disabled},_lockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=true}},_unlockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=false}},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length===2){d._setSize()}},propertyChangedHandler:function(b,c,e,d){if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length===2){return}this._validateProperties();switch(c){case"touchMode":if(d){b.enabledHover=false;b.keyboardNavigation=false}break;case"width":case"height":b._setSize();return;case"disabled":if(d){this.disable()}else{this.enable()}return;case"showCloseButtons":if(d){this.showAllCloseButtons()}else{this.hideAllCloseButtons()}this._performHeaderLayout();return;case"selectedItem":if(this._isValidIndex(d)){this.select(d)}return;case"scrollStep":case"contentTransitionDuration":case"scrollAnimationDuration":case"enableScrollAnimation":return;case"selectionTracker":if(d){this._refresh();this.select(this._selectedItem)}else{if(this._selectionTracker){this._selectionTrackerHelper.remove()}}return;case"scrollable":if(d){this._refresh();this.select(this._selectedItem)}else{a(this._leftArrow).remove();a(this._rightArrow).remove();this._performHeaderLayout()}return;case"autoHeight":this._performHeaderLayout();return;case"theme":a.jqx.utilities.setTheme(e,d,this.host);return}this._unorderedList.style.left="0px";this._refresh();this.select(this._selectedItem);this._addSelectStyle(this._selectedItem,true)},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_removeClass:function(c,b){a(c).removeClass(b)},_width:function(e){var b=a(e),g=b.css("border-left-width"),c=b.css("border-right-width"),d=parseInt(b.css("padding-left"),10),h=parseInt(b.css("padding-right"),10);if(g.indexOf("px")===-1){g=1}else{g=parseInt(g,10)}if(c.indexOf("px")===-1){c=1}else{c=parseInt(c,10)}var f=e.offsetWidth-(g+c+d+h);return f},_outerWidth:function(c,g){var f=c.offsetWidth;if(g){var b=a(c),d=parseInt(b.css("margin-left"),10),e=parseInt(b.css("margin-right"),10);f+=d+e}return f},_height:function(e){var c=a(e),h=c.css("border-top-width"),d=c.css("border-bottom-width"),f=parseInt(c.css("padding-top"),10),g=parseInt(c.css("padding-bottom"),10);if(h.indexOf("px")===-1){h=1}else{h=parseInt(h,10)}if(d.indexOf("px")===-1){d=1}else{d=parseInt(d,10)}var b=e.offsetHeight-(h+d+f+g);return b},_outerHeight:function(e,g){var f=e.offsetHeight;if(g){var b=a(e),c=parseInt(b.css("margin-top"),10),d=parseInt(b.css("margin-bottom"),10);f+=c+d}return f},_stop:function(b){if(b.stop){b.stop()}else{b.animate("stop",true)}}})}(jqxBaseFramework));
+(function(a){a.jqx.jqxWidget("jqxTabs","",{});a.extend(a.jqx._jqxTabs.prototype,{defineInstance:function(){var b={scrollAnimationDuration:200,enabledHover:true,disabled:false,collapsible:false,animationType:"none",enableScrollAnimation:true,contentTransitionDuration:450,toggleMode:"click",selectedItem:0,height:"auto",width:"auto",position:"top",selectionTracker:false,scrollable:true,scrollPosition:"right",scrollStep:70,autoHeight:true,headerHeight:null,showCloseButtons:false,canCloseAllTabs:true,closeButtonSize:16,arrowButtonSize:16,keyboardNavigation:true,reorder:false,selectionTrackerAnimationDuration:300,_isTouchDevice:false,roundedCorners:true,_headerExpandingBalance:0,_dragStarted:false,_tabCaptured:false,_lastUnorderedListPosition:0,_selectedItem:0,_titleList:[],_contentList:[],_contentWrapper:null,_unorderedList:null,_scrollTimeout:null,isCollapsed:false,touchMode:false,initTabContent:null,enableDropAnimation:false,_currentEvent:null,_needScroll:true,_isAnimated:{},_events:["created","selected","add","removed","enabled","disabled","selecting","unselecting","unselected","dragStart","dragEnd","locked","unlocked","collapsed","expanded","tabclick"],_initTabContentList:[],_invalidArgumentExceptions:{invalidScrollAnimationDuration:"The scroll animation duration is not valid!",invalidWidth:"Width you've entered is invalid!",invalidHeight:"Height you've entered is invalid!",invalidAnimationType:"You've entered invalid animation type!",invalidcontentTransitionDuration:"You've entered invalid value for contentTransitionDuration!",invalidToggleMode:"You've entered invalid value for toggleMode!",invalidPosition:"You've entered invalid position!",invalidScrollPosition:"You've entered invalid scroll position!",invalidScrollStep:"You've entered invalid scroll step!",invalidStructure:"Invalid structure!",invalidArrowSize:"Invalid scroll button size!",invalidCloseSize:"Invalid close button size!"},aria:{"aria-disabled":{name:"disabled",type:"boolean"}},rtl:false};if(this===a.jqx._jqxTabs.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){this._IE8=a.jqx.browser.msie&&a.jqx.browser.version<9;a.jqx.aria(this);this.element.className+=" "+this.toThemeProperty("jqx-tabs jqx-widget jqx-widget-content");this.element.setAttribute("role","tablist");var e=this.host.children();for(var b=0;b<e.length;b++){var d=e[b];if(d.nodeName.toLowerCase()==="ul"){this._unorderedList=d}else{if(d.nodeName.toLowerCase()==="div"){this._contentList.push(d)}}}this._unorderedListHelper=a(this._unorderedList);if(this._unorderedListHelper.initAnimate){this._unorderedListHelper.initAnimate()}this._closeButtonList=[];this._selectedItem=this.selectedItem;this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._needScroll=this.scrollable;if(this.selectionTracker){this.selectionTracker=this._seletionTrackerBrowserCheck()}if(this._isTouchDevice){this.reorder=false;this.keyboardNavigation=false}this._titleList=this._unorderedListHelper.children();var c=this._titleList.length;while(c){c--;this._titleList[c].setAttribute("role","tab");if(!this._titleList[c].getAttribute("id")){this._titleList[c].setAttribute("id",this.element.id+"Tab"+c)}this._contentList[c].setAttribute("role","tabpanel")}this._validateProperties();this._refresh();this._moveSelectionTrack(this._selectedItem,0);if(this.disabled){this.disable()}this.element.tabIndex=0;this._raiseEvent(0);this._enableWindowResize()},_hiddenParent:function(){var c=this;if(c.host.css("display")==="none"){return true}var b=false;a.each(c.host.parents(),function(){if(a(this).css("display")==="none"){b=true;return false}});return b},_enableWindowResize:function(){var b=this;var c=a.jqx.isHidden(b.host);a.jqx.utilities.resize(this.host,function(){if(c){b._uiRefresh(true);c=false}else{b.refresh()}b._refreshBarPosition()})},resize:function(c,b){this.width=c;this.height=b;var d=a.jqx.isHidden(this.host);if(d){this._uiRefresh(true);d=false}else{this.refresh()}},refresh:function(b){if(true!==b||b===undefined){this._setSize()}},_seletionTrackerBrowserCheck:function(){var b="Browser CodeName: "+navigator.appCodeName+"";b+="Browser Name: "+navigator.appName+"";b+="Browser Version: "+navigator.appVersion+"";b+="Platform: "+navigator.platform+"";b+="User-agent header: "+navigator.userAgent+"";if(b.indexOf("IEMobile")!==-1){return false}if(b.indexOf("Windows Phone OS")!==-1){return false}if(a.jqx.browser.msie&&a.jqx.browser.version<=7){return false}return true},render:function(){this._refresh()},_uiRefresh:function(b){this._unorderedListLeftBackup=this._unorderedListHelper.css("left");if(b){this._render()}this._addStyles();this._performLayout();this._prepareTabs();this._removeEventHandlers();this._addEventHandlers();if(this._unorderedListLeftBackup==="auto"){this._unorderedListLeftBackup=this._getArrowsDisplacement()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);if(this.rtl){if(this.scrollable&&this._rightArrow&&a(this._rightArrow).css("visibility")!=="hidden"){var e=2*this.arrowButtonSize;var d=this._width(this.element)-parseInt(this._width(this._unorderedList)+e+parseInt(this._unorderedListHelper.css("margin-left"),10),10);this._unorderedList.style.left=d+"px"}}var c=this;setTimeout(function(){c._performLayout()},100)},_refresh:function(){if(a.jqx.isHidden(this.host)){return}this._uiRefresh(true);this.host.addClass("jqx-tabs-header-position-"+this.position)},_addStyles:function(){this._unorderedList.className+=" "+this.toThemeProperty("jqx-tabs-title-container");this._unorderedList.style.outline="none";this._unorderedList.style.whiteSpace="nowrap";this._unorderedList.style.marginTop="0px";this._unorderedList.style.marginBottom="0px";this._unorderedList.style.padding="0px";this._unorderedList.style.background="transparent";this._unorderedList.style.border="none";this._unorderedList.style.borderStyle="none";this._unorderedList.style.textIndent="0px";var c=this.length();while(c){c--;var d=this._titleList[c],b="jqx-tabs-title jqx-item";d.style.padding="";if(this.position==="bottom"){b+=" jqx-tabs-title-bottom"}if(d.disabled){b+=" jqx-tabs-title-disable jqx-fill-state-disabled"}switch(this.position){case"top":b+=" jqx-rc-t";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-t"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-b");break;case"bottom":b+=" jqx-rc-b";this._removeClass(this._contentList[c],this.toThemeProperty("jqx-rc-b"));this._contentList[c].className+=" "+this.toThemeProperty("jqx-rc-t");break}d.className="jqx-reset jqx-disableselect "+this.toThemeProperty(b)}if(this.selectionTracker){switch(this.position){case"top":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-b"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-t");break;case"bottom":this._removeClass(this._selectionTracker,this.toThemeProperty("jqx-rc-t"));this._selectionTracker.className+=" "+this.toThemeProperty("jqx-rc-b");break}}},_raiseEvent:function(e,i){var g=new a.Event(this._events[e]);g.owner=this;g.args=i;if(e===6||e===7){g.cancel=false;this._currentEvent=g}var b="";try{b=this.host.trigger(g);if(e===1){var f=this;if(this.selectionTracker||this.animationType!=="none"){setTimeout(function(){if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}var j=new a.Event("loadContent");j.owner=this;if(f._contentList.length>0&&f._contentList[f.selectedItem]){a(f._contentList[f.selectedItem]).trigger(j)}},50+f.selectionTrackerAnimationDuration)}else{var d=new a.Event("loadContent");if(!f._initTabContentList[f.selectedItem]){if(f.initTabContent){f.initTabContent(f.selectedItem);f._initTabContentList[f.selectedItem]=true}}d.owner=this;var h=new a.Event("resize");this.host.trigger(h)}}}catch(c){if(c&&console){console.log(c)}}return b},_getArrowsDisplacement:function(){if(!this._needScroll){return 0}var d;var c=this.arrowButtonSize;var b=this.arrowButtonSize;if(this.scrollPosition==="left"){d=c+b}else{if(this.scrollPosition==="both"){d=c}else{d=0}}return d},_scrollRight:function(e){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var f=parseInt(this._width(this._unorderedList)+parseInt(this._unorderedListHelper.css("margin-left"),10),10),h=this._width(this.element),g,i,b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),d=0,j;if(this.scrollable){g=this._leftArrow.offsetWidth;i=this._rightArrow.offsetWidth}else{g=0;i=0}e=(this.enableScrollAnimation)?e:0;if(this._width(this._headerWrapper)>parseInt(this._unorderedListHelper.css("margin-left"),10)+this._width(this._unorderedList)){d=c}else{if(Math.abs(b)+this.scrollStep<Math.abs(h-f)+g+i+c){d=b-this.scrollStep;j=b-this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{d=h-f-(2*this.arrowButtonSize-c);if(d<parseInt(this._unorderedListHelper.css("left"),10)-4&&d>parseInt(this._unorderedListHelper.css("left"),10)+4){j=h-f-g-i+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(d,j,e)},_scrollLeft:function(f){this._stop(this._unorderedListHelper);this._unlockAnimation("unorderedList");var b=parseInt(this._unorderedListHelper.css("left"),10),c=this._getArrowsDisplacement(),e=0,d;f=(this.enableScrollAnimation)?f:0;if(this._width(this._headerWrapper)>=this._width(this._unorderedList)){e=c}else{if(b+this.scrollStep<c){e=b+this.scrollStep;d=b+this.scrollStep+parseInt(a(this._titleList[this._selectedItem]).position().left,10)}else{e=c;if(e<parseInt(this._unorderedListHelper.css("left"),10)-4&&e>parseInt(this._unorderedListHelper.css("left"),10)+4){d=parseInt(a(this._titleList[this._selectedItem]).position().left,10)}}}this._performScrollAnimation(e,d,f)},_performScrollAnimation:function(e,d,c){var b=this;if(d!==undefined){this._moveSelectionTrack(this._selectedItem,0,d)}this._lockAnimation("unorderedList");b._refreshBarPosition();this._unorderedListHelper.animate({left:e},c,function(){b._moveSelectionTrack(b.selectedItem,0);b._unlockAnimation("unorderedList");b._refreshBarPosition()})},_addKeyboardHandlers:function(){var b=this;if(this.keyboardNavigation){this.addHandler(this.host,"keydown",function(e){if(!b._activeAnimation()){var f=b._selectedItem;var d=b.selectionTracker;var c=b.getContentAt(f);if(a(e.target).ischildof(c)){return true}if(a(document.activeElement).ischildof(a(c))){return true}switch(e.keyCode){case 37:if(b.rtl){b.next()}else{b.previous()}return false;case 39:if(b.rtl){b.previous()}else{b.next()}return false;case 36:b.first();return false;case 35:b.last();return false;case 27:if(b._tabCaptured){b._cancelClick=true;b._uncapture(null,b.selectedItem);b._tabCaptured=false}break}b.selectionTracker=d}return true})}},_addScrollHandlers:function(){var b=this;this.addHandler(this._leftArrow,"mousedown",function(){b._startScrollRepeat(true,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mousedown",function(){b._startScrollRepeat(false,b.scrollAnimationDuration)});this.addHandler(this._rightArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(this._leftArrow,"mouseleave",function(){clearTimeout(b._scrollTimeout)});this.addHandler(a(document),"mouseup.tab"+this.element.id,this._mouseUpScrollDocumentHandler,this);this.addHandler(a(document),"mouseleave.tab"+this.element.id,this._mouseLeaveScrollDocumentHandler,this)},_mouseLeaveScrollDocumentHandler:function(c){var b=c.data;if(!b._scrollTimeout){return}clearTimeout(b._scrollTimeout)},_mouseUpScrollDocumentHandler:function(c){var b=c.data;clearTimeout(b._scrollTimeout)},_mouseUpDragDocumentHandler:function(c){var b=c.data;if(b._tabCaptured&&b._dragStarted){b._uncapture(c)}b._tabCaptured=false},_addReorderHandlers:function(){var b=this;b.addHandler(a(document),"mousemove.tab"+b.element.id,b._moveElement,b);b.addHandler(a(document),"mouseup.tab"+b.element.id,b._mouseUpDragDocumentHandler,b)},_addEventHandlers:function(){var e=this.length();while(e){e--;this._addEventListenerAt(e)}if(this.keyboardNavigation){this._addKeyboardHandlers()}if(this.scrollable){this._addScrollHandlers()}if(this.reorder&&!this._isTouchDevice){this._addReorderHandlers()}var d=this;try{if(document.referrer!==""||window.frameElement){if(window.top!==null&&window.top!==window.self){var c=function(){if(d._tabCaptured){d._cancelClick=true;d._uncapture(null,d.selectedItem);d._tabCaptured=false}};var f=null;if(window.parent&&document.referrer){f=document.referrer}if(f&&f.indexOf(document.location.host)!==-1){if(window.top.document){this.addHandler(a(window.top.document),"mouseup.tabs"+this.element.id,c)}}}}}catch(b){}},focus:function(){try{this.host.focus();var c=this;setTimeout(function(){c.host.focus()},25)}catch(b){}},_getFocusedItem:function(c){var d=this.length();while(d){d--;var b=this._titleList[d],g=this._outerWidth(b,true),f=parseInt(a(b).offset().left,10),e=f;if((e<=c&&e+g>=c)&&(b!==this._capturedElement)&&(!this._titleList[d].locked)&&(this._titleList[d].disabled!==true)){return d}}return -1},_uncapture:function(f){var e=this.selectionTracker;this._unorderedListLeftBackup=this._unorderedListHelper.css("left");this._dragStarted=false;this._tabCaptured=false;var b=this._indexOf(this._capturedElement);if(!this._capturedElement){return}switch(this.position){case"top":this._capturedElement.style.bottom="0px";break;case"bottom":this._capturedElement.style.top="0px";break}var d;if(f){d=this._getFocusedItem(f.clientX)}if(d===-1||!f){this._capturedElement.style.left="0px"}else{this._raiseEvent(10,{item:b,dropIndex:d});this._reorderItems(d,b)}for(var c=0;c<this._titleList.length;c++){this._titleList[c].style.position="static"}this._reorderHeaderElements();this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._prepareTabs();if(d===-1||!f){this._selectedItem=b;this._moveSelectionTrack(b,0);this._addSelectStyle(this._selectedItem,true)}else{this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this._selectedItem,true)}if(document.selection){document.selection.clear()}this._unorderedList.style.left=this._toPx(this._unorderedListLeftBackup);this.selectionTracker=e},_reorderItems:function(c,b){var e=this._titleList[this.selectedItem],d=this._titleList[b];if(typeof this._capturedElement==="undefined"){this._capturedElement=d}a(d).remove();if(b<c){if(this._titleList[c+1]){this._unorderedList.insertBefore(d,this._titleList[c+1])}else{this._unorderedList.appendChild(d)}}else{this._unorderedList.insertBefore(d,this._titleList[c])}this._reorderElementArrays(c,b);this._getSelectedItem(e);this._removeEventHandlers();this._addEventHandlers()},_reorderElementArrays:function(e,b){var f=this._contentList[b];if(b<e){for(var d=b;d<=e;d++){this._titleList[d]=this._titleList[d+1];this._contentList[d]=this._contentList[d+1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}else{for(var c=b;c>=e;c--){this._titleList[c]=this._titleList[c-1];this._contentList[c]=this._contentList[c-1]}this._contentList[e]=f;this._titleList[e]=this._capturedElement}},getSelectedItem:function(){return this.selectedItem},_getSelectedItem:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c){this._selectedItem=this.selectedItem=b;break}}},_moveElement:function(d){var c=d.data;if(c._tabCaptured){if(document.selection){document.selection.clear()}if(!c._dragStarted){var b=-parseInt(c._unorderedListHelper.css("left"),10);if(d.clientX+b>c._startX+3||d.clientX+b<c._startX-3){c._prepareTabForDragging();c._dragStarted=true}}else{c._performDrag(d);clearTimeout(c._scrollTimeout)}}},_performDrag:function(d){var c=this.getZoomFactor(),b=-parseInt(this._unorderedListHelper.css("left"),10);this._capturedElement.style.left=this._toPx(b+d.clientX/c-this._startX/c);this._lastX=d.clientX/c;this._moveSelectionTrack(this.selectedItem,0)},getZoomFactor:function(){var c=1;if(document.body.getBoundingClientRect){var d=document.body.getBoundingClientRect();var e=d.right-d.left;var b=document.body.offsetWidth;c=Math.round((e/b)*100)/100}return c},_prepareTabForDragging:function(){this._capturedElement.style.position="relative";this._capturedElement.style.left="0px";this._capturedElement.style.top="0px";this._capturedElement.style.zIndex=300;this.selectedItem=this._indexOf(this._capturedElement);switch(this.position){case"top":this._capturedElement.style.bottom=this._toPx(a(this._capturedElement).css("top"));break;case"bottom":this._capturedElement.style.top=this._toPx(a(this._capturedElement).css("top"));break}this._raiseEvent(9,{item:this._indexOf(this._capturedElement)})},_dragScroll:function(d){var b=parseInt(this._unorderedListHelper.css("left"),10);var c=this,e=a(c._headerWrapper);if(d.clientX<=e.offset().left){this._scrollLeft(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{if(d.clientX>e.offset().left+c._width(this._headerWrapper)){this._scrollRight(this.scrollAnimationDuration);this._capturedElement.style.left=parseInt(a(this._capturedElement).css("left"),10)+this._lastUnorderedListPosition-b}else{c._stop(c._unorderedListHelper);this._unlockAnimation("unorderedList");clearTimeout(this._scrollTimeout)}}this._scrollTimeout=setTimeout(function(){c._dragScroll(d)},this.scrollAnimationDuration);this._lastUnorderedListPosition=b},_captureElement:function(d,c){if(!this._tabCaptured&&!this._titleList[c].locked&&this._titleList[c].disabled!==true&&!this._activeAnimation()){var b=-parseInt(this._unorderedListHelper.css("left"),10);this._startX=b+d.clientX;this._startY=d.clientY;this._lastX=d.clientX;this._lastY=d.clientY;this._tabCaptured=true;this._capturedElement=this._titleList[c]}},_titleInteractionTrigger:function(b){if(this._headerExpandingBalance>0){this._removeOppositeBorder()}if(this._selectedItem!==b){this.select(this._titleList[b],"toggle");this._titleList[b].collapsed=false;if(!this.collapsible){if(this.height!=="auto"){this._contentWrapper.style.visibility="visible"}else{this._contentWrapper.style.display="block"}}}else{if(this.collapsible){if(this.isCollapsed){this.expand()}else{this.collapse()}}}},collapse:function(){var b=this._selectedItem,c=this;this.isCollapsed=true;if(c.height!=="auto"){c._contentWrapper.style.visibility="hidden"}else{c._contentWrapper.style.display="none"}c._raiseEvent(13,{item:b});if(this.position==="top"){c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed")}else{c._headerWrapper.className+=" "+this.toThemeProperty("jqx-tabs-header-collapsed-bottom");c.element.className+=" "+this.toThemeProperty("jqx-tabs-collapsed-bottom")}},expand:function(){var b=this._selectedItem,c=this;this.isCollapsed=false;this._select(b,c.contentTransitionDuration,null,false,true);if(c.height!=="auto"){c._contentWrapper.style.visibility="visible"}else{c._contentWrapper.style.display="block"}c._raiseEvent(14,{item:b});if(this.position==="top"){c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed"))}else{c._removeClass(c._headerWrapper,c.toThemeProperty("jqx-tabs-header-collapsed-bottom"));c._removeClass(c.element,c.toThemeProperty("jqx-tabs-collapsed-bottom"))}},_addSelectHandler:function(b){var c=this;this.addHandler(this._titleList[b],"selectstart",function(){return false});this.addHandler(this._titleList[b],this.toggleMode,(function(d){return function(){c._raiseEvent("15",{item:d});if(!c._tabCaptured&&!c._cancelClick){c._titleInteractionTrigger(d)}return true}}(b)))},_addDragDropHandlers:function(b){var c=this;this.addHandler(this._titleList[b],"mousedown",function(d){c._captureElement(d,b)});this.addHandler(this._titleList[b],"mouseup",function(d){if(c._tabCaptured&&c._dragStarted){c._cancelClick=true;c._uncapture(d,b)}else{c._cancelClick=false}c._tabCaptured=false;return false})},_removeHoverStates:function(){var b=this;a.each(this._titleList,function(){b._removeClass(this,b.toThemeProperty("jqx-tabs-title-hover-top jqx-tabs-title-hover-bottom"))})},_addHoverHandlers:function(b){var d=this;var c=this._titleList[b];this.addHandler(c,"mouseenter mouseleave",function(g){if(b!==d._selectedItem){var f="jqx-fill-state-hover";if(d.position==="top"){f+=" jqx-tabs-title-hover-top"}else{f+=" jqx-tabs-title-hover-bottom"}if(g.type==="mouseenter"){c.className+=" "+d.toThemeProperty(f)}else{d._removeClass(c,d.toThemeProperty(f))}if(d.showCloseButtons){var e=d._closeButtonList[b];if(g.type==="mouseenter"){e.className+=" "+d.toThemeProperty("jqx-tabs-close-button-hover",true)}else{d._removeClass(e,d.toThemeProperty("jqx-tabs-close-button-hover",true))}}}})},_addEventListenerAt:function(c){var d=this;if(this._titleList[c].disabled){return}if(this.reorder&&!this._isTouchDevice){this._addDragDropHandlers(c)}this._addSelectHandler(c);if(this.enabledHover){this._addHoverHandlers(c)}var b=d._closeButtonList[c];this.removeHandler(b,"click");this.addHandler(b,"click",function(){var e=a(this).parents("li").index();d.removeAt(e);return false})},_removeEventHandlers:function(){var c=this;var b=c.length();while(b){b--;c._removeEventListenerAt(b)}if(c.scrollable){c.removeHandler(c._leftArrow,"mousedown");c.removeHandler(c._rightArrow,"mousedown")}c.removeHandler(a(document),"mousemove.tab"+c.element.id,c._moveElement);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpScrollDocumentHandler);c.removeHandler(a(document),"mouseup.tab"+c.element.id,c._mouseUpDragDocumentHandler);c.removeHandler(c.host,"keydown")},_removeEventListenerAt:function(b){var c=this;c.removeHandler(c._titleList[b],c.toggleMode);c.removeHandler(c._titleList[b],"mouseenter");c.removeHandler(c._titleList[b],"mouseleave");c.removeHandler(c._titleList[b],"mousedown");c.removeHandler(c._titleList[b],"mouseup");c.removeHandler(c._closeButtonList[b],"click")},_moveSelectionTrack:function(n,c,b){var h=this;if(n===-1){return}if(this._titleList.length===0){return}if(n>=this._titleList.length){return}var m=this._titleList[n],o=a(m);h._refreshBarPosition();if(this.selectionTracker&&this._selectionTracker){var i;h._stop(h._selectionTrackerHelper);this._unlockAnimation("selectionTracker");if(b===undefined){i=parseInt(o.position().left,10);if(!isNaN(parseInt(this._unorderedListHelper.css("left"),10))){i+=parseInt(this._unorderedListHelper.css("left"),10)}if(!isNaN(parseInt(this._unorderedListHelper.css("margin-left"),10))){i+=parseInt(this._unorderedListHelper.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-left"),10))){i+=parseInt(o.css("margin-left"),10)}if(!isNaN(parseInt(o.css("margin-right"),10))){}}else{i=b}var g=0;var e=0;if(this.position==="top"){g=this._height(h._headerWrapper)-m.offsetHeight;if(!this.autoHeight){e+=parseInt(o.css("margin-top"),10)}}this._lockAnimation("selectionTracker");var l=parseInt(o.css("padding-left"),10)+parseInt(o.css("padding-right"),10);var f=this.position==="top"?0:1;var k=parseInt(a(this._headerWrapper).css("padding-top"),10);var j=parseInt(o.css("padding-top"),10)+parseInt(o.css("padding-bottom"),10);this._selectionTracker.style.visibility="visible";this._moveSelectionTrackerContainer.style.visibility="visible";var d=parseInt(o.css("margin-top"),10);if(isNaN(d)){d=0}h._refreshBarPosition();h._selectionTrackerHelper.animate({top:k+d-f,left:i+"px",height:parseInt(this._height(m)+j,10),width:h._width(m)+l},c,function(){h._unlockAnimation("selectionTracker");h._selectionTracker.style.visibility="hidden";h._addSelectStyle(n,true);h._moveSelectionTrackerContainer.style.visibility="hidden"})}},destroy:function(){a.jqx.utilities.resize(this.host,null,true);if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){this.removeHandler(a(window.top.document),"mouseup.tabs"+this.element.id)}}this.host.remove()},_switchTabs:function(b,d){if(b!==d&&!this._activeAnimation()&&!this._tabCaptured){var c=this;this._raiseEvent(7,{item:d});this._raiseEvent(6,{item:b});if(this._currentEvent){if(this._currentEvent.cancel){this._currentEvent=null;return}}this._unselect(d,null,true);this._select(b,c.contentTransitionDuration,null,true);return true}return false},_activeAnimation:function(){for(var b in this._isAnimated){if(this._isAnimated.hasOwnProperty(b)){if(this._isAnimated[b]){return true}}}return false},_indexOf:function(c){var b=this.length();while(b){b--;if(this._titleList[b]===c||this._contentList[b]===c){return b}}return -1},_validateProperties:function(){try{if(this.scrollAnimationDuration<0||isNaN(this.scrollAnimationDuration)){throw new Error(this._invalidArgumentExceptions.invalidScrollAnimationDuration)}if(parseInt(this.width,10)<0&&this.width!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(parseInt(this.height,10)<0&&this.height!=="auto"){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.animationType!=="none"&&this.animationType!=="fade"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(this.contentTransitionDuration<0||isNaN(this.contentTransitionDuration)){throw new Error(this._invalidArgumentExceptions.invalidcontentTransitionDuration)}if(this.toggleMode!=="click"&&this.toggleMode!=="dblclick"&&this.toggleMode!=="mouseenter"&&this.toggleMode!=="none"){throw new Error(this._invalidArgumentExceptions.invalidToggleMode)}if(this.position!=="top"&&this.position!=="bottom"){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(this.scrollPosition!=="left"&&this.scrollPosition!=="right"&&this.scrollPosition!=="both"){throw new Error(this._invalidArgumentExceptions.invalidScrollPosition)}if(this.scrollStep<0||isNaN(this.scrollStep)){throw new Error(this._invalidArgumentExceptions.invalidScrollStep)}if(this._titleList.length!==this._contentList.length||this._titleList.length===0){throw new Error(this._invalidArgumentExceptions.invalidStructure)}if(this.arrowButtonSize<0||isNaN(this.arrowButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidArrowSize)}if(this.closeButtonSize<0||isNaN(this.closeButtonSize)){throw new Error(this._invalidArgumentExceptions.invalidCloseSize)}}catch(b){try{console.log(b)}catch(c){}}},_startScrollRepeat:function(d,c){var b=this;if(d){this._scrollLeft(c)}else{this._scrollRight(c)}if(this._scrollTimeout){clearTimeout(this._scrollTimeout)}this._scrollTimeout=setTimeout(function(){b._startScrollRepeat(d,b.scrollAnimationDuration)},c)},_performLayout:function(){var b=this.length();while(b){b--;if(this.position==="top"||this.position==="bottom"){if(this.rtl){this._titleList[b].style["float"]="right"}else{this._titleList[b].style["float"]="left"}}}this._fitToSize();this._performHeaderLayout();this._fitToSize()},updatetabsheader:function(){this._performHeaderLayout()},_setSize:function(){var b=this;b._fitToSize();b._positionArrows(b._totalItemsWidth);if(b._totalItemsWidth>b.element.offsetWidth){b._unorderedList.style.width=b._toPx(b._totalItemsWidth)}else{b._unorderedList.style.width=b.element.offsetWidth-2+"px"}b._fitToSize()},_addArrows:function(){if(this._leftArrow&&this._rightArrow){a(this._leftArrow).remove();a(this._rightArrow).remove()}this._leftArrow=document.createElement("div");this._leftArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-left")+'"></span>';this._leftArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._leftArrow.style.zIndex=30;this._leftArrow.style.display="none";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.height="100%";this._rightArrow=document.createElement("div");this._rightArrow.innerHTML='<span style="display: block; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-tabs-arrow-right")+'"></span>';this._rightArrow.className=this.toThemeProperty("jqx-tabs-arrow-background jqx-widget-header");this._rightArrow.style.zIndex=30;this._rightArrow.style.display="none";this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.height="100%";this._headerWrapper.appendChild(this._leftArrow);this._headerWrapper.appendChild(this._rightArrow)},_tabsWithVisibleCloseButtons:function(){if(!this.showCloseButtons){return 0}var b=this.length();a.each(this._titleList,function(){var c=this.attr("hasclosebutton");if(c!==undefined&&c!==null){if(c==="false"||c===false){b--}}});return b},_calculateTitlesSize:function(){var g=this;function f(n,m){if(n){if(m){n.style.display="block"}else{n.style.display="none"}}}var l=0;var k=0;var h=this.length();if(this.rtl&&a.jqx.browser.msie&&a.jqx.browser.version<8){this._measureItem=document.createElement("span");this._measureItem.style.position="relative";this._measureItem.style.visibility="hidden";document.body.appendChild(this._measureItem)}while(h){h--;var j=this._titleList[h],b=g._closeButtonList[h];if(this._measureItem){this._measureItem.innerHTML=j.innerHTML;this._measureItem.html(this._titleList[h].html());j.style.width=g._toPx(g._width(this._measureItem))}j.style.position="static";f(b,false);k+=g._outerWidth(j,true);var e=g._outerHeight(j,true);if(l<e){l=e}if(g._height(j)===0){var i=j.cloneNode(true);document.body.appendChild(i);l=g._outerHeight(i,true);document.body.removeChild(i)}var c=j.getAttribute("hasCloseButton");var d;if(c!==undefined&&c!==null){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){if(c==="true"||c===true){k+=this.closeButtonSize;f(b,true)}else{if(c==="false"||c===false){f(b,false)}}}}else{if(this.showCloseButtons&&(this.canCloseAllTabs||this._tabsWithVisibleCloseButtons()>1)){d=false;if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[h]===1){f(b,false);d=true}}if(!d){k+=this.closeButtonSize;f(b,true)}}}j.style.height=this._toPx(g._height(j))}if(this._measureItem){a(this._measureItem).remove()}return{height:l,width:10+k}},_reorderHeaderElements:function(){if(this.selectionTracker){this._moveSelectionTrackerContainer.style.position="absolute";this._moveSelectionTrackerContainer.style.height="100%";this._moveSelectionTrackerContainer.style.top="0px";this._moveSelectionTrackerContainer.style.left="0px";this._moveSelectionTrackerContainer.style.width="100%"}this._headerWrapper.style.position="relative";this._headerWrapper.style.left="0px";this._headerWrapper.style.top="0px";if(this.scrollable){this._rightArrow.style.width=this._toPx(this.arrowButtonSize);this._rightArrow.style.position="absolute";this._rightArrow.style.top="0px";this._leftArrow.style.width=this._toPx(this.arrowButtonSize);this._leftArrow.style.position="absolute";this._leftArrow.style.top="0px";var c=this.theme&&this.theme.indexOf("ui-")!==-1?3:0;if(c>0){this._rightArrow.className+=" "+this.toThemeProperty("jqx-rc-r");this._leftArrow.className+=" "+this.toThemeProperty("jqx-rc-l")}var b=this.scrollPosition;if(this.rtl){if(b==="left"){b="right"}if(b==="right"){b="left"}}switch(b){case"both":this._rightArrow.style.right="0px";this._leftArrow.style.left="0px";break;case"left":this._rightArrow.style.left=this._toPx(this.arrowButtonSize);this._leftArrow.style.left="0px";break;case"right":this._rightArrow.style.right=this._toPx(-c);this._leftArrow.style.right=this._toPx(parseInt(this.arrowButtonSize,10)-c);break}}},_positionArrows:function(b){if(b>=this._headerWrapper.offsetWidth&&this.scrollable){this._needScroll=true;if(this._unorderedListHelper.position().left===0){this._unorderedListLeftBackup=this._getArrowsDisplacement()+"px"}this._leftArrow.style.display="block";this._rightArrow.style.display="block"}else{this._needScroll=false;this._leftArrow.style.display="none";this._rightArrow.style.display="none";this._unorderedList.style.left="0px"}},_performHeaderLayout:function(){this._removeSelectStyle();var b=this._calculateTitlesSize();var e=b.height;var c=b.width;this._headerWrapper.style.height=this._toPx(e);this._unorderedList.style.height=this._toPx(e);if(this.headerHeight!==null&&this.headerHeight!=="auto"){this._headerWrapper.style.height=this._toPx(this.headerHeight);this._unorderedList.style.height=this._toPx(this.headerHeight)}var d=this._width(this.element);if(c>d){this._unorderedList.style.width=this._toPx(c)}else{this._unorderedList.style.width=this._toPx(d)}if(a.jqx.browser.msie&&a.jqx.browser.version<8){this._unorderedList.style.position="relative";this._unorderedList.style.overflow="hidden"}this._reorderHeaderElements();c=c+parseInt(this._unorderedListHelper.css("margin-left"),10);this._totalItemsWidth=c;this._positionArrows(c);this._unorderedList.style.position="relative";this._unorderedList.style.top="0px";this._verticalAlignElements();this._moveSelectionTrack(this._selectedItem,0);this._addSelectStyle(this.selectedItem)},_verticalAlignElements:function(){var j=this.length();while(j){j--;var n=this._titleList[j],p=a(n),b=p.children()[0],m=this._closeButtonList[j],k=parseInt(p.css("padding-top"),10);if(!k){k=0}if(this.autoHeight){var c=parseInt(p.css("padding-top"),10),o=parseInt(p.css("padding-bottom"),10),i=p.css("border-top-width"),f=p.css("border-bottom-width");if(i.indexOf("px")===-1){i=1}else{i=parseInt(i,10)}if(f.indexOf("px")===-1){f=1}else{f=parseInt(f,10)}n.style.height=this._toPx(this._outerHeight(this._unorderedList,true)-(c+o+i+f))}else{if(this.position==="top"){var h=this._height(this._unorderedList)-parseInt(this._outerHeight(n,true),10);if(parseInt(p.css("margin-top"),10)!==h&&h!==0){n.style.marginTop=this._toPx(h)}}else{n.style.height=this._toPx(this._height(n))}}b.style.height="100%";var e=this._height(n);if(m){var g=e/2-this._height(m)/2;m.style.marginTop=this._toPx(1+g)}var l=e/2-this._height(b)/2;b.style.marginTop=this._toPx(l)}if(this.scrollable){var d=(parseInt(this._headerWrapper.offsetHeight,10)-this.arrowButtonSize)/2;a(this._rightArrow).children()[0].style.marginTop=this._toPx(d);this._rightArrow.style.height="100%";a(this._leftArrow).children()[0].style.marginTop=this._toPx(d);this._leftArrow.style.height="100%"}},_getImageUrl:function(c){var b=c.css("background-image");b=b.replace('url("',"");b=b.replace('")',"");b=b.replace("url(","");b=b.replace(")","");return b},_fitToSize:function(){var c=false;var e=false;var d=this;if(d.width!==null&&d.width.toString().indexOf("%")!==-1){c=true}if(d.height!==null&&d.height.toString().indexOf("%")!==-1){e=true}if(c){this.element.style.width=this.width;this._contentWrapper.style.width="100%"}else{d.element.style.width=d._toPx(d.width);if(this.width!=="auto"){this._contentWrapper.style.width="100%"}}var b;if(e){this.element.style.height=this.height;this._contentWrapper.style.width="100%";this._contentWrapper.style.height="auto";b=this.element.offsetHeight-this._headerWrapper.offsetHeight-2;this._contentWrapper.style.height=b+"px"}else{if(this.height!=="auto"){d.element.style.height=d._toPx(d.height);b=this._height(d.element)-this._headerWrapper.offsetHeight;this._contentWrapper.style.height=d._toPx(b)}else{this._contentWrapper.style.height="auto"}}},_maxHeightTab:function(){var c=this.length();var d=-1;var b=-1;while(c){c--;if(d<this._outerHeight(this._titleList[c],true)){b=c}}return b},_addSelectionTracker:function(){if(this._moveSelectionTrackerContainer){a(this._moveSelectionTrackerContainer).remove()}this._moveSelectionTrackerContainer=document.createElement("div");this._moveSelectionTrackerContainer.className=this.toThemeProperty("jqx-tabs-selection-tracker-container");this._selectionTracker=document.createElement("div");this._selectionTracker.className=this.toThemeProperty("jqx-tabs-selection-tracker-"+this.position);this._selectionTracker.style.color="inherit";this._selectionTracker.style.position="absolute";this._selectionTracker.style.zIndex=10;this._selectionTracker.style.left="0px";this._selectionTracker.style.top="0px";this._selectionTracker.style.display="inline-block";this._moveSelectionTrackerContainer.appendChild(this._selectionTracker);this._headerWrapper.appendChild(this._moveSelectionTrackerContainer);this._selectionTrackerHelper=a(this._selectionTracker);if(this._selectionTrackerHelper.initAnimate){this._selectionTrackerHelper.initAnimate()}},_addContentWrapper:function(){var e="none";var b=this._contentWrapper===null;if(b){this._contentWrapper=document.createElement("div");this._contentWrapper.className=this.toThemeProperty("jqx-tabs-content jqx-widget-content");this._contentWrapper.style["float"]=e}var d=this.length();while(d){d--;this._contentList[d].className+=" "+this.toThemeProperty("jqx-tabs-content-element")}if(b){if(this.position==="top"){this.element.appendChild(this._contentWrapper)}else{this.element.insertBefore(this._contentWrapper,this.element.firstChild)}for(var c=0;c<this._contentList.length;c++){this._contentWrapper.appendChild(this._contentList[c])}}if(this.roundedCorners){if(this.position==="top"){this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-b")}else{this._contentWrapper.className+=" "+this.toThemeProperty("jqx-rc-t")}this.element.className+=" "+this.toThemeProperty("jqx-rc-all")}},_addHeaderWrappers:function(){var d=this.length();if(this._headerWrapper!==undefined){a(this._headerWrapper).remove();if(this.bar){this.bar=null}}this._headerWrapper=document.createElement("div");this._headerWrapper.style.outline="none";if(this.position==="top"){this.element.insertBefore(this._headerWrapper,this.element.firstChild)}else{this.element.appendChild(this._headerWrapper)}this._headerWrapper.appendChild(this._unorderedList);var b="jqx-tabs-headerWrapper jqx-tabs-header jqx-widget-header";if(this.position==="bottom"){b+=" jqx-tabs-header-bottom"}if(this.roundedCorners){if(this.position==="top"){b+=" jqx-rc-t"}else{b+=" jqx-rc-b"}}this._headerWrapper.className=this.toThemeProperty(b);while(d){d--;var e=this._titleList[d];if(e.querySelector(".jqx-tabs-titleWrapper")===null){var f=document.createElement("div");f.className="jqx-tabs-titleWrapper";f.style.outline="none";f.style.position="relative";f.style.zIndex=15;var c=a(e).children();f.appendChild(c[0]);f.appendChild(c[1]);e.appendChild(f)}}},_render:function(){this._addCloseButtons();this._addHeaderWrappers();this._addContentWrapper();if(this.selectionTracker){this._addSelectionTracker()}this._addArrows()},_addCloseButton:function(c,e){var d=document.createElement("div"),g=this._titleList[c];d.className="jqx-tabs-titleContentWrapper jqx-disableselect";var f="left";if(this.rtl){f="right"}if(a(g).find(".jqx-tabs-close-button").length>0){a(g).find(".jqx-tabs-close-button").remove()}d.style["float"]=f;d.innerHTML=g.innerHTML;g.innerHTML="";var b=document.createElement("div");b.className=this.toThemeProperty("jqx-tabs-close-button");b.style.height=this._toPx(this.closeButtonSize);b.style.width=this._toPx(this.closeButtonSize);b.style["float"]=f;b.style.fontSize="1px";g.appendChild(d);g.appendChild(b);if(e===true){this._closeButtonList[c]=b}else{this._closeButtonList.splice(c,0,b)}if(!this.showCloseButtons){b.style.display="none"}else{if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[c]===1){b.style.display="none"}}}},_addCloseButtons:function(){var b=this.length();while(b){b--;this._addCloseButton(b,true)}},_prepareTabs:function(){var c=this.length();var b=this.selectionTracker;this.selectionTracker=false;while(c){c--;if(this._selectedItem!==c){this._unselect(c,null,false)}}this._select(this._selectedItem,0,null,false);this.selectionTracker=b;if(this.initTabContent){if(!this._initTabContentList[this.selectedItem]){if(!this._hiddenParent()){this.initTabContent(this.selectedItem);this._initTabContentList[this.selectedItem]=true}}}},_isValidIndex:function(b){return(b>=0&&b<this.length())},_removeSelectStyle:function(){var d=this.length();while(d){d--;var e=this._titleList[d];if(this.showCloseButtons){var c=this._closeButtonList[d];this._removeClass(c,this.toThemeProperty("jqx-tabs-close-button-selected"))}var b="jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-selected-bottom"}this._removeClass(e,this.toThemeProperty(b))}},_addSelectStyle:function(d,g){this._removeSelectStyle();if(!this.selectionTracker||(g!==undefined&&g)){var f=this._titleList[d];if(d>=0&&f!==undefined){var c=null;if(this.showCloseButtons){c=this._closeButtonList[d];if(this.hiddenCloseButtons){if(this.hiddenCloseButtons[d]===1){c=null}}}var b="jqx-fill-state-hover",e=" jqx-fill-state-pressed";if(this.position==="top"){b+=" jqx-tabs-title-hover-top";e+=" jqx-tabs-title-selected-top"}else{b+=" jqx-tabs-title-hover-bottom";e+=" jqx-tabs-title-selected-bottom"}this._removeClass(f,this.toThemeProperty(b));f.className+=this.toThemeProperty(e);if(c!==null){c.className+=" "+this.toThemeProperty("jqx-tabs-close-button-selected")}}}},_addItemTo:function(g,c,e){if(c<g.length){var b,f;for(var d=c;d+1<g.length;d++){if(b===undefined){b=g[d+1];g[d+1]=g[d]}else{f=g[d+1];g[d+1]=b;b=f}}if(b===undefined){b=g[c]}g[c]=e;g.push(b)}else{g.push(e)}},_refreshBarPosition:function(){var c=this;if(!this.bar){var b=a("<span></span>");a(this._headerWrapper).append(b);b.addClass(this.toThemeProperty("jqx-tabs-bar"));this.bar=b}setTimeout(function(){var d=parseInt(c._unorderedListHelper.css("left"),10);var e=parseInt(c._unorderedListHelper.css("margin-left"));if(d){c.bar.css("left",e+c._titleList[c._selectedItem].offsetLeft+d)}else{c.bar.css("left",e+c._titleList[c._selectedItem].offsetLeft)}c.bar.width(a(c._titleList[c._selectedItem]).outerWidth()-2)})},_select:function(h,e,l,b,c){if(!this._tabCaptured){this.host.attr("hideFocus","true");var g=this;if(c===undefined){this._addSelectStyle(h)}else{this._addSelectStyle(h,c)}var k=a(g._titleList[h]),d=g._titleList[h].getAttribute("id"),j=a(g._contentList[h]);if(this.isCollapsed&&this.collapsible){j[0].style.display="none";this._selectCallback(h,l,b);return}g._refreshBarPosition();switch(this.animationType){case"none":if(!g.selectionTracker){for(var f=0;f<this._contentList.length;f++){if(h!==f&&a(g._contentList[f]).css("display")==="block"){g._contentList[f].style.display="none";a.jqx.aria(a(g._titleList[f]),"aria-selected",false);a.jqx.aria(a(g._contentList[f]),"aria-hidden",true)}}j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(this,"aria-activedescendant",d)}else{setTimeout(function(){j[0].style.display="block";a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)},this.selectionTrackerAnimationDuration)}this._selectCallback(h,l,b);break;case"fade":this._lockAnimation("contentListSelect");g._selectCallback(h,l,b);if(j.initAnimate&&j.fadeIn===undefined){j.initAnimate()}j.fadeIn({duration:1000,complete:function(){g._unlockAnimation("contentListSelect");a.jqx.aria(k,"aria-selected",true);a.jqx.aria(j,"aria-hidden",false);a.jqx.aria(g,"aria-activedescendant",d)}});break}}},_selectCallback:function(c,d,b){this._selectedItem=c;this.selectedItem=this._selectedItem;if(d){d()}if(b){this._raiseEvent(1,{item:c})}},_unselect:function(d,i,b){if(d>=0){if(!this._tabCaptured){var g=this,e=g._contentList[d],c=a(e),h=g._titleList[d],f=a(h);if(c.initAnimate&&c.animate===undefined){c.initAnimate()}g._stop(c);if(this.animationType==="fade"){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}else{if(this.selectionTracker){setTimeout(function(){e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)},this.selectionTrackerAnimationDuration)}else{e.style.display="none";a.jqx.aria(f,"aria-selected",false);a.jqx.aria(c,"aria-hidden",true)}}this._unselectCallback(d,i,b);if(!this.selectionTracker){g._removeClass(h,g.toThemeProperty("jqx-tabs-title-selected jqx-fill-state-pressed"))}}}},_unselectCallback:function(c,d,b){if(b){this._raiseEvent(8,{item:c})}if(d){d()}},disable:function(){var b=this.length();while(b){b--;this.disableAt(b)}},enable:function(){var b=this.length();while(b){b--;this.enableAt(b)}},getEnabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(!this.disabled){b++}});return b},getDisabledTabsCount:function(){var b=0;a.each(this._titleList,function(){if(this.disabled){b++}});return b},removeAt:function(b){if(this._isValidIndex(b)&&(this.canCloseAllTabs||this.length()>1)){this._removeHoverStates();this._initTabContentList[b]=false;var d=this,c=d._outerWidth(this._titleList[b],true),g=this.getTitleAt(b);this._unorderedList.style.width=d._toPx(d._width(this._unorderedList)-c);a(this._titleList[b]).remove();a(this._contentList[b]).remove();this._titleList.splice(b,1);this._contentList.splice(b,1);d._closeButtonList.splice(b,1);this._addStyles();this._performHeaderLayout();this._removeEventHandlers();this._addEventHandlers();this._raiseEvent(3,{item:b,title:g});this._isAnimated={};var f;if(this.selectedItem>0){this._selectedItem=-1;if(this.selectedItem>=b){f=this._getPreviousIndex(this.selectedItem);this.select(f)}else{this.select(d.selectedItem)}}else{this._selectedItem=-1;f=this._getNextIndex(this.selectedItem);this.select(f)}if(parseInt(this._unorderedListHelper.css("left"),10)>this._getArrowsDisplacement()){this._unorderedList.style.left=d._toPx(this._getArrowsDisplacement())}if(d._width(this._unorderedList)<=d._width(this._headerWrapper)){var e=(this.enableScrollAnimation)?this.scrollAnimationDuration:0;this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:0},e,function(){d._unlockAnimation("unorderedList")})}}},removeFirst:function(){this.removeAt(0)},removeLast:function(){this.removeAt(this.length()-1)},disableAt:function(b){var d=this._titleList[b];if(!d.disabled||d.disabled===undefined){if(this.selectedItem===b){var c=this.next();if(!c){c=this.previous()}}d.disabled=true;this.removeHandler(d,this.toggleMode);if(this.enabledHover){a(d).off("mouseenter").off("mouseleave")}this._removeEventListenerAt(b);d.className+=" "+this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled");this._raiseEvent(5,{item:b})}},enableAt:function(b){var c=this._titleList[b];if(c.disabled){c.disabled=false;this._addEventListenerAt(b);this._removeClass(c,this.toThemeProperty("jqx-tabs-title-disable jqx-fill-state-disabled"));this._raiseEvent(4,{item:b})}},addAt:function(d,g,e){if(d>=0&&d<=this.length()){this._removeHoverStates();var b=document.createElement("li");b.innerHTML=g;b.className=this.toThemeProperty("jqx-tabs-title jqx-item");var f=document.createElement("div");f.innerHTML=e;f.className=this.toThemeProperty("jqx-tabs-content-element");if(this.position==="bottom"){b.className+=" "+this.toThemeProperty("jqx-tabs-title-bottom")}var c=false;if(this._titleList.length===0){this._unorderedList.appendChild(b)}else{if(d<this.length()&&d>=0){this._unorderedList.insertBefore(b,this._titleList[d])}else{this._unorderedList.appendChild(b)}}this._contentWrapper.appendChild(f);this._addItemTo(this._titleList,d,b);this._addItemTo(this._contentList,d,f);this._addCloseButton(d);if(this._selectedItem>d){this._selectedItem++}this._switchTabs(d,this._selectedItem);this._selectedItem=d;this._uiRefresh(c);this._raiseEvent(2,{item:d});this._moveSelectionTrack(this._selectedItem,0)}},addFirst:function(c,b){this.addAt(0,c,b)},addLast:function(c,b){this.addAt(this.length(),c,b)},val:function(b){if(arguments.length===0||typeof(b)==="object"){return this._selectedItem}this.select(b);return this._selectedItem},select:function(b){if(typeof(b)==="object"){b=this._indexOf(b)}var d=b>=0&&b<this._titleList.length?this._titleList[b].getAttribute("canselect"):true;if(d===undefined||d===null||d==="true"||d===true){if(b!==this._selectedItem&&this._isValidIndex(b)){if(!this._activeAnimation()&&!this._titleList[b].disabled){var c=this._switchTabs(b,this._selectedItem);if(c){this.ensureVisible(b)}}}}},previous:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>0&&b<this._titleList.length){b--;if(!this._titleList[b].disabled){this.select(b);return true}}return false},_getPreviousIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>0&&c<=this._titleList.length){c--;if(!this._titleList[c].disabled){return c}}return b}else{return 0}},_getNextIndex:function(c){if(c!==undefined&&!isNaN(c)){var b=c;while(c>=0&&c<this._titleList.length){if(!this._titleList[c].disabled){return c}c++}return b}else{return 0}},next:function(c){var b=this._selectedItem;if(c!==undefined&&!isNaN(c)){b=c}while(b>=0&&b<this._titleList.length-1){b++;if(!this._titleList[b].disabled){this.select(b);return true}}return false},first:function(){var b=0;if(this._titleList[b].disabled){this.next(b)}else{this.select(b)}},last:function(){var b=this._titleList.length-1;if(this._titleList[b].disabled){this.previous(b)}else{this.select(b)}},length:function(){return this._titleList.length},lockAt:function(b){if(this._isValidIndex(b)&&(!this._titleList[b].locked||this._titleList[b].locked===undefined)){this._titleList[b].locked=true;this._raiseEvent(11,{item:b})}},unlockAt:function(b){if(this._isValidIndex(b)&&this._titleList[b].locked){this._titleList[b].locked=false;this._raiseEvent(12,{item:b})}},lockAll:function(){var b=this.length();while(b){b--;this.lockAt(b)}},unlockAll:function(){var b=this.length();while(b){b--;this.unlockAt(b)}},showCloseButtonAt:function(b){if(this._isValidIndex(b)){if(!this.showCloseButtons){this.showCloseButtons=true;this.updatetabsheader()}this._closeButtonList[b].style.display="block";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=0}},hideCloseButtonAt:function(b){if(this._isValidIndex(b)){this._closeButtonList[b].style.display="none";if(!this.hiddenCloseButtons){this.hiddenCloseButtons=[]}this.hiddenCloseButtons[b]=1}},hideAllCloseButtons:function(){var b=this.length();while(b){b--;this.hideCloseButtonAt(b)}},showAllCloseButtons:function(){var b=this.length();while(b){b--;this.showCloseButtonAt(b)}},getTitleAt:function(b){if(this._titleList[b]){return a(this._titleList[b]).text()}return null},getContentAt:function(b){if(this._contentList[b]){return this._contentList[b]}return null},setTitleAt:function(b,c){if(this._titleList[b]){a(this._titleList[b]).text(c);if(this.showCloseButtons){this._addCloseButton(b);this._removeEventHandlers();this._addEventHandlers()}this.render();this.refresh()}},setContentAt:function(b,c){if(this._contentList[b]){a(this._contentList[b]).html(c)}},ensureVisible:function(e){var d=this;if(e===undefined||e===-1||e===null){e=this.selectedItem}if(!this._isValidIndex(e)){return false}var j=this._titleList[e];var l=parseInt(a(j).position().left,10)+parseInt(this._unorderedListHelper.css("margin-left"),10);var g=parseInt(this._unorderedListHelper.css("left"),10);var k=this._outerWidth(this._headerWrapper,true);var f=this._outerWidth(j,true);var i=g-this._getArrowsDisplacement();var b=k-this._getArrowsDisplacement()-i;var h,c;if(l<-i){h=-l+this._getArrowsDisplacement();c=this._getArrowsDisplacement()}else{if(l+f>b-this._getArrowsDisplacement()){h=-l+k-f-((this.scrollable)?(2*this.arrowButtonSize-this._getArrowsDisplacement()):0);c=k-f-this._getArrowsDisplacement()}else{this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration);return true}}this._lockAnimation("unorderedList");this._unorderedListHelper.animate({left:h},this.scrollAnimationDuration,function(){d._unlockAnimation("unorderedList");d._moveSelectionTrack(d._selectedItem,0);return true});this._moveSelectionTrack(e,this.selectionTrackerAnimationDuration,c);return true},isVisibleAt:function(d){var c=this;if(d===undefined||d===-1||d===null){d=c.selectedItem}if(!c._isValidIndex(d)){return false}var h=c._titleList[d];var j=parseInt(a(h).position().left,10)+parseInt(c._unorderedListHelper.css("margin-left"),10);var f=parseInt(c._unorderedListHelper.css("left"),10);var i=c._outerWidth(c._headerWrapper,true);var e=c._outerWidth(h,true);var g=f-c._getArrowsDisplacement();var b=i-c._getArrowsDisplacement()-g;if(j<-g){return false}else{if(j+e>b){return false}else{return true}}return true},isDisabled:function(b){return this._titleList[b].disabled},_lockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=true}},_unlockAnimation:function(b){if(this._isAnimated){this._isAnimated[b]=false}},propertiesChangedHandler:function(d,b,c){if(c&&c.width&&c.height&&Object.keys(c).length===2){d._setSize()}},propertyChangedHandler:function(b,c,e,d){if(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&Object.keys(b.batchUpdate).length===2){return}this._validateProperties();switch(c){case"touchMode":if(d){b.enabledHover=false;b.keyboardNavigation=false}break;case"width":case"height":b._setSize();return;case"disabled":if(d){this.disable()}else{this.enable()}return;case"showCloseButtons":if(d){this.showAllCloseButtons()}else{this.hideAllCloseButtons()}this._performHeaderLayout();return;case"selectedItem":if(this._isValidIndex(d)){this.select(d)}return;case"scrollStep":case"contentTransitionDuration":case"scrollAnimationDuration":case"enableScrollAnimation":return;case"selectionTracker":if(d){this._refresh();this.select(this._selectedItem)}else{if(this._selectionTracker){this._selectionTrackerHelper.remove()}}return;case"scrollable":if(d){this._refresh();this.select(this._selectedItem)}else{a(this._leftArrow).remove();a(this._rightArrow).remove();this._performHeaderLayout()}return;case"autoHeight":this._performHeaderLayout();return;case"theme":a.jqx.utilities.setTheme(e,d,this.host);return}this._unorderedList.style.left="0px";this._refresh();this.select(this._selectedItem);this._addSelectStyle(this._selectedItem,true)},_toPx:function(b){if(typeof b==="number"){return b+"px"}else{return b}},_removeClass:function(c,b){a(c).removeClass(b)},_width:function(e){var b=a(e),g=b.css("border-left-width"),c=b.css("border-right-width"),d=parseInt(b.css("padding-left"),10),h=parseInt(b.css("padding-right"),10);if(g.indexOf("px")===-1){g=1}else{g=parseInt(g,10)}if(c.indexOf("px")===-1){c=1}else{c=parseInt(c,10)}var f=e.offsetWidth-(g+c+d+h);return f},_outerWidth:function(c,g){var f=c.offsetWidth;if(g){var b=a(c),d=parseInt(b.css("margin-left"),10),e=parseInt(b.css("margin-right"),10);f+=d+e}return f},_height:function(e){var c=a(e),h=c.css("border-top-width"),d=c.css("border-bottom-width"),f=parseInt(c.css("padding-top"),10),g=parseInt(c.css("padding-bottom"),10);if(h.indexOf("px")===-1){h=1}else{h=parseInt(h,10)}if(d.indexOf("px")===-1){d=1}else{d=parseInt(d,10)}var b=e.offsetHeight-(h+d+f+g);return b},_outerHeight:function(e,g){var f=e.offsetHeight;if(g){var b=a(e),c=parseInt(b.css("margin-top"),10),d=parseInt(b.css("margin-bottom"),10);f+=c+d}return f},_stop:function(b){if(b.stop){b.stop()}else{b.animate("stop",true)}}})}(jqxBaseFramework));
 
--- a/www/jqwidgets/jqxtagcloud.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtagcloud.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtextarea.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtextarea.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtimepicker.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtimepicker.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtoolbar.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtoolbar.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtooltip.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtooltip.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtouch.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtouch.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtree.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtree.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxtreegrid.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtreegrid.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxTreeGrid","jqxDataTable",{});a.extend(a.jqx._jqxTreeGrid.prototype,{defineInstance:function(){if(this.base){this.base.treeGrid=this;this.base.exportSettings={recordsInView:false,columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,fileName:"jqxTreeGrid"}}var b={pageSizeMode:"default",checkboxes:false,hierarchicalCheckboxes:false,icons:false,showSubAggregates:false,aggregatesPosition:"top",rowDetailsRenderer:null,virtualModeCreateRecords:null,virtualModeRecordCreating:null,loadingFailed:false};if(this===a.jqx._jqxTreeGrid.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){this.theme=this.base.theme;var c=this},deleteRow:function(b){var c=this.base;c.deleterowbykey(b)},updateRow:function(b,d){var c=this.base;c.updaterowbykey(b,d)},setCellValue:function(c,b,e){var d=this.base;d.setCellValueByKey(c,b,e)},getCellValue:function(c,b){var d=this.base;return d.getCellValueByKey(c,b)},lockRow:function(b){var c=this.base;c.lockrowbykey(b)},unlockRow:function(b){var c=this.base;c.unlockrowbykey(b)},selectRow:function(b){var c=this.base;c.selectrowbykey(b)},unselectRow:function(b){var c=this.base;c.unselectrowbykey(b)},ensureRowVisible:function(b){var c=this.base;c.ensurerowvisiblebykey(b)},beginCellEdit:function(c,b){var e=this.base;var d=e.getColumn(b);e.beginroweditbykey(c,d)},beginRowEdit:function(b){var c=this.base;c.beginroweditbykey(b)},endCellEdit:function(c,b,e){var d=this.base;d.endroweditbykey(c,e)},endRowEdit:function(b,d){var c=this.base;c.endroweditbykey(b,d)},_showLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","visible");a(b.dataloadelement).css("display","block");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},_hideLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","hidden");a(b.dataloadelement).css("display","none");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},getKey:function(b){if(b){return b.uid}},getRows:function(){var b=this.base;if(b.source.hierarchy){if(b.source.hierarchy.length!=0){return b.source.hierarchy}}return b.source.records},getCheckedRows:function(){var c=this.base;var d=c._names();var e=new Array();var b=function(j,g){if(!g){return}for(var h=0;h<g.length;h++){if(!g[h]){continue}var f=a.extend({},g[h]);var k=c.rowinfo[g[h].uid];if(k&&k[d.checked]){j.push(f)}else{if(f[d.checked]){j.push(f)}}b(e,g[h].records)}};b(e,c.dataViewRecords);return e},getRow:function(d){var e=this.base;var b=e.source.records;if(e.source.hierarchy){var f=function(h){for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j].uid==d){return h[j]}if(h[j].records){var k=f(h[j].records);if(k){return k}}}};var g=f(e.source.hierarchy);return g}else{for(var c=0;c<b.length;c++){if(!b[c]){continue}if(b[c].uid==d){return b[c]}}}},_renderrows:function(){var N=this.base;var at=this;if(N._loading){return}if(N._updating){return}var J=N._names();if(N.source.hierarchy.length===0&&!N.loadingFailed){if(this.virtualModeCreateRecords){var an=function(c){if(c===false||(c&&c.length==0)){N._loading=false;N.loadingFailed=true;N.source.hierarchy=new Array();at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange();return}for(var j=0;j<c.length;j++){c[j].level=0;at.virtualModeRecordCreating(c[j]);N.rowsByKey[c[j].uid]=c[j]}N.source.hierarchy=c;if(!N.source._source.hierarchy){N.source._source.hierarchy={}}N._loading=false;at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange()};N._loading=true;this.virtualModeCreateRecords(null,an);this._showLoadElement()}}if(N.rendering){N.rendering()}var az=0;N.table[0].rows=new Array();var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-widget-content")+" "+N.toTP("jqx-item");if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var b=N.columns.records.length;var P=a.jqx.browser.msie&&a.jqx.browser.version<8;if(P){N.host.attr("hideFocus","true")}var v=new Array();var aG=function(s,w){for(var aK=0;aK<s.length;aK++){var c=s[aK];if(!c){continue}var j=!N.rowinfo[c.uid]?c.expanded:N.rowinfo[c.uid].expanded;if(N.dataview.filters.length==0){c._visible=true}if(c._visible!==false){if(j||c[J.leaf]){w.push(c);if(c.records&&c.records.length>0){var aL=aG(c.records,new Array());for(var x=0;x<aL.length;x++){w.push(aL[x])}}}else{w.push(c)}}}return w};var ap=N.source.hierarchy.length===0?N.source.records:N.source.hierarchy;ap=N.dataview.evaluate(ap);N.dataViewRecords=ap;if(this.showSubAggregates){var p=function(s,c){if(s!=0){if(c.length>0){if(c[c.length-1]){if(!c[c.length-1].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}else{if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(c[c.length-2]){if(!c[c.length-2].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}}}}}for(var j=0;j<c.length;j++){if(c[j]&&c[j].records){p(s+1,c[j].records)}}};p(0,ap)}var aq=function(s){var w=0;var i=new Array();for(var c=0;c<s.length;c++){var j=s[c];if(j[J.level]==0){w++}if(w>N.dataview.pagesize*N.dataview.pagenum&&w<=N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){i.push(j)}if(w>N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){break}}return i};if(N.source.hierarchy.length===0){if(N.dataview.pagesize=="all"||!N.pageable||N.serverProcessing){var al=ap;if(N.pageable&&N.serverProcessing&&ap.length>N.dataview.pagesize){var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}var v=al}else{var ap=aG.call(N,ap,new Array());if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al;var I=N.dataview.pagenum;N.updatepagerdetails();if(N.dataview.pagenum!=I){if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al}}N.renderedRecords=v;var D=v.length;var aH=N.tableZIndex;var k=0;var ar=0;if(P){for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}var aw=a('<table><tr><td role="gridcell" style="max-width: '+ax+"px; width:"+ax+'px;" class="'+aJ+'"></td></tr></table>');a(document.body).append(aw);var ah=aw.find("td");k=1+parseInt(ah.css("padding-left"))+parseInt(ah.css("padding-right"));aw.remove();break}}var B=N.rtl?" "+N.toTP("jqx-grid-table-rtl"):"";var y="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='table"+N.element.id+"'><colgroup>";var X="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='pinnedtable"+N.element.id+"'><colgroup>";var ac=null;for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];if(U.hidden){continue}ac=U;var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}ax-=k;if(ax<0){ax=0}if(P){var H=ax;if(Q==0){H++}X+="<col style='max-width: "+ax+"px; width: "+H+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+H+"px;'>"}else{X+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>"}ar+=ax}y+="</colgroup>";X+="</colgroup>";N._hiddencolumns=false;var r=false;if(D===0){var n='<tr role="row">';var q=N.host.height();if(N.pageable){q-=N.pagerHeight;if(N.pagerPosition==="both"){q-=N.pagerHeight}}q-=N.columnsHeight;if(N.filterable){var aC=N.filter.find(".filterrow");var A=N.filter.find(".filterrow-hidden");var E=1;if(A.length>0){E=0}q-=N.filterHeight+N.filterHeight*aC.length*E}if(N.showstatusbar){q-=N.statusBarHeight}if(N.showAggregates){q-=N.aggregatesHeight}if(q<25){q=25}if(N.hScrollBar[0].style.visibility!="hidden"){q-=N.hScrollBar.outerHeight()}if(N.height==="auto"||N.height===null||N.autoheight){q=100}var ax=N.host.width()+2;var aw='<td colspan="'+N.columns.records.length+'" role="gridcell" style="border-right-color: transparent; min-height: '+q+"px; height: "+q+"px;  min-width:"+ar+"px; max-width:"+ar+"px; width:"+ar+"px;";var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-center-align");aw+='" class="'+aJ+'">';if(!N._loading){aw+=N.gridlocalization.emptydatastring}aw+="</td>";n+=aw;y+=n;X+=n;N.table[0].style.width=ar+2+"px";az=ar}var m=N.source._source.hierarchy&&N.source._source.hierarchy.groupingDataFields?N.source._source.hierarchy.groupingDataFields.length:0;for(var R=0;R<v.length;R++){var au=v[R];var ad=au.uid;if(m>0){if(au[J.level]<m){ad=au.uid}}if(au.uid===undefined){au.uid=N.dataview.generatekey()}var n='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';if(au.aggregate){var n='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">'}var V=0;if(!N.rowinfo[ad]){var z=au[J.checked];if(z===undefined){z=false}N.rowinfo[ad]={selected:au[J.selected],checked:z,icon:au[J.icon],aggregate:au.aggregate,row:au,leaf:au[J.leaf],expanded:au[J.expanded]}}else{if(N.rowinfo[ad].checked===undefined){N.rowinfo[ad].checked=au[J.checked]}if(N.rowinfo[ad].icon===undefined){N.rowinfo[ad].icon=au[J.icon]}if(N.rowinfo[ad].aggregate===undefined){N.rowinfo[ad].aggregate=au[J.aggregate]}if(N.rowinfo[ad].row===undefined){N.rowinfo[ad].row=au}if(N.rowinfo[ad].leaf===undefined){N.rowinfo[ad].leaf=au[J.leaf]}if(N.rowinfo[ad].expanded===undefined){N.rowinfo[ad].expanded=au[J.expanded]}}var h=N.rowinfo[ad];h.row=au;if(au.originalRecord){h.originalRecord=au.originalRecord}var o=0;for(var Q=0;Q<b;Q++){var M=N.columns.records[Q];if(M.pinned||(N.rtl&&N.columns.records[b-1].pinned)){r=true}var ax=M.width;if(ax<M.minwidth){ax=M.minwidth}if(ax>M.maxwidth){ax=M.maxwidth}ax-=k;if(ax<0){ax=0}var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");if(M.pinned){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}if(N.sortcolumn===M.displayfield){aJ+=" "+N.toTP("jqx-grid-cell-sort")}if(N.altRows&&R%2!=0){aJ+=" "+N.toTP("jqx-grid-cell-alt")}if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var S="";if(m>0&&!P&&!au.aggregate){if(au[J.level]<m){S+=' colspan="'+b+'"';var H=0;for(var K=0;K<b;K++){var T=N.columns.records[K];if(T.hidden){continue}var aa=T.width;if(aa<T.minwidth){ax=T.minwidth}if(aa>T.maxwidth){ax=T.maxwidth}aa-=k;if(aa<0){aa=0}H+=aa}ax=H}}var aw='<td role="gridcell"'+S+' style="max-width:'+ax+"px; width:"+ax+"px;";var ak='<td role="gridcell"'+S+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+ax+"px; width:"+ax+"px;";if(Q==b-1&&b==1){aw+="border-right-color: transparent;";ak+="border-right-color: transparent;"}if(m>0&&au[J.level]<m&&!au.aggregate){if(N.rtl){aJ+=" "+N.toTP("jqx-right-align")}}else{if(M.cellsalign!="left"){if(M.cellsalign==="right"){aJ+=" "+N.toTP("jqx-right-align")}else{aJ+=" "+N.toTP("jqx-center-align")}}}if(h){if(h.selected){if(N.editKey!==ad){if(N.selectionMode!=="none"){aJ+=" "+N.toTP("jqx-grid-cell-selected");aJ+=" "+N.toTP("jqx-fill-state-pressed")}}}if(h.locked){aJ+=" "+N.toTP("jqx-grid-cell-locked")}if(h.aggregate){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}}if(!(M.hidden)){if(o==0&&!N.rtl){aw+="border-left-width: 0px;";ak+="border-left-width: 0px;"}else{aw+="border-right-width: 0px;";ak+="border-right-width: 0px;"}o++;V+=k+ax}else{aw+="display: none;";ak+="display: none;";N._hiddencolumns=true}if(M.pinned){aw+="pointer-events: auto;";ak+="pointer-events: auto;"}var u="";if((N.source.hierarchy.length==0||(!au.records||(au.records&&au.records.length===0)))&&!this.virtualModeCreateRecords){h.leaf=true}if(au.records&&au.records.length>0){h.leaf=false}if(N.dataview.filters.length>0){if(au.records&&au.records.length>0){var ab=false;for(var L=0;L<au.records.length;L++){if(au.records[L]._visible!==false&&au.records[L].aggregate==undefined){ab=true;break}}if(!ab){h.leaf=true}else{h.leaf=false}}}if(h&&!h.leaf){if(h.expanded){u+=N.toTP("jqx-tree-grid-expand-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-expand")}else{u+=N.toTP("jqx-grid-group-expand-rtl")}u+=" "+N.toTP("jqx-icon-arrow-down")}else{u+=N.toTP("jqx-tree-grid-collapse-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-collapse");u+=" "+N.toTP("jqx-icon-arrow-right")}else{u+=N.toTP("jqx-grid-group-collapse-rtl");u+=" "+N.toTP("jqx-icon-arrow-left")}}}if(!N.autoRowHeight||o===1||(N.autoRowHeight&&!M.autoCellHeight)){aJ+=" "+N.toTP("jqx-grid-cell-nowrap")}var W=N._getcellvalue(M,h.row);if(m>0&&!au.aggregate){if(au[J.level]<m){W=au.label}}if(M.cellsFormat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(W)){W=a.jqx.dataFormat.formatdate(W,M.cellsFormat,N.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(W)||(!isNaN(parseFloat(W))&&isFinite(W))){W=a.jqx.dataFormat.formatnumber(W,M.cellsFormat,N.gridlocalization)}}}}if(M.cellclassname!=""&&M.cellclassname){if(typeof M.cellclassname=="string"){aJ+=" "+M.cellclassname}else{var aI=M.cellclassname(R,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(aI){aJ+=" "+aI}}}if(M.cellsRenderer!=""&&M.cellsRenderer){var C=M.cellsRenderer(ad,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(C!==undefined){W=C}}if(h.aggregate){if(M.aggregates){var av=au.siblings.slice(0,au.siblings.length-1);var Y=N._calculateaggregate(M,null,true,av);au[M.displayfield]="";if(Y){if(M.aggregatesRenderer){if(Y){var G=M.aggregatesRenderer(Y[M.datafield],M,null,N.getcolumnaggregateddata(M.datafield,M.aggregates,false,av),"subAggregates");W=G;var O=Object.keys(Y[M.datafield]);au[M.displayfield]+=name+":"+Y[M.datafield][O[0]]+"\n"}}else{W="";au[M.displayfield]="";a.each(Y,function(){var i=this;for(var s in i){var c=s;c=N._getaggregatename(c);var j='<div style="position: relative; margin: 0px; overflow: hidden;">'+c+":"+i[s]+"</div>";W+=j;au[M.displayfield]+=c+":"+i[s]+"\n"}})}}else{W=""}}}if((o===1&&!N.rtl)||(M==ac&&N.rtl)||(m>0&&au[J.level]<m)){var af="";var d=N.toThemeProperty("jqx-tree-grid-indent");var Z=h.leaf?1:0;for(var F=0;F<au[J.level]+Z;F++){af+="<span class='"+d+"'></span>"}var am="<span class='"+u+"'></span>";var aA="";var e="";if(this.checkboxes&&!au.aggregate){var aD=N.toThemeProperty("jqx-tree-grid-checkbox")+" "+d+" "+N.toThemeProperty("jqx-checkbox-default")+" "+N.toThemeProperty("jqx-fill-state-normal")+" "+N.toThemeProperty("jqx-rc-all");var g=true;if(a.isFunction(this.checkboxes)){g=this.checkboxes(ad,au);if(g==undefined){g=false}}if(g){if(h){var ay=h.checked;if(this.hierarchicalCheckboxes==false&&ay===null){ay=false}if(ay){aA+="<span checked='true' class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-checked")+"'></div></span>"}else{if(ay===false){aA+="<span checked='undefined' class='"+aD+"'></span>"}else{aA+="<span class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-indeterminate")+"'></div></span>"}}}else{aA+="<span class='"+aD+"'></span>"}}}if(this.icons&&!au.aggregate){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+d;if(N.rtl){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+N.toThemeProperty("jqx-tree-grid-icon-rtl")+" "+d}var aB=N.toThemeProperty("jqx-tree-grid-icon-size")+" "+d;var f=h.icon;if(a.isFunction(this.icons)){h.icon=this.icons(ad,au);if(h.icon){f=true}}if(f){if(h.icon){e+="<span class='"+ag+"'><img class='"+aB+"' src='"+h.icon+"'/></span>"}else{e+="<span class='"+ag+"'></span>"}}}var ae=N.autoRowHeight&&o===1&&M.autoCellHeight?" "+N.toTP("jqx-grid-cell-wrap"):"";var aj=af+am+aA+e+"<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>";if(!N.rtl){W=aj}else{W="<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>"+e+aA+am+af}}if(m>0&&P&&Q>=m){if(au[J.level]<m){aw+="padding-left: 5px; border-left-width: 0px;";ak+="padding-left: 5px; border-left-width: 0px;";W="<span style='visibility: hidden;'>-</span>"}}aw+='" class="'+aJ+'">';aw+=W;aw+="</td>";ak+='" class="'+aJ+'">';ak+=W;ak+="</td>";if(!M.pinned){n+=aw;if(r){ao+=ak}}else{ao+=aw;n+=aw}if(m>0&&!P){if(au[J.level]<m&&!au.aggregate){break}}}if(az==0){N.table[0].style.width=V+2+"px";az=V}n+="</tr>";ao+="</tr>";y+=n;X+=ao;if(N.rowDetails&&!au.aggregate&&this.rowDetailsRenderer){var l='<tr data-role="row-details"><td valign="top" align="left" style="pointer-events: auto; max-width:'+ax+"px; width:"+ax+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+N.columns.records.length+'" role="gridcell"';var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-details");aJ+=" "+N.toTP("jqx-reset");var ai=this.rowDetailsRenderer(ad,au);if(ai){l+='" class="'+aJ+'"><div style="pointer-events: auto; overflow: hidden;"><div data-role="details">'+ai+"</div></div></td></tr>";y+=l;X+=l}}}y+="</table>";X+="</table>";if(r){if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(X+y)})}else{N.table[0].innerHTML=X+y}var aE=N.table.find("#table"+N.element.id);var aF=N.table.find("#pinnedtable"+N.element.id);aF.css("float","left");aF.css("pointer-events","none");aE.css("float","left");aF[0].style.position="absolute";aE[0].style.position="relative";aE[0].style.zIndex=aH-10;aF[0].style.zIndex=aH+10;N._table=aE;N._table[0].style.left="0px";N._pinnedTable=aF;if(P){aF[0].style.left="0px"}N._table[0].style.width=az+"px";N._pinnedTable[0].style.width=az+"px";if(N.rtl&&N._haspinned){N._pinnedTable[0].style.left=3-az+parseInt(N.element.style.width)+"px"}}else{if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(y)})}else{N.table[0].innerHTML=y}var K=N.table.find("#table"+N.element.id);N._table=K;if(a.jqx.browser.msie&&a.jqx.browser.version<10){N._table[0].style.width=az+"px"}if(D===0){N._table[0].style.width=(2+az)+"px"}}if(D===0){N._table[0].style.tableLayout="auto";if(N._pinnedTable){N._pinnedTable[0].style.tableLayout="auto"}}if(N.showAggregates){N._updatecolumnsaggregates()}if(N._loading&&D==0){N._arrange();this._showLoadElement()}if(N.rendered){N.rendered()}},propertyChangedHandler:function(d,l,c,k){if(d.isInitialized==undefined||d.isInitialized==false){return}var f=d.base;if(l=="pageSizeMode"||l=="hierarchicalCheckboxes"){d._renderrows()}else{if(l=="filterable"){f._render()}else{if(l==="height"){f.host.height(d.height);f.host.width(d.width);f._updatesize(false,true)}else{if(l==="width"){f.host.height(d.height);f.host.width(d.width);f._updatesize(true,false)}else{if(l==="source"){f.updateBoundData()}else{if(l==="columns"||l==="columnGroups"){f._columns=null;f._render()}else{if(l==="rtl"){f.content.css("left","");d.columns=d._columns;f.vScrollBar.jqxScrollBar({rtl:k});f.hScrollBar.jqxScrollBar({rtl:k});f._render()}else{if(l==="pagerMode"){d.pagerMode=k;f._initpager()}else{if(l=="pageSizeOptions"){f._initpager();var j=false;for(var e=0;e<k.length;e++){if(parseInt(k[e])==d.pageSize){j=true;break}}if(!j){a.jqx.set(d,[{pageSize:k[0]}])}}else{if(l=="pageSize"){var g=f.dataview.pagenum*f.dataview.pagesize;f.dataview.pagesize=f.pageSize;var h=Math.floor(g/f.dataview.pagesize);if(h!==f.dataview.pagenum||parseInt(k)!==parseInt(c)){d._raiseEvent("pageSizeChanged",{pagenum:k,oldpageSize:c,pageSize:f.dataview.pagesize});var m=d.goToPage(h);if(!m){f.refresh()}}}else{if(l==="pagerPosition"){f.refresh()}else{if(l==="selectionMode"){f.selectionMode=k.toLowerCase()}else{if(l=="touchmode"){f.touchDevice=null;f._removeHandlers();f.touchDevice=null;f.vScrollBar.jqxScrollBar({touchMode:k});f.hScrollBar.jqxScrollBar({touchMode:k});f._updateTouchScrolling();f._arrange();f._updatecolumnwidths();f._renderrows();f._addHandlers()}else{if(l=="enableHover"){return}else{if(l=="disabled"){if(k){f.base.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{f.base.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(f.pageable){if(f.pagernexttop){f.pagernexttop.jqxButton({disabled:k});f.pagerprevioustop.jqxButton({disabled:k});f.pagernextbottom.jqxButton({disabled:k});f.pagerpreviousbottom.jqxButton({disabled:k});f.pagerfirsttop.jqxButton({disabled:k});f.pagerfirstbottom.jqxButton({disabled:k});f.pagerlasttop.jqxButton({disabled:k});f.pagerlastbottom.jqxButton({disabled:k});if(f.pagershowrowscombotop.jqxDropDownList){if(f.pagerMode=="advanced"){f.pagershowrowscombotop.jqxDropDownList({disabled:false});f.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}f.base.host.find(".jqx-grid-pager-number").css("cursor",k?"default":"pointer")}f.base.host.find(".jqx-grid-group-collapse").css("cursor",k?"default":"pointer");f.base.host.find(".jqx-grid-group-expand").css("cursor",k?"default":"pointer")}else{if(l=="columnsHeight"){f._render()}else{if(l=="theme"){a.jqx.utilities.setTheme(c,k,f.base.host);f.vScrollBar.jqxScrollBar({theme:f.theme});f.hScrollBar.jqxScrollBar({theme:f.theme});if(f.pageable&&f.pagernexttop){f.pagernexttop.jqxButton({theme:f.theme});f.pagerprevioustop.jqxButton({theme:f.theme});f.pagernextbottom.jqxButton({theme:f.theme});f.pagerpreviousbottom.jqxButton({theme:f.theme});f.pagerfirsttop.jqxButton({theme:f.theme});f.pagerfirstbottom.jqxButton({theme:f.theme});f.pagerlasttop.jqxButton({theme:f.theme});f.pagerlastbottom.jqxButton({theme:f.theme});if(f.pagershowrowscombotop.jqxDropDownList){if(f.pagerMode=="advanced"){f.pagershowrowscombotop.jqxDropDownList({theme:f.theme});f.pagershowrowscombobottom.jqxDropDownList({theme:f.theme})}}}if(f.filterable){var b=a(".filterconditions");if(b.length>0){b.jqxDropDownList({theme:f.theme})}if(f.filtercolumnsList){f.filtercolumnsList.jqxDropDownList({theme:f.theme})}}f.refresh()}else{f.refresh()}}}}}}}}}}}}}}}}}},checkRow:function(c,d,b){var e=this.base;var g=e._names();if(e._loading){return}var f=e.rowinfo[c];if(f){f.checked=true;f.row[g.checked]=true;if(f.originalRecord){f.originalRecord[g.checked]=true}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(f.row,f.row)}if(d!==false){e._renderrows()}e._raiseEvent("rowCheck",{key:c,row:f.row})}else{var h=this.getRow(c);if(h){e.rowinfo[c]={row:h,checked:true};e.rowinfo[c].row[g.checked]=true;if(h.originalRecord){e.rowinfo[c].originalRecord=h.originalRecord}e._raiseEvent("rowCheck",{key:c,row:h});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(h,h)}if(d!==false){e._renderrows()}}}},checkRows:function(d,n){var e=this.base;var j=this;var i=e._names();var l=function(o){var p=new Array();var q=function(s){for(var r=0;r<s.length;r++){p.push(s[r]);if(!s[r]){continue}if(s[r].records){q(s[r].records)}}};if(o.records){q(o.records)}return p};if(d!=null){var f=0;var c=false;var g=0;var b=function(o){for(var p=0;p<o.length;p++){if(!o[p]){continue}var q=o[p][i.checked];if(q===undefined){q=false}if(q!=false){if(o[p][i.checked]==null){c=true}if(o[p].records){b(o[p].records)}f++}g++}};if(d.records){b(d.records)}if(d!=n){if(f==g){this.checkRow(d.uid,false,"tree")}else{if(f>0){this.indeterminateRow(d.uid,false,"tree")}else{this.uncheckRow(d.uid,false,"tree")}}}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}var m=d[i.parent]?d[i.parent]:null;this.checkRows(m,n)}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}},indeterminateRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=null;g.row[h.checked]=null;if(g.originalRecord){g.originalRecord[h.checked]=null}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:null};f.rowinfo[c].row[h.checked]=null;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},uncheckRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=false;g.row[h.checked]=false;if(g.originalRecord){g.originalRecord[h.checked]=false}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}f._raiseEvent("rowUncheck",{key:c,row:g.row})}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:false};f.rowinfo[c].row[h.checked]=false;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}f._raiseEvent("rowUncheck",{key:c,row:i});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},expandRows:function(c){var e=this;if(!c){return}if(e.virtualModeCreateRecords){a.each(c,function(){var f=this;var g=function(){e.base._loading=false;e.expandRows(f.records)};e.base._loading=false;e.expandRow(f.uid,g)})}else{for(var d=0;d<c.length;d++){var b=c[d];e.expandRow(b.uid);e.expandRows(b.records)}}},collapseRows:function(b){if(!b){return}for(var c=0;c<b.length;c++){this.collapseRow(b[c].uid);this.collapseRows(b[c].records)}},expandAll:function(){var b=this.base;b.beginUpdate();this.expandRows(this.getRows());b.endUpdate()},collapseAll:function(){var b=this.base;b.beginUpdate();this.collapseRows(this.getRows());b.endUpdate()},expandRow:function(h,j){var d=this.base;if(d._loading){return}var e=d._names();var f=this;var b=d.rowinfo[h];if(!b){var k=this.getRow(h);if(k){d.rowinfo[h]={row:k};if(k.originalRecord){d.rowinfo[h].originalRecord=k.originalRecord}b=d.rowinfo[h]}}if(b){if(b.expanded){b.row[e.expanded]=true;return}b.expanded=true;b.row[e.expanded]=true;if(b.originalRecord){b.originalRecord[e.expanded]=true}if(this.virtualModeCreateRecords&&!b.row._loadedOnDemand){var c=function(m){b.row._loadedOnDemand=true;if(m===false){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}return}for(var n=0;n<m.length;n++){m[n][e.level]=b.row[e.level]+1;m[n][e.parent]=b.row;if(d.rowsByKey[m[n].uid]){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}throw new Error("Please, check whether you Add Records with unique ID/Key. ")}d.rowsByKey[m[n].uid]=m[n];f.virtualModeRecordCreating(m[n])}if(!b.row.records){b.row.records=m}else{b.row.records=b.row.records.concat(m)}if((!m)||(m&&m.length==0)){b.leaf=true;b.row[e.leaf]=true}if(b.originalRecord){b.originalRecord.records=m;b.originalRecord[e.expanded]=true;if(m.length==0){b.originalRecord[e.leaf]=true}}d._loading=false;f._hideLoadElement();var l=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var o=l!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||o){d._arrange()}d._renderhorizontalscroll();if(j){j()}};if(!b.row[e.leaf]){d._loading=true;this._showLoadElement();this.virtualModeCreateRecords(b.row,c);return}}if(!d.updating()){var g=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var i=g!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||i){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowExpand",{row:b.row,key:h})}}},collapseRow:function(c){var d=this.base;var g=d._names();if(d._loading){return}var f=d.rowinfo[c];if(!f){var h=this.getRow(c);if(h){d.rowinfo[c]={row:h};if(h.originalRecord){d.rowinfo[c].originalRecord=h.originalRecord}f=d.rowinfo[c]}}if(f){if(!f.expanded){f.row[g.expanded]=false;return}f.expanded=false;f.row[g.expanded]=false;if(f.originalRecord){f.originalRecord[g.expanded]=false}if(!d.updating()){var b=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var e=b!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||e){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowCollapse",{row:f.row,key:c})}}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxTreeGrid","jqxDataTable",{});a.extend(a.jqx._jqxTreeGrid.prototype,{defineInstance:function(){if(this.base){this.base.treeGrid=this;this.base.exportSettings={recordsInView:false,columnsHeader:true,hiddenColumns:false,serverURL:null,characterSet:null,collapsedRecords:false,fileName:"jqxTreeGrid"}}var b={pageSizeMode:"default",checkboxes:false,hierarchicalCheckboxes:false,icons:false,showSubAggregates:false,aggregatesPosition:"top",rowDetailsRenderer:null,virtualModeCreateRecords:null,virtualModeRecordCreating:null,loadingFailed:false};if(this===a.jqx._jqxTreeGrid.prototype){return b}a.extend(true,this,b);return b},createInstance:function(b){this.theme=this.base.theme;var c=this},deleteRow:function(b){var c=this.base;c.deleterowbykey(b)},updateRow:function(b,d){var c=this.base;c.updaterowbykey(b,d)},setCellValue:function(c,b,e){var d=this.base;d.setCellValueByKey(c,b,e)},getCellValue:function(c,b){var d=this.base;return d.getCellValueByKey(c,b)},lockRow:function(b){var c=this.base;c.lockrowbykey(b)},unlockRow:function(b){var c=this.base;c.unlockrowbykey(b)},selectRow:function(b){var c=this.base;c.selectrowbykey(b)},unselectRow:function(b){var c=this.base;c.unselectrowbykey(b)},ensureRowVisible:function(b){var c=this.base;c.ensurerowvisiblebykey(b)},beginCellEdit:function(c,b){var e=this.base;var d=e.getColumn(b);e.beginroweditbykey(c,d)},beginRowEdit:function(b){var c=this.base;c.beginroweditbykey(b)},endCellEdit:function(c,b,e){var d=this.base;d.endroweditbykey(c,e)},endRowEdit:function(b,d){var c=this.base;c.endroweditbykey(b,d)},_showLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","visible");a(b.dataloadelement).css("display","block");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},_hideLoadElement:function(){var b=this.base;if(b.host.css("display")=="block"){if(b.autoShowLoadElement){a(b.dataloadelement).css("visibility","hidden");a(b.dataloadelement).css("display","none");b.dataloadelement.width(b.host.width());b.dataloadelement.height(b.host.height())}}},getKey:function(b){if(b){return b.uid}},getRows:function(){var b=this.base;if(b.source.hierarchy){if(b.source.hierarchy.length!=0){return b.source.hierarchy}}return b.source.records},getCheckedRows:function(){var c=this.base;var d=c._names();var e=new Array();var b=function(j,g){if(!g){return}for(var h=0;h<g.length;h++){if(!g[h]){continue}var f=a.extend({},g[h]);var k=c.rowinfo[g[h].uid];if(k&&k[d.checked]){j.push(f)}else{if(f[d.checked]){j.push(f)}}b(e,g[h].records)}};b(e,c.dataViewRecords);return e},getRow:function(d){var e=this.base;var b=e.source.records;if(e.source.hierarchy){var f=function(h){for(var j=0;j<h.length;j++){if(!h[j]){continue}if(h[j].uid==d){return h[j]}if(h[j].records){var k=f(h[j].records);if(k){return k}}}};var g=f(e.source.hierarchy);return g}else{for(var c=0;c<b.length;c++){if(!b[c]){continue}if(b[c].uid==d){return b[c]}}}},_renderrows:function(){var N=this.base;var at=this;if(N._loading){return}if(N._updating){return}var J=N._names();if(N.source.hierarchy.length===0&&!N.loadingFailed){if(this.virtualModeCreateRecords){var an=function(c){if(c===false||(c&&c.length==0)){N._loading=false;N.loadingFailed=true;N.source.hierarchy=new Array();at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange();return}for(var j=0;j<c.length;j++){c[j].level=0;at.virtualModeRecordCreating(c[j]);N.rowsByKey[c[j].uid]=c[j]}N.source.hierarchy=c;if(!N.source._source.hierarchy){N.source._source.hierarchy={}}N._loading=false;at._hideLoadElement();N._renderrows();N._updateScrollbars();N._arrange()};N._loading=true;this.virtualModeCreateRecords(null,an);this._showLoadElement()}}if(N.rendering){N.rendering()}var az=0;N.table[0].rows=new Array();var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-widget-content")+" "+N.toTP("jqx-item");if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var b=N.columns.records.length;var P=a.jqx.browser.msie&&a.jqx.browser.version<8;if(P){N.host.attr("hideFocus","true")}var v=new Array();var aG=function(s,w){for(var aK=0;aK<s.length;aK++){var c=s[aK];if(!c){continue}var j=!N.rowinfo[c.uid]?c.expanded:N.rowinfo[c.uid].expanded;if(N.dataview.filters.length==0){c._visible=true}if(c._visible!==false){if(j||c[J.leaf]){w.push(c);if(c.records&&c.records.length>0){var aL=aG(c.records,new Array());for(var x=0;x<aL.length;x++){w.push(aL[x])}}}else{w.push(c)}}}return w};var ap=N.source.hierarchy.length===0?N.source.records:N.source.hierarchy;ap=N.dataview.evaluate(ap);N.dataViewRecords=ap;if(this.showSubAggregates){var p=function(s,c){if(s!=0){if(c.length>0){if(c[c.length-1]){if(!c[c.length-1].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}else{if(a.jqx.browser.msie&&a.jqx.browser.version<9){if(c[c.length-2]){if(!c[c.length-2].aggregate){c.push({_visible:true,level:s,siblings:c,aggregate:true,leaf:true})}}}}}}for(var j=0;j<c.length;j++){if(c[j]&&c[j].records){p(s+1,c[j].records)}}};p(0,ap)}var aq=function(s){var w=0;var i=new Array();for(var c=0;c<s.length;c++){var j=s[c];if(j[J.level]==0){w++}if(w>N.dataview.pagesize*N.dataview.pagenum&&w<=N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){i.push(j)}if(w>N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize){break}}return i};if(N.source.hierarchy.length===0){if(N.dataview.pagesize=="all"||!N.pageable||N.serverProcessing){var al=ap;if(N.pageable&&N.serverProcessing&&ap.length>N.dataview.pagesize){var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize)}var v=al}else{var ap=aG.call(N,ap,new Array());if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al;var I=N.dataview.pagenum;N.updatepagerdetails();if(N.dataview.pagenum!=I){if(N.dataview.pagesize=="all"||!N.pageable){var al=ap}else{var al=ap.slice(N.dataview.pagesize*N.dataview.pagenum,N.dataview.pagesize*N.dataview.pagenum+N.dataview.pagesize);if(this.pageSizeMode=="root"){al=aq(ap)}}var v=al}}N.renderedRecords=v;var D=v.length;var aH=N.tableZIndex;var k=0;var ar=0;if(P){for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}var aw=a('<table><tr><td role="gridcell" style="max-width: '+ax+"px; width:"+ax+'px;" class="'+aJ+'"></td></tr></table>');a(document.body).append(aw);var ah=aw.find("td");k=1+parseInt(ah.css("padding-left"))+parseInt(ah.css("padding-right"));aw.remove();break}}var B=N.rtl?" "+N.toTP("jqx-grid-table-rtl"):"";var y="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='table"+N.element.id+"'><colgroup>";var X="<table cellspacing='0' class='"+N.toTP("jqx-grid-table")+B+"' id='pinnedtable"+N.element.id+"'><colgroup>";var ac=null;for(var Q=0;Q<b;Q++){var U=N.columns.records[Q];if(U.hidden){continue}ac=U;var ax=U.width;if(ax<U.minwidth){ax=U.minwidth}if(ax>U.maxwidth){ax=U.maxwidth}ax-=k;if(ax<0){ax=0}if(P){var H=ax;if(Q==0){H++}X+="<col style='max-width: "+ax+"px; width: "+H+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+H+"px;'>"}else{X+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>";y+="<col style='max-width: "+ax+"px; width: "+ax+"px;'>"}ar+=ax}y+="</colgroup>";X+="</colgroup>";N._hiddencolumns=false;var r=false;if(D===0){var n='<tr role="row">';var q=N.host.height();if(N.pageable){q-=N.pagerHeight;if(N.pagerPosition==="both"){q-=N.pagerHeight}}q-=N.columnsHeight;if(N.filterable){var aC=N.filter.find(".filterrow");var A=N.filter.find(".filterrow-hidden");var E=1;if(A.length>0){E=0}q-=N.filterHeight+N.filterHeight*aC.length*E}if(N.showstatusbar){q-=N.statusBarHeight}if(N.showAggregates){q-=N.aggregatesHeight}if(q<25){q=25}if(N.hScrollBar[0].style.visibility!="hidden"){q-=N.hScrollBar.outerHeight()}if(N.height==="auto"||N.height===null||N.autoheight){q=100}var ax=N.host.width()+2;var aw='<td colspan="'+N.columns.records.length+'" role="gridcell" style="border-right-color: transparent; min-height: '+q+"px; height: "+q+"px;  min-width:"+ar+"px; max-width:"+ar+"px; width:"+ar+"px;";var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-center-align");aw+='" class="'+aJ+'">';if(!N._loading){aw+=N.gridlocalization.emptydatastring}aw+="</td>";n+=aw;y+=n;X+=n;N.table[0].style.width=ar+2+"px";az=ar}var m=N.source._source.hierarchy&&N.source._source.hierarchy.groupingDataFields?N.source._source.hierarchy.groupingDataFields.length:0;for(var R=0;R<v.length;R++){var au=v[R];var ad=au.uid;if(m>0){if(au[J.level]<m){ad=au.uid}}if(au.uid===undefined){au.uid=N.dataview.generatekey()}var n='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-key="'+ad+'" role="row" id="row'+R+N.element.id+'">';if(au.aggregate){var n='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">';var ao='<tr data-role="summaryrow" role="row" id="row'+R+N.element.id+'">'}var V=0;if(!N.rowinfo[ad]){var z=au[J.checked];if(z===undefined){z=false}N.rowinfo[ad]={selected:au[J.selected],checked:z,icon:au[J.icon],aggregate:au.aggregate,row:au,leaf:au[J.leaf],expanded:au[J.expanded]}}else{if(N.rowinfo[ad].checked===undefined){N.rowinfo[ad].checked=au[J.checked]}if(N.rowinfo[ad].icon===undefined){N.rowinfo[ad].icon=au[J.icon]}if(N.rowinfo[ad].aggregate===undefined){N.rowinfo[ad].aggregate=au[J.aggregate]}if(N.rowinfo[ad].row===undefined){N.rowinfo[ad].row=au}if(N.rowinfo[ad].leaf===undefined){N.rowinfo[ad].leaf=au[J.leaf]}if(N.rowinfo[ad].expanded===undefined){N.rowinfo[ad].expanded=au[J.expanded]}}var h=N.rowinfo[ad];h.row=au;if(au.originalRecord){h.originalRecord=au.originalRecord}var o=0;for(var Q=0;Q<b;Q++){var M=N.columns.records[Q];if(M.pinned||(N.rtl&&N.columns.records[b-1].pinned)){r=true}var ax=M.width;if(ax<M.minwidth){ax=M.minwidth}if(ax>M.maxwidth){ax=M.maxwidth}ax-=k;if(ax<0){ax=0}var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");if(M.pinned){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}if(N.sortcolumn===M.displayfield){aJ+=" "+N.toTP("jqx-grid-cell-sort")}if(N.altRows&&R%2!=0){aJ+=" "+N.toTP("jqx-grid-cell-alt")}if(N.rtl){aJ+=" "+N.toTP("jqx-cell-rtl")}var S="";if(m>0&&!P&&!au.aggregate){if(au[J.level]<m){S+=' colspan="'+b+'"';var H=0;for(var K=0;K<b;K++){var T=N.columns.records[K];if(T.hidden){continue}var aa=T.width;if(aa<T.minwidth){ax=T.minwidth}if(aa>T.maxwidth){ax=T.maxwidth}aa-=k;if(aa<0){aa=0}H+=aa}ax=H}}var aw='<td role="gridcell"'+S+' style="max-width:'+ax+"px; width:"+ax+"px;";var ak='<td role="gridcell"'+S+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+ax+"px; width:"+ax+"px;";if(Q==b-1&&b==1){aw+="border-right-color: transparent;";ak+="border-right-color: transparent;"}if(m>0&&au[J.level]<m&&!au.aggregate){if(N.rtl){aJ+=" "+N.toTP("jqx-right-align")}}else{if(M.cellsalign!="left"){if(M.cellsalign==="right"){aJ+=" "+N.toTP("jqx-right-align")}else{aJ+=" "+N.toTP("jqx-center-align")}}}if(h){if(h.selected){if(N.editKey!==ad){if(N.selectionMode!=="none"){aJ+=" "+N.toTP("jqx-grid-cell-selected");aJ+=" "+N.toTP("jqx-fill-state-pressed")}}}if(h.locked){aJ+=" "+N.toTP("jqx-grid-cell-locked")}if(h.aggregate){aJ+=" "+N.toTP("jqx-grid-cell-pinned")}}if(!(M.hidden)){if(o==0&&!N.rtl){aw+="border-left-width: 0px;";ak+="border-left-width: 0px;"}else{aw+="border-right-width: 0px;";ak+="border-right-width: 0px;"}o++;V+=k+ax}else{aw+="display: none;";ak+="display: none;";N._hiddencolumns=true}if(M.pinned){aw+="pointer-events: auto;";ak+="pointer-events: auto;"}var u="";if((N.source.hierarchy.length==0||(!au.records||(au.records&&au.records.length===0)))&&!this.virtualModeCreateRecords){h.leaf=true}if(au.records&&au.records.length>0){h.leaf=false}if(N.dataview.filters.length>0){if(au.records&&au.records.length>0){var ab=false;for(var L=0;L<au.records.length;L++){if(au.records[L]._visible!==false&&au.records[L].aggregate==undefined){ab=true;break}}if(!ab){h.leaf=true}else{h.leaf=false}}}if(h&&!h.leaf){if(h.expanded){u+=N.toTP("jqx-tree-grid-expand-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-expand")}else{u+=N.toTP("jqx-grid-group-expand-rtl")}u+=" "+N.toTP("jqx-icon-arrow-down")}else{u+=N.toTP("jqx-tree-grid-collapse-button")+" ";if(!N.rtl){u+=N.toTP("jqx-grid-group-collapse");u+=" "+N.toTP("jqx-icon-arrow-right")}else{u+=N.toTP("jqx-grid-group-collapse-rtl");u+=" "+N.toTP("jqx-icon-arrow-left")}}}if(!N.autoRowHeight||o===1||(N.autoRowHeight&&!M.autoCellHeight)){aJ+=" "+N.toTP("jqx-grid-cell-nowrap")}var W=N._getcellvalue(M,h.row);if(m>0&&!au.aggregate){if(au[J.level]<m){W=au.label}}if(M.cellsFormat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(W)){W=a.jqx.dataFormat.formatdate(W,M.cellsFormat,N.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(W)||(!isNaN(parseFloat(W))&&isFinite(W))){W=a.jqx.dataFormat.formatnumber(W,M.cellsFormat,N.gridlocalization)}}}}if(M.cellclassname!=""&&M.cellclassname){if(typeof M.cellclassname=="string"){aJ+=" "+M.cellclassname}else{var aI=M.cellclassname(R,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(aI){aJ+=" "+aI}}}if(M.cellsRenderer!=""&&M.cellsRenderer){var C=M.cellsRenderer(ad,M.datafield,N._getcellvalue(M,h.row),h.row,W);if(C!==undefined){W=C}}if(h.aggregate){if(M.aggregates){var av=au.siblings.slice(0,au.siblings.length-1);var Y=N._calculateaggregate(M,null,true,av);au[M.displayfield]="";if(Y){if(M.aggregatesRenderer){if(Y){var G=M.aggregatesRenderer(Y[M.datafield],M,null,N.getcolumnaggregateddata(M.datafield,M.aggregates,false,av),"subAggregates");W=G;var O=Object.keys(Y[M.datafield]);au[M.displayfield]+=name+":"+Y[M.datafield][O[0]]+"\n"}}else{W="";au[M.displayfield]="";a.each(Y,function(){var i=this;for(var s in i){var c=s;c=N._getaggregatename(c);var j='<div style="position: relative; margin: 0px; overflow: hidden;">'+c+":"+i[s]+"</div>";W+=j;au[M.displayfield]+=c+":"+i[s]+"\n"}})}}else{W=""}}}if((o===1&&!N.rtl)||(M==ac&&N.rtl)||(m>0&&au[J.level]<m)){var af="";var d=N.toThemeProperty("jqx-tree-grid-indent");var Z=h.leaf?1:0;for(var F=0;F<au[J.level]+Z;F++){af+="<span class='"+d+"'></span>"}var am="<span class='"+u+"'></span>";var aA="";var e="";if(this.checkboxes&&!au.aggregate){var aD=N.toThemeProperty("jqx-tree-grid-checkbox")+" "+d+" "+N.toThemeProperty("jqx-checkbox-default")+" "+N.toThemeProperty("jqx-fill-state-normal")+" "+N.toThemeProperty("jqx-rc-all");var g=true;if(a.isFunction(this.checkboxes)){g=this.checkboxes(ad,au);if(g==undefined){g=false}}if(g){if(h){var ay=h.checked;if(ay===undefined){ay=false}if(this.hierarchicalCheckboxes==false&&ay===null){ay=false}if(ay){aA+="<span checked='true' class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-checked")+"'></div></span>"}else{if(ay===false){aA+="<span checked='undefined' class='"+aD+"'></span>"}else{aA+="<span class='"+aD+"'><div class='"+N.toThemeProperty("jqx-tree-grid-checkbox-tick")+" "+N.toThemeProperty("jqx-checkbox-check-indeterminate")+"'></div></span>"}}}else{aA+="<span class='"+aD+"'></span>"}}}if(this.icons&&!au.aggregate){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+d;if(N.rtl){var ag=N.toThemeProperty("jqx-tree-grid-icon")+" "+N.toThemeProperty("jqx-tree-grid-icon-rtl")+" "+d}var aB=N.toThemeProperty("jqx-tree-grid-icon-size")+" "+d;var f=h.icon;if(a.isFunction(this.icons)){h.icon=this.icons(ad,au);if(h.icon){f=true}}if(f){if(h.icon){e+="<span class='"+ag+"'><img class='"+aB+"' src='"+h.icon+"'/></span>"}else{e+="<span class='"+ag+"'></span>"}}}var ae=N.autoRowHeight&&o===1&&M.autoCellHeight?" "+N.toTP("jqx-grid-cell-wrap"):"";var aj=af+am+aA+e+"<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>";if(!N.rtl){W=aj}else{W="<span class='"+N.toThemeProperty("jqx-tree-grid-title")+ae+"'>"+W+"</span>"+e+aA+am+af}}if(m>0&&P&&Q>=m){if(au[J.level]<m){aw+="padding-left: 5px; border-left-width: 0px;";ak+="padding-left: 5px; border-left-width: 0px;";W="<span style='visibility: hidden;'>-</span>"}}aw+='" class="'+aJ+'">';aw+=W;aw+="</td>";ak+='" class="'+aJ+'">';ak+=W;ak+="</td>";if(!M.pinned){n+=aw;if(r){ao+=ak}}else{ao+=aw;n+=aw}if(m>0&&!P){if(au[J.level]<m&&!au.aggregate){break}}}if(az==0){N.table[0].style.width=V+2+"px";az=V}n+="</tr>";ao+="</tr>";y+=n;X+=ao;if(N.rowDetails&&!au.aggregate&&this.rowDetailsRenderer){var l='<tr data-role="row-details"><td valign="top" align="left" style="pointer-events: auto; max-width:'+ax+"px; width:"+ax+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+N.columns.records.length+'" role="gridcell"';var aJ=N.toTP("jqx-cell")+" "+N.toTP("jqx-grid-cell")+" "+N.toTP("jqx-item");aJ+=" "+N.toTP("jqx-details");aJ+=" "+N.toTP("jqx-reset");var ai=this.rowDetailsRenderer(ad,au);if(ai){l+='" class="'+aJ+'"><div style="pointer-events: auto; overflow: hidden;"><div data-role="details">'+ai+"</div></div></td></tr>";y+=l;X+=l}}}y+="</table>";X+="</table>";if(r){if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(X+y)})}else{N.table[0].innerHTML=X+y}var aE=N.table.find("#table"+N.element.id);var aF=N.table.find("#pinnedtable"+N.element.id);aF.css("float","left");aF.css("pointer-events","none");aE.css("float","left");aF[0].style.position="absolute";aE[0].style.position="relative";aE[0].style.zIndex=aH-10;aF[0].style.zIndex=aH+10;N._table=aE;N._table[0].style.left="0px";N._pinnedTable=aF;if(P){aF[0].style.left="0px"}N._table[0].style.width=az+"px";N._pinnedTable[0].style.width=az+"px";if(N.rtl&&N._haspinned){N._pinnedTable[0].style.left=3-az+parseInt(N.element.style.width)+"px"}}else{if(N.WinJS){MSApp.execUnsafeLocalFunction(function(){N.table.html(y)})}else{N.table[0].innerHTML=y}var K=N.table.find("#table"+N.element.id);N._table=K;if(a.jqx.browser.msie&&a.jqx.browser.version<10){N._table[0].style.width=az+"px"}if(D===0){N._table[0].style.width=(2+az)+"px"}}if(D===0){N._table[0].style.tableLayout="auto";if(N._pinnedTable){N._pinnedTable[0].style.tableLayout="auto"}}if(N.showAggregates){N._updatecolumnsaggregates()}if(N._loading&&D==0){N._arrange();this._showLoadElement()}if(N.rendered){N.rendered()}},propertyChangedHandler:function(d,m,c,l){if(d.isInitialized==undefined||d.isInitialized==false){return}var g=d.base;if(m=="pageSizeMode"||m=="hierarchicalCheckboxes"){d._renderrows()}else{if(m=="filterable"){g._render()}else{if(m==="height"){g.host.height(d.height);g.host.width(d.width);g._updatesize(false,true)}else{if(m==="width"){g.host.height(d.height);g.host.width(d.width);g._updatesize(true,false)}else{if(m==="source"){g.updateBoundData()}else{if(m==="columns"||m==="columnGroups"){g._columns=null;g._render()}else{if(m==="rtl"){g.content.css("left","");d.columns=d._columns;g.vScrollBar.jqxScrollBar({rtl:l});g.hScrollBar.jqxScrollBar({rtl:l});g._render()}else{if(m==="pagerMode"){d.pagerMode=l;g._initpager()}else{if(m=="pageSizeOptions"){g._initpager();var k=false;for(var f=0;f<l.length;f++){if(parseInt(l[f])==d.pageSize){k=true;break}}if(!k){a.jqx.set(d,[{pageSize:l[0]}])}}else{if(m=="pageSize"){var h=g.dataview.pagenum*g.dataview.pagesize;g.dataview.pagesize=g.pageSize;var j=Math.floor(h/g.dataview.pagesize);if(j!==g.dataview.pagenum||parseInt(l)!==parseInt(c)){d._raiseEvent("pageSizeChanged",{pagenum:l,oldpageSize:c,pageSize:g.dataview.pagesize});var n=d.goToPage(j);if(!n){g.refresh()}}}else{if(m==="pagerPosition"){g.refresh()}else{if(m==="selectionMode"){g.selectionMode=l.toLowerCase()}else{if(m=="touchmode"){g.touchDevice=null;g._removeHandlers();g.touchDevice=null;g.vScrollBar.jqxScrollBar({touchMode:l});g.hScrollBar.jqxScrollBar({touchMode:l});g._updateTouchScrolling();g._arrange();g._updatecolumnwidths();g._renderrows();g._addHandlers()}else{if(m=="enableHover"){return}else{if(m=="disabled"){if(l){g.base.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"))}else{g.base.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(g.pageable){if(g.pagernexttop){g.pagernexttop.jqxButton({disabled:l});g.pagerprevioustop.jqxButton({disabled:l});g.pagernextbottom.jqxButton({disabled:l});g.pagerpreviousbottom.jqxButton({disabled:l});g.pagerfirsttop.jqxButton({disabled:l});g.pagerfirstbottom.jqxButton({disabled:l});g.pagerlasttop.jqxButton({disabled:l});g.pagerlastbottom.jqxButton({disabled:l});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({disabled:false});g.pagershowrowscombobottom.jqxDropDownList({disabled:false})}}}g.base.host.find(".jqx-grid-pager-number").css("cursor",l?"default":"pointer")}g.base.host.find(".jqx-grid-group-collapse").css("cursor",l?"default":"pointer");g.base.host.find(".jqx-grid-group-expand").css("cursor",l?"default":"pointer")}else{if(m=="columnsHeight"){g._render()}else{if(m=="theme"){var e=l;g.theme=l;a.jqx.utilities.setTheme(c,l,g.host);g.vScrollBar.jqxScrollBar({theme:e});g.hScrollBar.jqxScrollBar({theme:e});if(g.pageable&&g.pagernexttop){g.pagernexttop.jqxButton({theme:e});g.pagerprevioustop.jqxButton({theme:e});g.pagernextbottom.jqxButton({theme:e});g.pagerpreviousbottom.jqxButton({theme:e});g.pagerfirsttop.jqxButton({theme:e});g.pagerfirstbottom.jqxButton({theme:e});g.pagerlasttop.jqxButton({theme:e});g.pagerlastbottom.jqxButton({theme:e});if(g.pagershowrowscombotop.jqxDropDownList){if(g.pagerMode=="advanced"){g.pagershowrowscombotop.jqxDropDownList({theme:e});g.pagershowrowscombobottom.jqxDropDownList({theme:e})}}}if(g.filterable){var b=a(".filterconditions");if(b.length>0){b.jqxDropDownList({theme:e})}if(g.filtercolumnsList){g.filtercolumnsList.jqxDropDownList({theme:e})}}g.refresh()}else{g.refresh()}}}}}}}}}}}}}}}}}},checkRow:function(c,d,b){var e=this.base;var g=e._names();if(e._loading){return}var f=e.rowinfo[c];if(f){f.checked=true;f.row[g.checked]=true;if(f.originalRecord){f.originalRecord[g.checked]=true}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(f.row,f.row)}if(d!==false){e._renderrows()}e._raiseEvent("rowCheck",{key:c,row:f.row})}else{var h=this.getRow(c);if(h){e.rowinfo[c]={row:h,checked:true};e.rowinfo[c].row[g.checked]=true;if(h.originalRecord){e.rowinfo[c].originalRecord=h.originalRecord}e._raiseEvent("rowCheck",{key:c,row:h});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(h,h)}if(d!==false){e._renderrows()}}}},checkRows:function(d,n){var e=this.base;var j=this;var i=e._names();var l=function(o){var p=new Array();var q=function(s){for(var r=0;r<s.length;r++){p.push(s[r]);if(!s[r]){continue}if(s[r].records){q(s[r].records)}}};if(o.records){q(o.records)}return p};if(d!=null){var f=0;var c=false;var g=0;var b=function(o){for(var p=0;p<o.length;p++){if(!o[p]){continue}var q=o[p][i.checked];if(q===undefined){q=false}if(q!=false){if(o[p][i.checked]==null){c=true}if(o[p].records){b(o[p].records)}f++}g++}};if(d.records){b(d.records)}if(d!=n){if(f==g){this.checkRow(d.uid,false,"tree")}else{if(f>0){this.indeterminateRow(d.uid,false,"tree")}else{this.uncheckRow(d.uid,false,"tree")}}}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}var m=d[i.parent]?d[i.parent]:null;this.checkRows(m,n)}else{var k=n[i.checked];var h=l(n);a.each(h,function(){if(k===true){j.checkRow(this.uid,false,"tree")}else{if(k===false){j.uncheckRow(this.uid,false,"tree")}else{j.indeterminateRow(this.uid,false,"tree")}}})}},indeterminateRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=null;g.row[h.checked]=null;if(g.originalRecord){g.originalRecord[h.checked]=null}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:null};f.rowinfo[c].row[h.checked]=null;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},uncheckRow:function(c,d,b){var f=this.base;var h=f._names();if(f._loading){return}var e=this;var g=f.rowinfo[c];if(g){g.checked=false;g.row[h.checked]=false;if(g.originalRecord){g.originalRecord[h.checked]=false}if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(g.row,g.row)}if(d!==false){f._renderrows()}f._raiseEvent("rowUncheck",{key:c,row:g.row})}else{var i=this.getRow(c);if(i){f.rowinfo[c]={row:i,checked:false};f.rowinfo[c].row[h.checked]=false;if(i.originalRecord){f.rowinfo[c].originalRecord=i.originalRecord}f._raiseEvent("rowUncheck",{key:c,row:i});if(b==undefined&&this.hierarchicalCheckboxes){this.checkRows(i,i)}if(d!==false){f._renderrows()}}}},expandRows:function(c){var e=this;if(!c){return}if(e.virtualModeCreateRecords){a.each(c,function(){var f=this;var g=function(){e.base._loading=false;e.expandRows(f.records)};e.base._loading=false;e.expandRow(f.uid,g)})}else{for(var d=0;d<c.length;d++){var b=c[d];e.expandRow(b.uid);e.expandRows(b.records)}}},collapseRows:function(b){if(!b){return}for(var c=0;c<b.length;c++){this.collapseRow(b[c].uid);this.collapseRows(b[c].records)}},expandAll:function(){var b=this.base;b.beginUpdate();this.expandRows(this.getRows());b.endUpdate()},collapseAll:function(){var b=this.base;b.beginUpdate();this.collapseRows(this.getRows());b.endUpdate()},expandRow:function(h,j){var d=this.base;if(d._loading){return}var e=d._names();var f=this;var b=d.rowinfo[h];if(!b){var k=this.getRow(h);if(k){d.rowinfo[h]={row:k};if(k.originalRecord){d.rowinfo[h].originalRecord=k.originalRecord}b=d.rowinfo[h]}}if(b){if(b.expanded){b.row[e.expanded]=true;return}b.expanded=true;b.row[e.expanded]=true;if(b.originalRecord){b.originalRecord[e.expanded]=true}if(this.virtualModeCreateRecords&&!b.row._loadedOnDemand){var c=function(m){b.row._loadedOnDemand=true;if(m===false){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}return}for(var n=0;n<m.length;n++){m[n][e.level]=b.row[e.level]+1;m[n][e.parent]=b.row;if(d.rowsByKey[m[n].uid]){d._loading=false;f._hideLoadElement();b.leaf=true;b.row[e.leaf]=true;d._renderrows();if(j){j()}throw new Error("Please, check whether you Add Records with unique ID/Key. ")}d.rowsByKey[m[n].uid]=m[n];f.virtualModeRecordCreating(m[n])}if(!b.row.records){b.row.records=m}else{b.row.records=b.row.records.concat(m)}if((!m)||(m&&m.length==0)){b.leaf=true;b.row[e.leaf]=true}if(b.originalRecord){b.originalRecord.records=m;b.originalRecord[e.expanded]=true;if(m.length==0){b.originalRecord[e.leaf]=true}}d._loading=false;f._hideLoadElement();var l=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var o=l!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||o){d._arrange()}d._renderhorizontalscroll();if(j){j()}};if(!b.row[e.leaf]){d._loading=true;this._showLoadElement();this.virtualModeCreateRecords(b.row,c);return}}if(!d.updating()){var g=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var i=g!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||i){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowExpand",{row:b.row,key:h})}}},collapseRow:function(c){var d=this.base;var g=d._names();if(d._loading){return}var f=d.rowinfo[c];if(!f){var h=this.getRow(c);if(h){d.rowinfo[c]={row:h};if(h.originalRecord){d.rowinfo[c].originalRecord=h.originalRecord}f=d.rowinfo[c]}}if(f){if(!f.expanded){f.row[g.expanded]=false;return}f.expanded=false;f.row[g.expanded]=false;if(f.originalRecord){f.originalRecord[g.expanded]=false}if(!d.updating()){var b=d.vScrollBar.css("visibility");d._renderrows();d._updateScrollbars();var e=b!=d.vScrollBar.css("visibility");if(d.height==="auto"||d.height===null||d.autoheight||e){d._arrange()}d._renderhorizontalscroll();d._raiseEvent("rowCollapse",{row:f.row,key:c})}}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxtreemap.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxtreemap.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
--- a/www/jqwidgets/jqxvalidator.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxvalidator.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxValidator","",{});a.extend(a.jqx._jqxValidator.prototype,{defineInstance:function(){var b={rules:null,scroll:true,focus:true,scrollDuration:300,scrollCallback:null,position:"right",arrow:true,animation:"fade",animationDuration:150,closeOnClick:true,onError:null,onSuccess:null,ownerElement:null,_events:["validationError","validationSuccess"],hintPositionOffset:5,_inputHint:[],rtl:false,hintType:"tooltip"};if(this===a.jqx._jqxValidator.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){if(this.hintType=="label"&&this.animationDuration==150){this.animationDuration=0}this._configureInputs();this._removeEventListeners();this._addEventListeners()},destroy:function(){this._removeEventListeners();this.hide()},validate:function(q){var b=true,p,f=Infinity,j,h,c,k=[],o;this.updatePosition();var l=this;var d=0;for(var g=0;g<this.rules.length;g+=1){if(typeof this.rules[g].rule==="function"){d++}}this.positions=new Array();for(var g=0;g<this.rules.length;g+=1){var n=a(this.rules[g].input);if(typeof this.rules[g].rule==="function"){var m=function(s,r){p=s;if(false==p){b=false;var i=a(r.input);c=a(r.input);k.push(c);var t=c.offset();if(t){j=t.top;if(f>j){f=j;h=c}}}d--;if(d==0){if(typeof q==="function"){l._handleValidation(b,f,h,k);if(q){q(b)}}}};this._validateRule(this.rules[g],m)}else{p=this._validateRule(this.rules[g])}if(false==p){b=false;c=a(this.rules[g].input);k.push(c);var e=c.offset();if(e){j=e.top;if(f>j){f=j;h=c}}}}if(d==0){this._handleValidation(b,f,h,k);return b}else{return undefined}},validateInput:function(b){var e=this._getRulesForInput(b),d=true;for(var c=0;c<e.length;c+=1){if(!this._validateRule(e[c])){d=false}}return d},hideHint:function(b){var d=this._getRulesForInput(b);for(var c=0;c<d.length;c+=1){this._hideHintByRule(d[c])}},hide:function(){var c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];this._hideHintByRule(this.rules[b])}},updatePosition:function(){var c;this.positions=new Array();for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(c.hint){this._hintLayout(c.hint,a(c.input),c.position,c)}}},_getRulesForInput:function(b){var d=[];for(var c=0;c<this.rules.length;c+=1){if(this.rules[c].input===b){d.push(this.rules[c])}}return d},_validateRule:function(f,i){var b=a(f.input),h,e=true;var d=this;var g=function(k){if(!k){var j=d.animation;d.animation=null;if(f.hint){d._hideHintByRule(f)}if(a(b).css("display")=="none"){d._hideHintByRule(f);return}if(a(b).parents().length==0){d._hideHintByRule(f);return}h=f.hintRender.apply(d,[f.message,b]);d._hintLayout(h,b,f.position,f);d._showHint(h);f.hint=h;d._removeLowPriorityHints(f);if(i){i(false,f)}d.animation=j}else{d._hideHintByRule(f);if(i){i(true,f)}}};var c=false;if(typeof f.rule==="function"){c=f.rule.call(this,b,g);if(c==true&&i){i(true,f)}}if(typeof f.rule==="function"&&c==false){if(typeof f.hintRender==="function"&&!f.hint&&!this._higherPriorityActive(f)&&b.is(":visible")){h=f.hintRender.apply(this,[f.message,b]);this._removeLowPriorityHints(f);this._hintLayout(h,b,f.position,f);this._showHint(h);f.hint=h}e=false;if(i){i(false,f)}}else{this._hideHintByRule(f)}return e},_hideHintByRule:function(e){var c=a(e.input);var b=this,f;var d=function(){if(b.hintType!="label"){return}var g=b;if(g.position=="top"||g.position=="left"){if(c.prev().hasClass(".jqx-validator-error-label")){return}}else{if(c.next().hasClass(".jqx-validator-error-label")){return}}if(c[0].nodeName.toLowerCase()!="input"){if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}};if(e){f=e.hint;if(f){if(this.positions){if(this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]){this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]=null}}if(this.animation==="fade"){f.fadeOut(this.animationDuration,function(){f.remove();d()})}else{f.remove();d()}}e.hint=null}},_handleValidation:function(b,e,d,c){if(!b){this._scrollHandler(e);if(this.focus){d.focus()}this._raiseEvent(0,{invalidInputs:c});if(typeof this.onError==="function"){this.onError(c)}}else{this._raiseEvent(1);if(typeof this.onSuccess==="function"){this.onSuccess()}}},_scrollHandler:function(c){if(this.scroll){var b=this;a("html,body").animate({scrollTop:c},this.scrollDuration,function(){if(typeof b.scrollCallback==="function"){b.scrollCallback.call(b)}})}},_higherPriorityActive:function(d){var e=false,c;for(var b=this.rules.length-1;b>=0;b-=1){c=this.rules[b];if(e&&c.input===d.input&&c.hint){return true}if(c===d){e=true}}return false},_removeLowPriorityHints:function(d){var e=false,c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(e&&c.input===d.input){this._hideHintByRule(c)}if(c===d){e=true}}},_getHintRuleByInput:function(b){var d;for(var c=0;c<this.rules.length;c+=1){d=this.rules[c];if(a(d.input)[0]===b[0]&&d.hint){return d}}return null},_removeEventListeners:function(){var f,b,e;for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];e=f.action.split(",");b=a(f.input);for(var c=0;c<e.length;c+=1){this.removeHandler(b,a.trim(e[c])+".jqx-validator")}}},_addEventListeners:function(){var f,c;if(this.host.parents(".jqx-window").length>0){var b=this;var g=function(){b.updatePosition()};var e=this.host.parents(".jqx-window");this.addHandler(e,"closed",function(){b.hide()});this.addHandler(e,"moved",g);this.addHandler(e,"moving",g);this.addHandler(e,"resized",g);this.addHandler(e,"resizing",g);this.addHandler(a(document.parentWindow),"scroll",function(){if(b.scroll){g()}})}for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];c=a(f.input);this._addListenerTo(c,f)}},_addListenerTo:function(c,h){var b=this,f=h.action.split(",");var e=false;if(this._isjQWidget(c)){e=true}for(var d=0;d<f.length;d+=1){var g=a.trim(f[d]);if(e&&(g=="blur"||g=="focus")){if(c&&c[0].nodeName.toLowerCase()!="input"){c=c.find("input")}}this.addHandler(c,g+".jqx-validator",function(i){b._validateRule(h)})}},_configureInputs:function(){var b,d;this.rules=this.rules||[];for(var c=0;c<this.rules.length;c+=1){this._handleInput(c)}},_handleInput:function(b){var c=this.rules[b];if(!c.position){c.position=this.position}if(!c.message){c.message="Validation Failed!"}if(!c.action){c.action="blur"}if(!c.hintRender){c.hintRender=this._hintRender}if(!c.rule){c.rule=null}else{this._handleRule(c)}},_handleRule:function(f){var c=f.rule,e,d,b=false;if(typeof c==="string"){if(c.indexOf("=")>=0){c=c.split("=");d=c[1].split(",");c=c[0]}e=this["_"+c];if(e){f.rule=function(g,h){return e.apply(this,[g].concat(d))}}else{b=true}}else{if(typeof c!=="function"){b=true}else{f.rule=c}}if(b){throw new Error("Wrong parameter!")}},_required:function(b){switch(this._getType(b)){case"jqx-input-inner":if(b.find("input").length>0){return a.trim(b.find("input").val())!==""}break;case"textarea":case"password":case"jqx-input":case"jqx-text-area":case"text":var d=a.data(b[0]);if(d.jqxMaskedInput){var e=b.jqxMaskedInput("promptChar"),c=b.jqxMaskedInput("value");return c&&c.indexOf(e)<0}else{if(d.jqxNumberInput){return b.jqxNumberInput("inputValue")!==""}else{if(d.jqxDateTimeInput){return true}else{return a.trim(b.val())!==""}}}case"checkbox":return b.is(":checked");case"radio":return b.is(":checked");case"jqx-check-box":case"jqx-radio-button":return b[0].val();case"jqxCheckBox":case"jqxcheckbox":case"jqxradiobutton":case"jqxRadioButton":var c=b.find("input").val();if(c===true||c===1||c==="true"){return true}return false;break;case"div":if(b.is(".jqx-checkbox")){return b.jqxCheckBox("checked")}if(b.is(".jqx-radiobutton")){return b.jqxRadioButton("checked")}return false}return false},_notNumber:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d)})},_startWithLetter:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d.substring(0,1))})},_number:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=new Number(d);return !isNaN(c)&&isFinite(c)})},_phone:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^\(\d{3}\)(\d){3}-(\d){4}$/;return c.test(d)})},_length:function(c,d,b){return this._minLength(c,d)&&this._maxLength(c,b)},_maxLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length<=b})},_minLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length>=b})},_email:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return c.test(d)})},_zipCode:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/;return c.test(d)})},_ssn:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d{3}-\d{2}-\d{4}/;return c.test(d)})},_validateText:function(b,d){var c;if(this._isTextInput(b)){if(this._isjQWidget(b)){if(b.find("input").length>0){c=b.find("input").val()}else{c=b.val()}}else{c=b.val()}return d(c)}return false},_isjQWidget:function(b){var c=a.data(b[0]);if(c.jqxMaskedInput||c.jqxNumberInput||c.jqxDateTimeInput){return true}if(b[0].tagName.toLowerCase().indexOf("jqx")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-password-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-complex-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-formatted-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-masked-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-date-time-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-number-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-check-box")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-radio-button")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqxcheckbox")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("angular")>=0){return true}return false},_isTextInput:function(b){var c=this._getType(b);return c==="text"||c==="textarea"||c==="password"||c==="jqx-input-inner"||b.is(".jqx-input")||b.is(".jqx-text-area")},_getType:function(c){if(!c[0]){return}var b=c[0].tagName.toLowerCase(),d;if(b==="textarea"){return"textarea"}else{if(c.is(".jqx-input")){return"jqx-input"}else{if(c.is(".jqx-text-area")){return"jqx-text-area"}else{if(c.find(".jqx-input").length>0){return"jqx-input-inner"}else{if(b==="input"){d=a(c).attr("type")?a(c).attr("type").toLowerCase():"text";return d}}}}}if(b==="jqx-password-input"){return"password"}if(b==="jqx-check-box"){return"jqx-check-box"}if(b==="jqx-radio-button"){return"jqx-radio-button"}return b},_hintRender:function(f,c){if(this.hintType=="label"){var g=a('<label class="'+this.toThemeProperty("jqx-validator-error-label")+'"></label>');g.html(f);var d=false;if(c.parent().find(".jqx-input-label").length>0){g=c.parent().find(".jqx-input-label");if(c.data().jqxWidget.hint){g.html(f);g.addClass(this.toThemeProperty("jqx-validator-error-label"));c.data().jqxWidget.host.attr("hint",true)}d=true;this.hasHint=true}var e=this;if(this.closeOnClick){g.click(function(){e.hideHint(c.selector)})}if(!d){if(this.position=="left"||this.position=="top"){g.insertBefore(a(c))}else{g.insertAfter(a(c))}}return g}var g=a('<div class="'+this.toThemeProperty("jqx-validator-hint")+' jqx-rc-all"></div>'),b=this;g.html(f);if(this.closeOnClick){g.click(function(){b.hideHint(c.selector)})}if(this.ownerElement==null){g.appendTo(document.body)}else{if(this.ownerElement.innerHTML){g.appendTo(a(this.ownerElement))}else{g.appendTo(this.ownerElement)}}return g},_hintLayout:function(h,c,b,f){if(this._hintRender===f.hintRender){var i;i=this._getPosition(c,b,h,f);if(this.hintType=="label"){var e="2px";if(this.position=="left"||this.position=="top"){e="-2px"}if(c[0].nodeName.toLowerCase()!="input"&&c[0].nodeName.toLowerCase()!="textarea"){if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}}}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}var d=a("<span></span>");d.addClass(this.toThemeProperty("jqx-validator-hint"));d.html(h.text());d.appendTo(a(document.body));var g=d.outerWidth();d.remove();if(!this.hasHint){h.css({position:"relative",left:a(c).css("margin-left"),width:a(c).width(),top:e});if(b=="center"){h.css("width",g);h.css("left","0px");h.css("margin-left","auto");h.css("margin-right","auto")}}return}h.css({position:"absolute",left:i.left,top:i.top});if(this.arrow){this._addArrow(c,h,b,i)}}},_showHint:function(b){if(b){if(this.animation==="fade"){b.fadeOut(0);b.fadeIn(this.animationDuration)}}},_getPosition:function(i,f,d,g){var e=i.offset(),h,c;var b=i.outerWidth();var j=i.outerHeight();if(this.rtl&&f.indexOf("left")>=0){f="right"}if(this.rtl&&f.indexOf("right")>=0){f="left"}if(this.ownerElement!=null){e={left:0,top:0};e.top=parseInt(e.top)+i.position().top;e.left=parseInt(e.left)+i.position().left}if(g&&g.hintPositionRelativeElement){var k=a(g.hintPositionRelativeElement);e=k.offset();b=k.width();j=k.height()}if(f.indexOf("top")>=0){h=e.top-j}else{if(f.indexOf("bottom")>=0){h=e.top+d.outerHeight()+this.hintPositionOffset+5}else{h=e.top}}if(f.indexOf("center")>=0){c=e.left+this.hintPositionOffset+(b-d.outerWidth())/2}else{if(f.indexOf("left")>=0){c=e.left-d.outerWidth()-this.hintPositionOffset}else{if(f.indexOf("right")>=0){c=e.left+b+this.hintPositionOffset}else{c=e.left+this.hintPositionOffset}}}if(f.indexOf(":")>=0){f=f.split(":")[1].split(",");c+=parseInt(f[0],10);h+=parseInt(f[1],10)}if(!this.positions){this.positions=new Array()}if(this.positions[Math.round(h)+"_"+Math.round(c)]){if(this.positions[Math.round(h)+"_"+Math.round(c)].top==h){h+=i.outerHeight()}}this.positions[Math.round(h)+"_"+Math.round(c)]={left:c,top:h};return{left:c,top:h}},_addArrow:function(j,e,g,k){var l=a('<div class="'+this.toThemeProperty("jqx-validator-hint-arrow")+'"></div>'),d,i;if(this.rtl&&g.indexOf("left")>=0){g="right"}if(this.rtl&&g.indexOf("right")>=0){g="left"}e.children(".jqx-validator-hint-arrow").remove();e.append(l);var c=l.outerHeight(),f=l.outerWidth(),h=e.outerHeight(),b=e.outerWidth();this._addImage(l);if(g.indexOf("top")>=0){i=h-c}else{if(g.indexOf("bottom")>=0){i=-c}else{i=(h-c)/2-c/2}}if(g.indexOf("center")>=0){d=(b-f)/2}else{if(g.indexOf("left")>=0){d=b-f/2-1}else{if(g.indexOf("right")>=0){d=-f/2}}}if(g.indexOf("topright")>=0||g.indexOf("bottomright")>=0){d=0}if(g.indexOf("topleft")>=0||g.indexOf("bottomleft")>=0){d=b-f}l.css({position:"absolute",left:d,top:i})},_addImage:function(b){var c=b.css("background-image");c=c.replace('url("',"");c=c.replace('")',"");c=c.replace("url(","");c=c.replace(")","");b.css("background-image","none");b.append('<img src="'+c+'" alt="Arrow" style="position: relative; top: 0px; left: 0px; width: '+b.width()+"px; height: "+b.height()+'px;" />')},_raiseEvent:function(b,d){var c=a.Event(this._events[b]);c.args=d;return this.host.trigger(c)},propertyChangedHandler:function(b,c,e,d){if(c==="rules"){this._configureInputs();this._removeEventListeners();this._addEventListeners()}}})})(jqxBaseFramework);
+(function(a){a.jqx.jqxWidget("jqxValidator","",{});a.extend(a.jqx._jqxValidator.prototype,{defineInstance:function(){var b={rules:null,scroll:true,focus:true,scrollDuration:300,scrollCallback:null,position:"right",arrow:true,animation:"fade",animationDuration:150,closeOnClick:true,onError:null,onSuccess:null,ownerElement:null,_events:["validationError","validationSuccess"],hintPositionOffset:5,_inputHint:[],rtl:false,hintType:"tooltip"};if(this===a.jqx._jqxValidator.prototype){return b}a.extend(true,this,b);return b},createInstance:function(){if(this.hintType=="label"&&this.animationDuration==150){this.animationDuration=0}this._configureInputs();this._removeEventListeners();this._addEventListeners()},destroy:function(){this._removeEventListeners();this.hide()},validate:function(q){var b=true,p,f=Infinity,j,h,c,k=[],o;this.updatePosition();var l=this;var d=0;for(var g=0;g<this.rules.length;g+=1){if(typeof this.rules[g].rule==="function"){d++}}this.positions=new Array();for(var g=0;g<this.rules.length;g+=1){var n=a(this.rules[g].input);if(typeof this.rules[g].rule==="function"){var m=function(s,r){p=s;if(false==p){b=false;var i=a(r.input);c=a(r.input);k.push(c);var t=c.offset();if(t){j=t.top;if(f>j){f=j;h=c}}}d--;if(d==0){if(typeof q==="function"){l._handleValidation(b,f,h,k);if(q){q(b)}}}};this._validateRule(this.rules[g],m)}else{p=this._validateRule(this.rules[g])}if(false==p){b=false;c=a(this.rules[g].input);k.push(c);var e=c.offset();if(e){j=e.top;if(f>j){f=j;h=c}}}}if(d==0){this._handleValidation(b,f,h,k);return b}else{return undefined}},validateInput:function(b){var e=this._getRulesForInput(b),d=true;for(var c=0;c<e.length;c+=1){if(!this._validateRule(e[c])){d=false}}return d},hideHint:function(b){var d=this._getRulesForInput(b);for(var c=0;c<d.length;c+=1){this._hideHintByRule(d[c])}},hide:function(){var c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];this._hideHintByRule(this.rules[b])}},updatePosition:function(){var c;this.positions=new Array();for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(c.hint){this._hintLayout(c.hint,a(c.input),c.position,c)}}},_getRulesForInput:function(b){var d=[];for(var c=0;c<this.rules.length;c+=1){if(this.rules[c].input===b){d.push(this.rules[c])}}return d},_validateRule:function(f,i){var b=a(f.input),h,e=true;var d=this;var g=function(k){if(!k){var j=d.animation;d.animation=null;if(f.hint){d._hideHintByRule(f)}if(a(b).css("display")=="none"){d._hideHintByRule(f);return}if(a(b).parents().length==0){d._hideHintByRule(f);return}h=f.hintRender.apply(d,[f.message,b]);d._hintLayout(h,b,f.position,f);d._showHint(h);f.hint=h;d._removeLowPriorityHints(f);if(i){i(false,f)}d.animation=j}else{d._hideHintByRule(f);if(i){i(true,f)}}};var c=false;if(typeof f.rule==="function"){c=f.rule.call(this,b,g);if(c==true&&i){i(true,f)}}if(typeof f.rule==="function"&&c==false){if(typeof f.hintRender==="function"&&!f.hint&&!this._higherPriorityActive(f)&&b.is(":visible")){h=f.hintRender.apply(this,[f.message,b]);this._removeLowPriorityHints(f);this._hintLayout(h,b,f.position,f);this._showHint(h);f.hint=h}e=false;if(i){i(false,f)}}else{this._hideHintByRule(f)}return e},_hideHintByRule:function(e){var c=a(e.input);var b=this,f;var d=function(){if(b.hintType!="label"){return}var g=b;if(g.position=="top"||g.position=="left"){if(c.prev().hasClass(".jqx-validator-error-label")){return}}else{if(c.next().hasClass(".jqx-validator-error-label")){return}}if(c[0].nodeName.toLowerCase()!="input"){if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}};if(e){f=e.hint;if(f){if(this.positions){if(this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]){this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]=null}}if(this.animation==="fade"){f.fadeOut(this.animationDuration,function(){f.remove();d()})}else{f.remove();d()}}e.hint=null}},_handleValidation:function(b,e,d,c){if(!b){this._scrollHandler(e);if(this.focus){d.focus()}this._raiseEvent(0,{invalidInputs:c});if(typeof this.onError==="function"){this.onError(c)}}else{this._raiseEvent(1);if(typeof this.onSuccess==="function"){this.onSuccess()}}},_scrollHandler:function(c){if(this.scroll){var b=this;a("html,body").animate({scrollTop:c},this.scrollDuration,function(){if(typeof b.scrollCallback==="function"){b.scrollCallback.call(b)}})}},_higherPriorityActive:function(d){var e=false,c;for(var b=this.rules.length-1;b>=0;b-=1){c=this.rules[b];if(e&&c.input===d.input&&c.hint){return true}if(c===d){e=true}}return false},_removeLowPriorityHints:function(d){var e=false,c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(e&&c.input===d.input){this._hideHintByRule(c)}if(c===d){e=true}}},_getHintRuleByInput:function(b){var d;for(var c=0;c<this.rules.length;c+=1){d=this.rules[c];if(a(d.input)[0]===b[0]&&d.hint){return d}}return null},_removeEventListeners:function(){var f,b,e;for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];e=f.action.split(",");b=a(f.input);for(var c=0;c<e.length;c+=1){this.removeHandler(b,a.trim(e[c])+".jqx-validator")}}},_addEventListeners:function(){var f,c;if(this.host.parents(".jqx-window").length>0){var b=this;var g=function(){b.updatePosition()};var e=this.host.parents(".jqx-window");this.addHandler(e,"closed",function(){b.hide()});this.addHandler(e,"moved",g);this.addHandler(e,"moving",g);this.addHandler(e,"resized",g);this.addHandler(e,"resizing",g);this.addHandler(a(document.parentWindow),"scroll",function(){if(b.scroll){g()}})}for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];c=a(f.input);this._addListenerTo(c,f)}},_addListenerTo:function(c,h){var b=this,f=h.action.split(",");var e=false;if(this._isjQWidget(c)){e=true}for(var d=0;d<f.length;d+=1){var g=a.trim(f[d]);if(e&&(g=="blur"||g=="focus")){if(c&&c[0].nodeName.toLowerCase()!="input"){c=c.find("input")}}this.addHandler(c,g+".jqx-validator",function(i){b._validateRule(h)})}},_configureInputs:function(){var b,d;this.rules=this.rules||[];for(var c=0;c<this.rules.length;c+=1){this._handleInput(c)}},_handleInput:function(b){var c=this.rules[b];if(!c.position){c.position=this.position}if(!c.message){c.message="Validation Failed!"}if(!c.action){c.action="blur"}if(!c.hintRender){c.hintRender=this._hintRender}if(!c.rule){c.rule=null}else{this._handleRule(c)}},_handleRule:function(f){var c=f.rule,e,d,b=false;if(typeof c==="string"){if(c.indexOf("=")>=0){c=c.split("=");d=c[1].split(",");c=c[0]}e=this["_"+c];if(e){f.rule=function(g,h){return e.apply(this,[g].concat(d))}}else{b=true}}else{if(typeof c!=="function"){b=true}else{f.rule=c}}if(b){throw new Error("Wrong parameter!")}},_required:function(b){switch(this._getType(b)){case"jqx-input-inner":if(b.find("input").length>0){return a.trim(b.find("input").val())!==""}break;case"textarea":case"password":case"jqx-input":case"jqx-text-area":case"text":var d=a.data(b[0]);if(d.jqxMaskedInput){var e=b.jqxMaskedInput("promptChar"),c=b.jqxMaskedInput("value");return c&&c.indexOf(e)<0}else{if(d.jqxNumberInput){return b.jqxNumberInput("inputValue")!==""}else{if(d.jqxDateTimeInput){return true}else{return a.trim(b.val())!==""}}}case"checkbox":return b.is(":checked");case"radio":return b.is(":checked");case"jqx-check-box":case"jqx-radio-button":return b[0].val();case"jqxCheckBox":case"jqxcheckbox":case"jqxradiobutton":case"jqxRadioButton":var c=b.find("input").val();if(c===true||c===1||c==="true"){return true}return false;break;case"div":if(b.is(".jqx-checkbox")){return b.jqxCheckBox("checked")}if(b.is(".jqx-radiobutton")){return b.jqxRadioButton("checked")}return false}return false},_notNumber:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d)})},_startWithLetter:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d.substring(0,1))})},_number:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=new Number(d);return !isNaN(c)&&isFinite(c)})},_phone:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^\(\d{3}\)(\d){3}-(\d){4}$/;return c.test(d)})},_length:function(c,d,b){return this._minLength(c,d)&&this._maxLength(c,b)},_maxLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length<=b})},_minLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length>=b})},_email:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return c.test(d)})},_zipCode:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/;return c.test(d)})},_ssn:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d{3}-\d{2}-\d{4}/;return c.test(d)})},_validateText:function(b,d){var c;if(this._isTextInput(b)){if(this._isjQWidget(b)){if(b.find("input").length>0){c=b.find("input").val()}else{c=b.val()}}else{c=b.val()}return d(c)}return false},_isjQWidget:function(b){var c=a.data(b[0]);if(c.jqxMaskedInput||c.jqxNumberInput||c.jqxDateTimeInput){return true}if(b[0].tagName.toLowerCase().indexOf("jqx")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-password-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-complex-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-formatted-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-masked-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-date-time-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-number-input")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-check-box")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqx-radio-button")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("jqxcheckbox")>=0){return true}if(b[0].tagName.toLowerCase().indexOf("angular")>=0){return true}return false},_isTextInput:function(b){var c=this._getType(b);return c==="text"||c==="textarea"||c==="password"||c==="jqx-input-inner"||b.is(".jqx-input")||b.is(".jqx-text-area")},_getType:function(c){if(!c[0]){return}var b=c[0].tagName.toLowerCase(),d;if(b==="textarea"){return"textarea"}else{if(c.is(".jqx-input")){return"jqx-input"}else{if(c.is(".jqx-text-area")){return"jqx-text-area"}else{if(c.find(".jqx-input").length>0){return"jqx-input-inner"}else{if(b==="input"){d=a(c).attr("type")?a(c).attr("type").toLowerCase():"text";return d}}}}}if(b==="jqx-password-input"){return"password"}if(b==="jqx-check-box"){return"jqx-check-box"}if(b==="jqx-radio-button"){return"jqx-radio-button"}return b},_hintRender:function(f,c){if(this.hintType=="label"){var g=a('<label class="'+this.toThemeProperty("jqx-validator-error-label")+'"></label>');g.html(f);var d=false;if(c.parent().find(".jqx-input-label").length>0&&!c.hasClass("jqx-dropdownlist")&&!c.hasClass("jqx-combobox")&&!c.hasClass("jqx-datetimeinput")){g=c.parent().find(".jqx-input-label");if(c.data().jqxWidget.hint){g.html(f);g.addClass(this.toThemeProperty("jqx-validator-error-label"));c.data().jqxWidget.host.attr("hint",true)}d=true;this.hasHint=true}var e=this;if(this.closeOnClick){g.click(function(){e.hideHint(c.selector)})}if(!d){if(this.position=="left"||this.position=="top"){g.insertBefore(a(c))}else{g.insertAfter(a(c))}}return g}var g=a('<div class="'+this.toThemeProperty("jqx-validator-hint")+' jqx-rc-all"></div>'),b=this;g.html(f);if(this.closeOnClick){g.click(function(){b.hideHint(c.selector)})}if(this.ownerElement==null){g.appendTo(document.body)}else{if(this.ownerElement.innerHTML){g.appendTo(a(this.ownerElement))}else{g.appendTo(this.ownerElement)}}return g},_hintLayout:function(h,c,b,f){if(this._hintRender===f.hintRender){var i;i=this._getPosition(c,b,h,f);if(this.hintType=="label"){var e="2px";if(this.position=="left"||this.position=="top"){e="-2px"}if(c[0].nodeName.toLowerCase()!="input"&&c[0].nodeName.toLowerCase()!="textarea"){if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.find(".jqx-text-area").length>0){c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}}}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}var d=a("<span></span>");d.addClass(this.toThemeProperty("jqx-validator-hint"));d.html(h.text());d.appendTo(a(document.body));var g=d.outerWidth();d.remove();if(!this.hasHint){h.css({position:"relative",left:a(c).css("margin-left"),width:a(c).width(),top:e});if(b=="center"){h.css("width",g);h.css("left","0px");h.css("margin-left","auto");h.css("margin-right","auto")}}return}h.css({position:"absolute",left:i.left,top:i.top});if(this.arrow){this._addArrow(c,h,b,i)}}},_showHint:function(b){if(b){if(this.animation==="fade"){b.fadeOut(0);b.fadeIn(this.animationDuration)}}},_getPosition:function(i,f,d,g){var e=i.offset(),h,c;var b=i.outerWidth();var j=i.outerHeight();if(this.rtl&&f.indexOf("left")>=0){f="right"}if(this.rtl&&f.indexOf("right")>=0){f="left"}if(this.ownerElement!=null){e={left:0,top:0};e.top=parseInt(e.top)+i.position().top;e.left=parseInt(e.left)+i.position().left}if(g&&g.hintPositionRelativeElement){var k=a(g.hintPositionRelativeElement);e=k.offset();b=k.width();j=k.height()}if(f.indexOf("top")>=0){h=e.top-j}else{if(f.indexOf("bottom")>=0){h=e.top+d.outerHeight()+this.hintPositionOffset+5}else{h=e.top}}if(f.indexOf("center")>=0){c=e.left+this.hintPositionOffset+(b-d.outerWidth())/2}else{if(f.indexOf("left")>=0){c=e.left-d.outerWidth()-this.hintPositionOffset}else{if(f.indexOf("right")>=0){c=e.left+b+this.hintPositionOffset}else{c=e.left+this.hintPositionOffset}}}if(f.indexOf(":")>=0){f=f.split(":")[1].split(",");c+=parseInt(f[0],10);h+=parseInt(f[1],10)}if(!this.positions){this.positions=new Array()}if(this.positions[Math.round(h)+"_"+Math.round(c)]){if(this.positions[Math.round(h)+"_"+Math.round(c)].top==h){h+=i.outerHeight()}}this.positions[Math.round(h)+"_"+Math.round(c)]={left:c,top:h};return{left:c,top:h}},_addArrow:function(j,e,g,k){var l=a('<div class="'+this.toThemeProperty("jqx-validator-hint-arrow")+'"></div>'),d,i;if(this.rtl&&g.indexOf("left")>=0){g="right"}if(this.rtl&&g.indexOf("right")>=0){g="left"}e.children(".jqx-validator-hint-arrow").remove();e.append(l);var c=l.outerHeight(),f=l.outerWidth(),h=e.outerHeight(),b=e.outerWidth();this._addImage(l);if(g.indexOf("top")>=0){i=h-c}else{if(g.indexOf("bottom")>=0){i=-c}else{i=(h-c)/2-c/2}}if(g.indexOf("center")>=0){d=(b-f)/2}else{if(g.indexOf("left")>=0){d=b-f/2-1}else{if(g.indexOf("right")>=0){d=-f/2}}}if(g.indexOf("topright")>=0||g.indexOf("bottomright")>=0){d=0}if(g.indexOf("topleft")>=0||g.indexOf("bottomleft")>=0){d=b-f}l.css({position:"absolute",left:d,top:i})},_addImage:function(b){var c=b.css("background-image");c=c.replace('url("',"");c=c.replace('")',"");c=c.replace("url(","");c=c.replace(")","");b.css("background-image","none");b.append('<img src="'+c+'" alt="Arrow" style="position: relative; top: 0px; left: 0px; width: '+b.width()+"px; height: "+b.height()+'px;" />')},_raiseEvent:function(b,d){var c=a.Event(this._events[b]);c.args=d;return this.host.trigger(c)},propertyChangedHandler:function(b,c,e,d){if(c==="rules"){this._configureInputs();this._removeEventListeners();this._addEventListeners()}}})})(jqxBaseFramework);
 
--- a/www/jqwidgets/jqxwindow.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/jqxwindow.js	Fri May 01 16:37:31 2020 +0200
@@ -1,9 +1,9 @@
 /*
-jQWidgets v8.1.4 (2019-July)
-Copyright (c) 2011-2019 jQWidgets.
+jQWidgets v9.0.0 (2020-Jan)
+Copyright (c) 2011-2020 jQWidgets.
 License: https://jqwidgets.com/license/
 */
 /* eslint-disable */
 
-(function(a){a.jqx.jqxWidget("jqxWindow","",{});a.extend(a.jqx._jqxWindow.prototype,{defineInstance:function(){var e={height:"auto",width:200,minHeight:50,maxHeight:1200,minWidth:50,maxWidth:1200,showCloseButton:true,disabled:false,autoOpen:true,keyboardCloseKey:"esc",title:"",content:"",draggable:true,resizable:true,animationType:"fade",closeAnimationDuration:250,showAnimationDuration:250,isModal:false,position:"center",closeButtonSize:16,closeButtonAction:"hide",modalOpacity:0.3,dragArea:null,okButton:null,cancelButton:null,dialogResult:{OK:false,Cancel:false,None:true},collapsed:false,showCollapseButton:false,collapseAnimationDuration:150,collapseButtonSize:16,rtl:false,keyboardNavigation:true,headerHeight:null,_events:["created","closed","moving","moved","open","collapse","expand","open","close","resize"],initContent:null,enableResize:true,restricter:null,autoFocus:true,closing:null,_invalidArgumentExceptions:{invalidHeight:"Invalid height!",invalidWidth:"Invalid width!",invalidMinHeight:"Invalid minHeight!",invalidMaxHeight:"Invalid maxHeight!",invalidMinWidth:"Invalid minWidth!",invalidMaxWidth:"Invalid maxWidth",invalidKeyCode:"Invalid keyCode!",invalidAnimationType:"Invalid animationType!",invalidCloseAnimationDuration:"Invalid closeAnimationDuration!",invalidShowAnimationDuration:"Invalid showAnimationDuration!",invalidPosition:"Invalid position!",invalidCloseButtonSize:"Invalid closeButtonSize!",invalidCollapseButtonSize:"Invalid collapseButtonSize!",invalidCloseButtonAction:"Invalid cluseButtonAction!",invalidModalOpacity:"Invalid modalOpacity!",invalidDragArea:"Invalid dragArea!",invalidDialogResult:"Invalid dialogResult!",invalidIsModal:"You can have just one modal window!"},_enableResizeCollapseBackup:null,_enableResizeBackup:undefined,_heightBeforeCollapse:null,_minHeightBeforeCollapse:null,_mouseDown:false,_isDragging:false,_rightContentWrapper:null,_leftContentWrapper:null,_headerContentWrapper:null,_closeButton:null,_collapseButton:null,_title:null,_content:null,_mousePosition:{},_windowPosition:{},_modalBackground:null,_SCROLL_WIDTH:21,_visible:true,modalBackgroundZIndex:1299,modalZIndex:1800,zIndex:1000,_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave",click:a.jqx.mobile.getTouchEventName("touchstart")}};if(this===a.jqx._jqxWindow.prototype){return e}a.extend(true,this,e);return e},createInstance:function(){if(this.host.initAnimate){this.host.initAnimate()}this.host.attr("role","dialog");this.host.removeAttr("data-bind");this.host.appendTo(document.body);var g=this;var f=function(l){for(var k=0;k<l.length;k++){var j=l[k];if(g[j]&&g[j].toString().indexOf("px")>=0){g[j]=parseInt(g[j],10)}}};f(["minWidth","minHeight","maxWidth","maxHeight","width","height"]);var h=function(){var j=parseInt(a(g.restricter).css("padding-top"),10);var i=parseInt(a(g.restricter).css("padding-left"),10);var k=parseInt(a(g.restricter).css("padding-bottom"),10);var m=parseInt(a(g.restricter).css("padding-right"),10);var l=a(g.restricter).coord();g.dragArea={left:i+l.left,top:j+l.top,width:1+m+a(g.restricter).width(),height:1+k+a(g.restricter).height()}};if(this.restricter){h()}if(this.restricter){this.addHandler(a(window),"resize."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){h()})}this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._validateProperties();this._createStructure();this._refresh();if(!this.autoOpen){this.element.style.display="none"}if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}if(!this.isModal){this._fixWindowZIndex()}this._setStartupSettings();this._positionWindow();this._raiseEvent(0);if(this.autoOpen){this._performLayout();var e=this;if(this.isModal){this._fixWindowZIndex("modal-show")}if(e.initContent){e.initContent();e._contentInitialized=true}this._raiseEvent(7);this._raiseEvent(9)}},refresh:function(){this._performLayout()},_setStartupSettings:function(){if(this.disabled){this.disable()}if(this.collapsed){this.collapsed=false;this.collapse(0)}if(!this.autoOpen){this.hide(null,0.001,true);this._visible=false}if(this.title!==null&&this.title!==""){this.setTitle(this.title)}if(this.content!==null&&this.content!==""){this.setContent(this.content)}this.title=this._headerContentWrapper.html();this.content=this._content.html()},_fixWindowZIndex:function(h){var g=a.data(document.body,"jqxwindows-list")||[],l=this.zIndex;if(!this.isModal){if(this._indexOf(this.host,g)<0){g.push(this.host)}a.data(document.body,"jqxwindows-list",g);if(g.length>1){var k=g[g.length-2];if(k.css("z-index")=="auto"){l=this.zIndex+g.length+1}else{var i=this.zIndex;l=parseInt(k.css("z-index"),10)+1;if(l<i){l=i}}}}else{if(g){g=this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}var f=a.data(document.body,"jqxwindows-modallist");if(!f){if(h=="modal-show"){var j=[];j.push(this.host);a.data(document.body,"jqxwindows-modallist",j);f=j}else{a.data(document.body,"jqxwindows-modallist",[]);f=[]}}else{if(h=="modal-show"){f.push(this.host)}else{var e=f.indexOf(this.host);if(e!=-1){f.splice(e,1)}}}l=this.modalZIndex;a.each(f,function(){if(this.data()){if(this.data().jqxWindow){var m=this.data().jqxWindow.instance;m._modalBackground.style.zIndex=l;m.element.style.zIndex=l+1;l+=2}}});a.data(document.body,"jqxwindow-modal",this.host);return}this.element.style.zIndex=l;this._sortByStyle("z-index",g)},_validateProperties:function(){try{this._validateSize();this._validateAnimationProperties();this._validateInteractionProperties();this._validateModalProperties();if(!this.position){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(isNaN(this.closeButtonSize)||parseInt(this.closeButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonSize)}if(isNaN(this.collapseButtonSize)||parseInt(this.collapseButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCollapseButtonSize)}}catch(e){throw new Error(e)}},_validateModalProperties:function(){if(this.modalOpacity<0||this.modalOpacity>1){throw new Error(this._invalidArgumentExceptions.invalidModalOpacity)}if(this.isModal&&!this._singleModalCheck()){throw new Error(this._invalidArgumentExceptions.invalidIsModal)}},_validateSize:function(){this._validateSizeLimits();if(this.height!=="auto"&&isNaN(parseInt(this.height,10))){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.width!=="auto"&&isNaN(parseInt(this.width,10))){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(this.height!=="auto"&&this.height<this.minHeight){this.height=this.minHeight}if(this.width<this.minWidth){this.width=this.minWidth}if(this.height!=="auto"&&this.height>this.maxHeight){this.height=this.maxHeight}if(this.width>this.maxWidth){this.width=this.maxWidth}if(this.dragArea===null){return}if(this.dragArea&&((this.dragArea.height!==null&&this.host.height()>this.dragArea.height)||(parseInt(this.height,10)>this.dragArea.height))||(this.dragArea.width!==null&&this.width>this.dragArea.width)||(this.maxHeight>this.dragArea.height||this.maxWidth>this.dragArea.width)){}},_validateSizeLimits:function(){if(this.maxHeight==null){this.maxHeight=9999}if(this.minWidth==null){this.minWidth=0}if(this.maxWidth==null){this.maxWidth=9999}if(this.minHeight==null){this.minHeight=0}if(isNaN(parseInt(this.minHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}if(isNaN(parseInt(this.maxHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxHeight)}if(isNaN(parseInt(this.minWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}if(isNaN(parseInt(this.maxWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxWidth)}if(this.minHeight&&this.maxHeight){if(parseInt(this.minHeight,10)>parseInt(this.maxHeight,10)&&this.maxHeight!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}}if(this.minWidth&&this.maxWidth){if(parseInt(this.minWidth,10)>parseInt(this.maxWidth,10)&&this.maxWidth!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}}},_validateAnimationProperties:function(){if(this.animationType!=="fade"&&this.animationType!=="slide"&&this.animationType!=="combined"&&this.animationType!=="none"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(isNaN(parseInt(this.closeAnimationDuration,10))||this.closeAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidCloseAnimationDuration)}if(isNaN(parseInt(this.showAnimationDuration,10))||this.showAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidShowAnimationDuration)}},_validateInteractionProperties:function(){if(parseInt(this.keyCode,10)<0||parseInt(this.keyCode,10)>130&&this.keyCode!=="esc"){throw new Error(this._invalidArgumentExceptions.invalidKeyCode)}if(this.dragArea!==null&&(typeof this.dragArea.width==="undefined"||typeof this.dragArea.height==="undefined"||typeof this.dragArea.left==="undefined"||typeof this.dragArea.top==="undefined")){throw new Error(this._invalidArgumentExceptions.invalidDragArea)}if(!this.dialogResult||(!this.dialogResult.OK&&!this.dialogResult.Cancel&&!this.dialogResult.None)){throw new Error(this._invalidArgumentExceptions.invalidDialogResult)}if(this.closeButtonAction!=="hide"&&this.closeButtonAction!=="close"){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonAction)}},_singleModalCheck:function(){var e=a.data(document.body,"jqxwindows-list")||[],f=e.length;while(f){f-=1;if(a(e[f].attr("id")).length>0){if(a(e[f].attr("id")).jqxWindow("isModal")){return false}}}return true},_createStructure:function(){var e=this.host.children();if(e.length===1){this._content=e[0];this._header=document.createElement("div");this._header.innerHTML=this.host.attr("caption");this.element.insertBefore(this._header,this._content);this.host.attr("caption","");this._header=a(this._header);this._content=a(this._content)}else{if(e.length===2){this._header=a(e[0]);this._content=a(e[1])}else{throw new Error("Invalid structure!")}}},_refresh:function(){this._render();this._addStyles();this._performLayout();this._removeEventHandlers();this._addEventHandlers();this._initializeResize()},_render:function(){this._addHeaderWrapper();this._addCloseButton();this._addCollapseButton();this._removeModal();this._makeModal()},_addHeaderWrapper:function(){if(!this._headerContentWrapper){this._header[0].innerHTML='<div style="float:left;">'+this._header[0].innerHTML+"</div>";this._headerContentWrapper=a(this._header.children()[0]);if(this.headerHeight!==null){this._header.height(this.headerHeight)}}},_addCloseButton:function(){if(!this._closeButton){this._closeButtonWrapper=document.createElement("div");this._closeButtonWrapper.className=this.toThemeProperty("jqx-window-close-button-background");this._closeButton=document.createElement("div");this._closeButton.className=this.toThemeProperty("jqx-window-close-button jqx-icon-close");this._closeButton.style.width="100%";this._closeButton.style.height="100%";this._closeButtonWrapper.appendChild(this._closeButton);this._header[0].appendChild(this._closeButtonWrapper);this._closeButtonWrapper=a(this._closeButtonWrapper);this._closeButton=a(this._closeButton)}},_addCollapseButton:function(){if(!this._collapseButton){this._collapseButtonWrapper=document.createElement("div");this._collapseButtonWrapper.className=this.toThemeProperty("jqx-window-collapse-button-background");this._collapseButton=document.createElement("div");this._collapseButton.className=this.toThemeProperty("jqx-window-collapse-button jqx-icon-arrow-up");this._collapseButton.style.width="100%";this._collapseButton.style.height="100%";this._collapseButtonWrapper.appendChild(this._collapseButton);this._header[0].appendChild(this._collapseButtonWrapper);this._collapseButtonWrapper=a(this._collapseButtonWrapper);this._collapseButton=a(this._collapseButton)}},_removeModal:function(){if(!this.isModal&&typeof this._modalBackground==="object"&&this._modalBackground!==null){a("."+this.toThemeProperty("jqx-window-modal")).remove();this._modalBackground=null}},focus:function(){try{this.host.focus();var f=this;setTimeout(function(){f.host.focus()},10)}catch(e){}},_makeModal:function(){if(this.isModal&&!this._modalBackground){var g=a.data(document.body,"jqxwindows-list");if(g){this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}this._modalBackground=document.createElement("div");this._modalBackground.className=this.toThemeProperty("jqx-window-modal");this._setModalBackgroundStyles();document.body.appendChild(this._modalBackground);this.addHandler(this._modalBackground,this._getEvent("click"),function(){return false});var f=this;var e=function(h,i){return i.contains(h)};this.addHandler(this._modalBackground,"mouseup",function(h){f._stopResizing(f);h.preventDefault()});this.addHandler(this._modalBackground,"mousedown",function(i){var h=f._getTabbables();if(h.length>0){h[0].focus();setTimeout(function(){h[0].focus()},100)}i.preventDefault();return false});this.addHandler(a(document),"keydown.window"+this.element.id,function(k){if(k.keyCode!==9){return}var h=a.data(document.body,"jqxwindows-modallist");if(h.length>1){if(h[h.length-1][0]!=f.element){return}}var j=f._getTabbables();var l=null;var i=null;if(f.element.offsetWidth===0||f.element.offsetHeight===0){return}if(j.length>0){l=j[0];i=j[j.length-1]}if(k.target==f.element){return}if(l==null){return}if(!e(k.target,f.element)){l.focus();return false}if(k.target===i&&!k.shiftKey){l.focus();return false}else{if(k.target===l&&k.shiftKey){i.focus();return false}}})}},_addStyles:function(){this.host.addClass(this.toThemeProperty("jqx-rc-all"));this.host.addClass(this.toThemeProperty("jqx-window"));this.host.addClass(this.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-window-header"));this._content.addClass(this.toThemeProperty("jqx-window-content"));this._header.addClass(this.toThemeProperty("jqx-widget-header"));this._content.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-disableselect"));this._header.addClass(this.toThemeProperty("jqx-rc-t"));this._content.addClass(this.toThemeProperty("jqx-rc-b"));if(!this.host.attr("tabindex")){this.element.tabIndex=0;this._header[0].tabIndex=0;this._content[0].tabIndex=0}this.element.setAttribute("hideFocus","true");this.element.style.outline="none"},_performHeaderLayout:function(){this._handleHeaderButtons();this._header[0].style.position="relative";if(this.rtl){this._headerContentWrapper[0].style.direction="rtl";this._headerContentWrapper[0].style["float"]="right"}else{this._headerContentWrapper[0].style.direction="ltr";this._headerContentWrapper[0].style["float"]="left"}this._performHeaderCloseButtonLayout();this._performHeaderCollapseButtonLayout();this._centerElement(this._headerContentWrapper,this._header,"y","margin");if(this.headerHeight){this._centerElement(this._closeButtonWrapper,this._header,"y","margin");this._centerElement(this._collapseButtonWrapper,this._header,"y","margin")}},_handleHeaderButtons:function(){if(!this._closeButtonWrapper){return}if(!this.showCloseButton){this._closeButtonWrapper[0].style.visibility="hidden"}else{this._closeButtonWrapper[0].style.visibility="visible";var e=this._toPx(this.closeButtonSize);this._closeButtonWrapper[0].style.width=e;this._closeButtonWrapper[0].style.height=e}if(!this.showCollapseButton){this._collapseButtonWrapper[0].style.visibility="hidden"}else{this._collapseButtonWrapper[0].style.visibility="visible";var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f}},_performHeaderCloseButtonLayout:function(){if(!this._closeButtonWrapper){return}var e=parseInt(this._header.css("padding-right"),10);if(!isNaN(e)){this._closeButtonWrapper.width(this._closeButton.width());if(!this.rtl){this._closeButtonWrapper[0].style.marginRight=this._toPx(e);this._closeButtonWrapper[0].style.marginLeft="0px"}else{this._closeButtonWrapper[0].style.marginRight="0px";this._closeButtonWrapper[0].style.marginLeft=this._toPx(e)}}this._closeButtonWrapper[0].style.position="absolute";if(!this.rtl){this._closeButtonWrapper[0].style.right="0px";this._closeButtonWrapper[0].style.left=""}else{this._closeButtonWrapper[0].style.right="";this._closeButtonWrapper[0].style.left="0px"}},_performHeaderCollapseButtonLayout:function(){if(!this._closeButtonWrapper){return}var g=parseInt(this._header.css("padding-right"),10);if(!isNaN(g)){var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f;if(!this.rtl){this._collapseButtonWrapper[0].style.marginRight=this._toPx(g);this._collapseButtonWrapper[0].style.marginLeft="0px"}else{this._collapseButtonWrapper[0].style.marginRight="0px";this._collapseButtonWrapper[0].style.marginLeft=this._toPx(g)}}this._collapseButtonWrapper[0].style.position="absolute";var e=this._toPx(this.showCloseButton?this._closeButton.outerWidth(true):0);if(!this.rtl){this._collapseButtonWrapper[0].style.right=e;this._collapseButtonWrapper[0].style.left=""}else{this._collapseButtonWrapper[0].style.right="";this._collapseButtonWrapper[0].style.left=e}this._centerElement(this._collapseButton,a(this._collapseButton[0].parentElement),"y")},_performWidgetLayout:function(){var e;if(this.width!=="auto"){if(this.width&&this.width.toString().indexOf("%")>=0){this.element.style.width=this.width}else{this.element.style.width=this._toPx(this.width)}}if(!this.collapsed){if(this.height!=="auto"){if(this.height&&this.height.toString().indexOf("%")>=0){this.element.style.height=this.height}else{this.element.style.height=this._toPx(this.height)}}else{this.element.style.height=this.host.height()+"px"}this.element.style.minHeight=this._toPx(this.minHeight)}this._setChildrenLayout();e=this._validateMinSize();this.element.style.maxHeight=this._toPx(this.maxHeight);this.element.style.minWidth=this._toPx(this.minWidth);this.element.style.maxWidth=this._toPx(this.maxWidth);if(!e){this._setChildrenLayout()}},_setChildrenLayout:function(){this._header.width(this.host.width()-(this._header.outerWidth(true)-this._header.width()));this._content.width(this.host.width()-(this._content.outerWidth(true)-this._content.width()));this._content.height(this.host.height()-this._header.outerHeight(true)-(this._content.outerHeight(true)-this._content.height()))},_validateMinSize:function(){var f=true;if(this.minHeight<this._header.height()){this.minHeight=this._header.height();f=false}var h=a(this._header.children()[0]).outerWidth(),e=this._header.children()[1]?a(this._header.children()[1]).outerWidth():0,g=h+e;if(this.minWidth<100){this.minWidth=Math.min(g,100);f=false}return f},_centerElement:function(h,f,e,g){if(typeof f.left==="number"&&typeof f.top==="number"&&typeof f.height==="number"&&typeof f.width==="number"){this._centerElementInArea(h,f,e)}else{this._centerElementInParent(h,f,e,g)}},_centerElementInParent:function(e,o,j,g){var n=e.css("display")==="none";var f,h;j=j.toLowerCase();if(g){f=g+"Top";h=g+"Left"}else{f="top";h="left"}if(j.indexOf("y")>=0){if(n){e[0].style.display="block"}var i=e.outerHeight(true),l;if(n){e[0].style.display="none"}l=o.height();var k=(Math.max(0,l-i))/2;e[0].style[f]=k+"px"}if(j.indexOf("x")>=0){if(n){e[0].style.display="block"}var q=e.outerWidth(true),p;if(n){e[0].style.display="none"}p=o.width();var m=(Math.max(0,p-q))/2;e[0].style[h]=m+"px"}},_centerElementInArea:function(f,e,h){h=h.toLowerCase();if(h.indexOf("y")>=0){var g=f.outerHeight(true);var j=e.height;var i=(j-g)/2;f[0].style.top=i+e.top+"px"}if(h.indexOf("x")>=0){var m=f.outerWidth(true);var l=e.width;var k=(l-m)/2;f[0].style.left=k+e.left+"px"}},_removeEventHandlers:function(){this.removeHandler(this._header,this._getEvent("mousedown"));this.removeHandler(this._header,this._getEvent("mousemove"));this.removeHandler(this._header,"focus");this.removeHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"));this.removeHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"));this.removeHandler(this.host,"keydown");this.removeHandler(this._closeButton,this._getEvent("click"));this.removeHandler(this._closeButton,this._getEvent("mouseenter"));this.removeHandler(this._closeButton,this._getEvent("mouseleave"));this.removeHandler(this._collapseButton,this._getEvent("click"));this.removeHandler(this._collapseButton,this._getEvent("mouseenter"));this.removeHandler(this._collapseButton,this._getEvent("mouseleave"));this.removeHandler(this.host,this._getEvent("mousedown"));if(this.okButton){this.removeHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler)}if(this.cancelButton){this.removeHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler)}this.removeHandler(this._header,this._getEvent("mouseenter"));this.removeHandler(this._header,this._getEvent("mouseleave"));this.removeHandler(this.host,"resizing",this._windowResizeHandler)},_removeFromArray:function(e,g){var f=this._indexOf(e,g);if(f>=0){return g.splice(this._indexOf(e,g),1)}else{return g}},_sortByStyle:function(e,l){for(var h=0;h<l.length;h++){for(var f=l.length-1;f>h;f--){var m=l[f],k=l[f-1],g;if(parseInt(m.css(e),10)<parseInt(k.css(e),10)){g=m;l[f]=k;l[f-1]=g}}}},_initializeResize:function(){if(this.resizable){var e=this;this.initResize({target:this.host,alsoResize:e._content,maxWidth:e.maxWidth,minWidth:e.minWidth,maxHeight:e.maxHeight,minHeight:e.minHeight,indicatorSize:10,resizeParent:e.dragArea})}},_removeResize:function(){this.removeResize()},_getEvent:function(e){if(this._isTouchDevice){return this._touchEvents[e]}else{return e}},_addEventHandlers:function(){this._addDragDropHandlers();this._addCloseHandlers();this._addCollapseHandlers();this._addFocusHandlers();this._documentResizeHandlers();this._closeButtonHover();this._collapseButtonHover();this._addDialogButtonsHandlers();this._addHeaderHoverEffect();this._addResizeHandlers();var e=this;this.addHandler(this._header,this._getEvent("mousemove"),function(){e._addHeaderCursorHandlers(e)})},_addResizeHandlers:function(){var e=this;e.addHandler(e.host,"resizing",e._windowResizeHandler,{self:e});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){e._performLayout()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){e._performLayout()})},_windowResizeHandler:function(h){var e=h.data.self;e._header.width(e.host.width()-(e._header.outerWidth(true)-e._header.width()));if(e.width&&e.width.toString().indexOf("%")>=0){var g=a(document.body).width()/100;var f=1/g;e.width=(f*h.args.width)+"%"}else{e.width=h.args.width}if(e.height&&e.height.toString().indexOf("%")>=0){var g=a(document.body).height()/100;var f=1/g;e.height=(f*h.args.height)+"%"}else{e.height=h.args.height}},_addHeaderHoverEffect:function(){var e=this;this.addHandler(this._header,this._getEvent("mouseenter"),function(){a(this).addClass(e.toThemeProperty("jqx-window-header-hover"))});this.addHandler(this._header,this._getEvent("mouseleave"),function(){a(this).removeClass(e.toThemeProperty("jqx-window-header-hover"))})},_addDialogButtonsHandlers:function(){if(this.okButton){this.addHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"ok"})}if(this.cancelButton){this.addHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"cancel"})}},_documentResizeHandlers:function(){var e=this;if(this.isModal){this.addHandler(a(window),"resize.window"+this.element.id,function(){if(typeof e._modalBackground==="object"&&e._modalBackground!==null){if(e.isOpen()){e._modalBackground.style.display="none"}if(!e.restricter){var f=e._getDocumentSize();e._modalBackground.style.width=f.width+"px";e._modalBackground.style.height=f.height+"px"}else{e._modalBackground.style.left=e._toPx(e.dragArea.left);e._modalBackground.style.top=e._toPx(e.dragArea.top);e._modalBackground.style.width=e._toPx(e.dragArea.width);e._modalBackground.style.height=e._toPx(e.dragArea.height)}if(e.isOpen()){e._modalBackground.style.display="block"}}})}},_setDialogResultHandler:function(f){var e=f.data.self;e._setDialogResult(f.data.result);e.closeWindow()},_setDialogResult:function(e){this.dialogResult.OK=false;this.dialogResult.None=false;this.dialogResult.Cancel=false;e=e.toLowerCase();switch(e){case"ok":this.dialogResult.OK=true;break;case"cancel":this.dialogResult.Cancel=true;break;default:this.dialogResult.None=true}},_getDocumentSize:function(){var e=a.jqx.browser.msie&&a.jqx.browser.version<9;var f=e?4:0;var g=f;if(document.body.scrollHeight>document.body.clientHeight&&e){f=this._SCROLL_WIDTH}if(document.body.scrollWidth>document.body.clientWidth&&e){g=this._SCROLL_WIDTH}return{width:a(document).width()-f,height:a(document).height()-g}},_closeButtonHover:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("mouseenter"),function(){e._closeButton.addClass(e.toThemeProperty("jqx-window-close-button-hover"))});this.addHandler(this._closeButton,this._getEvent("mouseleave"),function(){e._closeButton.removeClass(e.toThemeProperty("jqx-window-close-button-hover"))})},_collapseButtonHover:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("mouseenter"),function(){e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-hover"))});this.addHandler(this._collapseButton,this._getEvent("mouseleave"),function(){e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-hover"))})},_setModalBackgroundStyles:function(){if(this.isModal){var e=this._getDocumentSize();if(!(a.jqx.browser.msie&&a.jqx.browser.version<9)){this._modalBackground.style.opacity=this.modalOpacity}else{this._modalBackground.style.filter="alpha(opacity="+(this.modalOpacity*100)+")"}this._modalBackground.style.position="absolute";this._modalBackground.style.top="0px";this._modalBackground.style.left="0px";this._modalBackground.style.width=e.width;this._modalBackground.style.height=e.height;this._modalBackground.style.zIndex=this.modalBackgroundZIndex;if(!this.autoOpen){this._modalBackground.style.display="none"}}},_addFocusHandlers:function(){var e=this;this.addHandler(this.host,this._getEvent("mousedown"),function(){if(!e.isModal){e.bringToFront()}})},_indexOf:function(f,g){for(var e=0;e<g.length;e++){if(g[e][0]===f[0]){return e}}return -1},_addCloseHandlers:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("click"),function(f){return e._closeWindow(f)});if(this.keyboardCloseKey!=="none"){if(typeof this.keyboardCloseKey!=="number"&&this.keyboardCloseKey.toLowerCase()==="esc"){this.keyboardCloseKey=27}}this.addHandler(this.host,"keydown",function(f){if(f.keyCode===e.keyboardCloseKey&&e.keyboardCloseKey!=null&&e.keyboardCloseKey!="none"){e._closeWindow(f)}else{e._handleKeys(f)}},{self:this});this.addHandler(this.host,"keyup",function(){if(!e.keyboardNavigation){return}if(e._moved){var h=e.host.coord();var g=h.left;var f=h.top;e._raiseEvent(3,g,f,g,f);e._moved=false}})},_handleKeys:function(f){if(!this.keyboardNavigation){return}if(!this._headerFocused){return}if(a(document.activeElement).ischildof(this._content)){return}var e=f.ctrlKey;var m=f.keyCode;var k=this.host.coord();var j=k.left;var l=k.top;var g=this._getDraggingArea();var h=this.host.width();var n=this.host.height();var o=true;var i=10;switch(m){case 37:if(!e){if(this.draggable){if(j-i>=0){this.move(j-i,l)}}}else{if(this.resizable){this.resize(h-i,n)}}o=false;break;case 38:if(!e){if(this.draggable){if(l-i>=0){this.move(j,l-i)}}}else{if(this.resizable){this.resize(h,n-i)}}o=false;break;case 39:if(!e){if(this.draggable){if(j+h+i<=g.width){this.move(j+i,l)}}}else{if(this.resizable){this.resize(h+i,n)}}o=false;break;case 40:if(!e){if(this.draggable){if(l+n+i<=g.height){this.move(j,l+i)}}}else{if(this.resizable){this.resize(h,n+i)}}o=false;break}if(!o){if(f.preventDefault){f.preventDefault()}if(f.stopPropagation){f.stopPropagation()}}return o},_addCollapseHandlers:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("click"),function(){if(!e.collapsed){e.collapse()}else{e.expand()}})},_closeWindow:function(){this.closeWindow();return false},_addHeaderCursorHandlers:function(e){if(e.resizeArea&&e.resizable&&!e.collapsed){e._header[0].style.cursor=e._resizeWrapper.style.cursor;return}else{if(e.draggable){e._header[0].style.cursor="move";return}}e._header[0].style.cursor="default";if(e._resizeWrapper){e._resizeWrapper.style.cursor="default"}},_addDragDropHandlers:function(){if(this.draggable){var e=this;this.addHandler(this.host,"focus",function(){e._headerFocused=true});this.addHandler(this.host,"blur",function(){e._headerFocused=false});this.addHandler(this._header,"focus",function(){e._headerFocused=true;return false});this.addHandler(this._header,this._getEvent("mousedown"),function(j,i,k){if(i){j.pageX=i}if(k){j.pageY=k}e._headerMouseDownHandler(e,j);return true});this.addHandler(this._header,"dragstart",function(i){if(i.preventDefault){i.preventDefault()}return false});this.addHandler(this._header,this._getEvent("mousemove"),function(i){return e._headerMouseMoveHandler(e,i)});this.addHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"),function(i){return e._dragHandler(e,i)});this.addHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"),function(i){return e._dropHandler(e,i)});try{if(document.referrer!==""||window.frameElement){var h=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){h=document.referrer}}if(h&&h.indexOf(document.location.host)!=-1){var g=function(i){e._dropHandler(e,i)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}catch(f){}}},_headerMouseDownHandler:function(f,g){if(!f.isModal){f.bringToFront()}if(f._resizeDirection==null){var e=a.jqx.position(g);f._mousePosition.x=e.left;f._mousePosition.y=e.top;f._mouseDown=true;f._isDragging=false}},_headerMouseMoveHandler:function(f,i){if(f._mouseDown&&!f._isDragging){var j=a.jqx.mobile.getTouches(i);var k=j[0];var h=k.pageX,g=k.pageY;var e=a.jqx.position(i);h=e.left;g=e.top;if((h+3<f._mousePosition.x||h-3>f._mousePosition.x)||(g+3<f._mousePosition.y||g-3>f._mousePosition.y)){f._isDragging=true;f._mousePosition={x:h,y:g};f._windowPosition={x:f.host.coord().left,y:f.host.coord().top};a(document.body).addClass(f.toThemeProperty("jqx-disableselect"))}if(f._isTouchDevice){i.preventDefault();return true}return false}if(f._isDragging){if(f._isTouchDevice){i.preventDefault();return true}return false}return true},_dropHandler:function(g,j){var f=true;if(g._isDragging&&!g.isResizing&&!g._resizeDirection){var e=parseInt(g.host.css("left"),10),k=parseInt(g.host.css("top"),10),i=(g._isTouchDevice)?0:j.pageX,h=(g._isTouchDevice)?0:j.pageY;g.enableResize=g._enableResizeBackup;g._enableResizeBackup="undefined";g._raiseEvent(3,e,k,i,h);f=false;if(j.preventDefault!="undefined"){j.preventDefault()}if(j.originalEvent!=null){j.originalEvent.mouseHandled=true}if(j.stopPropagation!="undefined"){j.stopPropagation()}}g._isDragging=false;g._mouseDown=false;a(document.body).removeClass(g.toThemeProperty("jqx-disableselect"));return f},_dragHandler:function(m,h){if(m._isDragging&&!m.isResizing&&!m._resizeDirection){var l=(m._isTouchDevice)?h.originalEvent.which:h.which;if(typeof m._enableResizeBackup==="undefined"){m._enableResizeBackup=m.enableResize}m.enableResize=false;if(l===0&&a.jqx.browser.msie&&a.jqx.browser.version<8){return m._dropHandler(m,h)}var k=a.jqx.position(h);var j=k.left,i=k.top,g=j-m._mousePosition.x,f=i-m._mousePosition.y,e=m._windowPosition.x+g,n=m._windowPosition.y+f;m.move(e,n,h);h.preventDefault();return false}return true},_validateCoordinates:function(e,k,i,j){var h=this._getDraggingArea();e=(e<h.left)?h.left:e;k=(k<h.top)?h.top:k;var f=this.host.outerWidth(true);var g=this.host.outerHeight(true);if(e+f>=h.width+h.left-2*j){e=h.width+h.left-f-j}if(k+g>=h.height+h.top-i){k=h.height+h.top-g-i}return{x:e,y:k}},_performLayout:function(){this._performHeaderLayout();this._performWidgetLayout()},_parseDragAreaAttributes:function(){if(this.dragArea!==null){this.dragArea.height=parseInt(this.dragArea.height,10);this.dragArea.width=parseInt(this.dragArea.width,10);this.dragArea.top=parseInt(this.dragArea.top,10);this.dragArea.left=parseInt(this.dragArea.left,10)}},_positionWindow:function(){this._parseDragAreaAttributes();if(this.position instanceof Array&&this.position.length===2&&typeof this.position[0]==="number"&&typeof this.position[1]==="number"){this.element.style.left=this._toPx(this.position[0]);this.element.style.top=this._toPx(this.position[1])}else{if(this.position instanceof Object){if(this.position.left){this.host.offset(this.position)}else{if(this.position.x!==undefined&&this.position.y!==undefined){this.element.style.left=this._toPx(this.position.x);this.element.style.top=this._toPx(this.position.y)}else{if(this.position.center){this._centerElement(this.host,this.position.center,"xy");var g=this.position.center.coord();var f=parseInt(this.host.css("left"),10);var e=parseInt(this.host.css("top"),10);this.element.style.left=this._toPx(f+g.left);this.element.style.top=this._toPx(e+g.top)}}}}else{this._positionFromLiteral()}}},_getDraggingArea:function(){var e={};e.left=((this.dragArea&&this.dragArea.left)?this.dragArea.left:0);e.top=((this.dragArea&&this.dragArea.top)?this.dragArea.top:0);e.width=((this.dragArea&&this.dragArea.width)?this.dragArea.width:this._getDocumentSize().width);e.height=((this.dragArea&&this.dragArea.height)?this.dragArea.height:this._getDocumentSize().height);return e},_positionFromLiteral:function(){if(!(this.position instanceof Array)){this.position=this.position.split(",")}var e=this.position.length,f=this._getDraggingArea();while(e){e-=1;this.position[e]=this.position[e].replace(/ /g,"");switch(this.position[e]){case"top":this.element.style.top=this._toPx(f.top);break;case"left":this.element.style.left=this._toPx(f.left);break;case"bottom":this.element.style.top=this._toPx(f.height-this.host.height()+f.top);break;case"right":this.element.style.left=this._toPx(f.left+f.width-this.host.width());break;default:if(!this.dragArea){f=a(window)}this._centerElement(this.host,f,"xy");break}}},_raiseEvent:function(g){var f=this._events[g],h=a.Event(f),e={};if(g===2||g===3){e.x=arguments[1];e.y=arguments[2];e.pageX=arguments[3];e.pageY=arguments[4]}if(f==="closed"||f==="close"){e.dialogResult=this.dialogResult}h.args=e;return this.host.trigger(h)},destroy:function(){this.removeHandler(a(window),"resize.window"+this.element.id);this._removeEventHandlers();this._destroy()},_destroy:function(){if(this.isModal){if(this._modalBackground!==null){a(this._modalBackground).remove()}this.host.jqxWindow({isModal:false})}if(this.restricter){this.removeHandler(a(window),"resize."+this.element.id);this.removeHandler(a(window),"orientationchanged."+this.element.id);this.removeHandler(a(window),"orientationchange."+this.element.id)}this.host.remove();if(this._modalBackground!==null){a(this._modalBackground).remove()}},_toClose:function(f,e){return((f&&e[0]===this.element)||(e[0]!==this.element&&typeof e[0]==="object"))},propertyChangedHandler:function(e,g,m,k){this._validateProperties();switch(g){case"rtl":this._performLayout();break;case"dragArea":this._positionWindow();break;case"collapseButtonSize":this._performLayout();break;case"closeButtonSize":this._performLayout();break;case"isModal":this._refresh();this._fixWindowZIndex();if(k===false){var h=a.data(document.body,"jqxwindows-modallist");var l=[];for(var f=0;f<h.length;f++){var j=h[f][0];if(j!==this.element){l.push(h[f])}}}a.data(document.body,"jqxwindows-modallist",l);break;case"keyboardCloseKey":this._removeEventHandlers();this._addEventHandlers();break;case"disabled":if(k){this.disable()}else{this.disabled=true;this.enable()}break;case"showCloseButton":case"showCollapseButton":this._performLayout();break;case"height":this._performLayout();break;case"width":this._performLayout();break;case"title":this.setTitle(k);this.title=k;break;case"content":this.setContent(k);break;case"draggable":this._removeEventHandlers();this._addEventHandlers();this._removeResize();this._initializeResize();break;case"resizable":this.enableResize=k;if(k){this._initializeResize()}else{this._removeResize()}break;case"position":this._positionWindow();break;case"modalOpacity":this._setModalBackgroundStyles();break;case"okButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.okButton)}break;case"cancelButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.cancelButton)}break;case"collapsed":if(k){if(!m){this.collapsed=false;this.collapse(0)}}else{if(m){this.collapsed=true;this.expand(0)}}break;case"theme":a.jqx.utilities.setTheme(m,k,this.host);break;case"enableResize":return;case"maxWidth":case"maxHeight":case"minWidth":case"minHeight":e._performLayout();e._removeResize();e._initializeResize();return;default:return}},collapse:function(g){if(!this.collapsed&&this._animationInProgress!==true){if(this.host.css("display")=="none"){return}var e=this,h=this._header.outerHeight(true),i=parseInt(this._header.css("border-bottom-width"),10),f=parseInt(this._header.css("margin-bottom"),10);g=!isNaN(parseInt(g,10))?g:this.collapseAnimationDuration;if(!isNaN(i)){h-=2*i}if(!isNaN(f)){h+=f}this._heightBeforeCollapse=this.host.height();this._minHeightBeforeCollapse=this.host.css("min-height");this.element.style.minHeight=this._toPx(h);e._animationInProgress=true;this.host.animate({height:h},{duration:g,complete:function(){e._animationInProgress=false;e.collapsed=true;e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.addClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="none";e._raiseEvent(5);e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",false)}})}},expand:function(f){if(this.collapsed&&this._animationInProgress!==true){var e=this;f=!isNaN(parseInt(f,10))?f:this.collapseAnimationDuration;e._animationInProgress=true;this.host.animate({height:this._heightBeforeCollapse},{duration:f,complete:function(){e._animationInProgress=false;e.collapsed=false;e.element.style.minHeight=e._toPx(e._minHeightBeforeCollapse);e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.removeClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="block";e._raiseEvent(6);e._performWidgetLayout();e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",true)}})}},closeAll:function(h){h=true;var g=a.data(document.body,"jqxwindows-list"),f=g.length,e=a.data(document.body,"jqxwindow-modal")||[];while(f){f-=1;if(this._toClose(h,g[f])){g[f].jqxWindow("closeWindow","close");g.splice(f,1)}}if(this._toClose(h,e)){e.jqxWindow("closeWindow","close");a.data(document.body,"jqxwindow-modal",[])}a.data(document.body,"jqxwindows-list",g)},setTitle:function(f){if(typeof f==="string"){this._headerContentWrapper.html(f)}else{if(typeof f==="object"){try{this._headerContentWrapper[0].innerHTML="";if(f instanceof HTMLElement){this._headerContentWrapper[0].appendChild(f)}else{if(f.appendTo){f.appendTo(this._headerContentWrapper)}}}catch(e){throw new Error(e)}}}this.title=f;this._performLayout()},setContent:function(h){this._contentInitialized=false;var g=this._content,j=false;while(!j){g[0].style.width="auto";g[0].style.height="auto";if(g.hasClass("jqx-window")){j=true}else{g=a(g[0].parentNode)}}if(a.isArray(h)){for(var f=0;f<h.length;f++){h[f].appendTo(this._content)}}else{if(typeof h==="string"){a(this._content[0]).html(h)}else{if(typeof h==="object"){try{this._content[0].innerHTML="";if(h instanceof HTMLElement){this._content[0].appendChild(h)}else{if(h.appendTo){h.appendTo(this._content)}}}catch(e){throw new Error(e)}}}}this.content=h;this._performLayout()},disable:function(){this.disabled=true;this._removeEventHandlers();this._header.addClass(this.toThemeProperty("jqx-window-header-disabled"));this._closeButton.addClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.addClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this._content.addClass(this.toThemeProperty("jqx-window-content-disabled"));this.host.addClass(this.toThemeProperty("jqx-window-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this._removeResize()},enable:function(){if(this.disabled){this._addEventHandlers();this._header.removeClass(this.toThemeProperty("jqx-window-header-disabled"));this._content.removeClass(this.toThemeProperty("jqx-window-content-disabled"));this._closeButton.removeClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.removeClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this.host.removeClass(this.toThemeProperty("jqx-window-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.disabled=false;this._initializeResize()}},isOpen:function(){return this._visible},closeWindow:function(f){var e=this;f=(typeof f==="undefined")?this.closeButtonAction:f;this.hide(function(){if(f==="close"){e._destroy()}})},bringToFront:function(){var f=a.data(document.body,"jqxwindows-list");if(this.isModal){f=a.data(document.body,"jqxwindows-modallist");this._fixWindowZIndex("modal-hide");this._fixWindowZIndex("modal-show");return}var k=f[f.length-1],j=parseInt(k.css("z-index"),10),g=this._indexOf(this.host,f);for(var e=f.length-1;e>g;e-=1){var h=parseInt(f[e].css("z-index"),10)-1;f[e][0].style.zIndex=h}this.element.style.zIndex=j;this._sortByStyle("z-index",f)},hide:function(i,h,e){var g=this;if(this.closing){var f=this.closing();if(f===false){return}}h=h||this.closeAnimationDuration;switch(this.animationType){case"none":this.element.style.display="none";break;case"fade":g._animationInProgress=true;this.host.fadeOut({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"slide":g._animationInProgress=true;this.host.slideUp({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"combined":g._animationInProgress=true;this.host.animate({opacity:0,width:"0px",height:"0px"},{duration:h,complete:function(){g._animationInProgress=false;g.element.style.display="none";if(i instanceof Function){i()}}});break}this._visible=false;if(this.isModal){a(this._modalBackground).hide();this._fixWindowZIndex("modal-hide")}if(e!==true){this._raiseEvent(1);this._raiseEvent(8)}},open:function(f,e){this.show(f,e)},close:function(g,f,e){this.hide(g,f,e)},show:function(k,j){var i=this;this._setDialogResult("none");j=j||this.showAnimationDuration;switch(this.animationType){case"none":this.element.style.display="block";break;case"fade":i._animationInProgress=true;this.host.fadeIn({duration:j,complete:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"slide":i._animationInProgress=true;this.host.slideDown({duration:j,callback:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"combined":this.element.style.display="block";var g=i.host.width();var e=i.host.height();this.element.style.minWidth="0px";this.element.style.minHeight="0px";this.element.style.opacity=0;this.element.style.width="0px";this.element.style.height="0px";i._animationInProgress=true;this.host.animate({opacity:1,width:g+"px",height:e+"px"},{duration:j,complete:function(){i._animationInProgress=false;i._performLayout();if(k instanceof Function){k()}}});break}if(this.isModal){a(this._modalBackground).show();this._fixWindowZIndex("modal-show")}var h=this;if(!this._visible){if(j>150&&this.animationType!="none"){setTimeout(function(){if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}h._raiseEvent(7);h._raiseEvent(9)},j-150)}else{if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}this._raiseEvent(7);h._raiseEvent(9)}}this._visible=true;if(i.animationType!=="combined"){this._performLayout()}if(this.autoFocus){var f=function(){if(!h._isTouchDevice){h._content[0].focus()}};f();setTimeout(function(){f()},100)}},_getTabbables:function(){var f;if(a.jqx.browser.msie&&a.jqx.browser.version<9){f=this._content.find("*")}else{f=this._content[0].querySelectorAll("*")}var e=[];a.each(f,function(){if(d(this)){e[e.length]=this}});return e},move:function(n,m,e,h){var g=0,f=0,k,j,i;n=parseInt(n,10);m=parseInt(m,10);if(a.jqx.browser.msie){if(a(window).width()>a(document).width()&&!this.dragArea){f=this._SCROLL_WIDTH}if(a(window).height()<a(document).height()&&document.documentElement.clientWidth>document.documentElement.scrollWidth&&!this.dragArea){g=this._SCROLL_WIDTH}}k=this._validateCoordinates(n,m,f,g);if(parseInt(this.host.css("left"),10)!==k.x||parseInt(this.host.css("top"),10)!==k.y){if(e){var l=a.jqx.position(e);j=l.left;i=l.top}if(j===undefined){j=n}if(i===undefined){i=m}if(h!==false){this._raiseEvent(2,k.x,k.y,j,i)}}this.element.style.left=k.x+"px";this.element.style.top=k.y+"px";this._moved=true},_toPx:function(e){if(typeof e==="number"){return e+"px"}else{return e}}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(f){var e=a(f);return e.css("display")!=="none"&&e.css("visibility")!=="hidden"}function d(g){var e=g.getAttribute("tabindex"),f=e===null;return(f||e>=0)&&c(g,!f)}}(jqxBaseFramework));(function(b){var a=(function(c){return{resizeConfig:function(){this.resizeTarget=null;this.resizeIndicatorSize=5;this.resizeTargetChildren=null;this.isResizing=false;this.resizeArea=false;this.minWidth=1;this.maxWidth=100;this.minHeight=1;this.maxHeight=100;this.resizeParent=null;this.enableResize=true;this._resizeEvents=["resizing","resized","resize"];this._resizeMouseDown=false;this._resizeCurrentMode=null;this._mouseResizePosition={};this._resizeMethods=null;this._SCROLL_WIDTH=21},_resizeExceptions:{invalidTarget:"Invalid target!",invalidMinHeight:"Invalid minimal height!",invalidMaxHeight:"Invalid maximum height!",invalidMinWidth:"Invalid minimum width!",invalidMaxWidth:"Invalid maximum width!",invalidIndicatorSize:"Invalid indicator size!",invalidSize:"Invalid size!"},removeResize:function(){if(this.resizeTarget){var f=c(this.resizeTarget.children(".jqx-resize"));f.detach();var e=f.children();this._removeResizeEventListeners();for(var d=0;d<e.length;d+=1){c(e[d]).detach();this.resizeTarget.append(e[d])}f.remove()}this._resizeDirection=null},initResize:function(d){this.resizeConfig();this.resizeTarget=c(d.target);this.resizeIndicatorSize=d.indicatorSize||10;this.maxWidth=d.maxWidth||100;this.minWidth=d.minWidth||1;this.maxHeight=d.maxHeight||100;this.minHeight=d.minHeight||1;this.resizeParent=d.resizeParent;this._parseResizeParentProperties();this._validateResizeProperties();this._validateResizeTargetDimensions();this._getChildren(this.resizeTarget.maxWidth,this.resizeTarget.minWidth,this.resizeTarget.maxHeight,this.resizeTarget.minHeight,d.alsoResize);this._refreshResize();this._cursorBackup=this.resizeTarget.css("cursor");if(this._cursorBackup==="auto"){this._cursorBackup="default"}},_validateResizeTargetDimensions:function(){this.resizeTarget.maxWidth=this.maxWidth;this.resizeTarget.minWidth=((3*this.resizeIndicatorSize>this.minWidth)?3*this.resizeIndicatorSize:this.minWidth);this.resizeTarget.maxHeight=this.maxHeight;this.resizeTarget.minHeight=((3*this.resizeIndicatorSize>this.minHeight)?3*this.resizeIndicatorSize:this.minHeight)},_parseResizeParentProperties:function(){if(this.resizeParent){this.resizeParent.left=parseInt(this.resizeParent.left,10);this.resizeParent.top=parseInt(this.resizeParent.top,10);this.resizeParent.width=parseInt(this.resizeParent.width,10);this.resizeParent.height=parseInt(this.resizeParent.height,10)}},_getChildren:function(h,e,g,i,d){this.resizeTargetChildren=c(d);this.resizeTargetChildren=this.resizeTargetChildren.toArray();var f=this.resizeTargetChildren.length;while(f){f-=1;this.resizeTargetChildren[f]=c(this.resizeTargetChildren[f])}},_refreshResize:function(){this._renderResize();this._performResizeLayout();this._removeResizeEventListeners();this._addResizeEventHandlers()},_renderResize:function(){var d=this;if(d._resizeWrapper!==undefined&&c(d._resizeWrapper).parents().length>0){return}var e=document.createElement("div");e.className="jqx-resize jqx-rc-all";e.style.zIndex=8000;e.appendChild(d._header[0]);e.appendChild(d._content[0]);d.resizeTarget[0].appendChild(e);d._resizeWrapper=e},_performResizeLayout:function(){this._resizeWrapper.style.height=this.resizeTarget.height()+"px";this._resizeWrapper.style.width=this.resizeTarget.width()+"px"},_removeResizeEventListeners:function(){var d=this.resizeTarget.attr("id");this.removeHandler(this._resizeWrapper,"mousemove.resize"+d);this.removeHandler(this._resizeWrapper,"mousedown.resize"+d);this.removeHandler(c(document),"mousemove.resize"+d);this.removeHandler(c(document),"mouseup.resize"+d)},_addResizeEventHandlers:function(){var g=this.resizeTarget.attr("id");var d=this;if(d._isTouchDevice){this.addHandler(this._resizeWrapper,"touchmove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"touchstart.resize."+g,function(h){d._resizeCursorChangeHandler(d,h);d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"touchmove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"touchend.resize."+g,function(h){d._stopResizing(d,h)})}else{this.addHandler(this._resizeWrapper,"mousemove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"mousedown.resize."+g,function(h){d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"mousemove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"mouseup.resize."+g,function(h){d._stopResizing(d,h)})}try{if(document.referrer!==""||window.frameElement){var f=function(h){d._stopResizing(d,h)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",f,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",f)}}}}catch(e){}},_stopResizing:function(d){if(d.enableResize){if(d.isResizing){d._raiseResizeEvent(1)}d._resizeMouseDown=false;d.isResizing=false;d._resizeDirection=null;if(d.resizeTarget){d.resizeTarget.removeClass("jqx-disableselect")}}if(d._cursorBackup=="undefined"){d._cursorBackup="default"}if(d._resizeWrapper){d._resizeWrapper.style.cursor=d._cursorBackup}},_resizeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(e.isResizing&&e._resizeDirection){if(f.which===0&&c.jqx.browser.msie&&c.jqx.browser.version<9){e._stopResizing(f)}if(e._isTouchDevice){var d=c.jqx.position(f);e._performResize(d.left,d.top);return false}e._performResize(f.pageX,f.pageY);return false}else{if(e._isTouchDevice){var d=c.jqx.position(f);return e._resizeCaptureCursor(d.left,d.top)}return e._resizeCaptureCursor(f.pageX,f.pageY)}}},_resizeCaptureCursor:function(e,d){if(this._resizeMouseDown&&!this.isResizing&&this._resizeDirection){var f=3;if(this._isTouchDevice){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}if((e+f<this._mouseResizePosition.x||e-f>this._mouseResizePosition.x)||(d+f<this._mouseResizePosition.y||d-f>this._mouseResizePosition.y)){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}}},_resizeBackupData:function(){this.resizeTarget.lastWidth=this.resizeTarget.width();this.resizeTarget.lastHeight=this.resizeTarget.height();this.resizeTarget.x=parseInt(this.resizeTarget.css("left"),10);this.resizeTarget.y=parseInt(this.resizeTarget.css("top"),10);this._resizeBackupChildrenSize()},_resizeBackupChildrenSize:function(){var d=this.resizeTargetChildren.length,e;while(d){d-=1;e=this.resizeTargetChildren[d];this.resizeTargetChildren[d].lastWidth=e.width();this.resizeTargetChildren[d].lastHeight=e.height()}},_performResize:function(g,f){var e=g-this._mouseResizePosition.x,d=f-this._mouseResizePosition.y;if(this._resizeDirection){this._resize(this.resizeTarget,e,d)}},_resizeCursorChangeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(!e.isResizing){if(e._isTouchDevice){var d=c.jqx.position(f);e._changeCursor(d.left-parseInt(e.resizeTarget.css("left"),10),d.top-parseInt(e.resizeTarget.css("top"),10));return}e._changeCursor(f.pageX-parseInt(e.resizeTarget.css("left"),10),f.pageY-parseInt(e.resizeTarget.css("top"),10))}}},_resizeMouseDownHandler:function(e,f){if(e.enableResize){if(e._resizeDirection!==null){e._resizeMouseDown=true;if(e._isTouchDevice){var d=c.jqx.position(f);e._mouseResizePosition.x=d.left;e._mouseResizePosition.y=d.top}else{e._mouseResizePosition.x=f.pageX;e._mouseResizePosition.y=f.pageY}f.preventDefault()}}},_validateResizeProperties:function(){try{if(!this.resizeTarget||this.resizeTarget.length!==1){throw new Error(this._resizeExceptions.invalidTarget)}if(this.minHeight<0||isNaN(parseInt(this.minHeight,10))){throw new Error(this._resizeExceptions.invalidMinHeight)}if(this.maxHeight<=0||isNaN(parseInt(this.maxHeight,10))){throw new Error(this._resizeExceptions.invalidMaxHeight)}if(this.minWidth<0||isNaN(parseInt(this.minWidth,10))){throw new Error(this._resizeExceptions.invalidMinWidth)}if(this.maxWidth<0||isNaN(parseInt(this.maxWidth,10))){throw new Error(this._resizeExceptions.invalidMaxWidth)}if(this.resizeIndicatorSize<0||isNaN(parseInt(this.resizeIndicatorSize,10))){throw new Error(this._resizeExceptions.invalidIndicatorSize)}if(this.minHeight>this.maxHeight||this.minWidth>this.maxWidth){throw new Error(this._resizeExceptions.invalidSize)}}catch(d){throw new Error(d)}},_changeCursor:function(d,e){if(this.isResizing||this._resizeMouseDown){return}this.resizeArea=true;if(d<=this.resizeIndicatorSize&&d>=0&&e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="nw-resize";this._resizeDirection="topleft"}else{if(e<=this.resizeIndicatorSize&&e>0&&d>=this.resizeTarget.width()-this.resizeIndicatorSize){this._resizeWrapper.style.cursor="ne-resize";this._resizeDirection="topright"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="sw-resize";this._resizeDirection="bottomleft"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="se-resize";this._resizeDirection="bottomright"}else{if(d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="left"}else{if(e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="top"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="bottom"}else{if(d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="right"}else{this._resizeWrapper.style.cursor=this._cursorBackup;this._resizeDirection=null;this.resizeArea=false}}}}}}}}},_prepareResizeMethods:function(d){this._resizeMethods=[];if(d.indexOf("left")>=0){this._resizeMethods.push(this._resizeLeft)}if(d.indexOf("top")>=0){this._resizeMethods.push(this._resizeTop)}if(d.indexOf("right")>=0){this._resizeMethods.push(this._resizeRight)}if(d.indexOf("bottom")>=0){this._resizeMethods.push(this._resizeBottom)}},_validateResize:function(g,d,h,f,e){if(h==="horizontal"||h==="both"){return this._validateWidth(g,f,e)}else{if(h==="vertical"||h==="both"){return this._validateHeight(d,f,e)}}return{result:false,fix:0}},_getParent:function(){if(this.resizeParent!==null&&this.resizeParent!=="undefined"&&this.resizeParent.height&&this.resizeParent.width&&this.resizeParent.top&&this.resizeParent.left){return this.resizeParent}return{left:0,top:0,width:c(document).width(),height:c(document).height()}},_validateHeight:function(e,h,g){var i=0,d=2,f=this._getParent();if(c(window).width()>c(document).width()&&c.jqx.browser.msie&&f.height===c(document).height()){i=this._SCROLL_WIDTH}if(g==="bottom"&&(e+h.position().top+i+d>f.height+f.top)){return{fix:f.height-h.position().top-i-d+f.top,result:false}}if(g==="top"&&h.lastHeight-e+h.y<f.top){return{fix:e+(h.lastHeight-e+h.y)-f.top,result:false}}if(e<h.minHeight){return{fix:h.minHeight,result:false}}if(e>h.maxHeight){return{fix:h.maxHeight,result:false}}return{result:true,fix:e}},_validateWidth:function(h,g,f){var i=0,d=2,e=this._getParent();if(c(window).height()<c(document).height()&&c.jqx.browser.msie&&document.documentElement.clientWidth>=document.documentElement.scrollWidth&&e.width===c(document).width()){i=this._SCROLL_WIDTH}if(f==="right"&&(h+g.position().left+i+d>e.width+e.left)){return{fix:e.width-g.position().left-i-d+e.left,result:false}}if(f==="left"&&(g.lastWidth-h+g.x<e.left)){return{fix:h+(g.lastWidth-h+g.x)-e.left,result:false}}if(h<g.minWidth){return{fix:g.minWidth,result:false}}if(h>g.maxWidth){return{fix:g.maxWidth,result:false}}return{result:true,fix:h}},_resize:function(h,e,d){var j=this._resizeMethods.length;for(var g=0;g<j;g++){if(this._resizeMethods[g] instanceof Function){var f={element:h,x:e,y:d,self:this};this._resizeMethods[g](f)}}this._performResizeLayout()},resize:function(g,d){if(this.resizable){var f=g-this.host.width();var e=d-this.host.height();var h="right";if(e!==0){h="bottom"}this._resizeDirection=h;this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this._resize(this.resizeTarget,f,e);this.isResizing=false}},_setResizeChildrenSize:function(e,f){var h=this.resizeTargetChildren.length;while(h){h--;if(f==="width"){var g=this.resizeTargetChildren[h].lastWidth-(this.resizeTarget.lastWidth-e);if(g<this.resizeTarget.maxWidth&&g>0){this.resizeTargetChildren[h].width(g)}}else{var d=this.resizeTargetChildren[h].lastHeight-(this.resizeTarget.lastHeight-e);if(d<this.resizeTarget.maxHeight&&d>0){this.resizeTargetChildren[h].height(d)}}}},_resizeRight:function(g){var h=g.element.lastWidth+g.x,d=g.self._validateResize(h,0,"horizontal",g.element,"right");if(!d.result){h=d.fix}if(g.element.width()!==h){g.self._setResizeChildrenSize(h,"width");g.element.width(h);if(g.self.width.toString().indexOf("%")>=0){var f=c(document.body).width()/100;var e=1/f;g.element[0].style.width=(e*h)+"%";g.self._setChildrenLayout()}g.self._raiseResizeEvent(0)}return h},_resizeLeft:function(h){var i=h.element.lastWidth-h.x,e=h.self._validateResize(i,0,"horizontal",h.element,"left"),d=h.element.x+h.x;if(!e.result){d=h.element.x+(h.element.lastWidth-e.fix);i=e.fix;return}if(h.element.width()!==i){h.self._setResizeChildrenSize(i,"width");h.element.width(i);if(h.self.width.toString().indexOf("%")>=0){var g=c(document.body).width()/100;var f=1/g;h.element[0].style.width=(f*i)+"%";h.self._setChildrenLayout()}h.element[0].style.left=h.self._toPx(d);h.self._raiseResizeEvent(0)}return i},_resizeBottom:function(h){var e=h.element.lastHeight+h.y,d=h.self._validateResize(0,e,"vertical",h.element,"bottom");if(!d.result){e=d.fix}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.self._raiseResizeEvent(0)}return e},_resizeTop:function(h){var e=h.element.lastHeight-h.y,d=h.self._validateResize(0,e,"vertical",h.element,"top"),i=h.element.y+h.y;if(!d.result){i=h.element.y+(h.element.lastHeight-d.fix);e=d.fix;return}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.element[0].style.top=h.self._toPx(i);h.self._raiseResizeEvent(0)}return e},_raiseResizeEvent:function(f){var e=this._resizeEvents[f],g=c.Event(e),d={};d.width=parseInt(this.resizeTarget[0].style.width,10);d.height=parseInt(this.resizeTarget[0].style.height,10);g.args=d;if(f===0){e=this._resizeEvents[2];var h=c.Event(e);h.args=d;this.resizeTarget.trigger(h)}return this.resizeTarget.trigger(g)}}}(jqxBaseFramework));b.extend(b.jqx._jqxWindow.prototype,a)}(jqxBaseFramework));
+(function(a){a.jqx.jqxWidget("jqxWindow","",{});a.extend(a.jqx._jqxWindow.prototype,{defineInstance:function(){var e={height:"auto",width:200,minHeight:50,maxHeight:1200,minWidth:50,maxWidth:1200,showCloseButton:true,disabled:false,autoOpen:true,keyboardCloseKey:"esc",title:"",content:"",draggable:true,resizable:true,animationType:"fade",closeAnimationDuration:250,showAnimationDuration:250,isModal:false,position:"center",closeButtonSize:16,closeButtonAction:"hide",modalOpacity:0.3,dragArea:null,okButton:null,cancelButton:null,dialogResult:{OK:false,Cancel:false,None:true},collapsed:false,showCollapseButton:false,collapseAnimationDuration:150,collapseButtonSize:16,rtl:false,keyboardNavigation:true,headerHeight:null,_events:["created","closed","moving","moved","open","collapse","expand","open","close","resize"],initContent:null,enableResize:true,restricter:null,autoFocus:true,closing:null,_invalidArgumentExceptions:{invalidHeight:"Invalid height!",invalidWidth:"Invalid width!",invalidMinHeight:"Invalid minHeight!",invalidMaxHeight:"Invalid maxHeight!",invalidMinWidth:"Invalid minWidth!",invalidMaxWidth:"Invalid maxWidth",invalidKeyCode:"Invalid keyCode!",invalidAnimationType:"Invalid animationType!",invalidCloseAnimationDuration:"Invalid closeAnimationDuration!",invalidShowAnimationDuration:"Invalid showAnimationDuration!",invalidPosition:"Invalid position!",invalidCloseButtonSize:"Invalid closeButtonSize!",invalidCollapseButtonSize:"Invalid collapseButtonSize!",invalidCloseButtonAction:"Invalid cluseButtonAction!",invalidModalOpacity:"Invalid modalOpacity!",invalidDragArea:"Invalid dragArea!",invalidDialogResult:"Invalid dialogResult!",invalidIsModal:"You can have just one modal window!"},_enableResizeCollapseBackup:null,_enableResizeBackup:undefined,_heightBeforeCollapse:null,_minHeightBeforeCollapse:null,_mouseDown:false,_isDragging:false,_rightContentWrapper:null,_leftContentWrapper:null,_headerContentWrapper:null,_closeButton:null,_collapseButton:null,_title:null,_content:null,_mousePosition:{},_windowPosition:{},_modalBackground:null,_SCROLL_WIDTH:21,_visible:true,modalBackgroundZIndex:1299,modalZIndex:1800,zIndex:1000,_touchEvents:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave",click:a.jqx.mobile.getTouchEventName("touchstart")}};if(this===a.jqx._jqxWindow.prototype){return e}a.extend(true,this,e);return e},createInstance:function(){if(this.host.initAnimate){this.host.initAnimate()}this.host.attr("role","dialog");this.host.removeAttr("data-bind");this.host.appendTo(document.body);var g=this;var f=function(l){for(var k=0;k<l.length;k++){var j=l[k];if(g[j]&&g[j].toString().indexOf("px")>=0){g[j]=parseInt(g[j],10)}}};f(["minWidth","minHeight","maxWidth","maxHeight","width","height"]);var h=function(){var j=parseInt(a(g.restricter).css("padding-top"),10);var i=parseInt(a(g.restricter).css("padding-left"),10);var k=parseInt(a(g.restricter).css("padding-bottom"),10);var m=parseInt(a(g.restricter).css("padding-right"),10);var l=a(g.restricter).coord();g.dragArea={left:i+l.left,top:j+l.top,width:1+m+a(g.restricter).width(),height:1+k+a(g.restricter).height()}};if(this.restricter){h()}if(this.restricter){this.addHandler(a(window),"resize."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){h()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){h()})}this._isTouchDevice=a.jqx.mobile.isTouchDevice();this._validateProperties();this._createStructure();this._refresh();if(!this.autoOpen){this.element.style.display="none"}if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}if(!this.isModal){this._fixWindowZIndex()}this._setStartupSettings();this._positionWindow();this._raiseEvent(0);if(this.autoOpen){this._performLayout();var e=this;if(this.isModal){this._fixWindowZIndex("modal-show")}if(e.initContent){e.initContent();e._contentInitialized=true}this._raiseEvent(7);this._raiseEvent(9)}},refresh:function(){this._performLayout()},_setStartupSettings:function(){if(this.disabled){this.disable()}if(this.collapsed){this.collapsed=false;this.collapse(0)}if(!this.autoOpen){this.hide(null,0.001,true);this._visible=false}if(this.title!==null&&this.title!==""){this.setTitle(this.title)}if(this.content!==null&&this.content!==""){this.setContent(this.content)}this.title=this._headerContentWrapper.html();this.content=this._content.html()},_fixWindowZIndex:function(h){var g=a.data(document.body,"jqxwindows-list")||[],l=this.zIndex;if(!this.isModal){if(this._indexOf(this.host,g)<0){g.push(this.host)}a.data(document.body,"jqxwindows-list",g);if(g.length>1){var k=g[g.length-2];if(k.css("z-index")=="auto"){l=this.zIndex+g.length+1}else{var i=this.zIndex;l=parseInt(k.css("z-index"),10)+1;if(l<i){l=i}}}}else{if(g){g=this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}var f=a.data(document.body,"jqxwindows-modallist");if(!f){if(h=="modal-show"){var j=[];j.push(this.host);a.data(document.body,"jqxwindows-modallist",j);f=j}else{a.data(document.body,"jqxwindows-modallist",[]);f=[]}}else{if(h=="modal-show"){f.push(this.host)}else{var e=f.indexOf(this.host);if(e!=-1){f.splice(e,1)}}}l=this.modalZIndex;a.each(f,function(){if(this.data()){if(this.data().jqxWindow){var m=this.data().jqxWindow.instance;m._modalBackground.style.zIndex=l;m.element.style.zIndex=l+1;l+=2}}});a.data(document.body,"jqxwindow-modal",this.host);return}this.element.style.zIndex=l;this._sortByStyle("z-index",g)},_validateProperties:function(){try{this._validateSize();this._validateAnimationProperties();this._validateInteractionProperties();this._validateModalProperties();if(!this.position){throw new Error(this._invalidArgumentExceptions.invalidPosition)}if(isNaN(this.closeButtonSize)||parseInt(this.closeButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonSize)}if(isNaN(this.collapseButtonSize)||parseInt(this.collapseButtonSize,10)<0){throw new Error(this._invalidArgumentExceptions.invalidCollapseButtonSize)}}catch(e){throw new Error(e)}},_validateModalProperties:function(){if(this.modalOpacity<0||this.modalOpacity>1){throw new Error(this._invalidArgumentExceptions.invalidModalOpacity)}if(this.isModal&&!this._singleModalCheck()){throw new Error(this._invalidArgumentExceptions.invalidIsModal)}},_validateSize:function(){this._validateSizeLimits();if(this.height!=="auto"&&isNaN(parseInt(this.height,10))){throw new Error(this._invalidArgumentExceptions.invalidHeight)}if(this.width!=="auto"&&isNaN(parseInt(this.width,10))){throw new Error(this._invalidArgumentExceptions.invalidWidth)}if(this.height!=="auto"&&this.height<this.minHeight){this.height=this.minHeight}if(this.width<this.minWidth){this.width=this.minWidth}if(this.height!=="auto"&&this.height>this.maxHeight){this.height=this.maxHeight}if(this.width>this.maxWidth){this.width=this.maxWidth}if(this.dragArea===null){return}if(this.dragArea&&((this.dragArea.height!==null&&this.host.height()>this.dragArea.height)||(parseInt(this.height,10)>this.dragArea.height))||(this.dragArea.width!==null&&this.width>this.dragArea.width)||(this.maxHeight>this.dragArea.height||this.maxWidth>this.dragArea.width)){}},_validateSizeLimits:function(){if(this.maxHeight==null){this.maxHeight=9999}if(this.minWidth==null){this.minWidth=0}if(this.maxWidth==null){this.maxWidth=9999}if(this.minHeight==null){this.minHeight=0}if(isNaN(parseInt(this.minHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}if(isNaN(parseInt(this.maxHeight,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxHeight)}if(isNaN(parseInt(this.minWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}if(isNaN(parseInt(this.maxWidth,10))){throw new Error(this._invalidArgumentExceptions.invalidMaxWidth)}if(this.minHeight&&this.maxHeight){if(parseInt(this.minHeight,10)>parseInt(this.maxHeight,10)&&this.maxHeight!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinHeight)}}if(this.minWidth&&this.maxWidth){if(parseInt(this.minWidth,10)>parseInt(this.maxWidth,10)&&this.maxWidth!=Number.MAX_VALUE){throw new Error(this._invalidArgumentExceptions.invalidMinWidth)}}},_validateAnimationProperties:function(){if(this.animationType!=="fade"&&this.animationType!=="slide"&&this.animationType!=="combined"&&this.animationType!=="none"){throw new Error(this._invalidArgumentExceptions.invalidAnimationType)}if(isNaN(parseInt(this.closeAnimationDuration,10))||this.closeAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidCloseAnimationDuration)}if(isNaN(parseInt(this.showAnimationDuration,10))||this.showAnimationDuration<0){throw new Error(this._invalidArgumentExceptions.invalidShowAnimationDuration)}},_validateInteractionProperties:function(){if(parseInt(this.keyCode,10)<0||parseInt(this.keyCode,10)>130&&this.keyCode!=="esc"){throw new Error(this._invalidArgumentExceptions.invalidKeyCode)}if(this.dragArea!==null&&(typeof this.dragArea.width==="undefined"||typeof this.dragArea.height==="undefined"||typeof this.dragArea.left==="undefined"||typeof this.dragArea.top==="undefined")){throw new Error(this._invalidArgumentExceptions.invalidDragArea)}if(!this.dialogResult||(!this.dialogResult.OK&&!this.dialogResult.Cancel&&!this.dialogResult.None)){throw new Error(this._invalidArgumentExceptions.invalidDialogResult)}if(this.closeButtonAction!=="hide"&&this.closeButtonAction!=="close"){throw new Error(this._invalidArgumentExceptions.invalidCloseButtonAction)}},_singleModalCheck:function(){var e=a.data(document.body,"jqxwindows-list")||[],f=e.length;while(f){f-=1;if(a(e[f].attr("id")).length>0){if(a(e[f].attr("id")).jqxWindow("isModal")){return false}}}return true},_createStructure:function(){var e=this.host.children();if(e.length===1){this._content=e[0];this._header=document.createElement("div");this._header.innerHTML=this.host.attr("caption");this.element.insertBefore(this._header,this._content);this.host.attr("caption","");this._header=a(this._header);this._content=a(this._content)}else{if(e.length===2){this._header=a(e[0]);this._content=a(e[1])}else{throw new Error("Invalid structure!")}}},_refresh:function(){this._render();this._addStyles();this._performLayout();this._removeEventHandlers();this._addEventHandlers();this._initializeResize()},_render:function(){this._addHeaderWrapper();this._addCloseButton();this._addCollapseButton();this._removeModal();this._makeModal()},_addHeaderWrapper:function(){if(!this._headerContentWrapper){this._header[0].innerHTML='<div style="float:left;">'+this._header[0].innerHTML+"</div>";this._headerContentWrapper=a(this._header.children()[0]);if(this.headerHeight!==null){this._header.height(this.headerHeight)}}},_addCloseButton:function(){if(!this._closeButton){this._closeButtonWrapper=document.createElement("div");this._closeButtonWrapper.className=this.toThemeProperty("jqx-window-close-button-background");this._closeButton=document.createElement("div");this._closeButton.className=this.toThemeProperty("jqx-window-close-button jqx-icon-close");this._closeButton.style.width="100%";this._closeButton.style.height="100%";this._closeButtonWrapper.appendChild(this._closeButton);this._header[0].appendChild(this._closeButtonWrapper);this._closeButtonWrapper=a(this._closeButtonWrapper);this._closeButton=a(this._closeButton)}},_addCollapseButton:function(){if(!this._collapseButton){this._collapseButtonWrapper=document.createElement("div");this._collapseButtonWrapper.className=this.toThemeProperty("jqx-window-collapse-button-background");this._collapseButton=document.createElement("div");this._collapseButton.className=this.toThemeProperty("jqx-window-collapse-button jqx-icon-arrow-up");this._collapseButton.style.width="100%";this._collapseButton.style.height="100%";this._collapseButtonWrapper.appendChild(this._collapseButton);this._header[0].appendChild(this._collapseButtonWrapper);this._collapseButtonWrapper=a(this._collapseButtonWrapper);this._collapseButton=a(this._collapseButton)}},_removeModal:function(){if(!this.isModal&&typeof this._modalBackground==="object"&&this._modalBackground!==null){a("."+this.toThemeProperty("jqx-window-modal")).remove();this._modalBackground=null}},focus:function(){try{this.host.focus();var f=this;setTimeout(function(){f.host.focus()},10)}catch(e){}},_makeModal:function(){if(this.isModal&&!this._modalBackground){var g=a.data(document.body,"jqxwindows-list");if(g){this._removeFromArray(this.host,g);a.data(document.body,"jqxwindows-list",g)}this._modalBackground=document.createElement("div");this._modalBackground.className=this.toThemeProperty("jqx-window-modal");this._setModalBackgroundStyles();document.body.appendChild(this._modalBackground);this.addHandler(this._modalBackground,this._getEvent("click"),function(){return false});var f=this;var e=function(h,i){return i.contains(h)};this.addHandler(this._modalBackground,"mouseup",function(h){f._stopResizing(f);h.preventDefault()});this.addHandler(this._modalBackground,"mousedown",function(i){var h=f._getTabbables();if(h.length>0){h[0].focus();setTimeout(function(){h[0].focus()},100)}i.preventDefault();return false});this.addHandler(a(document),"keydown.window"+this.element.id,function(k){if(k.keyCode!==9){return}var h=a.data(document.body,"jqxwindows-modallist");if(h.length>1){if(h[h.length-1][0]!=f.element){return}}var j=f._getTabbables();var l=null;var i=null;if(f.element.offsetWidth===0||f.element.offsetHeight===0){return}if(j.length>0){l=j[0];i=j[j.length-1]}if(k.target==f.element){return}if(l==null){return}if(!e(k.target,f.element)){l.focus();return false}if(k.target===i&&!k.shiftKey){l.focus();return false}else{if(k.target===l&&k.shiftKey){i.focus();return false}}})}},_addStyles:function(){this.host.addClass(this.toThemeProperty("jqx-rc-all"));this.host.addClass(this.toThemeProperty("jqx-window"));this.host.addClass(this.toThemeProperty("jqx-popup"));if(a.jqx.browser.msie){this.host.addClass(this.toThemeProperty("jqx-noshadow"))}this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-window-header"));this._content.addClass(this.toThemeProperty("jqx-window-content"));this._header.addClass(this.toThemeProperty("jqx-widget-header"));this._content.addClass(this.toThemeProperty("jqx-widget-content"));this._header.addClass(this.toThemeProperty("jqx-disableselect"));this._header.addClass(this.toThemeProperty("jqx-rc-t"));this._content.addClass(this.toThemeProperty("jqx-rc-b"));if(!this.host.attr("tabindex")){this.element.tabIndex=0;this._header[0].tabIndex=0;this._content[0].tabIndex=0}this.element.setAttribute("hideFocus","true");this.element.style.outline="none"},_performHeaderLayout:function(){this._handleHeaderButtons();this._header[0].style.position="relative";if(this.rtl){this._headerContentWrapper[0].style.direction="rtl";this._headerContentWrapper[0].style["float"]="right"}else{this._headerContentWrapper[0].style.direction="ltr";this._headerContentWrapper[0].style["float"]="left"}this._performHeaderCloseButtonLayout();this._performHeaderCollapseButtonLayout();this._centerElement(this._headerContentWrapper,this._header,"y","margin");if(this.headerHeight){this._centerElement(this._closeButtonWrapper,this._header,"y","margin");this._centerElement(this._collapseButtonWrapper,this._header,"y","margin")}},_handleHeaderButtons:function(){if(!this._closeButtonWrapper){return}if(!this.showCloseButton){this._closeButtonWrapper[0].style.visibility="hidden"}else{this._closeButtonWrapper[0].style.visibility="visible";var e=this._toPx(this.closeButtonSize);this._closeButtonWrapper[0].style.width=e;this._closeButtonWrapper[0].style.height=e}if(!this.showCollapseButton){this._collapseButtonWrapper[0].style.visibility="hidden"}else{this._collapseButtonWrapper[0].style.visibility="visible";var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f}},_performHeaderCloseButtonLayout:function(){if(!this._closeButtonWrapper){return}var e=parseInt(this._header.css("padding-right"),10);if(!isNaN(e)){this._closeButtonWrapper.width(this._closeButton.width());if(!this.rtl){this._closeButtonWrapper[0].style.marginRight=this._toPx(e);this._closeButtonWrapper[0].style.marginLeft="0px"}else{this._closeButtonWrapper[0].style.marginRight="0px";this._closeButtonWrapper[0].style.marginLeft=this._toPx(e)}}this._closeButtonWrapper[0].style.position="absolute";if(!this.rtl){this._closeButtonWrapper[0].style.right="0px";this._closeButtonWrapper[0].style.left=""}else{this._closeButtonWrapper[0].style.right="";this._closeButtonWrapper[0].style.left="0px"}},_performHeaderCollapseButtonLayout:function(){if(!this._closeButtonWrapper){return}var g=parseInt(this._header.css("padding-right"),10);if(!isNaN(g)){var f=this._toPx(this.collapseButtonSize);this._collapseButtonWrapper[0].style.width=f;this._collapseButtonWrapper[0].style.height=f;if(!this.rtl){this._collapseButtonWrapper[0].style.marginRight=this._toPx(g);this._collapseButtonWrapper[0].style.marginLeft="0px"}else{this._collapseButtonWrapper[0].style.marginRight="0px";this._collapseButtonWrapper[0].style.marginLeft=this._toPx(g)}}this._collapseButtonWrapper[0].style.position="absolute";var e=this._toPx(this.showCloseButton?this._closeButton.outerWidth(true):0);if(!this.rtl){this._collapseButtonWrapper[0].style.right=e;this._collapseButtonWrapper[0].style.left=""}else{this._collapseButtonWrapper[0].style.right="";this._collapseButtonWrapper[0].style.left=e}this._centerElement(this._collapseButton,a(this._collapseButton[0].parentElement),"y")},_performWidgetLayout:function(){var e;if(this.width!=="auto"){if(this.width&&this.width.toString().indexOf("%")>=0){this.element.style.width=this.width}else{this.element.style.width=this._toPx(this.width)}}if(!this.collapsed){if(this.height!=="auto"){if(this.height&&this.height.toString().indexOf("%")>=0){this.element.style.height=this.height}else{this.element.style.height=this._toPx(this.height)}}else{this.element.style.height=this.host.height()+"px"}this.element.style.minHeight=this._toPx(this.minHeight)}this._setChildrenLayout();e=this._validateMinSize();this.element.style.maxHeight=this._toPx(this.maxHeight);this.element.style.minWidth=this._toPx(this.minWidth);this.element.style.maxWidth=this._toPx(this.maxWidth);if(!e){this._setChildrenLayout()}},_setChildrenLayout:function(){this._header.width(this.host.width()-(this._header.outerWidth(true)-this._header.width()));this._content.width(this.host.width()-(this._content.outerWidth(true)-this._content.width()));this._content.height(this.host.height()-this._header.outerHeight(true)-(this._content.outerHeight(true)-this._content.height()))},_validateMinSize:function(){var f=true;if(this.minHeight<this._header.height()){this.minHeight=this._header.height();f=false}var h=a(this._header.children()[0]).outerWidth(),e=this._header.children()[1]?a(this._header.children()[1]).outerWidth():0,g=h+e;if(this.minWidth<100){this.minWidth=Math.min(g,100);f=false}return f},_centerElement:function(h,f,e,g){if(typeof f.left==="number"&&typeof f.top==="number"&&typeof f.height==="number"&&typeof f.width==="number"){this._centerElementInArea(h,f,e)}else{this._centerElementInParent(h,f,e,g)}},_centerElementInParent:function(e,o,j,g){var n=e.css("display")==="none";var f,h;j=j.toLowerCase();if(g){f=g+"Top";h=g+"Left"}else{f="top";h="left"}if(j.indexOf("y")>=0){if(n){e[0].style.display="block"}var i=e.outerHeight(true),l;if(n){e[0].style.display="none"}l=o.height();var k=(Math.max(0,l-i))/2;e[0].style[f]=k+"px"}if(j.indexOf("x")>=0){if(n){e[0].style.display="block"}var q=e.outerWidth(true),p;if(n){e[0].style.display="none"}p=o.width();var m=(Math.max(0,p-q))/2;e[0].style[h]=m+"px"}},_centerElementInArea:function(f,e,h){h=h.toLowerCase();if(h.indexOf("y")>=0){var g=f.outerHeight(true);var j=e.height;var i=(j-g)/2;f[0].style.top=i+e.top+"px"}if(h.indexOf("x")>=0){var m=f.outerWidth(true);var l=e.width;var k=(l-m)/2;f[0].style.left=k+e.left+"px"}},_removeEventHandlers:function(){this.removeHandler(this._header,this._getEvent("mousedown"));this.removeHandler(this._header,this._getEvent("mousemove"));this.removeHandler(this._header,"focus");this.removeHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"));this.removeHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"));this.removeHandler(this.host,"keydown");this.removeHandler(this._closeButton,this._getEvent("click"));this.removeHandler(this._closeButton,this._getEvent("mouseenter"));this.removeHandler(this._closeButton,this._getEvent("mouseleave"));this.removeHandler(this._collapseButton,this._getEvent("click"));this.removeHandler(this._collapseButton,this._getEvent("mouseenter"));this.removeHandler(this._collapseButton,this._getEvent("mouseleave"));this.removeHandler(this.host,this._getEvent("mousedown"));if(this.okButton){this.removeHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler)}if(this.cancelButton){this.removeHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler)}this.removeHandler(this._header,this._getEvent("mouseenter"));this.removeHandler(this._header,this._getEvent("mouseleave"));this.removeHandler(this.host,"resizing",this._windowResizeHandler)},_removeFromArray:function(e,g){var f=this._indexOf(e,g);if(f>=0){return g.splice(this._indexOf(e,g),1)}else{return g}},_sortByStyle:function(e,l){for(var h=0;h<l.length;h++){for(var f=l.length-1;f>h;f--){var m=l[f],k=l[f-1],g;if(parseInt(m.css(e),10)<parseInt(k.css(e),10)){g=m;l[f]=k;l[f-1]=g}}}},_initializeResize:function(){if(this.resizable){var e=this;this.initResize({target:this.host,alsoResize:e._content,maxWidth:e.maxWidth,minWidth:e.minWidth,maxHeight:e.maxHeight,minHeight:e.minHeight,indicatorSize:10,resizeParent:e.dragArea})}},_removeResize:function(){this.removeResize()},_getEvent:function(e){if(this._isTouchDevice){return this._touchEvents[e]}else{return e}},_addEventHandlers:function(){this._addDragDropHandlers();this._addCloseHandlers();this._addCollapseHandlers();this._addFocusHandlers();this._documentResizeHandlers();this._closeButtonHover();this._collapseButtonHover();this._addDialogButtonsHandlers();this._addHeaderHoverEffect();this._addResizeHandlers();var e=this;this.addHandler(this._header,this._getEvent("mousemove"),function(){e._addHeaderCursorHandlers(e)})},_addResizeHandlers:function(){var e=this;e.addHandler(e.host,"resizing",e._windowResizeHandler,{self:e});this.addHandler(a(window),"orientationchanged."+this.element.id,function(){e._performLayout()});this.addHandler(a(window),"orientationchange."+this.element.id,function(){e._performLayout()})},_windowResizeHandler:function(h){var e=h.data.self;e._header.width(e.host.width()-(e._header.outerWidth(true)-e._header.width()));if(e.width&&e.width.toString().indexOf("%")>=0){var g=a(document.body).width()/100;var f=1/g;e.width=(f*h.args.width)+"%"}else{e.width=h.args.width}if(e.height&&e.height.toString().indexOf("%")>=0){var g=a(document.body).height()/100;var f=1/g;e.height=(f*h.args.height)+"%"}else{e.height=h.args.height}},_addHeaderHoverEffect:function(){var e=this;this.addHandler(this._header,this._getEvent("mouseenter"),function(){a(this).addClass(e.toThemeProperty("jqx-window-header-hover"))});this.addHandler(this._header,this._getEvent("mouseleave"),function(){a(this).removeClass(e.toThemeProperty("jqx-window-header-hover"))})},_addDialogButtonsHandlers:function(){if(this.okButton){this.addHandler(a(this.okButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"ok"})}if(this.cancelButton){this.addHandler(a(this.cancelButton),this._getEvent("click"),this._setDialogResultHandler,{self:this,result:"cancel"})}},_documentResizeHandlers:function(){var e=this;if(this.isModal){this.addHandler(a(window),"resize.window"+this.element.id,function(){if(typeof e._modalBackground==="object"&&e._modalBackground!==null){if(e.isOpen()){e._modalBackground.style.display="none"}if(!e.restricter){var f=e._getDocumentSize();e._modalBackground.style.width=f.width+"px";e._modalBackground.style.height=f.height+"px"}else{e._modalBackground.style.left=e._toPx(e.dragArea.left);e._modalBackground.style.top=e._toPx(e.dragArea.top);e._modalBackground.style.width=e._toPx(e.dragArea.width);e._modalBackground.style.height=e._toPx(e.dragArea.height)}if(e.isOpen()){e._modalBackground.style.display="block"}}})}},_setDialogResultHandler:function(f){var e=f.data.self;e._setDialogResult(f.data.result);e.closeWindow()},_setDialogResult:function(e){this.dialogResult.OK=false;this.dialogResult.None=false;this.dialogResult.Cancel=false;e=e.toLowerCase();switch(e){case"ok":this.dialogResult.OK=true;break;case"cancel":this.dialogResult.Cancel=true;break;default:this.dialogResult.None=true}},_getDocumentSize:function(){var e=a.jqx.browser.msie&&a.jqx.browser.version<9;var f=e?4:0;var g=f;if(document.body.scrollHeight>document.body.clientHeight&&e){f=this._SCROLL_WIDTH}if(document.body.scrollWidth>document.body.clientWidth&&e){g=this._SCROLL_WIDTH}return{width:a(document).width()-f,height:a(document).height()-g}},_closeButtonHover:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("mouseenter"),function(){e._closeButton.addClass(e.toThemeProperty("jqx-window-close-button-hover"))});this.addHandler(this._closeButton,this._getEvent("mouseleave"),function(){e._closeButton.removeClass(e.toThemeProperty("jqx-window-close-button-hover"))})},_collapseButtonHover:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("mouseenter"),function(){e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-hover"))});this.addHandler(this._collapseButton,this._getEvent("mouseleave"),function(){e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-hover"))})},_setModalBackgroundStyles:function(){if(this.isModal){var e=this._getDocumentSize();if(!(a.jqx.browser.msie&&a.jqx.browser.version<9)){this._modalBackground.style.opacity=this.modalOpacity}else{this._modalBackground.style.filter="alpha(opacity="+(this.modalOpacity*100)+")"}this._modalBackground.style.position="absolute";this._modalBackground.style.top="0px";this._modalBackground.style.left="0px";this._modalBackground.style.width=e.width;this._modalBackground.style.height=e.height;this._modalBackground.style.zIndex=this.modalBackgroundZIndex;if(!this.autoOpen){this._modalBackground.style.display="none"}}},_addFocusHandlers:function(){var e=this;this.addHandler(this.host,this._getEvent("mousedown"),function(){if(!e.isModal){e.bringToFront()}})},_indexOf:function(f,g){for(var e=0;e<g.length;e++){if(g[e][0]===f[0]){return e}}return -1},_addCloseHandlers:function(){var e=this;this.addHandler(this._closeButton,this._getEvent("click"),function(f){return e._closeWindow(f)});if(this.keyboardCloseKey!=="none"){if(typeof this.keyboardCloseKey!=="number"&&this.keyboardCloseKey.toLowerCase()==="esc"){this.keyboardCloseKey=27}}this.addHandler(this.host,"keydown",function(f){if(f.keyCode===e.keyboardCloseKey&&e.keyboardCloseKey!=null&&e.keyboardCloseKey!="none"){e._closeWindow(f)}else{e._handleKeys(f)}},{self:this});this.addHandler(this.host,"keyup",function(){if(!e.keyboardNavigation){return}if(e._moved){var h=e.host.coord();var g=h.left;var f=h.top;e._raiseEvent(3,g,f,g,f);e._moved=false}})},_handleKeys:function(f){if(!this.keyboardNavigation){return}if(!this._headerFocused){return}if(a(document.activeElement).ischildof(this._content)){return}var e=f.ctrlKey;var m=f.keyCode;var k=this.host.coord();var j=k.left;var l=k.top;var g=this._getDraggingArea();var h=this.host.width();var n=this.host.height();var o=true;var i=10;switch(m){case 37:if(!e){if(this.draggable){if(j-i>=0){this.move(j-i,l)}}}else{if(this.resizable){this.resize(h-i,n)}}o=false;break;case 38:if(!e){if(this.draggable){if(l-i>=0){this.move(j,l-i)}}}else{if(this.resizable){this.resize(h,n-i)}}o=false;break;case 39:if(!e){if(this.draggable){if(j+h+i<=g.width){this.move(j+i,l)}}}else{if(this.resizable){this.resize(h+i,n)}}o=false;break;case 40:if(!e){if(this.draggable){if(l+n+i<=g.height){this.move(j,l+i)}}}else{if(this.resizable){this.resize(h,n+i)}}o=false;break}if(!o){if(f.preventDefault){f.preventDefault()}if(f.stopPropagation){f.stopPropagation()}}return o},_addCollapseHandlers:function(){var e=this;this.addHandler(this._collapseButton,this._getEvent("click"),function(){if(!e.collapsed){e.collapse()}else{e.expand()}})},_closeWindow:function(){this.closeWindow();return false},_addHeaderCursorHandlers:function(e){if(e.resizeArea&&e.resizable&&!e.collapsed){e._header[0].style.cursor=e._resizeWrapper.style.cursor;return}else{if(e.draggable){e._header[0].style.cursor="move";return}}e._header[0].style.cursor="default";if(e._resizeWrapper){e._resizeWrapper.style.cursor="default"}},_addDragDropHandlers:function(){if(this.draggable){var e=this;this.addHandler(this.host,"focus",function(){e._headerFocused=true});this.addHandler(this.host,"blur",function(){e._headerFocused=false});this.addHandler(this._header,"focus",function(){e._headerFocused=true;return false});this.addHandler(this._header,this._getEvent("mousedown"),function(j,i,k){if(i){j.pageX=i}if(k){j.pageY=k}e._headerMouseDownHandler(e,j);return true});this.addHandler(this._header,"dragstart",function(i){if(i.preventDefault){i.preventDefault()}return false});this.addHandler(this._header,this._getEvent("mousemove"),function(i){return e._headerMouseMoveHandler(e,i)});this.addHandler(a(document),this._getEvent("mousemove")+"."+this.host.attr("id"),function(i){return e._dragHandler(e,i)});this.addHandler(a(document),this._getEvent("mouseup")+"."+this.host.attr("id"),function(i){return e._dropHandler(e,i)});try{if(document.referrer!==""||window.frameElement){var h=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){h=document.referrer}}if(h&&h.indexOf(document.location.host)!=-1){var g=function(i){e._dropHandler(e,i)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}catch(f){}}},_headerMouseDownHandler:function(f,g){if(!f.isModal){f.bringToFront()}if(f._resizeDirection==null){var e=a.jqx.position(g);f._mousePosition.x=e.left;f._mousePosition.y=e.top;f._mouseDown=true;f._isDragging=false}},_headerMouseMoveHandler:function(f,i){if(f._mouseDown&&!f._isDragging){var j=a.jqx.mobile.getTouches(i);var k=j[0];var h=k.pageX,g=k.pageY;var e=a.jqx.position(i);h=e.left;g=e.top;if((h+3<f._mousePosition.x||h-3>f._mousePosition.x)||(g+3<f._mousePosition.y||g-3>f._mousePosition.y)){f._isDragging=true;f._mousePosition={x:h,y:g};f._windowPosition={x:f.host.coord().left,y:f.host.coord().top};a(document.body).addClass(f.toThemeProperty("jqx-disableselect"))}if(f._isTouchDevice){i.preventDefault();return true}return false}if(f._isDragging){if(f._isTouchDevice){i.preventDefault();return true}return false}return true},_dropHandler:function(g,j){var f=true;if(g._isDragging&&!g.isResizing&&!g._resizeDirection){var e=parseInt(g.host.css("left"),10),k=parseInt(g.host.css("top"),10),i=(g._isTouchDevice)?0:j.pageX,h=(g._isTouchDevice)?0:j.pageY;g.enableResize=g._enableResizeBackup;g._enableResizeBackup="undefined";g._raiseEvent(3,e,k,i,h);f=false;if(j.preventDefault!="undefined"){j.preventDefault()}if(j.originalEvent!=null){j.originalEvent.mouseHandled=true}if(j.stopPropagation!="undefined"){j.stopPropagation()}}g._isDragging=false;g._mouseDown=false;a(document.body).removeClass(g.toThemeProperty("jqx-disableselect"));return f},_dragHandler:function(m,h){if(m._isDragging&&!m.isResizing&&!m._resizeDirection){var l=(m._isTouchDevice)?h.originalEvent.which:h.which;if(typeof m._enableResizeBackup==="undefined"){m._enableResizeBackup=m.enableResize}m.enableResize=false;if(l===0&&a.jqx.browser.msie&&a.jqx.browser.version<8){return m._dropHandler(m,h)}var k=a.jqx.position(h);var j=k.left,i=k.top,g=j-m._mousePosition.x,f=i-m._mousePosition.y,e=m._windowPosition.x+g,n=m._windowPosition.y+f;m.move(e,n,h);h.preventDefault();return false}return true},_validateCoordinates:function(e,k,i,j){var h=this._getDraggingArea();e=(e<h.left)?h.left:e;k=(k<h.top)?h.top:k;var f=this.host.outerWidth(true);var g=this.host.outerHeight(true);if(e+f>=h.width+h.left-2*j){e=h.width+h.left-f-j}if(k+g>=h.height+h.top-i){k=h.height+h.top-g-i}return{x:e,y:k}},_performLayout:function(){this._performHeaderLayout();this._performWidgetLayout()},_parseDragAreaAttributes:function(){if(this.dragArea!==null){this.dragArea.height=parseInt(this.dragArea.height,10);this.dragArea.width=parseInt(this.dragArea.width,10);this.dragArea.top=parseInt(this.dragArea.top,10);this.dragArea.left=parseInt(this.dragArea.left,10)}},_positionWindow:function(){this._parseDragAreaAttributes();if(this.position instanceof Array&&this.position.length===2&&typeof this.position[0]==="number"&&typeof this.position[1]==="number"){this.element.style.left=this._toPx(this.position[0]);this.element.style.top=this._toPx(this.position[1])}else{if(this.position instanceof Object){if(this.position.left){this.host.offset(this.position)}else{if(this.position.x!==undefined&&this.position.y!==undefined){this.element.style.left=this._toPx(this.position.x);this.element.style.top=this._toPx(this.position.y)}else{if(this.position.center){this._centerElement(this.host,this.position.center,"xy");var g=this.position.center.coord();var f=parseInt(this.host.css("left"),10);var e=parseInt(this.host.css("top"),10);this.element.style.left=this._toPx(f+g.left);this.element.style.top=this._toPx(e+g.top)}}}}else{this._positionFromLiteral()}}},_getDraggingArea:function(){var e={};e.left=((this.dragArea&&this.dragArea.left)?this.dragArea.left:0);e.top=((this.dragArea&&this.dragArea.top)?this.dragArea.top:0);e.width=((this.dragArea&&this.dragArea.width)?this.dragArea.width:this._getDocumentSize().width);e.height=((this.dragArea&&this.dragArea.height)?this.dragArea.height:this._getDocumentSize().height);return e},_positionFromLiteral:function(){if(!(this.position instanceof Array)){this.position=this.position.split(",")}var e=this.position.length,f=this._getDraggingArea();while(e){e-=1;this.position[e]=this.position[e].replace(/ /g,"");switch(this.position[e]){case"top":this.element.style.top=this._toPx(f.top);break;case"left":this.element.style.left=this._toPx(f.left);break;case"bottom":this.element.style.top=this._toPx(f.height-this.host.height()+f.top);break;case"right":this.element.style.left=this._toPx(f.left+f.width-this.host.width());break;default:if(!this.dragArea){f=a(window)}this._centerElement(this.host,f,"xy");break}}},_raiseEvent:function(g){var f=this._events[g],h=a.Event(f),e={};if(g===2||g===3){e.x=arguments[1];e.y=arguments[2];e.pageX=arguments[3];e.pageY=arguments[4]}if(f==="closed"||f==="close"){e.dialogResult=this.dialogResult}h.args=e;return this.host.trigger(h)},destroy:function(){this.removeHandler(a(window),"resize.window"+this.element.id);this._removeEventHandlers();this._destroy()},_destroy:function(){if(this.isModal){if(this._modalBackground!==null){a(this._modalBackground).remove()}this.host.jqxWindow({isModal:false})}if(this.restricter){this.removeHandler(a(window),"resize."+this.element.id);this.removeHandler(a(window),"orientationchanged."+this.element.id);this.removeHandler(a(window),"orientationchange."+this.element.id)}this.host.remove();if(this._modalBackground!==null){a(this._modalBackground).remove()}},_toClose:function(f,e){return((f&&e[0]===this.element)||(e[0]!==this.element&&typeof e[0]==="object"))},propertyChangedHandler:function(e,g,m,k){this._validateProperties();switch(g){case"rtl":this._performLayout();break;case"dragArea":this._positionWindow();break;case"collapseButtonSize":this._performLayout();break;case"closeButtonSize":this._performLayout();break;case"isModal":this._refresh();this._fixWindowZIndex();if(k===false){var h=a.data(document.body,"jqxwindows-modallist");var l=[];for(var f=0;f<h.length;f++){var j=h[f][0];if(j!==this.element){l.push(h[f])}}}a.data(document.body,"jqxwindows-modallist",l);break;case"keyboardCloseKey":this._removeEventHandlers();this._addEventHandlers();break;case"disabled":if(k){this.disable()}else{this.disabled=true;this.enable()}break;case"showCloseButton":case"showCollapseButton":this._performLayout();break;case"height":this._performLayout();break;case"width":this._performLayout();break;case"title":this.setTitle(k);this.title=k;break;case"content":this.setContent(k);break;case"draggable":this._removeEventHandlers();this._addEventHandlers();this._removeResize();this._initializeResize();break;case"resizable":this.enableResize=k;if(k){this._initializeResize()}else{this._removeResize()}break;case"position":this._positionWindow();break;case"modalOpacity":this._setModalBackgroundStyles();break;case"okButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.okButton)}break;case"cancelButton":if(k){this._addDialogButtonsHandlers()}else{this.removeHandler(this.cancelButton)}break;case"collapsed":if(k){if(!m){this.collapsed=false;this.collapse(0)}}else{if(m){this.collapsed=true;this.expand(0)}}break;case"theme":a.jqx.utilities.setTheme(m,k,this.host);break;case"enableResize":return;case"maxWidth":case"maxHeight":case"minWidth":case"minHeight":e._performLayout();e._removeResize();e._initializeResize();return;default:return}},collapse:function(g){if(!this.collapsed&&this._animationInProgress!==true){if(this.host.css("display")=="none"){return}var e=this,h=this._header.outerHeight(true),i=parseInt(this._header.css("border-bottom-width"),10),f=parseInt(this._header.css("margin-bottom"),10);g=!isNaN(parseInt(g,10))?g:this.collapseAnimationDuration;if(!isNaN(i)){h-=2*i}if(!isNaN(f)){h+=f}this._heightBeforeCollapse=this.host.height();this._minHeightBeforeCollapse=this.host.css("min-height");this.element.style.minHeight=this._toPx(h);e._animationInProgress=true;this.host.animate({height:h},{duration:g,complete:function(){e._animationInProgress=false;e.collapsed=true;e._collapseButton.addClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.addClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="none";e._raiseEvent(5);e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",false)}})}},expand:function(f){if(this.collapsed&&this._animationInProgress!==true){var e=this;f=!isNaN(parseInt(f,10))?f:this.collapseAnimationDuration;e._animationInProgress=true;this.host.animate({height:this._heightBeforeCollapse},{duration:f,complete:function(){e._animationInProgress=false;e.collapsed=false;e.element.style.minHeight=e._toPx(e._minHeightBeforeCollapse);e._collapseButton.removeClass(e.toThemeProperty("jqx-window-collapse-button-collapsed"));e._collapseButton.removeClass(e.toThemeProperty("jqx-icon-arrow-down"));e._content[0].style.display="block";e._raiseEvent(6);e._performWidgetLayout();e._raiseEvent(9);a.jqx.aria(e,"aria-expanded",true)}})}},closeAll:function(h){h=true;var g=a.data(document.body,"jqxwindows-list"),f=g.length,e=a.data(document.body,"jqxwindow-modal")||[];while(f){f-=1;if(this._toClose(h,g[f])){g[f].jqxWindow("closeWindow","close");g.splice(f,1)}}if(this._toClose(h,e)){e.jqxWindow("closeWindow","close");a.data(document.body,"jqxwindow-modal",[])}a.data(document.body,"jqxwindows-list",g)},setTitle:function(f){if(typeof f==="string"){this._headerContentWrapper.html(f)}else{if(typeof f==="object"){try{this._headerContentWrapper[0].innerHTML="";if(f instanceof HTMLElement){this._headerContentWrapper[0].appendChild(f)}else{if(f.appendTo){f.appendTo(this._headerContentWrapper)}}}catch(e){throw new Error(e)}}}this.title=f;this._performLayout()},setContent:function(h){this._contentInitialized=false;var g=this._content,j=false;while(!j){g[0].style.width="auto";g[0].style.height="auto";if(g.hasClass("jqx-window")){j=true}else{g=a(g[0].parentNode)}}if(a.isArray(h)){for(var f=0;f<h.length;f++){h[f].appendTo(this._content)}}else{if(typeof h==="string"){a(this._content[0]).html(h)}else{if(typeof h==="object"){try{this._content[0].innerHTML="";if(h instanceof HTMLElement){this._content[0].appendChild(h)}else{if(h.appendTo){h.appendTo(this._content)}}}catch(e){throw new Error(e)}}}}this.content=h;this._performLayout()},disable:function(){this.disabled=true;this._removeEventHandlers();this._header.addClass(this.toThemeProperty("jqx-window-header-disabled"));this._closeButton.addClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.addClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this._content.addClass(this.toThemeProperty("jqx-window-content-disabled"));this.host.addClass(this.toThemeProperty("jqx-window-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this._removeResize()},enable:function(){if(this.disabled){this._addEventHandlers();this._header.removeClass(this.toThemeProperty("jqx-window-header-disabled"));this._content.removeClass(this.toThemeProperty("jqx-window-content-disabled"));this._closeButton.removeClass(this.toThemeProperty("jqx-window-close-button-disabled"));this._collapseButton.removeClass(this.toThemeProperty("jqx-window-collapse-button-disabled"));this.host.removeClass(this.toThemeProperty("jqx-window-disabled"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled"));this.disabled=false;this._initializeResize()}},isOpen:function(){return this._visible},closeWindow:function(f){var e=this;f=(typeof f==="undefined")?this.closeButtonAction:f;this.hide(function(){if(f==="close"){e._destroy()}})},bringToFront:function(){var f=a.data(document.body,"jqxwindows-list");if(this.isModal){f=a.data(document.body,"jqxwindows-modallist");this._fixWindowZIndex("modal-hide");this._fixWindowZIndex("modal-show");return}var k=f[f.length-1],j=parseInt(k.css("z-index"),10),g=this._indexOf(this.host,f);for(var e=f.length-1;e>g;e-=1){var h=parseInt(f[e].css("z-index"),10)-1;f[e][0].style.zIndex=h}this.element.style.zIndex=j;this._sortByStyle("z-index",f)},hide:function(i,h,e){var g=this;if(this.closing){var f=this.closing();if(f===false){return}}h=h||this.closeAnimationDuration;switch(this.animationType){case"none":this.element.style.display="none";break;case"fade":g._animationInProgress=true;this.host.fadeOut({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"slide":g._animationInProgress=true;this.host.slideUp({duration:h,callback:function(){g._animationInProgress=false;if(i instanceof Function){i()}}});break;case"combined":g._animationInProgress=true;this.host.animate({opacity:0,width:"0px",height:"0px"},{duration:h,complete:function(){g._animationInProgress=false;g.element.style.display="none";if(i instanceof Function){i()}}});break}this._visible=false;if(this.isModal){a(this._modalBackground).hide();this._fixWindowZIndex("modal-hide")}if(e!==true){this._raiseEvent(1);this._raiseEvent(8)}},open:function(f,e){this.show(f,e)},close:function(g,f,e){this.hide(g,f,e)},show:function(k,j){var i=this;this._setDialogResult("none");j=j||this.showAnimationDuration;switch(this.animationType){case"none":this.element.style.display="block";break;case"fade":i._animationInProgress=true;this.host.fadeIn({duration:j,complete:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"slide":i._animationInProgress=true;this.host.slideDown({duration:j,callback:function(){i._animationInProgress=false;if(k instanceof Function){k()}}});break;case"combined":this.element.style.display="block";var g=i.host.width();var e=i.host.height();this.element.style.minWidth="0px";this.element.style.minHeight="0px";this.element.style.opacity=0;this.element.style.width="0px";this.element.style.height="0px";i._animationInProgress=true;this.host.animate({opacity:1,width:g+"px",height:e+"px"},{duration:j,complete:function(){i._animationInProgress=false;i._performLayout();if(k instanceof Function){k()}}});break}if(this.isModal){a(this._modalBackground).show();this._fixWindowZIndex("modal-show")}var h=this;if(!this._visible){if(j>150&&this.animationType!="none"){setTimeout(function(){if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}h._raiseEvent(7);h._raiseEvent(9)},j-150)}else{if(!h._contentInitialized){if(h.initContent){h.initContent();h._contentInitialized=true}}this._raiseEvent(7);h._raiseEvent(9)}}this._visible=true;if(i.animationType!=="combined"){this._performLayout()}if(this.autoFocus){var f=function(){if(!h._isTouchDevice){h._content[0].focus()}};f();setTimeout(function(){f()},100)}},_getTabbables:function(){var f;if(a.jqx.browser.msie&&a.jqx.browser.version<9){f=this._content.find("*")}else{f=this._content[0].querySelectorAll("*")}var e=[];a.each(f,function(){if(d(this)){e[e.length]=this}});return e},move:function(n,m,e,h){var g=0,f=0,k,j,i;n=parseInt(n,10);m=parseInt(m,10);if(a.jqx.browser.msie){if(a(window).width()>a(document).width()&&!this.dragArea){f=this._SCROLL_WIDTH}if(a(window).height()<a(document).height()&&document.documentElement.clientWidth>document.documentElement.scrollWidth&&!this.dragArea){g=this._SCROLL_WIDTH}}k=this._validateCoordinates(n,m,f,g);if(parseInt(this.host.css("left"),10)!==k.x||parseInt(this.host.css("top"),10)!==k.y){if(e){var l=a.jqx.position(e);j=l.left;i=l.top}if(j===undefined){j=n}if(i===undefined){i=m}if(h!==false){this._raiseEvent(2,k.x,k.y,j,i)}}this.element.style.left=k.x+"px";this.element.style.top=k.y+"px";this._moved=true},_toPx:function(e){if(typeof e==="number"){return e+"px"}else{return e}}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(f){var e=a(f);return e.css("display")!=="none"&&e.css("visibility")!=="hidden"}function d(g){var e=g.getAttribute("tabindex"),f=e===null;return(f||e>=0)&&c(g,!f)}}(jqxBaseFramework));(function(b){var a=(function(c){return{resizeConfig:function(){this.resizeTarget=null;this.resizeIndicatorSize=5;this.resizeTargetChildren=null;this.isResizing=false;this.resizeArea=false;this.minWidth=1;this.maxWidth=100;this.minHeight=1;this.maxHeight=100;this.resizeParent=null;this.enableResize=true;this._resizeEvents=["resizing","resized","resize"];this._resizeMouseDown=false;this._resizeCurrentMode=null;this._mouseResizePosition={};this._resizeMethods=null;this._SCROLL_WIDTH=21},_resizeExceptions:{invalidTarget:"Invalid target!",invalidMinHeight:"Invalid minimal height!",invalidMaxHeight:"Invalid maximum height!",invalidMinWidth:"Invalid minimum width!",invalidMaxWidth:"Invalid maximum width!",invalidIndicatorSize:"Invalid indicator size!",invalidSize:"Invalid size!"},removeResize:function(){if(this.resizeTarget){var f=c(this.resizeTarget.children(".jqx-resize"));f.detach();var e=f.children();this._removeResizeEventListeners();for(var d=0;d<e.length;d+=1){c(e[d]).detach();this.resizeTarget.append(e[d])}f.remove()}this._resizeDirection=null},initResize:function(d){this.resizeConfig();this.resizeTarget=c(d.target);this.resizeIndicatorSize=d.indicatorSize||10;this.maxWidth=d.maxWidth||100;this.minWidth=d.minWidth||1;this.maxHeight=d.maxHeight||100;this.minHeight=d.minHeight||1;this.resizeParent=d.resizeParent;this._parseResizeParentProperties();this._validateResizeProperties();this._validateResizeTargetDimensions();this._getChildren(this.resizeTarget.maxWidth,this.resizeTarget.minWidth,this.resizeTarget.maxHeight,this.resizeTarget.minHeight,d.alsoResize);this._refreshResize();this._cursorBackup=this.resizeTarget.css("cursor");if(this._cursorBackup==="auto"){this._cursorBackup="default"}},_validateResizeTargetDimensions:function(){this.resizeTarget.maxWidth=this.maxWidth;this.resizeTarget.minWidth=((3*this.resizeIndicatorSize>this.minWidth)?3*this.resizeIndicatorSize:this.minWidth);this.resizeTarget.maxHeight=this.maxHeight;this.resizeTarget.minHeight=((3*this.resizeIndicatorSize>this.minHeight)?3*this.resizeIndicatorSize:this.minHeight)},_parseResizeParentProperties:function(){if(this.resizeParent){this.resizeParent.left=parseInt(this.resizeParent.left,10);this.resizeParent.top=parseInt(this.resizeParent.top,10);this.resizeParent.width=parseInt(this.resizeParent.width,10);this.resizeParent.height=parseInt(this.resizeParent.height,10)}},_getChildren:function(h,e,g,i,d){this.resizeTargetChildren=c(d);this.resizeTargetChildren=this.resizeTargetChildren.toArray();var f=this.resizeTargetChildren.length;while(f){f-=1;this.resizeTargetChildren[f]=c(this.resizeTargetChildren[f])}},_refreshResize:function(){this._renderResize();this._performResizeLayout();this._removeResizeEventListeners();this._addResizeEventHandlers()},_renderResize:function(){var d=this;if(d._resizeWrapper!==undefined&&c(d._resizeWrapper).parents().length>0){return}var e=document.createElement("div");e.className="jqx-resize jqx-rc-all";e.style.zIndex=8000;e.appendChild(d._header[0]);e.appendChild(d._content[0]);d.resizeTarget[0].appendChild(e);d._resizeWrapper=e},_performResizeLayout:function(){this._resizeWrapper.style.height=this.resizeTarget.height()+"px";this._resizeWrapper.style.width=this.resizeTarget.width()+"px"},_removeResizeEventListeners:function(){var d=this.resizeTarget.attr("id");this.removeHandler(this._resizeWrapper,"mousemove.resize"+d);this.removeHandler(this._resizeWrapper,"mousedown.resize"+d);this.removeHandler(c(document),"mousemove.resize"+d);this.removeHandler(c(document),"mouseup.resize"+d)},_addResizeEventHandlers:function(){var g=this.resizeTarget.attr("id");var d=this;if(d._isTouchDevice){this.addHandler(this._resizeWrapper,"touchmove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"touchstart.resize."+g,function(h){d._resizeCursorChangeHandler(d,h);d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"touchmove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"touchend.resize."+g,function(h){d._stopResizing(d,h)})}else{this.addHandler(this._resizeWrapper,"mousemove.resize."+g,function(h){d._resizeCursorChangeHandler(d,h)});this.addHandler(this._resizeWrapper,"mousedown.resize."+g,function(h){d._resizeMouseDownHandler(d,h)});this.addHandler(c(document),"mousemove.resize."+g,function(h){return d._resizeHandler(d,h)});this.addHandler(c(document),"mouseup.resize."+g,function(h){d._stopResizing(d,h)})}try{if(document.referrer!==""||window.frameElement){var f=function(h){d._stopResizing(d,h)};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",f,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",f)}}}}catch(e){}},_stopResizing:function(d){if(d.enableResize){if(d.isResizing){d._raiseResizeEvent(1)}d._resizeMouseDown=false;d.isResizing=false;d._resizeDirection=null;if(d.resizeTarget){d.resizeTarget.removeClass("jqx-disableselect")}}if(d._cursorBackup=="undefined"){d._cursorBackup="default"}if(d._resizeWrapper){d._resizeWrapper.style.cursor=d._cursorBackup}},_resizeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(e.isResizing&&e._resizeDirection){if(f.which===0&&c.jqx.browser.msie&&c.jqx.browser.version<9){e._stopResizing(f)}if(e._isTouchDevice){var d=c.jqx.position(f);e._performResize(d.left,d.top);return false}e._performResize(f.pageX,f.pageY);return false}else{if(e._isTouchDevice){var d=c.jqx.position(f);return e._resizeCaptureCursor(d.left,d.top)}return e._resizeCaptureCursor(f.pageX,f.pageY)}}},_resizeCaptureCursor:function(e,d){if(this._resizeMouseDown&&!this.isResizing&&this._resizeDirection){var f=3;if(this._isTouchDevice){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}if((e+f<this._mouseResizePosition.x||e-f>this._mouseResizePosition.x)||(d+f<this._mouseResizePosition.y||d-f>this._mouseResizePosition.y)){this._changeCursor(e-parseInt(this.resizeTarget.css("left"),10),d-parseInt(this.resizeTarget.css("top"),10));this._mouseResizePosition={x:e,y:d};this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this.resizeTarget.addClass("jqx-disableselect");return false}}},_resizeBackupData:function(){this.resizeTarget.lastWidth=this.resizeTarget.width();this.resizeTarget.lastHeight=this.resizeTarget.height();this.resizeTarget.x=parseInt(this.resizeTarget.css("left"),10);this.resizeTarget.y=parseInt(this.resizeTarget.css("top"),10);this._resizeBackupChildrenSize()},_resizeBackupChildrenSize:function(){var d=this.resizeTargetChildren.length,e;while(d){d-=1;e=this.resizeTargetChildren[d];this.resizeTargetChildren[d].lastWidth=e.width();this.resizeTargetChildren[d].lastHeight=e.height()}},_performResize:function(g,f){var e=g-this._mouseResizePosition.x,d=f-this._mouseResizePosition.y;if(this._resizeDirection){this._resize(this.resizeTarget,e,d)}},_resizeCursorChangeHandler:function(e,f){if(e.enableResize&&!e.collapsed){if(!e.isResizing){if(e._isTouchDevice){var d=c.jqx.position(f);e._changeCursor(d.left-parseInt(e.resizeTarget.css("left"),10),d.top-parseInt(e.resizeTarget.css("top"),10));return}e._changeCursor(f.pageX-parseInt(e.resizeTarget.css("left"),10),f.pageY-parseInt(e.resizeTarget.css("top"),10))}}},_resizeMouseDownHandler:function(e,f){if(e.enableResize){if(e._resizeDirection!==null){e._resizeMouseDown=true;if(e._isTouchDevice){var d=c.jqx.position(f);e._mouseResizePosition.x=d.left;e._mouseResizePosition.y=d.top}else{e._mouseResizePosition.x=f.pageX;e._mouseResizePosition.y=f.pageY}f.preventDefault()}}},_validateResizeProperties:function(){try{if(!this.resizeTarget||this.resizeTarget.length!==1){throw new Error(this._resizeExceptions.invalidTarget)}if(this.minHeight<0||isNaN(parseInt(this.minHeight,10))){throw new Error(this._resizeExceptions.invalidMinHeight)}if(this.maxHeight<=0||isNaN(parseInt(this.maxHeight,10))){throw new Error(this._resizeExceptions.invalidMaxHeight)}if(this.minWidth<0||isNaN(parseInt(this.minWidth,10))){throw new Error(this._resizeExceptions.invalidMinWidth)}if(this.maxWidth<0||isNaN(parseInt(this.maxWidth,10))){throw new Error(this._resizeExceptions.invalidMaxWidth)}if(this.resizeIndicatorSize<0||isNaN(parseInt(this.resizeIndicatorSize,10))){throw new Error(this._resizeExceptions.invalidIndicatorSize)}if(this.minHeight>this.maxHeight||this.minWidth>this.maxWidth){throw new Error(this._resizeExceptions.invalidSize)}}catch(d){throw new Error(d)}},_changeCursor:function(d,e){if(this.isResizing||this._resizeMouseDown){return}this.resizeArea=true;if(d<=this.resizeIndicatorSize&&d>=0&&e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="nw-resize";this._resizeDirection="topleft"}else{if(e<=this.resizeIndicatorSize&&e>0&&d>=this.resizeTarget.width()-this.resizeIndicatorSize){this._resizeWrapper.style.cursor="ne-resize";this._resizeDirection="topright"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="sw-resize";this._resizeDirection="bottomleft"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()&&d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="se-resize";this._resizeDirection="bottomright"}else{if(d<=this.resizeIndicatorSize&&d>=0){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="left"}else{if(e<=this.resizeIndicatorSize&&e>0){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="top"}else{if(e>=this.resizeTarget.height()-this.resizeIndicatorSize&&e<this.resizeTarget.height()){this._resizeWrapper.style.cursor="n-resize";this._resizeDirection="bottom"}else{if(d>=this.resizeTarget.width()-this.resizeIndicatorSize&&d<this.resizeTarget.width()){this._resizeWrapper.style.cursor="e-resize";this._resizeDirection="right"}else{this._resizeWrapper.style.cursor=this._cursorBackup;this._resizeDirection=null;this.resizeArea=false}}}}}}}}},_prepareResizeMethods:function(d){this._resizeMethods=[];if(d.indexOf("left")>=0){this._resizeMethods.push(this._resizeLeft)}if(d.indexOf("top")>=0){this._resizeMethods.push(this._resizeTop)}if(d.indexOf("right")>=0){this._resizeMethods.push(this._resizeRight)}if(d.indexOf("bottom")>=0){this._resizeMethods.push(this._resizeBottom)}},_validateResize:function(g,d,h,f,e){if(h==="horizontal"||h==="both"){return this._validateWidth(g,f,e)}else{if(h==="vertical"||h==="both"){return this._validateHeight(d,f,e)}}return{result:false,fix:0}},_getParent:function(){if(this.resizeParent!==null&&this.resizeParent!=="undefined"&&this.resizeParent.height&&this.resizeParent.width&&this.resizeParent.top&&this.resizeParent.left){return this.resizeParent}return{left:0,top:0,width:c(document).width(),height:c(document).height()}},_validateHeight:function(e,h,g){var i=0,d=2,f=this._getParent();if(c(window).width()>c(document).width()&&c.jqx.browser.msie&&f.height===c(document).height()){i=this._SCROLL_WIDTH}if(g==="bottom"&&(e+h.position().top+i+d>f.height+f.top)){return{fix:f.height-h.position().top-i-d+f.top,result:false}}if(g==="top"&&h.lastHeight-e+h.y<f.top){return{fix:e+(h.lastHeight-e+h.y)-f.top,result:false}}if(e<h.minHeight){return{fix:h.minHeight,result:false}}if(e>h.maxHeight){return{fix:h.maxHeight,result:false}}return{result:true,fix:e}},_validateWidth:function(h,g,f){var i=0,d=2,e=this._getParent();if(c(window).height()<c(document).height()&&c.jqx.browser.msie&&document.documentElement.clientWidth>=document.documentElement.scrollWidth&&e.width===c(document).width()){i=this._SCROLL_WIDTH}if(f==="right"&&(h+g.position().left+i+d>e.width+e.left)){return{fix:e.width-g.position().left-i-d+e.left,result:false}}if(f==="left"&&(g.lastWidth-h+g.x<e.left)){return{fix:h+(g.lastWidth-h+g.x)-e.left,result:false}}if(h<g.minWidth){return{fix:g.minWidth,result:false}}if(h>g.maxWidth){return{fix:g.maxWidth,result:false}}return{result:true,fix:h}},_resize:function(h,e,d){var j=this._resizeMethods.length;for(var g=0;g<j;g++){if(this._resizeMethods[g] instanceof Function){var f={element:h,x:e,y:d,self:this};this._resizeMethods[g](f)}}this._performResizeLayout()},resize:function(g,d){if(this.resizable){var f=g-this.host.width();var e=d-this.host.height();var h="right";if(e!==0){h="bottom"}this._resizeDirection=h;this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this._resize(this.resizeTarget,f,e);this.isResizing=false;if(f>0&&e>0){this._resizeDirection="right";this._prepareResizeMethods(this._resizeDirection);this._resizeBackupData();this.isResizing=true;this._resize(this.resizeTarget,f,e);this.isResizing=false}}},_setResizeChildrenSize:function(e,f){var h=this.resizeTargetChildren.length;while(h){h--;if(f==="width"){var g=this.resizeTargetChildren[h].lastWidth-(this.resizeTarget.lastWidth-e);if(g<this.resizeTarget.maxWidth&&g>0){this.resizeTargetChildren[h].width(g)}}else{var d=this.resizeTargetChildren[h].lastHeight-(this.resizeTarget.lastHeight-e);if(d<this.resizeTarget.maxHeight&&d>0){this.resizeTargetChildren[h].height(d)}}}},_resizeRight:function(g){var h=g.element.lastWidth+g.x,d=g.self._validateResize(h,0,"horizontal",g.element,"right");if(!d.result){h=d.fix}if(g.element.width()!==h){g.self._setResizeChildrenSize(h,"width");g.element.width(h);if(g.self.width.toString().indexOf("%")>=0){var f=c(document.body).width()/100;var e=1/f;g.element[0].style.width=(e*h)+"%";g.self._setChildrenLayout()}g.self._raiseResizeEvent(0)}return h},_resizeLeft:function(h){var i=h.element.lastWidth-h.x,e=h.self._validateResize(i,0,"horizontal",h.element,"left"),d=h.element.x+h.x;if(!e.result){d=h.element.x+(h.element.lastWidth-e.fix);i=e.fix;return}if(h.element.width()!==i){h.self._setResizeChildrenSize(i,"width");h.element.width(i);if(h.self.width.toString().indexOf("%")>=0){var g=c(document.body).width()/100;var f=1/g;h.element[0].style.width=(f*i)+"%";h.self._setChildrenLayout()}h.element[0].style.left=h.self._toPx(d);h.self._raiseResizeEvent(0)}return i},_resizeBottom:function(h){var e=h.element.lastHeight+h.y,d=h.self._validateResize(0,e,"vertical",h.element,"bottom");if(!d.result){e=d.fix}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.self._raiseResizeEvent(0)}return e},_resizeTop:function(h){var e=h.element.lastHeight-h.y,d=h.self._validateResize(0,e,"vertical",h.element,"top"),i=h.element.y+h.y;if(!d.result){i=h.element.y+(h.element.lastHeight-d.fix);e=d.fix;return}if(h.element.height()!==e){h.self._setResizeChildrenSize(e,"height");h.element.height(e);if(h.self.height.toString().indexOf("%")>=0){var g=c(document.body).height()/100;var f=1/g;h.element[0].style.height=(f*e)+"%";h.self._setChildrenLayout()}h.element[0].style.top=h.self._toPx(i);h.self._raiseResizeEvent(0)}return e},_raiseResizeEvent:function(f){var e=this._resizeEvents[f],g=c.Event(e),d={};d.width=parseInt(this.resizeTarget[0].style.width,10);d.height=parseInt(this.resizeTarget[0].style.height,10);g.args=d;if(f===0){e=this._resizeEvents[2];var h=c.Event(e);h.args=d;this.resizeTarget.trigger(h)}return this.resizeTarget.trigger(g)}}}(jqxBaseFramework));b.extend(b.jqx._jqxWindow.prototype,a)}(jqxBaseFramework));
 
Binary file www/jqwidgets/styles/images/create-area-dark.png has changed
Binary file www/jqwidgets/styles/images/create-area.png has changed
Binary file www/jqwidgets/styles/images/create-bar-dark.png has changed
Binary file www/jqwidgets/styles/images/create-bar.png has changed
Binary file www/jqwidgets/styles/images/create-column-dark.png has changed
Binary file www/jqwidgets/styles/images/create-column.png has changed
Binary file www/jqwidgets/styles/images/create-line-dark.png has changed
Binary file www/jqwidgets/styles/images/create-line.png has changed
Binary file www/jqwidgets/styles/images/create-pie-dark.png has changed
Binary file www/jqwidgets/styles/images/create-pie.png has changed
Binary file www/jqwidgets/styles/images/create-scatter-dark.png has changed
Binary file www/jqwidgets/styles/images/create-scatter.png has changed
--- a/www/jqwidgets/styles/jqx.base.css	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/styles/jqx.base.css	Fri May 01 16:37:31 2020 +0200
@@ -7624,6 +7624,10 @@
     padding: 2%;
     background-color: var(--jqx-time-picker-background);
 }
+.jqx-time-picker[view="portrait"] .jqx-header.jqx-widget-header.jqx-unselectable {
+    border-top-left-radius: inherit;
+    border-top-right-radius: inherit;
+}
 .jqx-time-picker[view="landscape"] .jqx-main-container {
     width: 67%;
     height: 100%;
--- a/www/jqwidgets/styles/jqx.black.css	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/styles/jqx.black.css	Fri May 01 16:37:31 2020 +0200
@@ -1,33 +1,28 @@
-.jqx-rc-tl-black
-{
+.jqx-rc-tl-black {
     -moz-border-radius-topleft: 5px;
     -webkit-border-top-left-radius: 5px;
     border-top-left-radius: 5px;
 }
 /*top-right rounded Corners*/
-.jqx-rc-tr-black
-{
+.jqx-rc-tr-black {
     -moz-border-radius-topright: 5px;
     -webkit-border-top-right-radius: 5px;
     border-top-right-radius: 5px;
 }
 /*bottom-left rounded Corners*/
-.jqx-rc-bl-black
-{
+.jqx-rc-bl-black {
     -moz-border-radius-bottomleft: 5px;
     -webkit-border-bottom-left-radius: 5px;
     border-bottom-left-radius: 5px;
 }
 /*bottom-right rounded Corners*/
-.jqx-rc-br-black
-{
+.jqx-rc-br-black {
     -moz-border-radius-bottomright: 5px;
     -webkit-border-bottom-right-radius: 5px;
     border-bottom-right-radius: 5px;
 }
 /*top rounded Corners*/
-.jqx-rc-t-black
-{
+.jqx-rc-t-black {
     -moz-border-radius-topleft: 5px;
     -webkit-border-top-left-radius: 5px;
     border-top-left-radius: 5px;
@@ -36,8 +31,7 @@
     border-top-right-radius: 5px;
 }
 /*bottom rounded Corners*/
-.jqx-rc-b-black
-{
+.jqx-rc-b-black {
     -moz-border-radius-bottomleft: 5px;
     -webkit-border-bottom-left-radius: 5px;
     border-bottom-left-radius: 5px;
@@ -46,8 +40,7 @@
     border-bottom-right-radius: 5px;
 }
 /*right rounded Corners*/
-.jqx-rc-r-black
-{
+.jqx-rc-r-black {
     -moz-border-radius-topright: 5px;
     -webkit-border-top-right-radius: 5px;
     border-top-right-radius: 5px;
@@ -56,8 +49,7 @@
     border-bottom-right-radius: 5px;
 }
 /*left rounded Corners*/
-.jqx-rc-l-black
-{
+.jqx-rc-l-black {
     -moz-border-radius-topleft: 5px;
     -webkit-border-top-left-radius: 5px;
     border-top-left-radius: 5px;
@@ -66,194 +58,408 @@
     border-bottom-left-radius: 5px;
 }
 /*all rounded Corners*/
-.jqx-rc-all-black
-{
+.jqx-rc-all-black {
     -moz-border-radius: 5px;
     -webkit-border-radius: 5px;
     border-radius: 5px;
 }
+
 .jqx-widget-black {
     color: inherit;
 }
- .jqx-grid-selectionarea-black{background-color:#262626; border:1px solid #262626; opacity:0.5}
-.jqx-grid-group-cell-black{border-color:#262626; background-color:#fff}
-.jqx-grid-cell-sort-black, .jqx-grid-cell-filter-black, .jqx-grid-cell-pinned-black{ background-color:#eaf8ff}
-.jqx-grid-cell-alt-black, .jqx-grid-cell-sort-alt-black, .jqx-grid-cell-filter-alt-black{ background-color:#deedf5}
-.jqx-widget-black .jqx-grid-cell-black{background: #000; border-color:#555}
-.jqx-widget-black .jqx-grid-group-cell-black{background-color: #000; border-color: #555;}
-.jqx-widget-black .jqx-grid-cell-selected-black{color:#fff !important}
-.jqx-widget-black .jqx-grid-cell-hover-black{color:#fff !important}
-.jqx-widget-black{font-family:Tahoma,"Lucida Sans",Verdana,Helvetica,Arial,sans-serif; border-color:#222;}
-.jqx-widget-content-black{font-family:Tahoma,"Lucida Sans",Verdana,Helvetica,Arial,sans-serif; color:#fff; border-color:#262626; background: #111;}
-.jqx-fill-state-normal-black, .jqx-widget-header-black, .jqx-input-button-content-black{font-family:Tahoma,"Lucida Sans",Verdana,Helvetica,Arial,sans-serif; color:#fff; border-color:#000; background: #a4a4a4;
-background: -moz-linear-gradient(top, #a4a4a4 0%, #757575 4%, #4f4f4f 37%, #464646 48%, #000000 52%, #000000 56%, #0c0c0c 67%, #1e1e1e 78%, #414141 96%, #666666 100%);
-background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a4a4a4), color-stop(4%,#757575), color-stop(37%,#4f4f4f), color-stop(48%,#464646), color-stop(52%,#000000), color-stop(56%,#000000), color-stop(67%,#0c0c0c), color-stop(78%,#1e1e1e), color-stop(96%,#414141), color-stop(100%,#666666));
-background: -webkit-linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
-background: -o-linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
-background: -ms-linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
-background: linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);}
-.jqx-fill-state-hover-black, .jqx-input-button-header-black, .jqx-widget-black .jqx-grid-cell-hover-black{background: #f87948;
-background: -moz-linear-gradient(top, #f87948 0%, #fb4e0b 4%, #f44501 11%, #e24000 19%, #983600 44%, #983600 48%, #5c2900 52%, #692b00 67%, #c23700 96%, #bd3800 100%);
-background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f87948), color-stop(4%,#fb4e0b), color-stop(11%,#f44501), color-stop(19%,#e24000), color-stop(44%,#983600), color-stop(48%,#983600), color-stop(52%,#5c2900), color-stop(67%,#692b00), color-stop(96%,#c23700), color-stop(100%,#bd3800));
-background: -webkit-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
-background: -o-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
-background: -ms-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
-background: linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
- border-color:#262626; color:#fff}
-.jqx-fill-state-pressed-black, .jqx-menu-item-top-hover-black, .jqx-widget-black .jqx-grid-cell-selected-black{background: #db4200;
-background: -moz-linear-gradient(top, #db4200 0%, #902e00 4%, #7d2a01 19%, #531c03 44%, #531c03 48%, #0f0906 52%, #221105 63%, #2b1705 67%, #592903 89%, #642e02 96%, #902e00 100%);
-background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#db4200), color-stop(4%,#902e00), color-stop(19%,#7d2a01), color-stop(44%,#531c03), color-stop(48%,#531c03), color-stop(52%,#0f0906), color-stop(63%,#221105), color-stop(67%,#2b1705), color-stop(89%,#592903), color-stop(96%,#642e02), color-stop(100%,#902e00));
-background: -webkit-linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
-background: -o-linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
-background: -ms-linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
-background: linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
-border-color:#262626; color:#fff}
-.jqx-fill-state-disabled-black {cursor: default;  opacity: .55; filter:Alpha(Opacity=45);}
+
+.jqx-grid-selectionarea-black {
+    background-color: #262626;
+    border: 1px solid #262626;
+    opacity: 0.5;
+}
+
+.jqx-grid-group-cell-black {
+    border-color: #262626;
+    background-color: #fff;
+}
+
+.jqx-grid-cell-sort-black, .jqx-grid-cell-filter-black, .jqx-grid-cell-pinned-black {
+    background-color: #eaf8ff;
+}
+
+.jqx-grid-cell-alt-black, .jqx-grid-cell-sort-alt-black, .jqx-grid-cell-filter-alt-black {
+    background-color: #deedf5;
+}
+
+.jqx-widget-black .jqx-grid-cell-black {
+    background: #000;
+    border-color: #555;
+}
+
+.jqx-widget-black .jqx-grid-group-cell-black {
+    background-color: #000;
+    border-color: #555;
+}
+
+.jqx-widget-black .jqx-grid-cell-selected-black {
+    color: #fff !important;
+}
+
+.jqx-widget-black .jqx-grid-cell-hover-black {
+    color: #fff !important;
+}
+
+.jqx-widget-black {
+    font-family: Tahoma,"Lucida Sans",Verdana,Helvetica,Arial,sans-serif;
+    border-color: #222;
+}
+
+.jqx-widget-content-black {
+    font-family: Tahoma,"Lucida Sans",Verdana,Helvetica,Arial,sans-serif;
+    color: #fff;
+    border-color: #262626;
+    background: #111;
+}
 
-.jqx-checkbox-check-checked-black{background:transparent url(images/check_white.png) left top no-repeat}
-.jqx-checkbox-check-indeterminate-black{background:transparent url(images/check_indeterminate_white.png) left top no-repeat}
-.jqx-grid-black, .jqx-grid-header-black, .jqx-grid-cell-black{border-color:#262626}
-.jqx-widget-black .jqx-grid-column-menubutton-black, .jqx-widget-black .jqx-grid-column-sortascbutton-black, .jqx-widget-black .jqx-grid-column-sortdescbutton-black, .jqx-widget-black .jqx-grid-column-filterbutton-black{border-color:#262626}
-.jqx-widget-black .jqx-grid-column-header-black{border-color:#262626}
+.jqx-fill-state-normal-black, .jqx-widget-header-black, .jqx-input-button-content-black {
+    font-family: Tahoma,"Lucida Sans",Verdana,Helvetica,Arial,sans-serif;
+    color: #fff;
+    border-color: #000;
+    background: #a4a4a4;
+    background: -moz-linear-gradient(top, #a4a4a4 0%, #757575 4%, #4f4f4f 37%, #464646 48%, #000000 52%, #000000 56%, #0c0c0c 67%, #1e1e1e 78%, #414141 96%, #666666 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a4a4a4), color-stop(4%,#757575), color-stop(37%,#4f4f4f), color-stop(48%,#464646), color-stop(52%,#000000), color-stop(56%,#000000), color-stop(67%,#0c0c0c), color-stop(78%,#1e1e1e), color-stop(96%,#414141), color-stop(100%,#666666));
+    background: -webkit-linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
+    background: -o-linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
+    background: -ms-linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
+    background: linear-gradient(top, #a4a4a4 0%,#757575 4%,#4f4f4f 37%,#464646 48%,#000000 52%,#000000 56%,#0c0c0c 67%,#1e1e1e 78%,#414141 96%,#666666 100%);
+}
+
+.jqx-fill-state-hover-black, .jqx-input-button-header-black, .jqx-widget-black .jqx-grid-cell-hover-black {
+    background: #f87948;
+    background: -moz-linear-gradient(top, #f87948 0%, #fb4e0b 4%, #f44501 11%, #e24000 19%, #983600 44%, #983600 48%, #5c2900 52%, #692b00 67%, #c23700 96%, #bd3800 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f87948), color-stop(4%,#fb4e0b), color-stop(11%,#f44501), color-stop(19%,#e24000), color-stop(44%,#983600), color-stop(48%,#983600), color-stop(52%,#5c2900), color-stop(67%,#692b00), color-stop(96%,#c23700), color-stop(100%,#bd3800));
+    background: -webkit-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    background: -o-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    background: -ms-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    background: linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    border-color: #262626;
+    color: #fff;
+}
+
+.jqx-fill-state-pressed-black, .jqx-menu-item-top-hover-black, .jqx-widget-black .jqx-grid-cell-selected-black {
+    background: #db4200;
+    background: -moz-linear-gradient(top, #db4200 0%, #902e00 4%, #7d2a01 19%, #531c03 44%, #531c03 48%, #0f0906 52%, #221105 63%, #2b1705 67%, #592903 89%, #642e02 96%, #902e00 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#db4200), color-stop(4%,#902e00), color-stop(19%,#7d2a01), color-stop(44%,#531c03), color-stop(48%,#531c03), color-stop(52%,#0f0906), color-stop(63%,#221105), color-stop(67%,#2b1705), color-stop(89%,#592903), color-stop(96%,#642e02), color-stop(100%,#902e00));
+    background: -webkit-linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
+    background: -o-linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
+    background: -ms-linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
+    background: linear-gradient(top, #db4200 0%,#902e00 4%,#7d2a01 19%,#531c03 44%,#531c03 48%,#0f0906 52%,#221105 63%,#2b1705 67%,#592903 89%,#642e02 96%,#902e00 100%);
+    border-color: #262626;
+    color: #fff;
+}
+
+.jqx-fill-state-disabled-black {
+    cursor: default;
+    opacity: .55;
+    filter: Alpha(Opacity=45);
+}
+
+.jqx-checkbox-check-checked-black {
+    background: transparent url(images/check_white.png) left top no-repeat;
+}
+
+.jqx-checkbox-check-indeterminate-black {
+    background: transparent url(images/check_indeterminate_white.png) left top no-repeat;
+}
+
+.jqx-grid-black, .jqx-grid-header-black, .jqx-grid-cell-black {
+    border-color: #262626;
+}
+
+.jqx-widget-black .jqx-grid-column-menubutton-black, .jqx-widget-black .jqx-grid-column-sortascbutton-black, .jqx-widget-black .jqx-grid-column-sortdescbutton-black, .jqx-widget-black .jqx-grid-column-filterbutton-black {
+    border-color: #262626;
+}
+
+.jqx-widget-black .jqx-grid-column-header-black {
+    border-color: #262626;
+}
+
 .jqx-calendar-cell-today-black {
     color: #35353A;
 }
-.jqx-grid-bottomright-black, .jqx-panel-bottomright-black, .jqx-listbox-bottomright-black{background-color:#262626}
-.jqx-widget-black .jqx-grid-column-menubutton-black, .jqx-menu-vertical-black{background-color:#262626; border-color:#262626}
-.jqx-menu-vertical-black{background: #222; color:#fff;}
-.jqx-scrollbar-state-normal-black{background:#111; border:1px solid #111}
-.jqx-scrollbar-button-state-normal-black{border:1px solid #111; background:#111}
-.jqx-scrollbar-button-state-hover-black{background: #f87948;
-background: -moz-linear-gradient(top, #f87948 0%, #fb4e0b 4%, #f44501 11%, #e24000 19%, #983600 44%, #983600 48%, #5c2900 52%, #692b00 67%, #c23700 96%, #bd3800 100%);
-background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f87948), color-stop(4%,#fb4e0b), color-stop(11%,#f44501), color-stop(19%,#e24000), color-stop(44%,#983600), color-stop(48%,#983600), color-stop(52%,#5c2900), color-stop(67%,#692b00), color-stop(96%,#c23700), color-stop(100%,#bd3800));
-background: -webkit-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
-background: -o-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
-background: -ms-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
-background: linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%); border:1px solid #000}
-.jqx-scrollbar-button-state-pressed-black{background:#555 url(images/darkred_gradient.png) left top scroll repeat-x; border:1px solid #000}
-.jqx-scrollbar-thumb-state-normal-horizontal-black{ background:#555; background-image:-webkit-gradient(linear,0 0,0 100%,from(#717171),to(#494949));  background-image:-moz-linear-gradient(top,#717171,#494949);  background-image:-o-linear-gradient(top,#717171,#494949);  border:1px solid #000}
-.jqx-scrollbar-thumb-state-hover-horizontal-black{ background:#983600; background-image:-webkit-gradient(linear,0 0,0 100%,from(#fb4e0b),to(#983600));  background-image:-moz-linear-gradient(top,#fb4e0b,#983600);  background-image:-o-linear-gradient(top,#fb4e0b,#983600);  border:1px solid #000}
-.jqx-scrollbar-thumb-state-pressed-horizontal-black{ background:#902e00; background-image:-webkit-gradient(linear,0 0,0 100%,from(#902e00),to(#531c03));    background-image:-moz-linear-gradient(top,#902e00,#531c03);    background-image:-o-linear-gradient(top,#902e00,#531c03); border:1px solid #000}
-.jqx-scrollbar-thumb-state-normal-black{ background:#555; background-image:-webkit-gradient(linear,left top,right top,from(#717171),to(#494949));  background-image:-moz-linear-gradient(left,#717171,#494949);  background-image:-o-linear-gradient(left,#717171,#494949); border:1px solid #000;}
-.jqx-scrollbar-thumb-state-hover-black{ background:#983600; background-image:-webkit-gradient(linear,left top,right top,from(#fb4e0b),to(#983600));  background-image:-moz-linear-gradient(left,#fb4e0b,#983600);  background-image:-o-linear-gradient(left,#fb4e0b,#983600); border:1px solid #000}
-.jqx-scrollbar-thumb-state-pressed-black{ background:#902e00; background-image:-webkit-gradient(linear,left top,right top,from(#902e00),to(#531c03));    background-image:-moz-linear-gradient(left,#902e00,#531c03);    background-image:-o-linear-gradient(left,#902e00,#531c03); border:1px solid #000}
+
+.jqx-grid-bottomright-black, .jqx-panel-bottomright-black, .jqx-listbox-bottomright-black {
+    background-color: #262626;
+}
+
+.jqx-widget-black .jqx-grid-column-menubutton-black, .jqx-menu-vertical-black {
+    background-color: #262626;
+    border-color: #262626;
+}
+
+.jqx-menu-vertical-black {
+    background: #222;
+    color: #fff;
+}
+
+.jqx-scrollbar-state-normal-black {
+    background: #111;
+    border: 1px solid #111;
+}
+
+.jqx-scrollbar-button-state-normal-black {
+    border: 1px solid #111;
+    background: #111;
+}
+
+.jqx-scrollbar-button-state-hover-black {
+    background: #f87948;
+    background: -moz-linear-gradient(top, #f87948 0%, #fb4e0b 4%, #f44501 11%, #e24000 19%, #983600 44%, #983600 48%, #5c2900 52%, #692b00 67%, #c23700 96%, #bd3800 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f87948), color-stop(4%,#fb4e0b), color-stop(11%,#f44501), color-stop(19%,#e24000), color-stop(44%,#983600), color-stop(48%,#983600), color-stop(52%,#5c2900), color-stop(67%,#692b00), color-stop(96%,#c23700), color-stop(100%,#bd3800));
+    background: -webkit-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    background: -o-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    background: -ms-linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    background: linear-gradient(top, #f87948 0%,#fb4e0b 4%,#f44501 11%,#e24000 19%,#983600 44%,#983600 48%,#5c2900 52%,#692b00 67%,#c23700 96%,#bd3800 100%);
+    border: 1px solid #000;
+}
+
+.jqx-scrollbar-button-state-pressed-black {
+    background: #555 url(images/darkred_gradient.png) left top scroll repeat-x;
+    border: 1px solid #000;
+}
+
+.jqx-scrollbar-thumb-state-normal-horizontal-black {
+    background: #555;
+    background-image: -webkit-gradient(linear,0 0,0 100%,from(#717171),to(#494949));
+    background-image: -moz-linear-gradient(top,#717171,#494949);
+    background-image: -o-linear-gradient(top,#717171,#494949);
+    border: 1px solid #000;
+}
+
+.jqx-scrollbar-thumb-state-hover-horizontal-black {
+    background: #983600;
+    background-image: -webkit-gradient(linear,0 0,0 100%,from(#fb4e0b),to(#983600));
+    background-image: -moz-linear-gradient(top,#fb4e0b,#983600);
+    background-image: -o-linear-gradient(top,#fb4e0b,#983600);
+    border: 1px solid #000;
+}
+
+.jqx-scrollbar-thumb-state-pressed-horizontal-black {
+    background: #902e00;
+    background-image: -webkit-gradient(linear,0 0,0 100%,from(#902e00),to(#531c03));
+    background-image: -moz-linear-gradient(top,#902e00,#531c03);
+    background-image: -o-linear-gradient(top,#902e00,#531c03);
+    border: 1px solid #000;
+}
+
+.jqx-scrollbar-thumb-state-normal-black {
+    background: #555;
+    background-image: -webkit-gradient(linear,left top,left top,from(#717171),to(#494949));
+    background-image: -moz-linear-gradient(left,#717171,#494949);
+    background-image: -o-linear-gradient(left,#717171,#494949);
+    border: 1px solid #000;
+}
+
+.jqx-scrollbar-thumb-state-hover-black {
+    background: #983600;
+    background-image: -webkit-gradient(linear,left top,left top,from(#fb4e0b),to(#983600));
+    background-image: -moz-linear-gradient(left,#fb4e0b,#983600);
+    background-image: -o-linear-gradient(left,#fb4e0b,#983600);
+    border: 1px solid #000;
+}
 
-.jqx-splitter-splitbar-horizontal-black, .jqx-splitter-splitbar-vertical-black, .jqx-splitter-splitbar-hover-black, .jqx-splitter-splitbar-hover-horizontal-black{background: #555;}
-.jqx-splitter-collapse-button-horizontal-black, .jqx-splitter-collapse-button-vertical-black{background: #7f7f7f;}
-.jqx-grid-column-sortascbutton-black, .jqx-expander-arrow-bottom-black, .jqx-window-collapse-button-black, .jqx-menu-item-arrow-up-black, .jqx-menu-item-arrow-up-selected-black, .jqx-menu-item-arrow-top-up-black, .jqx-icon-arrow-up-black, .jqx-icon-arrow-up-hover-black, .jqx-icon-arrow-up-selected-black{background-image:url('images/icon-up-white.png'); background-repeat:no-repeat; background-position:center}
-.jqx-widget-black .jqx-grid-group-expand-black, .jqx-grid-group-expand-black, .jqx-grid-column-menubutton-black, .jqx-grid-column-sortdescbutton-black, .jqx-expander-arrow-top-black, .jqx-window-collapse-button-collapsed-black, .jqx-menu-item-arrow-down-black, .jqx-menu-item-arrow-down-selected-black, .jqx-menu-item-arrow-down-black, .jqx-icon-arrow-down-black, .jqx-icon-arrow-down-hover-black, .jqx-icon-arrow-down-selected-black{background-image:url('images/icon-down-white.png'); background-repeat:no-repeat; background-position:center}
-.jqx-tabs-arrow-left-black, .jqx-menu-item-arrow-left-selected-black, .jqx-menu-item-arrow-top-left, .jqx-icon-arrow-left-black, .jqx-icon-arrow-down-left-black, .jqx-icon-arrow-left-selected-black{background-image:url('images/icon-left-white.png'); background-repeat:no-repeat; background-position:center}
-.jqx-widget-black .jqx-grid-group-collapse-black, .jqx-grid-group-collapse-black,.jqx-tabs-arrow-right-black, .jqx-menu-item-arrow-right-selected-black, .jqx-menu-item-arrow-top-right-black, .jqx-icon-arrow-right-black, .jqx-icon-arrow-right-hover-black, .jqx-icon-arrow-right-selected-black{background-image:url('images/icon-right-white.png'); background-repeat:no-repeat; background-position:center}
-.jqx-window-close-button-black, .jqx-icon-close-black, .jqx-tabs-close-button-black, .jqx-tabs-close-button-hover-black, .jqx-tabs-close-button-selected-black{background-image:url(images/close_white.png);  background-repeat:no-repeat;  background-position:center}
-.jqx-tree-item-arrow-collapse-rtl-black, .jqx-tree-item-arrow-collapse-hover-rtl-black{background-image: url(images/icon-left.png);}
-.jqx-listitem-state-group-black{background: #222;}
-.jqx-calendar-cell-specialDate-black{border: 1px solid black;}
-.jqx-tabs-selection-tracker-top-black, .jqx-tabs-selection-tracker-bottom-black{background-color: #000; border-color: #000;}
-.jqx-widget-black .jqx-grid-cell-sort-black,  .jqx-widget-black .jqx-grid-cell-alt-black, .jqx-widget-black .jqx-grid-cell-filter-black, .jqx-widget-black .jqx-grid-cell-pinned-black{background-color:#333}
-.jqx-listbox-feedback-black{ border-top: 1px dashed #ccc;}
-.jqx-combobox-input-black, .jqx-combobox-content-black, .jqx-input-black, .jqx-input-content-black{background: #f7f7f7; color: #000;}
-.jqx-widget-black, .jqx-widget-header-black, .jqx-widget-content-black{-webkit-background-clip: padding-box; background-clip: padding-box;}
-.jqx-fill-state-focus-black .jqx-widget-content{border-color: #000;}   
-.jqx-radiobutton-check-checked-black{background: #fff;}
-.jqx-icon-arrow-first-black
-{
+.jqx-scrollbar-thumb-state-pressed-black {
+    background: #902e00;
+    background-image: -webkit-gradient(linear,left top,left top,from(#902e00),to(#531c03));
+    background-image: -moz-linear-gradient(left,#902e00,#531c03);
+    background-image: -o-linear-gradient(left,#902e00,#531c03);
+    border: 1px solid #000;
+}
+
+.jqx-splitter-splitbar-horizontal-black, .jqx-splitter-splitbar-vertical-black, .jqx-splitter-splitbar-hover-black, .jqx-splitter-splitbar-hover-horizontal-black {
+    background: #555;
+}
+
+.jqx-splitter-collapse-button-horizontal-black, .jqx-splitter-collapse-button-vertical-black {
+    background: #7f7f7f;
+}
+
+.jqx-grid-column-sortascbutton-black, .jqx-expander-arrow-bottom-black, .jqx-window-collapse-button-black, .jqx-menu-item-arrow-up-black, .jqx-menu-item-arrow-up-selected-black, .jqx-menu-item-arrow-top-up-black, .jqx-icon-arrow-up-black, .jqx-icon-arrow-up-hover-black, .jqx-icon-arrow-up-selected-black {
+    background-image: url('images/icon-up-white.png');
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+.jqx-widget-black .jqx-grid-group-expand-black, .jqx-grid-group-expand-black, .jqx-grid-column-menubutton-black, .jqx-grid-column-sortdescbutton-black, .jqx-expander-arrow-top-black, .jqx-window-collapse-button-collapsed-black, .jqx-menu-item-arrow-down-black, .jqx-menu-item-arrow-down-selected-black, .jqx-menu-item-arrow-down-black, .jqx-icon-arrow-down-black, .jqx-icon-arrow-down-hover-black, .jqx-icon-arrow-down-selected-black {
+    background-image: url('images/icon-down-white.png');
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+.jqx-tabs-arrow-left-black, .jqx-menu-item-arrow-left-selected-black, .jqx-menu-item-arrow-top-left, .jqx-icon-arrow-left-black, .jqx-icon-arrow-down-left-black, .jqx-icon-arrow-left-selected-black {
+    background-image: url('images/icon-left-white.png');
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+.jqx-widget-black .jqx-grid-group-collapse-black, .jqx-grid-group-collapse-black, .jqx-tabs-arrow-right-black, .jqx-menu-item-arrow-right-selected-black, .jqx-menu-item-arrow-top-right-black, .jqx-icon-arrow-right-black, .jqx-icon-arrow-right-hover-black, .jqx-icon-arrow-right-selected-black {
+    background-image: url('images/icon-right-white.png');
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+.jqx-window-close-button-black, .jqx-icon-close-black, .jqx-tabs-close-button-black, .jqx-tabs-close-button-hover-black, .jqx-tabs-close-button-selected-black {
+    background-image: url(images/close_white.png);
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+.jqx-tree-item-arrow-collapse-rtl-black, .jqx-tree-item-arrow-collapse-hover-rtl-black {
+    background-image: url(images/icon-left.png);
+}
+
+.jqx-listitem-state-group-black {
+    background: #222;
+}
+
+.jqx-calendar-cell-specialDate-black {
+    border: 1px solid black;
+}
+
+.jqx-tabs-selection-tracker-top-black, .jqx-tabs-selection-tracker-bottom-black {
+    background-color: #000;
+    border-color: #000;
+}
+
+.jqx-widget-black .jqx-grid-cell-sort-black, .jqx-widget-black .jqx-grid-cell-alt-black, .jqx-widget-black .jqx-grid-cell-filter-black, .jqx-widget-black .jqx-grid-cell-pinned-black {
+    background-color: #333;
+}
+
+.jqx-listbox-feedback-black {
+    border-top: 1px dashed #ccc;
+}
+
+.jqx-combobox-input-black, .jqx-combobox-content-black, .jqx-input-black, .jqx-input-content-black {
+    background: #f7f7f7;
+    color: #000;
+}
+
+.jqx-widget-black, .jqx-widget-header-black, .jqx-widget-content-black {
+    -webkit-background-clip: padding-box;
+    background-clip: padding-box;
+}
+
+.jqx-fill-state-focus-black .jqx-widget-content {
+    border-color: #000;
+}
+
+.jqx-radiobutton-check-checked-black {
+    background: #fff;
+}
+
+.jqx-icon-arrow-first-black {
     background-image: url('images/icon-first-white.png');
     background-repeat: no-repeat;
     background-position: center;
 }
-.jqx-icon-arrow-last-black
-{
+
+.jqx-icon-arrow-last-black {
     background-image: url('images/icon-last-white.png');
     background-repeat: no-repeat;
     background-position: center;
 }
-.jqx-grid-cell-black.jqx-grid-cell-selected-black>.jqx-grid-group-expand-black,
-.jqx-grid-cell-black.jqx-grid-cell-hover-black>.jqx-grid-group-expand-black {
+
+.jqx-grid-cell-black.jqx-grid-cell-selected-black > .jqx-grid-group-expand-black,
+.jqx-grid-cell-black.jqx-grid-cell-hover-black > .jqx-grid-group-expand-black {
     background-image: url('images/icon-down-white.png');
     background-repeat: no-repeat;
     background-position: center;
 }
-.jqx-grid-cell-black.jqx-grid-cell-selected-black>.jqx-grid-group-collapse-black,
-.jqx-grid-cell-black.jqx-grid-cell-hover-black>.jqx-grid-group-collapse-black {
+
+.jqx-grid-cell-black.jqx-grid-cell-selected-black > .jqx-grid-group-collapse-black,
+.jqx-grid-cell-black.jqx-grid-cell-hover-black > .jqx-grid-group-collapse-black {
     background-image: url('images/icon-right-white.png');
     background-repeat: no-repeat;
     background-position: center;
 }
-.jqx-grid-cell-black.jqx-grid-cell-selected-black>.jqx-grid-group-collapse-rtl-black,
-.jqx-grid-cell-black.jqx-grid-cell-hover-black>.jqx-grid-group-collapse-rtl-black {
+
+.jqx-grid-cell-black.jqx-grid-cell-selected-black > .jqx-grid-group-collapse-rtl-black,
+.jqx-grid-cell-black.jqx-grid-cell-hover-black > .jqx-grid-group-collapse-rtl-black {
     background-image: url('images/icon-left-white.png');
     background-repeat: no-repeat;
     background-position: center;
 }
-.jqx-grid-cell-black.jqx-grid-cell-selected-black>.jqx-grid-group-expand-rtl-black,
-.jqx-grid-cell-black.jqx-grid-cell-hover-black>.jqx-grid-group-expand-rtl-black {
+
+.jqx-grid-cell-black.jqx-grid-cell-selected-black > .jqx-grid-group-expand-rtl-black,
+.jqx-grid-cell-black.jqx-grid-cell-hover-black > .jqx-grid-group-expand-rtl-black {
     background-image: url('images/icon-down-white.png');
     background-repeat: no-repeat;
     background-position: center;
 }
+
 .jqx-icon-calendar-black, .jqx-icon-calendar-hover-black, .jqx-icon-calendar-pressed-black {
     background-image: url('images/icon-calendar-white.png');
 }
+
 .jqx-icon-time-black, .jqx-icon-time-hover-black, .jqx-icon-time-pressed-black {
     background-image: url('images/icon-time-white.png');
 }
 
-.jqx-icon-delete-black
-{
+.jqx-icon-delete-black {
     background-image: url('images/icon-delete-white.png');
 }
-.jqx-icon-edit-black
-{
+
+.jqx-icon-edit-black {
     background-image: url('images/icon-edit-white.png');
 }
-.jqx-icon-save-black
-{
+
+.jqx-icon-save-black {
     background-image: url('images/icon-save-white.png');
 }
-.jqx-icon-cancel-black
-{
+
+.jqx-icon-cancel-black {
     background-image: url('images/icon-cancel-white.png');
 }
-.jqx-icon-search-black
-{
+
+.jqx-icon-search-black {
     background-image: url(images/search_white.png);
 }
-.jqx-icon-plus-black
-{
+
+.jqx-icon-plus-black {
     background-image: url(images/plus_white.png);
 }
+
 .jqx-menu-minimized-button-black {
-   background-image: url('images/icon-menu-minimized-white.png');
+    background-image: url('images/icon-menu-minimized-white.png');
 }
+
 .jqx-editor-toolbar-icon-black {
     background: url('images/html_editor_white.png') no-repeat;
 }
-.jqx-layout-black
-{
+
+.jqx-layout-black {
     background-color: #000;
 }
-.jqx-layout-pseudo-window-pin-icon-black
-{
+
+.jqx-layout-pseudo-window-pin-icon-black {
     background-image: url("images/pin-white.png");
 }
-.jqx-layout-pseudo-window-pinned-icon-black
-{
+
+.jqx-layout-pseudo-window-pinned-icon-black {
     background-image: url("images/pinned-white.png");
 }
-.jqx-scheduler-month-cell-black, .jqx-scheduler-time-column-black, .jqx-scheduler-toolbar-black
-{
+
+.jqx-scheduler-month-cell-black, .jqx-scheduler-time-column-black, .jqx-scheduler-toolbar-black {
     background: #35353A !important;
-    color: #fff  !important;
+    color: #fff !important;
 }
+
 .jqx-widget-black .jqx-scheduler-middle-cell-black, .jqx-scheduler-middle-cell-black {
     border-bottom-color: #35353A !important;
 }
+
 .jqx-kanban-item-black {
-    box-shadow:none;
+    box-shadow: none;
 }
 
 
- .jqx-grid-column-menubutton-black {
+.jqx-grid-column-menubutton-black {
     border-style: solid;
     border-width: 0px 0px 0px 1px;
     border-color: transparent;
@@ -261,9 +467,9 @@
     background-repeat: no-repeat;
     background-position: center;
     cursor: pointer;
- }
-.jqx-item-black .jqx-grid-sortasc-icon
- {
+}
+
+.jqx-item-black .jqx-grid-sortasc-icon {
     background-image: url('images/icon-sort-asc-white.png');
     background-repeat: no-repeat;
     background-position: left center;
@@ -272,10 +478,9 @@
     float: left;
     margin-left: -4px;
     margin-right: 4px;
- }
-  /*applied to the sort ascending menu item in the Grid's Context Menu*/
-.jqx-item-black .jqx-grid-sortdesc-icon
- {
+}
+/*applied to the sort ascending menu item in the Grid's Context Menu*/
+.jqx-item-black .jqx-grid-sortdesc-icon {
     background-image: url('images/icon-sort-desc-white.png');
     background-repeat: no-repeat;
     background-position: left center;
@@ -284,10 +489,9 @@
     float: left;
     margin-left: -4px;
     margin-right: 4px;
- }
-  /*applied to the grid menu's sort remove item/*/
-.jqx-item-black .jqx-grid-sortremove-icon
- {
+}
+/*applied to the grid menu's sort remove item/*/
+.jqx-item-black .jqx-grid-sortremove-icon {
     background-image: url('images/icon-sort-remove-white.png');
     background-repeat: no-repeat;
     background-position: left center;
@@ -296,16 +500,16 @@
     float: left;
     margin-left: -4px;
     margin-right: 4px;
- }
+}
 /*applied to the timepicker labels*/
 .jqx-label-black {
-	fill: darkgray;
+    fill: darkgray;
 }
 /*applied to the timepicker needle*/
 .jqx-needle-black {
-	fill: darkgray;
+    fill: darkgray;
 }
 /*applied to the timepicker needle circle*/
 .jqx-needle-central-circle-black {
-	fill: darkgray;
+    fill: darkgray;
 }
--- a/www/jqwidgets/styles/jqx.dark.css	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/styles/jqx.dark.css	Fri May 01 16:37:31 2020 +0200
@@ -982,14 +982,22 @@
 .jqx-container-dark {
 	border-radius: inherit;
 }
-.jqx-header-dark {
+.jqx-time-picker[view="portrait"] .jqx-header-dark {
 	border-top-left-radius: inherit;
 	border-top-right-radius: inherit;
 }
-.jqx-main-container-dark {
+.jqx-time-picker[view="portrait"] .jqx-main-container-dark {
 	border-bottom-left-radius: inherit;
 	border-bottom-right-radius: inherit;
 }
+.jqx-time-picker[view="landscape"] .jqx-header-dark {
+	border-top-left-radius: inherit;
+	border-bottom-left-radius: inherit;
+}
+.jqx-time-picker[view="landscape"] .jqx-main-container-dark {
+	border-top-right-radius: inherit;
+	border-bottom-right-radius: inherit;
+}
 .jqx-time-picker .jqx-main-container-dark {
     background-color: rgb(37, 40, 48);
 }
@@ -1003,4 +1011,4 @@
 }
 .jqx-time-picker .jqx-label-dark.jqx-selected {
     opacity: 1;
-}
\ No newline at end of file
+}
--- a/www/jqwidgets/styles/jqx.light.css	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/jqwidgets/styles/jqx.light.css	Fri May 01 16:37:31 2020 +0200
@@ -1244,9 +1244,6 @@
     background: #5bc0de;
 }
 
-
-
-
 .jqx-fill-state-pressed-light .jqx-icon-delete-light
 {
     background-image: url('images/icon-delete-white.png');
@@ -1281,7 +1278,6 @@
     border-color: #ddd;
 }
 
-
 /*applied to the timepicker*/
 .jqx-needle-central-circle-light {
 	fill: rgb(0, 119, 190);
@@ -1295,4 +1291,12 @@
 }
 .jqx-svg-picker-light:focus {
 	border: 1px solid rgb(0, 119, 190) !important;
+}
+.jqx-time-picker[view="portrait"] .jqx-header-light {
+	border-top-left-radius: inherit;
+	border-top-right-radius: inherit;
+}
+.jqx-time-picker[view="landscape"] .jqx-header-light {
+	border-top-left-radius: inherit;
+	border-bottom-left-radius: inherit;
 }
\ No newline at end of file
--- a/www/js/global-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-var StageData=[{id:0,en:"Plan",nl:"Plan"},{id:1,en:"Wait",nl:"Wacht"},{id:2,en:"Brew",nl:"Brouwen"},{id:3,en:"Primary",nl:"Hoofdgisting"},{id:4,en:"Secondary",nl:"Nagisting"},{id:5,en:"Tertiary",nl:"Lagering"},{id:6,en:"Package",nl:"Afvullen"},{id:7,en:"Carbonation",nl:"Hergisten"},{id:8,en:"Mature",nl:"Rijpen"},{id:9,en:"Taste",nl:"Proeven"},{id:10,en:"Ready",nl:"Gereed"},{id:11,en:"Closed",nl:"Afgesloten"}],StageSource={localdata:StageData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},StageAdapter=new $.jqx.dataAdapter(StageSource),SplitData=[{id:0,en:"Not divided",nl:"Niet gesplitst",ok:100},{id:1,en:"After mash",nl:"Na maischen",ok:2},{id:2,en:"After boil",nl:"Na koken",ok:2},{id:3,en:"After cooling",nl:"Na koelen",ok:2},{id:4,en:"After primary",nl:"Na hoofdgisting",ok:3},{id:5,en:"After secondary",nl:"Na nagisting",ok:4},{id:6,en:"After tertiary",nl:"Na lageren",ok:5}],SplitSource={localdata:SplitData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"},{name:"ok"}]},SplitAdapter=new $.jqx.dataAdapter(SplitSource),MaterialData=[{id:0,en:"Stainless Steel",nl:"RVS",sh:0.11},{id:1,en:"Aluminium",nl:"Aluminium",sh:0.22},{id:2,en:"Plastics",nl:"Kunststof",sh:0.46},{id:3,en:"Copper",nl:"Koper",sh:0.092}],MaterialSource={localdata:MaterialData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"},{name:"sh"}]},MaterialAdapter=new $.jqx.dataAdapter(MaterialSource),FermentableTypeData=[{id:0,en:"Grain",nl:"Mout"},{id:1,en:"Sugar",nl:"Suiker"},{id:2,en:"Extract",nl:"Vloeibaar extract"},{id:3,en:"Dry extract",nl:"Droog extract"},{id:4,en:"Adjunct",nl:"Ongemout graan"}],FermentableTypeSource={localdata:FermentableTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},FermentableTypeAdapter=new $.jqx.dataAdapter(FermentableTypeSource),GrainTypeData=[{id:0,en:"Base",nl:"Basismout"},{id:1,en:"Roast",nl:"Geroosterde mout"},{id:2,en:"Crystal",nl:"Cara- of crystalmout"},{id:3,en:"Kilned",nl:"Geëeste mout"},{id:4,en:"Sour malt",nl:"Zuurmout"},{id:5,en:"Special",nl:"Speciale mout"},{id:6,en:"No malt",nl:"Geen mout"}],GrainTypeSource={localdata:GrainTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},GrainTypeAdapter=new $.jqx.dataAdapter(GrainTypeSource),AddedData=[{id:0,en:"Mash",nl:"Maischen"},{id:1,en:"Boil",nl:"Koken"},{id:2,en:"Fermentation",nl:"Vergisten"},{id:3,en:"Lagering",nl:"Nagisten/lageren"},{id:4,en:"Bottle",nl:"Bottelen"},{id:5,en:"Kegs",nl:"Fust"}],AddedSource={localdata:AddedData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},AddedAdapter=new $.jqx.dataAdapter(AddedSource),HopTypeData=[{id:0,en:"Bittering",nl:"Bitterhop"},{id:1,en:"Aroma",nl:"Aromahop"},{id:2,en:"Both",nl:"Beide"}],HopTypeSource={localdata:HopTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},HopTypeAdapter=new $.jqx.dataAdapter(HopTypeSource),HopFormData=[{id:0,en:"Pellet",nl:"Pellets"},{id:1,en:"Plug",nl:"Plugs"},{id:2,en:"Leaf",nl:"Bloemen"},{id:3,en:"Leaf wet",nl:"Hop nat"},{id:4,en:"Cryo",nl:"Cryo"}],HopFormSource={localdata:HopFormData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},HopFormAdapter=new $.jqx.dataAdapter(HopFormSource),HopUseData=[{id:0,en:"Mash",nl:"Maischhop"},{id:1,en:"First wort",nl:"First wort"},{id:2,en:"Boil",nl:"Koken"},{id:3,en:"Aroma",nl:"Vlamuit"},{id:4,en:"Whirlpool",nl:"Whirlpool"},{id:5,en:"Dry hop",nl:"Koudhop"}],HopUseSource={localdata:HopUseData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},HopUseAdapter=new $.jqx.dataAdapter(HopUseSource),YeastTypeData=[{id:0,en:"Lager",nl:"Ondergist"},{id:1,en:"Ale",nl:"Bovengist"},{id:2,en:"Wheat",nl:"Tarwegist"},{id:3,en:"Wine",nl:"Wijngist"},{id:4,en:"Champagne",nl:"Champagnegist"},{id:5,en:"Brett",nl:"Brett"},{id:6,en:"Kveik",nl:"Kveik"},{id:7,en:"Hybrid",nl:"Hybride"}],YeastTypeSource={localdata:YeastTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},YeastTypeAdapter=new $.jqx.dataAdapter(YeastTypeSource),YeastFormData=[{id:0,en:"Liquid",nl:"Vloeibaar",cells:100000000000},{id:1,en:"Dry",nl:"Droog",cells:15000000000},{id:2,en:"Slant",nl:"Schuine buis",cells:1700000000},{id:3,en:"Culture",nl:"Slurry",cells:1700000000},{id:4,en:"Frozen",nl:"Ingevroren",cells:1700000000},{id:5,en:"Bottle",nl:"Depot",cells:1700000000},{id:6,en:"Dried",nl:"Gedroogd",cells:9000000000}],YeastFormSource={localdata:YeastFormData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"},{name:"cells"}]},YeastFormAdapter=new $.jqx.dataAdapter(YeastFormSource),YeastUseData=[{id:0,en:"Primary",nl:"Hoofdgisting"},{id:1,en:"Secondary",nl:"Nagisting"},{id:2,en:"Tertiary",nl:"Lagering"},{id:3,en:"Bottle",nl:"Bottelen"}],YeastUseSource={localdata:YeastUseData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"},{name:"cells"}]},YeastUseAdapter=new $.jqx.dataAdapter(YeastUseSource),FlocculationData=[{id:0,en:"Low",nl:"Laag"},{id:1,en:"Medium",nl:"Medium"},{id:2,en:"High",nl:"Hoog"},{id:3,en:"Very high",nl:"Zeer hoog"}],FlocculationSource={localdata:FlocculationData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},FlocculationAdapter=new $.jqx.dataAdapter(FlocculationSource),ZymocideData=[{id:0,en:"None",nl:"Niet"},{id:1,en:"K1",nl:"K1"},{id:2,en:"K2",nl:"K2"},{id:3,en:"K28",nl:"K28"},{id:4,en:"Klus",nl:"Klus"}],ZymocideSource={localdata:ZymocideData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},ZymocideAdapter=new $.jqx.dataAdapter(ZymocideSource),StarterTypeData=[{id:0,en:"Stirred",nl:"Geroerd"},{id:1,en:"Shaken",nl:"Geschud"},{id:2,en:"Simple",nl:"Simpel"}],StarterTypeSource={localdata:StarterTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},StarterTypeAdapter=new $.jqx.dataAdapter(StarterTypeSource),MiscTypeData=[{id:0,en:"Spice",nl:"Specerij"},{id:1,en:"Herb",nl:"Kruid"},{id:2,en:"Flavor",nl:"Smaakstof"},{id:3,en:"Fining",nl:"Klaringsmiddel"},{id:4,en:"Water agent",nl:"Brouwzout"},{id:5,en:"Yeast nutrient",nl:"Gistvoeding"},{id:6,en:"Other",nl:"Anders"}],MiscTypeSource={localdata:MiscTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},MiscTypeAdapter=new $.jqx.dataAdapter(MiscTypeSource),MiscUseData=[{id:0,en:"Starter",nl:"Starter"},{id:1,en:"Mash",nl:"Maischen"},{id:2,en:"Boil",nl:"Koken"},{id:3,en:"Primary",nl:"Hoofdvergisting"},{id:4,en:"Secondary",nl:"Nagisting/lagering"},{id:5,en:"Bottling",nl:"Bottelen"}],MiscUseSource={localdata:MiscUseData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},MiscUseAdapter=new $.jqx.dataAdapter(MiscUseSource),StyleTypeData=[{id:0,en:"Lager",nl:"Ondergistend bier"},{id:1,en:"Ale",nl:"Bovengistend bier"},{id:2,en:"Mead",nl:"Mede"},{id:3,en:"Wheat",nl:"Tarwebier"},{id:4,en:"Mixed",nl:"Gemengd"},{id:5,en:"Cider",nl:"Cider"}],StyleTypeSource={localdata:StyleTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},StyleTypeAdapter=new $.jqx.dataAdapter(StyleTypeSource),MashStepTypeData=[{id:0,en:"Infusion",nl:"Infusie"},{id:1,en:"Temperature",nl:"Verwarming"},{id:2,en:"Decoction",nl:"Decoctie"}],MashStepTypeSource={localdata:MashStepTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},MashStepTypeAdapter=new $.jqx.dataAdapter(MashStepTypeSource),RecipeTypeData=[{id:0,en:"Extract",nl:"Extract"},{id:1,en:"Partial Mash",nl:"Deelmaisch"},{id:2,en:"All Grain",nl:"Mout"}],RecipeTypeSource={localdata:RecipeTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},RecipeTypeAdapter=new $.jqx.dataAdapter(RecipeTypeSource),IBUmethodData=[{id:0,en:"Tinseth",nl:"Tinseth"},{id:1,en:"Rager",nl:"Rager"},{id:2,en:"Daniels",nl:"Daniels"}],IBUmethodSource={localdata:IBUmethodData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},IBUmethodAdapter=new $.jqx.dataAdapter(IBUmethodSource),ColorMethodData=[{id:0,en:"Morey",nl:"Morey"},{id:1,en:"Mosher",nl:"Mosher"},{id:2,en:"Daniels",nl:"Daniels"},{id:3,en:"Halberstadt",nl:"Halberstadt"},{id:4,en:"Naudts",nl:"Naudts"}],ColorMethodSource={localdata:ColorMethodData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},ColorMethodAdapter=new $.jqx.dataAdapter(ColorMethodSource),CoolingTypeData=[{id:0,en:"-",nl:"-"},{id:1,en:"Emersion chiller",nl:"Dompelkoeler"},{id:2,en:"Counterflow chiller",nl:"Tegenstroomkoeler"},{id:3,en:"Au bain marie",nl:"Au bain marie"},{id:4,en:"Natural",nl:"Laten afkoelen"}],CoolingTypeSource={localdata:CoolingTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},CoolingTypeAdapter=new $.jqx.dataAdapter(CoolingTypeSource),AerationTypeData=[{id:0,en:"None",nl:"Geen"},{id:1,en:"Air",nl:"Lucht"},{id:2,en:"Oxygen",nl:"Zuurstof"}],AerationTypeSource={localdata:AerationTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},AerationTypeAdapter=new $.jqx.dataAdapter(AerationTypeSource),AcidTypeData=[{id:0,en:"Lactic",nl:"Melkzuur"},{id:1,en:"Hydrochloric",nl:"Zoutzuur"},{id:2,en:"Phosphoric",nl:"Fosforzuur"},{id:3,en:"Sulfuric",nl:"Zwavelzuur"}],AcidTypeSource={localdata:AcidTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},AcidTypeAdapter=new $.jqx.dataAdapter(AcidTypeSource),BaseTypeData=[{id:0,en:"Sodiumbicarbonate",nl:"NaHCO3"},{id:1,en:"Sodiumcarbonate",nl:"Na2CO3"},{id:2,en:"Calciumcarbonate",nl:"CaCO3"},{id:3,en:"Calciumhydroxide",nl:"Ca(OH)2"}],BaseTypeSource={localdata:BaseTypeData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},BaseTypeAdapter=new $.jqx.dataAdapter(BaseTypeSource),SpargeSourceData=[{id:0,en:"Source 1",nl:"Bron 1"},{id:1,en:"Source 2",nl:"Bron 2"},{id:2,en:"Mixed",nl:"Gemengd"}],SpargeSourceSource={localdata:SpargeSourceData,datatype:"array",datafields:[{name:"id"},{name:"en"},{name:"nl"}]},SpargeSourceAdapter=new $.jqx.dataAdapter(SpargeSourceSource),Show1wat={inputMode:"simple",theme:theme,width:74,height:23,decimalDigits:1,readOnly:true},Show2wat={inputMode:"simple",theme:theme,width:74,height:23,decimalDigits:2,readOnly:true},Show3wat={inputMode:"simple",theme:theme,width:74,height:23,decimalDigits:3,readOnly:true},Smal0dec={inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:0,readOnly:true},Smal1dec={inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:1,readOnly:true},Show0dec={inputMode:"simple",theme:theme,width:90,height:23,readOnly:true,decimalDigits:0},Show1dec={inputMode:"simple",theme:theme,width:90,height:23,readOnly:true,decimalDigits:1},Show2dec={inputMode:"simple",theme:theme,width:90,height:23,readOnly:true,decimalDigits:2},Show3dec={inputMode:"simple",theme:theme,width:90,height:23,readOnly:true,decimalDigits:3},SGopts={inputMode:"simple",theme:theme,width:110,height:23,min:0.99,max:1.199,decimalDigits:3,spinButtons:true},Spin1dec={inputMode:"simple",theme:theme,width:110,height:23,min:0,decimalDigits:1,spinButtons:true},Spin2dec={inputMode:"simple",theme:theme,width:110,height:23,min:0,decimalDigits:2,spinButtons:true},Spin3dec={inputMode:"simple",theme:theme,width:110,height:23,min:0,decimalDigits:3,spinButtons:true},SpinpH={inputMode:"simple",theme:theme,width:110,height:23,min:1,max:14,decimalDigits:1,spinButtons:true},Spin2pH={inputMode:"simple",theme:theme,width:110,height:23,min:1,max:14,decimalDigits:2,spinButtons:true},YeastT={inputMode:"simple",theme:theme,width:110,height:23,min:0,max:50,decimalDigits:1,spinButtons:true},PosInt={inputMode:"simple",theme:theme,width:110,height:23,min:0,decimalDigits:0,spinButtons:true},Perc1dec={inputMode:"simple",theme:theme,width:110,height:23,min:0,max:100,decimalDigits:1,spinButtons:true},Perc0={inputMode:"simple",theme:theme,width:110,height:23,min:0,max:100,decimalDigits:0,spinButtons:true},Dateopts={theme:theme,width:150,height:23,allowNullDate:true,todayString:"Vandaag",clearString:"Wissen",showFooter:true,formatString:"yyyy-MM-dd",enableBrowserBoundsDetection:true},DateTimeopts={theme:theme,width:230,height:23,allowNullDate:true,todayString:"Vandaag",clearString:"Wissen",showFooter:true,formatString:"yyyy-MM-dd HH:mm:ss",enableBrowserBoundsDetection:true,showTimeButton:true},sugardensity=1.611,stylesSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"category",type:"string"},{name:"category_number",type:"number"},{name:"style_letter",type:"string"},{name:"style_guide",type:"string"},{name:"type",type:"int"},{name:"og_min",type:"float"},{name:"og_max",type:"float"},{name:"fg_min",type:"float"},{name:"fg_max",type:"float"},{name:"ibu_min",type:"float"},{name:"ibu_max",type:"float"},{name:"color_min",type:"float"},{name:"color_max",type:"float"},{name:"carb_min",type:"float"},{name:"carb_max",type:"float"},{name:"abv_min",type:"float"},{name:"abv_max",type:"float"},{name:"notes",type:"string"},{name:"profile",type:"string"},{name:"ingredients",type:"string"},{name:"examples",type:"string"}],url:"includes/db_profile_styles.php"},styleslist=new $.jqx.dataAdapter(stylesSource),equipmentSource={datatype:"json",datafields:[{name:"name",type:"string"},{name:"boil_size",type:"float"},{name:"batch_size",type:"float"},{name:"tun_volume",type:"float"},{name:"tun_weight",type:"float"},{name:"tun_specific_heat",type:"float"},{name:"tun_material",type:"int"},{name:"tun_height",type:"float"},{name:"top_up_water",type:"float"},{name:"trub_chiller_loss",type:"float"},{name:"evap_rate",type:"float"},{name:"boil_time",type:"float"},{name:"calc_boil_volume",type:"int"},{name:"top_up_kettle",type:"float"},{name:"hop_utilization",type:"float"},{name:"notes",type:"string"},{name:"lauter_volume",type:"float"},{name:"lauter_height",type:"float"},{name:"lauter_deadspace",type:"float"},{name:"kettle_volume",type:"float"},{name:"kettle_height",type:"float"},{name:"mash_volume",type:"float"},{name:"mash_max",type:"float"},{name:"efficiency",type:"float"}],url:"includes/db_inventory_equipments.php"},equipmentlist=new $.jqx.dataAdapter(equipmentSource),fermentableInvSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"type",type:"int"},{name:"yield",type:"float"},{name:"color",type:"float"},{name:"add_after_boil",type:"int"},{name:"origin",type:"string"},{name:"supplier",type:"string"},{name:"coarse_fine_diff",type:"float"},{name:"moisture",type:"float"},{name:"diastatic_power",type:"float"},{name:"protein",type:"float"},{name:"dissolved_protein",type:"float"},{name:"max_in_batch",type:"float"},{name:"recommend_mash",type:"int"},{name:"graintype",type:"int"},{name:"di_ph",type:"float"},{name:"acid_to_ph_57",type:"float"},{name:"inventory",type:"float"},{name:"cost",type:"float"}],url:"getfermentablesources.php"},fermentableinstock=false,fermentablelist=new $.jqx.dataAdapter(fermentableInvSource,{beforeLoadComplete:function(a){var d,b,c=new Array();for(b=0;b<a.length;b++){d=a[b];if(d.inventory||!fermentableinstock){c.push(d)}}return c},loadError:function(c,a,b){console.log(a+" "+b)},}),fermentablesugars=new $.jqx.dataAdapter(fermentableInvSource,{beforeLoadComplete:function(a){var d,b,c=new Array();for(b=0;b<a.length;b++){d=a[b];if(d.type==1||d.type==3){c.push(d)}}return c},loadError:function(c,a,b){console.log(a+" "+b)},}),hopInvSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"origin",type:"string"},{name:"type",type:"int"},{name:"alpha",type:"float"},{name:"beta",type:"float"},{name:"humulene",type:"float"},{name:"caryophyllene",type:"float"},{name:"cohumulone",type:"float"},{name:"myrcene",type:"float"},{name:"hsi",type:"float"},{name:"useat",type:"int"},{name:"form",type:"int"},{name:"total_oil",type:"float"},{name:"inventory",type:"float"},{name:"cost",type:"float"}],url:"gethopsources.php"},hopinstock=false,hoplist=new $.jqx.dataAdapter(hopInvSource,{beforeLoadComplete:function(a){var d,b,c=new Array();for(b=0;b<a.length;b++){d=a[b];if(d.inventory||!hopinstock){c.push(d)}}return c},loadError:function(c,a,b){console.log(a+" "+b)},}),miscInvSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"type",type:"int"},{name:"use_use",type:"int"},{name:"amount_is_weight",type:"int"},{name:"time",type:"float"},{name:"inventory",type:"float"},{name:"cost",type:"float"}],url:"getmiscsources.php"},miscinstock=false,misclist=new $.jqx.dataAdapter(miscInvSource,{beforeLoadComplete:function(a){var d,b,c=new Array();for(b=0;b<a.length;b++){d=a[b];if(d.inventory||!miscinstock){c.push(d)}}return c},loadError:function(c,a,b){console.log(a+" "+b)},}),yeastInvSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"type",type:"int"},{name:"form",type:"int"},{name:"laboratory",type:"string"},{name:"product_id",type:"string"},{name:"min_temperature",type:"float"},{name:"max_temperature",type:"float"},{name:"flocculation",type:"int"},{name:"attenuation",type:"float"},{name:"cells",type:"float"},{name:"inventory",type:"float"},{name:"cost",type:"float"},{name:"tolerance",type:"float"}],url:"getyeastsources.php"},yeastinstock=false,yeastlist=new $.jqx.dataAdapter(yeastInvSource,{beforeLoadComplete:function(a){var d,b,c=new Array();for(b=0;b<a.length;b++){d=a[b];if(d.inventory||!yeastinstock){c.push(d)}}return c},loadError:function(c,a,b){console.log(a+" "+b)},}),waterInvSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"unlimited_stock",type:"int"},{name:"calcium",type:"float"},{name:"sulfate",type:"float"},{name:"chloride",type:"float"},{name:"sodium",type:"float"},{name:"magnesium",type:"float"},{name:"ph",type:"float"},{name:"total_alkalinity",type:"float"},{name:"inventory",type:"float"},{name:"cost",type:"float"},],url:"getwatersources.php"},waterinstock=false,waterlist=new $.jqx.dataAdapter(waterInvSource,{beforeLoadComplete:function(a){var c,b,d;c=new Array();for(b=0;b<a.length;b++){d=a[b];if(d.inventory||d.unlimited_stock||!waterinstock){c.push(d)}}return c},loadError:function(c,a,b){console.log(a+" "+b)},}),waterProfileSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"calcium",type:"float"},{name:"bicarbonate",type:"float"},{name:"sulfate",type:"float"},{name:"chloride",type:"float"},{name:"sodium",type:"float"},{name:"magnesium",type:"float"},{name:"ph",type:"float"},{name:"total_alkalinity",type:"float"},],url:"includes/db_profile_water.php"},waterprofiles=new $.jqx.dataAdapter(waterProfileSource),mashProfileSource={datatype:"json",datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"steps",type:"array"}],url:"includes/db_profile_mash.php"},mashlist=new $.jqx.dataAdapter(mashProfileSource),K1s=0.384,K1a=-0.177,K1e=0.241,K1g=0.247,Ks=0.1415,Ka1=0.058,Ka2=0.078,Ke=0.174,Kg=0.109;function A(e,d,b,g,f){var c,a;c=d*1000;a=e/c+(b/c)*Ka1/Ks+(b/c)*(b/c)*Ka2/Ks+g/c*Ke/Ks+f/c*Kg/Ks;console.log("A("+e+","+d+","+b+","+g+","+f+"):"+a);return a}function B(d,c,a,f,e){var b,g;b=c*1000;g=d/b+(a/b)*K1a/K1s+f/b*K1e/K1s+e/b*K1g/K1s;console.log("B("+d+","+c+","+a+","+f+","+e+"):"+g);return g}$(document).ready(function(){$("#jqxMenu").jqxMenu({width:1280,height:"30px",autoOpen:false,clickToOpen:true,theme:theme});$("#jqxWidget").css("visibility","visible")});function Round(e,c){for(var b=0,a=1;b<c;b++,a*=10){}return Math.round(e*a)/a}function ebc_to_srm(a){var b=-1.32303e-12*Math.pow(a,4)-2.91515e-9*Math.pow(a,3)+0.00000818515*Math.pow(a,2)+0.372038*a+0.596351;if(b<0){b=0}return b}function srm_to_ebc(b){var a=Math.round(1.76506e-10*Math.pow(b,4)+1.54529e-7*Math.pow(b,3)-0.000159428*Math.pow(b,2)+2.68837*b-1.6004);if(a<0){a=0}return a}function get_kt(a){var b=1;if(a<3){b=3.5}else{if(a<6){b=3}else{if(a<8){b=2.75}else{if(a<10){b=2.5}else{if(a<20){b=1.8}else{if(a<30){b=1.6}else{if(a<60){b=1.3}else{if(a<100){b=1.2}else{if(a<300){b=1.1}}}}}}}}}return b}function abvol(c,a){if(((c-a)<0)||(a<0.9)){return 0}var b=c*3157*Math.pow(10,-5)+9.716*Math.pow(10,-2);return(c*1000-a*1000)*b}function kw_to_srm(a,b){if(a==0){return 1.4922*Math.pow(b,0.6859)}if(a==1){return 0.3*b+4.7}if(a==2){return 0.2*b+8.4}return 0}function kw_to_ebc(a,b){return srm_to_ebc(kw_to_srm(a,b))}function toIBU(a,h,r,q,s,e,m,c){var g,n,f,o,i,j=1,k=1,v=0,b,u,l,d,t,p;g=parseFloat(r);n=parseFloat(q);f=parseFloat(m)/100;o=parseFloat(s)*1000;i=parseFloat(e);if((a==3)||(a==4)||(a==5)){j=0}else{if(a==0){j+=my_factor_mashhop/100}else{if(a==1){j+=my_factor_fwh/100}}}if(h==0){k+=my_factor_pellet/100}else{if(h==1){k+=my_factor_plug/100}else{if(h==3){k+=my_factor_wethop/100}else{if(h==4){k+=my_factor_cryohop/100}}}}if(c==0){l=(f*o*1000)/n;d=1.65*Math.pow(0.000125,g-1);t=((1-Math.exp(-0.04*i))/4.15);p=d*t;v=Round(p*l*j*k,1)}if(c==2){if(h==2){b=-(0.0041*i*i)+(0.6162*i)+1.5779}else{b=-(0.0051*i*i)+(0.7835*i)+1.9348}if(g<1050){u=0}else{u=(g-1050)/200}v=Round(j*((o*(f*100)*b*0.1)/(n*(1+u))),1)}if(c==1){b=j*18.11+13.86*Math.tanh((i*31.32)/18.27);if(g<1050){u=0}else{u=(g-1050)/200}v=Round((o*(f*100)*b*0.1)/(n*(1+u)),1)}return v}function ebc_to_color(a){return srm_to_color(ebc_to_srm(a))}function srm_to_color(g){var c,e,d,f,b,a;c=Math.round(g*10);if(c<0){c=0}if(c>299){c=299}e=[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,249,248,247,246,245,244,243,242,241,240,239,238,237,236,235,234,233,232,231,230,229,228,227,226,225,224,223,222,221,220,219,218,217,216,215,214,213,212,211,210,209,208,207,206,205,204,203,202,201,200,200,199,199,198,198,197,197,196,196,195,195,194,194,193,193,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,191,190,189,188,187,186,185,184,183,182,181,180,179,178,177,175,174,172,171,169,168,167,195,164,162,161,159,158,157,155,154,152,151,149,148,147,145,144,142,141,139,138,137,135,134,132,131,129,128,127,125,124,122,121,119,118,117,115,114,112,111,109,108,107,105,104,102,101,99,98,97,95,94,92,91,89,88,87,85,84,82,81,79,78,77,75,74,72,71,69,68,67,65,64,62,61,59,58,57,55,54,52,51,49,48,47,45,44,43,41,39,38,37,37,36,36,35,35,34,34,33,33,32,32,31,31,30,30,29,29,28,28,27,27,26,26,25,25,24,24,23,23,22,22,21,21,20,20,19,19,18,18,17,17,16,16,15,15,14,14,13,13,12,12,11,11,10,10,9,9,8,8];d=[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,249,248,247,246,245,244,242,240,238,236,234,232,230,228,226,224,222,220,218,216,214,212,210,208,206,204,202,200,198,196,194,192,190,188,186,184,182,180,178,176,174,172,170,168,166,164,162,160,158,156,154,152,150,148,146,144,142,141,140,139,139,138,137,136,136,135,134,133,133,132,131,130,130,129,128,127,127,126,125,124,124,123,122,121,121,120,119,118,118,117,116,115,115,114,113,112,112,111,110,109,109,108,107,106,106,105,104,103,103,102,101,100,100,99,98,97,97,96,95,94,94,93,92,91,91,90,89,88,88,87,86,85,85,84,83,82,82,81,80,79,78,77,76,75,75,74,73,72,72,71,70,69,69,68,67,66,66,65,64,63,63,62,61,60,60,59,58,57,57,56,55,54,54,53,52,51,51,50,49,48,48,47,46,45,45,44,43,42,42,41,40,39,39,38,37,36,36,35,34,33,33,32,31,30,30,29,28,27,27,26,25,24,24,23,22,22,22,21,21,21,20,20,20,19,19,19,18,18,18,17,17,17,16,16,16,15,15,15,14,14,14,13,13,13,12,12,12,11,11,11,10,10,10,9,9,9,8,8,8,7,7,7,6,6,6,5,5,5,4,4,4,3,3,3];f=[210,204,199,193,188,182,177,171,166,160,155,149,144,138,133,127,122,116,111,105,100,94,89,83,78,72,67,61,56,50,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,55,55,55,55,54,54,54,54,53,53,53,53,52,52,52,52,51,51,51,51,50,50,50,50,49,49,48,47,47,46,45,45,44,43,43,42,41,41,40,39,39,38,37,37,36,35,34,33,32,31,29,28,27,26,25,24,23,21,20,19,18,17,16,15,13,12,11,10,9,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,21,21,21,20,20,20,19,19,19,18,18,18,17,17,17,17,16,16,15,15,15,14,14,14,13,13,13,12,12,12,11,11,11,10,10,10,9,9,9,8,8,8,7,7,7,6,6,6,5,5,5,4,4,4,3,3,3,2,2,2];b=e[c]*65536+d[c]*256+f[c];a=b.toString(16).toUpperCase();if(a.length<6){a="0"+a}return"#"+a}function sg_to_plato(a){return((135.997*a-630.272)*a+1111.14)*a-616.868}function plato_to_sg(a){return 1+(a/(258.6-((a/258.2)*227.1)))}function brix_to_sg(a){if(my_brix_correction>0){return plato_to_sg(a/my_brix_correction)}else{return plato_to_sg(a)}}function sg_to_brix(a){return sg_to_plato(a)*my_brix_correction}function estimate_sg(c,e){var a,d,b;a=100*c/e;d=plato_to_sg(a);for(b=0;b<20;b++){if(d>0){a=100*c/(e*d)}d=plato_to_sg(a)}return Round(d,4)}function estimate_fg(f,i,e,h,c,g,j){var b,d,a;if(f>40){f=0}if(i>50){i=0}if((e>0)&&(h>0)){b=e;if(b<2){b=2}if(b>5.5){b=5.5}if(c<60){c=60}if(c>72){c=72}}else{b=3.5;c=67;h=75}if(g<30){g=77}d=0.00825*g+0.00817*b-0.00684*c+0.00026*h-0.00356*i+0.00553*f+0.547;a=Round(1+(1-d)*(j-1),4);return a}function CalcFrac(f,e,d,b){var g,a,i,k,h,c,j;g=Math.pow(10,f-e);a=Math.pow(10,f-d);i=Math.pow(10,f-b);k=1/(1+g+g*a+g*a*i);h=g*k;c=g*a*k;j=g*a*i*k;return h+2*c+3*j}function lintner_to_kolbach(a){return(3.5*a)-16}function kolbach_to_lintner(a){return(a+16)/3.5};
\ No newline at end of file
--- a/www/js/global.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/global.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2014-2019
+ * Copyright (C) 2014-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -24,18 +24,18 @@
 // dropdownlists arrays
 
 var StageData = [
- { id: 0,  en: 'Plan',        nl: 'Plan' },
- { id: 1,  en: 'Wait',        nl: 'Wacht' },
- { id: 2,  en: 'Brew',        nl: 'Brouwen' },
- { id: 3,  en: 'Primary',     nl: 'Hoofdgisting' },
- { id: 4,  en: 'Secondary',   nl: 'Nagisting' },
- { id: 5,  en: 'Tertiary',    nl: 'Lagering' },
- { id: 6,  en: 'Package',     nl: 'Afvullen' },
- { id: 7,  en: 'Carbonation', nl: 'Hergisten' },
- { id: 8,  en: 'Mature',      nl: 'Rijpen' },
- { id: 9,  en: 'Taste',       nl: 'Proeven' },
- { id: 10, en: 'Ready',       nl: 'Gereed' },
- { id: 11, en: 'Closed',      nl: 'Afgesloten' }
+ { id: 0, en: 'Plan', nl: 'Plan' },
+ { id: 1, en: 'Wait', nl: 'Wacht' },
+ { id: 2, en: 'Brew', nl: 'Brouwen' },
+ { id: 3, en: 'Primary', nl: 'Hoofdgisting' },
+ { id: 4, en: 'Secondary', nl: 'Nagisting' },
+ { id: 5, en: 'Tertiary', nl: 'Lagering' },
+ { id: 6, en: 'Package', nl: 'Afvullen' },
+ { id: 7, en: 'Carbonation', nl: 'Hergisten' },
+ { id: 8, en: 'Mature', nl: 'Rijpen' },
+ { id: 9, en: 'Taste', nl: 'Proeven' },
+ { id: 10, en: 'Ready', nl: 'Gereed' },
+ { id: 11, en: 'Closed', nl: 'Afgesloten' }
 ],
 StageSource = {
  localdata: StageData,
@@ -45,13 +45,13 @@
 StageAdapter = new $.jqx.dataAdapter(StageSource),
 
 SplitData = [
- { id: 0, en: 'Not divided',     nl: 'Niet gesplitst',  ok: 100 },
- { id: 1, en: 'After mash',      nl: 'Na maischen',     ok: 2 },
- { id: 2, en: 'After boil',      nl: 'Na koken',        ok: 2 },
- { id: 3, en: 'After cooling',   nl: 'Na koelen',       ok: 2 },
- { id: 4, en: 'After primary',   nl: 'Na hoofdgisting', ok: 3 },
- { id: 5, en: 'After secondary', nl: 'Na nagisting',    ok: 4 },
- { id: 6, en: 'After tertiary',  nl: 'Na lageren',      ok: 5 }
+ { id: 0, en: 'Not divided', nl: 'Niet gesplitst', ok: 100 },
+ { id: 1, en: 'After mash', nl: 'Na maischen', ok: 2 },
+ { id: 2, en: 'After boil', nl: 'Na koken', ok: 2 },
+ { id: 3, en: 'After cooling', nl: 'Na koelen', ok: 2 },
+ { id: 4, en: 'After primary', nl: 'Na hoofdgisting', ok: 3 },
+ { id: 5, en: 'After secondary', nl: 'Na nagisting', ok: 4 },
+ { id: 6, en: 'After tertiary', nl: 'Na lageren', ok: 5 }
 ],
 SplitSource = {
  localdata: SplitData,
@@ -61,10 +61,10 @@
 SplitAdapter = new $.jqx.dataAdapter(SplitSource),
 
 MaterialData = [
- { id: 0,  en: 'Stainless Steel', nl: 'RVS',       sh: 0.11 },
- { id: 1,  en: 'Aluminium',       nl: 'Aluminium', sh: 0.22 },
- { id: 2,  en: 'Plastics',        nl: 'Kunststof', sh: 0.46 },
- { id: 3,  en: 'Copper',          nl: 'Koper',     sh: 0.092 }
+ { id: 0, en: 'Stainless Steel', nl: 'RVS', sh: 0.11 },
+ { id: 1, en: 'Aluminium', nl: 'Aluminium', sh: 0.22 },
+ { id: 2, en: 'Plastics', nl: 'Kunststof', sh: 0.46 },
+ { id: 3, en: 'Copper', nl: 'Koper', sh: 0.092 }
 ],
 MaterialSource = {
  localdata: MaterialData,
@@ -74,11 +74,11 @@
 MaterialAdapter = new $.jqx.dataAdapter(MaterialSource),
 
 FermentableTypeData = [
- { id: 0, en: 'Grain',       nl: 'Mout' },
- { id: 1, en: 'Sugar',       nl: 'Suiker' },
- { id: 2, en: 'Extract',     nl: 'Vloeibaar extract' },
+ { id: 0, en: 'Grain', nl: 'Mout' },
+ { id: 1, en: 'Sugar', nl: 'Suiker' },
+ { id: 2, en: 'Extract', nl: 'Vloeibaar extract' },
  { id: 3, en: 'Dry extract', nl: 'Droog extract' },
- { id: 4, en: 'Adjunct',     nl: 'Ongemout graan' }
+ { id: 4, en: 'Adjunct', nl: 'Ongemout graan' }
 ],
 FermentableTypeSource = {
  localdata: FermentableTypeData,
@@ -88,13 +88,13 @@
 FermentableTypeAdapter = new $.jqx.dataAdapter(FermentableTypeSource),
 
 GrainTypeData = [
- { id: 0, en: 'Base',      nl: 'Basismout' },
- { id: 1, en: 'Roast',     nl: 'Geroosterde mout' },
- { id: 2, en: 'Crystal',   nl: 'Cara- of crystalmout' },
- { id: 3, en: 'Kilned',    nl: 'Geëeste mout'},
+ { id: 0, en: 'Base', nl: 'Basismout' },
+ { id: 1, en: 'Roast', nl: 'Geroosterde mout' },
+ { id: 2, en: 'Crystal', nl: 'Cara- of crystalmout' },
+ { id: 3, en: 'Kilned', nl: 'Geëeste mout'},
  { id: 4, en: 'Sour malt', nl: 'Zuurmout' },
- { id: 5, en: 'Special',   nl: 'Speciale mout' },
- { id: 6, en: 'No malt',   nl: 'Geen mout' }
+ { id: 5, en: 'Special', nl: 'Speciale mout' },
+ { id: 6, en: 'No malt', nl: 'Geen mout' }
 ],
 GrainTypeSource = {
  localdata: GrainTypeData,
@@ -120,8 +120,8 @@
 
 HopTypeData = [
  { id: 0, en: 'Bittering', nl: 'Bitterhop' },
- { id: 1, en: 'Aroma',     nl: 'Aromahop' },
- { id: 2, en: 'Both',      nl: 'Beide' }
+ { id: 1, en: 'Aroma', nl: 'Aromahop' },
+ { id: 2, en: 'Both', nl: 'Beide' }
 ],
 HopTypeSource = {
  localdata: HopTypeData,
@@ -131,11 +131,11 @@
 HopTypeAdapter = new $.jqx.dataAdapter(HopTypeSource),
 
 HopFormData = [
- { id: 0, en: 'Pellet',   nl: 'Pellets' },
- { id: 1, en: 'Plug',     nl: 'Plugs' },
- { id: 2, en: 'Leaf',     nl: 'Bloemen' },
+ { id: 0, en: 'Pellet', nl: 'Pellets' },
+ { id: 1, en: 'Plug', nl: 'Plugs' },
+ { id: 2, en: 'Leaf', nl: 'Bloemen' },
  { id: 3, en: 'Leaf wet', nl: 'Hop nat' },
- { id: 4, en: 'Cryo',     nl: 'Cryo' }
+ { id: 4, en: 'Cryo', nl: 'Cryo' }
 ],
 HopFormSource = {
  localdata: HopFormData,
@@ -145,12 +145,12 @@
 HopFormAdapter = new $.jqx.dataAdapter(HopFormSource),
 
 HopUseData = [
- { id: 0, en: 'Mash',       nl: 'Maischhop' },
+ { id: 0, en: 'Mash', nl: 'Maischhop' },
  { id: 1, en: 'First wort', nl: 'First wort' },
- { id: 2, en: 'Boil',       nl: 'Koken' },
- { id: 3, en: 'Aroma',      nl: 'Vlamuit' },
- { id: 4, en: 'Whirlpool',  nl: 'Whirlpool' },
- { id: 5, en: 'Dry hop',    nl: 'Koudhop' }
+ { id: 2, en: 'Boil', nl: 'Koken' },
+ { id: 3, en: 'Aroma', nl: 'Vlamuit' },
+ { id: 4, en: 'Whirlpool', nl: 'Whirlpool' },
+ { id: 5, en: 'Dry hop', nl: 'Koudhop' }
 ],
 HopUseSource = {
  localdata: HopUseData,
@@ -160,17 +160,17 @@
 HopUseAdapter = new $.jqx.dataAdapter(HopUseSource),
 
 YeastTypeData = [
- { id: 0, en: 'Lager',     nl: 'Ondergist' },
- { id: 1, en: 'Ale',       nl: 'Bovengist' },
- { id: 2, en: 'Wheat',     nl: 'Tarwegist' },
- { id: 3, en: 'Wine',      nl: 'Wijngist' },
+ { id: 0, en: 'Lager', nl: 'Ondergist' },
+ { id: 1, en: 'Ale', nl: 'Bovengist' },
+ { id: 2, en: 'Wheat', nl: 'Tarwegist' },
+ { id: 3, en: 'Wine', nl: 'Wijngist' },
  { id: 4, en: 'Champagne', nl: 'Champagnegist' },
- { id: 5, en: 'Brett',     nl: 'Brett' },
- { id: 6, en: 'Kveik',     nl: 'Kveik' },
- { id: 7, en: 'Hybrid',    nl: 'Hybride' }
-// { id: 8, en: 'Mixed',     nl: 'Mixed' },
+ { id: 5, en: 'Brett', nl: 'Brett' },
+ { id: 6, en: 'Kveik', nl: 'Kveik' },
+ { id: 7, en: 'Hybrid', nl: 'Hybride' }
+// { id: 8, en: 'Mixed', nl: 'Mixed' },
 // { id: 9, en: 'Spontaneous', nl: 'Spontaan' },
-// { id: 10, en: 'Other',       nl: 'Overig' }
+// { id: 10, en: 'Other', nl: 'Overig' }
 ],
 YeastTypeSource = {
  localdata: YeastTypeData,
@@ -180,13 +180,13 @@
 YeastTypeAdapter = new $.jqx.dataAdapter(YeastTypeSource),
 
 YeastFormData = [
- { id: 0, en: 'Liquid',  nl: 'Vloeibaar',    cells: 100000000000 },
- { id: 1, en: 'Dry',     nl: 'Droog',        cells: 15000000000 },
- { id: 2, en: 'Slant',   nl: 'Schuine buis', cells: 1700000000 },
- { id: 3, en: 'Culture', nl: 'Slurry',       cells: 1700000000 },
- { id: 4, en: 'Frozen',  nl: 'Ingevroren',   cells: 1700000000 },
- { id: 5, en: 'Bottle',  nl: 'Depot',        cells: 1700000000 },
- { id: 6, en: 'Dried',   nl: 'Gedroogd',     cells: 9000000000 }
+ { id: 0, en: 'Liquid', nl: 'Vloeibaar', cells: 100000000000 },
+ { id: 1, en: 'Dry', nl: 'Droog', cells: 15000000000 },
+ { id: 2, en: 'Slant', nl: 'Schuine buis', cells: 1700000000 },
+ { id: 3, en: 'Culture', nl: 'Slurry', cells: 1700000000 },
+ { id: 4, en: 'Frozen', nl: 'Ingevroren', cells: 1700000000 },
+ { id: 5, en: 'Bottle', nl: 'Depot', cells: 1700000000 },
+ { id: 6, en: 'Dried', nl: 'Gedroogd', cells: 9000000000 }  /* 9..18 billion MTF */
 ],
 YeastFormSource = {
  localdata: YeastFormData,
@@ -196,10 +196,10 @@
 YeastFormAdapter = new $.jqx.dataAdapter(YeastFormSource),
 
 YeastUseData = [
- { id: 0, en: 'Primary',   nl: 'Hoofdgisting' },
+ { id: 0, en: 'Primary', nl: 'Hoofdgisting' },
  { id: 1, en: 'Secondary', nl: 'Nagisting' },
- { id: 2, en: 'Tertiary',  nl: 'Lagering' },
- { id: 3, en: 'Bottle',    nl: 'Bottelen' }
+ { id: 2, en: 'Tertiary', nl: 'Lagering' },
+ { id: 3, en: 'Bottle', nl: 'Bottelen' }
 ],
 YeastUseSource = {
  localdata: YeastUseData,
@@ -209,9 +209,9 @@
 YeastUseAdapter = new $.jqx.dataAdapter(YeastUseSource),
 
 FlocculationData = [
- { id: 0, en: 'Low',       nl: 'Laag' },
- { id: 1, en: 'Medium',    nl: 'Medium' },
- { id: 2, en: 'High',      nl: 'Hoog' },
+ { id: 0, en: 'Low', nl: 'Laag' },
+ { id: 1, en: 'Medium', nl: 'Medium' },
+ { id: 2, en: 'High', nl: 'Hoog' },
  { id: 3, en: 'Very high', nl: 'Zeer hoog' }
 ],
 FlocculationSource = {
@@ -223,9 +223,9 @@
 
 ZymocideData = [
  { id: 0, en: 'None', nl: 'Niet' },
- { id: 1, en: 'K1',   nl: 'K1' },
- { id: 2, en: 'K2',   nl: 'K2' },
- { id: 3, en: 'K28',  nl: 'K28' },
+ { id: 1, en: 'K1', nl: 'K1' },
+ { id: 2, en: 'K2', nl: 'K2' },
+ { id: 3, en: 'K28', nl: 'K28' },
  { id: 4, en: 'Klus', nl: 'Klus' }
 ],
 ZymocideSource = {
@@ -237,8 +237,8 @@
 
 StarterTypeData = [
  { id: 0, en: 'Stirred', nl: 'Geroerd' },
- { id: 1, en: 'Shaken',  nl: 'Geschud' },
- { id: 2, en: 'Simple',  nl: 'Simpel' }
+ { id: 1, en: 'Shaken', nl: 'Geschud' },
+ { id: 2, en: 'Simple', nl: 'Simpel' }
 ],
 StarterTypeSource = {
  localdata: StarterTypeData,
@@ -248,13 +248,13 @@
 StarterTypeAdapter = new $.jqx.dataAdapter(StarterTypeSource),
 
 MiscTypeData = [
- { id: 0, en: 'Spice',          nl: 'Specerij' },
- { id: 1, en: 'Herb',           nl: 'Kruid' },
- { id: 2, en: 'Flavor',         nl: 'Smaakstof' },
- { id: 3, en: 'Fining',         nl: 'Klaringsmiddel' },
- { id: 4, en: 'Water agent',    nl: 'Brouwzout' },
+ { id: 0, en: 'Spice', nl: 'Specerij' },
+ { id: 1, en: 'Herb', nl: 'Kruid' },
+ { id: 2, en: 'Flavor', nl: 'Smaakstof' },
+ { id: 3, en: 'Fining', nl: 'Klaringsmiddel' },
+ { id: 4, en: 'Water agent', nl: 'Brouwzout' },
  { id: 5, en: 'Yeast nutrient', nl: 'Gistvoeding' },
- { id: 6, en: 'Other',          nl: 'Anders' }
+ { id: 6, en: 'Other', nl: 'Anders' }
 ],
 MiscTypeSource = {
  localdata: MiscTypeData,
@@ -264,12 +264,12 @@
 MiscTypeAdapter = new $.jqx.dataAdapter(MiscTypeSource),
 
 MiscUseData = [
- { id: 0, en: 'Starter',   nl: 'Starter' },
- { id: 1, en: 'Mash',      nl: 'Maischen' },
- { id: 2, en: 'Boil',      nl: 'Koken' },
- { id: 3, en: 'Primary',   nl: 'Hoofdvergisting' },
+ { id: 0, en: 'Starter', nl: 'Starter' },
+ { id: 1, en: 'Mash', nl: 'Maischen' },
+ { id: 2, en: 'Boil', nl: 'Koken' },
+ { id: 3, en: 'Primary', nl: 'Hoofdvergisting' },
  { id: 4, en: 'Secondary', nl: 'Nagisting/lagering' },
- { id: 5, en: 'Bottling',  nl: 'Bottelen' }
+ { id: 5, en: 'Bottling', nl: 'Bottelen' }
 ],
 MiscUseSource = {
  localdata: MiscUseData,
@@ -280,8 +280,8 @@
 
 StyleTypeData = [
  { id: 0, en: 'Lager', nl: 'Ondergistend bier' },
- { id: 1, en: 'Ale',   nl: 'Bovengistend bier' },
- { id: 2, en: 'Mead',  nl: 'Mede' },
+ { id: 1, en: 'Ale', nl: 'Bovengistend bier' },
+ { id: 2, en: 'Mead', nl: 'Mede' },
  { id: 3, en: 'Wheat', nl: 'Tarwebier' },
  { id: 4, en: 'Mixed', nl: 'Gemengd' },
  { id: 5, en: 'Cider', nl: 'Cider' }
@@ -294,9 +294,9 @@
 StyleTypeAdapter = new $.jqx.dataAdapter(StyleTypeSource),
 
 MashStepTypeData = [
- { id: 0, en: 'Infusion',    nl: 'Infusie' },
+ { id: 0, en: 'Infusion', nl: 'Infusie' },
  { id: 1, en: 'Temperature', nl: 'Verwarming' },
- { id: 2, en: 'Decoction',   nl: 'Decoctie' }
+ { id: 2, en: 'Decoction', nl: 'Decoctie' }
 ],
 MashStepTypeSource = {
  localdata: MashStepTypeData,
@@ -306,9 +306,9 @@
 MashStepTypeAdapter = new $.jqx.dataAdapter(MashStepTypeSource),
 
 RecipeTypeData = [
- { id: 0, en: 'Extract',      nl: 'Extract' },
+ { id: 0, en: 'Extract', nl: 'Extract' },
  { id: 1, en: 'Partial Mash', nl: 'Deelmaisch' },
- { id: 2, en: 'All Grain',    nl: 'Mout' }
+ { id: 2, en: 'All Grain', nl: 'Mout' }
 ],
 RecipeTypeSource = {
  localdata: RecipeTypeData,
@@ -319,11 +319,8 @@
 
 IBUmethodData = [
  { id: 0, en: 'Tinseth', nl: 'Tinseth' },
- { id: 1, en: 'Rager',   nl: 'Rager' },
+ { id: 1, en: 'Rager', nl: 'Rager' },
  { id: 2, en: 'Daniels', nl: 'Daniels' }
-// { id: 3, en: 'Garetz',  nl: 'Garetz' }, // Not yet supported.
-// { id: 4, en: 'Mosher',  nl: 'Mosher' },
-// { id: 5, en: 'Noonan',  nl: 'Noonan' }
 ],
 IBUmethodSource = {
  localdata: IBUmethodData,
@@ -333,11 +330,11 @@
 IBUmethodAdapter = new $.jqx.dataAdapter(IBUmethodSource),
 
 ColorMethodData = [
- { id: 0, en: 'Morey',       nl: 'Morey' },
- { id: 1, en: 'Mosher',      nl: 'Mosher' },
- { id: 2, en: 'Daniels',     nl: 'Daniels' },
+ { id: 0, en: 'Morey', nl: 'Morey' },
+ { id: 1, en: 'Mosher', nl: 'Mosher' },
+ { id: 2, en: 'Daniels', nl: 'Daniels' },
  { id: 3, en: 'Halberstadt', nl: 'Halberstadt' },
- { id: 4, en: 'Naudts',      nl: 'Naudts' }
+ { id: 4, en: 'Naudts', nl: 'Naudts' }
 ],
 ColorMethodSource = {
  localdata: ColorMethodData,
@@ -347,11 +344,11 @@
 ColorMethodAdapter = new $.jqx.dataAdapter(ColorMethodSource),
 
 CoolingTypeData = [
- { id: 0, en: '-',                   nl: '-' },
- { id: 1, en: 'Emersion chiller',    nl: 'Dompelkoeler' },
+ { id: 0, en: '-', nl: '-' },
+ { id: 1, en: 'Emersion chiller', nl: 'Dompelkoeler' },
  { id: 2, en: 'Counterflow chiller', nl: 'Tegenstroomkoeler' },
- { id: 3, en: 'Au bain marie',       nl: 'Au bain marie' },
- { id: 4, en: 'Natural',             nl: 'Laten afkoelen' }
+ { id: 3, en: 'Au bain marie', nl: 'Au bain marie' },
+ { id: 4, en: 'Natural', nl: 'Laten afkoelen' }
 ],
 CoolingTypeSource = {
  localdata: CoolingTypeData,
@@ -361,8 +358,8 @@
 CoolingTypeAdapter = new $.jqx.dataAdapter(CoolingTypeSource),
 
 AerationTypeData = [
- { id: 0, en: 'None',   nl: 'Geen' },
- { id: 1, en: 'Air',    nl: 'Lucht' },
+ { id: 0, en: 'None', nl: 'Geen' },
+ { id: 1, en: 'Air', nl: 'Lucht' },
  { id: 2, en: 'Oxygen', nl: 'Zuurstof' }
 ],
 AerationTypeSource = {
@@ -373,10 +370,11 @@
 AerationTypeAdapter = new $.jqx.dataAdapter(AerationTypeSource),
 
 AcidTypeData = [
- { id: 0, en: 'Lactic',       nl: 'Melkzuur' },
- { id: 1, en: 'Hydrochloric', nl: 'Zoutzuur' },
- { id: 2, en: 'Phosphoric',   nl: 'Fosforzuur' },
- { id: 3, en: 'Sulfuric',     nl: 'Zwavelzuur' }
+ /* Note: AcidSG is for 100% use. AcidPrc is the default setting. */
+ { id: 0, en: 'Lactic', nl: 'Melkzuur', pK1: 3.86, pK2: 20, pK3: 20, MolWt: 90.08, AcidSG: 1238, AcidPrc: 80 },
+ { id: 1, en: 'Hydrochloric', nl: 'Zoutzuur', pK1: -7, pK2: 20, pK3: 20, MolWt: 36.46, AcidSG: 1497, AcidPrc: 28 },
+ { id: 2, en: 'Phosphoric', nl: 'Fosforzuur', pK1: 2.12, pK2: 7.20, pK3: 12.44, MolWt: 98.00, AcidSG: 1982, AcidPrc: 75 },
+ { id: 3, en: 'Sulfuric', nl: 'Zwavelzuur', pK1: -1, pK2: 1.92, pK3: 20, MolWt: 98.07, AcidSG: 1884, AcidPrc: 93 }
 ],
 AcidTypeSource = {
  localdata: AcidTypeData,
@@ -387,9 +385,9 @@
 
 BaseTypeData = [
  { id: 0, en: 'Sodiumbicarbonate', nl: 'NaHCO3' },
- { id: 1, en: 'Sodiumcarbonate',   nl: 'Na2CO3' },
- { id: 2, en: 'Calciumcarbonate',  nl: 'CaCO3' },
- { id: 3, en: 'Calciumhydroxide',  nl: 'Ca(OH)2' }
+ { id: 1, en: 'Sodiumcarbonate', nl: 'Na2CO3' },
+ { id: 2, en: 'Calciumcarbonate', nl: 'CaCO3' },
+ { id: 3, en: 'Calciumhydroxide', nl: 'Ca(OH)2' }
 ],
 BaseTypeSource = {
  localdata: BaseTypeData,
@@ -401,7 +399,7 @@
 SpargeSourceData = [
  { id: 0, en: 'Source 1', nl: 'Bron 1' },
  { id: 1, en: 'Source 2', nl: 'Bron 2' },
- { id: 2, en: 'Mixed',    nl: 'Gemengd' }
+ { id: 2, en: 'Mixed', nl: 'Gemengd' }
 ],
 SpargeSourceSource = {
  localdata: SpargeSourceData,
@@ -418,17 +416,21 @@
 Show3wat = { inputMode: 'simple', theme: theme, width: 74, height: 23, decimalDigits: 3, readOnly: true },
 Smal0dec = { inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true },
 Smal1dec = { inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true },
+Smal2dec = { inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 2, readOnly: true },
 Show0dec = { inputMode: 'simple', theme: theme, width: 90, height: 23, readOnly: true, decimalDigits: 0 },
 Show1dec = { inputMode: 'simple', theme: theme, width: 90, height: 23, readOnly: true, decimalDigits: 1 },
 Show2dec = { inputMode: 'simple', theme: theme, width: 90, height: 23, readOnly: true, decimalDigits: 2 },
 Show3dec = { inputMode: 'simple', theme: theme, width: 90, height: 23, readOnly: true, decimalDigits: 3 },
+Show4dec = { inputMode: 'simple', theme: theme, width: 90, height: 23, readOnly: true, decimalDigits: 4 },
+Show5dec = { inputMode: 'simple', theme: theme, width: 90, height: 23, readOnly: true, decimalDigits: 5 },
   SGopts = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0.990, max: 1.199, decimalDigits: 3, spinButtons: true },
 Spin1dec = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 1, spinButtons: true },
 Spin2dec = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 2, spinButtons: true },
 Spin3dec = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 3, spinButtons: true },
+Spin4dec = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 4, spinButtons: true },
   SpinpH = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 1, max: 14, decimalDigits: 1, spinButtons: true },
  Spin2pH = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 1, max: 14, decimalDigits: 2, spinButtons: true },
-  YeastT = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 50, decimalDigits: 1, spinButtons: true },
+  YeastT = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 45, decimalDigits: 1, spinButtons: true },
   PosInt = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 0, spinButtons: true },
 Perc1dec = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 100, decimalDigits: 1, spinButtons: true },
    Perc0 = { inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 100, decimalDigits: 0, spinButtons: true },
@@ -653,7 +655,14 @@
   { name: 'cells', type: 'float' },
   { name: 'inventory', type: 'float' },
   { name: 'cost', type: 'float' },
-  { name: 'tolerance', type: 'float' }
+  { name: 'tolerance', type: 'float' },
+  { name: 'sta1', type: 'int' },
+  { name: 'bacteria', type: 'int' },
+  { name: 'harvest_top', type: 'int' },
+  { name: 'harvest_time', type: 'int' },
+  { name: 'pitch_temperature', type: 'float' },
+  { name: 'pofpos', type: 'int' },
+  { name: 'zymocide', type: 'int' }
  ],
  url: 'getyeastsources.php'
 },
@@ -672,6 +681,7 @@
   console.log(status + ' ' + error);
  },
 }),
+yeastlablist = new $.jqx.dataAdapter(yeastInvSource, { autoBind: false, async: false, uniqueDataFields: ['laboratory'] }),
 
 // dropdownlist datasource from inventory_waters
 waterInvSource = {
@@ -738,38 +748,7 @@
  ],
  url: 'includes/db_profile_mash.php'
 },
-mashlist = new $.jqx.dataAdapter(mashProfileSource),
-
-
-
-/*
- * From "Rekenen aan bier" by Hans Halberstadt.
- */
-K1s = 0.384, K1a = -0.177, K1e = 0.241, K1g = 0.247, Ks = 0.1415, Ka1 = 0.058, Ka2 = 0.078, Ke = 0.174, Kg = 0.109;
-
-// =E2/E6+(E3/E6)*$B$24/$B$23+(E3/E6)*(E3/E6)*$B$25/$B$23+E4/E6*$B$26/$B$23+E5/E6*$B$27/$B$23
-// For Brix
-function A(sugar, volume, alc, eiwit, glycerol) {
-
- var vol, A;
-
- vol = volume * 1000;
- A = sugar / vol + (alc / vol) * Ka1 / Ks + (alc / vol) * (alc / vol) * Ka2 / Ks + eiwit / vol * Ke / Ks + glycerol / vol * Kg / Ks;
- console.log('A(' + sugar + ',' + volume + ',' + alc + ',' + eiwit + ',' + glycerol + '):' + A);
- return A;
-}
-
-// =E2/E6+(E3/E6)*$B$20/$B$19+E4/E6*$B$21/$B$19+E5/E6*$B$22/$B$19
-// for Plato
-function B(sugar, volume, alc, eiwit, glycerol) {
-
- var vol, B;
-
- vol = volume * 1000;
- B = sugar / vol + (alc / vol) * K1a / K1s + eiwit / vol * K1e / K1s + glycerol / vol * K1g / K1s;
- console.log('B(' + sugar + ',' + volume + ',' + alc + ',' + eiwit + ',' + glycerol + '):' + B);
- return B;
-}
+mashlist = new $.jqx.dataAdapter(mashProfileSource);
 
 
 
@@ -872,7 +851,7 @@
 /*
  * Berekeningen uit https://www.hobbybrouwen.nl/forum/index.php/topic,6079.msg69464.html#msg69464
  */
-function toIBU(Use, Form, SG, Volume, Amount, Boiltime, Alpha, Method) {
+function toIBU(Use, Form, SG, Volume, Amount, Boiltime, Alpha, Method, Whirlpool9, Whirlpool7, Whirlpool6) {
 
  var gravity, liters, alpha, mass, time, fmoment = 1.0, pfactor = 1.0, ibu = 0, boilfactor, sgfactor,
      AddedAlphaAcids, Bigness_factor, BoilTime_factor, utiisation;
@@ -901,13 +880,39 @@
   pfactor += my_factor_cryohop / 100;
  }
 
+ // Ideas from Zymurgy March-April 2018. These are not exact formulas!
+ whirlibus = 0;
+ if (Use == 3 || Use == 4) { // Flameout or any whirlpool
+  if (Whirlpool9) {
+   // 20 mg/l/50 min
+   whirlibus += (alpha * mass * 20) / liters * (Whirlpool9 / 50);
+   //console.log('Whirlpool9:' + alpha * mass * 20 + ' liter:' + liters + ' time:' + Whirlpool9 + ' ibu' + (alpha * mass * 20) / liters * (Whirlpool9 / 50));
+  } else {
+   if (Use == 3) // Flameout hops are 2 minutes in this range.
+    whirlibus += (alpha * mass * 20) / liters * (2 / 50);
+  }
+  if (Whirlpool7) {
+   // 6 mg/l/50 min
+   whirlibus += (alpha * mass * 6) / liters * (Whirlpool7 / 50);
+   //console.log('Whirlpool7:' + alpha * mass * 6 + ' liter:' + liters + ' time:' + Whirlpool7 + ' ibu' + (alpha * mass * 6) / liters * (Whirlpool7 / 50));
+  } else {
+   if (Use == 3) // Flameout hops are 4 minutes in this range.
+    whirlibus += (alpha * mass * 6) / liters * (4 / 50);
+  }
+  if (Whirlpool6) {
+   // 2 mg/l/50 min
+   whirlibus += (alpha * mass * 2) / liters * (Whirlpool6 / 50);
+   //console.log('Whirlpool6:' + alpha * mass * 2 + ' liter:' + liters + ' time:' + Whirlpool6 + ' ibu' + (alpha * mass * 2) / liters * (Whirlpool6 / 50));
+  }
+ }
+
  if (Method == 0) { // Tinseth
   /* http://realbeer.com/hops/research.html */
   AddedAlphaAcids = (alpha * mass * 1000) / liters;
   Bigness_factor = 1.65 * Math.pow(0.000125, gravity - 1);
   BoilTime_factor = ((1 - Math.exp(-0.04 * time)) / 4.15);
   utiisation = Bigness_factor * BoilTime_factor;
-  ibu = Round(utiisation * AddedAlphaAcids * fmoment * pfactor, 1);
+  ibu = Round(utiisation * AddedAlphaAcids * fmoment * pfactor + whirlibus, 1);
  }
  if (Method == 2) { // Daniels
   if (Form == 2) // Leaf
@@ -918,7 +923,7 @@
    sgfactor = 0;
   else
    sgfactor = (gravity - 1050) / 200;
-  ibu = Round(fmoment * ((mass * (alpha * 100) * boilfactor * 0.1) / (liters * (1 + sgfactor))), 1);
+  ibu = Round(fmoment * ((mass * (alpha * 100) * boilfactor * 0.1) / (liters * (1 + sgfactor))) + whirlibus, 1);
  }
  if (Method == 1) { // Rager
   boilfactor = fmoment * 18.11 + 13.86 * Math.tanh((time * 31.32) / 18.27);
@@ -926,10 +931,11 @@
    sgfactor = 0;
   else
    sgfactor = (gravity - 1050) / 200;
-  ibu = Round((mass * (alpha * 100) * boilfactor * 0.1) / (liters * (1 + sgfactor)), 1);
+  ibu = Round((mass * (alpha * 100) * boilfactor * 0.1) / (liters * (1 + sgfactor)) + whirlibus, 1);
  }
 
- //console.log("toIBU("+Use+","+Form+","+SG+","+Volume+","+Amount+","+Boiltime+","+Alpha+","+Method+"):"+ibu+" fm:"+fmoment+" pf:"+pfactor);
+// console.log('toIBU(' + Use + ',' + Form + ',' + SG + ',' + Volume + ',' + Amount + ',' + Boiltime + ',' +
+//             Alpha + ',' + Method + ',' + Whirlpool9 + ',' + Whirlpool7 + ',' + Whirlpool6 + '):' + ibu + ' fm:' + fmoment + ' pf:' + pfactor);
  return ibu;
 }
 
@@ -1013,13 +1019,23 @@
 
 
 function sg_to_plato(sg) {
- return ((135.997 * sg - 630.272) * sg + 1111.14) * sg - 616.868;
+// return ((135.997 * sg - 630.272) * sg + 1111.14) * sg - 616.868;
+ return -668.962 + (1262.45 * sg) - (776.43 * sg * sg) + (182.94 * sg * sg * sg);
 }
 
 
 
 function plato_to_sg(plato) {
- return 1 + (plato / (258.6 - ((plato / 258.2) * 227.1)));
+// return 1 + (plato / (258.6 - ((plato / 258.2) * 227.1)));
+ return 1.00001 + (0.0038661 * plato) + (1.3488e-5 * plato * plato) + (4.3074e-8 * plato * plato * plato);
+}
+
+
+
+function calc_svg(og, fg) {
+ var oe = sg_to_plato(og);
+ var ae = sg_to_plato(fg);
+ return (oe - ae) / oe * 100;
 }
 
 
@@ -1039,6 +1055,33 @@
 
 
 
+function brix_to_fg(OBrix, FBrix) {
+ // Brouwhulp, werkt zonder brix_correctie, waarom?
+ var FGbh = Round(1.0031 - 0.002318474 * OBrix - 0.000007775 * (OBrix * OBrix) - 0.000000034 * Math.pow(OBrix, 3) +
+            0.00574 * (FBrix) + 0.00003344 * (FBrix * FBrix) + 0.000000086 * Math.pow(FBrix, 3), 4);
+
+ // from http://seanterrill.com   FGoc = old cubix, FGnc = new cubic, FGnl = new linear
+ var OBc = OBrix / my_brix_correction;
+ var FBc = FBrix / my_brix_correction;
+
+ // Old Cubic, almost the same a BrouwHulp, different offset and with brix_correction.
+ var FGoc = Round(1.001843 - 0.002318474 * OBc - 0.000007775 * (OBc * OBc) - 0.000000034 * Math.pow(OBc, 3) +
+            0.00574 * (FBc) + 0.00003344 * (FBc * FBc) + 0.000000086 * Math.pow(FBc, 3), 4);
+
+ // New cubic. This looks the best to use.
+ var FGnc = Round(1 - 0.0044993 * (OBc) + 0.0117741 * (FBc) +
+            0.000275806 * (OBc * OBc) - 0.00127169 * (FBc * FBc) -
+            0.00000727999 * Math.pow(OBc, 3) + 0.0000632929 * Math.pow(FBc, 3), 4);
+
+ // New linear, results are pretty much too high and way off for heavy beers.
+ var FGnl = Round(1 - 0.000856829 * OBc + 0.00349412 * FBc, 4);
+
+ console.log('brix_to_fg(' + Round(OBrix, 2) + ', ' + FBrix + ') FGbh:' + FGbh + ' FGoc:' + FGoc + ' FGnc:' + FGnc + ' FGnl:' + FGnl);
+ return FGnc;
+}
+
+
+
 function estimate_sg(sugars, batch_size) {
 
  var plato, sg, i;
@@ -1124,3 +1167,16 @@
 }
 
 
+function kettle_cm(vol, kettle_vol, kettle_height) {
+ if ((vol > 0) && (kettle_vol > 0) && (vol <= kettle_vol))
+  return Round(100 * ((1 - vol / kettle_vol) * kettle_height), 1);
+ return 0;
+}
+
+
+function kettle_vol(cm, kettle_vol, kettle_height) {
+ if ((cm >= 0) && (kettle_vol > 0) && (cm <= (kettle_height * 100)))
+  return Round(((kettle_height - (cm / 100)) / kettle_height) * kettle_vol, 1);
+ return 0;
+}
+
--- a/www/js/import_ingredients-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a="";if(my_select=="fermentables"){a="upl_fermentables.php"}else{if(my_select=="hops"){a="upl_hops.php"}else{if(my_select=="miscs"){a="upl_miscs.php"}else{if(my_select=="yeasts"){a="upl_yeasts.php"}else{if(my_select=="styles"){a="upl_styles.php"}}}}}$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/xml",uploadUrl:a,fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(d){var c=d.args,e=c.file,b=c.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+d.type+":</strong> "+e+"  size: "+b+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(d){var c=d.args,e=c.file,b=c.response;$("#eventsPanel").jqxPanel("append","<strong>"+d.type+":</strong> ontvangen "+e+"<br />"+b+"<br />")})});
\ No newline at end of file
--- a/www/js/import_ingredients.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/import_ingredients.js	Fri May 01 16:37:31 2020 +0200
@@ -21,49 +21,49 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var	url = '';
+ var url = '';
 
-	if (my_select == 'fermentables')
-		url = 'upl_fermentables.php';
-	else if (my_select == 'hops')
-		url = 'upl_hops.php';
-	else if (my_select == 'miscs')
-		url = 'upl_miscs.php';
-	else if (my_select == 'yeasts')
-		url = 'upl_yeasts.php';
-	else if (my_select == "styles")
-		url = 'upl_styles.php';
+ if (my_select == 'fermentables')
+  url = 'upl_fermentables.php';
+ else if (my_select == 'hops')
+  url = 'upl_hops.php';
+ else if (my_select == 'miscs')
+  url = 'upl_miscs.php';
+ else if (my_select == 'yeasts')
+  url = 'upl_yeasts.php';
+ else if (my_select == 'styles')
+  url = 'upl_styles.php';
 
-	$('#jqxFileUpload').jqxFileUpload({
-		width: 300,
-		browseTemplate: 'success',
-		cancelTemplate: 'inverse',
-		uploadTemplate: 'primary',
-		theme: theme,
-		multipleFilesUpload: false,
-		accept: 'application/xml',
-		uploadUrl: url,
-		fileInputName: 'fileToUpload'
-	});
-	$('#eventsPanel').jqxPanel({
-		width: 800,
-		height: 200,
-		theme: theme
-	});
-	$('#jqxFileUpload').on('select', function (event) {
-		var args = event.args,
-		fileName = args.file,
-		fileSize = args.size;
-		$('#eventsPanel').jqxPanel('clearcontent');
-		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
-	});
-	$('#jqxFileUpload').on('uploadEnd', function (event) {
-		var args = event.args,
-		fileName = args.file,
-		serverResponce = args.response;
-		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
-	});
+ $('#jqxFileUpload').jqxFileUpload({
+  width: 300,
+  browseTemplate: 'success',
+  cancelTemplate: 'inverse',
+  uploadTemplate: 'primary',
+  theme: theme,
+  multipleFilesUpload: false,
+  accept: 'application/xml',
+  uploadUrl: url,
+  fileInputName: 'fileToUpload'
+ });
+ $('#eventsPanel').jqxPanel({
+  width: 800,
+  height: 200,
+  theme: theme
+ });
+ $('#jqxFileUpload').on('select', function(event) {
+  var args = event.args,
+  fileName = args.file,
+  fileSize = args.size;
+  $('#eventsPanel').jqxPanel('clearcontent');
+  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
+ });
+ $('#jqxFileUpload').on('uploadEnd', function(event) {
+  var args = event.args,
+  fileName = args.file,
+  serverResponce = args.response;
+  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
+ });
 
 });
--- a/www/js/inv_equipments-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function c(){var j=$("#calc_boil_volume").val(),k=parseFloat($("#boil_size").jqxNumberInput("decimal")),l=parseFloat($("#evap_rate").jqxNumberInput("decimal")),g=parseFloat($("#boil_time").jqxNumberInput("decimal")),h=parseFloat($("#top_up_kettle").jqxNumberInput("decimal")),i;if(j){i=k-(l*g/60)+h;$("#batch_size").val(i)}}$("#name").jqxTooltip({content:"The unique name of this brew equipment."});$("#notes").jqxTooltip({content:"Some notes about the equipment."});$("#tun_volume").jqxTooltip({content:"Mash TUN volume."});$("#tun_height").jqxTooltip({content:"Mash TUN height in cm."});$("#tun_weight").jqxTooltip({content:"Mash TUN weight in Kg."});$("#tun_material").jqxTooltip({content:"Mash TUN material. Needed to calculate the right strike temperature."});$("#mash_volume").jqxTooltip({content:"Liters maisch water voor de eerste maisch stap."});$("#mash_max").jqxTooltip({content:"Maximale moutstort voor deze installatie in Kg."});$("#lauter_volume").jqxTooltip({content:"Total lauter volume."});$("#lauter_height").jqxTooltip({content:"Height of the lauter TUN in cm."});$("#lauter_deadspace").jqxTooltip({content:"Volume loss in the lauter TUN."});$("#efficiency").jqxTooltip({content:"Average efficiency."});$("#kettle_volume").jqxTooltip({content:"Boil kettle volume in liters."});$("#kettle_height").jqxTooltip({content:"Boil kettle height in cm."});$("#boil_size").jqxTooltip({content:"Normal boil volume in liters"});$("#evap_rate").jqxTooltip({content:"Evaporation in liters per hour."});$("#boil_time").jqxTooltip({content:"Normal boil time in minutes."});$("#top_up_kettle").jqxTooltip({content:"Extra water added to the boil."});$("#hop_utilization").jqxTooltip({content:"100% for smaller installations, higher for large breweries."});$("#batch_size").jqxTooltip({content:"Calculated batch size, liters at end of the boil."});$("#trub_chiller_loss").jqxTooltip({content:"Standard loss in liters during transfer to the fermenter."});var b={},a="includes/db_inventory_equipments.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"boil_size",type:"float"},{name:"batch_size",type:"float"},{name:"tun_volume",type:"float"},{name:"tun_weight",type:"float"},{name:"tun_specific_heat",type:"float"},{name:"tun_material",type:"int"},{name:"tun_height",type:"float"},{name:"top_up_water",type:"float"},{name:"trub_chiller_loss",type:"float"},{name:"evap_rate",type:"float"},{name:"boil_time",type:"float"},{name:"calc_boil_volume",type:"int"},{name:"top_up_kettle",type:"float"},{name:"hop_utilization",type:"float"},{name:"notes",type:"string"},{name:"lauter_volume",type:"float"},{name:"lauter_height",type:"float"},{name:"lauter_deadspace",type:"float"},{name:"kettle_volume",type:"float"},{name:"kettle_height",type:"float"},{name:"mash_volume",type:"float"},{name:"mash_max",type:"float"},{name:"efficiency",type:"float"}],id:"record",url:a,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:a,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),d=-1;$("#name").jqxInput({theme:theme,width:250,height:23});$("#notes").jqxInput({theme:theme,width:640,height:100});$("#boil_size").jqxNumberInput(Spin1dec);$("#batch_size").jqxNumberInput(Spin2dec);$("#batch_size").jqxNumberInput({spinButtonsStep:0.5});$("#tun_volume").jqxNumberInput(Spin1dec);$("#tun_weight").jqxNumberInput(Spin2dec);$("#tun_specific_heat").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:70,height:23,decimalDigits:3});$("#tun_material").jqxDropDownList({theme:theme,source:MaterialAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#tun_height").jqxNumberInput(Spin1dec);$("#top_up_water").jqxNumberInput(Spin1dec);$("#trub_chiller_loss").jqxNumberInput(Spin1dec);$("#evap_rate").jqxNumberInput(Spin2dec);$("#boil_time").jqxNumberInput(PosInt);$("#boil_time").jqxNumberInput({max:1440});$("#calc_boil_volume").jqxCheckBox({theme:theme,width:120,height:23});$("#calc_boil_volume").on("checked",function(g){$("#batch_size").jqxNumberInput({readOnly:true,width:90,spinButtons:false})});$("#calc_boil_volume").on("unchecked",function(g){$("#batch_size").jqxNumberInput({readOnly:false,width:110,spinButtons:true})});$("#top_up_kettle").jqxNumberInput(Spin1dec);$("#hop_utilization").jqxNumberInput(Perc0);$("#hop_utilization").jqxNumberInput({Max:200});$("#lauter_volume").jqxNumberInput(Spin1dec);$("#lauter_height").jqxNumberInput(Spin1dec);$("#lauter_deadspace").jqxNumberInput(Spin1dec);$("#kettle_volume").jqxNumberInput(Spin1dec);$("#kettle_height").jqxNumberInput(Spin1dec);$("#mash_volume").jqxNumberInput(Spin1dec);$("#mash_max").jqxNumberInput(Spin1dec);$("#efficiency").jqxNumberInput(Perc1dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var h,g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");g.append(h);i.append(g);h.jqxButton({theme:theme,width:90,height:20});h.click(function(j){d=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuwe brouwset");$("#boil_size").val(18);$("#batch_size").val(15.3);$("#tun_volume").val(20);$("#tun_weight").val(2);$("#tun_specific_heat").val(0.11);$("#tun_material").val(0);$("#tun_height").val(20);$("#top_up_water").val(0);$("#trub_chiller_loss").val(0.5);$("#evap_rate").val(1.8);$("#boil_time").val(90);$("#calc_boil_volume").val(1);$("#top_up_kettle").val(0);$("#hop_utilization").val(100);$("#notes").val("");$("#lauter_volume").val(20);$("#lauter_height").val(20);$("#lauter_deadspace").val(0.5);$("#kettle_volume").val(20);$("#kettle_height").val(20);$("#mash_volume").val(18);$("#mash_max").val(6);$("#efficiency").val(75);$("#popupWindow").jqxWindow("open")})},filterable:false,ready:function(){$("#boil_size").on("change",function(g){c()});$("#evap_rate").on("change",function(g){c()});$("#boil_time").on("change",function(g){c()});$("#top_up_kettle").on("change",function(g){c()});$("#calc_boil_volume").on("change",function(g){c()});$("#tun_material").on("change",function(g){b.tun_specific_heat=MaterialData[g.args.index].sh;$("#tun_specific_heat").val(b.tun_specific_heat)})},columns:[{text:"Installatie naam",datafield:"name",width:200},{text:"Kook volume",datafield:"boil_size",width:110,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Batch volume",datafield:"batch_size",width:110,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Opmerkingen",datafield:"notes"},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){d=g;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(b.name);$("#boil_size").val(b.boil_size);$("#batch_size").val(b.batch_size);$("#tun_volume").val(b.tun_volume);$("#tun_weight").val(b.tun_weight);$("#tun_specific_heat").val(b.tun_specific_heat);$("#tun_material").val(b.tun_material);$("#tun_height").val(b.tun_height);$("#top_up_water").val(b.top_up_water);$("#trub_chiller_loss").val(b.trub_chiller_loss);$("#evap_rate").val(b.evap_rate);$("#boil_time").val(b.boil_time);$("#calc_boil_volume").val(b.calc_boil_volume);$("#top_up_kettle").val(b.top_up_kettle);$("#hop_utilization").val(b.hop_utilization);$("#notes").val(b.notes);$("#lauter_volume").val(b.lauter_volume);$("#lauter_height").val(b.lauter_height);$("#lauter_deadspace").val(b.lauter_deadspace);$("#kettle_volume").val(b.kettle_volume);$("#kettle_height").val(b.kettle_height);$("#mash_volume").val(b.mash_volume);$("#mash_max").val(b.mash_max);$("#efficiency").val(b.efficiency);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:600,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var h,g=-1;if(d>=0){g=$("#jqxgrid").jqxGrid("getrowid",d)}h={record:g,name:$("#name").val(),boil_size:parseFloat($("#boil_size").jqxNumberInput("decimal")),batch_size:parseFloat($("#batch_size").jqxNumberInput("decimal")),tun_volume:parseFloat($("#tun_volume").jqxNumberInput("decimal")),tun_weight:parseFloat($("#tun_weight").jqxNumberInput("decimal")),tun_specific_heat:parseFloat($("#tun_specific_heat").jqxNumberInput("decimal")),tun_material:$("#tun_material").val(),tun_height:parseFloat($("#tun_height").jqxNumberInput("decimal")),top_up_water:parseFloat($("#top_up_water").jqxNumberInput("decimal")),trub_chiller_loss:parseFloat($("#trub_chiller_loss").jqxNumberInput("decimal")),evap_rate:parseFloat($("#evap_rate").jqxNumberInput("decimal")),boil_time:parseFloat($("#boil_time").jqxNumberInput("decimal")),calc_boil_volume:$("#calc_boil_volume").val(),top_up_kettle:parseFloat($("#top_up_kettle").jqxNumberInput("decimal")),hop_utilization:parseFloat($("#hop_utilization").jqxNumberInput("decimal")),notes:$("#notes").val(),lauter_volume:parseFloat($("#lauter_volume").jqxNumberInput("decimal")),lauter_height:parseFloat($("#lauter_height").jqxNumberInput("decimal")),lauter_deadspace:parseFloat($("#lauter_deadspace").jqxNumberInput("decimal")),kettle_volume:parseFloat($("#kettle_volume").jqxNumberInput("decimal")),kettle_height:parseFloat($("#kettle_height").jqxNumberInput("decimal")),mash_volume:parseFloat($("#mash_volume").jqxNumberInput("decimal")),mash_max:parseFloat($("#mash_max").jqxNumberInput("decimal")),efficiency:parseFloat($("#efficiency").jqxNumberInput("decimal"))};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",g,h)}else{$("#jqxgrid").jqxGrid("addrow",null,h)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_equipments.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_equipments.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*****************************************************************************
- * Copyright (C) 2014-2019
- *   
+ * Copyright (C) 2014-2020
+ *
  * Michiel Broek <mbroek at mbse dot eu>
  *
  * This file is part of BrewCloud
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with ThermFerm; see the file COPYING.  If not, write to the Free
  * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
@@ -22,366 +22,374 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	function calcBatchVolume() {
-		var calc = $("#calc_boil_volume").val(),
-		boil_size = parseFloat($("#boil_size").jqxNumberInput('decimal')),
-		evap_rate = parseFloat($("#evap_rate").jqxNumberInput('decimal')),
-		boil_time = parseFloat($("#boil_time").jqxNumberInput('decimal')),
-		top_up = parseFloat($("#top_up_kettle").jqxNumberInput('decimal')),
-		batch;
-		
-		if (calc) {	// If checked, calculate the batch size.
-			batch = boil_size - (evap_rate * boil_time / 60) + top_up;
-			$("#batch_size").val(batch);
-		}
-	}
+ function calcBatchVolume() {
+  var calc = $('#calc_boil_volume').val(),
+  boil_size = parseFloat($('#boil_size').jqxNumberInput('decimal')),
+  evap_rate = parseFloat($('#evap_rate').jqxNumberInput('decimal')),
+  boil_time = parseFloat($('#boil_time').jqxNumberInput('decimal')),
+  top_up = parseFloat($('#top_up_kettle').jqxNumberInput('decimal')),
+  batch;
+
+  if (calc) { // If checked, calculate the batch size.
+   batch = boil_size - (evap_rate * boil_time / 60) + top_up;
+   $('#batch_size').val(batch);
+  }
+ }
 
-	// tooltips
-	$("#name").jqxTooltip({ content: 'The unique name of this brew equipment.' });
-	$("#notes").jqxTooltip({ content: 'Some notes about the equipment.' });
-	$("#tun_volume").jqxTooltip({ content: 'Mash TUN volume.' });
-	$("#tun_height").jqxTooltip({ content: 'Mash TUN height in cm.' });
-	$("#tun_weight").jqxTooltip({ content: 'Mash TUN weight in Kg.' });
-	$("#tun_material").jqxTooltip({ content: 'Mash TUN material. Needed to calculate the right strike temperature.' });
-	$("#mash_volume").jqxTooltip({ content: 'Liters maisch water voor de eerste maisch stap.' });
-	$("#mash_max").jqxTooltip({ content: 'Maximale moutstort voor deze installatie in Kg.' });
-	$("#lauter_volume").jqxTooltip({ content: 'Total lauter volume.' });
-	$("#lauter_height").jqxTooltip({ content: 'Height of the lauter TUN in cm.' });
-	$("#lauter_deadspace").jqxTooltip({ content: 'Volume loss in the lauter TUN.' });
-	$("#efficiency").jqxTooltip({ content: 'Average efficiency.' });
-	$("#kettle_volume").jqxTooltip({ content: 'Boil kettle volume in liters.' });
-	$("#kettle_height").jqxTooltip({ content: 'Boil kettle height in cm.' });
-	$("#boil_size").jqxTooltip({ content: 'Normal boil volume in liters' });
-	$("#evap_rate").jqxTooltip({ content: 'Evaporation in liters per hour.' });
-	$("#boil_time").jqxTooltip({ content: 'Normal boil time in minutes.' });
-	$("#top_up_kettle").jqxTooltip({ content: 'Extra water added to the boil.' });
-	$("#hop_utilization").jqxTooltip({ content: '100% for smaller installations, higher for large breweries.' });
-	$("#batch_size").jqxTooltip({ content: 'Calculated batch size, liters at end of the boil.' });
-	$("#trub_chiller_loss").jqxTooltip({ content: 'Standard loss in liters during transfer to the fermenter.' });
+ // tooltips
+ $('#name').jqxTooltip({ content: 'The unique name of this brew equipment.' });
+ $('#notes').jqxTooltip({ content: 'Some notes about the equipment.' });
+ $('#tun_volume').jqxTooltip({ content: 'Mash TUN volume.' });
+ $('#tun_height').jqxTooltip({ content: 'Mash TUN height in cm.' });
+ $('#tun_weight').jqxTooltip({ content: 'Mash TUN weight in Kg.' });
+ $('#tun_material').jqxTooltip({ content: 'Mash TUN material. Needed to calculate the right strike temperature.' });
+ $('#mash_volume').jqxTooltip({ content: 'Liters maisch water voor de eerste maisch stap.' });
+ $('#mash_max').jqxTooltip({ content: 'Maximale moutstort voor deze installatie in Kg.' });
+ $('#lauter_volume').jqxTooltip({ content: 'Total lauter volume.' });
+ $('#lauter_height').jqxTooltip({ content: 'Height of the lauter TUN in cm.' });
+ $('#lauter_deadspace').jqxTooltip({ content: 'Volume loss in the lauter TUN.' });
+ $('#efficiency').jqxTooltip({ content: 'Average efficiency.' });
+ $('#kettle_volume').jqxTooltip({ content: 'Boil kettle volume in liters.' });
+ $('#kettle_height').jqxTooltip({ content: 'Boil kettle height in cm.' });
+ $('#boil_size').jqxTooltip({ content: 'Normal boil volume in liters' });
+ $('#evap_rate').jqxTooltip({ content: 'Evaporation in liters per hour.' });
+ $('#boil_time').jqxTooltip({ content: 'Normal boil time in minutes.' });
+ $('#top_up_kettle').jqxTooltip({ content: 'Extra water added to the boil.' });
+ $('#hop_utilization').jqxTooltip({ content: '100% for smaller installations, higher for large breweries.' });
+ $('#batch_size').jqxTooltip({ content: 'Calculated batch size, liters at end of the boil.' });
+ $('#trub_chiller_loss').jqxTooltip({ content: 'Standard loss in liters during transfer to the fermenter.' });
 
-	var dataRecord = {},
-	url = 'includes/db_inventory_equipments.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'boil_size', type: 'float' },
-			{ name: 'batch_size', type: 'float' },
-			{ name: 'tun_volume', type: 'float' },
-			{ name: 'tun_weight', type: 'float' },
-			{ name: 'tun_specific_heat', type: 'float' },
-			{ name: 'tun_material', type: 'int' },
-			{ name: 'tun_height', type: 'float' },
-			{ name: 'top_up_water', type: 'float' },
-			{ name: 'trub_chiller_loss', type: 'float' },
-			{ name: 'evap_rate', type: 'float' },
-			{ name: 'boil_time', type: 'float' },
-			{ name: 'calc_boil_volume', type: 'int' },
-			{ name: 'top_up_kettle', type: 'float' },
-			{ name: 'hop_utilization', type: 'float' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'lauter_volume', type: 'float' },
-			{ name: 'lauter_height', type: 'float' },
-			{ name: 'lauter_deadspace', type: 'float' },
-			{ name: 'kettle_volume', type: 'float' },
-			{ name: 'kettle_height', type: 'float' },
-			{ name: 'mash_volume', type: 'float' },
-			{ name: 'mash_max', type: 'float' },
-			{ name: 'efficiency', type: 'float' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-               	addrow: function (rowid, rowdata, position, commit) {
-                       	var data = "insert=true&" + $.param(rowdata);
-                       	$.ajax({
-                               	dataType: 'json',
-                               	url: url,
-                               	cache: false,
-                               	data: data,
-				type: "POST",
-                               	success: function (data, status, xhr) {
-                                       	commit(true);
-					location.reload( true );
-                               	},
-                               	error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_inventory_equipments.php',
+ // prepare the data
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'boil_size', type: 'float' },
+   { name: 'batch_size', type: 'float' },
+   { name: 'tun_volume', type: 'float' },
+   { name: 'tun_weight', type: 'float' },
+   { name: 'tun_specific_heat', type: 'float' },
+   { name: 'tun_material', type: 'int' },
+   { name: 'tun_height', type: 'float' },
+   { name: 'top_up_water', type: 'float' },
+   { name: 'trub_chiller_loss', type: 'float' },
+   { name: 'evap_rate', type: 'float' },
+   { name: 'boil_time', type: 'float' },
+   { name: 'calc_boil_volume', type: 'int' },
+   { name: 'top_up_kettle', type: 'float' },
+   { name: 'hop_utilization', type: 'float' },
+   { name: 'notes', type: 'string' },
+   { name: 'lauter_volume', type: 'float' },
+   { name: 'lauter_height', type: 'float' },
+   { name: 'lauter_deadspace', type: 'float' },
+   { name: 'kettle_volume', type: 'float' },
+   { name: 'kettle_height', type: 'float' },
+   { name: 'mash_volume', type: 'float' },
+   { name: 'mash_max', type: 'float' },
+   { name: 'efficiency', type: 'float' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
+
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 640, height: 100 });
+ $('#boil_size').jqxNumberInput(Spin1dec);
+ $('#batch_size').jqxNumberInput(Spin2dec);
+ $('#batch_size').jqxNumberInput({ spinButtonsStep: 0.5 });
+ $('#tun_volume').jqxNumberInput(Spin1dec);
+ $('#tun_weight').jqxNumberInput(Spin2dec);
+ $('#tun_specific_heat').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 3 });
+ $('#tun_material').jqxDropDownList({
+  theme: theme,
+  source: MaterialAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#tun_height').jqxNumberInput(Spin1dec);
+ $('#top_up_water').jqxNumberInput(Spin1dec);
+ $('#trub_chiller_loss').jqxNumberInput(Spin1dec);
+ $('#evap_rate').jqxNumberInput(Spin2dec);
+ $('#boil_time').jqxNumberInput(PosInt);
+ $('#boil_time').jqxNumberInput({ max: 1440 });
+ $('#calc_boil_volume').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#calc_boil_volume').on('checked', function(event) {
+  $('#batch_size').jqxNumberInput({ readOnly: true, width: 90, spinButtons: false });
+ });
+ $('#calc_boil_volume').on('unchecked', function(event) {
+  $('#batch_size').jqxNumberInput({ readOnly: false, width: 110, spinButtons: true });
+ });
+ $('#top_up_kettle').jqxNumberInput(Spin1dec);
+ $('#hop_utilization').jqxNumberInput(Perc0);
+ $('#hop_utilization').jqxNumberInput({ Max: 200 });
+ $('#lauter_volume').jqxNumberInput(Spin1dec);
+ $('#lauter_height').jqxNumberInput(Spin1dec);
+ $('#lauter_deadspace').jqxNumberInput(Spin1dec);
+ $('#kettle_volume').jqxNumberInput(Spin1dec);
+ $('#kettle_height').jqxNumberInput(Spin1dec);
+ $('#mash_volume').jqxNumberInput(Spin1dec);
+ $('#mash_max').jqxNumberInput(Spin1dec);
+ $('#efficiency').jqxNumberInput(Perc1dec);
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 640, height: 100 });
-	$("#boil_size").jqxNumberInput( Spin1dec );
-	$("#batch_size").jqxNumberInput( Spin2dec );
-	$("#batch_size").jqxNumberInput({ spinButtonsStep: 0.5 });
-	$("#tun_volume").jqxNumberInput( Spin1dec );
-	$("#tun_weight").jqxNumberInput( Spin2dec );
-	$("#tun_specific_heat").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 3 });
-	$("#tun_material").jqxDropDownList({
-		theme: theme,
-		source: MaterialAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#tun_height").jqxNumberInput( Spin1dec );
-	$("#top_up_water").jqxNumberInput( Spin1dec );
-	$("#trub_chiller_loss").jqxNumberInput( Spin1dec );
-	$("#evap_rate").jqxNumberInput( Spin2dec );
-	$("#boil_time").jqxNumberInput( PosInt );
-	$("#boil_time").jqxNumberInput({ max: 1440 });
-	$("#calc_boil_volume").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#calc_boil_volume").on('checked', function (event) {
-		$("#batch_size").jqxNumberInput({ readOnly: true, width: 90, spinButtons: false });
-	});
-	$("#calc_boil_volume").on('unchecked', function (event) {
-		$("#batch_size").jqxNumberInput({ readOnly: false, width: 110, spinButtons: true });
-	});
-	$("#top_up_kettle").jqxNumberInput( Spin1dec );
-	$("#hop_utilization").jqxNumberInput( Perc0 );
-	$("#hop_utilization").jqxNumberInput({ Max: 200 });
-	$("#lauter_volume").jqxNumberInput( Spin1dec );
-	$("#lauter_height").jqxNumberInput( Spin1dec );
-	$("#lauter_deadspace").jqxNumberInput( Spin1dec );
-	$("#kettle_volume").jqxNumberInput( Spin1dec );
-	$("#kettle_height").jqxNumberInput( Spin1dec );
-	$("#mash_volume").jqxNumberInput( Spin1dec );
-	$("#mash_max").jqxNumberInput( Spin1dec );
-	$("#efficiency").jqxNumberInput( Perc1dec );
-
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('Nieuwe brouwset');
-				$("#boil_size").val(18);
-				$("#batch_size").val(15.3);
-				$("#tun_volume").val(20);
-				$("#tun_weight").val(2);
-				$("#tun_specific_heat").val(0.11);
-				$("#tun_material").val(0);
-				$("#tun_height").val(20);
-				$("#top_up_water").val(0);
-				$("#trub_chiller_loss").val(0.5);
-				$("#evap_rate").val(1.8);
-				$("#boil_time").val(90);
-				$("#calc_boil_volume").val(1);
-				$("#top_up_kettle").val(0);
-				$("#hop_utilization").val(100);
-				$("#notes").val('');
-				$("#lauter_volume").val(20);
-				$("#lauter_height").val(20);
-				$("#lauter_deadspace").val(0.5);
-				$("#kettle_volume").val(20);
-				$("#kettle_height").val(20);
-				$("#mash_volume").val(18);
-				$("#mash_max").val(6);
-				$("#efficiency").val(75);
-				$("#popupWindow").jqxWindow('open');
-			});
-		},
-		filterable: false,
-		ready: function() {
-			$('#boil_size').on('change', function (event) { calcBatchVolume(); });
-			$('#evap_rate').on('change', function (event) { calcBatchVolume(); });
-			$('#boil_time').on('change', function (event) { calcBatchVolume(); });
-			$('#top_up_kettle').on('change', function (event) { calcBatchVolume(); });
-			$("#calc_boil_volume").on('change', function (event) { calcBatchVolume(); });
-			$('#tun_material').on('change', function (event) {
-				dataRecord.tun_specific_heat = MaterialData[event.args.index].sh;
-				$("#tun_specific_heat").val(dataRecord.tun_specific_heat);
-			});
-		},
-		columns: [
-			{ text: 'Installatie naam', datafield: 'name', width: 200 },
-			{ text: 'Kook volume', datafield: 'boil_size', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Batch volume', datafield: 'batch_size', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Opmerkingen', datafield: 'notes' },
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#boil_size").val(dataRecord.boil_size);
-					$("#batch_size").val(dataRecord.batch_size);
-					$("#tun_volume").val(dataRecord.tun_volume);
-					$("#tun_weight").val(dataRecord.tun_weight);
-					$("#tun_specific_heat").val(dataRecord.tun_specific_heat);
-					$("#tun_material").val(dataRecord.tun_material);
-					$("#tun_height").val(dataRecord.tun_height);
-					$("#top_up_water").val(dataRecord.top_up_water);
-					$("#trub_chiller_loss").val(dataRecord.trub_chiller_loss);
-					$("#evap_rate").val(dataRecord.evap_rate);
-					$("#boil_time").val(dataRecord.boil_time);
-					$("#calc_boil_volume").val(dataRecord.calc_boil_volume);
-					$("#top_up_kettle").val(dataRecord.top_up_kettle);
-					$("#hop_utilization").val(dataRecord.hop_utilization);
-					$("#notes").val(dataRecord.notes);
-					$("#lauter_volume").val(dataRecord.lauter_volume);
-					$("#lauter_height").val(dataRecord.lauter_height);
-					$("#lauter_deadspace").val(dataRecord.lauter_deadspace);
-					$("#kettle_volume").val(dataRecord.kettle_volume);
-					$("#kettle_height").val(dataRecord.kettle_height);
-					$("#mash_volume").val(dataRecord.mash_volume);
-					$("#mash_max").val(dataRecord.mash_max);
-					$("#efficiency").val(dataRecord.efficiency);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 600,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			boil_size: parseFloat($("#boil_size").jqxNumberInput('decimal')),
-			batch_size: parseFloat($("#batch_size").jqxNumberInput('decimal')),
-			tun_volume: parseFloat($("#tun_volume").jqxNumberInput('decimal')),
-			tun_weight: parseFloat($("#tun_weight").jqxNumberInput('decimal')),
-			tun_specific_heat: parseFloat($("#tun_specific_heat").jqxNumberInput('decimal')),
-			tun_material: $("#tun_material").val(),
-			tun_height: parseFloat($("#tun_height").jqxNumberInput('decimal')),
-			top_up_water: parseFloat($("#top_up_water").jqxNumberInput('decimal')),
-			trub_chiller_loss: parseFloat($("#trub_chiller_loss").jqxNumberInput('decimal')),
-			evap_rate: parseFloat($("#evap_rate").jqxNumberInput('decimal')),
-			boil_time: parseFloat($("#boil_time").jqxNumberInput('decimal')),
-			calc_boil_volume: $("#calc_boil_volume").val(),
-			top_up_kettle: parseFloat($("#top_up_kettle").jqxNumberInput('decimal')),
-			hop_utilization: parseFloat($("#hop_utilization").jqxNumberInput('decimal')),
-			notes: $("#notes").val(),
-			lauter_volume: parseFloat($("#lauter_volume").jqxNumberInput('decimal')),
-			lauter_height: parseFloat($("#lauter_height").jqxNumberInput('decimal')),
-			lauter_deadspace: parseFloat($("#lauter_deadspace").jqxNumberInput('decimal')),
-			kettle_volume: parseFloat($("#kettle_volume").jqxNumberInput('decimal')),
-			kettle_height: parseFloat($("#kettle_height").jqxNumberInput('decimal')),
-			mash_volume: parseFloat($("#mash_volume").jqxNumberInput('decimal')),
-			mash_max: parseFloat($("#mash_max").jqxNumberInput('decimal')),
-			efficiency: parseFloat($("#efficiency").jqxNumberInput('decimal'))
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('Nieuwe brouwset');
+    $('#boil_size').val(18);
+    $('#batch_size').val(15.3);
+    $('#tun_volume').val(20);
+    $('#tun_weight').val(2);
+    $('#tun_specific_heat').val(0.11);
+    $('#tun_material').val(0);
+    $('#tun_height').val(20);
+    $('#top_up_water').val(0);
+    $('#trub_chiller_loss').val(0.5);
+    $('#evap_rate').val(1.8);
+    $('#boil_time').val(90);
+    $('#calc_boil_volume').val(1);
+    $('#top_up_kettle').val(0);
+    $('#hop_utilization').val(100);
+    $('#notes').val('');
+    $('#lauter_volume').val(20);
+    $('#lauter_height').val(20);
+    $('#lauter_deadspace').val(0.5);
+    $('#kettle_volume').val(20);
+    $('#kettle_height').val(20);
+    $('#mash_volume').val(18);
+    $('#mash_max').val(6);
+    $('#efficiency').val(75);
+    $('#popupWindow').jqxWindow('open');
+   });
+   expButton.click(function(event) {
+    window.open('export_equipments.php');
+   });
+  },
+  filterable: false,
+  ready: function() {
+   $('#boil_size').on('change', function(event) { calcBatchVolume(); });
+   $('#evap_rate').on('change', function(event) { calcBatchVolume(); });
+   $('#boil_time').on('change', function(event) { calcBatchVolume(); });
+   $('#top_up_kettle').on('change', function(event) { calcBatchVolume(); });
+   $('#calc_boil_volume').on('change', function(event) { calcBatchVolume(); });
+   $('#tun_material').on('select', function(event) {
+    dataRecord.tun_specific_heat = MaterialData[event.args.index].sh;
+    $('#tun_specific_heat').val(dataRecord.tun_specific_heat);
+   });
+  },
+  columns: [
+   { text: 'Installatie naam', datafield: 'name', width: 200 },
+   { text: 'Kook volume', datafield: 'boil_size', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Batch volume', datafield: 'batch_size', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Opmerkingen', datafield: 'notes' },
+   { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function() {
+    return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#boil_size').val(dataRecord.boil_size);
+     $('#batch_size').val(dataRecord.batch_size);
+     $('#tun_volume').val(dataRecord.tun_volume);
+     $('#tun_weight').val(dataRecord.tun_weight);
+     $('#tun_specific_heat').val(dataRecord.tun_specific_heat);
+     $('#tun_material').val(dataRecord.tun_material);
+     $('#tun_height').val(dataRecord.tun_height);
+     $('#top_up_water').val(dataRecord.top_up_water);
+     $('#trub_chiller_loss').val(dataRecord.trub_chiller_loss);
+     $('#evap_rate').val(dataRecord.evap_rate);
+     $('#boil_time').val(dataRecord.boil_time);
+     $('#calc_boil_volume').val(dataRecord.calc_boil_volume);
+     $('#top_up_kettle').val(dataRecord.top_up_kettle);
+     $('#hop_utilization').val(dataRecord.hop_utilization);
+     $('#notes').val(dataRecord.notes);
+     $('#lauter_volume').val(dataRecord.lauter_volume);
+     $('#lauter_height').val(dataRecord.lauter_height);
+     $('#lauter_deadspace').val(dataRecord.lauter_deadspace);
+     $('#kettle_volume').val(dataRecord.kettle_volume);
+     $('#kettle_height').val(dataRecord.kettle_height);
+     $('#mash_volume').val(dataRecord.mash_volume);
+     $('#mash_max').val(dataRecord.mash_max);
+     $('#efficiency').val(dataRecord.efficiency);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 600,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   boil_size: parseFloat($('#boil_size').jqxNumberInput('decimal')),
+   batch_size: parseFloat($('#batch_size').jqxNumberInput('decimal')),
+   tun_volume: parseFloat($('#tun_volume').jqxNumberInput('decimal')),
+   tun_weight: parseFloat($('#tun_weight').jqxNumberInput('decimal')),
+   tun_specific_heat: parseFloat($('#tun_specific_heat').jqxNumberInput('decimal')),
+   tun_material: $('#tun_material').val(),
+   tun_height: parseFloat($('#tun_height').jqxNumberInput('decimal')),
+   top_up_water: parseFloat($('#top_up_water').jqxNumberInput('decimal')),
+   trub_chiller_loss: parseFloat($('#trub_chiller_loss').jqxNumberInput('decimal')),
+   evap_rate: parseFloat($('#evap_rate').jqxNumberInput('decimal')),
+   boil_time: parseFloat($('#boil_time').jqxNumberInput('decimal')),
+   calc_boil_volume: $('#calc_boil_volume').val(),
+   top_up_kettle: parseFloat($('#top_up_kettle').jqxNumberInput('decimal')),
+   hop_utilization: parseFloat($('#hop_utilization').jqxNumberInput('decimal')),
+   notes: $('#notes').val(),
+   lauter_volume: parseFloat($('#lauter_volume').jqxNumberInput('decimal')),
+   lauter_height: parseFloat($('#lauter_height').jqxNumberInput('decimal')),
+   lauter_deadspace: parseFloat($('#lauter_deadspace').jqxNumberInput('decimal')),
+   kettle_volume: parseFloat($('#kettle_volume').jqxNumberInput('decimal')),
+   kettle_height: parseFloat($('#kettle_height').jqxNumberInput('decimal')),
+   mash_volume: parseFloat($('#mash_volume').jqxNumberInput('decimal')),
+   mash_max: parseFloat($('#mash_max').jqxNumberInput('decimal')),
+   efficiency: parseFloat($('#efficiency').jqxNumberInput('decimal'))
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/inv_fermentables-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function d(h,g){$("#totval").val(h*g)}var b={},a="includes/db_inventory_fermentables.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"type",type:"string"},{name:"yield",type:"float"},{name:"color",type:"float"},{name:"add_after_boil",type:"int"},{name:"origin",type:"string"},{name:"supplier",type:"string"},{name:"notes",type:"string"},{name:"coarse_fine_diff",type:"float"},{name:"moisture",type:"float"},{name:"diastatic_power",type:"float"},{name:"protein",type:"float"},{name:"dissolved_protein",type:"float"},{name:"max_in_batch",type:"float"},{name:"recommend_mash",type:"int"},{name:"added",type:"string"},{name:"always_on_stock",type:"int"},{name:"di_ph",type:"float"},{name:"acid_to_ph_57",type:"float"},{name:"graintype",type:"string"},{name:"inventory",type:"float"},{name:"cost",type:"float"},{name:"production_date",type:"string"},{name:"tht_date",type:"string"}],id:"record",url:a,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:a,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),c=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#type").jqxDropDownList({theme:theme,source:FermentableTypeAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#yield").jqxNumberInput(Spin1dec);$("#color").jqxNumberInput(Spin1dec);$("#add_after_boil").jqxCheckBox({theme:theme,width:120,height:23});$("#origin").jqxInput({theme:theme,width:250,height:23});$("#supplier").jqxInput({theme:theme,width:250,height:23});$("#notes").jqxInput({theme:theme,width:640,height:100});$("#coarse_fine_diff").jqxNumberInput(Spin1dec);$("#moisture").jqxNumberInput(Spin1dec);$("#diastatic_power").jqxNumberInput(PosInt);$("#protein").jqxNumberInput(Spin1dec);$("#dissolved_protein").jqxNumberInput(Spin1dec);$("#max_in_batch").jqxNumberInput(Perc1dec);$("#recommend_mash").jqxCheckBox({theme:theme,width:120,height:23});$("#added").jqxDropDownList({theme:theme,source:AddedAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#always_on_stock").jqxCheckBox({theme:theme,width:120,height:23});$("#di_ph").jqxNumberInput(Spin2pH);$("#acid_to_ph_57").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-1000,max:1000,decimalDigits:4,spinButtons:true});$("#graintype").jqxDropDownList({theme:theme,source:GrainTypeAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#inventory").jqxNumberInput(Spin3dec);$("#production_date").jqxDateTimeInput(Dateopts);$("#cost").jqxNumberInput(Spin2dec);$("#tht_date").jqxDateTimeInput(Dateopts);$("#totval").jqxNumberInput(Show2dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var g,h,j;g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");j=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");g.append(h);g.append(j);i.append(g);h.jqxButton({theme:theme,width:90,height:20});j.jqxButton({theme:theme,width:90,height:20});h.click(function(k){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuw product");$("#type").val("Mout");$("#origin").val("");$("#supplier").val("");$("#notes").val("");$("#yield").val(80);$("#color").val(3);$("#coarse_fine_diff").val(3);$("#moisture").val(4);$("#diastatic_power").val(0);$("#protein").val(0);$("#dissolved_protein").val(0);$("#max_in_batch").val(100);$("#recommend_mash").val(1);$("#always_on_stock").val(0);$("#di_ph").val(0);$("#acid_to_ph_57").val(0);$("#graintype").val("Basismout");$("#add_after_boil").val(0);$("#added").val("Maischen");$("#inventory").val(0);$("#cost").val(0);$("#production_date").val("");$("#tht_date").val("");$("#popupWindow").jqxWindow("open")});j.click(function(k){window.location.href="import_ingredients.php?select=fermentables"})},filterable:true,filtermode:"excel",columns:[{text:"Herkomst",datafield:"origin",width:150},{text:"Producent",datafield:"supplier",width:140},{text:"Vergistbaar product",datafield:"name",menu:false},{text:"Soort",width:135,filtertype:"list",datafield:"type"},{text:"Graan type",datafield:"graintype",align:"center",cellsalign:"center",width:125},{text:"EBC",datafield:"color",width:60,align:"right",menu:false,cellsalign:"right"},{text:"Opbrengst",datafield:"yield",width:70,align:"right",menu:false,cellsalign:"right",cellsformat:"p1"},{text:"Voorraad",datafield:"inventory",width:100,align:"right",menu:false,cellsrenderer:function(h,g,l,k,j,m){var i="";if(l>0){if(l<1){i=f.formatNumber(l*1000,"f0")+" gr"}else{i=f.formatNumber(l,"f1")+" kg"}}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+i+"</span>"}},{text:"",datafield:"Edit",width:100,align:"center",menu:false,columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){c=g;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#type").val(b.type);$("#yield").val(b.yield);$("#color").val(b.color);$("#add_after_boil").val(b.add_after_boil);$("#origin").val(b.origin);$("#supplier").val(b.supplier);$("#notes").val(b.notes);$("#coarse_fine_diff").val(b.coarse_fine_diff);$("#moisture").val(b.moisture);$("#diastatic_power").val(lintner_to_kolbach(b.diastatic_power));$("#protein").val(b.protein);$("#dissolved_protein").val(b.dissolved_protein);$("#max_in_batch").val(b.max_in_batch);$("#recommend_mash").val(b.recommend_mash);$("#added").val(b.added);$("#always_on_stock").val(b.always_on_stock);$("#di_ph").val(b.di_ph);$("#acid_to_ph_57").val(b.acid_to_ph_57);$("#graintype").val(b.graintype);$("#inventory").val(b.inventory);$("#cost").val(b.cost);$("#production_date").val(b.production_date);$("#tht_date").val(b.tht_date);d(b.cost,b.inventory);$("#popupWindow").jqxWindow("open")}}]});$("#cost").on("change",function(g){b.cost=parseFloat(g.args.value);d(b.cost,b.inventory)});$("#inventory").on("change",function(g){b.inventory=parseFloat(g.args.value);d(b.cost,b.inventory)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Clone").jqxButton({template:"warning",width:"90px",theme:theme});$("#Clone").click(function(){var g={record:-1,name:$("#name").val()+" kopie",type:$("#type").val(),yield:parseFloat($("#yield").jqxNumberInput("decimal")),color:parseFloat($("#color").jqxNumberInput("decimal")),add_after_boil:$("#add_after_boil").val(),origin:$("#origin").val(),supplier:$("#supplier").val(),notes:$("#notes").val(),coarse_fine_diff:parseFloat($("#coarse_fine_diff").jqxNumberInput("decimal")),moisture:parseFloat($("#moisture").jqxNumberInput("decimal")),diastatic_power:kolbach_to_lintner(parseFloat($("#diastatic_power").jqxNumberInput("decimal"))),protein:parseFloat($("#protein").jqxNumberInput("decimal")),dissolved_protein:parseFloat($("#dissolved_protein").jqxNumberInput("decimal")),max_in_batch:parseFloat($("#max_in_batch").jqxNumberInput("decimal")),recommend_mash:$("#recommend_mash").val(),added:$("#added").val(),always_on_stock:$("#always_on_stock").val(),di_ph:parseFloat($("#di_ph").jqxNumberInput("decimal")),acid_to_ph_57:parseFloat($("#acid_to_ph_57").jqxNumberInput("decimal")),graintype:$("#graintype").val(),inventory:0,cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:"",tht_date:""};$("#jqxgrid").jqxGrid("addrow",null,g);$("#popupWindow").jqxWindow("hide")});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var h,g=-1;if(c>=0){g=$("#jqxgrid").jqxGrid("getrowid",c)}h={record:g,name:$("#name").val(),type:$("#type").val(),yield:parseFloat($("#yield").jqxNumberInput("decimal")),color:parseFloat($("#color").jqxNumberInput("decimal")),add_after_boil:$("#add_after_boil").val(),origin:$("#origin").val(),supplier:$("#supplier").val(),notes:$("#notes").val(),coarse_fine_diff:parseFloat($("#coarse_fine_diff").jqxNumberInput("decimal")),moisture:parseFloat($("#moisture").jqxNumberInput("decimal")),diastatic_power:kolbach_to_lintner(parseFloat($("#diastatic_power").jqxNumberInput("decimal"))),protein:parseFloat($("#protein").jqxNumberInput("decimal")),dissolved_protein:parseFloat($("#dissolved_protein").jqxNumberInput("decimal")),max_in_batch:parseFloat($("#max_in_batch").jqxNumberInput("decimal")),recommend_mash:$("#recommend_mash").val(),added:$("#added").val(),always_on_stock:$("#always_on_stock").val(),di_ph:parseFloat($("#di_ph").jqxNumberInput("decimal")),acid_to_ph_57:parseFloat($("#acid_to_ph_57").jqxNumberInput("decimal")),graintype:$("#graintype").val(),inventory:parseFloat($("#inventory").jqxNumberInput("decimal")),cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:$("#production_date").val(),tht_date:$("#tht_date").val(),};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",g,h)}else{$("#jqxgrid").jqxGrid("addrow",null,h)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_fermentables.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_fermentables.js	Fri May 01 16:37:31 2020 +0200
@@ -22,398 +22,404 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	function calcTotal(cost, inventory) {
-
-		$('#totval').val(cost * inventory);
-	}
+ function calcTotal(cost, inventory) {
+  $('#totval').val(cost * inventory);
+ }
 
-	var dataRecord = {},
-	url = 'includes/db_inventory_fermentables.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'type', type: 'string' },
-			{ name: 'yield', type: 'float' },
-			{ name: 'color', type: 'float' },
-			{ name: 'add_after_boil', type: 'int' },
-			{ name: 'origin', type: 'string' },
-			{ name: 'supplier', type: 'string' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'coarse_fine_diff', type: 'float' },
-			{ name: 'moisture', type: 'float' },
-			{ name: 'diastatic_power', type: 'float' },
-			{ name: 'protein', type: 'float' },
-			{ name: 'dissolved_protein', type: 'float' },
-			{ name: 'max_in_batch', type: 'float' },
-			{ name: 'recommend_mash', type: 'int' },
-			{ name: 'added', type: 'string' },
-			{ name: 'always_on_stock', type: 'int' },
-			{ name: 'di_ph', type: 'float' },
-			{ name: 'acid_to_ph_57', type: 'float' },
-			{ name: 'graintype', type: 'string' },
-			{ name: 'inventory', type: 'float' },
-			{ name: 'cost', type: 'float' },
-			{ name: 'production_date', type: 'string' },
-			{ name: 'tht_date', type: 'string' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-               	addrow: function (rowid, rowdata, position, commit) {
-                       	var data = "insert=true&" + $.param(rowdata);
-                       	$.ajax({
-                               	dataType: 'json',
-                               	url: url,
-                               	cache: false,
-                               	data: data,
-				type: "POST",
-                               	success: function (data, status, xhr) {
-                                       	commit(true);
-					location.reload( true );
-                               	},
-                               	error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_inventory_fermentables.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'type', type: 'string' },
+   { name: 'yield', type: 'float' },
+   { name: 'color', type: 'float' },
+   { name: 'add_after_boil', type: 'int' },
+   { name: 'origin', type: 'string' },
+   { name: 'supplier', type: 'string' },
+   { name: 'notes', type: 'string' },
+   { name: 'coarse_fine_diff', type: 'float' },
+   { name: 'moisture', type: 'float' },
+   { name: 'diastatic_power', type: 'float' },
+   { name: 'protein', type: 'float' },
+   { name: 'dissolved_protein', type: 'float' },
+   { name: 'max_in_batch', type: 'float' },
+   { name: 'recommend_mash', type: 'int' },
+   { name: 'added', type: 'string' },
+   { name: 'always_on_stock', type: 'int' },
+   { name: 'di_ph', type: 'float' },
+   { name: 'acid_to_ph_57', type: 'float' },
+   { name: 'graintype', type: 'string' },
+   { name: 'inventory', type: 'float' },
+   { name: 'cost', type: 'float' },
+   { name: 'production_date', type: 'string' },
+   { name: 'tht_date', type: 'string' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#type").jqxDropDownList({
-		theme: theme,
-		source: FermentableTypeAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#yield").jqxNumberInput( Spin1dec );
-	$("#color").jqxNumberInput( Spin1dec );
-	$("#add_after_boil").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#origin").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#supplier").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 640, height: 100 });
-	$("#coarse_fine_diff").jqxNumberInput( Spin1dec );
-	$("#moisture").jqxNumberInput( Spin1dec );
-	$("#diastatic_power").jqxNumberInput( PosInt );
-	$("#protein").jqxNumberInput( Spin1dec );
-	$("#dissolved_protein").jqxNumberInput( Spin1dec );
-	$("#max_in_batch").jqxNumberInput( Perc1dec );
-	$("#recommend_mash").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#added").jqxDropDownList({
-		theme: theme,
-		source: AddedAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#always_on_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#di_ph").jqxNumberInput( Spin2pH );
-	$("#acid_to_ph_57").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -1000, max: 1000, decimalDigits: 4, spinButtons: true });
-	$("#graintype").jqxDropDownList({
-		theme: theme,
-		source: GrainTypeAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#inventory").jqxNumberInput( Spin3dec );
-	$("#production_date").jqxDateTimeInput( Dateopts );
-	$("#cost").jqxNumberInput( Spin2dec );
-	$("#tht_date").jqxDateTimeInput( Dateopts );
-	$("#totval").jqxNumberInput( Show2dec );
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#type').jqxDropDownList({
+  theme: theme,
+  source: FermentableTypeAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#yield').jqxNumberInput(Spin1dec);
+ $('#color').jqxNumberInput(Spin1dec);
+ $('#add_after_boil').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#origin').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#supplier').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 640, height: 100 });
+ $('#coarse_fine_diff').jqxNumberInput(Spin1dec);
+ $('#moisture').jqxNumberInput(Spin1dec);
+ $('#diastatic_power').jqxNumberInput(PosInt);
+ $('#protein').jqxNumberInput(Spin1dec);
+ $('#dissolved_protein').jqxNumberInput(Spin1dec);
+ $('#max_in_batch').jqxNumberInput(Perc1dec);
+ $('#recommend_mash').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#added').jqxDropDownList({
+  theme: theme,
+  source: AddedAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#always_on_stock').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#di_ph').jqxNumberInput(Spin2pH);
+ $('#acid_to_ph_57').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -1000, max: 1000, decimalDigits: 4, spinButtons: true });
+ $('#graintype').jqxDropDownList({
+  theme: theme,
+  source: GrainTypeAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#inventory').jqxNumberInput(Spin3dec);
+ $('#production_date').jqxDateTimeInput(Dateopts);
+ $('#cost').jqxNumberInput(Spin2dec);
+ $('#tht_date').jqxDateTimeInput(Dateopts);
+ $('#totval').jqxNumberInput(Show2dec);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var container, addButton, impButton;
-			container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			impButton = $("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");
-			container.append(addButton);
-			container.append(impButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			impButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('Nieuw product');
-				$("#type").val('Mout');
-				$("#origin").val('');
-				$("#supplier").val('');
-				$("#notes").val('');
-				$("#yield").val(80);
-				$("#color").val(3);
-				$("#coarse_fine_diff").val(3);
-				$("#moisture").val(4);
-				$("#diastatic_power").val(0);
-				$("#protein").val(0);
-				$("#dissolved_protein").val(0);
-				$("#max_in_batch").val(100);
-				$("#recommend_mash").val(1);
-				$("#always_on_stock").val(0);
-				$("#di_ph").val(0);
-				$("#acid_to_ph_57").val(0);
-				$("#graintype").val('Basismout');
-				$("#add_after_boil").val(0);
-				$("#added").val('Maischen');
-				$("#inventory").val(0);
-				$("#cost").val(0);
-				$("#production_date").val('');
-				$("#tht_date").val('');
-				$("#popupWindow").jqxWindow('open');
-			});
-			impButton.click(function (event) {
-				window.location.href = 'import_ingredients.php?select=fermentables';
-			});
-		},
-		filterable: true,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Herkomst', datafield: 'origin', width: 150 },
-			{ text: 'Producent', datafield: 'supplier', width: 140 },
-			{ text: 'Vergistbaar product', datafield: 'name', menu: false },
-			{ text: 'Soort', width: 135, filtertype: 'list', datafield: 'type' },
-			{ text: 'Graan type', datafield: 'graintype', align: 'center', cellsalign: 'center', width: 125 },
-			{ text: 'EBC', datafield: 'color', width: 60, align: 'right', menu: false, cellsalign: 'right' },
-			{ text: 'Opbrengst', datafield: 'yield', width: 70, align: 'right', menu: false, cellsalign: 'right', cellsformat: 'p1' },
-			{ text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false,
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var amount = "";
-				if (value > 0) {
-					if (value < 1.000)
-						amount = dataAdapter.formatNumber(value * 1000,"f0")+" gr";
-					else
-						amount = dataAdapter.formatNumber(value,"f1")+" kg";
-				}
-				return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>";
-			  }
-			},
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', menu: false, columntype: 'button',
-				cellsrenderer: function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#type").val(dataRecord.type);
-					$("#yield").val(dataRecord.yield);
-					$("#color").val(dataRecord.color);
-					$("#add_after_boil").val(dataRecord.add_after_boil);
-					$("#origin").val(dataRecord.origin);
-					$("#supplier").val(dataRecord.supplier);
-					$("#notes").val(dataRecord.notes);
-					$("#coarse_fine_diff").val(dataRecord.coarse_fine_diff);
-					$("#moisture").val(dataRecord.moisture);
-					$("#diastatic_power").val(lintner_to_kolbach(dataRecord.diastatic_power));
-					$("#protein").val(dataRecord.protein);
-					$("#dissolved_protein").val(dataRecord.dissolved_protein);
-					$("#max_in_batch").val(dataRecord.max_in_batch);
-					$("#recommend_mash").val(dataRecord.recommend_mash);
-					$("#added").val(dataRecord.added);
-					$("#always_on_stock").val(dataRecord.always_on_stock);
-					$("#di_ph").val(dataRecord.di_ph);
-					$("#acid_to_ph_57").val(dataRecord.acid_to_ph_57);
-					$("#graintype").val(dataRecord.graintype);
-					$("#inventory").val(dataRecord.inventory);
-					$("#cost").val(dataRecord.cost);
-					$("#production_date").val(dataRecord.production_date);
-					$("#tht_date").val(dataRecord.tht_date);
-					calcTotal(dataRecord.cost, dataRecord.inventory);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container, addButton, impButton;
+   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   impButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Import</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(impButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   impButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('Nieuw product');
+    $('#type').val('Mout');
+    $('#origin').val('');
+    $('#supplier').val('');
+    $('#notes').val('');
+    $('#yield').val(80);
+    $('#color').val(3);
+    $('#coarse_fine_diff').val(3);
+    $('#moisture').val(4);
+    $('#diastatic_power').val(0);
+    $('#protein').val(0);
+    $('#dissolved_protein').val(0);
+    $('#max_in_batch').val(100);
+    $('#recommend_mash').val(1);
+    $('#always_on_stock').val(0);
+    $('#di_ph').val(0);
+    $('#acid_to_ph_57').val(0);
+    $('#graintype').val('Basismout');
+    $('#add_after_boil').val(0);
+    $('#added').val('Maischen');
+    $('#inventory').val(0);
+    $('#cost').val(0);
+    $('#production_date').val('');
+    $('#tht_date').val('');
+    $('#popupWindow').jqxWindow('open');
+   });
+   impButton.click(function(event) {
+    window.location.href = 'import_ingredients.php?select=fermentables';
+   });
+   expButton.click(function(event) {
+    window.open('export_fermentables.php');
+   });
+  },
+  filterable: true,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Herkomst', datafield: 'origin', width: 150 },
+   { text: 'Producent', datafield: 'supplier', width: 140 },
+   { text: 'Vergistbaar product', datafield: 'name', menu: false },
+   { text: 'Soort', width: 135, filtertype: 'list', datafield: 'type' },
+   { text: 'Graan type', datafield: 'graintype', align: 'center', cellsalign: 'center', width: 125 },
+   { text: 'EBC', datafield: 'color', width: 60, align: 'right', menu: false, cellsalign: 'right' },
+   { text: 'Opbrengst', datafield: 'yield', width: 70, align: 'right', menu: false, cellsalign: 'right', cellsformat: 'p1' },
+   { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false,
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var amount = '';
+     if (value > 0) {
+      if (value < 1.000)
+       amount = dataAdapter.formatNumber(value * 1000, 'f0') + ' gr';
+      else
+       amount = dataAdapter.formatNumber(value, 'f1') + ' kg';
+     }
+     return '<span style="margin: 3px; margin-top: 6px; float: right;">' + amount + '</span>';
+    }
+   },
+   { text: '', datafield: 'Edit', width: 100, align: 'center', menu: false, columntype: 'button',
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#type').val(dataRecord.type);
+     $('#yield').val(dataRecord.yield);
+     $('#color').val(dataRecord.color);
+     $('#add_after_boil').val(dataRecord.add_after_boil);
+     $('#origin').val(dataRecord.origin);
+     $('#supplier').val(dataRecord.supplier);
+     $('#notes').val(dataRecord.notes);
+     $('#coarse_fine_diff').val(dataRecord.coarse_fine_diff);
+     $('#moisture').val(dataRecord.moisture);
+     $('#diastatic_power').val(lintner_to_kolbach(dataRecord.diastatic_power));
+     $('#protein').val(dataRecord.protein);
+     $('#dissolved_protein').val(dataRecord.dissolved_protein);
+     $('#max_in_batch').val(dataRecord.max_in_batch);
+     $('#recommend_mash').val(dataRecord.recommend_mash);
+     $('#added').val(dataRecord.added);
+     $('#always_on_stock').val(dataRecord.always_on_stock);
+     $('#di_ph').val(dataRecord.di_ph);
+     $('#acid_to_ph_57').val(dataRecord.acid_to_ph_57);
+     $('#graintype').val(dataRecord.graintype);
+     $('#inventory').val(dataRecord.inventory);
+     $('#cost').val(dataRecord.cost);
+     $('#production_date').val(dataRecord.production_date);
+     $('#tht_date').val(dataRecord.tht_date);
+     calcTotal(dataRecord.cost, dataRecord.inventory);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
 
-	$("#cost").on('change', function (event) {
-		dataRecord.cost = parseFloat(event.args.value);
-		calcTotal(dataRecord.cost, dataRecord.inventory);
-	});
-	$("#inventory").on('change', function (event) {
-		dataRecord.inventory = parseFloat(event.args.value);
-		calcTotal(dataRecord.cost, dataRecord.inventory);
-	});
+ $('#cost').on('change', function(event) {
+  dataRecord.cost = parseFloat(event.args.value);
+  calcTotal(dataRecord.cost, dataRecord.inventory);
+ });
+ $('#inventory').on('change', function(event) {
+  dataRecord.inventory = parseFloat(event.args.value);
+  calcTotal(dataRecord.cost, dataRecord.inventory);
+ });
 
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function() {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
-        $('#Clone').jqxButton({ template: 'warning', width: '90px', theme: theme });
-        $('#Clone').click(function() {
-                var row = {
-                        record: -1,
-                        name: $('#name').val() + ' kopie',
-                        type: $('#type').val(),
-                        yield: parseFloat($('#yield').jqxNumberInput('decimal')),
-                        color: parseFloat($('#color').jqxNumberInput('decimal')),
-                        add_after_boil: $('#add_after_boil').val(),
-                        origin: $('#origin').val(),
-                        supplier: $('#supplier').val(),
-                        notes: $('#notes').val(),
-                        coarse_fine_diff: parseFloat($('#coarse_fine_diff').jqxNumberInput('decimal')),
-                        moisture: parseFloat($('#moisture').jqxNumberInput('decimal')),
-                        diastatic_power: kolbach_to_lintner(parseFloat($('#diastatic_power').jqxNumberInput('decimal'))),
-                        protein: parseFloat($('#protein').jqxNumberInput('decimal')),
-                        dissolved_protein: parseFloat($('#dissolved_protein').jqxNumberInput('decimal')),
-                        max_in_batch: parseFloat($('#max_in_batch').jqxNumberInput('decimal')),
-                        recommend_mash: $('#recommend_mash').val(),
-                        added: $('#added').val(),
-                        always_on_stock: $('#always_on_stock').val(),
-                        di_ph: parseFloat($('#di_ph').jqxNumberInput('decimal')),
-                        acid_to_ph_57: parseFloat($('#acid_to_ph_57').jqxNumberInput('decimal')),
-                        graintype: $('#graintype').val(),
-                        inventory: 0,
-                        cost: parseFloat($('#cost').jqxNumberInput('decimal')),
-                        production_date: '',
-                        tht_date: ''
-                };
-                $('#jqxgrid').jqxGrid('addrow', null, row);
-                $('#popupWindow').jqxWindow('hide');
-        });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function() {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			type: $("#type").val(),
-			yield: parseFloat($("#yield").jqxNumberInput('decimal')),
-			color: parseFloat($("#color").jqxNumberInput('decimal')),
-			add_after_boil: $("#add_after_boil").val(),
-			origin: $("#origin").val(),
-			supplier: $("#supplier").val(),
-			notes: $("#notes").val(),
-			coarse_fine_diff: parseFloat($("#coarse_fine_diff").jqxNumberInput('decimal')),
-			moisture: parseFloat($("#moisture").jqxNumberInput('decimal')),
-			diastatic_power: kolbach_to_lintner(parseFloat($("#diastatic_power").jqxNumberInput('decimal'))),
-			protein: parseFloat($("#protein").jqxNumberInput('decimal')),
-			dissolved_protein: parseFloat($("#dissolved_protein").jqxNumberInput('decimal')),
-			max_in_batch: parseFloat($("#max_in_batch").jqxNumberInput('decimal')),
-			recommend_mash: $("#recommend_mash").val(),
-			added: $("#added").val(),
-			always_on_stock: $("#always_on_stock").val(),
-			di_ph: parseFloat($("#di_ph").jqxNumberInput('decimal')),
-			acid_to_ph_57: parseFloat($("#acid_to_ph_57").jqxNumberInput('decimal')),
-			graintype: $("#graintype").val(),
-			inventory: parseFloat($("#inventory").jqxNumberInput('decimal')),
-			cost: parseFloat($("#cost").jqxNumberInput('decimal')),
-			production_date: $("#production_date").val(),
-			tht_date: $("#tht_date").val(),
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Clone').jqxButton({ template: 'warning', width: '90px', theme: theme });
+ $('#Clone').click(function() {
+  var row = {
+   record: -1,
+   name: $('#name').val() + ' kopie',
+   type: $('#type').val(),
+   yield: parseFloat($('#yield').jqxNumberInput('decimal')),
+   color: parseFloat($('#color').jqxNumberInput('decimal')),
+   add_after_boil: $('#add_after_boil').val(),
+   origin: $('#origin').val(),
+   supplier: $('#supplier').val(),
+   notes: $('#notes').val(),
+   coarse_fine_diff: parseFloat($('#coarse_fine_diff').jqxNumberInput('decimal')),
+   moisture: parseFloat($('#moisture').jqxNumberInput('decimal')),
+   diastatic_power: kolbach_to_lintner(parseFloat($('#diastatic_power').jqxNumberInput('decimal'))),
+   protein: parseFloat($('#protein').jqxNumberInput('decimal')),
+   dissolved_protein: parseFloat($('#dissolved_protein').jqxNumberInput('decimal')),
+   max_in_batch: parseFloat($('#max_in_batch').jqxNumberInput('decimal')),
+   recommend_mash: $('#recommend_mash').val(),
+   added: $('#added').val(),
+   always_on_stock: $('#always_on_stock').val(),
+   di_ph: parseFloat($('#di_ph').jqxNumberInput('decimal')),
+   acid_to_ph_57: parseFloat($('#acid_to_ph_57').jqxNumberInput('decimal')),
+   graintype: $('#graintype').val(),
+   inventory: 0,
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: '',
+   tht_date: ''
+  };
+  $('#jqxgrid').jqxGrid('addrow', null, row);
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   type: $('#type').val(),
+   yield: parseFloat($('#yield').jqxNumberInput('decimal')),
+   color: parseFloat($('#color').jqxNumberInput('decimal')),
+   add_after_boil: $('#add_after_boil').val(),
+   origin: $('#origin').val(),
+   supplier: $('#supplier').val(),
+   notes: $('#notes').val(),
+   coarse_fine_diff: parseFloat($('#coarse_fine_diff').jqxNumberInput('decimal')),
+   moisture: parseFloat($('#moisture').jqxNumberInput('decimal')),
+   diastatic_power: kolbach_to_lintner(parseFloat($('#diastatic_power').jqxNumberInput('decimal'))),
+   protein: parseFloat($('#protein').jqxNumberInput('decimal')),
+   dissolved_protein: parseFloat($('#dissolved_protein').jqxNumberInput('decimal')),
+   max_in_batch: parseFloat($('#max_in_batch').jqxNumberInput('decimal')),
+   recommend_mash: $('#recommend_mash').val(),
+   added: $('#added').val(),
+   always_on_stock: $('#always_on_stock').val(),
+   di_ph: parseFloat($('#di_ph').jqxNumberInput('decimal')),
+   acid_to_ph_57: parseFloat($('#acid_to_ph_57').jqxNumberInput('decimal')),
+   graintype: $('#graintype').val(),
+   inventory: parseFloat($('#inventory').jqxNumberInput('decimal')),
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: $('#production_date').val(),
+   tht_date: $('#tht_date').val(),
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/inv_hops-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function d(h,g){$("#totval").val(h*(g/1000))}var b={},a="includes/db_inventory_hops.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"alpha",type:"float"},{name:"beta",type:"float"},{name:"humulene",type:"float"},{name:"caryophyllene",type:"float"},{name:"cohumulone",type:"float"},{name:"myrcene",type:"float"},{name:"hsi",type:"float"},{name:"type",type:"string"},{name:"form",type:"string"},{name:"notes",type:"string"},{name:"origin",type:"string"},{name:"substitutes",type:"string"},{name:"always_on_stock",type:"int"},{name:"inventory",type:"float"},{name:"cost",type:"float"},{name:"production_date",type:"string"},{name:"tht_date",type:"string"},{name:"total_oil",type:"float"}],id:"record",url:a,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:a,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),c=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#alpha").jqxNumberInput(Perc1dec);$("#beta").jqxNumberInput(Perc1dec);$("#humulene").jqxNumberInput(Perc1dec);$("#caryophyllene").jqxNumberInput(Perc1dec);$("#cohumulone").jqxNumberInput(Perc1dec);$("#myrcene").jqxNumberInput(Perc1dec);$("#hsi").jqxNumberInput(Perc1dec);$("#type").jqxDropDownList({theme:theme,source:HopTypeAdapter,valueMember:"nl",displayMember:"nl",width:150,height:23,autoDropDownHeight:true});$("#form").jqxDropDownList({theme:theme,source:HopFormAdapter,valueMember:"nl",displayMember:"nl",width:150,height:23,autoDropDownHeight:true});$("#notes").jqxInput({theme:theme,width:640,height:100});$("#origin").jqxInput({theme:theme,width:320,height:23});$("#substitutes").jqxInput({theme:theme,width:320,height:23});$("#always_on_stock").jqxCheckBox({theme:theme,width:120,height:23});$("#inventory").jqxNumberInput(Spin1dec);$("#production_date").jqxDateTimeInput(Dateopts);$("#cost").jqxNumberInput(Spin2dec);$("#tht_date").jqxDateTimeInput(Dateopts);$("#total_oil").jqxNumberInput(Perc1dec);$("#totval").jqxNumberInput(Show2dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var g,h,j;g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");j=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");g.append(h);g.append(j);i.append(g);h.jqxButton({theme:theme,width:90,height:20});j.jqxButton({theme:theme,width:90,height:20});h.click(function(k){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuwe hop");$("#alpha").val(0);$("#beta").val(0);$("#humulene").val(0);$("#caryophyllene").val(0);$("#cohumulone").val(0);$("#myrcene").val(0);$("#hsi").val(0);$("#type").val("Bitterhop");$("#form").val("Pellets");$("#notes").val("");$("#origin").val("");$("#substitutes").val("");$("#always_on_stock").val(0);$("#inventory").val(0);$("#cost").val(0);$("#production_date").val("");$("#tht_date").val("");$("#total_oil").val(0);$("#popupWindow").jqxWindow("open")});j.click(function(k){window.location.href="import_ingredients.php?select=hops"})},filterable:true,filtermode:"excel",columns:[{text:"Herkomst",datafield:"origin",width:150},{text:"Hop Naam",datafield:"name",menu:false},{text:"Soort",datafield:"type",align:"left",width:90},{text:"Vorm",datafield:"form",align:"left",width:90},{text:"Alpha %",datafield:"alpha",width:80,align:"right",cellsalign:"right",menu:false,cellsformat:"p1"},{text:"Beta %",datafield:"beta",width:80,align:"right",cellsalign:"right",menu:false,cellsformat:"p1"},{text:"Cohumuloon %%",datafield:"cohumulone",width:80,align:"right",cellsalign:"right",menu:false,cellsformat:"p1"},{text:"HSI",datafield:"hsi",width:60,align:"right",cellsalign:"right",menu:false,cellsformat:"f1"},{text:"Oogst datum",datafield:"production_date",align:"center",cellsalign:"center",menu:false,width:110},{text:"Voorraad",datafield:"inventory",width:100,align:"right",cellsalign:"right",menu:false,cellsformat:"f1",cellsrenderer:function(h,g,l,k,j,m){var i="";if(l>0){if(l<1000){i=f.formatNumber(l,"f1")+" gr"}else{i=f.formatNumber(l/1000,"f1")+" kg"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+i+"</span>"}},{text:"",datafield:"Wijzig",columntype:"button",width:100,align:"center",menu:false,cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){c=g;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#alpha").val(b.alpha);$("#beta").val(b.beta);$("#humulene").val(b.humulene);$("#caryophyllene").val(b.caryophyllene);$("#cohumulone").val(b.cohumulone);$("#myrcene").val(b.myrcene);$("#hsi").val(b.hsi);$("#type").val(b.type);$("#form").val(b.form);$("#notes").val(b.notes);$("#origin").val(b.origin);$("#substitutes").val(b.substitutes);$("#always_on_stock").val(b.always_on_stock);$("#inventory").val(b.inventory);$("#cost").val(b.cost);$("#production_date").val(b.production_date);$("#tht_date").val(b.tht_date);$("#total_oil").val(b.total_oil);d(b.cost,b.inventory);$("#popupWindow").jqxWindow("open")}}]});$("#cost").on("change",function(g){b.cost=parseFloat(g.args.value);d(b.cost,b.inventory)});$("#inventory").on("change",function(g){b.inventory=parseFloat(g.args.value);d(b.cost,b.inventory)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Clone").jqxButton({template:"warning",width:"90px",theme:theme});$("#Clone").click(function(){var g={record:-1,name:$("#name").val()+" kopie",alpha:parseFloat($("#alpha").jqxNumberInput("decimal")),beta:parseFloat($("#beta").jqxNumberInput("decimal")),humulene:parseFloat($("#humulene").jqxNumberInput("decimal")),caryophyllene:parseFloat($("#caryophyllene").jqxNumberInput("decimal")),cohumulone:parseFloat($("#cohumulone").jqxNumberInput("decimal")),myrcene:parseFloat($("#myrcene").jqxNumberInput("decimal")),hsi:parseFloat($("#hsi").jqxNumberInput("decimal")),type:$("#type").val(),form:$("#form").val(),notes:$("#notes").val(),origin:$("#origin").val(),substitutes:$("#substitutes").val(),always_on_stock:$("#always_on_stock").val(),inventory:0,cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:"",tht_date:"",total_oil:parseFloat($("#total_oil").jqxNumberInput("decimal"))};$("#jqxgrid").jqxGrid("addrow",null,g);$("#popupWindow").jqxWindow("hide")});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var h,g=-1;if(c>=0){g=$("#jqxgrid").jqxGrid("getrowid",c)}h={record:g,name:$("#name").val(),alpha:parseFloat($("#alpha").jqxNumberInput("decimal")),beta:parseFloat($("#beta").jqxNumberInput("decimal")),humulene:parseFloat($("#humulene").jqxNumberInput("decimal")),caryophyllene:parseFloat($("#caryophyllene").jqxNumberInput("decimal")),cohumulone:parseFloat($("#cohumulone").jqxNumberInput("decimal")),myrcene:parseFloat($("#myrcene").jqxNumberInput("decimal")),hsi:parseFloat($("#hsi").jqxNumberInput("decimal")),type:$("#type").val(),form:$("#form").val(),notes:$("#notes").val(),origin:$("#origin").val(),substitutes:$("#substitutes").val(),always_on_stock:$("#always_on_stock").val(),inventory:parseFloat($("#inventory").jqxNumberInput("decimal")),cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:$("#production_date").val(),tht_date:$("#tht_date").val(),total_oil:parseFloat($("#total_oil").jqxNumberInput("decimal"))};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",g,h)}else{$("#jqxgrid").jqxGrid("addrow",null,h)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_hops.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_hops.js	Fri May 01 16:37:31 2020 +0200
@@ -22,363 +22,369 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	function calcTotal(cost, inventory) {
-
-		$('#totval').val(cost * (inventory / 1000));
-	}
+ function calcTotal(cost, inventory) {
+  $('#totval').val(cost * (inventory / 1000));
+ }
 
-	var dataRecord = {},
-	url = 'includes/db_inventory_hops.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'alpha', type: 'float' },
-			{ name: 'beta', type: 'float' },
-			{ name: 'humulene', type: 'float' },
-			{ name: 'caryophyllene', type: 'float' },
-			{ name: 'cohumulone', type: 'float' },
-			{ name: 'myrcene', type: 'float' },
-			{ name: 'hsi', type: 'float' },
-			{ name: 'type', type: 'string' },
-			{ name: 'form', type: 'string' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'origin', type: 'string' },
-			{ name: 'substitutes', type: 'string' },
-			{ name: 'always_on_stock', type: 'int' },
-			{ name: 'inventory', type: 'float' },
-			{ name: 'cost', type: 'float' },
-			{ name: 'production_date', type: 'string' },
-			{ name: 'tht_date', type: 'string' },
-			{ name: 'total_oil', type: 'float' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_inventory_hops.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'alpha', type: 'float' },
+   { name: 'beta', type: 'float' },
+   { name: 'humulene', type: 'float' },
+   { name: 'caryophyllene', type: 'float' },
+   { name: 'cohumulone', type: 'float' },
+   { name: 'myrcene', type: 'float' },
+   { name: 'hsi', type: 'float' },
+   { name: 'type', type: 'string' },
+   { name: 'form', type: 'string' },
+   { name: 'notes', type: 'string' },
+   { name: 'origin', type: 'string' },
+   { name: 'substitutes', type: 'string' },
+   { name: 'always_on_stock', type: 'int' },
+   { name: 'inventory', type: 'float' },
+   { name: 'cost', type: 'float' },
+   { name: 'production_date', type: 'string' },
+   { name: 'tht_date', type: 'string' },
+   { name: 'total_oil', type: 'float' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#alpha").jqxNumberInput( Perc1dec );
-	$("#beta").jqxNumberInput( Perc1dec );
-	$("#humulene").jqxNumberInput( Perc1dec );
-	$("#caryophyllene").jqxNumberInput( Perc1dec );
-	$("#cohumulone").jqxNumberInput( Perc1dec );
-	$("#myrcene").jqxNumberInput( Perc1dec );
-	$("#hsi").jqxNumberInput( Perc1dec );
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#alpha').jqxNumberInput(Perc1dec);
+ $('#beta').jqxNumberInput(Perc1dec);
+ $('#humulene').jqxNumberInput(Perc1dec);
+ $('#caryophyllene').jqxNumberInput(Perc1dec);
+ $('#cohumulone').jqxNumberInput(Perc1dec);
+ $('#myrcene').jqxNumberInput(Perc1dec);
+ $('#hsi').jqxNumberInput(Perc1dec);
 
-	$("#type").jqxDropDownList({
-		theme: theme,
-		source: HopTypeAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 150,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#form").jqxDropDownList({
-		theme: theme,
-		source: HopFormAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 150,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#notes").jqxInput({ theme: theme, width: 640, height: 100 });
-	$("#origin").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#substitutes").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#always_on_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#inventory").jqxNumberInput( Spin1dec );
-	$("#production_date").jqxDateTimeInput( Dateopts );
-	$("#cost").jqxNumberInput( Spin2dec );
-	$("#tht_date").jqxDateTimeInput( Dateopts );
-	$("#total_oil").jqxNumberInput( Perc1dec );
-	$("#totval").jqxNumberInput( Show2dec );
+ $('#type').jqxDropDownList({
+  theme: theme,
+  source: HopTypeAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 150,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#form').jqxDropDownList({
+  theme: theme,
+  source: HopFormAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 150,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#notes').jqxInput({ theme: theme, width: 640, height: 100 });
+ $('#origin').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#substitutes').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#always_on_stock').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#inventory').jqxNumberInput(Spin1dec);
+ $('#production_date').jqxDateTimeInput(Dateopts);
+ $('#cost').jqxNumberInput(Spin2dec);
+ $('#tht_date').jqxDateTimeInput(Dateopts);
+ $('#total_oil').jqxNumberInput(Perc1dec);
+ $('#totval').jqxNumberInput(Show2dec);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var container, addButton, impButton;
-			container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			impButton = $("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");
-			container.append(addButton);
-			container.append(impButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			impButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('Nieuwe hop');
-				$("#alpha").val(0);
-				$("#beta").val(0);
-				$("#humulene").val(0);
-				$("#caryophyllene").val(0);
-				$("#cohumulone").val(0);
-				$("#myrcene").val(0);
-				$("#hsi").val(0);
-				$("#type").val('Bitterhop');
-				$("#form").val('Pellets');
-				$("#notes").val('');
-				$("#origin").val('');
-				$("#substitutes").val('');
-				$("#always_on_stock").val(0);
-				$("#inventory").val(0);
-				$("#cost").val(0);
-				$("#production_date").val('');
-				$("#tht_date").val('');
-				$("#total_oil").val(0);
-				$("#popupWindow").jqxWindow('open');
-			});
-			impButton.click(function (event) {
-				window.location.href = 'import_ingredients.php?select=hops';
-			});
-		},
-		filterable: true,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Herkomst', datafield: 'origin', width: 150 },
-			{ text: 'Hop Naam', datafield: 'name', menu: false },
-			{ text: 'Soort', datafield: 'type', align: 'left', width: 90 },
-			{ text: 'Vorm', datafield: 'form', align: 'left', width: 90 },
-			{ text: 'Alpha %', datafield: 'alpha', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
-			{ text: 'Beta %', datafield: 'beta', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
-			{ text: 'Cohumuloon %%', datafield: 'cohumulone', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
-			{ text: 'HSI', datafield: 'hsi', width: 60, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'f1' },
-			{ text: 'Oogst datum', datafield: 'production_date', align: 'center', cellsalign: 'center', menu: false, width: 110 },
-			{ text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'f1',
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var amount = "";
-				if (value > 0) {
-					if (value < 1000)
-						amount = dataAdapter.formatNumber(value,"f1")+" gr";
-					else
-						amount = dataAdapter.formatNumber(value / 1000.0,"f1")+" kg";
-				}
-				return  '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>';
-			  }
-		       	},
-			{ text: '', datafield: 'Wijzig', columntype: 'button', width: 100, align: 'center', menu: false,
-				cellsrenderer: function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#alpha").val(dataRecord.alpha);
-					$("#beta").val(dataRecord.beta);
-					$("#humulene").val(dataRecord.humulene);
-					$("#caryophyllene").val(dataRecord.caryophyllene);
-					$("#cohumulone").val(dataRecord.cohumulone);
-					$("#myrcene").val(dataRecord.myrcene);
-					$("#hsi").val(dataRecord.hsi);
-					$("#type").val(dataRecord.type);
-					$("#form").val(dataRecord.form);
-					$("#notes").val(dataRecord.notes);
-					$("#origin").val(dataRecord.origin);
-					$("#substitutes").val(dataRecord.substitutes);
-					$("#always_on_stock").val(dataRecord.always_on_stock);
-					$("#inventory").val(dataRecord.inventory);
-					$("#cost").val(dataRecord.cost);
-					$("#production_date").val(dataRecord.production_date);
-					$("#tht_date").val(dataRecord.tht_date);
-					$("#total_oil").val(dataRecord.total_oil);
-					calcTotal(dataRecord.cost, dataRecord.inventory);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container, addButton, impButton;
+   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   impButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Import</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(impButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   impButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('Nieuwe hop');
+    $('#alpha').val(0);
+    $('#beta').val(0);
+    $('#humulene').val(0);
+    $('#caryophyllene').val(0);
+    $('#cohumulone').val(0);
+    $('#myrcene').val(0);
+    $('#hsi').val(0);
+    $('#type').val('Bitterhop');
+    $('#form').val('Pellets');
+    $('#notes').val('');
+    $('#origin').val('');
+    $('#substitutes').val('');
+    $('#always_on_stock').val(0);
+    $('#inventory').val(0);
+    $('#cost').val(0);
+    $('#production_date').val('');
+    $('#tht_date').val('');
+    $('#total_oil').val(0);
+    $('#popupWindow').jqxWindow('open');
+   });
+   impButton.click(function(event) {
+    window.location.href = 'import_ingredients.php?select=hops';
+   });
+   expButton.click(function(event) {
+    window.open('export_hops.php');
+   });
+  },
+  filterable: true,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Herkomst', datafield: 'origin', width: 150 },
+   { text: 'Hop Naam', datafield: 'name', menu: false },
+   { text: 'Soort', datafield: 'type', align: 'left', width: 90 },
+   { text: 'Vorm', datafield: 'form', align: 'left', width: 90 },
+   { text: 'Alpha %', datafield: 'alpha', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
+   { text: 'Beta %', datafield: 'beta', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
+   { text: 'Cohumuloon %%', datafield: 'cohumulone', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
+   { text: 'HSI', datafield: 'hsi', width: 60, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'f1' },
+   { text: 'Oogst datum', datafield: 'production_date', align: 'center', cellsalign: 'center', menu: false, width: 110 },
+   { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'f1',
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var amount = '';
+     if (value > 0) {
+      if (value < 1000)
+       amount = dataAdapter.formatNumber(value, 'f1') + ' gr';
+      else
+       amount = dataAdapter.formatNumber(value / 1000.0, 'f1') + ' kg';
+     }
+     return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>';
+    }
+   },
+   { text: '', datafield: 'Wijzig', columntype: 'button', width: 100, align: 'center', menu: false,
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#alpha').val(dataRecord.alpha);
+     $('#beta').val(dataRecord.beta);
+     $('#humulene').val(dataRecord.humulene);
+     $('#caryophyllene').val(dataRecord.caryophyllene);
+     $('#cohumulone').val(dataRecord.cohumulone);
+     $('#myrcene').val(dataRecord.myrcene);
+     $('#hsi').val(dataRecord.hsi);
+     $('#type').val(dataRecord.type);
+     $('#form').val(dataRecord.form);
+     $('#notes').val(dataRecord.notes);
+     $('#origin').val(dataRecord.origin);
+     $('#substitutes').val(dataRecord.substitutes);
+     $('#always_on_stock').val(dataRecord.always_on_stock);
+     $('#inventory').val(dataRecord.inventory);
+     $('#cost').val(dataRecord.cost);
+     $('#production_date').val(dataRecord.production_date);
+     $('#tht_date').val(dataRecord.tht_date);
+     $('#total_oil').val(dataRecord.total_oil);
+     calcTotal(dataRecord.cost, dataRecord.inventory);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
 
-	$("#cost").on('change', function (event) {
-		dataRecord.cost = parseFloat(event.args.value);
-		calcTotal(dataRecord.cost, dataRecord.inventory);
-	});
-	$("#inventory").on('change', function (event) {
-		dataRecord.inventory = parseFloat(event.args.value);
-		calcTotal(dataRecord.cost, dataRecord.inventory);
-	});
+ $('#cost').on('change', function(event) {
+  dataRecord.cost = parseFloat(event.args.value);
+  calcTotal(dataRecord.cost, dataRecord.inventory);
+ });
+ $('#inventory').on('change', function(event) {
+  dataRecord.inventory = parseFloat(event.args.value);
+  calcTotal(dataRecord.cost, dataRecord.inventory);
+ });
 
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Clone").jqxButton({ template: "warning", width: '90px', theme: theme });
-	$("#Clone").click(function () {
-		var row = {
-			record: -1,
-			name: $("#name").val()+" kopie",
-			alpha: parseFloat($("#alpha").jqxNumberInput('decimal')),
-			beta: parseFloat($("#beta").jqxNumberInput('decimal')),
-			humulene: parseFloat($("#humulene").jqxNumberInput('decimal')),
-			caryophyllene: parseFloat($("#caryophyllene").jqxNumberInput('decimal')),
-			cohumulone: parseFloat($("#cohumulone").jqxNumberInput('decimal')),
-			myrcene: parseFloat($("#myrcene").jqxNumberInput('decimal')),
-			hsi: parseFloat($("#hsi").jqxNumberInput('decimal')),
-			type: $("#type").val(),
-			form: $("#form").val(),
-			notes: $("#notes").val(),
-			origin: $("#origin").val(),
-			substitutes: $("#substitutes").val(),
-			always_on_stock: $("#always_on_stock").val(),
-			inventory: 0,
-			cost: parseFloat($("#cost").jqxNumberInput('decimal')),
-			production_date: '',
-			tht_date: '',
-			total_oil: parseFloat($("#total_oil").jqxNumberInput('decimal'))
-		};
-		$('#jqxgrid').jqxGrid('addrow', null, row);
-	        $("#popupWindow").jqxWindow('hide');
-	});
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			alpha: parseFloat($("#alpha").jqxNumberInput('decimal')),
-			beta: parseFloat($("#beta").jqxNumberInput('decimal')),
-			humulene: parseFloat($("#humulene").jqxNumberInput('decimal')),
-			caryophyllene: parseFloat($("#caryophyllene").jqxNumberInput('decimal')),
-			cohumulone: parseFloat($("#cohumulone").jqxNumberInput('decimal')),
-			myrcene: parseFloat($("#myrcene").jqxNumberInput('decimal')),
-			hsi: parseFloat($("#hsi").jqxNumberInput('decimal')),
-			type: $("#type").val(),
-			form: $("#form").val(),
-			notes: $("#notes").val(),
-			origin: $("#origin").val(),
-			substitutes: $("#substitutes").val(),
-			always_on_stock: $("#always_on_stock").val(),
-			inventory: parseFloat($("#inventory").jqxNumberInput('decimal')),
-	                cost: parseFloat($("#cost").jqxNumberInput('decimal')),
-	                production_date: $("#production_date").val(),
-	                tht_date: $("#tht_date").val(),
-			total_oil: parseFloat($("#total_oil").jqxNumberInput('decimal'))
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Clone').jqxButton({ template: 'warning', width: '90px', theme: theme });
+ $('#Clone').click(function() {
+  var row = {
+   record: -1,
+   name: $('#name').val() + ' kopie',
+   alpha: parseFloat($('#alpha').jqxNumberInput('decimal')),
+   beta: parseFloat($('#beta').jqxNumberInput('decimal')),
+   humulene: parseFloat($('#humulene').jqxNumberInput('decimal')),
+   caryophyllene: parseFloat($('#caryophyllene').jqxNumberInput('decimal')),
+   cohumulone: parseFloat($('#cohumulone').jqxNumberInput('decimal')),
+   myrcene: parseFloat($('#myrcene').jqxNumberInput('decimal')),
+   hsi: parseFloat($('#hsi').jqxNumberInput('decimal')),
+   type: $('#type').val(),
+   form: $('#form').val(),
+   notes: $('#notes').val(),
+   origin: $('#origin').val(),
+   substitutes: $('#substitutes').val(),
+   always_on_stock: $('#always_on_stock').val(),
+   inventory: 0,
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: '',
+   tht_date: '',
+   total_oil: parseFloat($('#total_oil').jqxNumberInput('decimal'))
+  };
+  $('#jqxgrid').jqxGrid('addrow', null, row);
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   alpha: parseFloat($('#alpha').jqxNumberInput('decimal')),
+   beta: parseFloat($('#beta').jqxNumberInput('decimal')),
+   humulene: parseFloat($('#humulene').jqxNumberInput('decimal')),
+   caryophyllene: parseFloat($('#caryophyllene').jqxNumberInput('decimal')),
+   cohumulone: parseFloat($('#cohumulone').jqxNumberInput('decimal')),
+   myrcene: parseFloat($('#myrcene').jqxNumberInput('decimal')),
+   hsi: parseFloat($('#hsi').jqxNumberInput('decimal')),
+   type: $('#type').val(),
+   form: $('#form').val(),
+   notes: $('#notes').val(),
+   origin: $('#origin').val(),
+   substitutes: $('#substitutes').val(),
+   always_on_stock: $('#always_on_stock').val(),
+   inventory: parseFloat($('#inventory').jqxNumberInput('decimal')),
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: $('#production_date').val(),
+   tht_date: $('#tht_date').val(),
+   total_oil: parseFloat($('#total_oil').jqxNumberInput('decimal'))
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/inv_miscs-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function e(i,h){$("#totval").val(i*(h/1000))}function a(h){if(h){$("#pmpt_cost").html("Prijs per kg:");$("#pmpt_inventory").html("Voorraad gram:")}else{$("#pmpt_cost").html("Prijs per liter:");$("#pmpt_inventory").html("Voorraad ml:")}}var c={},b="includes/db_inventory_miscs.php",f={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"type",type:"string"},{name:"use_use",type:"string"},{name:"time",type:"int"},{name:"amount",type:"float"},{name:"amount_is_weight",type:"int"},{name:"use_for",type:"string"},{name:"notes",type:"string"},{name:"always_on_stock",type:"int"},{name:"inventory",type:"float"},{name:"cost",type:"float"},{name:"production_date",type:"string"},{name:"tht_date",type:"string"}],id:"record",url:b,deleterow:function(h,j){var i="delete=true&"+$.param({record:h});$.ajax({dataType:"json",url:b,cache:false,data:i,type:"POST",success:function(l,k,m){j(true);location.reload(true)},error:function(k,m,l){j(false)}})},addrow:function(i,l,h,k){var j="insert=true&"+$.param(l);$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(n,m,o){k(true);location.reload(true)},error:function(m,o,n){k(false)}})},updaterow:function(h,k,j){var i="update=true&"+$.param(k);$.ajax({dataType:"json",url:b,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})}},g=new $.jqx.dataAdapter(f),d=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#type").jqxDropDownList({theme:theme,source:MiscTypeAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#use_use").jqxDropDownList({theme:theme,source:MiscUseAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#time").jqxNumberInput(PosInt);$("#amount_is_weight").jqxCheckBox({theme:theme,width:120,height:23});$("#use_for").jqxInput({theme:theme,width:640,height:48});$("#always_on_stock").jqxCheckBox({theme:theme,width:120,height:23});$("#inventory").jqxNumberInput(Spin1dec);$("#production_date").jqxDateTimeInput(Dateopts);$("#cost").jqxNumberInput(Spin2dec);$("#tht_date").jqxDateTimeInput(Dateopts);$("#totval").jqxNumberInput(Show2dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:g,theme:theme,showstatusbar:true,renderstatusbar:function(j){var h,i,k;h=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");i=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");k=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");h.append(i);h.append(k);j.append(h);i.jqxButton({theme:theme,width:90,height:20});k.jqxButton({theme:theme,width:90,height:20});i.click(function(l){d=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("");$("#type").val("Specerij");$("#use_use").val("Starter");$("#time").val(0);$("#amount_is_weight").val(1);$("#use_for").val("");$("#notes").val("");$("#always_on_stock").val(0);$("#inventory").val(0);$("#cost").val(0);$("#production_date").val("");$("#tht_date").val("");$("#popupWindow").jqxWindow("open")});k.click(function(l){window.location.href="import_ingredients.php?select=miscs"})},filterable:true,filtermode:"excel",columns:[{text:"Ingredient naam",datafield:"name",menu:false},{text:"Type",datafield:"type",align:"left",width:120},{text:"Gebruik",datafield:"use_use",align:"left",width:120},{text:"Tijd",datafield:"time",width:90,align:"left",menu:false,cellsrenderer:function(i,h,l,k,j,n){var m="";if(l>0){if(l==1){m="1 minuut"}else{if(l<60){m=g.formatNumber(l,"f0")+" minuten"}else{if(l==60){m="1 uur"}else{if(l<1440){m=g.formatNumber(l/60,"f0")+" uren"}else{if(l==1440){m="1 dag"}else{m=g.formatNumber(l/1440,"f0")+" dagen"}}}}}}return"<span style='margin: 3px; margin-top: 6px; float: left;'>"+m+"</span>"}},{text:"Voorraad",datafield:"inventory",width:110,menu:false,align:"right",cellsrenderer:function(i,h,m,l,k,n){var j="";if(m>0){if(n.amount_is_weight){j=g.formatNumber(m,"f1")+" gr"}else{j=g.formatNumber(m,"f1")+" ml"}}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+j+"</span>"}},{text:"THT datum",datafield:"tht_date",width:100,menu:false,align:"center",cellsalign:"center"},{text:"",datafield:"Edit",columntype:"button",width:100,menu:false,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(h){d=h;$("#popupWindow").jqxWindow({position:{x:110,y:30}});c=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(c.name);$("#type").val(c.type);$("#use_use").val(c.use_use);$("#time").val(c.time);$("#amount_is_weight").val(c.amount_is_weight);$("#use_for").val(c.use_for);$("#notes").val(c.notes);$("#always_on_stock").val(c.always_on_stock);$("#inventory").val(c.inventory);$("#cost").val(c.cost);$("#production_date").val(c.production_date);$("#tht_date").val(c.tht_date);e(c.cost,c.inventory);a(c.amount_is_weight);$("#popupWindow").jqxWindow("open")}}]});$("#cost").on("change",function(h){c.cost=parseFloat(h.args.value);e(c.cost,c.inventory)});$("#inventory").on("change",function(h){c.inventory=parseFloat(h.args.value);e(c.cost,c.inventory)});$("#amount_is_weight").on("checked",function(h){c.amount_is_weight=true;a(true)});$("#amount_is_weight").on("unchecked",function(h){c.amount_is_weight=false;a(false)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var h=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",h)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i,h=-1;if(d>=0){h=$("#jqxgrid").jqxGrid("getrowid",d)}i={record:h,name:$("#name").val(),type:$("#type").val(),use_use:$("#use_use").val(),time:parseFloat($("#time").jqxNumberInput("decimal")),amount_is_weight:$("#amount_is_weight").val(),use_for:$("#use_for").val(),notes:$("#notes").val(),always_on_stock:$("#always_on_stock").val(),inventory:parseFloat($("#inventory").jqxNumberInput("decimal")),cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:$("#production_date").val(),tht_date:$("#tht_date").val()};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",h,i)}else{$("#jqxgrid").jqxGrid("addrow",null,i)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_miscs.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_miscs.js	Fri May 01 16:37:31 2020 +0200
@@ -20,336 +20,345 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	function calcTotal(cost, inventory) {
+ function calcTotal(cost, inventory) {
 
-		$('#totval').val(cost * (inventory / 1000));
-	}
+  $('#totval').val(cost * (inventory / 1000));
+ }
 
-	function prompts(isweight) {
+ function prompts(isweight) {
 
-		if (isweight) {
-			$("#pmpt_cost").html('Prijs per kg:');
-			$("#pmpt_inventory").html('Voorraad gram:');
-		} else {
-			$("#pmpt_cost").html('Prijs per liter:');
-			$("#pmpt_inventory").html('Voorraad ml:');
-		}
-	}
+  if (isweight) {
+   $('#pmpt_cost').html('Prijs per kg:');
+   $('#pmpt_inventory').html('Voorraad gram:');
+  } else {
+   $('#pmpt_cost').html('Prijs per liter:');
+   $('#pmpt_inventory').html('Voorraad ml:');
+  }
+ }
 
-	var dataRecord = {},
-	url = 'includes/db_inventory_miscs.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'type', type: 'string' },
-			{ name: 'use_use', type: 'string' },
-			{ name: 'time', type: 'int' },
-			{ name: 'amount', type: 'float' },
-			{ name: 'amount_is_weight', type: 'int' },
-			{ name: 'use_for', type: 'string' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'always_on_stock', type: 'int' },
-			{ name: 'inventory', type: 'float' },
-			{ name: 'cost', type: 'float' },
-			{ name: 'production_date', type: 'string' },
-			{ name: 'tht_date', type: 'string' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_inventory_miscs.php',
+ // prepare the data
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'type', type: 'string' },
+   { name: 'use_use', type: 'string' },
+   { name: 'time', type: 'int' },
+   { name: 'amount', type: 'float' },
+   { name: 'amount_is_weight', type: 'int' },
+   { name: 'use_for', type: 'string' },
+   { name: 'notes', type: 'string' },
+   { name: 'always_on_stock', type: 'int' },
+   { name: 'inventory', type: 'float' },
+   { name: 'cost', type: 'float' },
+   { name: 'production_date', type: 'string' },
+   { name: 'tht_date', type: 'string' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
 
-	$("#type").jqxDropDownList({theme: theme,
-		source: MiscTypeAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#use_use").jqxDropDownList({
-		theme: theme,
-		source: MiscUseAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#time").jqxNumberInput( PosInt );
-	$("#amount_is_weight").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#use_for").jqxInput({ theme: theme, width: 640, height: 48 });
-	$("#always_on_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#inventory").jqxNumberInput( Spin1dec );
-	$("#production_date").jqxDateTimeInput( Dateopts );
-	$("#cost").jqxNumberInput( Spin2dec );
-	$("#tht_date").jqxDateTimeInput( Dateopts );
-	$("#totval").jqxNumberInput( Show2dec );
+ $('#type').jqxDropDownList({theme: theme,
+  source: MiscTypeAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#use_use').jqxDropDownList({
+  theme: theme,
+  source: MiscUseAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#time').jqxNumberInput(PosInt);
+ $('#amount_is_weight').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#use_for').jqxInput({ theme: theme, width: 640, height: 48 });
+ $('#always_on_stock').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#inventory').jqxNumberInput(Spin1dec);
+ $('#production_date').jqxDateTimeInput(Dateopts);
+ $('#cost').jqxNumberInput(Spin2dec);
+ $('#tht_date').jqxDateTimeInput(Dateopts);
+ $('#totval').jqxNumberInput(Show2dec);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var container, addButton, impButton;
-			container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			impButton = $("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");
-			container.append(addButton);
-			container.append(impButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			impButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('');
-				$("#type").val('Specerij');
-				$("#use_use").val('Starter');
-				$("#time").val(0);
-				$("#amount_is_weight").val(1);
-				$("#use_for").val('');
-				$("#notes").val('');
-				$("#always_on_stock").val(0);
-				$("#inventory").val(0);
-				$("#cost").val(0);
-				$("#production_date").val('');
-				$("#tht_date").val('');
-				$("#popupWindow").jqxWindow('open');
-			});
-			impButton.click(function (event) {
-				window.location.href = 'import_ingredients.php?select=miscs';
-			});
-		},
-		filterable: true,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Ingredient naam', datafield: 'name', menu: false },
-			{ text: 'Type', datafield: 'type', align: 'left', width: 120 },
-			{ text: 'Gebruik', datafield: 'use_use', align: 'left', width: 120 },
-			{ text: 'Tijd', datafield: 'time', width: 90, align: 'left', menu: false,
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var duration = "";
-				if (value > 0) {
-					if (value == 1)
-						duration = "1 minuut";
-					else if (value < 60)
-						duration = dataAdapter.formatNumber(value, "f0")+" minuten";
-					else if (value == 60)
-						duration = "1 uur";
-					else if (value < 1440)
-						duration = dataAdapter.formatNumber(value / 60, "f0")+" uren";
-					else if (value == 1440)
-						duration = "1 dag";
-					else
-						duration = dataAdapter.formatNumber(value / 1440, "f0")+" dagen";
-				}
-				return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + duration + "</span>";
-			  }
-		       	},
-			{ text: 'Voorraad', datafield: 'inventory', width: 110, menu: false, align: 'right',
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var amount = "";
-				if (value > 0) {
-					if (rowdata.amount_is_weight)
-						amount = dataAdapter.formatNumber(value,"f1")+" gr";
-					else
-						amount = dataAdapter.formatNumber(value,"f1")+" ml";
-				}
-				return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>";
-			  }
-		       	},
-			{ text: 'THT datum', datafield: 'tht_date', width: 100, menu: false, align: 'center', cellsalign: 'center' },
-			{ text: '', datafield: 'Edit', columntype: 'button', width: 100, menu: false, align: 'center',
-				cellsrenderer: function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#type").val(dataRecord.type);
-					$("#use_use").val(dataRecord.use_use);
-					$("#time").val(dataRecord.time);
-					$("#amount_is_weight").val(dataRecord.amount_is_weight);
-					$("#use_for").val(dataRecord.use_for);
-					$("#notes").val(dataRecord.notes);
-					$("#always_on_stock").val(dataRecord.always_on_stock);
-					$("#inventory").val(dataRecord.inventory);
-					$("#cost").val(dataRecord.cost);
-					$("#production_date").val(dataRecord.production_date);
-					$("#tht_date").val(dataRecord.tht_date);
-					calcTotal(dataRecord.cost, dataRecord.inventory);
-					prompts(dataRecord.amount_is_weight);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container, addButton, impButton;
+   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   impButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Import</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(impButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   impButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('');
+    $('#type').val('Specerij');
+    $('#use_use').val('Starter');
+    $('#time').val(0);
+    $('#amount_is_weight').val(1);
+    $('#use_for').val('');
+    $('#notes').val('');
+    $('#always_on_stock').val(0);
+    $('#inventory').val(0);
+    $('#cost').val(0);
+    $('#production_date').val('');
+    $('#tht_date').val('');
+    $('#popupWindow').jqxWindow('open');
+   });
+   impButton.click(function(event) {
+    window.location.href = 'import_ingredients.php?select=miscs';
+   });
+   expButton.click(function(event) {
+    window.open('export_miscs.php');
+   });
+  },
+  filterable: true,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Ingredient naam', datafield: 'name', menu: false },
+   { text: 'Type', datafield: 'type', align: 'left', width: 120 },
+   { text: 'Gebruik', datafield: 'use_use', align: 'left', width: 120 },
+   { text: 'Tijd', datafield: 'time', width: 90, align: 'left', menu: false,
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var duration = '';
+     if (value > 0) {
+      if (value == 1)
+       duration = '1 minuut';
+      else if (value < 60)
+       duration = dataAdapter.formatNumber(value, 'f0') + ' minuten';
+      else if (value == 60)
+       duration = '1 uur';
+      else if (value < 1440)
+       duration = dataAdapter.formatNumber(value / 60, 'f0') + ' uren';
+      else if (value == 1440)
+       duration = '1 dag';
+      else
+       duration = dataAdapter.formatNumber(value / 1440, 'f0') + ' dagen';
+     }
+     return '<span style="margin: 3px; margin-top: 6px; float: left;">' + duration + '</span>';
+    }
+   },
+   { text: 'Voorraad', datafield: 'inventory', width: 110, menu: false, align: 'right',
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var amount = '';
+     if (value > 0) {
+      if (rowdata.amount_is_weight)
+       amount = dataAdapter.formatNumber(value, 'f1') + ' gr';
+      else
+       amount = dataAdapter.formatNumber(value, 'f1') + ' ml';
+     }
+     return '<span style="margin: 3px; margin-top: 6px; float: right;">' + amount + '</span>';
+    }
+   },
+   { text: 'THT datum', datafield: 'tht_date', width: 100, menu: false, align: 'center', cellsalign: 'center' },
+   { text: '', datafield: 'Edit', columntype: 'button', width: 100, menu: false, align: 'center',
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#type').val(dataRecord.type);
+     $('#use_use').val(dataRecord.use_use);
+     $('#time').val(dataRecord.time);
+     $('#amount_is_weight').val(dataRecord.amount_is_weight);
+     $('#use_for').val(dataRecord.use_for);
+     $('#notes').val(dataRecord.notes);
+     $('#always_on_stock').val(dataRecord.always_on_stock);
+     $('#inventory').val(dataRecord.inventory);
+     $('#cost').val(dataRecord.cost);
+     $('#production_date').val(dataRecord.production_date);
+     $('#tht_date').val(dataRecord.tht_date);
+     calcTotal(dataRecord.cost, dataRecord.inventory);
+     prompts(dataRecord.amount_is_weight);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
 
-	$("#cost").on('change', function (event) {
-		dataRecord.cost = parseFloat(event.args.value);
-		calcTotal(dataRecord.cost, dataRecord.inventory);
-	});
-	$("#inventory").on('change', function (event) {
-		dataRecord.inventory = parseFloat(event.args.value);
-		calcTotal(dataRecord.cost, dataRecord.inventory);
-	});
-	$("#amount_is_weight").on('checked', function (event) {
-		dataRecord.amount_is_weight = true;
-		prompts(true);
-	});
-	$("#amount_is_weight").on('unchecked', function (event) {
-		dataRecord.amount_is_weight = false;
-		prompts(false);
-	});
+ $('#cost').on('change', function(event) {
+  dataRecord.cost = parseFloat(event.args.value);
+  calcTotal(dataRecord.cost, dataRecord.inventory);
+ });
+ $('#inventory').on('change', function(event) {
+  dataRecord.inventory = parseFloat(event.args.value);
+  calcTotal(dataRecord.cost, dataRecord.inventory);
+ });
+ $('#amount_is_weight').on('checked', function(event) {
+  dataRecord.amount_is_weight = true;
+  prompts(true);
+ });
+ $('#amount_is_weight').on('unchecked', function(event) {
+  dataRecord.amount_is_weight = false;
+  prompts(false);
+ });
 
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			type: $("#type").val(),
-			use_use: $("#use_use").val(),
-			time: parseFloat($("#time").jqxNumberInput('decimal')),
-			amount_is_weight: $("#amount_is_weight").val(),
-			use_for: $("#use_for").val(),
-			notes: $("#notes").val(),
-			always_on_stock: $("#always_on_stock").val(),
-			inventory: parseFloat($("#inventory").jqxNumberInput('decimal')),
-			cost: parseFloat($("#cost").jqxNumberInput('decimal')),
-	                production_date: $("#production_date").val(),
-	                tht_date: $("#tht_date").val()
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   type: $('#type').val(),
+   use_use: $('#use_use').val(),
+   time: parseFloat($('#time').jqxNumberInput('decimal')),
+   amount_is_weight: $('#amount_is_weight').val(),
+   use_for: $('#use_for').val(),
+   notes: $('#notes').val(),
+   always_on_stock: $('#always_on_stock').val(),
+   inventory: parseFloat($('#inventory').jqxNumberInput('decimal')),
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: $('#production_date').val(),
+   tht_date: $('#tht_date').val()
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/inv_suppliers-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De naam van de leverancier."});$("#address").jqxTooltip({content:"Het adres en huisnummer."});$("#city").jqxTooltip({content:"De woonplaats of gemeente."});$("#zip").jqxTooltip({content:"De postcode."});$("#country").jqxTooltip({content:"Het land."});$("#website").jqxTooltip({content:"Het website adres."});$("#email").jqxTooltip({content:"Het email adres."});$("#phone").jqxTooltip({content:"Het telefoon nummer."});$("#notes").jqxTooltip({content:"Opmerkingen over deze leverancier."});var a="includes/db_inventory_suppliers.php",c={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"address",type:"string"},{name:"city",type:"string"},{name:"zip",type:"string"},{name:"country",type:"string"},{name:"website",type:"string"},{name:"email",type:"string"},{name:"phone",type:"string"},{name:"notes",type:"string"}],id:"record",url:a,deleterow:function(e,g){var f="delete=true&"+$.param({record:e});$.ajax({dataType:"json",url:a,cache:false,data:f,type:"POST",success:function(i,h,j){g(true);location.reload(true)},error:function(h,j,i){g(false)}})},addrow:function(f,i,e,h){var g="insert=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})},updaterow:function(e,h,g){var f="update=true&"+$.param(h);$.ajax({dataType:"json",url:a,cache:false,data:f,type:"POST",success:function(j,i,k){g(true);location.reload(true)},error:function(i,k,j){g(false)}})}},d=new $.jqx.dataAdapter(c),b=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#address").jqxInput({theme:theme,width:350,height:23});$("#zip").jqxInput({theme:theme,width:120,height:23});$("#city").jqxInput({theme:theme,width:350,height:23});$("#country").jqxInput({theme:theme,width:250,height:23});$("#website").jqxInput({theme:theme,width:640,height:23});$("#email").jqxInput({theme:theme,width:640,height:23});$("#phone").jqxInput({theme:theme,width:175,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#jqxgrid").jqxGrid({width:1280,height:630,source:d,theme:theme,showstatusbar:true,renderstatusbar:function(g){var f,e=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");f=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");e.append(f);g.append(e);f.jqxButton({theme:theme,width:90,height:20});f.click(function(h){b=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuwe leverancier");$("#address").val("");$("#city").val("");$("#zip").val("");$("#country").val("Nederland");$("#website").val("");$("#email").val("");$("#phone").val("");$("#notes").val("");$("#popupWindow").jqxWindow("open")})},filterable:false,columns:[{text:"Leverancier naam",datafield:"name"},{text:"Adres",datafield:"address",width:300},{text:"Plaats",datafield:"city",width:250},{text:"Land",datafield:"country",width:200},{text:"Telefoon",datafield:"phone",width:175},{text:"Wijzig",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){b=f;$("#popupWindow").jqxWindow({position:{x:110,y:30}});var e=$("#jqxgrid").jqxGrid("getrowdata",b);$("#name").val(e.name);$("#address").val(e.address);$("#city").val(e.city);$("#zip").val(e.zip);$("#country").val(e.country);$("#website").val(e.website);$("#email").val(e.email);$("#phone").val(e.phone);$("#notes").val(e.notes);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(b>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var e=$("#jqxgrid").jqxGrid("getrowid",b);$("#jqxgrid").jqxGrid("deleterow",e)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var f,e=-1;if(b>=0){e=$("#jqxgrid").jqxGrid("getrowid",b)}f={record:e,name:$("#name").val(),address:$("#address").val(),city:$("#city").val(),zip:$("#zip").val(),country:$("#country").val(),website:$("#website").val(),email:$("#email").val(),phone:$("#phone").val(),notes:$("#notes").val()};if(b>=0){$("#jqxgrid").jqxGrid("updaterow",e,f)}else{$("#jqxgrid").jqxGrid("addrow",null,f)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_suppliers.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_suppliers.js	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 /*****************************************************************************
  * Copyright (C) 2014-2019
- *   
+ *
  * Michiel Broek <mbroek at mbse dot eu>
  *
  * This file is part of Brewery Management System
@@ -14,7 +14,7 @@
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with ThermFerm; see the file COPYING.  If not, write to the Free
  * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
@@ -23,239 +23,246 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme }); 
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	// tooltips
-	$("#name").jqxTooltip({ content: 'De naam van de leverancier.' });
-	$("#address").jqxTooltip({ content: 'Het adres en huisnummer.' });
-	$("#city").jqxTooltip({ content: 'De woonplaats of gemeente.' });
-	$("#zip").jqxTooltip({ content: 'De postcode.' });
-	$("#country").jqxTooltip({ content: 'Het land.' });
-	$("#website").jqxTooltip({ content: 'Het website adres.' });
-	$("#email").jqxTooltip({ content: 'Het email adres.' });
-	$("#phone").jqxTooltip({ content: 'Het telefoon nummer.' });
-	$("#notes").jqxTooltip({ content: 'Opmerkingen over deze leverancier.' });
+ // tooltips
+ $('#name').jqxTooltip({ content: 'De naam van de leverancier.' });
+ $('#address').jqxTooltip({ content: 'Het adres en huisnummer.' });
+ $('#city').jqxTooltip({ content: 'De woonplaats of gemeente.' });
+ $('#zip').jqxTooltip({ content: 'De postcode.' });
+ $('#country').jqxTooltip({ content: 'Het land.' });
+ $('#website').jqxTooltip({ content: 'Het website adres.' });
+ $('#email').jqxTooltip({ content: 'Het email adres.' });
+ $('#phone').jqxTooltip({ content: 'Het telefoon nummer.' });
+ $('#notes').jqxTooltip({ content: 'Opmerkingen over deze leverancier.' });
 
-	var url = 'includes/db_inventory_suppliers.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'address', type: 'string' },
-			{ name: 'city', type: 'string' },
-			{ name: 'zip', type: 'string' },
-			{ name: 'country', type: 'string' },
-			{ name: 'website', type: 'string' },
-			{ name: 'email', type: 'string' },
-			{ name: 'phone', type: 'string' },
-			{ name: 'notes', type: 'string' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
+ var url = 'includes/db_inventory_suppliers.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'address', type: 'string' },
+   { name: 'city', type: 'string' },
+   { name: 'zip', type: 'string' },
+   { name: 'country', type: 'string' },
+   { name: 'website', type: 'string' },
+   { name: 'email', type: 'string' },
+   { name: 'phone', type: 'string' },
+   { name: 'notes', type: 'string' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
         editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#address").jqxInput({ theme: theme, width: 350, height: 23 });
-	$("#zip").jqxInput({ theme: theme, width: 120, height: 23 });
-	$("#city").jqxInput({ theme: theme, width: 350, height: 23 });
-	$("#country").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#website").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#email").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#phone").jqxInput({ theme: theme, width: 175, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#address').jqxInput({ theme: theme, width: 350, height: 23 });
+ $('#zip').jqxInput({ theme: theme, width: 120, height: 23 });
+ $('#city').jqxInput({ theme: theme, width: 350, height: 23 });
+ $('#country').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#website').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#email').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#phone').jqxInput({ theme: theme, width: 175, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('Nieuwe leverancier');
-				$("#address").val('');
-				$("#city").val('');
-				$("#zip").val('');
-				$("#country").val('Nederland');
-				$("#website").val('');
-				$("#email").val('');
-				$("#phone").val('');
-				$("#notes").val('');
-				$("#popupWindow").jqxWindow('open');
-			});
-		},
-		filterable: false,
-		columns: [
-			{ text: 'Leverancier naam', datafield: 'name' },
-			{ text: 'Adres', datafield: 'address', width: 300 },
-			{ text: 'Plaats', datafield: 'city', width: 250 },
-			{ text: 'Land', datafield: 'country', width: 200 },
-			{ text: 'Telefoon', datafield: 'phone', width: 175 },
-			{ text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
-				cellsrenderer: function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					var dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#address").val(dataRecord.address);
-					$("#city").val(dataRecord.city);
-					$("#zip").val(dataRecord.zip);
-					$("#country").val(dataRecord.country);
-					$("#website").val(dataRecord.website);
-					$("#email").val(dataRecord.email);
-					$("#phone").val(dataRecord.phone);
-					$("#notes").val(dataRecord.notes);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			address: $("#address").val(),
-			city: $("#city").val(),
-			zip: $("#zip").val(),
-			country: $("#country").val(),
-			website: $("#website").val(),
-			email: $("#email").val(),
-			phone: $("#phone").val(),
-			notes: $("#notes").val()
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('Nieuwe leverancier');
+    $('#address').val('');
+    $('#city').val('');
+    $('#zip').val('');
+    $('#country').val('Nederland');
+    $('#website').val('');
+    $('#email').val('');
+    $('#phone').val('');
+    $('#notes').val('');
+    $('#popupWindow').jqxWindow('open');
+   });
+   expButton.click(function(event) {
+    window.open('export_suppliers.php');
+   });
+  },
+  filterable: false,
+  columns: [
+   { text: 'Leverancier naam', datafield: 'name' },
+   { text: 'Adres', datafield: 'address', width: 300 },
+   { text: 'Plaats', datafield: 'city', width: 250 },
+   { text: 'Land', datafield: 'country', width: 200 },
+   { text: 'Telefoon', datafield: 'phone', width: 175 },
+   { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     var dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#address').val(dataRecord.address);
+     $('#city').val(dataRecord.city);
+     $('#zip').val(dataRecord.zip);
+     $('#country').val(dataRecord.country);
+     $('#website').val(dataRecord.website);
+     $('#email').val(dataRecord.email);
+     $('#phone').val(dataRecord.phone);
+     $('#notes').val(dataRecord.notes);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   address: $('#address').val(),
+   city: $('#city').val(),
+   zip: $('#zip').val(),
+   country: $('#country').val(),
+   website: $('#website').val(),
+   email: $('#email').val(),
+   phone: $('#phone').val(),
+   notes: $('#notes').val()
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/inv_waters-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De unieke naam van dit brouwwater."});$("#notes").jqxTooltip({content:"Extra opmerkingen over dit water."});$("#unlimited_stock").jqxTooltip({content:"Onbeperkte voorraad zoals kraanwater en bronnen."});$("#calcium").jqxTooltip({content:"Calcium (Ca)."});$("#bicarbonate").jqxTooltip({content:"Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit."});$("#sulfate").jqxTooltip({content:"Calcium Sulfaat (CaSO4)."});$("#chloride").jqxTooltip({content:"Chloride (Cl)."});$("#sodium").jqxTooltip({content:"Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium."});$("#magnesium").jqxTooltip({content:"Magnesium (Mg)."});$("#ph").jqxTooltip({content:"De zuurgraad (pH)."});$("#total_alkalinity").jqxTooltip({content:"Totale alkaliniteit. Berekend meteen de Bicarbonaat."});$("#inventory").jqxTooltip({content:"Voorraad in liters."});$("#cost").jqxTooltip({content:"Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan."});var b={},a="includes/db_inventory_water.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"unlimited_stock",type:"int"},{name:"calcium",type:"float"},{name:"bicarbonate",type:"float"},{name:"sulfate",type:"float"},{name:"chloride",type:"float"},{name:"sodium",type:"float"},{name:"magnesium",type:"float"},{name:"ph",type:"float"},{name:"notes",type:"string"},{name:"total_alkalinity",type:"float"},{name:"inventory",type:"float"},{name:"cost",type:"float"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}},e=new $.jqx.dataAdapter(d),c=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#notes").jqxInput({theme:theme,width:640,height:100});$("#unlimited_stock").jqxCheckBox({theme:theme,width:120,height:23});$("#calcium").jqxNumberInput(Spin1dec);$("#bicarbonate").jqxNumberInput(Spin1dec);$("#sulfate").jqxNumberInput(Spin1dec);$("#chloride").jqxNumberInput(Spin1dec);$("#sodium").jqxNumberInput(Spin1dec);$("#magnesium").jqxNumberInput(Spin1dec);$("#ph").jqxNumberInput(Spin2pH);$("#total_alkalinity").jqxNumberInput(Spin1dec);$("#inventory").jqxNumberInput(Spin1dec);$("#cost").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,decimalDigits:5,spinButtons:true});$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var g,f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");f.append(g);h.append(f);g.jqxButton({theme:theme,width:90,height:20});g.click(function(i){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuw brouwwater");$("#unlimited_stock").val(0);$("#calcium").val(0);$("#bicarbonate").val(0);$("#sulfate").val(0);$("#chloride").val(0);$("#sodium").val(0);$("#magnesium").val(0);$("#ph").val(7);$("#notes").val("");$("#total_alkalinity").val(0);$("#inventory").val(0);$("#cost").val(0);$("#popupWindow").jqxWindow("open")})},filterable:false,columns:[{text:"Water leverancier",datafield:"name",width:225},{text:"Opmerkingen",datafield:"notes"},{text:"Onbeperkt",datafield:"unlimited_stock",columntype:"checkbox",width:80},{text:"Voorraad",datafield:"inventory",width:100,align:"right",cellsalign:"right",cellsformat:"f1",cellsrenderer:function(g,f,k,j,i,l){var h="";if(k>0&&l.unlimited_stock==0){h=e.formatNumber(k,"f1")+" L"}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+h+"</span>"}},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#unlimited_stock").val(b.unlimited_stock);$("#calcium").val(b.calcium);$("#bicarbonate").val(b.bicarbonate);$("#sulfate").val(b.sulfate);$("#chloride").val(b.chloride);$("#sodium").val(b.sodium);$("#magnesium").val(b.magnesium);$("#ph").val(b.ph);$("#notes").val(b.notes);$("#total_alkalinity").val(b.total_alkalinity);$("#inventory").val(b.inventory);$("#cost").val(b.cost);$("#popupWindow").jqxWindow("open")}}]});$("#total_alkalinity").on("change",function(f){b.bicarbonate=parseFloat(f.args.value)*1.22;$("#bicarbonate").val(b.bicarbonate)});$("#bicarbonate").on("change",function(f){b.total_alkalinity=parseFloat(f.args.value)*50/61;$("#total_alkalinity").val(b.total_alkalinity)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var g,f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}g={record:f,name:$("#name").val(),unlimited_stock:$("#unlimited_stock").val(),calcium:parseFloat($("#calcium").jqxNumberInput("decimal")),bicarbonate:parseFloat($("#bicarbonate").jqxNumberInput("decimal")),sulfate:parseFloat($("#sulfate").jqxNumberInput("decimal")),chloride:parseFloat($("#chloride").jqxNumberInput("decimal")),sodium:parseFloat($("#sodium").jqxNumberInput("decimal")),magnesium:parseFloat($("#magnesium").jqxNumberInput("decimal")),ph:parseFloat($("#ph").jqxNumberInput("decimal")),notes:$("#notes").val(),total_alkalinity:parseFloat($("#total_alkalinity").jqxNumberInput("decimal")),inventory:parseFloat($("#inventory").jqxNumberInput("decimal")),cost:parseFloat($("#cost").jqxNumberInput("decimal"))};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_waters.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_waters.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2014-2019
+ * Copyright (C) 2014-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -22,279 +22,327 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
+
+ // tooltips
+ $('#name').jqxTooltip({ content: 'De unieke naam van dit brouwwater.' });
+ $('#notes').jqxTooltip({ content: 'Extra opmerkingen over dit water.' });
+ $('#unlimited_stock').jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' });
+ $('#calcium').jqxTooltip({ content: 'Calcium (Ca).' });
+ $('#bicarbonate').jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' });
+ $('#sulfate').jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' });
+ $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' });
+ $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
+ $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' });
+ $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' });
+ $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
+ $('#balance').jqxTooltip({ content: 'De ionen balans van het water. Ideaal minder dan 0.1 verschil tussen kationen en anionen. Meer dan 0.5 is een fout in het waterraport.' });
+ $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' });
+ $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' });
 
-	// tooltips
-	$("#name").jqxTooltip({ content: 'De unieke naam van dit brouwwater.' });
-	$("#notes").jqxTooltip({ content: 'Extra opmerkingen over dit water.' });
-	$("#unlimited_stock").jqxTooltip({ content: 'Onbeperkte voorraad zoals kraanwater en bronnen.' });
-	$("#calcium").jqxTooltip({ content: 'Calcium (Ca).' });
-	$("#bicarbonate").jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' });
-	$("#sulfate").jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' });
-	$("#chloride").jqxTooltip({ content: 'Chloride (Cl).' });
-	$("#sodium").jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
-	$("#magnesium").jqxTooltip({ content: 'Magnesium (Mg).' });
-	$("#ph").jqxTooltip({ content: 'De zuurgraad (pH).' });
-	$("#total_alkalinity").jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
-	$("#inventory").jqxTooltip({ content: 'Voorraad in liters.' });
-	$("#cost").jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' });
-	
-	var dataRecord = {},
-        url = 'includes/db_inventory_water.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'unlimited_stock', type: 'int' },
-			{ name: 'calcium', type: 'float' },
-			{ name: 'bicarbonate', type: 'float' },
-			{ name: 'sulfate', type: 'float' },
-			{ name: 'chloride', type: 'float' },
-			{ name: 'sodium', type: 'float' },
-			{ name: 'magnesium', type: 'float' },
-			{ name: 'ph', type: 'float' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'total_alkalinity', type: 'float' },
-			{ name: 'inventory', type: 'float' },
-			{ name: 'cost', type: 'float' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_inventory_water.php',
+ // prepare the data
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'unlimited_stock', type: 'int' },
+   { name: 'calcium', type: 'float' },
+   { name: 'bicarbonate', type: 'float' },
+   { name: 'sulfate', type: 'float' },
+   { name: 'chloride', type: 'float' },
+   { name: 'sodium', type: 'float' },
+   { name: 'magnesium', type: 'float' },
+   { name: 'ph', type: 'float' },
+   { name: 'notes', type: 'string' },
+   { name: 'total_alkalinity', type: 'float' },
+   { name: 'inventory', type: 'float' },
+   { name: 'cost', type: 'float' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
+
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 640, height: 100 });
+ $('#unlimited_stock').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#calcium').jqxNumberInput(Spin1dec);
+ $('#bicarbonate').jqxNumberInput(Spin1dec);
+ $('#sulfate').jqxNumberInput(Spin1dec);
+ $('#chloride').jqxNumberInput(Spin1dec);
+ $('#sodium').jqxNumberInput(Spin1dec);
+ $('#magnesium').jqxNumberInput(Spin1dec);
+ $('#ph').jqxNumberInput(Spin2pH);
+ $('#total_alkalinity').jqxNumberInput(Spin1dec);
+ $('#balance').jqxNumberInput(Show2dec);
+ $('#inventory').jqxNumberInput(Spin1dec);
+ $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true });
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 640, height: 100 });
-	$("#unlimited_stock").jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$("#calcium").jqxNumberInput( Spin1dec );
-	$("#bicarbonate").jqxNumberInput( Spin1dec );
-	$("#sulfate").jqxNumberInput( Spin1dec );
-	$("#chloride").jqxNumberInput( Spin1dec );
-	$("#sodium").jqxNumberInput( Spin1dec );
-	$("#magnesium").jqxNumberInput( Spin1dec );
-	$("#ph").jqxNumberInput( Spin2pH );
-	$("#total_alkalinity").jqxNumberInput( Spin1dec );
-	$("#inventory").jqxNumberInput( Spin1dec );
-	$("#cost").jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true });
-	
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('Nieuw brouwwater');
-				$("#unlimited_stock").val(0);
-				$("#calcium").val(0);
-				$("#bicarbonate").val(0);
-				$("#sulfate").val(0);
-				$("#chloride").val(0);
-				$("#sodium").val(0);
-				$("#magnesium").val(0);
-				$("#ph").val(7);
-				$("#notes").val('');
-				$("#total_alkalinity").val(0);
-				$("#inventory").val(0);
-				$("#cost").val(0);
-				$("#popupWindow").jqxWindow('open');
-			});
-		},
-		filterable: false,
-		columns: [
-			{ text: 'Water leverancier', datafield: 'name', width: 225 },
-			{ text: 'Opmerkingen', datafield: 'notes' },
-			{ text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 },
-			{ text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var amount = "";
-				if (value > 0 && rowdata.unlimited_stock == 0)
-					amount = dataAdapter.formatNumber(value,"f1")+" L";
-				return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>";
-			  }
-			},
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
-				cellsrenderer: function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#unlimited_stock").val(dataRecord.unlimited_stock);
-					$("#calcium").val(dataRecord.calcium);
-					$("#bicarbonate").val(dataRecord.bicarbonate);
-					$("#sulfate").val(dataRecord.sulfate);
-					$("#chloride").val(dataRecord.chloride);
-					$("#sodium").val(dataRecord.sodium);
-					$("#magnesium").val(dataRecord.magnesium);
-					$("#ph").val(dataRecord.ph);
-					$("#notes").val(dataRecord.notes);
-					$("#total_alkalinity").val(dataRecord.total_alkalinity);
-					$("#inventory").val(dataRecord.inventory);
-					$("#cost").val(dataRecord.cost);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('Nieuw brouwwater');
+    $('#unlimited_stock').val(0);
+    $('#calcium').val(0);
+    $('#bicarbonate').val(0);
+    $('#sulfate').val(0);
+    $('#chloride').val(0);
+    $('#sodium').val(0);
+    $('#magnesium').val(0);
+    $('#ph').val(7);
+    $('#notes').val('');
+    $('#total_alkalinity').val(0);
+    $('#inventory').val(0);
+    $('#cost').val(0);
+    $('#popupWindow').jqxWindow('open');
+   });
+   expButton.click(function(event) {
+    window.open('export_waters.php');
+   });
+  },
+  filterable: false,
+  columns: [
+   { text: 'Water leverancier', datafield: 'name', width: 225 },
+   { text: 'Opmerkingen', datafield: 'notes' },
+   { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 },
+   { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var amount = '';
+     if (value > 0 && rowdata.unlimited_stock == 0)
+      amount = dataAdapter.formatNumber(value, 'f1') + ' L';
+     return '<span style="margin: 3px; margin-top: 6px; float: right;">' + amount + '</span>';
+    }
+   },
+   { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#unlimited_stock').val(dataRecord.unlimited_stock);
+     $('#calcium').val(dataRecord.calcium);
+     $('#bicarbonate').val(dataRecord.bicarbonate);
+     $('#sulfate').val(dataRecord.sulfate);
+     $('#chloride').val(dataRecord.chloride);
+     $('#sodium').val(dataRecord.sodium);
+     $('#magnesium').val(dataRecord.magnesium);
+     $('#ph').val(dataRecord.ph);
+     $('#notes').val(dataRecord.notes);
+     $('#total_alkalinity').val(dataRecord.total_alkalinity);
+     $('#inventory').val(dataRecord.inventory);
+     $('#cost').val(dataRecord.cost);
+     // show the popup window.
+     calcBalance();
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
 
-	$("#total_alkalinity").on('change', function (event) {
-		dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
-		$("#bicarbonate").val(dataRecord.bicarbonate);
-	});
-	$("#bicarbonate").on('change', function (event) {
-		dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
-		$("#total_alkalinity").val(dataRecord.total_alkalinity);
-	});
+ function calcBalance() {
+  var cations = (dataRecord.calcium / 20.039) + (dataRecord.magnesium / 12.1525) + (dataRecord.sodium / 22.989);
+  var anions = (dataRecord.bicarbonate / 61.016) + (dataRecord.sulfate / 48.031) + (dataRecord.chloride / 35.4527);
+  var balance = Round(cations - anions, 2);
+  $('#balance').val(balance);
+  if (balance <= 0.1 && balance >= -0.1)
+   $('#wr_balance').html("<img src='images/dialog-ok-apply.png'>");
+  else if (balance <= 0.5 && balance >= -0.5)
+   $('#wr_balance').html("<img src='images/dialog-ok.png'>");
+  else
+   $('#wr_balance').html("<img src='images/dialog-error.png'>");
+ }
+
+ $('#calcium').on('change', function(event) {
+  dataRecord.calcium = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#magnesium').on('change', function(event) {
+  dataRecord.magnesium = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#sodium').on('change', function(event) {
+  dataRecord.sodium = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#total_alkalinity').on('change', function(event) {
+  dataRecord.total_alkalinity = parseFloat(event.args.value);
+  dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
+  $('#bicarbonate').val(dataRecord.bicarbonate);
+  calcBalance();
+ });
+ $('#bicarbonate').on('change', function(event) {
+  dataRecord.bicarbonate = parseFloat(event.args.value);
+  dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
+  $('#total_alkalinity').val(dataRecord.total_alkalinity);
+  calcBalance();
+ });
+ $('#sulfate').on('change', function(event) {
+  dataRecord.sulfate = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#chloride').on('change', function(event) {
+  dataRecord.chloride = parseFloat(event.args.value);
+  calcBalance();
+ });
 
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			unlimited_stock: $("#unlimited_stock").val(),
-			calcium: parseFloat($("#calcium").jqxNumberInput('decimal')),
-			bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')),
-			sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')),
-			chloride: parseFloat($("#chloride").jqxNumberInput('decimal')),
-			sodium: parseFloat($("#sodium").jqxNumberInput('decimal')),
-			magnesium: parseFloat($("#magnesium").jqxNumberInput('decimal')),
-			ph: parseFloat($("#ph").jqxNumberInput('decimal')),
-			notes: $("#notes").val(),
-			total_alkalinity: parseFloat($("#total_alkalinity").jqxNumberInput('decimal')),
-			inventory: parseFloat($("#inventory").jqxNumberInput('decimal')),
-			cost: parseFloat($("#cost").jqxNumberInput('decimal'))
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   unlimited_stock: $('#unlimited_stock').val(),
+   calcium: parseFloat($('#calcium').jqxNumberInput('decimal')),
+   bicarbonate: parseFloat($('#bicarbonate').jqxNumberInput('decimal')),
+   sulfate: parseFloat($('#sulfate').jqxNumberInput('decimal')),
+   chloride: parseFloat($('#chloride').jqxNumberInput('decimal')),
+   sodium: parseFloat($('#sodium').jqxNumberInput('decimal')),
+   magnesium: parseFloat($('#magnesium').jqxNumberInput('decimal')),
+   ph: parseFloat($('#ph').jqxNumberInput('decimal')),
+   notes: $('#notes').val(),
+   total_alkalinity: parseFloat($('#total_alkalinity').jqxNumberInput('decimal')),
+   inventory: parseFloat($('#inventory').jqxNumberInput('decimal')),
+   cost: parseFloat($('#cost').jqxNumberInput('decimal'))
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/inv_yeasts-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function d(){$("#totval").val(b.cost*b.inventory);if(b.form=="Vloeibaar"){$("#pmpt_cost").html("Prijs per pak:");$("#pmpt_inventory").html("Voorraad pak(ken):");$("#pmpt_cells").html("Miljard cellen per pak:");$("#inventory").jqxNumberInput({decimalDigits:0})}else{if(b.form=="Droog"||b.form=="Gedroogd"){$("#pmpt_cost").html("Prijs per kg:");$("#pmpt_inventory").html("Voorraad gram:");$("#pmpt_cells").html("Miljard cellen per gram:");$("#inventory").jqxNumberInput({decimalDigits:1})}else{$("#pmpt_cost").html("Prijs per liter:");$("#pmpt_inventory").html("Voorraad ml:");$("#pmpt_cells").html("Miljard cellen per ml:");$("#inventory").jqxNumberInput({decimalDigits:1})}}}var b={},a="includes/db_inventory_yeasts.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"type",type:"string"},{name:"form",type:"string"},{name:"laboratory",type:"string"},{name:"product_id",type:"string"},{name:"min_temperature",type:"float"},{name:"max_temperature",type:"float"},{name:"flocculation",type:"int"},{name:"attenuation",type:"float"},{name:"notes",type:"string"},{name:"best_for",type:"string"},{name:"max_reuse",type:"int"},{name:"inventory",type:"float"},{name:"cost",type:"float"},{name:"production_date",type:"string"},{name:"tht_date",type:"string"},{name:"cells",type:"float"},{name:"tolerance",type:"float"},{name:"sta1",type:"int"},{name:"bacteria",type:"int"},{name:"harvest_top",type:"int"},{name:"harvest_time",type:"int"},{name:"pitch_temperature",type:"float"},{name:"pofpos",type:"int"},{name:"zymocide",type:"int"}],id:"record",url:a,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:a,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),c=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#laboratory").jqxInput({theme:theme,width:320,height:23});$("#product_id").jqxInput({theme:theme,width:320,height:23});$("#type").jqxDropDownList({theme:theme,source:YeastTypeAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#form").jqxDropDownList({theme:theme,source:YeastFormAdapter,valueMember:"nl",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#notes").jqxInput({theme:theme,width:800,height:120});$("#best_for").jqxInput({theme:theme,width:320,height:100});$("#inventory").jqxNumberInput(Spin1dec);$("#production_date").jqxDateTimeInput(Dateopts);$("#min_temperature").jqxNumberInput(YeastT);$("#max_temperature").jqxNumberInput(YeastT);$("#flocculation").jqxDropDownList({theme:theme,source:FlocculationAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#attenuation").jqxNumberInput(Perc1dec);$("#max_reuse").jqxNumberInput(PosInt);$("#max_reuse").jqxNumberInput({max:10});$("#cost").jqxNumberInput(Spin2dec);$("#tht_date").jqxDateTimeInput(Dateopts);$("#totval").jqxNumberInput(Show2dec);$("#cells").jqxNumberInput(Spin1dec);$("#tolerance").jqxNumberInput(Perc1dec);$("#tolerance").jqxNumberInput({max:25});$("#sta1").jqxCheckBox({theme:theme,width:120,height:23});$("#sta1").on("checked",function(g){b.sta1=1});$("#sta1").on("unchecked",function(g){b.sta1=0});$("#bacteria").jqxCheckBox({theme:theme,width:120,height:23});$("#bacteria").on("checked",function(g){b.bacteria=1});$("#bacteria").on("unchecked",function(g){b.bacteria=0});$("#harvest_top").jqxCheckBox({theme:theme,width:120,height:23});$("#harvest_top").on("checked",function(g){b.harvest_top=1});$("#harvest_top").on("unchecked",function(g){b.harvest_top=0});$("#harvest_time").jqxNumberInput(PosInt);$("#pitch_temperature").jqxNumberInput(YeastT);$("#pofpos").jqxCheckBox({theme:theme,width:120,height:23});$("#pofpos").on("checked",function(g){b.pofpos=1});$("#pofpos").on("unchecked",function(g){b.pofpos=0});$("#zymocide").jqxDropDownList({theme:theme,source:ZymocideAdapter,valueMember:"id",displayMember:"nl",width:80,height:23,autoDropDownHeight:true});$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var g,h,j;g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");j=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");g.append(h);g.append(j);i.append(g);h.jqxButton({theme:theme,width:90,height:20});j.jqxButton({theme:theme,width:90,height:20});h.click(function(k){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("");$("#laboratory").val("");$("#product_id").val("");$("#type").val("Bovengist");$("#form").val("Vloeibaar");$("#min_temperature").val(18);$("#max_temperature").val(22);$("#flocculation").val(0);$("#attenuation").val(77);$("#notes").val("");$("#best_for").val("");$("#max_reuse").val(10);$("#inventory").val(0);$("#cost").val(0);$("#production_date").val("");$("#tht_date").val("");$("#cells").val(1);$("#tolerance").val(0);$("#sta1").val(0);$("#bacteria").val(0);$("#harvest_top").val(0);$("#harvest_time").val(0);$("#pitch_temperature").val(0);$("#pofpos").val(0);$("#zymocide").val(0);$("#popupWindow").jqxWindow("open")});j.click(function(k){window.location.href="import_ingredients.php?select=yeasts"})},filterable:true,filtermode:"excel",columns:[{text:"Laboratorium",datafield:"laboratory",width:150},{text:"Product ID",datafield:"product_id",width:120,menu:false},{text:"Gist naam",datafield:"name",menu:false},{text:"Type",datafield:"type",align:"center",cellsalign:"center",width:110},{text:"Vorm",datafield:"form",align:"center",cellsalign:"center",width:110},{text:"SVG",datafield:"attenuation",width:70,align:"right",cellsalign:"right",menu:false,cellsformat:"p1"},{text:"Tol%",datafield:"tolerance",width:60,align:"right",cellsalign:"right",menu:false,cellsrenderer:function(h,g,l,k,j,m){var i="";if(l>0){i=f.formatNumber(l,"p0")}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+i+"</span>"}},{text:"Voorraad",datafield:"inventory",width:100,align:"right",menu:false,cellsrenderer:function(h,g,l,k,j,m){var i="";if(l>0){if((m.form=="Vloeibaar")&&(l>1)){i=f.formatNumber(l,"f0")+" pakken"}else{if(m.form=="Vloeibaar"){i=f.formatNumber(l,"f0")+" pak"}else{if(m.form=="Droog"||m.form=="Gedroogd"){i=f.formatNumber(l*1000,"f1")+" gram"}else{i=f.formatNumber(l*1000,"f1")+" ml"}}}}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+i+"</span>"}},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",menu:false,cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){c=g;$("#popupWindow").jqxWindow({position:{x:110,y:15}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#laboratory").val(b.laboratory);$("#product_id").val(b.product_id);$("#type").val(b.type);$("#form").val(b.form);$("#min_temperature").val(parseFloat(b.min_temperature));$("#max_temperature").val(parseFloat(b.max_temperature));$("#flocculation").val(b.flocculation);$("#attenuation").val(b.attenuation);$("#notes").val(b.notes);$("#best_for").val(b.best_for);$("#max_reuse").val(b.max_reuse);if(b.form=="Vloeibaar"){$("#inventory").val(b.inventory)}else{$("#inventory").val(b.inventory*1000)}$("#cost").val(b.cost);$("#production_date").val(b.production_date);$("#tht_date").val(b.tht_date);$("#cells").val(b.cells);$("#tolerance").val(b.tolerance);$("#sta1").val(b.sta1);$("#bacteria").val(b.bacteria);$("#harvest_top").val(b.harvest_top);$("#harvest_time").val(b.harvest_time);$("#pitch_temperature").val(parseFloat(b.pitch_temperature));$("#pofpos").val(b.pofpos);$("#zymocide").val(b.zymocide);d();$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").on("open",function(g){d()});$("#cost").on("change",function(g){b.cost=parseFloat(g.args.value);d()});$("#inventory").on("change",function(g){if(b.form=="Vloeibaar"){b.inventory=parseFloat(g.args.value)}else{b.inventory=parseFloat(g.args.value)/1000}d()});$("#form").on("select",function(g){b.form=$("#form").val();d()});$("#popupWindow").jqxWindow({width:1050,height:625,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Clone").jqxButton({template:"warning",width:"90px",theme:theme});$("#Clone").click(function(){var g={record:-1,name:$("#name").val()+" kopie",type:$("#type").val(),form:$("#form").val(),laboratory:$("#laboratory").val(),product_id:$("#product_id").val(),min_temperature:parseFloat($("#min_temperature").jqxNumberInput("decimal")),max_temperature:parseFloat($("#max_temperature").jqxNumberInput("decimal")),flocculation:$("#flocculation").val(),attenuation:parseFloat($("#attenuation").jqxNumberInput("decimal")),notes:$("#notes").val(),best_for:$("#best_for").val(),max_reuse:parseInt($("#max_reuse").jqxNumberInput("decimal")),inventory:0,cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:"",tht_date:"",cells:parseFloat($("#cells").jqxNumberInput("decimal")),tolerance:parseFloat($("#tolerance").jqxNumberInput("decimal")),sta1:$("#sta1").val(),bacteria:$("#bacteria").val(),harvest_top:$("#harvest_top").val(),harvest_time:$("#harvest_time").val(),pitch_temperature:parseFloat($("#pitch_temperature").jqxNumberInput("decimal")),pofpos:$("#pofpos").val(),zymocide:$("#zymocide").val()};$("#jqxgrid").jqxGrid("addrow",null,g);$("#popupWindow").jqxWindow("hide")});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var g,i,h=-1;if(c>=0){h=$("#jqxgrid").jqxGrid("getrowid",c)}if(b.form=="Vloeibaar"){g=parseFloat($("#inventory").jqxNumberInput("decimal"))}else{g=parseFloat($("#inventory").jqxNumberInput("decimal"))/1000}i={record:h,name:$("#name").val(),type:$("#type").val(),form:$("#form").val(),laboratory:$("#laboratory").val(),product_id:$("#product_id").val(),min_temperature:parseFloat($("#min_temperature").jqxNumberInput("decimal")),max_temperature:parseFloat($("#max_temperature").jqxNumberInput("decimal")),flocculation:$("#flocculation").val(),attenuation:parseFloat($("#attenuation").jqxNumberInput("decimal")),notes:$("#notes").val(),best_for:$("#best_for").val(),max_reuse:parseInt($("#max_reuse").jqxNumberInput("decimal")),inventory:g,cost:parseFloat($("#cost").jqxNumberInput("decimal")),production_date:$("#production_date").val(),tht_date:$("#tht_date").val(),cells:parseFloat($("#cells").jqxNumberInput("decimal")),tolerance:parseFloat($("#tolerance").jqxNumberInput("decimal")),sta1:$("#sta1").val(),bacteria:$("#bacteria").val(),harvest_top:$("#harvest_top").val(),harvest_time:$("#harvest_time").val(),pitch_temperature:parseFloat($("#pitch_temperature").jqxNumberInput("decimal")),pofpos:$("#pofpos").val(),zymocide:$("#zymocide").val()};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",h,i)}else{$("#jqxgrid").jqxGrid("addrow",null,i)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_yeasts.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/inv_yeasts.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2014-2019
+ * Copyright (C) 2014-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -22,462 +22,476 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
 $(document).ready(function() {
 
-	function calcTotal() {
+ function calcTotal() {
 
-		$('#totval').val(dataRecord.cost * dataRecord.inventory);
-		if (dataRecord.form == 'Vloeibaar') { // Liquid
-			$("#pmpt_cost").html('Prijs per pak:');
-			$("#pmpt_inventory").html('Voorraad pak(ken):');
-			$("#pmpt_cells").html('Miljard cellen per pak:');
-			$("#inventory").jqxNumberInput({ decimalDigits: 0 });
-		} else if (dataRecord.form == 'Droog' || dataRecord.form == 'Gedroogd') { // Dry
-			$("#pmpt_cost").html('Prijs per kg:');
-			$("#pmpt_inventory").html('Voorraad gram:');
-			$("#pmpt_cells").html('Miljard cellen per gram:');
-			$("#inventory").jqxNumberInput({ decimalDigits: 1 });
-		} else {
-			$("#pmpt_cost").html('Prijs per liter:');
-			$("#pmpt_inventory").html('Voorraad ml:');
-			$("#pmpt_cells").html('Miljard cellen per ml:');
-			$("#inventory").jqxNumberInput({ decimalDigits: 1 });
-		}
-	}
+  $('#totval').val(dataRecord.cost * dataRecord.inventory);
+  if (dataRecord.form == 'Vloeibaar') { // Liquid
+   $('#pmpt_cost').html('Prijs per pak:');
+   $('#pmpt_inventory').html('Voorraad pak(ken):');
+   $('#pmpt_cells').html('Miljard cellen per pak:');
+   $('#inventory').jqxNumberInput({ decimalDigits: 0 });
+  } else if (dataRecord.form == 'Droog' || dataRecord.form == 'Gedroogd') { // Dry
+   $('#pmpt_cost').html('Prijs per kg:');
+   $('#pmpt_inventory').html('Voorraad gram:');
+   $('#pmpt_cells').html('Miljard cellen per gram:');
+   $('#inventory').jqxNumberInput({ decimalDigits: 1 });
+  } else {
+   $('#pmpt_cost').html('Prijs per liter:');
+   $('#pmpt_inventory').html('Voorraad ml:');
+   $('#pmpt_cells').html('Miljard cellen per ml:');
+   $('#inventory').jqxNumberInput({ decimalDigits: 1 });
+  }
+ }
 
-	var dataRecord = {},
-	url = 'includes/db_inventory_yeasts.php',
-	source = {
-		datatype: 'json',
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'type', type: 'string' },
-			{ name: 'form', type: 'string' },
-			{ name: 'laboratory', type: 'string' },
-			{ name: 'product_id', type: 'string' },
-			{ name: 'min_temperature', type: 'float' },
-			{ name: 'max_temperature', type: 'float' },
-			{ name: 'flocculation', type: 'int' },
-			{ name: 'attenuation', type: 'float' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'best_for', type: 'string' },
-			{ name: 'max_reuse', type: 'int' },
-			{ name: 'inventory', type: 'float' },
-			{ name: 'cost', type: 'float' },
-			{ name: 'production_date', type: 'string' },
-			{ name: 'tht_date', type: 'string' },
-			{ name: 'cells', type: 'float' },
-			{ name: 'tolerance', type: 'float' },
-			{ name: 'sta1', type: 'int' },
-			{ name: 'bacteria', type: 'int' },
-			{ name: 'harvest_top', type: 'int' },
-			{ name: 'harvest_time', type: 'int' },
-			{ name: 'pitch_temperature', type: 'float' },
-			{ name: 'pofpos', type: 'int' },
-			{ name: 'zymocide', type: 'int' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_inventory_yeasts.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'type', type: 'string' },
+   { name: 'form', type: 'string' },
+   { name: 'laboratory', type: 'string' },
+   { name: 'product_id', type: 'string' },
+   { name: 'min_temperature', type: 'float' },
+   { name: 'max_temperature', type: 'float' },
+   { name: 'flocculation', type: 'int' },
+   { name: 'attenuation', type: 'float' },
+   { name: 'notes', type: 'string' },
+   { name: 'best_for', type: 'string' },
+   { name: 'max_reuse', type: 'int' },
+   { name: 'inventory', type: 'float' },
+   { name: 'cost', type: 'float' },
+   { name: 'production_date', type: 'string' },
+   { name: 'tht_date', type: 'string' },
+   { name: 'cells', type: 'float' },
+   { name: 'tolerance', type: 'float' },
+   { name: 'sta1', type: 'int' },
+   { name: 'bacteria', type: 'int' },
+   { name: 'harvest_top', type: 'int' },
+   { name: 'harvest_time', type: 'int' },
+   { name: 'pitch_temperature', type: 'float' },
+   { name: 'pofpos', type: 'int' },
+   { name: 'zymocide', type: 'int' },
+   { name: 'short_desc', type: 'string' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#laboratory").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#product_id").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#type").jqxDropDownList({
-		theme: theme,
-		source: YeastTypeAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#form").jqxDropDownList({
-		theme: theme,
-		source: YeastFormAdapter,
-		valueMember: 'nl',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#notes").jqxInput({ theme: theme, width: 800, height: 120 });
-	$("#best_for").jqxInput({ theme: theme, width: 320, height: 100 });
-	$("#inventory").jqxNumberInput( Spin1dec );
-	$("#production_date").jqxDateTimeInput( Dateopts );
-	$("#min_temperature").jqxNumberInput( YeastT );
-	$("#max_temperature").jqxNumberInput( YeastT );
-	$("#flocculation").jqxDropDownList({
-		theme: theme,
-		source: FlocculationAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#attenuation").jqxNumberInput( Perc1dec );
-	$("#max_reuse").jqxNumberInput( PosInt );
-	$("#max_reuse").jqxNumberInput({ max: 10 });
-	$("#cost").jqxNumberInput( Spin2dec );
-	$("#tht_date").jqxDateTimeInput( Dateopts );
-	$("#totval").jqxNumberInput( Show2dec );
-	$("#cells").jqxNumberInput( Spin1dec );
-	$("#tolerance").jqxNumberInput( Perc1dec );
-	$("#tolerance").jqxNumberInput({ max: 25 });
-	$('#sta1').jqxCheckBox({ theme: theme, width: 120, height: 23 });
-	$('#sta1').on('checked', function(event) { dataRecord.sta1 = 1; });
-	$('#sta1').on('unchecked', function(event) { dataRecord.sta1 = 0; });
-        $('#bacteria').jqxCheckBox({ theme: theme, width: 120, height: 23 });
-        $('#bacteria').on('checked', function(event) { dataRecord.bacteria = 1; });
-        $('#bacteria').on('unchecked', function(event) { dataRecord.bacteria = 0; });
-        $('#harvest_top').jqxCheckBox({ theme: theme, width: 120, height: 23 });
-        $('#harvest_top').on('checked', function(event) { dataRecord.harvest_top = 1; });
-        $('#harvest_top').on('unchecked', function(event) { dataRecord.harvest_top = 0; });
-	$('#harvest_time').jqxNumberInput( PosInt );
-	$("#pitch_temperature").jqxNumberInput( YeastT );
-        $('#pofpos').jqxCheckBox({ theme: theme, width: 120, height: 23 });
-        $('#pofpos').on('checked', function(event) { dataRecord.pofpos = 1; });
-        $('#pofpos').on('unchecked', function(event) { dataRecord.pofpos = 0; });
-	$("#zymocide").jqxDropDownList({
-                theme: theme,
-                source: ZymocideAdapter,
-                valueMember: 'id',
-                displayMember: 'nl',
-                width: 80,
-                height: 23,
-                autoDropDownHeight: true
-        });
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#laboratory').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#short_desc').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#product_id').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#type').jqxDropDownList({
+  theme: theme,
+  source: YeastTypeAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#form').jqxDropDownList({
+  theme: theme,
+  source: YeastFormAdapter,
+  valueMember: 'nl',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#notes').jqxInput({ theme: theme, width: 800, height: 120 });
+ $('#best_for').jqxInput({ theme: theme, width: 320, height: 100 });
+ $('#inventory').jqxNumberInput(Spin1dec);
+ $('#production_date').jqxDateTimeInput(Dateopts);
+ $('#min_temperature').jqxNumberInput(YeastT);
+ $('#max_temperature').jqxNumberInput(YeastT);
+ $('#flocculation').jqxDropDownList({
+  theme: theme,
+  source: FlocculationAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#attenuation').jqxNumberInput(Perc1dec);
+ $('#max_reuse').jqxNumberInput(PosInt);
+ $('#max_reuse').jqxNumberInput({ max: 10 });
+ $('#cost').jqxNumberInput(Spin2dec);
+ $('#tht_date').jqxDateTimeInput(Dateopts);
+ $('#totval').jqxNumberInput(Show2dec);
+ $('#cells').jqxNumberInput(Spin1dec);
+ $('#tolerance').jqxNumberInput(Perc1dec);
+ $('#tolerance').jqxNumberInput({ max: 25 });
+ $('#sta1').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#sta1').on('checked', function(event) { dataRecord.sta1 = 1; });
+ $('#sta1').on('unchecked', function(event) { dataRecord.sta1 = 0; });
+ $('#bacteria').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#bacteria').on('checked', function(event) { dataRecord.bacteria = 1; });
+ $('#bacteria').on('unchecked', function(event) { dataRecord.bacteria = 0; });
+ $('#harvest_top').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#harvest_top').on('checked', function(event) { dataRecord.harvest_top = 1; });
+ $('#harvest_top').on('unchecked', function(event) { dataRecord.harvest_top = 0; });
+ $('#harvest_time').jqxNumberInput(PosInt);
+ $('#pitch_temperature').jqxNumberInput(YeastT);
+ $('#pofpos').jqxCheckBox({ theme: theme, width: 120, height: 23 });
+ $('#pofpos').on('checked', function(event) { dataRecord.pofpos = 1; });
+ $('#pofpos').on('unchecked', function(event) { dataRecord.pofpos = 0; });
+ $('#zymocide').jqxDropDownList({
+  theme: theme,
+  source: ZymocideAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 80,
+  height: 23,
+  autoDropDownHeight: true
+ });
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function(statusbar) {
-			var container, addButton, impButton;
-			container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			impButton = $("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");
-			container.append(addButton);
-			container.append(impButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			impButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('');
-				$("#laboratory").val('');
-				$("#product_id").val('');
-				$("#type").val('Bovengist');
-				$("#form").val('Vloeibaar');
-				$("#min_temperature").val(18);
-				$("#max_temperature").val(22);
-				$("#flocculation").val(0);
-				$("#attenuation").val(77);
-				$("#notes").val('');
-				$("#best_for").val('');
-				$("#max_reuse").val(10);
-				$("#inventory").val(0);
-				$("#cost").val(0);
-				$("#production_date").val('');
-				$("#tht_date").val('');
-				$("#cells").val(1);
-				$("#tolerance").val(0);
-				$("#sta1").val(0);
-				$("#bacteria").val(0);
-				$("#harvest_top").val(0);
-				$("#harvest_time").val(0);
-				$("#pitch_temperature").val(0);
-				$("#pofpos").val(0);
-				$("#zymocide").val(0);
-				$("#popupWindow").jqxWindow('open');
-			});
-			impButton.click(function (event) {
-				window.location.href = 'import_ingredients.php?select=yeasts';
-			});
-		},
-		filterable: true,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Laboratorium', datafield: 'laboratory', width: 150 },
-			{ text: 'Product ID', datafield: 'product_id', width: 120, menu: false },
-			{ text: 'Gist naam', datafield: 'name', menu: false },
-			{ text: 'Type', datafield: 'type', align: 'center', cellsalign: 'center', width: 110 },
-			{ text: 'Vorm', datafield: 'form', align: 'center', cellsalign: 'center', width: 110 },
-			{ text: 'SVG', datafield: 'attenuation', width: 70, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
-			{ text: 'Tol%', datafield: 'tolerance', width: 60, align: 'right', cellsalign: 'right', menu: false,
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var amount = "";
-				if (value > 0)
-					amount = dataAdapter.formatNumber(value, "p0");
-				return  '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>';
-			  }
-			},
-			{ text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false,
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var amount = "";
-				if (value > 0) {
-					if ((rowdata.form == 'Vloeibaar') && (value > 1))
-						amount = dataAdapter.formatNumber(value,"f0")+" pakken";
-					else if (rowdata.form == 'Vloeibaar')
-						amount = dataAdapter.formatNumber(value,"f0")+" pak";
-					else if (rowdata.form == 'Droog' || rowdata.form == 'Gedroogd')
-						amount = dataAdapter.formatNumber(value * 1000,"f1")+" gram";
-					else
-						amount = dataAdapter.formatNumber(value * 1000,"f1")+" ml";
-				}
-				return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>";
-			  }
-			},
-			{ text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', menu: false, cellsrenderer: function () {
-				return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 15 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#laboratory").val(dataRecord.laboratory);
-					$("#product_id").val(dataRecord.product_id);
-					$("#type").val(dataRecord.type);
-					$("#form").val(dataRecord.form);
-					$("#min_temperature").val(parseFloat(dataRecord.min_temperature));
-					$("#max_temperature").val(parseFloat(dataRecord.max_temperature));
-					$("#flocculation").val(dataRecord.flocculation);
-					$("#attenuation").val(dataRecord.attenuation);
-					$("#notes").val(dataRecord.notes);
-					$("#best_for").val(dataRecord.best_for);
-					$("#max_reuse").val(dataRecord.max_reuse);
-					if (dataRecord.form == 'Vloeibaar')
-						$("#inventory").val(dataRecord.inventory);
-					else
-						$("#inventory").val(dataRecord.inventory * 1000);
-					$("#cost").val(dataRecord.cost);
-					$("#production_date").val(dataRecord.production_date);
-					$("#tht_date").val(dataRecord.tht_date);
-					$("#cells").val(dataRecord.cells);
-					$("#tolerance").val(dataRecord.tolerance);
-					$("#sta1").val(dataRecord.sta1);
-					$("#bacteria").val(dataRecord.bacteria);
-					$("#harvest_top").val(dataRecord.harvest_top);
-					$("#harvest_time").val(dataRecord.harvest_time);
-					$("#pitch_temperature").val(parseFloat(dataRecord.pitch_temperature));
-					$("#pofpos").val(dataRecord.pofpos);
-					$("#zymocide").val(dataRecord.zymocide);
-					calcTotal();
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container, addButton, impButton;
+   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   impButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Import</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(impButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   impButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('');
+    $('#laboratory').val('');
+    $('#short_desc').val('');
+    $('#product_id').val('');
+    $('#type').val('Bovengist');
+    $('#form').val('Vloeibaar');
+    $('#min_temperature').val(18);
+    $('#max_temperature').val(22);
+    $('#flocculation').val(0);
+    $('#attenuation').val(77);
+    $('#notes').val('');
+    $('#best_for').val('');
+    $('#max_reuse').val(10);
+    $('#inventory').val(0);
+    $('#cost').val(0);
+    $('#production_date').val('');
+    $('#tht_date').val('');
+    $('#cells').val(1);
+    $('#tolerance').val(0);
+    $('#sta1').val(0);
+    $('#bacteria').val(0);
+    $('#harvest_top').val(0);
+    $('#harvest_time').val(0);
+    $('#pitch_temperature').val(0);
+    $('#pofpos').val(0);
+    $('#zymocide').val(0);
+    $('#popupWindow').jqxWindow('open');
+   });
+   impButton.click(function(event) {
+    window.location.href = 'import_ingredients.php?select=yeasts';
+   });
+   expButton.click(function(event) {
+    window.open('export_yeasts.php');
+   });
+  },
+  filterable: true,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Laboratorium', datafield: 'laboratory', width: 150 },
+   { text: 'Product ID', datafield: 'product_id', width: 120, menu: false },
+   { text: 'Gist naam', datafield: 'name', menu: false },
+   { text: 'Type', datafield: 'type', align: 'center', cellsalign: 'center', width: 110 },
+   { text: 'Vorm', datafield: 'form', align: 'center', cellsalign: 'center', width: 110 },
+   { text: 'SVG', datafield: 'attenuation', width: 70, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' },
+   { text: 'Tol%', datafield: 'tolerance', width: 60, align: 'right', cellsalign: 'right', menu: false,
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var amount = '';
+     if (value > 0)
+      amount = dataAdapter.formatNumber(value, 'p1');
+     return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>';
+    }
+   },
+   { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false,
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var amount = '';
+     if (value > 0) {
+      if ((rowdata.form == 'Vloeibaar') && (value > 1))
+       amount = dataAdapter.formatNumber(value, 'f0') + ' pakken';
+      else if (rowdata.form == 'Vloeibaar')
+       amount = dataAdapter.formatNumber(value, 'f0') + ' pak';
+      else if (rowdata.form == 'Droog' || rowdata.form == 'Gedroogd')
+       amount = dataAdapter.formatNumber(value * 1000, 'f1') + ' gram';
+      else
+       amount = dataAdapter.formatNumber(value * 1000, 'f1') + ' ml';
+     }
+     return '<span style="margin: 3px; margin-top: 6px; float: right;">' + amount + '</span>';
+    }
+   },
+   { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', menu: false, cellsrenderer: function() {
+    return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 15 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#laboratory').val(dataRecord.laboratory);
+     $('#product_id').val(dataRecord.product_id);
+     $('#type').val(dataRecord.type);
+     $('#form').val(dataRecord.form);
+     $('#min_temperature').val(parseFloat(dataRecord.min_temperature));
+     $('#max_temperature').val(parseFloat(dataRecord.max_temperature));
+     $('#flocculation').val(dataRecord.flocculation);
+     $('#attenuation').val(dataRecord.attenuation);
+     $('#notes').val(dataRecord.notes);
+     $('#best_for').val(dataRecord.best_for);
+     $('#max_reuse').val(dataRecord.max_reuse);
+     if (dataRecord.form == 'Vloeibaar')
+      $('#inventory').val(dataRecord.inventory);
+     else
+      $('#inventory').val(dataRecord.inventory * 1000);
+     $('#cost').val(dataRecord.cost);
+     $('#production_date').val(dataRecord.production_date);
+     $('#tht_date').val(dataRecord.tht_date);
+     $('#cells').val(dataRecord.cells);
+     $('#tolerance').val(dataRecord.tolerance);
+     $('#sta1').val(dataRecord.sta1);
+     $('#bacteria').val(dataRecord.bacteria);
+     $('#harvest_top').val(dataRecord.harvest_top);
+     $('#harvest_time').val(dataRecord.harvest_time);
+     $('#pitch_temperature').val(parseFloat(dataRecord.pitch_temperature));
+     $('#pofpos').val(dataRecord.pofpos);
+     $('#zymocide').val(dataRecord.zymocide);
+     $('#short_desc').val(dataRecord.short_desc);
+     calcTotal();
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
 
-	$('#popupWindow').on('open', function (event) { calcTotal(); });
-	$("#cost").on('change', function (event) {
-		dataRecord.cost = parseFloat(event.args.value);
-		calcTotal();
-	});
-	$("#inventory").on('change', function (event) {
-		if (dataRecord.form == 'Vloeibaar')
-			dataRecord.inventory = parseFloat(event.args.value);
-		else
-			dataRecord.inventory = parseFloat(event.args.value) / 1000.0;
-		calcTotal();
-	});
-	$("#form").on('select', function (event) {
-		dataRecord.form = $("#form").val();
-		calcTotal();
-	});
+ $('#popupWindow').on('open', function(event) { calcTotal(); });
+ $('#cost').on('change', function(event) {
+  dataRecord.cost = parseFloat(event.args.value);
+  calcTotal();
+ });
+ $('#inventory').on('change', function(event) {
+  if (dataRecord.form == 'Vloeibaar')
+   dataRecord.inventory = parseFloat(event.args.value);
+  else
+   dataRecord.inventory = parseFloat(event.args.value) / 1000.0;
+  calcTotal();
+ });
+ $('#form').on('select', function(event) {
+  dataRecord.form = $('#form').val();
+  calcTotal();
+ });
 
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 625,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function() {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Clone").jqxButton({ template: "warning", width: '90px', theme: theme });
-	$("#Clone").click(function() {
-		var row = {
-			record: -1,
-			name: $("#name").val()+" kopie",
-			type: $("#type").val(),
-			form: $("#form").val(),
-			laboratory: $("#laboratory").val(),
-			product_id: $("#product_id").val(),
-			min_temperature: parseFloat($("#min_temperature").jqxNumberInput('decimal')),
-			max_temperature: parseFloat($("#max_temperature").jqxNumberInput('decimal')),
-			flocculation: $("#flocculation").val(),
-			attenuation: parseFloat($("#attenuation").jqxNumberInput('decimal')),
-			notes: $("#notes").val(),
-			best_for: $("#best_for").val(),
-			max_reuse: parseInt($("#max_reuse").jqxNumberInput('decimal')),
-			inventory: 0,
-			cost: parseFloat($("#cost").jqxNumberInput('decimal')),
-			production_date: '',
-			tht_date: '',
-			cells: parseFloat($("#cells").jqxNumberInput('decimal')),
-			tolerance: parseFloat($("#tolerance").jqxNumberInput('decimal')),
-			sta1: $("#sta1").val(),
-			bacteria: $("#bacteria").val(),
-			harvest_top: $("#harvest_top").val(),
-			harvest_time: $("#harvest_time").val(),
-			pitch_temperature: parseFloat($("#pitch_temperature").jqxNumberInput('decimal')),
-			pofpos: $("#pofpos").val(),
-			zymocide: $("#zymocide").val()
-		};
-		$('#jqxgrid').jqxGrid('addrow', null, row);
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function() {
-		var n_inventory, row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		if (dataRecord.form == 'Vloeibaar')
-			n_inventory = parseFloat($("#inventory").jqxNumberInput('decimal'));
-		else
-			n_inventory = parseFloat($("#inventory").jqxNumberInput('decimal')) / 1000.0;
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			type: $("#type").val(),
-			form: $("#form").val(),
-			laboratory: $("#laboratory").val(),
-			product_id: $("#product_id").val(),
-			min_temperature: parseFloat($("#min_temperature").jqxNumberInput('decimal')),
-			max_temperature: parseFloat($("#max_temperature").jqxNumberInput('decimal')),
-			flocculation: $("#flocculation").val(),
-			attenuation: parseFloat($("#attenuation").jqxNumberInput('decimal')),
-			notes: $("#notes").val(),
-			best_for: $("#best_for").val(),
-			max_reuse: parseInt($("#max_reuse").jqxNumberInput('decimal')),
-			inventory: n_inventory,
-			cost: parseFloat($("#cost").jqxNumberInput('decimal')),
-			production_date: $("#production_date").val(),
-			tht_date: $("#tht_date").val(),
-			cells: parseFloat($("#cells").jqxNumberInput('decimal')),
-			tolerance: parseFloat($("#tolerance").jqxNumberInput('decimal')),
-			sta1: $("#sta1").val(),
-                        bacteria: $("#bacteria").val(),
-                        harvest_top: $("#harvest_top").val(),
-                        harvest_time: $("#harvest_time").val(),
-                        pitch_temperature: parseFloat($("#pitch_temperature").jqxNumberInput('decimal')),
-                        pofpos: $("#pofpos").val(),
-                        zymocide: $("#zymocide").val()
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 625,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Clone').jqxButton({ template: 'warning', width: '90px', theme: theme });
+ $('#Clone').click(function() {
+  var row = {
+   record: -1,
+   name: $('#name').val() + ' kopie',
+   type: $('#type').val(),
+   form: $('#form').val(),
+   laboratory: $('#laboratory').val(),
+   product_id: $('#product_id').val(),
+   min_temperature: parseFloat($('#min_temperature').jqxNumberInput('decimal')),
+   max_temperature: parseFloat($('#max_temperature').jqxNumberInput('decimal')),
+   flocculation: $('#flocculation').val(),
+   attenuation: parseFloat($('#attenuation').jqxNumberInput('decimal')),
+   notes: $('#notes').val(),
+   best_for: $('#best_for').val(),
+   max_reuse: parseInt($('#max_reuse').jqxNumberInput('decimal')),
+   inventory: 0,
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: '',
+   tht_date: '',
+   cells: parseFloat($('#cells').jqxNumberInput('decimal')),
+   tolerance: parseFloat($('#tolerance').jqxNumberInput('decimal')),
+   sta1: $('#sta1').val(),
+   bacteria: $('#bacteria').val(),
+   harvest_top: $('#harvest_top').val(),
+   harvest_time: $('#harvest_time').val(),
+   pitch_temperature: parseFloat($('#pitch_temperature').jqxNumberInput('decimal')),
+   pofpos: $('#pofpos').val(),
+   zymocide: $('#zymocide').val()
+  };
+  $('#jqxgrid').jqxGrid('addrow', null, row);
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var n_inventory, row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  if (dataRecord.form == 'Vloeibaar')
+   n_inventory = parseFloat($('#inventory').jqxNumberInput('decimal'));
+  else
+   n_inventory = parseFloat($('#inventory').jqxNumberInput('decimal')) / 1000.0;
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   type: $('#type').val(),
+   form: $('#form').val(),
+   laboratory: $('#laboratory').val(),
+   product_id: $('#product_id').val(),
+   min_temperature: parseFloat($('#min_temperature').jqxNumberInput('decimal')),
+   max_temperature: parseFloat($('#max_temperature').jqxNumberInput('decimal')),
+   flocculation: $('#flocculation').val(),
+   attenuation: parseFloat($('#attenuation').jqxNumberInput('decimal')),
+   notes: $('#notes').val(),
+   best_for: $('#best_for').val(),
+   max_reuse: parseInt($('#max_reuse').jqxNumberInput('decimal')),
+   inventory: n_inventory,
+   cost: parseFloat($('#cost').jqxNumberInput('decimal')),
+   production_date: $('#production_date').val(),
+   tht_date: $('#tht_date').val(),
+   cells: parseFloat($('#cells').jqxNumberInput('decimal')),
+   tolerance: parseFloat($('#tolerance').jqxNumberInput('decimal')),
+   sta1: $('#sta1').val(),
+   bacteria: $('#bacteria').val(),
+   harvest_top: $('#harvest_top').val(),
+   harvest_time: $('#harvest_time').val(),
+   pitch_temperature: parseFloat($('#pitch_temperature').jqxNumberInput('decimal')),
+   pofpos: $('#pofpos').val(),
+   zymocide: $('#zymocide').val(),
+   short_desc: $('#short_desc').val()
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/jquery-1.11.1-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-/* jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(d,c){"object"==typeof module&&"object"==typeof module.exports?module.exports=d.document?c(d,!0):function(b){if(!b.document){throw new Error("jQuery requires a window with a document")}return c(b)}:c(d)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++){if(null!=(e=arguments[h])){for(d in e){a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c))}}}return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return !m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a){return !1}return !0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a)){return !1}try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}if(k.ownLast){for(b in a){return j.call(a,b)}}for(b in a){}return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++){if(d=b.apply(a[e],c),d===!1){break}}}else{for(e in a){if(d=b.apply(a[e],c),d===!1){break}}}}else{if(g){for(;f>e;e++){if(d=b.call(a[e],e,a[e]),d===!1){break}}}else{for(e in a){if(d=b.call(a[e],e,a[e]),d===!1){break}}}}return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g){return g.call(b,a,c)}for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++){if(c in b&&b[c]===a){return c}}}return -1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d){a[e++]=b[d++]}if(c!==c){while(void 0!==b[d]){a[e++]=b[d++]}}return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++){d=!b(a[f],f),d!==h&&e.push(a[f])}return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h){for(;g>f;f++){d=b(a[f],f,c),null!=d&&i.push(d)}}else{for(f in a){d=b(a[f],f,c),null!=d&&i.push(d)}}return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return +new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++){if(this[b]===a){return b}}return -1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]){}a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a){return d}if(1!==(k=b.nodeType)&&9!==k){return[]}if(p&&!e){if(f=_.exec(a)){if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode){return d}if(h.id===j){return d.push(h),d}}else{if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j){return d.push(h),d}}}else{if(f[2]){return I.apply(d,b.getElementsByTagName(a)),d}if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName){return I.apply(d,b.getElementsByClassName(j)),d}}}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--){o[l]=s+qb(o[l])}w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x){try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return !!a(b)}catch(c){return !1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--){d.attrHandle[c[e]]=b}}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d){return d}if(c){while(c=c.nextSibling){if(c===b){return -1}}}return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--){c[e=f[g]]&&(c[e]=!(d[e]=c[e]))}})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++]){1===c.nodeType&&d.push(c)}return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return !0}}}return !1},B=b?function(a,b){if(a===b){return l=!0,0}var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b){return l=!0,0}var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g){return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0}if(f===g){return kb(a,b)}c=a;while(c=c.parentNode){h.unshift(c)}c=b;while(c=c.parentNode){i.unshift(c)}while(h[d]===i[d]){d++}return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b))){try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType){return d}}catch(e){}}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++]){b===a[f]&&(e=d.push(f))}while(e--){a.splice(d[e],1)}}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent){return a.textContent}for(a=a.firstChild;a;a=a.nextSibling){c+=e(a)}}else{if(3===f||4===f){return a.nodeValue}}}else{while(b=a[d++]){c+=e(b)}}return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return !0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return !!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p]){if(h?l.nodeName.toLowerCase()===r:1===l.nodeType){return !1}}o=p="only"===a&&!o&&"nextSibling"}return !0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}}else{if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w){m=j[1]}else{while(l=++n&&l&&l[p]||(m=n=0)||o.pop()){if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b)){break}}}}return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--){d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--){(f=g[h])&&(a[h]=!(b[h]=f))}}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do{if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang")){return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-")}}while((b=b.parentNode)&&1===b.nodeType);return !1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling){if(a.nodeType<6){return !1}}return !0},parent:function(a){return !d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2){a.push(c)}return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2){a.push(c)}return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;){a.push(d)}return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;){a.push(d)}return a})}},d.pseudos.nth=d.pseudos.eq;for(b in {radio:!0,checkbox:!0,file:!0,password:!0,image:!0}){d.pseudos[b]=lb(b)}for(b in {submit:!0,reset:!0}){d.pseudos[b]=mb(b)}function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k){return b?0:k.slice(0)}h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter){!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length))}if(!c){break}}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++){d+=a[b].value}return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d]){if(1===b.nodeType||e){return a(b,c,f)}}}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d]){if((1===b.nodeType||e)&&a(b,c,g)){return !0}}}else{while(b=b[d]){if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f){return j[2]=h[2]}if(i[d]=j,j[2]=a(b,c,g)){return !0}}}}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--){if(!a[e](b,c,d)){return !1}}return !0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++){fb(a,b[d],c)}return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++){(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h))}return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--){(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}}if(f){if(e||a){if(e){j=[],k=r.length;while(k--){(l=r[k])&&j.push(q[k]=l)}e(null,r=[],j,i)}k=r.length;while(k--){(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}}else{r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)}})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return !g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++){if(c=d.relative[a[i].type]){m=[rb(sb(m),c)]}else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++){if(d.relative[a[e].type]){break}}return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||0.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++]){if(o(l,g,h)){i.push(l);break}}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++]){o(r,s,g,h)}if(f){if(p>0){while(q--){r[q]||s[q]||(s[q]=G.call(i))}}s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--){f=wb(b[c]),f[u]?d.push(f):e.push(f)}f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b){return e}n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type]){break}if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a){return I.apply(e,f),e}break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b)){return m.grep(a,function(a,d){return !!b.call(a,d,a)!==c})}if(b.nodeType){return m.grep(a,function(a){return a===b!==c})}if("string"==typeof b){if(v.test(b)){return m.filter(b,a,c)}b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a){return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++){if(m.contains(d[b],this)){return !0}}}))}for(b=0;e>b;b++){m.find(a,d[b],c)}return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return !!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a){return this}if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b){return !b||b.jquery?(b||x).find(a):this.constructor(b).find(a)}if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b)){for(c in b){m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c])}}return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2]){return x.find(a)}this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c))){1===e.nodeType&&d.push(e),e=e[b]}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling){1===a.nodeType&&a!==b&&c.push(a)}return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++){if(m.contains(this,c[b])){return !0}}})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++){for(c=this[d];c&&c!==b;c=c.parentNode){if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}}}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++){if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1){h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return !h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return !i},fireWith:function(a,c){return !h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return !!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1){for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++){c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f}}return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body){return setTimeout(m.ready)}m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H){if(H=m.Deferred(),"complete"===y.readyState){setTimeout(m.ready)}else{if(y.addEventListener){y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1)}else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}}}return H.promise(b)};var K="undefined",L;for(L in m(k)){break}k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else{c=void 0}}return c}function P(a){var b;for(b in a){if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b){return !1}}return !0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b){return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--){delete d[b[e]]}if(c?!P(d):!m.isEmptyObject(d)){return}}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--){g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])))}m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--){c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h))}return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c){m.access(a,b,h,c[h],!0,f,g)}}else{if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b)){for(;i>h;h++){b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)))}}}return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in {submit:!0,change:!0,focusin:!0}){c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1)}d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return !0}function bb(){return !1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--){f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0)}a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--){if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--){g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g))}i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else{for(o in k){m.event.remove(a,o+b[j],c,d,!0)}}}m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode){o.push(h),l=h}l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped()){b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault())}if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped()){(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type)){for(;i!=this;i=i.parentNode||this){if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++){d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d)}e.length&&g.push({elem:i,handlers:e})}}}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando]){return a}var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--){c=d[b],a[c]=f[c]}return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus){try{return this.focus(),!1}catch(a){}}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void (this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a){this.on(f,b,c,a[f],e)}return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1){d=bb}else{if(!d){return this}}return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj){return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this}if("object"==typeof a){for(e in a){this.off(e,b,a[e])}return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement){while(b.length){c.createElement(b.pop())}}return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f){for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++){!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b))}}return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++){m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h){for(d=0,e=h[c].length;e>d;d++){m.event.add(b,c,h[c][d])}}}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events){m.removeEvent(b,d,e.handle)}b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a))){for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g){d[g]&&Bb(e,d[g])}}if(b){if(c){for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++){Ab(e,d[g])}}else{Ab(a,f)}}return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++){if(f=a[q],f||0===f){if("object"===m.type(f)){m.merge(p,f.nodeType?[f]:f)}else{if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--){h=h.lastChild}if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--){m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild){h.removeChild(h.firstChild)}h=o.lastChild}else{p.push(b.createTextNode(f))}}}}h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++]){if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++]){ob.test(f.type||"")&&c.push(f)}}}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++){if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events){for(e in g.events){n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle)}}j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++){b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c))}return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild){a.removeChild(a.firstChild)}a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a){return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0}if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++){b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a)}b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p)){return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)})}if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++){d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j)}if(f){for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++){d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")))}}i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++){c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get())}return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a){return a}a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c){return c?void delete this.get:(this.get=b).apply(this,arguments)}}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b){g[f]=a.style[f],a.style[f]=b[f]}e=c.apply(a,d||[]);for(f in b){a.style[f]=g[f]}return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a){return b}var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--){if(b=Tb[e]+c,b in a){return b}}return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++){d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))))}for(g=0;h>g;g++){d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"))}return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2){"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)))}return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e)){return e}d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c){return g&&"get" in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]}if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set" in g&&void 0===(c=g.set(a,c,d))))){try{i[b]=c}catch(j){}}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get" in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?0.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++){e[a+T[d]+b]=f[d]||f[d-2]||f[0]}return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++){f[b[g]]=m.css(a,b[g],!1,d)}return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return 0.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do{h=h||".5",g/=h,m.style(c.elem,a,g+f)}while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b){c=T[e],d["margin"+c]=d["padding"+c]=a}return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++){if(d=e[f].call(c,b,a)){return d}}}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height" in b||"width" in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b){if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d]){continue}q=!0}o[d]=r&&r[d]||m.style(a,d)}else{j=void 0}}if(m.isEmptyObject(o)){"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j)}else{r?"hidden" in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o){m.style(a,b,o[b])}});for(d in o){g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}}function jc(a,b){var c,d,e,f,g;for(c in a){if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand" in g){f=g.expand(f),delete a[d];for(c in f){c in a||(a[c]=f[c],b[c]=e)}}else{b[d]=e}}}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e){return !1}for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++){j.tweens[g].run(f)}return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e){return this}for(e=!0;d>c;c++){j.tweens[c].run(1)}return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++){if(d=dc[f].call(j,a,k,j.opts)){return d}}return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++){c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)}},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e){g[e]&&g[e].stop&&d(g[e])}else{for(e in g){g[e]&&g[e].stop&&cc.test(e)&&d(g[e])}}for(e=f.length;e--;){f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1))}(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;){f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1))}for(b=0;g>b;b++){d[b]&&d[b].finish&&d[b].finish.call(this)}delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++){a=b[c],a()||b[c]!==a||b.splice(c--,1)}b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];if(arguments.length){return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set" in b&&void 0!==b.set(this,e,"value")||(this.value=e))})}if(e){return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get" in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++){if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f){return b}g.push(b)}}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--){if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0){try{d.selected=c=!0}catch(h){d.scrollHeight}}else{d.selected=!1}}return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f){return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get" in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set" in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType){while(c=f[e++]){d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)}}},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void (a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g){return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set" in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get" in e&&null!==(d=e.get(a,b))?d:a[b]}},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a)){return this.each(function(b){m(this).addClass(a.call(this,b,this.className))})}if(j){for(b=(a||"").match(E)||[];i>h;h++){if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++]){d.indexOf(" "+e+" ")<0&&(d+=e+" ")}g=m.trim(d),c.className!==g&&(c.className=g)}}}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a)){return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))})}if(j){for(b=(a||"").match(E)||[];i>h;h++){if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++]){while(d.indexOf(" "+e+" ")>=0){d=d.replace(" "+e+" "," ")}}g=a?m.trim(d):"",c.className!==g&&(c.className=g)}}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++]){e.hasClass(b)?e.removeClass(b):e.addClass(b)}}else{(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")}})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++){if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0){return !0}}return !1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse){return a.JSON.parse(b+"")}var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b){return null}try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c)){while(d=f[e++]){"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b){void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d])}return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0]){i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"))}if(e){for(g in h){if(h[g]&&h[g].test(e)){i.unshift(g);break}}}if(i[0] in c){f=i[0]}else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1]){for(g in a.converters){j[g.toLowerCase()]=a.converters[g]}}f=k.shift();while(f){if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift()){if("*"===f){f=i}else{if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g){for(e in j){if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}}}if(g!==!0){if(g&&a["throws"]){b=g(b)}else{try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}}}}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f)){j[b[1].toLowerCase()]=b[2]}}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a){if(2>t){for(b in a){q[b]=[q[b],a[b]]}}else{v.always(a[v.status])}}return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t){return v}h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers){v.setRequestHeader(d,k.headers[d])}if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t)){return v.abort()}u="abort";for(d in {success:1,error:1,complete:1}){v[d](k[d])}if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t)){throw w}x(-1,w)}}else{x(-1,"No Transport")}function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a)){return this.each(function(b){m(this).wrapAll(a.call(this,b))})}if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType){a=a.firstChild}return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return !m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b)){m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)})}else{if(c||"object"!==m.type(b)){d(a,b)}else{for(e in b){Vc(a+"["+e+"]",b[e],c,d)}}}}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a)){m.each(a,function(){e(this.name,this.value)})}else{for(c in a){Vc(c,a[c],b,e)}}return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return !this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc){Xc[a](void 0,!0)}}),k.cors=!!Yc&&"withCredentials" in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields){for(e in a.xhrFields){f[e]=a.xhrFields[e]}}a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c){void 0!==c[e]&&f.setRequestHeader(e,c[e]+"")}f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState)){if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e){4!==f.readyState&&f.abort()}else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a){return null}"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd){return bd.apply(this,arguments)}var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using" in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length){return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)})}var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f){return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d}},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position")){a=a.offsetParent}return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void (f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
\ No newline at end of file
--- a/www/js/log_brew-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"version",type:"int"},{name:"code",type:"string"},{name:"name",type:"string"},{name:"pv_mlt",type:"float"},{name:"pv_hlt",type:"float"},{name:"pv_room",type:"float"},{name:"sp_mlt",type:"float"},{name:"sp_hlt",type:"float"},{name:"pwm_mlt",type:"int"},{name:"pwm_hlt",type:"int"},{name:"event",type:"string"}],url:"getbrewlog.php?code="+my_code},c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}}),b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getHours()+":"+e.getMinutes()},toolTipFormatFunction:function(g){var f=g.getHours(),e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:300,},colorScheme:"scheme01",seriesGroups:[{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"pv_mlt",lineWidth:2,displayText:"MLT"},{dataField:"sp_mlt",lineWidth:1,displayText:"mlt",opacity:0.7},{dataField:"pv_hlt",lineWidth:1,displayText:"HLT"},{dataField:"sp_hlt",lineWidth:1,displayText:"hlt",opacity:0.7},{dataField:"pv_room",lineWidth:1,displayText:"Room",opacity:0.5}]}]};$("#brew_chart").jqxChart(b);$("#print").click(function(){var g=$("#brew_chart")[0].outerHTML,h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" brouwdag</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#brew_chart").jqxChart("saveAsPDF","brouw_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#brew_chart").jqxChart("saveAsPNG","brouw_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
--- a/www/js/log_brew.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/log_brew.js	Fri May 01 16:37:31 2020 +0200
@@ -21,121 +21,116 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-
-	$('#jqxMenu').jqxMenu('destroy');
+$(document).ready(function() {
 
-	$("#jqxLoader").jqxLoader({
-		width: 250,
-		height: 150,
-		isModal: true,
-		text: "Opmaken grafiek ...",
-		theme: theme
-	});
-	$('#jqxLoader').jqxLoader('open');
+ $('#jqxMenu').jqxMenu('destroy');
+ $('#jqxLoader').jqxLoader({
+  width: 250,
+  height: 150,
+  isModal: true,
+  text: 'Opmaken grafiek ...',
+  theme: theme
+ });
+ $('#jqxLoader').jqxLoader('open');
 
-	function getExportServer() {
-		return "https://www.jqwidgets.com/export_server/export.php";
-	}
+ function getExportServer() {
+  return 'https://www.jqwidgets.com/export_server/export.php';
+ }
 
-	var sourceA = {
-		datatype: "json",
-		datafields: [
-			{ name: "date", type: "date", format: "yyyy-MM-dd HH:mm" },
-			{ name: "version", type: "int" },
-			{ name: "code", type: "string" },
-			{ name: "name", type: "string" },
-			{ name: "pv_mlt", type: "float" },
-			{ name: "pv_hlt", type: "float" },
-			{ name: "pv_room", type: "float" },
-			{ name: "sp_mlt", type: "float" },
-			{ name: "sp_hlt", type: "float" },
-			{ name: "pwm_mlt", type: "int" },
-			{ name: "pwm_hlt", type: "int" },
-			{ name: "event", type: "string" }
-		],
-		url: 'getbrewlog.php?code=' + my_code
-	},
-	dataAdapter = new $.jqx.dataAdapter(sourceA, {
-		autoBind: true,
-		async: false,
-		loadComplete: function () {
-			$('#jqxLoader').jqxLoader('close');
-		},
-		loadError: function (jqXHR, status, error) {
-		}
-	}),
-	settings = {
-		 title: my_code + ' "' + my_name + '"',
-		 description: "",
-		 source: dataAdapter,
-		 xAxis: {
-			dataField: 'date',
-			type: 'date',
-			formatFunction: function (value) {
-				return value.getHours() + ':' + value.getMinutes();
-			},
-			toolTipFormatFunction: function (value) {
-				var h = value.getHours(),
-				m = value.getMinutes();
-				return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
-					 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
-			},
-			textRotationAngle: 300,
-		 },
-		 colorScheme: 'scheme01',
-		 seriesGroups: [
-			{
-				type: 'spline',
-				valueAxis: {
-					minValue: 0,
-					description: 'Graden C'
-				},
-				series: [
-					{ dataField: "pv_mlt", lineWidth: 2, displayText: "MLT" },
-					{ dataField: "sp_mlt", lineWidth: 1, displayText: "mlt", opacity: 0.7 },
-					{ dataField: "pv_hlt", lineWidth: 1, displayText: "HLT" },
-					{ dataField: "sp_hlt", lineWidth: 1, displayText: "hlt", opacity: 0.7 },
-					{ dataField: "pv_room", lineWidth: 1, displayText: "Room", opacity: 0.5 }
-				]
-			}
-		 ]
-	};
-	$("#brew_chart").jqxChart(settings);
+ var sourceA = {
+  datatype: 'json',
+  datafields: [
+   { name: 'date', type: 'date', format: 'yyyy-MM-dd HH:mm' },
+   { name: 'version', type: 'int' },
+   { name: 'code', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'pv_mlt', type: 'float' },
+   { name: 'pv_hlt', type: 'float' },
+   { name: 'pv_room', type: 'float' },
+   { name: 'sp_mlt', type: 'float' },
+   { name: 'sp_hlt', type: 'float' },
+   { name: 'pwm_mlt', type: 'int' },
+   { name: 'pwm_hlt', type: 'int' },
+   { name: 'event', type: 'string' }
+  ],
+  url: 'getbrewlog.php?code=' + my_code
+ },
+ dataAdapter = new $.jqx.dataAdapter(sourceA, {
+  autoBind: true,
+  async: false,
+  loadComplete: function() {
+   $('#jqxLoader').jqxLoader('close');
+  },
+  loadError: function(jqXHR, status, error) {
+  }
+ }),
+ settings = {
+  title: my_code + ' "' + my_name + '"',
+  description: '',
+  source: dataAdapter,
+  xAxis: {
+   dataField: 'date',
+   type: 'date',
+   formatFunction: function(value) {
+    return value.getHours() + ':' + value.getMinutes();
+   },
+   toolTipFormatFunction: function(value) {
+    var h = value.getHours(), m = value.getMinutes();
+    return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear() +
+      ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
+   },
+   textRotationAngle: 300,
+  },
+  colorScheme: 'scheme01',
+  seriesGroups: [{
+   type: 'spline',
+   valueAxis: {
+    minValue: 0,
+    description: 'Graden C'
+   },
+   series: [
+    { dataField: 'pv_mlt', lineWidth: 2, displayText: 'MLT' },
+    { dataField: 'sp_mlt', lineWidth: 1, displayText: 'mlt', opacity: 0.7 },
+    { dataField: 'pv_hlt', lineWidth: 1, displayText: 'HLT' },
+    { dataField: 'sp_hlt', lineWidth: 1, displayText: 'hlt', opacity: 0.7 },
+    { dataField: 'pv_room', lineWidth: 1, displayText: 'Ruimte', opacity: 0.5 }
+   ]
+  }]
+ };
+ $('#brew_chart').jqxChart(settings);
 
-	$("#print").click(function () {
-		var content = $("#brew_chart")[0].outerHTML,
-		newWindow = window.open("", "", "width=865, height=425"),
-		document = newWindow.document.open(),
-		pageContent =
-			'<!DOCTYPE html>' +
-			'<html>' +
-			'<head>' +
-			'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
-			'<meta charset="utf-8" />' +
-			'<title>' + my_code + ' ' + my_name + ' brouwdag</title>' +
-			'</head>' +
-			'<body>' + content + '</body></html>';
-		document.write(pageContent);
-		document.close();
-		newWindow.print();
-	});
-	$("#print").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#print').click(function() {
+  var content = $('#brew_chart')[0].outerHTML,
+  newWindow = window.open('', '', 'width=865, height=425'),
+  document = newWindow.document.open(),
+  pageContent =
+   '<!DOCTYPE html>' +
+   '<html>' +
+   '<head>' +
+   '<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
+   '<meta charset="utf-8" />' +
+   '<title>' + my_code + ' ' + my_name + ' brouwdag</title>' +
+   '</head>' +
+   '<body>' + content + '</body></html>';
+  document.write(pageContent);
+  document.close();
+  newWindow.print();
+ });
+ $('#print').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-
-	$("#pdfButton").click(function () {
-		$("#brew_chart").jqxChart("saveAsPDF", "brouw_"+my_code+".pdf", getExportServer());
-	});
-	$("#pdfButton").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#pdfButton').click(function() {
+  $('#brew_chart').jqxChart('saveAsPDF', 'brouw_' + my_code + '.pdf', getExportServer());
+ });
+ $('#pdfButton').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-	$("#pngButton").click(function () {
-		$("#brew_chart").jqxChart("saveAsPNG", "brouw_"+my_code+".png", getExportServer());
-	});
-	$("#pngButton").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#pngButton').click(function() {
+  $('#brew_chart').jqxChart('saveAsPNG', 'brouw_' + my_code + '.png', getExportServer());
+ });
+ $('#pngButton').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-	$("#Close").jqxButton({ template: "success", width: 125, theme: theme });
-	$("#Close").click(function () {
-		window.close();
-	});
+ $('#Close').jqxButton({ template: 'success', width: 125, theme: theme });
+ $('#Close').click(function() {
+  window.close();
+ });
 });
 
--- a/www/js/log_co2pressure-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"temperature",type:"float"},{name:"pressure",type:"float"},{name:"uuid",type:"string"}],url:"getco2pressurelog.php?code="+my_code+"&name="+my_name},c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}}),b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getDate()+"-"+(e.getMonth()+1)+"-"+e.getFullYear()},toolTipFormatFunction:function(g){var f=g.getHours(),e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:45,howGridLines:false},colorScheme:"scheme01",seriesGroups:[{type:"area",valueAxis:{minValue:0,displayValueAxis:false,description:"Druk in bar"},series:[{dataField:"pressure",lineWidth:1,displayText:"Druk",opacity:0.4}]},{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"temperature",lineWidth:1,displayText:"Temperatuur"}]}]};$("#pressure_chart").jqxChart(b);$("#print").click(function(){var g=$("#pressure_chart")[0].outerHTML,h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" hergisting</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#pressure_chart").jqxChart("saveAsPDF","hergisting_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#pressure_chart").jqxChart("saveAsPNG","hergisting_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
--- a/www/js/log_co2pressure.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/log_co2pressure.js	Fri May 01 16:37:31 2020 +0200
@@ -21,121 +21,107 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-
-	$('#jqxMenu').jqxMenu('destroy');
+$(document).ready(function() {
 
-	$("#jqxLoader").jqxLoader({
-		width: 250,
-		height: 150,
-		isModal: true,
-		text: "Opmaken grafiek ...",
-		theme: theme
-	});
-	$('#jqxLoader').jqxLoader('open');
+ $('#jqxMenu').jqxMenu('destroy');
+ $('#jqxLoader').jqxLoader({
+  width: 250,
+  height: 150,
+  isModal: true,
+  text: 'Opmaken grafiek ...',
+  theme: theme
+ });
+ $('#jqxLoader').jqxLoader('open');
 
-	function getExportServer() {
-		return "https://www.jqwidgets.com/export_server/export.php";
-	}
+ function getExportServer() {
+  return 'https://www.jqwidgets.com/export_server/export.php';
+ }
 
-	var sourceA = {
-		datatype: "json",
-		datafields: [
-			{ name: "date", type: "date", format: "yyyy-MM-dd HH:mm" },
-			{ name: "temperature", type: "float" },
-			{ name: "pressure", type: "float" },
-			{ name: "uuid", type: "string" }
-		],
-		url: 'getco2pressurelog.php?code=' + my_code + '&name=' + my_name
-	},
-	dataAdapter = new $.jqx.dataAdapter(sourceA, {
-		autoBind: true,
-		async: false,
-		loadComplete: function () {
-			$('#jqxLoader').jqxLoader('close');
-		},
-		loadError: function (jqXHR, status, error) {
-		}
-	}),
-	settings = {
-		 title: my_code + ' "' + my_name + '"',
-		 description: "",
-		 source: dataAdapter,
-		 xAxis: {
-			 dataField: 'date',
-			 type: 'date',
-			 formatFunction: function (value) {
-				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
-			 },
-			 toolTipFormatFunction: function (value) {
-				 var h = value.getHours(),
-				 m = value.getMinutes();
-				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
-					 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
-			 },
-			 textRotationAngle: 45,
-			 howGridLines: false
-		 },
-		 colorScheme: 'scheme01',
-		 seriesGroups: [
-			{
-                                type: "area",
-                                valueAxis: {
-                                        minValue: 0,
-                                        displayValueAxis: false,
-                                        description: "Druk in bar"
-                                },
-                                series: [
-                                        { dataField: "pressure", lineWidth: 1, displayText: "Druk", opacity: 0.4 }
-                                ]
-                        },
-			{
-				type: 'spline',
-				valueAxis: {
-					minValue: 0,
-					description: 'Graden C'
-				},
-				series: [
-					{ dataField: "temperature", lineWidth: 1, displayText: "Temperatuur" }
-				]
-			}
-		 ]
-	};
-	$("#pressure_chart").jqxChart(settings);
+ var sourceA = {
+  datatype: 'json',
+  datafields: [
+   { name: 'date', type: 'date', format: 'yyyy-MM-dd HH:mm' },
+   { name: 'temperature', type: 'float' },
+   { name: 'pressure', type: 'float' },
+   { name: 'uuid', type: 'string' }
+  ],
+  url: 'getco2pressurelog.php?code=' + my_code + '&name=' + my_name
+ },
+ dataAdapter = new $.jqx.dataAdapter(sourceA, {
+  autoBind: true,
+  async: false,
+  loadComplete: function() {
+   $('#jqxLoader').jqxLoader('close');
+  },
+  loadError: function(jqXHR, status, error) {
+  }
+ }),
+ settings = {
+  title: my_code + ' "' + my_name + '"',
+  description: '',
+  source: dataAdapter,
+  xAxis: {
+   dataField: 'date',
+   type: 'date',
+   formatFunction: function(value) {
+    return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
+   },
+   toolTipFormatFunction: function(value) {
+    var h = value.getHours(), m = value.getMinutes();
+    return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear() +
+      ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
+   },
+   textRotationAngle: 45,
+   howGridLines: false
+  },
+  colorScheme: 'scheme01',
+  seriesGroups: [
+   {
+    type: 'area',
+    valueAxis: { minValue: 0, displayValueAxis: false, description: 'Druk in bar' },
+    series: [{ dataField: 'pressure', lineWidth: 1, displayText: 'Druk', opacity: 0.4 }]
+   },
+   {
+    type: 'spline',
+    valueAxis: { minValue: 0, description: 'Graden C' },
+    series: [{ dataField: 'temperature', lineWidth: 1, displayText: 'Temperatuur' }]
+   }
+  ]
+ };
+ $('#pressure_chart').jqxChart(settings);
 
-	$("#print").click(function () {
-		var content = $("#pressure_chart")[0].outerHTML,
-		newWindow = window.open("", "", "width=865, height=425"),
-		document = newWindow.document.open(),
-		pageContent =
-			'<!DOCTYPE html>' +
-			'<html>' +
-			'<head>' +
-			'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
-			'<meta charset="utf-8" />' +
-			'<title>' + my_code + ' ' + my_name + ' hergisting</title>' +
-			'</head>' +
-			'<body>' + content + '</body></html>';
-		document.write(pageContent);
-		document.close();
-		newWindow.print();
-	});
-	$("#print").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#print').click(function() {
+  var content = $('#pressure_chart')[0].outerHTML,
+  newWindow = window.open('', '', 'width=865, height=425'),
+  document = newWindow.document.open(),
+  pageContent =
+   '<!DOCTYPE html>' +
+   '<html>' +
+   '<head>' +
+   '<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
+   '<meta charset="utf-8" />' +
+   '<title>' + my_code + ' ' + my_name + ' hergisting</title>' +
+   '</head>' +
+   '<body>' + content + '</body></html>';
+  document.write(pageContent);
+  document.close();
+  newWindow.print();
+ });
+ $('#print').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-
-	$("#pdfButton").click(function () {
-		$("#pressure_chart").jqxChart("saveAsPDF", "hergisting_"+my_code+".pdf", getExportServer());
-	});
-	$("#pdfButton").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#pdfButton').click(function() {
+  $('#pressure_chart').jqxChart('saveAsPDF', 'hergisting_' + my_code + '.pdf', getExportServer());
+ });
+ $('#pdfButton').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-	$("#pngButton").click(function () {
-		$("#pressure_chart").jqxChart("saveAsPNG", "hergisting_"+my_code+".png", getExportServer());
-	});
-	$("#pngButton").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#pngButton').click(function() {
+  $('#pressure_chart').jqxChart('saveAsPNG', 'hergisting_' + my_code + '.png', getExportServer());
+ });
+ $('#pngButton').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-	$("#Close").jqxButton({ template: "success", width: 125, theme: theme });
-	$("#Close").click(function () {
-		window.close();
-	});
+ $('#Close').jqxButton({ template: 'success', width: 125, theme: theme });
+ $('#Close').click(function() {
+  window.close();
+ });
 });
 
--- a/www/js/log_fermentation-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"air",type:"float"},{name:"beer",type:"float"},{name:"chiller",type:"float"},{name:"room",type:"float"},{name:"tlo",type:"float"},{name:"thi",type:"float"},{name:"heater",type:"int"},{name:"cooler",type:"int"},{name:"event",type:"string"}],url:"getfermentlog.php?code="+my_code+"&name="+my_name},c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}}),b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getDate()+"-"+(e.getMonth()+1)+"-"+e.getFullYear()},toolTipFormatFunction:function(g){var f=g.getHours(),e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:45,howGridLines:false,rangeSelector:{size:90,dataField:"beer",serieType:"line",gridLines:{visible:false},}},colorScheme:"scheme01",seriesGroups:[{type:"area",valueAxis:{minValue:0,maxValue:100,displayValueAxis:false,description:"Heat/Cool %"},series:[{dataField:"cooler",lineWidth:1,displayText:"Cool %",opacity:0.4},{dataField:"heater",lineWidth:1,displayText:"Heat %",opacity:0.3}]},{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"air",lineWidth:1,displayText:"Air"},{dataField:"beer",lineWidth:2,displayText:"Beer"},{dataField:"tlo",lineWidth:1,displayText:"Target Lo",opacity:0.7},{dataField:"thi",lineWidth:1,displayText:"Target Hi",opacity:0.7},{dataField:"room",lineWidth:1,displayText:"Room",opacity:0.5},{dataField:"chiller",lineWidth:1,displayText:"Chiller",color:"#0000bb"}]}]};$("#fermenter_chart").jqxChart(b);$("#print").click(function(){var g=$("#fermenter_chart")[0].outerHTML,h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" vergisting</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#fermenter_chart").jqxChart("saveAsPDF","vergisting_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#fermenter_chart").jqxChart("saveAsPNG","vergisting_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
--- a/www/js/log_fermentation.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/log_fermentation.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2019
+ * Copyright (C) 2019-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -21,140 +21,138 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	$('#jqxMenu').jqxMenu('destroy');
+ $('#jqxMenu').jqxMenu('destroy');
 
-	$("#jqxLoader").jqxLoader({
-		width: 250,
-		height: 150,
-		isModal: true,
-		text: "Opmaken grafiek ...",
-		theme: theme
-	});
-	$('#jqxLoader').jqxLoader('open');
+ $('#jqxLoader').jqxLoader({
+  width: 250,
+  height: 150,
+  isModal: true,
+  text: 'Opmaken grafiek ...',
+  theme: theme
+ });
+ $('#jqxLoader').jqxLoader('open');
 
-	function getExportServer() {
-		return "https://www.jqwidgets.com/export_server/export.php";
-	}
+ function getExportServer() {
+  return 'https://www.jqwidgets.com/export_server/export.php';
+ }
 
-	var sourceA = {
-		datatype: "json",
-		datafields: [
-			{ name: "date", type: "date", format: "yyyy-MM-dd HH:mm" },
-			{ name: "air", type: "float" },
-			{ name: "beer", type: "float" },
-			{ name: "chiller", type: "float" },
-			{ name: "room", type: "float" },
-			{ name: "tlo", type: "float" },
-			{ name: "thi", type: "float" },
-			{ name: "heater", type: "int" },
-			{ name: "cooler", type: "int" },
-			{ name: "event", type: "string" }
-		],
-		url: 'getfermentlog.php?code=' + my_code + '&name=' + my_name
-	},
-	dataAdapter = new $.jqx.dataAdapter(sourceA, {
-		autoBind: true,
-		async: false,
-		loadComplete: function () {
-			$('#jqxLoader').jqxLoader('close');
-		},
-		loadError: function (jqXHR, status, error) {
-		}
-	}),
-	settings = {
-		 title: my_code + ' "' + my_name + '"',
-		 description: "",
-		 source: dataAdapter,
-		 xAxis: {
-			 dataField: 'date',
-			 type: 'date',
-			 formatFunction: function (value) {
-				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
-			 },
-			 toolTipFormatFunction: function (value) {
-				 var h = value.getHours(),
-				 m = value.getMinutes();
-				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
-					 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
-			 },
-			 textRotationAngle: 45,
-			 howGridLines: false,
-			 rangeSelector: {
-				size: 90,
-				dataField: 'beer',
-				serieType: 'line',
-				gridLines: {visible: false},
-			}
-		 },
-		 colorScheme: 'scheme01',
-		 seriesGroups: [
-		 	{
-				type: "area",
-				valueAxis: {
-					minValue: 0,
-					maxValue: 100,
-					displayValueAxis: false,
-					description: "Heat/Cool %"
-				},
-				series: [
-			 		{ dataField: "cooler", lineWidth: 1, displayText: "Cool %", opacity: 0.4 },
-			 		{ dataField: "heater", lineWidth: 1, displayText: "Heat %", opacity: 0.3 }
-			 	]
-		 	},
-			{
-				type: 'spline',
-				valueAxis: {
-					minValue: 0,
-					description: 'Graden C'
-				},
-				series: [
-					{ dataField: "air", lineWidth: 1, displayText: "Air" },
-					{ dataField: "beer", lineWidth: 2, displayText: "Beer" },
-					{ dataField: "tlo", lineWidth: 1, displayText: "Target Lo", opacity: 0.7 },
-					{ dataField: "thi", lineWidth: 1, displayText: "Target Hi", opacity: 0.7 },
-					{ dataField: "room", lineWidth: 1, displayText: "Room", opacity: 0.5 },
-					{ dataField: "chiller", lineWidth: 1, displayText: "Chiller", color: '#0000bb' }
-				]
-			}
-		 ]
-	};
-	$("#fermenter_chart").jqxChart(settings);
+ var sourceA = {
+  datatype: 'json',
+  datafields: [
+   { name: 'date', type: 'date', format: 'yyyy-MM-dd HH:mm' },
+   { name: 'air', type: 'float' },
+   { name: 'beer', type: 'float' },
+   { name: 'chiller', type: 'float' },
+   { name: 'room', type: 'float' },
+   { name: 'tlo', type: 'float' },
+   { name: 'thi', type: 'float' },
+   { name: 'heater', type: 'int' },
+   { name: 'cooler', type: 'int' },
+   { name: 'event', type: 'string' }
+  ],
+  url: 'getfermentlog.php?code=' + my_code + '&name=' + my_name
+ },
+ dataAdapter = new $.jqx.dataAdapter(sourceA, {
+  autoBind: true,
+  async: false,
+  loadComplete: function() {
+   $('#jqxLoader').jqxLoader('close');
+  },
+  loadError: function(jqXHR, status, error) {
+  }
+ }),
+ settings = {
+   title: my_code + ' "' + my_name + '"',
+   description: '',
+   source: dataAdapter,
+   xAxis: {
+    dataField: 'date',
+    type: 'date',
+    formatFunction: function(value) {
+     return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
+    },
+    toolTipFormatFunction: function(value) {
+     var h = value.getHours(), m = value.getMinutes();
+     return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear() +
+      ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
+    },
+    textRotationAngle: 45,
+    howGridLines: false,
+    rangeSelector: {
+    size: 90,
+    dataField: 'beer',
+    serieType: 'line',
+    gridLines: {visible: false},
+   }
+   },
+   colorScheme: 'scheme01',
+   seriesGroups: [
+    {
+    type: 'area',
+    valueAxis: {
+     minValue: 0,
+     maxValue: 100,
+     displayValueAxis: false,
+     description: 'Verwarm/Koel %'
+    },
+    series: [
+      { dataField: 'cooler', lineWidth: 1, displayText: 'Koel %', opacity: 0.4 },
+      { dataField: 'heater', lineWidth: 1, displayText: 'Verwarm %', opacity: 0.3 }
+     ]
+    },
+   {
+    type: 'spline',
+    valueAxis: {
+     minValue: 0,
+     description: 'Graden C'
+    },
+    series: [
+     { dataField: 'air', lineWidth: 1, displayText: 'Lucht' },
+     { dataField: 'beer', lineWidth: 2, displayText: 'Bier' },
+     { dataField: 'tlo', lineWidth: 1, displayText: 'Doel laag', opacity: 0.7 },
+     { dataField: 'thi', lineWidth: 1, displayText: 'Doel hoog', opacity: 0.7 },
+     { dataField: 'room', lineWidth: 1, displayText: 'Ruimte', opacity: 0.5 },
+     { dataField: 'chiller', lineWidth: 1, displayText: 'Koeler', color: '#0000bb' }
+    ]
+   }
+   ]
+ };
+ $('#fermenter_chart').jqxChart(settings);
 
-	$("#print").click(function () {
-		var content = $("#fermenter_chart")[0].outerHTML,
-		newWindow = window.open("", "", "width=865, height=425"),
-		document = newWindow.document.open(),
-		pageContent =
-			'<!DOCTYPE html>' +
-			'<html>' +
-			'<head>' +
-			'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
-			'<meta charset="utf-8" />' +
-			'<title>' + my_code + ' ' + my_name + ' vergisting</title>' +
-			'</head>' +
-			'<body>' + content + '</body></html>';
-		document.write(pageContent);
-		document.close();
-		newWindow.print();
-	});
-	$("#print").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#print').click(function() {
+  var content = $('#fermenter_chart')[0].outerHTML,
+  newWindow = window.open('', '', 'width=865, height=425'),
+  document = newWindow.document.open(),
+  pageContent =
+   '<!DOCTYPE html>' +
+   '<html>' +
+   '<head>' +
+   '<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
+   '<meta charset="utf-8" />' +
+   '<title>' + my_code + ' ' + my_name + ' klimaatkast</title>' +
+   '</head>' +
+   '<body>' + content + '</body></html>';
+  document.write(pageContent);
+  document.close();
+  newWindow.print();
+ });
+ $('#print').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-
-	$("#pdfButton").click(function () {
-		$("#fermenter_chart").jqxChart("saveAsPDF", "vergisting_"+my_code+".pdf", getExportServer());
-	});
-	$("#pdfButton").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#pdfButton').click(function() {
+  $('#fermenter_chart').jqxChart('saveAsPDF', 'klimaatkast_' + my_code + '.pdf', getExportServer());
+ });
+ $('#pdfButton').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-	$("#pngButton").click(function () {
-		$("#fermenter_chart").jqxChart("saveAsPNG", "vergisting_"+my_code+".png", getExportServer());
-	});
-	$("#pngButton").jqxButton({ template: "primary", width: 125, theme: theme });
+ $('#pngButton').click(function() {
+  $('#fermenter_chart').jqxChart('saveAsPNG', 'klimaatkast_' + my_code + '.png', getExportServer());
+ });
+ $('#pngButton').jqxButton({ template: 'primary', width: 125, theme: theme });
 
-	$("#Close").jqxButton({ template: "success", width: 125, theme: theme });
-	$("#Close").click(function () {
-		window.close();
-	});
+ $('#Close').jqxButton({ template: 'success', width: 125, theme: theme });
+ $('#Close').click(function() {
+  window.close();
+ });
 });
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/js/log_ispindel.js	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,133 @@
+/*****************************************************************************
+ * Copyright (C) 2020
+ *
+ * Michiel Broek <mbroek at mbse dot eu>
+ *
+ * This file is part of BMS
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * Brewery Managment System  is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with ThermFerm; see the file COPYING.  If not, write to the Free
+ * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ *****************************************************************************/
+
+
+$(document).ready(function() {
+
+ $('#jqxMenu').jqxMenu('destroy');
+ $('#jqxLoader').jqxLoader({
+  width: 250,
+  height: 150,
+  isModal: true,
+  text: 'Opmaken grafiek ...',
+  theme: theme
+ });
+ $('#jqxLoader').jqxLoader('open');
+
+ function getExportServer() {
+  return 'https://www.jqwidgets.com/export_server/export.php';
+ }
+
+ var sourceA = {
+  datatype: 'json',
+  datafields: [
+   { name: 'date', type: 'date', format: 'yyyy-MM-dd HH:mm' },
+   { name: 'temperature', type: 'float' },
+   { name: 'plato', type: 'float' },
+   { name: 'sg', type: 'float' },
+   { name: 'battery', type: 'float' }
+  ],
+  url: 'getispindellog.php?code=' + my_code + '&name=' + my_name
+ },
+ dataAdapter = new $.jqx.dataAdapter(sourceA, {
+  autoBind: true,
+  async: false,
+  loadComplete: function() {
+   $('#jqxLoader').jqxLoader('close');
+  },
+  loadError: function(jqXHR, status, error) {
+  }
+ }),
+ settings = {
+  title: my_code + ' "' + my_name + '"',
+  description: '',
+  source: dataAdapter,
+  xAxis: {
+   dataField: 'date',
+   type: 'date',
+   formatFunction: function(value) {
+    return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
+   },
+   toolTipFormatFunction: function(value) {
+    var h = value.getHours(), m = value.getMinutes();
+    return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear() +
+      ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
+   },
+   textRotationAngle: 45,
+   howGridLines: false
+  },
+  colorScheme: 'scheme01',
+  seriesGroups: [
+   {
+    type: 'spline',
+    valueAxis: { displayValueAxis: false, description: 'Densiteit SG', formatSettings: { decimalPlaces: 3 } },
+    series: [{ dataField: 'sg', lineWidth: 3, displayText: 'SG' }]
+   },
+   {
+    type: 'spline',
+    valueAxis: { displayValueAxis: false, description: 'Temperatuur °C' },
+    series: [{ dataField: 'temperature', lineWidth: 2, displayText: '°C' }]
+   },
+   {
+    type: 'spline',
+    valueAxis: { visible: false },
+    series: [{ dataField: 'battery', lineWidth: 1, displayText: 'Batterij' }]
+   }
+  ]
+ };
+ $('#ispindel_chart').jqxChart(settings);
+
+ $('#print').click(function() {
+  var content = $('#ispindel_chart')[0].outerHTML,
+  newWindow = window.open('', '', 'width=865, height=425'),
+  document = newWindow.document.open(),
+  pageContent =
+   '<!DOCTYPE html>' +
+   '<html>' +
+   '<head>' +
+   '<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />' +
+   '<meta charset="utf-8" />' +
+   '<title>' + my_code + ' ' + my_name + ' vergisting</title>' +
+   '</head>' +
+   '<body>' + content + '</body></html>';
+  document.write(pageContent);
+  document.close();
+  newWindow.print();
+ });
+ $('#print').jqxButton({ template: 'primary', width: 125, theme: theme });
+
+ $('#pdfButton').click(function() {
+  $('#ispindel_chart').jqxChart('saveAsPDF', 'vergisting_' + my_code + '.pdf', getExportServer());
+ });
+ $('#pdfButton').jqxButton({ template: 'primary', width: 125, theme: theme });
+
+ $('#pngButton').click(function() {
+  $('#ispindel_chart').jqxChart('saveAsPNG', 'vergisting_' + my_code + '.png', getExportServer());
+ });
+ $('#pngButton').jqxButton({ template: 'primary', width: 125, theme: theme });
+
+ $('#Close').jqxButton({ template: 'success', width: 125, theme: theme });
+ $('#Close').click(function() {
+  window.close();
+ });
+});
+
--- a/www/js/mon_co2meter-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var g={},f={},d=false,h=0,i={datatype:"json",cache:false,datafields:[{name:"code",type:"string"},{name:"name",type:"string"},{name:"uuid",type:"string"}],id:"code",url:"includes/db_product.php?select=ferment"},l=new $.jqx.dataAdapter(i,{beforeLoadComplete:function(m){var p,n,o=new Array();f.code="Free";f.name="Dummy";f.uuid="66ecccbf-e942-4a35-af49-8b02314561a5";o.push(f);for(n=0;n<m.length;n++){p=m[n];o.push(p)}return o},loadError:function(o,m,n){$("#err").text(m+" "+n)},}),c={min:10,max:40,width:375,height:375,ranges:[{startValue:10,endValue:20,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:20,endValue:28,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:28,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05"},e={min:0,max:6,width:375,height:375,ranges:[{startValue:0,endValue:3,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:3,endValue:6,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}],ticksMinor:{interval:0.2,size:"5%"},ticksMajor:{interval:1,size:"9%"},labels:{interval:1},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05"},b="getco2meter.php?uuid='"+my_uuid+"'",a={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"alias",type:"string"},{name:"node",type:"string"},{name:"online",type:"int"},{name:"beercode",type:"string"},{name:"beername",type:"string"},{name:"beeruuid",type:"string"},{name:"mode",type:"string"},{name:"alarm",type:"int"},{name:"temperature_state",type:"string"},{name:"temperature",type:"float"},{name:"pressure_state",type:"string"},{name:"pressure_bar",type:"float"}],id:"record",url:b},k=new $.jqx.dataAdapter(a,{loadComplete:function(m){g=k.records[0];var n=(g.online)?"On-line":"Off-line";$("#info_uuid").html(g.uuid);$("#info_system").html(g.node+"/"+g.alias);$("#info_online").html(n);$("#info_beer").html(g.beercode+" - "+g.beername);$("#info_mode").html(g.mode);f.name=g.alias;f.code=g.alias.toUpperCase();f.uuid=g.uuid;if(g.online&&(g.mode!="OFF")){$("#co2meter_powerled").html('<div class="LEDblue_on"></div>Power');$("#select_beer").jqxDropDownList({disabled:true});$("#select_beer").jqxDropDownList("clearSelection");$("#select_beer").hide()}else{$("#co2meter_powerled").html('<div class="LEDblue_off"></div>Power');$("#select_beer").show();$("#select_beer").jqxDropDownList({disabled:false})}if(g.online&&(g.alarm!="0")){$("#co2meter_alarmled").html('<div class="LEDred_on"></div>Alarm')}else{$("#co2meter_alarmled").html('<div class="LEDred_off"></div>Alarm')}$("#gaugeContainer_temperature").jqxGauge({caption:{value:"Temp: "+g.temperature.toFixed(3)}});$("#gaugeContainer_temperature").jqxGauge({value:g.temperature});if(g.temperature_state=="OK"){$("#gaugeContainer_temperature").jqxGauge({disabled:false})}else{$("#gaugeContainer_temperature").jqxGauge({disabled:true})}$("#gaugeContainer_pressure").jqxGauge({caption:{value:"Bar: "+g.pressure_bar.toFixed(2)}});$("#gaugeContainer_pressure").jqxGauge({value:g.pressure_bar});if(g.pressure_state=="OK"){$("#gaugeContainer_pressure").jqxGauge({disabled:false})}else{$("#gaugeContainer_pressure").jqxGauge({disabled:true})}}});$("#select_beer").jqxDropDownList({placeHolder:"Kies bier:",theme:theme,source:l,displayMember:"code",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,renderer:function(n,m,p){var o=l.records[n];return o.code+" - "+o.name}});$("#gaugeContainer_temperature").jqxGauge(c);$("#gaugeContainer_temperature").jqxGauge({caption:{value:"Temp: 00.000"}});$("#gaugeContainer_pressure").jqxGauge(e);$("#gaugeContainer_pressure").jqxGauge({caption:{value:"Bar: 00.000"}});function j(o,m,n){console.log("sendProduct("+o+", "+m+", "+n+")");var p="uuid="+g.uuid+"&beeruuid="+n+"&beercode="+o+"&beername="+m;$.ajax({url:"cmd_co2meter.php",data:p,type:"POST",success:function(q){},error:function(q,s,r){console.log("sendProduct() error")}})}k.dataBind();setInterval(function(){var m=false;if(d){j(g.beercode,g.beername,g.beeruuid);d=false;m=true}if(m){h=4}else{if(h>0){h--}}if(h<=0){k.dataBind();h=20}},500);$("#select_beer").on("select",function(o){if(o.args){var m=o.args.index,n=l.records[m];g.beercode=n.code;g.beername=n.name;g.beeruuid=n.uuid;d=true}});$("#FLog").jqxButton({template:"primary",width:"150px",theme:theme});$("#FLog").click(function(){window.open("log_co2pressure.php?code="+g.beercode+"&name="+g.beername)})});
\ No newline at end of file
--- a/www/js/mon_co2meter.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/mon_co2meter.js	Fri May 01 16:37:31 2020 +0200
@@ -21,203 +21,202 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var record = {},
-	blank = {},
-	newProduct = false,
-	schedule = 0,
+ var record = {},
+ blank = {},
+ newProduct = false,
+ schedule = 0,
 
-	productSource = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'code', type: 'string' },
-			{ name: 'name', type: 'string' },
-			{ name: 'uuid', type: 'string' }
-		],
-		id: 'code',
-		url: "includes/db_product.php?select=ferment"
-	},
-	productlist = new $.jqx.dataAdapter(productSource, {
-		beforeLoadComplete: function (records) {
-			var row, i, data = new Array();
-			// Create a dummy beer on top to store in idle meters.
-			blank['code'] = "Free";	 // Will override this later.
-			blank['name'] = 'Dummy';
-			blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
-			data.push(blank);
-			for (i = 0; i < records.length; i++) {
-				row = records[i];
-				data.push(row);
-			}
-			return data;
-		},
-        	loadError: function(jqXHR, status, error) {
-                	$('#err').text(status + ' ' + error);
-		},
-	}),
-        gaugeoptionst = {
-                min: 10, max: 40, width: 375, height: 375,
-                ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
-                         { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-                         { startValue: 28, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
-                ticksMinor: { interval: 1, size: '5%' },
-                ticksMajor: { interval: 5, size: '9%' },
-                labels: { interval: 5 },
-                style: { fill: '#eeeeee', stroke: '#666666' },
-                value: 0,
-                colorScheme: 'scheme05'
-        },
-        gaugeoptionsp = {
-                min: 0, max: 6, width: 375, height: 375,
-                ranges: [{ startValue: 0, endValue: 3, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-                         { startValue: 3, endValue: 6, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
-                ticksMinor: { interval: 0.2, size: '5%' },
-                ticksMajor: { interval: 1, size: '9%' },
-                labels: { interval: 1 },
-                style: { fill: '#eeeeee', stroke: '#666666' },
-                value: 0,
-                colorScheme: 'scheme05'
-        },
-        url = "getco2meter.php?uuid='" + my_uuid + "'",
-        source = {
-                datatype: "json",
-                datafields: [
-                        { name: 'record', type: 'int' },
-                        { name: 'uuid', type: 'string' },
-                        { name: 'alias', type: 'string' },
-                        { name: 'node', type: 'string' },
-                        { name: 'online', type: 'int' },
-                        { name: 'beercode', type: 'string' },
-                        { name: 'beername', type: 'string' },
-			{ name: 'beeruuid', type: 'string' },
-			{ name: 'mode', type: 'string' },
-			{ name: 'alarm', type: 'int' },
-                        { name: 'temperature_state', type: 'string' },
-                        { name: 'temperature', type: 'float' },
-                        { name: 'pressure_state', type: 'string' },
-                        { name: 'pressure_bar', type: 'float' }
-                ],
-                id: 'record',
-                url: url
-        },
-        dataAdapter = new $.jqx.dataAdapter(source, {
-                loadComplete: function (records) {
-                        record = dataAdapter.records[0];
-                        var oline = (record.online) ? "On-line" : "Off-line";
-                        $("#info_uuid").html(record.uuid);
-                        $("#info_system").html(record.node +  "/" + record.alias);
-                        $("#info_online").html(oline);
-			$("#info_beer").html(record.beercode + " - " + record.beername);
-                        $("#info_mode").html(record.mode);
-                        blank['name'] = record.alias;
-                        blank['code'] = record.alias.toUpperCase();
-                        blank['uuid'] = record.uuid;
+ productSource = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'code', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'uuid', type: 'string' }
+  ],
+  id: 'code',
+  url: 'includes/db_product.php?select=ferment'
+ },
+ productlist = new $.jqx.dataAdapter(productSource, {
+  beforeLoadComplete: function(records) {
+   var row, i, data = new Array();
+   // Create a dummy beer on top to store in idle meters.
+   blank['code'] = 'Free';  // Will override this later.
+   blank['name'] = 'Dummy';
+   blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
+   data.push(blank);
+   for (i = 0; i < records.length; i++) {
+    row = records[i];
+    data.push(row);
+   }
+   return data;
+  },
+  loadError: function(jqXHR, status, error) {
+   $('#err').text(status + ' ' + error);
+  },
+ }),
+ gaugeoptionst = {
+  min: 10, max: 40, width: 375, height: 375,
+  ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+           { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+           { startValue: 28, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+  ticksMinor: { interval: 1, size: '5%' },
+  ticksMajor: { interval: 5, size: '9%' },
+  labels: { interval: 5 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05'
+ },
+ gaugeoptionsp = {
+  min: 0, max: 6, width: 375, height: 375,
+  ranges: [{ startValue: 0, endValue: 3, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+           { startValue: 3, endValue: 6, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+  ticksMinor: { interval: 0.2, size: '5%' },
+  ticksMajor: { interval: 1, size: '9%' },
+  labels: { interval: 1 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05'
+ },
+ url = 'getco2meter.php?uuid="' + my_uuid + '"',
+ source = {
+  datatype: 'json',
+  datafields: [
+   { name: 'record', type: 'int' },
+   { name: 'uuid', type: 'string' },
+   { name: 'alias', type: 'string' },
+   { name: 'node', type: 'string' },
+   { name: 'online', type: 'int' },
+   { name: 'beercode', type: 'string' },
+   { name: 'beername', type: 'string' },
+   { name: 'beeruuid', type: 'string' },
+   { name: 'mode', type: 'string' },
+   { name: 'alarm', type: 'int' },
+   { name: 'temperature_state', type: 'string' },
+   { name: 'temperature', type: 'float' },
+   { name: 'pressure_state', type: 'string' },
+   { name: 'pressure_bar', type: 'float' }
+  ],
+  id: 'record',
+  url: url
+ },
+ dataAdapter = new $.jqx.dataAdapter(source, {
+  loadComplete: function(records) {
+   record = dataAdapter.records[0];
+   var oline = (record.online) ? 'On-line' : 'Off-line';
+   $('#info_uuid').html(record.uuid);
+   $('#info_system').html(record.node + '/' + record.alias);
+   $('#info_online').html(oline);
+   $('#info_beer').html(record.beercode + ' - ' + record.beername);
+   $('#info_mode').html(record.mode);
+   blank['name'] = record.alias;
+   blank['code'] = record.alias.toUpperCase();
+   blank['uuid'] = record.uuid;
 
-                        if (record.online && (record.mode != "OFF")) {
-                                $("#co2meter_powerled").html('<div class="LEDblue_on"></div>Power');
-                                $("#select_beer").jqxDropDownList({ disabled: true });
-                                $("#select_beer").jqxDropDownList('clearSelection');
-                                $("#select_beer").hide();
-                        } else {
-                                $("#co2meter_powerled").html('<div class="LEDblue_off"></div>Power');
-                                $("#select_beer").show();
-                                $("#select_beer").jqxDropDownList({ disabled: false });
-
-                        }
-			if (record.online && (record.alarm != "0")) {
-                                $("#co2meter_alarmled").html('<div class="LEDred_on"></div>Alarm');
-                        } else {
-                                $("#co2meter_alarmled").html('<div class="LEDred_off"></div>Alarm');
-                        }
+   if (record.online && (record.mode != 'OFF')) {
+    $('#co2meter_powerled').html('<div class="LEDblue_on"></div>Power');
+    $('#select_beer').jqxDropDownList({ disabled: true });
+    $('#select_beer').jqxDropDownList('clearSelection');
+    $('#select_beer').hide();
+   } else {
+    $('#co2meter_powerled').html('<div class="LEDblue_off"></div>Power');
+    $('#select_beer').show();
+    $('#select_beer').jqxDropDownList({ disabled: false });
+   }
+   if (record.online && (record.alarm != '0')) {
+    $('#co2meter_alarmled').html('<div class="LEDred_on"></div>Alarm');
+   } else {
+    $('#co2meter_alarmled').html('<div class="LEDred_off"></div>Alarm');
+   }
 
-                        $("#gaugeContainer_temperature").jqxGauge({ caption: { value: 'Temp: '+record.temperature.toFixed(3) }});
-                        $('#gaugeContainer_temperature').jqxGauge({ value: record.temperature });
-                        if (record.temperature_state == "OK") {
-                                $("#gaugeContainer_temperature").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_temperature").jqxGauge({ disabled: true });
-                        }
-                        $("#gaugeContainer_pressure").jqxGauge({ caption: { value: 'Bar: '+record.pressure_bar.toFixed(2) }});
-                        $('#gaugeContainer_pressure').jqxGauge({ value: record.pressure_bar });
-                        if (record.pressure_state == "OK") {
-                                $("#gaugeContainer_pressure").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_pressure").jqxGauge({ disabled: true });
-                        }
-                }
-        });
+   $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: ' + record.temperature.toFixed(3) }});
+   $('#gaugeContainer_temperature').jqxGauge({ value: record.temperature });
+   if (record.temperature_state == 'OK') {
+    $('#gaugeContainer_temperature').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_temperature').jqxGauge({ disabled: true });
+   }
+   $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: ' + record.pressure_bar.toFixed(2) }});
+   $('#gaugeContainer_pressure').jqxGauge({ value: record.pressure_bar });
+   if (record.pressure_state == 'OK') {
+    $('#gaugeContainer_pressure').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_pressure').jqxGauge({ disabled: true });
+   }
+  }
+ });
 
-	$("#select_beer").jqxDropDownList({
-		placeHolder: "Kies bier:",
-		theme: theme,
-		source: productlist,
-		displayMember: "code",
-		width: 150,
-		height: 24,
-		dropDownWidth: 500,
-		autoDropDownHeight: true,
-		renderer: function (index, label, value) {
-			var datarecord = productlist.records[index];
-			return datarecord.code + " - " + datarecord.name;
-		}
-	});
+ $('#select_beer').jqxDropDownList({
+  placeHolder: 'Kies bier:',
+  theme: theme,
+  source: productlist,
+  displayMember: 'code',
+  width: 150,
+  height: 24,
+  dropDownWidth: 500,
+  autoDropDownHeight: true,
+  renderer: function(index, label, value) {
+   var datarecord = productlist.records[index];
+   return datarecord.code + ' - ' + datarecord.name;
+  }
+ });
+
+ $('#gaugeContainer_temperature').jqxGauge(gaugeoptionst);
+ $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: 00.000' }});
+ $('#gaugeContainer_pressure').jqxGauge(gaugeoptionsp);
+ $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: 00.000' }});
 
-	$("#gaugeContainer_temperature").jqxGauge( gaugeoptionst );
-	$("#gaugeContainer_temperature").jqxGauge( { caption: { value: 'Temp: 00.000' }} );
-	$("#gaugeContainer_pressure").jqxGauge( gaugeoptionsp );
-	$("#gaugeContainer_pressure").jqxGauge( { caption: { value: 'Bar: 00.000' }} );
-
-	function sendProduct(code, name, uuid) {
+ function sendProduct(code, name, uuid) {
 
-		console.log("sendProduct("+code+", "+name+", "+uuid+")");
-		var data  = 'uuid='+record.uuid+'&beeruuid='+uuid+'&beercode='+code+'&beername='+name;
-		$.ajax({
-			url: "cmd_co2meter.php",
-			data: data,
-			type: "POST",
-			success: function(data) {},
-			error: function(jqXHR, textStatus, errorThrown) { console.log("sendProduct() error"); }
-		});
-	}
+  console.log('sendProduct(' + code + ', ' + name + ', ' + uuid + ')');
+  var data = 'uuid=' + record.uuid + '&beeruuid=' + uuid + '&beercode=' + code + '&beername=' + name;
+  $.ajax({
+   url: 'cmd_co2meter.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendProduct() error'); }
+  });
+ }
 
-	// Get the data immediatly and then at regular intervals to refresh.
-	dataAdapter.dataBind();
-	setInterval(function() {
-		var skip = false;
-		if (newProduct) {
-			sendProduct(record.beercode, record.beername, record.beeruuid);
-			newProduct = false;
-			skip = true;
-		}
-		if (skip) {
-			schedule = 4;	// 2 seconds wait to get the results
-		} else {
-			if (schedule > 0)
-				schedule--;
-		}
+ // Get the data immediatly and then at regular intervals to refresh.
+ dataAdapter.dataBind();
+ setInterval(function() {
+  var skip = false;
+  if (newProduct) {
+   sendProduct(record.beercode, record.beername, record.beeruuid);
+   newProduct = false;
+   skip = true;
+  }
+  if (skip) {
+   schedule = 4; // 2 seconds wait to get the results
+  } else {
+   if (schedule > 0)
+    schedule--;
+  }
 
-		if (schedule <= 0) {
-			dataAdapter.dataBind();
-			schedule = 20;
-		}
-	}, 500);
+  if (schedule <= 0) {
+   dataAdapter.dataBind();
+   schedule = 20;
+  }
+ }, 500);
 
-	$("#select_beer").on('select', function (event) {
-		if (event.args) {
-			var index = event.args.index,
-			datarecord = productlist.records[index];
-			record.beercode = datarecord.code;
-			record.beername = datarecord.name;
-			record.beeruuid = datarecord.uuid;
-			newProduct = true;
-		}
-	});
+ $('#select_beer').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = productlist.records[index];
+   record.beercode = datarecord.code;
+   record.beername = datarecord.name;
+   record.beeruuid = datarecord.uuid;
+   newProduct = true;
+  }
+ });
 
-	// The chart button.
-   	$("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme });
-	$("#FLog").click(function () {
-		window.open('log_co2pressure.php?code=' + record.beercode + '&name=' + record.beername);
-	});
+ // The chart button.
+ $('#FLog').jqxButton({ template: 'primary', width: '150px', theme: theme });
+ $('#FLog').click(function() {
+  window.open('log_co2pressure.php?code=' + record.beercode + '&name=' + record.beername);
+ });
 });
--- a/www/js/mon_fermenter-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createAbortElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:440,y:210},width:400,height:200,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var c={},e={},b="",l=false,k=false,w=false,n=false,o=0,t=12,y=24,v={datatype:"json",cache:false,datafields:[{name:"code",type:"string"},{name:"name",type:"string"},{name:"uuid",type:"string"},{name:"stage",type:"int"},{name:"yeast_lo",type:"float"},{name:"yeast_hi",type:"float"}],id:"code",url:"includes/db_product.php?select=ferment"},s=new $.jqx.dataAdapter(v,{beforeLoadComplete:function(z){var C,A,B=new Array();e.code="Free";e.name="Dummy";e.uuid="66ecccbf-e942-4a35-af49-8b02314561a5";e.stage=10;e.yeast_lo=12;e.yeast_hi=24;B.push(e);for(A=0;A<z.length;A++){C=z[A];B.push(C)}return B},loadError:function(B,z,A){$("#err").text(z+" "+A)},}),f={datatype:"json",cache:false,datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"inittemp_lo",type:"float"},{name:"inittemp_hi",type:"float"},{name:"fridgemode",type:"int"},{name:"totalsteps",type:"int"},{name:"duration",type:"int"},{name:"steps",type:"array"}],id:"record",url:"includes/db_profile_fermentation.php"},a=new $.jqx.dataAdapter(f,{beforeLoadComplete:function(z){var C=new Array(),B={},A,D;B.record=-1;B.uuid="";B.name="Wis profiel";B.inittemp_lo=20;B.inittemp_hi=20;B.fridgemode=0;B.totalsteps=0;B.duration=0;B.steps="[]";C.push(B);for(A=0;A<z.length;A++){D=z[A];C.push(D)}return C},loadError:function(B,z,A){$("#err").text(z+" "+A)},}),g={min:0,max:40,width:375,height:375,ranges:[{startValue:0,endValue:t,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:t,endValue:y,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:y,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05"},h={min:-15,max:25,width:190,height:190,ranges:[{startValue:-15,endValue:0,startWidth:5,endWidth:5,style:{fill:"#3399FF",stroke:"#3399FF"}},{startValue:0,endValue:10,startWidth:5,endWidth:5,style:{fill:"#00CC33",stroke:"#00CC33"}},{startValue:10,endValue:25,startWidth:5,endWidth:5,style:{fill:"#FC6A6A",stroke:"#FC6A6A"}}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05",caption:{value:"Chiller",position:"bottom",offset:[0,10]}},m={height:68,width:35,onLabel:"AAN",offLabel:"UIT",theme:theme,thumbSize:"50%",orientation:"vertical"},x={inputMode:"simple",theme:theme,width:70,min:0,max:40,decimalDigits:1,spinButtons:true},d="getfermenter.php?uuid='"+my_uuid+"'",j={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"alias",type:"string"},{name:"node",type:"string"},{name:"online",type:"int"},{name:"beercode",type:"string"},{name:"beername",type:"string"},{name:"air_state",type:"string"},{name:"air_temperature",type:"float"},{name:"beer_state",type:"string"},{name:"beer_temperature",type:"float"},{name:"chiller_state",type:"string"},{name:"chiller_temperature",type:"float"},{name:"heater_state",type:"int"},{name:"heater_usage",type:"int"},{name:"cooler_state",type:"int"},{name:"cooler_usage",type:"int"},{name:"fan_state",type:"int"},{name:"fan_usage",type:"int"},{name:"light_address",type:"string"},{name:"light_state",type:"int"},{name:"light_usage",type:"int"},{name:"door_address",type:"string"},{name:"door_state",type:"int"},{name:"psu_address",type:"string"},{name:"psu_state",type:"int"},{name:"mode",type:"string"},{name:"alarm",type:"int"},{name:"setpoint_high",type:"float"},{name:"setpoint_low",type:"float"},{name:"profile_uuid",type:"string"},{name:"profile_name",type:"string"},{name:"profile_state",type:"string"},{name:"profile_percent",type:"int"},{name:"profile_inittemp_high",type:"float"},{name:"profile_inittemp_low",type:"float"},{name:"profile_steps",type:"string"},{name:"stage",type:"string"},{name:"beeruuid",type:"string"},{name:"yeast_lo",type:"float"},{name:"yeast_hi",type:"float"},{name:"webcam_url",type:"string"},{name:"webcam_light",type:"int"}],id:"record",url:d},r=new $.jqx.dataAdapter(j,{loadComplete:function(A){c=r.records[0];var z,B=(c.online)?"On-line":"Off-line";$("#info_uuid").html(c.uuid);$("#info_system").html(c.node+"/"+c.alias);$("#info_online").html(B);$("#info_beer").html(c.beercode+" - "+c.beername);$("#info_mode").jqxDropDownList("selectItem",c.mode);$("#info_stage").jqxDropDownList("selectItem",c.stage);$("#info_profile").html(c.profile_name);e.name=c.alias;e.code=c.alias.toUpperCase();e.uuid=c.uuid;if(c.profile_name==""){$("#info_mode").jqxDropDownList("disableItem","PROFILE")}else{$("#info_mode").jqxDropDownList("enableItem","PROFILE")}$("#target_lo").val(c.setpoint_low);$("#target_hi").val(c.setpoint_high);if(c.online&&((c.mode=="FRIDGE")||(c.mode=="BEER"))){$("#target_lo").jqxNumberInput({readOnly:false,Width:70,spinButtons:true});$("#target_hi").jqxNumberInput({readOnly:false,Width:70,spinButtons:true})}else{$("#target_lo").jqxNumberInput({readOnly:true,Width:50,spinButtons:false});$("#target_hi").jqxNumberInput({readOnly:true,Width:50,spinButtons:false})}if(c.online&&c.door_address&&(c.door_state!="0")){$("#fermenter_doorled").html('<div class="LEDyellow_on"></div>Door')}else{$("#fermenter_doorled").html('<div class="LEDyellow_off"></div>Door')}if(c.online&&c.light_address&&(c.light_state!="0")){$("#fermenter_lightled").html('<div class="LEDyellow_on"></div>Light')}else{$("#fermenter_lightled").html('<div class="LEDyellow_off"></div>Light')}if(c.online&&(c.mode!="OFF")){$("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');$("#select_beer").jqxDropDownList({disabled:true});$("#select_beer").jqxDropDownList("clearSelection");$("#select_beer").hide()}else{$("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');$("#select_beer").show();$("#select_beer").jqxDropDownList({disabled:false})}if(c.online&&(c.alarm!="0")){$("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm')}else{$("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm')}if(c.online&&(c.heater_state!="0")){$("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat')}else{$("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat')}if(c.online&&(c.cooler_state!="0")){$("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool')}else{$("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool')}if(c.online&&(c.fan_state!="0")){$("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan')}else{$("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan')}if(c.online&&(c.mode=="NONE")){$("#fermenter_toggle1").jqxSwitchButton("enable");$("#fermenter_toggle2").jqxSwitchButton("enable");$("#fermenter_toggle3").jqxSwitchButton("enable")}else{$("#fermenter_toggle1").jqxSwitchButton("disable");$("#fermenter_toggle2").jqxSwitchButton("disable");$("#fermenter_toggle3").jqxSwitchButton("disable");$("#fermenter_toggle1").val((c.heater_state!="0"));$("#fermenter_toggle2").val((c.cooler_state!="0"));$("#fermenter_toggle3").val((c.fan_state!="0"))}if(c.online&&(c.mode=="PROFILE")){if(c.profile_state=="OFF"){$("#select_profile").show();$("#select_profile").jqxDropDownList({disabled:false});$("#info_mode").jqxDropDownList({disabled:false});$("#Profile1").jqxButton({template:"success",value:"Starten"});$("#Profile1").show();$("#Profile2").hide();$("#status_profile").html("")}else{if(c.profile_state=="RUN"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"danger",value:"Afbreken"});$("#Profile2").jqxButton({template:"primary",value:"Pauze"});$("#Profile1").show();$("#Profile2").show();$("#status_profile").html("Profiel actief, "+c.profile_percent+"% gereed")}else{if(c.profile_state=="PAUSE"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"danger",value:"Afbreken"});$("#Profile2").jqxButton({template:"success",value:"Doorgaan"});$("#Profile1").show();$("#Profile2").show();$("#status_profile").html("Profiel pauze, "+c.profile_percent+"% gereed")}else{if(c.profile_state=="DONE"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"primary",value:"Profiel Ok"});$("#Profile1").show();$("#Profile2").hide();$("#status_profile").html("Profiel is gereed")}}}}}else{$("#select_profile").show();$("#select_profile").jqxDropDownList({disabled:false});$("#info_mode").jqxDropDownList({disabled:false});$("#Profile1").hide();$("#Profile2").hide();$("#status_profile").html("")}if(c.online&&(c.webcam_url!="")){$("#Camera").show()}else{$("#Camera").hide()}t=c.yeast_lo;y=c.yeast_hi;z={ranges:[{startValue:0,endValue:t,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:t,endValue:y,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:y,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}]};$("#gaugeContainer_air").jqxGauge(z);$("#gaugeContainer_beer").jqxGauge(z);$("#gaugeContainer_air").jqxGauge({caption:{value:"Air: "+c.air_temperature.toFixed(3)}});$("#gaugeContainer_air").jqxGauge({value:c.air_temperature});if(c.air_state=="OK"){$("#gaugeContainer_air").jqxGauge({disabled:false})}else{$("#gaugeContainer_air").jqxGauge({disabled:true})}$("#gaugeContainer_beer").jqxGauge({caption:{value:"Beer: "+c.beer_temperature.toFixed(3)}});$("#gaugeContainer_beer").jqxGauge({value:c.beer_temperature});if(c.beer_state=="OK"){$("#gaugeContainer_beer").jqxGauge({disabled:false})}else{$("#gaugeContainer_beer").jqxGauge({disabled:true})}$("#gaugeContainer_chiller").jqxGauge({value:c.chiller_temperature});if(c.chiller_state=="OK"){$("#gaugeContainer_chiller").jqxGauge({disabled:false})}else{$("#gaugeContainer_chiller").jqxGauge({disabled:true})}}});$("#select_beer").jqxDropDownList({placeHolder:"Kies bier:",theme:theme,source:s,displayMember:"code",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,renderer:function(A,z,C){var B=s.records[A];return B.code+" - "+B.name}});$("#select_profile").jqxDropDownList({placeHolder:"Kies profiel:",theme:theme,source:a,displayMember:"name",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,});$("#gaugeContainer_air").jqxGauge(g);$("#gaugeContainer_air").jqxGauge({caption:{value:"Air: 00.000"}});$("#gaugeContainer_beer").jqxGauge(g);$("#gaugeContainer_beer").jqxGauge({caption:{value:"Beer: 00.000"}});$("#gaugeContainer_chiller").jqxGauge(h);$("#fermenter_toggle1").jqxSwitchButton(m);$("#fermenter_toggle2").jqxSwitchButton(m);$("#fermenter_toggle3").jqxSwitchButton(m);srcMode=["OFF","NONE","FRIDGE","BEER","PROFILE"];srcStage=["PRIMARY","SECONDARY","TERTIARY","CARBONATION"];$("#info_mode").jqxDropDownList({theme:theme,source:srcMode,width:100,height:24,dropDownHeight:156});$("#info_stage").jqxDropDownList({theme:theme,source:srcStage,width:150,height:24,dropDownHeight:125});$("#target_lo").jqxNumberInput(x);$("#target_hi").jqxNumberInput(x);$("#Profile1").jqxButton({template:"info",width:"150px",height:24,theme:theme});$("#Profile2").jqxButton({template:"info",width:"150px",height:24,theme:theme});$("#Profile1").hide();$("#Profile2").hide();function i(B,D,A,z){console.log("sendBase("+B+", "+D+", "+A+", "+z+")");var C="node="+c.node+"&alias="+c.alias+'&payload={"stage":"'+B;C+='","mode":"'+D+'","setpoint":{"low":'+A+',"high":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:C,type:"POST",success:function(E){},error:function(E,G,F){console.log("sendBase() error")}})}function q(C,B,A,z){console.log("sendSwitch("+C+", "+B+", "+A+", "+z+")");var D="node="+c.node+"&alias="+c.alias+"&payload=";D+='{"heater":{"state":'+C+'},"cooler":{"state":'+B+'},"fan":{"state":'+A+'},"light":{"state":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:D,type:"POST",success:function(E){},error:function(E,G,F){console.log("sendSwitch() error")}})}function p(D,B,C,A,z){console.log("sendProduct("+D+", "+B+", "+C+", "+A+", "+z+")");var E="node="+c.node+"&alias="+c.alias+"&payload=";E+='{"product":{"code":"'+D+'","name":"'+B+'","uuid":"'+C+'","yeast_lo":'+A+',"yeast_hi":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:E,type:"POST",success:function(F){},error:function(F,H,G){console.log("sendProduct() error")}})}function u(A){console.log("sendProfile("+A+")");var z="node="+c.node+"&alias="+c.alias+"&payload="+A;$.ajax({url:"cmd_fermenter.php",data:z,type:"POST",success:function(B){},error:function(B,D,C){console.log("sendProfile() error")}})}r.dataBind();setInterval(function(){var z=false;if(l){i(c.stage,c.mode,c.setpoint_low,c.setpoint_high);l=false;z=true}if(w){q(c.heater_state,c.cooler_state,c.fan_state,c.light_state);w=false;z=true}if(k){p(c.beercode,c.beername,c.beeruuid,c.yeast_lo,c.yeast_hi);k=false;z=true}if(n){u(b);n=false;z=true}if(z){o=4}else{if(o>0){o--}}if(o<=0){r.dataBind();o=20}},500);$("#info_mode").on("change",function(A){var z=A.args;if(z){c.mode=z.item.value;$("#fermenter_toggle1").val(0);$("#fermenter_toggle2").val(0);$("#fermenter_toggle3").val(0)}l=true});$("#info_stage").on("select",function(A){var z=A.args;if(z){c.stage=z.item.value}l=true});$("#select_beer").on("select",function(B){if(B.args){var z=B.args.index,A=s.records[z];c.beercode=A.code;c.beername=A.name;c.beeruuid=A.uuid;c.yeast_lo=A.yeast_lo;c.yeast_hi=A.yeast_hi;k=true}});$("#select_profile").on("select",function(C){if(C.args){var z=C.args.index,B=a.records[z],D,A;if(B.record==-1){b='{"profile":null}'}else{b='{"profile":{"uuid":"'+B.uuid+'","name":"'+B.name+'",';b+='"inittemp":{"low":'+B.inittemp_lo+',"high":'+B.inittemp_hi+"},";b+='"fridgemode":'+B.fridgemode+',"steps":[';for(A=0;A<B.steps.length;A++){D=B.steps[A];if(A>0){b+=","}b+='{"steptime":'+D.steptime+',"resttime":'+D.resttime;b+=',"target_lo":'+D.target_lo+',"target_hi":'+D.target_hi;b+=',"fridgemode":'+D.fridgemode+',"name":"'+D.name+'"}'}b+="]}}"}n=true}});$("#target_lo").on("change",function(z){c.setpoint_low=parseFloat(z.args.value);if(c.setpoint_low>c.setpoint_high){c.setpoint_high=c.setpoint_low;$("#target_hi").val(c.setpoint_high)}l=true});$("#target_hi").on("change",function(z){c.setpoint_high=parseFloat(z.args.value);if(c.setpoint_high<c.setpoint_low){c.setpoint_low=c.setpoint_high;$("#target_lo").val(c.setpoint_low)}l=true});$("#fermenter_toggle1").on("checked",function(z){if(c.mode=="NONE"){c.heater_state=0;w=true}});$("#fermenter_toggle1").on("unchecked",function(z){if(c.mode=="NONE"){c.heater_state=100;c.cooler_state=0;$("#fermenter_toggle2").val(0);w=true}});$("#fermenter_toggle2").on("checked",function(z){if(c.mode=="NONE"){c.cooler_state=0;w=true}});$("#fermenter_toggle2").on("unchecked",function(z){if(c.mode=="NONE"){c.cooler_state=100;c.heater_state=0;$("#fermenter_toggle1").val(0);w=true}});$("#fermenter_toggle3").on("checked",function(z){if(c.mode=="NONE"){c.fan_state=0;w=true}});$("#fermenter_toggle3").on("unchecked",function(z){if(c.mode=="NONE"){c.fan_state=100;w=true}});$("#Profile1").click(function(){if(c.mode=="PROFILE"){if(c.profile_state=="OFF"){b='{"profile":{"command":"start"}}';n=true}else{if((c.profile_state=="RUN")||(c.profile_state=="PAUSE")){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){b='{"profile":{"command":"abort"}}';n=true})}else{if(c.profile_state=="DONE"){b='{"profile":{"command":"done"}}';n=true}}}}});$("#Profile2").click(function(){if(c.mode=="PROFILE"){if((c.profile_state=="RUN")||(c.profile_state=="PAUSE")){b='{"profile":{"command":"pause"}}';n=true}}});$("#FLog").jqxButton({template:"primary",width:"150px",theme:theme});$("#FLog").click(function(){window.open("log_fermentation.php?code="+c.beercode+"&name="+c.beername)});$("#Camera").jqxButton({template:"primary",width:"150px",theme:theme});$("#Camera").click(function(){c.light_state=100;w=true;window.open(c.webcam_url)});createAbortElements()});
\ No newline at end of file
--- a/www/js/mon_fermenter.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/mon_fermenter.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2019
+ * Copyright (C) 2019-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -21,661 +21,656 @@
  *****************************************************************************/
 
 function createAbortElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 440, y: 210 },
-		width: 400,
-		height: 200,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 440, y: 210 },
+  width: 400,
+  height: 200,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
+
+ var record = {},
+ blank = {},
+ ppayload = '',
+ newBase = false,
+ newProduct = false,
+ newSwitch = false,
+ newProfile = false,
+ schedule = 0,
+ yl = 12, // Normal yeast temp range
+ yh = 24,
 
-	var record = {},
-	blank = {},
-	ppayload = '',
-	newBase = false,
-	newProduct = false,
-	newSwitch = false,
-	newProfile = false,
-	schedule = 0,
-	yl = 12, // Normal yeast temp range
-	yh = 24,
+ productSource = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'code', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'uuid', type: 'string' },
+   { name: 'stage', type: 'int' },
+   { name: 'yeast_lo', type: 'float' },
+   { name: 'yeast_hi', type: 'float' }
+  ],
+  id: 'code',
+  url: 'includes/db_product.php?select=ferment'
+ },
+ productlist = new $.jqx.dataAdapter(productSource, {
+  beforeLoadComplete: function(records) {
+   var row, i, data = new Array();
+   // Create a dummy beer on top to store in idle fermenters.
+   blank['code'] = 'Free';  // Will override this later.
+   blank['name'] = 'Dummy';
+   blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
+   blank['stage'] = 10;
+   blank['yeast_lo'] = 12.0;
+   blank['yeast_hi'] = 24.0;
+   data.push(blank);
+   for (i = 0; i < records.length; i++) {
+    row = records[i];
+    data.push(row);
+   }
+   return data;
+  },
+  loadError: function(jqXHR, status, error) {
+   $('#err').text(status + ' ' + error);
+  },
+ }),
+ profileSource = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'int' },
+   { name: 'uuid', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'inittemp_lo', type: 'float' },
+   { name: 'inittemp_hi', type: 'float' },
+   { name: 'fridgemode', type: 'int' },
+   { name: 'totalsteps', type: 'int' },
+   { name: 'duration', type: 'int' },
+   { name: 'steps', type: 'array' }
+  ],
+  id: 'record',
+  url: 'includes/db_profile_fermentation.php'
+ },
+ profilelist = new $.jqx.dataAdapter(profileSource, {
+  beforeLoadComplete: function(records) {
+   var data = new Array(),
+   empty = {}, i, row;
+   // Create a dummy profile on top of the list.
+   empty['record'] = -1;
+   empty['uuid'] = '';
+   empty['name'] = 'Wis profiel';
+   empty['inittemp_lo'] = 20;
+   empty['inittemp_hi'] = 20;
+   empty['fridgemode'] = 0;
+   empty['totalsteps'] = 0;
+   empty['duration'] = 0;
+   empty['steps'] = '[]';
+   data.push(empty);
+   for (i = 0; i < records.length; i++) {
+    row = records[i];
+    data.push(row);
+   }
+   return data;
+  },
+  loadError: function(jqXHR, status, error) {
+   $('#err').text(status + ' ' + error);
+  },
+ }),
+ gaugeoptions = {
+  min: 0, max: 45, width: 375, height: 375,
+  ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+           { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+           { startValue: yh, endValue: 45, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+  ticksMinor: { interval: 1, size: '5%' },
+  ticksMajor: { interval: 5, size: '9%' },
+  labels: { interval: 5 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05'
+ },
+ gaugeSmalloptions = {
+  min: -15, max: 25, width: 190, height: 190,
+  ranges: [{ startValue: -15, endValue: 0, startWidth: 5, endWidth: 5, style: { fill: '#3399FF', stroke: '#3399FF' }},
+           { startValue: 0, endValue: 10, startWidth: 5, endWidth: 5, style: { fill: '#00CC33', stroke: '#00CC33' }},
+           { startValue: 10, endValue: 25, startWidth: 5, endWidth: 5, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }}],
+  ticksMinor: { interval: 1, size: '5%' },
+  ticksMajor: { interval: 5, size: '9%' },
+  labels: { interval: 5 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05',
+  caption: { value: 'Koeler', position: 'bottom', offset: [0, 10] }
+ },
+ switchoptions = {
+  height: 68,
+  width: 35,
+  onLabel: 'AAN',
+  offLabel: 'UIT',
+  theme: theme,
+  thumbSize: '50%',
+  orientation: 'vertical'
+ },
+ targetoptions = { inputMode: 'simple', theme: theme, width: 70, min: 0, max: 45, decimalDigits: 1, spinButtons: true },
+ url = 'getfermenter.php?uuid="' + my_uuid + '"',
+ source = {
+  datatype: 'json',
+  datafields: [
+   { name: 'record', type: 'int' },
+   { name: 'uuid', type: 'string' },
+   { name: 'alias', type: 'string' },
+   { name: 'node', type: 'string' },
+   { name: 'online', type: 'int' },
+   { name: 'beercode', type: 'string' },
+   { name: 'beername', type: 'string' },
+   { name: 'air_state', type: 'string' },
+   { name: 'air_temperature', type: 'float' },
+   { name: 'beer_state', type: 'string' },
+   { name: 'beer_temperature', type: 'float' },
+   { name: 'chiller_state', type: 'string' },
+   { name: 'chiller_temperature', type: 'float' },
+   { name: 'heater_state', type: 'int' },
+   { name: 'heater_usage', type: 'int' },
+   { name: 'cooler_state', type: 'int' },
+   { name: 'cooler_usage', type: 'int' },
+   { name: 'fan_state', type: 'int' },
+   { name: 'fan_usage', type: 'int' },
+   { name: 'light_address', type: 'string' },
+   { name: 'light_state', type: 'int' },
+   { name: 'light_usage', type: 'int' },
+   { name: 'door_address', type: 'string' },
+   { name: 'door_state', type: 'int' },
+   { name: 'psu_address', type: 'string' },
+   { name: 'psu_state', type: 'int' },
+   { name: 'mode', type: 'string' },
+   { name: 'alarm', type: 'int' },
+   { name: 'setpoint_high', type: 'float' },
+   { name: 'setpoint_low', type: 'float' },
+   { name: 'profile_uuid', type: 'string' },
+   { name: 'profile_name', type: 'string' },
+   { name: 'profile_state', type: 'string' },
+   { name: 'profile_percent', type: 'int' },
+   { name: 'profile_inittemp_high', type: 'float' },
+   { name: 'profile_inittemp_low', type: 'float' },
+   { name: 'profile_steps', type: 'string' },
+   { name: 'stage', type: 'string' },
+   { name: 'beeruuid', type: 'string' },
+   { name: 'yeast_lo', type: 'float' },
+   { name: 'yeast_hi', type: 'float' },
+   { name: 'webcam_url', type: 'string' },
+   { name: 'webcam_light', type: 'int' }
+  ],
+  id: 'record',
+  url: url
+ },
+ dataAdapter = new $.jqx.dataAdapter(source, {
+  loadComplete: function(records) {
+   record = dataAdapter.records[0];
+   var range, oline = (record.online) ? 'On-line' : 'Off-line';
+   $('#info_uuid').html(record.uuid);
+   $('#info_system').html(record.node + '/' + record.alias);
+   $('#info_online').html(oline);
+   $('#info_beer').html(record.beercode + ' - ' + record.beername);
+   $('#info_mode').jqxDropDownList('selectItem', record.mode);
+   $('#info_stage').jqxDropDownList('selectItem', record.stage);
+   $('#info_profile').html(record.profile_name);
+   blank['name'] = record.alias;
+   blank['code'] = record.alias.toUpperCase();
+   blank['uuid'] = record.uuid;
+   if (record.profile_name == '')
+    $('#info_mode').jqxDropDownList('disableItem', 'PROFILE');
+   else
+    $('#info_mode').jqxDropDownList('enableItem', 'PROFILE');
+   $('#target_lo').val(record.setpoint_low);
+   $('#target_hi').val(record.setpoint_high);
+   if (record.online && ((record.mode == 'FRIDGE') || (record.mode == 'BEER'))) {
+    $('#target_lo').jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
+    $('#target_hi').jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
+   } else {
+    $('#target_lo').jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
+    $('#target_hi').jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
+   }
+
+   if (record.online && record.door_address && (record.door_state != '0')) {
+    $('#fermenter_doorled').html('<div class="LEDyellow_on"></div>Door');
+   } else {
+    $('#fermenter_doorled').html('<div class="LEDyellow_off"></div>Door');
+   }
+   if (record.online && record.light_address && (record.light_state != '0')) {
+    $('#fermenter_lightled').html('<div class="LEDyellow_on"></div>Light');
+   } else {
+    $('#fermenter_lightled').html('<div class="LEDyellow_off"></div>Light');
+   }
 
-	productSource = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'code', type: 'string' },
-			{ name: 'name', type: 'string' },
-			{ name: 'uuid', type: 'string' },
-			{ name: 'stage', type: 'int' },
-			{ name: 'yeast_lo', type: 'float' },
-			{ name: 'yeast_hi', type: 'float' }
-		],
-		id: 'code',
-		url: "includes/db_product.php?select=ferment"
-	},
-	productlist = new $.jqx.dataAdapter(productSource, {
-		beforeLoadComplete: function (records) {
-			var row, i, data = new Array();
-			// Create a dummy beer on top to store in idle fermenters.
-			blank['code'] = "Free";	 // Will override this later.
-			blank['name'] = 'Dummy';
-			blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
-			blank['stage'] = 10;
-			blank['yeast_lo'] = 12.0;
-			blank['yeast_hi'] = 24.0;
-			data.push(blank);
-			for (i = 0; i < records.length; i++) {
-				row = records[i];
-				data.push(row);
-			}
-			return data;
-		},
-        	loadError: function(jqXHR, status, error) {
-                	$('#err').text(status + ' ' + error);
-		},
-	}),
-        profileSource = {
-                datatype: "json",
-                cache: false,
-                datafields: [
-                        { name: 'record', type: 'int' },
-                        { name: 'uuid', type: 'string' },
-                        { name: 'name', type: 'string' },
-                        { name: 'inittemp_lo', type: 'float' },
-                        { name: 'inittemp_hi', type: 'float' },
-                        { name: 'fridgemode', type: 'int' },
-                        { name: 'totalsteps', type: 'int' },
-                        { name: 'duration', type: 'int' },
-                        { name: 'steps', type: 'array' }
-                ],
-                id: 'record',
-                url: "includes/db_profile_fermentation.php"
-        },
-        profilelist = new $.jqx.dataAdapter(profileSource, {
-                beforeLoadComplete: function (records) {
-                        var data = new Array(),
-                        empty = {}, i, row;
-                        // Create a dummy profile on top of the list.
-                        empty['record'] = -1;
-                        empty['uuid'] = '';
-                        empty['name'] = 'Wis profiel';
-                        empty['inittemp_lo'] = 20;
-                        empty['inittemp_hi'] = 20;
-                        empty['fridgemode'] = 0;
-                        empty['totalsteps'] = 0;
-                        empty['duration'] = 0;
-                        empty['steps'] = '[]';
-                        data.push(empty);
-                        for (i = 0; i < records.length; i++) {
-                                row = records[i];
-                                data.push(row);
-                        }
-                        return data;
-                },
-                loadError: function(jqXHR, status, error) {
-                        $('#err').text(status + ' ' + error);
-                },
-        }),
-        gaugeoptions = {
-                min: 0, max: 40, width: 375, height: 375,
-                ranges: [{ startValue:  0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
-                         { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-                         { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
-                ticksMinor: { interval: 1, size: '5%' },
-                ticksMajor: { interval: 5, size: '9%' },
-                labels: { interval: 5 },
-                style: { fill: '#eeeeee', stroke: '#666666' },
-                value: 0,
-                colorScheme: 'scheme05'
-        },
-        gaugeSmalloptions = {
-                min: -15, max: 25, width: 190, height: 190,
-                ranges: [{ startValue: -15, endValue:  0, startWidth: 5, endWidth: 5, style: { fill: '#3399FF', stroke: '#3399FF' }},
-                         { startValue:   0, endValue: 10, startWidth: 5, endWidth: 5, style: { fill: '#00CC33', stroke: '#00CC33' }},
-                         { startValue:  10, endValue: 25, startWidth: 5, endWidth: 5, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }}],
-                ticksMinor: { interval: 1, size: '5%' },
-                ticksMajor: { interval: 5, size: '9%' },
-                labels: { interval: 5 },
-                style: { fill: '#eeeeee', stroke: '#666666' },
-                value: 0,
-                colorScheme: 'scheme05',
-                caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] }
-        },
-        switchoptions = {
-                height: 68,
-                width: 35,
-                onLabel:'AAN',
-                offLabel:'UIT',
-                theme: theme,
-                thumbSize:'50%',
-                orientation: 'vertical'
-        },
-	targetoptions = { inputMode: 'simple', theme: theme, width: 70, min: 0, max: 40, decimalDigits: 1, spinButtons: true },
-        url = "getfermenter.php?uuid='" + my_uuid + "'",
-        source = {
-                datatype: "json",
-                datafields: [
-                        { name: 'record', type: 'int' },
-                        { name: 'uuid', type: 'string' },
-                        { name: 'alias', type: 'string' },
-                        { name: 'node', type: 'string' },
-                        { name: 'online', type: 'int' },
-                        { name: 'beercode', type: 'string' },
-                        { name: 'beername', type: 'string' },
-                        { name: 'air_state', type: 'string' },
-                        { name: 'air_temperature', type: 'float' },
-                        { name: 'beer_state', type: 'string' },
-                        { name: 'beer_temperature', type: 'float' },
-                        { name: 'chiller_state', type: 'string' },
-                        { name: 'chiller_temperature', type: 'float' },
-                        { name: 'heater_state', type: 'int' },
-                        { name: 'heater_usage', type: 'int' },
-                        { name: 'cooler_state', type: 'int' },
-                        { name: 'cooler_usage', type: 'int' },
-                        { name: 'fan_state', type: 'int' },
-                        { name: 'fan_usage', type: 'int' },
-                        { name: 'light_address', type: 'string' },
-                        { name: 'light_state', type: 'int' },
-                        { name: 'light_usage', type: 'int' },
-                        { name: 'door_address', type: 'string' },
-                        { name: 'door_state', type: 'int' },
-                        { name: 'psu_address', type: 'string' },
-                        { name: 'psu_state', type: 'int' },
-                        { name: 'mode', type: 'string' },
-                        { name: 'alarm', type: 'int' },
-                        { name: 'setpoint_high', type: 'float' },
-                        { name: 'setpoint_low', type: 'float' },
-                        { name: 'profile_uuid', type: 'string' },
-                        { name: 'profile_name', type: 'string' },
-                        { name: 'profile_state', type: 'string' },
-                        { name: 'profile_percent', type: 'int' },
-                        { name: 'profile_inittemp_high', type: 'float' },
-                        { name: 'profile_inittemp_low', type: 'float' },
-                        { name: 'profile_steps', type: 'string' },
-                        { name: 'stage', type: 'string' },
-                        { name: 'beeruuid', type: 'string' },
-                        { name: 'yeast_lo', type: 'float' },
-                        { name: 'yeast_hi', type: 'float' },
-                        { name: 'webcam_url', type: 'string' },
-                        { name: 'webcam_light', type: 'int' }
-                ],
-                id: 'record',
-                url: url
-        },
-        dataAdapter = new $.jqx.dataAdapter(source, {
-                loadComplete: function (records) {
-                        record = dataAdapter.records[0];
-                        var range, oline = (record.online) ? "On-line" : "Off-line";
-                        $("#info_uuid").html(record.uuid);
-                        $("#info_system").html(record.node +  "/" + record.alias);
-                        $("#info_online").html(oline);
-                        $("#info_beer").html(record.beercode + " - " + record.beername);
-                        $("#info_mode").jqxDropDownList('selectItem', record.mode);
-                        $("#info_stage").jqxDropDownList('selectItem', record.stage);
-                        $("#info_profile").html(record.profile_name);
-                        blank['name'] = record.alias;
-                        blank['code'] = record.alias.toUpperCase();
-                        blank['uuid'] = record.uuid;
-                        if (record.profile_name == "")
-                                $("#info_mode").jqxDropDownList('disableItem', "PROFILE");
-                        else
-                                $("#info_mode").jqxDropDownList('enableItem', "PROFILE");
-                        $("#target_lo").val(record.setpoint_low);
-                        $("#target_hi").val(record.setpoint_high);
-                        if (record.online && ((record.mode == "FRIDGE") || (record.mode == "BEER"))) {
-                                $("#target_lo").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
-                                $("#target_hi").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
-                        } else {
-                                $("#target_lo").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
-                                $("#target_hi").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
-                        }
+   if (record.online && (record.mode != 'OFF')) {
+    $('#fermenter_powerled').html('<div class="LEDblue_on"></div>Power');
+    $('#select_beer').jqxDropDownList({ disabled: true });
+    $('#select_beer').jqxDropDownList('clearSelection');
+    $('#select_beer').hide();
+   } else {
+    $('#fermenter_powerled').html('<div class="LEDblue_off"></div>Power');
+    $('#select_beer').show();
+    $('#select_beer').jqxDropDownList({ disabled: false });
+   }
+   if (record.online && (record.alarm != '0')) {
+    $('#fermenter_alarmled').html('<div class="LEDred_on"></div>Alarm');
+   } else {
+    $('#fermenter_alarmled').html('<div class="LEDred_off"></div>Alarm');
+   }
+
+   if (record.online && (record.heater_state != '0')) {
+    $('#fermenter_led1').html('<div class="LEDgreen_on"></div>Heat');
+   } else {
+    $('#fermenter_led1').html('<div class="LEDgreen_off"></div>Heat');
+   }
+   if (record.online && (record.cooler_state != '0')) {
+    $('#fermenter_led2').html('<div class="LEDgreen_on"></div>Cool');
+   } else {
+    $('#fermenter_led2').html('<div class="LEDgreen_off"></div>Cool');
+   }
+   if (record.online && (record.fan_state != '0')) {
+    $('#fermenter_led3').html('<div class="LEDgreen_on"></div>Fan');
+   } else {
+    $('#fermenter_led3').html('<div class="LEDgreen_off"></div>Fan');
+   }
+   if (record.online && (record.mode == 'NONE')) {
+    $('#fermenter_toggle1').jqxSwitchButton('enable');
+    $('#fermenter_toggle2').jqxSwitchButton('enable');
+    $('#fermenter_toggle3').jqxSwitchButton('enable');
+   } else {
+    $('#fermenter_toggle1').jqxSwitchButton('disable');
+    $('#fermenter_toggle2').jqxSwitchButton('disable');
+    $('#fermenter_toggle3').jqxSwitchButton('disable');
+    $('#fermenter_toggle1').val(record.heater_state != '0');
+    $('#fermenter_toggle2').val(record.cooler_state != '0');
+    $('#fermenter_toggle3').val(record.fan_state != '0');
+   }
+
+   if (record.online && (record.mode == 'PROFILE')) {
+    if (record.profile_state == 'OFF') {
+     $('#select_profile').show();
+     $('#select_profile').jqxDropDownList({ disabled: false });
+     $('#info_mode').jqxDropDownList({ disabled: false });
+     $('#Profile1').jqxButton({ template: 'success', value: 'Starten' });
+     $('#Profile1').show();
+     $('#Profile2').hide();
+     $('#status_profile').html('');
+    } else if (record.profile_state == 'RUN') {
+     $('#select_profile').jqxDropDownList({ disabled: true });
+     $('#select_profile').hide();
+     $('#info_mode').jqxDropDownList({ disabled: true });
+     $('#Profile1').jqxButton({ template: 'danger', value: 'Afbreken' });
+     $('#Profile2').jqxButton({ template: 'primary', value: 'Pauze' });
+     $('#Profile1').show();
+     $('#Profile2').show();
+     $('#status_profile').html('Profiel actief, ' + record.profile_percent + '% gereed');
+    } else if (record.profile_state == 'PAUSE') {
+     $('#select_profile').jqxDropDownList({ disabled: true });
+     $('#select_profile').hide();
+     $('#info_mode').jqxDropDownList({ disabled: true });
+     $('#Profile1').jqxButton({ template: 'danger', value: 'Afbreken' });
+     $('#Profile2').jqxButton({ template: 'success', value: 'Doorgaan' });
+     $('#Profile1').show();
+     $('#Profile2').show();
+     $('#status_profile').html('Profiel pauze, ' + record.profile_percent + '% gereed');
+    } else if (record.profile_state == 'DONE') {
+     $('#select_profile').jqxDropDownList({ disabled: true });
+     $('#select_profile').hide();
+     $('#info_mode').jqxDropDownList({ disabled: true });
+     $('#Profile1').jqxButton({ template: 'primary', value: 'Profiel Ok' });
+     $('#Profile1').show();
+     $('#Profile2').hide();
+     $('#status_profile').html('Profiel is gereed');
+    }
+   } else {
+    $('#select_profile').show();
+    $('#select_profile').jqxDropDownList({ disabled: false });
+    $('#info_mode').jqxDropDownList({ disabled: false });
+    $('#Profile1').hide();
+    $('#Profile2').hide();
+    $('#status_profile').html('');
+   }
+   if (record.online && (record.webcam_url != '')) {
+    $('#Camera').show();
+   } else {
+    $('#Camera').hide();
+   }
+
+   yl = record.yeast_lo;
+   yh = record.yeast_hi;
+   range = { ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+                      { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+                      { startValue: yh, endValue: 45, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }]};
+   $('#gaugeContainer_air').jqxGauge(range);
+   $('#gaugeContainer_beer').jqxGauge(range);
 
-                        if (record.online && record.door_address && (record.door_state != "0")) {
-                                $("#fermenter_doorled").html('<div class="LEDyellow_on"></div>Door');
-                        } else {
-                                $("#fermenter_doorled").html('<div class="LEDyellow_off"></div>Door');
-                        }
-                        if (record.online && record.light_address && (record.light_state != "0")) {
-                                $("#fermenter_lightled").html('<div class="LEDyellow_on"></div>Light');
-                        } else {
-                                $("#fermenter_lightled").html('<div class="LEDyellow_off"></div>Light');
-                        }
-
-                        if (record.online && (record.mode != "OFF")) {
-                                $("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');
-                                $("#select_beer").jqxDropDownList({ disabled: true });
-                                $("#select_beer").jqxDropDownList('clearSelection');
-                                $("#select_beer").hide();
-                        } else {
-                                $("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');
-                                $("#select_beer").show();
-                                $("#select_beer").jqxDropDownList({ disabled: false });
-                        }
-                        if (record.online && (record.alarm != "0")) {
-                                $("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm');
-                        } else {
-                                $("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm');
-                        }
+   $('#gaugeContainer_air').jqxGauge({ caption: { value: 'Lucht: ' + record.air_temperature.toFixed(3) }});
+   $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature });
+   if (record.air_state == 'OK') {
+    $('#gaugeContainer_air').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_air').jqxGauge({ disabled: true });
+   }
+   $('#gaugeContainer_beer').jqxGauge({ caption: { value: 'Bier: ' + record.beer_temperature.toFixed(3) }});
+   $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature });
+   if (record.beer_state == 'OK') {
+    $('#gaugeContainer_beer').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_beer').jqxGauge({ disabled: true });
+   }
+   $('#gaugeContainer_chiller').jqxGauge({ value: record.chiller_temperature });
+   if (record.chiller_state == 'OK') {
+    $('#gaugeContainer_chiller').jqxGauge({ disabled: false });
+   } else {
+    $('#gaugeContainer_chiller').jqxGauge({ disabled: true });
+   }
+  }
+ });
 
-                        if (record.online && (record.heater_state != "0")) {
-                                $("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat');
-                        } else {
-                                $("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat');
-                        }
-                        if (record.online && (record.cooler_state != "0")) {
-                                $("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool');
-                        } else {
-                                $("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool');
-                        }
-                        if (record.online && (record.fan_state != "0")) {
-                                $("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan');
-                        } else {
-                                $("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan');
-                        }
-                        if (record.online && (record.mode == "NONE")) {
-                                $("#fermenter_toggle1").jqxSwitchButton( 'enable' );
-                                $("#fermenter_toggle2").jqxSwitchButton( 'enable' );
-                                $("#fermenter_toggle3").jqxSwitchButton( 'enable' );
-                        } else {
-                                $("#fermenter_toggle1").jqxSwitchButton( 'disable' );
-                                $("#fermenter_toggle2").jqxSwitchButton( 'disable' );
-                                $("#fermenter_toggle3").jqxSwitchButton( 'disable' );
-                                $("#fermenter_toggle1").val( (record.heater_state != "0") );
-                                $("#fermenter_toggle2").val( (record.cooler_state != "0") );
-                                $("#fermenter_toggle3").val( (record.fan_state != "0") );
-                        }
+ $('#select_beer').jqxDropDownList({
+  placeHolder: 'Kies bier:',
+  theme: theme,
+  source: productlist,
+  displayMember: 'code',
+  width: 150,
+  height: 24,
+  dropDownWidth: 500,
+  autoDropDownHeight: true,
+  renderer: function(index, label, value) {
+   var datarecord = productlist.records[index];
+   return datarecord.code + ' - ' + datarecord.name;
+  }
+ });
+ $('#select_profile').jqxDropDownList({
+  placeHolder: 'Kies profiel:',
+  theme: theme,
+  source: profilelist,
+  displayMember: 'name',
+  width: 150,
+  height: 24,
+  dropDownWidth: 500,
+  autoDropDownHeight: true,
+ });
+
+ $('#gaugeContainer_air').jqxGauge(gaugeoptions);
+ $('#gaugeContainer_air').jqxGauge({ caption: { value: 'Lucht: 00.000' }});
+ $('#gaugeContainer_beer').jqxGauge(gaugeoptions);
+ $('#gaugeContainer_beer').jqxGauge({ caption: { value: 'Bier: 00.000' }});
+ $('#gaugeContainer_chiller').jqxGauge(gaugeSmalloptions);
+
+ $('#fermenter_toggle1').jqxSwitchButton(switchoptions);
+ $('#fermenter_toggle2').jqxSwitchButton(switchoptions);
+ $('#fermenter_toggle3').jqxSwitchButton(switchoptions);
+
+ srcMode = ['OFF', 'NONE', 'FRIDGE', 'BEER', 'PROFILE'];
+ srcStage = ['PRIMARY', 'SECONDARY', 'TERTIARY', 'CARBONATION'];
+ $('#info_mode').jqxDropDownList({ theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 156 });
+ $('#info_stage').jqxDropDownList({ theme: theme, source: srcStage, width: 150, height: 24, dropDownHeight: 125 });
 
-                        if (record.online && (record.mode == "PROFILE")) {
-                                if (record.profile_state == "OFF") {
-                                        $("#select_profile").show();
-                                        $("#select_profile").jqxDropDownList({ disabled: false });
-                                        $("#info_mode").jqxDropDownList({ disabled: false });
-                                        $('#Profile1').jqxButton({ template: "success", value: "Starten" });
-                                        $("#Profile1").show();
-                                        $("#Profile2").hide();
-                                        $("#status_profile").html('');
-                                } else if (record.profile_state == "RUN") {
-                                        $("#select_profile").jqxDropDownList({ disabled: true });
-                                        $("#select_profile").hide();
-                                        $("#info_mode").jqxDropDownList({ disabled: true });
-                                        $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" });
-                                        $('#Profile2').jqxButton({ template: "primary", value: "Pauze" });
-                                        $("#Profile1").show();
-                                        $("#Profile2").show();
-                                        $("#status_profile").html('Profiel actief, '+record.profile_percent+'% gereed');
-                                } else if (record.profile_state == "PAUSE") {
-                                        $("#select_profile").jqxDropDownList({ disabled: true });
-                                        $("#select_profile").hide();
-                                        $("#info_mode").jqxDropDownList({ disabled: true });
-                                        $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" });
-                                        $('#Profile2').jqxButton({ template: "success", value: "Doorgaan" });
-                                        $("#Profile1").show();
-                                        $("#Profile2").show();
-                                        $("#status_profile").html('Profiel pauze, '+record.profile_percent+'% gereed');
-                                } else if (record.profile_state == "DONE") {
-                                        $("#select_profile").jqxDropDownList({ disabled: true });
-                                        $("#select_profile").hide();
-                                        $("#info_mode").jqxDropDownList({ disabled: true });
-                                        $('#Profile1').jqxButton({ template: "primary", value: "Profiel Ok" });
-                                        $("#Profile1").show();
-                                        $("#Profile2").hide();
-                                        $("#status_profile").html('Profiel is gereed');
-                                }
-                        } else {
-                                $("#select_profile").show();
-                                $("#select_profile").jqxDropDownList({ disabled: false });
-                                $("#info_mode").jqxDropDownList({ disabled: false });
-                                $("#Profile1").hide();
-                                $("#Profile2").hide();
-                                $("#status_profile").html('');
-                        }
-                        if (record.online && (record.webcam_url != "")) {
-                                $("#Camera").show();
-                        } else {
-                                $("#Camera").hide();
-                        }
+ $('#target_lo').jqxNumberInput(targetoptions);
+ $('#target_hi').jqxNumberInput(targetoptions);
+
+ $('#Profile1').jqxButton({ template: 'info', width: '150px', height: 24, theme: theme });
+ $('#Profile2').jqxButton({ template: 'info', width: '150px', height: 24, theme: theme });
+ $('#Profile1').hide(); // Hide these until they are needed.
+ $('#Profile2').hide();
+
+ function sendBase(stage, mode, tlo, thi) {
+
+  console.log('sendBase(' + stage + ', ' + mode + ', ' + tlo + ', ' + thi + ')');
+  var data = 'node=' + record.node + '&alias=' + record.alias + '&payload={"stage":"' + stage;
+  data += '","mode":"' + mode + '","setpoint":{"low":' + tlo + ',"high":' + thi + '}}';
+  $.ajax({
+   url: 'cmd_fermenter.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendBase() error'); }
+  });
+ }
+
+ function sendSwitch(sw1, sw2, sw3, sw4) {
 
-                        yl = record.yeast_lo;
-                        yh = record.yeast_hi;
-                        range = { ranges: [{ startValue:  0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
-                                               { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-                                               { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }] };
-                        $("#gaugeContainer_air").jqxGauge( range );
-                        $("#gaugeContainer_beer").jqxGauge( range );
+  console.log('sendSwitch(' + sw1 + ', ' + sw2 + ', ' + sw3 + ', ' + sw4 + ')');
+  var data = 'node=' + record.node + '&alias=' + record.alias + '&payload=';
+  data += '{"heater":{"state":' + sw1 + '},"cooler":{"state":' + sw2 + '},"fan":{"state":' + sw3 + '},"light":{"state":' + sw4 + '}}';
+  $.ajax({
+   url: 'cmd_fermenter.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendSwitch() error'); }
+  });
+ }
+
+ function sendProduct(code, name, uuid, yeast_lo, yeast_hi) {
 
-                        $("#gaugeContainer_air").jqxGauge({ caption: { value: 'Air: '+record.air_temperature.toFixed(3) }});
-                        $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature });
-                        if (record.air_state == "OK") {
-                                $("#gaugeContainer_air").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_air").jqxGauge({ disabled: true });
-                        }
-                        $("#gaugeContainer_beer").jqxGauge({ caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }});
-                        $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature });
-                        if (record.beer_state == "OK") {
-                                $("#gaugeContainer_beer").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_beer").jqxGauge({ disabled: true });
-                        }
-                        $("#gaugeContainer_chiller").jqxGauge({ value: record.chiller_temperature });
-                        if (record.chiller_state == "OK") {
-                                $("#gaugeContainer_chiller").jqxGauge({ disabled: false });
-                        } else {
-                                $("#gaugeContainer_chiller").jqxGauge({ disabled: true });
-                        }
-                }
-        });
+  console.log('sendProduct(' + code + ', ' + name + ', ' + uuid + ', ' + yeast_lo + ', ' + yeast_hi + ')');
+  var data = 'node=' + record.node + '&alias=' + record.alias + '&payload=';
+  data += '{"product":{"code":"' + code + '","name":"' + name + '","uuid":"' + uuid + '","yeast_lo":' + yeast_lo + ',"yeast_hi":' + yeast_hi + '}}';
+  $.ajax({
+   url: 'cmd_fermenter.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendProduct() error'); }
+  });
+ }
+
+ function sendProfile(payload) {
+
+  console.log('sendProfile(' + payload + ')');
+  var data = 'node=' + record.node + '&alias=' + record.alias + '&payload=' + payload;
+  $.ajax({
+   url: 'cmd_fermenter.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendProfile() error'); }
+  });
+ }
 
 
-
-
-
-
-	$("#select_beer").jqxDropDownList({
-		placeHolder: "Kies bier:",
-		theme: theme,
-		source: productlist,
-		displayMember: "code",
-		width: 150,
-		height: 24,
-		dropDownWidth: 500,
-		autoDropDownHeight: true,
-		renderer: function (index, label, value) {
-			var datarecord = productlist.records[index];
-			return datarecord.code + " - " + datarecord.name;
-		}
-	});
-	$("#select_profile").jqxDropDownList({
-		placeHolder: "Kies profiel:",
-		theme: theme,
-		source: profilelist,
-		displayMember: "name",
-		width: 150,
-		height: 24,
-		dropDownWidth: 500,
-		autoDropDownHeight: true,
-	});
+ // Get the data immediatly and then at regular intervals to refresh.
+ dataAdapter.dataBind();
+ setInterval(function() {
+  var skip = false;
+  if (newBase) {
+   sendBase(record.stage, record.mode, record.setpoint_low, record.setpoint_high);
+   newBase = false;
+   skip = true;
+  }
+  if (newSwitch) {
+   sendSwitch(record.heater_state, record.cooler_state, record.fan_state, record.light_state);
+   newSwitch = false;
+   skip = true;
+  }
+  if (newProduct) {
+   sendProduct(record.beercode, record.beername, record.beeruuid, record.yeast_lo, record.yeast_hi);
+   newProduct = false;
+   skip = true;
+  }
+  if (newProfile) {
+   sendProfile(ppayload);
+   newProfile = false;
+   skip = true;
+  }
+  if (skip) {
+   schedule = 4; // 2 seconds wait to get the results
+  } else {
+   if (schedule > 0)
+    schedule--;
+  }
 
-	$("#gaugeContainer_air").jqxGauge( gaugeoptions );
-	$("#gaugeContainer_air").jqxGauge( { caption: { value: 'Air: 00.000' }} );
-	$("#gaugeContainer_beer").jqxGauge( gaugeoptions );
-	$("#gaugeContainer_beer").jqxGauge( { caption: { value: 'Beer: 00.000' }} );
-	$("#gaugeContainer_chiller").jqxGauge( gaugeSmalloptions );
-
-	$("#fermenter_toggle1").jqxSwitchButton( switchoptions );
-	$("#fermenter_toggle2").jqxSwitchButton( switchoptions );
-	$("#fermenter_toggle3").jqxSwitchButton( switchoptions );
-
-	srcMode = [ "OFF", "NONE", "FRIDGE", "BEER", "PROFILE" ];
-	srcStage = [ "PRIMARY", "SECONDARY", "TERTIARY", "CARBONATION" ];
-	$("#info_mode").jqxDropDownList({  theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 156 });
-	$("#info_stage").jqxDropDownList({ theme: theme, source: srcStage, width: 150, height: 24, dropDownHeight: 125 });
-
-	$("#target_lo").jqxNumberInput( targetoptions );
-	$("#target_hi").jqxNumberInput( targetoptions );
-
-	$("#Profile1").jqxButton({ template: "info", width: '150px', height: 24, theme: theme });
-	$("#Profile2").jqxButton({ template: "info", width: '150px', height: 24, theme: theme });
-	$("#Profile1").hide();	// Hide these until they are needed.
-	$("#Profile2").hide();
-
-	function sendBase(stage, mode, tlo, thi) {
-
-		console.log("sendBase("+stage+", "+mode+", "+tlo+", "+thi+")");
-		var data  = 'node=' + record.node + '&alias=' + record.alias + '&payload={"stage":"' + stage;
-		    data += '","mode":"' + mode + '","setpoint":{"low":' + tlo + ',"high":' + thi + '}}';
-		$.ajax({
-			url: "cmd_fermenter.php",
-			data: data,
-			type: "POST",
-			success: function(data) {},
-			error: function(jqXHR, textStatus, errorThrown) { console.log("sendBase() error"); }
-		});
-	}
-
-	function sendSwitch(sw1, sw2, sw3, sw4) {
+  if (schedule <= 0) {
+   dataAdapter.dataBind();
+   schedule = 20;
+  }
+ }, 500);
 
-		console.log("sendSwitch("+sw1+", "+sw2+", "+sw3+", "+sw4+")");
-		var data  = 'node='+record.node+'&alias='+record.alias+'&payload=';
-		    data += '{"heater":{"state":'+sw1+'},"cooler":{"state":'+sw2+'},"fan":{"state":'+sw3+'},"light":{"state":'+sw4+'}}';
-		$.ajax({
-			url: "cmd_fermenter.php",
-			data: data,
-			type: "POST",
-			success: function(data) {},
-			error: function(jqXHR, textStatus, errorThrown) { console.log("sendSwitch() error"); }
-		});
-	}
-
-	function sendProduct(code, name, uuid, yeast_lo, yeast_hi) {
-
-		console.log("sendProduct("+code+", "+name+", "+uuid+", "+yeast_lo+", "+yeast_hi+")");
-		var data  = 'node='+record.node+'&alias='+record.alias+'&payload=';
-		    data += '{"product":{"code":"'+code+'","name":"'+name+'","uuid":"'+uuid+'","yeast_lo":'+yeast_lo+',"yeast_hi":'+yeast_hi+'}}';
-		$.ajax({
-			url: "cmd_fermenter.php",
-			data: data,
-			type: "POST",
-			success: function(data) {},
-			error: function(jqXHR, textStatus, errorThrown) { console.log("sendProduct() error"); }
-		});
-	}
-
-	function sendProfile(payload) {
-
-		console.log("sendProfile("+payload+")");
-		var data  = 'node='+record.node+'&alias='+record.alias+'&payload='+payload;
-		$.ajax({
-			url: "cmd_fermenter.php",
-			data: data,
-			type: "POST",
-			success: function(data) {},
-			error: function(jqXHR, textStatus, errorThrown) { console.log("sendProfile() error"); }
-		});
-	}
-
-
-	// Get the data immediatly and then at regular intervals to refresh.
-	dataAdapter.dataBind();
-	setInterval(function() {
-		var skip = false;
-		if (newBase) {
-			sendBase(record.stage, record.mode, record.setpoint_low, record.setpoint_high);
-			newBase = false;
-			skip = true;
-		}
-		if (newSwitch) {
-			sendSwitch(record.heater_state, record.cooler_state, record.fan_state, record.light_state);
-			newSwitch = false;
-			skip = true;
-		}
-		if (newProduct) {
-			sendProduct(record.beercode, record.beername, record.beeruuid, record.yeast_lo, record.yeast_hi);
-			newProduct = false;
-			skip = true;
-		}
-		if (newProfile) {
-			sendProfile(ppayload);
-			newProfile = false;
-			skip = true;
-		}
-		if (skip) {
-			schedule = 4;	// 2 seconds wait to get the results
-		} else {
-			if (schedule > 0)
-				schedule--;
-		}
-
-		if (schedule <= 0) {
-			dataAdapter.dataBind();
-			schedule = 20;
-		}
-	}, 500);
+ $('#info_mode').on('select', function(event) {
+  var args = event.args;
+  if (args) {
+   record.mode = args.item.value;
+   $('#fermenter_toggle1').val(0);
+   $('#fermenter_toggle2').val(0);
+   $('#fermenter_toggle3').val(0);
+  }
+  newBase = true;
+ });
+ $('#info_stage').on('select', function(event) {
+  var args = event.args;
+  if (args)
+   record.stage = args.item.value;
+  newBase = true;
+ });
+ $('#select_beer').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = productlist.records[index];
+   record.beercode = datarecord.code;
+   record.beername = datarecord.name;
+   record.beeruuid = datarecord.uuid;
+   record.yeast_lo = datarecord.yeast_lo;
+   record.yeast_hi = datarecord.yeast_hi;
+   newProduct = true;
+  }
+ });
+ $('#select_profile').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = profilelist.records[index],
+   row, i;
+   if (datarecord.record == -1) {
+    ppayload = '{"profile":null}';
+   } else {
+    ppayload = '{"profile":{"uuid":"' + datarecord.uuid + '","name":"' + datarecord.name + '",';
+    ppayload += '"inittemp":{"low":' + datarecord.inittemp_lo + ',"high":' + datarecord.inittemp_hi + '},';
+    ppayload += '"fridgemode":' + datarecord.fridgemode + ',"steps":[';
+    for (i = 0; i < datarecord.steps.length; i++) {
+     row = datarecord.steps[i];
+     if (i > 0)
+      ppayload += ',';
+     ppayload += '{"steptime":' + row['steptime'] + ',"resttime":' + row['resttime'];
+     ppayload += ',"target_lo":' + row['target_lo'] + ',"target_hi":' + row['target_hi'];
+     ppayload += ',"fridgemode":' + row['fridgemode'] + ',"name":"' + row['name'] + '"}';
+    }
+    ppayload += ']}}';
+   }
+   newProfile = true;
+  }
+ });
 
-	$('#info_mode').on('change', function (event) {
-		var args = event.args;
-		if (args) {
-			record.mode = args.item.value;
-			$("#fermenter_toggle1").val(0);
-			$("#fermenter_toggle2").val(0);
-			$("#fermenter_toggle3").val(0);
-		}
-		newBase = true;
-	});
-	$('#info_stage').on('select', function (event) {
-		var args = event.args;
-		if (args)
-			record.stage = args.item.value;
-		newBase = true;
-	});
-	$("#select_beer").on('select', function (event) {
-		if (event.args) {
-			var index = event.args.index,
-			datarecord = productlist.records[index];
-			record.beercode = datarecord.code;
-			record.beername = datarecord.name;
-			record.beeruuid = datarecord.uuid;
-			record.yeast_lo = datarecord.yeast_lo;
-			record.yeast_hi = datarecord.yeast_hi;
-			newProduct = true;
-		}
-	});
-	$("#select_profile").on('select', function (event) {
-		if (event.args) {
-			var index = event.args.index,
-			datarecord = profilelist.records[index],
-			row, i;
-			if (datarecord.record == -1) {
-				ppayload  = '{"profile":null}';
-			} else {
-				ppayload  = '{"profile":{"uuid":"'+datarecord.uuid+'","name":"'+datarecord.name+'",';
-				ppayload += '"inittemp":{"low":'+datarecord.inittemp_lo+',"high":'+datarecord.inittemp_hi+'},';
-				ppayload += '"fridgemode":'+datarecord.fridgemode+',"steps":[';
-				for (i = 0; i < datarecord.steps.length; i++) {
-					row = datarecord.steps[i];
-					if (i > 0)
-						ppayload += ',';
-					ppayload += '{"steptime":'+row['steptime']+',"resttime":'+row['resttime'];
-					ppayload += ',"target_lo":'+row['target_lo']+',"target_hi":'+row['target_hi'];
-					ppayload += ',"fridgemode":'+row['fridgemode']+',"name":"'+row['name']+'"}';
-				}
-				ppayload += ']}}';
-			}
-			newProfile = true;
-		}
-	});
-
-	$('#target_lo').on('change', function (event) {
-		record.setpoint_low = parseFloat(event.args.value);
-		// Keep the high target above the low.
-		if (record.setpoint_low > record.setpoint_high) {
-			record.setpoint_high = record.setpoint_low;
-			$("#target_hi").val(record.setpoint_high);
-		}
-		newBase = true;
-	});
-	$('#target_hi').on('change', function (event) {
-		record.setpoint_high = parseFloat(event.args.value);
-		// Keep the low target below the high.
-		if (record.setpoint_high < record.setpoint_low) {
-			record.setpoint_low = record.setpoint_high;
-			$("#target_lo").val(record.setpoint_low);
-		}
-		newBase = true;
-	});
+ $('#target_lo').on('change', function(event) {
+  record.setpoint_low = parseFloat(event.args.value);
+  // Keep the high target above the low.
+  if (record.setpoint_low > record.setpoint_high) {
+   record.setpoint_high = record.setpoint_low;
+   $('#target_hi').val(record.setpoint_high);
+  }
+  newBase = true;
+ });
+ $('#target_hi').on('change', function(event) {
+  record.setpoint_high = parseFloat(event.args.value);
+  // Keep the low target below the high.
+  if (record.setpoint_high < record.setpoint_low) {
+   record.setpoint_low = record.setpoint_high;
+   $('#target_lo').val(record.setpoint_low);
+  }
+  newBase = true;
+ });
 
-	$("#fermenter_toggle1").on('checked', function (event) {
-		if (record.mode == "NONE") {
-			record.heater_state = 0;
-			newSwitch = true;
-		}
-	});
-	$("#fermenter_toggle1").on('unchecked', function (event) {
-		if (record.mode == "NONE") {
-			record.heater_state = 100;
-			record.cooler_state = 0;
-			$("#fermenter_toggle2").val(0);
-			newSwitch = true;
-		}
-	});
-	$("#fermenter_toggle2").on('checked', function (event) {
-		if (record.mode == "NONE") {
-			record.cooler_state = 0;
-			newSwitch = true;
-		}
-	});
-	$("#fermenter_toggle2").on('unchecked', function (event) {
-		if (record.mode == "NONE") {
-			record.cooler_state = 100;
-			record.heater_state = 0;
-			$("#fermenter_toggle1").val(0);
-			newSwitch = true;
-		}
-	});
-	$("#fermenter_toggle3").on('checked', function (event) {
-		if (record.mode == "NONE") {
-			record.fan_state = 0;
-			newSwitch = true;
-		}
-	});
-	$("#fermenter_toggle3").on('unchecked', function (event) {
-		if (record.mode == "NONE") {
-			record.fan_state = 100;
-			newSwitch = true;
-		}
-	});
-	$("#Profile1").click(function () {
-		if (record.mode == "PROFILE") {
-			if (record.profile_state == "OFF") {
-				ppayload  = '{"profile":{"command":"start"}}';
-				newProfile = true;
-			} else if ((record.profile_state == "RUN") || (record.profile_state == "PAUSE")) {
-				// Open a popup to confirm this action.
-				$('#eventWindow').jqxWindow('open');
-				$("#delOk").click(function () {
-					ppayload  = '{"profile":{"command":"abort"}}';
-					newProfile = true;
-				});
-			} else if (record.profile_state == "DONE") {
-				ppayload  = '{"profile":{"command":"done"}}';
-				newProfile = true;
-			}
-		}
-	});
-	$("#Profile2").click(function () {
-		if (record.mode == "PROFILE") {
-			if ((record.profile_state == "RUN") || (record.profile_state == "PAUSE")) {
-				ppayload  = '{"profile":{"command":"pause"}}';
-				newProfile = true;
-			}
-		}
-	});
+ $('#fermenter_toggle1').on('checked', function(event) {
+  if (record.mode == 'NONE') {
+   record.heater_state = 0;
+   newSwitch = true;
+  }
+ });
+ $('#fermenter_toggle1').on('unchecked', function(event) {
+  if (record.mode == 'NONE') {
+   record.heater_state = 100;
+   record.cooler_state = 0;
+   $('#fermenter_toggle2').val(0);
+   newSwitch = true;
+  }
+ });
+ $('#fermenter_toggle2').on('checked', function(event) {
+  if (record.mode == 'NONE') {
+   record.cooler_state = 0;
+   newSwitch = true;
+  }
+ });
+ $('#fermenter_toggle2').on('unchecked', function(event) {
+  if (record.mode == 'NONE') {
+   record.cooler_state = 100;
+   record.heater_state = 0;
+   $('#fermenter_toggle1').val(0);
+   newSwitch = true;
+  }
+ });
+ $('#fermenter_toggle3').on('checked', function(event) {
+  if (record.mode == 'NONE') {
+   record.fan_state = 0;
+   newSwitch = true;
+  }
+ });
+ $('#fermenter_toggle3').on('unchecked', function(event) {
+  if (record.mode == 'NONE') {
+   record.fan_state = 100;
+   newSwitch = true;
+  }
+ });
+ $('#Profile1').click(function() {
+  if (record.mode == 'PROFILE') {
+   if (record.profile_state == 'OFF') {
+    ppayload = '{"profile":{"command":"start"}}';
+    newProfile = true;
+   } else if ((record.profile_state == 'RUN') || (record.profile_state == 'PAUSE')) {
+    // Open a popup to confirm this action.
+    $('#eventWindow').jqxWindow('open');
+    $('#delOk').click(function() {
+     ppayload = '{"profile":{"command":"abort"}}';
+     newProfile = true;
+    });
+   } else if (record.profile_state == 'DONE') {
+    ppayload = '{"profile":{"command":"done"}}';
+    newProfile = true;
+   }
+  }
+ });
+ $('#Profile2').click(function() {
+  if (record.mode == 'PROFILE') {
+   if ((record.profile_state == 'RUN') || (record.profile_state == 'PAUSE')) {
+    ppayload = '{"profile":{"command":"pause"}}';
+    newProfile = true;
+   }
+  }
+ });
 
-	// The chart button.
-   	$("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme });
-	$("#FLog").click(function () {
-		window.open('log_fermentation.php?code=' + record.beercode + '&name=' + record.beername);
-	});
-	$("#Camera").jqxButton({ template: "primary", width: '150px', theme: theme });
-	$("#Camera").click(function () {
-		record.light_state = 100;
-		newSwitch = true;
-		window.open(record.webcam_url);
-	});
-	createAbortElements();
+ // The chart button.
+ $('#FLog').jqxButton({ template: 'primary', width: '150px', theme: theme });
+ $('#FLog').click(function() {
+  window.open('log_fermentation.php?code=' + record.beercode + '&name=' + record.beername);
+ });
+ $('#Camera').jqxButton({ template: 'primary', width: '150px', theme: theme });
+ $('#Camera').click(function() {
+  record.light_state = 100;
+  newSwitch = true;
+  window.open(record.webcam_url);
+ });
+ createAbortElements();
 });
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/js/mon_ispindel.js	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,283 @@
+/*****************************************************************************
+ * Copyright (C) 2019-2020
+ *
+ * Michiel Broek <mbroek at mbse dot eu>
+ *
+ * This file is part of BMS
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * Brewery Management System istributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with ThermFerm; see the file COPYING.  If not, write to the Free
+ * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ *****************************************************************************/
+
+
+$(document).ready(function() {
+
+ var record = {},
+ blank = {},
+ newProduct = false,
+ newMode = false,
+ schedule = 0,
+
+ productSource = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'code', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'uuid', type: 'string' }
+  ],
+  id: 'code',
+  url: 'includes/db_product.php?select=ferment'
+ },
+ productlist = new $.jqx.dataAdapter(productSource, {
+  beforeLoadComplete: function(records) {
+   var row, i, data = new Array();
+   // Create a dummy beer on top to store in idle meters.
+   blank['code'] = 'Free';  // Will override this later.
+   blank['name'] = 'Dummy';
+   blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
+   data.push(blank);
+   for (i = 0; i < records.length; i++) {
+    row = records[i];
+    data.push(row);
+   }
+   return data;
+  },
+  loadError: function(jqXHR, status, error) {
+   $('#err').text(status + ' ' + error);
+  },
+ }),
+ gaugeoptionst = {
+  min: 10, max: 40, width: 375, height: 375,
+  ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+           { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+           { startValue: 28, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+  ticksMinor: { interval: 1, size: '5%' },
+  ticksMajor: { interval: 5, size: '9%' },
+  labels: { interval: 5 },
+  style: { fill: '#eeeeee', stroke: '#666666' },
+  value: 0,
+  colorScheme: 'scheme05'
+ },
+ gaugeoptionsg = {
+  orientation: 'vertical',
+  labels: { position: 'near', interval: 10 },
+  ticksMinor: { size: '5%', interval: 2 },
+  ticksMajor: { size: '9%', interval: 10 },
+  ticksPosition: 'near',
+  min: 0990, max: 1150, width: 120, height: 375,
+  value: 1000,
+  pointer: { pointerType: 'arrow', size: '15%', visible: true, offset: 0 },
+  colorScheme: 'scheme05',
+  showRanges: false
+ },
+ url = 'getispindel.php?uuid="' + my_uuid + '"',
+ source = {
+  datatype: 'json',
+  datafields: [
+   { name: 'record', type: 'int' },
+   { name: 'uuid', type: 'string' },
+   { name: 'alias', type: 'string' },
+   { name: 'node', type: 'string' },
+   { name: 'online', type: 'int' },
+   { name: 'beercode', type: 'string' },
+   { name: 'beername', type: 'string' },
+   { name: 'beeruuid', type: 'string' },
+   { name: 'alarm', type: 'int' },
+   { name: 'angle', type: 'float' },
+   { name: 'temperature', type: 'float' },
+   { name: 'battery', type: 'float' },
+   { name: 'gravity', type: 'float' },
+   { name: 'up_interval', type: 'int' },
+   { name: 'mode', type: 'string' },
+   { name: 'og_gravity', type: 'float' }
+  ],
+  id: 'record',
+  url: url
+ },
+ dataAdapter = new $.jqx.dataAdapter(source, {
+  loadComplete: function(records) {
+   record = dataAdapter.records[0];
+   var oline = (record.online) ? 'On-line' : 'Off-line';
+   $('#info_uuid').html(record.uuid);
+   $('#info_system').html(record.node + '/' + record.alias);
+   $('#info_online').html(oline);
+   $('#info_beer').html(record.beercode + ' - ' + record.beername);
+   $('#info_mode').jqxDropDownList('selectItem', record.mode);
+   blank['name'] = record.alias;
+   blank['code'] = record.alias.toUpperCase();
+   blank['uuid'] = record.uuid;
+
+   if (record.online && (record.mode != 'OFF')) {
+    $('#ispindel_powerled').html('<div class="LEDblue_on"></div>Power');
+    $('#select_beer').jqxDropDownList({ disabled: true });
+    $('#select_beer').jqxDropDownList('clearSelection');
+    $('#select_beer').hide();
+   } else {
+    $('#ispindel_powerled').html('<div class="LEDblue_off"></div>Power');
+    $('#select_beer').show();
+    $('#select_beer').jqxDropDownList({ disabled: false });
+   }
+   if (record.online && (record.alarm != '0')) {
+    $('#ispindel_alarmled').html('<div class="LEDred_on"></div>Alarm');
+   } else {
+    $('#ispindel_alarmled').html('<div class="LEDred_off"></div>Alarm');
+   }
+
+   $('#gaugeContainer_temperature').jqxGauge({ caption: { value: record.temperature.toFixed(3) + '°C' }});
+   $('#gaugeContainer_temperature').jqxGauge({ value: record.temperature });
+
+   var sg = plato_to_sg(record.gravity);
+
+   $('#info_battery').val(record.battery);
+   $('#info_tilt').val(record.angle);
+   $('#info_plato').val(record.gravity);
+   $('#info_sg').val(sg);
+
+   if (record.og_gravity) {
+    var og = plato_to_sg(record.og_gravity);
+    var svg = calc_svg(og, sg);
+
+    $('#vg_og1').html(og.toFixed(4));
+    $('#vg_og2').html(record.og_gravity.toFixed(1) + '&deg;P');
+    $('#vg_sg1').html(sg.toFixed(4));
+    $('#vg_sg2').html(record.gravity.toFixed(1) + '&deg;P');
+    $('#vg_svg').html(svg.toFixed(1) + '%');
+    $('#vg_abv').html(abvol(og, sg).toFixed(2) + '%');
+   } else {
+    $('#vg_og1').html('');
+    $('#vg_og2').html('');
+    $('#vg_sg1').html('');
+    $('#vg_sg2').html('');
+    $('#vg_svg').html('');
+    $('#vg_abv').html('');
+   }
+
+   var batt = record.battery - 3.064; // 0% voltage.
+   if (batt < 0)
+    batt = 0;
+   batt = Math.round(batt / 1.17875 * 100); // 100% range
+   if (batt > 100)
+    batt = 100;
+   $('#vg_batt').html(batt + '%');
+
+
+   var gravity = sg * 1000;
+   $('#gaugeContainer_gravity').jqxLinearGauge({ value: gravity });
+  }
+ });
+
+ $('#select_beer').jqxDropDownList({
+  placeHolder: 'Kies bier:',
+  theme: theme,
+  source: productlist,
+  displayMember: 'code',
+  width: 150,
+  height: 24,
+  dropDownWidth: 500,
+  autoDropDownHeight: true,
+  renderer: function(index, label, value) {
+   var datarecord = productlist.records[index];
+   return datarecord.code + ' - ' + datarecord.name;
+  }
+ });
+
+ $('#info_battery').jqxNumberInput(Show3dec);
+ $('#info_tilt').jqxNumberInput(Show5dec);
+ $('#info_plato').jqxNumberInput(Show2dec);
+ $('#info_sg').jqxNumberInput(Show4dec);
+
+ $('#gaugeContainer_temperature').jqxGauge(gaugeoptionst);
+ $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: 00.000' }});
+ $('#gaugeContainer_gravity').jqxLinearGauge(gaugeoptionsg);
+
+ srcMode = ['OFF', 'ON'];
+ $('#info_mode').jqxDropDownList({ theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 65 });
+
+ function sendProduct(code, name, uuid) {
+
+  console.log('sendProduct(' + code + ', ' + name + ', ' + uuid + ')');
+  var data = 'uuid=' + record.uuid + '&beeruuid=' + uuid + '&beercode=' + code + '&beername=' + name;
+  $.ajax({
+   url: 'cmd_ispindel.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendProduct() error'); }
+  });
+ }
+
+ function sendMode(mode) {
+
+  console.log('sendMode(' + mode + ')');
+  var data = 'uuid=' + record.uuid + '&mode=' + mode;
+  $.ajax({
+   url: 'cmd_ispindel.php',
+   data: data,
+   type: 'POST',
+   success: function(data) {},
+   error: function(jqXHR, textStatus, errorThrown) { console.log('sendMode() error'); }
+  });
+ }
+
+ // Get the data immediatly and then at regular intervals to refresh.
+ dataAdapter.dataBind();
+ setInterval(function() {
+  var skip = false;
+  if (newMode) {
+   sendMode(record.mode);
+   newMode = false;
+   skip = true;
+  }
+  if (newProduct) {
+   sendProduct(record.beercode, record.beername, record.beeruuid);
+   newProduct = false;
+   skip = true;
+  }
+  if (skip) {
+   schedule = 4; // 2 seconds wait to get the results
+  } else {
+   if (schedule > 0)
+    schedule--;
+  }
+
+  if (schedule <= 0) {
+   dataAdapter.dataBind();
+   schedule = 20;
+  }
+ }, 500);
+
+ $('#select_beer').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = productlist.records[index];
+   record.beercode = datarecord.code;
+   record.beername = datarecord.name;
+   record.beeruuid = datarecord.uuid;
+   newProduct = true;
+  }
+ });
+ $('#info_mode').on('select', function(event) {
+  if (event.args) {
+   record.mode = event.args.item.value;
+   newMode = true;
+  }
+ });
+
+ // The chart button.
+ $('#VLog').jqxButton({ template: 'primary', width: '150px', theme: theme });
+ $('#VLog').click(function() {
+  window.open('log_ispindel.php?code=' + record.beercode + '&name=' + record.beername);
+ });
+});
--- a/www/js/mon_node-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a="getnode.php?uuid='"+my_uuid+"'",b={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"node",type:"string"},{name:"online",type:"bool"},{name:"group_id",type:"string"},{name:"hardwaremake",type:"string"},{name:"hardwaremodel",type:"string"},{name:"os",type:"string"},{name:"os_version",type:"string"},{name:"firmware",type:"string"},{name:"firstseen",type:"string"},{name:"lastseen",type:"string"},{name:"temperature",type:"float"},{name:"humidity",type:"float"},{name:"barometer",type:"float"},{name:"gps_latitude",type:"float"},{name:"gps_longitude",type:"float"},{name:"gps_altitude",type:"float"},{name:"net_address",type:"string"},{name:"net_ifname",type:"string"},{name:"net_rssi",type:"int"}],id:"record",url:a},c=new $.jqx.dataAdapter(b,{loadComplete:function(e){var d=c.records[0],f="<div id='node_table'>";f+="<table style='width: 100%; padding: 10px;'>";f+="<tr><th colspan=2>Systeem overzicht</th></tr>";f+="<tr><td>Uuid</td><td>"+d.uuid+"</td></tr>";f+="<tr><td>Systeem</td><td>"+d.node+"</td></tr>";f+="<tr><td>Online</td><td>"+d.online+"</td></tr>";f+="<tr><td>Type</td><td>"+d.group_id+"</td></tr>";f+="<tr><td>Eerst gezien</td><td>"+d.firstseen+"</td></tr>";f+="<tr><td>Laatst gezien</td><td>"+d.lastseen+"</td></tr>";f+="<tr><td>Hardware maker</td><td>"+d.hardwaremake+"</td></tr>";f+="<tr><td>Hardware model</td><td>"+d.hardwaremodel+"</td></tr>";f+="<tr><td>OS</td><td>"+d.os+" versie: "+d.os_version+"</td></tr>";f+="<tr><td>Firmware</td><td>"+d.firmware+"</td></tr>";if(d.online){f+="<tr><td>Temperatuur</td><td>"+d.temperature.toFixed(1)+"&deg;C</td></tr>";if(d.humidity>0){f+="<tr><td>Vochtigheid</td><td>"+d.humidity.toFixed(1)+"%</td></tr>"}if(d.barometer>0){f+="<tr><td>Luchtdruk</td><td>"+d.barometer.toFixed(0)+"</td></tr>"}if((d.gps_latitude!=0)&&(d.gps_longitude!=0)){f+="<tr><td>GPS</td><td>"+d.gps_latitude+" "+d.gps_longitude+" "+d.gps_altitude+"</td></tr>"}f+="<tr><td>Netwerk</td><td>"+d.net_ifname+" "+d.net_address+"</td></tr>"}f+="</<table>";f+="</div>";$("#ContentPanel").html(f)}});c.dataBind();setInterval(function(){c.dataBind()},30000)});
\ No newline at end of file
--- a/www/js/mon_node.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/mon_node.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2019
+ * Copyright (C) 2019-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -21,76 +21,84 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var url = "getnode.php?uuid='" + my_uuid + "'",
-	source = {
-		datatype: "json",
-		datafields: [
-			{ name: 'record', type: 'int' },
-			{ name: 'uuid', type: 'string' },
-			{ name: 'node', type: 'string' },
-			{ name: 'online', type: 'bool' },
-			{ name: 'group_id', type: 'string' },
-			{ name: 'hardwaremake', type: 'string' },
-			{ name: 'hardwaremodel', type: 'string' },
-			{ name: 'os', type: 'string' },
-			{ name: 'os_version', type: 'string' },
-			{ name: 'firmware', type: 'string' },
-			{ name: 'firstseen', type: 'string' },
-			{ name: 'lastseen', type: 'string' },
-			{ name: 'temperature', type: 'float' },
-			{ name: 'humidity', type: 'float' },
-			{ name: 'barometer', type: 'float' },
-			{ name: 'gps_latitude', type: 'float' },
-			{ name: 'gps_longitude', type: 'float' },
-			{ name: 'gps_altitude', type: 'float' },
-			{ name: 'net_address', type: 'string' },
-			{ name: 'net_ifname', type: 'string' },
-			{ name: 'net_rssi', type: 'int' }
-		],
-		id: 'record',
-		url: url
-	},
-	dataAdapter = new $.jqx.dataAdapter(source, {
-		loadComplete: function (records) {
-			var record = dataAdapter.records[0],
-			html  = "<div id='node_table'>";
-			html += "<table style='width: 100%; padding: 10px;'>";
-			html += "<tr><th colspan=2>Systeem overzicht</th></tr>";
-			html += "<tr><td>Uuid</td><td>" + record.uuid + "</td></tr>";
-			html += "<tr><td>Systeem</td><td>" + record.node + "</td></tr>";
-			html += "<tr><td>Online</td><td>" + record.online + "</td></tr>";
-			html += "<tr><td>Type</td><td>" + record.group_id + "</td></tr>";
-			html += "<tr><td>Eerst gezien</td><td>" + record.firstseen + "</td></tr>";
-			html += "<tr><td>Laatst gezien</td><td>" + record.lastseen + "</td></tr>";
-			html += "<tr><td>Hardware maker</td><td>" + record.hardwaremake+ "</td></tr>";
-			html += "<tr><td>Hardware model</td><td>" + record.hardwaremodel+ "</td></tr>";
-			html += "<tr><td>OS</td><td>" + record.os + " versie: " + record.os_version + "</td></tr>";
-			html += "<tr><td>Firmware</td><td>" + record.firmware + "</td></tr>";
-			if (record.online) {
-				html += "<tr><td>Temperatuur</td><td>" + record.temperature.toFixed(1) + "&deg;C</td></tr>";
-				if (record.humidity > 0) {
-					html += "<tr><td>Vochtigheid</td><td>" + record.humidity.toFixed(1) + "%</td></tr>";
-				}
-				if (record.barometer > 0) {
-					html += "<tr><td>Luchtdruk</td><td>" + record.barometer.toFixed(0) + "</td></tr>";
-				}
-				if ((record.gps_latitude != 0) && (record.gps_longitude != 0)) {
-					html += "<tr><td>GPS</td><td>"+ record.gps_latitude + " " + record.gps_longitude + " " + record.gps_altitude + "</td></tr>";
-				}
-				html += "<tr><td>Netwerk</td><td>"+ record.net_ifname + " " + record.net_address + "</td></tr>";
-			}
-			html += "</<table>";
-			html += "</div>";
-			$("#ContentPanel").html(html);
-		}
-	});
+ var url = 'getnode.php?uuid="' + my_uuid + '"',
+ source = {
+  datatype: 'json',
+  datafields: [
+   { name: 'record', type: 'int' },
+   { name: 'uuid', type: 'string' },
+   { name: 'node', type: 'string' },
+   { name: 'online', type: 'int' },
+   { name: 'group_id', type: 'string' },
+   { name: 'hardwaremake', type: 'string' },
+   { name: 'hardwaremodel', type: 'string' },
+   { name: 'os', type: 'string' },
+   { name: 'os_version', type: 'string' },
+   { name: 'firmware', type: 'string' },
+   { name: 'firstseen', type: 'string' },
+   { name: 'lastseen', type: 'string' },
+   { name: 'temperature', type: 'float' },
+   { name: 'humidity', type: 'float' },
+   { name: 'barometer', type: 'float' },
+   { name: 'gps_latitude', type: 'float' },
+   { name: 'gps_longitude', type: 'float' },
+   { name: 'gps_altitude', type: 'float' },
+   { name: 'net_address', type: 'string' },
+   { name: 'net_ifname', type: 'string' },
+   { name: 'net_rssi', type: 'int' },
+   { name: 'up_interval', type: 'int' }
+  ],
+  id: 'record',
+  url: url
+ },
+ dataAdapter = new $.jqx.dataAdapter(source, {
+  loadComplete: function(records) {
+   var record = dataAdapter.records[0],
+   oline = (record.online) ? 'On-line' : 'Off-line',
+   html = '<div id="node_table">';
+   html += '<table style="width: 100%; padding: 10px;">';
+   html += '<tr><th colspan=2>Systeem overzicht</th></tr>';
+   html += '<tr><td>Uuid</td><td>' + record.uuid + '</td></tr>';
+   html += '<tr><td>Systeem</td><td>' + record.node + '</td></tr>';
+   html += '<tr><td>Online</td><td>' + oline + '</td></tr>';
+   html += '<tr><td>Type</td><td>' + record.group_id + '</td></tr>';
+   html += '<tr><td>Eerst gezien</td><td>' + record.firstseen + '</td></tr>';
+   html += '<tr><td>Laatst gezien</td><td>' + record.lastseen + '</td></tr>';
+   html += '<tr><td>Hardware maker</td><td>' + record.hardwaremake + '</td></tr>';
+   html += '<tr><td>Hardware model</td><td>' + record.hardwaremodel + '</td></tr>';
+   html += '<tr><td>OS</td><td>' + record.os + ' versie: ' + record.os_version + '</td></tr>';
+   html += '<tr><td>Firmware</td><td>' + record.firmware + '</td></tr>';
+   if (record.online) {
+    if (record.temperature > 0) {
+     html += '<tr><td>Temperatuur</td><td>' + record.temperature.toFixed(1) + '&deg;C</td></tr>';
+    }
+    if (record.humidity > 0) {
+     html += '<tr><td>Vochtigheid</td><td>' + record.humidity.toFixed(1) + '%</td></tr>';
+    }
+    if (record.barometer > 0) {
+     html += '<tr><td>Luchtdruk</td><td>' + record.barometer.toFixed(0) + '</td></tr>';
+    }
+    if ((record.gps_latitude != 0) && (record.gps_longitude != 0)) {
+     html += '<tr><td>GPS</td><td>' + record.gps_latitude + ' ' + record.gps_longitude + ' ' + record.gps_altitude + '</td></tr>';
+    }
+    html += '<tr><td>Netwerk</td><td>' + record.net_ifname + ' ' + record.net_address + '</td></tr>';
+    if (record.net_rssi < 0) {
+     html += '<tr><td>WiFi signaal</td><td>' + record.net_rssi + '</td></tr>';
+    }
+    html += '<tr><td>Update interval</td><td>' + record.up_interval + ' sec.</td></tr>';
+   }
+   html += '</<table>';
+   html += '</div>';
+   $('#ContentPanel').html(html);
+  }
+ });
 
-	// Get the data immediatly and then at regular intervals to refresh.
-	dataAdapter.dataBind();
-	setInterval(function(){
-		dataAdapter.dataBind();
-	}, 30000);
+ // Get the data immediatly and then at regular intervals to refresh.
+ dataAdapter.dataBind();
+ setInterval(function() {
+  dataAdapter.dataBind();
+ }, 30000);
 });
 
--- a/www/js/prod_archive_code-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"code",type:"string"},{name:"date",type:"string"},{name:"style",type:"string"},{name:"og",type:"float"},{name:"fg",type:"float"},{name:"batch_size",type:"float"},],id:"record",url:"includes/db_product.php?select=archcode"},b=new $.jqx.dataAdapter(a);$("#jqxgrid").jqxGrid({width:1280,height:630,source:b,theme:theme,columns:[{text:"Code",datafield:"code",width:100},{text:"Naam",datafield:"name"},{text:"Stijl",datafield:"style",width:250},{text:"OG",datafield:"og",width:80,cellsformat:"f3"},{text:"FG",datafield:"fg",width:80,cellsformat:"f3"},{text:"Datum",datafield:"date",width:120},{text:"Liters",datafield:"batch_size",width:80,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",datafield:"Edit",width:80,align:"center",columntype:"button",cellsrenderer:function(){return"Bekijk"},buttonclick:function(d){var c=b.records[d];window.location.href="prod_edit.php?record="+c.record+"&select=archcode&return=prod_archive_code.php"}}],})});
\ No newline at end of file
--- a/www/js/prod_archive_code.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_archive_code.js	Fri May 01 16:37:31 2020 +0200
@@ -21,46 +21,46 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-	var source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'code', type: 'string' },
-			{ name: 'date', type: 'string' },
-			{ name: 'style', type: 'string' },
-			{ name: 'og', type: 'float' },
-			{ name: 'fg', type: 'float' },
-			{ name: 'batch_size', type: 'float' },
-		],
-		id: 'record',
-		url: "includes/db_product.php?select=archcode"
-	},
-	dataAdapter = new $.jqx.dataAdapter(source);
+$(document).ready(function() {
+ var source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'code', type: 'string' },
+   { name: 'date', type: 'string' },
+   { name: 'style', type: 'string' },
+   { name: 'og', type: 'float' },
+   { name: 'fg', type: 'float' },
+   { name: 'batch_size', type: 'float' },
+  ],
+  id: 'record',
+  url: 'includes/db_product.php?select=archcode'
+ },
+ dataAdapter = new $.jqx.dataAdapter(source);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		columns: [
-			{ text: 'Code', datafield: 'code', width: 100 },
-			{ text: 'Naam', datafield: 'name' },
-			{ text: 'Stijl', datafield: 'style', width: 250 },
-			{ text: 'OG', datafield: 'og', width: 80, cellsformat: 'f3' },
-			{ text: 'FG', datafield: 'fg', width: 80, cellsformat: 'f3' },
-			{ text: 'Datum', datafield: 'date', width: 120 },
-			{ text: 'Liters', datafield: 'batch_size', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: '', datafield: 'Edit', width: 80, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Bekijk";
-				}, buttonclick: function (row) {
-					var datarecord = dataAdapter.records[row];
-					window.location.href = "prod_edit.php?record=" + datarecord.record + "&select=archcode&return=prod_archive_code.php";
-				}
-			}
-		],
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  columns: [
+   { text: 'Code', datafield: 'code', width: 100 },
+   { text: 'Naam', datafield: 'name' },
+   { text: 'Stijl', datafield: 'style', width: 250 },
+   { text: 'OG', datafield: 'og', width: 80, cellsformat: 'f3' },
+   { text: 'FG', datafield: 'fg', width: 80, cellsformat: 'f3' },
+   { text: 'Datum', datafield: 'date', width: 120 },
+   { text: 'Liters', datafield: 'batch_size', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: '', datafield: 'Edit', width: 80, align: 'center', columntype: 'button', cellsrenderer: function() {
+    return 'Bekijk';
+    }, buttonclick: function(row) {
+     var datarecord = dataAdapter.records[row];
+     window.location.href = 'prod_edit.php?record=' + datarecord.record + '&select=archcode&return=prod_archive_code.php';
+    }
+   }
+  ],
+ });
 });
--- a/www/js/prod_archive_date-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"code",type:"string"},{name:"year",type:"string"},{name:"date",type:"string"},{name:"style",type:"string"},{name:"og",type:"float"},{name:"fg",type:"float"},{name:"batch_size",type:"float"},],id:"record",url:"includes/db_product.php?select=archdate"},b=new $.jqx.dataAdapter(a);$("#jqxgrid").jqxGrid({width:1280,height:630,source:b,groupable:true,theme:theme,columns:[{text:"Jaar",datafield:"year",width:80},{text:"Datum",datafield:"date",width:120,menu:false},{text:"Naam",datafield:"name",menu:false},{text:"Stijl",datafield:"style",width:250},{text:"OG",datafield:"og",width:80,cellsformat:"f3",menu:false},{text:"FG",datafield:"fg",width:80,cellsformat:"f3",menu:false},{text:"Code",datafield:"code",width:100,menu:false},{text:"Liters",datafield:"batch_size",width:80,align:"right",cellsalign:"right",cellsformat:"f1",menu:false},{text:"",datafield:"Edit",width:80,align:"center",columntype:"button",cellsrenderer:function(){return"Bekijk"},buttonclick:function(d){var c=b.records[d];window.location.href="prod_edit.php?record="+c.record+"&select=archdate&return=prod_archive_date.php"}}],groups:["year"]})});
\ No newline at end of file
--- a/www/js/prod_archive_date.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_archive_date.js	Fri May 01 16:37:31 2020 +0200
@@ -21,50 +21,50 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-	var source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'code', type: 'string' },
-			{ name: 'year', type: 'string' },
-			{ name: 'date', type: 'string' },
-			{ name: 'style', type: 'string' },
-			{ name: 'og', type: 'float' },
-			{ name: 'fg', type: 'float' },
-			{ name: 'batch_size', type: 'float' },
-		],
-		id: 'record',
-		url: "includes/db_product.php?select=archdate"
-	},
-	dataAdapter = new $.jqx.dataAdapter(source);
+$(document).ready(function() {
+ var source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'code', type: 'string' },
+   { name: 'year', type: 'string' },
+   { name: 'date', type: 'string' },
+   { name: 'style', type: 'string' },
+   { name: 'og', type: 'float' },
+   { name: 'fg', type: 'float' },
+   { name: 'batch_size', type: 'float' },
+  ],
+  id: 'record',
+  url: 'includes/db_product.php?select=archdate'
+ },
+ dataAdapter = new $.jqx.dataAdapter(source);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		groupable: true,
-		theme: theme,
-		columns: [
-			{ text: 'Jaar', datafield: 'year', width: 80 },
-			{ text: 'Datum', datafield: 'date', width: 120, menu: false },
-			{ text: 'Naam', datafield: 'name', menu: false },
-			{ text: 'Stijl', datafield: 'style', width: 250 },
-			{ text: 'OG', datafield: 'og', width: 80, cellsformat: 'f3', menu: false },
-			{ text: 'FG', datafield: 'fg', width: 80, cellsformat: 'f3', menu: false },
-			{ text: 'Code', datafield: 'code', width: 100, menu: false },
-			{ text: 'Liters', datafield: 'batch_size', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1', menu: false },
-			{ text: '', datafield: 'Edit', width: 80, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Bekijk";
-				}, buttonclick: function (row) {
-					var datarecord = dataAdapter.records[row];
-					window.location.href = "prod_edit.php?record=" + datarecord.record + "&select=archdate&return=prod_archive_date.php";
-				}
-			}
-		],
-		groups: ['year']
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  groupable: true,
+  theme: theme,
+  columns: [
+   { text: 'Jaar', datafield: 'year', width: 80 },
+   { text: 'Datum', datafield: 'date', width: 120, menu: false },
+   { text: 'Naam', datafield: 'name', menu: false },
+   { text: 'Stijl', datafield: 'style', width: 250 },
+   { text: 'OG', datafield: 'og', width: 80, cellsformat: 'f3', menu: false },
+   { text: 'FG', datafield: 'fg', width: 80, cellsformat: 'f3', menu: false },
+   { text: 'Code', datafield: 'code', width: 100, menu: false },
+   { text: 'Liters', datafield: 'batch_size', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1', menu: false },
+   { text: '', datafield: 'Edit', width: 80, align: 'center', columntype: 'button', cellsrenderer: function() {
+    return 'Bekijk';
+    }, buttonclick: function(row) {
+     var datarecord = dataAdapter.records[row];
+     window.location.href = 'prod_edit.php?record=' + datarecord.record + '&select=archdate&return=prod_archive_date.php';
+    }
+   }
+  ],
+  groups: ['year']
+ });
 });
--- a/www/js/prod_archive_name-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"code",type:"string"},{name:"date",type:"string"},{name:"style",type:"string"},{name:"og",type:"float"},{name:"fg",type:"float"},{name:"batch_size",type:"float"},],id:"record",url:"includes/db_product.php?select=archname"},b=new $.jqx.dataAdapter(a);$("#jqxgrid").jqxGrid({width:1280,height:630,source:b,theme:theme,columns:[{text:"Naam",datafield:"name"},{text:"Stijl",datafield:"style",width:250},{text:"OG",datafield:"og",width:80,cellsformat:"f3"},{text:"FG",datafield:"fg",width:80,cellsformat:"f3"},{text:"Datum",datafield:"date",width:120},{text:"Code",datafield:"code",width:100},{text:"Liters",datafield:"batch_size",width:80,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",datafield:"Edit",width:80,align:"center",columntype:"button",cellsrenderer:function(){return"Bekijk"},buttonclick:function(d){var c=b.records[d];window.location.href="prod_edit.php?record="+c.record+"&select=archname&return=prod_archive_name.php"}}],})});
\ No newline at end of file
--- a/www/js/prod_archive_name.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_archive_name.js	Fri May 01 16:37:31 2020 +0200
@@ -21,46 +21,46 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-	var source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'code', type: 'string' },
-			{ name: 'date', type: 'string' },
-			{ name: 'style', type: 'string' },
-			{ name: 'og', type: 'float' },
-			{ name: 'fg', type: 'float' },
-			{ name: 'batch_size', type: 'float' },
-		],
-		id: 'record',
-		url: "includes/db_product.php?select=archname"
-	},
-	dataAdapter = new $.jqx.dataAdapter(source);
+$(document).ready(function() {
+ var source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'code', type: 'string' },
+   { name: 'date', type: 'string' },
+   { name: 'style', type: 'string' },
+   { name: 'og', type: 'float' },
+   { name: 'fg', type: 'float' },
+   { name: 'batch_size', type: 'float' },
+  ],
+  id: 'record',
+  url: 'includes/db_product.php?select=archname'
+ },
+ dataAdapter = new $.jqx.dataAdapter(source);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		columns: [
-			{ text: 'Naam', datafield: 'name' },
-			{ text: 'Stijl', datafield: 'style', width: 250 },
-			{ text: 'OG', datafield: 'og', width: 80, cellsformat: 'f3' },
-			{ text: 'FG', datafield: 'fg', width: 80, cellsformat: 'f3' },
-			{ text: 'Datum', datafield: 'date', width: 120 },
-			{ text: 'Code', datafield: 'code', width: 100 },
-			{ text: 'Liters', datafield: 'batch_size', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: '', datafield: 'Edit', width: 80, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Bekijk";
-				}, buttonclick: function (row) {
-					var datarecord = dataAdapter.records[row];
-					window.location.href = "prod_edit.php?record=" + datarecord.record + "&select=archname&return=prod_archive_name.php";
-				}
-			}
-		],
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  columns: [
+   { text: 'Naam', datafield: 'name' },
+   { text: 'Stijl', datafield: 'style', width: 250 },
+   { text: 'OG', datafield: 'og', width: 80, cellsformat: 'f3' },
+   { text: 'FG', datafield: 'fg', width: 80, cellsformat: 'f3' },
+   { text: 'Datum', datafield: 'date', width: 120 },
+   { text: 'Code', datafield: 'code', width: 100 },
+   { text: 'Liters', datafield: 'batch_size', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: '', datafield: 'Edit', width: 80, align: 'center', columntype: 'button', cellsrenderer: function() {
+    return 'Bekijk';
+    }, buttonclick: function(row) {
+     var datarecord = dataAdapter.records[row];
+     window.location.href = 'prod_edit.php?record=' + datarecord.record + '&select=archname&return=prod_archive_name.php';
+    }
+   }
+  ],
+ });
 });
--- a/www/js/prod_divide-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#divide_type").jqxDropDownList({theme:theme,source:SplitAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});function e(){rows=$("#splitGrid").jqxGrid("getrows");c=Round(d,1);for(f=0;f<rows.length;f++){row=rows[f];c-=row.split_size}$("#leftover").val(c)}function k(p){var q,s,o,n=0;q=$("#splitGrid").jqxGrid("getrows");for(o=0;o<q.length;o++){s=q[o];if(o!=p){n+=s.split_size}}g=Round(d-h-n,1);console.log("calcRoom("+p+"):"+n+" room:"+g)}var j={},f,d=0,c=0,h=0,g=0,b="includes/db_product.php",a={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"code",type:"string"},{name:"birth",type:"string"},{name:"stage",type:"int"},{name:"notes",type:"string"},{name:"log_brew",type:"int"},{name:"log_fermentation",type:"int"},{name:"inventory_reduced",type:"int"},{name:"locked",type:"int"},{name:"eq_name",type:"string"},{name:"eq_boil_size",type:"float"},{name:"eq_batch_size",type:"float"},{name:"eq_tun_volume",type:"float"},{name:"eq_tun_weight",type:"float"},{name:"eq_tun_specific_heat",type:"float"},{name:"eq_tun_material",type:"int"},{name:"eq_tun_height",type:"float"},{name:"eq_top_up_water",type:"float"},{name:"eq_trub_chiller_loss",type:"float"},{name:"eq_evap_rate",type:"float"},{name:"eq_boil_time",type:"float"},{name:"eq_calc_boil_volume",type:"int"},{name:"eq_top_up_kettle",type:"float"},{name:"eq_hop_utilization",type:"float"},{name:"eq_notes",type:"string"},{name:"eq_lauter_volume",type:"float"},{name:"eq_lauter_height",type:"float"},{name:"eq_lauter_deadspace",type:"float"},{name:"eq_kettle_volume",type:"float"},{name:"eq_kettle_height",type:"float"},{name:"eq_mash_volume",type:"float"},{name:"eq_mash_max",type:"float"},{name:"eq_efficiency",type:"float"},{name:"brew_date_start",type:"string"},{name:"brew_mash_ph",type:"float"},{name:"brew_mash_sg",type:"float"},{name:"brew_mash_efficiency",type:"float"},{name:"brew_sparge_est",type:"float"},{name:"brew_sparge_ph",type:"float"},{name:"brew_preboil_volume",type:"float"},{name:"brew_preboil_sg",type:"float"},{name:"brew_preboil_ph",type:"float"},{name:"brew_preboil_efficiency",type:"float"},{name:"brew_aboil_volume",type:"float"},{name:"brew_aboil_sg",type:"float"},{name:"brew_aboil_ph",type:"float"},{name:"brew_aboil_efficiency",type:"float"},{name:"brew_cooling_method",type:"int"},{name:"brew_cooling_time",type:"float"},{name:"brew_cooling_to",type:"float"},{name:"brew_whirlpool9",type:"float"},{name:"brew_whirlpool7",type:"float"},{name:"brew_whirlpool6",type:"float"},{name:"brew_whirlpool2",type:"float"},{name:"brew_fermenter_volume",type:"float"},{name:"brew_fermenter_extrawater",type:"float"},{name:"brew_fermenter_tcloss",type:"float"},{name:"brew_aeration_time",type:"float"},{name:"brew_aeration_speed",type:"float"},{name:"brew_aeration_type",type:"int"},{name:"brew_fermenter_sg",type:"float"},{name:"brew_fermenter_ibu",type:"float"},{name:"brew_fermenter_color",type:"float"},{name:"brew_date_end",type:"string"},{name:"og",type:"float"},{name:"fg",type:"float"},{name:"primary_start_temp",type:"float"},{name:"primary_max_temp",type:"float"},{name:"primary_end_temp",type:"float"},{name:"primary_end_sg",type:"float"},{name:"primary_end_date",type:"string"},{name:"secondary_temp",type:"float"},{name:"secondary_end_sg",type:"float"},{name:"secondary_end_date",type:"string"},{name:"tertiary_temp",type:"float"},{name:"package_date",type:"string"},{name:"package_volume",type:"float"},{name:"package_infuse_amount",type:"float"},{name:"package_infuse_abv",type:"float"},{name:"package_infuse_notes",type:"string"},{name:"package_abv",type:"float"},{name:"package_ph",type:"float"},{name:"bottle_amount",type:"float"},{name:"bottle_carbonation",type:"float"},{name:"bottle_priming_water",type:"float"},{name:"bottle_priming_amount",type:"float"},{name:"bottle_carbonation_temp",type:"float"},{name:"keg_amount",type:"float"},{name:"keg_carbonation",type:"float"},{name:"keg_priming_water",type:"float"},{name:"keg_priming_amount",type:"float"},{name:"keg_carbonation_temp",type:"float"},{name:"keg_forced_carb",type:"int"},{name:"keg_pressure",type:"float"},{name:"taste_notes",type:"string"},{name:"taste_rate",type:"float"},{name:"taste_date",type:"string"},{name:"taste_color",type:"string"},{name:"taste_transparency",type:"string"},{name:"taste_head",type:"string"},{name:"taste_aroma",type:"string"},{name:"taste_taste",type:"string"},{name:"taste_mouthfeel",type:"string"},{name:"taste_aftertaste",type:"string"},{name:"st_name",type:"string"},{name:"st_letter",type:"string"},{name:"st_guide",type:"string"},{name:"st_category",type:"string"},{name:"st_category_number",type:"float"},{name:"st_type",type:"int"},{name:"st_og_min",type:"float"},{name:"st_og_max",type:"float"},{name:"st_fg_min",type:"float"},{name:"st_fg_max",type:"float"},{name:"st_ibu_min",type:"float"},{name:"st_ibu_max",type:"float"},{name:"st_color_min",type:"float"},{name:"st_color_max",type:"float"},{name:"st_carb_min",type:"float"},{name:"st_carb_max",type:"float"},{name:"st_abv_min",type:"float"},{name:"st_abv_max",type:"float"},{name:"type",type:"int"},{name:"batch_size",type:"float"},{name:"boil_size",type:"float"},{name:"boil_time",type:"float"},{name:"efficiency",type:"float"},{name:"est_og",type:"float"},{name:"est_fg",type:"float"},{name:"est_abv",type:"float"},{name:"est_color",type:"float"},{name:"color_method",type:"int"},{name:"est_ibu",type:"float"},{name:"ibu_method",type:"int"},{name:"est_carb",type:"float"},{name:"sparge_temp",type:"float"},{name:"sparge_ph",type:"float"},{name:"sparge_volume",type:"float"},{name:"sparge_source",type:"int"},{name:"sparge_acid_type",type:"int"},{name:"sparge_acid_perc",type:"float"},{name:"sparge_acid_amount",type:"float"},{name:"mash_ph",type:"float"},{name:"mash_name",type:"string"},{name:"calc_acid",type:"int"},{name:"w1_name",type:"string"},{name:"w1_amount",type:"float"},{name:"w1_calcium",type:"float"},{name:"w1_sulfate",type:"float"},{name:"w1_chloride",type:"float"},{name:"w1_sodium",type:"float"},{name:"w1_magnesium",type:"float"},{name:"w1_total_alkalinity",type:"float"},{name:"w1_ph",type:"float"},{name:"w1_cost",type:"float"},{name:"w2_name",type:"string"},{name:"w2_amount",type:"float"},{name:"w2_calcium",type:"float"},{name:"w2_sulfate",type:"float"},{name:"w2_chloride",type:"float"},{name:"w2_sodium",type:"float"},{name:"w2_magnesium",type:"float"},{name:"w2_total_alkalinity",type:"float"},{name:"w2_ph",type:"float"},{name:"w2_cost",type:"float"},{name:"wg_amount",type:"float"},{name:"wg_calcium",type:"float"},{name:"wg_sulfate",type:"float"},{name:"wg_chloride",type:"float"},{name:"wg_sodium",type:"float"},{name:"wg_magnesium",type:"float"},{name:"wg_total_alkalinity",type:"float"},{name:"wg_ph",type:"float"},{name:"wb_calcium",type:"float"},{name:"wb_sulfate",type:"float"},{name:"wb_chloride",type:"float"},{name:"wb_sodium",type:"float"},{name:"wb_magnesium",type:"float"},{name:"wb_total_alkalinity",type:"float"},{name:"wb_ph",type:"float"},{name:"wa_acid_name",type:"int"},{name:"wa_acid_perc",type:"int"},{name:"wa_base_name",type:"int"},{name:"starter_enable",type:"int"},{name:"starter_type",type:"int"},{name:"starter_sg",type:"float"},{name:"starter_viability",type:"int"},{name:"starter_viability",type:"int"},{name:"prop1_type",type:"int"},{name:"prop1_volume",type:"float"},{name:"prop2_type",type:"int"},{name:"prop2_volume",type:"float"},{name:"prop3_type",type:"int"},{name:"prop3_volume",type:"float"},{name:"prop4_type",type:"int"},{name:"prop4_volume",type:"float"},{name:"divide_type",type:"int"},{name:"divide_size",type:"float"},{name:"divide_parts",type:"int"},{name:"fermentables",type:"string"},{name:"hops",type:"string"},{name:"miscs",type:"string"},{name:"yeasts",type:"string"},{name:"mashs",type:"string"}],id:"record",url:b+"?record="+my_record},l=new $.jqx.dataAdapter(a,{loadComplete:function(){var i=l.records;j=i[0];$("#name").val(j.name);$("#code").val(j.code);$("#stage").val(StageData[j.stage].nl);for(f=0;f<SplitData.length;f++){console.log("i:"+f+" ok:"+SplitData[f].ok+" stage:"+j.stage);if(SplitData[f].ok<j.stage){$("#divide_type").jqxDropDownList("disableAt",f)}}},loadError:function(o,i,n){},beforeLoadComplete:function(i){$("#jqxLoader").jqxLoader("open")}});durl="includes/db_divides.php",dividerec={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"divide_from",type:"string"},{name:"divide_type",type:"int"},{name:"divide_size",type:"float"},{name:"name",type:"string"},{name:"code",type:"string"}],id:"record",url:durl+"?record="+my_record};var m=function(o){var i={datatype:"local",cache:false,async:false,datafields:[{name:"split_code",type:"string"},{name:"split_name",type:"string"},{name:"split_size",type:"float"}],addrow:function(q,s,p,r){console.log("split addrow "+q);r(true)},deleterow:function(p,q){console.log("split deleterow "+p);q(true)}},n=new $.jqx.dataAdapter(i,{});$("#splitGrid").jqxGrid({width:1240,height:375,source:n,editable:true,enabletooltips:true,selectionmode:"singlecell",editmode:"click",theme:theme,showtoolbar:true,rendertoolbar:function(q){var p=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');q.append(p);p.append('<input style="float: left; margin-left: 165px;" id="saddrowbutton" type="button" value="Nieuwe splitsing" />');p.append('<input style="float: left; margin-left: 565px;" id="sdeleterowbutton" type="button" value="Verwijder splitsing" />');$("#saddrowbutton").jqxButton({template:"primary",theme:theme,disabled:true,height:27,width:150});$("#saddrowbutton").on("click",function(){var r={},s=$("#splitGrid").jqxGrid("getdatainformation").rowscount;r.split_code=j.code+"-"+(s+1);r.split_name=j.name+" "+(s+1);r.split_size=0;$("#splitGrid").jqxGrid("addrow",null,r);$("#sdeleterowbutton").jqxButton({disabled:false});$("#divide_type").jqxDropDownList({disabled:true})});$("#sdeleterowbutton").jqxButton({template:"danger",theme:theme,disabled:true,height:27,width:150});$("#sdeleterowbutton").on("click",function(){var t,s,r;t=$("#splitGrid").jqxGrid("getdatainformation").rowscount;s=$("#splitGrid").jqxGrid("getrowid",t-1);r=$("#splitGrid").jqxGrid("getrowdata",s);c+=r.split_size;if(c>d){c=d}$("#leftover").val(c);$("#splitGrid").jqxGrid("deleterow",s);if(t==1){$("#sdeleterowbutton").jqxButton({disabled:true});$("#divide_type").jqxDropDownList({disabled:false})}})},columns:[{text:"Splits code",datafield:"split_code",width:120,editable:false},{text:"Splits naam",datafield:"split_name"},{text:"Splits volume",datafield:"split_size",width:120,align:"right",cellsalign:"right",cellsformat:"f1",columntype:"numberinput",validation:function(p,q){if(q<0||q>g){return{result:false,message:"Volume should be between 0 and "+g+" liter"}}return true},createeditor:function(r,p,q){q.jqxNumberInput({decimalDigits:1,digits:3})}}]});$("#splitGrid").on("cellbeginedit",function(q){var p=q.args;k(p.rowindex)});$("#splitGrid").on("cellvaluechanged",function(q){var p=q.args;e()})};l.dataBind();m(j);$("#name").jqxTooltip({content:"De naam voor dit product."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#code").jqxTooltip({content:"Product code nummer."});$("#code").jqxInput({theme:theme,width:100,height:23});$("#stage").jqxTooltip({content:"De productie fase van dit product."});$("#stage").jqxInput({theme:theme,width:100,height:23});$("#available").jqxNumberInput(Show1dec);$("#leftover").jqxNumberInput(Show1dec);$("#divide_type").val(0);$("#divide_type").on("change",function(n){var i=n.args.index;console.log("divide_type:"+i);j.divide_type=i;switch(i){case 0:d=0;break;case 1:d=j.boil_size;break;case 2:d=j.batch_size;break;case 3:d=j.brew_fermenter_volume;break;case 4:case 5:d=Round(j.brew_fermenter_volume*0.92,1);break;case 6:d=j.package_volume;break}c=d;h=Round(0.1*d,1);$("#available").val(d);$("#leftover").val(c);if(i!=0){$("#saddrowbutton").jqxButton({disabled:false})}else{$("#saddrowbutton").jqxButton({disabled:true})}});$("#Cancel").jqxButton({template:"primary",width:"80px",theme:theme});$("#Cancel").bind("click",function(){window.location.href=my_return});$("#Save").jqxButton({template:"success",width:"80px",theme:theme});$("#Save").bind("click",function(){var p,q,n,r,o;if(c!=d){console.log("Save and there are splits");r={};r.divide_from=j.uuid;r.divide_type=j.divide_type;r.divide_size=c;r.divide_part=0;r.name=j.name;r.code=j.code;o="insert=true&"+$.param(r);$.ajax({dataType:"json",url:durl,cache:false,data:o,type:"POST",success:function(s,i,t){console.log("insert divides: 0")},error:function(i,t,s){console.log("insert divides: "+t)}});p=$("#splitGrid").jqxGrid("getrows");for(n=0;n<p.length;n++){q=p[n];console.log("split "+n);r={};r.divide_from=j.uuid;r.divide_type=j.divide_type;r.divide_size=q.split_size;r.divide_part=n+1;r.name=q.split_name;r.code=q.split_code;o="insert=true&"+$.param(r);$.ajax({dataType:"json",url:durl,cache:false,data:o,type:"POST",success:function(s,i,t){console.log("insert divides: "+n)},error:function(i,t,s){console.log("insert divides: "+t)}})}r={};r.record=j.record;r.divide_type=j.divide_type;r.divide_size=c;r.divide_parts=n;o="splitit=true&"+$.param(r);$.ajax({dataType:"json",url:b,cache:false,data:o,type:"POST",success:function(s,i,t){console.log("updated products")},error:function(i,t,s){console.log("updated products: "+t)}})}window.location.href=my_return})});
\ No newline at end of file
--- a/www/js/prod_divide.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_divide.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2019
+ * Copyright (C) 2019-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -21,7 +21,7 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
  $('#divide_type').jqxDropDownList({
   theme: theme,
@@ -40,10 +40,10 @@
     for (i = 0; i < rows.length; i++) {
      row = rows[i];
      leftover -= row.split_size;
-     //console.log('i:' + i + ' split_size:' + row.split_size);
+     console.log('i:' + i + ' split_size:' + row.split_size);
     }
     $('#leftover').val(leftover);
-    //console.log('calcLeftover():' + leftover);
+    console.log('calcLeftover():' + leftover);
  }
 
  // Calculate available volume but ignore the current row.
@@ -83,6 +83,8 @@
    { name: 'notes', type: 'string' },
    { name: 'log_brew', type: 'int' },
    { name: 'log_fermentation', type: 'int' },
+   { name: 'log_ispindel', type: 'int' },
+   { name: 'log_co2pressure', type: 'int' },
    { name: 'inventory_reduced', type: 'int' },
    { name: 'locked', type: 'int' },
    { name: 'eq_name', type: 'string' },
@@ -298,7 +300,7 @@
    for (i = 0; i < SplitData.length; i++) {
     console.log('i:' + i + ' ok:' + SplitData[i].ok + ' stage:' + dataRecord.stage);
     if (SplitData[i].ok < dataRecord.stage)
-     $("#divide_type").jqxDropDownList('disableAt', i);
+     $('#divide_type').jqxDropDownList('disableAt', i);
    }
   },
    loadError: function(jqXHR, status, error) {
@@ -308,25 +310,6 @@
   }
  });
 
- durl = 'includes/db_divides.php',
-
- // Prepare the data
- dividerec = {
-  datatype: 'json',
-  cache: false,
-  datafields: [
-   // From prod_main
-   { name: 'record', type: 'number' },
-   { name: 'divide_from', type: 'string' },
-   { name: 'divide_type', type: 'int' },
-   { name: 'divide_size', type: 'float' },
-   { name: 'name', type: 'string' },
-   { name: 'code', type: 'string' }
-  ],
-  id: 'record',
-  url: durl + '?record=' + my_record
- };
-
  var editSplit = function(data) {
   var splitSource = {
    datatype: 'local',
@@ -396,23 +379,23 @@
     { text: 'Splits code', datafield: 'split_code', width: 120, editable: false },
     { text: 'Splits naam', datafield: 'split_name' },
     { text: 'Splits volume', datafield: 'split_size', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f1', columntype: 'numberinput',
-      validation: function (cell, value) {
+      validation: function(cell, value) {
        if (value < 0 || value > maxvolume) {
          return { result: false, message: 'Volume should be between 0 and ' + maxvolume + ' liter' };
        }
        return true;
       },
-      createeditor: function (row, cellvalue, editor) {
+      createeditor: function(row, cellvalue, editor) {
        editor.jqxNumberInput({ decimalDigits: 1, digits: 3 });
       }
     }
    ]
   });
-  $('#splitGrid').on('cellbeginedit', function (event) {
+  $('#splitGrid').on('cellbeginedit', function(event) {
     var args = event.args;
     calcRoom(args.rowindex); // Make maxvolume available.
   });
-  $('#splitGrid').on('cellvaluechanged', function (event) {
+  $('#splitGrid').on('cellvaluechanged', function(event) {
     var args = event.args;
     //console.log("cellvaluechanged, Column: " + args.datafield + ", Row: " + (1 + args.rowindex) + ", Value: " + args.value);
     calcLeftover();
@@ -432,7 +415,7 @@
  $('#available').jqxNumberInput(Show1dec);
  $('#leftover').jqxNumberInput(Show1dec);
  $('#divide_type').val(0);
- $('#divide_type').on('change', function(event) {
+ $('#divide_type').on('select', function(event) {
   var index = event.args.index;
   console.log('divide_type:' + index);
   dataRecord.divide_type = index;
@@ -479,77 +462,51 @@
   if (leftover != available) {
    console.log('Save and there are splits');
 
-   // Record 0, the master data
-   div = {};
-   div.divide_from = dataRecord.uuid;
-   div.divide_type = dataRecord.divide_type;
-   div.divide_size = leftover;
-   div.divide_part = 0;
-   div.name = dataRecord.name;
-   div.code = dataRecord.code;
-   data = 'insert=true&' + $.param(div);
-   $.ajax({
-     dataType: 'json',
-     url: durl,
-     cache: false,
-     data: data,
-     type: "POST",
-     success: function (data, status, xhr) {
-      console.log('insert divides: 0');
-     },
-     error: function(jqXHR, textStatus, errorThrown) {
-      console.log('insert divides: ' + textStatus);
-     }
-   });
+   // Send all the info to the database. The server handles the splitting.
+   var divide_data = new Array();
+   row = {};
+   row.name = dataRecord.name;
+   row.code = dataRecord.code;
+   row.size = Round(leftover, 4);
+   row.factor = Round((leftover / available), 4);
+   row.part = 0;
+   divide_data.push(row);
 
    rows = $('#splitGrid').jqxGrid('getrows');
    for (i = 0; i < rows.length; i++) {
     row = rows[i];
     console.log('split ' + i);
     div = {};
-    div.divide_from = dataRecord.uuid;
-    div.divide_type = dataRecord.divide_type;
-    div.divide_size = row.split_size;
-    div.divide_part = i + 1;
+    div.size = Round(row.split_size, 4);
+    div.factor = Round((row.split_size / available), 4);
+    div.part = i + 1;
     div.name = row.split_name;
     div.code = row.split_code;
-    data = 'insert=true&' + $.param(div);
-    $.ajax({
+    divide_data.push(div);
+   }
+
+   // Send the data to the server
+   div = {};
+   div.record = dataRecord.record;
+   div.divide_type = dataRecord.divide_type;
+   div.divide_parts = i;
+   div.divide_data = divide_data;
+   data = $.param(div);
+   $.ajax({
      dataType: 'json',
-     url: durl,
+     url: 'includes/db_divides.php',
      cache: false,
      data: data,
-     type: "POST",
-     success: function (data, status, xhr) {
-      console.log('insert divides: ' + i);
+     type: 'POST',
+     success: function(data, status, xhr) {
+      console.log('insert divides: success');
+      window.location.href = my_return;
      },
      error: function(jqXHR, textStatus, errorThrown) {
       console.log('insert divides: ' + textStatus);
      }
-    });
-   }
+   });
 
-   div = {};
-   div.record = dataRecord.record;
-   div.divide_type = dataRecord.divide_type;
-   div.divide_size = leftover;
-   div.divide_parts = i;
-   data = 'splitit=true&' + $.param(div);
-   $.ajax({
-     dataType: 'json',
-     url: url,
-     cache: false,
-     data: data,
-     type: "POST",
-     success: function (data, status, xhr) {
-      console.log('updated products');
-     },
-     error: function(jqXHR, textStatus, errorThrown) {
-      console.log('updated products: ' + textStatus);
-     }
-   });
   }
-  window.location.href = my_return;
  });
-
 });
--- a/www/js/prod_edit-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var ae,l=false,al=0,aZ=0,a1=0,I=0,ac=0,aD=77,ap=0,x=0.75,aa=0,p=1,ab=1,ai=1,P=1,c=1,aY=0,V=0,C=0,aU="",ag="",A=40.048,aq=24.305,ad=22.98976928,q=35.453,aI=96.0626,r=61.01684,an=172.171,T=147.015,g=100.087,aK=246.475,aF=84.007,y=105.996,b=58.443,aJ=74.06268,u=0,aL={},B=1,a=0,e={},aw=0,aH={},aE=0,f={},ak=0,D={},aA=4.445e-7,ay=4.68e-11,d={},E="includes/db_product.php",H=0.87,aR={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"code",type:"string"},{name:"birth",type:"string"},{name:"stage",type:"int"},{name:"notes",type:"string"},{name:"log_brew",type:"int"},{name:"log_fermentation",type:"int"},{name:"inventory_reduced",type:"int"},{name:"locked",type:"int"},{name:"eq_name",type:"string"},{name:"eq_boil_size",type:"float"},{name:"eq_batch_size",type:"float"},{name:"eq_tun_volume",type:"float"},{name:"eq_tun_weight",type:"float"},{name:"eq_tun_specific_heat",type:"float"},{name:"eq_tun_material",type:"int"},{name:"eq_tun_height",type:"float"},{name:"eq_top_up_water",type:"float"},{name:"eq_trub_chiller_loss",type:"float"},{name:"eq_evap_rate",type:"float"},{name:"eq_boil_time",type:"float"},{name:"eq_calc_boil_volume",type:"int"},{name:"eq_top_up_kettle",type:"float"},{name:"eq_hop_utilization",type:"float"},{name:"eq_notes",type:"string"},{name:"eq_lauter_volume",type:"float"},{name:"eq_lauter_height",type:"float"},{name:"eq_lauter_deadspace",type:"float"},{name:"eq_kettle_volume",type:"float"},{name:"eq_kettle_height",type:"float"},{name:"eq_mash_volume",type:"float"},{name:"eq_mash_max",type:"float"},{name:"eq_efficiency",type:"float"},{name:"brew_date_start",type:"string"},{name:"brew_mash_ph",type:"float"},{name:"brew_mash_sg",type:"float"},{name:"brew_mash_efficiency",type:"float"},{name:"brew_sparge_est",type:"float"},{name:"brew_sparge_ph",type:"float"},{name:"brew_preboil_volume",type:"float"},{name:"brew_preboil_sg",type:"float"},{name:"brew_preboil_ph",type:"float"},{name:"brew_preboil_efficiency",type:"float"},{name:"brew_aboil_volume",type:"float"},{name:"brew_aboil_sg",type:"float"},{name:"brew_aboil_ph",type:"float"},{name:"brew_aboil_efficiency",type:"float"},{name:"brew_cooling_method",type:"int"},{name:"brew_cooling_time",type:"float"},{name:"brew_cooling_to",type:"float"},{name:"brew_whirlpool9",type:"float"},{name:"brew_whirlpool7",type:"float"},{name:"brew_whirlpool6",type:"float"},{name:"brew_whirlpool2",type:"float"},{name:"brew_fermenter_volume",type:"float"},{name:"brew_fermenter_extrawater",type:"float"},{name:"brew_fermenter_tcloss",type:"float"},{name:"brew_aeration_time",type:"float"},{name:"brew_aeration_speed",type:"float"},{name:"brew_aeration_type",type:"int"},{name:"brew_fermenter_sg",type:"float"},{name:"brew_fermenter_ibu",type:"float"},{name:"brew_fermenter_color",type:"float"},{name:"brew_date_end",type:"string"},{name:"og",type:"float"},{name:"fg",type:"float"},{name:"primary_start_temp",type:"float"},{name:"primary_max_temp",type:"float"},{name:"primary_end_temp",type:"float"},{name:"primary_end_sg",type:"float"},{name:"primary_end_date",type:"string"},{name:"secondary_temp",type:"float"},{name:"secondary_end_sg",type:"float"},{name:"secondary_end_date",type:"string"},{name:"tertiary_temp",type:"float"},{name:"package_date",type:"string"},{name:"package_volume",type:"float"},{name:"package_infuse_amount",type:"float"},{name:"package_infuse_abv",type:"float"},{name:"package_infuse_notes",type:"string"},{name:"package_abv",type:"float"},{name:"package_ph",type:"float"},{name:"bottle_amount",type:"float"},{name:"bottle_carbonation",type:"float"},{name:"bottle_priming_water",type:"float"},{name:"bottle_priming_amount",type:"float"},{name:"bottle_carbonation_temp",type:"float"},{name:"keg_amount",type:"float"},{name:"keg_carbonation",type:"float"},{name:"keg_priming_water",type:"float"},{name:"keg_priming_amount",type:"float"},{name:"keg_carbonation_temp",type:"float"},{name:"keg_forced_carb",type:"int"},{name:"keg_pressure",type:"float"},{name:"taste_notes",type:"string"},{name:"taste_rate",type:"float"},{name:"taste_date",type:"string"},{name:"taste_color",type:"string"},{name:"taste_transparency",type:"string"},{name:"taste_head",type:"string"},{name:"taste_aroma",type:"string"},{name:"taste_taste",type:"string"},{name:"taste_mouthfeel",type:"string"},{name:"taste_aftertaste",type:"string"},{name:"st_name",type:"string"},{name:"st_letter",type:"string"},{name:"st_guide",type:"string"},{name:"st_category",type:"string"},{name:"st_category_number",type:"float"},{name:"st_type",type:"int"},{name:"st_og_min",type:"float"},{name:"st_og_max",type:"float"},{name:"st_fg_min",type:"float"},{name:"st_fg_max",type:"float"},{name:"st_ibu_min",type:"float"},{name:"st_ibu_max",type:"float"},{name:"st_color_min",type:"float"},{name:"st_color_max",type:"float"},{name:"st_carb_min",type:"float"},{name:"st_carb_max",type:"float"},{name:"st_abv_min",type:"float"},{name:"st_abv_max",type:"float"},{name:"type",type:"int"},{name:"batch_size",type:"float"},{name:"boil_size",type:"float"},{name:"boil_time",type:"float"},{name:"efficiency",type:"float"},{name:"est_og",type:"float"},{name:"est_fg",type:"float"},{name:"est_abv",type:"float"},{name:"est_color",type:"float"},{name:"color_method",type:"int"},{name:"est_ibu",type:"float"},{name:"ibu_method",type:"int"},{name:"est_carb",type:"float"},{name:"sparge_temp",type:"float"},{name:"sparge_ph",type:"float"},{name:"sparge_volume",type:"float"},{name:"sparge_source",type:"int"},{name:"sparge_acid_type",type:"int"},{name:"sparge_acid_perc",type:"float"},{name:"sparge_acid_amount",type:"float"},{name:"mash_ph",type:"float"},{name:"mash_name",type:"string"},{name:"calc_acid",type:"int"},{name:"w1_name",type:"string"},{name:"w1_amount",type:"float"},{name:"w1_calcium",type:"float"},{name:"w1_sulfate",type:"float"},{name:"w1_chloride",type:"float"},{name:"w1_sodium",type:"float"},{name:"w1_magnesium",type:"float"},{name:"w1_total_alkalinity",type:"float"},{name:"w1_ph",type:"float"},{name:"w1_cost",type:"float"},{name:"w2_name",type:"string"},{name:"w2_amount",type:"float"},{name:"w2_calcium",type:"float"},{name:"w2_sulfate",type:"float"},{name:"w2_chloride",type:"float"},{name:"w2_sodium",type:"float"},{name:"w2_magnesium",type:"float"},{name:"w2_total_alkalinity",type:"float"},{name:"w2_ph",type:"float"},{name:"w2_cost",type:"float"},{name:"wg_amount",type:"float"},{name:"wg_calcium",type:"float"},{name:"wg_sulfate",type:"float"},{name:"wg_chloride",type:"float"},{name:"wg_sodium",type:"float"},{name:"wg_magnesium",type:"float"},{name:"wg_total_alkalinity",type:"float"},{name:"wg_ph",type:"float"},{name:"wb_calcium",type:"float"},{name:"wb_sulfate",type:"float"},{name:"wb_chloride",type:"float"},{name:"wb_sodium",type:"float"},{name:"wb_magnesium",type:"float"},{name:"wb_total_alkalinity",type:"float"},{name:"wb_ph",type:"float"},{name:"wa_acid_name",type:"int"},{name:"wa_acid_perc",type:"int"},{name:"wa_base_name",type:"int"},{name:"starter_enable",type:"int"},{name:"starter_type",type:"int"},{name:"starter_sg",type:"float"},{name:"starter_viability",type:"int"},{name:"prop1_type",type:"int"},{name:"prop1_volume",type:"float"},{name:"prop2_type",type:"int"},{name:"prop2_volume",type:"float"},{name:"prop3_type",type:"int"},{name:"prop3_volume",type:"float"},{name:"prop4_type",type:"int"},{name:"prop4_volume",type:"float"},{name:"divide_type",type:"int"},{name:"divide_size",type:"float"},{name:"divide_parts",type:"int"},{name:"fermentables",type:"array"},{name:"hops",type:"array"},{name:"miscs",type:"array"},{name:"yeasts",type:"array"},{name:"mashs",type:"array"}],id:"record",url:E+"?record="+my_record},ah=new $.jqx.dataAdapter(aR,{loadComplete:function(){var i=ah.records;d=i[0];$("#name").val(d.name);$("#code").val(d.code);$("#birth").val(d.birth);$("#stage").val(StageData[d.stage].nl);$("#notes").val(d.notes);$("#locked").val(d.locked);$("#eq_name").val(d.eq_name);$("#eq_notes").val(d.eq_notes);$("#eq_boil_size").val(d.eq_boil_size);$("#eq_batch_size").val(d.eq_batch_size);$("#eq_tun_volume").val(d.eq_tun_volume);$("#eq_top_up_water").val(d.eq_top_up_water);$("#eq_trub_chiller_loss").val(d.eq_trub_chiller_loss);$("#eq_evap_rate").val(d.eq_evap_rate);$("#eq_boil_time").val(d.eq_boil_time);$("#eq_top_up_kettle").val(d.eq_top_up_kettle);$("#eq_hop_utilization").val(d.eq_hop_utilization);$("#eq_lauter_volume").val(d.eq_lauter_volume);$("#eq_lauter_deadspace").val(d.eq_lauter_deadspace);$("#eq_kettle_volume").val(d.eq_kettle_volume);$("#eq_mash_volume").val(d.eq_mash_volume);$("#eq_mash_max").val(d.eq_mash_max);$("#eq_efficiency").val(d.eq_efficiency);$("#brew_date_start").val(d.brew_date_start);$("#brew_mash_ph").val(d.brew_mash_ph);$("#brew_mash_sg").val(d.brew_mash_sg);$("#brew_mash_efficiency").val(d.brew_mash_efficiency);$("#brew_sparge_temperature").val(d.sparge_temp);$("#brew_sparge_volume").val(d.sparge_volume);$("#brew_sparge_est").val(d.brew_sparge_est);$("#brew_sparge_ph").val(d.brew_sparge_ph);$("#brew_aeration_type").val(d.brew_aeration_type);$("#brew_aeration_time").val(d.brew_aeration_time);$("#brew_aeration_speed").val(d.brew_aeration_speed);$("#brew_preboil_ph").val(d.brew_preboil_ph);$("#brew_preboil_sg").val(d.brew_preboil_sg);$("#brew_preboil_volume").val(d.brew_preboil_volume);$("#brew_preboil_efficiency").val(d.brew_preboil_efficiency);$("#brew_whirlpool9").val(d.brew_whirlpool9);$("#brew_whirlpool7").val(d.brew_whirlpool7);$("#brew_whirlpool6").val(d.brew_whirlpool6);$("#brew_whirlpool2").val(d.brew_whirlpool2);$("#brew_fermenter_volume").val(d.brew_fermenter_volume);$("#brew_fermenter_sg").val(d.brew_fermenter_sg);$("#brew_fermenter_sg2").val(d.brew_fermenter_sg);$("#brew_fermenter_ibu").val(d.brew_fermenter_ibu);$("#brew_fermenter_color").val(d.brew_fermenter_color);$("#brew_fermenter_extrawater").val(d.brew_fermenter_extrawater);$("#brew_fermenter_tcloss").val(d.brew_fermenter_tcloss);$("#brew_aboil_ph").val(d.brew_aboil_ph);$("#brew_aboil_sg").val(d.brew_aboil_sg);$("#brew_aboil_volume").val(d.brew_aboil_volume);$("#brew_aboil_efficiency").val(d.brew_aboil_efficiency);$("#brew_cooling_to").val(d.brew_cooling_to);$("#brew_cooling_method").val(d.brew_cooling_method);$("#brew_cooling_time").val(d.brew_cooling_time);$("#brew_date_end").val(d.brew_date_end);$("#og").val(d.og);$("#fg").val(d.fg);$("#primary_start_temp").val(d.primary_start_temp);$("#primary_max_temp").val(d.primary_max_temp);$("#primary_end_temp").val(d.primary_end_temp);$("#primary_end_sg").val(d.primary_end_sg);$("#primary_end_date").val(d.primary_end_date);$("#secondary_temp").val(d.secondary_temp);$("#secondary_end_sg").val(d.secondary_end_sg);$("#secondary_end_date").val(d.secondary_end_date);$("#tertiary_temp").val(d.tertiary_temp);$("#package_date").val(d.package_date);$("#package_volume").val(d.package_volume);$("#package_infuse_amount").val(d.package_infuse_amount);$("#package_infuse_abv").val(d.package_infuse_abv);$("#package_infuse_notes").val(d.package_infuse_notes);$("#package_abv").val(d.package_abv);$("#package_ph").val(d.package_ph);$("#bottle_amount").val(d.bottle_amount);$("#bottle_carbonation").val(d.bottle_carbonation);$("#bottle_priming_water").val(d.bottle_priming_water);$("#bottle_priming_amount").val(d.bottle_priming_amount);$("#bottle_carbonation_temp").val(d.bottle_carbonation_temp);$("#keg_amount").val(d.keg_amount);$("#keg_carbonation").val(d.keg_carbonation);$("#keg_priming_water").val(d.keg_priming_water);$("#keg_priming_amount").val(d.keg_priming_amount);$("#keg_carbonation_temp").val(d.keg_carbonation_temp);$("#keg_forced_carb").val(d.keg_forced_carb);$("#keg_pressure").val(d.keg_pressure);$("#taste_notes").val(d.taste_notes);$("#taste_rate").val(d.taste_rate);$("#taste_date").val(d.taste_date);$("#taste_color").val(d.taste_color);$("#taste_transparency").val(d.taste_transparency);$("#taste_head").val(d.taste_head);$("#taste_aroma").val(d.taste_aroma);$("#taste_taste").val(d.taste_taste);$("#taste_mouthfeel").val(d.taste_mouthfeel);$("#taste_aftertaste").val(d.taste_aftertaste);$("#st_name").val(d.st_name);$("#st_letter").val(d.st_letter);$("#st_guide").val(d.st_guide);$("#st_category").val(d.st_category);$("#st_category_number").val(d.st_category_number);$("#st_type").val(StyleTypeData[d.st_type].nl);$("#st_og_min").val(d.st_og_min);$("#st_og_max").val(d.st_og_max);$("#st_fg_min").val(d.st_fg_min);$("#st_fg_max").val(d.st_fg_max);$("#st_abv_min").val(d.st_abv_min);$("#st_abv_max").val(d.st_abv_max);$("#st_color_min").val(d.st_color_min);$("#st_color_max").val(d.st_color_max);$("#st_ibu_min").val(d.st_ibu_min);$("#st_ibu_max").val(d.st_ibu_max);$("#st_carb_min").val(d.st_carb_min);$("#st_carb_min2").val(d.st_carb_min);$("#st_carb_max").val(d.st_carb_max);$("#st_carb_max2").val(d.st_carb_max);$("#type").val(d.type);$("#batch_size").val(d.batch_size);$("#est_a_vol").val(d.batch_size*1.04);$("#boil_size").val(d.boil_size);$("#est_pre_vol").val(d.boil_size*1.04);$("#boil_time").val(d.boil_time);$("#efficiency").val(d.efficiency);$("#est_og").val(d.est_og);$("#est_og2").val(d.est_og);$("#est_og3").val(0);$("#est_fg").val(d.est_fg);$("#est_fg2").val(d.est_fg);$("#est_fg3").val(d.est_fg);$("#est_color").val(d.est_color);$("#est_color2").val(d.est_color);$("#est_abv").val(d.est_abv);$("#color_method").val(d.color_method);$("#est_ibu").val(d.est_ibu);$("#est_ibu2").val(d.est_ibu);$("#ibu_method").val(d.ibu_method);$("#est_carb").val(d.est_carb);$("#mash_name").val(d.mash_name);$("#mash_ph").val(d.mash_ph);$("#sparge_temp").val(d.sparge_temp);$("#sparge_ph").val(d.sparge_ph);$("#sparge_volume").val(d.sparge_volume);$("#sparge_source").val(d.sparge_source);$("#sparge_acid_type").val(d.sparge_acid_type);$("#sparge_acid_perc").val(d.sparge_acid_perc);$("#sparge_acid_amount").val(d.sparge_acid_amount*1000);$("#calc_acid").val(d.calc_acid);$("#w1_name").val(d.w1_name);$("#w1_amount").val(d.w1_amount);$("#w1_calcium").val(d.w1_calcium);$("#w1_sulfate").val(d.w1_sulfate);$("#w1_chloride").val(d.w1_chloride);$("#w1_sodium").val(d.w1_sodium);$("#w1_magnesium").val(d.w1_magnesium);$("#w1_total_alkalinity").val(d.w1_total_alkalinity);$("#w1_ph").val(d.w1_ph);$("#w1_cost").val(d.w1_cost);$("#w2_name").val(d.w2_name);$("#w2_amount").val(d.w2_amount);$("#w2_calcium").val(d.w2_calcium);$("#w2_sulfate").val(d.w2_sulfate);$("#w2_chloride").val(d.w2_chloride);$("#w2_sodium").val(d.w2_sodium);$("#w2_magnesium").val(d.w2_magnesium);$("#w2_total_alkalinity").val(d.w2_total_alkalinity);$("#w2_ph").val(d.w2_ph);$("#w2_cost").val(d.w2_cost);$("#wg_amount").val(d.wg_amount);$("#wg_calcium").val(d.wg_calcium);$("#wg_sulfate").val(d.wg_sulfate);$("#wg_chloride").val(d.wg_chloride);$("#wg_sodium").val(d.wg_sodium);$("#wg_magnesium").val(d.wg_magnesium);$("#wg_total_alkalinity").val(d.wg_total_alkalinity);$("#wg_ph").val(d.wg_ph);$("#wb_calcium").val(d.wb_calcium);$("#wb_sulfate").val(d.wb_sulfate);$("#wb_chloride").val(d.wb_chloride);$("#wb_sodium").val(d.wb_sodium);$("#wb_magnesium").val(d.wb_magnesium);$("#wb_total_alkalinity").val(d.wb_total_alkalinity);$("#wb_ph").val(d.wb_ph);$("#wa_acid_name").val(d.wa_acid_name);$("#wa_acid_perc").val(d.wa_acid_perc);$("#wa_base_name").val(d.wa_base_name);$("#starter_enable").val(d.starter_enable);$("#starter_type").val(d.starter_type);$("#starter_sg").val(d.starter_sg);$("#starter_viability").val(d.starter_viability);$("#prop1_type").val(d.prop1_type);$("#prop1_volume").val(d.prop1_volume);$("#prop2_type").val(d.prop2_type);$("#prop2_volume").val(d.prop2_volume);$("#prop3_type").val(d.prop3_type);$("#prop3_volume").val(d.prop3_volume);$("#prop4_type").val(d.prop4_type);$("#prop4_volume").val(d.prop4_volume);$("#divide_type").val(SplitData[d.divide_type].nl);$("#divide_parts").val(d.divide_parts);n(d);aT(d);X(d);aM(d);av(d);aV();$("#jqxTabs").jqxTabs("select",2)},loadError:function(a4,i,a3){},beforeLoadComplete:function(i){$("#jqxLoader").jqxLoader("open")}});var n=function(a3){var i={localdata:a3.fermentables,datatype:"local",cache:false,async:false,datafields:[{name:"f_name",type:"string"},{name:"f_origin",type:"string"},{name:"f_supplier",type:"string"},{name:"f_amount",type:"float"},{name:"f_cost",type:"float"},{name:"f_type",type:"int"},{name:"f_yield",type:"float"},{name:"f_color",type:"float"},{name:"f_coarse_fine_diff",type:"float"},{name:"f_moisture",type:"float"},{name:"f_diastatic_power",type:"float"},{name:"f_protein",type:"float"},{name:"f_max_in_batch",type:"float"},{name:"f_graintype",type:"int"},{name:"f_added",type:"int"},{name:"f_dissolved_protein",type:"float"},{name:"f_recommend_mash",type:"int"},{name:"f_add_after_boil",type:"int"},{name:"f_adjust_to_total_100",type:"int"},{name:"f_percentage",type:"float"},{name:"f_di_ph",type:"float"},{name:"f_acid_to_ph_57",type:"float"},{name:"f_inventory",type:"float"},{name:"f_avail",type:"int"}],addrow:function(a6,a8,a5,a7){a7(true)},deleterow:function(a5,a6){a6(true)},updaterow:function(a5,a7,a6){a6(true)}},a4=new $.jqx.dataAdapter(i);$("#fermentableGrid").jqxGrid({width:1240,height:470,source:a4,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(a6){var a5=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");a6.append(a5);a5.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>');a5.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');a5.append('<div style="float: left; margin-left: 10px;" id="finstockbutton"></div>');a5.append('<input style="float: left; margin-left: 400px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />');$("#faddrowbutton").jqxDropDownList({placeHolder:"Kies mout:",theme:theme,template:"primary",source:fermentablelist,displayMember:"name",disabled:(d.stage>3),width:150,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(a8,a7,ba){var a9=fermentablelist.records[a8];return a9.supplier+" / "+a9.name+" ("+a9.color+" EBC)"}});$("#faddrowbutton").on("select",function(a9){if(a9.args){var a7,a8,ba={},bb=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;a7=a9.args.index;a8=fermentablelist.records[a7];ba.f_name=a8.name;ba.f_origin=a8.origin;ba.f_supplier=a8.supplier;ba.f_amount=0;ba.f_cost=a8.cost;ba.f_type=a8.type;ba.f_yield=a8.yield;ba.f_color=a8.color;ba.f_coarse_fine_diff=a8.coarse_fine_diff;ba.f_moisture=a8.moisture;ba.f_diastatic_power=a8.diastatic_power;ba.f_protein=a8.protein;ba.f_max_in_batch=a8.max_in_batch;ba.f_graintype=a8.graintype;if(a8.add_after_boil){ba.f_added=2}else{if((a8.type==1)||(a8.type==4)){ba.f_added=1}else{ba.f_added=0}}ba.f_dissolved_protein=a8.dissolved_protein;ba.f_recommend_mash=a8.recommend_mash;ba.f_add_after_boil=a8.add_after_boil;if(bb==0){ba.f_adjust_to_total_100=1;ba.f_percentage=100}else{ba.f_adjust_to_total_100=0;ba.f_percentage=0}ba.f_di_ph=a8.di_ph;ba.f_acid_to_ph_57=a8.acid_to_ph_57;ba.f_inventory=a8.inventory;$("#fermentableGrid").jqxGrid("addrow",null,ba)}});$("#finstockbutton").jqxCheckBox({theme:theme,height:27,disabled:(d.stage>3)});$("#finstockbutton").on("change",function(a7){fermentableinstock=a7.args.checked;fermentablelist.dataBind()});$("#fdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150,disabled:(d.stage>3)});$("#fdeleterowbutton").on("click",function(){var bd,bc,ba,a9,a8,bb,a7=$("#fermentableGrid").jqxGrid("getselectedrowindex");bd=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if(a7>=0&&a7<bd){bc=$("#fermentableGrid").jqxGrid("getrowid",a7);ba=$("#fermentableGrid").jqxGrid("getcellvalue",bc,"f_percentage");a9=$("#fermentableGrid").jqxGrid("getcellvalue",bc,"f_amount");$("#fermentableGrid").jqxGrid("deleterow",bc)}bd=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if(bd>1){if(l){for(a8=0;a8<bd;a8++){bb=$("#fermentableGrid").jqxGrid("getrowdata",a8);if(bb.f_adjust_to_total_100){bb.f_percentage+=ba;bb.f_amount+=a9}}}else{aW()}}else{$("#fermentableGrid").jqxGrid("setcellvalue",0,"f_percentage",100)}U();at()})},ready:function(){U();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Vergistbaar ingredi&euml;nt",datafield:"f_name",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+ba.f_supplier+" / "+ba.f_name+" ("+ba.f_color+" EBC)</span>"}},{text:"Type",width:100,datafield:"f_type",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+FermentableTypeData[a9].nl+"</span>"}},{text:"Moment",width:110,datafield:"f_added",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+AddedData[a9].nl+"</span>"}},{text:"Maxinbatch",datafield:"f_max_in_batch",hidden:true},{text:"Opbrengst",datafield:"f_yield",width:90,align:"right",cellsalign:"right",cellsformat:"p1"},{text:"Gewicht Kg",datafield:"f_amount",width:120,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"Voorraad Kg",datafield:"f_inventory",width:120,align:"right",cellsrenderer:function(a9,a7,a8,a5,bb,ba){var a6="#ffffff";if(((d.inventory_reduced<=2)&&(ba.f_added<=1))||((d.inventory_reduced<=3)&&(ba.f_added==2))||((d.inventory_reduced<=5)&&(ba.f_added==3))||((d.inventory_reduced<=6)&&(ba.f_added==4))||((d.inventory_reduced<=6)&&(ba.f_added==5))){if(a8<ba.f_amount){a6="#ff4040"}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+a6+';">'+a4.formatNumber(a8,"f3")+"</span>"}else{return"<span></span>"}}},{text:"Procent",datafield:"f_percentage",width:90,align:"right",cellsrenderer:function(a9,a7,a8,a5,bb,ba){if(ba.f_added>=4){return"<span></span>"}var a6="#ffffff";if(a8>ba.f_max_in_batch){a6="#ff4040"}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+a6+';">'+a4.formatNumber(a8,"p1")+"</span>"}},{text:"100%",datafield:"f_adjust_to_total_100",width:70,align:"center",cellsalign:"center",cellsrenderer:function(a6,a5,a9,a8,a7,ba){if(a9==0){return"<span></span>"}return'<span><img style="float:left; margin-left:25px; margin-top:4px;" src="images/dialog-ok-apply.png"></span>'}},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(a5){u=a5;aL=$("#fermentableGrid").jqxGrid("getrowdata",u);if(aL.f_added>=4){alert("Wijzig dit in de Verpakken tab")}else{if(d.stage>3){alert("Ingredieënt is al verwerkt.")}else{$("#wf_name").val(aL.f_name);$("#wf_amount").val(aL.f_amount);$("#wf_percentage").val(aL.f_percentage);$("#wf_max_in_batch").val(aL.f_max_in_batch);$("#wf_adjust_to_total_100").val(aL.f_adjust_to_total_100);$("#wf_added").val(aL.f_added);$("#popupFermentable").jqxWindow("open")}}}}]})},aT=function(i){var a4={localdata:i.hops,datatype:"local",cache:false,async:false,datafields:[{name:"h_name",type:"string"},{name:"h_origin",type:"string"},{name:"h_amount",type:"float"},{name:"h_cost",type:"float"},{name:"h_type",type:"int"},{name:"h_form",type:"int"},{name:"h_useat",type:"int"},{name:"h_time",type:"float"},{name:"h_alpha",type:"float"},{name:"h_beta",type:"float"},{name:"h_hsi",type:"float"},{name:"h_humulene",type:"float"},{name:"h_caryophyllene",type:"float"},{name:"h_cohumulone",type:"float"},{name:"h_myrcene",type:"float"},{name:"h_total_oil",type:"float"},{name:"h_inventory",type:"float"},{name:"h_avail",type:"int"}],addrow:function(a6,a8,a5,a7){console.log("hop addrow "+a6);a7(true)},deleterow:function(a5,a6){console.log("hop deleterow "+a5);a6(true)},updaterow:function(a5,a7,a6){console.log("hop updaterow "+a5);a6(true)}},a3=new $.jqx.dataAdapter(a4);$("#hopGrid").jqxGrid({width:1240,height:560,source:a3,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(a6){var a5=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");a6.append(a5);a5.append('<div style="float: left; margin-left: 165px;" id="haddrowbutton"></div>');a5.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');a5.append('<div style="float: left; margin-left: 10px;" id="hinstockbutton"></div>');a5.append('<input style="float: left; margin-left: 400px;" id="hdeleterowbutton" type="button" value="Verwijder hop" />');$("#haddrowbutton").jqxDropDownList({placeHolder:"Kies hop:",theme:theme,template:"primary",source:hoplist,disabled:(d.stage>3),displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(a8,a7,ba){var a9=hoplist.records[a8];return a9.origin+" - "+a9.name+" / "+HopFormData[a9.form].nl+" ("+a9.alpha+"% &alpha;)"}});$("#haddrowbutton").on("select",function(a9){if(a9.args){var a8,ba={},a7=a9.args.index;a8=hoplist.records[a7];ba.h_name=a8.name;ba.h_origin=a8.origin;ba.h_amount=0;ba.h_cost=a8.cost;ba.h_type=a8.type;ba.h_form=a8.form;ba.h_useat=2;ba.h_time=0;ba.h_alpha=a8.alpha;ba.h_beta=a8.beta;ba.h_hsi=a8.hsi;ba.h_humulene=a8.humulene;ba.h_caryophyllene=a8.caryophyllene;ba.h_cohumulone=a8.cohumulone;ba.h_myrcene=a8.myrcene;ba.h_total_oil=a8.total_oil;ba.h_inventory=a8.inventory;$("#hopGrid").jqxGrid("addrow",null,ba)}$("#haddrowbutton").jqxDropDownList("clearSelection")});$("#hinstockbutton").jqxCheckBox({theme:theme,height:27,disabled:(d.stage>3)});$("#hinstockbutton").on("change",function(a7){hopinstock=a7.args.checked;hoplist.dataBind()});$("#hdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150,disabled:(d.stage>3)});$("#hdeleterowbutton").on("click",function(){var a9,a8,a7=$("#hopGrid").jqxGrid("getselectedrowindex");a9=$("#hopGrid").jqxGrid("getdatainformation").rowscount;if(a7>=0&&a7<a9){a8=$("#hopGrid").jqxGrid("getrowid",a7);$("#hopGrid").jqxGrid("deleterow",a8)}at()})},ready:function(){at();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Hop",datafield:"h_name",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+ba.h_origin+" / "+ba.h_name+"</span>"},},{text:"Type",width:90,datafield:"h_type",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+HopTypeData[a9].nl+"</span>"}},{text:"Vorm",width:90,datafield:"h_form",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+HopFormData[a9].nl+"</span>"}},{text:"Alpha",datafield:"h_alpha",width:80,align:"right",cellsalign:"right",cellsformat:"p1"},{text:"Gebruik",width:110,datafield:"h_useat",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+HopUseData[a9].nl+"</span>"}},{text:"Tijdsduur",datafield:"h_time",width:90,align:"right",cellsrenderer:function(a6,a5,a9,a8,a7,bb){var ba="";if((bb.h_useat==2)||(bb.h_useat==4)){ba=ah.formatNumber(a9,"f0")+" min."}else{if(bb.h_useat==5){ba=ah.formatNumber(a9/1440,"f0")+" dagen"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+ba+"</span>"}},{text:"IBU",datafield:"ibu",width:80,align:"right",cellsrenderer:function(a6,a5,a9,a8,a7,bb){var ba=toIBU(bb.h_useat,bb.h_form,al,parseFloat($("#batch_size").jqxNumberInput("decimal")),parseFloat(bb.h_amount),parseFloat(bb.h_time),parseFloat(bb.h_alpha),$("#ibu_method").val());return'<span style="margin: 4px; margin-top: 6px; float: right;">'+ah.formatNumber(ba,"f1")+"</span>"}},{text:"Gewicht",datafield:"h_amount",width:110,align:"right",cellsrenderer:function(a6,a5,ba,a9,a8,bb){var a7=ah.formatNumber(ba,"f1")+" kg";if(ba<1){a7=ah.formatNumber(ba*1000,"f1")+" gr"}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+a7+"</span>"}},{text:"Voorraad",datafield:"h_inventory",width:110,align:"right",cellsrenderer:function(a7,a6,bb,ba,a9,bc){if(((d.inventory_reduced<=2)&&(bc.h_useat<=4))||((d.inventory_reduced<=6)&&(bc.h_useat==5))){var a8,a5="#ffffff";if(bb<bc.h_amount){a5="#ff4040"}a8=ah.formatNumber(bb,"f1")+" kg";if(bb<1){a8=ah.formatNumber(bb*1000,"f1")+" gr"}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+a5+';">'+a8+"</span>"}else{return"<span></span>"}}},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(a5){if(d.stage>3){alert("Ingredieënt is al verwerkt.")}else{console.log("edit button row "+a5);a=a5;e=$("#hopGrid").jqxGrid("getrowdata",a);$("#wh_name").val(e.h_name);$("#wh_amount").val(e.h_amount*1000);var a6=toIBU(e.h_useat,e.h_form,al,parseFloat($("#batch_size").jqxNumberInput("decimal")),parseFloat(e.h_amount),parseFloat(e.h_time),parseFloat(e.h_alpha),$("#ibu_method").val());$("#wh_ibu").val(a6);if(e.h_useat==5){$("#wh_time").val(e.h_time/1440)}else{$("#wh_time").val(e.h_time)}$("#wh_useat").val(e.h_useat);$("#popupHop").jqxWindow("open")}}}]})},X=function(a4){var a3={localdata:a4.miscs,datatype:"local",cache:false,async:false,datafields:[{name:"m_name",type:"string"},{name:"m_amount",type:"float"},{name:"m_cost",type:"float"},{name:"m_type",type:"int"},{name:"m_use_use",type:"int"},{name:"m_time",type:"float"},{name:"m_amount_is_weight",type:"int"},{name:"m_inventory",type:"float"},{name:"m_avail",type:"int"}],addrow:function(a6,a8,a5,a7){console.log("misc addrow "+a6);a7(true)},deleterow:function(a5,a6){console.log("misc deleterow "+a5);a6(true)},updaterow:function(a5,a7,a6){console.log("misc updaterow "+a5);a6(true)}},i=new $.jqx.dataAdapter(a3,{beforeLoadComplete:function(a5){var a8,a6,a7=new Array();for(a6=0;a6<a5.length;a6++){a8=a5[a6];a7.push(a8);switch(a8.m_name){case"CaCl2":$("#wa_cacl2").val(a8.m_amount*1000);break;case"CaSO4":$("#wa_caso4").val(a8.m_amount*1000);break;case"MgSO4":$("#wa_mgso4").val(a8.m_amount*1000);break;case"NaCl":$("#wa_nacl").val(a8.m_amount*1000);break;case"Melkzuur":$("#wa_acid_name").val(0);$("#wa_acid").val(a8.m_amount*1000);$("#wa_acid_perc").val(80);ag="Melkzuur";break;case"Zoutzuur":$("#wa_acid_name").val(1);$("#wa_acid").val(a8.m_amount*1000);$("#wa_acid_perc").val(80);ag="Zoutzuur";break;case"Fosforzuur":$("#wa_acid_name").val(2);$("#wa_acid").val(a8.m_amount*1000);$("#wa_acid_perc").val(80);ag="Fosforzuur";break;case"Zwavelzuur":$("#wa_acid_name").val(3);$("#wa_acid").val(a8.m_amount*1000);$("#wa_acid_perc").val(80);ag="Zwavelzuur";break;case"NaHCO3":$("#wa_base_name").val(0);$("#wa_base").val(a8.m_amount*1000);aU="NaHCO3";break;case"Na2CO3":$("#wa_base_name").val(1);$("#wa_base").val(a8.m_amount*1000);aU="Na2CO3";break;case"CaCO3":$("#wa_base_name").val(2);$("#wa_base").val(a8.m_amount*1000);aU="CaCO3";break;case"Ca(OH)2":$("#wa_base_name").val(3);$("#wa_base").val(a8.m_amount*1000);aU="Ca(OH)2";break}}return a7},loadError:function(a7,a5,a6){$("#err").text(a5+" "+a6)},});$("#miscGrid").jqxGrid({width:1240,height:575,source:i,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(a6){var a5=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");a6.append(a5);a5.append('<div style="float: left; margin-left: 165px;" id="maddrowbutton"></div>');a5.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');a5.append('<div style="float: left; margin-left: 10px;" id="minstockbutton"></div>');a5.append('<input style="float: left; margin-left: 400px;" id="mdeleterowbutton" type="button" value="Verwijder ingredient" />');$("#maddrowbutton").jqxDropDownList({placeHolder:"Kies ingredi&euml;nt:",theme:theme,template:"primary",source:misclist,disabled:(d.stage>3),displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500});$("#maddrowbutton").on("select",function(a9){if(a9.args){var a8,ba={},a7=a9.args.index;a8=misclist.records[a7];ba.m_name=a8.name;ba.m_amount=0;ba.m_cost=a8.cost;ba.m_type=a8.type;ba.m_use_use=a8.use_use;ba.m_time=0;ba.m_amount_is_weight=a8.amount_is_weight;ba.m_inventory=a8.inventory;$("#miscGrid").jqxGrid("addrow",null,ba)}});$("#minstockbutton").jqxCheckBox({theme:theme,height:27,disabled:(d.stage>3)});$("#minstockbutton").on("change",function(a7){miscinstock=a7.args.checked;misclist.dataBind()});$("#mdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150,disabled:(d.stage>3)});$("#mdeleterowbutton").on("click",function(){var ba,a8,a9,a7=$("#miscGrid").jqxGrid("getselectedrowindex");ba=$("#miscGrid").jqxGrid("getdatainformation").rowscount;a8=$("#miscGrid").jqxGrid("getcellvalue",a7,"m_type");if(a7>=0&&a7<ba&&a8!=4){a9=$("#miscGrid").jqxGrid("getrowid",a7);$("#miscGrid").jqxGrid("deleterow",a9)}})},ready:function(){aG();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Ingredient",datafield:"m_name"},{text:"Type",width:140,datafield:"m_type",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+MiscTypeData[a9].nl+"</span>"}},{text:"Gebruik",width:140,datafield:"m_use_use",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+MiscUseData[a9].nl+"</span>"}},{text:"Tijd",datafield:"m_time",width:90,align:"right",cellsrenderer:function(a6,a5,a9,a8,a7,bb){var ba="";if(bb.m_use_use==2){ba=ah.formatNumber(a9,"f0")+" min."}else{if((bb.m_use_use==3)||(bb.m_use_use==4)){ba=ah.formatNumber(a9/1440,"f0")+" dagen"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+ba+"</span>"}},{text:"Hoeveel",datafield:"m_amount",width:110,align:"right",cellsrenderer:function(a6,a5,ba,a8,a7,bb){var a9=bb.m_amount_is_weight?"gr":"ml";return'<span style="margin: 4px; margin-top: 6px; float: right;">'+ah.formatNumber(ba*1000,"f2")+" "+a9+"</span>"}},{text:"Voorraad",datafield:"m_inventory",width:110,align:"right",cellsrenderer:function(a9,a5,ba,bc,a6,bd){var bb,a7,a8;if(((d.inventory_reduced<=2)&&(bd.m_use_use<=2))||((d.inventory_reduced<=3)&&(bd.m_use_use==3))||((d.inventory_reduced<=5)&&(bd.m_use_use==4))||((d.inventory_reduced<=6)&&(bd.m_use_use==5))){bb=bd.m_amount_is_weight?"gr":"ml";a7="#ffffff";if(ba<bd.m_amount){a7="#ff4040"}a8=ah.formatNumber(ba*1000,"f2")+" "+bb;return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+a7+';">'+a8+"</span>"}else{return"<span></span>"}}},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(a5){aw=a5;aH=$("#miscGrid").jqxGrid("getrowdata",aw);if(d.stage>3){alert("Ingredieënt is al verwerkt.")}else{if(aH.m_type==4){alert("Brouwzouten wijzigen in de water tab.")}else{console.log("edit button row "+a5);if(aH.m_amount_is_weight){$("#wm_pmpt_amount").html("Gewicht gram:")}else{$("#wm_pmpt_amount").html("Volume ml:")}$("#wm_name").val(aH.m_name);$("#wm_amount").val(aH.m_amount*1000);if((aH.m_use_use==3)||(aH.m_use_use==4)){$("#wm_time").val(aH.m_time/1440)}else{$("#wm_time").val(aH.m_time)}$("#wm_use_use").val(aH.m_use_use);$("#popupMisc").jqxWindow("open")}}}}]})},aM=function(a3){var i={localdata:a3.yeasts,datatype:"local",cache:false,async:false,datafields:[{name:"y_name",type:"string"},{name:"y_laboratory",type:"string"},{name:"y_product_id",type:"string"},{name:"y_amount",type:"float"},{name:"y_cost",type:"float"},{name:"y_type",type:"int"},{name:"y_form",type:"int"},{name:"y_flocculation",type:"int"},{name:"y_min_temperature",type:"float"},{name:"y_max_temperature",type:"float"},{name:"y_attenuation",type:"float"},{name:"y_use",type:"int"},{name:"y_cells",type:"float"},{name:"y_tolerance",type:"float"},{name:"y_inventory",type:"float"},{name:"y_avail",type:"int"}],addrow:function(a6,a8,a5,a7){console.log("yeast addrow "+a6);a7(true)},deleterow:function(a5,a6){console.log("yeast deleterow "+a5);a6(true)},updaterow:function(a5,a7,a6){console.log("yeast updaterow "+a5);a6(true)}},a4=new $.jqx.dataAdapter(i);$("#yeastGrid").jqxGrid({width:1240,height:350,source:a4,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(a6){var a5=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');a6.append(a5);a5.append('<div style="float: left; margin-left: 165px;" id="yaddrowbutton"></div>');a5.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');a5.append('<div style="float: left; margin-left: 10px;" id="yinstockbutton"></div>');a5.append('<input style="float: left; margin-left: 400px;" id="ydeleterowbutton" type="button" value="Verwijder gist" />');$("#yaddrowbutton").jqxDropDownList({placeHolder:"Kies gist:",theme:theme,source:yeastlist,disabled:(d.stage>3),template:"primary",displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(a8,a7,ba){var a9=yeastlist.records[a8];return a9.laboratory+" "+a9.product_id+" "+a9.name}});$("#yaddrowbutton").on("select",function(a9){if(a9.args){var a8,ba={},a7=a9.args.index;a8=yeastlist.records[a7];ba.y_name=a8.name;ba.y_laboratory=a8.laboratory;ba.y_product_id=a8.product_id;ba.y_type=a8.type;ba.y_form=a8.form;ba.y_amount=0;ba.y_cost=a8.cost;ba.y_use=0;ba.y_min_temperature=a8.min_temperature;ba.y_max_temperature=a8.max_temperature;ba.y_attenuation=a8.attenuation;ba.y_flocculation=a8.flocculation;ba.y_cells=a8.cells;ba.y_tolerance=a8.tolerance;ba.y_inventory=a8.inventory;$("#yeastGrid").jqxGrid("addrow",null,ba)}Y();$("#yaddrowbutton").jqxDropDownList("clearSelection")});$("#yinstockbutton").jqxCheckBox({theme:theme,height:27,disabled:(d.stage>3)});$("#yinstockbutton").on("change",function(a7){yeastinstock=a7.args.checked;yeastlist.dataBind()});$("#ydeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150,disabled:(d.stage>3)});$("#ydeleterowbutton").on("click",function(){var a9,a8,a7=$("#yeastGrid").jqxGrid("getselectedrowindex");a8=$("#yeastGrid").jqxGrid("getdatainformation").rowscount;if(a7>=0&&a7<a8){a9=$("#yeastGrid").jqxGrid("getrowid",a7);$("#yeastGrid").jqxGrid("deleterow",a9);Y()}})},ready:function(){U();J();Y();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Gist",datafield:"y_name"},{text:"Laboratorium",width:150,datafield:"y_laboratory"},{text:"Code",width:90,datafield:"y_product_id"},{text:"Soort",width:100,datafield:"y_form",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+YeastFormData[a9].nl+"</span>"}},{text:"Min. &deg;C",width:70,align:"right",cellsalign:"right",datafield:"y_min_temperature"},{text:"Max. &deg;C",width:70,align:"right",cellsalign:"right",datafield:"y_max_temperature"},{text:"Tol. %",width:60,align:"right",cellsalign:"right",datafield:"y_tolerance",cellsrenderer:function(a7,a6,bb,ba,a9,bc){var a8="",a5="#ffffff";if(bb>0){a8=ah.formatNumber(bb,"f1");if(d.est_abv>bb){a5="#ff4040"}}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+a5+';">'+a8+"</span>"}},{text:"Attn. %",width:70,align:"right",cellsalign:"right",datafield:"y_attenuation",cellsformat:"f1"},{text:"Voor",width:120,datafield:"y_use",cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+YeastUseData[a9].nl+"</span>"}},{text:"Hoeveel",datafield:"y_amount",width:90,align:"right",cellsrenderer:function(a6,a5,ba,a9,a8,bb){var a7=ah.formatNumber(ba*1000,"f0")+" ml";if(bb.y_form==0){a7=ah.formatNumber(ba,"f0")+" pk"}else{if(bb.y_form==1||bb.y_form==6){a7=ah.formatNumber(ba*1000,"f1")+" gr"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+a7+"</span>"}},{text:"Voorraad",datafield:"y_inventory",width:90,align:"right",cellsrenderer:function(a7,a6,bb,ba,a9,bc){var a5,a8;if(((d.inventory_reduced<=3)&&(bc.y_use==0))||((d.inventory_reduced<=4)&&(bc.y_use==1))||((d.inventory_reduced<=5)&&(bc.y_use==2))||((d.inventory_reduced<=6)&&(bc.y_use==3))){a5="#ffffff";if(bb<bc.y_amount){a5="#ff4040"}a8=ah.formatNumber(bb*1000,"f0")+" ml";if(bc.y_form==0){a8=ah.formatNumber(bb,"f0")+" pk"}else{if(bc.y_form==1||bc.y_form==6){a8=ah.formatNumber(bb*1000,"f1")+" gr"}}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+a5+';">'+a8+"</span>"}else{return"<span></span>"}}},{text:"",datafield:"Edit",columntype:"button",width:90,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(a5){if(d.stage>3){alert("Ingredieënt is al verwerkt.")}else{aE=a5;f=$("#yeastGrid").jqxGrid("getrowdata",aE);if(f.y_form==0){$("#wy_pmpt_amount").html("Pak(ken):");$("#wy_amount").val(f.y_amount);$("#wy_amount").jqxNumberInput({decimalDigits:0})}else{if(f.y_form==1||f.y_form==6){$("#wy_pmpt_amount").html("Gewicht gram:");$("#wy_amount").val(f.y_amount*1000);$("#wy_amount").jqxNumberInput({decimalDigits:1})}else{$("#wy_pmpt_amount").html("Volume ml:");$("#wy_amount").val(f.y_amount*1000);$("#wy_amount").jqxNumberInput({decimalDigits:0})}}$("#wy_name").val(f.y_name);$("#wy_laboratory").val(f.y_laboratory);$("#wy_product_id").val(f.y_product_id);$("#wy_use").val(f.y_use);$("#popupYeast").jqxWindow("open")}}}]})},av=function(a4){var a3={localdata:a4.mashs,datatype:"local",cache:false,async:false,datafields:[{name:"step_name",type:"string"},{name:"step_type",type:"int"},{name:"step_infuse_amount",type:"float"},{name:"step_temp",type:"float"},{name:"step_time",type:"float"},{name:"step_thickness",type:"float"},{name:"ramp_time",type:"float"},{name:"end_temp",type:"float"}],addrow:function(a6,a8,a5,a7){console.log("mash addrow "+a6);a7(true)},deleterow:function(a5,a6){console.log("mash deleterow "+a5);a6(true)}},i=new $.jqx.dataAdapter(a3,{beforeLoadComplete:function(a5){C=0;var a6,a8,a7=new Array();for(a6=0;a6<a5.length;a6++){a8=a5[a6];if(a8.step_type==0){C+=parseFloat(a8.step_infuse_amount)}a8.step_thickness=0;a7.push(a8)}},});$("#mashGrid").jqxGrid({width:1240,height:400,source:i,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(a6){var a5=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');a6.append(a5);a5.append('<input style="float: left; margin-left: 165px;" id="saddrowbutton" type="button" value="Nieuwe stap" />');a5.append('<input style="float: left; margin-left: 565px;" id="sdeleterowbutton" type="button" value="Verwijder stap" />');$("#saddrowbutton").jqxButton({template:"primary",theme:theme,height:27,width:150,disabled:(d.stage>3)});$("#saddrowbutton").on("click",function(){var a7={},a8=$("#mashGrid").jqxGrid("getdatainformation").rowscount;a7.step_name="Stap "+(a8+1);if(a8>0){a7.step_type=1}else{a7.step_type=0;a7.step_infuse_amount=15}a7.step_temp=62;a7.step_time=20;a7.step_thickness=0;a7.ramp_time=1;a7.end_temp=62;$("#mashGrid").jqxGrid("addrow",null,a7)});$("#sdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150,disabled:(d.stage>3)});$("#sdeleterowbutton").on("click",function(){var a9,a8,a7=$("#mashGrid").jqxGrid("getselectedrowindex");a9=$("#mashGrid").jqxGrid("getdatainformation").rowscount;if(a7>=0&&a7<a9){a8=$("#mashGrid").jqxGrid("getrowid",a7);$("#mashGrid").jqxGrid("deleterow",a8)}})},ready:function(){aX();aO();$("#jqxLoader").jqxLoader("close");$("#jqxTabs").jqxTabs("first")},columns:[{text:"Stap naam",datafield:"step_name"},{text:"Stap type",datafield:"step_type",width:175,cellsrenderer:function(a6,a5,a9,a8,a7,ba){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+MashStepTypeData[a9].nl+"</span>"}},{text:"Start &deg;C",datafield:"step_temp",width:90,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Eind &deg;C",datafield:"end_temp",width:90,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Rust min.",datafield:"step_time",width:90,align:"right",cellsalign:"right"},{text:"Stap min.",datafield:"ramp_time",width:90,align:"right",cellsalign:"right"},{text:"Infuse L.",datafield:"step_infuse_amount",width:90,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"L/Kg.",datafield:"step_thickness",width:90,align:"right",cellsalign:"right",cellsformat:"f2"},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(a5){if(d.stage>3){alert("Het maichen is al gedaan.")}else{ak=a5;D=$("#mashGrid").jqxGrid("getrowdata",ak);$("#wstep_name").val(D.step_name);$("#wstep_type").val(D.step_type);$("#wstep_infuse_amount").val(D.step_infuse_amount);$("#wstep_temp").val(D.step_temp);$("#wend_temp").val(D.end_temp);$("#wstep_time").val(D.step_time);$("#wramp_time").val(D.ramp_time);if(D.step_type==0){$("#wstep_infuse_amount").show();$("#wstep_pmpt").show()}else{$("#wstep_infuse_amount").hide();$("#wstep_pmpt").hide()}$("#popupMash").jqxWindow("open")}}}]})};$("#jqxMenu").jqxMenu("destroy");console.log("record:"+my_record+"  return:"+my_return+"  theme:"+theme);$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Laden product ...",theme:theme});function G(){if(d.inventory_reduced>6){$("#ok_pmpt").hide();return}if(p&&ab&&ai&&P&&c){$("#ok_supplies").html("<img src='images/dialog-ok-apply.png'>")}else{$("#ok_supplies").html("<img src='images/dialog-error.png'>")}}function aW(){console.log("calcPercentages()");var a3=0,a5,i,a4=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if(a4>1){for(ae=0;ae<a4;ae++){a5=$("#fermentableGrid").jqxGrid("getrowdata",ae);if(a5.f_added<4){a3+=Round(a5.f_amount,3)}}a3=Round(a3,3);for(ae=0;ae<a4;ae++){a5=$("#fermentableGrid").jqxGrid("getrowdata",ae);if(a5.f_added<4){i=Round(a5.f_amount/a3*100,1);$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_percentage",i)}else{$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_percentage",0)}}}else{$("#fermentableGrid").jqxGrid("setcellvalue",0,"f_percentage",100)}}function U(){var bB=0,bt=0,br=0,bj=0,bs=0,bC=0,bc=0,bm=0,bg=0,bk=false,bp=0,bb=0,bw=0.925,bo=0.95,ba=0,bq,a9,be,a3,bi,a4,by,bz,a7,bh=0,bx,bf,bd,a6,a8,bl,a5,bn,bu,bA;I=0;ac=0;ap=0;p=1;P=1;if((be=$("#mashGrid").jqxGrid("getrows"))){for(bq=0;bq<be.length;bq++){a9=be[bq];if(a9.step_type==0){bC+=parseFloat(a9.step_infuse_amount)}if(a9.step_temp<=75){bi=a9.step_time+a9.ramp_time;bp+=bi;bb+=bi*a9.step_temp}}if(bp>5){bp-=5}bb=Round(bb/bp,2)}if(!(be=$("#fermentableGrid").jqxGrid("getrows"))){return}for(bq=0;bq<be.length;bq++){a9=be[bq];if(a9.f_adjust_to_total_100){bk=true}if(a9.f_type==1&&a9.f_added<4){I+=a9.f_percentage}if(a9.f_graintype==2&&a9.f_added<4){ac+=a9.f_percentage}bx=a9.f_amount*(a9.f_yield/100)*(1-a9.f_moisture/100);if(a9.f_added==0){if(bC>0){bC+=a9.f_amount*a9.f_moisture/100;bh+=bx}bx=parseFloat(d.efficiency)/100*bx;bt+=bx;ap+=parseFloat(a9.f_amount)}if(a9.f_added==0||a9.f_added==1){bB+=bx}if(a9.f_added==2||a9.f_added==3){bd=(a9.f_yield/100)*(1-a9.f_moisture/100);bj+=a9.f_amount*bd;bs+=a9.f_amount;br+=(bd*sugardensity+(1-bd)*1)*a9.f_amount}if(a9.f_added<4){bc+=a9.f_amount*ebc_to_srm(a9.f_color);bm+=a9.f_amount*a9.f_color*get_kt(a9.f_color);bg+=(a9.f_percentage/100)*a9.f_color}if(B){if(a9.f_added==4){$("#bottle_priming_total").val(a9.f_amount*1000);$("#bottle_priming_sugar").jqxDropDownList("selectItem",a9.f_name)}if(a9.f_added==5){$("#keg_priming_total").val(a9.f_amount*1000);$("#keg_priming_sugar").jqxDropDownList("selectItem",a9.f_name)}}if((((d.inventory_reduced<=2)&&(a9.f_added<=1))||((d.inventory_reduced<=3)&&(a9.f_added==2))||((d.inventory_reduced<=5)&&(a9.f_added==3))||((d.inventory_reduced<=6)&&(a9.f_added==4))||((d.inventory_reduced<=6)&&(a9.f_added==5)))&&a9.f_inventory<a9.f_amount){p=0}if(a9.f_added==0&&(a9.f_type==0||a9.f_type==4)&&a9.f_color<50){ba+=a9.f_diastatic_power*a9.f_amount}}B=0;$("#ferm_lintner").val(Math.round(parseFloat(ba/ap)));$("#mash_kg").val(ap);console.log("calcFermentables() supplies:"+p+" moutsuiker:"+bt+"/"+bB);l=bk;if(l){$("#wf_amount").jqxNumberInput({width:90,readOnly:true,spinButtons:false})}else{$("#wf_amount").jqxNumberInput({width:110,readOnly:false,spinButtons:true})}if(bC>0){bf=bh/sugardensity+bC;bh=1000*bh/(bf*10);a1=Round(plato_to_sg(bh),5);$("#est_mash_sg").val(a1)}d.est_og=estimate_sg(bB+bj,parseFloat(d.batch_size));$("#est_og").val(d.est_og);$("#est_og2").val(d.est_og);a3=d.est_og;aZ=estimate_sg(bB,parseFloat(d.batch_size));$("#est_og3").val(aZ);al=estimate_sg(bt,parseFloat(d.boil_size));$("#est_pre_sg").val(al);a4=parseFloat(d.batch_size);if(d.brew_aboil_volume>0){a4=d.brew_aboil_volume/1.04}if(d.brew_fermenter_tcloss==0){d.brew_fermenter_tcloss=d.eq_trub_chiller_loss;$("#brew_fermenter_tcloss").val(d.brew_fermenter_tcloss)}d.brew_fermenter_volume=a4-d.brew_fermenter_tcloss+d.brew_fermenter_extrawater;$("#brew_fermenter_volume").val(d.brew_fermenter_volume);by=(d.boil_size-C+(ap*my_grain_absorbtion)+d.eq_lauter_deadspace)*1.03;$("#brew_sparge_est").val(by);bz=d.brew_aboil_sg;if(bz<1.002){bz=aZ}a7=d.brew_fermenter_extrawater;if(d.brew_fermenter_volume>0){a6=sg_to_plato(bz)*d.brew_fermenter_volume*bz/100;a6+=bj;if((d.brew_fermenter_volume*bz+bs)>0){bl=100*a6/(d.brew_fermenter_volume*bz+bs+a7);d.brew_fermenter_sg=Round(plato_to_sg(bl),4);$("#brew_fermenter_sg").val(d.brew_fermenter_sg);if(d.color_method==4){d.brew_fermenter_color=Math.round(((bl/8.6)*bg)+(d.boil_time/60))}else{if(d.color_method==3){d.brew_fermenter_color=Math.round((4.46*bw*bo)/(a4+a7)*bm)}else{a5=bc/(a4+a7)*8.34436;d.brew_fermenter_color=kw_to_ebc(d.color_method,a5)}}$("#brew_fermenter_color").val(d.brew_fermenter_color);bu=ebc_to_color(d.brew_fermenter_color);$("#bcolorf").show();document.getElementById("bcolorf").style.background=bu}}else{d.brew_fermenter_sg=d.brew_fermenter_color=0;$("#brew_fermenter_sg").val(0);$("#brew_fermenter_color").val(0);$("#bcolorf").hide()}if(d.color_method==4){bn=Math.round(((sg_to_plato(d.est_og)/8.6)*bg)+(d.boil_time/60))}else{if(d.color_method==3){bn=Math.round((4.46*bw*bo)/parseFloat(d.batch_size)*bm)}else{a5=bc/parseFloat(d.batch_size)*8.34436;bn=kw_to_ebc(d.color_method,a5)}}d.est_color=bn;$("#est_color").val(bn);$("#est_color2").val(bn);bu=ebc_to_color(bn);document.getElementById("bcolor").style.background=bu;document.getElementById("bcolor2").style.background=bu;pmalts=ap/d.eq_mash_max*100;$("#perc_malts").jqxProgressBar("val",pmalts);$("#perc_sugars").jqxProgressBar("val",I);$("#perc_cara").jqxProgressBar("val",ac);aV();aD=0;aa=0;be=$("#yeastGrid").jqxGrid("getrows");for(bq=0;bq<be.length;bq++){a9=be[bq];if(a9.y_use==0){if(parseFloat(a9.y_attenuation)>aD){aD=parseFloat(a9.y_attenuation)}if(a9.y_form==0){aa+=(parseFloat(a9.y_cells)/1000000000)*parseFloat(a9.y_amount)*(d.starter_viability/100)}else{aa+=(parseFloat(a9.y_cells)/1000000)*parseFloat(a9.y_amount)}}if((((d.inventory_reduced<=3)&&(a9.y_use==0))||((d.inventory_reduced<=4)&&(a9.y_use==1))||((d.inventory_reduced<=5)&&(a9.y_use==2))||((d.inventory_reduced<=6)&&(a9.y_use==3)))&&(a9.y_inventory<a9.y_amount)){P=0}}G();if(aD==0){aD=77}if((ap>0)&&(C>0)&&(bp>0)&&(bb>0)){d.est_fg=estimate_fg(I,ac,C/ap,bp,bb,aD,d.est_og)}else{d.est_fg=estimate_fg(I,ac,0,0,0,aD,d.est_og)}$("#est_fg").val(d.est_fg);$("#est_fg2").val(d.est_fg);$("#est_fg3").val(d.est_fg);bA=d.est_fg;d.est_abv=abvol(d.est_og,d.est_fg);$("#est_abv").val(d.est_abv);$("#est_abv2").val(d.est_abv);if((d.stage>=6)&&(d.fg>0.99)&&(d.fg<d.brew_fermenter_sg)){aD=100*(d.brew_fermenter_sg-d.fg)/(d.brew_fermenter_sg-1);a3=d.brew_fermenter_sg;bA=d.fg}$("#yeast_cells").val(aa);$("#need_cells").val(v());a8=1881.22*bA*(a3-bA)/(1.775-a3);a6=3550*bA*(0.1808*a3+0.8192*bA-1.0004);$("#kcal").val(Math.round((a8+a6)/(12*0.0295735296)))}function aO(){var a8,a3,a5=0,a7=0,a4=0,a6,a9;if((rows=$("#mashGrid").jqxGrid("getrows"))&&(ap>0)){for(a6=0;a6<rows.length;a6++){a9=$("#mashGrid").jqxGrid("getrowdata",a6);if(a9.step_type==0){a5+=a9.step_infuse_amount}a7+=a9.step_time+a9.ramp_time;$("#mashGrid").jqxGrid("setcellvalue",a6,"step_thickness",a5/ap)}}a4=ap*H+a5;$("#est_mashvol").val(a4);a8=Math.floor(a7/60);a3=Math.floor(a7-(a8*60));if(a8<10){a8="0"+a8}if(a3<10){a3="0"+a3}$("#est_mashtime").val(a8+":"+a3)}function af(a4){console.log("calcFermentablesFromOG("+a4+")");var a6,bc,a9,a5,bb,a8=0,a7=0,ba,a3=parseFloat($("#efficiency").jqxNumberInput("decimal"));bb=sg_to_plato(a4)*parseFloat($("#batch_size").jqxNumberInput("decimal"))*a4/100;ba=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;for(a5=0;a5<ba;a5++){bc=$("#fermentableGrid").jqxGrid("getrowdata",a5);if(bc.f_added<4){a9=bc.f_percentage/100*(bc.f_yield/100)*(1-bc.f_moisture/100);if(bc.f_added==0){a9=a3/100*a9}a8+=a9}}if(a8){a7=Round(bb/a8,3)}if(a7){for(a5=0;a5<ba;a5++){bc=$("#fermentableGrid").jqxGrid("getrowdata",a5);if(bc.f_added<4){a6=Math.round(bc.f_percentage*10*a7)/1000;$("#fermentableGrid").jqxGrid("setcellvalue",a5,"f_amount",a6)}}}}function v(){var i,a4,a3=d.brew_fermenter_sg;if(a3<=1.0001&&d.fg>1){a3=d.fg}else{if(a3<=1.0001){a3=d.est_og}}i=sg_to_plato(a3);a4=d.brew_fermenter_volume;if(a4<=0){a4=d.batch_size-d.eq_trub_chiller_loss}return x*a4*i}function L(a4,a6,a3,a5){var i;if(a3==1){i=0.15}else{if(a4>50){i=0.1}else{i=15.25/(6*Math.sqrt(2*Math.PI))*Math.exp(-0.5*Math.pow((a4-21)/6,2));if(i<0.1){i=0.1}}}return(i*a5*1000)/a6}function h(a4,a6,a3,a5){var i=0;if(a3==5){i=1.33}else{if(a4>20){i=0}else{if(a4>7.5){i=10.03/(4*Math.sqrt(2*Math.PI))*Math.exp(-0.5*Math.pow((a4-7.5)/4,2))}else{if(a3==2){i=1}else{if(a3==3){i=1.2}else{if(a3==4){i=1.2}}}}}}return(i*a5*1000)/a6}function at(){var a4=0,a3=0,a6={},a5,a7;V=aY=0;if(!(a6=$("#hopGrid").jqxGrid("getrows"))){return}ab=1;for(a5=0;a5<a6.length;a5++){a7=a6[a5];a4+=toIBU(a7.h_useat,a7.h_form,al,parseFloat(d.batch_size),parseFloat(a7.h_amount),parseFloat(a7.h_time),parseFloat(a7.h_alpha),d.ibu_method);a3+=toIBU(a7.h_useat,a7.h_form,al,parseFloat(d.brew_fermenter_volume)+parseFloat(d.brew_fermenter_tcloss),parseFloat(a7.h_amount),parseFloat(a7.h_time),parseFloat(a7.h_alpha),d.ibu_method);aY+=L(parseFloat(a7.h_time),parseFloat(d.batch_size),a7.h_useat,parseFloat(a7.h_amount));V+=h(parseFloat(a7.h_time),parseFloat(d.batch_size),a7.h_useat,parseFloat(a7.h_amount));if((((d.inventory_reduced<=2)&&(a7.h_useat<=4))||((d.inventory_reduced<=6)&&(a7.h_useat==5)))&&(a7.h_inventory<a7.h_amount)){ab=0}}a4=Math.round(a4*10)/10;a3=Math.round(a3*10)/10;aY=Math.round(aY*1000/5)/10;V=Math.round(V*1000/6)/10;if(aY>100){aY=100}if(V>100){V=100}console.log("calcIBUs(): "+a4+" flavour: "+aY+" aroma: "+V+" fermenter:"+a3+" supplies:"+ab);d.est_ibu=a4;$("#est_ibu").val(a4);$("#est_ibu2").val(a4);$("#hop_flavour").jqxProgressBar("val",aY);$("#hop_aroma").jqxProgressBar("val",V);$("#brew_fermenter_ibu").val(a3);aV();G()}function O(a4,a5,a3){var i=a5/a3;if(i>3.5){return 0}if(a4==2){return 0.4}if(a4==1){return 0.62}if(i<=1.4){return 1.4}return 2.33-(0.67*i)}function aC(a4,a9,a3){var i=2.72715,ba=a3/a4*1000,a5=Round(ba,1),a6=(d.starter_sg-1)*a4*i,a7=O(a9,a3,a6),a8=Round(a6*a7,1),bb=parseFloat(a8)+a3;return{svol:a4,irate:a5,prate:Round(ba,1),ncells:a8,totcells:bb,growf:Round(a8/a3,2)}}function F(a9,a3,ba){var a8=[20,40,60,80,100,150,200,250,375,500,625,750,875,1000,1250,1500,2000,2500,3000,4000,5000],a4=a8.length,a5=0,a6=0,bb={},a7;if((parseFloat($("#prop1_volume").jqxNumberInput("decimal"))+parseFloat($("#prop2_volume").jqxNumberInput("decimal"))+parseFloat($("#prop3_volume").jqxNumberInput("decimal"))+parseFloat($("#prop4_volume").jqxNumberInput("decimal")))==0){for(a7=1;a7<5;a7++){$("#prop"+a7+"_type").hide();$("#r"+a7+"_pmpt").show();$("#prop"+a7+"_type").val(a9);$("#prop"+a7+"_volume").hide();$("#prop"+a7+"_volume").val(0);$("#prop"+a7+"_irate").hide();$("#prop"+a7+"_ncells").hide();$("#prop"+a7+"_tcells").hide();$("#prop"+a7+"_growf").hide()}if(a3>ba){return}$("#prop1_type").show();$("#r1_pmpt").hide();$("#prop1_volume").show();$("#prop1_irate").show();$("#prop1_ncells").show();$("#prop1_tcells").show();$("#prop1_growf").show();for(a7=a6;a7<=a4;a7++){a6=a7;a5=a8[a6];bb=aC(a5,a9,a3);if(bb.irate<25){a6=a7-1;a5=a8[a6];bb=aC(a5,a9,a3);break}if(bb.totcells>ba||a7==a4){break}}$("#prop1_volume").val(bb.svol/1000);$("#prop1_irate").val(bb.prate);$("#prop1_ncells").val(bb.ncells);$("#prop1_tcells").val(bb.totcells);$("#prop1_growf").val(bb.growf);if(bb.totcells>ba){return}$("#r2_pmpt").hide();$("#prop2_type").val(a9);$("#prop2_type").show();$("#prop2_volume").show();$("#prop2_irate").show();$("#prop2_ncells").show();$("#prop2_tcells").show();$("#prop2_growf").show();for(a7=a6;a7<=a4;a7++){a6=a7;a5=a8[a6];bb=aC(a5,a9,$("#prop1_tcells").val());if(bb.irate<25){a6=a7-1;a5=a8[a6];bb=aC(a5,a9,$("#prop1_tcells").val());break}if(bb.totcells>ba||a7==a4){break}}$("#prop2_volume").val(bb.svol/1000);$("#prop2_irate").val(bb.prate);$("#prop2_ncells").val(bb.ncells);$("#prop2_tcells").val(bb.totcells);$("#prop2_growf").val(bb.growf);if(bb.totcells>ba){return}$("#r3_pmpt").hide();$("#prop3_type").val(a9);$("#prop3_type").show();$("#prop3_volume").show();$("#prop3_irate").show();$("#prop3_ncells").show();$("#prop3_tcells").show();$("#prop3_growf").show();for(a7=a6;a7<=a4;a7++){a6=a7;a5=a8[a6];bb=aC(a5,a9,$("#prop2_tcells").val());if(bb.irate<25){a6=a7-1;a5=a8[a6];bb=aC(a5,a9,$("#prop2_tcells").val());break}if(bb.totcells>ba||a7==a4){break}}$("#prop3_volume").val(bb.svol/1000);$("#prop3_irate").val(bb.prate);$("#prop3_ncells").val(bb.ncells);$("#prop3_tcells").val(bb.totcells);$("#prop3_growf").val(bb.growf);if(bb.totcells>ba){return}$("#r4_pmpt").hide();$("#prop4_type").val(a9);$("#prop4_type").show();$("#prop4_volume").show();$("#prop4_irate").show();$("#prop4_ncells").show();$("#prop4_tcells").show();$("#prop4_growf").show();for(a7=a6;a7<=a4;a7++){a6=a7;a5=a8[a6];bb=aC(a5,a9,$("#prop3_tcells").val());if(bb.totcells>ba||a7==a4){$("#prop4_volume").val(bb.svol/1000);$("#prop4_irate").val(bb.prate);$("#prop4_ncells").val(bb.ncells);$("#prop4_tcells").val(bb.totcells);$("#prop4_growf").val(bb.growf);return}}}else{if(d.prop1_volume>0){$("#r1_pmpt").hide();$("#prop1_type").show();$("#prop1_volume").show();$("#prop1_irate").show();$("#prop1_ncells").show();$("#prop1_tcells").show();$("#prop1_growf").show();bb=aC($("#prop1_volume").val()*1000,d.prop1_type,a3);$("#prop1_irate").val(bb.prate);$("#prop1_ncells").val(bb.ncells);$("#prop1_tcells").val(bb.totcells);$("#prop1_growf").val(bb.growf)}if(d.prop2_volume>0){$("#r2_pmpt").hide();$("#prop2_type").show();$("#prop2_volume").show();$("#prop2_irate").show();$("#prop2_ncells").show();$("#prop2_tcells").show();$("#prop2_growf").show();bb=aC($("#prop2_volume").val()*1000,d.prop2_type,$("#prop1_tcells").val());$("#prop2_irate").val(bb.prate);$("#prop2_ncells").val(bb.ncells);$("#prop2_tcells").val(bb.totcells);$("#prop2_growf").val(bb.growf)}if(d.prop3_volume>0){$("#r3_pmpt").hide();$("#prop3_type").show();$("#prop3_volume").show();$("#prop3_irate").show();$("#prop3_ncells").show();$("#prop3_tcells").show();$("#prop3_growf").show();bb=aC($("#prop3_volume").val()*1000,d.prop3_type,$("#prop2_tcells").val());$("#prop3_irate").val(bb.prate);$("#prop3_ncells").val(bb.ncells);$("#prop3_tcells").val(bb.totcells);$("#prop3_growf").val(bb.growf)}if(d.prop4_volume>0){$("#r4_pmpt").hide();$("#prop4_type").show();$("#prop4_volume").show();$("#prop4_irate").show();$("#prop4_ncells").show();$("#prop4_tcells").show();$("#prop4_growf").show();bb=aC($("#prop4_volume").val()*1000,d.prop4_type,$("#prop3_tcells").val());$("#prop4_irate").val(bb.prate);$("#prop4_ncells").val(bb.ncells);$("#prop4_tcells").val(bb.totcells);$("#prop4_growf").val(bb.growf)}}}function Y(){var bb,a4,ba,a6,a9,a3,a8,a7,a5=d.brew_fermenter_sg;if(a5<=1.0001&&d.fg>1){a5=d.fg}else{if(a5<=1.0001){a5=d.est_og}}bb=sg_to_plato(a5);a4=d.brew_fermenter_volume;if(a4>0){if(d.brew_fermenter_extrawater>0){a4+=d.brew_fermenter_extrawater}}else{a4=d.batch_size-d.eq_trub_chiller_loss}$("#yeast_cells").val(aa);if(!(ba=$("#yeastGrid").jqxGrid("getrows"))){return}a6=$("#yeastGrid").jqxGrid("getdatainformation").rowscount;if(a6==0){return}for(a3=0;a3<a6;a3++){a9=$("#yeastGrid").jqxGrid("getrowdata",a3);if(a9.y_use==0){x=0.75;if(d.est_og>1.06){x=1}if(a9.y_type==0){x*=2}if(a9.y_type==6){x=0.25}}}a8=Round(x*a4*bb,1);console.log("calcYeast() pitchrate:"+x+" start:"+aa+" needed:"+a8+" volume:"+a4);$("#need_cells").val(a8);a7=aa;if(d.starter_enable){F(d.starter_type,aa,a8);for(a3=1;a3<5;a3++){$("#r"+a3+"_irate").html("");$("#r"+a3+"_growf").html("");$("#r"+a3+"_tcells").html("");if(parseFloat($("#prop"+a3+"_volume").val())>0){if((parseFloat($("#prop"+a3+"_irate").val())<25)||(parseFloat($("#prop"+a3+"_irate").val())>100)){$("#r"+a3+"_irate").html("<img src='images/dialog-error.png'>")}else{$("#r"+a3+"_irate").html("<img src='images/dialog-ok-apply.png'>")}if(parseFloat($("#prop"+a3+"_growf").val())<1){$("#r"+a3+"_growf").html("<img src='images/dialog-error.png'>")}if(($("#prop"+a3+"_type").val()>0)&&(parseFloat($("#prop"+a3+"_growf").val())>3)){$("#r"+a3+"_growf").html("<img src='images/dialog-error.png'>")}if(parseFloat($("#prop"+a3+"_tcells").val())>a8){$("#r"+a3+"_tcells").html("<img src='images/dialog-ok-apply.png'>")}a7=parseFloat($("#prop"+a3+"_tcells").val())}else{$("#r"+a3+"_irate").html("")}}}$("#plato_cells").val(parseFloat(a7/(a4*bb)))}function aj(a5){console.log("adjustHops("+a5+")");var a6,a4,a3,a7=$("#hopGrid").jqxGrid("getdatainformation").rowscount;if(a7==0){return}for(a4=0;a4<a7;a4++){a6=$("#hopGrid").jqxGrid("getrowdata",a4);a3=a6.h_amount*a5;$("#hopGrid").jqxGrid("setcellvalue",a4,"h_amount",a3)}}function aG(){ai=1;var a4,a3,a5=$("#miscGrid").jqxGrid("getdatainformation").rowscount;if(a5==0){return}for(a3=0;a3<a5;a3++){a4=$("#miscGrid").jqxGrid("getrowdata",a3);if((((d.inventory_reduced<=2)&&(a4.m_use_use<=2))||((d.inventory_reduced<=3)&&(a4.m_use_use==3))||((d.inventory_reduced<=5)&&(a4.m_use_use==4))||((d.inventory_reduced<=6)&&(a4.m_use_use==5)))&&(a4.m_inventory<a4.m_amount)){ai=0}}G()}function a2(a5){console.log("adjustMiscs("+a5+")");var a6,a4,a3,a7=$("#miscGrid").jqxGrid("getdatainformation").rowscount;if(a7==0){return}for(a4=0;a4<a7;a4++){a6=$("#miscGrid").jqxGrid("getrowdata",a4);a3=a6.m_amount*a5;$("#miscGrid").jqxGrid("setcellvalue",a4,"m_amount",a3);switch(a6.m_name){case"CaCl2":$("#wa_cacl2").val(a6.m_amount*1000);break;case"CaSO4":$("#wa_caso4").val(a6.m_amount*1000);break;case"MgSO4":$("#wa_mgso4").val(a6.m_amount*1000);break;case"NaCl":$("#wa_nacl").val(a6.m_amount*1000);break;case"Melkzuur":case"Zoutzuur":case"Fosforzuur":case"Zwavelzuur":$("#wa_acid").val(a6.m_amount*1000);break;case"NaHCO3":case"Na2CO3":case"CaCO3":case"Ca(OH)2":$("#wa_base").val(a6.m_amount*1000);break}}}function aP(a5){console.log("adjustYeasts("+a5+")");var a6,a4,a3,a7=$("#yeastGrid").jqxGrid("getdatainformation").rowscount;if(a7==0){return}for(a4=0;a4<a7;a4++){a6=$("#yeastGrid").jqxGrid("getrowdata",a4);if(!d.starter_enable){a3=a6.y_amount*a5;$("#yeastGrid").jqxGrid("setcellvalue",a4,"y_amount",a3)}}Y()}function au(a5){console.log("adjustWaters("+a5+")");var a4,a6,a3,a7=$("#mashGrid").jqxGrid("getdatainformation").rowscount;if(a7==0){return}C=0;for(a3=0;a3<a7;a3++){a6=$("#mashGrid").jqxGrid("getrowdata",a3);if(a6.step_type==0){a4=Round(a6.step_infuse_amount*a5,1);$("#mashGrid").jqxGrid("setcellvalue",a3,"step_infuse_amount",a4);C+=a4}}if(d.w2_amount==0){d.w1_amount=C;$("#w1_amount").val(C)}else{d.w1_amount=(d.w1_amount/(d.w1_amount+d.w2_amount))*C;d.w2_amount=(d.w2_amount/(d.w1_amount+d.w2_amount))*C;$("#w1_amount").val(d.w1_amount);$("#w2_amount").val(d.w2_amount)}$("#wg_amount").val(C)}function a0(){var a3,i;if(parseFloat($("#brew_mash_sg").jqxNumberInput("decimal"))<1.002){return}a3=sg_to_plato(a1);i=sg_to_plato(parseFloat($("#brew_mash_sg").jqxNumberInput("decimal")));if(a3>0.5){$("#brew_mash_efficiency").val(100*i/a3)}else{$("#brew_mash_efficiency").val(0)}}function w(){var a4=0,a7={},a6,a8,a5,a3=0;if(!(a7=$("#fermentableGrid").jqxGrid("getrows"))){return}for(a6=0;a6<a7.length;a6++){a8=a7[a6];if(a8.f_added==0){a4+=a8.f_amount*(a8.f_yield/100)*(1-a8.f_moisture/100)}}a5=sg_to_plato(d.brew_preboil_sg)*(d.brew_preboil_volume/1.04)*d.brew_preboil_sg*10/1000;if(a4>0){a3=Round((a5/a4*100),1)}if(a3<0){a3=0}$("#brew_preboil_efficiency").val(a3)}function S(){var a5=0,a4=0,a8={},a7,a9,a6,a3=0;if(!(a8=$("#fermentableGrid").jqxGrid("getrows"))){return}for(a7=0;a7<a8.length;a7++){a9=a8[a7];if(a9.f_added==0){a5+=a9.f_amount*(a9.f_yield/100)*(1-a9.f_moisture/100)}else{if(a9.f_added==1){a4+=a9.f_amount*(a9.f_yield/100)*(1-a9.f_moisture/100)}}}a6=sg_to_plato(d.brew_aboil_sg)*(d.brew_aboil_volume/1.04)*d.brew_aboil_sg*10/1000;a6-=a4;if(a5>0){a3=Round((a6/a5*100),1)}if(a3<0){a3=0}d.brew_aboil_efficiency=a3;$("#brew_aboil_efficiency").val(a3)}function R(){var i=(d.est_og-1)*1000;if(i>0){return d.est_ibu/i}else{return 0.5}}function k(){var i=R();return(-1.2*i+1.4)}function aB(a3,a5){var a9,a4,ba,a8=false,a6,a7=$("#miscGrid").jqxGrid("getrows");if(a5==0){for(a4=0;a4<a7.length;a4++){a9=a7[a4];if(a9.m_name==a3){ba=$("#miscGrid").jqxGrid("getrowid",a4);$("#miscGrid").jqxGrid("deleterow",ba)}}}else{for(a4=0;a4<a7.length;a4++){a9=a7[a4];if(a9.m_name==a3){a8=true;$("#miscGrid").jqxGrid("setcellvalue",a4,"m_amount",a5/1000);break}}if(!a8){a6=new $.jqx.dataAdapter(miscInvSource,{loadComplete:function(){var bb,bd,be={},bc=a6.records;for(bd=0;bd<bc.length;bd++){bb=bc[bd];if(bb.name==a3){be.m_name=bb.name;be.m_amount=a5/1000;be.m_cost=bb.cost;be.m_type=bb.type;be.m_use_use=bb.use_use;be.m_time=0;be.m_amount_is_weight=bb.amount_is_weight;be.m_inventory=bb.inventory;be.m_avail=1;$("#miscGrid").jqxGrid("addrow",null,be)}}}});a6.dataBind();return}}}function m(a3,i){if((i=="laag")||(i=="hoog")){$("#wr_"+a3).html("<img src='images/dialog-error.png'><span style='vertical-align: top; font-size: 10px; font-style: italic;'>"+i+"</span>")}else{$("#wr_"+a3).html("<img src='images/dialog-ok-apply.png'>")}}function aQ(a5,a4,a3,i){if((a5+a4)>0){return((a5*a3)+(a4*i))/(a5+a4)}return 0}function ar(a4,a3,i){return a4-(a3/1.4+i/1.7)}function z(a3){var i=Math.pow(10,-a3);return 100*aA*ay/(i*i+i*aA+aA*ay)}function az(a3){var i=Math.pow(10,-a3);return 100*aA*i/(i*i+i*aA+aA*ay)}function ax(i){return(-2*z(i)-az(i))}function K(a3){var a6=ax(4.3),a4=ax(parseFloat($("#wg_ph").jqxNumberInput("decimal"))),i=ax(a3),a8=-a6+a4,a7=parseFloat($("#wg_total_alkalinity").jqxNumberInput("decimal"))/50/a8,a5=-i+a4;return a7*a5}function am(a3){var a4,a5,i=parseFloat($("#wg_calcium").jqxNumberInput("decimal"))/(A/2);a4=parseFloat($("#wg_magnesium").jqxNumberInput("decimal"))/(aq/2);a5=K(a3);return a5-(i/3.5+a4/7)}function M(a5){var a8,a6,a7,a4,a3,a9=am(a5)*parseFloat($("#wg_amount").jqxNumberInput("decimal"));a8=$("#fermentableGrid").jqxGrid("getrows");for(a6=0;a6<a8.length;a6++){row=a8[a6];if(row.f_added==0&&row.f_graintype!=6){a7=0;if((row.f_di_ph!=5.7)&&((row.f_acid_to_ph_57<-0.1)||(row.f_acid_to_ph_57>0.1))){a7=row.f_acid_to_ph_57/(row.f_di_ph-5.7)}else{a4=row.f_color;switch(row.f_graintype){case 0:case 3:case 5:a7=0.014*a4-34.192;break;case 2:a7=-0.0597*a4-32.457;break;case 1:a7=0.0107*a4-54.768;break;case 4:a7=-149;break}}a3=a7*(a5-row.f_di_ph);a9+=a3*row.f_amount}}return a9}function aN(){var a6=0,a4=5.4,a3=0.001,a5=0.1,i=M(a4);while(((i<-a5)||(i>a5))&&(a6<2000)){a6++;if(i<-a5){a4-=a3}else{if(i>a5){a4+=a3}}i=M(a4)}a4=Round(a4,2);return a4}function t(i){switch(i){case 0:return{pK1:3.86,pK2:20,pK3:20,MolWt:90.08,AcidSG:1214,AcidPrc:0.88};case 1:return{pK1:-7,pK2:20,pK3:20,MolWt:36.46,AcidSG:1142,AcidPrc:0.28};case 2:return{pK1:2.12,pK2:7.2,pK3:12.44,MolWt:98,AcidSG:1170,AcidPrc:0.25};case 3:return{pK1:-1,pK2:1.92,pK3:20,MolWt:98.07,AcidSG:1700,AcidPrc:0.93}}}function Q(){var bk=0,bz=0,ba=0,bl=0,bb=0,bw=0,bc=0,bu=0,be=0,bn=0,bF=0,bD=0,bA=0,by,bo,bg,a5,a4,i,bf,a7,a6,bq,bi,a9,br,bj,bx,bp,bh,bs,bE,bt,bd,bB,bm,bC,a8,bv,a3;if(d.w1_name==""){return}if(d.w2_name!=""){bk=d.w1_amount+d.w2_amount;bz=aQ(d.w1_amount,d.w2_amount,d.w1_calcium,d.w2_calcium);ba=aQ(d.w1_amount,d.w2_amount,d.w1_magnesium,d.w2_magnesium);bl=aQ(d.w1_amount,d.w2_amount,d.w1_sodium,d.w2_sodium);bc=aQ(d.w1_amount,d.w2_amount,d.w1_chloride,d.w2_chloride);bu=aQ(d.w1_amount,d.w2_amount,d.w1_sulfate,d.w2_sulfate);bb=aQ(d.w1_amount,d.w2_amount,d.w1_total_alkalinity,d.w2_total_alkalinity);be=-Math.log10(((Math.pow(10,-d.w1_ph)*d.w1_amount)+(Math.pow(10,-d.w2_ph)*d.w2_amount))/bk)}else{bk=d.w1_amount;bz=d.w1_calcium;ba=d.w1_magnesium;bl=d.w1_sodium;bc=d.w1_chloride;bu=d.w1_sulfate;bb=d.w1_total_alkalinity;be=d.w1_ph}$("#wg_amount").val(bk);bB=bz;$("#wg_calcium").val(Math.round(bz*10)/10);$("#wg_magnesium").val(Math.round(ba*10)/10);bm=bl;$("#wg_sodium").val(Math.round(bl*10)/10);bC=bb;$("#wg_total_alkalinity").val(Math.round(bb*10)/10);a8=bc;$("#wg_chloride").val(Math.round(bc*10)/10);bv=bu;$("#wg_sulfate").val(Math.round(bu*10)/10);$("#wg_ph").val(Round(be,1));$("#wb_ph").val(Round(aN(),1));$("#est_mash_ph").val(Round(aN(),1));bw=bb*1.22;a3=bw;bn=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*A/T+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*A/an;bz+=1000*bn/bk;bn=parseFloat($("#wa_mgso4").jqxNumberInput("decimal"))*aq/aK;ba+=1000*bn/bk;bn=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*ad/b+parseFloat($("#wa_base").jqxNumberInput("decimal"))*ad/aF;bl+=1000*bn/bk;bn=parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*aI/an+parseFloat($("#wa_mgso4").jqxNumberInput("decimal"))*aI/aK;bu+=1000*bn/bk;bn=2*parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*q/T+parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*q/b;bc+=1000*bn/bk;if($("#wa_acid_name").val()<0||$("#wa_acid_name").val()>3){$("#wa_acid_name").val(0);d.wa_acid_name=0}if(ag==""){ag=AcidTypeData[$("#wa_acid_name").val()].nl}if($("#wa_base_name").val()<0||$("#wa_base_name").val()>3){$("#wa_base_name").val(0);d.wa_base_name=0}if(aU==""){aU=BaseTypeData[$("#wa_base_name").val()].nl}by=d.wa_acid_name;bo=d.wa_base_name;bg=t(by);a5=bg.pK1;a4=bg.pK2;i=bg.pK3;bf=bg.MolWt;a7=bg.AcidSG;a6=bg.AcidPrc;if(d.calc_acid){bD=parseFloat(d.mash_ph);bA=M(bD);if(bA>0){$("#wa_base").val(0);aB(aU,0);bF=CalcFrac(bD,a5,a4,i);Acid=bA/bF;Acid*=bf;Acidmg=Acid;Acid=Acid/a7;if(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))==0){$("#wa_acid_perc").val(a6)}Acid=Round(Acid*a6/(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))/100),2);$("#wa_acid").val(Acid);aB(AcidTypeData[by].nl,Acid);bw=bw-bA*bF/bk;bb=bw*50/61}else{if(bA<0){$("#wa_acid").val(0);aB(ag,0);bq=Math.pow(10,(bD-6.38));bi=Math.pow(10,(bD-10.38));a9=1/(1+bq+bq*bi);br=a9*bq;bj=br*bi;switch(bo){case 0:bn=-bA/(a9-bj);bn=bn*aF/1000;$("#wa_base").val(Round(bn,2));aB("NaHCO3",Round(bn,2));if(bk>0){bn=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*ad/b+parseFloat($("#wa_base").jqxNumberInput("decimal"))*ad/aF;bn=1000*bn/bk;bl=bm+bn;bn=parseFloat($("#wa_base").jqxNumberInput("decimal"))*r/aF;bn=1000*bn/bk;bw=a3+bn;bb=bw*50/61;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium)}break;case 1:bn=-bA/(2*a9+br);bn=bn*y/1000;$("#wa_base").val(Round(bn,2));aB("Na2CO3",Round(bn,2));if(bk>0){bn=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*ad/b+parseFloat($("#wa_base").jqxNumberInput("decimal"))*2*ad/y;bn=1000*bn/bk;bl=bm+bn;bn=parseFloat($("#wa_base").jqxNumberInput("decimal"))*r/y;bn=1000*bn/bk;bw=a3+bn;bb=bw*50/61;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium)}break;case 2:bn=-bA*(a9-bj);bn=bn*g/1000;bn=3*bn;$("#wa_base").val(Round(bn,2));aB("CaCO3",Round(bn,2));if(bk>0){bn=parseFloat($("#wa_base").jqxNumberInput("decimal"))/3*r/g;bn=1000*bn/bk;bw=a3+bn;bb=bw*50/61;bn=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*A/T+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*A/an+parseFloat($("#wa_base").jqxNumberInput("decimal"))*A/g;bn=1000*bn/bk;bz=bB+bn;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium)}break;case 3:bn=-bA/19.3;$("#wa_base").val(Round(bn,2));aB("Ca(OH)2",Round(bn,2));if(bk>0){bn=-bA/bk;bb=bC+bn;bw=bb*61/50;bn=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*A/T+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*A/an+parseFloat($("#wa_base").jqxNumberInput("decimal"))*A/aJ;bn=1000*bn/bk;bz=bB+bn;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium)}break}}}be=bD;$("#wb_ph").val(Round(be,1));$("#est_mash_ph").val(Round(be,1))}else{console.log("calc_acid no");if(parseFloat($("#wa_base").jqxNumberInput("decimal"))>0){if(bk>0){switch(bo){case 0:bn=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*ad/b+parseFloat($("#wa_base").jqxNumberInput("decimal"))*ad/aF;bn=1000*bn/bk;bl=bm+bn;bn=parseFloat($("#wa_base").jqxNumberInput("decimal"))*r/aF;bn=1000*bn/bk;bw=a3+bn;bb=bw*50/61;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium);break;case 1:bn=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*ad/b+parseFloat($("#wa_base").jqxNumberInput("decimal"))*2*ad/y;bn=1000*bn/bk;bl=bm+bn;bn=parseFloat($("#wa_base").jqxNumberInput("decimal"))*r/y;bn=1000*bn/bk;bw=a3+bn;bb=bw*50/61;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium);break;case 2:bn=parseFloat($("#wa_base").jqxNumberInput("decimal"))/3*r/g;bn=1000*bn/bk;bw=a3+bn;bb=bw*50/61;bn=ar(wb_total_alkalinity,wb_calcium,wb_magnesium);bn=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*A/T+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*A/an+parseFloat($("#wa_base").jqxNumberInput("decimal"))*A/g;bn=1000*bn/bk;bz=bB+bn;break}}}bD=parseFloat(d.mash_ph);pHa=aN();if(parseFloat($("#wa_acid").jqxNumberInput("decimal"))>0){console.log("TpH: "+bD+" water: "+pHa);Acid=parseFloat($("#wa_acid").jqxNumberInput("decimal"));if(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))==0){$("#wa_acid_perc").val(a6)}Acid=Acid/a6*(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))/100);Acid*=a7;Acid/=bf;Acidmg=Acid;bF=CalcFrac(pHa,a5,a4,i);bA=Acid*bF;bx=0.001;bp=0.1;bh=M(pHa);bs=0;while(((bh<(bA-bp))||(bh>(bA+bp)))&&(bs<2000)){bs++;if(bh<(bA-bp)){pHa-=bx}else{if(bh>(bA+bp)){pHa+=bx}}bF=CalcFrac(pHa,a5,a4,i);bA=Acid*bF;bh=M(pHa)}console.log("n: "+bs+" pd: "+bh+" protonDeficit: "+bA+" frac: "+bF+" pHa: "+pHa);bn=a3-bA*bF/bk;bw=bn;bb=bn*50/61;be=pHa;$("#wb_ph").val(Round(be,1));$("#est_mash_ph").val(Round(be,1))}}if((by==3)&&(bk>0)){bn=parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*aI/an+parseFloat($("#wa_mgso4").jqxNumberInput("decimal"))*aI/aK+Acidmg/1000*aI/(aI+2);bn=1000*bn/bk;bu=bv+bn}else{if((by==1)&&(bk>0)){bn=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*q/T+parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*q/b+Acidmg/1000*q/(q+1);bn=1000*bn/bk;bc=a8+bn}}$("#tgt_bu").val(Round(R(),2));if(R()<0.32){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig en zoet</span>")}else{if(R()<0.43){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig, zoet</span>")}else{if(R()<0.52){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>")}else{if(R()<0.63){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht hoppig, bitter</span>")}else{$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Extra hoppig, zeer bitter</span>")}}}}$("#tgt_cl_so4").val(Round(k(),1));if(bu>0){bn=bc/bu}else{bn=10}$("#got_cl_so4").val(Round(bn,1));bE=0.8*k();bt=1.2*k();bd="normaal";if(bn<bE){bd="laag"}else{if(bn>bt){bd="hoog"}}m("cl_so4",bd);$("#wb_calcium").val(Round(bz,1));$("#wb_magnesium").val(Round(ba,1));$("#wb_sodium").val(Round(bl,1));$("#wb_sulfate").val(Round(bu,1));$("#wb_chloride").val(Round(bc,1));$("#wb_total_alkalinity").val(Round(bb,1));if(bz<40){m("calcium","laag")}else{if(bz>150){m("calcium","hoog")}else{m("calcium","normaal")}}if(ba>=0&&ba<=30){m("magnesium","normaal")}else{m("magnesium","hoog")}if(bl<=150){m("sodium","normaal")}else{m("sodium","hoog")}if(bc<=50){m("chloride","laag")}else{if(bc<=100){m("chloride","normaal")}else{m("chloride","hoog")}}if(bu<=50){m("sulfate","laag")}else{if(bu<=350){m("sulfate","normaal")}else{m("sulfate","hoog")}}if(be<5.2){m("ph","laag")}else{if(be>5.6){m("ph","hoog")}else{m("ph","normaal")}}j();aG();G()}function j(){var a5,bh,bf,bn,bm,bq,bk,bj,bl,a8,bv,bt,a3,a7,ba,bg,br,bp,bs,bi,a4,a9,be,bd,bc,bb,bu,a6,i,bo;a5=d.sparge_ph;bh=d.w1_ph;bf=d.w1_total_alkalinity;if(d.sparge_source==1){if(d.w2_ph>0){bh=d.w2_ph;bf=d.w2_total_alkalinity}else{d.sparge_source=0;$("#sparge_source").val(0)}}else{if(d.sparge_source==2){if(d.w2_ph>0){bh=parseFloat($("#wg_ph").jqxNumberInput("decimal"));bf=parseFloat($("#wg_total_alkalinity").jqxNumberInput("decimal"))}else{d.sparge_source=0;$("#sparge_source").val(0)}}}bn=Math.pow(10,bh-6.38);bm=Math.pow(10,bh-10.373);bq=1+bn+bn*bm;bk=1/bq;bj=bn*bm/bq;bl=Math.pow(10,4.3-6.38);a8=Math.pow(10,4.3-10.373);bv=1+bl+bl*a8;bt=1/bv;a3=bl*a8/bv;a7=bf/50;ba=(a7-1000*(Math.pow(10,-4.3)-Math.pow(10,-bh)))/((bt-bk)+(bj-a3));bg=Math.pow(10,a5-6.38);br=Math.pow(10,a5-10.373);bp=1+bg+bg*br;bs=1/bp;bi=bg*br/bp;a4=ba*((bs-bk)+(bj-bi))+Math.pow(10,-a5)-Math.pow(10,-bh);a4+=0.01;if(d.sparge_acid_type<0||d.sparge_acid_type>3){d.sparge_acid_type=0;$("#sparge_acid_type").val(0)}a9=d.sparge_acid_type;be=t(a9);bd=be.pK1;bc=be.pK2;bb=be.pK3;bu=be.MolWt;a6=be.AcidSG;i=be.AcidPrc;bo=CalcFrac(a5,bd,bc,bb);a4/=bo;a4*=bu;a4=a4/a6;bk=d.sparge_acid_perc;if(bk<=0.1){bk=i}a4=a4*i/(bk/100);a4*=d.sparge_volume;a4=Round(a4,2);d.sparge_acid_amount=a4/1000;$("#sparge_acid_amount").val(a4)}function N(){var a3,i,a5,a4;if(d.brew_fermenter_sg<1.02){return}if((d.primary_end_sg>0.99)&&(d.primary_end_sg<d.brew_fermenter_sg)){a3=Round(100*(d.brew_fermenter_sg-d.primary_end_sg)/(d.brew_fermenter_sg-1),1);$("#primary_svg").val(a3);if((d.secondary_end_sg>0.99)&&(d.secondary_end_sg<d.brew_fermenter_sg)){i=Round(100*(d.brew_fermenter_sg-d.secondary_end_sg)/(d.brew_fermenter_sg-1),1);$("#secondary_svg").val(i);if((d.fg>0.99)&&(d.fg<d.brew_fermenter_sg)){a5=Round(100*(d.brew_fermenter_sg-d.fg)/(d.brew_fermenter_sg-1),1);$("#final_svg").val(a5);a4=Round(abvol(d.brew_fermenter_sg,d.fg),2);$("#final_abv").val(a4)}}}}function ao(a3,i){var a4=i*1.8+32;return 3.0378-0.050062*a4+0.00026555*a4*a4}function W(a3,i,a5){var a4=a5*(a3-ao(a3,i))/0.286;if(a4<0){a4=0}return Round(a4,3)}function o(a3,a6,a5){var a4,i=a3-ao(a3,a6);if(i<0){return 0}a4=-1.09145427669121+0.00800006989646477*a5+0.000260276315484684*a5*a5+0.0215142075945119*a5*i+0.674996600795854*i+-0.00471757220150754*i*i;if(a4<0){a4=0}a4=a4*1.01325;return Round(a4,1)}function Z(a3,i){return(a3-(-0.000005594056*Math.pow(i,4)+0.000144357886*Math.pow(i,3)+0.000362999168*i*i-0.064872987645*i+1.641145175049))/(0.00000498031*Math.pow(i,4)-0.00024358267*Math.pow(i,3)+0.00385867329*i*i-0.05671206825*i+1.53801423376)}function aS(){var ba,a7,bb,a9,a5,bf,bc,a3,bh,a6,bi,be,a4,a8,bd,bg;ba=d.secondary_temp;if(ba<1){ba=d.primary_end_temp}if(ba<1){ba=18}if(d.fg==0){a7=abvol(d.brew_fermenter_sg,parseFloat($("#est_fg").jqxNumberInput("decimal")))}else{a7=abvol(d.brew_fermenter_sg,d.fg)}bb=d.package_volume-(a7*d.package_volume)/100;a9=d.package_volume-bb;bf=d.package_infuse_amount-(d.package_infuse_abv*d.package_infuse_amount)/100;bc=d.package_infuse_amount-bf;bh=a9+bc;a3=bb+bf;a7=Round(bh/(a3+bh)*100,2);d.package_abv=a7;$("#package_abv").val(a7);if(!(rows=$("#fermentableGrid").jqxGrid("getrows"))){return}d.bottle_priming_amount=0;d.bottle_priming_total=0;for(a6=0;a6<rows.length;a6++){bi=rows[a6];if(bi.f_added==4){be=1/((bi.f_yield/100)*(1-bi.f_moisture/100));d.bottle_priming_amount=W(d.bottle_carbonation,ba,be);d.bottle_priming_total=Round(d.bottle_amount*d.bottle_priming_amount,2);$("#fermentableGrid").jqxGrid("setcellvalue",a6,"f_amount",d.bottle_priming_total/1000)}}$("#bottle_priming_amount").val(Round(d.bottle_priming_amount,1));$("#bottle_priming_total").val(d.bottle_priming_total);a8=a7+d.bottle_priming_amount*0.47/7.907;a4=d.bottle_amount-(a8*d.bottle_amount)/100;bh=d.bottle_amount-a4;a3=a4+d.bottle_priming_water;a5=Round(bh/(a3+bh)*100,2);$("#bottle_abv").val(a5);$("#bottle_pressure").val(o(d.bottle_carbonation,ba,d.bottle_carbonation_temp));bd=Z(d.keg_carbonation,d.keg_carbonation_temp);if(bd<0){bd=0}d.keg_pressure=bd;$("#keg_pressure").val(Round(bd,1));d.keg_priming_amount=0;d.keg_priming_total=0;if(!d.keg_forced_carb){for(a6=0;a6<rows.length;a6++){bi=rows[a6];if(bi.f_added==5){be=1/((bi.f_yield/100)*(1-bi.f_moisture/100));d.keg_priming_amount=W(d.keg_carbonation,ba,be);d.keg_priming_total=Round(d.keg_amount*d.keg_priming_amount,2);$("#fermentableGrid").jqxGrid("setcellvalue",a6,"f_amount",d.keg_priming_total/1000)}}$("#keg_priming_amount").val(Round(d.keg_priming_amount,1));$("#keg_priming_total").val(d.keg_priming_total);a8=a7+d.keg_priming_amount*0.47/7.907;a4=d.keg_amount-(a8*d.keg_amount)/100;bh=d.keg_amount-a4;a3=a4+d.keg_priming_water;bg=Round(bh/(a3+bh)*100,2);$("#keg_abv").val(bg)}else{$("#keg_priming_amount").val(0);$("#keg_priming_total").val(0);$("#keg_abv").val(a7)}}function aV(){var a8=d.stage,a7,a5,a3,a9,a6,i,a4;if(a8==0&&d.est_og>1.005&&d.est_color>3&&d.est_ibu>3){a8=1}if(a8==1&&parseFloat($("#brew_date_start").val())>2000){a8=2}if(a8==2&&($("#brew_date_start").val()=="")){a8=1}if(a8==2&&parseFloat($("#brew_date_end").val())>2000){a8=3}if(a8==3&&parseFloat($("#primary_end_date").val())>2000){a8=4}if(a8==4&&parseFloat($("#secondary_end_date").val())>2000){a8=5}if(a8==5&&parseFloat($("#package_date").val())>2000){a8=6}if(a8>=6&&a8<9){a7=new Date();a3=$("#package_date").val();a3=a3.split("-");a5=new Date(a7.getFullYear(),a7.getMonth(),a7.getDate());a3=new Date(a3[0],a3[1]-1,a3[2]);a9=parseInt(a5.getTime()/1000);a6=parseInt(a3.getTime()/1000);i=a9-a6;a4=i/60/60/24;if(a4>0){if(a4>=42){a8=9}else{if(a4>=14){a8=8}else{a8=7}}}}if(a8==9&&parseFloat($("#taste_date").val())>2000){a8=10}if(a8!=d.stage){console.log("calcStage() old: "+d.stage+" new: "+a8);d.stage=a8}$("#stage").val(StageData[d.stage].nl);if(d.stage>=10){$("#locked").jqxCheckBox({disabled:false})}if(d.stage>1){$("#equipmentSelect").jqxDropDownList({disabled:true});$("#Delete").jqxButton({disabled:true})}if(d.stage<1){$("#jqxTabs").jqxTabs("disableAt",8)}else{$("#jqxTabs").jqxTabs("enableAt",8)}if(d.stage<3){$("#jqxTabs").jqxTabs("disableAt",9)}else{$("#jqxTabs").jqxTabs("enableAt",9);$("#name").jqxInput({disabled:true});$("#code").jqxInput({disabled:true});$("#batch_size").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#boil_size").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#boil_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#efficiency").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#est_og").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#type").jqxDropDownList({disabled:true});$("#styleSelect").jqxDropDownList({disabled:true});$("#color_method").jqxDropDownList({disabled:true});$("#ibu_method").jqxDropDownList({disabled:true});$("#mash_select").jqxDropDownList({disabled:true});$("#w1_name").jqxDropDownList({disabled:true});$("#w2_name").jqxDropDownList({disabled:true});$("#w2_amount").jqxNumberInput({readOnly:true});$("#pr_name").jqxDropDownList({disabled:true});$("#wa_cacl2").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wa_caso4").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wa_mgso4").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wa_nacl").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#mash_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#calc_acid").jqxCheckBox({disabled:true});$("#wa_base_name").jqxDropDownList({disabled:true});$("#wa_base").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wa_acid_name").jqxDropDownList({disabled:true});$("#wa_acid").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wa_acid_perc").jqxNumberInput({spinButtons:false,readOnly:true,width:70});$("#sparge_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#sparge_volume").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#sparge_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#sparge_source").jqxDropDownList({disabled:true});$("#sparge_acid_type").jqxDropDownList({disabled:true});$("#sparge_acid_perc").jqxNumberInput({spinButtons:false,readOnly:true,width:false});$("#starter_enable").jqxCheckBox({disabled:true});$("#starter_type").jqxDropDownList({disabled:true});$("#starter_try").jqxButton({disabled:true});$("#starter_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#starter_viability").jqxNumberInput({spinButtons:false,readOnly:true,width:90})}if(d.stage>3){$("#brew_date_start").jqxDateTimeInput({disabled:true});$("#brew_date_end").jqxDateTimeInput({disabled:true});$("#brew_mash_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_preboil_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_aboil_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_mash_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_preboil_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_aboil_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_preboil_volume").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_aboil_volume").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_whirlpool9").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_cooling_to").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_whirlpool7").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_cooling_method").jqxDropDownList({disabled:true});$("#brew_whirlpool6").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_cooling_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_sparge_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_whirlpool2").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_aeration_type").jqxDropDownList({disabled:true});$("#brew_fermenter_tcloss").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_aeration_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_fermenter_extrawater").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#brew_aeration_speed").jqxNumberInput({spinButtons:false,readOnly:true,width:90})}if(d.stage==5){$("#package_date").jqxDateTimeInput({disabled:false})}else{$("#package_date").jqxDateTimeInput({disabled:true})}if(d.stage>=5){$("#primary_start_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#primary_max_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#primary_end_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#primary_end_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#primary_end_brix").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#primary_end_date").jqxDateTimeInput({disabled:true})}if(d.stage>=6){$("#secondary_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#secondary_end_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#secondary_end_date").jqxDateTimeInput({disabled:true});$("#tertiary_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#fg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#final_brix").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#package_date").jqxDateTimeInput({disabled:true});$("#package_volume").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#package_infuse_amount").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#package_infuse_abv").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#package_infuse_notes").jqxInput({disabled:true});$("#package_ph").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#bottle_amount").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#bottle_priming_water").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#keg_priming_water").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#keg_amount").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#bottle_carbonation").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#keg_carbonation").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#bottle_priming_sugar").jqxDropDownList({disabled:true});$("#keg_priming_sugar").jqxDropDownList({disabled:true});$("#keg_forced_carb").jqxCheckBox({disabled:true});$("#bottle_carbonation_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#keg_carbonation_temp").jqxNumberInput({spinButtons:false,readOnly:true,width:90})}if(d.stage<8){$("#jqxTabs").jqxTabs("disableAt",11)}else{$("#jqxTabs").jqxTabs("enableAt",11)}if(d.stage==11){$("#taste_date").jqxDateTimeInput({disabled:true});$("#taste_rate").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#taste_color").jqxInput({disabled:true});$("#taste_transparency").jqxInput({disabled:true});$("#taste_head").jqxInput({disabled:true});$("#taste_aroma").jqxInput({disabled:true});$("#taste_taste").jqxInput({disabled:true});$("#taste_aftertaste").jqxInput({disabled:true});$("#taste_mouthfeel").jqxInput({disabled:true});$("#taste_notes").jqxInput({disabled:true});$("#notes").jqxInput({disabled:true})}else{$("#notes").jqxInput({disabled:false})}}function J(){if(d.starter_enable){$("#propagator").show();$("#starter_type").jqxDropDownList({disabled:false});$("#starter_try").jqxButton({disabled:false});$("#starter_sg").jqxNumberInput({spinButtons:true,readOnly:false,width:110});$("#starter_viability").jqxNumberInput({spinButtons:true,readOnly:false,width:110})}else{$("#propagator").hide();$("#starter_type").jqxDropDownList({disabled:true});$("#starter_try").jqxButton({disabled:true});$("#starter_sg").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#starter_viability").jqxNumberInput({spinButtons:false,readOnly:true,width:90})}}function aX(){console.log("calcInit()");a0();w();S();$("#starter_enable").on("checked",function(i){d.starter_enable=1;J();Y()});$("#starter_enable").on("unchecked",function(i){d.starter_enable=0;J();Y()});$("#starter_try").click(function(){$("#prop1_volume").val(0);$("#prop2_volume").val(0);$("#prop3_volume").val(0);$("#prop4_volume").val(0);Y()});$("#starter_type").on("change",function(i){if(i.args){d.starter_type=i.args.index;Y()}});$("#starter_sg").on("change",function(i){if(i.args){d.starter_sg=i.args.value;Y()}});$("#starter_viability").on("change",function(i){if(i.args){d.starter_viability=i.args.value;U();Y()}});$("#prop1_type").on("change",function(i){if(i.args){d.prop1_type=i.args.index;Y()}});$("#prop1_volume").on("change",function(i){if(i.args){d.prop1_volume=i.args.value;Y()}});$("#prop2_type").on("change",function(i){if(i.args){d.prop2_type=i.args.index;Y()}});$("#prop2_volume").on("change",function(i){if(i.args){d.prop2_volume=i.args.value;Y()}});$("#prop3_type").on("change",function(i){if(i.args){d.prop3_type=i.args.index;Y()}});$("#prop3_volume").on("change",function(i){if(i.args){d.prop3_volume=i.args.value;Y()}});$("#prop4_type").on("change",function(i){if(i.args){d.prop4_type=i.args.index;Y()}});$("#prop4_volume").on("change",function(i){if(i.args){d.prop4_volume=i.args.value;Y()}});$("#calc_acid").on("checked",function(i){d.calc_acid=1;Q()});$("#calc_acid").on("unchecked",function(i){d.calc_acid=0;Q()});$("#w1_name").jqxDropDownList("selectItem",d.w1_name);$("#w2_name").jqxDropDownList("selectItem",d.w2_name);if(parseFloat($("#w1_amount").jqxNumberInput("decimal"))==0&&C>0){$("#w1_amount").val(C);d.w1_amount=C;$("#wg_amount").val(C);$("#w2_amount").val(0);d.w2_amount=0}Q();$("#w2_amount").on("change",function(i){var a3=parseFloat(i.args.value);if(a3>C){$("#w2_amount").val(d.w2_amount);return}d.w1_amount=parseFloat($("#wg_amount").jqxNumberInput("decimal"))-a3;$("#w1_amount").val(d.w1_amount);d.w2_amount=a3;console.log("new: "+i.args.value+" w1: "+d.w1_amount+"  w2: "+d.w2_amount);Q()});$("#wa_cacl2").on("change",function(i){if(i.args){aB("CaCl2",0);aB("CaCl2",i.args.value);Q()}});$("#wa_caso4").on("change",function(i){if(i.args){aB("CaSO4",0);aB("CaSO4",i.args.value);Q()}});$("#wa_mgso4").on("change",function(i){if(i.args){aB("MgSO4",0);aB("MgSO4",i.args.value);Q()}});$("#wa_nacl").on("change",function(i){if(i.args){aB("NaCl",0);aB("NaCl",i.args.value);Q()}});$("#wa_base_name").on("change",function(a3){if(a3.args){var i=a3.args.index;console.log("wa_base_name "+i);aB(aU,0);aU=BaseTypeData[i].nl;aB(aU,parseFloat($("#wa_base").jqxNumberInput("decimal")));d.wa_base_name=i;Q()}});$("#wa_base").on("change",function(a3){var i=BaseTypeData[$("#wa_base_name").val()].nl;aB(i,parseFloat(a3.args.value));Q()});$("#wa_acid_name").on("change",function(a3){if(a3.args){var i=a3.args.index;console.log("wa_acid_name "+i);aB(ag,0);ag=AcidTypeData[i].nl;aB(ag,parseFloat($("#wa_acid").jqxNumberInput("decimal")));d.wa_acid_name=i;Q()}});$("#wa_acid").on("change",function(a3){var i=AcidTypeData[$("#wa_acid_name").val()].nl;aB(i,parseFloat(a3.args.value));Q()});$("#wa_acid_perc").on("change",function(i){Q()});$("#color_method").on("change",function(i){d.color_method=i.args.index;U()});$("#ibu_method").on("change",function(i){d.ibu_method=i.args.index;U();at()});$("#batch_size").on("change",function(a4){console.log("batch_size change:"+a4.args.value+" old:"+d.batch_size);$("#est_a_vol").val(a4.args.value*1.04);var i,a3=parseFloat(a4.args.value)+d.boil_size-d.batch_size;i=parseFloat(a4.args.value)/d.batch_size;d.boil_size=a3;$("#boil_size").val(Round(a3,2));$("#est_pre_vol").val(Round(a3*1.04,2));d.sparge_volume*=i;$("#sparge_volume").val(d.sparge_volume);$("#brew_sparge_volume").val(d.sparge_volume);d.batch_size=parseFloat(a4.args.value);af(parseFloat($("#est_og").jqxNumberInput("decimal")));au(i);U();aj(i);a2(i);aP(i);at();Q();j();aO()});$("#boil_time").on("change",function(a4){console.log("boil_time change:"+parseFloat(a4.args.value)+" old:"+d.boil_time);var a3,i,a5=parseFloat(d.boil_size)-parseFloat(d.batch_size);i=a5*(parseFloat(a4.args.value)/d.boil_time);a3=parseFloat(d.batch_size)+i;d.boil_time=parseFloat(a4.args.value);d.boil_size=a3;$("#est_pre_vol").val(Round(a3*1.04,2));$("#boil_size").val(Round(a3,2));U();at();Y()});$("#efficiency").on("change",function(a3){var i=parseFloat($("#est_og").jqxNumberInput("decimal"));d.efficiency=parseFloat(a3.args.value);console.log("efficiency change:"+d.efficiency+" est_og:"+i);af(i);U();at();Y()});$("#est_og").on("change",function(i){d.est_og=parseFloat(i.args.value);console.log("est_og change:"+d.est_og);$("#est_og2").val(d.est_og);af(d.est_og);U();at();aO();Y()});$("#mash_ph").on("change",function(i){d.mash_ph=parseFloat(i.args.value);Q()});$("#sparge_ph").on("change",function(i){d.sparge_ph=parseFloat(i.args.value);j()});$("#sparge_volume").on("change",function(i){d.sparge_volume=parseFloat(i.args.value);$("#brew_sparge_volume").val(d.sparge_volume);j()});$("#sparge_temp").on("change",function(i){d.sparge_temp=parseFloat(i.args.value);$("#brew_sparge_temperature").val(d.sparge_temp)});$("#sparge_source").on("change",function(i){if(i.args){d.sparge_source=i.args.index;j()}});$("#sparge_acid_type").on("change",function(i){if(i.args){d.sparge_acid_type=i.args.index;console.log("new sparge_acid_type: "+d.sparge_acid_type);j()}});$("#sparge_acid_perc").on("change",function(i){d.sparge_acid_perc=parseFloat(i.args.value);j()});N();aS();$("#package_volume").on("change",function(a3){var a4,a5,i=d.package_volume+d.package_infuse_amount;d.package_volume=parseFloat(a3.args.value);if(d.package_volume>d.brew_fermenter_volume){d.package_volume=d.brew_fermenter_volume;$("#package_volume").val(d.package_volume)}a5=d.package_volume+d.package_infuse_amount;a4=a5-i;if(i>0){d.bottle_amount+=(d.bottle_amount/i)*a4;d.keg_amount+=(d.keg_amount/i)*a4}else{d.bottle_amount=a5;d.keg_amount=0}console.log("diff:"+a4+" old:"+i+" bottle:"+d.bottle_amount+" keg:"+d.keg_amount);$("#bottle_amount").val(parseFloat(d.bottle_amount*1000)/1000);$("#keg_amount").val(parseFloat(d.keg_amount*1000)/1000);aS()});$("#package_infuse_amount").on("change",function(a3){var a4,a5,i=d.package_volume+d.package_infuse_amount;d.package_infuse_amount=parseFloat(a3.args.value);a5=d.package_volume+d.package_infuse_amount;a4=a5-i;if(i>0){d.bottle_amount+=(d.bottle_amount/i)*a4;d.keg_amount+=(d.keg_amount/i)*a4}else{d.bottle_amount=a5;d.keg_amount=0}console.log("diff:"+a4+" old:"+i+" bottle:"+d.bottle_amount+" keg:"+d.keg_amount);$("#bottle_amount").val(parseFloat(d.bottle_amount*1000)/1000);$("#keg_amount").val(parseFloat(d.keg_amount*1000)/1000);aS()});$("#package_infuse_abv").on("change",function(i){d.package_infuse_abv=parseFloat(i.args.value);aS()});$("#bottle_amount").on("change",function(a4){var i,a5,a3=parseFloat(a4.args.value);i=d.package_volume+d.package_infuse_amount;if(a3>i){a3=i}a5=d.bottle_amount-a3;d.bottle_amount=Math.round((d.bottle_amount-a5)*1000)/1000;d.keg_amount=Math.round((d.keg_amount+a5)*1000)/1000;$("#bottle_amount").val(parseFloat(d.bottle_amount));$("#keg_amount").val(parseFloat(d.keg_amount));aS()});$("#bottle_priming_water").on("change",function(i){d.bottle_priming_water=parseFloat(i.args.value);aS()});$("#keg_amount").on("change",function(a4){var a5,i,a3=parseFloat(a4.args.value);i=d.package_volume+d.package_infuse_amount;if(a3>i){a3=i}a5=d.keg_amount-a3;d.bottle_amount=Math.round((d.bottle_amount+a5)*1000)/1000;d.keg_amount=Math.round((d.keg_amount-a5)*1000)/1000;$("#bottle_amount").val(parseFloat(d.bottle_amount));$("#keg_amount").val(parseFloat(d.keg_amount));aS()});$("#keg_priming_water").on("change",function(i){d.keg_priming_water=parseFloat(i.args.value);aS()});$("#bottle_carbonation").on("change",function(i){d.bottle_carbonation=parseFloat(i.args.value);aS()});$("#bottle_carbonation_temp").on("change",function(i){d.bottle_carbonation_temp=parseFloat(i.args.value);aS()});$("#keg_carbonation").on("change",function(i){d.keg_carbonation=parseFloat(i.args.value);aS()});$("#keg_forced_carb").on("checked",function(i){d.keg_forced_carb=1;aS()});$("#keg_forced_carb").on("unchecked",function(i){d.keg_forced_carb=0;aS()});$("#keg_carbonation_temp").on("change",function(i){d.keg_carbonation_temp=parseFloat(i.args.value);aS()});$("#brew_fermenter_extrawater").on("change",function(i){d.brew_fermenter_extrawater=parseFloat(i.args.value);U();at();Y()});$("#brew_fermenter_tcloss").on("change",function(i){d.brew_fermenter_tcloss=parseFloat(i.args.value);U();at();Y()});$("#primary_end_sg").on("change",function(i){d.primary_end_sg=parseFloat(i.args.value);N()});$("#primary_end_brix").on("change",function(a3){var a4,a5,i;if(d.brew_fermenter_sg>=1.02){a4=sg_to_brix(d.brew_fermenter_sg);a5=parseFloat(a3.args.value);i=Round(1.0031-0.002318474*a4-0.000007775*(a4*a4)-3.4e-8*Math.pow(a4,3)+0.00574*(a5)+0.00003344*(a5*a5)+8.6e-8*Math.pow(a5,3),4);if(a5>0.05){$("#primary_end_sg").val(i);d.primary_end_sg=i}N()}});$("#secondary_end_sg").on("change",function(i){d.secondary_end_sg=parseFloat(i.args.value);N()});$("#secondary_end_brix").on("change",function(a3){var a4,a5,i;if(d.brew_fermenter_sg>=1.02){a4=sg_to_brix(d.brew_fermenter_sg);a5=parseFloat(a3.args.value);i=Round(1.0031-0.002318474*a4-0.000007775*(a4*a4)-3.4e-8*Math.pow(a4,3)+0.00574*(a5)+0.00003344*(a5*a5)+8.6e-8*Math.pow(a5,3),4);if(a5>0.05){$("#secondary_end_sg").val(i);d.secondary_end_sg=i}N()}});$("#final_brix").on("change",function(a3){var a4,a5,i;if(d.brew_fermenter_sg>=1.02){a4=sg_to_brix(d.brew_fermenter_sg);a5=parseFloat(a3.args.value);i=Round(1.0031-0.002318474*a4-0.000007775*(a4*a4)-3.4e-8*Math.pow(a4,3)+0.00574*(a5)+0.00003344*(a5*a5)+8.6e-8*Math.pow(a5,3),4);if(a5>0.05){$("#fg").val(i);d.fg=i}N()}});$("#fg").on("change",function(i){d.fg=parseFloat(i.args.value);N()});$("#BLog").jqxButton({disabled:(d.log_brew)?false:true});$("#FLog").jqxButton({disabled:(d.log_fermentation)?false:true})}$("#styleSelect").jqxDropDownList({placeHolder:"Kies bierstijl:",theme:theme,source:styleslist,displayMember:"name",width:180,height:23,dropDownVerticalAlignment:"top",dropDownWidth:500,dropDownHeight:380,renderer:function(a3,i,a5){var a4=styleslist.records[a3];return a4.style_guide+" "+a4.style_letter+" "+a4.name}});$("#styleSelect").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=styleslist.records[i];$("#st_name").val(a3.name);$("#st_category").val(a3.category);$("#st_category_number").val(a3.category_number);$("#st_letter").val(a3.style_letter);$("#st_guide").val(a3.style_guide);$("#st_type").val(StyleTypeData[a3.type].nl);$("#st_og_min").val(a3.og_min);$("#st_og_max").val(a3.og_max);$("#st_fg_min").val(a3.fg_min);$("#st_fg_max").val(a3.fg_max);$("#st_ibu_min").val(a3.ibu_min);$("#st_ibu_max").val(a3.ibu_max);$("#st_color_min").val(a3.color_min);$("#st_color_max").val(a3.color_max);$("#st_carb_min").val(a3.carb_min);$("#st_carb_min2").val(a3.carb_min);$("#st_carb_max").val(a3.carb_max);$("#st_carb_max2").val(a3.carb_max);$("#st_abv_min").val(a3.abv_min);$("#st_abv_max").val(a3.abv_max)}});$("#equipmentSelect").jqxDropDownList({placeHolder:"Kies apparatuur:",theme:theme,source:equipmentlist,displayMember:"name",width:170,height:23,dropDownWidth:300,renderer:function(a3,i,a5){var a4=equipmentlist.records[a3];return a4.batch_size+" liter "+a4.name}});$("#equipmentSelect").on("select",function(a5){if(a5.args){var a4,a3,i=a5.args.index;a4=equipmentlist.records[i];a3=a4.batch_size/d.batch_size;$("#eq_name").val(a4.name);$("#eq_boil_size").val(a4.boil_size);d.boil_size=a4.boil_size;$("#boil_size").val(a4.boil_size);$("#eq_batch_size").val(a4.batch_size);d.batch_size=a4.batch_size;$("#batch_size").val(a4.batch_size);$("#est_a_vol").val(a4.batch_size*1.04);$("#eq_tun_volume").val(a4.tun_volume);d.eq_tun_weight=a4.tun_weight;d.eq_tun_specific_heat=a4.tun_specific_heat;d.eq_tun_material=a4.tun_material;d.eq_tun_height=a4.tun_height/100;$("#eq_top_up_water").val(a4.top_up_water);d.eq_trub_chiller_loss=a4.trub_chiller_loss;$("#eq_trub_chiller_loss").val(a4.trub_chiller_loss);$("#eq_evap_rate").val(a4.evap_rate);$("#eq_boil_time").val(a4.boil_time);d.eq_calc_boil_volume=a4.calc_boil_volume;$("#eq_top_up_kettle").val(a4.top_up_kettle);$("#eq_hop_utilization").val(a4.hop_utilization);$("#eq_notes").val(a4.notes);$("#eq_lauter_volume").val(a4.lauter_volume);d.eq_lauter_height=a4.lauter_height/100;$("#eq_lauter_deadspace").val(a4.lauter_deadspace);$("#eq_kettle_volume").val(a4.kettle_volume);d.eq_kettle_height=a4.kettle_height/100;$("#eq_mash_volume").val(a4.mash_volume);$("#eq_mash_max").val(a4.mash_max);d.eq_mash_max=a4.mash_max;$("#mash_max").val(a4.mash_max);$("#eq_efficiency").val(a4.efficiency);d.efficiency=a4.efficiency;$("#efficiency").val(a4.efficiency);d.sparge_volume=Math.round(a4.boil_size*5)/10;$("#sparge_volume").val(d.sparge_volume);$("#brew_sparge_volume").val(d.sparge_volume);$("#est_pre_vol").val(a4.boil_size*1.04);af(parseFloat($("#est_og").jqxNumberInput("decimal")));au(a3);U();aj(a3);a2(a3);aP(a3);at();Q();j()}});function s(i){var a4={record:my_record,uuid:d.uuid,name:$("#name").val(),code:$("#code").val(),birth:$("#birth").val(),stage:d.stage,notes:$("#notes").val(),log_brew:d.log_brew,log_fermentation:d.log_fermentation,inventory_reduced:d.inventory_reduced,locked:d.locked,eq_name:$("#eq_name").val(),eq_boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),eq_batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),eq_tun_volume:parseFloat($("#eq_tun_volume").jqxNumberInput("decimal")),eq_tun_weight:d.eq_tun_weight,eq_tun_specific_heat:d.eq_tun_specific_heat,eq_tun_material:d.eq_tun_material,eq_tun_height:d.eq_tun_height,eq_top_up_water:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),eq_trub_chiller_loss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),eq_evap_rate:parseFloat($("#eq_evap_rate").jqxNumberInput("decimal")),eq_boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),eq_calc_boil_volume:d.eq_calc_boil_volume,eq_top_up_kettle:parseFloat($("#eq_top_up_kettle").jqxNumberInput("decimal")),eq_hop_utilization:parseFloat($("#eq_hop_utilization").jqxNumberInput("decimal")),eq_notes:$("#eq_notes").val(),eq_lauter_volume:parseFloat($("#eq_lauter_volume").jqxNumberInput("decimal")),eq_lauter_height:d.eq_lauter_height,eq_lauter_deadspace:parseFloat($("#eq_lauter_deadspace").jqxNumberInput("decimal")),eq_kettle_volume:parseFloat($("#eq_kettle_volume").jqxNumberInput("decimal")),eq_kettle_height:d.eq_kettle_height,eq_mash_volume:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),eq_mash_max:parseFloat($("#eq_mash_max").jqxNumberInput("decimal")),eq_efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),brew_date_start:$("#brew_date_start").val(),brew_mash_ph:parseFloat($("#brew_mash_ph").jqxNumberInput("decimal")),brew_mash_sg:parseFloat($("#brew_mash_sg").jqxNumberInput("decimal")),brew_mash_efficiency:parseFloat($("#brew_mash_efficiency").jqxNumberInput("decimal")),brew_sparge_est:parseFloat($("#brew_sparge_est").jqxNumberInput("decimal")),brew_sparge_ph:parseFloat($("#brew_sparge_ph").jqxNumberInput("decimal")),brew_preboil_volume:parseFloat($("#brew_preboil_volume").jqxNumberInput("decimal")),brew_preboil_sg:parseFloat($("#brew_preboil_sg").jqxNumberInput("decimal")),brew_preboil_ph:parseFloat($("#brew_preboil_ph").jqxNumberInput("decimal")),brew_preboil_efficiency:parseFloat($("#brew_preboil_efficiency").jqxNumberInput("decimal")),brew_aboil_volume:parseFloat($("#brew_aboil_volume").jqxNumberInput("decimal")),brew_aboil_sg:parseFloat($("#brew_aboil_sg").jqxNumberInput("decimal")),brew_aboil_ph:parseFloat($("#brew_aboil_ph").jqxNumberInput("decimal")),brew_aboil_efficiency:parseFloat($("#brew_aboil_efficiency").jqxNumberInput("decimal")),brew_cooling_method:$("#brew_cooling_method").val(),brew_cooling_time:parseFloat($("#brew_cooling_time").jqxNumberInput("decimal")),brew_cooling_to:parseFloat($("#brew_cooling_to").jqxNumberInput("decimal")),brew_whirlpool9:parseFloat($("#brew_whirlpool9").jqxNumberInput("decimal")),brew_whirlpool7:parseFloat($("#brew_whirlpool7").jqxNumberInput("decimal")),brew_whirlpool6:parseFloat($("#brew_whirlpool6").jqxNumberInput("decimal")),brew_whirlpool2:parseFloat($("#brew_whirlpool2").jqxNumberInput("decimal")),brew_fermenter_volume:parseFloat($("#brew_fermenter_volume").jqxNumberInput("decimal")),brew_fermenter_extrawater:parseFloat($("#brew_fermenter_extrawater").jqxNumberInput("decimal")),brew_fermenter_tcloss:parseFloat($("#brew_fermenter_tcloss").jqxNumberInput("decimal")),brew_aeration_time:parseFloat($("#brew_aeration_time").jqxNumberInput("decimal")),brew_aeration_speed:parseFloat($("#brew_aeration_speed").jqxNumberInput("decimal")),brew_aeration_type:$("#brew_aeration_type").val(),brew_fermenter_sg:parseFloat($("#brew_fermenter_sg").jqxNumberInput("decimal")),brew_fermenter_ibu:parseFloat($("#brew_fermenter_ibu").jqxNumberInput("decimal")),brew_fermenter_color:parseFloat($("#brew_fermenter_color").jqxNumberInput("decimal")),brew_date_end:$("#brew_date_end").val(),og:d.og,fg:parseFloat($("#fg").jqxNumberInput("decimal")),primary_start_temp:parseFloat($("#primary_start_temp").jqxNumberInput("decimal")),primary_max_temp:parseFloat($("#primary_max_temp").jqxNumberInput("decimal")),primary_end_temp:parseFloat($("#primary_end_temp").jqxNumberInput("decimal")),primary_end_sg:parseFloat($("#primary_end_sg").jqxNumberInput("decimal")),primary_end_date:$("#primary_end_date").val(),secondary_temp:parseFloat($("#secondary_temp").jqxNumberInput("decimal")),secondary_end_sg:parseFloat($("#secondary_end_sg").jqxNumberInput("decimal")),secondary_end_date:$("#secondary_end_date").val(),tertiary_temp:parseFloat($("#tertiary_temp").jqxNumberInput("decimal")),package_date:$("#package_date").val(),package_volume:parseFloat($("#package_volume").jqxNumberInput("decimal")),package_infuse_amount:parseFloat($("#package_infuse_amount").jqxNumberInput("decimal")),package_infuse_abv:parseFloat($("#package_infuse_abv").jqxNumberInput("decimal")),package_infuse_notes:$("#package_infuse_notes").val(),package_abv:parseFloat($("#package_abv").jqxNumberInput("decimal")),package_ph:parseFloat($("#package_ph").jqxNumberInput("decimal")),bottle_amount:parseFloat($("#bottle_amount").jqxNumberInput("decimal")),bottle_carbonation:parseFloat($("#bottle_carbonation").jqxNumberInput("decimal")),bottle_priming_water:parseFloat($("#bottle_priming_water").jqxNumberInput("decimal")),bottle_priming_amount:parseFloat($("#bottle_priming_amount").jqxNumberInput("decimal")),bottle_carbonation_temp:parseFloat($("#bottle_carbonation_temp").jqxNumberInput("decimal")),keg_amount:parseFloat($("#keg_amount").jqxNumberInput("decimal")),keg_carbonation:parseFloat($("#keg_carbonation").jqxNumberInput("decimal")),keg_priming_water:parseFloat($("#keg_priming_water").jqxNumberInput("decimal")),keg_priming_amount:parseFloat($("#keg_priming_amount").jqxNumberInput("decimal")),keg_carbonation_temp:parseFloat($("#keg_carbonation_temp").jqxNumberInput("decimal")),keg_forced_carb:d.keg_forced_carb,keg_pressure:parseFloat($("#keg_pressure").jqxNumberInput("decimal")),taste_notes:$("#taste_notes").val(),taste_rate:parseFloat($("#taste_rate").jqxNumberInput("decimal")),taste_date:$("#taste_date").val(),taste_color:$("#taste_color").val(),taste_transparency:$("#taste_transparency").val(),taste_head:$("#taste_head").val(),taste_aroma:$("#taste_aroma").val(),taste_taste:$("#taste_taste").val(),taste_mouthfeel:$("#taste_mouthfeel").val(),taste_aftertaste:$("#taste_aftertaste").val(),st_name:$("#st_name").val(),st_letter:$("#st_letter").val(),st_guide:$("#st_guide").val(),st_type:d.st_type,st_category:$("#st_category").val(),st_category_number:parseFloat($("#st_category_number").jqxNumberInput("decimal")),st_og_min:parseFloat($("#st_og_min").jqxNumberInput("decimal")),st_og_max:parseFloat($("#st_og_max").jqxNumberInput("decimal")),st_fg_min:parseFloat($("#st_fg_min").jqxNumberInput("decimal")),st_fg_max:parseFloat($("#st_fg_max").jqxNumberInput("decimal")),st_ibu_min:parseFloat($("#st_ibu_min").jqxNumberInput("decimal")),st_ibu_max:parseFloat($("#st_ibu_max").jqxNumberInput("decimal")),st_color_min:parseFloat($("#st_color_min").jqxNumberInput("decimal")),st_color_max:parseFloat($("#st_color_max").jqxNumberInput("decimal")),st_carb_min:parseFloat($("#st_carb_min").jqxNumberInput("decimal")),st_carb_max:parseFloat($("#st_carb_max").jqxNumberInput("decimal")),st_abv_min:parseFloat($("#st_abv_min").jqxNumberInput("decimal")),st_abv_max:parseFloat($("#st_abv_max").jqxNumberInput("decimal")),type:$("#type").val(),batch_size:parseFloat($("#batch_size").jqxNumberInput("decimal")),boil_size:parseFloat($("#boil_size").jqxNumberInput("decimal")),boil_time:parseFloat($("#boil_time").jqxNumberInput("decimal")),efficiency:parseFloat($("#efficiency").jqxNumberInput("decimal")),est_og:parseFloat($("#est_og").jqxNumberInput("decimal")),est_fg:parseFloat($("#est_fg").jqxNumberInput("decimal")),est_abv:parseFloat($("#est_abv").jqxNumberInput("decimal")),est_color:parseFloat($("#est_color").jqxNumberInput("decimal")),color_method:$("#color_method").val(),est_ibu:parseFloat($("#est_ibu").jqxNumberInput("decimal")),ibu_method:$("#ibu_method").val(),est_carb:parseFloat($("#est_carb").jqxNumberInput("decimal")),mash_name:$("#mash_name").val(),mash_ph:parseFloat($("#mash_ph").jqxNumberInput("decimal")),sparge_temp:parseFloat($("#sparge_temp").jqxNumberInput("decimal")),sparge_ph:parseFloat($("#sparge_ph").jqxNumberInput("decimal")),sparge_volume:parseFloat($("#sparge_volume").jqxNumberInput("decimal")),sparge_source:$("#sparge_source").val(),sparge_acid_type:$("#sparge_acid_type").val(),sparge_acid_perc:parseFloat($("#sparge_acid_perc").jqxNumberInput("decimal")),sparge_acid_amount:d.sparge_acid_amount,calc_acid:d.calc_acid,w1_name:$("#w1_name").val(),w1_amount:parseFloat($("#w1_amount").jqxNumberInput("decimal")),w1_calcium:parseFloat($("#w1_calcium").jqxNumberInput("decimal")),w1_sulfate:parseFloat($("#w1_sulfate").jqxNumberInput("decimal")),w1_chloride:parseFloat($("#w1_chloride").jqxNumberInput("decimal")),w1_sodium:parseFloat($("#w1_sodium").jqxNumberInput("decimal")),w1_magnesium:parseFloat($("#w1_magnesium").jqxNumberInput("decimal")),w1_total_alkalinity:parseFloat($("#w1_total_alkalinity").jqxNumberInput("decimal")),w1_ph:parseFloat($("#w1_ph").jqxNumberInput("decimal")),w1_cost:d.w1_cost,w2_name:$("#w2_name").val(),w2_amount:parseFloat($("#w2_amount").jqxNumberInput("decimal")),w2_calcium:parseFloat($("#w2_calcium").jqxNumberInput("decimal")),w2_sulfate:parseFloat($("#w2_sulfate").jqxNumberInput("decimal")),w2_chloride:parseFloat($("#w2_chloride").jqxNumberInput("decimal")),w2_sodium:parseFloat($("#w2_sodium").jqxNumberInput("decimal")),w2_magnesium:parseFloat($("#w2_magnesium").jqxNumberInput("decimal")),w2_total_alkalinity:parseFloat($("#w2_total_alkalinity").jqxNumberInput("decimal")),w2_ph:parseFloat($("#w2_ph").jqxNumberInput("decimal")),w2_cost:d.w2_cost,wg_amount:parseFloat($("#wg_amount").jqxNumberInput("decimal")),wg_calcium:parseFloat($("#wg_calcium").jqxNumberInput("decimal")),wg_sulfate:parseFloat($("#wg_sulfate").jqxNumberInput("decimal")),wg_chloride:parseFloat($("#wg_chloride").jqxNumberInput("decimal")),wg_sodium:parseFloat($("#wg_sodium").jqxNumberInput("decimal")),wg_magnesium:parseFloat($("#wg_magnesium").jqxNumberInput("decimal")),wg_total_alkalinity:parseFloat($("#wg_total_alkalinity").jqxNumberInput("decimal")),wg_ph:parseFloat($("#wg_ph").jqxNumberInput("decimal")),wb_calcium:parseFloat($("#wb_calcium").jqxNumberInput("decimal")),wb_sulfate:parseFloat($("#wb_sulfate").jqxNumberInput("decimal")),wb_chloride:parseFloat($("#wb_chloride").jqxNumberInput("decimal")),wb_sodium:parseFloat($("#wb_sodium").jqxNumberInput("decimal")),wb_magnesium:parseFloat($("#wb_magnesium").jqxNumberInput("decimal")),wb_total_alkalinity:parseFloat($("#wb_total_alkalinity").jqxNumberInput("decimal")),wb_ph:parseFloat($("#wb_ph").jqxNumberInput("decimal")),wa_acid_name:$("#wa_acid_name").val(),wa_acid_perc:parseFloat($("#wa_acid_perc").jqxNumberInput("decimal")),wa_base_name:$("#wa_base_name").val(),starter_enable:d.starter_enable,starter_type:$("#starter_type").val(),starter_sg:parseFloat($("#starter_sg").jqxNumberInput("decimal")),starter_viability:parseFloat($("#starter_viability").jqxNumberInput("decimal")),prop1_type:$("#prop1_type").val(),prop1_volume:parseFloat($("#prop1_volume").jqxNumberInput("decimal")),prop2_type:$("#prop2_type").val(),prop2_volume:parseFloat($("#prop2_volume").jqxNumberInput("decimal")),prop3_type:$("#prop3_type").val(),prop3_volume:parseFloat($("#prop3_volume").jqxNumberInput("decimal")),prop4_type:$("#prop4_type").val(),prop4_volume:parseFloat($("#prop4_volume").jqxNumberInput("decimal")),divide_type:d.divide_type,divide_size:d.divide_size,divide_parts:d.divide_parts,fermentables:$("#fermentableGrid").jqxGrid("getrows"),hops:$("#hopGrid").jqxGrid("getrows"),miscs:$("#miscGrid").jqxGrid("getrows"),yeasts:$("#yeastGrid").jqxGrid("getrows"),mashs:$("#mashGrid").jqxGrid("getrows")},a3="update=true&"+$.param(a4);$.ajax({dataType:"json",url:E,cache:false,data:a3,async:false,type:"POST",success:function(a6,a5,a7){console.log("saveRecord("+i+") success");if(i){window.location.href=my_return}else{window.location.href="prod_export.php?record="+my_record+"&return="+my_return+"&select="+my_select+"&code="+d.code+"&name="+d.name+"&stage="+d.stage+"&split="+d.divide_type}},error:function(a5,a7,a6){console.log("saveRecord() "+a7)}})}ah.dataBind();$("#name").jqxTooltip({content:"De naam voor dit product."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#code").jqxTooltip({content:"Product code nummer."});$("#code").jqxInput({theme:theme,width:100,height:23});$("#birth").jqxTooltip({content:"De ontwerp datum van dit product."});$("#birth").jqxInput({theme:theme,width:120,height:23});$("#stage").jqxTooltip({content:"De productie fase van dit product."});$("#stage").jqxInput({theme:theme,width:100,height:23});$("#locked").jqxCheckBox({theme:theme,width:120,height:23,disabled:true});$("#locked").on("checked",function(i){if(d.stage>=10){d.locked=1;d.stage=11;aV()}});$("#locked").on("unchecked",function(i){if(d.stage>=10){d.locked=0;d.stage=10;aV()}});$("#divide_parts").jqxTooltip({content:"Het aantal gesplitste brouw producten."});$("#divide_parts").jqxNumberInput(Show0dec);$("#divide_type").jqxTooltip({content:"Het splitsing moment in het productie proces."});$("#divide_type").jqxInput({theme:theme,width:120,height:23});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit product."});$("#notes").jqxInput({theme:theme,width:960,height:100});$("#type").jqxTooltip({content:"Het brouw type van dit recept."});$("#type").jqxDropDownList({theme:theme,source:RecipeTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#efficiency").jqxTooltip({content:"Het rendement van maischen en koken."});$("#efficiency").jqxNumberInput(Perc1dec);$("#batch_size").jqxTooltip({content:"Het volume van het gekoelde wort na het koken."});$("#batch_size").jqxNumberInput(Spin1dec);$("#batch_size").jqxNumberInput({min:4});$("#boil_time").jqxTooltip({content:"De kooktijd in minuten."});$("#boil_time").jqxNumberInput(PosInt);$("#boil_time").jqxNumberInput({min:4,max:360});$("#boil_size").jqxTooltip({content:"Het volume van het wort voor het koken."});$("#boil_size").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:2,readOnly:true});$("#st_guide").jqxTooltip({content:"De bierstijl gids voor dit recept."});$("#st_guide").jqxInput({theme:theme,width:250,height:23});$("#st_name").jqxTooltip({content:"De bierstijl naam voor dit recept."});$("#st_name").jqxInput({theme:theme,width:250,height:23});$("#st_letter").jqxTooltip({content:"De bierstijl letter voor dit recept."});$("#st_letter").jqxInput({theme:theme,width:90,height:23});$("#st_type").jqxTooltip({content:"Het bierstijl type."});$("#st_type").jqxInput({theme:theme,width:250,height:23});$("#st_category").jqxTooltip({content:"De Amerikaanse bierstijl categorie."});$("#st_category").jqxInput({theme:theme,width:250,height:23});$("#st_category_number").jqxTooltip({content:"De Amerikaanse bierstijl categorie sub nummer."});$("#st_category_number").jqxNumberInput(Smal0dec);$("#est_og").jqxTooltip({content:"Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend."});$("#est_og").jqxNumberInput(SGopts);$("#st_og_min").jqxTooltip({content:"Het minimum begin SG voor deze bierstijl."});$("#st_og_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_og_max").jqxTooltip({content:"Het maximum begin SG voor deze bierstijl."});$("#st_og_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#est_fg").jqxTooltip({content:"Het verwachte eind SG. Dit wordt automatisch berekend."});$("#est_fg").jqxNumberInput(Show3dec);$("#st_fg_min").jqxTooltip({content:"Het minimum eind SG voor deze bierstijl."});$("#st_fg_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_fg_max").jqxTooltip({content:"Het maximum eind SG voor deze bierstijl."});$("#st_fg_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#est_abv").jqxTooltip({content:"Alcohol volume %. Dit wordt automatisch berekend."});$("#est_abv").jqxNumberInput(Smal1dec);$("#st_abv_min").jqxTooltip({content:"Het minimum alcohol volume % voor deze bierstijl."});$("#st_abv_min").jqxNumberInput(Smal1dec);$("#st_abv_max").jqxTooltip({content:"Het maximum alcohol volume % voor deze bierstijl."});$("#st_abv_max").jqxNumberInput(Smal1dec);$("#est_color").jqxTooltip({content:"De kleur in EBC. Dit wordt automatisch berekend."});$("#est_color").jqxNumberInput(Show0dec);$("#st_color_min").jqxTooltip({content:"De minimum kleur voor deze bierstijl."});$("#st_color_min").jqxNumberInput(Smal0dec);$("#st_color_max").jqxTooltip({content:"De maximum kleur voor deze bierstijl."});$("#st_color_max").jqxNumberInput(Smal0dec);$("#color_method").jqxDropDownList({theme:theme,source:ColorMethodAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#est_ibu").jqxTooltip({content:"De bitterheid in IBU. Dit wordt automatisch berekend."});$("#est_ibu").jqxNumberInput(Show0dec);$("#st_ibu_min").jqxTooltip({content:"De minimum bitterheid voor deze bierstijl."});$("#st_ibu_min").jqxNumberInput(Smal0dec);$("#st_ibu_max").jqxTooltip({content:"De maximum bitterheid voor deze bierstijl."});$("#st_ibu_max").jqxNumberInput(Smal0dec);$("#ibu_method").jqxDropDownList({theme:theme,source:IBUmethodAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#kcal").jqxTooltip({content:"Energie-inhoud in kcal/liter."});$("#kcal").jqxNumberInput(Smal0dec);$("#est_carb").jqxTooltip({content:"Koolzuur volume. Dit wordt automatisch berekend."});$("#est_carb").jqxNumberInput(Smal1dec);$("#st_carb_min").jqxTooltip({content:"Het minimum koolzuur volume voor deze bierstijl."});$("#st_carb_min").jqxNumberInput(Smal1dec);$("#st_carb_max").jqxTooltip({content:"Het maximum koolzuur volume voor deze bierstijl."});$("#st_carb_max").jqxNumberInput(Smal1dec);$("#eq_name").jqxTooltip({content:"De naam van deze brouw apparatuur."});$("#eq_name").jqxInput({theme:theme,width:250,height:23});$("#eq_boil_size").jqxTooltip({content:"Normaal kook volume in liters"});$("#eq_boil_size").jqxNumberInput(Show1dec);$("#eq_batch_size").jqxTooltip({content:"Berekende batch grootte in liters aan het eind van de kook."});$("#eq_batch_size").jqxNumberInput(Show1dec);$("#eq_tun_volume").jqxTooltip({content:"Maisch ketel volume."});$("#eq_tun_volume").jqxNumberInput(Show1dec);$("#eq_top_up_water").jqxTooltip({content:"Extra water in het gistvat."});$("#eq_top_up_water").jqxNumberInput(Show1dec);$("#eq_trub_chiller_loss").jqxTooltip({content:"Standaard verlies bij het overbrengen naar het gistvat."});$("#eq_trub_chiller_loss").jqxNumberInput(Show1dec);$("#eq_evap_rate").jqxTooltip({content:"Verdamping in liters per uur."});$("#eq_evap_rate").jqxNumberInput(Show2dec);$("#eq_boil_time").jqxTooltip({content:"Normale kooktijd in minuten."});$("#eq_boil_time").jqxNumberInput(Show0dec);$("#eq_top_up_kettle").jqxTooltip({content:"Extra water toevoegen tijdens de kook."});$("#eq_top_up_kettle").jqxNumberInput(Show1dec);$("#eq_hop_utilization").jqxTooltip({content:"100% voor kleine installaties, hoger voor grote brouwerijen."});$("#eq_hop_utilization").jqxNumberInput(Show0dec);$("#eq_notes").jqxTooltip({content:"Opmerkingen over deze apparatuur."});$("#eq_notes").jqxInput({theme:theme,width:960,height:200});$("#eq_lauter_volume").jqxTooltip({content:"Filterkuip volume."});$("#eq_lauter_volume").jqxNumberInput(Show1dec);$("#eq_lauter_deadspace").jqxTooltip({content:"Filterkuip verlies in liters."});$("#eq_lauter_deadspace").jqxNumberInput(Show1dec);$("#eq_kettle_volume").jqxTooltip({content:"Kook ketel volume in liters."});$("#eq_kettle_volume").jqxNumberInput(Show1dec);$("#eq_mash_volume").jqxTooltip({content:"Maisch water voor de eerste stap."});$("#eq_mash_volume").jqxNumberInput(Show1dec);$("#eq_mash_max").jqxTooltip({content:"De maximale moutstort in Kg."});$("#eq_mash_max").jqxNumberInput(Show1dec);$("#eq_efficiency").jqxTooltip({content:"Gemiddeld brouwzaal rendement."});$("#eq_efficiency").jqxNumberInput(Show1dec);$("#est_color2").jqxTooltip({content:"De kleur in EBC. Dit wordt automatisch berekend."});$("#est_color2").jqxNumberInput(Show0dec);$("#est_og2").jqxTooltip({content:"Het geschatte begin SG van dit product."});$("#est_og2").jqxNumberInput(Show3dec);$("#mash_kg").jqxTooltip({content:"Het gewicht van alle mouten in de maisch."});$("#mash_kg").jqxNumberInput(Show3dec);$("#perc_malts").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:120,animationDuration:0,colorRanges:[{stop:90,color:"#008C00"},{stop:100,color:"#EB7331"},{stop:120,color:"#FF0000"}],renderText:function(i){return(Math.round(parseInt(i)*1.2))+"%"}});$("#perc_sugars").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:50,animationDuration:0,colorRanges:[{stop:20,color:"#008C00"},{stop:50,color:"#FF0000"}],renderText:function(i){return(Math.round(parseInt(i)*5)/10)+"%"}});$("#perc_cara").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:50,animationDuration:0,colorRanges:[{stop:25,color:"#008C00"},{stop:50,color:"#FF0000"}],renderText:function(i){return(Math.round(parseInt(i)*5)/10)+"%"}});$("#ferm_lintner").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:200,animationDuration:0,colorRanges:[{stop:30,color:"#FF0000"},{stop:40,color:"#EB7331"},{stop:200,color:"#008C00"}],renderText:function(i){return(parseInt(i)*2)+" lintner"}});$("#popupFermentable").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#FermentableReady"),modalOpacity:0.4});$("#FermentableReady").jqxButton({template:"success",width:"90px",theme:theme});$("#FermentableReady").click(function(){var a3,i=$("#fermentableGrid").jqxGrid("getrowid",u);console.log("FermentableReady row:"+u+" ID:"+i);a3={f_name:aL.f_name,f_origin:aL.f_origin,f_supplier:aL.f_supplier,f_amount:aL.f_amount,f_cost:aL.f_cost,f_type:aL.f_type,f_yield:aL.f_yield,f_color:aL.f_color,f_coarse_fine_diff:aL.f_coarse_fine_diff,f_moisture:aL.f_moisture,f_diastatic_power:aL.f_diastatic_power,f_protein:aL.f_protein,f_max_in_batch:aL.f_max_in_batch,f_graintype:aL.f_graintype,f_added:aL.f_added,f_dissolved_protein:aL.f_dissolved_protein,f_recommend_mash:aL.f_recommend_mash,f_add_after_boil:aL.f_add_after_boil,f_adjust_to_total_100:aL.f_adjust_to_total_100,f_percentage:aL.f_percentage,f_di_ph:aL.f_di_ph,f_acid_to_ph_57:aL.f_acid_to_ph_57,f_inventory:aL.f_inventory,f_avail:aL.f_avail};$("#fermentableGrid").jqxGrid("updaterow",i,a3);aW();U();at();aO()});$("#wf_name").jqxInput({theme:theme,width:320,height:23});$("#wf_instock").jqxCheckBox({theme:theme,height:23});$("#wf_instock").on("change",function(i){fermentableinstock=i.args.checked;fermentablelist.dataBind()});$("#wf_select").jqxDropDownList({placeHolder:"Kies mout:",theme:theme,source:fermentablelist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500,renderer:function(a3,i,a5){var a4=fermentablelist.records[a3];return a4.supplier+" / "+a4.name+" ("+a4.color+" EBC)"}});$("#wf_select").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=fermentablelist.records[i];$("#wf_name").val(a3.name);aL.f_name=a3.name;aL.f_origin=a3.origin;aL.f_supplier=a3.supplier;aL.f_type=a3.type;aL.f_cost=a3.cost;aL.f_yield=a3.yield;aL.f_color=a3.color;aL.f_coarse_fine_diff=a3.coarse_fine_diff;aL.f_moisture=a3.moisture;aL.f_diastatic_power=a3.diastatic_power;aL.f_protein=a3.protein;aL.f_max_in_batch=a3.max_in_batch;aL.f_graintype=a3.graintype;aL.f_dissolved_protein=a3.dissolved_protein;aL.f_recommend_mash=a3.recommend_mash;aL.f_add_after_boil=a3.add_after_boil;aL.f_di_ph=a3.di_ph;aL.f_acid_to_ph_57=a3.acid_to_ph_57;aL.f_inventory=a3.inventory}});$("#wf_amount").jqxNumberInput(Spin3dec);$("#wf_amount").on("change",function(i){console.log("amount changed: "+i.args.value);$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_amount",i.args.value);aL.f_amount=i.args.value;if(!l){aW();U();at();aO()}});$("#wf_percentage").jqxNumberInput(Perc1dec);$("#wf_percentage").on("change",function(a3){var a5,a9,bb,ba,a6,a8,i,a7,bc,a4=Math.round(aL.f_percentage*10)/10;a5=a3.args.value;console.log("percentage changed: "+a5+" old: "+a4);aL.f_percent=a5;a9=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if((a4!=a5)&&(a9>1)){bb=$("#fermentableGrid").jqxGrid("getrowdata",u);if(bb.f_adjust_to_total_100){$("#wf_percentage").val(a4)}else{ba=a5-a4;a6=0;for(ae=0;ae<a9;ae++){bb=$("#fermentableGrid").jqxGrid("getrowdata",ae);if(bb.f_added<4){a6+=Math.round(bb.f_amount*1000)/1000}}a6=Math.round(a6*1000)/1000;if(l){a8=Math.round(a6*ba*10)/1000;bb=$("#fermentableGrid").jqxGrid("getrowdata",u);i=Round(bb.f_amount+a8,3);$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_amount",i);$("#wf_amount").val(i);$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_percentage",bb.f_percentage+ba);for(ae=0;ae<a9;ae++){bb=$("#fermentableGrid").jqxGrid("getrowdata",ae);if(bb.f_adjust_to_total_100){i=bb.f_amount-a8;$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_percentage",bb.f_percentage-ba);$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_amount",i)}}U();at();aO()}else{a7=a6*ba/100;for(ae=0;ae<a9;ae++){bb=$("#fermentableGrid").jqxGrid("getrowdata",ae);if(bb.f_added<4){if(ae==u){i=Math.round((bb.f_amount+a7)*1000)/1000;$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_amount",i);$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_percentage",a5)}else{i=Math.round((bb.f_amount-(a7/(a9-1)))*1000)/1000;bc=Math.round((i/a6)*1000)/10;$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_amount",i);$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_percentage",bc)}}else{$("#fermentableGrid").jqxGrid("setcellvalue",ae,"f_percentage",0)}}U();at();aO()}}}});$("#wf_max_in_batch").jqxNumberInput(Show1dec);$("#wf_adjust_to_total_100").jqxCheckBox({theme:theme,width:120,height:23});$("#wf_adjust_to_total_100").on("checked",function(a4){if(aL.f_adjust_to_total_100==0){if(l){var a3,a5=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;for(a3=0;a3<a5;a3++){if(a3!=u){$("#fermentableGrid").jqxGrid("setcellvalue",a3,"f_adjust_to_total_100",0)}}}$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_adjust_to_total_100",1);U()}});$("#wf_adjust_to_total_100").on("unchecked",function(i){if(aL.f_adjust_to_total_100!=0){$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_adjust_to_total_100",0);U()}});$("#wf_added").jqxDropDownList({theme:theme,source:AddedAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wf_added").on("select",function(a3){if(a3.args){var i=a3.args.index;$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_added",i);U();at();aO()}});$("#est_ibu2").jqxTooltip({content:"De bitterheid in IBU. Dit wordt automatisch berekend."});$("#est_ibu2").jqxNumberInput(Smal0dec);$("#hop_flavour").jqxProgressBar({width:300,height:23,theme:theme,showText:true,animationDuration:0,colorRanges:[{stop:20,color:"#004D00"},{stop:40,color:"#008C00"},{stop:60,color:"#00BF00"},{stop:80,color:"#00FF00"},{stop:100,color:"#80FF80"}],renderText:function(a3){var i=parseInt(a3);if(i<20){return"Weinig"}else{if(i<40){return"Matig"}else{if(i<60){return"Redelijk"}else{if(i<80){return"Veel"}else{return"Zeer veel"}}}}}});$("#hop_aroma").jqxProgressBar({width:300,height:23,theme:theme,showText:true,animationDuration:0,colorRanges:[{stop:20,color:"#004D00"},{stop:40,color:"#008C00"},{stop:60,color:"#00BF00"},{stop:80,color:"#00FF00"},{stop:100,color:"#80FF80"}],renderText:function(a3){var i=parseInt(a3);if(i<20){return"Weinig"}else{if(i<40){return"Matig"}else{if(i<60){return"Redelijk"}else{if(i<80){return"Veel"}else{return"Zeer veel"}}}}}});$("#popupHop").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#HopReady"),modalOpacity:0.4});$("#HopReady").jqxButton({template:"success",width:"90px",theme:theme});$("#HopReady").click(function(){var a3,i=$("#hopGrid").jqxGrid("getrowid",a);a3={h_name:$("#wh_name").val(),h_origin:e.h_origin,h_amount:parseFloat($("#wh_amount").jqxNumberInput("decimal"))/1000,h_cost:e.h_cost,h_type:e.h_type,h_form:e.h_form,h_useat:$("#wh_useat").val(),h_time:e.h_time,h_alpha:e.h_alpha,h_beta:e.h_beta,h_hsi:e.h_hsi,h_humulene:e.h_humulene,h_caryophyllene:e.h_caryophyllene,h_cohumulone:e.h_cohumulone,h_myrcene:e.h_myrcene,h_total_oil:e.h_total_oil,h_inventory:e.h_inventory,h_avail:e.h_avail};$("#hopGrid").jqxGrid("updaterow",i,a3);at()});$("#wh_name").jqxInput({theme:theme,width:320,height:23});$("#wh_instock").jqxCheckBox({theme:theme,height:23});$("#wh_instock").on("change",function(i){hopinstock=i.args.checked;hoplist.dataBind()});$("#wh_select").jqxDropDownList({placeHolder:"Kies hop:",theme:theme,source:hoplist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500,renderer:function(a3,i,a5){var a4=hoplist.records[a3];return a4.origin+" - "+a4.name+" / "+HopFormData[a4.form].nl+" ("+a4.alpha+" % &alpha;)"}});$("#wh_select").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=hoplist.records[i];$("#wh_name").val(a3.name);e.h_name=a3.name;e.h_origin=a3.origin;e.h_cost=a3.cost;e.h_type=a3.type;e.h_form=a3.form;e.h_alpha=a3.alpha;e.h_beta=a3.beta;e.h_hsi=a3.hsi;e.h_humulene=a3.humulene;e.h_caryophyllene=a3.caryophyllene;e.h_cohumulone=a3.cohumulone;e.h_myrcene=a3.myrcene;e.h_total_oil=a3.total_oil;e.h_inventory=a3.inventory}});$("#wh_amount").jqxNumberInput(Spin1dec);$("#wh_amount").on("change",function(a3){console.log("amount changed: "+a3.args.value+" time:"+e.h_time+" alpha:"+e.h_alpha);var a4,i=parseFloat(a3.args.value)/1000;a4=toIBU(e.h_useat,e.h_form,al,parseFloat($("#batch_size").jqxNumberInput("decimal")),i,parseFloat(e.h_time),parseFloat(e.h_alpha),$("#ibu_method").val());e.h_amount=i;$("#wh_ibu").val(a4)});$("#wh_ibu").jqxNumberInput(Show1dec);$("#wh_time").jqxNumberInput(PosInt);$("#wh_time").on("change",function(i){var a4,a3=parseFloat(i.args.value);if(e.h_useat==2){if(a3>parseFloat($("#boil_time").jqxNumberInput("decimal"))){a3=parseFloat($("#boil_time").jqxNumberInput("decimal"));$("#wh_time").val(a3)}e.h_time=a3}else{if(e.h_useat==4){if(a3>120){a3=120;$("#wh_time").val(a3)}e.h_time=a3}else{if(e.h_useat==5){if(a3>21){a3=21;$("#wh_time").val(a3)}e.h_time=a3*1440}}}a4=toIBU(e.h_useat,e.h_form,al,parseFloat($("#batch_size").jqxNumberInput("decimal")),parseFloat(e.h_amount),parseFloat(e.h_time),parseFloat(e.h_alpha),$("#ibu_method").val());$("#wh_ibu").val(a4)});$("#wh_useat").jqxDropDownList({theme:theme,source:HopUseAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wh_useat").on("select",function(a3){if(a3.args){var i=a3.args.index;e.h_useat=i;if((i==0)||(i==1)){e.h_time=parseFloat(d.boil_time);$("#wh_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wh_time").val(e.h_time)}else{if(i==3){e.h_time=0;$("#wh_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wh_time").val(0)}else{$("#wh_time").jqxNumberInput({spinButtons:true,readOnly:false,width:110})}}if(i==5){$("#wh_pmpt_time").html("Tijd in dagen")}else{$("#wh_pmpt_time").html("Tijd in minuten")}}});$("#popupMisc").jqxWindow({width:800,height:275,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#MiscReady"),modalOpacity:0.4});$("#MiscReady").jqxButton({template:"success",width:"90px",theme:theme});$("#MiscReady").click(function(){var a3,i=$("#miscGrid").jqxGrid("getrowid",aw);console.log("MiscReady row:"+aw+" ID:"+i);a3={m_name:aH.m_name,m_amount:aH.m_amount,m_cost:aH.m_cost,m_type:aH.m_type,m_use_use:aH.m_use_use,m_time:aH.m_time,m_amount_is_weight:aH.m_amount_is_weight,m_inventory:aH.m_inventory,m_avail:aH.m_avail};$("#miscGrid").jqxGrid("updaterow",i,a3);aG()});$("#wm_name").jqxInput({theme:theme,width:320,height:23});$("#wm_instock").jqxCheckBox({theme:theme,height:23});$("#wm_instock").on("change",function(i){miscinstock=i.args.checked;misclist.dataBind()});$("#wm_select").jqxDropDownList({placeHolder:"Kies ingredi&euml;nt:",theme:theme,source:misclist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500});$("#wm_select").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=misclist.records[i];$("#wm_name").val(a3.name);aH.m_name=a3.name;aH.m_cost=a3.cost;aH.m_type=a3.type;aH.m_use_use=a3.use_use;aH.m_amount_is_weight=a3.amount_is_weight;aH.m_inventory=a3.inventory}});$("#wm_amount").jqxNumberInput(Spin2dec);$("#wm_amount").on("change",function(i){console.log("amount changed: "+i.args.value);aH.m_amount=parseFloat(i.args.value)/1000});$("#wm_time").jqxNumberInput(PosInt);$("#wm_time").on("change",function(i){var a3=parseFloat(i.args.value);if(aH.m_use_use==2){if(a3>parseFloat($("#boil_time").jqxNumberInput("decimal"))){a3=parseFloat($("#boil_time").jqxNumberInput("decimal"));$("#wm_time").val(a3)}aH.m_time=a3}else{if((aH.m_use_use==3)||(aH.m_use_use==4)){if(a3>21){a3=21;$("#wm_time").val(a3)}aH.m_time=a3*1440}}});$("#wm_use_use").jqxDropDownList({theme:theme,source:MiscUseAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wm_use_use").on("select",function(a3){if(a3.args){var i=a3.args.index;aH.m_use_use=i;if((i==2)||(i==3)||(i==4)){$("#wm_time").jqxNumberInput({spinButtons:true,readOnly:false,width:110})}else{$("#wm_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wm_time").val(0);aH.m_time=0}}});$("#est_fg2").jqxTooltip({content:"Het verwachte eind SG. Dit wordt automatisch berekend."});$("#est_fg2").jqxNumberInput(Show3dec);$("#est_abv2").jqxTooltip({content:"Alcohol volume %. Dit wordt automatisch berekend."});$("#est_abv2").jqxNumberInput(Smal1dec);$("#yeast_cells").jqxTooltip({content:"Het aantal beschikbare gistcellen zonder eventuele starter."});$("#yeast_cells").jqxNumberInput(Show1dec);$("#need_cells").jqxTooltip({content:"Het aantal nodige cellen is afhankelijk van het biertype."});$("#need_cells").jqxNumberInput(Show1dec);$("#plato_cells").jqxTooltip({content:"De berekende hoeveelheid gistcellen in miljard per ml per graad Plato. Dit is de zogenaamde pitchrate."});$("#plato_cells").jqxNumberInput(Show2dec);$("#popupYeast").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#YeastReady"),modalOpacity:0.4});$("#YeastReady").jqxButton({template:"success",width:"90px",theme:theme});$("#YeastReady").click(function(){var a3,i=$("#yeastGrid").jqxGrid("getrowid",aE);console.log("YeastReady row:"+aE+" ID:"+i);a3={y_name:f.y_name,y_laboratory:f.y_laboratory,y_product_id:f.y_product_id,y_amount:f.y_amount,y_cost:f.y_cost,y_type:f.y_type,y_form:f.y_form,y_flocculation:f.y_flocculation,y_min_temperature:f.y_min_temperature,y_max_temperature:f.y_max_temperature,y_attenuation:f.y_attenuation,y_use:f.y_use,y_cells:f.y_cells,y_tolerance:f.y_tolerance,y_inventory:f.y_inventory,y_avail:f.y_avail};$("#yeastGrid").jqxGrid("updaterow",i,a3);U();Y()});$("#wy_name").jqxInput({theme:theme,width:320,height:23});$("#wy_laboratory").jqxInput({theme:theme,width:320,height:23});$("#wy_product_id").jqxInput({theme:theme,width:320,height:23});$("#wy_instock").jqxCheckBox({theme:theme,height:23});$("#wy_instock").on("change",function(i){yeastinstock=i.args.checked;yeastlist.dataBind()});$("#wy_select").jqxDropDownList({placeHolder:"Kies gist:",theme:theme,source:yeastlist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500,renderer:function(a3,i,a5){var a4=yeastlist.records[a3];return a4.laboratory+" "+a4.product_id+" "+a4.name}});$("#wy_select").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=yeastlist.records[i];$("#wy_name").val(a3.name);$("#wy_laboratory").val(a3.laboratory);$("#wy_product_id").val(a3.product_id);f.y_name=a3.name;f.y_cost=a3.cost;f.y_type=a3.type;f.y_form=a3.form;f.y_laboratory=a3.laboratory;f.y_product_id=a3.product_id;f.y_min_temperature=a3.min_temperature;f.y_max_temperature=a3.max_temperature;f.y_flocculation=a3.flocculation;f.y_attenuation=a3.attenuation;f.y_cells=a3.cells;f.y_inventory=a3.inventory;if(f.y_form==0){$("#wy_pmpt_amount").html("Pak(ken):")}else{if(f.y_form==1||f.y_form==6){$("#wy_pmpt_amount").html("Gewicht gram:")}else{$("#wy_pmpt_amount").html("Volume ml:")}}U();Y()}});$("#wy_amount").jqxNumberInput(Spin1dec);$("#wy_amount").on("change",function(a3){var i=parseFloat(a3.args.value);if(f.y_form!=0){i=parseFloat(a3.args.value)/1000}f.y_amount=i;U();Y()});$("#wy_use").jqxDropDownList({theme:theme,source:YeastUseAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wy_use").on("select",function(a3){if(a3.args){var i=a3.args.index;f.y_use=i;U();Y()}});for(ae=1;ae<5;ae++){$("#prop"+ae+"_type").jqxDropDownList({theme:theme,source:StarterTypeAdapter,valueMember:"id",displayMember:"nl",width:120,height:23,autoDropDownHeight:true});$("#prop"+ae+"_type").hide();$("#prop"+ae+"_volume").jqxTooltip({content:"Het volume van deze starter stap."});$("#prop"+ae+"_volume").jqxNumberInput(Spin3dec);$("#prop"+ae+"_volume").hide();$("#prop"+ae+"_irate").jqxTooltip({content:"Voor de beste gistgroei, houd de injectie factor tussen de 25 en 100 miljoen cellen per ml."});$("#prop"+ae+"_irate").jqxNumberInput(Show1dec);$("#prop"+ae+"_irate").hide();$("#prop"+ae+"_ncells").jqxTooltip({content:"Het aantal miljard nieuwe gistcellen in deze stap."});$("#prop"+ae+"_ncells").jqxNumberInput(Show1dec);$("#prop"+ae+"_ncells").hide();$("#prop"+ae+"_tcells").jqxTooltip({content:"Het totaal aantal miljard gistcellen na deze stap."});$("#prop"+ae+"_tcells").jqxNumberInput(Show1dec);$("#prop"+ae+"_tcells").hide();$("#prop"+ae+"_growf").jqxTooltip({content:"De groeifactor, minstens 1. Ongeroerde starters komen meestal niet boven de 3."});$("#prop"+ae+"_growf").jqxNumberInput(Show2dec);$("#prop"+ae+"_growf").hide()}$("#starter_enable").jqxCheckBox({theme:theme,height:23});$("#starter_type").jqxDropDownList({theme:theme,source:StarterTypeAdapter,valueMember:"id",displayMember:"nl",width:120,height:23,autoDropDownHeight:true});$("#starter_sg").jqxTooltip({content:"Het ideale starter SG moet tussen de 1.030 en 1.040 zijn. Optimaal is 1.037."});$("#starter_sg").jqxNumberInput(SGopts);$("#starter_viability").jqxTooltip({content:"De gist conditie te berekenen vanaf de productie datum. Vloeibare gist verlist iedere maand ongeveer 20% active cellen."});$("#starter_viability").jqxNumberInput(Perc0);$("#starter_try").jqxButton({template:"primary",width:"100px",height:23,theme:theme});$("#mash_name").jqxTooltip({content:"De omschrijving van dit maisch profiel."});$("#mash_name").jqxInput({theme:theme,width:320,height:23});$("#mash_select").jqxDropDownList({placeHolder:"Kies schema:",theme:theme,source:mashlist,displayMember:"name",width:250,height:23,dropDownWidth:500,dropDownHeight:500,dropDownHorizontalAlignment:"right"});$("#mash_select").on("select",function(a7){if(a7.args){var a9,a6,a3,a8,a5,ba,a4=a7.args.index;a3=new Array();a8=$("#mashGrid").jqxGrid("getdisplayrows");for(a5=0;a5<a8.length;a5++){ba=a8[a5];a3.push(ba.uid)}$("#mashGrid").jqxGrid("deleterow",a3);a6=mashlist.records[a4];$("#mash_name").val(a6.name);for(a5=0;a5<a6.steps.length;a5++){a9=a6.steps[a5];ba={};ba.step_name=a9.step_name;ba.step_type=a9.step_type;if(C==0&&d.w1_amount>0){C=d.w1_amount}if(a5==0){ba.step_infuse_amount=C}else{ba.step_infuse_amount=0}if(ap>0){ba.step_thickness=parseFloat(C/ap)}else{ba.step_thickness=0}ba.step_temp=a9.step_temp;ba.end_temp=a9.end_temp;ba.step_time=a9.step_time;ba.ramp_time=a9.ramp_time;$("#mashGrid").jqxGrid("addrow",null,ba)}aO()}});$("#est_mashvol").jqxTooltip({content:"Het totale volume van het maishwater en de mout in de maish pan."});$("#est_mashvol").jqxNumberInput(Show1dec);$("#est_mashtime").jqxTooltip({content:"De totale tijdsduur van het maischen."});$("#est_mashtime").jqxInput({theme:theme,width:70,height:23});$("#popupMash").jqxWindow({width:800,height:350,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#MashReady"),modalOpacity:0.4});$("#MashReady").jqxButton({template:"success",width:"90px",theme:theme});$("#MashReady").click(function(){aO()});$("#wstep_name").jqxInput({theme:theme,width:320,height:23});$("#wstep_name").on("change",function(i){var a3=$("#mashGrid").jqxGrid("getrowdata",ak);a3.step_name=i.args.value});$("#wstep_type").jqxDropDownList({theme:theme,source:MashStepTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#wstep_type").on("select",function(a5){if(a5.args){var a8,a4,a6,a7,a3=a5.args.index;a8=$("#mashGrid").jqxGrid("getrowdata",ak);a8.step_type=a3;if(a3==0){$("#wstep_infuse_amount").show();$("#wstep_pmpt").show()}else{a8.step_infuse_amount=0;$("#wstep_infuse_amount").hide();$("#wstep_pmpt").hide()}C=0;a6=$("#mashGrid").jqxGrid("getrows");for(a4=0;a4<a6.length;a4++){a7=a6[a4];if(a7.step_type==0){C+=parseFloat(a7.step_infuse_amount)}}}});$("#wstep_temp").jqxNumberInput(Spin1dec);$("#wstep_temp").on("change",function(i){var a3=$("#mashGrid").jqxGrid("getrowdata",ak);a3.step_temp=parseFloat(i.args.value)});$("#wend_temp").jqxNumberInput(Spin1dec);$("#wend_temp").on("change",function(i){var a3=$("#mashGrid").jqxGrid("getrowdata",ak);a3.end_temp=parseFloat(i.args.value)});$("#wstep_time").jqxNumberInput(PosInt);$("#wstep_time").on("change",function(i){var a3=$("#mashGrid").jqxGrid("getrowdata",ak);a3.step_time=parseFloat(i.args.value);aO()});$("#wramp_time").jqxNumberInput(PosInt);$("#wramp_time").on("change",function(i){var a3=$("#mashGrid").jqxGrid("getrowdata",ak);a3.ramp_time=parseFloat(i.args.value);aO()});$("#wstep_infuse_amount").jqxNumberInput(Spin1dec);$("#wstep_infuse_amount").on("change",function(a4){var a6,a3,a5,a7=$("#mashGrid").jqxGrid("getrowdata",ak);a7.step_infuse_amount=parseFloat(a4.args.value);C=0;a5=$("#mashGrid").jqxGrid("getrows");for(a3=0;a3<a5.length;a3++){a6=a5[a3];if(a6.step_type==0){C+=parseFloat(a6.step_infuse_amount)}}if(d.w2_amount==0){d.w1_amount=C;$("#w1_amount").val(C)}else{d.w1_amount=(d.w1_amount/(d.w1_amount+d.w2_amount))*C;d.w2_amount=(d.w2_amount/(d.w1_amount+d.w2_amount))*C;$("#w1_amount").val(d.w1_amount);$("#w2_amount").val(d.w2_amount)}$("#wg_amount").val(C);U();Q();j();aO()});$("#tgt_bu").jqxNumberInput(Show2wat);$("#tgt_cl_so4").jqxNumberInput(Show1wat);$("#got_cl_so4").jqxNumberInput(Show1wat);$("#w1_name").jqxDropDownList({placeHolder:"Kies hoofd water:",theme:theme,source:waterlist,displayMember:"name",width:250,height:27,dropDownWidth:400,dropDownHeight:400});$("#w1_name").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=waterlist.records[i];d.w1_name=a3.name;$("#w1_calcium").val(a3.calcium);d.w1_calcium=a3.calcium;$("#w1_sulfate").val(a3.sulfate);d.w1_sulfate=a3.sulfate;$("#w1_chloride").val(a3.chloride);d.w1_chloride=a3.chloride;$("#w1_sodium").val(a3.sodium);d.w1_sodium=a3.sodium;$("#w1_magnesium").val(a3.magnesium);d.w1_magnesium=a3.magnesium;$("#w1_total_alkalinity").val(a3.total_alkalinity);d.w1_total_alkalinity=a3.total_alkalinity;$("#w1_ph").val(a3.ph);d.w1_ph=a3.ph;$("#w1_cost").val(a3.cost);d.w1_cost=a3.cost;Q()}});$("#w1_amount").jqxNumberInput(Show1wat);$("#w1_calcium").jqxNumberInput(Show1wat);$("#w1_magnesium").jqxNumberInput(Show1wat);$("#w1_sodium").jqxNumberInput(Show1wat);$("#w1_total_alkalinity").jqxNumberInput(Show1wat);$("#w1_chloride").jqxNumberInput(Show1wat);$("#w1_sulfate").jqxNumberInput(Show1wat);$("#w1_ph").jqxNumberInput(Show1wat);$("#w2_name").jqxDropDownList({placeHolder:"Kies meng water:",theme:theme,source:waterlist,displayMember:"name",width:250,height:27,dropDownWidth:400,dropDownHeight:400});$("#w2_name").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=waterlist.records[i];d.w2_name=a3.name;$("#w2_calcium").val(a3.calcium);d.w2_calcium=a3.calcium;$("#w2_sulfate").val(a3.sulfate);d.w2_sulfate=a3.sulfate;$("#w2_chloride").val(a3.chloride);d.w2_chloride=a3.chloride;$("#w2_sodium").val(a3.sodium);d.w2_sodium=a3.sodium;$("#w2_magnesium").val(a3.magnesium);d.w2_magnesium=a3.magnesium;$("#w2_total_alkalinity").val(a3.total_alkalinity);d.w2_total_alkalinity=a3.total_alkalinity;$("#w2_ph").val(a3.ph);d.w2_ph=a3.ph;$("#w2_cost").val(a3.cost);d.w2_cost=a3.cost;$("#w2_amount").jqxNumberInput({max:100000,readOnly:false});Q()}});$("#w2_amount").jqxTooltip({content:"De verdeling van het hoofd en meng water. Het totale maisch water volume blijft gelijk."});$("#w2_amount").jqxNumberInput({inputMode:"simple",spinMode:"simple",theme:theme,width:94,height:23,min:0,max:0,decimalDigits:1,spinButtons:true,spinButtonsStep:0.5,readOnly:true});$("#w2_calcium").jqxNumberInput(Show1wat);$("#w2_magnesium").jqxNumberInput(Show1wat);$("#w2_sodium").jqxNumberInput(Show1wat);$("#w2_total_alkalinity").jqxNumberInput(Show1wat);$("#w2_chloride").jqxNumberInput(Show1wat);$("#w2_sulfate").jqxNumberInput(Show1wat);$("#w2_ph").jqxNumberInput(Show1wat);$("#wg_amount").jqxNumberInput(Show1wat);$("#wg_calcium").jqxNumberInput(Show1wat);$("#wg_magnesium").jqxNumberInput(Show1wat);$("#wg_sodium").jqxNumberInput(Show1wat);$("#wg_total_alkalinity").jqxNumberInput(Show1wat);$("#wg_chloride").jqxNumberInput(Show1wat);$("#wg_sulfate").jqxNumberInput(Show1wat);$("#wg_ph").jqxNumberInput(Show1wat);$("#wb_calcium").jqxTooltip({content:"De ideale hoeveelheid Calcium is tussen 40 en 150."});$("#wb_calcium").jqxNumberInput(Show1wat);$("#wb_magnesium").jqxTooltip({content:"De ideale hoeveelheid Magnesium is lager dan 30."});$("#wb_magnesium").jqxNumberInput(Show1wat);$("#wb_sodium").jqxTooltip({content:"De ideale hoeveelheid Natrium is lager dan 150."});$("#wb_sodium").jqxNumberInput(Show1wat);$("#wb_total_alkalinity").jqxNumberInput(Show1wat);$("#wb_chloride").jqxTooltip({content:"De ideale hoeveelheid Chloride is tussen 50 en 100."});$("#wb_chloride").jqxNumberInput(Show1wat);$("#wb_sulfate").jqxTooltip({content:"De ideale hoeveelheid Sulfaat is tussen 50 en 350."});$("#wb_sulfate").jqxNumberInput(Show1wat);$("#wb_ph").jqxNumberInput(Show1wat);$("#pr_name").jqxDropDownList({placeHolder:"Kies doel profiel:",theme:theme,source:waterprofiles,displayMember:"name",width:250,height:27,dropDownWidth:400,dropDownHeight:300});$("#pr_name").on("select",function(a4){if(a4.args){var a3,i=a4.args.index;a3=waterprofiles.records[i];$("#pr_calcium").val(a3.calcium);$("#pr_sulfate").val(a3.sulfate);$("#pr_chloride").val(a3.chloride);$("#pr_sodium").val(a3.sodium);$("#pr_magnesium").val(a3.magnesium);$("#pr_total_alkalinity").val(a3.total_alkalinity)}});$("#pr_calcium").jqxNumberInput(Show1wat);$("#pr_magnesium").jqxNumberInput(Show1wat);$("#pr_sodium").jqxNumberInput(Show1wat);$("#pr_total_alkalinity").jqxNumberInput(Show1wat);$("#pr_chloride").jqxNumberInput(Show1wat);$("#pr_sulfate").jqxNumberInput(Show1wat);$("#wa_cacl2").jqxTooltip({content:"Voor het maken van een ander waterprofiel. Voegt calcium en chloride toe. Voor het verbeteren van zoetere bieren."});$("#wa_cacl2").jqxNumberInput(Spin1dec);$("#wa_caso4").jqxTooltip({content:"Gips. Voor het maken van een ander waterprofiel. Voegt calcium en sulfaat toe. Voor het verbeteren van bittere bieren."});$("#wa_caso4").jqxNumberInput(Spin1dec);$("#wa_mgso4").jqxTooltip({content:"Epsom zout. Voor het maken van een ander waterprofiel. Voegt magnesium en sulfaat toe. Gebruik spaarzaam!"});$("#wa_mgso4").jqxNumberInput(Spin1dec);$("#wa_nacl").jqxTooltip({content:"Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig."});$("#wa_nacl").jqxNumberInput(Spin1dec);$("#mash_ph").jqxTooltip({content:"Maisch pH tussen 5.2 en 5.6. Gebruik 5.2 voor lichte en 5.5 voor donkere bieren."});$("#mash_ph").jqxNumberInput(SpinpH);$("#calc_acid").jqxCheckBox({theme:theme,width:120,height:23});$("#wa_base_name").jqxDropDownList({theme:theme,source:BaseTypeAdapter,valueMember:"id",displayMember:"nl",width:170,height:23,autoDropDownHeight:true});$("#wa_base").jqxNumberInput(Spin2dec);$("#wa_base").jqxNumberInput({symbol:" gr",symbolPosition:"right"});$("#wa_acid_name").jqxDropDownList({theme:theme,source:AcidTypeAdapter,valueMember:"id",displayMember:"nl",width:170,height:23,autoDropDownHeight:true});$("#wa_acid").jqxNumberInput(Spin2dec);$("#wa_acid").jqxNumberInput({symbol:" ml",symbolPosition:"right"});$("#wa_acid_perc").jqxNumberInput(Perc0);$("#wa_acid_perc").jqxNumberInput({width:70,symbol:"%",symbolPosition:"right"});$("#sparge_temp").jqxNumberInput(Spin1dec);$("#sparge_volume").jqxNumberInput(Spin1dec);$("#sparge_ph").jqxNumberInput(SpinpH);$("#sparge_source").jqxDropDownList({theme:theme,source:SpargeSourceAdapter,valueMember:"id",displayMember:"nl",width:110,height:23,autoDropDownHeight:true});$("#sparge_acid_amount").jqxNumberInput(Spin2dec);$("#sparge_acid_amount").jqxNumberInput({spinButtons:false,readOnly:true,symbol:" ml",symbolPosition:"right"});$("#sparge_acid_type").jqxDropDownList({theme:theme,source:AcidTypeAdapter,valueMember:"id",displayMember:"nl",width:110,height:23,autoDropDownHeight:true});$("#sparge_acid_perc").jqxNumberInput(Perc0);$("#sparge_acid_perc").jqxNumberInput({symbol:"%",symbolPosition:"right"});$("#brew_date_start").jqxTooltip({content:"Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan."});$("#brew_date_start").jqxDateTimeInput(DateTimeopts);$("#brew_date_start").on("close",function(i){aV()});$("#brew_date_end").jqxTooltip({content:"End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is."});$("#brew_date_end").jqxDateTimeInput(DateTimeopts);$("#brew_date_end").on("close",function(i){aV()});$("#brew_mash_ph").jqxTooltip({content:"De gemeten pH tijdens het maischen eventueel na correctie."});$("#brew_mash_ph").jqxNumberInput(SpinpH);$("#est_mash_ph").jqxTooltip({content:"De gewenste pH tijdens het maischen."});$("#est_mash_ph").jqxNumberInput(Show1wat);$("#brew_preboil_ph").jqxTooltip({content:"De gemeten pH in de kookketel na het spoelen en voor de kook."});$("#brew_preboil_ph").jqxNumberInput(SpinpH);$("#brew_aboil_ph").jqxTooltip({content:"De gemeten pH na het koken."});$("#brew_aboil_ph").jqxNumberInput(SpinpH);$("#brew_mash_sg").jqxTooltip({content:"Het bereikte SG na het maischen."});$("#brew_mash_sg").jqxNumberInput(SGopts);$("#brew_mash_sg").on("valueChanged",function(){a0()});$("#est_mash_sg").jqxTooltip({content:"Het berekende verwachte SG na het maischen."});$("#est_mash_sg").jqxNumberInput(Show3wat);$("#brew_preboil_sg").jqxTooltip({content:"Het gemeten SG in de kookketel na het spoelen en voor het koken."});$("#brew_preboil_sg").jqxNumberInput(SGopts);$("#brew_preboil_sg").on("valueChanged",function(i){d.brew_preboil_sg=i.args.value;w()});$("#est_pre_sg").jqxTooltip({content:"Het berekende SG in de kookketel na het spoelen en voor het koken."});$("#est_pre_sg").jqxNumberInput(Show3wat);$("#brew_aboil_sg").jqxTooltip({content:"Het gemeten SG in de kookketel na het koken."});$("#brew_aboil_sg").jqxNumberInput(SGopts);$("#brew_aboil_sg").on("valueChanged",function(i){d.brew_aboil_sg=i.args.value;S();U();at()});$("#est_og3").jqxTooltip({content:"Het gewenste SG in de kookketel na het koken."});$("#est_og3").jqxNumberInput(Show3wat);$("#brew_mash_efficiency").jqxTooltip({content:"Het behaalde maisch rendement."});$("#brew_mash_efficiency").jqxNumberInput(Show1dec);$("#brew_preboil_volume").jqxTooltip({content:"Het gemeten volume van het wort voor het koken."});$("#brew_preboil_volume").jqxNumberInput(Spin1dec);$("#brew_preboil_volume").on("valueChanged",function(i){d.brew_preboil_volume=i.args.value;w()});$("#est_pre_vol").jqxTooltip({content:"Het berekende volume van het wort voor het koken."});$("#est_pre_vol").jqxNumberInput(Show1wat);$("#brew_aboil_volume").jqxTooltip({content:"Het gemeten volume van het wort na het koken."});$("#brew_aboil_volume").jqxNumberInput(Spin1dec);$("#brew_aboil_volume").on("valueChanged",function(i){d.brew_aboil_volume=i.args.value;S();U();at()});$("#est_a_vol").jqxTooltip({content:"Het gewenste volume na het koken."});$("#est_a_vol").jqxNumberInput(Show1wat);$("#brew_preboil_efficiency").jqxTooltip({content:"Het berekende rendement voor het koken."});$("#brew_preboil_efficiency").jqxNumberInput(Show1dec);$("#brew_aboil_efficiency").jqxTooltip({content:"Het bereikte rendement na het koken."});$("#brew_aboil_efficiency").jqxNumberInput(Show1dec);$("#brew_sparge_temperature").jqxTooltip({content:"De spoelwater temperatuur, in te stellen in de Water tab."});$("#brew_sparge_temperature").jqxNumberInput(Show1dec);$("#brew_sparge_volume").jqxTooltip({content:"Het spoelwater voorraad volume, in te stellen in de Water tab."});$("#brew_sparge_volume").jqxNumberInput(Show1dec);$("#brew_sparge_est").jqxNumberInput(Show1dec);$("#brew_whirlpool9").jqxNumberInput(PosInt);$("#brew_whirlpool9").jqxNumberInput({max:120});$("#brew_cooling_to").jqxNumberInput(Spin1dec);$("#brew_sparge_ph").jqxNumberInput(SpinpH);$("#brew_whirlpool7").jqxNumberInput(PosInt);$("#brew_whirlpool7").jqxNumberInput({max:120});$("#brew_cooling_method").jqxDropDownList({theme:theme,source:CoolingTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#brew_whirlpool6").jqxNumberInput(PosInt);$("#brew_whirlpool6").jqxNumberInput({max:120});$("#brew_cooling_time").jqxNumberInput(PosInt);$("#brew_cooling_time").jqxNumberInput({max:1440});$("#brew_whirlpool2").jqxNumberInput(PosInt);$("#brew_whirlpool2").jqxNumberInput({max:120});$("#brew_aeration_type").jqxDropDownList({theme:theme,source:AerationTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#brew_aeration_time").jqxNumberInput(PosInt);$("#brew_aeration_time").jqxNumberInput({max:1440});$("#brew_aeration_speed").jqxNumberInput(PosInt);$("#brew_aeration_speed").jqxNumberInput({max:1440});$("#brew_fermenter_volume").jqxNumberInput(Show1dec);$("#brew_fermenter_extrawater").jqxNumberInput(Spin1dec);$("#brew_fermenter_sg").jqxNumberInput(Show3dec);$("#brew_fermenter_tcloss").jqxNumberInput(Spin1dec);$("#brew_fermenter_ibu").jqxNumberInput(Show0dec);$("#brew_fermenter_color").jqxNumberInput(Show0dec);$("#BLog").jqxButton({template:"info",width:"150px",theme:theme});$("#BLog").click(function(){window.open("log_brew.php?code="+d.code+"&name="+d.name)});$("#brew_fermenter_sg2").jqxTooltip({content:"Het behaalde SG in het gistvat, overgenomen van de brouwdag."});$("#brew_fermenter_sg2").jqxNumberInput(Show3dec);$("#primary_start_temp").jqxTooltip({content:"De begintemperatuur van de hoofdvergisting."});$("#primary_start_temp").jqxNumberInput(YeastT);$("#primary_max_temp").jqxTooltip({content:"De hoogst bereikte piek temperatuur tijdens de hoofgvergisting."});$("#primary_max_temp").jqxNumberInput(YeastT);$("#primary_end_temp").jqxTooltip({content:"De eind temperatuur van de hoofdvergisting."});$("#primary_end_temp").jqxNumberInput(YeastT);$("#primary_end_sg").jqxTooltip({content:"Het gemeten SG aan het eind van de hoofdvergisting."});$("#primary_end_sg").jqxNumberInput(SGopts);$("#primary_end_brix").jqxTooltip({content:"Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer."});$("#primary_end_brix").jqxNumberInput(Spin1dec);$("#primary_svg").jqxTooltip({content:"De schijnbare vergisting graad behaald na de hoofdgisting."});$("#primary_svg").jqxNumberInput(Show1dec);$("#primary_end_date").jqxTooltip({content:"De eind datum van de hoofdvergisting en eventueel overhevelen."});$("#primary_end_date").jqxDateTimeInput(Dateopts);$("#primary_end_date").on("close",function(i){aV()});$("#secondary_temp").jqxNumberInput(YeastT);$("#secondary_end_sg").jqxTooltip({content:"Het gemeten SG aan het eind van de navergisting."});$("#secondary_end_sg").jqxNumberInput(SGopts);$("#secondary_end_brix").jqxTooltip({content:"Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer."});$("#secondary_end_brix").jqxNumberInput(Spin1dec);$("#secondary_svg").jqxTooltip({content:"De schijnbare vergisting graad behaald na de nagisting."});$("#secondary_svg").jqxNumberInput(Show1dec);$("#secondary_end_date").jqxTooltip({content:"De eind datum van de navergisting en het begin van het lageren."});$("#secondary_end_date").jqxDateTimeInput(Dateopts);$("#secondary_end_date").on("close",function(i){aV()});$("#tertiary_temp").jqxNumberInput(YeastT);$("#fg").jqxNumberInput(Spin3dec);$("#est_fg3").jqxTooltip({content:"Het verwachte eind SG. Dit wordt automatisch berekend."});$("#est_fg3").jqxNumberInput(Show3dec);$("#final_brix").jqxTooltip({content:"Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer."});$("#final_brix").jqxNumberInput(Spin1dec);$("#final_abv").jqxNumberInput(Show2dec);$("#final_svg").jqxNumberInput(Show1dec);$("#FLog").jqxButton({template:"info",width:"150px",theme:theme});$("#FLog").click(function(){window.open("log_fermentation.php?code="+d.code+"&name="+d.name)});$("#package_date").jqxTooltip({content:"De verpakkings datum van dit bier."});$("#package_date").jqxDateTimeInput(Dateopts);$("#package_date").on("close",function(i){aV()});$("#package_volume").jqxTooltip({content:"Het beschikbare volume om te bottelen of op fust te zetten."});$("#package_volume").jqxNumberInput(Spin1dec);$("#package_infuse_amount").jqxTooltip({content:"De hoeveelheid water of drank extra toe te voegen."});$("#package_infuse_amount").jqxNumberInput(Spin3dec);$("#package_infuse_abv").jqxTooltip({content:"De hoeveelheid alcohol in de drank, of 0.0 als het water is."});$("#package_infuse_abv").jqxNumberInput(Spin1dec);$("#package_infuse_notes").jqxTooltip({content:"Omschrijving van de extra toevoeging."});$("#package_infuse_notes").jqxInput({theme:theme,width:640,height:23});$("#package_abv").jqxTooltip({content:"De uiteindelijke hoeveelheid alcohol volume %."});$("#package_abv").jqxNumberInput(Show2dec);$("#package_ph").jqxTooltip({content:"De gemeten pH vlak voor het verpakken."});$("#package_ph").jqxNumberInput(SpinpH);$("#st_carb_min2").jqxTooltip({content:"Het minimum aanbevolen koolzuur volume voor deze bierstijl."});$("#st_carb_min2").jqxNumberInput(Smal1dec);$("#st_carb_max2").jqxTooltip({content:"Het maximum aamnevolen koolzuur volume voor deze bierstijl."});$("#st_carb_max2").jqxNumberInput(Smal1dec);$("#bottle_amount").jqxTooltip({content:"De totale hoeveelheid te bottelen bier."});$("#bottle_amount").jqxNumberInput(Spin1dec);$("#keg_amount").jqxTooltip({content:"De totale hoeveelheid op fust te zetten bier."});$("#keg_amount").jqxNumberInput(Spin1dec);$("#bottle_carbonation").jqxTooltip({content:"Het gewenste CO2 volume in de flessen."});$("#bottle_carbonation").jqxNumberInput(Spin2dec);$("#bottle_carbonation").jqxNumberInput({max:5});$("#keg_carbonation").jqxTooltip({content:"Het gewenste CO2 volume door de suiker in de fusten."});$("#keg_carbonation").jqxNumberInput(Spin2dec);$("#keg_carbonation").jqxNumberInput({max:5});$("#bottle_priming_sugar").jqxDropDownList({placeHolder:"Kies suiker:",theme:theme,source:fermentablesugars,displayMember:"name",width:200,height:23,dropDownWidth:300,dropDownHeight:400});$("#bottle_priming_sugar").on("select",function(a7){if(a7.args){var a9,a3,a6=-1,a5,a8,a4,ba={};a3=a7.args.index;a5=fermentablesugars.records[a3];a8=$("#fermentableGrid").jqxGrid("getrows");for(a4=0;a4<a8.length;a4++){if(a8[a4].f_added==4){a6=a4}}ba.f_name=a5.name;ba.f_origin=a5.origin;ba.f_supplier=a5.supplier;ba.f_amount=parseFloat($("#bottle_priming_total").jqxNumberInput("decimal"))/1000;ba.f_cost=a5.cost;ba.f_type=a5.type;ba.f_yield=a5.yield;ba.f_color=a5.color;ba.f_coarse_fine_diff=a5.coarse_fine_diff;ba.f_moisture=a5.moisture;ba.f_diastatic_power=a5.diastatic_power;ba.f_protein=a5.protein;ba.f_max_in_batch=a5.max_in_batch;ba.f_graintype=a5.graintype;ba.f_added=4;ba.f_dissolved_protein=a5.dissolved_protein;ba.f_recommend_mash=a5.recommend_mash;ba.f_add_after_boil=1;ba.f_adjust_to_total_100=0;ba.f_percentage=0;ba.f_di_ph=a5.di_ph;ba.f_acid_to_ph_57=a5.acid_to_ph_57;ba.f_inventory=a5.inventory;if(a6>=0){a9=$("#fermentableGrid").jqxGrid("getrowid",a6);$("#fermentableGrid").jqxGrid("updaterow",a9,ba)}else{$("#fermentableGrid").jqxGrid("addrow",null,ba)}aS()}});$("#keg_priming_sugar").jqxDropDownList({placeHolder:"Kies suiker:",theme:theme,source:fermentablesugars,displayMember:"name",width:200,height:23,dropDownWidth:300,dropDownHeight:400});$("#keg_priming_sugar").on("select",function(a7){if(a7.args){var a9,a3,a6=-1,a5,a8,a4,ba={};a3=a7.args.index;a5=fermentablesugars.records[a3];a8=$("#fermentableGrid").jqxGrid("getrows");for(a4=0;a4<a8.length;a4++){if(a8[a4].f_added==5){a6=a4}}ba.f_name=a5.name;ba.f_origin=a5.origin;ba.f_supplier=a5.supplier;ba.f_amount=parseFloat($("#keg_priming_total").jqxNumberInput("decimal"))/1000;ba.f_cost=a5.cost;ba.f_type=a5.type;ba.f_yield=a5.yield;ba.f_color=a5.color;ba.f_coarse_fine_diff=a5.coarse_fine_diff;ba.f_moisture=a5.moisture;ba.f_diastatic_power=a5.diastatic_power;ba.f_protein=a5.protein;ba.f_max_in_batch=a5.max_in_batch;ba.f_graintype=a5.graintype;ba.f_added=5;ba.f_dissolved_protein=a5.dissolved_protein;ba.f_recommend_mash=a5.recommend_mash;ba.f_add_after_boil=1;ba.f_adjust_to_total_100=0;ba.f_percentage=0;ba.f_di_ph=a5.di_ph;ba.f_acid_to_ph_57=a5.acid_to_ph_57;ba.f_inventory=a5.inventory;if(a6>=0){a9=$("#fermentableGrid").jqxGrid("getrowid",a6);$("#fermentableGrid").jqxGrid("updaterow",a9,ba)}else{$("#fermentableGrid").jqxGrid("addrow",null,ba)}aS()}});$("#bottle_priming_amount").jqxNumberInput(Show1dec);$("#bottle_priming_water").jqxTooltip({content:"De hoeveelheid water om de suiker op te lossen."});$("#bottle_priming_water").jqxNumberInput(Spin3dec);$("#keg_priming_amount").jqxNumberInput(Show1dec);$("#keg_priming_water").jqxTooltip({content:"De hoeveelheid water om de suiker op te lossen."});$("#keg_priming_water").jqxNumberInput(Spin3dec);$("#bottle_priming_total").jqxNumberInput(Show1dec);$("#bottle_pressure").jqxTooltip({content:"De maximaal te verwachten druk tijdens het hergisten."});$("#bottle_pressure").jqxNumberInput(Show1dec);$("#keg_priming_total").jqxNumberInput(Show1dec);$("#keg_forced_carb").jqxCheckBox({theme:theme,width:120,height:23});$("#keg_pressure").jqxNumberInput(Show1dec);$("#bottle_abv").jqxNumberInput(Show2dec);$("#keg_abv").jqxNumberInput(Show2dec);$("#bottle_carbonation_temp").jqxNumberInput(YeastT);$("#keg_carbonation_temp").jqxNumberInput(YeastT);$("#taste_date").jqxTooltip({content:"De proef datum van dit bier."});$("#taste_date").jqxDateTimeInput(Dateopts);$("#taste_date").on("close",function(i){aV()});$("#taste_rate").jqxTooltip({content:"Het cijfer voor dit bier van 1 tot 10."});$("#taste_rate").jqxNumberInput(Spin1dec);$("#taste_rate").jqxNumberInput({max:10});$("#taste_color").jqxTooltip({content:"De kleur van het bier."});$("#taste_color").jqxInput({theme:theme,width:320,height:23});$("#taste_transparency").jqxTooltip({content:"De helderheid van het bier."});$("#taste_transparency").jqxInput({theme:theme,width:320,height:23});$("#taste_head").jqxTooltip({content:"Het schuim op het bier."});$("#taste_head").jqxInput({theme:theme,width:320,height:23});$("#taste_aroma").jqxTooltip({content:"Het aroma van het bier."});$("#taste_aroma").jqxInput({theme:theme,width:960,height:23});$("#taste_taste").jqxTooltip({content:"De smaak van het bier."});$("#taste_taste").jqxInput({theme:theme,width:960,height:23});$("#taste_aftertaste").jqxTooltip({content:"De nasmaak van het bier."});$("#taste_aftertaste").jqxInput({theme:theme,width:960,height:23});$("#taste_mouthfeel").jqxTooltip({content:"Het mondgevoelvan het bier."});$("#taste_mouthfeel").jqxInput({theme:theme,width:960,height:23});$("#taste_notes").jqxTooltip({content:"Het oordeel en opmerkingen over dit bier."});$("#taste_notes").jqxInput({theme:theme,width:960,height:100});$("#jqxTabs").jqxTabs({theme:theme,width:1280,height:660,autoHeight:false,position:"top"});$("#Export").jqxButton({template:"info",width:"80px",theme:theme});$("#Export").bind("click",function(){s(0)});$("#Delete").jqxButton({template:"danger",width:"80px",theme:theme});$("#Delete").bind("click",function(){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var i="delete=true&"+$.param({uuid:d.uuid});$.ajax({dataType:"json",url:E,cache:false,data:i,type:"POST",success:function(a4,a3,a5){window.location.href=my_return},error:function(a3,a5,a4){}})})});$("#Cancel").jqxButton({template:"primary",width:"80px",theme:theme});$("#Cancel").bind("click",function(){window.location.href=my_return});$("#Save").jqxButton({template:"success",width:"80px",theme:theme});$("#Save").bind("click",function(){s(1)});createDelElements()});
\ No newline at end of file
--- a/www/js/prod_edit.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_edit.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2018-2019
+ * Copyright (C) 2018-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -31,6 +31,7 @@
   resizable: false,
   isModal: true,
   modalOpacity: 0.4,
+  autoOpen: false,
   okButton: $('#delOk'),
   cancelButton: $('#delCancel'),
   initContent: function() {
@@ -40,6 +41,19 @@
   }
  });
  $('#eventWindow').jqxWindow('hide');
+
+ $('#volumeWindow').jqxWindow({
+  theme: theme,
+  position: { x: 380, y: 210 },
+  width: 500,
+  height: 200,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  autoOpen: false,
+  cancelButton: $('#volumeReady')
+ });
+ $('#volumeWindow').jqxWindow('hide');
 }
 
 
@@ -64,6 +78,12 @@
  ok_yeasts = 1,       // Yeasts are in stock
  ok_waters = 1,       // Waters are in stock
 
+ data_loaded = 0;
+ error_count = 0;
+ k_cm = 0;
+ k_vol = 0;
+ k_what = 0;
+
  hop_flavour = 0,
  hop_aroma = 0,
  mash_infuse = 0,
@@ -106,6 +126,7 @@
  source = {
   datatype: 'json',
   cache: false,
+  async: true,
   datafields: [
    // From prod_main
    { name: 'record', type: 'number' },
@@ -117,6 +138,8 @@
    { name: 'notes', type: 'string' },
    { name: 'log_brew', type: 'int' },
    { name: 'log_fermentation', type: 'int' },
+   { name: 'log_ispindel', type: 'int' },
+   { name: 'log_co2pressure', type: 'int' },
    { name: 'inventory_reduced', type: 'int' },
    { name: 'locked', type: 'int' },
    { name: 'eq_name', type: 'string' },
@@ -238,6 +261,7 @@
    { name: 'boil_time', type: 'float' },
    { name: 'efficiency', type: 'float' },
    { name: 'est_og', type: 'float' },
+   { name: 'est_og3', type: 'float' },
    { name: 'est_fg', type: 'float' },
    { name: 'est_abv', type: 'float' },
    { name: 'est_color', type: 'float' },
@@ -297,6 +321,7 @@
    { name: 'starter_type', type: 'int' },
    { name: 'starter_sg', type: 'float' },
    { name: 'starter_viability', type: 'int' },
+   { name: 'yeast_prod_date', type: 'string' },
    { name: 'prop1_type', type: 'int' },
    { name: 'prop1_volume', type: 'float' },
    { name: 'prop2_type', type: 'int' },
@@ -307,7 +332,9 @@
    { name: 'prop4_volume', type: 'float' },
    { name: 'divide_type', type: 'int' },
    { name: 'divide_size', type: 'float' },
+   { name: 'divide_factor', type: 'float' },
    { name: 'divide_parts', type: 'int' },
+   { name: 'divide_part', type: 'int' },
    { name: 'fermentables', type: 'array' },
    { name: 'hops', type: 'array' },
    { name: 'miscs', type: 'array' },
@@ -461,7 +488,7 @@
    $('#efficiency').val(dataRecord.efficiency);
    $('#est_og').val(dataRecord.est_og);
    $('#est_og2').val(dataRecord.est_og);
-   $('#est_og3').val(0);
+   $('#est_og3').val(dataRecord.est_og3);
    $('#est_fg').val(dataRecord.est_fg);
    $('#est_fg2').val(dataRecord.est_fg);
    $('#est_fg3').val(dataRecord.est_fg);
@@ -521,10 +548,10 @@
    $('#wa_acid_name').val(dataRecord.wa_acid_name);
    $('#wa_acid_perc').val(dataRecord.wa_acid_perc);
    $('#wa_base_name').val(dataRecord.wa_base_name);
-   $('#starter_enable').val(dataRecord.starter_enable);
    $('#starter_type').val(dataRecord.starter_type);
    $('#starter_sg').val(dataRecord.starter_sg);
    $('#starter_viability').val(dataRecord.starter_viability);
+   $('#yeast_prod_date').val(dataRecord.yeast_prod_date);
    $('#prop1_type').val(dataRecord.prop1_type);
    $('#prop1_volume').val(dataRecord.prop1_volume);
    $('#prop2_type').val(dataRecord.prop2_type);
@@ -534,8 +561,14 @@
    $('#prop4_type').val(dataRecord.prop4_type);
    $('#prop4_volume').val(dataRecord.prop4_volume);
    $('#divide_type').val(SplitData[dataRecord.divide_type].nl);
+   if (dataRecord.divide_type > 0)
+    $('#divide_batch').val((dataRecord.divide_part + 1) + ' van ' + (dataRecord.divide_parts + 1));
+   else
+    $('#divide_batch').val('n.v.t.');
    // hidden divide_size
-   $('#divide_parts').val(dataRecord.divide_parts);
+   // hidden divide_factor
+   // hidden divide_parts
+   // hidden divide_part
    editFermentable(dataRecord);
    editHop(dataRecord);
    editMisc(dataRecord);
@@ -543,11 +576,10 @@
    editMash(dataRecord);
    calcStage();
    $('#jqxTabs').jqxTabs('select', 2);
-  },
-   loadError: function(jqXHR, status, error) {
+   data_loaded = 1;
   },
-  beforeLoadComplete: function(records) {
-   $('#jqxLoader').jqxLoader('open');
+  loadError: function(jqXHR, status, error) {
+   console.log('main data load error: ' + status + ' ' + error);
   }
  });
 
@@ -557,7 +589,7 @@
    localdata: data.fermentables,
    datatype: 'local',
    cache: false,
-   async: false,
+   async: true,
    datafields: [
     { name: 'f_name', type: 'string' },
     { name: 'f_origin', type: 'string' },
@@ -584,18 +616,9 @@
     { name: 'f_inventory', type: 'float' },
     { name: 'f_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    //console.log("fermentable addrow "+rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    //console.log("fermentable deleterow "+rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    //console.log("fermentable updaterow "+rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   fermentableAdapter = new $.jqx.dataAdapter(fermentableSource);
 
@@ -627,7 +650,7 @@
      dropDownHeight: 500,
      renderer: function(index, label, value) {
       var datarecord = fermentablelist.records[index];
-      return datarecord.supplier + ' / ' + datarecord.name + ' (' + datarecord.color + ' EBC)';
+      return datarecord.supplier + ' / ' + datarecord.name + ' (' + datarecord.color + ' EBC) (' + Round(datarecord.inventory, 3) + ' kg)';
      }
     });
     $('#faddrowbutton').on('select', function(event) {
@@ -712,10 +735,7 @@
      calcIBUs();
     });
    },
-   ready: function() {
-    calcFermentables();
-    $('#jqxTabs').jqxTabs('next');
-   },
+   ready: function() { calcFermentables(); $('#jqxTabs').jqxTabs('next'); },
    columns: [
     { text: 'Vergistbaar ingredi&euml;nt', datafield: 'f_name',
      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
@@ -793,15 +813,15 @@
     }
    ]
   });
- },
+ };
 
  // Inline hops editor
- editHop = function(data) {
+ var editHop = function(data) {
   var hopSource = {
    localdata: data.hops,
    datatype: 'local',
    cache: false,
-   async: false,
+   async: true,
    datafields: [
     { name: 'h_name', type: 'string' },
     { name: 'h_origin', type: 'string' },
@@ -810,7 +830,7 @@
     { name: 'h_type', type: 'int' },
     { name: 'h_form', type: 'int' },
     { name: 'h_useat', type: 'int' },
-    { name: 'h_time', type: 'float' },
+    { name: 'h_time', type: 'int' },
     { name: 'h_alpha', type: 'float' },
     { name: 'h_beta', type: 'float' },
     { name: 'h_hsi', type: 'float' },
@@ -822,18 +842,9 @@
     { name: 'h_inventory', type: 'float' },
     { name: 'h_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    console.log('hop addrow ' + rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    console.log('hop deleterow ' + rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    console.log('hop updaterow ' + rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   hopAdapter = new $.jqx.dataAdapter(hopSource);
 
@@ -865,7 +876,8 @@
      dropDownHeight: 500,
      renderer: function(index, label, value) {
       var datarecord = hoplist.records[index];
-      return datarecord.origin + ' - ' + datarecord.name + ' / ' + HopFormData[datarecord.form].nl + ' (' + datarecord.alpha + '% &alpha;)';
+      return datarecord.origin + ' - ' + datarecord.name + ' / ' + HopFormData[datarecord.form].nl + ' (' + datarecord.alpha + '% &alpha;) (' +
+       Round(datarecord.inventory * 1000.0, 1) + ' gr)';
      }
     });
     $('#haddrowbutton').on('select', function(event) {
@@ -912,10 +924,7 @@
      calcIBUs();
     });
    },
-   ready: function() {
-    calcIBUs();
-    $('#jqxTabs').jqxTabs('next');
-   },
+   ready: function() { $('#jqxTabs').jqxTabs('next'); },
    columns: [
     { text: 'Hop', datafield: 'h_name',
      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
@@ -951,7 +960,8 @@
     { text: 'IBU', datafield: 'ibu', width: 80, align: 'right',
      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
       var ibu = toIBU(rowdata.h_useat, rowdata.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-                parseFloat(rowdata.h_amount), parseFloat(rowdata.h_time), parseFloat(rowdata.h_alpha), $('#ibu_method').val());
+                parseFloat(rowdata.h_amount), parseFloat(rowdata.h_time), parseFloat(rowdata.h_alpha), $('#ibu_method').val(),
+                dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
       return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(ibu, 'f1') + '</span>';
      }
     },
@@ -992,7 +1002,8 @@
        $('#wh_name').val(hopData.h_name);
        $('#wh_amount').val(hopData.h_amount * 1000);
        var ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-                 parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val());
+                 parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(),
+                 dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
        $('#wh_ibu').val(ibu);
        if (hopData.h_useat == 5) // Dry hop
         $('#wh_time').val(hopData.h_time / 1440);
@@ -1006,10 +1017,10 @@
     }
    ]
   });
- },
+ };
 
  // Inline miscs editor
- editMisc = function(data) {
+ var editMisc = function(data) {
   var miscSource = {
    localdata: data.miscs,
    datatype: 'local',
@@ -1026,18 +1037,9 @@
     { name: 'm_inventory', type: 'float' },
     { name: 'm_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    console.log('misc addrow ' + rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    console.log('misc deleterow ' + rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    console.log('misc updaterow ' + rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   miscAdapter = new $.jqx.dataAdapter(miscSource, {
    beforeLoadComplete: function(records) {
@@ -1062,25 +1064,25 @@
       case 'Melkzuur':
        $('#wa_acid_name').val(0);
        $('#wa_acid').val(row.m_amount * 1000);
-       $('#wa_acid_perc').val(80);
+       $('#wa_acid_perc').val(AcidTypeData[0].AcidPrc);	// TODO: this ignores changed percentages.
        last_acid = 'Melkzuur';
        break;
       case 'Zoutzuur':
        $('#wa_acid_name').val(1);
        $('#wa_acid').val(row.m_amount * 1000);
-       $('#wa_acid_perc').val(80);
+       $('#wa_acid_perc').val(AcidTypeData[1].AcidPrc);
        last_acid = 'Zoutzuur';
        break;
       case 'Fosforzuur':
        $('#wa_acid_name').val(2);
        $('#wa_acid').val(row.m_amount * 1000);
-       $('#wa_acid_perc').val(80);
+       $('#wa_acid_perc').val(AcidTypeData[2].AcidPrc);
        last_acid = 'Fosforzuur';
        break;
       case 'Zwavelzuur':
        $('#wa_acid_name').val(3);
        $('#wa_acid').val(row.m_amount * 1000);
-       $('#wa_acid_perc').val(80);
+       $('#wa_acid_perc').val(AcidTypeData[3].AcidPrc);
        last_acid = 'Zwavelzuur';
        break;
       case 'NaHCO3':
@@ -1107,9 +1109,7 @@
     }
     return data;
    },
-   loadError: function(jqXHR, status, error) {
-                                $('#err').text(status + ' ' + error);
-   },
+   loadError: function(jqXHR, status, error) { console.log('miscs load error ' + status + ' ' + error); },
   });
   $('#miscGrid').jqxGrid({
    width: 1240,
@@ -1170,10 +1170,7 @@
      }
     });
    },
-   ready: function() {
-    calcMiscs();
-    $('#jqxTabs').jqxTabs('next');
-   },
+   ready: function() { $('#jqxTabs').jqxTabs('next'); },
    columns: [
     { text: 'Ingredient', datafield: 'm_name' },
     { text: 'Type', width: 140, datafield: 'm_type',
@@ -1250,10 +1247,10 @@
     }
    ]
   });
- },
+ };
 
  // Inline yeasts editor
- editYeast = function(data) {
+ var editYeast = function(data) {
   var yeastSource = {
    localdata: data.yeasts,
    datatype: 'local',
@@ -1275,26 +1272,24 @@
     { name: 'y_cells', type: 'float' },
     { name: 'y_tolerance', type: 'float' },
     { name: 'y_inventory', type: 'float' },
+    { name: 'y_sta1', type: 'int' },
+    { name: 'y_bacteria', type: 'int' },
+    { name: 'y_harvest_top', type: 'int' },
+    { name: 'y_harvest_time', type: 'int' },
+    { name: 'y_pitch_temperature', type: 'float' },
+    { name: 'y_pofpos', type: 'int' },
+    { name: 'y_zymocide', type: 'int' },
     { name: 'y_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    console.log('yeast addrow ' + rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    console.log('yeast deleterow ' + rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    console.log('yeast updaterow ' + rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   yeastAdapter = new $.jqx.dataAdapter(yeastSource);
 
   $('#yeastGrid').jqxGrid({
    width: 1240,
-   height: 350,
+   height: 325,
    source: yeastAdapter,
    theme: theme,
    selectionmode: 'singlerow',
@@ -1342,8 +1337,16 @@
       row['y_cells'] = datarecord.cells;
       row['y_tolerance'] = datarecord.tolerance;
       row['y_inventory'] = datarecord.inventory;
+      row['y_sta1'] = datarecord.sta1;
+      row['y_bacteria'] = datarecord.bacteria;
+      row['y_harvest_top'] = datarecord.harvest_top;
+      row['y_harvest_time'] = datarecord.harvest_time;
+      row['y_pitch_temperature'] = datarecord.pitch_temperature;
+      row['y_pofpos'] = datarecord.pofpos;
+      row['y_zymocide'] = datarecord.zymocide;
       $('#yeastGrid').jqxGrid('addrow', null, row);
      }
+     calcViability();
      calcYeast();
      $('#yaddrowbutton').jqxDropDownList('clearSelection');
     });
@@ -1360,16 +1363,12 @@
      if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
       id = $('#yeastGrid').jqxGrid('getrowid', selectedrowindex);
       $('#yeastGrid').jqxGrid('deleterow', id);
+      calcViability();
       calcYeast();
      }
     });
    },
-   ready: function() {
-    calcFermentables();
-    showStarter();
-    calcYeast();
-    $('#jqxTabs').jqxTabs('next');
-   },
+   ready: function() { $('#jqxTabs').jqxTabs('next'); },
    columns: [
     { text: 'Gist', datafield: 'y_name' },
     { text: 'Laboratorium', width: 150, datafield: 'y_laboratory' },
@@ -1462,10 +1461,10 @@
     }
    ]
   });
- },
+ };
 
  // inline mash editor
- editMash = function(data) {
+ var editMash = function(data) {
   var mashSource = {
    localdata: data.mashs,
    datatype: 'local',
@@ -1481,14 +1480,8 @@
     { name: 'ramp_time', type: 'float' },
     { name: 'end_temp', type: 'float' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    console.log('mash addrow ' + rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    console.log('mash deleterow ' + rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); }
   },
   mashAdapter = new $.jqx.dataAdapter(mashSource, {
    beforeLoadComplete: function(records) {
@@ -1544,8 +1537,18 @@
     });
    },
    ready: function() {
+    /* Calculate the whole recipe */
+    console.log('ready mashs, start calculations');
+    calcFermentables();
+    whirlpoolHops();
+    calcIBUs();
+    calcMiscs();
+    showStarter();
+    calcYeast();
     calcInit();
     calcMash();
+    kookTijd();
+    console.log('calculations ready');
     $('#jqxLoader').jqxLoader('close');
     $('#jqxTabs').jqxTabs('first');
    },
@@ -1567,7 +1570,7 @@
       return 'Wijzig';
      }, buttonclick: function(row) {
       if (dataRecord.stage > 3) {
-       alert('Het maichen is al gedaan.');
+       alert('Het maischen is al gedaan.');
       } else {
        mashRow = row;
        mashData = $('#mashGrid').jqxGrid('getrowdata', mashRow);
@@ -1599,17 +1602,82 @@
   */
  $('#jqxMenu').jqxMenu('destroy');
  console.log('record:' + my_record + '  return:' + my_return + '  theme:' + theme);
- $('#jqxLoader').jqxLoader({
-  width: 250,
-  height: 150,
-  isModal: true,
-  text: 'Laden product ...',
-  theme: theme
- });
+ $('#jqxLoader').jqxLoader({ width: 250, height: 150, isModal: true, text: 'Laden product ...', theme: theme });
+ $('#jqxLoader').jqxLoader('open');
+
+ /* Moved to before all functions */
+ dataAdapter.dataBind();
 
  /*
   * Generic functions
   */
+ function kookTijd() {
+  if (dataRecord.boil_time) {
+   $('#brew_pmpt_koken').html('Koken ' + dataRecord.boil_time + ' minuten');
+  } else {
+   $('#brew_pmpt_koken').html('Koken "no-boil"');
+  }
+ }
+
+ function calcViability() {
+  var vpm = 1.00;
+  var max = 100;
+  var rowscount = $('#yeastGrid').jqxGrid('getdatainformation').rowscount;
+  if (rowscount) {
+   for (i = 0; i < rowscount; i++) {
+    row = $('#yeastGrid').jqxGrid('getrowdata', i);
+    if (row.y_use == 0) {
+     if (row.y_form == 0) { // Liquid
+      vpm = 0.80;
+      max = 97;
+      if (row.y_laboratory == 'White Labs') { // PurePitch
+       vpm = 0.95;
+       max = 100;
+      }
+     } else if (row.y_form == 1) { // dry yeast
+      vpm = 0.997;
+      max = 100;
+     } else if (row.y_form == 6) { // Dried kveik
+      vpm = 0.92;
+      max = 100;
+     } else { // Slant, Culture, Frozen, Bottle
+      vpm = 0.99;
+      max = 97;
+     }
+    }
+   }
+  }
+  var base = max;
+  var days = 0;
+
+  if (parseFloat($('#yeast_prod_date').val()) > 2000) {
+   console.log('calculate viability');
+   var d = new Date();
+   var date2 = $('#yeast_prod_date').val();
+   date2 = date2.split('-');
+   // Now we convert the array to a Date object
+   var date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate());
+   date2 = new Date(date2[0], date2[1] - 1, date2[2]);
+   var diff = parseInt(date1.getTime()) - parseInt(date2.getTime());
+   days = Math.floor(diff/1000/60/60/24);
+
+   var degrade = 1 - ((1 - vpm) / 30.41);  // viability degradation per day.
+   for (i = 0; i < days; i++) {
+    base = base * degrade;
+   }
+   if (base > max) {
+    base = max;
+   }
+   base = Math.round(base);
+  }
+  console.log('age:' + days + ' max:' + max + ' vpm:' + vpm + ' base:' + base);
+
+  if (dataRecord.starter_viability != base) {
+   dataRecord.starter_viability = base;
+   $('#starter_viability').val(dataRecord.starter_viability);
+  }
+ }
+
  function calcSupplies() {
   if (dataRecord.inventory_reduced > 6) {
    $('#ok_pmpt').hide();
@@ -1692,9 +1760,12 @@
    if (mashtime > 5)
     mashtime -= 5; //Correct last ramp > 75
    mashtemp = Round(mashtemp / mashtime, 2);
+  } else {
+   console.log("calcFermentables() mashGrid not loaded");
   }
 
   if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) {
+   console.log("calcFermentables() fermentableGrid not loaded");
    return; // grid not yet loaded.
   }
 
@@ -1754,7 +1825,7 @@
   fermentableInit = 0;
   $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg)));
   $('#mash_kg').val(mashkg);
-  console.log('calcFermentables() supplies:' + ok_fermentables + ' moutsuiker:' + sugarsm + '/' + sugarsf);
+  console.log('calcFermentables() supplies:' + ok_fermentables + ' moutsuiker:' + Round(sugarsm, 3) + '/' + Round(sugarsf, 3));
   to_100 = my_100;
   if (to_100) {
    $('#wf_amount').jqxNumberInput({ width: 90, readOnly: true, spinButtons: false });
@@ -1808,7 +1879,7 @@
 
    if ((dataRecord.brew_fermenter_volume * ogx + addedmass) > 0) {
     pt = 100 * sug / (dataRecord.brew_fermenter_volume * ogx + addedmass + topw);
-    dataRecord.brew_fermenter_sg = Round(plato_to_sg(pt), 4);
+    dataRecord.og = dataRecord.brew_fermenter_sg = Round(plato_to_sg(pt), 4);
     $('#brew_fermenter_sg').val(dataRecord.brew_fermenter_sg);
     // color
     if (dataRecord.color_method == 4) {
@@ -1867,7 +1938,7 @@
     if (row.y_form == 0)
      initcells += (parseFloat(row.y_cells) / 1000000000) * parseFloat(row.y_amount) * (dataRecord.starter_viability / 100);
     else
-     initcells += (parseFloat(row.y_cells) / 1000000) * parseFloat(row.y_amount);
+     initcells += (parseFloat(row.y_cells) / 1000000) * parseFloat(row.y_amount) * (dataRecord.starter_viability / 100);
    }
    // TODO: brett in secondary ??
    if ((((dataRecord.inventory_reduced <= 3) && (row.y_use == 0)) ||  // Primary
@@ -1898,7 +1969,7 @@
 
   // Calculate the final svg if available use the real value.
   if ((dataRecord.stage >= 6) && (dataRecord.fg > 0.990) && (dataRecord.fg < dataRecord.brew_fermenter_sg)) {
-   svg = 100 * (dataRecord.brew_fermenter_sg - dataRecord.fg) / (dataRecord.brew_fermenter_sg - 1);
+   svg = calc_svg(dataRecord.brew_fermenter_sg, dataRecord.fg);
    org = dataRecord.brew_fermenter_sg;
    fig = dataRecord.fg;
   }
@@ -1988,6 +2059,8 @@
  function hopFlavourContribution(bt, vol, use, amount) {
   var result;
 
+  if (use == 4 || use == 5) // Whirlpool or Dry-hop
+   return 0;
   if (use == 1) { // First wort
    result = 0.15;          // assume 15% flavourcontribution for fwh
   } else if (bt > 50) {
@@ -2003,8 +2076,12 @@
  function hopAromaContribution(bt, vol, use, amount) {
   var result = 0;
 
-  if (use == 5) {         // Dry hop
+  if (use == 5) { // Dry hop
    result = 1.33;
+  } else if (use == 4) { // Whirlpool
+   if (bt > 30)
+    bt = 30; // Max 30 minutes
+   result = 0.62 * bt / 30;
   } else if (bt > 20) {
    result = 0;
   } else if (bt > 7.5) {
@@ -2013,10 +2090,8 @@
    result = 1;
   } else if (use == 3) {  // Aroma
    result = 1.2;
-  } else if (use == 4) {  // Whirlpool
-   result = 1.2;
   }
-   return (result * amount * 1000) / vol;
+  return (result * amount * 1000) / vol;
  }
 
  function calcIBUs() {
@@ -2029,23 +2104,23 @@
   for (i = 0; i < rows.length; i++) {
    row = rows[i];
    total_ibus += toIBU(row.h_useat, row.h_form, preboil_sg, parseFloat(dataRecord.batch_size),
-                       parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method);
+    parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method,
+    dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
    ferm_ibus += toIBU(row.h_useat, row.h_form, preboil_sg,
-                      parseFloat(dataRecord.brew_fermenter_volume) + parseFloat(dataRecord.brew_fermenter_tcloss),
-                      parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method);
-   hop_flavour += hopFlavourContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size),
-                                        row.h_useat, parseFloat(row.h_amount));
-   hop_aroma += hopAromaContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size),
-                                        row.h_useat, parseFloat(row.h_amount));
+    parseFloat(dataRecord.brew_fermenter_volume) + parseFloat(dataRecord.brew_fermenter_tcloss),
+    parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method,
+    dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
+   hop_flavour += hopFlavourContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
+   hop_aroma += hopAromaContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
    if ((((dataRecord.inventory_reduced <= 2) && (row.h_useat <= 4)) ||  // Mash, FW, Boil, Aroma, Whirlpool
         ((dataRecord.inventory_reduced <= 6) && (row.h_useat == 5))) && // Dry-hop
         (row.h_inventory < row.h_amount))
     ok_hops = 0;
   }
-  total_ibus = Math.round(total_ibus * 10) / 10;
-  ferm_ibus = Math.round(ferm_ibus * 10) / 10;
-  hop_flavour = Math.round(hop_flavour * 1000 / 5) / 10;
-  hop_aroma = Math.round(hop_aroma * 1000 / 6) / 10;
+  total_ibus = Round(total_ibus, 1);
+  ferm_ibus = Round(ferm_ibus, 1);
+  hop_flavour = Round(hop_flavour * 100 / 5, 1);
+  hop_aroma = Round(hop_aroma * 100 / 6, 1);
   if (hop_flavour > 100)
    hop_flavour = 100;
   if (hop_aroma > 100)
@@ -2095,7 +2170,6 @@
   ncells = Round(egrams * grate, 1),
   totcells = parseFloat(ncells) + start;
 
-  //console.log('svol:' + svol + ' start:' + start + ' irate:' + irate + ' egrams:' + egrams + ' grate:' + grate + ' ncells:' + ncells);
   return {
    svol: svol,
    irate: irate,
@@ -2106,6 +2180,33 @@
   };
  }
 
+ function killstep2() {
+
+  dataRecord.prop2_volume = 0;
+  $('#prop2_volume').val(0);
+  $('#prop2_tcells').val(0);
+  $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').hide();
+  $('#r2_pmpt').show();
+ }
+
+ function killstep3() {
+
+  dataRecord.prop3_volume = 0;
+  $('#prop3_volume').val(0);
+  $('#prop3_tcells').val(0);
+  $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').hide();
+  $('#r3_pmpt').show();
+ }
+
+ function killstep4() {
+
+  dataRecord.prop4_volume = 0;
+  $('#prop4_volume').val(0);
+  $('#prop4_tcells').val(0);
+  $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').hide();
+  $('#r4_pmpt').show();
+ }
+
  /*
   * Calculate all starter steps.
   * stype: final starter type: 0 = stirred, 1 = shaked, 2 = simple.
@@ -2126,26 +2227,16 @@
        parseFloat($('#prop3_volume').jqxNumberInput('decimal')) + parseFloat($('#prop4_volume').jqxNumberInput('decimal'))) == 0) {
    // clear by default
    for (i = 1; i < 5; i++) {
-    $('#prop' + i + '_type').hide();
+    $('#prop' + i + '_type,#prop' + i + '_volume,#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells,#prop' + i + '_growf').hide();
     $('#r' + i + '_pmpt').show();
     $('#prop' + i + '_type').val(stype);
-    $('#prop' + i + '_volume').hide();
     $('#prop' + i + '_volume').val(0);
-    $('#prop' + i + '_irate').hide();
-    $('#prop' + i + '_ncells').hide();
-    $('#prop' + i + '_tcells').hide();
-    $('#prop' + i + '_growf').hide();
    }
    if (start > needed) {
     return; // no starter needed
    }
-   $('#prop1_type').show();
+   $('#prop1_type,#prop1_volume,#prop1_irate,#prop1_ncells,#prop1_tcells,#prop1_growf').show();
    $('#r1_pmpt').hide();
-   $('#prop1_volume').show();
-   $('#prop1_irate').show();
-   $('#prop1_ncells').show();
-   $('#prop1_tcells').show();
-   $('#prop1_growf').show();
    for (i = lasti; i <= mvols; i++) {
     lasti = i;
     svol = uvols[lasti];
@@ -2172,12 +2263,7 @@
    // second stage
    $('#r2_pmpt').hide();
    $('#prop2_type').val(stype);
-   $('#prop2_type').show();
-   $('#prop2_volume').show();
-   $('#prop2_irate').show();
-   $('#prop2_ncells').show();
-   $('#prop2_tcells').show();
-   $('#prop2_growf').show();
+   $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').show();
    for (i = lasti; i <= mvols; i++) {
     lasti = i;
     svol = uvols[lasti];
@@ -2203,12 +2289,7 @@
    // third stage
    $('#r3_pmpt').hide();
    $('#prop3_type').val(stype);
-   $('#prop3_type').show();
-   $('#prop3_volume').show();
-   $('#prop3_irate').show();
-   $('#prop3_ncells').show();
-   $('#prop3_tcells').show();
-   $('#prop3_growf').show();
+   $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').show();
    for (i = lasti; i <= mvols; i++) {
     lasti = i;
     svol = uvols[lasti];
@@ -2234,12 +2315,7 @@
    // fourth stage
    $('#r4_pmpt').hide();
    $('#prop4_type').val(stype);
-   $('#prop4_type').show();
-   $('#prop4_volume').show();
-   $('#prop4_irate').show();
-   $('#prop4_ncells').show();
-   $('#prop4_tcells').show();
-   $('#prop4_growf').show();
+   $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').show();
    for (i = lasti; i <= mvols; i++) {
     lasti = i;
     svol = uvols[lasti];
@@ -2257,54 +2333,61 @@
    // recalculate
    if (dataRecord.prop1_volume > 0) {
     $('#r1_pmpt').hide();
-    $('#prop1_type').show();
-    $('#prop1_volume').show();
-    $('#prop1_irate').show();
-    $('#prop1_ncells').show();
-    $('#prop1_tcells').show();
-    $('#prop1_growf').show();
+    $('#prop1_type,#prop1_volume,#prop1_irate,#prop1_ncells,#prop1_tcells,#prop1_growf').show();
     result = calcStep($('#prop1_volume').val() * 1000, dataRecord.prop1_type, start);
     $('#prop1_irate').val(result.prate);
     $('#prop1_ncells').val(result.ncells);
     $('#prop1_tcells').val(result.totcells);
     $('#prop1_growf').val(result.growf);
+    if (result.totcells > needed) {
+     killstep2();
+     killstep3();
+     killstep4();
+    } else if (dataRecord.prop2_volume == 0) {
+     dataRecord.prop2_volume = dataRecord.prop1_volume; /* Extra step needed, start with the same size */
+     dataRecord.prop2_type = dataRecord.prop1_type;
+     $('#prop2_volume').val(dataRecord.prop2_volume);
+     $('#prop2_type').val(dataRecord.prop2_type);
+    }
    }
    if (dataRecord.prop2_volume > 0) {
     $('#r2_pmpt').hide();
-    $('#prop2_type').show();
-    $('#prop2_volume').show();
-    $('#prop2_irate').show();
-    $('#prop2_ncells').show();
-    $('#prop2_tcells').show();
-    $('#prop2_growf').show();
+    $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').show();
     result = calcStep($('#prop2_volume').val() * 1000, dataRecord.prop2_type, $('#prop1_tcells').val());
     $('#prop2_irate').val(result.prate);
     $('#prop2_ncells').val(result.ncells);
     $('#prop2_tcells').val(result.totcells);
     $('#prop2_growf').val(result.growf);
+    if (result.totcells > needed) {
+     killstep3();
+     killstep4();
+    } else if (dataRecord.prop3_volume == 0) {
+     dataRecord.prop3_volume = dataRecord.prop2_volume; /* Extra step needed, start with the same size */
+     dataRecord.prop3_type = dataRecord.prop2_type;
+     $('#prop3_volume').val(dataRecord.prop3_volume);
+     $('#prop3_type').val(dataRecord.prop3_type);
+    }
    }
    if (dataRecord.prop3_volume > 0) {
     $('#r3_pmpt').hide();
-    $('#prop3_type').show();
-    $('#prop3_volume').show();
-    $('#prop3_irate').show();
-    $('#prop3_ncells').show();
-    $('#prop3_tcells').show();
-    $('#prop3_growf').show();
+    $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').show();
     result = calcStep($('#prop3_volume').val() * 1000, dataRecord.prop3_type, $('#prop2_tcells').val());
     $('#prop3_irate').val(result.prate);
     $('#prop3_ncells').val(result.ncells);
     $('#prop3_tcells').val(result.totcells);
     $('#prop3_growf').val(result.growf);
+    if (result.totcells > needed) {
+     killstep4();
+    } else if (dataRecord.prop4_volume == 0) {
+     dataRecord.prop4_volume = dataRecord.prop3_volume; /* Extra step needed, start with the same size */
+     dataRecord.prop4_type = dataRecord.prop3_type;
+     $('#prop4_volume').val(dataRecord.prop4_volume);
+     $('#prop4_type').val(dataRecord.prop4_type);
+    }
    }
    if (dataRecord.prop4_volume > 0) {
     $('#r4_pmpt').hide();
-    $('#prop4_type').show();
-    $('#prop4_volume').show();
-    $('#prop4_irate').show();
-    $('#prop4_ncells').show();
-    $('#prop4_tcells').show();
-    $('#prop4_growf').show();
+    $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').show();
     result = calcStep($('#prop4_volume').val() * 1000, dataRecord.prop4_type, $('#prop3_tcells').val());
     $('#prop4_irate').val(result.prate);
     $('#prop4_ncells').val(result.ncells);
@@ -2342,30 +2425,43 @@
   if (rowscount == 0)
    return; // no yeast in recipe
 
+  var maybe_starter = 0;
   for (i = 0; i < rowscount; i++) {
    row = $('#yeastGrid').jqxGrid('getrowdata', i);
    if (row.y_use == 0) { // primary
     // pitchrate see https://www.brewersfriend.com/yeast-pitch-rate-and-starter-calculator/
     // and http://braukaiser.com/blog/blog/2012/11/03/estimating-yeast-growth/
-    pitchrate = 0.75;
-    if (dataRecord.est_og > 1.060)
-     pitchrate = 1.0;
-//  if (dataRecord.est_og > 1.076)
-//   pitchrate = 1.25;       // Wyeast labs. http://www.wyeastlab.com/hb_pitchrates.cfm
-    if (row.y_type == 0) // lager yeast
-     pitchrate *= 2;
-    if (row.y_type == 6) // Kveik
-     pitchrate = 0.25; // Who knows.
-
-//    if (row.y_form == 1) { // dry yeast
-//    } else { // possible starter needed
-//    }
+    if (row.y_type == 0) { // lager yeast
+     pitchrate = 1.5;
+     if (dataRecord.est_og > 1.060)
+      pitchrate = 2.0;
+    } else if (row.y_type == 6) { // Kveik
+     pitchrate = 0.075;
+    } else {
+     pitchrate = 0.75;
+     if (dataRecord.est_og > 1.060)
+      pitchrate = 1.0;
+     if (dataRecord.est_og > 1.076)
+      pitchrate = 1.25; // Wyeast labs. http://www.wyeastlab.com/hb_pitchrates.cfm
+    }
+
+    if (row.y_form != 1) { // Not dry yeast
+     maybe_starter = 1;
+    }
    }
   }
+
   needed = Round(pitchrate * volume * plato, 1);
-  console.log('calcYeast() pitchrate:' + pitchrate + ' start:' + initcells + ' needed:' + needed + ' volume:' + volume);
   $('#need_cells').val(needed);
   use_cells = initcells;
+  if (needed <= initcells)
+   maybe_starter = 0;
+  console.log('calcYeast() pitchrate:' + pitchrate + ' start:' + initcells + ' needed:' + needed + ' volume:' + volume + ' maybe_starter:' + maybe_starter);
+
+  if (maybe_starter != dataRecord.starter_enable) {
+   dataRecord.starter_enable = maybe_starter;
+   showStarter();
+  }
 
   if (dataRecord.starter_enable) {
    calcSteps(dataRecord.starter_type, initcells, needed);
@@ -2408,6 +2504,21 @@
   }
  };
 
+ function whirlpoolHops() {
+  var row, i, time, rowscount;
+  if (!(rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount))
+   return;
+  if (rowscount == 0)
+   return;
+  for (i = 0; i < rowscount; i++) {
+   row = $('#hopGrid').jqxGrid('getrowdata', i);
+   if (row.h_useat == 4) {
+    time = parseFloat(dataRecord.brew_whirlpool9) + parseFloat(dataRecord.brew_whirlpool7) + parseFloat(dataRecord.brew_whirlpool6);
+    $('#hopGrid').jqxGrid('setcellvalue', i, 'h_time', time);
+   }
+  }
+ };
+
  function calcMiscs() {
 
   ok_miscs = 1;
@@ -2492,7 +2603,7 @@
   for (i = 0; i < rowscount; i++) {
    row = $('#mashGrid').jqxGrid('getrowdata', i);
    if (row.step_type == 0) { // Infusion
-    amount = Round(row.step_infuse_amount * factor, 1);
+    amount = Round(parseFloat(row.step_infuse_amount) * factor, 1);
     $('#mashGrid').jqxGrid('setcellvalue', i, 'step_infuse_amount', amount);
     mash_infuse += amount;
    }
@@ -2501,8 +2612,10 @@
    dataRecord.w1_amount = mash_infuse;
    $('#w1_amount').val(mash_infuse);
   } else {
-   dataRecord.w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
-   dataRecord.w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
+   var w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
+   var w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
+   dataRecord.w1_amount = Round(w1_amount, 3);
+   dataRecord.w2_amount = Round(w2_amount, 3);
    $('#w1_amount').val(dataRecord.w1_amount);
    $('#w2_amount').val(dataRecord.w2_amount);
   }
@@ -2573,9 +2686,13 @@
    return 0.5;
  }
 
- function GetOptClSO4ratio() {
-  var BUGU = GetBUGU();
-  return (-1.2 * BUGU + 1.4);
+ function GetOptSO4Clratio() {
+  if (parseFloat($('#pr_sulfate').jqxNumberInput('decimal')) > 0 && parseFloat($('#pr_chloride').jqxNumberInput('decimal'))) {
+   return (parseFloat($('#pr_sulfate').jqxNumberInput('decimal')) / parseFloat($('#pr_chloride').jqxNumberInput('decimal')));
+  } else {
+   var BUGU = GetBUGU();
+   return (1.0 / (-1.2 * BUGU + 1.4));
+  }
  }
 
  function setWaterAgent(name, amount) {
@@ -2677,42 +2794,51 @@
   return Z - (Calc / 3.5 + Magn / 7);
  }
 
+ function BufferCapacity(di_ph, acid_to_ph_57, ebc, graintype) {
+  C1 = 0;
+  if ((di_ph != 5.7) && ((acid_to_ph_57 < - 0.1) || (acid_to_ph_57 > 0.1))) {
+      C1 = acid_to_ph_57 / (di_ph - 5.7);
+  } else {
+      // If the acid_to_ph_5.7 is unknown from the maltster, guess the required acid.
+      switch (graintype) {
+       case 0:                                 // Base, Special, Kilned
+       case 3:
+       case 5: C1 = 0.014 * ebc - 34.192;
+               break;
+       case 2: C1 = -0.0597 * ebc - 32.457;    // Crystal
+               break;
+       case 1: C1 = 0.0107 * ebc - 54.768;     // Roast
+               break;
+       case 4: C1 = -149;                      // Sour malt
+               break;
+      }
+  }
+  return C1;
+ }
+
  function ProtonDeficit(pHZ) {
 
-  var rows, i, C1, ebc, x, Result = ZRA(pHZ) * parseFloat($('#wg_amount').jqxNumberInput('decimal'));
+  var rows, i, C1, x, Result = ZRA(pHZ) * parseFloat($('#wg_amount').jqxNumberInput('decimal'));
   // proton deficit for the grist
-  rows = $('#fermentableGrid').jqxGrid('getrows');
-  for (i = 0; i < rows.length; i++) {
-   row = rows[i];
-   if (row.f_added == 0 && row.f_graintype != 6) { // Added == Mash && graintype != No Malt
-    // Check if acid is required
-    C1 = 0;
-    if ((row.f_di_ph != 5.7) && ((row.f_acid_to_ph_57 < - 0.1) || (row.f_acid_to_ph_57 > 0.1))) {
-     C1 = row.f_acid_to_ph_57 / (row.f_di_ph - 5.7);
-    } else {
-     // If the acid_to_ph_5.7 is unknown from the maltster, guess the required acid.
-     ebc = row.f_color;
-     switch (row.f_graintype) {
-      case 0:                                 // Base, Special, Kilned
-      case 3:
-      case 5: C1 = 0.014 * ebc - 34.192;
-              break;
-      case 2: C1 = -0.0597 * ebc - 32.457;    // Crystal
-              break;
-      case 1: C1 = 0.0107 * ebc - 54.768;     // Roast
-              break;
-      case 4: C1 = -149;                      // Sour malt
-              break;
-     }
+  if ((rows = $('#fermentableGrid').jqxGrid('getrows'))) {
+   for (i = 0; i < rows.length; i++) {
+    row = rows[i];
+    if (row.f_added == 0 && row.f_graintype != 6) { // Added == Mash && graintype != No Malt
+     C1 = BufferCapacity(row.f_di_ph, row.f_acid_to_ph_57, row.f_color, row.f_graintype);
+     x = C1 * (pHZ - row.f_di_ph);   // AcidRequired(ZpH)
+     Result += x * row.f_amount;
     }
-    x = C1 * (pHZ - row.f_di_ph);   // AcidRequired(ZpH)
-    Result += x * row.f_amount;
    }
+  } else {
+   error_count++;
+   if (error_count < 5)
+    console.log('ProtonDeficit(' + pHZ + ') invalid grist, return ' + Result);
   }
   return Result;
  }
 
  function MashpH() {
+
   var n = 0, pH = 5.4, deltapH = 0.001, deltapd = 0.1, pd = ProtonDeficit(pH);
   while (((pd < -deltapd) || (pd > deltapd)) && (n < 2000)) {
    n++;
@@ -2722,33 +2848,24 @@
     pH += deltapH;
    pd = ProtonDeficit(pH);
   }
-  pH = Round(pH, 2);
+  pH = Round(pH, 6);
   //console.log('MashpH() n: ' + n + ' pH: ' + pH);
   return pH;
  }
 
- function GetAcidSpecs(AT) {
-  switch (AT) {
-   case 0: // Melkzuur
-    return { pK1: 3.86, pK2: 20, pK3: 20, MolWt: 90.08, AcidSG: 1214, AcidPrc: 0.88 };
-   case 1: // Zoutzuur
-    return { pK1: -7, pK2: 20, pK3: 20, MolWt: 36.46, AcidSG: 1142, AcidPrc: 0.28 };
-   case 2: // Fosforzuur
-    return { pK1: 2.12, pK2: 7.20, pK3: 12.44, MolWt: 98.00, AcidSG: 1170, AcidPrc: 0.25 };
-   case 3: // Zwavelzuur
-    return { pK1: -1, pK2: 1.92, pK3: 20, MolWt: 98.07, AcidSG: 1700, AcidPrc: 0.93 };
+ function calcWater() {
+
+  /* Can be called during loading and building the screens */
+  if (! data_loaded) {
+   console.log('calcWater() failsave');
+   return;
   }
- }
-
- function calcWater() {
-
-  //console.log('calcWater()');
+
   var liters = 0,
   calcium = 0,
   magnesium = 0,
   sodium = 0,
   total_alkalinity = 0,
-  bicarbonate = 0,
   chloride = 0,
   sulfate = 0,
   ph = 0,
@@ -2756,11 +2873,10 @@
   frac = 0,
   TpH = 0,
   protonDeficit = 0,
-  AT, BT, result, pK1, pK2, pK3, MolWt, AcidSG, AcidPrc,
+  AT, BT,
   r1d, r2d, f1d, f2d, f3d,
   deltapH, deltapd, pd, n,
-  piCLSO4_low, piCLSO4_high, Res,
-  wg_calcium, wg_sodium, wg_total_alkalinity, wg_chloride, wg_sulfate, wg_bicarbonate;
+  Res;
 
   if (dataRecord.w1_name == '') {
    return;
@@ -2786,95 +2902,85 @@
    total_alkalinity = dataRecord.w1_total_alkalinity;
    ph = dataRecord.w1_ph;
   }
+  var bicarbonate = total_alkalinity * 1.22;
+
+  /* Save mixed water ions for later */
+  var wg_calcium = calcium;
+  var wg_sodium = sodium;
+  var wg_total_alkalinity = total_alkalinity;
+  var wg_chloride = chloride;
+  var wg_sulfate = sulfate;
+  var wg_bicarbonate = bicarbonate;
+
   $('#wg_amount').val(liters);
-  wg_calcium = calcium;
-  $('#wg_calcium').val(Math.round(calcium * 10) / 10);
-  //var wg_magnesium = magnesium;
-  $('#wg_magnesium').val(Math.round(magnesium * 10) / 10);
-  wg_sodium = sodium;
-  $('#wg_sodium').val(Math.round(sodium * 10) / 10);
-  wg_total_alkalinity = total_alkalinity;
-  $('#wg_total_alkalinity').val(Math.round(total_alkalinity * 10) / 10);
-  wg_chloride = chloride;
-  $('#wg_chloride').val(Math.round(chloride * 10) / 10);
-  wg_sulfate = sulfate;
-  $('#wg_sulfate').val(Math.round(sulfate * 10) / 10);
-  // Note: brouwhulp has the malts included here in the result.
-  //var wg_ph = ph;
-  $('#wg_ph').val(Round(ph, 1));
-  $('#wb_ph').val(Round(MashpH(), 1));
-  $('#est_mash_ph').val(Round(MashpH(), 1));
-  bicarbonate = total_alkalinity * 1.22;
-  wg_bicarbonate = bicarbonate;
-
-  // Noot: de volgende berekeningen geven bijna gelijke resultaten in Brun'water.
-  // Calculate Ca
-  RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-       parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4;
-  calcium += 1000 * RA / liters;
-
-  // Calculate Mg
-  RA = parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMMg / MMMgSO4;
-  magnesium += 1000 * RA / liters;
-
-  // Calculate Na
-  RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-       parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3;
-  sodium += 1000 * RA / liters;
-
-  // Calculate SO4
-  RA = parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 +
-       parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4;
-  sulfate += 1000 * RA / liters;
-
-  // Calculate Cl
-  RA = 2 * parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 +
-           parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl;
-  chloride += 1000 * RA / liters;
-  // Einde noot.
-
-  if ($('#wa_acid_name').val() < 0 || $('#wa_acid_name').val() > 3) {
+  $('#wg_calcium').val(Round(calcium, 1));
+  $('#wg_magnesium').val(Round(magnesium, 1));
+  $('#wg_sodium').val(Round(sodium, 1));
+  $('#wg_total_alkalinity').val(Round(total_alkalinity, 1));
+  $('#wg_chloride').val(Round(chloride, 1));
+  $('#wg_sulfate').val(Round(sulfate, 1));
+  $('#wg_ph').val(Round(ph, 2));
+
+  var mash_ph = Round(MashpH(), 3);
+  console.log('Distilled water mash pH: ' + mash_ph);
+
+  /* Calculate Salt additions */
+  if (liters > 0) {
+   calcium += (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
+    parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000) / liters;
+   magnesium += (parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMMg / MMMgSO4 * 1000) / liters;
+   sodium += (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+    parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
+   sulfate += (parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 * 1000 +
+    parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4 * 1000) / liters;
+   chloride += (2 * parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 * 1000 +
+    parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl * 1000) / liters;
+  }
+
+  if (dataRecord.wa_acid_name < 0 || dataRecord,wa_acid_name >= AcidTypeData.length) {
    $('#wa_acid_name').val(0);
    dataRecord.wa_acid_name = 0;
+   dataRecord.wa_acid_perc = AcidTypeData[0].AcidPrc;
+   $('#wa_acid_perc').val(AcidTypeData[0].AcidPrc);
   }
   if (last_acid == '')
-   last_acid = AcidTypeData[$('#wa_acid_name').val()].nl;
-
-  if ($('#wa_base_name').val() < 0 || $('#wa_base_name').val() > 3) {
+   last_acid = AcidTypeData[dataRecord.wa_acid_name].nl;
+
+  if (parseFloat(dataRecord.wa_acid_perc) == 0) {
+   dataRecord.wa_acid_perc = AcidTypeData[AT].AcidPrc;
+   $('#wa_acid_perc').val(AcidTypeData[AT].AcidPrc);
+  }
+
+  if (dataRecord.wa_base_name < 0 || dataRecord.wa_base_name > 3) {
    $('#wa_base_name').val(0);
    dataRecord.wa_base_name = 0;
   }
   if (last_base == '')
-   last_base = BaseTypeData[$('#wa_base_name').val()].nl;
+   last_base = BaseTypeData[dataRecord.wa_base_name].nl;
 
   AT = dataRecord.wa_acid_name;
   BT = dataRecord.wa_base_name;
 
-  result = GetAcidSpecs(AT);
-  pK1 = result.pK1;
-  pK2 = result.pK2;
-  pK3 = result.pK3;
-  MolWt = result.MolWt;
-  AcidSG = result.AcidSG;
-  AcidPrc = result.AcidPrc;
+  /* Note that the next calculations do not correct the pH change by the added salts.
+     This pH change is at most 0.1 pH and is a minor difference in Acid amount. */
 
   if (dataRecord.calc_acid) {
+   /* Auto calculate pH */
+   $('.c_mashph').show();
    TpH = parseFloat(dataRecord.mash_ph);
    protonDeficit = ProtonDeficit(TpH);
    //console.log('calc_acid tgt: ' + TpH + ' protonDeficit: ' + protonDeficit);
    if (protonDeficit > 0) { // Add acid
     $('#wa_base').val(0);
+    dataRecord.wa_base = 0;
     setWaterAgent(last_base, 0);
-    frac = CalcFrac(TpH, pK1, pK2, pK3);
+    frac = CalcFrac(TpH, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
     Acid = protonDeficit / frac;
-    Acid *= MolWt; // mg
+    Acid *= AcidTypeData[AT].MolWt; // mg
     Acidmg = Acid;
-    Acid = Acid / AcidSG; // ml
-
-    if (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) == 0)
-     $('#wa_acid_perc').val(AcidPrc);
-    Acid = Round(Acid * AcidPrc / (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) / 100), 2); // ml
-    //console.log('Final ml: ' + Acid);
+    Acid = Acid / AcidTypeData[AT].AcidSG; // ml
+    Acid = Round(Acid / (parseFloat(dataRecord.wa_acid_perc) / 100), 2); // ml
+    console.log('Mash auto Acid final ml: ' + Acid);
     $('#wa_acid').val(Acid);
     setWaterAgent(AcidTypeData[AT].nl, Acid);
 
@@ -2882,9 +2988,10 @@
     total_alkalinity = bicarbonate * 50 / 61;
    } else if (protonDeficit < 0) { //Add base
     $('#wa_acid').val(0);
+    dataRecord.wa_acid = 0;
     setWaterAgent(last_acid, 0);
-    r1d = Math.pow(10, (TpH - 6.38));
-    r2d = Math.pow(10, (TpH - 10.38));
+    r1d = Math.pow(10, (TpH - 6.35));
+    r2d = Math.pow(10, (TpH - 10.33));
     f1d = 1 / (1 + r1d + r1d * r2d);
     f2d = f1d * r1d;
     f3d = f2d * r2d;
@@ -2896,13 +3003,11 @@
       setWaterAgent('NaHCO3', Round(RA, 2));
       if (liters > 0) {
        // Na
-       RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
        sodium = wg_sodium + RA;
        // HCO3
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
        bicarbonate = wg_bicarbonate + RA;
        total_alkalinity = bicarbonate * 50 / 61;
        RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
@@ -2914,13 +3019,11 @@
       $('#wa_base').val(Round(RA, 2));
       setWaterAgent('Na2CO3', Round(RA, 2));
       if (liters > 0) {
-       RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000+
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
        sodium = wg_sodium + RA;
        // HCO3
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
        bicarbonate = wg_bicarbonate + RA;
        total_alkalinity = bicarbonate * 50 / 61;
        RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
@@ -2935,15 +3038,13 @@
       setWaterAgent('CaCO3', Round(RA, 2));
       if (liters > 0) {
        //Bicarbonate
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3 * 1000) / liters;
        bicarbonate = wg_bicarbonate + RA;
        total_alkalinity = bicarbonate * 50 / 61;
        //Ca precipitates out as Ca10(PO4)6(OH)2
-       RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-            parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
+             parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters;
        calcium = wg_calcium + RA;
        RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
       }
@@ -2958,10 +3059,9 @@
        total_alkalinity = wg_total_alkalinity + RA;
        bicarbonate = total_alkalinity * 61 / 50;
        // Calcium
-       RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-            parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2;
-       RA = 1000 * RA / liters;
+       RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
+             parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters;
        calcium = wg_calcium + RA;
        RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
       }
@@ -2969,97 +3069,86 @@
     }
    }
    ph = TpH;
-   $('#wb_ph').val(Round(ph, 1));
-   $('#est_mash_ph').val(Round(ph, 1));
-  } else { // Manual
+   $('#wb_ph').val(Round(ph, 2));
+   $('#est_mash_ph').val(Round(ph, 2));
+  } else {
+   /* Manual calculate pH */
+   $('.c_mashph').hide();
    console.log('calc_acid no');
-   // First add base salts
-   if (parseFloat($('#wa_base').jqxNumberInput('decimal')) > 0) {
-    if (liters > 0) {
-     switch (BT) {
-      case 0:  // Sodiumbicarbonate, Na
-       RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3;
-       RA = 1000 * RA / liters;
-       sodium = wg_sodium + RA;
-       // HCO3
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3;
-       RA = 1000 * RA / liters;
-       bicarbonate = wg_bicarbonate + RA;
-       total_alkalinity = bicarbonate * 50 / 61;
-       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-       break;
-      case 1: // Sodiumcarbonate
-       RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3;
-       RA = 1000 * RA / liters;
-       sodium = wg_sodium + RA;
-       // HCO3
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3;
-       RA = 1000 * RA / liters;
-       bicarbonate = wg_bicarbonate + RA;
-       total_alkalinity = bicarbonate * 50 / 61;
-       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-       break;
-      case 2: // Calciumcarbonate: Bicarbonate
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3;
-       RA = 1000 * RA / liters;
-       bicarbonate = wg_bicarbonate + RA;
-       total_alkalinity = bicarbonate * 50 / 61;
-       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-       // Ca
-       RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-            parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3;
-       RA = 1000 * RA / liters;
-       calcium = wg_calcium + RA;
-       break;
-     }
+   if (parseFloat($('#wa_base').jqxNumberInput('decimal')) > 0 && liters > 0) {
+    /* First add the base salts */
+    switch (BT) {
+     case 0:  // Sodiumbicarbonate, Na
+      RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
+      sodium = wg_sodium + RA;
+      // HCO3
+      RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
+      bicarbonate = wg_bicarbonate + RA;
+      total_alkalinity = bicarbonate * 50 / 61;
+      RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      break;
+     case 1: // Sodiumcarbonate
+      RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+            parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
+      sodium = wg_sodium + RA;
+      // HCO3
+      RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
+      bicarbonate = wg_bicarbonate + RA;
+      total_alkalinity = bicarbonate * 50 / 61;
+      RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      break;
+     case 2: // Calciumcarbonate: Bicarbonate
+      RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters;
+      bicarbonate = wg_bicarbonate + RA;
+      total_alkalinity = bicarbonate * 50 / 61;
+      RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      // Ca
+      RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 +
+            parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 +
+            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters;
+      calcium = wg_calcium + RA;
+      break;
     }
    }
 
-   TpH = parseFloat(dataRecord.mash_ph);
-   pHa = MashpH(); // This one is in demi water, should be in adjusted water???
-   // Then calculate the new pH with added acids
-   if (parseFloat($('#wa_acid').jqxNumberInput('decimal')) > 0) {
-    console.log('TpH: ' + TpH + ' water: ' + pHa);
-    Acid = parseFloat($('#wa_acid').jqxNumberInput('decimal'));
-    if (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) == 0)
-     $('#wa_acid_perc').val(AcidPrc);
-    Acid = Acid / AcidPrc * (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) / 100); // ml
-    Acid *= AcidSG; // ml
-    Acid /= MolWt;  // mg
-    Acidmg = Acid;
-
-    //find the pH where the protondeficit = protondeficit by the acid
-    frac = CalcFrac(pHa, pK1, pK2, pK3);
-    protonDeficit = Acid * frac;
-
-    deltapH = 0.001;
-    deltapd = 0.1;
-    pd = ProtonDeficit(pHa);
-    n = 0;
-    while (((pd < (protonDeficit - deltapd)) || (pd > (protonDeficit + deltapd))) && (n < 2000)) {
+   pHa = Round(ph, 3); // Adjusted water pH
+   // Then calculate the new pH with added acids and malts
+   console.log('Mash pH: ' + pHa);
+   Acid  = AcidTypeData[AT].AcidSG * (parseFloat(dataRecord.wa_acid_perc) / 100); // ml
+   Acid *= parseFloat($('#wa_acid').jqxNumberInput('decimal'));
+   Acid /= AcidTypeData[AT].MolWt;  // mg
+   Acidmg = Acid;
+
+   //find the pH where the protondeficit = protondeficit by the acid
+   frac = CalcFrac(pHa, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
+   protonDeficit = Round(Acid * frac, 3);
+   //console.log('protonDeficit Acid: ' + protonDeficit + ' frac: ' + frac + ' pH: ' + pHa);
+
+   deltapH = 0.001;
+   deltapd = 0.1;
+   pd = Round(ProtonDeficit(pHa), 6);
+   n = 0;
+   while (((pd < (protonDeficit - deltapd)) || (pd > (protonDeficit + deltapd))) && (n < 4000)) {
      n++;
      if (pd < (protonDeficit - deltapd))
       pHa -= deltapH;
      else if (pd > (protonDeficit + deltapd))
       pHa += deltapH;
-     frac = CalcFrac(pHa, pK1, pK2, pK3);
+     frac = CalcFrac(pHa, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
      protonDeficit = Acid * frac;
      pd = ProtonDeficit(pHa);
-    }
-    console.log('n: ' + n + ' pd: ' + pd + ' protonDeficit: ' + protonDeficit + ' frac: ' + frac + ' pHa: ' + pHa);
-    RA = wg_bicarbonate - protonDeficit * frac / liters;
-    bicarbonate = RA;
-    total_alkalinity = RA * 50 / 61;
-    ph = pHa;
-    $('#wb_ph').val(Round(ph, 1));
-    $('#est_mash_ph').val(Round(ph, 1));
    }
+   //console.log('n: ' + n + ' pd: ' + pd + ' protonDeficit: ' + protonDeficit + ' frac: ' + frac + ' pHa: ' + pHa);
+   RA = wg_bicarbonate - protonDeficit * frac / liters;
+   bicarbonate = RA;
+   total_alkalinity = RA * 50 / 61;
+   ph = pHa;
+   $('#wb_ph').val(Round(ph, 2));
+   $('#est_mash_ph').val(Round(ph, 2));
   }
 
-  if ((AT == 3) && (liters > 0)) {        // Sulfuctic / Zwavelzuur
+  if ((AT == 3) && (liters > 0)) {        // Sulfuric / Zwavelzuur
    RA = parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 +
         parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4 +
         Acidmg / 1000 * MMSO4 / (MMSO4 + 2);
@@ -3073,39 +3162,50 @@
    chloride = wg_chloride + RA;
   }
 
-  // 2:1 Sulfate to Chroride IPA's, Pale Ales.
-  // 1:1 Sulfate to Chloride Balanced
-  // 1:2 Sulfate to Chloride Malty
-  // Note, values below are the other way, cl to so4!
-  // So: 0.5 is IPA's, Pale Ales.
-  //       1 Balanced
-  //       2 Malty.
-  $('#tgt_bu').val(Round(GetBUGU(), 2));
+  var BUGU = GetBUGU();
+  $('#tgt_bu').val(Round(BUGU, 2));
   // From brouwhulp.
-  if (GetBUGU() < 0.32)
+  if (BUGU < 0.32)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig en zoet</span>");
-  else if (GetBUGU() < 0.43)
+  else if (BUGU < 0.43)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig, zoet</span>");
-  else if (GetBUGU() < 0.52)
+  else if (BUGU < 0.52)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>");
-  else if (GetBUGU() < 0.63)
+  else if (BUGU < 0.63)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht hoppig, bitter</span>");
   else
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Extra hoppig, zeer bitter</span>");
-  $('#tgt_cl_so4').val(Round(GetOptClSO4ratio(), 1));
-  if (sulfate > 0)
-   RA = chloride / sulfate;
+
+  // Sulfate to Chloride ratio (Palmer).
+  var OptSO4Clratio = GetOptSO4Clratio();
+  $('#tgt_so4_cl').val(Round(OptSO4Clratio, 1));
+  if (OptSO4Clratio < 0.4)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Te moutig</span>");
+  else if (OptSO4Clratio < 0.6)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig</span>");
+  else if (OptSO4Clratio < 0.8)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig</span>");
+  else if (OptSO4Clratio < 1.5)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Gebalanceerd</span>");
+  else if (OptSO4Clratio < 2.0)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht bitter</span>");
+  else if (OptSO4Clratio < 4.0)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Bitter</span>");
+  else if (OptSO4Clratio < 9.0)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer bitter</span>");
+  else
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Te bitter</span>");
+  if (chloride > 0)
+   RA = sulfate / chloride;
   else
    RA = 10;
-  $('#got_cl_so4').val(Round(RA, 1));
-  piCLSO4_low = 0.8 * GetOptClSO4ratio();
-  piCLSO4_high = 1.2 * GetOptClSO4ratio();
+  $('#got_so4_cl').val(Round(RA, 1));
   Res = 'normaal';
-  if (RA < piCLSO4_low)
+  if (RA < (0.8 * OptSO4Clratio))
    Res = 'laag';
-  else if (RA > piCLSO4_high)
+  else if (RA > (1.2 * OptSO4Clratio))
    Res = 'hoog';
-  setRangeIndicator('cl_so4', Res);
+  setRangeIndicator('so4_cl', Res);
 
   $('#wb_calcium').val(Round(calcium, 1));
   $('#wb_magnesium').val(Round(magnesium, 1));
@@ -3121,10 +3221,12 @@
   } else {
    setRangeIndicator('calcium', 'normaal');
   }
-  if (magnesium >= 0 && magnesium <= 30) {
+  if (magnesium < 10) {
+   setRangeIndicator('magnesium', 'laag');
+  } else if (magnesium > 30) {
+   setRangeIndicator('magnesium', 'hoog');
+  } else {
    setRangeIndicator('magnesium', 'normaal');
-  } else {
-   setRangeIndicator('magnesium', 'hoog');
   }
   if (sodium <= 150) {
    setRangeIndicator('sodium', 'normaal');
@@ -3161,13 +3263,10 @@
 
  function calcSparge() {
 
-  var TargetpH, Source_pH, Source_alkalinity, r1, r2, d, f1, f3, r143, r243, d43, f143, f343,
-  alkalinity, Ct, r1g, r2g, dg, f1g, f3g, Acid, AT, result, pK1, pK2, pK3, MolWt, AcidSG, AcidPrc, fract;
-
-  // Code from BrewBuddy/Brouwhulp, who got it from http://www.brewery.org/brewery/library/Acidi0,00fWaterAJD0497.html
-  TargetpH = dataRecord.sparge_ph;
-  Source_pH = dataRecord.w1_ph;
-  Source_alkalinity = dataRecord.w1_total_alkalinity;
+  /* Based on the work of ajDeLange. */
+  var TargetpH = dataRecord.sparge_ph;
+  var Source_pH = dataRecord.w1_ph;
+  var Source_alkalinity = dataRecord.w1_total_alkalinity;
   // Select watersource or fallback to the first source.
   if (dataRecord.sparge_source == 1) {    // Source 2
    if (dataRecord.w2_ph > 0.0) {
@@ -3179,73 +3278,62 @@
    }
   } else if (dataRecord.sparge_source == 2) {     // Mixed
    if (dataRecord.w2_ph > 0.0) {
-    Source_pH = parseFloat($('#wg_ph').jqxNumberInput('decimal'));
-    Source_alkalinity = parseFloat($('#wg_total_alkalinity').jqxNumberInput('decimal'));
+    Source_pH = parseFloat(dataRecord.wg_ph);
+    Source_alkalinity = parseFloat(dataRecord.wg_total_alkalinity);
    } else {
     dataRecord.sparge_source = 0;
     $('#sparge_source').val(0);
    }
   }
 
-  // Step 1: Compute the mole fractions of carbonic (f1o), bicarbonate (f2o) and carbonate(f3o) at the water pH
-  r1 = Math.pow(10, Source_pH - 6.38);
-  r2 = Math.pow(10, Source_pH - 10.373);
-  d = 1 + r1 + r1 * r2;
-  f1 = 1 / d;
-  f3 = r1 * r2 / d;
+  // Step 1: Compute the mole fractions of carbonic (f1) and carbonate(f3) at the source water pH
+  var r1 = Math.pow(10, Source_pH - 6.35);
+  var r2 = Math.pow(10, Source_pH - 10.33);
+  var d = 1 + r1 + r1 * r2;
+  var f1 = 1 / d;
+  var f3 = r1 * r2 / d;
 
   //Step 2. Compute the mole fractions at pH = 4.3 (the pH which defines alkalinity)
-  r143 = Math.pow(10, 4.3 - 6.38);
-  r243 = Math.pow(10, 4.3 - 10.373);
-  d43 = 1 + r143 + r143 * r243;
-  f143 = 1 / d43;
-  f343 = r143 * r243 / d43;
-
-  //Step 3. Convert the water alkalinity to milliequivalents/L
-  alkalinity = Source_alkalinity / 50;
+  var r143 = Math.pow(10, 4.3 - 6.35);
+  var r243 = Math.pow(10, 4.3 - 10.33);
+  var d43 = 1 + r143 + r143 * r243;
+  var f143 = 1 / d43;
+  var f343 = r143 * r243 / d43;
 
   //Step 4. Solve
-  Ct = (alkalinity - 1000 * (Math.pow(10, -4.3) - Math.pow(10, -Source_pH))) / ((f143 - f1) + (f3 - f343));
+  var Ct = Source_alkalinity / 50 / ((f143 - f1) + (f3 - f343));
 
   //Step 5. Compute mole fractions at desired pH
-  r1g = Math.pow(10, TargetpH - 6.38);
-  r2g = Math.pow(10, TargetpH - 10.373);
-  dg = 1 + r1g + r1g * r2g;
-  f1g = 1 / dg;
-  f3g = r1g * r2g / dg;
+  var r1g = Math.pow(10, TargetpH - 6.35);
+  var r2g = Math.pow(10, TargetpH - 10.33);
+  var dg = 1 + r1g + r1g * r2g;
+  var f1g = 1 / dg;
+  var f3g = r1g * r2g / dg;
 
   //Step 6. Use these to compute the milliequivalents acid required per liter (mEq/L)
-  Acid = Ct * ((f1g - f1) + (f3 - f3g)) + Math.pow(10, -TargetpH) - Math.pow(10, -Source_pH);  //mEq/l
+  var Acid = Ct * ((f1g - f1) + (f3 - f3g)) + Math.pow(10, -TargetpH) - Math.pow(10, -Source_pH);  //mEq/l
   Acid += 0.01;   // Add acid that would be required for distilled water.
-  if (dataRecord.sparge_acid_type < 0 || dataRecord.sparge_acid_type > 3) {
+
+  //Step 8. Get the acid data.
+  var AT = dataRecord.sparge_acid_type;
+  if (AT < 0 || AT >= AcidTypeData.length) {
+   AT = 0;
    dataRecord.sparge_acid_type = 0;
    $('#sparge_acid_type').val(0);
+   dataRecord.sparge_acid_perc = AcidTypeData[0].AcidPrc;
+   $('#sparge_acid_perc').val(dataRecord.sparge_acid_perc);
   }
-
-  //Step 8. Get the acid data.
-  AT = dataRecord.sparge_acid_type;
-  result = GetAcidSpecs(AT);
-  pK1 = result.pK1;
-  pK2 = result.pK2;
-  pK3 = result.pK3;
-  MolWt = result.MolWt;
-  AcidSG = result.AcidSG;
-  AcidPrc = result.AcidPrc;
-  fract = CalcFrac(TargetpH, pK1, pK2, pK3);
+  var fract = CalcFrac(TargetpH, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
 
   //Step 9. Now divide the mEq required by the "fraction". This is the required number of moles of acid.
   Acid /= fract;
 
   //Step 10. Multiply by molecular weight of the acid
-  Acid *= MolWt; //mg
-
-  Acid = Acid / AcidSG; //ml ; 88% lactic solution
-  f1 = dataRecord.sparge_acid_perc;
-  if (f1 <= 0.1)
-   f1 = AcidPrc;
-  Acid = Acid * AcidPrc / (f1 / 100);
-
-  Acid *= dataRecord.sparge_volume; //ml lactic acid total
+  Acid *= AcidTypeData[AT].MolWt; //mg
+
+  //Step 11. Divide by Specific Gravity and Percentage to get the final ml.
+  Acid = Acid / AcidTypeData[AT].AcidSG / (dataRecord.sparge_acid_perc / 100); //ml
+  Acid *= dataRecord.sparge_volume; //ml acid total
   Acid = Round(Acid, 2);
   dataRecord.sparge_acid_amount = Acid / 1000;
   $('#sparge_acid_amount').val(Acid);
@@ -3256,13 +3344,13 @@
   if (dataRecord.brew_fermenter_sg < 1.020)
    return;
   if ((dataRecord.primary_end_sg > 0.990) && (dataRecord.primary_end_sg < dataRecord.brew_fermenter_sg)) {
-   primary_svg = Round(100 * (dataRecord.brew_fermenter_sg - dataRecord.primary_end_sg) / (dataRecord.brew_fermenter_sg - 1), 1);
+   primary_svg = Round(calc_svg(dataRecord.brew_fermenter_sg, dataRecord.primary_end_sg), 1);
    $('#primary_svg').val(primary_svg);
    if ((dataRecord.secondary_end_sg > 0.990) && (dataRecord.secondary_end_sg < dataRecord.brew_fermenter_sg)) {
-    secondary_svg = Round(100 * (dataRecord.brew_fermenter_sg - dataRecord.secondary_end_sg) / (dataRecord.brew_fermenter_sg - 1), 1);
+    secondary_svg = Round(calc_svg(dataRecord.brew_fermenter_sg, dataRecord.secondary_end_sg), 1);
     $('#secondary_svg').val(secondary_svg);
     if ((dataRecord.fg > 0.990) && (dataRecord.fg < dataRecord.brew_fermenter_sg)) {
-     final_svg = Round(100 * (dataRecord.brew_fermenter_sg - dataRecord.fg) / (dataRecord.brew_fermenter_sg - 1), 1);
+     final_svg = Round(calc_svg(dataRecord.brew_fermenter_sg, dataRecord.fg), 1);
      $('#final_svg').val(final_svg);
      ABV = Round(abvol(dataRecord.brew_fermenter_sg, dataRecord.fg), 2);
      $('#final_abv').val(ABV);
@@ -3271,29 +3359,31 @@
   }
  }
 
- function ResCO2(CO2, T) {
+ function ResCO2(T) {
   var F = T * 1.8 + 32;
-  return 3.0378 - 0.050062 * F + 0.00026555 * F * F;
+  return Round(3.0378 - 0.050062 * F + 0.00026555 * F * F, 6);
  }
 
  function CarbCO2toS(CO2, T, SFactor) {
-  var sugar = SFactor * (CO2 - ResCO2(CO2, T)) / 0.286;
+  //var sugar = SFactor * (CO2 - ResCO2(CO2, T)) / 0.286;
+  var sugar = Round(SFactor * (CO2 - ResCO2(T)) * 4.014094, 6);
   if (sugar < 0)
    sugar = 0;
   return Round(sugar, 3);
  }
 
  function GetPressure(CO2, T1, T2) {
-  var P, V = CO2 - ResCO2(CO2, T1);
+  var P, V = CO2 - ResCO2(T1);
+  V = CO2; // TODO: temp only total pressure, testing
   if (V < 0)
    return 0;
   P = -1.09145427669121 + 0.00800006989646477 * T2 + 0.000260276315484684 * T2 * T2 + 0.0215142075945119 * T2 * V +
       0.674996600795854 * V + -0.00471757220150754 * V * V;
-  //console.log("CO2: "+CO2+" "+V+"  Temp: "+T1+" "+T2+"  Pressure: "+P);
   if (P < 0)
    P = 0;
-  P = P * 1.01325; // atm to bar
-  return Round(P, 1);
+  P = Round(P * 1.01325, 2); // atm to bar
+  console.log("GetPressure(" + CO2 + ", " + T1 + ", " + T2 + ")  V:" + V + "  Bar: " + P + " ignored ResCO2: " + ResCO2(T1));
+  return P;
  }
 
  function CarbCO2ToPressure(CO2, T) {
@@ -3359,35 +3449,35 @@
   // Kegs
   Pressure = CarbCO2ToPressure(dataRecord.keg_carbonation, dataRecord.keg_carbonation_temp);
   if (Pressure < 0)
-                 Pressure = 0;
+   Pressure = 0;
   dataRecord.keg_pressure = Pressure;
   $('#keg_pressure').val(Round(Pressure, 1));
 
   dataRecord.keg_priming_amount = 0;
   dataRecord.keg_priming_total = 0;
   if (!dataRecord.keg_forced_carb) {
-                        for (i = 0; i < rows.length; i++) {
-                                row = rows[i];
-                                if (row.f_added == 5) {
-                                        SFactor = 1 / ((row.f_yield / 100) * (1 - row.f_moisture / 100));
-                                        dataRecord.keg_priming_amount = CarbCO2toS(dataRecord.keg_carbonation, TSec, SFactor);
-                                        dataRecord.keg_priming_total = Round(dataRecord.keg_amount * dataRecord.keg_priming_amount, 2);
-                                        $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', dataRecord.keg_priming_total / 1000);
-                                }
-                        }
-                        $('#keg_priming_amount').val(Round(dataRecord.keg_priming_amount, 1));
-                        $('#keg_priming_total').val(dataRecord.keg_priming_total);
-                        pabv = ABV + dataRecord.keg_priming_amount * 0.47 / 7.907;
-                        pvol = dataRecord.keg_amount - (pabv * dataRecord.keg_amount) / 100;
-                        talc = dataRecord.keg_amount - pvol;
-                        tvol = pvol + dataRecord.keg_priming_water;
-                        kabv = Round(talc / (tvol + talc) * 100, 2);
-                        //console.log("kegs  pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.keg_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+kabv);
-                        $('#keg_abv').val(kabv);
+   for (i = 0; i < rows.length; i++) {
+    row = rows[i];
+    if (row.f_added == 5) {
+     SFactor = 1 / ((row.f_yield / 100) * (1 - row.f_moisture / 100));
+     dataRecord.keg_priming_amount = CarbCO2toS(dataRecord.keg_carbonation, TSec, SFactor);
+     dataRecord.keg_priming_total = Round(dataRecord.keg_amount * dataRecord.keg_priming_amount, 2);
+     $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', dataRecord.keg_priming_total / 1000);
+    }
+   }
+   $('#keg_priming_amount').val(Round(dataRecord.keg_priming_amount, 1));
+   $('#keg_priming_total').val(dataRecord.keg_priming_total);
+   pabv = ABV + dataRecord.keg_priming_amount * 0.47 / 7.907;
+   pvol = dataRecord.keg_amount - (pabv * dataRecord.keg_amount) / 100;
+   talc = dataRecord.keg_amount - pvol;
+   tvol = pvol + dataRecord.keg_priming_water;
+   kabv = Round(talc / (tvol + talc) * 100, 2);
+   //console.log("kegs  pabv:"+pabv+" pvol:"+pvol+" wvol:"+dataRecord.keg_priming_water+" tvol:"+tvol+" talc:"+talc+" abv:"+kabv);
+   $('#keg_abv').val(kabv);
   } else {
-                        $('#keg_priming_amount').val(0);
-                        $('#keg_priming_total').val(0);
-                        $('#keg_abv').val(ABV);
+   $('#keg_priming_amount').val(0);
+   $('#keg_priming_total').val(0);
+   $('#keg_abv').val(ABV);
   }
  }
 
@@ -3497,11 +3587,10 @@
    $('#sparge_source').jqxDropDownList({ disabled: true });
    $('#sparge_acid_type').jqxDropDownList({ disabled: true });
    $('#sparge_acid_perc').jqxNumberInput({ spinButtons: false, readOnly: true, width: false });
-   $('#starter_enable').jqxCheckBox({ disabled: true });
    $('#starter_type').jqxDropDownList({ disabled: true });
    $('#starter_try').jqxButton({ disabled: true });
    $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
-   $('#starter_viability').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+   $('#yeast_prod_date').jqxDateTimeInput({ disabled: true });
   }
   if (dataRecord.stage > 3) { // Primary fermentation done
    $('#brew_date_start').jqxDateTimeInput({ disabled: true });
@@ -3527,6 +3616,28 @@
    $('#brew_aeration_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
    $('#brew_fermenter_extrawater').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
    $('#brew_aeration_speed').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+   $('#but_pre_boil').jqxButton({ disabled: true });
+   $('#but_after_boil').jqxButton({ disabled: true });
+  } else {
+   if (dataRecord.boil_time == 0) {
+    $('#brew_preboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_aboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_preboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_aboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_preboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#brew_aboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#but_pre_boil').jqxButton({ disabled: true });
+    $('#but_after_boil').jqxButton({ disabled: true });
+   } else {
+    $('#brew_preboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_aboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_preboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_aboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_preboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#brew_aboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
+    $('#but_pre_boil').jqxButton({ disabled: false });
+    $('#but_after_boil').jqxButton({ disabled: false });
+   }
   }
   if (dataRecord.stage == 5) // Lagering, allow packaging
    $('#package_date').jqxDateTimeInput({ disabled: false });
@@ -3595,38 +3706,26 @@
    $('#starter_type').jqxDropDownList({ disabled: false });
    $('#starter_try').jqxButton({ disabled: false });
    $('#starter_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
-   $('#starter_viability').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
   } else {
    $('#propagator').hide();
    $('#starter_type').jqxDropDownList({ disabled: true });
    $('#starter_try').jqxButton({ disabled: true });
    $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
-   $('#starter_viability').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
   }
  }
 
  function calcInit() {
-  console.log('calcInit()');
 
   calcMashEfficiency();
   calcEfficiencyBeforeBoil();
   calcEfficiencyAfterBoil();
 
-  $('#starter_enable').on('checked', function(event) {
-   dataRecord.starter_enable = 1;
-   showStarter();
-   calcYeast();
-  });
-  $('#starter_enable').on('unchecked', function(event) {
-   dataRecord.starter_enable = 0;
-   showStarter();
-   calcYeast();
-  });
   $('#starter_try').click(function() {
    $('#prop1_volume').val(0);
    $('#prop2_volume').val(0);
    $('#prop3_volume').val(0);
    $('#prop4_volume').val(0);
+   dataRecord.prop1_volume = dataRecord.prop2_volume = dataRecord.prop3_volume = dataRecord.prop4_volume = 0;
    calcYeast();
   });
   $('#starter_type').on('change', function(event) {
@@ -3641,13 +3740,6 @@
     calcYeast();
    }
   });
-  $('#starter_viability').on('change', function(event) {
-   if (event.args) {
-    dataRecord.starter_viability = event.args.value;
-    calcFermentables();
-    calcYeast();
-   }
-  });
   $('#prop1_type').on('change', function(event) {
    if (event.args) {
     dataRecord.prop1_type = event.args.index;
@@ -3731,7 +3823,7 @@
   });
   $('#wa_cacl2').on('change', function(event) {
    if (event.args) {
-    setWaterAgent('CaCl2', 0);      // This can prevent double entries.
+    setWaterAgent('CaCl2', 0);      // This prevents double entries.
     setWaterAgent('CaCl2', event.args.value);
     calcWater();
    }
@@ -3757,7 +3849,7 @@
     calcWater();
    }
   });
-  $('#wa_base_name').on('change', function(event) {
+  $('#wa_base_name').on('select', function(event) {
    if (event.args) {
     var index = event.args.index;
     console.log('wa_base_name ' + index);
@@ -3773,29 +3865,34 @@
    setWaterAgent(name, parseFloat(event.args.value));
    calcWater();
   });
-  $('#wa_acid_name').on('change', function(event) {
+  $('#wa_acid_name').on('select', function(event) {
    if (event.args) {
     var index = event.args.index;
-    console.log('wa_acid_name ' + index);
+    console.log('wa_acid_name ' + index + ' last_acid: ' + last_acid);
     setWaterAgent(last_acid, 0);
     last_acid = AcidTypeData[index].nl;
+    dataRecord.wa_acid_name = index;
+    dataRecord.wa_acid_perc = AcidTypeData[index].AcidPrc;
+    $('#wa_acid_perc').val(dataRecord.wa_acid_perc);
+    calcWater();
     setWaterAgent(last_acid, parseFloat($('#wa_acid').jqxNumberInput('decimal')));
-    dataRecord.wa_acid_name = index;
-    calcWater();
    }
   });
   $('#wa_acid').on('change', function(event) {
-   var name = AcidTypeData[$('#wa_acid_name').val()].nl;
+   var name = AcidTypeData[dataRecord.wa_acid_name].nl;
    setWaterAgent(name, parseFloat(event.args.value));
    calcWater();
   });
-  $('#wa_acid_perc').on('change', function(event) { calcWater(); });
-
-  $('#color_method').on('change', function(event) {
+  $('#wa_acid_perc').on('change', function(event) {
+   dataRecord.wa_acid_perc = parseFloat(event.args.value);
+   calcWater();
+  });
+
+  $('#color_method').on('select', function(event) {
    dataRecord.color_method = event.args.index;
    calcFermentables();
   });
-  $('#ibu_method').on('change', function(event) {
+  $('#ibu_method').on('select', function(event) {
    dataRecord.ibu_method = event.args.index;
    calcFermentables();
    calcIBUs();
@@ -3804,11 +3901,11 @@
   $('#batch_size').on('change', function(event) {
    console.log('batch_size change:' + event.args.value + ' old:' + dataRecord.batch_size);
    $('#est_a_vol').val(event.args.value * 1.04);
-   var factor, new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size;
-   factor = parseFloat(event.args.value) / dataRecord.batch_size;
-   dataRecord.boil_size = new_boil;
-   $('#boil_size').val(Round(new_boil, 2));
-   $('#est_pre_vol').val(Round(new_boil * 1.04, 2));
+   var evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * dataRecord.boil_time / 60;
+   dataRecord.boil_size = parseFloat(event.args.value) + evap;
+   var factor = parseFloat(event.args.value) / dataRecord.batch_size;
+   $('#boil_size').val(Round(dataRecord.boil_size, 2));
+   $('#est_pre_vol').val(Round(dataRecord.boil_size * 1.04, 2));
    dataRecord.sparge_volume *= factor;
    $('#sparge_volume').val(dataRecord.sparge_volume);
    $('#brew_sparge_volume').val(dataRecord.sparge_volume);
@@ -3825,17 +3922,20 @@
    calcMash();
   });
   $('#boil_time').on('change', function(event) {
-   console.log('boil_time change:' + parseFloat(event.args.value) + ' old:' + dataRecord.boil_time);
-   var new_boil, new_evap, old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size);
-   new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time);
-   new_boil = parseFloat(dataRecord.batch_size) + new_evap;
-   dataRecord.boil_time = parseFloat(event.args.value);
-   dataRecord.boil_size = new_boil;
-   $('#est_pre_vol').val(Round(new_boil * 1.04, 2));
-   $('#boil_size').val(Round(new_boil, 2));
+   var new_time, old_time, new_evap;
+   old_time = parseFloat(dataRecord.boil_time);
+   new_time = parseFloat(event.args.value);
+   console.log('boil_time change:' + new_time + ' old:' + old_time);
+   new_evap = parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')) * new_time / 60;
+   dataRecord.boil_size = parseFloat(dataRecord.batch_size) + new_evap;
+   dataRecord.boil_time = new_time;
+   $('#est_pre_vol').val(Round(dataRecord.boil_size * 1.04, 2));
+   $('#boil_size').val(Round(dataRecord.boil_size, 2));
    calcFermentables();
    calcIBUs();
    calcYeast();
+   calcStage();
+   kookTijd();
   });
   $('#efficiency').on('change', function(event) {
    var estog = parseFloat($('#est_og').jqxNumberInput('decimal'));
@@ -3874,16 +3974,18 @@
    dataRecord.sparge_temp = parseFloat(event.args.value);
    $('#brew_sparge_temperature').val(dataRecord.sparge_temp);
   });
-  $('#sparge_source').on('change', function(event) {
+  $('#sparge_source').on('select', function(event) {
    if (event.args) {
     dataRecord.sparge_source = event.args.index;
     calcSparge();
    }
   });
-  $('#sparge_acid_type').on('change', function(event) {
+  $('#sparge_acid_type').on('select', function(event) {
    if (event.args) {
     dataRecord.sparge_acid_type = event.args.index;
     console.log('new sparge_acid_type: ' + dataRecord.sparge_acid_type);
+    dataRecord.sparge_acid_perc = AcidTypeData[event.args.index].AcidPrc;
+    $('#sparge_acid_perc').val(dataRecord.sparge_acid_perc);
     calcSparge();
    }
   });
@@ -3902,34 +4004,32 @@
     $('#package_volume').val(dataRecord.package_volume);
    }
    tnew = dataRecord.package_volume + dataRecord.package_infuse_amount;
-   diff = tnew - told;
+   diff = Round(tnew - told, 3);
    if (told > 0) {
-    dataRecord.bottle_amount += (dataRecord.bottle_amount / told) * diff;
-    dataRecord.keg_amount += (dataRecord.keg_amount / told) * diff;
+    dataRecord.bottle_amount = Round(dataRecord.bottle_amount + ((dataRecord.bottle_amount / told) * diff), 3);
+    dataRecord.keg_amount = Round(dataRecord.keg_amount + ((dataRecord.keg_amount / told) * diff), 3);
    } else {
     dataRecord.bottle_amount = tnew;
     dataRecord.keg_amount = 0;
    }
-   console.log('diff:' + diff + ' old:' + told + ' bottle:' + dataRecord.bottle_amount + ' keg:' + dataRecord.keg_amount);
-   $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount * 1000) / 1000);
-   $('#keg_amount').val(parseFloat(dataRecord.keg_amount * 1000) / 1000);
+   $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
+   $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
    calcCarbonation();
   });
   $('#package_infuse_amount').on('change', function(event) {
    var diff, tnew, told = dataRecord.package_volume + dataRecord.package_infuse_amount;
    dataRecord.package_infuse_amount = parseFloat(event.args.value);
    tnew = dataRecord.package_volume + dataRecord.package_infuse_amount;
-   diff = tnew - told;
+   diff = Round(tnew - told, 3);
    if (told > 0) {
-    dataRecord.bottle_amount += (dataRecord.bottle_amount / told) * diff;
-    dataRecord.keg_amount += (dataRecord.keg_amount / told) * diff;
+    dataRecord.bottle_amount = Round(dataRecord.bottle_amount + ((dataRecord.bottle_amount / told) * diff), 3);
+    dataRecord.keg_amount = Round(dataRecord.keg_amount + ((dataRecord.keg_amount / told) * diff), 3);
    } else {
     dataRecord.bottle_amount = tnew;
     dataRecord.keg_amount = 0;
    }
-   console.log('diff:' + diff + ' old:' + told + ' bottle:' + dataRecord.bottle_amount + ' keg:' + dataRecord.keg_amount);
-   $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount * 1000) / 1000);
-   $('#keg_amount').val(parseFloat(dataRecord.keg_amount * 1000) / 1000);
+   $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
+   $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
    calcCarbonation();
   });
   $('#package_infuse_abv').on('change', function(event) {
@@ -3937,15 +4037,13 @@
    calcCarbonation();
   });
   $('#bottle_amount').on('change', function(event) {
-   var vtot, diff, vnew = parseFloat(event.args.value);
-   vtot = dataRecord.package_volume + dataRecord.package_infuse_amount;
+   var vtot, vnew = parseFloat(event.args.value);
+   vtot = Round(dataRecord.package_volume + dataRecord.package_infuse_amount - dataRecord.keg_amount, 3);
    if (vnew > vtot)
     vnew = vtot;
-   diff = dataRecord.bottle_amount - vnew;
-   dataRecord.bottle_amount = Math.round((dataRecord.bottle_amount - diff) * 1000) / 1000;
-   dataRecord.keg_amount = Math.round((dataRecord.keg_amount + diff) * 1000) / 1000;
+   dataRecord.bottle_amount = Round(vnew, 3);
    $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
-   $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
+   console.log('vtot:' + vtot + ' vnew:' + vnew + ' bottle:' + dataRecord.bottle_amount + ' keg:' + dataRecord.keg_amount);
    calcCarbonation();
   });
   $('#bottle_priming_water').on('change', function(event) {
@@ -3953,15 +4051,13 @@
    calcCarbonation();
   });
   $('#keg_amount').on('change', function(event) {
-   var diff, vtot, vnew = parseFloat(event.args.value);
-   vtot = dataRecord.package_volume + dataRecord.package_infuse_amount;
+   var vtot, vnew = parseFloat(event.args.value);
+   vtot = Round(dataRecord.package_volume + dataRecord.package_infuse_amount - dataRecord.bottle_amount, 3);
    if (vnew > vtot)
     vnew = vtot;
-   diff = dataRecord.keg_amount - vnew;
-   dataRecord.bottle_amount = Math.round((dataRecord.bottle_amount + diff) * 1000) / 1000;
-   dataRecord.keg_amount = Math.round((dataRecord.keg_amount - diff) * 1000) / 1000;
-   $('#bottle_amount').val(parseFloat(dataRecord.bottle_amount));
+   dataRecord.keg_amount = Round(vnew, 3);
    $('#keg_amount').val(parseFloat(dataRecord.keg_amount));
+   console.log('vtot:' + vtot + ' vnew:' + vnew + ' bottle:' + dataRecord.bottle_amount + ' keg:' + dataRecord.keg_amount);
    calcCarbonation();
   });
   $('#keg_priming_water').on('change', function(event) {
@@ -4014,9 +4110,7 @@
    if (dataRecord.brew_fermenter_sg >= 1.020) {
     OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
     FBrix = parseFloat(event.args.value);
-    FG = Round(1.0031 - 0.002318474 * OBrix - 0.000007775 * (OBrix * OBrix) - 0.000000034 * Math.pow(OBrix, 3) +
-         0.00574 * (FBrix) + 0.00003344 * (FBrix * FBrix) + 0.000000086 * Math.pow(FBrix, 3), 4);
-    //console.log("OBrix:"+OBrix+" FBrix:"+FBrix+" FG:"+FG);
+    FG = brix_to_fg(OBrix, FBrix);
     if (FBrix > 0.05) {
      $('#primary_end_sg').val(FG);
      dataRecord.primary_end_sg = FG;
@@ -4033,9 +4127,7 @@
    if (dataRecord.brew_fermenter_sg >= 1.020) {
     OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
     FBrix = parseFloat(event.args.value);
-    FG = Round(1.0031 - 0.002318474 * OBrix - 0.000007775 * (OBrix * OBrix) - 0.000000034 * Math.pow(OBrix, 3) +
-         0.00574 * (FBrix) + 0.00003344 * (FBrix * FBrix) + 0.000000086 * Math.pow(FBrix, 3), 4);
-    //console.log("OBrix:"+OBrix+" FBrix:"+FBrix+" FG:"+FG);
+    FG = brix_to_fg(OBrix, FBrix);
     if (FBrix > 0.05) {
      $('#secondary_end_sg').val(FG);
      dataRecord.secondary_end_sg = FG;
@@ -4046,12 +4138,10 @@
   $('#final_brix').on('change', function(event) {
    var OBrix, FBrix, FG;
    if (dataRecord.brew_fermenter_sg >= 1.020) {
-   OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
-   FBrix = parseFloat(event.args.value);
-   FG = Round(1.0031 - 0.002318474 * OBrix - 0.000007775 * (OBrix * OBrix) - 0.000000034 * Math.pow(OBrix, 3) +
-        0.00574 * (FBrix) + 0.00003344 * (FBrix * FBrix) + 0.000000086 * Math.pow(FBrix, 3), 4);
-   //console.log("OBrix:"+OBrix+" FBrix:"+FBrix+" FG:"+FG);
-   if (FBrix > 0.05) {
+    OBrix = sg_to_brix(dataRecord.brew_fermenter_sg);
+    FBrix = parseFloat(event.args.value);
+    FG = brix_to_fg(OBrix, FBrix);
+    if (FBrix > 0.05) {
      $('#fg').val(FG);
      dataRecord.fg = FG;
     }
@@ -4062,8 +4152,25 @@
    dataRecord.fg = parseFloat(event.args.value);
    calcFermentation();
   });
+  $('#brew_whirlpool9').on('valueChanged', function(event) {
+   dataRecord.brew_whirlpool9 = event.args.value;
+   whirlpoolHops();
+   calcIBUs();
+  });
+  $('#brew_whirlpool7').on('valueChanged', function(event) {
+   dataRecord.brew_whirlpool7 = event.args.value;
+   whirlpoolHops();
+   calcIBUs();
+  });
+  $('#brew_whirlpool6').on('valueChanged', function(event) {
+   dataRecord.brew_whirlpool6 = event.args.value;
+   whirlpoolHops();
+   calcIBUs();
+  });
   $('#BLog').jqxButton({ disabled: (dataRecord.log_brew) ? false : true});
   $('#FLog').jqxButton({ disabled: (dataRecord.log_fermentation) ? false : true});
+  $('#ILog').jqxButton({ disabled: (dataRecord.log_ispindel) ? false : true});
+  $('#CLog').jqxButton({ disabled: (dataRecord.log_co2pressure) ? false : true});
  }
 
  $('#styleSelect').jqxDropDownList({
@@ -4189,6 +4296,8 @@
    notes: $('#notes').val(),
    log_brew: dataRecord.log_brew,
    log_fermentation: dataRecord.log_fermentation,
+   log_ispindel: dataRecord.log_ispindel,
+   log_co2pressure: dataRecord.log_co2pressure,
    inventory_reduced: dataRecord.inventory_reduced,
    locked: dataRecord.locked,
    eq_name: $('#eq_name').val(),
@@ -4310,6 +4419,7 @@
    boil_time: parseFloat($('#boil_time').jqxNumberInput('decimal')),
    efficiency: parseFloat($('#efficiency').jqxNumberInput('decimal')),
    est_og: parseFloat($('#est_og').jqxNumberInput('decimal')),
+   est_og3: parseFloat($('#est_og3').jqxNumberInput('decimal')),
    est_fg: parseFloat($('#est_fg').jqxNumberInput('decimal')),
    est_abv: parseFloat($('#est_abv').jqxNumberInput('decimal')),
    est_color: parseFloat($('#est_color').jqxNumberInput('decimal')),
@@ -4362,13 +4472,14 @@
    wb_magnesium: parseFloat($('#wb_magnesium').jqxNumberInput('decimal')),
    wb_total_alkalinity: parseFloat($('#wb_total_alkalinity').jqxNumberInput('decimal')),
    wb_ph: parseFloat($('#wb_ph').jqxNumberInput('decimal')),
-   wa_acid_name: $('#wa_acid_name').val(),
+   wa_acid_name: parseInt($('#wa_acid_name').val()),
    wa_acid_perc: parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')),
-   wa_base_name: $('#wa_base_name').val(),
+   wa_base_name: parseInt($('#wa_base_name').val()),
    starter_enable: dataRecord.starter_enable,
    starter_type: $('#starter_type').val(),
    starter_sg: parseFloat($('#starter_sg').jqxNumberInput('decimal')),
    starter_viability: parseFloat($('#starter_viability').jqxNumberInput('decimal')),
+   yeast_prod_date: $('#yeast_prod_date').val(),
    prop1_type: $('#prop1_type').val(),
    prop1_volume: parseFloat($('#prop1_volume').jqxNumberInput('decimal')),
    prop2_type: $('#prop2_type').val(),
@@ -4379,7 +4490,9 @@
    prop4_volume: parseFloat($('#prop4_volume').jqxNumberInput('decimal')),
    divide_type: dataRecord.divide_type,
    divide_size: dataRecord.divide_size,
+   divide_factor: dataRecord.divide_factor,
    divide_parts: dataRecord.divide_parts,
+   divide_part: dataRecord.divide_part,
    fermentables: $('#fermentableGrid').jqxGrid('getrows'),
    hops: $('#hopGrid').jqxGrid('getrows'),
    miscs: $('#miscGrid').jqxGrid('getrows'),
@@ -4409,18 +4522,49 @@
   });
  };
 
- dataAdapter.dataBind();
-
  // initialize the input fields.
  // Tab 1, Algemeen
  $('#name').jqxTooltip({ content: 'De naam voor dit product.' });
- $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
  $('#code').jqxTooltip({ content: 'Product code nummer.' });
- $('#code').jqxInput({ theme: theme, width: 100, height: 23 });
  $('#birth').jqxTooltip({ content: 'De ontwerp datum van dit product.' });
- $('#birth').jqxInput({ theme: theme, width: 120, height: 23 });
  $('#stage').jqxTooltip({ content: 'De productie fase van dit product.' });
- $('#stage').jqxInput({ theme: theme, width: 100, height: 23 });
+ $('#divide_batch').jqxTooltip({ content: 'Het aantal extra gesplitste batches.' });
+ $('#divide_type').jqxTooltip({ content: 'Het splitsing moment in het productie proces.' });
+ $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit product.' });
+ $('#type').jqxTooltip({ content: 'Het brouw type van dit recept.' });
+ $('#efficiency').jqxTooltip({ content: 'Het rendement van maischen en koken.' });
+ $('#batch_size').jqxTooltip({ content: 'Het volume van het gekoelde wort na het koken.' });
+ $('#boil_time').jqxTooltip({ content: 'De kooktijd in minuten.' });
+ $('#boil_size').jqxTooltip({ content: 'Het volume van het wort voor het koken.' });
+ $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
+ $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
+ $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
+ $('#st_letter').jqxInput({ theme: theme, width: 90, height: 23 });
+ $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
+ $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
+ $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
+ $('#est_og').jqxTooltip({ content: 'Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend.' });
+ $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
+ $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
+ $('#est_fg').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
+ $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
+ $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
+ $('#est_abv').jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' });
+ $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
+ $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
+ $('#est_color').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
+ $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
+ $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
+ $('#est_ibu').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
+ $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
+ $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
+ $('#kcal').jqxTooltip({ content: 'Energie-inhoud in kcal/liter.' });
+ $('#est_carb').jqxTooltip({ content: 'Koolzuur volume. Dit wordt automatisch berekend.' });
+ $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
+ $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
+
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#code, #stage').jqxInput({ theme: theme, width: 100, height: 23 });
  $('#locked').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
  $('#locked').on('checked', function(event) {
   if (dataRecord.stage >= 10) {
@@ -4436,14 +4580,8 @@
    calcStage();
   }
  });
- $('#divide_parts').jqxTooltip({ content: 'Het aantal gesplitste brouw producten.' });
- $('#divide_parts').jqxNumberInput(Show0dec);
- $('#divide_type').jqxTooltip({ content: 'Het splitsing moment in het productie proces.' });
- $('#divide_type').jqxInput({ theme: theme, width: 120, height: 23 });
-
- $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit product.' });
+ $('#birth,#divide_batch,#divide_type').jqxInput({ theme: theme, width: 120, height: 23 });
  $('#notes').jqxInput({ theme: theme, width: 960, height: 100 });
- $('#type').jqxTooltip({ content: 'Het brouw type van dit recept.' });
  $('#type').jqxDropDownList({
   theme: theme,
   source: RecipeTypeAdapter,
@@ -4453,57 +4591,17 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#efficiency').jqxTooltip({ content: 'Het rendement van maischen en koken.' });
  $('#efficiency').jqxNumberInput(Perc1dec);
- $('#batch_size').jqxTooltip({ content: 'Het volume van het gekoelde wort na het koken.' });
  $('#batch_size').jqxNumberInput(Spin1dec);
  $('#batch_size').jqxNumberInput({ min: 4 });
- $('#boil_time').jqxTooltip({ content: 'De kooktijd in minuten.' });
  $('#boil_time').jqxNumberInput(PosInt);
- $('#boil_time').jqxNumberInput({ min: 4, max: 360 });
- $('#boil_size').jqxTooltip({ content: 'Het volume van het wort voor het koken.' });
+ $('#boil_time').jqxNumberInput({ min: 0, max: 360 });
  $('#boil_size').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 2, readOnly: true });
-
- $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
- $('#st_guide').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
- $('#st_name').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
- $('#st_letter').jqxInput({ theme: theme, width: 90, height: 23 });
- $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
- $('#st_type').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
- $('#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
- $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
- $('#st_category_number').jqxNumberInput(Smal0dec);
-
- $('#est_og').jqxTooltip({ content: 'Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend.' });
+ $('#st_guide,#st_name,#st_type,#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
  $('#est_og').jqxNumberInput(SGopts);
- $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
- $('#st_og_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
- $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
- $('#st_og_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
-
- $('#est_fg').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
  $('#est_fg').jqxNumberInput(Show3dec);
- $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
- $('#st_fg_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
- $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
- $('#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
-
- $('#est_abv').jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' });
- $('#est_abv').jqxNumberInput(Smal1dec);
- $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
- $('#st_abv_min').jqxNumberInput(Smal1dec);
- $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
- $('#st_abv_max').jqxNumberInput(Smal1dec);
-
- $('#est_color').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
- $('#est_color').jqxNumberInput(Show0dec);
- $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
- $('#st_color_min').jqxNumberInput(Smal0dec);
- $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
- $('#st_color_max').jqxNumberInput(Smal0dec);
+ $('#st_og_min,#st_og_max,#st_fg_min,#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
+ $('#est_ibu,#est_color').jqxNumberInput(Show0dec);
  $('#color_method').jqxDropDownList({
   theme: theme,
   source: ColorMethodAdapter,
@@ -4513,12 +4611,7 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#est_ibu').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
- $('#est_ibu').jqxNumberInput(Show0dec);
- $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
- $('#st_ibu_min').jqxNumberInput(Smal0dec);
- $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
- $('#st_ibu_max').jqxNumberInput(Smal0dec);
+ $('#st_color_min,#st_color_max,#st_category_number,#st_ibu_min,#st_ibu_max,#kcal').jqxNumberInput(Smal0dec);
  $('#ibu_method').jqxDropDownList({
   theme: theme,
   source: IBUmethodAdapter,
@@ -4529,119 +4622,61 @@
   autoDropDownHeight: true,
   dropDownVerticalAlignment: 'top'
  });
- $('#kcal').jqxTooltip({ content: 'Energie-inhoud in kcal/liter.' });
- $('#kcal').jqxNumberInput(Smal0dec);
- $('#est_carb').jqxTooltip({ content: 'Koolzuur volume. Dit wordt automatisch berekend.' });
- $('#est_carb').jqxNumberInput(Smal1dec);
- $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
- $('#st_carb_min').jqxNumberInput(Smal1dec);
- $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
- $('#st_carb_max').jqxNumberInput(Smal1dec);
+ $('#est_abv,#st_abv_min,#st_abv_max,#est_carb,#st_carb_min,#st_carb_max').jqxNumberInput(Smal1dec);
 
  // Tab 2, Equipment
  $('#eq_name').jqxTooltip({ content: 'De naam van deze brouw apparatuur.' });
- $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
  $('#eq_boil_size').jqxTooltip({ content: 'Normaal kook volume in liters' });
- $('#eq_boil_size').jqxNumberInput(Show1dec);
  $('#eq_batch_size').jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' });
- $('#eq_batch_size').jqxNumberInput(Show1dec);
  $('#eq_tun_volume').jqxTooltip({ content: 'Maisch ketel volume.' });
- $('#eq_tun_volume').jqxNumberInput(Show1dec);
  $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' });
- $('#eq_top_up_water').jqxNumberInput(Show1dec);
  $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
- $('#eq_trub_chiller_loss').jqxNumberInput(Show1dec);
  $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' });
- $('#eq_evap_rate').jqxNumberInput(Show2dec);
- $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten.' });
- $('#eq_boil_time').jqxNumberInput(Show0dec);
+ $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten, 0 voor no-boil recepten.' });
  $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
- $('#eq_top_up_kettle').jqxNumberInput(Show1dec);
  $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
- $('#eq_hop_utilization').jqxNumberInput(Show0dec);
  $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });
- $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 200 });
  $('#eq_lauter_volume').jqxTooltip({ content: 'Filterkuip volume.' });
- $('#eq_lauter_volume').jqxNumberInput(Show1dec);
  $('#eq_lauter_deadspace').jqxTooltip({ content: 'Filterkuip verlies in liters.' });
- $('#eq_lauter_deadspace').jqxNumberInput(Show1dec);
  $('#eq_kettle_volume').jqxTooltip({ content: 'Kook ketel volume in liters.' });
- $('#eq_kettle_volume').jqxNumberInput(Show1dec);
  $('#eq_mash_volume').jqxTooltip({ content: 'Maisch water voor de eerste stap.' });
- $('#eq_mash_volume').jqxNumberInput(Show1dec);
  $('#eq_mash_max').jqxTooltip({ content: 'De maximale moutstort in Kg.' });
- $('#eq_mash_max').jqxNumberInput(Show1dec);
  $('#eq_efficiency').jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' });
- $('#eq_efficiency').jqxNumberInput(Show1dec);
+
+ $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#eq_evap_rate').jqxNumberInput(Show2dec);
+ $('#eq_boil_time,#eq_hop_utilization').jqxNumberInput(Show0dec);
+ $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 200 });
+ $('#eq_boil_size,#eq_batch_size,#eq_tun_volume,#eq_top_up_water,#eq_trub_chiller_loss,#eq_top_up_kettle').jqxNumberInput(Show1dec);
+ $('#eq_lauter_volume,#eq_lauter_deadspace,#eq_kettle_volume,#eq_mash_volume,#eq_mash_max,#eq_efficiency').jqxNumberInput(Show1dec);
 
  // Tab 3, Fermentables
  $('#est_color2').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
+ $('#est_og2').jqxTooltip({ content: 'Het geschatte begin SG van dit product.' });
+ $('#mash_kg').jqxTooltip({ content: 'Het gewicht van alle mouten in de maisch.' });
+
  $('#est_color2').jqxNumberInput(Show0dec);
- $('#est_og2').jqxTooltip({ content: 'Het geschatte begin SG van dit product.' });
- $('#est_og2').jqxNumberInput(Show3dec);
- $('#mash_kg').jqxTooltip({ content: 'Het gewicht van alle mouten in de maisch.' });
- $('#mash_kg').jqxNumberInput(Show3dec);
+ $('#est_og2,#mash_kg').jqxNumberInput(Show3dec);
+
  $('#perc_malts').jqxProgressBar({
-  width: 300,
-  height: 23,
-  theme: theme,
-  showText: true,
-  max: 120,
-  animationDuration: 0,
-  colorRanges: [
-   { stop: 90, color: '#008C00' },
-   { stop: 100, color: '#EB7331' },
-   { stop: 120, color: '#FF0000' }
-  ],
-  renderText: function(text) {
-   return (Math.round(parseInt(text) * 1.2)) + '%';
-  }
+  width: 300, height: 23, theme: theme, showText: true, max: 120, animationDuration: 0,
+  colorRanges: [{ stop: 90, color: '#008C00' },{ stop: 100, color: '#EB7331' },{ stop: 120, color: '#FF0000' }],
+  renderText: function(text) { return (Math.round(parseInt(text) * 1.2)) + '%'; }
  });
  $('#perc_sugars').jqxProgressBar({
-  width: 300,
-  height: 23,
-  theme: theme,
-  showText: true,
-  max: 50,
-  animationDuration: 0,
-  colorRanges: [
-   { stop: 20, color: '#008C00' },
-   { stop: 50, color: '#FF0000' }
-  ],
-  renderText: function(text) {
-   return (Math.round(parseInt(text) * 5) / 10) + '%';
-  }
+  width: 300, height: 23, theme: theme, showText: true, max: 50, animationDuration: 0,
+  colorRanges: [{ stop: 20, color: '#008C00' },{ stop: 50, color: '#FF0000' }],
+  renderText: function(text) { return (Math.round(parseInt(text) * 5) / 10) + '%'; }
  });
  $('#perc_cara').jqxProgressBar({
-  width: 300,
-  height: 23,
-  theme: theme,
-  showText: true,
-  max: 50,
-  animationDuration: 0,
-  colorRanges: [
-   { stop: 25, color: '#008C00' },
-   { stop: 50, color: '#FF0000' }
-  ],
-  renderText: function(text) {
-   return (Math.round(parseInt(text) * 5) / 10) + '%';
-  }
+  width: 300, height: 23, theme: theme, showText: true, max: 50, animationDuration: 0,
+  colorRanges: [{ stop: 25, color: '#008C00' },{ stop: 50, color: '#FF0000' }],
+  renderText: function(text) { return (Math.round(parseInt(text) * 5) / 10) + '%'; }
  });
  $('#ferm_lintner').jqxProgressBar({
-  width: 300,
-  height: 23,
-  theme: theme,
-  showText: true,
-  max: 200,
-  animationDuration: 0,
-  colorRanges: [
-   { stop: 30, color: '#FF0000' },
-   { stop: 40, color: '#EB7331' },
-   { stop: 200, color: '#008C00' }
-  ],
-  renderText: function(text) {
-   return (parseInt(text) * 2) + ' lintner';
-  }
+  width: 300, height: 23, theme: theme, showText: true, max: 200, animationDuration: 0,
+  colorRanges: [{ stop: 30, color: '#FF0000' },{ stop: 40, color: '#EB7331' },{ stop: 200, color: '#008C00' }],
+  renderText: function(text) { return (parseInt(text) * 2) + ' lintner'; }
  });
  $('#popupFermentable').jqxWindow({
   width: 800,
@@ -4864,11 +4899,7 @@
  $('#est_ibu2').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
  $('#est_ibu2').jqxNumberInput(Smal0dec);
  $('#hop_flavour').jqxProgressBar({
-  width: 300,
-  height: 23,
-  theme: theme,
-  showText: true,
-  animationDuration: 0,
+  width: 300, height: 23, theme: theme, showText: true, animationDuration: 0,
   colorRanges: [
    { stop: 20, color: '#004D00' },
    { stop: 40, color: '#008C00' },
@@ -4891,8 +4922,7 @@
    }
  });
  $('#hop_aroma').jqxProgressBar({
-  width: 300, height: 23, theme: theme, showText: true,
-  animationDuration: 0,
+  width: 300, height: 23, theme: theme, showText: true, animationDuration: 0,
   colorRanges: [
    { stop: 20, color: '#004D00' },
    { stop: 40, color: '#008C00' },
@@ -4997,7 +5027,8 @@
   console.log('amount changed: ' + event.args.value + ' time:' + hopData.h_time + ' alpha:' + hopData.h_alpha);
   var ibu, amount = parseFloat(event.args.value) / 1000;
   ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-   amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val()
+   amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(),
+   dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6
   );
   hopData.h_amount = amount;
   $('#wh_ibu').val(ibu);
@@ -5013,12 +5044,6 @@
     $('#wh_time').val(newtime);
    }
    hopData.h_time = newtime;
-  } else if (hopData.h_useat == 4) { // Whirlpool
-   if (newtime > 120) {
-    newtime = 120;
-    $('#wh_time').val(newtime);
-   }
-   hopData.h_time = newtime;
   } else if (hopData.h_useat == 5) { // Dry hop
    if (newtime > 21) {
     newtime = 21;
@@ -5027,8 +5052,8 @@
    hopData.h_time = newtime * 1440;
   }
   ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-    parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val());
-  // console.log("time changed: "+newtime+" final:"+hopData.h_time+" ibu:"+ibu);
+    parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(),
+    dataRecord.brew_whirlpool9, dataRecord.brew_whirlpool7, dataRecord.brew_whirlpool6);
   $('#wh_ibu').val(ibu);
  });
  $('#wh_useat').jqxDropDownList({
@@ -5053,7 +5078,11 @@
     hopData.h_time = 0;
     $('#wh_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
     $('#wh_time').val(0);
-   } else {        // Boil, Whirlpool or Dry hop
+   } else if (index == 4) { // Whirlpool
+    hopData.h_time = (parseFloat(dataRecord.brew_whirlpool9) + parseFloat(dataRecord.brew_whirlpool7) + parseFloat(dataRecord.brew_whirlpool6));
+    $('#wh_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
+    $('#wh_time').val(hopData.h_time);
+   } else {        // Boil, Dry hop
     $('#wh_time').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
    }
    if (index == 5) // Dry hop
@@ -5171,15 +5200,21 @@
 
  // Tab 6, Yeasts
  $('#est_fg2').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
- $('#est_fg2').jqxNumberInput(Show3dec);
- $('#est_abv2').jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' });
- $('#est_abv2').jqxNumberInput(Smal1dec);
- $('#yeast_cells').jqxTooltip({ content: 'Het aantal beschikbare gistcellen zonder eventuele starter.' });
- $('#yeast_cells').jqxNumberInput(Show1dec);
- $('#need_cells').jqxTooltip({ content: 'Het aantal nodige cellen is afhankelijk van het biertype.' });
- $('#need_cells').jqxNumberInput(Show1dec);
- $('#plato_cells').jqxTooltip({ content: 'De berekende hoeveelheid gistcellen in miljard per ml per graad Plato. Dit is de zogenaamde pitchrate.' });
- $('#plato_cells').jqxNumberInput(Show2dec);
+ $('#est_abv2').jqxTooltip({ content: 'Verwacht alcohol volume %. Dit wordt automatisch berekend.' });
+ $('#yeast_cells').jqxTooltip({ content: 'Het aantal miljard beschikbare gistcellen zonder eventuele starter.' });
+ $('#need_cells').jqxTooltip({ content: 'Het aantal miljard nodige cellen is afhankelijk van het begin SG, biertype en volume.' });
+ $('#plato_cells').jqxTooltip({ content: 'De berekende pitchrate in miljard cellen per ml per graad Plato.' });
+ $('#yeast_prod_date').jqxTooltip({ content: 'Bij korrelgisten is meestal "best voor" datum op het zakje gedrukt.<br>Gebruik die datum maar dan twee jaar eerder als productie datum.<br>Bij White Labs is de productie datum vier maanden voor de "Best by" datum die geprint op het buisje.<br>Bij Wyeast is dit de "manufacture date" die op het pak geprint is.<br>Voor schuine buis, slurry, opkweek en gedroogd is dit de datum dat je de gist geoogst hebt.' });
+
+ $('#est_fg2,#plato_cells').jqxNumberInput(Show3dec);
+ $('#est_abv2').jqxNumberInput(Show2dec);
+ $('#yeast_cells,#need_cells').jqxNumberInput(Show1dec);
+ $('#yeast_prod_date').jqxDateTimeInput(Dateopts);
+ $('#yeast_prod_date').on('close', function(event) {
+  calcViability();
+  calcFermentables();
+  calcYeast();
+ });
  $('#popupYeast').jqxWindow({
   width: 800,
   height: 300,
@@ -5211,15 +5246,21 @@
    y_cells: yeastData.y_cells,
    y_tolerance: yeastData.y_tolerance,
    y_inventory: yeastData.y_inventory,
+   y_sta1: yeastData.y_sta1,
+   y_bacteria: yeastData.y_bacteria,
+   y_harvest_top: yeastData.y_harvest_top,
+   y_harvest_time: yeastData.y_harvest_time,
+   y_pitch_temperature: yeastData.y_pitch_temperature,
+   y_pofpos: yeastData.y_pofpos,
+   y_zymocide: yeastData.y_zymocide,
    y_avail: yeastData.y_avail
   };
   $('#yeastGrid').jqxGrid('updaterow', rowID, row);
+  calcViability();
   calcFermentables();
   calcYeast();
  });
- $('#wy_name').jqxInput({ theme: theme, width: 320, height: 23 });
- $('#wy_laboratory').jqxInput({ theme: theme, width: 320, height: 23 });
- $('#wy_product_id').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#wy_name,#wy_laboratory,#wy_product_id').jqxInput({ theme: theme, width: 320, height: 23 });
  $('#wy_instock').jqxCheckBox({ theme: theme, height: 23 });
  $('#wy_instock').on('change', function(event) {
   yeastinstock = event.args.checked;
@@ -5258,6 +5299,13 @@
    yeastData.y_attenuation = datarecord.attenuation;
    yeastData.y_cells = datarecord.cells;
    yeastData.y_inventory = datarecord.inventory;
+   yeastData.y_sta1 = datarecord.sta1;
+   yeastData.y_bacteria = datarecord.bacteria;
+   yeastData.y_harvest_top = datarecord.harvest_top;
+   yeastData.y_harvest_time = datarecord.harvest_time;
+   yeastData.y_pitch_temperature = datarecord.pitch_temperature;
+   yeastData.y_pofpos = datarecord.pofpos;
+   yeastData.y_zymocide = datarecord.zymocide;
    if (yeastData.y_form == 0) {
     $('#wy_pmpt_amount').html('Pak(ken):');
    } else if (yeastData.y_form == 1 || yeastData.y_form == 6) {
@@ -5265,6 +5313,7 @@
    } else {
     $('#wy_pmpt_amount').html('Volume ml:');
    }
+   calcViability();
    calcFermentables();
    calcYeast();
   }
@@ -5292,11 +5341,18 @@
   if (event.args) {
    var index = event.args.index;
    yeastData.y_use = index;
+   calcViability();
    calcFermentables();
    calcYeast();
   }
  });
  for (i = 1; i < 5; i++) {
+  $('#prop' + i + '_volume').jqxTooltip({ content: 'Het volume van deze starter stap.' });
+  $('#prop' + i + '_irate').jqxTooltip({ content: 'Voor de beste gistgroei, houd de injectie factor tussen de 25 en 100 miljoen cellen per ml.' });
+  $('#prop' + i + '_ncells').jqxTooltip({ content: 'Het aantal miljard nieuwe gistcellen in deze stap.' });
+  $('#prop' + i + '_tcells').jqxTooltip({ content: 'Het totaal aantal miljard gistcellen na deze stap.' });
+  $('#prop' + i + '_growf').jqxTooltip({ content: 'De groeifactor, minstens 1. Ongeroerde starters komen meestal niet boven de 3.' });
+
   $('#prop' + i + '_type').jqxDropDownList({
    theme: theme,
    source: StarterTypeAdapter,
@@ -5306,24 +5362,12 @@
    height: 23,
    autoDropDownHeight: true
   });
-  $('#prop' + i + '_type').hide();
-  $('#prop' + i + '_volume').jqxTooltip({ content: 'Het volume van deze starter stap.' });
   $('#prop' + i + '_volume').jqxNumberInput(Spin3dec);
-  $('#prop' + i + '_volume').hide();
-  $('#prop' + i + '_irate').jqxTooltip({ content: 'Voor de beste gistgroei, houd de injectie factor tussen de 25 en 100 miljoen cellen per ml.' });
-  $('#prop' + i + '_irate').jqxNumberInput(Show1dec);
-  $('#prop' + i + '_irate').hide();
-  $('#prop' + i + '_ncells').jqxTooltip({ content: 'Het aantal miljard nieuwe gistcellen in deze stap.' });
-  $('#prop' + i + '_ncells').jqxNumberInput(Show1dec);
-  $('#prop' + i + '_ncells').hide();
-  $('#prop' + i + '_tcells').jqxTooltip({ content: 'Het totaal aantal miljard gistcellen na deze stap.' });
-  $('#prop' + i + '_tcells').jqxNumberInput(Show1dec);
-  $('#prop' + i + '_tcells').hide();
-  $('#prop' + i + '_growf').jqxTooltip({ content: 'De groeifactor, minstens 1. Ongeroerde starters komen meestal niet boven de 3.' });
+  $('#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells').jqxNumberInput(Show1dec);
   $('#prop' + i + '_growf').jqxNumberInput(Show2dec);
-  $('#prop' + i + '_growf').hide();
+  $('#prop' + i + '_type,#prop' + i + '_volume,#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells,#prop' + i + '_growf').hide();
  }
- $('#starter_enable').jqxCheckBox({ theme: theme, height: 23 });
+ $('#starter_type').jqxTooltip({ content: 'starter_type' });
  $('#starter_type').jqxDropDownList({
   theme: theme,
   source: StarterTypeAdapter,
@@ -5335,8 +5379,8 @@
  });
  $('#starter_sg').jqxTooltip({ content: 'Het ideale starter SG moet tussen de 1.030 en 1.040 zijn. Optimaal is 1.037.' });
  $('#starter_sg').jqxNumberInput(SGopts);
- $('#starter_viability').jqxTooltip({ content: 'De gist conditie te berekenen vanaf de productie datum. Vloeibare gist verlist iedere maand ongeveer 20% active cellen.' });
- $('#starter_viability').jqxNumberInput(Perc0);
+ $('#starter_viability').jqxTooltip({ content: 'De gist conditie.' });
+ $('#starter_viability').jqxNumberInput(Show0dec);
  $('#starter_try').jqxButton({ template: 'primary', width: '100px', height: 23, theme: theme });
 
  // Tab 7, Mashing
@@ -5447,29 +5491,26 @@
    }
   }
  });
- $('#wstep_temp').jqxNumberInput(Spin1dec);
  $('#wstep_temp').on('change', function(event) {
   var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
   rowdata.step_temp = parseFloat(event.args.value);
  });
- $('#wend_temp').jqxNumberInput(Spin1dec);
+ $('#wstep_temp,#wend_temp,#wstep_infuse_amount').jqxNumberInput(Spin1dec);
  $('#wend_temp').on('change', function(event) {
   var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
   rowdata.end_temp = parseFloat(event.args.value);
  });
- $('#wstep_time').jqxNumberInput(PosInt);
+ $('#wstep_time,#wramp_time').jqxNumberInput(PosInt);
  $('#wstep_time').on('change', function(event) {
   var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
   rowdata.step_time = parseFloat(event.args.value);
   calcMash();
  });
- $('#wramp_time').jqxNumberInput(PosInt);
  $('#wramp_time').on('change', function(event) {
   var rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
   rowdata.ramp_time = parseFloat(event.args.value);
   calcMash();
  });
- $('#wstep_infuse_amount').jqxNumberInput(Spin1dec);
  $('#wstep_infuse_amount').on('change', function(event) {
   var row, i, rows, rowdata = $('#mashGrid').jqxGrid('getrowdata', mashRow);
   rowdata.step_infuse_amount = parseFloat(event.args.value);
@@ -5484,8 +5525,10 @@
    dataRecord.w1_amount = mash_infuse;
    $('#w1_amount').val(mash_infuse);
   } else {
-   dataRecord.w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
-   dataRecord.w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
+   var w1_amount = (dataRecord.w1_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
+   var w2_amount = (dataRecord.w2_amount / (dataRecord.w1_amount + dataRecord.w2_amount)) * mash_infuse;
+   dataRecord.w1_amount = Round(w1_amount, 3);
+   dataRecord.w2_amount = Round(w2_amount, 3);
    $('#w1_amount').val(dataRecord.w1_amount);
    $('#w2_amount').val(dataRecord.w2_amount);
   }
@@ -5498,8 +5541,7 @@
 
  // Tab 8, Water
  $('#tgt_bu').jqxNumberInput(Show2wat);
- $('#tgt_cl_so4').jqxNumberInput(Show1wat);
- $('#got_cl_so4').jqxNumberInput(Show1wat);
+ $('#tgt_so4_cl,#got_so4_cl').jqxNumberInput(Show1wat);
 
  // Water source 1
  $('#w1_name').jqxDropDownList({
@@ -5536,14 +5578,8 @@
    calcWater();
   }
  });
- $('#w1_amount').jqxNumberInput(Show1wat);
- $('#w1_calcium').jqxNumberInput(Show1wat);
- $('#w1_magnesium').jqxNumberInput(Show1wat);
- $('#w1_sodium').jqxNumberInput(Show1wat);
- $('#w1_total_alkalinity').jqxNumberInput(Show1wat);
- $('#w1_chloride').jqxNumberInput(Show1wat);
- $('#w1_sulfate').jqxNumberInput(Show1wat);
- $('#w1_ph').jqxNumberInput(Show1wat);
+ $('#w1_amount,#w1_calcium,#w1_magnesium,#w1_sodium,#w1_total_alkalinity,#w1_chloride,#w1_sulfate').jqxNumberInput(Show1wat);
+ $('#w1_ph').jqxNumberInput(Show2wat);
  // Water source 2
  $('#w2_name').jqxDropDownList({
   placeHolder: 'Kies meng water:',
@@ -5583,37 +5619,21 @@
  $('#w2_amount').jqxTooltip({ content: 'De verdeling van het hoofd en meng water. Het totale maisch water volume blijft gelijk.'});
  $('#w2_amount').jqxNumberInput({
   inputMode: 'simple', spinMode: 'simple', theme: theme, width: 94, height: 23, min: 0, max: 0, decimalDigits: 1,
-  spinButtons: true, spinButtonsStep: 0.5, readOnly: true
+  spinButtons: true, spinButtonsStep: 0.1, readOnly: true
  });
- $('#w2_calcium').jqxNumberInput(Show1wat);
- $('#w2_magnesium').jqxNumberInput(Show1wat);
- $('#w2_sodium').jqxNumberInput(Show1wat);
- $('#w2_total_alkalinity').jqxNumberInput(Show1wat);
- $('#w2_chloride').jqxNumberInput(Show1wat);
- $('#w2_sulfate').jqxNumberInput(Show1wat);
- $('#w2_ph').jqxNumberInput(Show1wat);
+ $('#w2_calcium,#w2_magnesium,#w2_sodium,#w2_total_alkalinity,#w2_chloride,#w2_sulfate').jqxNumberInput(Show1wat);
+ $('#w2_ph').jqxNumberInput(Show2wat);
  // Water mixed
- $('#wg_amount').jqxNumberInput(Show1wat);
- $('#wg_calcium').jqxNumberInput(Show1wat);
- $('#wg_magnesium').jqxNumberInput(Show1wat);
- $('#wg_sodium').jqxNumberInput(Show1wat);
- $('#wg_total_alkalinity').jqxNumberInput(Show1wat);
- $('#wg_chloride').jqxNumberInput(Show1wat);
- $('#wg_sulfate').jqxNumberInput(Show1wat);
- $('#wg_ph').jqxNumberInput(Show1wat);
+ $('#wg_amount,#wg_calcium,#wg_magnesium,#wg_sodium,#wg_total_alkalinity,#wg_chloride,#wg_sulfate').jqxNumberInput(Show1wat);
+ $('#wg_ph').jqxNumberInput(Show2wat);
  // Water treated
  $('#wb_calcium').jqxTooltip({ content: 'De ideale hoeveelheid Calcium is tussen 40 en 150.'});
- $('#wb_calcium').jqxNumberInput(Show1wat);
- $('#wb_magnesium').jqxTooltip({ content: 'De ideale hoeveelheid Magnesium is lager dan 30.'});
- $('#wb_magnesium').jqxNumberInput(Show1wat);
+ $('#wb_magnesium').jqxTooltip({ content: 'De ideale hoeveelheid Magnesium is tusse 10 en 30.'});
  $('#wb_sodium').jqxTooltip({ content: 'De ideale hoeveelheid Natrium is lager dan 150.'});
- $('#wb_sodium').jqxNumberInput(Show1wat);
- $('#wb_total_alkalinity').jqxNumberInput(Show1wat);
  $('#wb_chloride').jqxTooltip({ content: 'De ideale hoeveelheid Chloride is tussen 50 en 100.'});
- $('#wb_chloride').jqxNumberInput(Show1wat);
  $('#wb_sulfate').jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is tussen 50 en 350.'});
- $('#wb_sulfate').jqxNumberInput(Show1wat);
- $('#wb_ph').jqxNumberInput(Show1wat);
+ $('#wb_calcium,#wb_magnesium,#wb_sodium,#wb_total_alkalinity,#wb_chloride,#wb_sulfate').jqxNumberInput(Show1wat);
+ $('#wb_ph').jqxNumberInput(Show2wat);
  // Water target profile
  $('#pr_name').jqxDropDownList({
   placeHolder: 'Kies doel profiel:',
@@ -5635,29 +5655,22 @@
    $('#pr_sodium').val(datarecord.sodium);
    $('#pr_magnesium').val(datarecord.magnesium);
    $('#pr_total_alkalinity').val(datarecord.total_alkalinity);
+   calcWater();
   }
  });
- $('#pr_calcium').jqxNumberInput(Show1wat);
- $('#pr_magnesium').jqxNumberInput(Show1wat);
- $('#pr_sodium').jqxNumberInput(Show1wat);
- $('#pr_total_alkalinity').jqxNumberInput(Show1wat);
- $('#pr_chloride').jqxNumberInput(Show1wat);
- $('#pr_sulfate').jqxNumberInput(Show1wat);
+ $('#pr_calcium,#pr_magnesium,#pr_sodium,#pr_total_alkalinity,#pr_chloride,#pr_sulfate').jqxNumberInput(Show1wat);
 
  // Water agents
  $('#wa_cacl2').jqxTooltip({ content: 'Voor het maken van een ander waterprofiel. Voegt calcium en chloride toe. Voor het verbeteren van zoetere bieren.' });
- $('#wa_cacl2').jqxNumberInput(Spin1dec);
  $('#wa_caso4').jqxTooltip({
   content: 'Gips. Voor het maken van een ander waterprofiel. Voegt calcium en sulfaat toe. Voor het verbeteren van bittere bieren.'
  });
- $('#wa_caso4').jqxNumberInput(Spin1dec);
  $('#wa_mgso4').jqxTooltip({ content: 'Epsom zout. Voor het maken van een ander waterprofiel. Voegt magnesium en sulfaat toe. Gebruik spaarzaam!' });
- $('#wa_mgso4').jqxNumberInput(Spin1dec);
  $('#wa_nacl').jqxTooltip({
   content: 'Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. ' +
   'Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig.'
  });
- $('#wa_nacl').jqxNumberInput(Spin1dec);
+ $('#wa_cacl2,#wa_caso4,#wa_mgso4,#wa_nacl').jqxNumberInput(Spin1dec);
  $('#mash_ph').jqxTooltip({ content: 'Maisch pH tussen 5.2 en 5.6. Gebruik 5.2 voor lichte en 5.5 voor donkere bieren.'});
  $('#mash_ph').jqxNumberInput(SpinpH);
  $('#calc_acid').jqxCheckBox({ theme: theme, width: 120, height: 23 });
@@ -5670,7 +5683,7 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#wa_base').jqxNumberInput(Spin2dec);
+ $('#wa_base,#wa_acid').jqxNumberInput(Spin2dec);
  $('#wa_base').jqxNumberInput({ symbol: ' gr', symbolPosition: 'right' });
  $('#wa_acid_name').jqxDropDownList({
   theme: theme,
@@ -5681,13 +5694,11 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#wa_acid').jqxNumberInput(Spin2dec);
  $('#wa_acid').jqxNumberInput({ symbol: ' ml', symbolPosition: 'right' });
- $('#wa_acid_perc').jqxNumberInput(Perc0);
+ $('#wa_acid_perc,#sparge_acid_perc').jqxNumberInput(Perc0);
  $('#wa_acid_perc').jqxNumberInput({ width: 70, symbol: '%', symbolPosition: 'right' });
  // Sparge water
- $('#sparge_temp').jqxNumberInput(Spin1dec);
- $('#sparge_volume').jqxNumberInput(Spin1dec);
+ $('#sparge_temp,#sparge_volume').jqxNumberInput(Spin1dec);
  $('#sparge_ph').jqxNumberInput(SpinpH);
  $('#sparge_source').jqxDropDownList({
   theme: theme,
@@ -5709,84 +5720,107 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#sparge_acid_perc').jqxNumberInput(Perc0);
  $('#sparge_acid_perc').jqxNumberInput({ symbol: '%', symbolPosition: 'right' });
 
  // Tab 9, Brewday
  $('#brew_date_start').jqxTooltip({ content: 'Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan.' });
- $('#brew_date_start').jqxDateTimeInput(DateTimeopts);
- $('#brew_date_start').on('close', function(event) { calcStage(); });
  $('#brew_date_end').jqxTooltip({ content: 'End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is.' });
- $('#brew_date_end').jqxDateTimeInput(DateTimeopts);
- $('#brew_date_end').on('close', function(event) { calcStage(); });
  $('#brew_mash_ph').jqxTooltip({ content: 'De gemeten pH tijdens het maischen eventueel na correctie.' });
- $('#brew_mash_ph').jqxNumberInput(SpinpH);
  $('#est_mash_ph').jqxTooltip({ content: 'De gewenste pH tijdens het maischen.' });
- $('#est_mash_ph').jqxNumberInput(Show1wat);
  $('#brew_preboil_ph').jqxTooltip({ content: 'De gemeten pH in de kookketel na het spoelen en voor de kook.' });
- $('#brew_preboil_ph').jqxNumberInput(SpinpH);
- // est_preboil_ph
  $('#brew_aboil_ph').jqxTooltip({ content: 'De gemeten pH na het koken.' });
- $('#brew_aboil_ph').jqxNumberInput(SpinpH);
- // est_aboil_ph
  $('#brew_mash_sg').jqxTooltip({ content: 'Het bereikte SG na het maischen.' });
- $('#brew_mash_sg').jqxNumberInput(SGopts);
+ $('#est_mash_sg').jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' });
+ $('#brew_preboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' });
+ $('#est_pre_sg').jqxTooltip({ content: 'Het berekende SG in de kookketel na het spoelen en voor het koken.' });
+ $('#brew_aboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' });
+ $('#est_og3').jqxTooltip({ content: 'Het gewenste SG in de kookketel na het koken zonder eventuele suikers die tijdens de vergisting toegevoegd worden.' });
+ $('#brew_mash_efficiency').jqxTooltip({ content: 'Het behaalde maisch rendement.' });
+ $('#brew_preboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort voor het koken.' });
+ $('#est_pre_vol').jqxTooltip({ content: 'Het berekende volume van het wort voor het koken.' });
+ $('#brew_aboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort na het koken.' });
+ $('#est_a_vol').jqxTooltip({ content: 'Het gewenste volume na het koken.' });
+ $('#brew_preboil_efficiency').jqxTooltip({ content: 'Het berekende rendement voor het koken.' });
+ $('#brew_aboil_efficiency').jqxTooltip({ content: 'Het bereikte rendement na het koken.' });
+ $('#brew_sparge_temperature').jqxTooltip({ content: 'De spoelwater temperatuur, in te stellen in de Water tab.' });
+ $('#brew_sparge_volume').jqxTooltip({ content: 'Het spoelwater voorraad volume, in te stellen in de Water tab.' });
+ $('#brew_date_start,#brew_date_end').jqxDateTimeInput(DateTimeopts);
+ $('#brew_date_start,#brew_date_end').on('close', function(event) { calcStage(); });
+ $('#est_mash_ph').jqxNumberInput(Show2wat);
+ $('#brew_mash_ph,#brew_preboil_ph,#brew_aboil_ph').jqxNumberInput(SpinpH);
  $('#brew_mash_sg').on('valueChanged', function() { calcMashEfficiency(); });
- $('#est_mash_sg').jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' });
- $('#est_mash_sg').jqxNumberInput(Show3wat);
- $('#brew_preboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' });
- $('#brew_preboil_sg').jqxNumberInput(SGopts);
  $('#brew_preboil_sg').on('valueChanged', function(event) {
   dataRecord.brew_preboil_sg = event.args.value;
   calcEfficiencyBeforeBoil();
  });
- $('#est_pre_sg').jqxTooltip({ content: 'Het berekende SG in de kookketel na het spoelen en voor het koken.' });
- $('#est_pre_sg').jqxNumberInput(Show3wat);
- $('#brew_aboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' });
- $('#brew_aboil_sg').jqxNumberInput(SGopts);
+ $('#brew_mash_sg,#brew_preboil_sg,#brew_aboil_sg').jqxNumberInput(SGopts);
  $('#brew_aboil_sg').on('valueChanged', function(event) {
   dataRecord.brew_aboil_sg = event.args.value;
   calcEfficiencyAfterBoil();
   calcFermentables();
   calcIBUs();
  });
- $('#est_og3').jqxTooltip({ content: 'Het gewenste SG in de kookketel na het koken.' });
- $('#est_og3').jqxNumberInput(Show3wat);
- $('#brew_mash_efficiency').jqxTooltip({ content: 'Het behaalde maisch rendement.' });
+ $('#est_mash_sg,#est_pre_sg,#est_og3').jqxNumberInput(Show3wat);
  $('#brew_mash_efficiency').jqxNumberInput(Show1dec);
- $('#brew_preboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort voor het koken.' });
- $('#brew_preboil_volume').jqxNumberInput(Spin1dec);
  $('#brew_preboil_volume').on('valueChanged', function(event) {
   dataRecord.brew_preboil_volume = event.args.value;
   calcEfficiencyBeforeBoil();
  });
- $('#est_pre_vol').jqxTooltip({ content: 'Het berekende volume van het wort voor het koken.' });
- $('#est_pre_vol').jqxNumberInput(Show1wat);
- $('#brew_aboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort na het koken.' });
- $('#brew_aboil_volume').jqxNumberInput(Spin1dec);
+ $('#brew_preboil_volume,#brew_aboil_volume').jqxNumberInput(Spin1dec);
  $('#brew_aboil_volume').on('valueChanged', function(event) {
   dataRecord.brew_aboil_volume = event.args.value;
   calcEfficiencyAfterBoil();
   calcFermentables();
   calcIBUs();
  });
- $('#est_a_vol').jqxTooltip({ content: 'Het gewenste volume na het koken.' });
- $('#est_a_vol').jqxNumberInput(Show1wat);
- $('#brew_preboil_efficiency').jqxTooltip({ content: 'Het berekende rendement voor het koken.' });
- $('#brew_preboil_efficiency').jqxNumberInput(Show1dec);
- $('#brew_aboil_efficiency').jqxTooltip({ content: 'Het bereikte rendement na het koken.' });
- $('#brew_aboil_efficiency').jqxNumberInput(Show1dec);
- $('#brew_sparge_temperature').jqxTooltip({ content: 'De spoelwater temperatuur, in te stellen in de Water tab.' });
- $('#brew_sparge_temperature').jqxNumberInput(Show1dec);
- $('#brew_sparge_volume').jqxTooltip({ content: 'Het spoelwater voorraad volume, in te stellen in de Water tab.' });
- $('#brew_sparge_volume').jqxNumberInput(Show1dec);
- $('#brew_sparge_est').jqxNumberInput(Show1dec);
- $('#brew_whirlpool9').jqxNumberInput(PosInt);
- $('#brew_whirlpool9').jqxNumberInput({ max: 120 });
+ $('#ketel_volume').jqxNumberInput(Show1dec);
+ $('#ketel_cm').jqxNumberInput(Spin1dec);
+ $('#ketel_cm').on('change', function(event) {
+  k_cm = parseFloat(event.args.value);
+  k_vol = kettle_vol(k_cm, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  $('#ketel_volume').val(k_vol);
+ });
+ $('#volumeReady').jqxButton({ template: 'success', width: '90px', theme: theme });
+ $('#volumeReady').click(function() {
+  /* Is it pre or after boil */
+  console.log('volumeReady ' + k_what + ' volume: ' + Round(k_vol, 1));
+  if (k_what == 0) {
+   dataRecord.brew_preboil_volume = Round(k_vol, 1);
+   $('#brew_preboil_volume').val(Round(k_vol, 1));
+  } else if (k_what == 1) {
+   dataRecord.brew_aboil_volume = Round(k_vol, 1);
+   $('#brew_aboil_volume').val(Round(k_vol, 1));
+  }
+ });
+ $('#but_pre_boil').jqxButton({ template: 'success', width: '23px', height: 23, theme: theme });
+ $('#but_pre_boil').bind('click', function() {
+  /* If we already have measured a value, use that. Else use the estimated value. */
+  if (dataRecord.brew_preboil_volume > 0)
+   k_cm = kettle_cm(dataRecord.brew_preboil_volume, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  else
+   k_cm = kettle_cm(dataRecord.boil_size * 1.04, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  k_vol = kettle_vol(k_cm, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  k_what = 0;
+  $('#ketel_cm').val(k_cm);
+  $('#ketel_volume').val(k_vol);
+  $('#volumeWindow').jqxWindow('open');
+ });
+ $('#but_after_boil').jqxButton({ template: 'success', width: 23, height: 23, theme: theme });
+ $('#but_after_boil').bind('click', function() {
+  if (dataRecord.brew_aboil_volume > 0)
+   k_cm = kettle_cm(dataRecord.brew_aboil_volume, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  else
+   k_cm = kettle_cm(dataRecord.batch_size * 1.04, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  k_vol = kettle_vol(k_cm, dataRecord.eq_kettle_volume, dataRecord.eq_kettle_height);
+  k_what = 1;
+  $('#ketel_cm').val(k_cm);
+  $('#ketel_volume').val(k_vol);
+  $('#volumeWindow').jqxWindow('open');
+ });
+ $('#est_pre_vol,#est_a_vol').jqxNumberInput(Show1wat);
+ $('#brew_preboil_efficiency,#brew_aboil_efficiency,#brew_sparge_temperature,#brew_sparge_volume,#brew_sparge_est').jqxNumberInput(Show1dec);
  $('#brew_cooling_to').jqxNumberInput(Spin1dec);
  $('#brew_sparge_ph').jqxNumberInput(SpinpH);
- $('#brew_whirlpool7').jqxNumberInput(PosInt);
- $('#brew_whirlpool7').jqxNumberInput({ max: 120 });
  $('#brew_cooling_method').jqxDropDownList({
   theme: theme,
   source: CoolingTypeAdapter,
@@ -5796,12 +5830,9 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#brew_whirlpool6').jqxNumberInput(PosInt);
- $('#brew_whirlpool6').jqxNumberInput({ max: 120 });
- $('#brew_cooling_time').jqxNumberInput(PosInt);
- $('#brew_cooling_time').jqxNumberInput({ max: 1440 });
- $('#brew_whirlpool2').jqxNumberInput(PosInt);
- $('#brew_whirlpool2').jqxNumberInput({ max: 120 });
+ $('#brew_cooling_time,#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2,#brew_aeration_time,#brew_aeration_speed').jqxNumberInput(PosInt);
+ $('#brew_cooling_time,#brew_aeration_time,#brew_aeration_speed').jqxNumberInput({ max: 1440 });
+ $('#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2').jqxNumberInput({ max: 120 });
  $('#brew_aeration_type').jqxDropDownList({
   theme: theme,
   source: AerationTypeAdapter,
@@ -5811,16 +5842,10 @@
   height: 23,
   autoDropDownHeight: true
  });
- $('#brew_aeration_time').jqxNumberInput(PosInt);
- $('#brew_aeration_time').jqxNumberInput({ max: 1440 });
- $('#brew_aeration_speed').jqxNumberInput(PosInt);
- $('#brew_aeration_speed').jqxNumberInput({ max: 1440 });
  $('#brew_fermenter_volume').jqxNumberInput(Show1dec);
- $('#brew_fermenter_extrawater').jqxNumberInput(Spin1dec);
  $('#brew_fermenter_sg').jqxNumberInput(Show3dec);
- $('#brew_fermenter_tcloss').jqxNumberInput(Spin1dec);
- $('#brew_fermenter_ibu').jqxNumberInput(Show0dec);
- $('#brew_fermenter_color').jqxNumberInput(Show0dec);
+ $('#brew_fermenter_extrawater,#brew_fermenter_tcloss').jqxNumberInput(Spin1dec);
+ $('#brew_fermenter_ibu,#brew_fermenter_color').jqxNumberInput(Show0dec);
  $('#BLog').jqxButton({ template: 'info', width: '150px', theme: theme });
  $('#BLog').click(function() {
   // Open log in a new tab.
@@ -5830,77 +5855,65 @@
  // Tab 10, Fermentation
  // Note, fermentation temps changes must do calcCarbonation()
  $('#brew_fermenter_sg2').jqxTooltip({ content: 'Het behaalde SG in het gistvat, overgenomen van de brouwdag.' });
- $('#brew_fermenter_sg2').jqxNumberInput(Show3dec);
  $('#primary_start_temp').jqxTooltip({ content: 'De begintemperatuur van de hoofdvergisting.' });
- $('#primary_start_temp').jqxNumberInput(YeastT);
  $('#primary_max_temp').jqxTooltip({ content: 'De hoogst bereikte piek temperatuur tijdens de hoofgvergisting.' });
- $('#primary_max_temp').jqxNumberInput(YeastT);
  $('#primary_end_temp').jqxTooltip({ content: 'De eind temperatuur van de hoofdvergisting.' });
- $('#primary_end_temp').jqxNumberInput(YeastT);
  $('#primary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de hoofdvergisting.' });
- $('#primary_end_sg').jqxNumberInput(SGopts);
- $('#primary_end_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
- $('#primary_end_brix').jqxNumberInput(Spin1dec);
+ $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
  $('#primary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de hoofdgisting.' });
- $('#primary_svg').jqxNumberInput(Show1dec);
  $('#primary_end_date').jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' });
- $('#primary_end_date').jqxDateTimeInput(Dateopts);
- $('#primary_end_date').on('close', function(event) { calcStage(); });
- $('#secondary_temp').jqxNumberInput(YeastT);
  $('#secondary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de navergisting.' });
- $('#secondary_end_sg').jqxNumberInput(SGopts);
- $('#secondary_end_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
- $('#secondary_end_brix').jqxNumberInput(Spin1dec);
  $('#secondary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de nagisting.' });
- $('#secondary_svg').jqxNumberInput(Show1dec);
  $('#secondary_end_date').jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' });
- $('#secondary_end_date').jqxDateTimeInput(Dateopts);
- $('#secondary_end_date').on('close', function(event) { calcStage(); });
- $('#tertiary_temp').jqxNumberInput(YeastT);
+ $('#est_fg3').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
+
+ $('#primary_end_sg,#secondary_end_sg').jqxNumberInput(SGopts);
+ $('#primary_end_date,#secondary_end_date').jqxDateTimeInput(Dateopts);
+ $('#primary_end_date,#secondary_end_date').on('close', function(event) { calcStage(); });
+ $('#primary_start_temp,#primary_max_temp,#primary_end_temp,#secondary_temp,#tertiary_temp').jqxNumberInput(YeastT);
  $('#fg').jqxNumberInput(Spin3dec);
- $('#est_fg3').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
- $('#est_fg3').jqxNumberInput(Show3dec);
- $('#final_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
- $('#final_brix').jqxNumberInput(Spin1dec);
+ $('#brew_fermenter_sg2,#est_fg3').jqxNumberInput(Show3dec);
+ $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxNumberInput(Spin1dec);
  $('#final_abv').jqxNumberInput(Show2dec);
- $('#final_svg').jqxNumberInput(Show1dec);
+ $('#primary_svg,#secondary_svg,#final_svg').jqxNumberInput(Show1dec);
  $('#FLog').jqxButton({ template: 'info', width: '150px', theme: theme });
  $('#FLog').click(function() {
   // Open log in a new tab.
   window.open('log_fermentation.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
  });
+ $('#ILog').jqxButton({ template: 'info', width: '150px', theme: theme });
+ $('#ILog').click(function() {
+  // Open log in a new tab.
+  window.open('log_ispindel.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
+ });
 
  // Tab 11, Packaging
  // TODO: high gravity packaging, extra water and recalc abv, color and ibu.
  $('#package_date').jqxTooltip({ content: 'De verpakkings datum van dit bier.' });
+ $('#package_volume').jqxTooltip({ content: 'Het beschikbare volume om te bottelen of op fust te zetten.' });
+ $('#package_infuse_amount').jqxTooltip({ content: 'De hoeveelheid water of drank extra toe te voegen.' });
+ $('#package_infuse_abv').jqxTooltip({ content: 'De hoeveelheid alcohol in de drank, of 0.0 als het water is.' });
+ $('#package_infuse_notes').jqxTooltip({ content: 'Omschrijving van de extra toevoeging.' });
+ $('#package_abv').jqxTooltip({ content: 'De uiteindelijke hoeveelheid alcohol volume %.' });
+ $('#package_ph').jqxTooltip({ content: 'De gemeten pH vlak voor het verpakken.' });
+ $('#st_carb_min2').jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'});
+ $('#st_carb_max2').jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'});
+ $('#bottle_amount').jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' });
+ $('#keg_amount').jqxTooltip({ content: 'De totale hoeveelheid op fust te zetten bier.' });
+ $('#bottle_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume in de flessen.' });
+ $('#keg_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume door de suiker in de fusten.' });
+ $('#bottle_priming_water,#keg_priming_water').jqxTooltip({ content: 'De hoeveelheid water om de suiker op te lossen.' });
+ $('#bottle_pressure').jqxTooltip({ content: 'De maximaal te verwachten druk tijdens het hergisten.' });
  $('#package_date').jqxDateTimeInput(Dateopts);
  $('#package_date').on('close', function(event) { calcStage(); });
- $('#package_volume').jqxTooltip({ content: 'Het beschikbare volume om te bottelen of op fust te zetten.' });
- $('#package_volume').jqxNumberInput(Spin1dec);
- $('#package_infuse_amount').jqxTooltip({ content: 'De hoeveelheid water of drank extra toe te voegen.' });
  $('#package_infuse_amount').jqxNumberInput(Spin3dec);
- $('#package_infuse_abv').jqxTooltip({ content: 'De hoeveelheid alcohol in de drank, of 0.0 als het water is.' });
- $('#package_infuse_abv').jqxNumberInput(Spin1dec);
- $('#package_infuse_notes').jqxTooltip({ content: 'Omschrijving van de extra toevoeging.' });
  $('#package_infuse_notes').jqxInput({ theme: theme, width: 640, height: 23 });
- $('#package_abv').jqxTooltip({ content: 'De uiteindelijke hoeveelheid alcohol volume %.' });
  $('#package_abv').jqxNumberInput(Show2dec);
- $('#package_ph').jqxTooltip({ content: 'De gemeten pH vlak voor het verpakken.' });
  $('#package_ph').jqxNumberInput(SpinpH);
- $('#st_carb_min2').jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'});
- $('#st_carb_min2').jqxNumberInput(Smal1dec);
- $('#st_carb_max2').jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'});
- $('#st_carb_max2').jqxNumberInput(Smal1dec);
- $('#bottle_amount').jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' });
- $('#bottle_amount').jqxNumberInput(Spin1dec);
- $('#keg_amount').jqxTooltip({ content: 'De totale hoeveelheid op fust te zetten bier.' });
- $('#keg_amount').jqxNumberInput(Spin1dec);
- $('#bottle_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume in de flessen.' });
- $('#bottle_carbonation').jqxNumberInput(Spin2dec);
- $('#bottle_carbonation').jqxNumberInput({ max: 5 });
- $('#keg_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume door de suiker in de fusten.' });
- $('#keg_carbonation').jqxNumberInput(Spin2dec);
- $('#keg_carbonation').jqxNumberInput({ max: 5 });
+ $('#st_carb_min2,#st_carb_max2').jqxNumberInput(Smal1dec);
+ $('#package_volume,#package_infuse_abv,#bottle_amount,#keg_amount').jqxNumberInput(Spin1dec);
+ $('#bottle_carbonation,#keg_carbonation').jqxNumberInput(Spin2dec);
+ $('#bottle_carbonation,#keg_carbonation').jqxNumberInput({ max: 5 });
  $('#bottle_priming_sugar').jqxDropDownList({
   placeHolder: 'Kies suiker:',
   theme: theme,
@@ -6007,22 +6020,16 @@
    calcCarbonation();
   }
  });
- $('#bottle_priming_amount').jqxNumberInput(Show1dec);
- $('#bottle_priming_water').jqxTooltip({ content: 'De hoeveelheid water om de suiker op te lossen.' });
- $('#bottle_priming_water').jqxNumberInput(Spin3dec);
- $('#keg_priming_amount').jqxNumberInput(Show1dec);
- $('#keg_priming_water').jqxTooltip({ content: 'De hoeveelheid water om de suiker op te lossen.' });
- $('#keg_priming_water').jqxNumberInput(Spin3dec);
- $('#bottle_priming_total').jqxNumberInput(Show1dec);
- $('#bottle_pressure').jqxTooltip({ content: 'De maximaal te verwachten druk tijdens het hergisten.' });
- $('#bottle_pressure').jqxNumberInput(Show1dec);
- $('#keg_priming_total').jqxNumberInput(Show1dec);
+ $('#bottle_priming_water,#keg_priming_water').jqxNumberInput(Spin3dec);
  $('#keg_forced_carb').jqxCheckBox({ theme: theme, width: 120, height: 23 });
- $('#keg_pressure').jqxNumberInput(Show1dec);
- $('#bottle_abv').jqxNumberInput(Show2dec);
- $('#keg_abv').jqxNumberInput(Show2dec);
- $('#bottle_carbonation_temp').jqxNumberInput(YeastT);
- $('#keg_carbonation_temp').jqxNumberInput(YeastT);
+ $('#bottle_priming_amount,#keg_priming_amount,#bottle_priming_total,#bottle_pressure,#keg_priming_total,#keg_pressure').jqxNumberInput(Show1dec);
+ $('#bottle_abv,#keg_abv').jqxNumberInput(Show2dec);
+ $('#bottle_carbonation_temp,#keg_carbonation_temp').jqxNumberInput(YeastT);
+ $('#CLog').jqxButton({ template: 'info', width: '150px', theme: theme });
+ $('#CLog').click(function() {
+  // Open log in a new tab.
+  window.open('log_co2pressure.php?code=' + dataRecord.code + '&name=' + dataRecord.name);
+ });
 
  // Tab 12, Tasting
  $('#taste_date').jqxTooltip({ content: 'De proef datum van dit bier.' });
@@ -6032,19 +6039,14 @@
  $('#taste_rate').jqxNumberInput(Spin1dec);
  $('#taste_rate').jqxNumberInput({ max: 10 });
  $('#taste_color').jqxTooltip({ content: 'De kleur van het bier.' });
- $('#taste_color').jqxInput({ theme: theme, width: 320, height: 23 });
  $('#taste_transparency').jqxTooltip({ content: 'De helderheid van het bier.' });
- $('#taste_transparency').jqxInput({ theme: theme, width: 320, height: 23 });
  $('#taste_head').jqxTooltip({ content: 'Het schuim op het bier.' });
- $('#taste_head').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#taste_color,#taste_transparency,#taste_head').jqxInput({ theme: theme, width: 320, height: 23 });
  $('#taste_aroma').jqxTooltip({ content: 'Het aroma van het bier.' });
- $('#taste_aroma').jqxInput({ theme: theme, width: 960, height: 23 });
  $('#taste_taste').jqxTooltip({ content: 'De smaak van het bier.' });
- $('#taste_taste').jqxInput({ theme: theme, width: 960, height: 23 });
  $('#taste_aftertaste').jqxTooltip({ content: 'De nasmaak van het bier.' });
- $('#taste_aftertaste').jqxInput({ theme: theme, width: 960, height: 23 });
  $('#taste_mouthfeel').jqxTooltip({ content: 'Het mondgevoelvan het bier.' });
- $('#taste_mouthfeel').jqxInput({ theme: theme, width: 960, height: 23 });
+ $('#taste_aroma,#taste_taste,#taste_aftertaste,#taste_mouthfeel').jqxInput({ theme: theme, width: 960, height: 23 });
  $('#taste_notes').jqxTooltip({ content: 'Het oordeel en opmerkingen over dit bier.' });
  $('#taste_notes').jqxInput({ theme: theme, width: 960, height: 100 });
 
--- a/www/js/prod_export-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a=0;$("#name").html(my_name);$("#code").html(my_code);$("#jqxRadioButton1").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton2").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton3").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton4").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton5").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton6").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton7").jqxRadioButton({theme:theme,width:250,height:23});if((my_split!=0)||(my_stage>=6)){$("#jqxRadioButton3").jqxRadioButton({disabled:true});document.getElementById("pmpt3").style.color="red"}$("#jqxRadioButton1").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=1});$("#jqxRadioButton2").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=2});$("#jqxRadioButton3").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=3});$("#jqxRadioButton4").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=4});$("#jqxRadioButton5").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=5});$("#jqxRadioButton6").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=6});$("#jqxRadioButton7").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=7});$("#Start").jqxButton({template:"success",width:"100px",theme:theme,disabled:true});$("#Start").click(function(){if(a==1){window.open("prod_beerxml.php?record="+my_record)}else{if(a==2){window.open("prod_duplicate.php?record="+my_record)}else{if(a==3){window.location.href="prod_divide.php?record="+my_record+"&return="+my_return}else{if(a==4){window.open("prod_torecipe.php?record="+my_record)}else{if(a==5){window.open("prod_print.php?record="+my_record)}else{if(a==6){window.open("prod_checklist.php?record="+my_record)}else{if(a==7){window.open("prod_forum.php?record="+my_record)}}}}}}}if(a!=3){window.location.href="prod_edit.php?record="+my_record+"&return="+my_return}})});
\ No newline at end of file
--- a/www/js/prod_export.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_export.js	Fri May 01 16:37:31 2020 +0200
@@ -21,73 +21,73 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var	choice = 0;
+ var choice = 0;
 
-	$("#name").html(my_name);
-	$("#code").html(my_code);
-	$("#jqxRadioButton1").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton2").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton3").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton4").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton5").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton6").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton7").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	if ((my_split != 0) || (my_stage >= 6)) {
-		$("#jqxRadioButton3").jqxRadioButton({ disabled: true });
-		document.getElementById("pmpt3").style.color = "red";
-	}
+ $('#name').html(my_name);
+ $('#code').html(my_code);
+ $('#jqxRadioButton1').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton2').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton3').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton4').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton5').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton6').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton7').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ if ((my_split != 0) || (my_stage >= 6)) {
+  $('#jqxRadioButton3').jqxRadioButton({ disabled: true });
+  document.getElementById('pmpt3').style.color = 'red';
+ }
 
-	$('#jqxRadioButton1').on('checked', function (event) {
-	       	$('#Start').jqxButton({ disabled: false });
-		choice = 1;
-	});
-	$('#jqxRadioButton2').on('checked', function (event) {
-		$('#Start').jqxButton({ disabled: false });
-		choice = 2;
-	});
-	$('#jqxRadioButton3').on('checked', function (event) {
-                $('#Start').jqxButton({ disabled: false });
-                choice = 3;
-        });
-	$('#jqxRadioButton4').on('checked', function (event) {
-		$('#Start').jqxButton({ disabled: false });
-		choice = 4;
-	});
-	$('#jqxRadioButton5').on('checked', function (event) {
-                $('#Start').jqxButton({ disabled: false });
-                choice = 5;
-        });
-	$('#jqxRadioButton6').on('checked', function (event) {
-                $('#Start').jqxButton({ disabled: false });
-                choice = 6;
-        });
-	$('#jqxRadioButton7').on('checked', function (event) {
-		$('#Start').jqxButton({ disabled: false });
-		choice = 7;
-	});
+ $('#jqxRadioButton1').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 1;
+ });
+ $('#jqxRadioButton2').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 2;
+ });
+ $('#jqxRadioButton3').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 3;
+ });
+ $('#jqxRadioButton4').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 4;
+ });
+ $('#jqxRadioButton5').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 5;
+ });
+ $('#jqxRadioButton6').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 6;
+ });
+ $('#jqxRadioButton7').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 7;
+ });
 
-	$('#Start').jqxButton({ template: "success", width: '100px', theme: theme, disabled: true });
-	$('#Start').click(function () {
-		if (choice == 1) {
-			window.open('prod_beerxml.php?record=' + my_record);
-		} else if (choice == 2) {
-			window.open('prod_duplicate.php?record=' + my_record);
-		} else if (choice == 3) {
-			window.location.href = 'prod_divide.php?record=' + my_record + '&return=' + my_return;
-		} else if (choice == 4) {
-			window.open('prod_torecipe.php?record=' + my_record);
-		} else if (choice == 5) {
-			window.open('prod_print.php?record=' + my_record);
-		} else if (choice == 6) {
-			window.open('prod_checklist.php?record=' + my_record);
-		} else if (choice == 7) {
-                        window.open('prod_forum.php?record=' + my_record);
-                }
-		// Return to the original product
-		if (choice != 3)
-			window.location.href = "prod_edit.php?record=" + my_record + "&return=" + my_return;
-	});
+ $('#Start').jqxButton({ template: 'success', width: '100px', theme: theme, disabled: true });
+ $('#Start').click(function() {
+  if (choice == 1) {
+   window.open('prod_beerxml.php?record=' + my_record);
+  } else if (choice == 2) {
+   window.open('prod_duplicate.php?record=' + my_record);
+  } else if (choice == 3) {
+   window.location.href = 'prod_divide.php?record=' + my_record + '&return=' + my_return;
+  } else if (choice == 4) {
+   window.open('prod_torecipe.php?record=' + my_record);
+  } else if (choice == 5) {
+   window.open('prod_print.php?record=' + my_record);
+  } else if (choice == 6) {
+   window.open('prod_checklist.php?record=' + my_record);
+  } else if (choice == 7) {
+   window.open('prod_forum.php?record=' + my_record);
+  }
+  // Return to the original product
+  if (choice != 3)
+   window.location.href = 'prod_edit.php?record=' + my_record + '&return=' + my_return;
+ });
 
 });
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/js/prod_forum.js	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,27 @@
+
+$(document).ready(function() {
+
+ /**
+  * This will copy the innerHTML of an element to the clipboard
+  * @param element reference OR string
+  */
+ function copyToClipboard(e) {
+    var tempItem = document.createElement('textarea');
+
+    document.body.appendChild(tempItem);
+    tempItem.value = e;
+    tempItem.select();
+    document.execCommand('Copy');
+
+    tempItem.parentElement.removeChild(tempItem);
+ }
+
+
+ $('#copytoClipboard').jqxButton({ template: 'success', theme: theme, width: 150 });
+ $('#copytoClipboard').click(function() {
+  copyToClipboard(forumstr);
+  window.close();
+ });
+
+});
+
--- a/www/js/prod_impbrew-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/json",uploadUrl:"upl_brew.php",fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(c){var d,a,b=c.args;d=b.file;a=b.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> "+d+"  size: "+a+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(c){var d,a,b=c.args;d=b.file;a=b.response;$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> ontvangen "+d+"<br />"+a+"<br />")})});
\ No newline at end of file
--- a/www/js/prod_impbrew.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_impbrew.js	Fri May 01 16:37:31 2020 +0200
@@ -21,36 +21,36 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	$('#jqxFileUpload').jqxFileUpload({
-		width: 300,
-		browseTemplate: 'success',
-		cancelTemplate: 'inverse',
-		uploadTemplate: 'primary',
-		theme: theme,
-		multipleFilesUpload: false,
-		accept: 'application/json',
-		uploadUrl: 'upl_brew.php',
-		fileInputName: 'fileToUpload'
-	});
-	$('#eventsPanel').jqxPanel({
-		width: 800,
-		height: 200,
-		theme: theme
-	});
-	$('#jqxFileUpload').on('select', function (event) {
-		var fileName, fileSize, args = event.args;
-		fileName = args.file;
-		fileSize = args.size;
-		$('#eventsPanel').jqxPanel('clearcontent');
-		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
-	});
-	$('#jqxFileUpload').on('uploadEnd', function (event) {
-		var fileName, serverResponce, args = event.args;
-		fileName = args.file;
-		serverResponce = args.response;
-		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
-	});
+ $('#jqxFileUpload').jqxFileUpload({
+  width: 300,
+  browseTemplate: 'success',
+  cancelTemplate: 'inverse',
+  uploadTemplate: 'primary',
+  theme: theme,
+  multipleFilesUpload: false,
+  accept: 'application/json',
+  uploadUrl: 'upl_brew.php',
+  fileInputName: 'fileToUpload'
+ });
+ $('#eventsPanel').jqxPanel({
+  width: 800,
+  height: 200,
+  theme: theme
+ });
+ $('#jqxFileUpload').on('select', function(event) {
+  var fileName, fileSize, args = event.args;
+  fileName = args.file;
+  fileSize = args.size;
+  $('#eventsPanel').jqxPanel('clearcontent');
+  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
+ });
+ $('#jqxFileUpload').on('uploadEnd', function(event) {
+  var fileName, serverResponce, args = event.args;
+  fileName = args.file;
+  serverResponce = args.response;
+  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
+ });
 
 });
--- a/www/js/prod_inprod-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"code",type:"string"},{name:"birth",type:"string"},{name:"stage",type:"int"},{name:"brew_date",type:"string"},{name:"package_date",type:"string"},],id:"record",url:"includes/db_product.php?select=inprod"},b=new $.jqx.dataAdapter(a);$("#jqxgrid").jqxGrid({width:1280,height:630,source:b,theme:theme,showstatusbar:true,renderstatusbar:function(e){var c,d;c=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");d=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");c.append(d);e.append(c);d.jqxButton({theme:theme,width:90,height:20});d.click(function(f){window.location.href="prod_new.php?return=prod_inprod.php"})},columns:[{text:"Datum",datafield:"birth",width:120},{text:"Code",datafield:"code",width:120},{text:"Naam",datafield:"name"},{text:"Fase",datafield:"stage",width:200,cellsrenderer:function(k,f,m,o,g,q){var c,l,p,n,h,j,i,e;c=StageData[m].nl;if(m==2){c=StageData[m].nl+" op "+q.brew_date}if(m==7||m==8){l=new Date();n=q.package_date;n=n.split("-");p=new Date(l.getFullYear(),l.getMonth(),l.getDate());n=new Date(n[0],n[1]-1,n[2]);h=parseInt(p.getTime()/1000);j=parseInt(n.getTime()/1000);i=h-j;e=Math.round(i/60/60/24);if(e>=14){c=StageData[m].nl+" dag "+(e-14)+" van 28"}else{c=StageData[m].nl+" dag "+e+" van 14"}}return"<span style='margin: 3px; margin-top: 6px; float: left;'>"+c+"</span>"}},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(d){var c=b.records[d];window.location.href="prod_edit.php?record="+c.record+"&select=inprod&return=prod_inprod.php"}}],})});
\ No newline at end of file
--- a/www/js/prod_inprod.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_inprod.js	Fri May 01 16:37:31 2020 +0200
@@ -21,84 +21,85 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-	var source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'code', type: 'string' },
-			{ name: 'birth', type: 'string' },
-			{ name: 'stage', type: 'int' },
-			{ name: 'brew_date', type: 'string' },
-			{ name: 'package_date', type: 'string' },
-		],
-		id: 'record',
-		url: "includes/db_product.php?select=inprod"
-	},
-	dataAdapter = new $.jqx.dataAdapter(source);
+$(document).ready(function() {
+ var source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'code', type: 'string' },
+   { name: 'birth', type: 'string' },
+   { name: 'stage', type: 'int' },
+   { name: 'brew_date', type: 'string' },
+   { name: 'package_date', type: 'string' },
+  ],
+  id: 'record',
+  url: 'includes/db_product.php?select=inprod'
+ },
+ dataAdapter = new $.jqx.dataAdapter(source);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var container, addButton;
-			container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new recipe.
-			addButton.click(function (event) {
-				window.location.href = "prod_new.php?return=prod_inprod.php";
-			});
-		},
-		columns: [
-			{ text: 'Datum', datafield: 'birth', width: 120 },
-			{ text: 'Code', datafield: 'code', width: 120 },
-			{ text: 'Naam', datafield: 'name' },
-			{ text: 'Fase', datafield: 'stage', width: 200,
-			  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-				var fase, d, date1, date2, date1_unixtime, date2_unixtime, timeDifference, timeDifferenceInDays;
-				// 2 = brew, 6 = package, 7 = carbonation, 8 = mature, 9 = taste
-				fase = StageData[value].nl;
-				if (value == 2) {
-					fase = StageData[value].nl + " op " + rowdata.brew_date;
-				}
-				if (value == 7 || value == 8) {
-					d = new Date();
-					date2 = rowdata.package_date;
-					date2 = date2.split('-');
-					// Now we convert the array to a Date object
-					date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate());
-					date2 = new Date(date2[0], date2[1]-1, date2[2]);
-					// We use the getTime() method and get the unixtime
-					date1_unixtime = parseInt(date1.getTime() / 1000);
-					date2_unixtime = parseInt(date2.getTime() / 1000);
-					// This is the calculated difference in seconds
-					timeDifference = date1_unixtime - date2_unixtime;
-					// Round the result for brews that overlap summer/wintertime changes.
-					timeDifferenceInDays = Math.round(timeDifference / 60 / 60 / 24);
-					if (timeDifferenceInDays >= 14)
-						fase = StageData[value].nl + " dag " + (timeDifferenceInDays - 14) + " van 28";
-					else
-						fase = StageData[value].nl + " dag " + timeDifferenceInDays + " van 14";
-				}
-				return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + fase + "</span>";
-			  }
-		       	},
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Wijzig";
-				}, buttonclick: function (row) {
-					var datarecord = dataAdapter.records[row];
-					window.location.href = "prod_edit.php?record=" + datarecord.record + "&select=inprod&return=prod_inprod.php";
-				}
-			}
-		],
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container, addButton;
+   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Add</span></div>');
+   container.append(addButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new recipe.
+   addButton.click(function(event) {
+    window.location.href = 'prod_new.php?return=prod_inprod.php';
+   });
+  },
+  columns: [
+   { text: 'Datum', datafield: 'birth', width: 120 },
+   { text: 'Code', datafield: 'code', width: 120 },
+   { text: 'Naam', datafield: 'name' },
+   { text: 'Fase', datafield: 'stage', width: 200,
+    cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     var fase, d, date1, date2, date1_unixtime, date2_unixtime, timeDifference, timeDifferenceInDays;
+     // 2 = brew, 6 = package, 7 = carbonation, 8 = mature, 9 = taste
+     fase = StageData[value].nl;
+     if (value == 2) {
+      fase = StageData[value].nl + ' op ' + rowdata.brew_date;
+     }
+     if (value == 7 || value == 8) {
+      d = new Date();
+      date2 = rowdata.package_date;
+      date2 = date2.split('-');
+      // Now we convert the array to a Date object
+      date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate());
+      date2 = new Date(date2[0], date2[1] - 1, date2[2]);
+      // We use the getTime() method and get the unixtime
+      date1_unixtime = parseInt(date1.getTime() / 1000);
+      date2_unixtime = parseInt(date2.getTime() / 1000);
+      // This is the calculated difference in seconds
+      timeDifference = date1_unixtime - date2_unixtime;
+      // Round the result for brews that overlap summer/wintertime changes.
+      timeDifferenceInDays = Math.round(timeDifference / 60 / 60 / 24);
+      if (timeDifferenceInDays >= 14)
+       fase = StageData[value].nl + ' dag ' + (timeDifferenceInDays - 14) + ' van 28';
+      else
+       fase = StageData[value].nl + ' dag ' + timeDifferenceInDays + ' van 14';
+     }
+     return '<span style="margin: 3px; margin-top: 6px; float: left;">' + fase + '</span>';
+    }
+   },
+   { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function() {
+    return 'Wijzig';
+    }, buttonclick: function(row) {
+     var datarecord = dataAdapter.records[row];
+     window.location.href = 'prod_edit.php?record=' + datarecord.record + '&select=inprod&return=prod_inprod.php';
+    }
+   }
+  ],
+ });
 });
--- a/www/js/prod_new-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit brouw project."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#code").jqxTooltip({content:"Het unieke code nummer van dit brouw project."});$("#code").jqxInput({theme:theme,width:100,height:23});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit project."});$("#notes").jqxInput({theme:theme,width:960,height:200});$("#type").jqxDropDownList({theme:theme,source:RecipeTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#type").jqxDropDownList("selectItem",2);$("#type").on("select",function(e){if(e.args){a=e.args.index}});$("#st_name").jqxTooltip({content:"De bierstijl naam voor dit recept."});$("#st_name").jqxInput({theme:theme,width:250,height:23});$("#st_category").jqxTooltip({content:"De Amerikaanse bierstijl categorie."});$("#st_category").jqxInput({theme:theme,width:250,height:23});$("#st_category_number").jqxTooltip({content:"De Amerikaanse bierstijl categorie sub nummer."});$("#st_category_number").jqxInput({theme:theme,width:70,height:23});$("#st_letter").jqxTooltip({content:"De bierstijl letter voor dit recept."});$("#st_letter").jqxInput({theme:theme,width:250,height:23});$("#st_guide").jqxTooltip({content:"De bierstijl gids voor dit recept."});$("#st_guide").jqxInput({theme:theme,width:250,height:23});$("#st_notes").jqxInput({theme:theme,width:800,height:100});$("#st_type").jqxTooltip({content:"Het bierstijl type."});$("#st_type").jqxInput({theme:theme,width:250,height:23});$("#st_og_min").jqxTooltip({content:"Het minimum begin SG voor deze bierstijl."});$("#st_og_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_og_max").jqxTooltip({content:"Het maximum begin SG voor deze bierstijl."});$("#st_og_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_fg_min").jqxTooltip({content:"Het minimum eind SG voor deze bierstijl."});$("#st_fg_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_fg_max").jqxTooltip({content:"Het maximum eind SG voor deze bierstijl."});$("#st_fg_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_ibu_min").jqxTooltip({content:"De minimum bitterheid voor deze bierstijl."});$("#st_ibu_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_ibu_max").jqxTooltip({content:"De maximum bitterheid voor deze bierstijl."});$("#st_ibu_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_color_min").jqxTooltip({content:"De minimum kleur voor deze bierstijl."});$("#st_color_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_color_max").jqxTooltip({content:"De maximum kleur voor deze bierstijl."});$("#st_color_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_carb_min").jqxTooltip({content:"Het minimum koolzuur volume voor deze bierstijl."});$("#st_carb_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_carb_max").jqxTooltip({content:"Het maximum koolzuur volume voor deze bierstijl."});$("#st_carb_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_abv_min").jqxTooltip({content:"Het minimum alcohol volume % voor deze bierstijl."});$("#st_abv_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_abv_max").jqxTooltip({content:"Het maximum alcohol volume % voor deze bierstijl."});$("#st_abv_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_profile").jqxInput({theme:theme,width:800,height:48});$("#st_ingredients").jqxInput({theme:theme,width:800,height:23});$("#st_examples").jqxInput({theme:theme,width:800,height:48});$("#styleSelect").jqxDropDownList({placeHolder:"Kies bierstijl:",theme:theme,source:styleslist,displayMember:"name",width:250,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(f,e,h){var g=styleslist.records[f];return g.style_guide+" "+g.style_letter+" "+g.name}});$("#styleSelect").on("select",function(g){if(g.args){var e=g.args.index,f=styleslist.records[e];$("#st_name").val(f.name);$("#st_category").val(f.category);$("#st_category_number").val(f.category_number);$("#st_letter").val(f.style_letter);$("#st_guide").val(f.style_guide);b=f.type;$("#st_type").val(StyleTypeData[f.type].nl);$("#st_og_min").val(f.og_min);$("#st_og_max").val(f.og_max);$("#st_fg_min").val(f.fg_min);$("#st_fg_max").val(f.fg_max);$("#st_ibu_min").val(f.ibu_min);$("#st_ibu_max").val(f.ibu_max);$("#st_color_min").val(f.color_min);$("#st_color_max").val(f.color_max);$("#st_carb_min").val(f.carb_min);$("#st_carb_max").val(f.carb_max);$("#st_abv_min").val(f.abv_min);$("#st_abv_max").val(f.abv_max);$("#st_notes").val(f.notes);$("#st_profile").val(f.profile);$("#st_ingredients").val(f.ingredients);$("#st_examples").val(f.examples)}});$("#eq_name").jqxTooltip({content:"De naam van deze brouw apparatuur."});$("#eq_name").jqxInput({theme:theme,width:250,height:23});$("#eq_calc_boil_volume").jqxCheckBox({theme:theme,width:120,height:23,disabled:true});$("#eq_boil_size").jqxTooltip({content:"Normaal kook volume in liters"});$("#eq_boil_size").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_batch_size").jqxTooltip({content:"Berekende batch grootte in liters aan het eind van de kook."});$("#eq_batch_size").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_volume").jqxTooltip({content:"Maisch ketel volume."});$("#eq_tun_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_weight").jqxTooltip({content:"Maisch ketel gewicht."});$("#eq_tun_weight").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_height").jqxTooltip({content:"Maisch ketel hoogte."});$("#eq_tun_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_material").jqxTooltip({content:"Maisch ketel materiaal."});$("#eq_tun_material").jqxInput({theme:theme,width:180,height:23});$("#eq_tun_specific_heat").jqxTooltip({content:"Maisch ketel warmte geleiding."});$("#eq_tun_specific_heat").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:3});$("#eq_top_up_water").jqxTooltip({content:"Extra water in het gistvat."});$("#eq_top_up_water").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_trub_chiller_loss").jqxTooltip({content:"Standaard verlies bij het overbrengen naar het gistvat."});$("#eq_trub_chiller_loss").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_evap_rate").jqxTooltip({content:"Verdamping in liters per uur."});$("#eq_evap_rate").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:2,});$("#eq_boil_time").jqxTooltip({content:"Normale kooktijd in minuten."});$("#eq_boil_time").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:0});$("#eq_top_up_kettle").jqxTooltip({content:"Extra water toevoegen tijdens de kook."});$("#eq_top_up_kettle").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_hop_utilization").jqxTooltip({content:"100% voor kleine installaties, hoger voor grote brouwerijen."});$("#eq_hop_utilization").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:0});$("#eq_notes").jqxTooltip({content:"Opmerkingen over deze apparatuur."});$("#eq_notes").jqxInput({theme:theme,width:960,height:100});$("#eq_lauter_volume").jqxTooltip({content:"Filterkuip volume."});$("#eq_lauter_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_lauter_height").jqxTooltip({content:"Filterkuip hoogte."});$("#eq_lauter_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_lauter_deadspace").jqxTooltip({content:"Filterkuip verlies in liters."});$("#eq_lauter_deadspace").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_kettle_volume").jqxTooltip({content:"Kook ketel volume in liters."});$("#eq_kettle_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_kettle_height").jqxTooltip({content:"Kook ketel hoogte in cm."});$("#eq_kettle_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_mash_volume").jqxTooltip({content:"Maisch water voor de eerste stap."});$("#eq_mash_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_mash_max").jqxTooltip({content:"De maximale moutstort in Kg."});$("#eq_mash_max").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_efficiency").jqxTooltip({content:"Gemiddeld brouwzaal rendement."});$("#eq_efficiency").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#equipmentSelect").jqxDropDownList({placeHolder:"Kies apparatuur:",theme:theme,source:equipmentlist,displayMember:"name",width:250,height:27,dropDownWidth:300,renderer:function(f,e,h){var g=equipmentlist.records[f];return g.batch_size+" liter "+g.name}});$("#equipmentSelect").on("select",function(g){if(g.args){var e=g.args.index,f=equipmentlist.records[e];$("#eq_name").val(f.name);$("#eq_boil_size").val(f.boil_size);$("#eq_batch_size").val(f.batch_size);$("#eq_tun_volume").val(f.tun_volume);$("#eq_tun_weight").val(f.tun_weight);$("#eq_tun_specific_heat").val(f.tun_specific_heat);c=f.tun_material;$("#eq_tun_material").val(MaterialData[f.tun_material].nl);$("#eq_tun_height").val(f.tun_height);$("#eq_top_up_water").val(f.top_up_water);$("#eq_trub_chiller_loss").val(f.trub_chiller_loss);$("#eq_evap_rate").val(f.evap_rate);$("#eq_boil_time").val(f.boil_time);$("#eq_calc_boil_volume").val(f.calc_boil_volume);$("#eq_top_up_kettle").val(f.top_up_kettle);$("#eq_hop_utilization").val(f.hop_utilization);$("#eq_notes").val(f.notes);$("#eq_lauter_volume").val(f.lauter_volume);$("#eq_lauter_height").val(f.lauter_height);$("#eq_lauter_deadspace").val(f.lauter_deadspace);$("#eq_kettle_volume").val(f.kettle_volume);$("#eq_kettle_height").val(f.kettle_height);$("#eq_mash_volume").val(f.mash_volume);$("#eq_mash_max").val(f.mash_max);$("#eq_efficiency").val(f.efficiency)}});var a=2,b=0,c=0,d=(function(){var e=function(){$("#name").on("change",function(f){d.validate(true)});$("#code").on("change",function(f){d.validate(true)});$("#type").on("change",function(f){d.validate(true)});$("#styleSelect").on("change",function(f){d.validate(true)});$("#equipmentSelect").on("change",function(f){d.validate(true)});$("#nextButtonCompleted").click(function(){var j=new Date(),g=j.getMonth()+1,f=j.getFullYear()+"-",i,h;if(g<10){f=f+"0"}f=f+g+"-";if(j.getDate()<10){f=f+"0"}f=f+j.getDate();i={record:-1,name:$("#name").val(),code:$("#code").val(),birth:f,stage:0,notes:$("#notes").val(),log_brew:0,log_fermentation:0,inventory_reduced:0,locked:0,eq_name:$("#eq_name").val(),eq_boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),eq_batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),eq_tun_volume:parseFloat($("#eq_tun_volume").jqxNumberInput("decimal")),eq_tun_weight:parseFloat($("#eq_tun_weight").jqxNumberInput("decimal")),eq_tun_specific_heat:parseFloat($("#eq_tun_specific_heat").jqxNumberInput("decimal")),eq_tun_material:c,eq_tun_height:parseFloat($("#eq_tun_height").jqxNumberInput("decimal"))/100,eq_top_up_water:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),eq_trub_chiller_loss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),eq_evap_rate:parseFloat($("#eq_evap_rate").jqxNumberInput("decimal")),eq_boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),eq_calc_boil_volume:$("#eq_calc_boil_volume").val(),eq_top_up_kettle:parseFloat($("#eq_top_up_kettle").jqxNumberInput("decimal")),eq_hop_utilization:parseFloat($("#eq_hop_utilization").jqxNumberInput("decimal")),eq_notes:$("#eq_notes").val(),eq_lauter_volume:parseFloat($("#eq_lauter_volume").jqxNumberInput("decimal")),eq_lauter_height:parseFloat($("#eq_lauter_height").jqxNumberInput("decimal"))/100,eq_lauter_deadspace:parseFloat($("#eq_lauter_deadspace").jqxNumberInput("decimal")),eq_kettle_volume:parseFloat($("#eq_kettle_volume").jqxNumberInput("decimal")),eq_kettle_height:parseFloat($("#eq_kettle_height").jqxNumberInput("decimal"))/100,eq_mash_volume:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),eq_mash_max:parseFloat($("#eq_mash_max").jqxNumberInput("decimal")),eq_efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),brew_date_start:"",brew_mash_ph:0,brew_mash_sg:1,brew_mash_efficiency:0,brew_sparge_ph:0,brew_sparge_temperature:85,brew_sparge_est:0,brew_preboil_volume:0,brew_preboil_sg:0,brew_preboil_ph:0,brew_preboil_efficiency:0,brew_aboil_volume:0,brew_aboil_sg:0,brew_aboil_ph:0,brew_aboil_efficiency:0,brew_cooling_method:0,brew_cooling_time:0,brew_cooling_to:20,brew_whirlpool9:0,brew_whirlpool7:0,brew_whirlpool6:0,brew_whirlpool2:0,brew_fermenter_volume:parseFloat($("#eq_batch_size").jqxNumberInput("decimal"))-parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal"))+parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),brew_fermenter_extrawater:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),brew_fermenter_tcloss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),brew_aeration_time:0,brew_aeration_speed:0,brew_aeration_type:0,brew_fermenter_sg:0,brew_fermenter_ibu:0,brew_fermenter_color:0,brew_date_end:"",og:0,fg:0,primary_start_temp:0,primary_max_temp:0,primary_end_temp:0,primary_end_sg:0,primary_end_date:"",secondary_temp:0,secondary_end_date:"",tertiary_temp:0,package_date:"",package_volume:0,package_infuse_amount:0,package_infuse_abv:0,package_infuse_notes:"",package_abv:0,package_ph:0,bottle_amount:0,bottle_carbonation:0,bottle_priming_water:0,bottle_priming_amount:0,bottle_carbonation_temp:23,keg_amount:0,keg_carbonation:0,keg_priming_water:0,keg_priming_amount:0,keg_carbonation_temp:23,keg_forced_carb:1,keg_pressure:0,taste_notes:"",taste_rate:0,taste_date:"",taste_color:"",taste_transparency:"",taste_head:"",taste_aroma:"",taste_taste:"",taste_mouthfeel:"",taste_aftertaste:"",st_name:$("#st_name").val(),st_letter:$("#st_letter").val(),st_guide:$("#st_guide").val(),st_type:b,st_category:$("#st_category").val(),st_category_number:parseFloat($("#st_category_number").jqxNumberInput("decimal")),st_og_min:parseFloat($("#st_og_min").jqxNumberInput("decimal")),st_og_max:parseFloat($("#st_og_max").jqxNumberInput("decimal")),st_fg_min:parseFloat($("#st_fg_min").jqxNumberInput("decimal")),st_fg_max:parseFloat($("#st_fg_max").jqxNumberInput("decimal")),st_ibu_min:parseFloat($("#st_ibu_min").jqxNumberInput("decimal")),st_ibu_max:parseFloat($("#st_ibu_max").jqxNumberInput("decimal")),st_color_min:parseFloat($("#st_color_min").jqxNumberInput("decimal")),st_color_max:parseFloat($("#st_color_max").jqxNumberInput("decimal")),st_carb_min:parseFloat($("#st_carb_min").jqxNumberInput("decimal")),st_carb_max:parseFloat($("#st_carb_max").jqxNumberInput("decimal")),st_abv_min:parseFloat($("#st_abv_min").jqxNumberInput("decimal")),st_abv_max:parseFloat($("#st_abv_max").jqxNumberInput("decimal")),type:a,batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),est_og:0,est_fg:0,est_color:0,est_abv:0,est_carb:0,color_method:0,est_ibu:0,ibu_method:0,mash_name:"",mash_ph:5.4,sparge_temp:85,sparge_volume:parseFloat($("#eq_boil_size").jqxNumberInput("decimal"))/2,sparge_ph:5.8,sparge_source:0,sparge_acid_type:0,sparge_acid_perc:80,sparge_acid_amount:0,calc_acid:1,w1_name:"Tap water",w1_amount:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),w1_calcium:0,w1_sulfate:0,w1_chloride:0,w1_sodium:0,w1_magnesium:0,w1_total_alkalinity:0,w1_ph:7,w1_cost:0,wa_acid_name:0,wa_acid_perc:80,wa_base_name:0,wg_amount:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),wg_calcium:0,wg_sulfate:0,wg_chloride:0,wg_sodium:0,wg_magnesium:0,wg_total_alkalinity:0,wg_ph:7,wb_calcium:0,wb_sulfate:0,wb_sodium:0,wb_chloride:0,wb_magnesium:0,wb_total_alkalinity:0,wb_ph:0,starter_enable:0,divide_type:0,divide_size:0,divide_parts:0};h="insert=true&return="+my_return+"&"+$.param(i);$.ajax({dataType:"json",url:"includes/db_product.php",cache:false,data:h,type:"POST",success:function(l,k,m){window.location.href=my_return},error:function(k,m,l){}})});$(".nextButton").click(function(){d.validate(true);$("#jqxTabs").jqxTabs("next")});$(".backButton").click(function(){d.validate(true);$("#jqxTabs").jqxTabs("previous")})};return{init:function(){$("#jqxTabs").jqxTabs({theme:theme,height:630,width:1280,autoHeight:false,position:"top",keyboardNavigation:false});$("#nextButtonBase").jqxButton({theme:theme,width:150});$("#nextButtonStyle").jqxButton({theme:theme,width:150});$("#backButtonStyle").jqxButton({theme:theme,template:"success",width:150});$("#nextButtonEq").jqxButton({theme:theme,width:150});$("#backButtonEq").jqxButton({theme:theme,template:"success",width:150});$("#nextButtonCompleted").jqxButton({theme:theme,template:"success",width:150});$("#backButtonCompleted").jqxButton({theme:theme,template:"success",width:150});e();this.validate();this.showHint("Validation hints.")},validate:function(f){if(!this.firstTab(f)){$("#jqxTabs").jqxTabs("disableAt",1);$("#jqxTabs").jqxTabs("disableAt",2);$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",1)}if(!this.secondTab(f)){$("#jqxTabs").jqxTabs("disableAt",2);$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",2)}if(!this.thirdTab(f)){$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",3)}},showHint:function(g,f){if(typeof f==="undefined"){f=".hint"}if(g===""){g="Ok, je mag doorgaan."}$(f).html("<strong>"+g+"</strong>")},firstTab:function(g){var f=$("#name").val(),i=$("#code").val(),h="";if(f.length<3){h+="Je moet een brouw project naam invullen. <br />"}if(i.length<3){h+="Je moet een brouw project code invullen. <br />"}if(h!==""){if(g){this.showHint(h,"#hintBase")}return false}this.showHint("Ok, je mag doorgaan.","#hintBase");$("#nextButtonBase").jqxButton({template:"success"});return true},secondTab:function(g){var f=$("#styleSelect").val(),h="";if(f.length<3){h+="Je moet een bierstijl kiezen. <br />"}if(h!==""){if(g){this.showHint(h,"#hintStyle")}return false}this.showHint("Ok, je mag doorgaan.","#hintStyle");$("#nextButtonStyle").jqxButton({template:"success"});return true},thirdTab:function(f){var h=$("#equipmentSelect").val(),g="";if(h.length<3){g+="Je moet een brouw installatie kiezen. <br />"}if(g!==""){if(f){this.showHint(g,"#hintEq")}return false}this.showHint("Ok, je mag doorgaan.","#hintEq");$("#nextButtonEq").jqxButton({template:"success"});return true}}}());d.init()});
\ No newline at end of file
--- a/www/js/prod_new.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/prod_new.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2018-2019
+ * Copyright (C) 2018-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -21,560 +21,559 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	// Tab 1, base
-	$("#name").jqxTooltip({ content: 'De naam voor dit brouw project.' });
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#code").jqxTooltip({ content: 'Het unieke code nummer van dit brouw project.' });
-	$("#code").jqxInput({ theme: theme, width: 100, height: 23 });
-	$("#notes").jqxTooltip({ content: 'De uitgebreide opmerkingen over dit project.' });
-	$("#notes").jqxInput({ theme: theme, width: 960, height: 200 });
-	$("#type").jqxDropDownList({
-		theme: theme,
-		source: RecipeTypeAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#type").jqxDropDownList('selectItem', 2);
-	$("#type").on('select', function (event) {
-		if (event.args) {
-			recipe_type = event.args.index;
-		}
-	});
+ // Tab 1, base
+ $('#name').jqxTooltip({ content: 'De naam voor dit brouw project.' });
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#code').jqxTooltip({ content: 'Het unieke code nummer van dit brouw project.' });
+ $('#code').jqxInput({ theme: theme, width: 100, height: 23 });
+ $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit project.' });
+ $('#notes').jqxInput({ theme: theme, width: 960, height: 200 });
+ $('#type').jqxDropDownList({
+  theme: theme,
+  source: RecipeTypeAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#type').jqxDropDownList('selectItem', 2);
+ $('#type').on('select', function(event) {
+  if (event.args) {
+   recipe_type = event.args.index;
+  }
+ });
 
-	// Tab 2, style
-	$("#st_name").jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
-	$("#st_name").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#st_category").jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
-	$("#st_category").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#st_category_number").jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
-	$("#st_category_number").jqxInput({ theme: theme, width: 70, height: 23 });
-	$("#st_letter").jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
-	$("#st_letter").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#st_guide").jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
-	$("#st_guide").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#st_notes").jqxInput({ theme: theme, width: 800, height: 100 });
-	$("#st_type").jqxTooltip({ content: 'Het bierstijl type.'});
-	$("#st_type").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#st_og_min").jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
-	$("#st_og_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
-	$("#st_og_max").jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
-	$("#st_og_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
-	$("#st_fg_min").jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
-	$("#st_fg_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
-	$("#st_fg_max").jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
-	$("#st_fg_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
-	$("#st_ibu_min").jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
-	$("#st_ibu_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
-	$("#st_ibu_max").jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
-	$("#st_ibu_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
-	$("#st_color_min").jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
-	$("#st_color_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
-	$("#st_color_max").jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
-	$("#st_color_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
-	$("#st_carb_min").jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
-	$("#st_carb_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
-	$("#st_carb_max").jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
-	$("#st_carb_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
-	$("#st_abv_min").jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
-	$("#st_abv_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
-	$("#st_abv_max").jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
-	$("#st_abv_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
-	$("#st_profile").jqxInput({ theme: theme, width: 800, height: 48 });
-	$("#st_ingredients").jqxInput({ theme: theme, width: 800, height: 23 });
-	$("#st_examples").jqxInput({ theme: theme, width: 800, height: 48 });
-	$("#styleSelect").jqxDropDownList({
-		placeHolder: "Kies bierstijl:",
-		theme: theme,
-		source: styleslist,
-		displayMember: "name",
-		width: 250,
-		height: 27,
-		dropDownWidth: 500,
-		dropDownHeight: 500,
-		renderer: function (index, label, value) {
-			var datarecord = styleslist.records[index];
-			return datarecord.style_guide + " " + datarecord.style_letter+ " " + datarecord.name;
-		}
-	});
-	$("#styleSelect").on('select', function (event) {
-		if (event.args) {
-			var index = event.args.index,
-			datarecord = styleslist.records[index];
-			$("#st_name").val(datarecord.name);
-			$("#st_category").val(datarecord.category);
-			$("#st_category_number").val(datarecord.category_number);
-			$("#st_letter").val(datarecord.style_letter);
-			$("#st_guide").val(datarecord.style_guide);
-			style_type = datarecord.type;
-			$("#st_type").val(StyleTypeData[datarecord.type].nl);
-			$("#st_og_min").val(datarecord.og_min);
-			$("#st_og_max").val(datarecord.og_max);
-			$("#st_fg_min").val(datarecord.fg_min);
-			$("#st_fg_max").val(datarecord.fg_max);
-			$("#st_ibu_min").val(datarecord.ibu_min);
-			$("#st_ibu_max").val(datarecord.ibu_max);
-			$("#st_color_min").val(datarecord.color_min);
-			$("#st_color_max").val(datarecord.color_max);
-			$("#st_carb_min").val(datarecord.carb_min);
-			$("#st_carb_max").val(datarecord.carb_max);
-			$("#st_abv_min").val(datarecord.abv_min);
-			$("#st_abv_max").val(datarecord.abv_max);
-			$("#st_notes").val(datarecord.notes);
-			$("#st_profile").val(datarecord.profile);
-			$("#st_ingredients").val(datarecord.ingredients);
-			$("#st_examples").val(datarecord.examples);
-		}
-	});
+ // Tab 2, style
+ $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
+ $('#st_name').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
+ $('#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
+ $('#st_category_number').jqxInput({ theme: theme, width: 70, height: 23 });
+ $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
+ $('#st_letter').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
+ $('#st_guide').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_notes').jqxInput({ theme: theme, width: 800, height: 100 });
+ $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
+ $('#st_type').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
+ $('#st_og_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
+ $('#st_og_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
+ $('#st_fg_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
+ $('#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
+ $('#st_ibu_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
+ $('#st_ibu_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
+ $('#st_color_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
+ $('#st_color_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
+ $('#st_carb_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
+ $('#st_carb_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
+ $('#st_abv_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
+ $('#st_abv_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_profile').jqxInput({ theme: theme, width: 800, height: 48 });
+ $('#st_ingredients').jqxInput({ theme: theme, width: 800, height: 23 });
+ $('#st_examples').jqxInput({ theme: theme, width: 800, height: 48 });
+ $('#styleSelect').jqxDropDownList({
+  placeHolder: 'Kies bierstijl:',
+  theme: theme,
+  source: styleslist,
+  displayMember: 'name',
+  width: 250,
+  height: 27,
+  dropDownWidth: 500,
+  dropDownHeight: 500,
+  renderer: function(index, label, value) {
+   var datarecord = styleslist.records[index];
+   return datarecord.style_guide + ' ' + datarecord.style_letter + ' ' + datarecord.name;
+  }
+ });
+ $('#styleSelect').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = styleslist.records[index];
+   $('#st_name').val(datarecord.name);
+   $('#st_category').val(datarecord.category);
+   $('#st_category_number').val(datarecord.category_number);
+   $('#st_letter').val(datarecord.style_letter);
+   $('#st_guide').val(datarecord.style_guide);
+   style_type = datarecord.type;
+   $('#st_type').val(StyleTypeData[datarecord.type].nl);
+   $('#st_og_min').val(datarecord.og_min);
+   $('#st_og_max').val(datarecord.og_max);
+   $('#st_fg_min').val(datarecord.fg_min);
+   $('#st_fg_max').val(datarecord.fg_max);
+   $('#st_ibu_min').val(datarecord.ibu_min);
+   $('#st_ibu_max').val(datarecord.ibu_max);
+   $('#st_color_min').val(datarecord.color_min);
+   $('#st_color_max').val(datarecord.color_max);
+   $('#st_carb_min').val(datarecord.carb_min);
+   $('#st_carb_max').val(datarecord.carb_max);
+   $('#st_abv_min').val(datarecord.abv_min);
+   $('#st_abv_max').val(datarecord.abv_max);
+   $('#st_notes').val(datarecord.notes);
+   $('#st_profile').val(datarecord.profile);
+   $('#st_ingredients').val(datarecord.ingredients);
+   $('#st_examples').val(datarecord.examples);
+  }
+ });
 
-	// Tab 3, equipment
-	$("#eq_name").jqxTooltip({ content: 'De naam van deze brouw apparatuur.' });
-	$("#eq_name").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#eq_calc_boil_volume").jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
-	$("#eq_boil_size").jqxTooltip({ content: 'Normaal kook volume in liters' });
-	$("#eq_boil_size").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_batch_size").jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' });
-	$("#eq_batch_size").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_tun_volume").jqxTooltip({ content: 'Maisch ketel volume.' });
-	$("#eq_tun_volume").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_tun_weight").jqxTooltip({ content: 'Maisch ketel gewicht.' });
-	$("#eq_tun_weight").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_tun_height").jqxTooltip({ content: 'Maisch ketel hoogte.' });
-	$("#eq_tun_height").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_tun_material").jqxTooltip({ content: 'Maisch ketel materiaal.' });
-	$("#eq_tun_material").jqxInput({ theme: theme, width: 180, height: 23 });
-	$("#eq_tun_specific_heat").jqxTooltip({ content: 'Maisch ketel warmte geleiding.' });
-	$("#eq_tun_specific_heat").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 3 });
-	$("#eq_top_up_water").jqxTooltip({ content: 'Extra water in het gistvat.' });
-	$("#eq_top_up_water").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_trub_chiller_loss").jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
-	$("#eq_trub_chiller_loss").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_evap_rate").jqxTooltip({ content: 'Verdamping in liters per uur.' });
-	$("#eq_evap_rate").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 2,  });
-	$("#eq_boil_time").jqxTooltip({ content: 'Normale kooktijd in minuten.' });
-	$("#eq_boil_time").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 0 });
-	$("#eq_top_up_kettle").jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
-	$("#eq_top_up_kettle").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_hop_utilization").jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
-	$("#eq_hop_utilization").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 0 });
-	$("#eq_notes").jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });
-	$("#eq_notes").jqxInput({ theme: theme, width: 960, height: 100 });
-	$("#eq_lauter_volume").jqxTooltip({ content: 'Filterkuip volume.' });
-	$("#eq_lauter_volume").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_lauter_height").jqxTooltip({ content: 'Filterkuip hoogte.' });
-	$("#eq_lauter_height").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_lauter_deadspace").jqxTooltip({ content: 'Filterkuip verlies in liters.' });
-	$("#eq_lauter_deadspace").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_kettle_volume").jqxTooltip({ content: 'Kook ketel volume in liters.' });
-	$("#eq_kettle_volume").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_kettle_height").jqxTooltip({ content: 'Kook ketel hoogte in cm.' });
-	$("#eq_kettle_height").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_mash_volume").jqxTooltip({ content: 'Maisch water voor de eerste stap.' });
-	$("#eq_mash_volume").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_mash_max").jqxTooltip({ content: 'De maximale moutstort in Kg.' });
-	$("#eq_mash_max").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#eq_efficiency").jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' });
-	$("#eq_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
-	$("#equipmentSelect").jqxDropDownList({
-		placeHolder: "Kies apparatuur:",
-		theme: theme,
-		source: equipmentlist,
-		displayMember: "name",
-		width: 250,
-		height: 27,
-		dropDownWidth: 300,
-		renderer: function (index, label, value) {
-		var datarecord = equipmentlist.records[index];
-			return datarecord.batch_size + " liter " + datarecord.name;
-		}
-	});
-	$("#equipmentSelect").on('select', function (event) {
-		if (event.args) {
-			var index = event.args.index,
-			datarecord = equipmentlist.records[index];
-			$("#eq_name").val(datarecord.name);
-			$("#eq_boil_size").val(datarecord.boil_size);
-			$("#eq_batch_size").val(datarecord.batch_size);
-			$("#eq_tun_volume").val(datarecord.tun_volume);
-			$("#eq_tun_weight").val(datarecord.tun_weight);
-			$("#eq_tun_specific_heat").val(datarecord.tun_specific_heat);
-			tun_material = datarecord.tun_material;
-			$("#eq_tun_material").val(MaterialData[datarecord.tun_material].nl);
-			$("#eq_tun_height").val(datarecord.tun_height);
-			$("#eq_top_up_water").val(datarecord.top_up_water);
-			$("#eq_trub_chiller_loss").val(datarecord.trub_chiller_loss);
-			$("#eq_evap_rate").val(datarecord.evap_rate);
-			$("#eq_boil_time").val(datarecord.boil_time);
-			$("#eq_calc_boil_volume").val(datarecord.calc_boil_volume);
-			$("#eq_top_up_kettle").val(datarecord.top_up_kettle);
-			$("#eq_hop_utilization").val(datarecord.hop_utilization);
-			$("#eq_notes").val(datarecord.notes);
-			$("#eq_lauter_volume").val(datarecord.lauter_volume);
-			$("#eq_lauter_height").val(datarecord.lauter_height);
-			$("#eq_lauter_deadspace").val(datarecord.lauter_deadspace);
-			$("#eq_kettle_volume").val(datarecord.kettle_volume);
-			$("#eq_kettle_height").val(datarecord.kettle_height);
-			$("#eq_mash_volume").val(datarecord.mash_volume);
-			$("#eq_mash_max").val(datarecord.mash_max);
-			$("#eq_efficiency").val(datarecord.efficiency);
-		}
-	});
+ // Tab 3, equipment
+ $('#eq_name').jqxTooltip({ content: 'De naam van deze brouw apparatuur.' });
+ $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#eq_calc_boil_volume').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
+ $('#eq_boil_size').jqxTooltip({ content: 'Normaal kook volume in liters' });
+ $('#eq_boil_size').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_batch_size').jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' });
+ $('#eq_batch_size').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_tun_volume').jqxTooltip({ content: 'Maisch ketel volume.' });
+ $('#eq_tun_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_tun_weight').jqxTooltip({ content: 'Maisch ketel gewicht.' });
+ $('#eq_tun_weight').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_tun_height').jqxTooltip({ content: 'Maisch ketel hoogte.' });
+ $('#eq_tun_height').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_tun_material').jqxTooltip({ content: 'Maisch ketel materiaal.' });
+ $('#eq_tun_material').jqxInput({ theme: theme, width: 180, height: 23 });
+ $('#eq_tun_specific_heat').jqxTooltip({ content: 'Maisch ketel warmte geleiding.' });
+ $('#eq_tun_specific_heat').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 3 });
+ $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' });
+ $('#eq_top_up_water').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
+ $('#eq_trub_chiller_loss').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' });
+ $('#eq_evap_rate').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 2 });
+ $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten.' });
+ $('#eq_boil_time').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 0 });
+ $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
+ $('#eq_top_up_kettle').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
+ $('#eq_hop_utilization').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 0 });
+ $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });
+ $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 100 });
+ $('#eq_lauter_volume').jqxTooltip({ content: 'Filterkuip volume.' });
+ $('#eq_lauter_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_lauter_height').jqxTooltip({ content: 'Filterkuip hoogte.' });
+ $('#eq_lauter_height').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_lauter_deadspace').jqxTooltip({ content: 'Filterkuip verlies in liters.' });
+ $('#eq_lauter_deadspace').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_kettle_volume').jqxTooltip({ content: 'Kook ketel volume in liters.' });
+ $('#eq_kettle_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_kettle_height').jqxTooltip({ content: 'Kook ketel hoogte in cm.' });
+ $('#eq_kettle_height').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_mash_volume').jqxTooltip({ content: 'Maisch water voor de eerste stap.' });
+ $('#eq_mash_volume').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_mash_max').jqxTooltip({ content: 'De maximale moutstort in Kg.' });
+ $('#eq_mash_max').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#eq_efficiency').jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' });
+ $('#eq_efficiency').jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
+ $('#equipmentSelect').jqxDropDownList({
+  placeHolder: 'Kies apparatuur:',
+  theme: theme,
+  source: equipmentlist,
+  displayMember: 'name',
+  width: 250,
+  height: 27,
+  dropDownWidth: 300,
+  renderer: function(index, label, value) {
+  var datarecord = equipmentlist.records[index];
+   return datarecord.batch_size + ' liter ' + datarecord.name;
+  }
+ });
+ $('#equipmentSelect').on('select', function(event) {
+  if (event.args) {
+   var index = event.args.index,
+   datarecord = equipmentlist.records[index];
+   $('#eq_name').val(datarecord.name);
+   $('#eq_boil_size').val(datarecord.boil_size);
+   $('#eq_batch_size').val(datarecord.batch_size);
+   $('#eq_tun_volume').val(datarecord.tun_volume);
+   $('#eq_tun_weight').val(datarecord.tun_weight);
+   $('#eq_tun_specific_heat').val(datarecord.tun_specific_heat);
+   tun_material = datarecord.tun_material;
+   $('#eq_tun_material').val(MaterialData[datarecord.tun_material].nl);
+   $('#eq_tun_height').val(datarecord.tun_height);
+   $('#eq_top_up_water').val(datarecord.top_up_water);
+   $('#eq_trub_chiller_loss').val(datarecord.trub_chiller_loss);
+   $('#eq_evap_rate').val(datarecord.evap_rate);
+   $('#eq_boil_time').val(datarecord.boil_time);
+   $('#eq_calc_boil_volume').val(datarecord.calc_boil_volume);
+   $('#eq_top_up_kettle').val(datarecord.top_up_kettle);
+   $('#eq_hop_utilization').val(datarecord.hop_utilization);
+   $('#eq_notes').val(datarecord.notes);
+   $('#eq_lauter_volume').val(datarecord.lauter_volume);
+   $('#eq_lauter_height').val(datarecord.lauter_height);
+   $('#eq_lauter_deadspace').val(datarecord.lauter_deadspace);
+   $('#eq_kettle_volume').val(datarecord.kettle_volume);
+   $('#eq_kettle_height').val(datarecord.kettle_height);
+   $('#eq_mash_volume').val(datarecord.mash_volume);
+   $('#eq_mash_max').val(datarecord.mash_max);
+   $('#eq_efficiency').val(datarecord.efficiency);
+  }
+ });
 
-	var recipe_type = 2,
-        style_type = 0,
-        tun_material = 0,
-	wizard = (function() { // Creating wizard module
+ var recipe_type = 2,
+ style_type = 0,
+ tun_material = 0,
+ wizard = (function() { // Creating wizard module
 
-		//Adding event listeners
-		var _addHandlers = function () {
-			$('#name').on('change', function (event) { wizard.validate(true); });
-			$('#code').on('change', function (event) { wizard.validate(true); });
-			$('#type').on('change', function (event) { wizard.validate(true); });
-			$('#styleSelect').on('change', function (event) { wizard.validate(true); });
-			$('#equipmentSelect').on('change', function (event) { wizard.validate(true); });
-			$('#nextButtonCompleted').click(function () {
-				var d = new Date(),
-				m = d.getMonth() + 1,
-				b = d.getFullYear() + '-',
-				newrow, data;
-				if (m < 10)
-					b = b + '0';
-				b = b + m + '-';
-				if (d.getDate() < 10)
-					b = b + '0';
-				b = b + d.getDate();
-				newrow = {
-					record: -1,
-					name: $("#name").val(),
-					code: $("#code").val(),
-					birth: b,
-					stage: 0,
-					notes: $("#notes").val(),
-					log_brew: 0,
-					log_fermentation: 0,
-					inventory_reduced: 0,
-					locked: 0,
-					eq_name: $("#eq_name").val(),
-					eq_boil_size: parseFloat($("#eq_boil_size").jqxNumberInput('decimal')),
-					eq_batch_size: parseFloat($("#eq_batch_size").jqxNumberInput('decimal')),
-					eq_tun_volume: parseFloat($("#eq_tun_volume").jqxNumberInput('decimal')),
-					eq_tun_weight: parseFloat($("#eq_tun_weight").jqxNumberInput('decimal')),
-					eq_tun_specific_heat: parseFloat($("#eq_tun_specific_heat").jqxNumberInput('decimal')),
-					eq_tun_material: tun_material,
-					eq_tun_height: parseFloat($("#eq_tun_height").jqxNumberInput('decimal')) / 100,
-					eq_top_up_water: parseFloat($("#eq_top_up_water").jqxNumberInput('decimal')),
-					eq_trub_chiller_loss: parseFloat($("#eq_trub_chiller_loss").jqxNumberInput('decimal')),
-					eq_evap_rate: parseFloat($("#eq_evap_rate").jqxNumberInput('decimal')),
-					eq_boil_time: parseFloat($("#eq_boil_time").jqxNumberInput('decimal')),
-					eq_calc_boil_volume: $("#eq_calc_boil_volume").val(),
-					eq_top_up_kettle: parseFloat($("#eq_top_up_kettle").jqxNumberInput('decimal')),
-					eq_hop_utilization: parseFloat($("#eq_hop_utilization").jqxNumberInput('decimal')),
-					eq_notes: $("#eq_notes").val(),
-					eq_lauter_volume: parseFloat($("#eq_lauter_volume").jqxNumberInput('decimal')),
-					eq_lauter_height: parseFloat($("#eq_lauter_height").jqxNumberInput('decimal')) / 100,
-					eq_lauter_deadspace: parseFloat($("#eq_lauter_deadspace").jqxNumberInput('decimal')),
-					eq_kettle_volume: parseFloat($("#eq_kettle_volume").jqxNumberInput('decimal')),
-					eq_kettle_height: parseFloat($("#eq_kettle_height").jqxNumberInput('decimal')) / 100,
-					eq_mash_volume: parseFloat($("#eq_mash_volume").jqxNumberInput('decimal')),
-					eq_mash_max: parseFloat($("#eq_mash_max").jqxNumberInput('decimal')),
-					eq_efficiency: parseFloat($("#eq_efficiency").jqxNumberInput('decimal')),
-					brew_date_start: '',
-					brew_mash_ph: 0.0,
-					brew_mash_sg: 1.000,
-					brew_mash_efficiency: 0,
-					brew_sparge_ph: 0.0,
-					brew_sparge_temperature: 85,
-					brew_sparge_est: 0,
-					brew_preboil_volume: 0,
-					brew_preboil_sg: 0,
-					brew_preboil_ph: 0.0,
-					brew_preboil_efficiency: 0,
-					brew_aboil_volume: 0,
-					brew_aboil_sg: 0,
-					brew_aboil_ph: 0.0,
-					brew_aboil_efficiency: 0,
-					brew_cooling_method: 0,
-					brew_cooling_time: 0,
-					brew_cooling_to: 20,
-					brew_whirlpool9: 0,
-					brew_whirlpool7: 0,
-					brew_whirlpool6: 0,
-					brew_whirlpool2: 0,
-					brew_fermenter_volume: parseFloat($("#eq_batch_size").jqxNumberInput('decimal')) -
-							parseFloat($("#eq_trub_chiller_loss").jqxNumberInput('decimal')) +
-							parseFloat($("#eq_top_up_water").jqxNumberInput('decimal')),
-					brew_fermenter_extrawater: parseFloat($("#eq_top_up_water").jqxNumberInput('decimal')),
-					brew_fermenter_tcloss: parseFloat($("#eq_trub_chiller_loss").jqxNumberInput('decimal')),
-					brew_aeration_time: 0,
-					brew_aeration_speed: 0,
-					brew_aeration_type: 0,
-					brew_fermenter_sg: 0,
-					brew_fermenter_ibu: 0,
-					brew_fermenter_color: 0,
-					brew_date_end: '',
-					og: 0,
-					fg: 0,
-					primary_start_temp: 0,
-					primary_max_temp: 0,
-					primary_end_temp: 0,
-					primary_end_sg: 0,
-					primary_end_date: '',
-					secondary_temp: 0,
-					secondary_end_date: '',
-					tertiary_temp: 0,
-					package_date: '',
-					package_volume: 0,
-					package_infuse_amount: 0,
-					package_infuse_abv: 0,
-					package_infuse_notes: '',
-					package_abv: 0,
-					package_ph: 0,
-					bottle_amount: 0,
-					bottle_carbonation: 0,
-					bottle_priming_water: 0,
-					bottle_priming_amount: 0,
-					bottle_carbonation_temp: 23,
-					keg_amount: 0,
-					keg_carbonation: 0,
-					keg_priming_water: 0,
-					keg_priming_amount: 0,
-					keg_carbonation_temp: 23,
-					keg_forced_carb: 1,
-					keg_pressure: 0,
-					taste_notes: '',
-					taste_rate: 0,
-					taste_date: '',
-					taste_color: '',
-					taste_transparency: '',
-					taste_head: '',
-					taste_aroma: '',
-					taste_taste: '',
-					taste_mouthfeel: '',
-					taste_aftertaste: '',
-					st_name: $('#st_name').val(),
-					st_letter: $('#st_letter').val(),
-					st_guide: $('#st_guide').val(),
-					st_type: style_type,
-					st_category: $('#st_category').val(),
-					st_category_number: parseFloat($("#st_category_number").jqxNumberInput('decimal')),
-					st_og_min: parseFloat($("#st_og_min").jqxNumberInput('decimal')),
-					st_og_max: parseFloat($("#st_og_max").jqxNumberInput('decimal')),
-					st_fg_min: parseFloat($("#st_fg_min").jqxNumberInput('decimal')),
-					st_fg_max: parseFloat($("#st_fg_max").jqxNumberInput('decimal')),
-					st_ibu_min: parseFloat($("#st_ibu_min").jqxNumberInput('decimal')),
-					st_ibu_max: parseFloat($("#st_ibu_max").jqxNumberInput('decimal')),
-					st_color_min: parseFloat($("#st_color_min").jqxNumberInput('decimal')),
-					st_color_max: parseFloat($("#st_color_max").jqxNumberInput('decimal')),
-					st_carb_min: parseFloat($("#st_carb_min").jqxNumberInput('decimal')),
-					st_carb_max: parseFloat($("#st_carb_max").jqxNumberInput('decimal')),
-					st_abv_min: parseFloat($("#st_abv_min").jqxNumberInput('decimal')),
-					st_abv_max: parseFloat($("#st_abv_max").jqxNumberInput('decimal')),
-					type: recipe_type,
-					batch_size: parseFloat($("#eq_batch_size").jqxNumberInput('decimal')),
-					boil_size: parseFloat($("#eq_boil_size").jqxNumberInput('decimal')),
-					boil_time: parseFloat($("#eq_boil_time").jqxNumberInput('decimal')),
-					efficiency: parseFloat($("#eq_efficiency").jqxNumberInput('decimal')),
-					est_og: 0.000,
-					est_fg: 0.000,
-					est_color: 0,
-					est_abv: 0.0,
-					est_carb: 0.0,
-					color_method: 0,
-					est_ibu: 0,
-					ibu_method: 0,
-					mash_name: "",
-					mash_ph: 5.4,
-					sparge_temp: 85.0,
-					sparge_volume: parseFloat($("#eq_boil_size").jqxNumberInput('decimal')) / 2,
-					sparge_ph: 5.8,
-					sparge_source: 0,
-					sparge_acid_type: 0,
-					sparge_acid_perc: 80,
-					sparge_acid_amount: 0,
-					calc_acid: 1,
-					w1_name: 'Tap water',
-					w1_amount: parseFloat($("#eq_mash_volume").jqxNumberInput('decimal')),
-					w1_calcium: 0,
-					w1_sulfate: 0,
-					w1_chloride: 0,
-					w1_sodium: 0,
-					w1_magnesium: 0,
-					w1_total_alkalinity: 0,
-					w1_ph: 7.0,
-					w1_cost: 0.0,
-					wa_acid_name: 0,        // Lactic acid
-					wa_acid_perc: 80,
-					wa_base_name: 0,
-					wg_amount: parseFloat($("#eq_mash_volume").jqxNumberInput('decimal')),
-					wg_calcium: 0,
-					wg_sulfate: 0,
-					wg_chloride: 0,
-					wg_sodium: 0,
-					wg_magnesium: 0,
-					wg_total_alkalinity: 0,
-					wg_ph: 7.0,
-					wb_calcium: 0,
-					wb_sulfate: 0,
-					wb_sodium: 0,
-					wb_chloride: 0,
-					wb_magnesium: 0,
-					wb_total_alkalinity: 0,
-					wb_ph: 0,
-					starter_enable: 0,
-					divide_type: 0,
-					divide_size: 0,
-					divide_parts: 0
-				};
-				data = "insert=true&return=" + my_return + "&" + $.param(newrow);
-				$.ajax({
-					dataType: 'json',
-					url: "includes/db_product.php",
-					cache: false,
-					data: data,
-					type: "POST",
-					success: function (data, status, xhr) {
-						// update command is executed.
-						window.location.href = my_return;
-					},
-					error: function(jqXHR, textStatus, errorThrown) {
-					}
-				});
-			});
-			$('.nextButton').click(function () {
-				wizard.validate(true);
-				$('#jqxTabs').jqxTabs('next');
-			});
-			$('.backButton').click(function () {
-				wizard.validate(true);
-				$('#jqxTabs').jqxTabs('previous');
-			});
-		};
+  //Adding event listeners
+  var _addHandlers = function() {
+   $('#name').on('change', function(event) { wizard.validate(true); });
+   $('#code').on('change', function(event) { wizard.validate(true); });
+   $('#type').on('change', function(event) { wizard.validate(true); });
+   $('#styleSelect').on('change', function(event) { wizard.validate(true); });
+   $('#equipmentSelect').on('change', function(event) { wizard.validate(true); });
+   $('#nextButtonCompleted').click(function() {
+    var d = new Date(),
+    m = d.getMonth() + 1,
+    b = d.getFullYear() + '-',
+    newrow, data;
+    if (m < 10)
+     b = b + '0';
+    b = b + m + '-';
+    if (d.getDate() < 10)
+     b = b + '0';
+    b = b + d.getDate();
+    newrow = {
+     record: -1,
+     name: $('#name').val(),
+     code: $('#code').val(),
+     birth: b,
+     stage: 0,
+     notes: $('#notes').val(),
+     log_brew: 0,
+     log_fermentation: 0,
+     log_ispindel: 0,
+     log_co2pressure: 0,
+     inventory_reduced: 0,
+     locked: 0,
+     eq_name: $('#eq_name').val(),
+     eq_boil_size: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')),
+     eq_batch_size: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')),
+     eq_tun_volume: parseFloat($('#eq_tun_volume').jqxNumberInput('decimal')),
+     eq_tun_weight: parseFloat($('#eq_tun_weight').jqxNumberInput('decimal')),
+     eq_tun_specific_heat: parseFloat($('#eq_tun_specific_heat').jqxNumberInput('decimal')),
+     eq_tun_material: tun_material,
+     eq_tun_height: parseFloat($('#eq_tun_height').jqxNumberInput('decimal')) / 100,
+     eq_top_up_water: parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
+     eq_trub_chiller_loss: parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')),
+     eq_evap_rate: parseFloat($('#eq_evap_rate').jqxNumberInput('decimal')),
+     eq_boil_time: parseFloat($('#eq_boil_time').jqxNumberInput('decimal')),
+     eq_calc_boil_volume: $('#eq_calc_boil_volume').val(),
+     eq_top_up_kettle: parseFloat($('#eq_top_up_kettle').jqxNumberInput('decimal')),
+     eq_hop_utilization: parseFloat($('#eq_hop_utilization').jqxNumberInput('decimal')),
+     eq_notes: $('#eq_notes').val(),
+     eq_lauter_volume: parseFloat($('#eq_lauter_volume').jqxNumberInput('decimal')),
+     eq_lauter_height: parseFloat($('#eq_lauter_height').jqxNumberInput('decimal')) / 100,
+     eq_lauter_deadspace: parseFloat($('#eq_lauter_deadspace').jqxNumberInput('decimal')),
+     eq_kettle_volume: parseFloat($('#eq_kettle_volume').jqxNumberInput('decimal')),
+     eq_kettle_height: parseFloat($('#eq_kettle_height').jqxNumberInput('decimal')) / 100,
+     eq_mash_volume: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
+     eq_mash_max: parseFloat($('#eq_mash_max').jqxNumberInput('decimal')),
+     eq_efficiency: parseFloat($('#eq_efficiency').jqxNumberInput('decimal')),
+     brew_date_start: '',
+     brew_mash_ph: 0.0,
+     brew_mash_sg: 1.000,
+     brew_mash_efficiency: 0,
+     brew_sparge_ph: 0.0,
+     brew_sparge_temperature: 85,
+     brew_sparge_est: 0,
+     brew_preboil_volume: 0,
+     brew_preboil_sg: 0,
+     brew_preboil_ph: 0.0,
+     brew_preboil_efficiency: 0,
+     brew_aboil_volume: 0,
+     brew_aboil_sg: 0,
+     brew_aboil_ph: 0.0,
+     brew_aboil_efficiency: 0,
+     brew_cooling_method: 0,
+     brew_cooling_time: 0,
+     brew_cooling_to: 20,
+     brew_whirlpool9: 0,
+     brew_whirlpool7: 0,
+     brew_whirlpool6: 0,
+     brew_whirlpool2: 0,
+     brew_fermenter_volume: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')) -
+       parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')) +
+       parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
+     brew_fermenter_extrawater: parseFloat($('#eq_top_up_water').jqxNumberInput('decimal')),
+     brew_fermenter_tcloss: parseFloat($('#eq_trub_chiller_loss').jqxNumberInput('decimal')),
+     brew_aeration_time: 0,
+     brew_aeration_speed: 0,
+     brew_aeration_type: 0,
+     brew_fermenter_sg: 0,
+     brew_fermenter_ibu: 0,
+     brew_fermenter_color: 0,
+     brew_date_end: '',
+     og: 0,
+     fg: 0,
+     primary_start_temp: 0,
+     primary_max_temp: 0,
+     primary_end_temp: 0,
+     primary_end_sg: 0,
+     primary_end_date: '',
+     secondary_temp: 0,
+     secondary_end_date: '',
+     tertiary_temp: 0,
+     package_date: '',
+     package_volume: 0,
+     package_infuse_amount: 0,
+     package_infuse_abv: 0,
+     package_infuse_notes: '',
+     package_abv: 0,
+     package_ph: 0,
+     bottle_amount: 0,
+     bottle_carbonation: 0,
+     bottle_priming_water: 0,
+     bottle_priming_amount: 0,
+     bottle_carbonation_temp: 23,
+     keg_amount: 0,
+     keg_carbonation: 0,
+     keg_priming_water: 0,
+     keg_priming_amount: 0,
+     keg_carbonation_temp: 23,
+     keg_forced_carb: 1,
+     keg_pressure: 0,
+     taste_notes: '',
+     taste_rate: 0,
+     taste_date: '',
+     taste_color: '',
+     taste_transparency: '',
+     taste_head: '',
+     taste_aroma: '',
+     taste_taste: '',
+     taste_mouthfeel: '',
+     taste_aftertaste: '',
+     st_name: $('#st_name').val(),
+     st_letter: $('#st_letter').val(),
+     st_guide: $('#st_guide').val(),
+     st_type: style_type,
+     st_category: $('#st_category').val(),
+     st_category_number: parseFloat($('#st_category_number').jqxNumberInput('decimal')),
+     st_og_min: parseFloat($('#st_og_min').jqxNumberInput('decimal')),
+     st_og_max: parseFloat($('#st_og_max').jqxNumberInput('decimal')),
+     st_fg_min: parseFloat($('#st_fg_min').jqxNumberInput('decimal')),
+     st_fg_max: parseFloat($('#st_fg_max').jqxNumberInput('decimal')),
+     st_ibu_min: parseFloat($('#st_ibu_min').jqxNumberInput('decimal')),
+     st_ibu_max: parseFloat($('#st_ibu_max').jqxNumberInput('decimal')),
+     st_color_min: parseFloat($('#st_color_min').jqxNumberInput('decimal')),
+     st_color_max: parseFloat($('#st_color_max').jqxNumberInput('decimal')),
+     st_carb_min: parseFloat($('#st_carb_min').jqxNumberInput('decimal')),
+     st_carb_max: parseFloat($('#st_carb_max').jqxNumberInput('decimal')),
+     st_abv_min: parseFloat($('#st_abv_min').jqxNumberInput('decimal')),
+     st_abv_max: parseFloat($('#st_abv_max').jqxNumberInput('decimal')),
+     type: recipe_type,
+     batch_size: parseFloat($('#eq_batch_size').jqxNumberInput('decimal')),
+     boil_size: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')),
+     boil_time: parseFloat($('#eq_boil_time').jqxNumberInput('decimal')),
+     efficiency: parseFloat($('#eq_efficiency').jqxNumberInput('decimal')),
+     est_og: 0.000,
+     est_fg: 0.000,
+     est_color: 0,
+     est_abv: 0.0,
+     est_carb: 0.0,
+     color_method: 0,
+     est_ibu: 0,
+     ibu_method: 0,
+     mash_name: '',
+     mash_ph: 5.4,
+     sparge_temp: 85.0,
+     sparge_volume: parseFloat($('#eq_boil_size').jqxNumberInput('decimal')) / 2,
+     sparge_ph: 5.8,
+     sparge_source: 0,
+     sparge_acid_type: 0,
+     sparge_acid_perc: 80,
+     sparge_acid_amount: 0,
+     calc_acid: 1,
+     w1_name: 'Tap water',
+     w1_amount: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
+     w1_calcium: 0,
+     w1_sulfate: 0,
+     w1_chloride: 0,
+     w1_sodium: 0,
+     w1_magnesium: 0,
+     w1_total_alkalinity: 0,
+     w1_ph: 7.0,
+     w1_cost: 0.0,
+     wa_acid_name: 0,        // Lactic acid
+     wa_acid_perc: 80,
+     wa_base_name: 0,
+     wg_amount: parseFloat($('#eq_mash_volume').jqxNumberInput('decimal')),
+     wg_calcium: 0,
+     wg_sulfate: 0,
+     wg_chloride: 0,
+     wg_sodium: 0,
+     wg_magnesium: 0,
+     wg_total_alkalinity: 0,
+     wg_ph: 7.0,
+     wb_calcium: 0,
+     wb_sulfate: 0,
+     wb_sodium: 0,
+     wb_chloride: 0,
+     wb_magnesium: 0,
+     wb_total_alkalinity: 0,
+     wb_ph: 0,
+     starter_enable: 0,
+     divide_type: 0,
+     divide_size: 0,
+     divide_factor: 1,
+     divide_parts: 0,
+     divide_part: 0
+    };
+    data = 'insert=true&return=' + my_return + '&' + $.param(newrow);
+    $.ajax({
+     dataType: 'json',
+     url: 'includes/db_product.php',
+     cache: false,
+     data: data,
+     type: 'POST',
+     success: function(data, status, xhr) {
+      window.location.href = my_return;
+     },
+     error: function(jqXHR, textStatus, errorThrown) {
+     }
+    });
+   });
+   $('.nextButton').click(function() {
+    wizard.validate(true);
+    $('#jqxTabs').jqxTabs('next');
+   });
+   $('.backButton').click(function() {
+    wizard.validate(true);
+    $('#jqxTabs').jqxTabs('previous');
+   });
+  };
 
-		return {
-			//Initializing the wizzard - creating all elements, adding event handlers and starting the validation
-			init: function () {
-				$('#jqxTabs').jqxTabs({
-					theme: theme,
-					height: 630,
-					width: 1280,
-					autoHeight: false,
-					position: 'top',
-					keyboardNavigation: false
-				});
-				$('#nextButtonBase').jqxButton({ theme: theme, width: 150 });
-				$('#nextButtonStyle').jqxButton({ theme: theme, width: 150});
-				$('#backButtonStyle').jqxButton({ theme: theme, template: 'success', width: 150});
-				$('#nextButtonEq').jqxButton({ theme: theme, width: 150});
-				$('#backButtonEq').jqxButton({ theme: theme, template: 'success', width: 150});
-				$('#nextButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
-				$('#backButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
-				_addHandlers();
-				this.validate();
-				this.showHint('Validation hints.');
-			},
+  return {
+   //Initializing the wizzard - creating all elements, adding event handlers and starting the validation
+   init: function() {
+    $('#jqxTabs').jqxTabs({
+     theme: theme,
+     height: 630,
+     width: 1280,
+     autoHeight: false,
+     position: 'top',
+     keyboardNavigation: false
+    });
+    $('#nextButtonBase').jqxButton({ theme: theme, width: 150 });
+    $('#nextButtonStyle').jqxButton({ theme: theme, width: 150});
+    $('#backButtonStyle').jqxButton({ theme: theme, template: 'success', width: 150});
+    $('#nextButtonEq').jqxButton({ theme: theme, width: 150});
+    $('#backButtonEq').jqxButton({ theme: theme, template: 'success', width: 150});
+    $('#nextButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
+    $('#backButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
+    _addHandlers();
+    this.validate();
+    this.showHint('Validation hints.');
+   },
 
-			//Validating all wizard tabs
-			validate: function (notify) {
-				if (!this.firstTab(notify)) {
-					$('#jqxTabs').jqxTabs('disableAt', 1);
-					$('#jqxTabs').jqxTabs('disableAt', 2);
-					$('#jqxTabs').jqxTabs('disableAt', 3);
-					return;
-				} else {
-					$('#jqxTabs').jqxTabs('enableAt', 1);
-				}
-				if (!this.secondTab(notify)) {
-					$('#jqxTabs').jqxTabs('disableAt', 2);
-					$('#jqxTabs').jqxTabs('disableAt', 3);
-					return;
-				} else {
-					$('#jqxTabs').jqxTabs('enableAt', 2);
-				}
-				if (!this.thirdTab(notify)) {
-					$('#jqxTabs').jqxTabs('disableAt', 3);
-					return;
-				} else {
-					$('#jqxTabs').jqxTabs('enableAt', 3);
-				}
-			},
+   //Validating all wizard tabs
+   validate: function(notify) {
+    if (!this.firstTab(notify)) {
+     $('#jqxTabs').jqxTabs('disableAt', 1);
+     $('#jqxTabs').jqxTabs('disableAt', 2);
+     $('#jqxTabs').jqxTabs('disableAt', 3);
+     return;
+    } else {
+     $('#jqxTabs').jqxTabs('enableAt', 1);
+    }
+    if (!this.secondTab(notify)) {
+     $('#jqxTabs').jqxTabs('disableAt', 2);
+     $('#jqxTabs').jqxTabs('disableAt', 3);
+     return;
+    } else {
+     $('#jqxTabs').jqxTabs('enableAt', 2);
+    }
+    if (!this.thirdTab(notify)) {
+     $('#jqxTabs').jqxTabs('disableAt', 3);
+     return;
+    } else {
+     $('#jqxTabs').jqxTabs('enableAt', 3);
+    }
+   },
 
-			//Displaying message to the user
-			showHint: function (message, selector) {
-				if (typeof selector === 'undefined') {
-					selector = '.hint';
-				}
-				if (message === '') {
-					message = 'Ok, je mag doorgaan.';
-				}
-				$(selector).html('<strong>' + message + '</strong>');
-			},
+   //Displaying message to the user
+   showHint: function(message, selector) {
+    if (typeof selector === 'undefined') {
+     selector = '.hint';
+    }
+    if (message === '') {
+     message = 'Ok, je mag doorgaan.';
+    }
+    $(selector).html('<strong>' + message + '</strong>');
+   },
 
-			//Validating the first tab
-			firstTab: function (notify) {
-				var name = $('#name').val(),
-				    code = $('#code').val(),
-				    message = '';
-				if (name.length < 3) {
-					message += 'Je moet een brouw project naam invullen. <br />';
-				}
-				if (code.length < 3) {
-					message += 'Je moet een brouw project code invullen. <br />';
-				}
-				// Check if code already exists.
-				if (message !== '') {
-					if (notify) {
-						this.showHint(message, '#hintBase');
-					}
-					return false;
-				}
-				this.showHint('Ok, je mag doorgaan.', '#hintBase');
-				$('#nextButtonBase').jqxButton({ template: 'success' });
-				return true;
-			},
+   //Validating the first tab
+   firstTab: function(notify) {
+    var name = $('#name').val(), code = $('#code').val(), message = '';
+    if (name.length < 3) {
+     message += 'Je moet een brouw project naam invullen. <br />';
+    }
+    if (code.length < 3) {
+     message += 'Je moet een brouw project code invullen. <br />';
+    }
+    // Check if code already exists.
+    if (message !== '') {
+     if (notify) {
+      this.showHint(message, '#hintBase');
+     }
+     return false;
+    }
+    this.showHint('Ok, je mag doorgaan.', '#hintBase');
+    $('#nextButtonBase').jqxButton({ template: 'success' });
+    return true;
+   },
 
-			//Validating the second tab
-			secondTab: function (notify) {
-				var stylesel = $('#styleSelect').val(),
-				    message = '';
-				if (stylesel.length < 3) {
-					message += 'Je moet een bierstijl kiezen. <br />';
-				}
-				if (message !== '') {
-					if (notify) {
-						this.showHint(message, '#hintStyle');
-					}
-					return false;
-				}
-				this.showHint('Ok, je mag doorgaan.', '#hintStyle');
-				$('#nextButtonStyle').jqxButton({ template: 'success' });
-				return true;
-			},
+   //Validating the second tab
+   secondTab: function(notify) {
+    var stylesel = $('#styleSelect').val(), message = '';
+    if (stylesel.length < 3) {
+     message += 'Je moet een bierstijl kiezen. <br />';
+    }
+    if (message !== '') {
+     if (notify) {
+      this.showHint(message, '#hintStyle');
+     }
+     return false;
+    }
+    this.showHint('Ok, je mag doorgaan.', '#hintStyle');
+    $('#nextButtonStyle').jqxButton({ template: 'success' });
+    return true;
+   },
 
-			//Validating the third tab
-			thirdTab: function (notify) {
-				var equipsel = $('#equipmentSelect').val(),
-				    message = '';
-				if (equipsel.length < 3) {
-					message += 'Je moet een brouw installatie kiezen. <br />';
-				}
-				if (message !== '') {
-					if (notify) {
-						this.showHint(message, '#hintEq');
-					}
-					return false;
-				}
-				this.showHint('Ok, je mag doorgaan.', '#hintEq');
-				$('#nextButtonEq').jqxButton({ template: 'success' });
-				return true;
-			}
-		}
-	} ());
+   //Validating the third tab
+   thirdTab: function(notify) {
+    var equipsel = $('#equipmentSelect').val(), message = '';
+    if (equipsel.length < 3) {
+     message += 'Je moet een brouw installatie kiezen. <br />';
+    }
+    if (message !== '') {
+     if (notify) {
+      this.showHint(message, '#hintEq');
+     }
+     return false;
+    }
+    this.showHint('Ok, je mag doorgaan.', '#hintEq');
+    $('#nextButtonEq').jqxButton({ template: 'success' });
+    return true;
+   }
+  };
+ } ());
 
-	//Initializing the wizard
-	wizard.init();
+ //Initializing the wizard
+ wizard.init();
 });
 
--- a/www/js/profile_fermentation-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit vergisting profiel."});$("#inittemp_lo").jqxTooltip({content:"De minimale begin temperatuur van dit profiel."});$("#inittemp_hi").jqxTooltip({content:"De maximale begin temperatuur van dit profiel."});var c={},b="includes/db_profile_fermentation.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"inittemp_lo",type:"float"},{name:"inittemp_hi",type:"float"},{name:"fridgemode",type:"int"},{name:"totalsteps",type:"int"},{name:"duration",type:"int"},{name:"steps",type:"array"}],id:"record",url:b,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:b,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),d=-1,a=function(j){var i=function(){var k={};k.name="Stap 1";k.steptime=12;k.resttime=24;k.target_lo=22;k.target_hi=23;k.fridgemode=0;return k},h={localdata:j.steps,datatype:"local",datafields:[{name:"name",type:"string"},{name:"steptime",type:"float"},{name:"resttime",type:"float"},{name:"target_lo",type:"float"},{name:"target_hi",type:"float"},{name:"fridgemode",type:"int"}],addrow:function(l,n,k,m){m(true)},deleterow:function(k,l){l(true)}},g=new $.jqx.dataAdapter(h);$("#grid").jqxGrid({width:800,height:330,source:g,theme:theme,selectionmode:"singlerow",editmode:"selectedcell",editable:true,showtoolbar:true,rendertoolbar:function(l){var k=$("<div style='margin: 5px;'></div>");l.append(k);k.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');k.append('<input style="margin-left: 290px;" id="deleterowbutton" type="button" value="Verwijder stap" />');$("#addrowbutton").jqxButton({template:"primary",theme:theme,width:150});$("#deleterowbutton").jqxButton({template:"danger",theme:theme,width:150});$("#addrowbutton").on("click",function(){var m=i();$("#grid").jqxGrid("addrow",null,m)});$("#deleterowbutton").on("click",function(){var m=$("#grid").jqxGrid("getselectedrowindex"),o=$("#grid").jqxGrid("getdatainformation").rowscount,n;if(m>=0&&m<o){n=$("#grid").jqxGrid("getrowid",m);$("#grid").jqxGrid("deleterow",n)}})},columns:[{text:"Stap naam",datafield:"name"},{text:"Min. &deg;C",datafield:"target_lo",width:100,align:"right",cellsalign:"right",cellsformat:"f1",validation:function(k,l){if(l<0||l>40){return{result:false,message:"De temperatuur moet tussen 0 en 40 zijn."}}return true}},{text:"Max. &deg;C",datafield:"target_hi",width:100,align:"right",cellsalign:"right",cellsformat:"f1",validation:function(k,l){if(l<0||l>40){return{result:false,message:"De temperatuur moet tussen 0 en 40 zijn."}}return true}},{text:"Koelkast",datafield:"fridgemode",columntype:"checkbox",width:80},{text:"Stap tijd",datafield:"steptime",width:80,align:"right",cellsalign:"right",validation:function(k,l){if(l<0||l>14400){return{result:false,message:"De tijd moet tussen 0 en 14400 zijn."}}return true}},{text:"Rust tijd",datafield:"resttime",width:80,align:"right",cellsalign:"right",validation:function(k,l){if(l<0||l>14400){return{result:false,message:"De tijd moet tussen 0 en 14400 zijn."}}return true}}]})};$("#name").jqxInput({theme:theme,width:640,height:23});$("#inittemp_lo").jqxNumberInput(Spin1dec);$("#inittemp_lo").jqxNumberInput({max:40});$("#inittemp_hi").jqxNumberInput(Spin1dec);$("#inittemp_hi").jqxNumberInput({max:40});$("#fridgemode").jqxCheckBox({theme:theme,height:23,enableContainerClick:false});$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var h,g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");g.append(h);i.append(g);h.jqxButton({theme:theme,width:90,height:20});h.click(function(j){d=-1;$("#name").val("Nieuw vergist profiel");c.uuid="";$("#inittemp_lo").val(20);$("#inittemp_hi").val(20);$("#fridgemode").val(0);c.totalsteps=0;c.duration=0;a("");$("#popupWindow").jqxWindow("open")})},filterable:false,columns:[{text:"Vergisting profiel",datafield:"name"},{text:"Min. start &deg;C",datafield:"inittemp_lo",width:150,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Max. start &deg;C",datafield:"inittemp_hi",width:150,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Stappen",datafield:"totalsteps",width:80,align:"right",cellsalign:"right"},{text:"Tijdsduur",datafield:"duration",width:150,align:"right",cellsrenderer:function(m,j,l,i,k){var h,n,g;if(l<24){h=l+" uur"}else{n=Math.floor(l/24);g=l%24;if(n==1){h=n+" dag, "+g+" uur"}else{h=n+" dagen, "+g+" uur"}}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+h+"</span>"}},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){d=g;c=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(c.name);$("#inittemp_lo").val(parseFloat(c.inittemp_lo));$("#inittemp_hi").val(parseFloat(c.inittemp_hi));$("#fridgemode").val(parseFloat(c.fridgemode));a(c);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:550,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i,h=-1,g=$("#grid").jqxGrid("getrows");if(d>=0){h=$("#jqxgrid").jqxGrid("getrowid",d)}i={record:h,uuid:c.uuid,name:$("#name").val(),inittemp_lo:parseFloat($("#inittemp_lo").jqxNumberInput("decimal")),inittemp_hi:parseFloat($("#inittemp_hi").jqxNumberInput("decimal")),fridgemode:$("#fridgemode").val(),steps:g};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",h,i)}else{$("#jqxgrid").jqxGrid("addrow",null,i)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_fermentation.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/profile_fermentation.js	Fri May 01 16:37:31 2020 +0200
@@ -22,336 +22,335 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	// tooltips
-	$("#name").jqxTooltip({ content: 'De naam voor dit vergisting profiel.' });
-	$("#inittemp_lo").jqxTooltip({ content: 'De minimale begin temperatuur van dit profiel.' });
-	$("#inittemp_hi").jqxTooltip({ content: 'De maximale begin temperatuur van dit profiel.' });
+ // tooltips
+ $('#name').jqxTooltip({ content: 'De naam voor dit vergisting profiel.' });
+ $('#inittemp_lo').jqxTooltip({ content: 'De minimale begin temperatuur van dit profiel.' });
+ $('#inittemp_hi').jqxTooltip({ content: 'De maximale begin temperatuur van dit profiel.' });
 
-	var dataRecord = {},
-        url = 'includes/db_profile_fermentation.php',
-	// prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'uuid', type: 'string' },
-			{ name: 'name', type: 'string' },
-			{ name: 'inittemp_lo', type: 'float' },
-			{ name: 'inittemp_hi', type: 'float' },
-			{ name: 'fridgemode', type: 'int' },
-			{ name: 'totalsteps', type: 'int' },
-			{ name: 'duration', type: 'int' },
-			{ name: 'steps', type: 'array' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-	editrow = -1,
+ var dataRecord = {},
+ url = 'includes/db_profile_fermentation.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'uuid', type: 'string' },
+   { name: 'name', type: 'string' },
+   { name: 'inittemp_lo', type: 'float' },
+   { name: 'inittemp_hi', type: 'float' },
+   { name: 'fridgemode', type: 'int' },
+   { name: 'totalsteps', type: 'int' },
+   { name: 'duration', type: 'int' },
+   { name: 'steps', type: 'array' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1,
 
-	// Inline steps editor
-	editsteps = function (data) {
-		var generaterow = function () {
-			var row = {};
-			row["name"] = "Stap 1";
-			row['steptime'] = 12;
-			row['resttime'] = 24;
-			row['target_lo'] = 22.0;
-			row['target_hi'] = 23.0;
-			row['fridgemode'] = 0;
-			return row;
-		},
-		stepSource = {
-			localdata: data.steps,
-			datatype: "local",
-			datafields: [
-				{ name: 'name', type: 'string' },
-				{ name: 'steptime', type: 'float' },
-				{ name: 'resttime', type: 'float' },
-				{ name: 'target_lo', type: 'float' },
-				{ name: 'target_hi', type: 'float' },
-				{ name: 'fridgemode', type: 'int' }
-			],
-			addrow: function (rowid, rowdata, position, commit) {
-				commit(true);
-			},
-			deleterow: function (rowid, commit) {
-				commit(true);
-			}
-		},
-		stepAdapter = new $.jqx.dataAdapter(stepSource);
-		$("#grid").jqxGrid({
-			width: 800,
-			height: 330,
-			source: stepAdapter,
-			theme: theme,
-			selectionmode: 'singlerow',
-			editmode: 'selectedcell',
-			editable: true,
-			showtoolbar: true,
-			rendertoolbar: function (toolbar) {
-				var container = $("<div style='margin: 5px;'></div>");
-				toolbar.append(container);
-				container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');
-				container.append('<input style="margin-left: 290px;" id="deleterowbutton" type="button" value="Verwijder stap" />');
-				$("#addrowbutton").jqxButton({ template: "primary", theme: theme, width: 150 });
-				$("#deleterowbutton").jqxButton({ template: "danger", theme: theme, width: 150 });
-				// create new row.
-				$("#addrowbutton").on('click', function () {
-					var datarow = generaterow();
-					$("#grid").jqxGrid('addrow', null, datarow);
-				});
-				// delete row.
-				$("#deleterowbutton").on('click', function () {
-					var selectedrowindex = $("#grid").jqxGrid('getselectedrowindex'),
-					rowscount = $("#grid").jqxGrid('getdatainformation').rowscount,
-					id;
-					if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
-						id = $("#grid").jqxGrid('getrowid', selectedrowindex);
-						$("#grid").jqxGrid('deleterow', id);
-					}
-				});
-			},
-			columns: [
-				{ text: 'Stap naam', datafield: 'name' },
-				{ text: 'Min. &deg;C', datafield: 'target_lo', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
-				  validation: function (cell, value) {
-					if (value < 0 || value > 40) {
-						return { result: false, message: "De temperatuur moet tussen 0 en 40 zijn." };
-					}
-					return true;
-				  }
-			       	},
-				{ text: 'Max. &deg;C', datafield: 'target_hi', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
-				  validation: function (cell, value) {
-					if (value < 0 || value > 40) {
-						return { result: false, message: "De temperatuur moet tussen 0 en 40 zijn." };
-					}
-					return true;
-				  }
-				},
-				{ text: 'Koelkast', datafield: 'fridgemode', columntype: 'checkbox', width: 80 },
-				{ text: 'Stap tijd', datafield: 'steptime', width: 80, align: 'right', cellsalign: 'right',
-				  validation: function (cell, value) {
-				  	if (value < 0 || value > 14400) {
-						return { result: false, message: "De tijd moet tussen 0 en 14400 zijn." };
-					}
-					return true;
-				  }
-			       	},
-				{ text: 'Rust tijd', datafield: 'resttime', width: 80, align: 'right', cellsalign: 'right',
-				  validation: function (cell, value) {
-					if (value < 0 || value > 14400) {
-						return { result: false, message: "De tijd moet tussen 0 en 14400 zijn." };
-					}
-					return true;
-				  }
-			       	}
-			]
-		});
-	};
+ // Inline steps editor
+ editsteps = function(data) {
+  var generaterow = function() {
+   var row = {};
+   row['name'] = 'Stap 1';
+   row['steptime'] = 12;
+   row['resttime'] = 24;
+   row['target_lo'] = 22.0;
+   row['target_hi'] = 23.0;
+   row['fridgemode'] = 0;
+   return row;
+  };
+  var stepSource = {
+   localdata: data.steps,
+   datatype: 'local',
+   datafields: [
+    { name: 'name', type: 'string' },
+    { name: 'steptime', type: 'float' },
+    { name: 'resttime', type: 'float' },
+    { name: 'target_lo', type: 'float' },
+    { name: 'target_hi', type: 'float' },
+    { name: 'fridgemode', type: 'int' }
+   ],
+   addrow: function(rowid, rowdata, position, commit) {
+    commit(true);
+   },
+   deleterow: function(rowid, commit) {
+    commit(true);
+   }
+  },
+  stepAdapter = new $.jqx.dataAdapter(stepSource);
+  $('#grid').jqxGrid({
+   width: 800,
+   height: 330,
+   source: stepAdapter,
+   theme: theme,
+   selectionmode: 'singlerow',
+   editmode: 'selectedcell',
+   editable: true,
+   showtoolbar: true,
+   rendertoolbar: function(toolbar) {
+    var container = $('<div style="margin: 5px;"></div>');
+    toolbar.append(container);
+    container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');
+    container.append('<input style="margin-left: 290px;" id="deleterowbutton" type="button" value="Verwijder stap" />');
+    $('#addrowbutton').jqxButton({ template: 'primary', theme: theme, width: 150 });
+    $('#deleterowbutton').jqxButton({ template: 'danger', theme: theme, width: 150 });
+    // create new row.
+    $('#addrowbutton').on('click', function() {
+     var datarow = generaterow();
+     $('#grid').jqxGrid('addrow', null, datarow);
+    });
+    // delete row.
+    $('#deleterowbutton').on('click', function() {
+     var selectedrowindex = $('#grid').jqxGrid('getselectedrowindex'),
+     rowscount = $('#grid').jqxGrid('getdatainformation').rowscount,
+     id;
+     if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
+      id = $('#grid').jqxGrid('getrowid', selectedrowindex);
+      $('#grid').jqxGrid('deleterow', id);
+     }
+    });
+   },
+   columns: [
+    { text: 'Stap naam', datafield: 'name' },
+    { text: 'Min. &deg;C', datafield: 'target_lo', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
+     validation: function(cell, value) {
+      if (value < 0 || value > 45) {
+       return { result: false, message: 'De temperatuur moet tussen 0 en 45 zijn.' };
+      }
+      return true;
+     }
+    },
+    { text: 'Max. &deg;C', datafield: 'target_hi', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1',
+     validation: function(cell, value) {
+      if (value < 0 || value > 45) {
+       return { result: false, message: 'De temperatuur moet tussen 0 en 45 zijn.' };
+      }
+      return true;
+     }
+    },
+    { text: 'Koelkast', datafield: 'fridgemode', columntype: 'checkbox', width: 80 },
+    { text: 'Stap tijd', datafield: 'steptime', width: 80, align: 'right', cellsalign: 'right',
+      validation: function(cell, value) {
+       if (value < 0 || value > 14400) {
+      return { result: false, message: 'De tijd moet tussen 0 en 14400 zijn.' };
+     }
+     return true;
+      }
+    },
+    { text: 'Rust tijd', datafield: 'resttime', width: 80, align: 'right', cellsalign: 'right',
+      validation: function(cell, value) {
+     if (value < 0 || value > 14400) {
+      return { result: false, message: 'De tijd moet tussen 0 en 14400 zijn.' };
+     }
+     return true;
+      }
+    }
+   ]
+  });
+ };
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#inittemp_lo").jqxNumberInput( Spin1dec );
-	$("#inittemp_lo").jqxNumberInput({ max: 40 });
-	$("#inittemp_hi").jqxNumberInput( Spin1dec );
-	$("#inittemp_hi").jqxNumberInput({ max: 40 });
-	$("#fridgemode").jqxCheckBox({ theme: theme, height: 23, enableContainerClick: false });
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#inittemp_lo').jqxNumberInput(Spin1dec);
+ $('#inittemp_lo').jqxNumberInput({ max: 45 });
+ $('#inittemp_hi').jqxNumberInput(Spin1dec);
+ $('#inittemp_hi').jqxNumberInput({ max: 45 });
+ $('#fridgemode').jqxCheckBox({ theme: theme, height: 23, enableContainerClick: false });
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#name").val('Nieuw vergist profiel');
-				dataRecord.uuid = '';
-				$("#inittemp_lo").val(20.0);
-				$("#inittemp_hi").val(20.0);
-				$("#fridgemode").val(0);
-				dataRecord.totalsteps = 0;
-				dataRecord.duration = 0;
-				editsteps('');
-				$("#popupWindow").jqxWindow('open');
-			});
-		},
-		filterable: false,
-		columns: [
-			{ text: 'Vergisting profiel', datafield: 'name' },
-			{ text: 'Min. start &deg;C', datafield: 'inittemp_lo', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Max. start &deg;C', datafield: 'inittemp_hi', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Stappen', datafield: 'totalsteps', width: 80, align: 'right', cellsalign: 'right' },
-			{ text: 'Tijdsduur', datafield: 'duration', width: 150, align: 'right',
-			  cellsrenderer:  function (row, columnfield, value, defaulthtml, column) {
-				var show, days, hours;
-				if (value < 24) {
-					show = value + ' uur';
-				} else {
-					days = Math.floor(value / 24);
-					hours = value % 24;
-					if (days == 1)
-						show = days + ' dag, ' + hours + ' uur';
-					else
-						show = days + ' dagen, ' + hours + ' uur';
-				}
-				return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + show + "</span>";
-			  }
-		       	},
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer:
-			 	function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					editrow = row;
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#inittemp_lo").val(parseFloat(dataRecord.inittemp_lo));
-					$("#inittemp_hi").val(parseFloat(dataRecord.inittemp_hi));
-					$("#fridgemode").val(parseFloat(dataRecord.fridgemode));
-					editsteps(dataRecord);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		position: { x: 110, y: 30 },
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1, steprows = $('#grid').jqxGrid('getrows');
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			uuid: dataRecord.uuid,
-			name: $("#name").val(),
-			inittemp_lo: parseFloat($("#inittemp_lo").jqxNumberInput('decimal')),
-			inittemp_hi: parseFloat($("#inittemp_hi").jqxNumberInput('decimal')),
-			fridgemode: $("#fridgemode").val(),
-			steps: steprows
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   container.append(addButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#name').val('Nieuw vergist profiel');
+    dataRecord.uuid = '';
+    $('#inittemp_lo').val(20.0);
+    $('#inittemp_hi').val(20.0);
+    $('#fridgemode').val(0);
+    dataRecord.totalsteps = 0;
+    dataRecord.duration = 0;
+    editsteps('');
+    $('#popupWindow').jqxWindow('open');
+   });
+  },
+  filterable: false,
+  columns: [
+   { text: 'Vergisting profiel', datafield: 'name' },
+   { text: 'Min. start &deg;C', datafield: 'inittemp_lo', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Max. start &deg;C', datafield: 'inittemp_hi', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Stappen', datafield: 'totalsteps', width: 80, align: 'right', cellsalign: 'right' },
+   { text: 'Tijdsduur', datafield: 'duration', width: 150, align: 'right',
+     cellsrenderer: function(row, columnfield, value, defaulthtml, column) {
+    var show, days, hours;
+    if (value < 24) {
+     show = value + ' uur';
+    } else {
+     days = Math.floor(value / 24);
+     hours = value % 24;
+     if (days == 1)
+      show = days + ' dag, ' + hours + ' uur';
+     else
+      show = days + ' dagen, ' + hours + ' uur';
+    }
+    return '<span style="margin: 3px; margin-top: 6px; float: right;">' + show + '</span>';
+     }
+   },
+   { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer:
+     function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     editrow = row;
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#inittemp_lo').val(parseFloat(dataRecord.inittemp_lo));
+     $('#inittemp_hi').val(parseFloat(dataRecord.inittemp_hi));
+     $('#fridgemode').val(parseFloat(dataRecord.fridgemode));
+     editsteps(dataRecord);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  position: { x: 110, y: 30 },
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1, steprows = $('#grid').jqxGrid('getrows');
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   uuid: dataRecord.uuid,
+   name: $('#name').val(),
+   inittemp_lo: parseFloat($('#inittemp_lo').jqxNumberInput('decimal')),
+   inittemp_hi: parseFloat($('#inittemp_hi').jqxNumberInput('decimal')),
+   fridgemode: $('#fridgemode').val(),
+   steps: steprows
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/profile_mash-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit maisch profiel."});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit maisch profiel."});var g=0,d={},c={},b="includes/db_profile_mash.php",f={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"notes",type:"string"},{name:"steps",type:"array"}],id:"record",url:b,deleterow:function(i,k){var j="delete=true&"+$.param({record:i});$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(m,l,n){k(true);console.log("mash deleterow "+i+" success");location.reload(true)},error:function(l,n,m){k(false);console.log("mash deleterow "+n)}})},addrow:function(j,m,i,l){var k="insert=true&"+$.param(m);$.ajax({dataType:"json",url:b,cache:false,data:k,type:"POST",success:function(o,n,p){l(true);console.log("mash addrow "+j+" success");location.reload(true)},error:function(n,p,o){l(false);console.log("mash addrow "+p)}})},updaterow:function(i,l,k){var j="update=true&"+$.param(l);$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(n,m,o){k(true);console.log("mash updaterow "+i+" success");location.reload(true)},error:function(m,o,n){k(false);console.log("mash updaterow "+o)}})}},h=new $.jqx.dataAdapter(f),e=-1,a=function(l){var k=function(){var m={};m.step_name="Stap 1";m.step_type=0;m.step_temp=62;m.step_time=20;m.ramp_time=1;m.end_temp=62;return m},j={localdata:l.steps,datatype:"local",datafields:[{name:"step_name",type:"string"},{name:"step_type",type:"int"},{name:"step_temp",type:"float"},{name:"step_time",type:"float"},{name:"ramp_time",type:"float"},{name:"end_temp",type:"float"}],addrow:function(n,p,m,o){o(true)},deleterow:function(m,n){n(true)}},i=new $.jqx.dataAdapter(j);$("#grid").jqxGrid({width:1020,height:330,source:i,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(n){var m=$("<div style='margin: 5px;'></div>");n.append(m);m.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');m.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />');$("#addrowbutton").jqxButton({template:"primary",theme:theme,width:150});$("#deleterowbutton").jqxButton({template:"danger",theme:theme,width:150});$("#addrowbutton").on("click",function(){var o=k();$("#grid").jqxGrid("addrow",null,o)});$("#deleterowbutton").on("click",function(){var q,p,o=$("#grid").jqxGrid("getselectedrowindex");q=$("#grid").jqxGrid("getdatainformation").rowscount;if(o>=0&&o<q){p=$("#grid").jqxGrid("getrowid",o);$("#grid").jqxGrid("deleterow",p)}})},columns:[{text:"Stap naam",datafield:"step_name"},{text:"Stap type",datafield:"step_type",width:150,cellsrenderer:function(n,m,q,p,o,r){return"<div style='margin: 4px;'>"+MashStepTypeData[q].nl+"</div>"}},{text:"Begin &deg;C",datafield:"step_temp",width:100,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Eind &deg;C",datafield:"end_temp",width:100,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Rust min.",datafield:"step_time",width:90,align:"right",cellsalign:"right"},{text:"Stap min.",datafield:"ramp_time",width:90,align:"right",cellsalign:"right"},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(m){g=m;d=$("#grid").jqxGrid("getrowdata",g);$("#m_step_name").val(d.step_name);$("#m_step_type").val(d.step_type);$("#m_step_temp").val(d.step_temp);$("#m_end_temp").val(d.end_temp);$("#m_step_time").val(d.step_time);$("#m_ramp_time").val(d.ramp_time);$("#popupStep").jqxWindow("open")}}]})};$("#m_step_name").jqxInput({theme:theme,width:320,height:23});$("#m_step_type").jqxDropDownList({theme:theme,source:MashStepTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#m_step_temp").jqxNumberInput(Spin1dec);$("#m_step_temp").jqxNumberInput({Min:30,Max:80});$("#m_end_temp").jqxNumberInput(Spin1dec);$("#m_end_temp").jqxNumberInput({Min:30,Max:80});$("#m_step_time").jqxNumberInput(PosInt);$("#m_step_time").jqxNumberInput({Min:1,Max:120});$("#m_ramp_time").jqxNumberInput(PosInt);$("#m_ramp_time").jqxNumberInput({Min:1,Max:30});$("#name").jqxInput({theme:theme,width:480,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#jqxgrid").jqxGrid({width:1280,height:630,source:h,theme:theme,showstatusbar:true,renderstatusbar:function(k){var j,i=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");j=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");i.append(j);k.append(i);j.jqxButton({theme:theme,width:90,height:20});j.click(function(l){e=-1;$("#name").val("Nieuw maisch schema");$("#notes").val("");a("");$("#popupWindow").jqxWindow("open")})},filterable:true,filtermode:"excel",columns:[{text:"Maish schema",datafield:"name",width:250},{text:"Opmerkingen",datafield:"notes"},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(i){e=i;c=$("#jqxgrid").jqxGrid("getrowdata",e);$("#name").val(c.name);$("#notes").val(c.notes);a(c);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:580,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#popupStep").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Ready"),modalOpacity:0.4});$("#Ready").jqxButton({template:"success",width:"90px",theme:theme});$("#Ready").click(function(){$("#grid").jqxGrid("setcellvalue",g,"step_name",$("#m_step_name").val());$("#grid").jqxGrid("setcellvalue",g,"step_type",$("#m_step_type").val());$("#grid").jqxGrid("setcellvalue",g,"step_temp",$("#m_step_temp").val());$("#grid").jqxGrid("setcellvalue",g,"end_temp",$("#m_end_temp").val());$("#grid").jqxGrid("setcellvalue",g,"step_time",$("#m_step_time").val());$("#grid").jqxGrid("setcellvalue",g,"ramp_time",$("#m_ramp_time").val());$("#grid").jqxGrid("sortby","step_temp","asc")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(e>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var i=$("#jqxgrid").jqxGrid("getrowid",e);$("#jqxgrid").jqxGrid("deleterow",i)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i=$("#grid").jqxGrid("getrows"),j=-1,k;if(e>=0){j=$("#jqxgrid").jqxGrid("getrowid",e)}k={record:j,name:$("#name").val(),notes:$("#notes").val(),steps:i};if(e>=0){$("#jqxgrid").jqxGrid("updaterow",j,k)}else{$("#jqxgrid").jqxGrid("addrow",null,k)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_mash.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/profile_mash.js	Fri May 01 16:37:31 2020 +0200
@@ -22,341 +22,348 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	// tooltips
-	$("#name").jqxTooltip({ content: 'De naam voor dit maisch profiel.' });
-	$("#notes").jqxTooltip({ content: 'De uitgebreide opmerkingen over dit maisch profiel.' });
+ // tooltips
+ $('#name').jqxTooltip({ content: 'De naam voor dit maisch profiel.' });
+ $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit maisch profiel.' });
 
-	var steprow = 0,
-        stepData = {},
-        dataRecord = {},
-        url = 'includes/db_profile_mash.php',
-	source = {
-		datatype: 'json',
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'steps', type: 'array' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: 'POST',
-				success: function (data, status, xhr) {
-					commit(true);
-					console.log('mash deleterow ' + rowid + ' success');
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-					console.log('mash deleterow ' + textStatus);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					console.log('mash addrow ' + rowid + ' success');
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-					console.log('mash addrow ' + textStatus);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					console.log('mash updaterow ' + rowid + ' success');
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-					console.log('mash updaterow ' + textStatus);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1,
+ var steprow = 0,
+ stepData = {},
+ dataRecord = {},
+ url = 'includes/db_profile_mash.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'notes', type: 'string' },
+   { name: 'steps', type: 'array' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     console.log('mash deleterow ' + rowid + ' success');
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+     console.log('mash deleterow ' + textStatus);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     console.log('mash addrow ' + rowid + ' success');
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+     console.log('mash addrow ' + textStatus);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     console.log('mash updaterow ' + rowid + ' success');
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+     console.log('mash updaterow ' + textStatus);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1,
 
-	// Inline steps editor
-	editsteps = function (data) {
-		var generaterow = function () {
-			var row = {};
-			row['step_name'] = "Stap 1";
-			row['step_type'] = 0;
-			row['step_temp'] = 62.0;
-			row['step_time'] = 20.0;
-			row['ramp_time'] = 1.0;
-			row['end_temp'] = 62.0;
-			return row;
-		},
-		stepSource = {
-			localdata: data.steps,
-			datatype: "local",
-			datafields: [
-				{ name: 'step_name', type: 'string' },
-				{ name: 'step_type', type: 'int' },
-				{ name: 'step_temp', type: 'float' },
-				{ name: 'step_time', type: 'float' },
-				{ name: 'ramp_time', type: 'float' },
-				{ name: 'end_temp', type: 'float' }
-			],
-			addrow: function (rowid, rowdata, position, commit) {
-				commit(true);
-			},
-			deleterow: function (rowid, commit) {
-				commit(true);
-			}
-		},
-		stepAdapter = new $.jqx.dataAdapter(stepSource);
+ // Inline steps editor
+ editsteps = function(data) {
+  var generaterow = function() {
+   var row = {};
+   row['step_name'] = 'Stap 1';
+   row['step_type'] = 0;
+   row['step_temp'] = 62.0;
+   row['step_time'] = 20.0;
+   row['ramp_time'] = 1.0;
+   row['end_temp'] = 62.0;
+   return row;
+  };
+  var stepSource = {
+   localdata: data.steps,
+   datatype: 'local',
+   datafields: [
+    { name: 'step_name', type: 'string' },
+    { name: 'step_type', type: 'int' },
+    { name: 'step_temp', type: 'float' },
+    { name: 'step_time', type: 'float' },
+    { name: 'ramp_time', type: 'float' },
+    { name: 'end_temp', type: 'float' }
+   ],
+   addrow: function(rowid, rowdata, position, commit) {
+    commit(true);
+   },
+   deleterow: function(rowid, commit) {
+    commit(true);
+   }
+  },
+  stepAdapter = new $.jqx.dataAdapter(stepSource);
 
-		$("#grid").jqxGrid({
-			width: 1020,
-			height: 330,
-			source: stepAdapter,
-			theme: theme,
-			selectionmode: 'singlerow',
-			showtoolbar: true,
-			rendertoolbar: function (toolbar) {
-				var container = $("<div style='margin: 5px;'></div>");
-				toolbar.append(container);
-				container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');
-				container.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />');
-				$("#addrowbutton").jqxButton({ template: "primary", theme: theme, width: 150 });
-				$("#deleterowbutton").jqxButton({ template: "danger", theme: theme, width: 150 });
-				// create new row.
-				$("#addrowbutton").on('click', function () {
-					var datarow = generaterow();
-					$("#grid").jqxGrid('addrow', null, datarow);
-				});
-				// delete row.
-				$("#deleterowbutton").on('click', function () {
-					var rowscount, id, selectedrowindex = $("#grid").jqxGrid('getselectedrowindex');
-					rowscount = $("#grid").jqxGrid('getdatainformation').rowscount;
-					if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
-						id = $("#grid").jqxGrid('getrowid', selectedrowindex);
-						$("#grid").jqxGrid('deleterow', id);
-					}
-				});
-			},
-			columns: [
-				{ text: 'Stap naam', datafield: 'step_name' },
-				{ text: 'Stap type', datafield: 'step_type', width: 150,
-				  cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
-					return "<div style='margin: 4px;'>" + MashStepTypeData[value].nl + "</div>";
-				  }
-				},
-				{ text: 'Begin &deg;C', datafield: 'step_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-				{ text: 'Eind &deg;C', datafield: 'end_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-				{ text: 'Rust min.', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' },
-				{ text: 'Stap min.', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' },
-				{ text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center',
-					cellsrenderer: function () {
-						return "Wijzig";
-					}, buttonclick: function (row) {
-						steprow = row;
-						stepData = $("#grid").jqxGrid('getrowdata', steprow);
-						$("#m_step_name").val(stepData.step_name);
-						$("#m_step_type").val(stepData.step_type);
-						$("#m_step_temp").val(stepData.step_temp);
-						$("#m_end_temp").val(stepData.end_temp);
-						$("#m_step_time").val(stepData.step_time);
-						$("#m_ramp_time").val(stepData.ramp_time);
-						// show the popup window.
-						$("#popupStep").jqxWindow('open');
-					}
-				}
-			]
-		});
-	};
+  $('#grid').jqxGrid({
+   width: 1020,
+   height: 330,
+   source: stepAdapter,
+   theme: theme,
+   selectionmode: 'singlerow',
+   showtoolbar: true,
+   rendertoolbar: function(toolbar) {
+    var container = $('<div style="margin: 5px;"></div>');
+    toolbar.append(container);
+    container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');
+    container.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />');
+    $('#addrowbutton').jqxButton({ template: 'primary', theme: theme, width: 150 });
+    $('#deleterowbutton').jqxButton({ template: 'danger', theme: theme, width: 150 });
+    // create new row.
+    $('#addrowbutton').on('click', function() {
+     var datarow = generaterow();
+     $('#grid').jqxGrid('addrow', null, datarow);
+    });
+    // delete row.
+    $('#deleterowbutton').on('click', function() {
+     var rowscount, id, selectedrowindex = $('#grid').jqxGrid('getselectedrowindex');
+     rowscount = $('#grid').jqxGrid('getdatainformation').rowscount;
+     if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
+      id = $('#grid').jqxGrid('getrowid', selectedrowindex);
+      $('#grid').jqxGrid('deleterow', id);
+     }
+    });
+   },
+   columns: [
+    { text: 'Stap naam', datafield: 'step_name' },
+    { text: 'Stap type', datafield: 'step_type', width: 150,
+      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
+     return '<div style="margin: 4px;">' + MashStepTypeData[value].nl + '</div>';
+      }
+    },
+    { text: 'Begin &deg;C', datafield: 'step_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+    { text: 'Eind &deg;C', datafield: 'end_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+    { text: 'Rust min.', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' },
+    { text: 'Stap min.', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' },
+    { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center',
+     cellsrenderer: function() {
+      return 'Wijzig';
+     }, buttonclick: function(row) {
+      steprow = row;
+      stepData = $('#grid').jqxGrid('getrowdata', steprow);
+      $('#m_step_name').val(stepData.step_name);
+      $('#m_step_type').val(stepData.step_type);
+      $('#m_step_temp').val(stepData.step_temp);
+      $('#m_end_temp').val(stepData.end_temp);
+      $('#m_step_time').val(stepData.step_time);
+      $('#m_ramp_time').val(stepData.ramp_time);
+      // show the popup window.
+      $('#popupStep').jqxWindow('open');
+     }
+    }
+   ]
+  });
+ };
 
-        // Initialize the input fields.
-        $("#m_step_name").jqxInput({ theme: theme, width: 320, height: 23 });
-        $("#m_step_type").jqxDropDownList({
-                theme: theme,
-                source: MashStepTypeAdapter,
-                valueMember: 'id',
-                displayMember: 'nl',
-                width: 180,
-                height: 23,
-                autoDropDownHeight: true
-        });
-        $("#m_step_temp").jqxNumberInput( Spin1dec );
-        $("#m_step_temp").jqxNumberInput({ Min: 30, Max: 80 });
-        $("#m_end_temp").jqxNumberInput( Spin1dec );
-        $("#m_end_temp").jqxNumberInput({ Min: 30, Max: 80 });
-        $("#m_step_time").jqxNumberInput( PosInt );
-        $("#m_step_time").jqxNumberInput({ Min: 1, Max: 120 });
-        $("#m_ramp_time").jqxNumberInput( PosInt );
-        $("#m_ramp_time").jqxNumberInput({ Min: 1, Max: 30 });
+ // Initialize the input fields.
+ $('#m_step_name').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#m_step_type').jqxDropDownList({
+  theme: theme,
+  source: MashStepTypeAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#m_step_temp').jqxNumberInput(Spin1dec);
+ $('#m_step_temp').jqxNumberInput({ Min: 30, Max: 80 });
+ $('#m_end_temp').jqxNumberInput(Spin1dec);
+ $('#m_end_temp').jqxNumberInput({ Min: 30, Max: 80 });
+ $('#m_step_time').jqxNumberInput(PosInt);
+ $('#m_step_time').jqxNumberInput({ Min: 1, Max: 120 });
+ $('#m_ramp_time').jqxNumberInput(PosInt);
+ $('#m_ramp_time').jqxNumberInput({ Min: 1, Max: 30 });
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 480, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#name").val('Nieuw maisch schema');
-				$("#notes").val('');
-				editsteps('');
-				$("#popupWindow").jqxWindow('open');
-			});
-		},
-		filterable: true,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Maish schema', datafield: 'name', width: 250 },
-			{ text: 'Opmerkingen', datafield: 'notes' },
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
-				cellsrenderer: function () {
-					return "Wijzig";
-				}, buttonclick: function (row) {
-					editrow = row;
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#notes").val(dataRecord.notes);
-					editsteps(dataRecord);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 580,
-		position: { x: 110, y: 30 },
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#popupStep").jqxWindow({
-		width: 800,
-		height: 300,
-		position: { x: 230, y: 100 },
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Ready"),
-		modalOpacity: 0.40
-	});
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 480, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var addButton, container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Add</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#name').val('Nieuw maisch schema');
+    $('#notes').val('');
+    editsteps('');
+    $('#popupWindow').jqxWindow('open');
+   });
+   expButton.click(function(event) {
+    window.open('export_mashs.php');
+   });
+  },
+  filterable: true,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Maish schema', datafield: 'name', width: 250 },
+   { text: 'Opmerkingen', datafield: 'notes' },
+   { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     editrow = row;
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#notes').val(dataRecord.notes);
+     editsteps(dataRecord);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 580,
+  position: { x: 110, y: 30 },
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#popupStep').jqxWindow({
+  width: 800,
+  height: 300,
+  position: { x: 230, y: 100 },
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Ready'),
+  modalOpacity: 0.40
+ });
 
-	// step detail popup update values.
-	$("#Ready").jqxButton({ template: "success", width: '90px', theme: theme });
-	$("#Ready").click(function () {
-		$("#grid").jqxGrid('setcellvalue', steprow, 'step_name', $("#m_step_name").val());
-		$("#grid").jqxGrid('setcellvalue', steprow, 'step_type', $("#m_step_type").val());
-		$("#grid").jqxGrid('setcellvalue', steprow, 'step_temp', $("#m_step_temp").val());
-		$("#grid").jqxGrid('setcellvalue', steprow, 'end_temp', $("#m_end_temp").val());
-		$("#grid").jqxGrid('setcellvalue', steprow, 'step_time', $("#m_step_time").val());
-		$("#grid").jqxGrid('setcellvalue', steprow, 'ramp_time', $("#m_ramp_time").val());
-		$('#grid').jqxGrid('sortby', 'step_temp', 'asc');
-	});
+ // step detail popup update values.
+ $('#Ready').jqxButton({ template: 'success', width: '90px', theme: theme });
+ $('#Ready').click(function() {
+  $('#grid').jqxGrid('setcellvalue', steprow, 'step_name', $('#m_step_name').val());
+  $('#grid').jqxGrid('setcellvalue', steprow, 'step_type', $('#m_step_type').val());
+  $('#grid').jqxGrid('setcellvalue', steprow, 'step_temp', $('#m_step_temp').val());
+  $('#grid').jqxGrid('setcellvalue', steprow, 'end_temp', $('#m_end_temp').val());
+  $('#grid').jqxGrid('setcellvalue', steprow, 'step_time', $('#m_step_time').val());
+  $('#grid').jqxGrid('setcellvalue', steprow, 'ramp_time', $('#m_ramp_time').val());
+  $('#grid').jqxGrid('sortby', 'step_temp', 'asc');
+ });
 
-	// mash profile popup.
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	$("#Save").click(function () {
-		var steprows = $('#grid').jqxGrid('getrows'),
-		rowID = -1,
-		row;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			notes: $("#notes").val(),
-			steps: steprows
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // mash profile popup.
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ $('#Save').click(function() {
+  var steprows = $('#grid').jqxGrid('getrows'),
+  rowID = -1,
+  row;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   notes: $('#notes').val(),
+   steps: steprows
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/profile_setup-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var b={},c="getwatersources.php",a={datatype:"json",datafields:[{name:"name",type:"string"},],url:c,async:false},d=new $.jqx.dataAdapter(a);url="includes/db_setup.php",source={datatype:"json",cache:false,datafields:[{name:"brewery_name",type:"string"},{name:"factor_mashhop",type:"number"},{name:"factor_fwh",type:"number"},{name:"factor_pellet",type:"number"},{name:"factor_plug",type:"number"},{name:"factor_wethop",type:"number"},{name:"factor_cryohop",type:"number"},{name:"ibu_method",type:"int"},{name:"color_method",type:"int"},{name:"brix_correction",type:"float"},{name:"grain_absorbtion",type:"float"},{name:"default_water",type:"string"}],url:url},dataAdapter=new $.jqx.dataAdapter(source,{loadComplete:function(){var e=dataAdapter.records;b=e[0];$("#brewery_name").val(b.brewery_name);$("#factor_mashhop").val(b.factor_mashhop);$("#factor_fwh").val(b.factor_fwh);$("#factor_pellet").val(b.factor_pellet);$("#factor_plug").val(b.factor_plug);$("#factor_wethop").val(b.factor_wethop);$("#factor_cryohop").val(b.factor_cryohop);$("#color_method").val(b.color_method);$("#ibu_method").val(b.ibu_method);$("#brix_correction").val(b.brix_correction);$("#grain_absorbtion").val(b.grain_absorbtion)},loadError:function(g,e,f){},});dataAdapter.dataBind();$("#brewery_name").jqxTooltip({content:"De naam voor deze brouwerij."});$("#factor_mashhop").jqxTooltip({content:"Het efficientie percentage voor hop tijdens de maisch."});$("#factor_fwh").jqxTooltip({content:"Het efficientie percentage voor First Wort Hop."});$("#factor_pellet").jqxTooltip({content:"Het efficientie percentage bij gebruik van hop pellets."});$("#factor_plug").jqxTooltip({content:"Het efficientie percentage bij gebruik van hop plugs."});$("#factor_wethop").jqxTooltip({content:"Het efficientie percentage bij gebruik van nat geplukte hop."});$("#factor_cryohop").jqxTooltip({content:"Het efficientie percentage bij gebruik van Cryo Hop&reg;."});$("#brix_correction").jqxTooltip({content:"Omzettingsfactor voor Plato naar Brix"});$("#grain_absorbtion").jqxTooltip({content:"Absorbtie van water door graan (L/Kg)"});$("#brewery_name").jqxInput({theme:theme,width:640,height:23});$("#factor_fwh").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-50,max:50,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_mashhop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-50,max:50,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_pellet").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,max:20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_plug").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,max:20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_wethop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-98,max:-20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_cryohop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-20,max:150,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#brix_correction").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:1,max:1.05,decimalDigits:2,spinButtons:true});$("#grain_absorbtion").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0.5,max:1.1,decimalDigits:2,spinButtons:true});$("#color_method").jqxDropDownList({theme:theme,source:ColorMethodAdapter,valueMember:"id",displayMember:"nl",width:180,autoDropDownHeight:true});$("#ibu_method").jqxDropDownList({theme:theme,source:IBUmethodAdapter,valueMember:"id",displayMember:"nl",width:180,autoDropDownHeight:true});$("#default_water").jqxDropDownList({placeHolder:"Kies water:",theme:theme,source:d,valueMember:"name",displayMember:"name",width:250,dropDownHorizontalAlignment:"right",dropDownWidth:300,autoDropDownHeight:true});$("#default_water").jqxDropDownList("selectItem",b.default_water);$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var e,f={record:1,brewery_name:$("#brewery_name").val(),factor_mashhop:$("#factor_mashhop").val(),factor_fwh:$("#factor_fwh").val(),factor_pellet:$("#factor_pellet").val(),factor_plug:$("#factor_plug").val(),factor_wethop:$("#factor_wethop").val(),factor_cryohop:$("#factor_cryohop").val(),color_method:$("#color_method").val(),ibu_method:$("#ibu_method").val(),brix_correction:parseFloat($("#brix_correction").jqxNumberInput("decimal")),grain_absorbtion:parseFloat($("#grain_absorbtion").jqxNumberInput("decimal")),default_water:$("#default_water").val()};e="update=true&"+$.param(f);$.ajax({dataType:"json",url:url,cache:false,data:e,type:"POST",success:function(h,g,i){},error:function(g,i,h){}})})});
\ No newline at end of file
--- a/www/js/profile_setup.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/profile_setup.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2019
+ * Copyright (C) 2019-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -21,147 +21,156 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-
-	var dataRecord = {},
-	// dropdownlist datasource from inventory_waters, must load sync
-	waterUrl = "getwatersources.php",
-	waterInvSource = {
-		datatype: "json",
-		datafields: [
-			{ name: 'name', type: 'string' },
-		],
-		url: waterUrl,
-		async: false
-	},
-	waterlist = new $.jqx.dataAdapter(waterInvSource);
-	url = "includes/db_setup.php",
+$(document).ready(function() {
 
-	// Prepare the data
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'brewery_name', type: 'string' },
-			{ name: 'factor_mashhop', type: 'number' },
-			{ name: 'factor_fwh', type: 'number' },
-			{ name: 'factor_pellet', type: 'number' },
-			{ name: 'factor_plug', type: 'number' },
-			{ name: 'factor_wethop', type: 'number' },
-			{ name: 'factor_cryohop', type: 'number' },
-			{ name: 'ibu_method', type: 'int' },
-			{ name: 'color_method', type: 'int' },
-			{ name: 'brix_correction', type: 'float' },
-			{ name: 'grain_absorbtion', type: 'float' },
-			{ name: 'default_water', type: 'string' }
-		],
-		url: url
-	},
+ var dataRecord = {},
+ waterInvSource = {
+  datatype: 'json',
+  datafields: [{ name: 'name', type: 'string' }],
+  url: 'getwatersources.php',
+  async: false
+ },
+ waterlist = new $.jqx.dataAdapter(waterInvSource);
+ url = 'includes/db_setup.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'brewery_name', type: 'string' },
+   { name: 'factor_mashhop', type: 'number' },
+   { name: 'factor_fwh', type: 'number' },
+   { name: 'factor_pellet', type: 'number' },
+   { name: 'factor_plug', type: 'number' },
+   { name: 'factor_wethop', type: 'number' },
+   { name: 'factor_cryohop', type: 'number' },
+   { name: 'ibu_method', type: 'int' },
+   { name: 'color_method', type: 'int' },
+   { name: 'brix_correction', type: 'float' },
+   { name: 'grain_absorbtion', type: 'float' },
+   { name: 'default_water', type: 'string' },
+   { name: 'my_yeastlab', type: 'string' }
+  ],
+  url: url
+ },
+ dataAdapter = new $.jqx.dataAdapter(source, {
+  loadComplete: function() {
+   var records = dataAdapter.records;
+   dataRecord = records[0];
+   $('#brewery_name').val(dataRecord.brewery_name);
+   $('#factor_mashhop').val(dataRecord.factor_mashhop);
+   $('#factor_fwh').val(dataRecord.factor_fwh);
+   $('#factor_pellet').val(dataRecord.factor_pellet);
+   $('#factor_plug').val(dataRecord.factor_plug);
+   $('#factor_wethop').val(dataRecord.factor_wethop);
+   $('#factor_cryohop').val(dataRecord.factor_cryohop);
+   $('#color_method').val(dataRecord.color_method);
+   $('#ibu_method').val(dataRecord.ibu_method);
+   $('#brix_correction').val(dataRecord.brix_correction);
+   $('#grain_absorbtion').val(dataRecord.grain_absorbtion);
+   $('#default_water').jqxDropDownList('selectItem', dataRecord.default_water);
+   $('#my_yeastlab').jqxDropDownList('selectItem', dataRecord.my_yeastlab);
+  },
+  loadError: function(jqXHR, status, error) {
+  },
+ });
 
-	// Load data and select one record.
-	dataAdapter = new $.jqx.dataAdapter(source, {
-		loadComplete: function () {
-			var records = dataAdapter.records;
-			dataRecord = records[0];
-			$("#brewery_name").val(dataRecord.brewery_name);
-			$("#factor_mashhop").val(dataRecord.factor_mashhop);
-			$("#factor_fwh").val(dataRecord.factor_fwh);
-			$("#factor_pellet").val(dataRecord.factor_pellet);
-			$("#factor_plug").val(dataRecord.factor_plug);
-			$("#factor_wethop").val(dataRecord.factor_wethop);
-			$("#factor_cryohop").val(dataRecord.factor_cryohop);
-			$("#color_method").val(dataRecord.color_method);
-			$("#ibu_method").val(dataRecord.ibu_method);
-			$("#brix_correction").val(dataRecord.brix_correction);
-			$("#grain_absorbtion").val(dataRecord.grain_absorbtion);
-		},
-		loadError: function (jqXHR, status, error) {
-		},
-	});
-
-	dataAdapter.dataBind();
-
-	// Tooltips
-        $("#brewery_name").jqxTooltip({ content: 'De naam voor deze brouwerij.' });
-        $("#factor_mashhop").jqxTooltip({ content: 'Het efficientie percentage voor hop tijdens de maisch.' });
-        $("#factor_fwh").jqxTooltip({ content: 'Het efficientie percentage voor First Wort Hop.' });
-        $("#factor_pellet").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop pellets.' });
-        $("#factor_plug").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop plugs.' });
-        $("#factor_wethop").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van nat geplukte hop.' });
-        $("#factor_cryohop").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van Cryo Hop&reg;.' });
-        $("#brix_correction").jqxTooltip({ content: 'Omzettingsfactor voor Plato naar Brix' });
-        $("#grain_absorbtion").jqxTooltip({ content: 'Absorbtie van water door graan (L/Kg)' });
+ // Tooltips
+ $('#brewery_name').jqxTooltip({ content: 'De naam voor deze brouwerij.' });
+ $('#factor_mashhop').jqxTooltip({ content: 'Het efficientie percentage voor hop tijdens de maisch.' });
+ $('#factor_fwh').jqxTooltip({ content: 'Het efficientie percentage voor First Wort Hop.' });
+ $('#factor_pellet').jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop pellets.' });
+ $('#factor_plug').jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop plugs.' });
+ $('#factor_wethop').jqxTooltip({ content: 'Het efficientie percentage bij gebruik van nat geplukte hop.' });
+ $('#factor_cryohop').jqxTooltip({ content: 'Het efficientie percentage bij gebruik van Cryo Hop&reg;.' });
+ $('#brix_correction').jqxTooltip({ content: 'Omzettingsfactor voor Plato naar Brix' });
+ $('#grain_absorbtion').jqxTooltip({ content: 'Absorbtie van water door graan (L/Kg)' });
 
-	// Editers
-	$("#brewery_name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#factor_fwh").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -50, max: 50, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
-	$("#factor_mashhop").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -50, max: 50, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
-	$("#factor_pellet").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 20, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
-	$("#factor_plug").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 20, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
-	$("#factor_wethop").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -98, max: -20, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
-	$("#factor_cryohop").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -20, max: 150, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
-	$("#brix_correction").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 1.00, max: 1.05, decimalDigits: 2, spinButtons: true });
-	$("#grain_absorbtion").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0.5, max: 1.1, decimalDigits: 2, spinButtons: true });
-	$("#color_method").jqxDropDownList({
-		theme: theme,
-		source: ColorMethodAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		autoDropDownHeight: true
-	});
-	$("#ibu_method").jqxDropDownList({
-		theme: theme,
-		source: IBUmethodAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		autoDropDownHeight: true
-	});
-	$('#default_water').jqxDropDownList({
-		placeHolder: "Kies water:",
-		theme: theme,
-		source: waterlist,
-		valueMember: "name",
-		displayMember: "name",
-		width: 250,
-		dropDownHorizontalAlignment: 'right',
-		dropDownWidth: 300,
-		autoDropDownHeight: true
-	});
-	$('#default_water').jqxDropDownList( 'selectItem', dataRecord.default_water );
+ // Editers
+ $('#brewery_name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#factor_fwh').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -50, max: 50,
+  decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' });
+ $('#factor_mashhop').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -50, max: 50,
+  decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' });
+ $('#factor_pellet').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 20,
+  decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' });
+ $('#factor_plug').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, max: 20,
+  decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' });
+ $('#factor_wethop').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -98, max: -20,
+  decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' });
+ $('#factor_cryohop').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -20, max: 150,
+  decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right' });
+ $('#brix_correction').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 1.00, max: 1.09, decimalDigits: 2, spinButtons: true });
+ $('#grain_absorbtion').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0.5, max: 1.1, decimalDigits: 2, spinButtons: true });
+ $('#color_method').jqxDropDownList({
+  theme: theme,
+  source: ColorMethodAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  autoDropDownHeight: true
+ });
+ $('#ibu_method').jqxDropDownList({
+  theme: theme,
+  source: IBUmethodAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  autoDropDownHeight: true
+ });
+ $('#default_water').jqxDropDownList({
+  placeHolder: 'Kies water:',
+  theme: theme,
+  source: waterlist,
+  valueMember: 'name',
+  displayMember: 'name',
+  width: 250,
+  dropDownHorizontalAlignment: 'right',
+  dropDownWidth: 300,
+  autoDropDownHeight: true
+ });
+ $('#my_yeastlab').jqxDropDownList({
+  placeHolder: 'Mijn gist laboratorium:',
+  theme: theme,
+  source: yeastlablist,
+  valueMember: 'laboratory',
+  displayMember: 'laboratory',
+  width: 250,
+  dropDownHorizontalAlignment: 'right',
+  dropDownWidth: 300,
+  autoDropDownHeight: true
+ });
+ dataAdapter.dataBind();
 
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	$("#Save").click(function () {
-		var data,
-		row = {
-			record: 1,
-			brewery_name: $("#brewery_name").val(),
-			factor_mashhop: $("#factor_mashhop").val(),
-			factor_fwh: $("#factor_fwh").val(),
-			factor_pellet: $("#factor_pellet").val(),
-			factor_plug: $("#factor_plug").val(),
-			factor_wethop: $("#factor_wethop").val(),
-			factor_cryohop: $("#factor_cryohop").val(),
-			color_method: $("#color_method").val(),
-			ibu_method: $("#ibu_method").val(),
-			brix_correction: parseFloat($("#brix_correction").jqxNumberInput('decimal')),
-			grain_absorbtion: parseFloat($("#grain_absorbtion").jqxNumberInput('decimal')),
-			default_water: $("#default_water").val()
-		};
-		data = "update=true&" + $.param(row);
-		$.ajax({
-			dataType: 'json',
-			url: url,
-			cache: false,
-			data: data,
-			type: "POST",
-			success: function (data, status, xhr) {
-				// update command is executed.
-				//window.location.href = my_return;
-			},
-			error: function(jqXHR, textStatus, errorThrown) {
-			}
-		});
-	});
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ $('#Save').click(function() {
+  var data,
+  row = {
+   record: 1,
+   brewery_name: $('#brewery_name').val(),
+   factor_mashhop: $('#factor_mashhop').val(),
+   factor_fwh: $('#factor_fwh').val(),
+   factor_pellet: $('#factor_pellet').val(),
+   factor_plug: $('#factor_plug').val(),
+   factor_wethop: $('#factor_wethop').val(),
+   factor_cryohop: $('#factor_cryohop').val(),
+   color_method: $('#color_method').val(),
+   ibu_method: $('#ibu_method').val(),
+   brix_correction: parseFloat($('#brix_correction').jqxNumberInput('decimal')),
+   grain_absorbtion: parseFloat($('#grain_absorbtion').jqxNumberInput('decimal')),
+   default_water: $('#default_water').val(),
+   my_yeastlab: $('#my_yeastlab').val()
+  };
+  data = 'update=true&' + $.param(row);
+  $.ajax({
+   dataType: 'json',
+   url: url,
+   cache: false,
+   data: data,
+   type: 'POST',
+   success: function(data, status, xhr) {
+   },
+   error: function(jqXHR, textStatus, errorThrown) {
+   }
+  });
+ });
 });
--- a/www/js/profile_styles-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var b={},a="includes/db_profile_styles.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"category",type:"string"},{name:"category_number",type:"number"},{name:"style_letter",type:"string"},{name:"style_guide",type:"string"},{name:"type",type:"int"},{name:"og_min",type:"float"},{name:"og_max",type:"float"},{name:"fg_min",type:"float"},{name:"fg_max",type:"float"},{name:"ibu_min",type:"float"},{name:"ibu_max",type:"float"},{name:"color_min",type:"float"},{name:"color_max",type:"float"},{name:"carb_min",type:"float"},{name:"carb_max",type:"float"},{name:"abv_min",type:"float"},{name:"abv_max",type:"float"},{name:"notes",type:"string"},{name:"profile",type:"string"},{name:"ingredients",type:"string"},{name:"examples",type:"string"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}},e=new $.jqx.dataAdapter(d),c=-1;$("#name").jqxInput({theme:theme,width:320,height:23});$("#category").jqxInput({theme:theme,width:320,height:23});$("#category_number").jqxNumberInput(PosInt);$("#style_letter").jqxInput({theme:theme,width:250,height:23});$("#style_guide").jqxInput({theme:theme,width:320,height:23});$("#type").jqxDropDownList({theme:theme,source:StyleTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#og_min").jqxNumberInput(SGopts);$("#og_max").jqxNumberInput(SGopts);$("#fg_min").jqxNumberInput(SGopts);$("#fg_max").jqxNumberInput(SGopts);$("#ibu_min").jqxNumberInput(PosInt);$("#ibu_min").jqxNumberInput({max:200});$("#ibu_max").jqxNumberInput(PosInt);$("#ibu_max").jqxNumberInput({max:200});$("#color_min").jqxNumberInput(PosInt);$("#color_min").jqxNumberInput({max:200});$("#color_max").jqxNumberInput(PosInt);$("#color_max").jqxNumberInput({max:200});$("#carb_min").jqxNumberInput(Spin1dec);$("#carb_min").jqxNumberInput({max:5});$("#carb_max").jqxNumberInput(Spin1dec);$("#carb_max").jqxNumberInput({max:5});$("#abv_min").jqxNumberInput(Spin1dec);$("#abv_min").jqxNumberInput({max:20});$("#abv_max").jqxNumberInput(Spin1dec);$("#abv_max").jqxNumberInput({max:20});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#profile").jqxInput({theme:theme,width:800,height:48});$("#ingredients").jqxInput({theme:theme,width:800,height:23});$("#examples").jqxInput({theme:theme,width:800,height:48});$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var f,g,i;f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");i=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");f.append(g);f.append(i);h.append(f);g.jqxButton({theme:theme,width:90,height:20});i.jqxButton({theme:theme,width:90,height:20});g.click(function(j){c=-1;$("#name").val("Nieuwe stijl");$("#category").val("");$("#category_number").val("");$("#style_letter").val("");$("#style_guide").val("BKG 2015");$("#type").val(0);$("#og_min").val(1.03);$("#og_max").val(1.05);$("#fg_min").val(1.005);$("#fg_max").val(1.01);$("#ibu_min").val(20);$("#ibu_max").val(30);$("#color_min").val(52);$("#color_max").val(79);$("#carb_min").val(2);$("#carb_max").val(2.5);$("#abv_min").val(4);$("#abv_max").val(5);$("#notes").val("");$("#profile").val("");$("#ingredients").val("");$("#examples").val("");$("#popupWindow").jqxWindow("open")});i.click(function(j){window.location.href="import_ingredients.php?select=styles"})},filterable:true,filtermode:"excel",columns:[{text:"Gids",datafield:"style_guide",width:100},{text:"Groep",datafield:"style_letter",width:30},{text:"Style Name",menu:false,datafield:"name"},{text:"OG",menu:false,datafield:"og_min",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"OG",menu:false,datafield:"og_max",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"FG",menu:false,datafield:"fg_min",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"FG",menu:false,datafield:"fg_max",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"IBU",menu:false,datafield:"ibu_min",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"IBU",menu:false,datafield:"ibu_max",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"EBC",menu:false,datafield:"color_min",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"EBC",menu:false,datafield:"color_max",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"Co2",menu:false,datafield:"carb_min",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Co2",menu:false,datafield:"carb_max",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"ABV",menu:false,datafield:"abv_min",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"ABV",menu:false,datafield:"abv_max",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",menu:false,datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#category").val(b.category);$("#category_number").val(b.category_number);$("#style_letter").val(b.style_letter);$("#style_guide").val(b.style_guide);$("#type").val(b.type);$("#og_min").val(b.og_min);$("#og_max").val(b.og_max);$("#fg_min").val(b.fg_min);$("#fg_max").val(b.fg_max);$("#ibu_min").val(b.ibu_min);$("#ibu_max").val(b.ibu_max);$("#color_min").val(b.color_min);$("#color_max").val(b.color_max);$("#carb_min").val(b.carb_min);$("#carb_max").val(b.carb_max);$("#abv_min").val(b.abv_min);$("#abv_max").val(b.abv_max);$("#notes").val(b.notes);$("#profile").val(b.profile);$("#ingredients").val(b.ingredients);$("#examples").val(b.examples);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var g,f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}g={record:f,name:$("#name").val(),category:$("#category").val(),category_number:parseFloat($("#category_number").jqxNumberInput("decimal")),style_letter:$("#style_letter").val(),style_guide:$("#style_guide").val(),type:$("#type").val(),og_min:parseFloat($("#og_min").jqxNumberInput("decimal")),og_max:parseFloat($("#og_max").jqxNumberInput("decimal")),fg_min:parseFloat($("#fg_min").jqxNumberInput("decimal")),fg_max:parseFloat($("#fg_max").jqxNumberInput("decimal")),ibu_min:parseFloat($("#ibu_min").jqxNumberInput("decimal")),ibu_max:parseFloat($("#ibu_max").jqxNumberInput("decimal")),color_min:parseFloat($("#color_min").jqxNumberInput("decimal")),color_max:parseFloat($("#color_max").jqxNumberInput("decimal")),carb_min:parseFloat($("#carb_min").jqxNumberInput("decimal")),carb_max:parseFloat($("#carb_max").jqxNumberInput("decimal")),abv_min:parseFloat($("#abv_min").jqxNumberInput("decimal")),abv_max:parseFloat($("#abv_max").jqxNumberInput("decimal")),notes:$("#notes").val(),profile:$("#profile").val(),ingredients:$("#ingredients").val(),examples:$("#examples").val()};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_styles.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/profile_styles.js	Fri May 01 16:37:31 2020 +0200
@@ -22,323 +22,332 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var dataRecord = {},
-	url = 'includes/db_profile_styles.php',
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'category', type: 'string' },
-			{ name: 'category_number', type: 'number' },
-			{ name: 'style_letter', type: 'string' },
-			{ name: 'style_guide', type: 'string' },
-			{ name: 'type', type: 'int' },
-			{ name: 'og_min', type: 'float' },
-			{ name: 'og_max', type: 'float' },
-			{ name: 'fg_min', type: 'float' },
-                        { name: 'fg_max', type: 'float' },
-			{ name: 'ibu_min', type: 'float' },
-                        { name: 'ibu_max', type: 'float' },
-			{ name: 'color_min', type: 'float' },
-			{ name: 'color_max', type: 'float' },
-			{ name: 'carb_min', type: 'float' },
-	                { name: 'carb_max', type: 'float' },
-			{ name: 'abv_min', type: 'float' },
-	                { name: 'abv_max', type: 'float' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'profile', type: 'string' },
-			{ name: 'ingredients', type: 'string' },
-			{ name: 'examples', type: 'string' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
+ var dataRecord = {},
+ url = 'includes/db_profile_styles.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'category', type: 'string' },
+   { name: 'category_number', type: 'number' },
+   { name: 'style_letter', type: 'string' },
+   { name: 'style_guide', type: 'string' },
+   { name: 'type', type: 'int' },
+   { name: 'og_min', type: 'float' },
+   { name: 'og_max', type: 'float' },
+   { name: 'fg_min', type: 'float' },
+   { name: 'fg_max', type: 'float' },
+   { name: 'ibu_min', type: 'float' },
+   { name: 'ibu_max', type: 'float' },
+   { name: 'color_min', type: 'float' },
+   { name: 'color_max', type: 'float' },
+   { name: 'carb_min', type: 'float' },
+   { name: 'carb_max', type: 'float' },
+   { name: 'abv_min', type: 'float' },
+   { name: 'abv_max', type: 'float' },
+   { name: 'notes', type: 'string' },
+   { name: 'profile', type: 'string' },
+   { name: 'ingredients', type: 'string' },
+   { name: 'examples', type: 'string' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
         editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#category").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#category_number").jqxNumberInput( PosInt );
-	$("#style_letter").jqxInput({ theme: theme, width: 250, height: 23 });
-	$("#style_guide").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#type").jqxDropDownList({
-		theme: theme,
-		source: StyleTypeAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#og_min").jqxNumberInput( SGopts );
-	$("#og_max").jqxNumberInput( SGopts );
-	$("#fg_min").jqxNumberInput( SGopts );
-	$("#fg_max").jqxNumberInput( SGopts );
-	$("#ibu_min").jqxNumberInput( PosInt );
-	$("#ibu_min").jqxNumberInput({ max: 200 });
-	$("#ibu_max").jqxNumberInput( PosInt );
-	$("#ibu_max").jqxNumberInput({ max: 200 });
-	$("#color_min").jqxNumberInput( PosInt );
-	$("#color_min").jqxNumberInput({ max: 200 });
-	$("#color_max").jqxNumberInput( PosInt );
-	$("#color_max").jqxNumberInput({ max: 200 });
-	$("#carb_min").jqxNumberInput( Spin1dec );
-	$("#carb_min").jqxNumberInput({ max: 5 });
-	$("#carb_max").jqxNumberInput( Spin1dec );
-	$("#carb_max").jqxNumberInput({ max: 5 });
-	$("#abv_min").jqxNumberInput( Spin1dec );
-	$("#abv_min").jqxNumberInput({ max: 20 });
-	$("#abv_max").jqxNumberInput( Spin1dec );
-	$("#abv_max").jqxNumberInput({ max: 20 });
-	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
-	$("#profile").jqxInput({ theme: theme, width: 800, height: 48 });
-	$("#ingredients").jqxInput({ theme: theme, width: 800, height: 23 });
-	$("#examples").jqxInput({ theme: theme, width: 800, height: 48 });
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#category').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#category_number').jqxNumberInput(PosInt);
+ $('#style_letter').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#style_guide').jqxInput({ theme: theme, width: 320, height: 23 });
+ $('#type').jqxDropDownList({
+  theme: theme,
+  source: StyleTypeAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#og_min').jqxNumberInput(SGopts);
+ $('#og_max').jqxNumberInput(SGopts);
+ $('#fg_min').jqxNumberInput(SGopts);
+ $('#fg_max').jqxNumberInput(SGopts);
+ $('#ibu_min').jqxNumberInput(PosInt);
+ $('#ibu_min').jqxNumberInput({ max: 200 });
+ $('#ibu_max').jqxNumberInput(PosInt);
+ $('#ibu_max').jqxNumberInput({ max: 200 });
+ $('#color_min').jqxNumberInput(PosInt);
+ $('#color_min').jqxNumberInput({ max: 200 });
+ $('#color_max').jqxNumberInput(PosInt);
+ $('#color_max').jqxNumberInput({ max: 200 });
+ $('#carb_min').jqxNumberInput(Spin1dec);
+ $('#carb_min').jqxNumberInput({ max: 5 });
+ $('#carb_max').jqxNumberInput(Spin1dec);
+ $('#carb_max').jqxNumberInput({ max: 5 });
+ $('#abv_min').jqxNumberInput(Spin1dec);
+ $('#abv_min').jqxNumberInput({ max: 20 });
+ $('#abv_max').jqxNumberInput(Spin1dec);
+ $('#abv_max').jqxNumberInput({ max: 20 });
+ $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
+ $('#profile').jqxInput({ theme: theme, width: 800, height: 48 });
+ $('#ingredients').jqxInput({ theme: theme, width: 800, height: 23 });
+ $('#examples').jqxInput({ theme: theme, width: 800, height: 48 });
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var container, addButton, impButton;
-			container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			impButton = $("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");
-			container.append(addButton);
-			container.append(impButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			impButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#name").val('Nieuwe stijl');
-				$("#category").val('');
-				$("#category_number").val('');
-				$("#style_letter").val('');
-				$("#style_guide").val('BKG 2015');
-				$("#type").val(0);
-				$("#og_min").val(1.030);
-				$("#og_max").val(1.050);
-				$("#fg_min").val(1.005);
-				$("#fg_max").val(1.010);
-				$("#ibu_min").val(20);
-				$("#ibu_max").val(30);
-				$("#color_min").val(52);
-				$("#color_max").val(79);
-				$("#carb_min").val(2.0);
-				$("#carb_max").val(2.5);
-				$("#abv_min").val(4.0);
-				$("#abv_max").val(5.0);
-				$("#notes").val('');
-				$("#profile").val('');
-				$("#ingredients").val('');
-				$("#examples").val('');
-				$("#popupWindow").jqxWindow('open');
-			});
-			impButton.click(function (event) {
-				window.location.href = 'import_ingredients.php?select=styles';
-			});
-		},
-		filterable: true,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Gids', datafield: 'style_guide', width: 100 },
-			{ text: 'Groep', datafield: 'style_letter', width: 30 },
-			{ text: 'Style Name', menu: false, datafield: 'name' },
-			{ text: 'OG', menu: false, datafield: 'og_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
-			{ text: 'OG', menu: false, datafield: 'og_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
-			{ text: 'FG', menu: false, datafield: 'fg_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
-			{ text: 'FG', menu: false, datafield: 'fg_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
-			{ text: 'IBU', menu: false, datafield: 'ibu_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
-			{ text: 'IBU', menu: false, datafield: 'ibu_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
-			{ text: 'EBC', menu: false, datafield: 'color_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
-			{ text: 'EBC', menu: false, datafield: 'color_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
-			{ text: 'Co2', menu: false, datafield: 'carb_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Co2', menu: false, datafield: 'carb_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'ABV', menu: false, datafield: 'abv_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'ABV', menu: false, datafield: 'abv_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: '', menu: false, datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#category").val(dataRecord.category);
-					$("#category_number").val(dataRecord.category_number);
-					$("#style_letter").val(dataRecord.style_letter);
-					$("#style_guide").val(dataRecord.style_guide);
-					$("#type").val(dataRecord.type);
-					$("#og_min").val(dataRecord.og_min);
-					$("#og_max").val(dataRecord.og_max);
-					$("#fg_min").val(dataRecord.fg_min);
-					$("#fg_max").val(dataRecord.fg_max);
-					$("#ibu_min").val(dataRecord.ibu_min);
-					$("#ibu_max").val(dataRecord.ibu_max);
-					$("#color_min").val(dataRecord.color_min);
-					$("#color_max").val(dataRecord.color_max);
-					$("#carb_min").val(dataRecord.carb_min);
-					$("#carb_max").val(dataRecord.carb_max);
-					$("#abv_min").val(dataRecord.abv_min);
-					$("#abv_max").val(dataRecord.abv_max);
-					$("#notes").val(dataRecord.notes);
-					$("#profile").val(dataRecord.profile);
-					$("#ingredients").val(dataRecord.ingredients);
-					$("#examples").val(dataRecord.examples);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		position: { x: 110, y: 30 },
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			category: $("#category").val(),
-			category_number: parseFloat($("#category_number").jqxNumberInput('decimal')),
-			style_letter: $("#style_letter").val(),
-			style_guide: $("#style_guide").val(),
-			type: $("#type").val(),
-			og_min: parseFloat($("#og_min").jqxNumberInput('decimal')),
-			og_max: parseFloat($("#og_max").jqxNumberInput('decimal')),
-			fg_min: parseFloat($("#fg_min").jqxNumberInput('decimal')),
-			fg_max: parseFloat($("#fg_max").jqxNumberInput('decimal')),
-			ibu_min: parseFloat($("#ibu_min").jqxNumberInput('decimal')),
-			ibu_max: parseFloat($("#ibu_max").jqxNumberInput('decimal')),
-			color_min: parseFloat($("#color_min").jqxNumberInput('decimal')),
-			color_max: parseFloat($("#color_max").jqxNumberInput('decimal')),
-			carb_min: parseFloat($("#carb_min").jqxNumberInput('decimal')),
-			carb_max: parseFloat($("#carb_max").jqxNumberInput('decimal')),
-			abv_min: parseFloat($("#abv_min").jqxNumberInput('decimal')),
-			abv_max: parseFloat($("#abv_max").jqxNumberInput('decimal')),
-			notes: $("#notes").val(),
-			profile: $("#profile").val(),
-			ingredients: $("#ingredients").val(),
-			examples: $("#examples").val()
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container, addButton, impButton;
+   container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+       'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   impButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+       'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Import</span></div>');
+   expButton = $('<div style="float: right; margin-right: 50px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/database.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Export</span></div>');
+   container.append(addButton);
+   container.append(impButton);
+   container.append(expButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   impButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   expButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#name').val('Nieuwe stijl');
+    $('#category').val('');
+    $('#category_number').val('');
+    $('#style_letter').val('');
+    $('#style_guide').val('BKG 2015');
+    $('#type').val(0);
+    $('#og_min').val(1.030);
+    $('#og_max').val(1.050);
+    $('#fg_min').val(1.005);
+    $('#fg_max').val(1.010);
+    $('#ibu_min').val(20);
+    $('#ibu_max').val(30);
+    $('#color_min').val(52);
+    $('#color_max').val(79);
+    $('#carb_min').val(2.0);
+    $('#carb_max').val(2.5);
+    $('#abv_min').val(4.0);
+    $('#abv_max').val(5.0);
+    $('#notes').val('');
+    $('#profile').val('');
+    $('#ingredients').val('');
+    $('#examples').val('');
+    $('#popupWindow').jqxWindow('open');
+   });
+   impButton.click(function(event) {
+    window.location.href = 'import_ingredients.php?select=styles';
+   });
+   expButton.click(function(event) {
+    window.open('export_styles.php');
+   });
+  },
+  filterable: true,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Gids', datafield: 'style_guide', width: 100 },
+   { text: 'Groep', datafield: 'style_letter', width: 30 },
+   { text: 'Style Name', menu: false, datafield: 'name' },
+   { text: 'OG', menu: false, datafield: 'og_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
+   { text: 'OG', menu: false, datafield: 'og_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
+   { text: 'FG', menu: false, datafield: 'fg_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
+   { text: 'FG', menu: false, datafield: 'fg_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
+   { text: 'IBU', menu: false, datafield: 'ibu_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
+   { text: 'IBU', menu: false, datafield: 'ibu_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
+   { text: 'EBC', menu: false, datafield: 'color_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
+   { text: 'EBC', menu: false, datafield: 'color_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f0' },
+   { text: 'Co2', menu: false, datafield: 'carb_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Co2', menu: false, datafield: 'carb_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'ABV', menu: false, datafield: 'abv_min', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'ABV', menu: false, datafield: 'abv_max', width: 50, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: '', menu: false, datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function() {
+    return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#category').val(dataRecord.category);
+     $('#category_number').val(dataRecord.category_number);
+     $('#style_letter').val(dataRecord.style_letter);
+     $('#style_guide').val(dataRecord.style_guide);
+     $('#type').val(dataRecord.type);
+     $('#og_min').val(dataRecord.og_min);
+     $('#og_max').val(dataRecord.og_max);
+     $('#fg_min').val(dataRecord.fg_min);
+     $('#fg_max').val(dataRecord.fg_max);
+     $('#ibu_min').val(dataRecord.ibu_min);
+     $('#ibu_max').val(dataRecord.ibu_max);
+     $('#color_min').val(dataRecord.color_min);
+     $('#color_max').val(dataRecord.color_max);
+     $('#carb_min').val(dataRecord.carb_min);
+     $('#carb_max').val(dataRecord.carb_max);
+     $('#abv_min').val(dataRecord.abv_min);
+     $('#abv_max').val(dataRecord.abv_max);
+     $('#notes').val(dataRecord.notes);
+     $('#profile').val(dataRecord.profile);
+     $('#ingredients').val(dataRecord.ingredients);
+     $('#examples').val(dataRecord.examples);
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  position: { x: 110, y: 30 },
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   category: $('#category').val(),
+   category_number: parseFloat($('#category_number').jqxNumberInput('decimal')),
+   style_letter: $('#style_letter').val(),
+   style_guide: $('#style_guide').val(),
+   type: $('#type').val(),
+   og_min: parseFloat($('#og_min').jqxNumberInput('decimal')),
+   og_max: parseFloat($('#og_max').jqxNumberInput('decimal')),
+   fg_min: parseFloat($('#fg_min').jqxNumberInput('decimal')),
+   fg_max: parseFloat($('#fg_max').jqxNumberInput('decimal')),
+   ibu_min: parseFloat($('#ibu_min').jqxNumberInput('decimal')),
+   ibu_max: parseFloat($('#ibu_max').jqxNumberInput('decimal')),
+   color_min: parseFloat($('#color_min').jqxNumberInput('decimal')),
+   color_max: parseFloat($('#color_max').jqxNumberInput('decimal')),
+   carb_min: parseFloat($('#carb_min').jqxNumberInput('decimal')),
+   carb_max: parseFloat($('#carb_max').jqxNumberInput('decimal')),
+   abv_min: parseFloat($('#abv_min').jqxNumberInput('decimal')),
+   abv_max: parseFloat($('#abv_max').jqxNumberInput('decimal')),
+   notes: $('#notes').val(),
+   profile: $('#profile').val(),
+   ingredients: $('#ingredients').val(),
+   examples: $('#examples').val()
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/profile_water-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De unieke naam van dit water profiel."});$("#notes").jqxTooltip({content:"Extra opmerkingen over dit water."});$("#calcium").jqxTooltip({content:"Calcium (Ca)."});$("#bicarbonate").jqxTooltip({content:"Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit."});$("#sulfate").jqxTooltip({content:"Calcium Sulfaat (CaSO4)."});$("#chloride").jqxTooltip({content:"Chloride (Cl)."});$("#sodium").jqxTooltip({content:"Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium."});$("#magnesium").jqxTooltip({content:"Magnesium (Mg)."});$("#ph").jqxTooltip({content:"De zuurgraad (pH)."});$("#total_alkalinity").jqxTooltip({content:"Totale alkaliniteit. Berekend meteen de Bicarbonaat."});var b={},a="includes/db_profile_water.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"calcium",type:"float"},{name:"bicarbonate",type:"float"},{name:"sulfate",type:"float"},{name:"chloride",type:"float"},{name:"sodium",type:"float"},{name:"magnesium",type:"float"},{name:"ph",type:"float"},{name:"notes",type:"string"},{name:"total_alkalinity",type:"float"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}},e=new $.jqx.dataAdapter(d),c=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#calcium").jqxNumberInput(Spin1dec);$("#bicarbonate").jqxNumberInput(Spin1dec);$("#sulfate").jqxNumberInput(Spin1dec);$("#chloride").jqxNumberInput(Spin1dec);$("#sodium").jqxNumberInput(Spin1dec);$("#magnesium").jqxNumberInput(Spin1dec);$("#ph").jqxNumberInput(Spin2pH);$("#total_alkalinity").jqxNumberInput(Spin1dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"),g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");f.append(g);h.append(f);g.jqxButton({theme:theme,width:90,height:20});g.click(function(i){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("");$("#calcium").val(0);$("#bicarbonate").val(0);$("#sulfate").val(0);$("#chloride").val(0);$("#sodium").val(0);$("#magnesium").val(0);$("#ph").val(7);$("#notes").val("");$("#total_alkalinity").val(0);$("#popupWindow").jqxWindow("open")})},filterable:false,filtermode:"excel",columns:[{text:"Water Profiel",datafield:"name",width:225},{text:"Opmerkingen",datafield:"notes"},{text:"Ca",datafield:"calcium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Mg",datafield:"magnesium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Na",datafield:"sodium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"CaCO3",datafield:"total_alkalinity",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Cl",datafield:"chloride",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"SO4",datafield:"sulfate",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"pH",datafield:"ph",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",datafield:"Edit",width:100,columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#calcium").val(b.calcium);$("#bicarbonate").val(b.bicarbonate);$("#sulfate").val(b.sulfate);$("#chloride").val(b.chloride);$("#sodium").val(b.sodium);$("#magnesium").val(b.magnesium);$("#ph").val(b.ph);$("#notes").val(b.notes);$("#total_alkalinity").val(b.total_alkalinity);$("#popupWindow").jqxWindow("open")}}]});$("#total_alkalinity").on("change",function(f){b.bicarbonate=parseFloat(f.args.value)*1.22;$("#bicarbonate").val(b.bicarbonate)});$("#bicarbonate").on("change",function(f){b.total_alkalinity=parseFloat(f.args.value)*50/61;$("#total_alkalinity").val(b.total_alkalinity)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var g,f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}g={record:f,name:$("#name").val(),calcium:parseFloat($("#calcium").jqxNumberInput("decimal")),bicarbonate:parseFloat($("#bicarbonate").jqxNumberInput("decimal")),sulfate:parseFloat($("#sulfate").jqxNumberInput("decimal")),chloride:parseFloat($("#chloride").jqxNumberInput("decimal")),sodium:parseFloat($("#sodium").jqxNumberInput("decimal")),magnesium:parseFloat($("#magnesium").jqxNumberInput("decimal")),ph:parseFloat($("#ph").jqxNumberInput("decimal")),notes:$("#notes").val(),total_alkalinity:parseFloat($("#total_alkalinity").jqxNumberInput("decimal"))};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_water.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/profile_water.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2014-2019
+ * Copyright (C) 2014-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -22,258 +22,300 @@
 
 
 function createDelElements() {
-	$('#eventWindow').jqxWindow({
-		theme: theme,
-		position: { x: 490, y: 210 },
-		width: 300,
-		height: 175,
-		resizable: false,
-		isModal: true,
-		modalOpacity: 0.4,
-		okButton: $('#delOk'),
-		cancelButton: $('#delCancel'),
-		initContent: function () {
-			$('#delOk').jqxButton({ template: "danger", width: '65px', theme: theme });
-			$('#delCancel').jqxButton({ template: "success", width: '65px', theme: theme });
-			$('#delCancel').focus();
-		}
-	});
-	$('#eventWindow').jqxWindow('hide');
+ $('#eventWindow').jqxWindow({
+  theme: theme,
+  position: { x: 490, y: 210 },
+  width: 300,
+  height: 175,
+  resizable: false,
+  isModal: true,
+  modalOpacity: 0.4,
+  okButton: $('#delOk'),
+  cancelButton: $('#delCancel'),
+  initContent: function() {
+   $('#delOk').jqxButton({ template: 'danger', width: '65px', theme: theme });
+   $('#delCancel').jqxButton({ template: 'success', width: '65px', theme: theme });
+   $('#delCancel').focus();
+  }
+ });
+ $('#eventWindow').jqxWindow('hide');
 }
 
 
-$(document).ready(function () {
-
-	// tooltips
-	$("#name").jqxTooltip({ content: 'De unieke naam van dit water profiel.' });
-	$("#notes").jqxTooltip({ content: 'Extra opmerkingen over dit water.' });
-	$("#calcium").jqxTooltip({ content: 'Calcium (Ca).' });
-	$("#bicarbonate").jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' });
-	$("#sulfate").jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' });
-	$("#chloride").jqxTooltip({ content: 'Chloride (Cl).' });
-	$("#sodium").jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
-	$("#magnesium").jqxTooltip({ content: 'Magnesium (Mg).' });
-	$("#ph").jqxTooltip({ content: 'De zuurgraad (pH).' });
-	$("#total_alkalinity").jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
+$(document).ready(function() {
 
-	var dataRecord = {},
-        url = 'includes/db_profile_water.php',
-	source = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'number' },
-			{ name: 'name', type: 'string' },
-			{ name: 'calcium', type: 'float' },
-			{ name: 'bicarbonate', type: 'float' },
-			{ name: 'sulfate', type: 'float' },
-			{ name: 'chloride', type: 'float' },
-			{ name: 'sodium', type: 'float' },
-			{ name: 'magnesium', type: 'float' },
-			{ name: 'ph', type: 'float' },
-			{ name: 'notes', type: 'string' },
-			{ name: 'total_alkalinity', type: 'float' }
-		],
-		id: 'record',
-		url: url,
-		deleterow: function (rowid, commit) {
-			// synchronize with the server - send delete command
-			var data = "delete=true&" + $.param({ record: rowid });
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function (jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		},
-		addrow: function (rowid, rowdata, position, commit) {
-			var data = "insert=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-                                        commit(false);
-                                }
-                        });
-                },
-		updaterow: function (rowid, rowdata, commit) {
-			var data = "update=true&" + $.param(rowdata);
-			$.ajax({
-				dataType: 'json',
-				url: url,
-				cache: false,
-				data: data,
-				type: "POST",
-				success: function (data, status, xhr) {
-					commit(true);
-					location.reload( true );
-				},
-				error: function(jqXHR, textStatus, errorThrown) {
-					commit(false);
-				}
-			});
-		}
-	},
-	dataAdapter = new $.jqx.dataAdapter(source),
-        editrow = -1;
+ var dataRecord = {},
+ url = 'includes/db_profile_water.php',
+ source = {
+  datatype: 'json',
+  cache: false,
+  datafields: [
+   { name: 'record', type: 'number' },
+   { name: 'name', type: 'string' },
+   { name: 'calcium', type: 'float' },
+   { name: 'bicarbonate', type: 'float' },
+   { name: 'sulfate', type: 'float' },
+   { name: 'chloride', type: 'float' },
+   { name: 'sodium', type: 'float' },
+   { name: 'magnesium', type: 'float' },
+   { name: 'ph', type: 'float' },
+   { name: 'notes', type: 'string' },
+   { name: 'total_alkalinity', type: 'float' }
+  ],
+  id: 'record',
+  url: url,
+  deleterow: function(rowid, commit) {
+   // synchronize with the server - send delete command
+   var data = 'delete=true&' + $.param({ record: rowid });
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  addrow: function(rowid, rowdata, position, commit) {
+   var data = 'insert=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  },
+  updaterow: function(rowid, rowdata, commit) {
+   var data = 'update=true&' + $.param(rowdata);
+   $.ajax({
+    dataType: 'json',
+    url: url,
+    cache: false,
+    data: data,
+    type: 'POST',
+    success: function(data, status, xhr) {
+     commit(true);
+     location.reload(true);
+    },
+    error: function(jqXHR, textStatus, errorThrown) {
+     commit(false);
+    }
+   });
+  }
+ },
+ dataAdapter = new $.jqx.dataAdapter(source),
+ editrow = -1;
 
-	// initialize the input fields.
-	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
-	$("#calcium").jqxNumberInput( Spin1dec );
-	$("#bicarbonate").jqxNumberInput( Spin1dec );
-	$("#sulfate").jqxNumberInput( Spin1dec );
-	$("#chloride").jqxNumberInput( Spin1dec );
-	$("#sodium").jqxNumberInput( Spin1dec );
-	$("#magnesium").jqxNumberInput( Spin1dec );
-	$("#ph").jqxNumberInput( Spin2pH );
-	$("#total_alkalinity").jqxNumberInput( Spin1dec );
+ // tooltips
+ $('#name').jqxTooltip({ content: 'De unieke naam van dit water profiel.' });
+ $('#notes').jqxTooltip({ content: 'Extra opmerkingen over dit water.' });
+ $('#calcium').jqxTooltip({ content: 'Calcium (Ca).' });
+ $('#bicarbonate').jqxTooltip({ content: 'Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit.' });
+ $('#sulfate').jqxTooltip({ content: 'Calcium Sulfaat (CaSO4).' });
+ $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' });
+ $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' });
+ $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' });
+ $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' });
+ $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' });
+ $('#balance').jqxTooltip({ content: 'De ionen balans van het water. Ideaal minder dan 0.1 verschil tussen kationen en anionen. Meer dan 0.5 is een fout in het waterraport.' });
+
+ // initialize the input fields.
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#notes').jqxInput({ theme: theme, width: 800, height: 100 });
+ $('#calcium').jqxNumberInput(Spin1dec);
+ $('#bicarbonate').jqxNumberInput(Spin1dec);
+ $('#sulfate').jqxNumberInput(Spin1dec);
+ $('#chloride').jqxNumberInput(Spin1dec);
+ $('#sodium').jqxNumberInput(Spin1dec);
+ $('#magnesium').jqxNumberInput(Spin1dec);
+ $('#ph').jqxNumberInput(Spin2pH);
+ $('#total_alkalinity').jqxNumberInput(Spin1dec);
+ $('#balance').jqxNumberInput(Show2dec);
 
-	// initialize jqxGrid
-	$("#jqxgrid").jqxGrid({
-		width: 1280,
-		height: 630,
-		source: dataAdapter,
-		theme: theme,
-		showstatusbar: true,
-		renderstatusbar: function (statusbar) {
-			var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"),
-			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
-			container.append(addButton);
-			statusbar.append(container);
-			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
-			// add new row.
-			addButton.click(function (event) {
-				editrow = -1;
-				$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-				$("#name").val('');
-				$("#calcium").val(0);
-				$("#bicarbonate").val(0);
-				$("#sulfate").val(0);
-				$("#chloride").val(0);
-				$("#sodium").val(0);
-				$("#magnesium").val(0);
-				$("#ph").val(7);
-				$("#notes").val('');
-				$("#total_alkalinity").val(0);
-				$("#popupWindow").jqxWindow('open');
-			});
-		},
-		filterable: false,
-		filtermode: 'excel',
-		columns: [
-			{ text: 'Water Profiel', datafield: 'name', width: 225 },
-			{ text: 'Opmerkingen', datafield: 'notes' },
-			{ text: 'Ca', datafield: 'calcium', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Mg', datafield: 'magnesium', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Na', datafield: 'sodium', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'CaCO3', datafield: 'total_alkalinity', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'Cl', datafield: 'chloride', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'SO4', datafield: 'sulfate', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: 'pH', datafield: 'ph', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
-			{ text: '', datafield: 'Edit', width: 100, columntype: 'button', cellsrenderer: function () {
-				return "Wijzig";
-				}, buttonclick: function (row) {
-					// open the popup window when the user clicks a button.
-					editrow = row;
-					$("#popupWindow").jqxWindow({ position: { x: 110, y: 30 } });
-					// get the clicked row's data and initialize the input fields.
-					dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow);
-					$("#name").val(dataRecord.name);
-					$("#calcium").val(dataRecord.calcium);
-					$("#bicarbonate").val(dataRecord.bicarbonate);
-					$("#sulfate").val(dataRecord.sulfate);
-					$("#chloride").val(dataRecord.chloride);
-					$("#sodium").val(dataRecord.sodium);
-					$("#magnesium").val(dataRecord.magnesium);
-					$("#ph").val(dataRecord.ph);
-					$("#notes").val(dataRecord.notes);
-					$("#total_alkalinity").val(dataRecord.total_alkalinity);
-					// show the popup window.
-					$("#popupWindow").jqxWindow('open');
-				}
-			}
-		]
-	});
+ // initialize jqxGrid
+ $('#jqxgrid').jqxGrid({
+  width: 1280,
+  height: 630,
+  source: dataAdapter,
+  theme: theme,
+  showstatusbar: true,
+  renderstatusbar: function(statusbar) {
+   var container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>'),
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Nieuw</span></div>');
+   container.append(addButton);
+   statusbar.append(container);
+   addButton.jqxButton({ theme: theme, width: 90, height: 20 });
+   // add new row.
+   addButton.click(function(event) {
+    editrow = -1;
+    $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+    $('#name').val('');
+    $('#calcium').val(0);
+    $('#bicarbonate').val(0);
+    $('#sulfate').val(0);
+    $('#chloride').val(0);
+    $('#sodium').val(0);
+    $('#magnesium').val(0);
+    $('#ph').val(7);
+    $('#notes').val('');
+    $('#total_alkalinity').val(0);
+    $('#popupWindow').jqxWindow('open');
+   });
+  },
+  filterable: false,
+  filtermode: 'excel',
+  columns: [
+   { text: 'Water Profiel', datafield: 'name', width: 225 },
+   { text: 'Opmerkingen', datafield: 'notes' },
+   { text: 'Ca', datafield: 'calcium', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Mg', datafield: 'magnesium', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Na', datafield: 'sodium', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'CaCO3', datafield: 'total_alkalinity', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'Cl', datafield: 'chloride', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'SO4', datafield: 'sulfate', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: 'pH', datafield: 'ph', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
+   { text: '', datafield: 'Edit', width: 100, columntype: 'button',
+    cellsrenderer: function() {
+     return 'Wijzig';
+    }, buttonclick: function(row) {
+     // open the popup window when the user clicks a button.
+     editrow = row;
+     $('#popupWindow').jqxWindow({ position: { x: 110, y: 30 } });
+     // get the clicked row's data and initialize the input fields.
+     dataRecord = $('#jqxgrid').jqxGrid('getrowdata', editrow);
+     $('#name').val(dataRecord.name);
+     $('#calcium').val(dataRecord.calcium);
+     $('#bicarbonate').val(dataRecord.bicarbonate);
+     $('#sulfate').val(dataRecord.sulfate);
+     $('#chloride').val(dataRecord.chloride);
+     $('#sodium').val(dataRecord.sodium);
+     $('#magnesium').val(dataRecord.magnesium);
+     $('#ph').val(dataRecord.ph);
+     $('#notes').val(dataRecord.notes);
+     $('#total_alkalinity').val(dataRecord.total_alkalinity);
+     calcBalance();
+     // show the popup window.
+     $('#popupWindow').jqxWindow('open');
+    }
+   }
+  ]
+ });
+
+ function calcBalance() {
+  var cations = (dataRecord.calcium / 20.039) + (dataRecord.magnesium / 12.1525) + (dataRecord.sodium / 22.989);
+  var anions = (dataRecord.bicarbonate / 61.016) + (dataRecord.sulfate / 48.031) + (dataRecord.chloride / 35.4527);
+  var balance = Round(cations - anions, 2);
+  $('#balance').val(balance);
+  if (balance <= 0.1 && balance >= -0.1)
+   $('#wr_balance').html("<img src='images/dialog-ok-apply.png'>");
+  else if (balance <= 0.5 && balance >= -0.5)
+   $('#wr_balance').html("<img src='images/dialog-ok.png'>");
+  else
+   $('#wr_balance').html("<img src='images/dialog-error.png'>");
+ }
 
-	$("#total_alkalinity").on('change', function (event) {
-		dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
-		$("#bicarbonate").val(dataRecord.bicarbonate);
-	});
-	$("#bicarbonate").on('change', function (event) {
-		dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
-		$("#total_alkalinity").val(dataRecord.total_alkalinity);
-	});
+ $('#calcium').on('change', function(event) {
+  dataRecord.calcium = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#magnesium').on('change', function(event) {
+  dataRecord.magnesium = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#sodium').on('change', function(event) {
+  dataRecord.sodium = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#total_alkalinity').on('change', function(event) {
+  dataRecord.total_alkalinity = parseFloat(event.args.value);
+  dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22;
+  $('#bicarbonate').val(dataRecord.bicarbonate);
+  calcBalance();
+ });
+ $('#bicarbonate').on('change', function(event) {
+  dataRecord.bicarbonate = parseFloat(event.args.value);
+  dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61;
+  $('#total_alkalinity').val(dataRecord.total_alkalinity);
+  calcBalance();
+ });
+ $('#sulfate').on('change', function(event) {
+  dataRecord.sulfate = parseFloat(event.args.value);
+  calcBalance();
+ });
+ $('#chloride').on('change', function(event) {
+  dataRecord.chloride = parseFloat(event.args.value);
+  calcBalance();
+ });
 
-	// initialize the popup window and buttons.
-	$("#popupWindow").jqxWindow({
-		width: 1050,
-		height: 550,
-		resizable: false,
-		theme: theme,
-		isModal: true,
-		autoOpen: false,
-		cancelButton: $("#Cancel"),
-		modalOpacity: 0.40
-	});
-	$("#popupWindow").on('open', function () {
-		$("#name").jqxInput('selectAll');
-	});
-	$("#Delete").jqxButton({ template: "danger", width: '90px', theme: theme });
-	$("#Delete").click(function () {
-		if (editrow >= 0) {
-			// Open a popup to confirm this action.
-			$('#eventWindow').jqxWindow('open');
-			$("#delOk").click(function () {
-				var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-				$("#jqxgrid").jqxGrid('deleterow', rowID);
-			});
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
-	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
-	// update the edited row when the user clicks the 'Save' button.
-	$("#Save").click(function () {
-		var row, rowID = -1;
-		if (editrow >= 0) {
-			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
-		}
-		row = {
-			record: rowID,
-			name: $("#name").val(),
-			calcium: parseFloat($("#calcium").jqxNumberInput('decimal')),
-			bicarbonate: parseFloat($("#bicarbonate").jqxNumberInput('decimal')),
-			sulfate: parseFloat($("#sulfate").jqxNumberInput('decimal')),
-			chloride: parseFloat($("#chloride").jqxNumberInput('decimal')),
-			sodium: parseFloat($("#sodium").jqxNumberInput('decimal')),
-			magnesium: parseFloat($("#magnesium").jqxNumberInput('decimal')),
-			ph: parseFloat($("#ph").jqxNumberInput('decimal')),
-			notes: $("#notes").val(),
-			total_alkalinity: parseFloat($("#total_alkalinity").jqxNumberInput('decimal'))
-		};
-		if (editrow >= 0) {
-			$('#jqxgrid').jqxGrid('updaterow', rowID, row);
-		} else {
-			$('#jqxgrid').jqxGrid('addrow', null, row);
-		}
-		$("#popupWindow").jqxWindow('hide');
-	});
-	createDelElements();
+ // initialize the popup window and buttons.
+ $('#popupWindow').jqxWindow({
+  width: 1050,
+  height: 550,
+  resizable: false,
+  theme: theme,
+  isModal: true,
+  autoOpen: false,
+  cancelButton: $('#Cancel'),
+  modalOpacity: 0.40
+ });
+ $('#popupWindow').on('open', function() {
+  $('#name').jqxInput('selectAll');
+ });
+ $('#Delete').jqxButton({ template: 'danger', width: '90px', theme: theme });
+ $('#Delete').click(function() {
+  if (editrow >= 0) {
+   // Open a popup to confirm this action.
+   $('#eventWindow').jqxWindow('open');
+   $('#delOk').click(function() {
+    var rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+    $('#jqxgrid').jqxGrid('deleterow', rowID);
+   });
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ $('#Cancel').jqxButton({ template: 'primary', width: '90px', theme: theme });
+ $('#Save').jqxButton({ template: 'success', width: '90px', theme: theme });
+ // update the edited row when the user clicks the 'Save' button.
+ $('#Save').click(function() {
+  var row, rowID = -1;
+  if (editrow >= 0) {
+   rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
+  }
+  row = {
+   record: rowID,
+   name: $('#name').val(),
+   calcium: parseFloat($('#calcium').jqxNumberInput('decimal')),
+   bicarbonate: parseFloat($('#bicarbonate').jqxNumberInput('decimal')),
+   sulfate: parseFloat($('#sulfate').jqxNumberInput('decimal')),
+   chloride: parseFloat($('#chloride').jqxNumberInput('decimal')),
+   sodium: parseFloat($('#sodium').jqxNumberInput('decimal')),
+   magnesium: parseFloat($('#magnesium').jqxNumberInput('decimal')),
+   ph: parseFloat($('#ph').jqxNumberInput('decimal')),
+   notes: $('#notes').val(),
+   total_alkalinity: parseFloat($('#total_alkalinity').jqxNumberInput('decimal'))
+  };
+  if (editrow >= 0) {
+   $('#jqxgrid').jqxGrid('updaterow', rowID, row);
+  } else {
+   $('#jqxgrid').jqxGrid('addrow', null, row);
+  }
+  $('#popupWindow').jqxWindow('hide');
+ });
+ createDelElements();
 });
 
--- a/www/js/rec_edit-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-var psugar=0,pcara=0,svg=77,mashkg=0,mash_infuse=0,dataRecord={},hop_flavour=0,hop_aroma=0,preboil_sg=0,last_base="",last_acid="",Ka1=4.445e-7,Ka2=4.68e-11,MMCa=40.048,MMMg=24.305,MMNa=22.98976928,MMCl=35.453,MMSO4=96.0626,MMCO3=60.01684,MMHCO3=61.01684,MMCaSO4=172.171,MMCaCl2=147.015,MMCaCO3=100.087,MMMgSO4=246.475,MMNaHCO3=84.007,MMNa2CO3=105.996,MMNaCl=58.443,MMCaOH2=74.06268;function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}function hopFlavourContribution(c,e,b,d){var a;if(b==1){a=0.15}else{if(c>50){a=0.1}else{a=15.25/(6*Math.sqrt(2*Math.PI))*Math.exp(-0.5*Math.pow((c-21)/6,2));if(a<0.1){a=0.1}}}return(a*d*1000)/e}function hopAromaContribution(c,e,b,d){var a=0;if(b==5){a=1.33}else{if(c>20){a=0}else{if(c>7.5){a=10.03/(4*Math.sqrt(2*Math.PI))*Math.exp(-0.5*Math.pow((c-7.5)/4,2))}else{if(b==2){a=1}else{if(b==3){a=1.2}else{if(b==4){a=1.2}}}}}}return(a*d*1000)/e}function setReadonly(c){var d=!c,a=110,b=80;if(c){a=90;b=60}$("#batch_size").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#boil_size").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#boil_time").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#efficiency").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#est_og").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#type").jqxDropDownList({disabled:c});$("#styleSelect").jqxDropDownList({disabled:c});$("#color_method").jqxDropDownList({disabled:c});$("#ibu_method").jqxDropDownList({disabled:c});$("#Delete").jqxButton({disabled:c});$("#fermentableGrid").jqxGrid({editable:d});$("#faddrowbutton").jqxDropDownList({disabled:c});$("#finstockbutton").jqxCheckBox({disabled:c});$("#fdeleterowbutton").jqxButton({disabled:c});$("#hopGrid").jqxGrid({editable:d});$("#haddrowbutton").jqxDropDownList({disabled:c});$("#hinstockbutton").jqxCheckBox({disabled:c});$("#hdeleterowbutton").jqxButton({disabled:c});$("#miscGrid").jqxGrid({editable:d});$("#maddrowbutton").jqxDropDownList({disabled:c});$("#minstockbutton").jqxCheckBox({disabled:c});$("#mdeleterowbutton").jqxButton({disabled:c});$("#yeastGrid").jqxGrid({editable:d});$("#yaddrowbutton").jqxDropDownList({disabled:c});$("#yinstockbutton").jqxCheckBox({disabled:c});$("#ydeleterowbutton").jqxButton({disabled:c});$("#mashGrid").jqxGrid({editable:d});$("#saddrowbutton").jqxButton({disabled:c});$("#sdeleterowbutton").jqxButton({disabled:c});$("#w1_name").jqxDropDownList({disabled:c});$("#w2_name").jqxDropDownList({disabled:c});$("#pr_name").jqxDropDownList({disabled:c});$("#wa_cacl2").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#wa_caso4").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#wa_mgso4").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#wa_nacl").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#mash_ph").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#calc_acid").jqxCheckBox({disabled:c});$("#wa_base_name").jqxDropDownList({disabled:c});$("#wa_base").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#wa_acid_name").jqxDropDownList({disabled:c});$("#wa_acid").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#wa_acid_perc").jqxNumberInput({spinButtons:d,readOnly:c,width:b});$("#sparge_temp").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#sparge_volume").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#sparge_ph").jqxNumberInput({spinButtons:d,readOnly:c,width:a});$("#sparge_source").jqxDropDownList({disabled:c});$("#sparge_acid_type").jqxDropDownList({disabled:c});$("#sparge_acid_perc").jqxNumberInput({spinButtons:d,readOnly:c,width:a})}function calcPercentages(){console.log("calcPercentages()");var b,e,a,c,d=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if(d>1){b=0;for(c=0;c<d;c++){e=$("#fermentableGrid").jqxGrid("getrowdata",c);if(e.f_added<4){b+=Round(e.f_amount,3)}}b=Round(b,3);for(c=0;c<d;c++){e=$("#fermentableGrid").jqxGrid("getrowdata",c);if(e.f_added<4){a=Round(e.f_amount/b*100,1);$("#fermentableGrid").jqxGrid("setcellvalue",c,"f_percentage",a)}else{$("#fermentableGrid").jqxGrid("setcellvalue",c,"f_percentage",0)}}}else{$("#fermentableGrid").jqxGrid("setcellvalue",0,"f_percentage",100)}}function calcFermentables(){console.log("calcFermentables()");var g,o,p,n,q=0,k,l,m,c,f,e,j,b,h=0,a=0;vol=0,addedS=0,addedmass=0,mvol=0,colort=0,colorh=0,colorn=0,my_100=false,mashtime=0,mashtemp=0,bv=0.925,sr=0.95,lintner=0;psugar=0;pcara=0;mashkg=0;if((p=$("#mashGrid").jqxGrid("getrows"))){for(g=0;g<p.length;g++){o=p[g];if(o.step_type==0){mvol+=parseFloat(o.step_infuse_amount)}if(o.step_temp<=75){mashtime+=o.step_time;mashtemp+=o.step_time*o.step_temp}}mashtemp=mashtemp/mashtime}if(!(p=$("#fermentableGrid").jqxGrid("getrows"))){return}for(g=0;g<p.length;g++){o=p[g];if(o.f_adjust_to_total_100){my_100=true}if(o.f_type==1&&o.f_added<4){psugar+=o.f_percentage}if(o.f_graintype==2&&o.f_added<4){pcara+=o.f_percentage}k=o.f_amount*(o.f_yield/100)*(1-o.f_moisture/100);if(o.f_added==0){if(mvol>0){mvol+=o.f_amount*o.f_moisture/100;q+=k}k=parseFloat(dataRecord.efficiency)/100*k;a+=k;mashkg+=o.f_amount}if(o.f_added==0||o.f_added==1){h+=k}if(o.f_added==2||o.f_added==3){l=(o.f_yield/100)*(1-o.f_moisture/100);addedS+=o.f_amount*l;addedmass+=o.f_amount;vol+=(l*sugardensity+(1-l)*1)*o.f_amount}if(o.f_added==0&&(o.f_type==0||o.f_type==4)&&o.f_color<50){lintner+=o.f_diastatic_power*o.f_amount}if(o.f_added<4){colort+=o.f_amount*ebc_to_srm(o.f_color);colorh+=o.f_amount*o.f_color*get_kt(o.f_color);colorn+=(o.f_percentage/100)*o.f_color}}$("#ferm_lintner").val(Math.round(parseFloat(lintner/mashkg)));to_100=my_100;if(to_100){$("#wf_amount").jqxNumberInput({width:90,readOnly:true,spinButtons:false})}else{$("#wf_amount").jqxNumberInput({width:110,readOnly:false,spinButtons:true})}dataRecord.est_og=estimate_sg(h+addedS,parseFloat(dataRecord.batch_size));$("#est_og").val(dataRecord.est_og);$("#est_og2").val(dataRecord.est_og);n=dataRecord.est_og;preboil_sg=estimate_sg(a,parseFloat(dataRecord.boil_size));if(dataRecord.color_method==4){e=Math.round(((sg_to_plato(dataRecord.est_og)/8.6)*colorn)+(dataRecord.boil_time/60))}else{if(dataRecord.color_method==3){e=Math.round((4.46*bv*sr)/parseFloat(dataRecord.batch_size)*colorh)}else{f=colort/parseFloat(dataRecord.batch_size)*8.34436;e=kw_to_ebc(dataRecord.color_method,f)}}dataRecord.est_color=e;$("#est_color").val(e);$("#est_color2").val(e);j=ebc_to_color(e);document.getElementById("bcolor").style.background=j;document.getElementById("bcolor2").style.background=j;pmalts=mashkg/(dataRecord.boil_size/3)*100;$("#perc_malts").jqxProgressBar("val",pmalts);$("#perc_sugars").jqxProgressBar("val",psugar);$("#perc_cara").jqxProgressBar("val",pcara);svg=0;p=$("#yeastGrid").jqxGrid("getrows");for(g=0;g<p.length;g++){o=p[g];if(o.y_use==0){if(parseFloat(o.y_attenuation)>svg){svg=parseFloat(o.y_attenuation)}}}if(svg==0){svg=77}if((mashkg>0)&&(mash_infuse>0)&&(mashtime>0)&&(mashtemp>0)){dataRecord.est_fg=estimate_fg(psugar,pcara,mash_infuse/mashkg,mashtime,mashtemp,svg,dataRecord.est_og)}else{dataRecord.est_fg=estimate_fg(psugar,pcara,0,0,0,svg,dataRecord.est_og)}$("#est_fg").val(dataRecord.est_fg);$("#est_fg2").val(dataRecord.est_fg);b=dataRecord.est_fg;dataRecord.est_abv=abvol(dataRecord.est_og,dataRecord.est_fg);$("#est_abv").val(dataRecord.est_abv);$("#est_abv2").val(dataRecord.est_abv);c=1881.22*b*(n-b)/(1.775-n);m=3550*b*(0.1808*n+0.8192*b-1.0004);$("#kcal").val(Math.round((c+m)/(12*0.0295735296)))}function calcMash(){var a=0,b,d,c;if(!(c=$("#mashGrid").jqxGrid("getrows"))){return}if(mashkg==0){return}for(b=0;b<c.length;b++){d=$("#mashGrid").jqxGrid("getrowdata",b);if(d.step_type==0){a+=d.step_infuse_amount}$("#mashGrid").jqxGrid("setcellvalue",b,"step_thickness",a/mashkg)}}function calcIBUs(){var a=0,c={},b,d;hop_aroma=hop_flavour=0;if(!(c=$("#hopGrid").jqxGrid("getrows"))){return}for(b=0;b<c.length;b++){d=c[b];a+=toIBU(d.h_useat,d.h_form,preboil_sg,parseFloat(dataRecord.batch_size),parseFloat(d.h_amount),parseFloat(d.h_time),parseFloat(d.h_alpha),dataRecord.ibu_method);hop_flavour+=hopFlavourContribution(parseFloat(d.h_time),parseFloat(dataRecord.batch_size),d.h_useat,parseFloat(d.h_amount));hop_aroma+=hopAromaContribution(parseFloat(d.h_time),parseFloat(dataRecord.batch_size),d.h_useat,parseFloat(d.h_amount))}a=Round(a,1);hop_flavour=Round(hop_flavour*100/5,1);hop_aroma=Round(hop_aroma*100/6,1);if(hop_flavour>100){hop_flavour=100}if(hop_aroma>100){hop_aroma=100}console.log("calcIBUs(): "+a+"  flavour: "+hop_flavour+"  aroma: "+hop_aroma);dataRecord.est_ibu=a;$("#est_ibu").val(a);$("#est_ibu2").val(a);$("#hop_flavour").jqxProgressBar("val",hop_flavour);$("#hop_aroma").jqxProgressBar("val",hop_aroma)}function adjustHops(c){var b,d,a,e=$("#hopGrid").jqxGrid("getdatainformation").rowscount;if(e==0){return}for(b=0;b<e;b++){d=$("#hopGrid").jqxGrid("getrowdata",b);a=d.h_amount*c;$("#hopGrid").jqxGrid("setcellvalue",b,"h_amount",a)}}function adjustMiscs(c){var b,d,a,e=$("#miscGrid").jqxGrid("getdatainformation").rowscount;if(e==0){return}for(b=0;b<e;b++){d=$("#miscGrid").jqxGrid("getrowdata",b);a=d.m_amount*c;$("#miscGrid").jqxGrid("setcellvalue",b,"m_amount",a);switch(d.m_name){case"CaCl2":$("#wa_cacl2").val(d.m_amount*1000);break;case"CaSO4":$("#wa_caso4").val(d.m_amount*1000);break;case"MgSO4":$("#wa_mgso4").val(d.m_amount*1000);break;case"NaCl":$("#wa_nacl").val(d.m_amount*1000);break;case"Melkzuur":case"Zoutzuur":case"Fosforzuur":case"Zwavelzuur":$("#wa_acid").val(d.m_amount*1000);break;case"NaHCO3":case"Na2CO3":case"CaCO3":case"Ca(OH)2":$("#wa_base").val(d.m_amount*1000);break}}}function adjustYeasts(c){var b,d,a,e=$("#yeastGrid").jqxGrid("getdatainformation").rowscount;if(e==0){return}for(b=0;b<e;b++){d=$("#yeastGrid").jqxGrid("getrowdata",b);if(d.y_form==1){a=d.y_amount*c;$("#yeastGrid").jqxGrid("setcellvalue",b,"y_amount",a)}}}function adjustWaters(c){var b,d,a,e=$("#mashGrid").jqxGrid("getdatainformation").rowscount;if(e==0){return}mash_infuse=0;for(b=0;b<e;b++){d=$("#mashGrid").jqxGrid("getrowdata",b);if(d.step_type==0){a=Round(d.step_infuse_amount*c,1);$("#mashGrid").jqxGrid("setcellvalue",b,"step_infuse_amount",a);mash_infuse+=a}}if(dataRecord.w2_amount==0){dataRecord.w1_amount=mash_infuse;$("#w1_amount").val(mash_infuse)}else{dataRecord.w1_amount=(dataRecord.w1_amount/(dataRecord.w1_amount+dataRecord.w2_amount))*mash_infuse;dataRecord.w2_amount=(dataRecord.w2_amount/(dataRecord.w1_amount+dataRecord.w2_amount))*mash_infuse;$("#w1_amount").val(dataRecord.w1_amount);$("#w2_amount").val(dataRecord.w2_amount)}$("#wg_amount").val(mash_infuse)}function GetBUGU(){var a=(dataRecord.est_og-1)*1000;if(a>0){return dataRecord.est_ibu/a}else{return 0.5}}function GetOptClSO4ratio(){var a=GetBUGU();return(-1.2*a+1.4)}function setRangeIndicator(b,a){if((a=="laag")||(a=="hoog")){$("#wr_"+b).html('<img src="images/dialog-error.png"><span style="vertical-align: top; font-size: 10px; font-style: italic;">'+a+"</span>")}else{$("#wr_"+b).html('<img src="images/dialog-ok-apply.png">')}}function mix(d,c,b,a){if((d+c)>0){return((d*b)+(c*a))/(d+c)}return 0}function ResidualAlkalinity(c,b,a){return c-(b/1.4+a/1.7)}function PartCO3(b){var a=Math.pow(10,-b);return 100*Ka1*Ka2/(a*a+a*Ka1+Ka1*Ka2)}function PartHCO3(b){var a=Math.pow(10,-b);return 100*Ka1*a/(a*a+a*Ka1+Ka1*Ka2)}function Charge(a){return(-2*PartCO3(a)-PartHCO3(a))}function ZAlkalinity(b){var e=Charge(4.3),c=Charge(parseFloat($("#wg_ph").jqxNumberInput("decimal"))),a=Charge(b),g=-e+c,f=parseFloat($("#wg_total_alkalinity").jqxNumberInput("decimal"))/50/g,d=-a+c;return f*d}function ZRA(b){var a=parseFloat($("#wg_calcium").jqxNumberInput("decimal"))/(MMCa/2),c=parseFloat($("#wg_magnesium").jqxNumberInput("decimal"))/(MMMg/2),d=ZAlkalinity(b);return d-(a/3.5+c/7)}function ProtonDeficit(b){var a,e,c,d,f,g=ZRA(b)*parseFloat($("#wg_amount").jqxNumberInput("decimal"));d=$("#fermentableGrid").jqxGrid("getrows");for(c=0;c<d.length;c++){f=d[c];if(f.f_added==0&&f.f_graintype!=6){e=0;if((f.f_di_ph!=5.7)&&((f.f_acid_to_ph_57<-0.1)||(f.f_acid_to_ph_57>0.1))){e=f.f_acid_to_ph_57/(f.f_di_ph-5.7)}else{a=f.f_color;switch(f.f_graintype){case 0:case 3:case 5:e=0.014*a-34.192;break;case 2:e=-0.0597*a-32.457;break;case 1:e=0.0107*a-54.768;break;case 4:e=-149;break}}x=e*(b-f.f_di_ph);g+=x*f.f_amount}}return g}function MashpH(){var e=0,c=5.4,b=0.001,d=0.1,a=ProtonDeficit(c);while(((a<-d)||(a>d))&&(e<2000)){e++;if(a<-d){c-=b}else{if(a>d){c+=b}}a=ProtonDeficit(c)}return c}function GetAcidSpecs(a){switch(a){case 0:return{pK1:3.86,pK2:20,pK3:20,MolWt:90.08,AcidSG:1214,AcidPrc:0.88};case 1:return{pK1:-7,pK2:20,pK3:20,MolWt:36.46,AcidSG:1142,AcidPrc:0.28};case 2:return{pK1:2.12,pK2:7.2,pK3:12.44,MolWt:98,AcidSG:1170,AcidPrc:0.25};case 3:return{pK1:-1,pK2:1.92,pK3:20,MolWt:98.07,AcidSG:1700,AcidPrc:0.93}}}$(document).ready(function(){var h=false,u=0,e={},o=0,t={},q=0,p={},c=0,g={},l=0,r={},f="includes/db_recipes.php",s={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"uuid",type:"string"},{name:"locked",type:"int"},{name:"st_name",type:"string"},{name:"st_letter",type:"string"},{name:"st_guide",type:"string"},{name:"st_type",type:"int"},{name:"st_category",type:"string"},{name:"st_category_number",type:"float"},{name:"st_og_min",type:"float"},{name:"st_og_max",type:"float"},{name:"st_fg_min",type:"float"},{name:"st_fg_max",type:"float"},{name:"st_ibu_min",type:"float"},{name:"st_ibu_max",type:"float"},{name:"st_color_min",type:"float"},{name:"st_color_max",type:"float"},{name:"st_carb_min",type:"float"},{name:"st_carb_max",type:"float"},{name:"st_abv_min",type:"float"},{name:"st_abv_max",type:"float"},{name:"name",type:"string"},{name:"notes",type:"string"},{name:"type",type:"int"},{name:"batch_size",type:"float"},{name:"boil_size",type:"float"},{name:"boil_time",type:"float"},{name:"efficiency",type:"float"},{name:"est_og",type:"float"},{name:"est_fg",type:"float"},{name:"est_abv",type:"float"},{name:"est_color",type:"float"},{name:"color_method",type:"int"},{name:"est_ibu",type:"float"},{name:"ibu_method",type:"int"},{name:"est_carb",type:"float"},{name:"sparge_temp",type:"float"},{name:"sparge_ph",type:"float"},{name:"sparge_volume",type:"float"},{name:"sparge_source",type:"int"},{name:"sparge_acid_type",type:"int"},{name:"sparge_acid_perc",type:"float"},{name:"sparge_acid_amount",type:"float"},{name:"mash_ph",type:"float"},{name:"mash_name",type:"string"},{name:"calc_acid",type:"int"},{name:"w1_name",type:"string"},{name:"w1_amount",type:"float"},{name:"w1_calcium",type:"float"},{name:"w1_sulfate",type:"float"},{name:"w1_chloride",type:"float"},{name:"w1_sodium",type:"float"},{name:"w1_magnesium",type:"float"},{name:"w1_total_alkalinity",type:"float"},{name:"w1_ph",type:"float"},{name:"w1_cost",type:"float"},{name:"w2_name",type:"string"},{name:"w2_amount",type:"float"},{name:"w2_calcium",type:"float"},{name:"w2_sulfate",type:"float"},{name:"w2_chloride",type:"float"},{name:"w2_sodium",type:"float"},{name:"w2_magnesium",type:"float"},{name:"w2_total_alkalinity",type:"float"},{name:"w2_ph",type:"float"},{name:"w2_cost",type:"float"},{name:"wg_amount",type:"float"},{name:"wg_calcium",type:"float"},{name:"wg_sulfate",type:"float"},{name:"wg_chloride",type:"float"},{name:"wg_sodium",type:"float"},{name:"wg_magnesium",type:"float"},{name:"wg_total_alkalinity",type:"float"},{name:"wg_ph",type:"float"},{name:"wb_calcium",type:"float"},{name:"wb_sulfate",type:"float"},{name:"wb_chloride",type:"float"},{name:"wb_sodium",type:"float"},{name:"wb_magnesium",type:"float"},{name:"wb_total_alkalinity",type:"float"},{name:"wb_ph",type:"float"},{name:"wa_acid_name",type:"int"},{name:"wa_acid_perc",type:"int"},{name:"wa_base_name",type:"int"},{name:"fermentables",type:"array"},{name:"hops",type:"array"},{name:"miscs",type:"array"},{name:"yeasts",type:"array"},{name:"mashs",type:"array"}],id:"record",url:f+"?record="+my_record},y=new $.jqx.dataAdapter(s,{loadComplete:function(){var B=y.records;dataRecord=B[0];$("#name").val(dataRecord.name);$("#notes").val(dataRecord.notes);$("#locked").val(dataRecord.locked);$("#st_name").val(dataRecord.st_name);$("#st_letter").val(dataRecord.st_letter);$("#st_guide").val(dataRecord.st_guide);$("#st_category").val(dataRecord.st_category);$("#st_category_number").val(dataRecord.st_category_number);$("#st_type").val(StyleTypeData[dataRecord.st_type].nl);$("#type").val(dataRecord.type);$("#batch_size").val(dataRecord.batch_size);$("#boil_size").val(dataRecord.boil_size);$("#boil_time").val(dataRecord.boil_time);$("#efficiency").val(dataRecord.efficiency);$("#est_og").val(dataRecord.est_og);$("#est_og2").val(dataRecord.est_og);$("#st_og_min").val(dataRecord.st_og_min);$("#st_og_max").val(dataRecord.st_og_max);$("#est_fg").val(dataRecord.est_fg);$("#est_fg2").val(dataRecord.est_fg);$("#st_fg_min").val(dataRecord.st_fg_min);$("#st_fg_max").val(dataRecord.st_fg_max);$("#est_fg").val(dataRecord.est_fg);$("#est_fg2").val(dataRecord.est_fg);$("#st_fg_min").val(dataRecord.st_fg_min);$("#st_fg_max").val(dataRecord.st_fg_max);$("#est_color").val(dataRecord.est_color);$("#est_color2").val(dataRecord.est_color);$("#est_abv").val(dataRecord.est_abv);$("#est_abv2").val(dataRecord.est_abv);$("#st_abv_min").val(dataRecord.st_abv_min);$("#st_abv_max").val(dataRecord.st_abv_max);$("#st_color_min").val(dataRecord.st_color_min);$("#st_color_max").val(dataRecord.st_color_max);$("#color_method").val(dataRecord.color_method);$("#est_ibu").val(dataRecord.est_ibu);$("#est_ibu2").val(dataRecord.est_ibu);$("#st_ibu_min").val(dataRecord.st_ibu_min);$("#st_ibu_max").val(dataRecord.st_ibu_max);$("#ibu_method").val(dataRecord.ibu_method);$("#est_carb").val(dataRecord.est_carb);$("#st_carb_min").val(dataRecord.st_carb_min);$("#st_carb_max").val(dataRecord.st_carb_max);$("#mash_name").val(dataRecord.mash_name);$("#mash_ph").val(dataRecord.mash_ph);$("#sparge_temp").val(dataRecord.sparge_temp);$("#sparge_ph").val(dataRecord.sparge_ph);$("#sparge_volume").val(dataRecord.sparge_volume);$("#sparge_source").val(dataRecord.sparge_source);$("#sparge_acid_type").val(dataRecord.sparge_acid_type);$("#sparge_acid_perc").val(dataRecord.sparge_acid_perc);$("#sparge_acid_amount").val(dataRecord.sparge_acid_amount*1000);$("#calc_acid").val(dataRecord.calc_acid);$("#w1_name").val(dataRecord.w1_name);$("#w1_amount").val(dataRecord.w1_amount);$("#w1_calcium").val(dataRecord.w1_calcium);$("#w1_sulfate").val(dataRecord.w1_sulfate);$("#w1_chloride").val(dataRecord.w1_chloride);$("#w1_sodium").val(dataRecord.w1_sodium);$("#w1_magnesium").val(dataRecord.w1_magnesium);$("#w1_total_alkalinity").val(dataRecord.w1_total_alkalinity);$("#w1_ph").val(dataRecord.w1_ph);$("#w1_cost").val(dataRecord.w1_cost);$("#w2_name").val(dataRecord.w2_name);$("#w2_amount").val(dataRecord.w2_amount);$("#w2_calcium").val(dataRecord.w2_calcium);$("#w2_sulfate").val(dataRecord.w2_sulfate);$("#w2_chloride").val(dataRecord.w2_chloride);$("#w2_sodium").val(dataRecord.w2_sodium);$("#w2_magnesium").val(dataRecord.w2_magnesium);$("#w2_total_alkalinity").val(dataRecord.w2_total_alkalinity);$("#w2_ph").val(dataRecord.w2_ph);$("#w2_cost").val(dataRecord.w2_cost);$("#wg_amount").val(dataRecord.wg_amount);$("#wg_calcium").val(dataRecord.wg_calcium);$("#wg_sulfate").val(dataRecord.wg_sulfate);$("#wg_chloride").val(dataRecord.wg_chloride);$("#wg_sodium").val(dataRecord.wg_sodium);$("#wg_magnesium").val(dataRecord.wg_magnesium);$("#wg_total_alkalinity").val(dataRecord.wg_total_alkalinity);$("#wg_ph").val(dataRecord.wg_ph);$("#wb_calcium").val(dataRecord.wb_calcium);$("#wb_sulfate").val(dataRecord.wb_sulfate);$("#wb_chloride").val(dataRecord.wb_chloride);$("#wb_sodium").val(dataRecord.wb_sodium);$("#wb_magnesium").val(dataRecord.wb_magnesium);$("#wb_total_alkalinity").val(dataRecord.wb_total_alkalinity);$("#wb_ph").val(dataRecord.wb_ph);$("#wa_acid_name").val(dataRecord.wa_acid_name);$("#wa_acid_perc").val(dataRecord.wa_acid_perc);$("#wa_base_name").val(dataRecord.wa_base_name);j(dataRecord);A(dataRecord);b(dataRecord);w(dataRecord);n(dataRecord);$("#jqxTabs").jqxTabs("next")},loadError:function(D,B,C){},beforeLoadComplete:function(B){$("#jqxLoader").jqxLoader("open")}}),j=function(C){var B={localdata:C.fermentables,datatype:"local",cache:false,async:false,datafields:[{name:"f_name",type:"string"},{name:"f_origin",type:"string"},{name:"f_supplier",type:"string"},{name:"f_amount",type:"float"},{name:"f_cost",type:"float"},{name:"f_type",type:"int"},{name:"f_yield",type:"float"},{name:"f_color",type:"float"},{name:"f_coarse_fine_diff",type:"float"},{name:"f_moisture",type:"float"},{name:"f_diastatic_power",type:"float"},{name:"f_protein",type:"float"},{name:"f_max_in_batch",type:"float"},{name:"f_graintype",type:"int"},{name:"f_added",type:"int"},{name:"f_dissolved_protein",type:"float"},{name:"f_recommend_mash",type:"int"},{name:"f_add_after_boil",type:"int"},{name:"f_adjust_to_total_100",type:"int"},{name:"f_percentage",type:"float"},{name:"f_di_ph",type:"float"},{name:"f_acid_to_ph_57",type:"float"},{name:"f_inventory",type:"float"},{name:"f_avail",type:"int"}],addrow:function(F,H,E,G){G(true)},deleterow:function(E,F){F(true)},updaterow:function(E,G,F){F(true)}},D=new $.jqx.dataAdapter(B);$("#fermentableGrid").jqxGrid({width:1240,height:470,source:D,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(F){var E=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');F.append(E);E.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>');E.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');E.append('<div style="float: left; margin-left: 10px;" id="finstockbutton"></div>');E.append('<input style="float: left; margin-left: 400px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />');$("#faddrowbutton").jqxDropDownList({placeHolder:"Kies mout:",theme:theme,template:"primary",source:fermentablelist,displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(H,G,J){var I=fermentablelist.records[H];return I.supplier+" / "+I.name+" ("+I.color+" EBC)"}});$("#faddrowbutton").on("select",function(I){if(I.args){var G,H,J={},K=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;G=I.args.index;H=fermentablelist.records[G];J.f_name=H.name;J.f_origin=H.origin;J.f_supplier=H.supplier;J.f_amount=0;J["[_cost"]=H.cost;J.f_type=H.type;J.f_yield=H.yield;J.f_color=H.color;J.f_coarse_fine_diff=H.coarse_fine_diff;J.f_moisture=H.moisture;J.f_diastatic_power=H.diastatic_power;J.f_protein=H.protein;J.f_max_in_batch=H.max_in_batch;J.f_graintype=H.graintype;if(H.add_after_boil){J.f_added=2}else{if((H.type==1)||(H.type==4)){J.f_added=1}else{J.f_added=0}}J.f_dissolved_protein=H.dissolved_protein;J.f_recommend_mash=H.recommend_mash;J.f_add_after_boil=H.add_after_boil;if(K==0){J.f_adjust_to_total_100=1;J.f_percentage=100}else{J.f_adjust_to_total_100=0;J.f_percentage=0}J.f_di_ph=H.di_ph;J.f_acid_to_ph_57=H.acid_to_ph_57;J.f_inventory=H.inventory;$("#fermentableGrid").jqxGrid("addrow",null,J)}});$("#finstockbutton").jqxCheckBox({theme:theme,height:27});$("#finstockbutton").on("change",function(G){fermentableinstock=G.args.checked;fermentablelist.dataBind()});$("#fdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150});$("#fdeleterowbutton").on("click",function(){var M,J,I,H,L,K,G=$("#fermentableGrid").jqxGrid("getselectedrowindex");K=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if(G>=0&&G<K){M=$("#fermentableGrid").jqxGrid("getrowid",G);J=$("#fermentableGrid").jqxGrid("getcellvalue",M,"f_percentage");I=$("#fermentableGrid").jqxGrid("getcellvalue",M,"f_amount");$("#fermentableGrid").jqxGrid("deleterow",M)}K=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if(K>1){if(h){for(H=0;H<K;H++){L=$("#fermentableGrid").jqxGrid("getrowdata",H);if(L.f_adjust_to_total_100){L.f_percentage+=J;L.f_amount+=I}}}else{calcPercentages()}}else{$("#fermentableGrid").jqxGrid("setcellvalue",0,"f_percentage",100)}calcFermentables();calcIBUs()})},ready:function(){calcFermentables();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Vergistbaar ingredi&euml;nt",datafield:"f_name",cellsrenderer:function(G,F,I,E,H,J){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+J.f_supplier+" / "+J.f_name+" ("+J.f_color+" EBC)</span>"}},{text:"Type",width:100,datafield:"f_type",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+FermentableTypeData[I].nl+"</span>"}},{text:"Moment",width:110,datafield:"f_added",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+AddedData[I].nl+"</span>"}},{text:"Maxinbatch",datafield:"f_max_in_batch",hidden:true},{text:"Opbrengst",editable:false,datafield:"f_yield",width:90,align:"right",cellsalign:"right",cellsformat:"p1"},{text:"Gewicht Kg",datafield:"f_amount",width:120,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"Voorr. Kg",datafield:"f_inventory",width:120,align:"right",cellsrenderer:function(I,G,H,E,K,J){var F="#ffffff";if(H<J.f_amount){F="#ff4040"}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+F+';">'+D.formatNumber(H,"f3")+"</span>"}},{text:"Procent",datafield:"f_percentage",width:90,align:"right",cellsrenderer:function(I,G,H,E,K,J){var F="#ffffff";if(H>J.f_max_in_batch){F="#ff4040"}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+F+';">'+D.formatNumber(H,"p1")+"</span>"}},{text:"100%",align:"center",datafield:"f_adjust_to_total_100",columntype:"checkbox",width:70},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(E){u=E;e=$("#fermentableGrid").jqxGrid("getrowdata",u);$("#wf_name").val(e.f_name);$("#wf_amount").val(e.f_amount);$("#wf_percentage").val(e.f_percentage);$("#wf_max_in_batch").val(e.f_max_in_batch);$("#wf_adjust_to_total_100").val(e.f_adjust_to_total_100);$("#wf_added").val(e.f_added);$("#popupFermentable").jqxWindow("open")}}]})};var A=function(B){var D={localdata:B.hops,datatype:"local",cache:false,async:false,datafields:[{name:"h_name",type:"string"},{name:"h_origin",type:"string"},{name:"h_amount",type:"float"},{name:"h_cost",type:"float"},{name:"h_type",type:"int"},{name:"h_form",type:"int"},{name:"h_useat",type:"int"},{name:"h_time",type:"float"},{name:"h_alpha",type:"float"},{name:"h_beta",type:"float"},{name:"h_hsi",type:"float"},{name:"h_humulene",type:"float"},{name:"h_caryophyllene",type:"float"},{name:"h_cohumulone",type:"float"},{name:"h_myrcene",type:"float"},{name:"h_total_oil",type:"float"},{name:"h_inventory",type:"float"},{name:"h_avail",type:"int"}],addrow:function(F,H,E,G){G(true)},deleterow:function(E,F){F(true)},updaterow:function(E,G,F){F(true)}},C=new $.jqx.dataAdapter(D);$("#hopGrid").jqxGrid({width:1240,height:560,source:C,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(F){var E=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');F.append(E);E.append('<div style="float: left; margin-left: 165px;" id="haddrowbutton"></div>');E.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');E.append('<div style="float: left; margin-left: 10px;" id="hinstockbutton"></div>');E.append('<input style="float: left; margin-left: 400px;" id="hdeleterowbutton" type="button" value="Verwijder hop" />');$("#haddrowbutton").jqxDropDownList({placeHolder:"Kies hop:",theme:theme,template:"primary",source:hoplist,displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(H,G,J){var I=hoplist.records[H];return I.origin+" / "+I.name+" ("+I.alpha+"% &alpha;)"}});$("#haddrowbutton").on("select",function(I){if(I.args){var H,J={},G=I.args.index;H=hoplist.records[G];J.h_name=H.name;J.h_origin=H.origin;J.h_amount=0;J.h_cost=H.cost;J.h_type=H.type;J.h_form=H.form;J.h_useat=2;J.h_time=0;J.h_alpha=H.alpha;J.h_beta=H.beta;J.h_hsi=H.hsi;J.h_humulene=H.humulene;J.h_caryophyllene=H.caryophyllene;J.h_cohumulone=H.cohumulone;J.h_myrcene=H.myrcene;J.h_total_oil=H.total_oil;J.h_inventory=H.inventory;$("#hopGrid").jqxGrid("addrow",null,J)}$("#haddrowbutton").jqxDropDownList("clearSelection")});$("#hinstockbutton").jqxCheckBox({theme:theme,height:27});$("#hinstockbutton").on("change",function(G){hopinstock=G.args.checked;hoplist.dataBind()});$("#hdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150});$("#hdeleterowbutton").on("click",function(){var I,H,G=$("#hopGrid").jqxGrid("getselectedrowindex");I=$("#hopGrid").jqxGrid("getdatainformation").rowscount;if(G>=0&&G<I){H=$("#hopGrid").jqxGrid("getrowid",G);$("#hopGrid").jqxGrid("deleterow",H)}calcIBUs()})},ready:function(){calcIBUs();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Hop",datafield:"h_name",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+J.h_origin+" / "+J.h_name+"</span>"}},{text:"Type",width:90,datafield:"h_type",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+HopTypeData[I].nl+"</span>"}},{text:"Vorm",width:90,datafield:"h_form",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+HopFormData[I].nl+"</span>"}},{text:"Alpha",datafield:"h_alpha",width:80,align:"right",cellsalign:"right",cellsformat:"p1"},{text:"Gebruik",width:110,datafield:"h_useat",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+HopUseData[I].nl+"</span>"}},{text:"Tijdsduur",datafield:"h_time",width:90,align:"right",cellsrenderer:function(F,E,I,H,G,K){var J="";if((K.h_useat==2)||(K.h_useat==4)){J=y.formatNumber(I,"f0")+" min."}else{if(K.h_useat==5){J=y.formatNumber(I/1440,"f0")+" dagen"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+J+"</span>"}},{text:"IBU",datafield:"ibu",width:80,align:"right",cellsrenderer:function(F,E,I,H,G,K){var J=toIBU(K.h_useat,K.h_form,preboil_sg,parseFloat($("#batch_size").jqxNumberInput("decimal")),parseFloat(K.h_amount),parseFloat(K.h_time),parseFloat(K.h_alpha),$("#ibu_method").val());return'<span style="margin: 4px; margin-top: 6px; float: right;">'+y.formatNumber(J,"f1")+"</span>"}},{text:"Gewicht",datafield:"h_amount",width:110,align:"right",cellsrenderer:function(F,E,J,I,H,K){var G=y.formatNumber(J,"f1")+" kg";if(J<1){G=y.formatNumber(J*1000,"f1")+" gr"}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+G+"</span>"}},{text:"Voorraad",datafield:"h_inventory",width:110,align:"right",cellsrenderer:function(G,F,K,J,I,L){var H,E="#ffffff";if(K<L.h_amount){E="#ff4040"}H=y.formatNumber(K,"f1")+" kg";if(K<1){H=y.formatNumber(K*1000,"f1")+" gr"}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+E+';">'+H+"</span>"}},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(E){o=E;t=$("#hopGrid").jqxGrid("getrowdata",o);$("#wh_name").val(t.h_name);$("#wh_amount").val(t.h_amount*1000);var F=toIBU(t.h_useat,t.h_form,preboil_sg,parseFloat($("#batch_size").jqxNumberInput("decimal")),parseFloat(t.h_amount),parseFloat(t.h_time),parseFloat(t.h_alpha),$("#ibu_method").val());$("#wh_ibu").val(F);if(t.h_useat==5){$("#wh_time").val(t.h_time/1440)}else{$("#wh_time").val(t.h_time)}$("#wh_useat").val(t.h_useat);$("#popupHop").jqxWindow("open")}}]})};var b=function(D){var C={localdata:D.miscs,datatype:"local",cache:false,async:false,datafields:[{name:"m_name",type:"string"},{name:"m_amount",type:"float"},{name:"m_cost",type:"float"},{name:"m_type",type:"int"},{name:"m_use_use",type:"int"},{name:"m_time",type:"float"},{name:"m_amount_is_weight",type:"int"},{name:"m_inventory",type:"float"},{name:"m_avail",type:"int"}],addrow:function(F,H,E,G){G(true)},deleterow:function(E,F){F(true)},updaterow:function(E,G,F){F(true)}},B=new $.jqx.dataAdapter(C,{beforeLoadComplete:function(E){var F,H,G=new Array();for(F=0;F<E.length;F++){H=E[F];G.push(H);switch(H.m_name){case"CaCl2":$("#wa_cacl2").val(H.m_amount*1000);break;case"CaSO4":$("#wa_caso4").val(H.m_amount*1000);break;case"MgSO4":$("#wa_mgso4").val(H.m_amount*1000);break;case"NaCl":$("#wa_nacl").val(H.m_amount*1000);break;case"Melkzuur":$("#wa_acid_name").val(0);$("#wa_acid").val(H.m_amount*1000);$("#wa_acid_perc").val(80);last_acid="Melkzuur";break;case"Zoutzuur":$("#wa_acid_name").val(1);$("#wa_acid").val(H.m_amount*1000);$("#wa_acid_perc").val(80);last_acid="Zoutzuur";break;case"Fosforzuur":$("#wa_acid_name").val(2);$("#wa_acid").val(H.m_amount*1000);$("#wa_acid_perc").val(80);last_acid="Fosforzuur";break;case"Zwavelzuur":$("#wa_acid_name").val(3);$("#wa_acid").val(H.m_amount*1000);$("#wa_acid_perc").val(80);last_acid="Zwavelzuur";break;case"NaHCO3":$("#wa_base_name").val(0);$("#wa_base").val(H.m_amount*1000);last_base="NaHCO3";break;case"Na2CO3":$("#wa_base_name").val(1);$("#wa_base").val(H.m_amount*1000);last_base="Na2CO3";break;case"CaCO3":$("#wa_base_name").val(2);$("#wa_base").val(H.m_amount*1000);last_base="CaCO3";break;case"Ca(OH)2":$("#wa_base_name").val(3);$("#wa_base").val(H.m_amount*1000);last_base="Ca(OH)2";break}}return G},loadError:function(G,E,F){}});$("#miscGrid").jqxGrid({width:1240,height:575,source:B,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(F){var E=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');F.append(E);E.append('<div style="float: left; margin-left: 165px;" id="maddrowbutton"></div>');E.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');E.append('<div style="float: left; margin-left: 10px;" id="minstockbutton"></div>');E.append('<input style="float: left; margin-left: 400px;" id="mdeleterowbutton" type="button" value="Verwijder ingredi&euml;nt" />');$("#maddrowbutton").jqxDropDownList({placeHolder:"Kies ingredi&euml;nt:",theme:theme,template:"primary",source:misclist,displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500});$("#maddrowbutton").on("select",function(I){if(I.args){var H,J={},G=I.args.index;H=misclist.records[G];J.m_name=H.name;J.m_amount=0;J.m_cost=H.cost;J.m_type=H.type;J.m_use_use=H.use_use;J.m_time=0;J.m_amount_is_weight=H.amount_is_weight;J.m_inventory=H.inventory;$("#miscGrid").jqxGrid("addrow",null,J)}});$("#minstockbutton").jqxCheckBox({theme:theme,height:27});$("#minstockbutton").on("change",function(G){miscinstock=G.args.checked;misclist.dataBind()});$("#mdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150});$("#mdeleterowbutton").on("click",function(){var J,H,I,G=$("#miscGrid").jqxGrid("getselectedrowindex");J=$("#miscGrid").jqxGrid("getdatainformation").rowscount;H=$("#miscGrid").jqxGrid("getcellvalue",G,"m_type");if(G>=0&&G<J&&H!=4){I=$("#miscGrid").jqxGrid("getrowid",G);$("#miscGrid").jqxGrid("deleterow",I)}})},ready:function(){$("#jqxTabs").jqxTabs("next")},columns:[{text:"Ingredient",datafield:"m_name"},{text:"Type",width:140,datafield:"m_type",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+MiscTypeData[I].nl+"</span>"}},{text:"Gebruik",width:140,datafield:"m_use_use",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 3px; margin-top: 6px; float: left;">'+MiscUseData[I].nl+"</span>"}},{text:"Tijd",datafield:"m_time",width:90,align:"right",cellsrenderer:function(F,E,I,H,G,K){var J="";if(K.m_use_use==2){J=y.formatNumber(I,"f0")+" min."}else{if((K.m_use_use==3)||(K.m_use_use==4)){J=y.formatNumber(I/1440,"f0")+" dagen"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+J+"</span>"}},{text:"Hoeveel",datafield:"m_amount",width:110,align:"right",cellsrenderer:function(F,E,J,H,G,K){var I=K.m_amount_is_weight?"gr":"ml";return'<span style="margin: 4px; margin-top: 6px; float: right;">'+y.formatNumber(J*1000,"f2")+" "+I+"</span>"}},{text:"Voorraad",datafield:"m_inventory",width:110,align:"right",cellsrenderer:function(I,E,J,L,F,M){var H,G="#ffffff",K=M.m_amount_is_weight?"gr":"ml";if(J<M.m_amount){G="#ff4040"}H=y.formatNumber(J*1000,"f2")+" "+K;return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+G+';">'+H+"</span>"},},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(E){q=E;p=$("#miscGrid").jqxGrid("getrowdata",q);if(p.m_type==4){alert("Brouwzouten wijzigen in de water tab.")}else{if(p.m_amount_is_weight){$("#wm_pmpt_amount").html("Gewicht gram:")}else{$("#wm_pmpt_amount").html("Volume ml:")}$("#wm_name").val(p.m_name);$("#wm_amount").val(p.m_amount*1000);if((p.m_use_use==3)||(p.m_use_use==4)){$("#wm_time").val(p.m_time/1440)}else{$("#wm_time").val(p.m_time)}$("#wm_use_use").val(p.m_use_use);$("#popupMisc").jqxWindow("open")}}}]})};var w=function(C){var B={localdata:C.yeasts,datatype:"local",cache:false,async:false,datafields:[{name:"y_name",type:"string"},{name:"y_laboratory",type:"string"},{name:"y_product_id",type:"string"},{name:"y_amount",type:"float"},{name:"y_cost",type:"float"},{name:"y_type",type:"int"},{name:"y_form",type:"int"},{name:"y_flocculation",type:"int"},{name:"y_min_temperature",type:"float"},{name:"y_max_temperature",type:"float"},{name:"y_attenuation",type:"float"},{name:"y_use",type:"int"},{name:"y_cells",type:"float"},{name:"y_tolerance",type:"float"},{name:"y_inventory",type:"float"},{name:"y_avail",type:"int"}],addrow:function(F,H,E,G){G(true)},deleterow:function(E,F){F(true)},updaterow:function(E,G,F){F(true)}},D=new $.jqx.dataAdapter(B);$("#yeastGrid").jqxGrid({width:1240,height:350,source:D,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(F){var E=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');F.append(E);E.append('<div style="float: left; margin-left: 165px;" id="yaddrowbutton"></div>');E.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');E.append('<div style="float: left; margin-left: 10px;" id="yinstockbutton"></div>');E.append('<input style="float: left; margin-left: 400px;" id="ydeleterowbutton" type="button" value="Verwijder gist" />');$("#yaddrowbutton").jqxDropDownList({placeHolder:"Kies gist:",theme:theme,source:yeastlist,template:"primary",displayMember:"name",width:150,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(H,G,J){var I=yeastlist.records[H];return I.laboratory+" "+I.product_id+" "+I.name}});$("#yaddrowbutton").on("select",function(I){if(I.args){var H,J={},G=I.args.index;H=yeastlist.records[G];J.y_name=H.name;J.y_laboratory=H.laboratory;J.y_product_id=H.product_id;J.y_type=H.type;J.y_form=H.form;J.y_amount=0;J.y_cost=H.cost;J.y_use=0;J.y_min_temperature=H.min_temperature;J.y_max_temperature=H.max_temperature;J.y_attenuation=H.attenuation;J.y_flocculation=H.flocculation;J.y_cells=H.cells;J.y_tolerance=H.tolerance;J.y_inventory=H.inventory;$("#yeastGrid").jqxGrid("addrow",null,J)}$("#yaddrowbutton").jqxDropDownList("clearSelection")});$("#yinstockbutton").jqxCheckBox({theme:theme,height:27,disabled:(dataRecord.stage>3)});$("#yinstockbutton").on("change",function(G){yeastinstock=G.args.checked;yeastlist.dataBind()});$("#ydeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150,disabled:(dataRecord.stage>3)});$("#ydeleterowbutton").on("click",function(){var I,H,G=$("#yeastGrid").jqxGrid("getselectedrowindex");H=$("#yeastGrid").jqxGrid("getdatainformation").rowscount;if(G>=0&&G<H){I=$("#yeastGrid").jqxGrid("getrowid",G);$("#yeastGrid").jqxGrid("deleterow",I)}})},ready:function(){calcFermentables();$("#jqxTabs").jqxTabs("next")},columns:[{text:"Gist",datafield:"y_name"},{text:"Laboratorium",width:150,datafield:"y_laboratory"},{text:"Code",width:90,datafield:"y_product_id"},{text:"Soort",width:100,datafield:"y_form",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+YeastFormData[I].nl+"</span>"}},{text:"Min. &deg;C",width:70,align:"right",cellsalign:"right",datafield:"y_min_temperature"},{text:"Max. &deg;C",width:70,align:"right",cellsalign:"right",datafield:"y_max_temperature"},{text:"Tol. %",width:60,align:"right",cellsalign:"right",datafield:"y_tolerance",cellsrenderer:function(G,F,K,J,I,L){var H="",E="#ffffff";if(K>0){H=y.formatNumber(K,"f1");if(dataRecord.est_abv>K){E="#ff4040"}}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+E+';">'+H+"</span>"}},{text:"Attn. %",width:70,align:"right",cellsalign:"right",datafield:"y_attenuation",cellsformat:"f1"},{text:"Voor",width:120,datafield:"y_use",cellsrenderer:function(F,E,I,H,G,J){return'<span style="margin: 4px; margin-top: 6px; float: left;">'+YeastUseData[I].nl+"</span>"}},{text:"Hoeveel",datafield:"y_amount",width:90,align:"right",cellsrenderer:function(F,E,J,I,H,K){var G=y.formatNumber(J*1000,"f0")+" ml";if(K.y_form==0){G=y.formatNumber(J,"f0")+" pk"}else{if(K.y_form==1){G=y.formatNumber(J*1000,"f1")+" gr"}}return'<span style="margin: 4px; margin-top: 6px; float: right;">'+G+"</span>"}},{text:"Voorraad",datafield:"y_inventory",width:90,align:"right",cellsrenderer:function(G,F,K,J,I,L){var E,H;E="#ffffff";if(K<L.y_amount){E="#ff4040"}H=y.formatNumber(K*1000,"f0")+" ml";if(L.y_form==0){H=y.formatNumber(K,"f0")+" pk"}else{if(L.y_form==1){H=y.formatNumber(K*1000,"f1")+" gr"}}return'<span style="margin: 4px; margin-top: 6px; float: right; color: '+E+';">'+H+"</span>"}},{text:"",datafield:"Edit",columntype:"button",width:90,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(E){c=E;g=$("#yeastGrid").jqxGrid("getrowdata",c);if(g.y_form==0){$("#wy_pmpt_amount").html("Pak(ken):");$("#wy_amount").val(g.y_amount);$("#wy_amount").jqxNumberInput({decimalDigits:0})}else{if(g.y_form==1){$("#wy_pmpt_amount").html("Gewicht gram:");$("#wy_amount").val(g.y_amount*1000);$("#wy_amount").jqxNumberInput({decimalDigits:1})}else{$("#wy_pmpt_amount").html("Volume ml:");$("#wy_amount").val(g.y_amount*1000);$("#wy_amount").jqxNumberInput({decimalDigits:0})}}$("#wy_name").val(g.y_name);$("#wy_laboratory").val(g.y_laboratory);$("#wy_product_id").val(g.y_product_id);$("#wy_use").val(g.y_use);$("#popupYeast").jqxWindow("open")}}]})};var n=function(E){var D=function(){var F={};F.step_name="Stap 1";F.step_type=0;F.step_infuse_amount=15;F.step_temp=62;F.step_time=20;F.step_thickness=0;F.ramp_time=1;F.end_temp=62;return F};var C={localdata:E.mashs,datatype:"local",cache:false,async:false,datafields:[{name:"step_name",type:"string"},{name:"step_type",type:"int"},{name:"step_infuse_amount",type:"float"},{name:"step_temp",type:"float"},{name:"step_time",type:"float"},{name:"step_thickness",type:"float"},{name:"ramp_time",type:"float"},{name:"end_temp",type:"float"}],addrow:function(G,I,F,H){H(true)},deleterow:function(F,G){G(true)}},B=new $.jqx.dataAdapter(C,{beforeLoadComplete:function(F){mash_infuse=0;var I,G,H=new Array();for(G=0;G<F.length;G++){I=F[G];if(I.step_type==0){mash_infuse+=parseFloat(I.step_infuse_amount)}I.step_thickness=0;H.push(I)}},});$("#mashGrid").jqxGrid({width:1240,height:400,source:B,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(G){var F=$('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');G.append(F);F.append('<input style="float: left; margin-left: 165px;" id="saddrowbutton" type="button" value="Nieuwe stap" />');F.append('<input style="float: left; margin-left: 565px;" id="sdeleterowbutton" type="button" value="Verwijder stap" />');$("#saddrowbutton").jqxButton({template:"primary",theme:theme,height:27,width:150});$("#saddrowbutton").on("click",function(){var H=D();$("#mashGrid").jqxGrid("addrow",null,H)});$("#sdeleterowbutton").jqxButton({template:"danger",theme:theme,height:27,width:150});$("#sdeleterowbutton").on("click",function(){var J,I,H=$("#mashGrid").jqxGrid("getselectedrowindex");I=$("#mashGrid").jqxGrid("getdatainformation").rowscount;if(H>=0&&H<I){J=$("#mashGrid").jqxGrid("getrowid",H);$("#mashGrid").jqxGrid("deleterow",J)}})},ready:function(){calcFermentables();a();calcMash();$("#jqxLoader").jqxLoader("close");$("#jqxTabs").jqxTabs("first")},columns:[{text:"Stap naam",datafield:"step_name"},{text:"Stap type",datafield:"step_type",width:175,cellsrenderer:function(G,F,J,I,H,K){return'<div style="margin: 4px;">'+MashStepTypeData[J].nl+"</div>"}},{text:"Start &deg;C",datafield:"step_temp",width:90,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Eind &deg;C",datafield:"end_temp",width:90,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Rust min.",datafield:"step_time",width:90,align:"right",cellsalign:"right"},{text:"Stap min.",datafield:"ramp_time",width:90,align:"right",cellsalign:"right"},{text:"Infuse L.",datafield:"step_infuse_amount",width:90,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"L/Kg.",datafield:"step_thickness",width:90,align:"right",cellsalign:"right",cellsformat:"f2"},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(F){l=F;r=$("#mashGrid").jqxGrid("getrowdata",l);$("#wstep_name").val(r.step_name);$("#wstep_type").val(r.step_type);$("#wstep_infuse_amount").val(r.step_infuse_amount);$("#wstep_temp").val(r.step_temp);$("#wend_temp").val(r.end_temp);$("#wstep_time").val(r.step_time);$("#wramp_time").val(r.ramp_time);if(r.step_type==0){$("#wstep_infuse_amount").show();$("#wstep_pmpt").show()}else{$("#wstep_infuse_amount").hide();$("#wstep_pmpt").hide()}$("#popupMash").jqxWindow("open")}}]})};$("#jqxMenu").jqxMenu("destroy");console.log("record:"+my_record+"  return:"+my_return+"  theme:"+theme);$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Laden recept ...",theme:theme});function z(B,F){var G,D,H,E,C,K,J=false,I=$("#miscGrid").jqxGrid("getrows");if(F==0){for(E=0;E<I.length;E++){K=I[E];if(K.m_name==B){C=$("#miscGrid").jqxGrid("getrowid",E);$("#miscGrid").jqxGrid("deleterow",C)}}}else{for(E=0;E<I.length;E++){K=I[E];if(K.m_name==B){J=true;$("#miscGrid").jqxGrid("setcellvalue",E,"m_amount",F/1000);break}}if(!J){H=new $.jqx.dataAdapter(miscInvSource,{loadComplete:function(){D=H.records;for(E=0;E<D.length;E++){G=D[E];if(G.name==B){K={};K.m_name=G.name;K.m_amount=F/1000;K.m_cost=G.cost;K.m_type=G.type;K.m_use_use=G.use_use;K.m_time=0;K.m_amount_is_weight=G.amount_is_weight;K.m_inventory=G.inventory;K.m_avail=1;$("#miscGrid").jqxGrid("addrow",null,K)}}}});H.dataBind();return}}}function m(){console.log("calcWater()");var T=0,ai=0,J=0,U=0,K=0,af=0,L=0,ad=0,N=0,W=0,ao=0,am=0,aj=0,ah,X,P,E,D,B,O,G,F,Z,R,I,aa,S,ag,Y,Q,ab,an,ac,M,ak,V,al,H,ae,C;if(dataRecord.w1_name==""){return}if(dataRecord.w2_name!=""){T=dataRecord.w1_amount+dataRecord.w2_amount;ai=mix(dataRecord.w1_amount,dataRecord.w2_amount,dataRecord.w1_calcium,dataRecord.w2_calcium);J=mix(dataRecord.w1_amount,dataRecord.w2_amount,dataRecord.w1_magnesium,dataRecord.w2_magnesium);U=mix(dataRecord.w1_amount,dataRecord.w2_amount,dataRecord.w1_sodium,dataRecord.w2_sodium);L=mix(dataRecord.w1_amount,dataRecord.w2_amount,dataRecord.w1_chloride,dataRecord.w2_chloride);ad=mix(dataRecord.w1_amount,dataRecord.w2_amount,dataRecord.w1_sulfate,dataRecord.w2_sulfate);K=mix(dataRecord.w1_amount,dataRecord.w2_amount,dataRecord.w1_total_alkalinity,dataRecord.w2_total_alkalinity);N=-Math.log10(((Math.pow(10,-dataRecord.w1_ph)*dataRecord.w1_amount)+(Math.pow(10,-dataRecord.w2_ph)*dataRecord.w2_amount))/T)}else{T=dataRecord.w1_amount;ai=dataRecord.w1_calcium;J=dataRecord.w1_magnesium;U=dataRecord.w1_sodium;L=dataRecord.w1_chloride;ad=dataRecord.w1_sulfate;K=dataRecord.w1_total_alkalinity;N=dataRecord.w1_ph}$("#wg_amount").val(T);ak=ai;$("#wg_calcium").val(Math.round(ai*10)/10);$("#wg_magnesium").val(Math.round(J*10)/10);V=U;$("#wg_sodium").val(Math.round(U*10)/10);al=K;$("#wg_total_alkalinity").val(Math.round(K*10)/10);H=L;$("#wg_chloride").val(Math.round(L*10)/10);ae=ad;$("#wg_sulfate").val(Math.round(ad*10)/10);$("#wg_ph").val(Round(N,1));$("#wb_ph").val(Round(MashpH(),1));af=K*1.22;C=af;W=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*MMCa/MMCaCl2+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*MMCa/MMCaSO4;ai+=1000*W/T;W=parseFloat($("#wa_mgso4").jqxNumberInput("decimal"))*MMMg/MMMgSO4;J+=1000*W/T;W=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMNa/MMNaCl;U+=1000*W/T;W=parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*MMSO4/MMCaSO4+parseFloat($("#wa_mgso4").jqxNumberInput("decimal"))*MMSO4/MMMgSO4;ad+=1000*W/T;W=2*parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*MMCl/MMCaCl2+parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMCl/MMNaCl;L+=1000*W/T;if($("#wa_acid_name").val()<0||$("#wa_acid_name").val()>3){$("#wa_acid_name").val(0);dataRecord.wa_acid_name=0}if(last_acid==""){last_acid=AcidTypeData[$("#wa_acid_name").val()].nl}if($("#wa_base_name").val()<0||$("#wa_base_name").val()>3){$("#wa_base_name").val(0);dataRecord.wa_base_name=0}if(last_base==""){last_base=BaseTypeData[$("#wa_base_name").val()].nl}ah=dataRecord.wa_acid_name;X=dataRecord.wa_base_name;P=GetAcidSpecs(ah);E=P.pK1;D=P.pK2;B=P.pK3;O=P.MolWt;G=P.AcidSG;F=P.AcidPrc;if(dataRecord.calc_acid){am=parseFloat(dataRecord.mash_ph);aj=ProtonDeficit(am);console.log("calc_acid tgt: "+am+" protonDeficit: "+aj);if(aj>0){$("#wa_base").val(0);z(last_base,0);ao=CalcFrac(am,E,D,B);Acid=aj/ao;Acid*=O;Acidmg=Acid;Acid=Acid/G;if(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))==0){$("#wa_acid_perc").val(F)}Acid=Acid*F/(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))/100);console.log("Final ml: "+Acid);$("#wa_acid").val(Math.round(Acid*100)/100);z(AcidTypeData[ah].nl,Math.round(Acid*100)/100);af=af-aj*ao/T;K=af*50/61}else{if(aj<0){$("#wa_acid").val(0);z(last_acid,0);Z=Math.pow(10,(am-6.38));R=Math.pow(10,(am-10.38));I=1/(1+Z+Z*R);aa=I*Z;S=aa*R;switch(X){case 0:W=-aj/(I-S);W=W*MMNaHCO3/1000;$("#wa_base").val(Round(W,2));z("NaHCO3",Round(W,2));if(T>0){W=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMNa/MMNaCl+parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMNa/MMNaHCO3;W=1000*W/T;U=V+W;W=parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMHCO3/MMNaHCO3;W=1000*W/T;af=C+W;K=af*50/61;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium)}break;case 1:W=-aj/(2*I+aa);W=W*MMNa2CO3/1000;$("#wa_base").val(Round(W,2));z("Na2CO3",Round(W,2));if(T>0){W=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMNa/MMNaCl+parseFloat($("#wa_base").jqxNumberInput("decimal"))*2*MMNa/MMNa2CO3;W=1000*W/T;U=V+W;W=parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMHCO3/MMNa2CO3;W=1000*W/T;af=C+W;K=af*50/61;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium)}break;case 2:W=-aj*(I-S);W=W*MMCaCO3/1000;W=3*W;$("#wa_base").val(Round(W,2));z("CaCO3",Round(W,2));if(T>0){W=parseFloat($("#wa_base").jqxNumberInput("decimal"))/3*MMHCO3/MMCaCO3;W=1000*W/T;af=C+W;K=af*50/61;W=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*MMCa/MMCaCl2+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*MMCa/MMCaSO4+parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMCa/MMCaCO3;W=1000*W/T;ai=ak+W;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium)}break;case 3:W=-aj/19.3;$("#wa_base").val(Round(W,2));z("Ca(OH)2",Round(W,2));if(T>0){W=-aj/T;K=al+W;af=K*61/50;W=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*MMCa/MMCaCl2+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*MMCa/MMCaSO4+parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMCa/MMCaOH2;W=1000*W/T;ai=ak+W;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium)}break}}}N=am;$("#wb_ph").val(Math.round(N*10)/10)}else{console.log("calc_acid no");if(parseFloat($("#wa_base").jqxNumberInput("decimal"))>0){if(T>0){switch(X){case 0:W=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMNa/MMNaCl+parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMNa/MMNaHCO3;W=1000*W/T;U=V+W;W=parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMHCO3/MMNaHCO3;W=1000*W/T;af=C+W;K=af*50/61;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium);break;case 1:W=parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMNa/MMNaCl+parseFloat($("#wa_base").jqxNumberInput("decimal"))*2*MMNa/MMNa2CO3;W=1000*W/T;U=V+W;W=parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMHCO3/MMNa2CO3;W=1000*W/T;af=C+W;K=af*50/61;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium);break;case 2:W=parseFloat($("#wa_base").jqxNumberInput("decimal"))/3*MMHCO3/MMCaCO3;W=1000*W/T;af=C+W;K=af*50/61;W=ResidualAlkalinity(wb_total_alkalinity,wb_calcium,wb_magnesium);W=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*MMCa/MMCaCl2+parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*MMCa/MMCaSO4+parseFloat($("#wa_base").jqxNumberInput("decimal"))*MMCa/MMCaCO3;W=1000*W/T;ai=ak+W;break}}}am=parseFloat(dataRecord.mash_ph);pHa=MashpH();if(parseFloat($("#wa_acid").jqxNumberInput("decimal"))>0){console.log("TpH: "+am+" water: "+pHa);Acid=parseFloat($("#wa_acid").jqxNumberInput("decimal"));if(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))==0){$("#wa_acid_perc").val(F)}Acid=Acid/F*(parseFloat($("#wa_acid_perc").jqxNumberInput("decimal"))/100);Acid*=G;Acid/=O;Acidmg=Acid;ao=CalcFrac(pHa,E,D,B);aj=Acid*ao;ag=0.001;Y=0.1;Q=ProtonDeficit(pHa);ab=0;while(((Q<(aj-Y))||(Q>(aj+Y)))&&(ab<2000)){ab++;if(Q<(aj-Y)){pHa-=ag}else{if(Q>(aj+Y)){pHa+=ag}}ao=CalcFrac(pHa,E,D,B);aj=Acid*ao;Q=ProtonDeficit(pHa)}console.log("n: "+ab+" pd: "+Q+" protonDeficit: "+aj+" frac: "+ao+" pHa: "+pHa);W=C-aj*ao/T;af=W;K=W*50/61;N=pHa;$("#wb_ph").val(Round(N,1))}}if((ah==3)&&(T>0)){W=parseFloat($("#wa_caso4").jqxNumberInput("decimal"))*MMSO4/MMCaSO4+parseFloat($("#wa_mgso4").jqxNumberInput("decimal"))*MMSO4/MMMgSO4+Acidmg/1000*MMSO4/(MMSO4+2);W=1000*W/T;ad=ae+W}else{if((ah==1)&&(T>0)){W=parseFloat($("#wa_cacl2").jqxNumberInput("decimal"))*MMCl/MMCaCl2+parseFloat($("#wa_nacl").jqxNumberInput("decimal"))*MMCl/MMNaCl+Acidmg/1000*MMCl/(MMCl+1);W=1000*W/T;L=H+W}}$("#tgt_bu").val(Math.round(GetBUGU()*100)/100);if(GetBUGU()<0.32){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig en zoet</span>")}else{if(GetBUGU()<0.43){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig, zoet</span>")}else{if(GetBUGU()<0.52){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>")}else{if(GetBUGU()<0.63){$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht hoppig, bitter</span>")}else{$("#wr_bu").html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Extra hoppig, zeer bitter</span>")}}}}$("#tgt_cl_so4").val(Math.round(GetOptClSO4ratio()*10)/10);if(ad>0){W=L/ad}else{W=10}$("#got_cl_so4").val(Math.round(W*10)/10);an=0.8*GetOptClSO4ratio();ac=1.2*GetOptClSO4ratio();M="normaal";if(W<an){M="laag"}else{if(W>ac){M="hoog"}}setRangeIndicator("cl_so4",M);$("#wb_calcium").val(Round(ai,1));$("#wb_magnesium").val(Round(J,1));$("#wb_sodium").val(Round(U,1));$("#wb_sulfate").val(Round(ad,1));$("#wb_chloride").val(Round(L,1));$("#wb_total_alkalinity").val(Round(K,1));if(ai<40){setRangeIndicator("calcium","laag")}else{if(ai>150){setRangeIndicator("calcium","hoog")}else{setRangeIndicator("calcium","normaal")}}if(J>=0&&J<=30){setRangeIndicator("magnesium","normaal")}else{setRangeIndicator("magnesium","hoog")}if(U<=150){setRangeIndicator("sodium","normaal")}else{setRangeIndicator("sodium","hoog")}if(L<=50){setRangeIndicator("chloride","laag")}else{if(L<=100){setRangeIndicator("chloride","normaal")}else{setRangeIndicator("chloride","hoog")}}if(ad<=50){setRangeIndicator("sulfate","laag")}else{if(ad<=350){setRangeIndicator("sulfate","normaal")}else{setRangeIndicator("sulfate","hoog")}}if(N<5.2){setRangeIndicator("ph","laag")}else{if(N>5.6){setRangeIndicator("ph","hoog")}else{setRangeIndicator("ph","normaal")}}v()}function v(){var E,Q,O,W,V,Z,T,S,U,H,ae,ac,C,G,J,P,aa,Y,ab,R,D,I,N,M,L,K,ad,F,B,X;E=dataRecord.sparge_ph;Q=dataRecord.w1_ph;O=dataRecord.w1_total_alkalinity;if(dataRecord.sparge_source==1){if(dataRecord.w2_ph>0){Q=dataRecord.w2_ph;O=dataRecord.w2_total_alkalinity}else{dataRecord.sparge_source=0;$("#sparge_source").val(0)}}else{if(dataRecord.sparge_source==2){if(dataRecord.w2_ph>0){Q=parseFloat($("#wg_ph").jqxNumberInput("decimal"));O=parseFloat($("#wg_total_alkalinity").jqxNumberInput("decimal"))}else{dataRecord.sparge_source=0;$("#sparge_source").val(0)}}}W=Math.pow(10,Q-6.38);V=Math.pow(10,Q-10.373);Z=1+W+W*V;T=1/Z;S=W*V/Z;U=Math.pow(10,4.3-6.38);H=Math.pow(10,4.3-10.373);ae=1+U+U*H;ac=1/ae;C=U*H/ae;G=O/50;J=(G-1000*(Math.pow(10,-4.3)-Math.pow(10,-Q)))/((ac-T)+(S-C));P=Math.pow(10,E-6.38);aa=Math.pow(10,E-10.373);Y=1+P+P*aa;ab=1/Y;R=P*aa/Y;D=J*((ab-T)+(S-R))+Math.pow(10,-E)-Math.pow(10,-Q);D+=0.01;if(dataRecord.sparge_acid_type<0||dataRecord.sparge_acid_type>3){dataRecord.sparge_acid_type=0;$("#sparge_acid_type").val(0)}I=dataRecord.sparge_acid_type;N=GetAcidSpecs(I);M=N.pK1;L=N.pK2;K=N.pK3;ad=N.MolWt;F=N.AcidSG;B=N.AcidPrc;X=CalcFrac(E,M,L,K);D/=X;D*=ad;D=D/F;T=dataRecord.sparge_acid_perc;if(T<=0.1){T=B}D=D*B/(T/100);D*=dataRecord.sparge_volume;D=Round(D,2);dataRecord.sparge_acid_amount=D/1000;$("#sparge_acid_amount").val(D)}function k(C){console.log("calcFermentablesFromOG("+C+")");var E,K,H,D,J,G=0,F=0,I,B=parseFloat($("#efficiency").jqxNumberInput("decimal"));J=sg_to_plato(C)*parseFloat($("#batch_size").jqxNumberInput("decimal"))*C/100;I=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;for(D=0;D<I;D++){K=$("#fermentableGrid").jqxGrid("getrowdata",D);if(K.f_added<4){H=K.f_percentage/100*(K.f_yield/100)*(1-K.f_moisture/100);if(K.f_added==0){H=B/100*H}G+=H}}if(G){F=Math.round((J/G)*1000)/1000}if(F){for(D=0;D<I;D++){K=$("#fermentableGrid").jqxGrid("getrowdata",D);if(K.f_added<4){E=Math.round(K.f_percentage*10*F)/1000;$("#fermentableGrid").jqxGrid("setcellvalue",D,"f_amount",E)}}}}function a(){console.log("calc.init()");$("#calc_acid").on("checked",function(B){dataRecord.calc_acid=1;m()});$("#calc_acid").on("unchecked",function(B){dataRecord.calc_acid=0;m()});$("#w1_name").jqxDropDownList("selectItem",dataRecord.w1_name);$("#w2_name").jqxDropDownList("selectItem",dataRecord.w2_name);if(parseFloat($("#w1_amount").jqxNumberInput("decimal"))==0&&mash_infuse>0){$("#w1_amount").val(mash_infuse);dataRecord.w1_amount=mash_infuse;$("#wg_amount").val(mash_infuse);$("#w2_amount").val(0);dataRecord.w2_amount=0}m();$("#w2_amount").on("change",function(B){var C=parseFloat(B.args.value);if(C>mash_infuse){$("#w2_amount").val(dataRecord.w2_amount);return}dataRecord.w1_amount=parseFloat($("#wg_amount").jqxNumberInput("decimal"))-C;$("#w1_amount").val(dataRecord.w1_amount);dataRecord.w2_amount=C;console.log("new: "+B.args.value+" w1: "+dataRecord.w1_amount+"  w2: "+dataRecord.w2_amount);m()});$("#wa_cacl2").on("change",function(B){if(B.args){z("CaCl2",0);z("CaCl2",B.args.value);m()}});$("#wa_caso4").on("change",function(B){if(B.args){z("CaSO4",0);z("CaSO4",B.args.value);m()}});$("#wa_mgso4").on("change",function(B){if(B.args){z("MgSO4",0);z("MgSO4",B.args.value);m()}});$("#wa_nacl").on("change",function(B){if(B.args){z("NaCl",0);z("NaCl",B.args.value);m()}});$("#wa_base_name").on("change",function(C){if(C.args){var B=C.args.index;z(last_base,0);last_base=BaseTypeData[B].nl;z(last_base,parseFloat($("#wa_base").jqxNumberInput("decimal")));dataRecord.wa_base_name=B;m()}});$("#wa_base").on("change",function(C){var B=BaseTypeData[$("#wa_base_name").val()].nl;z(B,parseFloat(C.args.value));m()});$("#wa_acid_name").on("change",function(C){if(C.args){var B=C.args.index;z(last_acid,0);last_acid=AcidTypeData[B].nl;z(last_acid,parseFloat($("#wa_acid").jqxNumberInput("decimal")));dataRecord.wa_acid_name=B;m()}});$("#wa_acid").on("change",function(C){var B=AcidTypeData[$("#wa_acid_name").val()].nl;z(B,parseFloat(C.args.value));m()});$("#wa_acid_perc").on("change",function(B){m()});$("#color_method").on("change",function(B){dataRecord.color_method=B.args.index;calcFermentables()});$("#ibu_method").on("change",function(B){dataRecord.ibu_method=B.args.index;calcFermentables();calcIBUs()});$("#batch_size").on("change",function(D){console.log("batch_size change:"+D.args.value+" old:"+dataRecord.batch_size);var B,C=parseFloat(D.args.value)+dataRecord.boil_size-dataRecord.batch_size;B=parseFloat(D.args.value)/dataRecord.batch_size;dataRecord.boil_size=C;$("#boil_size").val(Round(C,2));dataRecord.sparge_volume*=B;$("#sparge_volume").val(dataRecord.sparge_volume);dataRecord.batch_size=parseFloat(D.args.value);k(parseFloat($("#est_og").jqxNumberInput("decimal")));adjustWaters(B);calcFermentables();adjustHops(B);adjustMiscs(B);adjustYeasts(B);calcIBUs();m();v();calcMash()});$("#boil_time").on("change",function(D){console.log("boil_time change:"+parseFloat(D.args.value)+" old:"+dataRecord.boil_time);var C,B,E=parseFloat(dataRecord.boil_size)-parseFloat(dataRecord.batch_size);B=E*(parseFloat(D.args.value)/dataRecord.boil_time);C=parseFloat(dataRecord.batch_size)+B;dataRecord.boil_time=parseFloat(D.args.value);dataRecord.boil_size=C;$("#boil_size").val(Round(C,2));calcFermentables();calcIBUs()});$("#efficiency").on("change",function(C){var B=parseFloat($("#est_og").jqxNumberInput("decimal"));dataRecord.efficiency=parseFloat(C.args.value);console.log("efficiency change:"+dataRecord.efficiency);k(B);calcFermentables();calcIBUs()});$("#est_og").on("change",function(B){dataRecord.est_og=parseFloat(B.args.value);console.log("est_og change:"+dataRecord.est_og);k(dataRecord.est_og);calcFermentables();calcIBUs();calcMash()});$("#mash_ph").on("change",function(B){dataRecord.mash_ph=parseFloat(B.args.value);m()});$("#sparge_ph").on("change",function(B){dataRecord.sparge_ph=parseFloat(B.args.value);v()});$("#sparge_volume").on("change",function(B){dataRecord.sparge_volume=parseFloat(B.args.value);v()});$("#sparge_source").on("change",function(C){if(C.args){var B=C.args.index;dataRecord.sparge_source=B;v()}});$("#sparge_acid_type").on("change",function(C){if(C.args){var B=C.args.index;dataRecord.sparge_acid_type=B;console.log("new sparge_acid_type: "+dataRecord.sparge_acid_type);v()}});$("#sparge_acid_perc").on("change",function(B){dataRecord.sparge_acid_perc=parseFloat(B.args.value);v()});$("#locked").on("checked",function(B){dataRecord.locked=1;setReadonly(true)});$("#locked").on("unchecked",function(B){dataRecord.locked=0;setReadonly(false)})}$("#styleSelect").jqxDropDownList({placeHolder:"Kies bierstijl:",theme:theme,source:styleslist,displayMember:"name",width:180,height:23,dropDownVerticalAlignment:"top",dropDownWidth:500,dropDownHeight:350,renderer:function(C,B,E){var D=styleslist.records[C];return D.style_guide+" "+D.style_letter+" "+D.name}});$("#styleSelect").on("select",function(D){if(D.args){var C,B=D.args.index;C=styleslist.records[B];$("#st_name").val(C.name);$("#st_category").val(C.category);$("#st_category_number").val(C.category_number);$("#st_letter").val(C.style_letter);$("#st_guide").val(C.style_guide);$("#st_type").val(StyleTypeData[C.type].nl);$("#st_og_min").val(C.og_min);$("#st_og_max").val(C.og_max);$("#st_fg_min").val(C.fg_min);$("#st_fg_max").val(C.fg_max);$("#st_ibu_min").val(C.ibu_min);$("#st_ibu_max").val(C.ibu_max);$("#st_color_min").val(C.color_min);$("#st_color_max").val(C.color_max);$("#st_carb_min").val(C.carb_min);$("#st_carb_max").val(C.carb_max);$("#st_abv_min").val(C.abv_min);$("#st_abv_max").val(C.abv_max)}});function d(B){var D={record:my_record,uuid:dataRecord.uuid,name:$("#name").val(),locked:dataRecord.locked,notes:$("#notes").val(),st_name:$("#st_name").val(),st_letter:$("#st_letter").val(),st_guide:$("#st_guide").val(),st_type:dataRecord.st_type,st_category:$("#st_category").val(),st_category_number:parseFloat($("#st_category_number").jqxNumberInput("decimal")),st_og_min:parseFloat($("#st_og_min").jqxNumberInput("decimal")),st_og_max:parseFloat($("#st_og_max").jqxNumberInput("decimal")),st_fg_min:parseFloat($("#st_fg_min").jqxNumberInput("decimal")),st_fg_max:parseFloat($("#st_fg_max").jqxNumberInput("decimal")),st_ibu_min:parseFloat($("#st_ibu_min").jqxNumberInput("decimal")),st_ibu_max:parseFloat($("#st_ibu_max").jqxNumberInput("decimal")),st_color_min:parseFloat($("#st_color_min").jqxNumberInput("decimal")),st_color_max:parseFloat($("#st_color_max").jqxNumberInput("decimal")),st_carb_min:parseFloat($("#st_carb_min").jqxNumberInput("decimal")),st_carb_max:parseFloat($("#st_carb_max").jqxNumberInput("decimal")),st_abv_min:parseFloat($("#st_abv_min").jqxNumberInput("decimal")),st_abv_max:parseFloat($("#st_abv_max").jqxNumberInput("decimal")),type:$("#type").val(),batch_size:parseFloat($("#batch_size").jqxNumberInput("decimal")),boil_size:parseFloat($("#boil_size").jqxNumberInput("decimal")),boil_time:parseFloat($("#boil_time").jqxNumberInput("decimal")),efficiency:parseFloat($("#efficiency").jqxNumberInput("decimal")),est_og:parseFloat($("#est_og").jqxNumberInput("decimal")),est_fg:parseFloat($("#est_fg").jqxNumberInput("decimal")),est_abv:parseFloat($("#est_abv").jqxNumberInput("decimal")),est_color:parseFloat($("#est_color").jqxNumberInput("decimal")),color_method:$("#color_method").val(),est_ibu:parseFloat($("#est_ibu").jqxNumberInput("decimal")),ibu_method:$("#ibu_method").val(),est_carb:parseFloat($("#est_carb").jqxNumberInput("decimal")),mash_name:$("#mash_name").val(),mash_ph:parseFloat($("#mash_ph").jqxNumberInput("decimal")),sparge_temp:parseFloat($("#sparge_temp").jqxNumberInput("decimal")),sparge_ph:parseFloat($("#sparge_ph").jqxNumberInput("decimal")),sparge_volume:parseFloat($("#sparge_volume").jqxNumberInput("decimal")),sparge_source:$("#sparge_source").val(),sparge_acid_type:$("#sparge_acid_type").val(),sparge_acid_perc:parseFloat($("#sparge_acid_perc").jqxNumberInput("decimal")),sparge_acid_amount:dataRecord.sparge_acid_amount,calc_acid:dataRecord.calc_acid,w1_name:$("#w1_name").val(),w1_amount:parseFloat($("#w1_amount").jqxNumberInput("decimal")),w1_calcium:parseFloat($("#w1_calcium").jqxNumberInput("decimal")),w1_sulfate:parseFloat($("#w1_sulfate").jqxNumberInput("decimal")),w1_chloride:parseFloat($("#w1_chloride").jqxNumberInput("decimal")),w1_sodium:parseFloat($("#w1_sodium").jqxNumberInput("decimal")),w1_magnesium:parseFloat($("#w1_magnesium").jqxNumberInput("decimal")),w1_total_alkalinity:parseFloat($("#w1_total_alkalinity").jqxNumberInput("decimal")),w1_ph:parseFloat($("#w1_ph").jqxNumberInput("decimal")),w1_cost:dataRecord.w1_cost,w2_name:$("#w2_name").val(),w2_amount:parseFloat($("#w2_amount").jqxNumberInput("decimal")),w2_calcium:parseFloat($("#w2_calcium").jqxNumberInput("decimal")),w2_sulfate:parseFloat($("#w2_sulfate").jqxNumberInput("decimal")),w2_chloride:parseFloat($("#w2_chloride").jqxNumberInput("decimal")),w2_sodium:parseFloat($("#w2_sodium").jqxNumberInput("decimal")),w2_magnesium:parseFloat($("#w2_magnesium").jqxNumberInput("decimal")),w2_total_alkalinity:parseFloat($("#w2_total_alkalinity").jqxNumberInput("decimal")),w2_ph:parseFloat($("#w2_ph").jqxNumberInput("decimal")),w2_cost:dataRecord.w2_cost,wg_amount:parseFloat($("#wg_amount").jqxNumberInput("decimal")),wg_calcium:parseFloat($("#wg_calcium").jqxNumberInput("decimal")),wg_sulfate:parseFloat($("#wg_sulfate").jqxNumberInput("decimal")),wg_chloride:parseFloat($("#wg_chloride").jqxNumberInput("decimal")),wg_sodium:parseFloat($("#wg_sodium").jqxNumberInput("decimal")),wg_magnesium:parseFloat($("#wg_magnesium").jqxNumberInput("decimal")),wg_total_alkalinity:parseFloat($("#wg_total_alkalinity").jqxNumberInput("decimal")),wg_ph:parseFloat($("#wg_ph").jqxNumberInput("decimal")),wb_calcium:parseFloat($("#wb_calcium").jqxNumberInput("decimal")),wb_sulfate:parseFloat($("#wb_sulfate").jqxNumberInput("decimal")),wb_chloride:parseFloat($("#wb_chloride").jqxNumberInput("decimal")),wb_sodium:parseFloat($("#wb_sodium").jqxNumberInput("decimal")),wb_magnesium:parseFloat($("#wb_magnesium").jqxNumberInput("decimal")),wb_total_alkalinity:parseFloat($("#wb_total_alkalinity").jqxNumberInput("decimal")),wb_ph:parseFloat($("#wb_ph").jqxNumberInput("decimal")),wa_acid_name:$("#wa_acid_name").val(),wa_acid_perc:parseFloat($("#wa_acid_perc").jqxNumberInput("decimal")),wa_base_name:$("#wa_base_name").val(),fermentables:$("#fermentableGrid").jqxGrid("getrows"),hops:$("#hopGrid").jqxGrid("getrows"),miscs:$("#miscGrid").jqxGrid("getrows"),yeasts:$("#yeastGrid").jqxGrid("getrows"),mashs:$("#mashGrid").jqxGrid("getrows")},C="update=true&"+$.param(D);$.ajax({dataType:"json",url:f,cache:false,async:false,data:C,type:"POST",success:function(F,E,G){console.log("saveRecord("+B+") success");if(B){window.location.href=my_return}else{window.location.href="rec_export.php?record="+my_record+"&return="+my_return+"&name="+dataRecord.name}},error:function(E,G,F){console.log("saveRecord() "+G)}})}y.dataBind();$("#name").jqxTooltip({content:"De naam voor dit recept."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#locked").jqxCheckBox({theme:theme,width:120,height:23});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit recept."});$("#notes").jqxInput({theme:theme,width:960,height:200});$("#type").jqxTooltip({content:"Het brouw type van dit recept."});$("#type").jqxDropDownList({theme:theme,source:RecipeTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#efficiency").jqxTooltip({content:"Het rendement van maischen en koken."});$("#efficiency").jqxNumberInput(Perc1dec);$("#batch_size").jqxTooltip({content:"Het volume van het gekoelde wort na het koken."});$("#batch_size").jqxNumberInput(Spin1dec);$("#batch_size").jqxNumberInput({min:4});$("#boil_size").jqxTooltip({content:"Het volume van het wort voor het koken."});$("#boil_size").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:2,readOnly:true});$("#boil_time").jqxTooltip({content:"De kooktijd in minuten."});$("#boil_time").jqxNumberInput(PosInt);$("#boil_time").jqxNumberInput({min:4,max:360});$("#st_name").jqxTooltip({content:"De bierstijl naam voor dit recept."});$("#st_name").jqxInput({theme:theme,width:250,height:23});$("#st_letter").jqxTooltip({content:"De bierstijl letter voor dit recept."});$("#st_letter").jqxInput({theme:theme,width:90,height:23});$("#st_guide").jqxTooltip({content:"De bierstijl gids voor dit recept."});$("#st_guide").jqxInput({theme:theme,width:250,height:23});$("#st_category").jqxTooltip({content:"De Amerikaanse bierstijl categorie."});$("#st_category").jqxInput({theme:theme,width:250,height:23});$("#st_category_number").jqxTooltip({content:"De Amerikaanse bierstijl categorie sub nummer."});$("#st_category_number").jqxNumberInput(Smal0dec);$("#st_type").jqxTooltip({content:"Het bierstijl type."});$("#st_type").jqxInput({theme:theme,width:250,height:23});$("#est_og").jqxTooltip({content:"Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend."});$("#est_og").jqxNumberInput(SGopts);$("#st_og_min").jqxTooltip({content:"Het minimum begin SG voor deze bierstijl."});$("#st_og_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_og_max").jqxTooltip({content:"Het maximum begin SG voor deze bierstijl."});$("#st_og_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#est_fg").jqxTooltip({content:"Het eind SG. Dit wordt automatisch berekend."});$("#est_fg").jqxNumberInput(Show3dec);$("#st_fg_min").jqxTooltip({content:"Het minimum eind SG voor deze bierstijl."});$("#st_fg_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_fg_max").jqxTooltip({content:"Het maximum eind SG voor deze bierstijl."});$("#st_fg_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#est_abv").jqxTooltip({content:"Alcohol volume %. Dit wordt automatisch berekend."});$("#est_abv").jqxNumberInput(Smal1dec);$("#st_abv_min").jqxTooltip({content:"Het minimum alcohol volume % voor deze bierstijl."});$("#st_abv_min").jqxNumberInput(Smal1dec);$("#st_abv_max").jqxTooltip({content:"Het maximum alcohol volume % voor deze bierstijl."});$("#st_abv_max").jqxNumberInput(Smal1dec);$("#est_color").jqxTooltip({content:"De kleur in EBC. Dit wordt automatisch berekend."});$("#est_color").jqxNumberInput(Show0dec);$("#st_color_min").jqxTooltip({content:"De minimum kleur voor deze bierstijl."});$("#st_color_min").jqxNumberInput(Smal0dec);$("#st_color_max").jqxTooltip({content:"De maximum kleur voor deze bierstijl."});$("#st_color_max").jqxNumberInput(Smal0dec);$("#color_method").jqxDropDownList({theme:theme,source:ColorMethodAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#est_ibu").jqxTooltip({content:"De bitterheid in IBU. Dit wordt automatisch berekend."});$("#est_ibu").jqxNumberInput(Show0dec);$("#st_ibu_min").jqxTooltip({content:"De minimum bitterheid voor deze bierstijl."});$("#st_ibu_min").jqxNumberInput(Smal0dec);$("#st_ibu_max").jqxTooltip({content:"De maximum bitterheid voor deze bierstijl."});$("#st_ibu_max").jqxNumberInput(Smal0dec);$("#ibu_method").jqxDropDownList({theme:theme,source:IBUmethodAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#kcal").jqxTooltip({content:"Energie-inhoud in kcal/liter."});$("#kcal").jqxNumberInput(Smal0dec);$("#est_carb").jqxTooltip({content:"Koolzuur volume. Dit wordt automatisch berekend."});$("#est_carb").jqxNumberInput(Smal1dec);$("#st_carb_min").jqxTooltip({content:"Het minimum koolzuur volume voor deze bierstijl."});$("#st_carb_min").jqxNumberInput(Smal1dec);$("#st_carb_max").jqxTooltip({content:"Het maximum koolzuur volume voor deze bierstijl."});$("#st_carb_max").jqxNumberInput(Smal1dec);$("#est_color2").jqxTooltip({content:"De kleur in EBC. Dit wordt automatisch berekend."});$("#est_color2").jqxNumberInput(Show0dec);$("#est_og2").jqxTooltip({content:"Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend."});$("#est_og2").jqxNumberInput(Show3dec);$("#perc_malts").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:120,animationDuration:0,colorRanges:[{stop:90,color:"#008C00"},{stop:100,color:"#EB7331"},{stop:120,color:"#FF0000"}],renderText:function(B){return(Math.round(parseInt(B)*1.2))+"%"}});$("#perc_sugars").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:50,animationDuration:0,colorRanges:[{stop:20,color:"#008C00"},{stop:50,color:"#FF0000"}],renderText:function(B){return(Math.round(parseInt(B)*5)/10)+"%"}});$("#perc_cara").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:50,animationDuration:0,colorRanges:[{stop:25,color:"#008C00"},{stop:50,color:"#FF0000"}],renderText:function(B){return(Math.round(parseInt(B)*5)/10)+"%"}});$("#ferm_lintner").jqxProgressBar({width:300,height:23,theme:theme,showText:true,max:200,animationDuration:0,colorRanges:[{stop:30,color:"#FF0000"},{stop:40,color:"#EB7331"},{stop:200,color:"#008C00"}],renderText:function(B){return(parseInt(B)*2)+" lintner"}});$("#popupFermentable").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#FermentableReady"),modalOpacity:0.4});$("#FermentableReady").jqxButton({template:"success",width:"90px",theme:theme});$("#FermentableReady").click(function(){var C,B=$("#fermentableGrid").jqxGrid("getrowid",u);console.log("FermentableReady row:"+u+" ID:"+B);C={f_name:e.f_name,f_origin:e.f_origin,f_supplier:e.f_supplier,f_amount:e.f_amount,f_cost:e.f_cost,f_type:e.f_type,f_yield:e.f_yield,f_color:e.f_color,f_coarse_fine_diff:e.f_coarse_fine_diff,f_moisture:e.f_moisture,f_diastatic_power:e.f_diastatic_power,f_protein:e.f_protein,f_max_in_batch:e.f_max_in_batch,f_graintype:e.f_graintype,f_added:e.f_added,f_dissolved_protein:e.f_dissolved_protein,f_recommend_mash:e.f_recommend_mash,f_add_after_boil:e.f_add_after_boil,f_adjust_to_total_100:e.f_adjust_to_total_100,f_percentage:e.f_percentage,f_di_ph:e.f_di_ph,f_acid_to_ph_57:e.f_acid_to_ph_57,f_inventory:e.f_inventory,f_avail:e.f_avail};$("#fermentableGrid").jqxGrid("updaterow",B,C);calcPercentages();calcFermentables();calcIBUs();calcMash()});$("#wf_name").jqxInput({theme:theme,width:320,height:23});$("#wf_instock").jqxCheckBox({theme:theme,height:23});$("#wf_instock").on("change",function(B){fermentableinstock=B.args.checked;fermentablelist.dataBind()});$("#wf_select").jqxDropDownList({placeHolder:"Kies mout:",theme:theme,source:fermentablelist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500,renderer:function(C,B,E){var D=fermentablelist.records[C];return D.supplier+" / "+D.name+" ("+D.color+" EBC)"}});$("#wf_select").on("select",function(D){if(D.args){var C,B=D.args.index;C=fermentablelist.records[B];$("#wf_name").val(C.name);e.f_name=C.name;e.f_origin=C.origin;e.f_supplier=C.supplier;e.f_type=C.type;e.f_cost=C.cost;e.f_yield=C.yield;e.f_color=C.color;e.f_coarse_fine_diff=C.coarse_fine_diff;e.f_moisture=C.moisture;e.f_diastatic_power=C.diastatic_power;e.f_protein=C.protein;e.f_max_in_batch=C.max_in_batch;e.f_graintype=C.graintype;e.f_dissolved_protein=C.dissolved_protein;e.f_recommend_mash=C.recommend_mash;e.f_add_after_boil=C.add_after_boil;e.f_di_ph=C.di_ph;e.f_acid_to_ph_57=C.acid_to_ph_57;e.f_inventory=C.inventory}});$("#wf_amount").jqxNumberInput(Spin3dec);$("#wf_amount").on("change",function(B){console.log("amount changed: "+B.args.value);$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_amount",B.args.value);e.f_amount=B.args.value;if(!h){calcPercentages();calcFermentables();calcMash()}});$("#wf_percentage").jqxNumberInput(Perc1dec);$("#wf_percentage").on("change",function(C){var M,H,I,B,J,L,K,G,F,E,D=Round(e.f_percentage,1);E=C.args.value;console.log("percentage changed: "+E+" old: "+D);e.f_percent=E;J=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;if((D!=E)&&(J>1)){L=$("#fermentableGrid").jqxGrid("getrowdata",u);if(L.f_adjust_to_total_100){$("#wf_percentage").val(D)}else{K=E-D;G=0;for(F=0;F<J;F++){L=$("#fermentableGrid").jqxGrid("getrowdata",F);if(L.f_added<4){G+=Round(L.f_amount,3)}}G=Round(G,3);if(h){I=Math.round(G*K*10)/1000;L=$("#fermentableGrid").jqxGrid("getrowdata",u);B=Round((L.f_amount+I),3);$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_amount",B);$("#wf_amount").val(B);$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_percentage",L.f_percentage+K);for(F=0;F<J;F++){L=$("#fermentableGrid").jqxGrid("getrowdata",F);if(L.f_adjust_to_total_100){B=L.f_amount-I;$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_percentage",L.f_percentage-K);$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_amount",B)}}calcFermentables();calcMash()}else{H=G*K/100;for(F=0;F<J;F++){L=$("#fermentableGrid").jqxGrid("getrowdata",F);if(L.f_added<4){if(F==u){B=Math.round((L.f_amount+H)*1000)/1000;$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_amount",B);$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_percentage",E)}else{B=Round((L.f_amount-(H/(J-1))),3);M=Round((B/G)*100,1);$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_amount",B);$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_percentage",M)}}else{$("#fermentableGrid").jqxGrid("setcellvalue",F,"f_percentage",0)}}calcFermentables();calcMash()}}}});$("#wf_max_in_batch").jqxNumberInput(Show1dec);$("#wf_adjust_to_total_100").jqxCheckBox({theme:theme,width:120,height:23});$("#wf_adjust_to_total_100").on("checked",function(B){if(e.f_adjust_to_total_100==0){if(h){rowscount=$("#fermentableGrid").jqxGrid("getdatainformation").rowscount;for(i=0;i<rowscount;i++){if(i!=u){$("#fermentableGrid").jqxGrid("setcellvalue",i,"f_adjust_to_total_100",0)}}}$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_adjust_to_total_100",1);calcFermentables()}});$("#wf_adjust_to_total_100").on("unchecked",function(B){if(e.f_adjust_to_total_100!=0){$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_adjust_to_total_100",0);calcFermentables()}});$("#wf_added").jqxDropDownList({theme:theme,source:AddedAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wf_added").on("select",function(C){if(C.args){var B=C.args.index;$("#fermentableGrid").jqxGrid("setcellvalue",u,"f_added",B);calcFermentables();calcIBUs();calcMash()}});$("#est_ibu2").jqxTooltip({content:"De bitterheid in IBU. Dit wordt automatisch berekend."});$("#est_ibu2").jqxNumberInput(Smal0dec);$("#hop_flavour").jqxProgressBar({width:300,height:23,theme:theme,showText:true,animationDuration:0,colorRanges:[{stop:20,color:"#004D00"},{stop:40,color:"#008C00"},{stop:60,color:"#00BF00"},{stop:80,color:"#00FF00"},{stop:100,color:"#80FF80"}],renderText:function(C){var B=parseInt(C);if(B<20){return"Weinig"}else{if(B<40){return"Matig"}else{if(B<60){return"Redelijk"}else{if(B<80){return"Veel"}else{return"Zeer veel"}}}}}});$("#hop_aroma").jqxProgressBar({width:300,height:23,theme:theme,showText:true,animationDuration:0,colorRanges:[{stop:20,color:"#004D00"},{stop:40,color:"#008C00"},{stop:60,color:"#00BF00"},{stop:80,color:"#00FF00"},{stop:100,color:"#80FF80"}],renderText:function(C){var B=parseInt(C);if(B<20){return"Weinig"}else{if(B<40){return"Matig"}else{if(B<60){return"Redelijk"}else{if(B<80){return"Veel"}else{return"Zeer veel"}}}}}});$("#popupHop").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#HopReady"),modalOpacity:0.4});$("#HopReady").jqxButton({template:"success",width:"90px",theme:theme});$("#HopReady").click(function(){var C,B=$("#hopGrid").jqxGrid("getrowid",o);console.log("HopReady row:"+o+" ID:"+B);C={h_name:$("#wh_name").val(),h_origin:t.h_origin,h_amount:parseFloat($("#wh_amount").jqxNumberInput("decimal"))/1000,h_cost:t.h_cost,h_type:t.h_type,h_form:t.h_form,h_useat:$("#wh_useat").val(),h_time:t.h_time,h_alpha:t.h_alpha,h_beta:t.h_beta,h_hsi:t.h_hsi,h_humulene:t.h_humulene,h_caryophyllene:t.h_caryophyllene,h_cohumulone:t.h_cohumulone,h_myrcene:t.h_myrcene,h_total_oil:t.h_total_oil,h_inventory:t.h_inventory,h_avail:t.h_avail};$("#hopGrid").jqxGrid("updaterow",B,C);calcIBUs()});$("#wh_name").jqxInput({theme:theme,width:320,height:23});$("#wh_instock").jqxCheckBox({theme:theme,height:23});$("#wh_instock").on("change",function(B){hopinstock=B.args.checked;hoplist.dataBind()});$("#wh_select").jqxDropDownList({placeHolder:"Kies hop:",theme:theme,source:hoplist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500,renderer:function(C,B,E){var D=hoplist.records[C];return D.origin+" / "+D.name+" ("+D.alpha+" % &alpha;)"}});$("#wh_select").on("select",function(D){if(D.args){var C,B=D.args.index;C=hoplist.records[B];$("#wh_name").val(C.name);t.h_name=C.name;t.h_origin=C.origin;t.h_cost=C.cost;t.h_type=C.type;t.h_form=C.form;t.h_alpha=C.alpha;t.h_beta=C.beta;t.h_hsi=C.hsi;t.h_humulene=C.humulene;t.h_caryophyllene=C.caryophyllene;t.h_cohumulone=C.cohumulone;t.h_myrcene=C.myrcene;t.h_total_oil=C.total_oil;t.h_inventory=C.inventory}});$("#wh_amount").jqxNumberInput(Spin1dec);$("#wh_amount").on("change",function(C){var D,B=parseFloat(C.args.value)/1000;D=toIBU(t.h_useat,t.h_form,preboil_sg,parseFloat($("#batch_size").jqxNumberInput("decimal")),B,parseFloat(t.h_time),parseFloat(t.h_alpha),$("#ibu_method").val());t.h_amount=B;console.log("amount changed: "+C.args.value+" time:"+t.h_time+" alpha:"+t.h_alpha+" IBU:"+D);$("#wh_ibu").val(D)});$("#wh_ibu").jqxNumberInput(Show1dec);$("#wh_time").jqxNumberInput(PosInt);$("#wh_time").on("change",function(B){var D,C=parseFloat(B.args.value);if(t.h_useat==2){if(C>parseFloat($("#boil_time").jqxNumberInput("decimal"))){C=parseFloat($("#boil_time").jqxNumberInput("decimal"));$("#wh_time").val(C)}t.h_time=C}else{if(t.h_useat==4){if(C>120){C=120;$("#wh_time").val(C)}t.h_time=C}else{if(t.h_useat==5){if(C>21){C=21;$("#wh_time").val(C)}t.h_time=C*1440}}}D=toIBU(t.h_useat,t.h_form,preboil_sg,parseFloat($("#batch_size").jqxNumberInput("decimal")),parseFloat(t.h_amount),parseFloat(t.h_time),parseFloat(t.h_alpha),$("#ibu_method").val());$("#wh_ibu").val(D)});$("#wh_useat").jqxDropDownList({theme:theme,source:HopUseAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wh_useat").on("select",function(C){if(C.args){var B=C.args.index;t.h_useat=B;if((B==0)||(B==1)){t.h_time=parseFloat(dataRecord.boil_time);$("#wh_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wh_time").val(t.h_time)}else{if(B==3){t.h_time=0;$("#wh_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wh_time").val(0)}else{$("#wh_time").jqxNumberInput({spinButtons:true,readOnly:false,width:110})}}if(B==5){$("#wh_pmpt_time").html("Tijd in dagen")}else{$("#wh_pmpt_time").html("Tijd in minuten")}}});$("#popupMisc").jqxWindow({width:800,height:275,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#MiscReady"),modalOpacity:0.4});$("#MiscReady").jqxButton({template:"success",width:"90px",theme:theme});$("#MiscReady").click(function(){var C,B=$("#miscGrid").jqxGrid("getrowid",q);console.log("MiscReady row:"+q+" ID:"+B);C={m_name:p.m_name,m_amount:p.m_amount,m_cost:p.m_cost,m_type:p.m_type,m_use_use:p.m_use_use,m_time:p.m_time,m_amount_is_weight:p.m_amount_is_weight,m_inventory:p.m_inventory,m_avail:p.m_avail};$("#miscGrid").jqxGrid("updaterow",B,C)});$("#wm_name").jqxInput({theme:theme,width:320,height:23});$("#wm_instock").jqxCheckBox({theme:theme,height:23});$("#wm_instock").on("change",function(B){miscinstock=B.args.checked;misclist.dataBind()});$("#wm_select").jqxDropDownList({placeHolder:"Kies ingredi&euml;nt:",theme:theme,source:misclist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500});$("#wm_select").on("select",function(D){if(D.args){var C,B=D.args.index;C=misclist.records[B];$("#wm_name").val(C.name);p.m_name=C.name;p.m_cost=C.cost;p.m_type=C.type;p.m_use_use=C.use_use;p.m_amount_is_weight=C.amount_is_weight;p.m_inventory=C.inventory}});$("#wm_amount").jqxNumberInput(Spin1dec);$("#wm_amount").on("change",function(B){console.log("amount changed: "+B.args.value);p.m_amount=parseFloat(B.args.value)/1000});$("#wm_time").jqxNumberInput(PosInt);$("#wm_time").on("change",function(B){console.log("time changed: "+B.args.value);var C=parseFloat(B.args.value);if(p.m_use_use==2){if(C>parseFloat($("#boil_time").jqxNumberInput("decimal"))){C=parseFloat($("#boil_time").jqxNumberInput("decimal"));$("#wm_time").val(C)}p.m_time=C}else{if((p.m_use_use==3)||(p.m_use_use==4)){if(C>21){C=21;$("#wm_time").val(C)}p.m_time=C*1440}}});$("#wm_use_use").jqxDropDownList({theme:theme,source:MiscUseAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wm_use_use").on("select",function(C){if(C.args){var B=C.args.index;p.m_use_use=B;if((B==2)||(B==3)||(B==4)){$("#wm_time").jqxNumberInput({spinButtons:true,readOnly:false,width:110})}else{p.m_time=0;$("#wm_time").jqxNumberInput({spinButtons:false,readOnly:true,width:90});$("#wm_time").val(0)}}});$("#est_fg2").jqxTooltip({content:"Het eind SG. Dit wordt automatisch berekend."});$("#est_fg2").jqxNumberInput(Show3dec);$("#est_abv2").jqxTooltip({content:"Alcohol volume %. Dit wordt automatisch berekend."});$("#est_abv2").jqxNumberInput(Smal1dec);$("#popupYeast").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#YeastReady"),modalOpacity:0.4});$("#YeastReady").jqxButton({template:"success",width:"90px",theme:theme});$("#YeastReady").click(function(){var C,B=$("#yeastGrid").jqxGrid("getrowid",c);console.log("YeastReady row:"+c+" ID:"+B);C={y_name:g.y_name,y_laboratory:g.y_laboratory,y_product_id:g.y_product_id,y_amount:g.y_amount,y_cost:g.y_cost,y_type:g.y_type,y_form:g.y_form,y_flocculation:g.y_flocculation,y_min_temperature:g.y_min_temperature,y_max_temperature:g.y_max_temperature,y_attenuation:g.y_attenuation,y_use:g.y_use,y_cells:g.y_cells,y_tolerance:g.y_tolerance,y_inventory:g.y_inventory,y_avail:g.y_avail};$("#yeastGrid").jqxGrid("updaterow",B,C);calcFermentables()});$("#wy_name").jqxInput({theme:theme,width:320,height:23});$("#wy_laboratory").jqxInput({theme:theme,width:320,height:23});$("#wy_product_id").jqxInput({theme:theme,width:320,height:23});$("#wy_instock").jqxCheckBox({theme:theme,height:23});$("#wy_instock").on("change",function(B){yeastinstock=B.args.checked;yeastlist.dataBind()});$("#wy_select").jqxDropDownList({placeHolder:"Kies gist:",theme:theme,source:yeastlist,displayMember:"name",width:150,height:23,dropDownWidth:500,dropDownHeight:500,renderer:function(C,B,E){var D=yeastlist.records[C];return D.laboratory+" "+D.product_id+" "+D.name}});$("#wy_select").on("select",function(D){if(D.args){var C,B=D.args.index;C=yeastlist.records[B];$("#wy_name").val(C.name);$("#wy_laboratory").val(C.laboratory);$("#wy_product_id").val(C.product_id);g.y_name=C.name;g.y_cost=C.cost;g.y_type=C.type;g.y_form=C.form;g.y_laboratory=C.laboratory;g.y_product_id=C.product_id;g.y_min_temperature=C.min_temperature;g.y_max_temperature=C.max_temperature;g.y_flocculation=C.flocculation;g.y_attenuation=C.attenuation;g.y_cells=C.cells;g.y_inventory=C.inventory;if(g.y_form==0){$("#wy_pmpt_amount").html("Pak(ken):")}else{if(g.y_form==1){$("#wy_pmpt_amount").html("Gewicht gram:")}else{$("#wy_pmpt_amount").html("Volume ml:")}}calcFermentables()}});$("#wy_amount").jqxNumberInput(Spin1dec);$("#wy_amount").on("change",function(C){console.log("amount changed: "+C.args.value);var B;if(g.y_form==0){B=parseFloat(C.args.value)}else{B=parseFloat(C.args.value)/1000}g.y_amount=B;calcFermentables()});$("#wy_use").jqxDropDownList({theme:theme,source:YeastUseAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true,dropDownVerticalAlignment:"top"});$("#wy_use").on("select",function(C){if(C.args){var B=C.args.index;g.y_use=B;calcFermentabes()}});$("#mash_name").jqxInput({theme:theme,width:320,height:23});$("#mash_select").jqxDropDownList({placeHolder:"Kies schema:",theme:theme,source:mashlist,displayMember:"name",width:250,height:23,dropDownWidth:500,dropDownHeight:500,dropDownHorizontalAlignment:"right"});$("#mash_select").on("select",function(F){if(F.args){var H,E,D,I,G,B,C=F.args.index;B=new Array();G=$("#mashGrid").jqxGrid("getdisplayrows");for(D=0;D<G.length;D++){I=G[D];B.push(I.uid)}$("#mashGrid").jqxGrid("deleterow",B);E=mashlist.records[C];$("#mash_name").val(E.name);for(D=0;D<E.steps.length;D++){H=E.steps[D];I={};I.step_name=H.step_name;I.step_type=H.step_type;if(mash_infuse==0&&dataRecord.w1_amount>0){mash_infuse=dataRecord.w1_amount}if(D==0){I.step_infuse_amount=mash_infuse}else{I.step_infuse_amount=0}I.step_temp=H.step_temp;if(mashkg>0){I.step_thickness=parseFloat(mash_infuse/mashkg)}else{I.step_thickness=0}I.end_temp=H.end_temp;I.step_time=H.step_time;I.ramp_time=H.ramp_time;$("#mashGrid").jqxGrid("addrow",null,I)}}});$("#popupMash").jqxWindow({width:800,height:350,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#MashReady"),modalOpacity:0.4});$("#MashReady").jqxButton({template:"success",width:"90px",theme:theme});$("#MashReady").click(function(){calcMash()});$("#wstep_name").jqxInput({theme:theme,width:320,height:23});$("#wstep_name").on("change",function(B){var C=$("#mashGrid").jqxGrid("getrowdata",l);C.step_name=B.args.value});$("#wstep_type").jqxDropDownList({theme:theme,source:MashStepTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#wstep_type").on("select",function(D){if(D.args){var G,E,C,F,B=D.args.index;G=$("#mashGrid").jqxGrid("getrowdata",l);G.step_type=B;if(B==0){$("#wstep_infuse_amount").show();$("#wstep_pmpt").show()}else{G.step_infuse_amount=0;$("#wstep_infuse_amount").hide();$("#wstep_pmpt").hide()}mash_infuse=0;E=$("#mashGrid").jqxGrid("getrows");for(C=0;C<E.length;C++){F=E[C];if(F.step_type==0){mash_infuse+=parseFloat(F.step_infuse_amount)}}}});$("#wstep_temp").jqxNumberInput(Spin1dec);$("#wstep_temp").on("change",function(B){var C=$("#mashGrid").jqxGrid("getrowdata",l);C.step_temp=parseFloat(B.args.value)});$("#wend_temp").jqxNumberInput(Spin1dec);$("#wend_temp").on("change",function(B){var C=$("#mashGrid").jqxGrid("getrowdata",l);C.end_temp=parseFloat(B.args.value)});$("#wstep_time").jqxNumberInput(PosInt);$("#wstep_time").on("change",function(B){var C=$("#mashGrid").jqxGrid("getrowdata",l);C.step_time=parseFloat(B.args.value)});$("#wramp_time").jqxNumberInput(PosInt);$("#wramp_time").on("change",function(B){var C=$("#mashGrid").jqxGrid("getrowdata",l);C.ramp_time=parseFloat(B.args.value)});$("#wstep_infuse_amount").jqxNumberInput(Spin1dec);$("#wstep_infuse_amount").on("change",function(C){var B,D,E,F=$("#mashGrid").jqxGrid("getrowdata",l);F.step_infuse_amount=parseFloat(C.args.value);mash_infuse=0;D=$("#mashGrid").jqxGrid("getrows");for(B=0;B<D.length;B++){E=D[B];if(E.step_type==0){mash_infuse+=parseFloat(E.step_infuse_amount)}}if(dataRecord.w2_amount==0){dataRecord.w1_amount=mash_infuse;$("#w1_amount").val(mash_infuse)}else{dataRecord.w1_amount=(dataRecord.w1_amount/(dataRecord.w1_amount+dataRecord.w2_amount))*mash_infuse;dataRecord.w2_amount=(dataRecord.w2_amount/(dataRecord.w1_amount+dataRecord.w2_amount))*mash_infuse;$("#w1_amount").val(dataRecord.w1_amount);$("#w2_amount").val(dataRecord.w2_amount)}$("#wg_amount").val(mash_infuse)});$("#tgt_bu").jqxNumberInput(Show2wat);$("#tgt_cl_so4").jqxNumberInput(Show1wat);$("#got_cl_so4").jqxNumberInput(Show1wat);$("#w1_name").jqxDropDownList({placeHolder:"Kies hoofd water:",theme:theme,source:waterlist,displayMember:"name",width:250,height:27,dropDownWidth:400,dropDownHeight:400});$("#w1_name").on("select",function(D){if(D.args){var C,B=D.args.index;C=waterlist.records[B];dataRecord.w1_name=C.name;$("#w1_calcium").val(C.calcium);dataRecord.w1_calcium=C.calcium;$("#w1_sulfate").val(C.sulfate);dataRecord.w1_sulfate=C.sulfate;$("#w1_chloride").val(C.chloride);dataRecord.w1_chloride=C.chloride;$("#w1_sodium").val(C.sodium);dataRecord.w1_sodium=C.sodium;$("#w1_magnesium").val(C.magnesium);dataRecord.w1_magnesium=C.magnesium;$("#w1_total_alkalinity").val(C.total_alkalinity);dataRecord.w1_total_alkalinity=C.total_alkalinity;$("#w1_ph").val(C.ph);dataRecord.w1_ph=C.ph;$("#w1_cost").val(C.cost);dataRecord.w1_cost=C.cost;m()}});$("#w1_amount").jqxNumberInput(Show1wat);$("#w1_calcium").jqxNumberInput(Show1wat);$("#w1_magnesium").jqxNumberInput(Show1wat);$("#w1_sodium").jqxNumberInput(Show1wat);$("#w1_total_alkalinity").jqxNumberInput(Show1wat);$("#w1_chloride").jqxNumberInput(Show1wat);$("#w1_sulfate").jqxNumberInput(Show1wat);$("#w1_ph").jqxNumberInput(Show1wat);$("#w2_name").jqxDropDownList({placeHolder:"Kies meng water:",theme:theme,source:waterlist,displayMember:"name",width:250,height:27,dropDownWidth:400,dropDownHeight:400});$("#w2_name").on("select",function(D){if(D.args){var C,B=D.args.index;C=waterlist.records[B];dataRecord.w2_name=C.name;$("#w2_calcium").val(C.calcium);dataRecord.w2_calcium=C.calcium;$("#w2_sulfate").val(C.sulfate);dataRecord.w2_sulfate=C.sulfate;$("#w2_chloride").val(C.chloride);dataRecord.w2_chloride=C.chloride;$("#w2_sodium").val(C.sodium);dataRecord.w2_sodium=C.sodium;$("#w2_magnesium").val(C.magnesium);dataRecord.w2_magnesium=C.magnesium;$("#w2_total_alkalinity").val(C.total_alkalinity);dataRecord.w2_total_alkalinity=C.total_alkalinity;$("#w2_ph").val(C.ph);dataRecord.w2_ph=C.ph;$("#w2_cost").val(C.cost);dataRecord.w2_cost=C.cost;$("#w2_amount").jqxNumberInput({max:100000,readOnly:false});m()}});$("#w2_amount").jqxTooltip({content:"De verdeling van het hoofd en meng water. Het totale maisch water volume blijft gelijk."});$("#w2_amount").jqxNumberInput({inputMode:"simple",theme:theme,width:94,height:23,min:0,decimalDigits:1,spinButtons:true,readOnly:true});$("#w2_calcium").jqxNumberInput(Show1wat);$("#w2_magnesium").jqxNumberInput(Show1wat);$("#w2_sodium").jqxNumberInput(Show1wat);$("#w2_total_alkalinity").jqxNumberInput(Show1wat);$("#w2_chloride").jqxNumberInput(Show1wat);$("#w2_sulfate").jqxNumberInput(Show1wat);$("#w2_ph").jqxNumberInput(Show1wat);$("#wg_amount").jqxNumberInput(Show1wat);$("#wg_calcium").jqxNumberInput(Show1wat);$("#wg_magnesium").jqxNumberInput(Show1wat);$("#wg_sodium").jqxNumberInput(Show1wat);$("#wg_total_alkalinity").jqxNumberInput(Show1wat);$("#wg_chloride").jqxNumberInput(Show1wat);$("#wg_sulfate").jqxNumberInput(Show1wat);$("#wg_ph").jqxNumberInput(Show1wat);$("#wb_calcium").jqxTooltip({content:"De ideale hoeveelheid Calcium is tussen 40 en 150."});$("#wb_calcium").jqxNumberInput(Show1wat);$("#wb_magnesium").jqxTooltip({content:"De ideale hoeveelheid Magnesium is lager dan 30."});$("#wb_magnesium").jqxNumberInput(Show1wat);$("#wb_sodium").jqxTooltip({content:"De ideale hoeveelheid Natrium is lager dan 150."});$("#wb_sodium").jqxNumberInput(Show1wat);$("#wb_chloride").jqxTooltip({content:"De ideale hoeveelheid Chloride is tussen 50 en 100."});$("#wb_chloride").jqxNumberInput(Show1wat);$("#wb_sulfate").jqxTooltip({content:"De ideale hoeveelheid Sulfaat is tussen 50 en 350."});$("#wb_sulfate").jqxNumberInput(Show1wat);$("#wb_total_alkalinity").jqxNumberInput(Show1wat);$("#wb_ph").jqxNumberInput(Show1wat);$("#pr_name").jqxDropDownList({placeHolder:"Kies doel profiel:",theme:theme,source:waterprofiles,displayMember:"name",width:250,height:27,dropDownWidth:400,dropDownHeight:300});$("#pr_name").on("select",function(D){if(D.args){var C,B=D.args.index;C=waterprofiles.records[B];$("#pr_calcium").val(C.calcium);$("#pr_sulfate").val(C.sulfate);$("#pr_chloride").val(C.chloride);$("#pr_sodium").val(C.sodium);$("#pr_magnesium").val(C.magnesium);$("#pr_total_alkalinity").val(C.total_alkalinity)}});$("#pr_calcium").jqxNumberInput(Show1wat);$("#pr_magnesium").jqxNumberInput(Show1wat);$("#pr_sodium").jqxNumberInput(Show1wat);$("#pr_total_alkalinity").jqxNumberInput(Show1wat);$("#pr_chloride").jqxNumberInput(Show1wat);$("#pr_sulfate").jqxNumberInput(Show1wat);$("#wa_cacl2").jqxTooltip({content:"Voor het maken van een ander waterprofiel. Voegt calcium en chloride toe. Voor het verbeteren van zoetere bieren."});$("#wa_cacl2").jqxNumberInput(Spin1dec);$("#wa_caso4").jqxTooltip({content:"Gips. Voor het maken van een ander waterprofiel. Voegt calcium en sulfaat toe. Voor het verbeteren van bittere bieren."});$("#wa_caso4").jqxNumberInput(Spin1dec);$("#wa_mgso4").jqxTooltip({content:"Epsom zout. Voor het maken van een ander waterprofiel. Voegt magnesium en sulfaat toe. Gebruik spaarzaam!"});$("#wa_mgso4").jqxNumberInput(Spin1dec);$("#wa_nacl").jqxTooltip({content:"Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig."});$("#wa_nacl").jqxNumberInput(Spin1dec);$("#mash_ph").jqxTooltip({content:"Maisch pH tussen 5.2 en 5.6. Gebruik 5.2 voor lichte en 5.5 voor donkere bieren."});$("#mash_ph").jqxNumberInput(SpinpH);$("#calc_acid").jqxCheckBox({theme:theme,width:120,height:23});$("#wa_base_name").jqxDropDownList({theme:theme,source:BaseTypeAdapter,valueMember:"id",displayMember:"nl",width:170,height:23,autoDropDownHeight:true});$("#wa_base").jqxNumberInput(Spin2dec);$("#wa_base").jqxNumberInput({symbol:" gr",symbolPosition:"right"});$("#wa_acid_name").jqxDropDownList({theme:theme,source:AcidTypeAdapter,valueMember:"id",displayMember:"nl",width:170,height:23,autoDropDownHeight:true});$("#wa_acid").jqxNumberInput(Spin2dec);$("#wa_acid").jqxNumberInput({symbol:" ml",symbolPosition:"right"});$("#wa_acid_perc").jqxNumberInput(Perc0);$("#wa_acid_perc").jqxNumberInput({width:70,symbol:"%",symbolPosition:"right"});$("#sparge_temp").jqxNumberInput(Spin1dec);$("#sparge_volume").jqxNumberInput(Spin1dec);$("#sparge_ph").jqxNumberInput(SpinpH);$("#sparge_source").jqxDropDownList({theme:theme,source:SpargeSourceAdapter,valueMember:"id",displayMember:"nl",width:110,height:23,autoDropDownHeight:true});$("#sparge_acid_amount").jqxNumberInput(Spin2dec);$("#sparge_acid_amount").jqxNumberInput({spinButtons:false,readOnly:true,symbol:" ml",symbolPosition:"right"});$("#sparge_acid_type").jqxDropDownList({theme:theme,source:AcidTypeAdapter,valueMember:"id",displayMember:"nl",width:110,height:23,autoDropDownHeight:true});$("#sparge_acid_perc").jqxNumberInput(Perc0);$("#sparge_acid_perc").jqxNumberInput({symbol:"%",symbolPosition:"right"});$("#jqxTabs").jqxTabs({theme:theme,width:1280,height:660,autoHeight:false,position:"top"});$("#Export").jqxButton({template:"info",width:"80px",theme:theme});$("#Export").bind("click",function(){d(0)});$("#Delete").jqxButton({template:"danger",width:"80px",theme:theme});$("#Delete").bind("click",function(){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var B="delete=true&"+$.param({record:my_record});$.ajax({dataType:"json",url:f,cache:false,data:B,type:"POST",success:function(D,C,E){window.location.href=my_return},error:function(C,E,D){}})})});$("#Cancel").jqxButton({template:"primary",width:"80px",theme:theme});$("#Cancel").bind("click",function(){window.location.href=my_return});$("#Save").jqxButton({template:"success",width:"80px",theme:theme});$("#Save").bind("click",function(){d(1)});createDelElements()});
\ No newline at end of file
--- a/www/js/rec_edit.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/rec_edit.js	Fri May 01 16:37:31 2020 +0200
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (C) 2018-2019
+ * Copyright (C) 2018-2020
  *
  * Michiel Broek <mbroek at mbse dot eu>
  *
@@ -33,6 +33,7 @@
  last_acid = '',
  Ka1 = 0.0000004445,
  Ka2 = 0.0000000000468,
+ error_count = 0,
  MMCa = 40.048,
  MMMg = 24.305,
  MMNa = 22.98976928,
@@ -48,7 +49,7 @@
  MMNa2CO3 = 105.996,
  MMNaCl = 58.443,
  MMCaOH2 = 74.06268;
-
+ data_loaded = 0;
 
 function createDelElements() {
  $('#eventWindow').jqxWindow({
@@ -74,6 +75,8 @@
 function hopFlavourContribution(bt, vol, use, amount) {
  var result;
 
+ if (use == 4 || use == 5) // Whirlpool or Dry-hop
+  return 0;
  if (use == 1) {   // First wort
   result = 0.15;   // assume 15% flavourcontribution for fwh
  } else if (bt > 50) {
@@ -92,6 +95,10 @@
 
  if (use == 5) {         // Dry hop
   result = 1.33;
+ } else if (use == 4) { // Whirlpool
+   if (bt > 30)
+    bt = 30; // Max 30 minutes
+   result = 0.62 * bt / 30;
  } else if (bt > 20) {
   result = 0;
  } else if (bt > 7.5) {
@@ -100,8 +107,6 @@
   result = 1;
  } else if (use == 3) {  // Aroma
   result = 1.2;
- } else if (use == 4) {  // Whirlpool
-  result = 1.2;
  }
  return (result * amount * 1000) / vol;
 }
@@ -271,7 +276,6 @@
   }
  }
  $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg)));
- //console.log('lintner:' + lintner + ' kg:' + mashkg);
  to_100 = my_100;
  if (to_100) {
   $('#wf_amount').jqxNumberInput({ width: 90, readOnly: true, spinButtons: false });
@@ -372,7 +376,7 @@
  for (i = 0; i < rows.length; i++) {
   row = rows[i];
   total_ibus += toIBU(row.h_useat, row.h_form, preboil_sg, parseFloat(dataRecord.batch_size),
-   parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method);
+   parseFloat(row.h_amount), parseFloat(row.h_time), parseFloat(row.h_alpha), dataRecord.ibu_method, 0, parseFloat(row.h_time), 0);
   hop_flavour += hopFlavourContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
   hop_aroma += hopAromaContribution(parseFloat(row.h_time), parseFloat(dataRecord.batch_size), row.h_useat, parseFloat(row.h_amount));
  }
@@ -394,7 +398,6 @@
 
 function adjustHops(factor) {
 
- //console.log('adjustHops(' + factor + ')');
  var i, row, amount, rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount;
  if (rowscount == 0)
   return;
@@ -409,7 +412,6 @@
 
 function adjustMiscs(factor) {
 
- //console.log('adjustMiscs(' + factor + ')');
  var i, row, amount, rowscount = $('#miscGrid').jqxGrid('getdatainformation').rowscount;
  if (rowscount == 0)
   return;
@@ -438,7 +440,6 @@
 
 function adjustYeasts(factor) {
 
- //console.log('adjustYeasts(' + factor + ')');
  var i, row, amount, rowscount = $('#yeastGrid').jqxGrid('getdatainformation').rowscount;
  if (rowscount == 0)
   return;
@@ -455,7 +456,6 @@
 
 function adjustWaters(factor) {
 
- //console.log('adjustWaters(' + factor + ')');
  var i, row, amount, rowscount = $('#mashGrid').jqxGrid('getdatainformation').rowscount;
  if (rowscount == 0)
   return;
@@ -490,9 +490,13 @@
 }
 
 
-function GetOptClSO4ratio() {
- var BUGU = GetBUGU();
- return (-1.2 * BUGU + 1.4);
+function GetOptSO4Clratio() {
+ if (parseFloat($('#pr_sulfate').jqxNumberInput('decimal')) > 0 && parseFloat($('#pr_chloride').jqxNumberInput('decimal'))) {
+  return (parseFloat($('#pr_sulfate').jqxNumberInput('decimal')) / parseFloat($('#pr_chloride').jqxNumberInput('decimal')));
+ } else {
+  var BUGU = GetBUGU();
+  return (-1.2 * BUGU + 1.4);
+ }
 }
 
 
@@ -557,36 +561,45 @@
 }
 
 
+function BufferCapacity(di_ph, acid_to_ph_57, ebc, graintype) {
+ C1 = 0;
+ if ((di_ph != 5.7) && ((acid_to_ph_57 < - 0.1) || (acid_to_ph_57 > 0.1))) {
+  C1 = acid_to_ph_57 / (di_ph - 5.7);
+ } else {
+  // If the acid_to_ph_5.7 is unknown from the maltster, guess the required acid.
+  switch (graintype) {
+   case 0:                                 // Base, Special, Kilned
+   case 3:
+   case 5: C1 = 0.014 * ebc - 34.192;
+           break;
+   case 2: C1 = -0.0597 * ebc - 32.457;    // Crystal
+           break;
+   case 1: C1 = 0.0107 * ebc - 54.768;     // Roast
+           break;
+   case 4: C1 = -149;                      // Sour malt
+           break;
+  }
+ }
+ return C1;
+}
+
+
 function ProtonDeficit(pHZ) {
- var ebc, C1, i, rows, row, Result = ZRA(pHZ) * parseFloat($('#wg_amount').jqxNumberInput('decimal'));
+ var C1, i, rows, row, Result = ZRA(pHZ) * parseFloat($('#wg_amount').jqxNumberInput('decimal'));
  // proton deficit for the grist
- rows = $('#fermentableGrid').jqxGrid('getrows');
- for (i = 0; i < rows.length; i++) {
-  row = rows[i];
-  if (row.f_added == 0 && row.f_graintype != 6) { // Added == Mash && graintype != No Malt
-   // Check if acid is required
-   C1 = 0;
-   if ((row.f_di_ph != 5.7) && ((row.f_acid_to_ph_57 < - 0.1) || (row.f_acid_to_ph_57 > 0.1))) {
-    C1 = row.f_acid_to_ph_57 / (row.f_di_ph - 5.7);
-   } else {
-    // If the acid_to_ph_5.7 is unknown from the maltster, guess the required acid.
-    ebc = row.f_color;
-    switch (row.f_graintype) {
-     case 0:                              // Base, Special, Kilned
-     case 3:
-     case 5: C1 = 0.014 * ebc - 34.192;
-             break;
-     case 2: C1 = -0.0597 * ebc - 32.457; // Crystal
-             break;
-     case 1: C1 = 0.0107 * ebc - 54.768;  // Roast
-             break;
-     case 4: C1 = -149;                   // Sour malt
-             break;
-    }
+ if ((rows = $('#fermentableGrid').jqxGrid('getrows'))) {
+  for (i = 0; i < rows.length; i++) {
+   row = rows[i];
+   if (row.f_added == 0 && row.f_graintype != 6) { // Added == Mash && graintype != No Malt
+    C1 = BufferCapacity(row.f_di_ph, row.f_acid_to_ph_57, row.f_color, row.f_graintype);
+    x = C1 * (pHZ - row.f_di_ph);   // AcidRequired(ZpH)
+    Result += x * row.f_amount;
    }
-   x = C1 * (pHZ - row.f_di_ph);   // AcidRequired(ZpH)
-   Result += x * row.f_amount;
   }
+ } else {
+  error_count++;
+  if (error_count < 5)
+   console.log('ProtonDeficit(' + pHZ + ') invalid grist, return ' + Result);
  }
  return Result;
 }
@@ -606,24 +619,12 @@
    pH += deltapH;
   pd = ProtonDeficit(pH);
  }
+ pH = Round(pH, 6);
  //console.log('MashpH() n: ' + n + ' pH: ' + pH);
  return pH;
 }
 
 
-function GetAcidSpecs(AT) {
- switch (AT) {
-  case 0: return { pK1: 3.86, pK2: 20, pK3: 20, MolWt: 90.08, AcidSG: 1214, AcidPrc: 0.88 }; // Melkzuur
-  case 1: return { pK1: -7, pK2: 20, pK3: 20, MolWt: 36.46, AcidSG: 1142, AcidPrc: 0.28 }; // Zoutzuur
-  case 2: return { pK1: 2.12, pK2: 7.20, pK3: 12.44, MolWt: 98.00, AcidSG: 1170, AcidPrc: 0.25 }; // Fosforzuur
-  case 3: return { pK1: -1, pK2: 1.92, pK3: 20, MolWt: 98.07, AcidSG: 1700, AcidPrc: 0.93 }; // Zwavelzuur
- }
-}
-
-
-
-
-
 
 
 $(document).ready(function() {
@@ -843,6 +844,7 @@
    editYeast(dataRecord);
    editMash(dataRecord);
    $('#jqxTabs').jqxTabs('next');
+   data_loaded = 1;
   },
   loadError: function(jqXHR, status, error) {},
   beforeLoadComplete: function(records) { $('#jqxLoader').jqxLoader('open'); }
@@ -881,18 +883,9 @@
     { name: 'f_inventory', type: 'float' },
     { name: 'f_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    //console.log("fermentable addrow "+rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    //console.log("fermentable deleterow "+rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    //console.log("fermentable updaterow "+rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   fermentableAdapter = new $.jqx.dataAdapter(fermentableSource);
 
@@ -936,7 +929,7 @@
       row['f_origin'] = datarecord.origin;
       row['f_supplier'] = datarecord.supplier;
       row['f_amount'] = 0;
-      row['[_cost'] = datarecord.cost;
+      row['f_cost'] = datarecord.cost;
       row['f_type'] = datarecord.type;
       row['f_yield'] = datarecord.yield;
       row['f_color'] = datarecord.color;
@@ -1096,18 +1089,9 @@
     { name: 'h_inventory', type: 'float' },
     { name: 'h_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    //console.log("hop addrow "+rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    //console.log("hop deleterow "+rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    //console.log("hop updaterow "+rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   hopAdapter = new $.jqx.dataAdapter(hopSource);
 
@@ -1226,7 +1210,7 @@
      cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
       var ibu = toIBU(rowdata.h_useat, rowdata.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
                       parseFloat(rowdata.h_amount), parseFloat(rowdata.h_time),
-                      parseFloat(rowdata.h_alpha), $('#ibu_method').val());
+                      parseFloat(rowdata.h_alpha), $('#ibu_method').val(), 0, parseFloat(rowdata.h_time), 0);
       return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(ibu, 'f1') + '</span>';
      }
     },
@@ -1260,7 +1244,8 @@
       var ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg,
                 parseFloat($('#batch_size').jqxNumberInput('decimal')),
                 parseFloat(hopData.h_amount), parseFloat(hopData.h_time),
-                parseFloat(hopData.h_alpha), $('#ibu_method').val()
+                parseFloat(hopData.h_alpha), $('#ibu_method').val(),
+                0, parseFloat(hopData.h_time), 0
       );
       $('#wh_ibu').val(ibu);
       if (hopData.h_useat == 5)       // Dry hop
@@ -1294,18 +1279,9 @@
     { name: 'm_inventory', type: 'float' },
     { name: 'm_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    //console.log("misc addrow "+rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    //console.log("misc deleterow "+rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    //console.log("misc updaterow "+rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   miscAdapter = new $.jqx.dataAdapter(miscSource, {
    beforeLoadComplete: function(records) {
@@ -1529,20 +1505,18 @@
     { name: 'y_cells', type: 'float' },
     { name: 'y_tolerance', type: 'float' },
     { name: 'y_inventory', type: 'float' },
+    { name: 'y_sta1', type: 'int' },
+    { name: 'y_bacteria', type: 'int' },
+    { name: 'y_harvest_top', type: 'int' },
+    { name: 'y_harvest_time', type: 'int' },
+    { name: 'y_pitch_temperature', type: 'float' },
+    { name: 'y_pofpos', type: 'int' },
+    { name: 'y_zymocide', type: 'int' },
     { name: 'y_avail', type: 'int' }
    ],
-   addrow: function(rowid, rowdata, position, commit) {
-    //console.log("yeast addrow "+rowid);
-    commit(true);
-   },
-   deleterow: function(rowid, commit) {
-    //console.log("yeast deleterow "+rowid);
-    commit(true);
-   },
-   updaterow: function(rowid, rowdata, commit) {
-    //console.log("yeast updaterow "+rowid);
-    commit(true);
-   }
+   addrow: function(rowid, rowdata, position, commit) { commit(true); },
+   deleterow: function(rowid, commit) { commit(true); },
+   updaterow: function(rowid, rowdata, commit) { commit(true); }
   },
   yeastAdapter = new $.jqx.dataAdapter(yeastSource);
 
@@ -1595,6 +1569,13 @@
       row['y_cells'] = datarecord.cells;
       row['y_tolerance'] = datarecord.tolerance;
       row['y_inventory'] = datarecord.inventory;
+      row['y_sta1'] = datarecord.sta1;
+      row['y_bacteria'] = datarecord.bacteria;
+      row['y_harvest_top'] = datarecord.harvest_top;
+      row['y_harvest_time'] = datarecord.harvest_time;
+      row['y_pitch_temperature'] = datarecord.pitch_temperature;
+      row['y_pofpos'] = datarecord.pofpos;
+      row['y_zymocide'] = datarecord.zymocide;
       $('#yeastGrid').jqxGrid('addrow', null, row);
      }
      $('#yaddrowbutton').jqxDropDownList('clearSelection');
@@ -1898,7 +1879,11 @@
  // Procedure TFrmWaterAdjustment.CalcWater2;
  function calcWater() {
 
-  console.log('calcWater()');
+  if (! data_loaded) {
+   console.log('calcWater(): failsave');
+   return;
+  }
+
   var liters = 0,
   calcium = 0,
   magnesium = 0,
@@ -1912,11 +1897,10 @@
   frac = 0,
   TpH = 0,
   protonDeficit = 0,
-  AT, BT, result, pK1, pK2, pK3, MolWt, AcidSG, AcidPrc,
+  AT, BT,
   r1d, r2d, f1d, f2d, f3d,
   deltapH, deltapd, pd, n,
-  piCLSO4_low, piCLSO4_high, Res,
-  wg_calcium, wg_sodium, wg_total_alkalinity, wg_chloride, wg_sulfate, wg_bicarbonate;
+  Res;
 
   if (dataRecord.w1_name == '') {
    return;
@@ -1942,269 +1926,248 @@
    total_alkalinity = dataRecord.w1_total_alkalinity;
    ph = dataRecord.w1_ph;
   }
-  $('#wg_amount').val(liters);
-  wg_calcium = calcium;
-  $('#wg_calcium').val(Math.round(calcium * 10) / 10);
-  //wg_magnesium = magnesium;
-  $('#wg_magnesium').val(Math.round(magnesium * 10) / 10);
-  wg_sodium = sodium;
-  $('#wg_sodium').val(Math.round(sodium * 10) / 10);
-  wg_total_alkalinity = total_alkalinity;
-  $('#wg_total_alkalinity').val(Math.round(total_alkalinity * 10) / 10);
-  wg_chloride = chloride;
-  $('#wg_chloride').val(Math.round(chloride * 10) / 10);
-  wg_sulfate = sulfate;
-  $('#wg_sulfate').val(Math.round(sulfate * 10) / 10);
-  // Note: brouwhulp has the malts included here in the result.
-  //wg_ph = ph;
-  $('#wg_ph').val(Round(ph, 1));
-  $('#wb_ph').val(Round(MashpH(), 1));
-  bicarbonate = total_alkalinity * 1.22;
-  wg_bicarbonate = bicarbonate;
+  var bicarbonate = total_alkalinity * 1.22;
+
+  /* Save mixed water ions for later */
+  var wg_calcium = calcium;
+  var wg_sodium = sodium;
+  var wg_total_alkalinity = total_alkalinity;
+  var wg_chloride = chloride;
+  var wg_sulfate = sulfate;
+  var wg_bicarbonate = bicarbonate;
 
-  // Noot: de volgende berekeningen geven bijna gelijke resultaten in Brun'water.
-  // Calculate Ca
-  RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-       parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4;
-  calcium += 1000 * RA / liters;
+  $('#wg_amount').val(liters);
+  $('#wg_calcium').val(Math.round(calcium * 10) / 10);
+  $('#wg_magnesium').val(Math.round(magnesium * 10) / 10);
+  $('#wg_sodium').val(Math.round(sodium * 10) / 10);
+  $('#wg_total_alkalinity').val(Math.round(total_alkalinity * 10) / 10);
+  $('#wg_chloride').val(Math.round(chloride * 10) / 10);
+  $('#wg_sulfate').val(Math.round(sulfate * 10) / 10);
+  $('#wg_ph').val(Round(ph, 1));
 
-  // Calculate Mg
-  RA = parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMMg / MMMgSO4;
-  magnesium += 1000 * RA / liters;
+  var mash_ph = Round(MashpH(), 3);
+  console.log('Distilled water mash pH: ' + mash_ph);
 
-  // Calculate Na
-  RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl;
-  sodium += 1000 * RA / liters;
+  /* Calculate Salt additions */
+  if (liters > 0) {
+   calcium += (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
+    parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000) / liters;
+   magnesium += (parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMMg / MMMgSO4 * 1000) / liters;
+   sodium += (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+    parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
+   sulfate += (parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 * 1000 +
+    parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4 * 1000) / liters;
+   chloride += (2 * parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 * 1000 +
+    parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl * 1000) / liters;
+  }
 
-  // Calculate SO4
-  RA = parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMSO4 / MMCaSO4 +
-       parseFloat($('#wa_mgso4').jqxNumberInput('decimal')) * MMSO4 / MMMgSO4;
-  sulfate += 1000 * RA / liters;
-
-  // Calculate Cl
-  RA = 2 * parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCl / MMCaCl2 +
-           parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMCl / MMNaCl;
-  chloride += 1000 * RA / liters;
-  // Einde noot.
-
-  if ($('#wa_acid_name').val() < 0 || $('#wa_acid_name').val() > 3) {
+  if (dataRecord.wa_acid_name < 0 || dataRecord,wa_acid_name >= AcidTypeData.length) {
    $('#wa_acid_name').val(0);
    dataRecord.wa_acid_name = 0;
+   dataRecord.wa_acid_perc = AcidTypeData[0].AcidPrc;
+   $('#wa_acid_perc').val(AcidTypeData[0].AcidPrc);
   }
   if (last_acid == '')
-   last_acid = AcidTypeData[$('#wa_acid_name').val()].nl;
+   last_acid = AcidTypeData[dataRecord.wa_acid_name].nl;
 
-  if ($('#wa_base_name').val() < 0 || $('#wa_base_name').val() > 3) {
+  if (parseFloat(dataRecord.wa_acid_perc) == 0) {
+   dataRecord.wa_acid_perc = AcidTypeData[AT].AcidPrc;
+   $('#wa_acid_perc').val(AcidTypeData[AT].AcidPrc);
+  }
+
+  if (dataRecord.wa_base_name < 0 || dataRecord.wa_base_name > 3) {
    $('#wa_base_name').val(0);
    dataRecord.wa_base_name = 0;
   }
   if (last_base == '')
-   last_base = BaseTypeData[$('#wa_base_name').val()].nl;
+   last_base = BaseTypeData[dataRecord.wa_base_name].nl;
 
   AT = dataRecord.wa_acid_name;
   BT = dataRecord.wa_base_name;
 
-  result = GetAcidSpecs(AT);
-  pK1 = result.pK1;
-  pK2 = result.pK2;
-  pK3 = result.pK3;
-  MolWt = result.MolWt;
-  AcidSG = result.AcidSG;
-  AcidPrc = result.AcidPrc;
+  /* Note that the next calculations do not correct the pH change by the added salts.
+     This pH change is at most 0.1 pH and is a minor difference in Acid amount. */
 
   if (dataRecord.calc_acid) {
+   $('.c_mashph').show();
+   /* Auto calculate pH */
    TpH = parseFloat(dataRecord.mash_ph);
    protonDeficit = ProtonDeficit(TpH);
    console.log('calc_acid tgt: ' + TpH + ' protonDeficit: ' + protonDeficit);
    if (protonDeficit > 0) { // Add acid
     $('#wa_base').val(0);
     setWaterAgent(last_base, 0);
-    frac = CalcFrac(TpH, pK1, pK2, pK3);
+    frac = CalcFrac(TpH, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
     Acid = protonDeficit / frac;
-    Acid *= MolWt; // mg
+    Acid *= AcidTypeData[AT].MolWt; // mg
     Acidmg = Acid;
-    Acid = Acid / AcidSG; // ml
-
-    if (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) == 0)
-     $('#wa_acid_perc').val(AcidPrc);
-    Acid = Acid * AcidPrc / (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) / 100); // ml
-    console.log('Final ml: ' + Acid);
-    $('#wa_acid').val(Math.round(Acid * 100) / 100);
-    setWaterAgent(AcidTypeData[AT].nl, Math.round(Acid * 100) / 100);
+    Acid = Acid / AcidTypeData[AT].AcidSG; // ml
+    Acid = Round(Acid / (parseFloat(dataRecord.wa_acid_perc) / 100), 2); // ml
+    console.log('Mash auto Acid final ml: ' + Acid);
+    $('#wa_acid').val(Acid);
+    setWaterAgent(AcidTypeData[AT].nl, Acid);
 
     bicarbonate = bicarbonate - protonDeficit * frac / liters;
     total_alkalinity = bicarbonate * 50 / 61;
    } else if (protonDeficit < 0) { //Add base
     $('#wa_acid').val(0);
     setWaterAgent(last_acid, 0);
-    r1d = Math.pow(10, (TpH - 6.38));
-    r2d = Math.pow(10, (TpH - 10.38));
+    r1d = Math.pow(10, (TpH - 6.35));
+    r2d = Math.pow(10, (TpH - 10.33));
     f1d = 1 / (1 + r1d + r1d * r2d);
     f2d = f1d * r1d;
     f3d = f2d * r2d;
     switch (BT) {
-     case 0: RA = -protonDeficit / (f1d - f3d); //Sodiumbicarbonate, mmol totaal
-             RA = RA * MMNaHCO3 / 1000; //gram
-             $('#wa_base').val(Round(RA, 2));
-             setWaterAgent('NaHCO3', Round(RA, 2));
-             if (liters > 0) {
-              // Na
-              RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-                   parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3;
-              RA = 1000 * RA / liters;
-              sodium = wg_sodium + RA;
-              // HCO3
-              RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3;
-              RA = 1000 * RA / liters;
-              bicarbonate = wg_bicarbonate + RA;
-              total_alkalinity = bicarbonate * 50 / 61;
-              RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-             }
-             break;
-     case 1: RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal
-             RA = RA * MMNa2CO3 / 1000; //gram
-             $('#wa_base').val(Round(RA, 2));
-             setWaterAgent('Na2CO3', Round(RA, 2));
-             if (liters > 0) {
-              RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-                   parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3;
-              RA = 1000 * RA / liters;
-              sodium = wg_sodium + RA;
-              // HCO3
-              RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3;
-              RA = 1000 * RA / liters;
-              bicarbonate = wg_bicarbonate + RA;
-              total_alkalinity = bicarbonate * 50 / 61;
-              RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-             }
-             break;
-     case 2: RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal
-             RA = RA * MMCaCO3 / 1000; //gram
-             //but only 1/3 is effective, so add 3 times as much
-             RA = 3 * RA;
-             $('#wa_base').val(Round(RA, 2));
-             setWaterAgent('CaCO3', Round(RA, 2));
-             if (liters > 0) {
-              //Bicarbonate
-              RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3;
-              RA = 1000 * RA / liters;
-              bicarbonate = wg_bicarbonate + RA;
-              total_alkalinity = bicarbonate * 50 / 61;
-              //Ca precipitates out as Ca10(PO4)6(OH)2
-              RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-                   parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 +
-                   parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3;
-              RA = 1000 * RA / liters;
-              calcium = wg_calcium + RA;
-              RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-             }
-             break;
-     case 3: RA = -protonDeficit / 19.3; // Calciumhydroxide
-             $('#wa_base').val(Round(RA, 2));
-             setWaterAgent('Ca(OH)2', Round(RA, 2));
-             if (liters > 0) {
-              // Bicarbonate
-              RA = -protonDeficit / liters;
-              total_alkalinity = wg_total_alkalinity + RA;
-              bicarbonate = total_alkalinity * 61 / 50;
-              // Calcium
-              RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-                   parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 +
-                   parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2;
-              RA = 1000 * RA / liters;
-              calcium = wg_calcium + RA;
-              RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-             }
-             break;
+     case 0:
+      RA = -protonDeficit / (f1d - f3d); //Sodiumbicarbonate, mmol totaal
+      RA = RA * MMNaHCO3 / 1000; //gram
+      $('#wa_base').val(Round(RA, 2));
+      setWaterAgent('NaHCO3', Round(RA, 2));
+      if (liters > 0) {
+       // Na
+       RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
+       sodium = wg_sodium + RA;
+       // HCO3
+       RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
+       bicarbonate = wg_bicarbonate + RA;
+       total_alkalinity = bicarbonate * 50 / 61;
+       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      }
+      break;
+     case 1:
+      RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal
+      RA = RA * MMNa2CO3 / 1000; //gram
+      $('#wa_base').val(Round(RA, 2));
+      setWaterAgent('Na2CO3', Round(RA, 2));
+      if (liters > 0) {
+       RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
+       sodium = wg_sodium + RA;
+       // HCO3
+       RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
+       bicarbonate = wg_bicarbonate + RA;
+       total_alkalinity = bicarbonate * 50 / 61;
+       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      }
+      break;
+     case 2:
+      RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal
+      RA = RA * MMCaCO3 / 1000; //gram
+      //but only 1/3 is effective, so add 3 times as much
+      RA = 3 * RA;
+      $('#wa_base').val(Round(RA, 2));
+      setWaterAgent('CaCO3', Round(RA, 2));
+      if (liters > 0) {
+       //Bicarbonate
+       RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3 * 1000) / liters;
+       bicarbonate = wg_bicarbonate + RA;
+       total_alkalinity = bicarbonate * 50 / 61;
+       //Ca precipitates out as Ca10(PO4)6(OH)2
+       RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
+             parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters;
+       calcium = wg_calcium + RA;
+       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      }
+      break;
+     case 3:
+      RA = -protonDeficit / 19.3; // Calciumhydroxide
+      $('#wa_base').val(Round(RA, 2));
+      setWaterAgent('Ca(OH)2', Round(RA, 2));
+      if (liters > 0) {
+       // Bicarbonate
+       RA = -protonDeficit / liters;
+       total_alkalinity = wg_total_alkalinity + RA;
+       bicarbonate = total_alkalinity * 61 / 50;
+       // Calcium
+       RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
+             parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
+             parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters;
+       calcium = wg_calcium + RA;
+       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      }
+      break;
     }
    }
    ph = TpH;
-   $('#wb_ph').val(Math.round(ph * 10) / 10);
+   $('#wb_ph').val(Round(ph, 2));
+   $('#est_mash_ph').val(Round(ph, 2));
   } else { // Manual
+   /* Manual calculate pH */
+   $('.c_mashph').hide();
    console.log('calc_acid no');
-   // First add base salts
-   if (parseFloat($('#wa_base').jqxNumberInput('decimal')) > 0) {
-    if (liters > 0) {
-     switch (BT) {
-      case 0: // Sodiumbicarbonate, Na
-       RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3;
-       RA = 1000 * RA / liters;
-       sodium = wg_sodium + RA;
-       // HCO3
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3;
-       RA = 1000 * RA / liters;
-       bicarbonate = wg_bicarbonate + RA;
-       total_alkalinity = bicarbonate * 50 / 61;
-       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-       break;
-      case 1: // Sodiumcarbonate
-       RA = parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3;
-       RA = 1000 * RA / liters;
-       sodium = wg_sodium + RA;
-       // HCO3
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3;
-       RA = 1000 * RA / liters;
-       bicarbonate = wg_bicarbonate + RA;
-       total_alkalinity = bicarbonate * 50 / 61;
-       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-       break;
-      case 2: // Calciumcarbonate: Bicarbonate
-       RA = parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 / MMCaCO3;
-       RA = 1000 * RA / liters;
-       bicarbonate = wg_bicarbonate + RA;
-       total_alkalinity = bicarbonate * 50 / 61;
-       RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
-       // Ca
-       RA = parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 +
-            parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 +
-            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3;
-       RA = 1000 * RA / liters;
-       calcium = wg_calcium + RA;
-       break;
-     }
+   if (parseFloat($('#wa_base').jqxNumberInput('decimal')) > 0 && liters > 0) {
+    /* First add the base salts */
+    switch (BT) {
+     case 0: // Sodiumbicarbonate, Na
+      RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMNa / MMNaHCO3 * 1000) / liters;
+      sodium = wg_sodium + RA;
+      // HCO3
+      RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
+      bicarbonate = wg_bicarbonate + RA;
+      total_alkalinity = bicarbonate * 50 / 61;
+      RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      break;
+     case 1: // Sodiumcarbonate
+      RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
+            parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
+      sodium = wg_sodium + RA;
+      // HCO3
+      RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
+      bicarbonate = wg_bicarbonate + RA;
+      total_alkalinity = bicarbonate * 50 / 61;
+      RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      break;
+     case 2: // Calciumcarbonate: Bicarbonate
+      RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters;
+      bicarbonate = wg_bicarbonate + RA;
+      total_alkalinity = bicarbonate * 50 / 61;
+      RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
+      // Ca
+      RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 +
+            parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 +
+            parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCO3) / liters;
+      calcium = wg_calcium + RA;
+      break;
     }
    }
 
-   TpH = parseFloat(dataRecord.mash_ph);
-   pHa = MashpH(); // This one is in demi water, should be in adjusted water???
-   // Then calculate the new pH with added acids
-   if (parseFloat($('#wa_acid').jqxNumberInput('decimal')) > 0) {
-    console.log('TpH: ' + TpH + ' water: ' + pHa);
-    Acid = parseFloat($('#wa_acid').jqxNumberInput('decimal'));
-    if (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) == 0)
-     $('#wa_acid_perc').val(AcidPrc);
-    Acid = Acid / AcidPrc * (parseFloat($('#wa_acid_perc').jqxNumberInput('decimal')) / 100); // ml
-    Acid *= AcidSG; // ml
-    Acid /= MolWt;  // mg
-    Acidmg = Acid;
+   pHa = Round(ph, 3); // Adjusted water pH
+   // Then calculate the new pH with added acids and malts
+   console.log('Mash pH: ' + pHa);
+   Acid  = AcidTypeData[AT].AcidSG * (parseFloat(dataRecord.wa_acid_perc) / 100); // ml
+   Acid *= parseFloat($('#wa_acid').jqxNumberInput('decimal'));
+   Acid /= AcidTypeData[AT].MolWt;  // mg
+   Acidmg = Acid;
 
-    //find the pH where the protondeficit = protondeficit by the acid
-    frac = CalcFrac(pHa, pK1, pK2, pK3);
-    protonDeficit = Acid * frac;
+   //find the pH where the protondeficit = protondeficit by the acid
+   frac = CalcFrac(pHa, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
+   protonDeficit = Round(Acid * frac, 3);
+   //console.log('protonDeficit Acid: ' + protonDeficit + ' frac: ' + frac + ' pH: ' + pHa);
 
-    deltapH = 0.001;
-    deltapd = 0.1;
-    pd = ProtonDeficit(pHa);
-    n = 0;
-    while (((pd < (protonDeficit - deltapd)) || (pd > (protonDeficit + deltapd))) && (n < 2000)) {
+   deltapH = 0.001;
+   deltapd = 0.1;
+   pd = Round(ProtonDeficit(pHa), 6);
+   n = 0;
+   while (((pd < (protonDeficit - deltapd)) || (pd > (protonDeficit + deltapd))) && (n < 4000)) {
      n++;
      if (pd < (protonDeficit - deltapd))
       pHa -= deltapH;
      else if (pd > (protonDeficit + deltapd))
       pHa += deltapH;
-     frac = CalcFrac(pHa, pK1, pK2, pK3);
+     frac = CalcFrac(pHa, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
      protonDeficit = Acid * frac;
      pd = ProtonDeficit(pHa);
-    }
-    console.log('n: ' + n + ' pd: ' + pd + ' protonDeficit: ' + protonDeficit + ' frac: ' + frac + ' pHa: ' + pHa);
-    RA = wg_bicarbonate - protonDeficit * frac / liters;
-    bicarbonate = RA;
-    total_alkalinity = RA * 50 / 61;
-    ph = pHa;
-    $('#wb_ph').val(Round(ph, 1));
    }
+   //console.log('n: ' + n + ' pd: ' + pd + ' protonDeficit: ' + protonDeficit + ' frac: ' + frac + ' pHa: ' + pHa);
+   RA = wg_bicarbonate - protonDeficit * frac / liters;
+   bicarbonate = RA;
+   total_alkalinity = RA * 50 / 61;
+   ph = pHa;
+   $('#wb_ph').val(Round(ph, 2));
+   $('#est_mash_ph').val(Round(ph, 2));
   }
 
   if ((AT == 3) && (liters > 0)) {        // Sulfuctic / Zwavelzuur
@@ -2221,39 +2184,50 @@
    chloride = wg_chloride + RA;
   }
 
-  // 2:1 Sulfate to Chroride IPA's, Pale Ales.
-  // 1:1 Sulfate to Chloride Balanced
-  // 1:2 Sulfate to Chloride Malty
-  // Note, values below are the other way, cl to so4!
-  // So: 0.5 is IPA's, Pale Ales.
-  //       1 Balanced
-  //       2 Malty.
-  $('#tgt_bu').val(Math.round(GetBUGU() * 100) / 100);
+  var BUGU = GetBUGU();
+  $('#tgt_bu').val(Round(BUGU, 2));
   // From brouwhulp.
-  if (GetBUGU() < 0.32)
+  if (BUGU < 0.32)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig en zoet</span>");
-  else if (GetBUGU() < 0.43)
+  else if (BUGU < 0.43)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig, zoet</span>");
-  else if (GetBUGU() < 0.52)
+  else if (BUGU < 0.52)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Evenwichtig</span>");
-  else if (GetBUGU() < 0.63)
+  else if (BUGU < 0.63)
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht hoppig, bitter</span>");
   else
    $('#wr_bu').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Extra hoppig, zeer bitter</span>");
-  $('#tgt_cl_so4').val(Math.round(GetOptClSO4ratio() * 10) / 10);
-  if (sulfate > 0)
-   RA = chloride / sulfate;
+
+  // Sulfate to Chloride ratio (Palmer).
+  var OptSO4Clratio = GetOptSO4Clratio();
+  $('#tgt_so4_cl').val(Round(OptSO4Clratio, 1));
+  if (OptSO4Clratio < 0.4)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Te moutig</span>");
+  else if (OptSO4Clratio < 0.6)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer moutig</span>");
+  else if (OptSO4Clratio < 0.8)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Moutig</span>");
+  else if (OptSO4Clratio < 1.5)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Gebalanceerd</span>");
+  else if (OptSO4Clratio < 2.0)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Licht bitter</span>");
+  else if (OptSO4Clratio < 4.0)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Bitter</span>");
+  else if (OptSO4Clratio < 9.0)
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Zeer bitter</span>");
+  else
+   $('#wrt_so4_cl').html("<span style='vertical-align: top; font-size: 14px; font-style: italic;'>Te bitter</span>");
+  if (chloride > 0)
+   RA = sulfate / chloride;
   else
    RA = 10;
-  $('#got_cl_so4').val(Math.round(RA * 10) / 10);
-  piCLSO4_low = 0.8 * GetOptClSO4ratio();
-  piCLSO4_high = 1.2 * GetOptClSO4ratio();
+  $('#got_so4_cl').val(Round(RA, 1));
   Res = 'normaal';
-  if (RA < piCLSO4_low)
+  if (RA < (0.8 * OptSO4Clratio))
    Res = 'laag';
-  else if (RA > piCLSO4_high)
+  else if (RA > (1.2 * OptSO4Clratio))
    Res = 'hoog';
-  setRangeIndicator('cl_so4', Res);
+  setRangeIndicator('so4_cl', Res);
 
   $('#wb_calcium').val(Round(calcium, 1));
   $('#wb_magnesium').val(Round(magnesium, 1));
@@ -2307,14 +2281,11 @@
 
 
  function calcSparge() {
-  var TargetpH, Source_pH, Source_alkalinity, r1, r2, d, f1, f3,
-  r143, r243, d43, f143, f343, alkalinity, Ct, r1g, r2g, dg, f1g, f3g,
-  Acid, AT, result, pK1, pK2, pK3, MolWt, AcidSG, AcidPrc, fract;
 
-  // Code from BrewBuddy/Brouwhulp, who got it from http://www.brewery.org/brewery/library/Acidi0,00fWaterAJD0497.html
-  TargetpH = dataRecord.sparge_ph;
-  Source_pH = dataRecord.w1_ph;
-  Source_alkalinity = dataRecord.w1_total_alkalinity;
+  /* Based on the work of ajDeLange. */
+  var TargetpH = dataRecord.sparge_ph;
+  var Source_pH = dataRecord.w1_ph;
+  var Source_alkalinity = dataRecord.w1_total_alkalinity;
   // Select watersource or fallback to the first source.
   if (dataRecord.sparge_source == 1) { // Source 2
    if (dataRecord.w2_ph > 0.0) {
@@ -2335,63 +2306,54 @@
   }
 
   // Step 1: Compute the mole fractions of carbonic (f1o), bicarbonate (f2o) and carbonate(f3o) at the water pH
-  r1 = Math.pow(10, Source_pH - 6.38);
-  r2 = Math.pow(10, Source_pH - 10.373);
-  d = 1 + r1 + r1 * r2;
-  f1 = 1 / d;
-  f3 = r1 * r2 / d;
+  var r1 = Math.pow(10, Source_pH - 6.35);
+  var r2 = Math.pow(10, Source_pH - 10.33);
+  var d = 1 + r1 + r1 * r2;
+  var f1 = 1 / d;
+  var f3 = r1 * r2 / d;
 
   //Step 2. Compute the mole fractions at pH = 4.3 (the pH which defines alkalinity)
-  r143 = Math.pow(10, 4.3 - 6.38);
-  r243 = Math.pow(10, 4.3 - 10.373);
-  d43 = 1 + r143 + r143 * r243;
-  f143 = 1 / d43;
-  f343 = r143 * r243 / d43;
+  var r143 = Math.pow(10, 4.3 - 6.35);
+  var r243 = Math.pow(10, 4.3 - 10.33);
+  var d43 = 1 + r143 + r143 * r243;
+  var f143 = 1 / d43;
+  var f343 = r143 * r243 / d43;
 
-  //Step 3. Convert the sample alkalinity to milliequivalents/L
-  alkalinity = Source_alkalinity / 50;
   //Step 4. Solve
-  Ct = (alkalinity - 1000 * (Math.pow(10, -4.3) - Math.pow(10, -Source_pH))) / ((f143 - f1) + (f3 - f343));
+  //var Ct = (alkalinity - 1000 * (Math.pow(10, -4.3) - Math.pow(10, -Source_pH))) / ((f143 - f1) + (f3 - f343));
+  var Ct = Source_alkalinity / 50 / ((f143 - f1) + (f3 - f343));
 
   //Step 5. Compute mole fractions at desired pH
-  r1g = Math.pow(10, TargetpH - 6.38);
-  r2g = Math.pow(10, TargetpH - 10.373);
-  dg = 1 + r1g + r1g * r2g;
-  f1g = 1 / dg;
-  f3g = r1g * r2g / dg;
+  var r1g = Math.pow(10, TargetpH - 6.35);
+  var r2g = Math.pow(10, TargetpH - 10.33);
+  var dg = 1 + r1g + r1g * r2g;
+  var f1g = 1 / dg;
+  var f3g = r1g * r2g / dg;
 
   //Step 6. Use these to compute the milliequivalents acid required per liter (mEq/L)
-  Acid = Ct * ((f1g - f1) + (f3 - f3g)) + Math.pow(10, -TargetpH) - Math.pow(10, -Source_pH);  //mEq/l
+  var Acid = Ct * ((f1g - f1) + (f3 - f3g)) + Math.pow(10, -TargetpH) - Math.pow(10, -Source_pH);  //mEq/l
   Acid += 0.01;   // Add acid that would be required for distilled water.
-  if (dataRecord.sparge_acid_type < 0 || dataRecord.sparge_acid_type > 3) {
-   dataRecord.sparge_acid_type = 0;
-   $('#sparge_acid_type').val(0);
-  }
 
   //Step 8. Get the acid data.
   AT = dataRecord.sparge_acid_type;
-  result = GetAcidSpecs(AT);
-  pK1 = result.pK1;
-  pK2 = result.pK2;
-  pK3 = result.pK3;
-  MolWt = result.MolWt;
-  AcidSG = result.AcidSG;
-  AcidPrc = result.AcidPrc;
-  fract = CalcFrac(TargetpH, pK1, pK2, pK3);
+  if (AT < 0 || AT >= AcidTypeData.length) {
+   AT = 0;
+   dataRecord.sparge_acid_type = 0;
+   $('#sparge_acid_type').val(0);
+   dataRecord.sparge_acid_perc = AcidTypeData[0].AcidPrc;
+   $('#sparge_acid_perc').val(dataRecord.sparge_acid_perc);
+  }
+  var fract = CalcFrac(TargetpH, AcidTypeData[AT].pK1, AcidTypeData[AT].pK2, AcidTypeData[AT].pK3);
 
   //Step 9. Now divide the mEq required by the "fraction". This is the required number of moles of acid.
   Acid /= fract;
 
   //Step 10. Multiply by molecular weight of the acid
-  Acid *= MolWt; //mg
+  Acid *= AcidTypeData[AT].MolWt; //mg
 
-  Acid = Acid / AcidSG; //ml ; 88% lactic solution
-  f1 = dataRecord.sparge_acid_perc;
-  if (f1 <= 0.1)
-   f1 = AcidPrc;
-  Acid = Acid * AcidPrc / (f1 / 100);
-
-  Acid *= dataRecord.sparge_volume; //ml lactic acid total
+  //Step 11. Divide by Specific Gravity and Percentage to get the final ml.
+  Acid = Acid / AcidTypeData[AT].AcidSG / (dataRecord.sparge_acid_perc / 100); //ml
+  Acid *= dataRecord.sparge_volume; //ml acid total
   Acid = Round(Acid, 2);
   dataRecord.sparge_acid_amount = Acid / 1000;
   $('#sparge_acid_amount').val(Acid);
@@ -2493,7 +2455,7 @@
     calcWater();
    }
   });
-  $('#wa_base_name').on('change', function(event) {
+  $('#wa_base_name').on('select', function(event) {
    if (event.args) {
     var index = event.args.index;
     setWaterAgent(last_base, 0);
@@ -2508,7 +2470,7 @@
    setWaterAgent(name, parseFloat(event.args.value));
    calcWater();
   });
-  $('#wa_acid_name').on('change', function(event) {
+  $('#wa_acid_name').on('select', function(event) {
    if (event.args) {
     var index = event.args.index;
     setWaterAgent(last_acid, 0);
@@ -2525,21 +2487,21 @@
   });
   $('#wa_acid_perc').on('change', function(event) { calcWater(); });
 
-  $('#color_method').on('change', function(event) {
+  $('#color_method').on('select', function(event) {
    dataRecord.color_method = event.args.index;
    calcFermentables();
   });
-  $('#ibu_method').on('change', function(event) {
+  $('#ibu_method').on('select', function(event) {
    dataRecord.ibu_method = event.args.index;
    calcFermentables();
    calcIBUs();
   });
   $('#batch_size').on('change', function(event) {
    console.log('batch_size change:' + event.args.value + ' old:' + dataRecord.batch_size);
-   var factor, new_boil = parseFloat(event.args.value) + dataRecord.boil_size - dataRecord.batch_size;
-   factor = parseFloat(event.args.value) / dataRecord.batch_size;
-   dataRecord.boil_size = new_boil;
-   $('#boil_size').val(Round(new_boil, 2));
+   var evap = (0.1 * parseFloat(event.args.value)) * dataRecord.boil_time / 60;
+   dataRecord.boil_size = parseFloat(event.args.value) + evap;
+   var factor = parseFloat(event.args.value) / dataRecord.batch_size;
+   $('#boil_size').val(Round(dataRecord.boil_size, 2));
    dataRecord.sparge_volume *= factor;
    $('#sparge_volume').val(dataRecord.sparge_volume);
    dataRecord.batch_size = parseFloat(event.args.value);
@@ -2556,14 +2518,11 @@
   });
   $('#boil_time').on('change', function(event) {
    console.log('boil_time change:' + parseFloat(event.args.value) + ' old:' + dataRecord.boil_time);
-   var new_boil, new_evap, old_evap = parseFloat(dataRecord.boil_size) - parseFloat(dataRecord.batch_size);
-   new_evap = old_evap * (parseFloat(event.args.value) / dataRecord.boil_time);
-   new_boil = parseFloat(dataRecord.batch_size) + new_evap;
+   var new_evap = (0.1 * parseFloat(dataRecord.batch_size)) * parseFloat(event.args.value) / 60;
+   dataRecord.boil_size = parseFloat(dataRecord.batch_size) + new_evap;
    dataRecord.boil_time = parseFloat(event.args.value);
-   dataRecord.boil_size = new_boil;
-   $('#boil_size').val(Round(new_boil, 2));
+   $('#boil_size').val(Round(dataRecord.boil_size, 2));
    calcFermentables();
-   // TODO: adjust the hops, miscs, yeast, water.
    calcIBUs();
   });
   $('#efficiency').on('change', function(event) {
@@ -2595,14 +2554,14 @@
    dataRecord.sparge_volume = parseFloat(event.args.value);
    calcSparge();
   });
-  $('#sparge_source').on('change', function(event) {
+  $('#sparge_source').on('select', function(event) {
    if (event.args) {
     var index = event.args.index;
     dataRecord.sparge_source = index;
     calcSparge();
    }
   });
-  $('#sparge_acid_type').on('change', function(event) {
+  $('#sparge_acid_type').on('select', function(event) {
    if (event.args) {
     var index = event.args.index;
     dataRecord.sparge_acid_type = index;
@@ -3302,7 +3261,7 @@
  $('#wh_amount').on('change', function(event) {
   var ibu, amount = parseFloat(event.args.value) / 1000;
   ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-   amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val());
+   amount, parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(), 0, parseFloat(hopData.h_time), 0);
   hopData.h_amount = amount;
   console.log('amount changed: ' + event.args.value + ' time:' + hopData.h_time + ' alpha:' + hopData.h_alpha + ' IBU:' + ibu);
   $('#wh_ibu').val(ibu);
@@ -3332,7 +3291,7 @@
    hopData.h_time = newtime * 1440;
   }
   ibu = toIBU(hopData.h_useat, hopData.h_form, preboil_sg, parseFloat($('#batch_size').jqxNumberInput('decimal')),
-   parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val());
+   parseFloat(hopData.h_amount), parseFloat(hopData.h_time), parseFloat(hopData.h_alpha), $('#ibu_method').val(), 0, parseFloat(hopData.h_time), 0);
   $('#wh_ibu').val(ibu);
  });
  $('#wh_useat').jqxDropDownList({
@@ -3509,6 +3468,13 @@
    y_cells: yeastData.y_cells,
    y_tolerance: yeastData.y_tolerance,
    y_inventory: yeastData.y_inventory,
+   y_sta1: yeastData.y_sta1,
+   y_bacteria: yeastData.y_bacteria,
+   y_harvest_top: yeastData.y_harvest_top,
+   y_harvest_time: yeastData.y_harvest_time,
+   y_pitch_temperature: yeastData.y_pitch_temperature,
+   y_pofpos: yeastData.y_pofpos,
+   y_zymocide: yeastData.y_zymocide,
    y_avail: yeastData.y_avail
   };
   $('#yeastGrid').jqxGrid('updaterow', rowID, row);
@@ -3555,9 +3521,16 @@
    yeastData.y_attenuation = datarecord.attenuation;
    yeastData.y_cells = datarecord.cells;
    yeastData.y_inventory = datarecord.inventory;
+   yeastData.y_sta1 = datarecord.sta1;
+   yeastData.y_bacteria = datarecord.bacteria;
+   yeastData.y_harvest_top = datarecord.harvest_top;
+   yeastData.y_harvest_time = datarecord.harvest_time;
+   yeastData.y_pitch_temperature = datarecord.pitch_temperature;
+   yeastData.y_pofpos = datarecord.pofpos;
+   yeastData.y_zymocide = datarecord.zymocide;
    if (yeastData.y_form == 0) {
     $('#wy_pmpt_amount').html('Pak(ken):');
-   } else if (yeastData.y_form == 1) {
+   } else if (yeastData.y_form == 1 || yeastData.y_form == 6) {
     $('#wy_pmpt_amount').html('Gewicht gram:');
    } else {
     $('#wy_pmpt_amount').html('Volume ml:');
@@ -3741,8 +3714,7 @@
 
  // Tab 7, Water
  $('#tgt_bu').jqxNumberInput(Show2wat);
- $('#tgt_cl_so4').jqxNumberInput(Show1wat);
- $('#got_cl_so4').jqxNumberInput(Show1wat);
+ $('#tgt_so4_cl,#got_so4_cl').jqxNumberInput(Show1wat);
 
  // Water source 1
  $('#w1_name').jqxDropDownList({
@@ -3786,7 +3758,7 @@
  $('#w1_total_alkalinity').jqxNumberInput(Show1wat);
  $('#w1_chloride').jqxNumberInput(Show1wat);
  $('#w1_sulfate').jqxNumberInput(Show1wat);
- $('#w1_ph').jqxNumberInput(Show1wat);
+ $('#w1_ph').jqxNumberInput(Show2wat);
  // Water source 2
  $('#w2_name').jqxDropDownList({
   placeHolder: 'Kies meng water:',
@@ -3831,7 +3803,7 @@
  $('#w2_total_alkalinity').jqxNumberInput(Show1wat);
  $('#w2_chloride').jqxNumberInput(Show1wat);
  $('#w2_sulfate').jqxNumberInput(Show1wat);
- $('#w2_ph').jqxNumberInput(Show1wat);
+ $('#w2_ph').jqxNumberInput(Show2wat);
  // Water mixed
  $('#wg_amount').jqxNumberInput(Show1wat);
  $('#wg_calcium').jqxNumberInput(Show1wat);
@@ -3840,7 +3812,7 @@
  $('#wg_total_alkalinity').jqxNumberInput(Show1wat);
  $('#wg_chloride').jqxNumberInput(Show1wat);
  $('#wg_sulfate').jqxNumberInput(Show1wat);
- $('#wg_ph').jqxNumberInput(Show1wat);
+ $('#wg_ph').jqxNumberInput(Show2wat);
  // Water treated
  $('#wb_calcium').jqxTooltip({ content: 'De ideale hoeveelheid Calcium is tussen 40 en 150.'});
  $('#wb_calcium').jqxNumberInput(Show1wat);
@@ -3853,7 +3825,7 @@
  $('#wb_sulfate').jqxTooltip({ content: 'De ideale hoeveelheid Sulfaat is tussen 50 en 350.'});
  $('#wb_sulfate').jqxNumberInput(Show1wat);
  $('#wb_total_alkalinity').jqxNumberInput(Show1wat);
- $('#wb_ph').jqxNumberInput(Show1wat);
+ $('#wb_ph').jqxNumberInput(Show2wat);
  // Water target profile
  $('#pr_name').jqxDropDownList({
   placeHolder: 'Kies doel profiel:',
@@ -3875,6 +3847,7 @@
    $('#pr_sodium').val(datarecord.sodium);
    $('#pr_magnesium').val(datarecord.magnesium);
    $('#pr_total_alkalinity').val(datarecord.total_alkalinity);
+   calcWater();
   }
  });
  $('#pr_calcium').jqxNumberInput(Show1wat);
@@ -3887,11 +3860,16 @@
  // Water agents
  $('#wa_cacl2').jqxTooltip({ content: 'Voor het maken van een ander waterprofiel. Voegt calcium en chloride toe. Voor het verbeteren van zoetere bieren.'});
  $('#wa_cacl2').jqxNumberInput(Spin1dec);
- $('#wa_caso4').jqxTooltip({ content: 'Gips. Voor het maken van een ander waterprofiel. Voegt calcium en sulfaat toe. Voor het verbeteren van bittere bieren.'});
+ $('#wa_caso4').jqxTooltip({
+  content: 'Gips. Voor het maken van een ander waterprofiel. Voegt calcium en sulfaat toe. Voor het verbeteren van bittere bieren.'
+ });
  $('#wa_caso4').jqxNumberInput(Spin1dec);
  $('#wa_mgso4').jqxTooltip({ content: 'Epsom zout. Voor het maken van een ander waterprofiel. Voegt magnesium en sulfaat toe. Gebruik spaarzaam!'});
  $('#wa_mgso4').jqxNumberInput(Spin1dec);
- $('#wa_nacl').jqxTooltip({ content: 'Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig.'});
+ $('#wa_nacl').jqxTooltip({
+  content: 'Keukenzout. Voor het maken van een ander waterprofiel. Voegt natrium en chloride toe. ' +
+  'Voor het accentueren van zoetheid. Bij hoge dosering wordt het bier ziltig.'
+ });
  $('#wa_nacl').jqxNumberInput(Spin1dec);
  $('#mash_ph').jqxTooltip({ content: 'Maisch pH tussen 5.2 en 5.6. Gebruik 5.2 voor lichte en 5.5 voor donkere bieren.'});
  $('#mash_ph').jqxNumberInput(SpinpH);
--- a/www/js/rec_export-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a=0;$("#name").html(my_name);$("#jqxRadioButton1").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton2").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton3").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton4").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton5").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton1").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=1});$("#jqxRadioButton2").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=2});$("#jqxRadioButton3").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=3});$("#jqxRadioButton4").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=4});$("#jqxRadioButton5").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=5});$("#Start").jqxButton({template:"success",width:"100px",theme:theme,disabled:true});$("#Start").click(function(){if(a==1){window.open("rec_beerxml.php?record="+my_record)}else{if(a==2){window.open("rec_duplicate.php?record="+my_record)}else{if(a==3){window.open("rec_toproduct.php?record="+my_record)}else{if(a==4){window.open("rec_print.php?record="+my_record)}else{if(a==5){window.open("rec_forum.php?record="+my_record)}}}}}window.location.href="rec_edit.php?record="+my_record+"&return="+my_return})});
\ No newline at end of file
--- a/www/js/rec_export.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/rec_export.js	Fri May 01 16:37:31 2020 +0200
@@ -21,51 +21,50 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
-
-	var     choice = 0;
+$(document).ready(function() {
 
-	$("#name").html(my_name);
-	$("#jqxRadioButton1").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton2").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton3").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$("#jqxRadioButton4").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-        $("#jqxRadioButton5").jqxRadioButton({ theme: theme, width: 250, height: 23 });
-	$('#jqxRadioButton1').on('checked', function (event) {
-		$('#Start').jqxButton({ disabled: false });
-		choice = 1;
-	});
-	$('#jqxRadioButton2').on('checked', function (event) {
-		$('#Start').jqxButton({ disabled: false });
-		choice = 2;
-	});
-	$('#jqxRadioButton3').on('checked', function (event) {
-		$('#Start').jqxButton({ disabled: false });
-		choice = 3;
-	});
-	$('#jqxRadioButton4').on('checked', function (event) {
-                $('#Start').jqxButton({ disabled: false });
-                choice = 4;
-        });
-        $('#jqxRadioButton5').on('checked', function (event) {
-                $('#Start').jqxButton({ disabled: false });
-                choice = 5;
-        });
+ var choice = 0;
+ $('#name').html(my_name);
+ $('#jqxRadioButton1').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton2').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton3').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton4').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton5').jqxRadioButton({ theme: theme, width: 250, height: 23 });
+ $('#jqxRadioButton1').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 1;
+ });
+ $('#jqxRadioButton2').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 2;
+ });
+ $('#jqxRadioButton3').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 3;
+ });
+ $('#jqxRadioButton4').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 4;
+ });
+ $('#jqxRadioButton5').on('checked', function(event) {
+  $('#Start').jqxButton({ disabled: false });
+  choice = 5;
+ });
 
-	$('#Start').jqxButton({ template: "success", width: '100px', theme: theme, disabled: true });
-	$('#Start').click(function () {
-		if (choice == 1) {
-			window.open('rec_beerxml.php?record=' + my_record);
-		} else if (choice == 2) {
-			window.open('rec_duplicate.php?record=' + my_record);
-		} else if (choice == 3) {
-			window.open('rec_toproduct.php?record=' + my_record);
-		} else if (choice == 4) {
-                        window.open('rec_print.php?record=' + my_record);
-                } else if (choice == 5) {
-                        window.open('rec_forum.php?record=' + my_record);
-                }
-		// Return to the original recipe
-		window.location.href = "rec_edit.php?record=" + my_record + "&return=" + my_return;
-	});
+ $('#Start').jqxButton({ template: 'success', width: '100px', theme: theme, disabled: true });
+ $('#Start').click(function() {
+  if (choice == 1) {
+   window.open('rec_beerxml.php?record=' + my_record);
+  } else if (choice == 2) {
+   window.open('rec_duplicate.php?record=' + my_record);
+  } else if (choice == 3) {
+   window.open('rec_toproduct.php?record=' + my_record);
+  } else if (choice == 4) {
+   window.open('rec_print.php?record=' + my_record);
+  } else if (choice == 5) {
+   window.open('rec_forum.php?record=' + my_record);
+  }
+  // Return to the original recipe
+  window.location.href = 'rec_edit.php?record=' + my_record + '&return=' + my_return;
+ });
 });
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/js/rec_forum.js	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,27 @@
+
+$(document).ready(function() {
+
+ /**
+  * This will copy the innerHTML of an element to the clipboard
+  * @param element reference OR string
+  */
+ function copyToClipboard(e) {
+    var tempItem = document.createElement('textarea');
+
+    document.body.appendChild(tempItem);
+    tempItem.value = e;
+    tempItem.select();
+    document.execCommand('Copy');
+
+    tempItem.parentElement.removeChild(tempItem);
+ }
+
+
+ $('#copytoClipboard').jqxButton({ template: 'success', theme: theme, width: 150 });
+ $('#copytoClipboard').click(function() {
+  copyToClipboard(forumstr);
+  window.close();
+ });
+
+});
+
--- a/www/js/rec_import-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/xml",uploadUrl:"upl_recipe.php",fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(c){var b=c.args,d=b.file,a=b.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> "+d+"  size: "+a+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(c){var b=c.args,d=b.file,a=b.response;$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> ontvangen "+d+"<br />"+a+"<br />")})});
\ No newline at end of file
--- a/www/js/rec_import.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/rec_import.js	Fri May 01 16:37:31 2020 +0200
@@ -21,36 +21,36 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	$('#jqxFileUpload').jqxFileUpload({
-		width: 300,
-		browseTemplate: 'success',
-		cancelTemplate: 'inverse',
-		uploadTemplate: 'primary',
-		theme: theme,
-		multipleFilesUpload: false,
-		accept: 'application/xml',
-		uploadUrl: 'upl_recipe.php',
-		fileInputName: 'fileToUpload'
-	});
-	$('#eventsPanel').jqxPanel({
-		width: 800,
-		height: 200,
-		theme: theme
-	});
-	$('#jqxFileUpload').on('select', function (event) {
-		var args = event.args,
-		fileName = args.file,
-		fileSize = args.size;
-		$('#eventsPanel').jqxPanel('clearcontent');
-		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
-	});
-	$('#jqxFileUpload').on('uploadEnd', function (event) {
-		var args = event.args,
-		fileName = args.file,
-		serverResponce = args.response;
-		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
-	});
+ $('#jqxFileUpload').jqxFileUpload({
+  width: 300,
+  browseTemplate: 'success',
+  cancelTemplate: 'inverse',
+  uploadTemplate: 'primary',
+  theme: theme,
+  multipleFilesUpload: false,
+  accept: 'application/xml',
+  uploadUrl: 'upl_recipe.php',
+  fileInputName: 'fileToUpload'
+ });
+ $('#eventsPanel').jqxPanel({
+  width: 800,
+  height: 200,
+  theme: theme
+ });
+ $('#jqxFileUpload').on('select', function(event) {
+  var args = event.args,
+  fileName = args.file,
+  fileSize = args.size;
+  $('#eventsPanel').jqxPanel('clearcontent');
+  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
+ });
+ $('#jqxFileUpload').on('uploadEnd', function(event) {
+  var args = event.args,
+  fileName = args.file,
+  serverResponce = args.response;
+  $('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
+ });
 
 });
--- a/www/js/rec_main-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"st_name",type:"string"},{name:"st_letter",type:"string"},{name:"st_guide",type:"string"},{name:"name",type:"string"},{name:"est_og",type:"float"},{name:"est_color",type:"float"},{name:"est_ibu",type:"float"},{name:"est_abv",type:"float"},],id:"record",url:"includes/db_recipes.php"},b=new $.jqx.dataAdapter(a);$("#jqxgrid").jqxGrid({width:1280,height:630,source:b,groupable:true,theme:theme,showstatusbar:true,renderstatusbar:function(e){var d,c=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");d=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");c.append(d);e.append(c);d.jqxButton({theme:theme,width:100,height:20});d.click(function(f){window.location.href="rec_new.php?return=rec_main.php"})},filterable:true,filtermode:"excel",columns:[{text:"Stijlgids",datafield:"st_guide",width:120},{text:"Letter",datafield:"st_letter",width:60},{text:"Stijl",datafield:"st_name",width:160},{text:"Naam",datafield:"name"},{text:"OG",datafield:"est_og",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"EBC",datafield:"est_color",width:60,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"IBU",datafield:"est_ibu",width:60,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"ABV",datafield:"est_abv",width:60,align:"right",cellsalign:"right",cellsformat:"p1"},{text:"",datafield:"Edit",width:120,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(d){var c=b.records[d];window.location.href="rec_edit.php?record="+c.record+"&return=rec_main.php"}}],groups:["st_guide","st_letter"]})});
\ No newline at end of file
--- a/www/js/rec_main.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/rec_main.js	Fri May 01 16:37:31 2020 +0200
@@ -51,7 +51,8 @@
   showstatusbar: true,
   renderstatusbar: function(statusbar) {
    var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-   addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");
+   addButton = $('<div style="float: right; margin-right: 15px;"><img style="position: relative; margin-top: 2px;" ' +
+     'src="images/add.png"/><span style="margin-left: 4px; position: relative; top: -3px;">Add</span></div>');
    container.append(addButton);
    statusbar.append(container);
    addButton.jqxButton({ theme: theme, width: 100, height: 20 });
--- a/www/js/rec_new-min.js	Fri Oct 18 13:20:35 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-$(document).ready(function(){var a=2,b=0,c=(function(){var d=function(){$("#name").on("change",function(e){c.validate(true)});$("#type").on("change",function(e){c.validate(true)});$("#boil_time").on("change",function(e){c.validate(true)});$("#est_og").on("change",function(e){c.validate(true)});$("#efficiency").on("change",function(e){c.validate(true)});$("#styleSelect").on("change",function(e){c.validate(true)});$("#nextButtonCompleted").click(function(){console.log("insert start");var f={record:-1,locked:0,name:$("#name").val(),notes:$("#notes").val(),st_name:$("#st_name").val(),st_letter:$("#st_style_letter").val(),st_guide:$("#st_style_guide").val(),st_category:$("#st_category").val(),st_category_number:parseFloat($("#st_category_number").jqxNumberInput("decimal")),st_type:b,st_og_min:parseFloat($("#st_og_min").jqxNumberInput("decimal")),st_og_max:parseFloat($("#st_og_max").jqxNumberInput("decimal")),st_fg_min:parseFloat($("#st_fg_min").jqxNumberInput("decimal")),st_fg_max:parseFloat($("#st_fg_max").jqxNumberInput("decimal")),st_ibu_min:parseFloat($("#st_ibu_min").jqxNumberInput("decimal")),st_ibu_max:parseFloat($("#st_ibu_max").jqxNumberInput("decimal")),st_color_min:parseFloat($("#st_color_min").jqxNumberInput("decimal")),st_color_max:parseFloat($("#st_color_max").jqxNumberInput("decimal")),st_carb_min:parseFloat($("#st_carb_min").jqxNumberInput("decimal")),st_carb_max:parseFloat($("#st_carb_max").jqxNumberInput("decimal")),st_abv_min:parseFloat($("#st_abv_min").jqxNumberInput("decimal")),st_abv_max:parseFloat($("#st_abv_max").jqxNumberInput("decimal")),type:a,batch_size:20,boil_size:22,boil_time:parseFloat($("#boil_time").jqxNumberInput("decimal")),efficiency:parseFloat($("#efficiency").jqxNumberInput("decimal")),est_og:parseFloat($("#est_og").jqxNumberInput("decimal")),est_fg:1,est_color:0,est_abv:0,est_carb:0,color_method:0,est_ibu:0,ibu_method:0,mash_name:"",mash_ph:5.4,sparge_temp:85,sparge_volume:12,sparge_ph:5.8,sparge_source:0,sparge_acid_type:0,sparge_acid_perc:80,sparge_acid_amount:0,calc_acid:true,w1_name:"Tap water",w1_amount:15,w1_calcium:0,w1_sulfate:0,w1_chloride:0,w1_sodium:0,w1_magnesium:0,w1_total_alkalinity:0,w1_ph:7,w1_cost:0,wa_acid_name:0,wa_acid_perc:80,wa_base_name:0},e="insert=true&return="+my_return+"&"+$.param(f);$.ajax({dataType:"json",url:"includes/db_recipes.php",cache:false,data:e,type:"POST",success:function(h,g,i){window.location.href=my_return},error:function(g,i,h){}})});$(".nextButton").click(function(){c.validate(true);$("#jqxTabs").jqxTabs("next")});$(".backButton").click(function(){c.validate(true);$("#jqxTabs").jqxTabs("previous")})};return{init:function(){$("#jqxTabs").jqxTabs({theme:theme,height:630,width:1280,autoHeight:false,position:"top",keyboardNavigation:false});$("#nextButtonBase").jqxButton({theme:theme,width:150});$("#nextButtonStyle").jqxButton({theme:theme,width:150});$("#backButtonStyle").jqxButton({theme:theme,template:"success",width:150});$("#nextButtonCompleted").jqxButton({theme:theme,template:"success",width:150});$("#backButtonCompleted").jqxButton({theme:theme,template:"success",width:150});d();this.validate();this.showHint("Vul de nodige gegevens in.")},validate:function(e){if(!this.firstTab(e)){$("#jqxTabs").jqxTabs("disableAt",1);$("#jqxTabs").jqxTabs("disableAt",2);return}else{$("#jqxTabs").jqxTabs("enableAt",1)}if(!this.secondTab(e)){$("#jqxTabs").jqxTabs("disableAt",2);return}else{$("#jqxTabs").jqxTabs("enableAt",2)}},showHint:function(f,e){if(typeof e==="undefined"){e=".hint"}if(f===""){f="Ok, je mag doorgaan."}$(e).html("<strong>"+f+"</strong>")},firstTab:function(h){var g=$("#name").val(),j=$("#type").val(),e=parseFloat($("#boil_time").jqxNumberInput("decimal")),f=parseFloat($("#est_og").jqxNumberInput("decimal")),i=parseFloat($("#efficiency").jqxNumberInput("decimal")),k="";if(g.length<3){k+="Je moet een recept naam invullen. <br />"}if(j.length<1){k+="Je moet een brouw type kiezen. <br />"}if((e<4)||(e>360)){k+="De kooktijd moet tussen 4 en 360 minuten zijn. <br />"}if((f<1.01)||(f>1.2)){k+="Het OG moet tussen 1.010 en 1.200 zijn. <br />"}if((i<35)||(i>95)){k+="Het brouwzaal rendement moet tussen 35 en 95 zijn. <br />"}if(k!==""){if(h){this.showHint(k,"#hintBase")}return false}this.showHint("Ok, je mag doorgaan.","#hintBase");$("#nextButtonBase").jqxButton({template:"success"});return true},secondTab:function(f){var e=$("#styleSelect").val(),g="";if(e.length<3){g+="Je moet een bierstijl kiezen. <br />"}if(g!==""){if(f){this.showHint(g,"#hintStyle")}return false}this.showHint("Ok, je mag doorgaan.","#hintStyle");$("#nextButtonStyle").jqxButton({template:"success"});return true}}}());$("#name").jqxTooltip({content:"De naam voor dit recept."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit recept."});$("#notes").jqxInput({theme:theme,width:960,height:200});$("#type").jqxDropDownList({theme:theme,source:RecipeTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#type").jqxDropDownList("selectItem",2);$("#type").on("select",function(d){if(d.args){a=d.args.index}});$("#boil_time").jqxNumberInput(PosInt);$("#boil_time").jqxNumberInput({min:4,max:360});$("#efficiency").jqxNumberInput(Perc0);$("#est_og").jqxNumberInput(SGopts);$("#boil_time").val(90);$("#efficiency").val(75);$("#est_og").val(1.052);$("#st_name").jqxInput({theme:theme,width:250,height:23});$("#st_category").jqxInput({theme:theme,width:250,height:23});$("#st_category_number").jqxInput({theme:theme,width:70,height:23});$("#st_style_letter").jqxInput({theme:theme,width:250,height:23});$("#st_style_guide").jqxInput({theme:theme,width:250,height:23});$("#st_notes").jqxInput({theme:theme,width:800,height:100});$("#st_type").jqxInput({theme:theme,width:250,height:23});$("#st_og_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_og_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_fg_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_fg_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:3,readOnly:true});$("#st_ibu_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:0,readOnly:true});$("#st_ibu_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:0,readOnly:true});$("#st_color_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:0,readOnly:true});$("#st_color_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:0,readOnly:true});$("#st_carb_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:1,readOnly:true});$("#st_carb_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:1,readOnly:true});$("#st_abv_min").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:1,readOnly:true});$("#st_abv_max").jqxNumberInput({inputMode:"simple",theme:theme,width:50,height:23,decimalDigits:1,readOnly:true});$("#st_profile").jqxInput({theme:theme,width:800,height:48});$("#st_ingredients").jqxInput({theme:theme,width:800,height:23});$("#st_examples").jqxInput({theme:theme,width:800,height:48});$("#styleSelect").jqxDropDownList({placeHolder:"Kies bierstijl:",theme:theme,source:styleslist,displayMember:"name",width:250,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(e,d,g){var f=styleslist.records[e];return f.style_guide+" "+f.style_letter+" "+f.name}});$("#styleSelect").on("select",function(f){if(f.args){var e,d=f.args.index;e=styleslist.records[d];$("#st_name").val(e.name);$("#st_category").val(e.category);$("#st_category_number").val(e.category_number);$("#st_style_letter").val(e.style_letter);$("#st_style_guide").val(e.style_guide);b=e.type;$("#st_type").val(StyleTypeData[e.type].nl);$("#st_og_min").val(e.og_min);$("#st_og_max").val(e.og_max);$("#st_fg_min").val(e.fg_min);$("#st_fg_max").val(e.fg_max);$("#st_ibu_min").val(e.ibu_min);$("#st_ibu_max").val(e.ibu_max);$("#st_color_min").val(e.color_min);$("#st_color_max").val(e.color_max);$("#st_carb_min").val(e.carb_min);$("#st_carb_max").val(e.carb_max);$("#st_abv_min").val(e.abv_min);$("#st_abv_max").val(e.abv_max);$("#st_notes").val(e.notes);$("#st_profile").val(e.profile);$("#st_ingredients").val(e.ingredients);$("#st_examples").val(e.examples)}});c.init()});
\ No newline at end of file
--- a/www/js/rec_new.js	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/js/rec_new.js	Fri May 01 16:37:31 2020 +0200
@@ -21,310 +21,310 @@
  *****************************************************************************/
 
 
-$(document).ready(function () {
+$(document).ready(function() {
 
-	var recipe_type = 2,
-	style_type = 0,
+ var recipe_type = 2,
+ style_type = 0,
 
-	//Creating wizard module
-	wizard = (function () {
+ //Creating wizard module
+ wizard = (function() {
 
-		//Adding event listeners
-		var _addHandlers = function () {
-			$('#name').on('change', function (event) { wizard.validate(true); });
-			$('#type').on('change', function (event) { wizard.validate(true); });
-			$('#boil_time').on('change', function (event) { wizard.validate(true); });
-			$('#est_og').on('change', function (event) { wizard.validate(true); });
-			$('#efficiency').on('change', function (event) { wizard.validate(true); });
-			$('#styleSelect').on('change', function (event) { wizard.validate(true); });
-			$('#nextButtonCompleted').click(function () {
-				console.log("insert start");
-				var newrow = {
-					record: -1,
-					locked: 0,
-					name: $("#name").val(),
-					notes: $("#notes").val(),
-					st_name: $('#st_name').val(),
-					st_letter: $('#st_style_letter').val(),
-					st_guide: $('#st_style_guide').val(),
-					st_category: $('#st_category').val(),
-					st_category_number: parseFloat($('#st_category_number').jqxNumberInput('decimal')),
-					st_type: style_type,
-					st_og_min: parseFloat($("#st_og_min").jqxNumberInput('decimal')),
-					st_og_max: parseFloat($("#st_og_max").jqxNumberInput('decimal')),
-					st_fg_min: parseFloat($("#st_fg_min").jqxNumberInput('decimal')),
-					st_fg_max: parseFloat($("#st_fg_max").jqxNumberInput('decimal')),
-					st_ibu_min: parseFloat($("#st_ibu_min").jqxNumberInput('decimal')),
-					st_ibu_max: parseFloat($("#st_ibu_max").jqxNumberInput('decimal')),
-					st_color_min: parseFloat($("#st_color_min").jqxNumberInput('decimal')),
-					st_color_max: parseFloat($("#st_color_max").jqxNumberInput('decimal')),
-					st_carb_min: parseFloat($("#st_carb_min").jqxNumberInput('decimal')),
-					st_carb_max: parseFloat($("#st_carb_max").jqxNumberInput('decimal')),
-					st_abv_min: parseFloat($("#st_abv_min").jqxNumberInput('decimal')),
-					st_abv_max: parseFloat($("#st_abv_max").jqxNumberInput('decimal')),
-					type: recipe_type,
-					batch_size: 20.0,
-					boil_size: 22.0,
-					boil_time: parseFloat($("#boil_time").jqxNumberInput('decimal')),
-					efficiency: parseFloat($("#efficiency").jqxNumberInput('decimal')),
-					est_og: parseFloat($("#est_og").jqxNumberInput('decimal')),
-					est_fg: 1.000,
-					est_color: 0,
-					est_abv: 0.0,
-					est_carb: 0.0,
-					color_method: 0,	// Morey
-					est_ibu: 0,
-					ibu_method: 0,		// Tinseth
-					mash_name: "",
-					mash_ph: 5.4,
-					sparge_temp: 85.0,
-					sparge_volume: 12.0,
-					sparge_ph: 5.8,
-					sparge_source: 0,	// Source 1
-					sparge_acid_type: 0,	// Lactic acid
-					sparge_acid_perc: 80,
-					sparge_acid_amount: 0,
-					calc_acid: true,
-					w1_name: 'Tap water',
-					w1_amount: 15,
-					w1_calcium: 0,
-					w1_sulfate: 0,
-					w1_chloride: 0,
-					w1_sodium: 0,
-					w1_magnesium: 0,
-					w1_total_alkalinity: 0,
-					w1_ph: 7.0,
-					w1_cost: 0.0,
-					wa_acid_name: 0,	// Lactic acid
-					wa_acid_perc: 80,
-					wa_base_name: 0
-				},
-				data = "insert=true&return=" + my_return + "&" + $.param(newrow);
-				$.ajax({
-					dataType: 'json',
-					url: "includes/db_recipes.php",
-					cache: false,
-					data: data,
-					type: "POST",
-					success: function (data, status, xhr) {
-						// update command is executed.
-						window.location.href = my_return;
-					},
-					error: function(jqXHR, textStatus, errorThrown) {
-					}
-				});
-			});
-			$('.nextButton').click(function () {
-				wizard.validate(true);
-				$('#jqxTabs').jqxTabs('next');
-			});
-			$('.backButton').click(function () {
-				wizard.validate(true);
-				$('#jqxTabs').jqxTabs('previous');
-			});
-		};
+  //Adding event listeners
+  var _addHandlers = function() {
+   $('#name').on('change', function(event) { wizard.validate(true); });
+   $('#type').on('change', function(event) { wizard.validate(true); });
+   $('#boil_time').on('change', function(event) { wizard.validate(true); });
+   $('#est_og').on('change', function(event) { wizard.validate(true); });
+   $('#efficiency').on('change', function(event) { wizard.validate(true); });
+   $('#styleSelect').on('change', function(event) { wizard.validate(true); });
+   $('#nextButtonCompleted').click(function() {
+    console.log('insert start');
+    var newrow = {
+     record: -1,
+     locked: 0,
+     name: $('#name').val(),
+     notes: $('#notes').val(),
+     st_name: $('#st_name').val(),
+     st_letter: $('#st_style_letter').val(),
+     st_guide: $('#st_style_guide').val(),
+     st_category: $('#st_category').val(),
+     st_category_number: parseFloat($('#st_category_number').jqxNumberInput('decimal')),
+     st_type: style_type,
+     st_og_min: parseFloat($('#st_og_min').jqxNumberInput('decimal')),
+     st_og_max: parseFloat($('#st_og_max').jqxNumberInput('decimal')),
+     st_fg_min: parseFloat($('#st_fg_min').jqxNumberInput('decimal')),
+     st_fg_max: parseFloat($('#st_fg_max').jqxNumberInput('decimal')),
+     st_ibu_min: parseFloat($('#st_ibu_min').jqxNumberInput('decimal')),
+     st_ibu_max: parseFloat($('#st_ibu_max').jqxNumberInput('decimal')),
+     st_color_min: parseFloat($('#st_color_min').jqxNumberInput('decimal')),
+     st_color_max: parseFloat($('#st_color_max').jqxNumberInput('decimal')),
+     st_carb_min: parseFloat($('#st_carb_min').jqxNumberInput('decimal')),
+     st_carb_max: parseFloat($('#st_carb_max').jqxNumberInput('decimal')),
+     st_abv_min: parseFloat($('#st_abv_min').jqxNumberInput('decimal')),
+     st_abv_max: parseFloat($('#st_abv_max').jqxNumberInput('decimal')),
+     type: recipe_type,
+     batch_size: 20.0,
+     boil_size: 22.0,
+     boil_time: parseFloat($('#boil_time').jqxNumberInput('decimal')),
+     efficiency: parseFloat($('#efficiency').jqxNumberInput('decimal')),
+     est_og: parseFloat($('#est_og').jqxNumberInput('decimal')),
+     est_fg: 1.000,
+     est_color: 0,
+     est_abv: 0.0,
+     est_carb: 0.0,
+     color_method: 0, // Morey
+     est_ibu: 0,
+     ibu_method: 0,  // Tinseth
+     mash_name: '',
+     mash_ph: 5.4,
+     sparge_temp: 85.0,
+     sparge_volume: 12.0,
+     sparge_ph: 5.8,
+     sparge_source: 0, // Source 1
+     sparge_acid_type: 0, // Lactic acid
+     sparge_acid_perc: 80,
+     sparge_acid_amount: 0,
+     calc_acid: true,
+     w1_name: 'Tap water',
+     w1_amount: 15,
+     w1_calcium: 0,
+     w1_sulfate: 0,
+     w1_chloride: 0,
+     w1_sodium: 0,
+     w1_magnesium: 0,
+     w1_total_alkalinity: 0,
+     w1_ph: 7.0,
+     w1_cost: 0.0,
+     wa_acid_name: 0, // Lactic acid
+     wa_acid_perc: 80,
+     wa_base_name: 0
+    },
+    data = 'insert=true&return=' + my_return + '&' + $.param(newrow);
+    $.ajax({
+     dataType: 'json',
+     url: 'includes/db_recipes.php',
+     cache: false,
+     data: data,
+     type: 'POST',
+     success: function(data, status, xhr) {
+      // update command is executed.
+      window.location.href = my_return;
+     },
+     error: function(jqXHR, textStatus, errorThrown) {
+     }
+    });
+   });
+   $('.nextButton').click(function() {
+    wizard.validate(true);
+    $('#jqxTabs').jqxTabs('next');
+   });
+   $('.backButton').click(function() {
+    wizard.validate(true);
+    $('#jqxTabs').jqxTabs('previous');
+   });
+  };
 
-		return {
-			//Initializing the wizzard - creating all elements, adding event handlers and starting the validation
-			init: function () {
-				$('#jqxTabs').jqxTabs({
-					theme: theme,
-					height: 630,
-					width: 1280,
-					autoHeight: false,
-					position: 'top',
-					keyboardNavigation: false
-				});
-				$('#nextButtonBase').jqxButton({ theme: theme, width: 150 });
-				$('#nextButtonStyle').jqxButton({ theme: theme, width: 150});
-				$('#backButtonStyle').jqxButton({ theme: theme, template: 'success', width: 150});
-				$('#nextButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
-				$('#backButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
-				_addHandlers();
-				this.validate();
-				this.showHint('Vul de nodige gegevens in.');
-			},
+  return {
+   //Initializing the wizzard - creating all elements, adding event handlers and starting the validation
+   init: function() {
+    $('#jqxTabs').jqxTabs({
+     theme: theme,
+     height: 630,
+     width: 1280,
+     autoHeight: false,
+     position: 'top',
+     keyboardNavigation: false
+    });
+    $('#nextButtonBase').jqxButton({ theme: theme, width: 150 });
+    $('#nextButtonStyle').jqxButton({ theme: theme, width: 150});
+    $('#backButtonStyle').jqxButton({ theme: theme, template: 'success', width: 150});
+    $('#nextButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
+    $('#backButtonCompleted').jqxButton({ theme: theme, template: 'success', width: 150});
+    _addHandlers();
+    this.validate();
+    this.showHint('Vul de nodige gegevens in.');
+   },
 
-			//Validating all wizard tabs
-			validate: function (notify) {
-				if (!this.firstTab(notify)) {
-					$('#jqxTabs').jqxTabs('disableAt', 1);
-					$('#jqxTabs').jqxTabs('disableAt', 2);
-					return;
-				} else {
-					$('#jqxTabs').jqxTabs('enableAt', 1);
-				}
-				if (!this.secondTab(notify)) {
-					$('#jqxTabs').jqxTabs('disableAt', 2);
-					return;
-				} else {
-					$('#jqxTabs').jqxTabs('enableAt', 2);
-				}
-			},
+   //Validating all wizard tabs
+   validate: function(notify) {
+    if (!this.firstTab(notify)) {
+     $('#jqxTabs').jqxTabs('disableAt', 1);
+     $('#jqxTabs').jqxTabs('disableAt', 2);
+     return;
+    } else {
+     $('#jqxTabs').jqxTabs('enableAt', 1);
+    }
+    if (!this.secondTab(notify)) {
+     $('#jqxTabs').jqxTabs('disableAt', 2);
+     return;
+    } else {
+     $('#jqxTabs').jqxTabs('enableAt', 2);
+    }
+   },
 
-			//Displaying message to the user
-			showHint: function (message, selector) {
-				if (typeof selector === 'undefined') {
-					selector = '.hint';
-				}
-				if (message === '') {
-					message = 'Ok, je mag doorgaan.';
-				}
-				$(selector).html('<strong>' + message + '</strong>');
-			},
+   //Displaying message to the user
+   showHint: function(message, selector) {
+    if (typeof selector === 'undefined') {
+     selector = '.hint';
+    }
+    if (message === '') {
+     message = 'Ok, je mag doorgaan.';
+    }
+    $(selector).html('<strong>' + message + '</strong>');
+   },
 
-			//Validating the first tab
-			firstTab: function (notify) {
-				var name = $('#name').val(),
-				    type = $('#type').val(),
-				    boil_time = parseFloat($("#boil_time").jqxNumberInput('decimal')),
-				    est_og = parseFloat($("#est_og").jqxNumberInput('decimal')),
-				    efficiency = parseFloat($("#efficiency").jqxNumberInput('decimal')),
-				    message = '';
-				if (name.length < 3) {
-					message += 'Je moet een recept naam invullen. <br />';
-				}
-				// Check if name already exists.
-				if (type.length < 1) {
-					message += 'Je moet een brouw type kiezen. <br />';
-				}
-				if ((boil_time < 4) || (boil_time > 360)) {
-					message += 'De kooktijd moet tussen 4 en 360 minuten zijn. <br />';
-				}
-				if ((est_og < 1.010) || (est_og > 1.200)) {
-					message += 'Het OG moet tussen 1.010 en 1.200 zijn. <br />';
-				}
-				if ((efficiency < 35) || (efficiency > 95)) {
-					message += 'Het brouwzaal rendement moet tussen 35 en 95 zijn. <br />';
-				}
-				if (message !== '') {
-					if (notify) {
-						this.showHint(message, '#hintBase');
-					}
-					return false;
-				}
-				this.showHint('Ok, je mag doorgaan.', '#hintBase');
-				$('#nextButtonBase').jqxButton({ template: 'success' });
-				return true;
-			},
+   //Validating the first tab
+   firstTab: function(notify) {
+    var name = $('#name').val(),
+        type = $('#type').val(),
+        boil_time = parseFloat($('#boil_time').jqxNumberInput('decimal')),
+        est_og = parseFloat($('#est_og').jqxNumberInput('decimal')),
+        efficiency = parseFloat($('#efficiency').jqxNumberInput('decimal')),
+        message = '';
+    if (name.length < 3) {
+     message += 'Je moet een recept naam invullen. <br />';
+    }
+    // Check if name already exists.
+    if (type.length < 1) {
+     message += 'Je moet een brouw type kiezen. <br />';
+    }
+    if ((boil_time < 4) || (boil_time > 360)) {
+     message += 'De kooktijd moet tussen 4 en 360 minuten zijn. <br />';
+    }
+    if ((est_og < 1.010) || (est_og > 1.200)) {
+     message += 'Het OG moet tussen 1.010 en 1.200 zijn. <br />';
+    }
+    if ((efficiency < 35) || (efficiency > 95)) {
+     message += 'Het brouwzaal rendement moet tussen 35 en 95 zijn. <br />';
+    }
+    if (message !== '') {
+     if (notify) {
+      this.showHint(message, '#hintBase');
+     }
+     return false;
+    }
+    this.showHint('Ok, je mag doorgaan.', '#hintBase');
+    $('#nextButtonBase').jqxButton({ template: 'success' });
+    return true;
+   },
 
-			//Validating the second tab
-			secondTab: function (notify) {
-				var stylesel = $('#styleSelect').val(),
-				    message = '';
-				if (stylesel.length < 3) {
-					message += 'Je moet een bierstijl kiezen. <br />';
-				}
-				if (message !== '') {
-					if (notify) {
-						this.showHint(message, '#hintStyle');
-					}
-					return false;
-				}
-				this.showHint('Ok, je mag doorgaan.', '#hintStyle');
-				$('#nextButtonStyle').jqxButton({ template: 'success' });
-				return true;
-			}
-		}
-	} ());
+   //Validating the second tab
+   secondTab: function(notify) {
+    var stylesel = $('#styleSelect').val(),
+        message = '';
+    if (stylesel.length < 3) {
+     message += 'Je moet een bierstijl kiezen. <br />';
+    }
+    if (message !== '') {
+     if (notify) {
+      this.showHint(message, '#hintStyle');
+     }
+     return false;
+    }
+    this.showHint('Ok, je mag doorgaan.', '#hintStyle');
+    $('#nextButtonStyle').jqxButton({ template: 'success' });
+    return true;
+   }
+  };
+ } ());
 
-        // Tab 1, Base
-        $("#name").jqxTooltip({ content: 'De naam voor dit recept.' });
-        $("#name").jqxInput({ theme: theme, width: 640, height: 23 });
-        $("#notes").jqxTooltip({ content: 'De uitgebreide opmerkingen over dit recept.' });
-        $("#notes").jqxInput({ theme: theme, width: 960, height: 200 });
-        $("#type").jqxDropDownList({
-                theme: theme,
-                source: RecipeTypeAdapter,
-                valueMember: 'id',
-                displayMember: 'nl',
-                width: 180,
-                height: 23,
-                autoDropDownHeight: true
-        });
-        $("#type").jqxDropDownList('selectItem', 2);
-        $("#type").on('select', function (event) {
-                if (event.args) {
-                        recipe_type = event.args.index;
-                }
-        });
-        $("#boil_time").jqxNumberInput( PosInt );
-        $("#boil_time").jqxNumberInput({ min: 4, max: 360 });
-        $("#efficiency").jqxNumberInput( Perc0 );
-        $("#est_og").jqxNumberInput( SGopts );
-        // Default values.
-        $("#boil_time").val(90);
-        $("#efficiency").val(75);
-        $("#est_og").val(1.052);
+ // Tab 1, Base
+ $('#name').jqxTooltip({ content: 'De naam voor dit recept.' });
+ $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
+ $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit recept.' });
+ $('#notes').jqxInput({ theme: theme, width: 960, height: 200 });
+ $('#type').jqxDropDownList({
+  theme: theme,
+  source: RecipeTypeAdapter,
+  valueMember: 'id',
+  displayMember: 'nl',
+  width: 180,
+  height: 23,
+  autoDropDownHeight: true
+ });
+ $('#type').jqxDropDownList('selectItem', 2);
+ $('#type').on('select', function(event) {
+  if (event.args) {
+   recipe_type = event.args.index;
+  }
+ });
+ $('#boil_time').jqxNumberInput(PosInt);
+ $('#boil_time').jqxNumberInput({ min: 4, max: 360 });
+ $('#efficiency').jqxNumberInput(Perc0);
+ $('#est_og').jqxNumberInput(SGopts);
+ // Default values.
+ $('#boil_time').val(90);
+ $('#efficiency').val(75);
+ $('#est_og').val(1.052);
 
-        // Tab 2, Style
-        $("#st_name").jqxInput({ theme: theme, width: 250, height: 23 });
-        $("#st_category").jqxInput({ theme: theme, width: 250, height: 23 });
-        $("#st_category_number").jqxInput({ theme: theme, width: 70, height: 23 });
-        $("#st_style_letter").jqxInput({ theme: theme, width: 250, height: 23 });
-        $("#st_style_guide").jqxInput({ theme: theme, width: 250, height: 23 });
-        $("#st_notes").jqxInput({ theme: theme, width: 800, height: 100 });
-        $("#st_type").jqxInput({ theme: theme, width: 250, height: 23 });
-        $("#st_og_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
-        $("#st_og_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
-        $("#st_fg_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
-        $("#st_fg_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
-        $("#st_ibu_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
-        $("#st_ibu_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
-        $("#st_color_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
-        $("#st_color_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
-        $("#st_carb_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
-        $("#st_carb_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
-        $("#st_abv_min").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
-        $("#st_abv_max").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
-        $("#st_profile").jqxInput({ theme: theme, width: 800, height: 48 });
-        $("#st_ingredients").jqxInput({ theme: theme, width: 800, height: 23 });
-        $("#st_examples").jqxInput({ theme: theme, width: 800, height: 48 });
-        $("#styleSelect").jqxDropDownList({
-                placeHolder: "Kies bierstijl:",
-                theme: theme,
-                source: styleslist,
-                displayMember: "name",
-                width: 250,
-                height: 27,
-                dropDownWidth: 500,
-                dropDownHeight: 500,
-                renderer: function (index, label, value) {
-                        var datarecord = styleslist.records[index];
-                        return datarecord.style_guide + " " + datarecord.style_letter+ " " + datarecord.name;
-                }
-        });
-        $("#styleSelect").on('select', function (event) {
-                if (event.args) {
-                        var datarecord, index = event.args.index;
-                        datarecord = styleslist.records[index];
-                        $("#st_name").val(datarecord.name);
-                        $("#st_category").val(datarecord.category);
-                        $("#st_category_number").val(datarecord.category_number);
-                        $("#st_style_letter").val(datarecord.style_letter);
-                        $("#st_style_guide").val(datarecord.style_guide);
-                        style_type = datarecord.type;
-                        $("#st_type").val(StyleTypeData[datarecord.type].nl);
-                        $("#st_og_min").val(datarecord.og_min);
-                        $("#st_og_max").val(datarecord.og_max);
-                        $("#st_fg_min").val(datarecord.fg_min);
-                        $("#st_fg_max").val(datarecord.fg_max);
-                        $("#st_ibu_min").val(datarecord.ibu_min);
-                        $("#st_ibu_max").val(datarecord.ibu_max);
-                        $("#st_color_min").val(datarecord.color_min);
-                        $("#st_color_max").val(datarecord.color_max);
-                        $("#st_carb_min").val(datarecord.carb_min);
-                        $("#st_carb_max").val(datarecord.carb_max);
-                        $("#st_abv_min").val(datarecord.abv_min);
-                        $("#st_abv_max").val(datarecord.abv_max);
-                        $("#st_notes").val(datarecord.notes);
-                        $("#st_profile").val(datarecord.profile);
-                        $("#st_ingredients").val(datarecord.ingredients);
-                        $("#st_examples").val(datarecord.examples);
-                }
-        });
+ // Tab 2, Style
+ $('#st_name').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_category_number').jqxInput({ theme: theme, width: 70, height: 23 });
+ $('#st_style_letter').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_style_guide').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_notes').jqxInput({ theme: theme, width: 800, height: 100 });
+ $('#st_type').jqxInput({ theme: theme, width: 250, height: 23 });
+ $('#st_og_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_og_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_fg_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
+ $('#st_ibu_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_ibu_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_color_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_color_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 0, readOnly: true });
+ $('#st_carb_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_carb_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_abv_min').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_abv_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
+ $('#st_profile').jqxInput({ theme: theme, width: 800, height: 48 });
+ $('#st_ingredients').jqxInput({ theme: theme, width: 800, height: 23 });
+ $('#st_examples').jqxInput({ theme: theme, width: 800, height: 48 });
+ $('#styleSelect').jqxDropDownList({
+  placeHolder: 'Kies bierstijl:',
+  theme: theme,
+  source: styleslist,
+  displayMember: 'name',
+  width: 250,
+  height: 27,
+  dropDownWidth: 500,
+  dropDownHeight: 500,
+  renderer: function(index, label, value) {
+   var datarecord = styleslist.records[index];
+   return datarecord.style_guide + ' ' + datarecord.style_letter + ' ' + datarecord.name;
+  }
+ });
+ $('#styleSelect').on('select', function(event) {
+  if (event.args) {
+   var datarecord, index = event.args.index;
+   datarecord = styleslist.records[index];
+   $('#st_name').val(datarecord.name);
+   $('#st_category').val(datarecord.category);
+   $('#st_category_number').val(datarecord.category_number);
+   $('#st_style_letter').val(datarecord.style_letter);
+   $('#st_style_guide').val(datarecord.style_guide);
+   style_type = datarecord.type;
+   $('#st_type').val(StyleTypeData[datarecord.type].nl);
+   $('#st_og_min').val(datarecord.og_min);
+   $('#st_og_max').val(datarecord.og_max);
+   $('#st_fg_min').val(datarecord.fg_min);
+   $('#st_fg_max').val(datarecord.fg_max);
+   $('#st_ibu_min').val(datarecord.ibu_min);
+   $('#st_ibu_max').val(datarecord.ibu_max);
+   $('#st_color_min').val(datarecord.color_min);
+   $('#st_color_max').val(datarecord.color_max);
+   $('#st_carb_min').val(datarecord.carb_min);
+   $('#st_carb_max').val(datarecord.carb_max);
+   $('#st_abv_min').val(datarecord.abv_min);
+   $('#st_abv_max').val(datarecord.abv_max);
+   $('#st_notes').val(datarecord.notes);
+   $('#st_profile').val(datarecord.profile);
+   $('#st_ingredients').val(datarecord.ingredients);
+   $('#st_examples').val(datarecord.examples);
+  }
+ });
 
-	//Initializing the wizard
-	wizard.init();
+ //Initializing the wizard
+ wizard.init();
 });
 
--- a/www/log_fermentation.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/log_fermentation.php	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,6 @@
 <?php
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
-page_header('Vergisting grafiek', "log_fermentation");
+page_header('Klimaatkast grafiek', "log_fermentation");
 ?>
 
    <div id="MainPanel">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/log_ispindel.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,19 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
+page_header('Vergisting grafiek', "log_ispindel");
+?>
+
+   <div id="MainPanel">
+    <div id="ContentPanel"></div>
+    <div id="ispindel_chart" style="width:1130px; height:610px; float:left; margin-left: 10px; margin-top: 10px;"></div>
+    <div style="margin-top: 10px; margin-left: 10px;">
+     <input style="float: left; margin-left: 10px;" id="print" type="button" value="Print grafiek" />
+     <input style="float: left; margin-left: 10px; margin-top: 10px;" id="pdfButton" type="button" value="Maak PDF" />
+     <input style="float: left; margin-left: 10px; margin-top: 10px;" id="pngButton" type="button" value="Maak PNG" />
+     <input style="float: left; margin-left: 10px; margin-top: 10px;" id="Close" type="button" value="Sluiten" />
+    </div>
+   </div>
+
+<?php
+page_footer();
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/mon_ispindel.php	Fri May 01 16:37:31 2020 +0200
@@ -0,0 +1,105 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
+page_header('Monitor iSpindels', 'mon_ispindel');
+?>
+
+   <div id="ispindel">
+
+    <div style="float: left; width: 970px;">
+     <div id="ispindel_table">
+      <div id="ispindel_info">
+       <table style='width: 100%; padding: 10px;'>
+	<col width="20%">
+	<col width="40%">
+        <col width="20%">
+        <col width="20%">
+        <tr><th colspan=4>iSpindel overzicht</th></tr>
+        <tr style="height: 25px;">
+         <td>Uuid</td>
+         <td colspan="3"><div id="info_uuid"></div></td>
+        </tr>
+	<tr style="height: 25px;">
+         <td>Systeem</td>
+	 <td><div id="info_system"></div></td>
+         <td colspan="2"><div id="info_online"></div></td>
+        </tr>
+	<tr style="height: 25px;">
+         <td>Code en bier</td>
+         <td><div id="info_beer"></div></td>
+         <td colspan="2"><div id="select_beer"></div></td>
+        </tr>
+        <tr style="height: 25px;">
+         <td>Werking</td>
+         <td colspan="3"><div id="info_mode"></div></td>
+        </tr>
+	<tr style="height: 25px;">
+         <td>Batterij volt</td>
+         <td><div id="info_battery"></div></td>
+         <td>Densiteit &deg;P</td>
+         <td><div id="info_plato"></div></td>
+        </tr>
+        <tr style="height: 25px;">
+         <td>Tilt hoek &deg;</td>
+         <td><div id="info_tilt"></div></td>
+         <td>Densiteit SG</td>
+         <td><div id="info_sg"></div></td>
+        </tr>
+       </table>
+      </div>
+     </div>
+     <div id='ispindel_meters'>
+      <div id="gaugeContainer_temperature" style='float: left; margin-top: 10px; margin-left: 60px;'></div>
+      <div id="gaugeContainer_gravity" style="float: right; margin-top: 10px; margin-right: 160px;"></div>
+     </div>
+    </div> <!-- End left side -->
+
+    <div style="float: right; width: 295px;">
+     <div id="ispindel_panel_top">
+      <div id="ispindel_powerled"></div>
+      <div id="ispindel_alarmled"></div>
+     </div> <!-- ispindel_panel_top -->
+
+     <div id="ispindel_panel_display">
+      <table style='width: 100%; padding: 10px;'>
+       <col width="30%">
+       <col width="35%">
+       <col width="35%">
+       <tr><th colspan=3>Vergisting status</th></tr>
+       <tr><th colspan=3>&nbsp;</th></tr>
+       <tr style="height: 25px;">
+        <td>OG</td>
+        <td><div id="vg_og1"></div></td>
+        <td><div id="vg_og2"></div></td>
+       </tr>
+       <tr style="height: 25px;">
+        <td>SG</td>
+        <td><div id="vg_sg1"></div></td>
+        <td><div id="vg_sg2"></div></td>
+       </tr>
+       <tr style="height: 25px;">
+        <td>SVG</td>
+        <td colspan='2'><div id="vg_svg"></div></td>
+       </tr>
+       <tr style="height: 25px;">
+        <td>ABV</td>
+        <td colspan='2'><div id="vg_abv"></div></td>
+       </tr>
+       <tr style="height: 25px;">
+        <td>Batterij</td>
+        <td colspan='2'><div id="vg_batt"></div></td>
+       </tr>
+      </table>
+     </div> <!-- ispindel_panel_display -->
+
+     <div id="ispindel_panel_control">
+     </div> <!-- ispindel_panel_control -->
+
+     <div id="ispindel_panel_buttons">
+      <input style="margin-top: 20px; margin-left: 70px;" type="button" id="VLog" value="Vergisting log" />
+     </div> <!-- ispindel_panel_buttons -->
+    </div> <!-- End right side -->
+   </div>
+
+<?php
+page_footer();
+?>
--- a/www/prod_beerxml.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_beerxml.php	Fri May 01 16:37:31 2020 +0200
@@ -18,11 +18,10 @@
 if (isset($_GET["record"]))
 	$record = $_GET["record"];
 else
-	$record = 78;
+	$record = 71;
 $result = mysqli_query($link, "SELECT * FROM products WHERE record='".$record."'");
 $row = mysqli_fetch_array($result);
 
-
 $recipetype = array( 'Extract', 'Partial Mash', 'All Grain' );
 $styletype = array( 'Lager', 'Ale', 'Mead', 'Wheat', 'Mixed', 'Cider' );
 $hoptype = array( 'Bittering', 'Aroma', 'Both' );
@@ -36,8 +35,16 @@
 $misctype = array( 'Spice', 'Herb', 'Flavor', 'Fining', 'Water agent', 'Yeast nutrient', 'Other' );
 $miscuse = array( 'Starter', 'Mash', 'Boil', 'Primary', 'Secondary', 'Bottling' );
 $mashsteptype = array( 'Infusion', 'Temperature', 'Decoction' );
+$colormethod = array( 'Morey', 'Mosher', 'Daniels', 'Halberstadt', 'Naudts' );
+$ibumethod = array( 'Tinseth', 'Rager', 'Daniels', 'Garetz', 'Mosher', 'Noonan' );
 
 
+function field($x, $field, $value) {
+	xmlwriter_start_element($x, $field);
+	xmlwriter_text($x, $value);
+	xmlwriter_end_element($x);
+}
+
 
 /*
  * Create beerxml output
@@ -52,237 +59,125 @@
 xmlwriter_start_element($xw, 'RECIPE');
 
 // Recipe basics
-xmlwriter_start_element($xw, 'VERSION');
-xmlwriter_text($xw, '1');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NAME');
-xmlwriter_text($xw, $row['name']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NOTES');
-xmlwriter_text($xw, $row['notes']);
-xmlwriter_end_element($xw);
+field($xw, 'VERSION', '1');
+field($xw, 'NAME', $row['name']);
+field($xw, 'NOTES', $row['notes']);
+field($xw, 'TYPE', $recipetype[$row['type']]);
+field($xw, 'BREWER', 'Anonymous');
+field($xw, 'BATCH_SIZE', sprintf("%.4f",floatval($row['batch_size'])));
+field($xw, 'BOIL_SIZE', sprintf("%.4f",floatval($row['boil_size'])));
+field($xw, 'BOIL_TIME', sprintf("%.3f",floatval($row['boil_time'])));
+field($xw, 'EFFICIENCY', sprintf("%.4f",floatval($row['efficiency'])));
+field($xw, 'OG', sprintf("%.3f",floatval($row['og'])));
+field($xw, 'FG', sprintf("%.3f",floatval($row['fg'])));
 
-xmlwriter_start_element($xw, 'TYPE');
-xmlwriter_text($xw, $recipetype[$row['type']]);
-xmlwriter_end_element($xw);
 
-xmlwriter_start_element($xw, 'BREWER');
-xmlwriter_text($xw, 'Anonymous');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'BATCH_SIZE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['batch_size'])));
-xmlwriter_end_element($xw);
+if (floatval($row['est_og']) > 0) {
+	field($xw, 'EST_OG', sprintf("%.3f",floatval($row['est_og'])));
+}
 
-xmlwriter_start_element($xw, 'BOIL_SIZE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['boil_size'])));
-xmlwriter_end_element($xw);
+if (floatval($row['est_fg']) > 0) {
+	field($xw, 'EST_FG', sprintf("%.3f",floatval($row['est_fg'])));
+}
 
-xmlwriter_start_element($xw, 'BOIL_TIME');
-xmlwriter_text($xw, sprintf("%.0f",floatval($row['boil_time'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'EFFICIENCY');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['efficiency'])));
-xmlwriter_end_element($xw);
+if (floatval($row['est_abv']) > 0) {
+	field($xw, 'EST_ABV', sprintf("%.1f",floatval($row['est_abv'])));
+}
 
-xmlwriter_start_element($xw, 'OG');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['og'])));
-xmlwriter_end_element($xw);
+if (floatval($row['est_color']) > 0) {
+	field($xw, 'EST_COLOR', sprintf("%.6f", ebc_to_srm(floatval($row['est_color']))));
+	field($xw, 'COLOR_METHOD', $colormethod[$row['color_method']]);
+}
 
-xmlwriter_start_element($xw, 'FG');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['fg'])));
-xmlwriter_end_element($xw);
-
-if ($row['brew_cooling_to'] > 0) {
-	xmlwriter_start_element($xw, 'BMS_COOLING_TO');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($row['brew_cooling_to'])));
-	xmlwriter_end_element($xw);
+if (floatval($row['est_ibu']) > 0) {
+	field($xw, 'EST_IBU', sprintf("%.1f",floatval($row['est_ibu'])));
+	field($xw, 'IBU_METHOD', $ibumethod[$row['ibu_method']]);
 }
 
-if ($row['brew_whirlpool9'] > 0) {
-	xmlwriter_start_element($xw, 'BMS_WHIRLPOOL9');
-	xmlwriter_text($xw, sprintf("%.0f",floatval($row['brew_whirlpool9'])));
-	xmlwriter_end_element($xw);
-}
-if ($row['brew_whirlpool7'] > 0) {
-        xmlwriter_start_element($xw, 'BMS_WHIRLPOOL7');
-        xmlwriter_text($xw, sprintf("%.0f",floatval($row['brew_whirlpool7'])));
-        xmlwriter_end_element($xw);
+/* If product is packaged and carbonated, add fermentation data. */
+if ($row['stage'] >= 8) {
+	$d1 = new DateTime($row['brew_date_end']);
+        $d2 = new DateTime($row['primary_end_date']);
+        $d3 = new DateTime($row['secondary_end_date']);
+        $d4 = new DateTime($row['package_date']);
+	$diff = $d2->diff($d1);
+        $primary_days = $diff->days;
+        $diff = $d3->diff($d2);
+        $secondary_days = $diff->days;
+        $diff = $d4->diff($d3);
+        $tertiary_days = $diff->days;
+	field($xw, 'FERMENTATION_STAGES', '3');
+	field($xw, 'PRIMARY_AGE', sprintf("%.1f", $primary_days));
+	field($xw, 'PRIMARY_TEMP', sprintf("%.1f", $row['primary_max_temp']));
+	field($xw, 'SECONDARY_AGE', sprintf("%.1f", $secondary_days));
+	field($xw, 'SECONDARY_TEMP', sprintf("%.1f", $row['secondary_temp']));
+	field($xw, 'TERTIARY_AGE', sprintf("%.1f", $tertiary_days));
+	field($xw, 'TERTIARY_TEMP', sprintf("%.1f", $row['tertiary_temp']));
+	field($xw, 'CARBONATION', sprintf("%.1f", $row['bottle_carbonation']));
+	field($xw, 'FORCED_CARBONATION', 'FALSE');
+	field($xw, 'CARBONATION_TEMP', sprintf("%.1f", $row['bottle_carbonation_temp']));
 }
-if ($row['brew_whirlpool6'] > 0) {
-        xmlwriter_start_element($xw, 'BMS_WHIRLPOOL6');
-        xmlwriter_text($xw, sprintf("%.0f",floatval($row['brew_whirlpool6'])));
-        xmlwriter_end_element($xw);
-}
-if ($row['brew_whirlpool2'] > 0) {
-        xmlwriter_start_element($xw, 'BMS_WHIRLPOOL2');
-        xmlwriter_text($xw, sprintf("%.0f",floatval($row['brew_whirlpool2'])));
-        xmlwriter_end_element($xw);
-}
+
+if ($row['brew_cooling_to'] > 0)
+	field($xw, 'BMS_COOLING_TO', sprintf("%.1f",floatval($row['brew_cooling_to'])));
+
+if ($row['brew_whirlpool9'] > 0)
+	field($xw, 'BMS_WHIRLPOOL9', sprintf("%.0f",floatval($row['brew_whirlpool9'])));
+if ($row['brew_whirlpool7'] > 0)
+	field($xw, 'BMS_WHIRLPOOL7', sprintf("%.0f",floatval($row['brew_whirlpool7'])));
+if ($row['brew_whirlpool6'] > 0)
+	field($xw, 'BMS_WHIRLPOOL6', sprintf("%.0f",floatval($row['brew_whirlpool6'])));
+if ($row['brew_whirlpool2'] > 0)
+	field($xw, 'BMS_WHIRLPOOL2', sprintf("%.0f",floatval($row['brew_whirlpool2'])));
 
 
 // Style
 xmlwriter_start_element($xw, 'STYLE');
-
-xmlwriter_start_element($xw, 'VERSION');
-xmlwriter_text($xw, '1');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NAME');
-xmlwriter_text($xw, $row['st_name']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'CATEGORY');
-xmlwriter_text($xw, $row['st_category']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'CATEGORY_NUMBER');
-xmlwriter_text($xw, $row['st_category_number']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'STYLE_LETTER');
-xmlwriter_text($xw, $row['st_letter']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'STYLE_GUIDE');
-xmlwriter_text($xw, $row['st_guide']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'TYPE');
-xmlwriter_text($xw, $styletype[$row['st_type']]);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'OG_MIN');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_og_min'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'OG_MAX');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_og_max'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'FG_MIN');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_og_min'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'OG_MAX');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_fg_max'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'IBU_MIN');
-xmlwriter_text($xw, sprintf("%.0f",floatval($row['st_ibu_min'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'IBU_MAX');
-xmlwriter_text($xw, sprintf("%.0f",floatval($row['st_ibu_max'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'COLOR_MIN');
-xmlwriter_text($xw, sprintf("%.2f",ebc_to_srm(floatval($row['st_color_min']))));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'COLOR_MAX');
-xmlwriter_text($xw, sprintf("%.2f",ebc_to_srm(floatval($row['st_color_max']))));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'CARB_MIN');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['st_carb_min'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'CARB_MAX');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['st_carb_max'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'ABV_MIN');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['st_abv_min'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'ABV_MAX');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['st_abv_max'])));
-xmlwriter_end_element($xw);
-
+field($xw, 'VERSION', '1');
+field($xw, 'NAME', $row['st_name']);
+field($xw, 'CATEGORY', $row['st_category']);
+field($xw, 'CATEGORY_NUMBER', $row['st_category_number']);
+field($xw, 'STYLE_LETTER', $row['st_letter']);
+field($xw, 'STYLE_GUIDE', $row['st_guide']);
+field($xw, 'TYPE', $styletype[$row['st_type']]);
+field($xw, 'OG_MIN', sprintf("%.3f",floatval($row['st_og_min'])));
+field($xw, 'OG_MAX', sprintf("%.3f",floatval($row['st_og_max'])));
+field($xw, 'FG_MIN', sprintf("%.3f",floatval($row['st_fg_min'])));
+field($xw, 'FG_MAX', sprintf("%.3f",floatval($row['st_fg_max'])));
+field($xw, 'IBU_MIN', sprintf("%.0f",floatval($row['st_ibu_min'])));
+field($xw, 'IBU_MAX', sprintf("%.0f",floatval($row['st_ibu_max'])));
+field($xw, 'COLOR_MIN', sprintf("%.2f",ebc_to_srm(floatval($row['st_color_min']))));
+field($xw, 'COLOR_MAX', sprintf("%.2f",ebc_to_srm(floatval($row['st_color_max']))));
+field($xw, 'CARB_MIN', sprintf("%.1f",floatval($row['st_carb_min'])));
+field($xw, 'CARB_MAX', sprintf("%.1f",floatval($row['st_carb_max'])));
+field($xw, 'ABV_MIN', sprintf("%.1f",floatval($row['st_abv_min'])));
+field($xw, 'ABV_MAX', sprintf("%.1f",floatval($row['st_abv_max'])));
 xmlwriter_end_element($xw);	// STYLE
 
 xmlwriter_start_element($xw, 'EQUIPMENT');
-
-xmlwriter_start_element($xw, 'VERSION');
-xmlwriter_text($xw, '1');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NAME');
-xmlwriter_text($xw, $row['eq_name']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NOTES');
-xmlwriter_text($xw, $row['eq_notes']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'BATCH_SIZE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['eq_batch_size'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'BOIL_SIZE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['eq_boil_size'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'BOIL_TIME');
-xmlwriter_text($xw, sprintf("%.0f",floatval($row['eq_boil_time'])));
-xmlwriter_end_element($xw);
-
+field($xw, 'VERSION', '1');
+field($xw, 'NAME', $row['eq_name']);
+field($xw, 'NOTES', $row['eq_notes']);
+field($xw, 'BATCH_SIZE', sprintf("%.2f",floatval($row['eq_batch_size'])));
+field($xw, 'BOIL_SIZE', sprintf("%.2f",floatval($row['eq_boil_size'])));
+field($xw, 'BOIL_TIME', sprintf("%.0f",floatval($row['eq_boil_time'])));
 xmlwriter_end_element($xw);	// EQUIPMENT
 
 xmlwriter_start_element($xw, 'HOPS');
 $arr = json_decode($row['json_hops'], true);
 foreach($arr as $item) { //foreach element in $arr
-
 	xmlwriter_start_element($xw, 'HOP');
-
-	xmlwriter_start_element($xw, 'VERSION');
-	xmlwriter_text($xw, '1');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'NAME');
-	xmlwriter_text($xw, $item['h_name']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'ALPHA');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['h_alpha'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT');
-	xmlwriter_text($xw, sprintf("%.4f",floatval($item['h_amount'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'USE');
-	xmlwriter_text($xw, $hopuse[$item['h_useat']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TIME');
-	xmlwriter_text($xw, $item['h_time']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TYPE');
-	xmlwriter_text($xw, $hoptype[$item['h_type']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'FORM');
-	xmlwriter_text($xw, $hopform[$item['h_form']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'BETA');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['h_beta'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'HSI');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['h_hsi'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'ORIGIN');
-	xmlwriter_text($xw, $item['h_origin']);
-	xmlwriter_end_element($xw);
-
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $item['h_name']);
+	field($xw, 'ALPHA', sprintf("%.1f",floatval($item['h_alpha'])));
+	field($xw, 'AMOUNT', sprintf("%.4f",floatval($item['h_amount'])));
+	field($xw, 'USE', $hopuse[$item['h_useat']]);
+	field($xw, 'TIME', $item['h_time']);
+	field($xw, 'TYPE', $hoptype[$item['h_type']]);
+	field($xw, 'FORM', $hopform[$item['h_form']]);
+	field($xw, 'BETA', sprintf("%.1f",floatval($item['h_beta'])));
+	field($xw, 'HSI', sprintf("%.1f",floatval($item['h_hsi'])));
+	field($xw, 'ORIGIN', $item['h_origin']);
 	xmlwriter_end_element($xw);	// HOP
 }
 xmlwriter_end_element($xw);	// HOPS
@@ -290,120 +185,45 @@
 xmlwriter_start_element($xw, 'FERMENTABLES');
 $arr = json_decode($row['json_fermentables'], true);
 foreach($arr as $item) { //foreach element in $arr
+    if ($item['f_added'] <= 3) {
 	xmlwriter_start_element($xw, 'FERMENTABLE');
-
-	xmlwriter_start_element($xw, 'VERSION');
-	xmlwriter_text($xw, '1');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'NAME');
-	xmlwriter_text($xw, $item['f_name']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TYPE');
-	xmlwriter_text($xw, $fermentabletype[$item['f_type']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT');
-	xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_amount'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'YIELD');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['f_yield'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'COLOR');
-	xmlwriter_text($xw, sprintf("%.1f",ebc_to_srm(floatval($item['f_color']))));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'ADD_AFTER_BOIL');
-	($item['f_added'] > 1) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'ORIGIN');
-	xmlwriter_text($xw, $item['f_origin']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'SUPPLIER');
-	xmlwriter_text($xw, $item['f_supplier']);
-	xmlwriter_end_element($xw);
-
-	if (floatval($item['f_coarse_fine_diff'])) {
-		xmlwriter_start_element($xw, 'COARSE_FINE_DIFF');
-		xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_coarse_fine_diff'])));
-		xmlwriter_end_element($xw);
-	}
-
-	if (floatval($item['f_moisture'])) {
-		xmlwriter_start_element($xw, 'MOISTURE');
-		xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_moisture'])));
-		xmlwriter_end_element($xw);
-	}
-
-	if (floatval($item['f_diastatic_power'])) {
-		xmlwriter_start_element($xw, 'DIASTATIC_POWER');
-		xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_diastatic_power'])));
-		xmlwriter_end_element($xw);
-	}
-
-	if (floatval($item['f_protein'])) {
-		xmlwriter_start_element($xw, 'PROTEIN');
-		xmlwriter_text($xw, sprintf("%.4f",floatval($item['f_protein'])));
-		xmlwriter_end_element($xw);
-	}
-
-	if (floatval($item['f_max_in_batch'])) {
-		xmlwriter_start_element($xw, 'MAX_IN_BATCH');
-		xmlwriter_text($xw, sprintf("%.1f",floatval($item['f_max_in_batch'])));
-		xmlwriter_end_element($xw);
-	}
-
-	xmlwriter_start_element($xw, 'RECOMMEND_MASH');
-	($item['f_recommend_mash']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'GRAINTYPE');
-	xmlwriter_text($xw, $graintype[$item['f_graintype']]);
-	xmlwriter_end_element($xw);
-
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $item['f_name']);
+	field($xw, 'TYPE', $fermentabletype[$item['f_type']]);
+	field($xw, 'AMOUNT', sprintf("%.4f",floatval($item['f_amount'])));
+	field($xw, 'YIELD', sprintf("%.1f",floatval($item['f_yield'])));
+	field($xw, 'COLOR', sprintf("%.1f",ebc_to_srm(floatval($item['f_color']))));
+	field($xw, 'ADD_AFTER_BOIL', ($item['f_added'] > 1) ? 'TRUE':'FALSE');
+	field($xw, 'ORIGIN', $item['f_origin']);
+	field($xw, 'SUPPLIER', $item['f_supplier']);
+	if (floatval($item['f_coarse_fine_diff']))
+		field($xw, 'COARSE_FINE_DIFF', sprintf("%.4f",floatval($item['f_coarse_fine_diff'])));
+	if (floatval($item['f_moisture']))
+		field($xw, 'MOISTURE', sprintf("%.4f",floatval($item['f_moisture'])));
+	if (floatval($item['f_diastatic_power']))
+		field($xw, 'DIASTATIC_POWER', sprintf("%.4f",floatval($item['f_diastatic_power'])));
+	if (floatval($item['f_protein']))
+		field($xw, 'PROTEIN', sprintf("%.4f",floatval($item['f_protein'])));
+	if (floatval($item['f_max_in_batch']))
+		field($xw, 'MAX_IN_BATCH', sprintf("%.1f",floatval($item['f_max_in_batch'])));
+	field($xw, 'RECOMMEND_MASH', ($item['f_recommend_mash']) ? 'TRUE':'FALSE');
+	field($xw, 'GRAINTYPE', $graintype[$item['f_graintype']]);
 	xmlwriter_end_element($xw);	// FERMENTABLE
+    }
 }
 xmlwriter_end_element($xw);	// FERMENTABLES
 
 xmlwriter_start_element($xw, 'MISCS');
 $arr = json_decode($row['json_miscs'], true);
 foreach($arr as $item) {
-
 	xmlwriter_start_element($xw, 'MISC');
-
-	xmlwriter_start_element($xw, 'VERSION');
-	xmlwriter_text($xw, '1');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'NAME');
-	xmlwriter_text($xw, $item['m_name']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TYPE');
-	xmlwriter_text($xw, $misctype[$item['m_type']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT');
-	xmlwriter_text($xw, sprintf("%.5f",floatval($item['m_amount'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT');
-	($item['m_amount_is_weight']) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'USE');
-	xmlwriter_text($xw, $miscuse[$item['m_use_use']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TIME');
-	xmlwriter_text($xw, sprintf("%.0f",floatval($item['m_time'])));
-	xmlwriter_end_element($xw);
-
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $item['m_name']);
+	field($xw, 'TYPE', $misctype[$item['m_type']]);
+	field($xw, 'AMOUNT', sprintf("%.5f",floatval($item['m_amount'])));
+	field($xw, 'AMOUNT_IS_WEIGHT', ($item['m_amount_is_weight']) ? 'TRUE':'FALSE');
+	field($xw, 'USE', $miscuse[$item['m_use_use']]);
+	field($xw, 'TIME', sprintf("%.0f",floatval($item['m_time'])));
 	xmlwriter_end_element($xw);	// MISC
 }
 xmlwriter_end_element($xw);	// MISCS
@@ -411,218 +231,75 @@
 xmlwriter_start_element($xw, 'YEASTS');
 $arr = json_decode($row['json_yeasts'], true);
 foreach($arr as $item) { //foreach element in $arr
-
 	xmlwriter_start_element($xw, 'YEAST');
-
-	xmlwriter_start_element($xw, 'VERSION');
-	xmlwriter_text($xw, '1');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'NAME');
-	xmlwriter_text($xw, $item['y_name']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TYPE');
-	xmlwriter_text($xw, $yeasttype[$item['y_type']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'FORM');
-	xmlwriter_text($xw, $yeastform[$item['y_form']]);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT');
-	xmlwriter_text($xw, sprintf("%.5f",floatval($item['y_amount'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT_IS_WEIGHT');
-	($item['y_form'] == 1) ? xmlwriter_text($xw, 'TRUE') : xmlwriter_text($xw, 'FALSE');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'LABORATORY');
-	xmlwriter_text($xw, $item['y_laboratory']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'PRODUCT_ID');
-	xmlwriter_text($xw, $item['y_product_id']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'MIN_TEMPERATURE');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['y_min_temperature'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'MAX_TEMPERATURE');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['y_max_temperature'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'ATTENUATION');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['y_attenuation'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'ADD_TO_SECONDARY');
-	($item['y_use'] == 0) ? xmlwriter_text($xw, 'FALSE') : xmlwriter_text($xw, 'TRUE');
-	xmlwriter_end_element($xw);
-
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $item['y_name']);
+	field($xw, 'TYPE', $yeasttype[$item['y_type']]);
+	field($xw, 'FORM', $yeastform[$item['y_form']]);
+	field($xw, 'AMOUNT', sprintf("%.5f",floatval($item['y_amount'])));
+	field($xw, 'AMOUNT_IS_WEIGHT', ($item['y_form'] == 1) ? 'TRUE':'FALSE');
+	field($xw, 'LABORATORY', $item['y_laboratory']);
+	field($xw, 'PRODUCT_ID', $item['y_product_id']);
+	field($xw, 'MIN_TEMPERATURE', sprintf("%.1f",floatval($item['y_min_temperature'])));
+	field($xw, 'MAX_TEMPERATURE', sprintf("%.1f",floatval($item['y_max_temperature'])));
+	field($xw, 'ATTENUATION', sprintf("%.1f",floatval($item['y_attenuation'])));
+	field($xw, 'ADD_TO_SECONDARY', ($item['y_use'] == 0) ? 'FALSE':'TRUE');
 	xmlwriter_end_element($xw);	// YEAST
 }
 xmlwriter_end_element($xw);	// YEASTS
 
 xmlwriter_start_element($xw, 'WATERS');
 xmlwriter_start_element($xw, 'WATER');	// Source 1
-
-xmlwriter_start_element($xw, 'VERSION');
-xmlwriter_text($xw, '1');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NAME');
-xmlwriter_text($xw, $row['w1_name']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'AMOUNT');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_amount'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'CALCIUM');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_calcium'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'BICARBONATE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_total_alkalinity']) * 1.22));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'SULFATE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_sulfate'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'CHLORIDE');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_chloride'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'SODIUM');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_sodium'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'PH');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['w1_ph'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'TOTAL_ALKALINITY');
-xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_total_alkalinity'])));
-xmlwriter_end_element($xw);
-
+field($xw, 'VERSION', '1');
+field($xw, 'NAME', $row['w1_name']);
+field($xw, 'AMOUNT', sprintf("%.2f",floatval($row['w1_amount'])));
+field($xw, 'CALCIUM', sprintf("%.2f",floatval($row['w1_calcium'])));
+field($xw, 'MAGNESIUM', sprintf("%.2f",floatval($row['w1_magnesium'])));
+field($xw, 'BICARBONATE', sprintf("%.2f",floatval($row['w1_total_alkalinity']) * 1.22));
+field($xw, 'SULFATE', sprintf("%.2f",floatval($row['w1_sulfate'])));
+field($xw, 'CHLORIDE', sprintf("%.2f",floatval($row['w1_chloride'])));
+field($xw, 'SODIUM', sprintf("%.2f",floatval($row['w1_sodium'])));
+field($xw, 'PH', sprintf("%.1f",floatval($row['w1_ph'])));
+field($xw, 'TOTAL_ALKALINITY', sprintf("%.2f",floatval($row['w1_total_alkalinity'])));
 xmlwriter_end_element($xw);	// WATER
 
 if (strlen($row['w2_name'])) {
 	xmlwriter_start_element($xw, 'WATER');	// Source 2
-
-	xmlwriter_start_element($xw, 'VERSION');
-	xmlwriter_text($xw, '1');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'NAME');
-	xmlwriter_text($xw, $row['w2_name']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'AMOUNT');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_amount'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'CALCIUM');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_calcium'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'BICARBONATE');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_total_alkalinity']) * 1.22));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'SULFATE');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_sulfate'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'CHLORIDE');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_chloride'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'SODIUM');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_sodium'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'PH');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($row['w2_ph'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TOTAL_ALKALINITY');
-	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_total_alkalinity'])));
-	xmlwriter_end_element($xw);
-
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $row['w2_name']);
+	field($xw, 'AMOUNT', sprintf("%.2f",floatval($row['w2_amount'])));
+	field($xw, 'CALCIUM', sprintf("%.2f",floatval($row['w2_calcium'])));
+	field($xw, 'MAGNESIUM', sprintf("%.2f",floatval($row['w2_magnesium'])));
+	field($xw, 'BICARBONATE', sprintf("%.2f",floatval($row['w2_total_alkalinity']) * 1.22));
+	field($xw, 'SULFATE', sprintf("%.2f",floatval($row['w2_sulfate'])));
+	field($xw, 'CHLORIDE', sprintf("%.2f",floatval($row['w2_chloride'])));
+	field($xw, 'SODIUM', sprintf("%.2f",floatval($row['w2_sodium'])));
+	field($xw, 'PH', sprintf("%.1f",floatval($row['w2_ph'])));
+	field($xw, 'TOTAL_ALKALINITY', sprintf("%.2f",floatval($row['w2_total_alkalinity'])));
 	xmlwriter_end_element($xw);	// WATER
 }
 xmlwriter_end_element($xw);	// WATERS
 
 xmlwriter_start_element($xw, 'MASH');
-
-xmlwriter_start_element($xw, 'VERSION');
-xmlwriter_text($xw, '1');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'NAME');
-xmlwriter_text($xw, $row['mash_name']);
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'GRAIN_TEMP');
-xmlwriter_text($xw, '10.0');
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'PH');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['sparge_ph'])));
-xmlwriter_end_element($xw);
-
-xmlwriter_start_element($xw, 'SPARGE_TEMP');
-xmlwriter_text($xw, sprintf("%.1f",floatval($row['sparge_temp'])));
-xmlwriter_end_element($xw);
-
+field($xw, 'VERSION', '1');
+field($xw, 'NAME', $row['mash_name']);
+field($xw, 'GRAIN_TEMP', '10.0');
+field($xw, 'PH', sprintf("%.1f",floatval($row['sparge_ph'])));
+field($xw, 'SPARGE_TEMP', sprintf("%.1f",floatval($row['sparge_temp'])));
 xmlwriter_start_element($xw, 'MASH_STEPS');
 $arr = json_decode($row['json_mashs'], true);
 foreach($arr as $item) { //foreach element in $arr
 	xmlwriter_start_element($xw, 'MASH_STEP');
-
-	xmlwriter_start_element($xw, 'VERSION');
-	xmlwriter_text($xw, '1');
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'NAME');
-	xmlwriter_text($xw, $item['step_name']);
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'TYPE');
-	xmlwriter_text($xw, $mashsteptype[$item['step_type']]);
-	xmlwriter_end_element($xw);
-
-	if ($item['step_type'] == 0) {
-		xmlwriter_start_element($xw, 'INFUSE_AMOUNT');
-		xmlwriter_text($xw, sprintf("%.1f",floatval($item['step_infuse_amount'])));
-		xmlwriter_end_element($xw);
-	}
-
-	xmlwriter_start_element($xw, 'STEP_TEMP');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['step_temp'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'STEP_TIME');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['step_time'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'RAMP_TIME');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['ramp_time'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'END_TEMP');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($item['end_temp'])));
-	xmlwriter_end_element($xw);
-
-	xmlwriter_start_element($xw, 'PH');
-	xmlwriter_text($xw, sprintf("%.1f",floatval($row['mash_ph'])));
-	xmlwriter_end_element($xw);
-
+	field($xw, 'VERSION', '1');
+	field($xw, 'NAME', $item['step_name']);
+	field($xw, 'TYPE', $mashsteptype[$item['step_type']]);
+	if ($item['step_type'] == 0)
+		field($xw, 'INFUSE_AMOUNT', sprintf("%.1f",floatval($item['step_infuse_amount'])));
+	field($xw, 'STEP_TEMP', sprintf("%.1f",floatval($item['step_temp'])));
+	field($xw, 'STEP_TIME', sprintf("%.1f",floatval($item['step_time'])));
+	field($xw, 'RAMP_TIME', sprintf("%.1f",floatval($item['ramp_time'])));
+	field($xw, 'END_TEMP', sprintf("%.1f",floatval($item['end_temp'])));
+	field($xw, 'PH', sprintf("%.1f",floatval($row['mash_ph'])));
 	xmlwriter_end_element($xw);	// MASH_STEP
 }
 xmlwriter_end_element($xw);	// MASH_STEPS
--- a/www/prod_checklist.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_checklist.php	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,7 @@
 <?php
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
+require_once($_SERVER['DOCUMENT_ROOT'].'/includes/constants.php');
 require_once($_SERVER['DOCUMENT_ROOT'].'/fpdf/fpdf.php');
 
 
@@ -38,12 +39,27 @@
 		$this->Ln(1);
 	}
 
+	function Checksplit($moment, $row) {
+		global $splitat;
+		if ($row['divide_type'] && $row['divide_type'] == $moment) {
+			$this->Ln(2);
+			$this->SetFont('Helvetica','B',14);
+               		$this->Cell(0, 4,$splitat[$row['divide_type']]." splits de batch hier!",0,0,'C',true);
+               		$this->SetFont('Arial','',10);
+			$this->AddPage();
+			return true;
+		}
+		return false;
+	}
+
 	function Checklist($row) {
 
 		global $my_grain_absorbtion;
 		global $my_brix_correction;
+		global $acidtype;
 		$mashwater = 0;
 		$numsalts = 0;
+		$factor = 1 / $row['divide_factor'];
 
 		$this->AddPage();
 		$this->SetFillColor(255,255,255);
@@ -101,17 +117,17 @@
 
 		$this->Checkheader('Water en -behandeling');
 		if ($row['w1_name']) {
-			$this->Checkline(sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
-			$mashwater += floatval($row['w1_amount']);
+			$this->Checkline(sprintf("%.1f",floatval($row['w1_amount'] * $factor)).' liter water '.$row['w1_name']);
+			$mashwater += floatval($row['w1_amount'] * $factor);
 		}
 		if ($row['w2_name']) {
-			$this->Checkline(sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name']);
-			$mashwater += floatval($row['w2_amount']);
+			$this->Checkline(sprintf("%.1f",floatval($row['w2_amount'] * $factor)).' liter water '.$row['w2_name']);
+			$mashwater += floatval($row['w2_amount'] * $factor);
 		}
 		foreach($miscs as $item) {
 			if ($item['m_type'] == 4) {	// Only the water agents
 				$unit = ($item['m_amount_is_weight']) ? " gr ":" ml ";
-				$this->Checkline(sprintf("%.1f",floatval($item['m_amount'] * 1000)).$unit.$item['m_name']);
+				$this->Checkline(sprintf("%.2f",floatval($item['m_amount'] * 1000 * $factor)).$unit.$item['m_name']);
 				$numsalts++;
 			}
 		}
@@ -120,7 +136,7 @@
 		$this->Checkheader('Mout afwegen en schroten');
 		foreach($ferms as $item) {
 			if ($item['f_added'] == 0) {	// to mash
-				$s = sprintf("%.3f",floatval($item['f_amount'])).' kg `';
+				$s = sprintf("%.3f",floatval($item['f_amount'] * $factor)).' kg `';
 				$s .= iconv('UTF-8','windows-1252',$item['f_name']);
 				$s .= '` ('.iconv('UTF-8','windows-1252',$item['f_supplier']).')';
 				$this->Checkline($s);
@@ -138,10 +154,10 @@
 			$loop = 0;
 			foreach($arr as $item) {
 				if ($item['step_type'] == 0)
-					$mvol += $item['step_infuse_amount'];	// We need this later.
+					$mvol += $item['step_infuse_amount'] * $factor;	// We need this later.
 				if ($loop == 0) {
 					if ($item['step_type'] == 0)
-						$l = $item['step_infuse_amount'];
+						$l = $item['step_infuse_amount'] * $factor;
 					else
 						$l = $mashwater;
 					$s = sprintf("%.1f",$l).' liter water opwarmen tot ';
@@ -154,7 +170,7 @@
 					$this->Checkline('mout storten en inmaischen');
 					foreach($hops as $item2) {
 						if ($item2['h_useat'] == 0) {
-							$s = sprintf("%.1f",$item2['h_amount']*1000).' gr `';
+							$s = sprintf("%.1f",$item2['h_amount']*1000 * $factor).' gr `';
 							$s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` toevoegen';
 							$this->Checkline($s);
 						}
@@ -162,7 +178,7 @@
 					foreach($miscs as $item3) {
 						if ($item3['m_use_use'] == 1 && $item3['m_type'] != 4) {	// Only if not a water agent
 							$unit = ($item3['m_amount_is_weight']) ? " gr ":" ml ";
-							$s = sprintf("%.2f",$item3['m_amount']*1000).$unit.'`';
+							$s = sprintf("%.2f",$item3['m_amount']*1000 * $factor).$unit.'`';
 							$s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` toevoegen';
 							$this->Checkline($s);
 						}
@@ -171,11 +187,11 @@
 					$this->Checkline('pH meten en bijstellen (doel pH beslag: '.sprintf("%.1f",$row['mash_ph']).' pH)');
 				} else {
 					if ($item['step_type'] == 0) {	// Infusion
-						$s = 'toevoegen '.$item['step_infuse_amount'].' liter water van xx '.DEG.'C';
+						$s = 'toevoegen '.($item['step_infuse_amount'] * $factor).' liter water van xx '.DEG.'C';
 					} else if ($item['step_type'] == 1) {	// Direct heat
 						$s = 'opwarmen tot '.$item['step_temp'].' '.DEG.'C';
 					} else {	// Decoction
-						$s = 'uitnemen, opwarmen, koken en terugstorten van '.$item['step_infuse_amount'].' liter deelbeslag';
+						$s = 'uitnemen, opwarmen, koken en terugstorten van '.($item['step_infuse_amount']*$factor).' liter deelbeslag';
 					}
 					$this->Checkline($s);
 					$this->Checkline($item['step_time'].' min. bij '.$item['step_temp'].' '.DEG.'C');
@@ -185,9 +201,9 @@
 			$est_mash_sg = 0;
 			foreach($ferms as $item) {
 				if ($item['f_added'] == 0) {
-					$d = $item['f_amount'] * ($item['f_yield'] / 100) * (1 - $item['f_moisture'] / 100);
-					$mvol += $item['f_amount'] * $item['f_moisture'] / 100;
-					$grainabsorbtion += $my_grain_absorbtion * $item['f_amount'];
+					$d = $item['f_amount'] * $factor * ($item['f_yield'] / 100) * (1 - $item['f_moisture'] / 100);
+					$mvol += $item['f_amount'] * $factor * $item['f_moisture'] / 100;
+					$grainabsorbtion += $my_grain_absorbtion * $item['f_amount'] * $factor;
 					$msugars += $d;
 				}
 			}
@@ -202,76 +218,85 @@
 		else
 			$this->Ln(5);
 
-		$acidtype = array( 'Melkzuur', 'Zoutzuur', 'Fosforzuur', 'Zwavelzuur' );
 		$this->Checkheader('Filteren en spoelen');
-		$s = sprintf("%.1f",$row['sparge_volume']).' liter spoelwater opwarmen tot '.sprintf("%.1f",$row['sparge_temp']).' '.DEG.'C';
+		$s = sprintf("%.1f",$row['sparge_volume'] * $factor).' liter spoelwater opwarmen tot '.sprintf("%.1f",$row['sparge_temp']).' '.DEG.'C';
 		$this->Checkline($s);
 		$s = 'spoelwater aanzuren tot pH <= '.sprintf("%.1f",$row['sparge_ph']).' met ';
-		$s .= sprintf("%.1f",$row['sparge_acid_amount']*1000).' ml. '.$acidtype[$row['sparge_acid_type']];
+		$s .= sprintf("%.2f",$row['sparge_acid_amount']*1000*$factor).' ml. '.$acidtype[$row['sparge_acid_type']];
 		$this->Checkline($s);
-		$spoelw = ($row['boil_size'] - $mashwater + $grainabsorbtion + $row['eq_lauter_deadspace']) * 1.03;	// A small heat correction
+		$spoelw = (($row['boil_size']*$factor) - $mashwater + $grainabsorbtion + $row['eq_lauter_deadspace']) * 1.03;	// A small heat correction
 		$this->Checkline('spoelen met ongeveer '.sprintf("%.1f",$spoelw).' liter spoelwater');
-		$s = 'doelvolume in kookketel: '.sprintf("%.1f",$row['boil_size'] * 1.04).' liter (';
-		$s .= sprintf("%.1f",kettle_cm($row['boil_size'] * 1.04,$row['eq_kettle_volume'],$row['eq_kettle_height'])).' cm onder de rand)';
+		$s = 'doelvolume in kookketel: '.sprintf("%.1f",$row['boil_size'] * $factor * 1.04).' liter (';
+		$s .= sprintf("%.1f",kettle_cm($row['boil_size'] * $factor * 1.04,$row['eq_kettle_volume'],$row['eq_kettle_height'])).' cm onder de rand)';
 		$this->Checkline($s);
-		$pre_sg = estimate_sg($msugars * floatval($row['efficiency']) / 100,floatval($row['boil_size']));
+		$pre_sg = estimate_sg($msugars * floatval($row['efficiency']) / 100,floatval($row['boil_size'] * $factor));
 		$this->Checkline('doel SG in kookketel: '.density_str($pre_sg));
 		foreach($hops as $item2) {
 			if ($item2['h_useat'] == 1) {
-				$s = sprintf("%.1f",$item2['h_amount']*1000).' gr `';
+				$s = sprintf("%.1f",$item2['h_amount']*1000*$factor).' gr `';
 				$s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` toevoegen na het spoelen';
 				$this->Checkline($s);
 			}
 		}
-		if ($this->GetY() > 200)
+		if ($this->Checksplit(1, $row))
+			$factor = 1;
+		if ($this->GetY() > 200 && $row['boil_time'] > 0)
+			$this->AddPage();
+		else if ($this->GetY() > 270 && $row['boil_time'] == 0)
 			$this->AddPage();
 		else
 			$this->Ln(5);
 
 		$this->Checkheader('Koken');
-		$this->Checkline('totale kooktijd: '.$row['boil_time'].' min.');
-		for ($i = $row['boil_time']; $i >= 0; $i--) {
-			if ($i == 10) {
-				foreach($ferms as $item1) {
-					if ($item1['f_added'] == 1) {
-						$s = sprintf("%.3f",$item1['f_amount']).' kg `';
-						$s .= iconv('UTF-8','windows-1252',$item1['f_name']).'` bij 10 minuten voor einde koken';
+		if ($row['boil_time'] > 0) {
+			$this->Checkline('totale kooktijd: '.$row['boil_time'].' min.');
+			for ($i = $row['boil_time']; $i >= 0; $i--) {
+				if ($i == 10) {
+					foreach($ferms as $item1) {
+						if ($item1['f_added'] == 1) {
+							$s = sprintf("%.3f",$item1['f_amount']*$factor).' kg `';
+							$s .= iconv('UTF-8','windows-1252',$item1['f_name']).'` bij 10 minuten voor einde koken';
+							$this->Checkline($s);
+						}
+					}
+					if ($row['brew_cooling_method'] == 1)
+						$this->Checkline('Plaats dompelkoeler bij 10 minuten voor einde koken');
+				}
+				foreach($hops as $item2) {
+					if (($item2['h_useat'] == 2 || $item2['h_useat'] == 3) && ($item2['h_time'] == $i)) {
+						$s = sprintf("%.2f",$item2['h_amount']*1000*$factor).' gr `';
+						$s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` bij ';
+						if ($i > 0)
+							$s .= $i.' minuten voor einde koken';
+						else
+							$s .= 'vlamuit';
 						$this->Checkline($s);
 					}
 				}
-				if ($row['brew_cooling_method'] == 1)
-					$this->Checkline('Plaats dompelkoeler bij 10 minuten voor einde koken');
-			}
-			foreach($hops as $item2) {
-				if (($item2['h_useat'] == 2 || $item2['h_useat'] == 3) && ($item2['h_time'] == $i)) {
-					$s = sprintf("%.1f",$item2['h_amount']*1000).' gr `';
-					$s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` bij ';
-					if ($i > 0)
-						$s .= $i.' minuten voor einde koken';
-					else
-						$s .= 'vlamuit';
-					$this->Checkline($s);
+				foreach($miscs as $item3) {
+					if ($item3['m_use_use'] == 2 && $item3['m_time'] == $i) {
+						$unit = ($item3['m_amount_is_weight']) ? " gr ":" ml ";
+						$s = sprintf("%.2f",$item3['m_amount']*1000*$factor).$unit.'`';
+						$s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` bij ';
+						if ($i > 0)
+							$s .= $i.' minuten voor einde koken';
+						else
+							$s .= 'vlamuit';
+						$this->Checkline($s);
+					}
 				}
+
 			}
-			foreach($miscs as $item3) {
-				if ($item3['m_use_use'] == 2 && $item3['m_time'] == $i) {
-					$unit = ($item3['m_amount_is_weight']) ? " gr ":" ml ";
-					$s = sprintf("%.1f",$item3['m_amount']*1000).$unit.'`';
-					$s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` bij ';
-					if ($i > 0)
-						$s .= $i.' minuten voor einde koken';
-					else
-						$s .= 'vlamuit';
-					$this->Checkline($s);
-				}
-			}
-
+			$s = 'doelvolume einde koken: '.sprintf("%.1f",$row['batch_size']*$factor*1.04).' liter (';
+			$s .= sprintf("%.1f",kettle_cm($row['batch_size']*$factor*1.04,$row['eq_kettle_volume'],$row['eq_kettle_height']));
+			$s .= ' cm onder de rand)';
+			$this->Checkline($s);
+			$this->Checkline('doel SG einde koken: '.density_str($row['est_og3']));
+			if ($this->Checksplit(2, $row))
+				$factor = 1;
+		} else {
+			$this->Checkline('Dit is een `no-boil\' recept');
 		}
-		$s = 'doelvolume einde koken: '.sprintf("%.1f",$row['batch_size']*1.04).' liter (';
-		$s .= sprintf("%.1f",kettle_cm($row['batch_size']*1.04,$row['eq_kettle_volume'],$row['eq_kettle_height']));
-		$s .= ' cm onder de rand)';
-		$this->Checkline($s);
-		$this->Checkline('doel SG einde koken: '.density_str($row['est_og']));
 		if ($this->GetY() > 200)
 			$this->AddPage();
 		else
@@ -295,7 +320,7 @@
 			}
 			foreach($hops as $item2) {
 				if ($item2['h_useat'] == 4) {
-					$s = sprintf("%.1f",$item2['h_amount']*1000).' gr `';
+					$s = sprintf("%.1f",$item2['h_amount']*1000*$factor).' gr `';
 					$s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` voor ';
 					$s .= $item2['h_time'].' minuten in de whirlpool';
 					$this->Checkline($s);
@@ -312,26 +337,37 @@
 		}
 		$this->Checkline('gistvat ontsmetten en evt. pomp en slangen ontsmetten');
 		$this->Checkline('wort naar gistvat overbrengen');
-
+		if ($this->Checksplit(3, $row))
+			$factor = 1;
 		if ($this->GetY() > 240)
 			$this->AddPage();
 		else
 			$this->Ln(5);
+
+		$climate = $row['brew_cooling_to'];
 		$this->Checkheader('Gist enten');
 		$dry = 0;
 		foreach ($yeasts as $item) {
+			$name       = iconv('UTF-8','windows-1252',$item['y_name']);
+                        $product_id = iconv('UTF-8','windows-1252',$item['y_product_id']);
 			if ($item['y_use'] == 0) { // primary
 				if ($item['y_form'] == 0) { // Liquid
-					$this->Checkline($item['y_amount'].' pak '.$item['y_product_id'].', '.$item['y_name'].' gist');
-				} else if ($item['y_form'] == 1 || $item['y_form'] == 6) { // Dry
-					$s = sprintf("%.1f",$item['y_amount']*1000).' gram '.$item['y_product_id'].', '.$item['y_name'];
+					$this->Checkline(($item['y_amount']*$factor).' pak '.$product_id.', '.$name.' gist');
+				} else if ($item['y_form'] == 1 || $item['y_form'] == 6) { // Dry or dried Kveik
+					$s = sprintf("%.1f",$item['y_amount']*$factor*1000).' gram '.$product_id.', '.$name;
 					$s .= ' gist';
-					$dry += $item['y_amount']*10000;
+					if ($item['y_form'] == 1)
+						$dry += $item['y_amount']*$factor*10000;
 					$this->Checkline($s);
 				} else { // Slant/Culture/Frozen/Bottle
-					$s = sprintf("%.0f",$item['y_amount']*1000).' ml '.$item['y_product_id'].', '.$item['y_name'].' gist';
+					$s = sprintf("%.0f",$item['y_amount']*$factor*1000).' ml '.$product_id.', '.$name.' gist';
 					$this->Checkline($s);
 				}
+				if ($item['y_type'] == 6 && floatval($item['y_pitch_temperature']) > 0) {
+					$s = 'Gist enten bij ' . sprintf("%.1f",floatval($item['y_pitch_temperature'])) . DEG . 'C';
+					$this->Checkline($s);
+					$climate = $item['y_pitch_temperature'];
+				}
 			}
 		}
 		if ($dry > 0) {
@@ -348,7 +384,7 @@
 				$this->Checkline('gist toevoegen');
 		}
 		if ($row['brew_fermenter_extrawater'] > 0)
-			$this->Checkline(sprintf("%.1f", $row['brew_fermenter_extrawater']).' liter water toevoegen in gistvat');
+			$this->Checkline(sprintf("%.1f", $row['brew_fermenter_extrawater']*$factor).' liter water toevoegen in gistvat');
 		if ($row['brew_aeration_type'] > 0) {
 			$s = 'wort '.$row['brew_aeration_time'].' minuten beluchten met ';
 			$s .= ($row['brew_aeration_type'] == 1) ? "lucht":"zuurstof";
@@ -360,7 +396,7 @@
 			$this->Ln(5);
 
 		$this->Checkheader('Vergisting starten');
-		$this->Checkline('klimaatkast instellen op '.sprintf("%.1f",$row['brew_cooling_to']).' '.DEG.'C');
+		$this->Checkline('klimaatkast instellen op '.sprintf("%.1f",$climate).' '.DEG.'C');
 
 		/*
 		 * During primary fermentation: fermentables, misc
@@ -383,7 +419,7 @@
 		}
 		foreach($ferms as $item1) {
                         if ($item1['f_added'] == 2) {
-				$s = sprintf("%.3f",$item1['f_amount']).' kg `';
+				$s = sprintf("%.3f",$item1['f_amount']*$factor).' kg `';
                                 $s .= iconv('UTF-8','windows-1252',$item1['f_name']).'` op dag 3 of 4 toevoegen';
                                 $this->Checkline($s);
 			}
@@ -391,11 +427,13 @@
                 foreach($miscs as $item3) {
                         if ($item3['m_use_use'] == 3) {
 				$unit = ($item3['m_amount_is_weight']) ? " gr ":" ml ";
-				$s = sprintf("%.1f",$item3['m_amount']*1000).$unit.'`';
+				$s = sprintf("%.1f",$item3['m_amount']*$factor*1000).$unit.'`';
                                 $s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` op dag 3 of 4 toevoegen';
                                 $this->Checkline($s);
 			}
                 }
+		if ($this->Checksplit(4, $row))
+			$factor = 1;
 
 		/*
 		 * During secondary fermentation: yeast
@@ -404,6 +442,8 @@
                 foreach ($yeasts as $item4) {
                         if ($item4['y_use'] == 1)
 				$lines++;
+			if ($item4['y_harvest_time'] > 0)
+				$lines++;
 		}
 		if ($lines) {
 			if ($this->GetY() > (270 - (5 * $lines)))
@@ -414,18 +454,30 @@
                 }
 		foreach ($yeasts as $item4) {
                         if ($item4['y_use'] == 1) {
+				$name       = iconv('UTF-8','windows-1252',$item4['y_name']);
+                                $product_id = iconv('UTF-8','windows-1252',$item4['y_product_id']);
 				if ($item4['y_form'] == 0) { // Liquid
-                                        $this->Checkline($item4['y_amount'].' pak '.$item4['y_product_id'].', '.$item4['y_name'].' gist (eventueel met starter)');
+                                        $this->Checkline(($item4['y_amount']*$factor).' pak '.$product_id.', '.$name.' gist (eventueel met starter)');
                                 } else if ($item['y_form'] == 1) { // Dry
-                                        $s = sprintf("%.1f",$item4['y_amount']*1000).' gram '.$item4['y_product_id'].', '.$item4['y_name'];
+                                        $s = sprintf("%.1f",$item4['y_amount']*$factor*1000).' gram '.$product_id.', '.$name;
                                         $s .= ' gist';
                                         $this->Checkline($s);
                                 } else { // Slant/Culture/Frozen/Bottle
-                                        $s = sprintf("%.0f",$item4['y_amount']*1000).' ml '.$item4['y_product_id'].', '.$item4['y_name'].' gist (eventueel met starter)';
+                                        $s = sprintf("%.0f",$item4['y_amount']*$factor*1000).' ml '.$product_id.', '.$name.' gist (eventueel met starter)';
                                         $this->Checkline($s);
                                 }
 			}
+			if ($item4['y_harvest_time'] > 0) {
+				$s = 'Na ' . $item4['y_harvest_time'] . ' uur gist oogsten vanaf de ';
+				if ($item4['y_harvest_top'] > 0)
+					$s .= 'bovenzijde';
+				else
+					$s .= 'bodem';
+				$this->Checkline($s);
+			}
                 }
+		if ($this->Checksplit(5, $row))
+			$factor = 1;
 
 		/*
 		 * During tertiary fermentation: fermentables, hop, yeast, misc
@@ -456,14 +508,14 @@
                 }
 		foreach($ferms as $item1) {
                         if ($item1['f_added'] == 3) {
-                                $s = sprintf("%.3f",$item1['f_amount']).' kg `';
+                                $s = sprintf("%.3f",$item1['f_amount']*$factor).' kg `';
                                 $s .= iconv('UTF-8','windows-1252',$item1['f_name']).'` toevoegen';
                                 $this->Checkline($s);
                         }
                 }
 		foreach($hops as $item2) {
                         if ($item2['h_useat'] == 5) {
-                                $s = sprintf("%.1f",$item2['h_amount']*1000).' gr `';
+                                $s = sprintf("%.1f",$item2['h_amount']*$factor*1000).' gr `';
                                 $s .= iconv('UTF-8','windows-1252',$item2['h_name']).'` voor ';
 				$s .= sprintf("%.0f",$item2['h_time']/1440).' dagen toevoegen';
                                 $this->Checkline($s);
@@ -471,13 +523,15 @@
                 }
 		foreach ($yeasts as $item4) {
                         if ($item4['y_use'] == 2) {
+				$name       = iconv('UTF-8','windows-1252',$item4['y_name']);
+                                $product_id = iconv('UTF-8','windows-1252',$item4['y_product_id']);
                                 if ($item4['y_form'] == 0) { // Liquid
-                                        $s = $item4['y_amount'].' pak '.$item4['y_product_id'].', '.$item4['y_name'].' gist (eventueel met starter)';
+                                        $s = ($item4['y_amount']*$factor).' pak '.$product_id.', '.$name.' gist (eventueel met starter)';
                                 } else if ($item4['y_form'] == 1) { // Dry
-                                        $s = sprintf("%.1f",$item4['y_amount']*1000).' gram '.$item4['y_product_id'].', '.$item4['y_name'];
+                                        $s = sprintf("%.1f",$item4['y_amount']*$factor*1000).' gram '.$product_id.', '.$name;
                                         $s .= ' gist';
                                 } else { // Slant/Culture/Frozen/Bottle
-                                        $s = sprintf("%.0f",$item4['y_amount']*1000).' ml '.$item4['y_product_id'].', '.$item4['y_name'];
+                                        $s = sprintf("%.0f",$item4['y_amount']*$factor*1000).' ml '.$product_id.', '.$name;
 					$s .= ' gist (eventueel met starter)';
                                 }
 				$this->Checkline($s);
@@ -486,12 +540,14 @@
 		foreach($miscs as $item3) {
                         if ($item3['m_use_use'] == 4) {
 				$unit = ($item3['m_amount_is_weight']) ? " gr ":" ml ";
-                                $s = sprintf("%.1f",$item3['m_amount']*1000).$unit.'`';
+                                $s = sprintf("%.1f",$item3['m_amount']*$factor*1000).$unit.'`';
                                 $s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` voor ';
 				$s .= sprintf("%.0f",$item3['m_time']/1440).' dagen toevoegen';
                                 $this->Checkline($s);
                         }
                 }
+		if ($this->Checksplit(6, $row))
+			$factor = 1;
 
 		/*
 		 * During packaging: fermentables, yeast, misc
@@ -520,30 +576,32 @@
                 }
 		foreach($ferms as $item1) {
                         if ($item1['f_added'] == 4) {
-                                $s = sprintf("%.3f",$item1['f_amount']).' kg `';
+                                $s = sprintf("%.3f",$item1['f_amount']*$factor).' kg `';
                                 $s .= iconv('UTF-8','windows-1252',$item1['f_name']).'`';
 				if ($row['bottle_priming_water'] > 0)
-					$s .= ' met '.sprintf("%.3f",$row['bottle_priming_water']).' liter water';
+					$s .= ' met '.sprintf("%.3f",$row['bottle_priming_water']*$factor).' liter water';
 				$s .= ' bij bottelen';
                                 $this->Checkline($s);
                         }
 			if ($item1['f_added'] == 5) {
-                                $s = sprintf("%.3f",$item1['f_amount']).' kg `';
+                                $s = sprintf("%.3f",$item1['f_amount']*$factor).' kg `';
                                 $s .= iconv('UTF-8','windows-1252',$item1['f_name']).'`';
 				if ($row['keg_priming_water'] > 0)
-					$s .= ' met '.sprintf("%.3f",$row['keg_priming_water']).' liter water';
+					$s .= ' met '.sprintf("%.3f",$row['keg_priming_water']*$factor).' liter water';
 				$s .= ' bij op fust zetten';
                                 $this->Checkline($s);
                         }
                 }
 		foreach ($yeasts as $item4) {
                         if ($item4['y_use'] == 3) {
+				$name       = iconv('UTF-8','windows-1252',$item4['y_name']);
+                        	$product_id = iconv('UTF-8','windows-1252',$item4['y_product_id']);
                                 if ($item4['y_form'] == 0) { // Liquid
-                                        $s = '`'.$item4['y_product_id'].', '.$item4['y_name'];
+                                        $s = '`'.$product_id.', '.$name;
                                 } else if ($item4['y_form'] == 1) { // Dry
-                                        $s = sprintf("%.1f",$item4['y_amount']*1000).' gram `'.$item4['y_product_id'].', '.$item4['y_name'];
+                                        $s = sprintf("%.1f",$item4['y_amount']*$factor*1000).' gram `'.$product_id.', '.$name;
                                 } else { // Slant/Culture/Frozen/Bottle
-                                        $s = sprintf("%.0f",$item4['y_amount']*1000).' ml `'.$item4['y_product_id'].', '.$item4['y_name'];
+                                        $s = sprintf("%.0f",$item4['y_amount']*$factor*1000).' ml `'.$product_id.', '.$name;
                                 }
 				$s .= '` als bottelgist';
 				$this->Checkline($s);
@@ -552,13 +610,12 @@
 		foreach($miscs as $item3) {
                         if ($item3['m_use_use'] == 5) {
 				$unit = ($item3['m_amount_is_weight']) ? " gr ":" ml ";
-                                $s = sprintf("%.1f",$item3['m_amount']*1000).$unit.'`';
+                                $s = sprintf("%.1f",$item3['m_amount']*$factor*1000).$unit.'`';
                                 $s .= iconv('UTF-8','windows-1252',$item3['m_name']).'` bij bottelen toevoegen';
                                 $this->Checkline($s);
                         }
                 }
 	}
-
 }
 
 
@@ -567,7 +624,7 @@
 	function Header() {
 		global $row;
 		global $prdate;
-		$stage = array( 'Plan', 'Wacht', 'Brouwen', 'Hoofdgisting', 'Nagisting', 'Lagering', 'Afvullen', 'Hergisten', 'Rijpen', 'Proeven', 'Gereed', 'Afgesloten' );
+		global $stage;
 		$this->Image('images/logo.png',10,10,30);
 		// Title
 		$this->SetFont('Helvetica','B',18);
@@ -580,11 +637,18 @@
 		$this->Cell(0,5,$prdate,0,1,'L');
 		$this->SetX(45);
 		$this->Cell(17,5,'Stijl:',0,0,'L');
-		$this->Cell(0,5,$row['st_name'],0,1,'L');
+		$st_name = iconv('UTF-8','windows-1252',$row['st_name']);
+		$this->Cell(0,5,$st_name,0,1,'L');
 		$this->SetX(45);
 		$this->Cell(17,5,'Fase:',0,0,'L');
 		$this->Cell(0,5,$stage[$row['stage']],0,1,'L');
-		$this->Ln(6);
+		$this->SetX(45);
+                $this->Cell(17,5,'Batch:',0,0,'L');
+                if ($row['divide_parts'] == 0)
+                        $this->Cell(0,5,"Niet gespitst",0,1,'L');
+                else
+                        $this->Cell(0,5,"Split batch ".($row['divide_part'] + 1)." van ".($row['divide_parts'] + 1),0,1,'L');
+                $this->Ln(2);
 		// Ensure table header is printed
 		parent::Header();
 	}
--- a/www/prod_duplicate.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_duplicate.php	Fri May 01 16:37:31 2020 +0200
@@ -33,6 +33,8 @@
 $sql .= "', notes='" . mysqli_real_escape_string($link, $row['notes']);
 $sql .= "', log_brew='0";
 $sql .= "', log_fermentation='0";
+$sql .= "', log_ispindel='0";
+$sql .= "', log_co2pressure='0";
 $sql .= "', inventory_reduced='0";
 $sql .= "', locked='0";
 // Equipment
--- a/www/prod_edit.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_edit.php	Fri May 01 16:37:31 2020 +0200
@@ -37,10 +37,10 @@
         <td align="left" style="vertical-align: top; padding: 3px;"><input id="stage" readonly /></td>
        </tr>
        <tr id='divide_row'>
-        <td style="vertical-align: top; float: right; padding: 3px;">Splits aantal:</td>
-        <td align="left"><div id="divide_parts"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Splits moment:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Splits product:</td>
         <td align="left" style="vertical-align: top; padding: 3px;"><input id="divide_type" readonly /></td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Gesplitst product:</td>
+        <td align="left" style="vertical-align: top; padding: 3px;"><input id="divide_batch" readonly /></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Splits focus:</td>
         <td align="left"><div id="d3"></div></td>
        </tr>
@@ -111,7 +111,7 @@
         <td style="vertical-align: top; float: right; padding: 3px;">Bitterheid methode:</td>
         <td style="padding: 3px;"><div style="float: left;" id="ibu_method"></div></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Energie-inhoud kcal/l:</td>
-        <td style="padding: 3px;"><div style="float: left;" id="kcal"></div></div></td>
+        <td style="padding: 3px;"><div style="float: left;" id="kcal"></div></td>
        </tr>
       </table>
       <div style="float: right; margin-top: 20px; margin-bottom: 5px;">
@@ -141,21 +141,21 @@
         <th style="text-align: center;" colspan="2">Koken</th>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right;">Maischkuip volume l:</td>
+        <td style="vertical-align: top; float: right;">Maischkuip volume L:</td>
         <td><div id="eq_tun_volume"></div></td>
-        <td style="vertical-align: top; float: right;">Kookketel volume l:</td>
+        <td style="vertical-align: top; float: right;">Kookketel volume L:</td>
         <td><div id="eq_kettle_volume"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right;">Maischwater l:</td>
+        <td style="vertical-align: top; float: right;">Maischwater L:</td>
         <td><div id="eq_mash_volume"></div></td>
-        <td style="vertical-align: top; float: right;">Kook volume l:</td>
+        <td style="vertical-align: top; float: right;">Kook volume L:</td>
         <td><div id="eq_boil_size"></div></td>
        </tr>
        <tr>
         <td style="vertical-align: top; float: right;">Maximum moutstort Kg:</td>
         <td><div id="eq_mash_max"></div></td>
-        <td style="vertical-align: top; float: right;">Verdamping per uur l:</td>
+        <td style="vertical-align: top; float: right;">Verdamping per uur L:</td>
         <td><div id="eq_evap_rate"></div></td>
        </tr>
        <tr>
@@ -164,24 +164,24 @@
         <td><div id="eq_boil_time"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right;">Filter volume l:</td>
+        <td style="vertical-align: top; float: right;">Filter volume L:</td>
         <td><div id="eq_lauter_volume"></div></td>
-        <td style="vertical-align: top; float: right;">Extra water bij koken l:</td>
+        <td style="vertical-align: top; float: right;">Extra water bij koken L:</td>
         <td><div id="eq_top_up_kettle"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right;">Filterkuip verlies l:</td>
+        <td style="vertical-align: top; float: right;">Filterkuip verlies L:</td>
         <td><div id="eq_lauter_deadspace"></div></td>
         <td style="vertical-align: top; float: right;">Hopfactor %:</td>
         <td><div id="eq_hop_utilization"></div></td>
        </tr>
        <tr>
         <th style="text-align: center;" colspan="2">Koelen</th>
-        <td style="vertical-align: top; float: right;">Volume eind koken l:</td>
+        <td style="vertical-align: top; float: right;">Volume eind koken L:</td>
         <td><div id="eq_batch_size"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right;">Trub verlies kookketel l:</td>
+        <td style="vertical-align: top; float: right;">Trub verlies kookketel L:</td>
         <td><div id="eq_trub_chiller_loss"></div></td>
         <td style="vertical-align: top; float: right;">Brouwzaalrendement %:</td>
         <td><div id="eq_efficiency"></div></td>
@@ -260,12 +260,12 @@
       <table style="width: 100%;">
        <tr>
         <td style="vertical-align: top; float: right; padding: 3px;">Verwacht eind SG:</td>
-	<td style="padding: 3px;"><div id="est_fg2"></div></td>
-	<td align="center" colspan="7" rowspan="5">
+        <td style="padding: 3px;"><div id="est_fg2"></div></td>
+        <td align="center" colspan="5" rowspan="5">
          <div id="propagator">
           <table style="width: 100%;">
-	   <caption>Giststarter stappen</caption>
-	   <tr>
+           <caption>Giststarter stappen</caption>
+           <tr>
             <td style="width: 40px; padding: 3px;">Stap</td>
             <td align="left" style="vertical-align: top; padding: 3px;">Methode</td>
             <td style="width: 120px; padding: 3px;">Volume</td>
@@ -273,7 +273,7 @@
             <td style="width: 120px; padding: 3px;">Nieuwe cellen</td>
             <td style="width: 120px; padding: 3px;">Totaal cellen</td>
             <td style="width: 120px; padding: 3px;">Groei factor</td>
-	   </tr>
+           </tr>
            <tr>
             <td align="center">1</td>
             <td><div id="prop1_type"></div><div id="r1_pmpt">Niet nodig</div></td>
@@ -282,7 +282,7 @@
             <td><div id="prop1_ncells"></div></td>
             <td><div style="float: left;" id="prop1_tcells"></div><div style="float: left;" id="r1_tcells"></div></td>
             <td><div style="float: left;" id="prop1_growf"></div><div style="float: left;" id="r1_growf"></div></td>
-	   </tr>
+           </tr>
            <tr>
             <td align="center">2</td>
             <td><div id="prop2_type"></div><div id="r2_pmpt">Niet nodig</div></td>
@@ -302,26 +302,32 @@
             <td><div style="float: left;" id="prop3_growf"></div><div style="float: left;" id="r3_growf"></div></td>
            </tr>
            <tr>
-	    <td align="center">4</td>
-            <div id="prop4_row">
+            <td align="center">4</td>
             <td><div id="prop4_type"></div><div id="r4_pmpt">Niet nodig</div></td>
             <td><div id="prop4_volume"></div></td>
             <td><div style="float: left;" id="prop4_irate"></div><div style="float: left;" id="r4_irate"></div></td>
             <td><div id="prop4_ncells"></div></td>
             <td><div style="float: left;" id="prop4_tcells"></div><div style="float: left;" id="r4_tcells"></div></td>
-	    <td><div style="float: left;" id="prop4_growf"></div><div style="float: left;" id="r4_growf"></div></td>
-            </div>
+            <td><div style="float: left;" id="prop4_growf"></div><div style="float: left;" id="r4_growf"></div></td>
            </tr>
- 	  </table>
+          </table>
          </div>
         </td>
        </tr>
        <tr>
         <td style="vertical-align: top; float: right; padding: 3px;">Verwacht ABV %:</td>
-	<td style="padding: 3px;"><div id="est_abv2"></div></td>
+        <td style="padding: 3px;"><div id="est_abv2"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Aantal cellen miljard:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Gist productie datum:</td>
+        <td style="padding: 3px;"><div id="yeast_prod_date"></div></td>
+       </tr>
+       <tr>
+        <td style="vertical-align: top; float: right; padding: 3px;">Gist conditie %:</td>
+        <td style="padding: 3px;"><div id="starter_viability"></div></td>
+       </tr>
+       <tr>
+        <td style="vertical-align: top; float: right; padding: 3px;">Gistcellen miljard:</td>
         <td style="padding: 3px;"><div id="yeast_cells"></div></td>
        </tr>
        <tr>
@@ -329,22 +335,16 @@
         <td style="padding: 3px;"><div id="need_cells"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Cellen/ml &deg;P:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Pitch cellen/ml &deg;P:</td>
         <td style="padding: 3px;"><div id="plato_cells"></div></td>
-       </tr>
-       <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Maak een starter:</td>
-	<td style="padding: 3px;"><div id="starter_enable"></div></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Starter type:</td>
 	<td style="padding: 3px;"><div id="starter_type"></div></td>
 	<td style="vertical-align: top; float: right; padding: 3px;">Starter SG:</td>
         <td style="padding: 3px;"><div id="starter_sg"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Gist conditie %:</td>
-        <td style="padding: 3px;"><div id="starter_viability"></div></td>
-        <td style="vertical-align: top; padding: 3px;"><input type="button" id="starter_try"  value="Probeer" /></td>
+        <td style="vertical-align: top; padding: 3px;"><input type="button" id="starter_try" value="Probeer" /></td>
        </tr>
-       <tr><td colspan="9">&nbsp;</td></tr>
-       <tr><td align="center" colspan="9"><div id="yeastGrid"></div></td></tr>
+       <tr><td colspan="7">&nbsp;</td></tr>
+       <tr><td align="center" colspan="7"><div id="yeastGrid"></div></td></tr>
       </table>
      </div>
     </div> <!-- tab gisten -->
@@ -379,10 +379,10 @@
           <tr>
            <td style="vertical-align: top; float: right; padding: 3px;">Bitterheidsindex:</td>
            <td style="padding: 3px;"><div style="float: left;" id="tgt_bu"></div><div style="float: left; margin-left: 10px;" id="wr_bu"></div></td>
-           <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal Cl/SO4:</td>
-           <td style="padding: 3px;"><div id="tgt_cl_so4"></div></td>
-           <td style="vertical-align: top; float: right; padding: 3px;">Huidig Cl/SO4:</td>
-           <td style="padding: 3px;"><div style="float: left;" id="got_cl_so4"></div><div style="float: left; margin-left: 10px;" id="wr_cl_so4"></div></td>
+           <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal SO4:Cl:</td>
+           <td style="padding: 3px;"><div style="float: left;" id="tgt_so4_cl"></div><div style="float: left; margin-left: 10px;" id="wrt_so4_cl"></div></td>
+           <td style="vertical-align: top; float: right; padding: 3px;">Huidig SO4:Cl:</td>
+           <td style="padding: 3px;"><div style="float: left;" id="got_so4_cl"></div><div style="float: left; margin-left: 10px;" id="wr_so4_cl"></div></td>
           </tr>
          </table>
         </td>
@@ -477,9 +477,9 @@
        <tr>
         <td style="vertical-align: top; float: right; padding: 3px;">Calciumchloride (CaCl2) gr:</td>
 	<td style="padding: 3px;"><div id="wa_cacl2"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Maish pH:</td>
-        <td style="padding: 3px;"><div id="mash_ph"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Spoelwater voorraad l:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;"><div class='c_mashph'>Maish pH:</div></td>
+        <td style="padding: 3px;"><div id="mash_ph" class='c_mashph'></div></td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Spoelwater voorraad L:</td>
         <td style="padding: 3px;"><div id="sparge_volume"></div></td>
        </tr>
        <tr>
@@ -538,11 +538,11 @@
       </tr>
       <tr>
        <th style="text-align: center;" colspan="2">Maischen</th>
-       <th style="text-align: center;" colspan="4">Koken</th>
+       <th style="text-align: center;" colspan="4"><div id="brew_pmpt_koken">Koken</div></th>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maisch pH:</td>
-       <td><div style="float: left;" id="brew_mash_ph"></div><div style="float: left; margin-left: 15px;" id="est_mash_ph"></div></td>
+       <td><div style="float: left;" id="brew_mash_ph"></div><div style="float: left; margin-left: 10px;" id="est_mash_ph"></div></td>
        <td style="vertical-align: top; float: right;">Voor koken pH:</td>
        <td><div id="brew_preboil_ph"></div></td>
        <td style="vertical-align: top; float: right;">Na koken pH:</td>
@@ -550,19 +550,19 @@
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maisch SG:</td>
-       <td><div style="float: left;" id="brew_mash_sg"></div><div style="float: left; margin-left: 15px;" id="est_mash_sg"></div></td>
+       <td><div style="float: left;" id="brew_mash_sg"></div><div style="float: left; margin-left: 10px;" id="est_mash_sg"></div></td>
        <td style="vertical-align: top; float: right;">Voor koken SG:</td>
-       <td><div style="float: left;" id="brew_preboil_sg"></div><div style="float: left; margin-left: 15px;" id="est_pre_sg"></div></td>
+       <td><div style="float: left;" id="brew_preboil_sg"></div><div style="float: left; margin-left: 10px;" id="est_pre_sg"></div></td>
        <td style="vertical-align: top; float: right;">Na koken SG:</td>
-       <td><div style="float: left;" id="brew_aboil_sg"></div><div style="float: left; margin-left: 15px;" id="est_og3"></div></td>
+       <td><div style="float: left;" id="brew_aboil_sg"></div><div style="float: left; margin-left: 10px;" id="est_og3"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maisch rendement %:</td>
        <td><div id="brew_mash_efficiency"></div></td>
        <td style="vertical-align: top; float: right;">Voor koken vol@100&deg;C:</td>
-       <td><div style="float: left;" id="brew_preboil_volume"></div><div style="float: left; margin-left: 15px;" id="est_pre_vol"></div></td>
+       <td><div style="float: left;" id="brew_preboil_volume"></div><div style="float: left; margin-left: 10px;" id="est_pre_vol"></div><input type="button" id="but_pre_boil" value="?" style="margin-left: 10px" /></td>
        <td style="vertical-align: top; float: right;">Na koken vol@100&deg;C:</td>
-       <td><div style="float: left;" id="brew_aboil_volume"></div><div style="float: left; margin-left: 15px;" id="est_a_vol"></div></td>
+       <td><div style="float: left;" id="brew_aboil_volume"></div><div style="float: left; margin-left: 10px;" id="est_a_vol"></div><input type="button" id="but_after_boil" value="?" style="margin-left: 10px" /></td>
       </tr>
       <tr>
        <td colspan="2"> </td>
@@ -587,7 +587,7 @@
        <td><div id="brew_cooling_to"></div></td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Spoelwater voorraad l:</td>
+       <td style="vertical-align: top; float: right;">Spoelwater voorraad L:</td>
        <td><div id="brew_sparge_volume"></div></td>
        <td style="vertical-align: top; float: right;">Whirlpool 72..79&deg;C min:</td>
        <td><div id="brew_whirlpool7"></div></td>
@@ -595,7 +595,7 @@
        <td><div id="brew_cooling_method"></div></td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Spoelwater nodig l:</td>
+       <td style="vertical-align: top; float: right;">Spoelwater nodig L:</td>
        <td><div id="brew_sparge_est"></div></td>
        <td style="vertical-align: top; float: right;">Whirlpool 60..66&deg;C min:</td>
        <td><div id="brew_whirlpool6"></div></td>
@@ -619,7 +619,7 @@
       <tr>
        <td style="vertical-align: top; float: right;">Beluchten met:</td>
        <td><div id="brew_aeration_type"></div></td>
-       <td style="vertical-align: top; float: right;">Koeler en trub verlies l:</td>
+       <td style="vertical-align: top; float: right;">Koeler en trub verlies L:</td>
        <td><div id="brew_fermenter_tcloss"></div></td>
        <td style="vertical-align: top; float: right;">SG in gistvat:</td>
        <td><div id="brew_fermenter_sg"></div></td>
@@ -627,15 +627,15 @@
       <tr>
        <td style="vertical-align: top; float: right;">Beluchten tijd min:</td>
        <td><div id="brew_aeration_time"></div></td>
-       <td style="vertical-align: top; float: right;">Extra water in gistvat l:</td>
+       <td style="vertical-align: top; float: right;">Extra water in gistvat L:</td>
        <td><div id="brew_fermenter_extrawater"></div></td>
        <td style="vertical-align: top; float: right;">Kleur in gistvat EBC:</td>
-       <td><div style="float: left;" id="brew_fermenter_color"></div><div style="float: left; margin-left: 15px;" id="bcolorf" class='ebccolor'> </div></td>
+       <td><div style="float: left;" id="brew_fermenter_color"></div><div style="float: left; margin-left: 10px;" id="bcolorf" class='ebccolor'> </div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Beluchten snelheid:</td>
        <td><div id="brew_aeration_speed"></div></td>
-       <td style="vertical-align: top; float: right;">Volume naar gistvat l:</td>
+       <td style="vertical-align: top; float: right;">Volume naar gistvat L:</td>
        <td><div id="brew_fermenter_volume"></div></td>
        <td style="vertical-align: top; float: right;">Bitterheid in gistvat IBU:</td>
        <td><div style="float: left;" id="brew_fermenter_ibu"></div></td>
@@ -736,7 +736,8 @@
        </tr>
       </table>
       <div style="float: right; margin-top: 55px; margin-bottom: 5px;">
-       <input style="margin-right: 600px;" type="button" id="FLog"  value="Vergisting log" />
+       <input style="margin-right: 100px;" type="button" id="FLog"  value="Klimaatkast log" />
+       <input style="margin-right: 475px;" type="button" id="ILog" value="Vergisting log" />
       </div>
      </div>
     </div> <!-- Vergisten -->
@@ -747,7 +748,7 @@
        <tr>
         <td style="vertical-align: top; float: right; padding: 3px;">Datum:</td>
 	<td align="left" style="vertical-align: top;"><div id="package_date"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Aanbevolen koolzuur vol:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Aanbevolen volume CO2:</td>
         <td style="padding: 3px;"><div style="float: left;" id="st_carb_min2"></div><div style="float: left; margin-left: 5px;" id="st_carb_max2"></div></td>
        </tr>
        <tr>
@@ -757,11 +758,11 @@
         <th style="text-align: center;" colspan="4">Verdunnen of infusie</th>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Volume na vergisting l:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Volume na vergisting L:</td>
         <td align="left" colspan="3" style="vertical-align: top;"><div id="package_volume"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Toevoeging liter:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Toevoeging Liter:</td>
         <td align="left" style="vertical-align: top;"><div id="package_infuse_amount"></div></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Toevoeging ABV %:</td>
         <td align="left" style="vertical-align: top;"><div id="package_infuse_abv"></div></td>
@@ -771,7 +772,7 @@
         <td align="left" colspan="3" style="vertical-align: top; padding: 3px;"><input id="package_infuse_notes" /></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Alcoholgehalte vol.%:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Alcohol volume %:</td>
         <td align="left" style="vertical-align: top;"><div id="package_abv"></div></td>
         <td style="vertical-align: top; float: right;">Bij verpakken pH:</td>
         <td align="left" style="vertical-align: top;"><div id="package_ph"></div></td>
@@ -784,15 +785,15 @@
         <th style="text-align: center;" colspan="2">Fusten</th>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Hoeveelheid liter:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Hoeveelheid Liter:</td>
         <td align="left" style="vertical-align: top;"><div id="bottle_amount"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Hoeveelheid liter:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Hoeveelheid Liter:</td>
 	<td align="left" style="vertical-align: top;"><div id="keg_amount"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Gewenst CO2 gehalte:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Gewenst volume CO2:</td>
         <td align="left" style="vertical-align: top;"><div id="bottle_carbonation"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Gewenst CO2 gehalte:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Gewenst volume CO2:</td>
         <td align="left" style="vertical-align: top;"><div id="keg_carbonation"></div></td>
        </tr>
        <tr>
@@ -802,9 +803,9 @@
         <td align="left" style="vertical-align: top;"><div id="keg_priming_sugar"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Toevoegen suiker g/l:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Toevoegen suiker g/L:</td>
         <td align="left" style="vertical-align: top;"><div id="bottle_priming_amount"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Toevoegen suiker g/l:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Toevoegen suiker g/L:</td>
         <td align="left" style="vertical-align: top;"><div id="keg_priming_amount"></div></td>
        </tr>
        <tr>
@@ -814,9 +815,9 @@
         <td align="left" style="vertical-align: top;"><div id="keg_priming_total"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Suikeroplossing water l:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Suikeroplossing water L:</td>
         <td align="left" style="vertical-align: top;"><div id="bottle_priming_water"></div></td>
-        <td style="vertical-align: top; float: right; padding: 3px;">Suikeroplossing water l:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Suikeroplossing water L:</td>
         <td align="left" style="vertical-align: top;"><div id="keg_priming_water"></div></td>
        </tr>
        <tr>
@@ -825,7 +826,7 @@
         <td align="left" style="vertical-align: top;"><div id="keg_forced_carb"></div></td>
        </tr>
        <tr>
-        <td style="vertical-align: top; float: right; padding: 3px;">Maximum flesdruk in bar:</td>
+        <td style="vertical-align: top; float: right; padding: 3px;">Verwachte flesdruk in bar:</td>
         <td align="left" style="vertical-align: top;"><div id="bottle_pressure"></div></td>
         <td style="vertical-align: top; float: right; padding: 3px;">Druk op fust bar:</td>
         <td align="left" style="vertical-align: top;"><div id="keg_pressure"></div></td>
@@ -843,6 +844,9 @@
         <td align="left" style="vertical-align: top;"><div id="keg_carbonation_temp"></div></td>
        </tr>
       </table>
+      <div style="float: right; margin-top: 20px; margin-bottom: 5px;">
+       <input style="margin-right: 575px;" type="button" id="CLog" value="Hergisting log" />
+      </div>
      </div>
     </div> <!-- Verpakken -->
 
@@ -897,7 +901,7 @@
      <table style="width: 100%;">
       <tr>
        <td align="right" style="vertical-align: top;">Ingredi&euml;nt naam:</td>
-       <td style="padding: 3px;"><input readonly="1" id="wf_name" /></div></td>
+       <td style="padding: 3px;"><input readonly="1" id="wf_name" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Ander ingredi&euml;nt:</td>
@@ -942,7 +946,7 @@
      <table style="width: 100%;">
       <tr>
        <td align="right" style="vertical-align: top;">Hop naam:</td>
-       <td style="padding: 3px;"><input readonly="1" id="wh_name" /></div></td>
+       <td style="padding: 3px;"><input readonly="1" id="wh_name" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Andere hop:</td>
@@ -983,7 +987,7 @@
      <table style="width: 100%;">
       <tr>
        <td align="right" style="vertical-align: top;">Ingredi&euml;nt naam:</td>
-       <td style="padding: 3px;"><input readonly="1" id="wm_name" /></div></td>
+       <td style="padding: 3px;"><input readonly="1" id="wm_name" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Ander ingredi&euml;nt:</td>
@@ -1020,15 +1024,15 @@
      <table style="width: 100%;">
       <tr>
        <td align="right" style="vertical-align: top;">Gist naam:</td>
-       <td style="padding: 3px;"><input readonly="1" id="wy_name" /></div></td>
+       <td style="padding: 3px;"><input readonly="1" id="wy_name" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Product code:</td>
-       <td style="padding: 3px;"><input readonly="1" id="wy_product_id" /></div></td>
+       <td style="padding: 3px;"><input readonly="1" id="wy_product_id" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Leverancier:</td>
-       <td style="padding: 3px;"><input readonly="1" id="wy_laboratory" /></div></td>
+       <td style="padding: 3px;"><input readonly="1" id="wy_laboratory" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Andere gist:</td>
@@ -1061,7 +1065,7 @@
      <table style="width: 100%;">
       <tr>
        <td align="right" style="vertical-align: top;">Stap naam:</td>
-       <td style="padding: 3px;"><input id="wstep_name" /></div></td>
+       <td style="padding: 3px;"><input id="wstep_name" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Stap type:</td>
@@ -1096,6 +1100,29 @@
     </div>
    </div>
 
+   <div id="volumeWindow">
+    <div>Bereken volume in de ketel</div>
+    <div style="overflow: hidden;">
+     <table style="width: 100%;">
+      <col width="50%">
+      <col width="50%">
+      <tr>
+       <td align="right" style="vertical-align: top;">Ketel volume:</td>
+       <td style="padding: 3px;"><input readonly="1" id="ketel_volume" /></td>
+      </tr>
+      <tr>
+       <td align="right" style="vertical-align: top;">cm vanaf de bovenrand:</td>
+       <td style="padding: 3px;"><div id="ketel_cm" /></div></td>
+      </tr>
+      <tr>
+       <td style="padding-top: 30px;" colspan="2" align="center">
+        <input id="volumeReady" type="button" value="Ok" />
+       </td>
+      </tr>
+     </table>
+    </div>
+   </div>
+
 <?php
 confirm_delete();
 page_footer();
--- a/www/prod_forum.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_forum.php	Fri May 01 16:37:31 2020 +0200
@@ -3,10 +3,9 @@
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/constants.php');
 
-
 $link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
 if (! $link) {
-	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
+	die('Connect Error ('.mysqli_connect_errno().') '.mysqli_connect_error());
 }
 if (! mysqli_set_charset($link, "utf8" )) {
 	echo "error";
@@ -22,89 +21,53 @@
 date_default_timezone_set('Europe/Amsterdam');
 $prdate = date(DATE_RFC2822);
 
-?>
-<!DOCTYPE html>
-<html lang=nl-NL>
- <head>
-  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
-  <title>BMS v<?php echo $my_version;?> - Export recipe</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" />
- </head>
- <body>
-  <pre>
-<?php
 
-
-function itemline($item, $content) {
-
-	echo $item . " ";
-	for ($i = strlen($item); $i < 40; $i++)
-		echo ".";	
-	echo ": " . $content . PHP_EOL;
-}
-
-
-function formatstr($strin, $len) {
-
-	$strout = null;
-	$cnt = 0;
-
-        for ($i = 0; $i < strlen($strin); $i++) {
-                $ord = ord($strin[$i]);
-		if ($ord != 195)
-			$cnt++;
+/*
+ * Generate the output in a string.
+ */
+$tabus = '[tabular]';
+$tabue = '[/tabular]';
+$heads = '[head]';
+$heade = '[/head]';
+$rows  = '[row]';
+$rowe  = '[/row]';
+$datas = '[data]';
+$datae = '[/data]';
 
-                switch ($strin[$i]) {
-                        case '<':
-                                        $strout .= '&lt;';
-                                        break;
-                        case '>':
-                                        $strout .= '&gt;';
-                                        break;
-                        case '&':
-                                        $strout .= '&amp;';
-                                        break;
-                        case '"':
-                                        $strout .= '&quot;';
-                                        break;
-                        default:
-                                        $strout .= $strin[$i];
-        	}
-
-		if ($cnt >= $len)
-			break;
-        }
+$memo  = "[u][b]BMS v".$my_version." - Datum export: ".$prdate.'[/b][/u]'.PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= '[u][b]Basis[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+$memo .= $rows.$datas.'Bier naam'.$datae.$datas.$row['code'].' '.$row['name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bier stijl'.$datae.$datas.$row['st_name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Recept type'.$datae.$datas.$recipetype[$row['type']].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Batch grootte'.$datae.$datas.$row['batch_size'].' liter'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kooktijd'.$datae.$datas.$row['boil_time'].' minuten'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Brouwzaal rendement'.$datae.$datas.$row['efficiency'].' %'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte begin densiteit'.$datae.$datas.sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte eind densiteit'.$datae.$datas.sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschat alcohol'.$datae.$datas.sprintf("%.1f",$row['est_abv']).'% vol'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kleur ('.$colormethod[$row['color_method']].')'.$datae.$datas.$row['est_color'].' EBC'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bitterheid ('.$ibumethod[$row['ibu_method']].')'.$datae.$datas.$row['est_ibu'].' IBU'.$datae.$rowe.PHP_EOL;
+if ($row['divide_parts'])
+    $memo .= $rows.$datas.'Split batch (' .$splitat[$row['divide_type']].')'.$datae.$datas.($row['divide_part'] + 1)." van ".($row['divide_parts'] + 1).$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-	for ($i = $cnt; $i < $len; $i++)
-		$strout .= " ";
-        return $strout;
-}
-
-
-echo "BMS v" . $my_version . " - Datum export: " . $prdate . PHP_EOL;
-echo "----------------------------------------------------------" . PHP_EOL;
-itemline("Bier naam", $row['code'].' '.$row['name']);
-itemline("Bier stijl", $row['st_name']);
-itemline("Recept type", $recipetype[$row['type']]);
-itemline("Batch grootte", $row['batch_size'].' liter');
-itemline("Kooktijd", $row['boil_time'].' minuten');
-itemline("Brouwzaal rendement", $row['efficiency'].' %');
-itemline("Geschatte begin densiteit", sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'&deg;P');
-itemline("Geschatte eind densiteit", sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'&deg;P');
-itemline("Geschat alcohol", sprintf("%.1f",$row['est_abv']).'% vol');
-itemline("Kleur (" . $colormethod[$row['color_method']] . ")", $row['est_color'] . ' EBC');
-itemline("Bitterheid (" . $ibumethod[$row['ibu_method']] . ")", $row['est_ibu'] . ' IBU');
-echo PHP_EOL . PHP_EOL;
 
 $sugarsm = 0;
 $grainabsorbtion = 0;
 $mashwater = 0;
 
+$memo .= '[u][b]Vergistbare ingrediënten[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Mout, granen en suikers'.$heade.$heads.'EBC'. $heade.$heads.'Gewicht kg'.$heade.$heads.'%'.$heade.$heads.'Gebruik tijdens'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_fermentables'], true);
-echo "Mout, granen en suikers                   EBC Gewicht kg     % Gebruik tijdens" . PHP_EOL;
-echo "---------------------------------------- ---- ---------- ----- ----------------" . PHP_EOL;
 foreach($arr as $item) {
-	$name = formatstr($item['f_name'] . " (" . $item['f_supplier'] . ")", 40);
+	$name = $item['f_name']." (".$item['f_supplier'].")";
 	$amount   = floatval($item['f_amount']);
 	$d = $amount * (floatval($item['f_yield']) / 100) * (1 - floatval($item['f_moisture']) / 100);
         if ($item['f_added']  == 0) {
@@ -112,22 +75,31 @@
                 $sugarsm += $d;
 		$grainabsorbtion += $item['f_amount'];
         }
-	echo sprintf("%s %4.0f %10.3f %5.1f ", $name, floatval($item['f_color']), $amount, floatval($item['f_percentage']));
-	echo $added[$item['f_added']] . PHP_EOL;
+	$pct = '';
+	if ($item['f_added']  < 4)
+		$pct = sprintf("%.1f", floatval($item['f_percentage']));
+
+	$memo .= $rows.$datas.$name.$datae.$datas.sprintf("%.0f", floatval($item['f_color'])).$datae.$datas;
+	$memo .= sprintf("%.3f", $amount).$datae.$datas.$pct.$datae.$datas;
+	$memo .= $added[$item['f_added']].$datae.$rowe .PHP_EOL;
 }
 $preboil_sg = estimate_sg($sugarsm, floatval($row['boil_size']));
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
 
-echo "Hop                                      Vorm       &alpha; %   IBU   Gram Toevoegen moment" . PHP_EOL;
-echo "---------------------------------------- -------- ----- ----- ------ --------------------" . PHP_EOL;
+$memo .= '[u][b]Hop[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Hop'.$heade.$heads.'Vorm'.$heade.$heads.'Alpha'.$heade.$heads.'IBU'.$heade.$heads.'Gram'.$heade.$heads.'Toevoegen moment'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_hops'], true);
 foreach($arr as $item) {
-	$name   = formatstr($item['h_name'] . " (" . $item['h_origin'] . ")", 40);
+	$name   = $item['h_name']." (".$item['h_origin'].")";
 	$amount = floatval($item['h_amount']) * 1000;
 	$time   = floatval($item['h_time']);
         $alpha  = floatval($item['h_alpha']);
-	$ibu    = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $amount, $time, $alpha, $row['ibu_method']);
+	$ibu    = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $amount, $time, $alpha,
+		$row['ibu_method'], $row['brew_whirlpool9'], $row['brew_whirlpool7'], $row['brew_whirlpool6']);
 	$moment = $hopuse[$item['h_useat']];
         if (($item['h_useat'] == 2) || ($item['h_useat'] == 4)) {    // Boil or Whirlpool
         	$moment = $hopuse[$item['h_useat']].' '.$time." minuten";
@@ -135,36 +107,37 @@
 		$moment = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen';
         }
 
-	echo sprintf("%s %-8s %5.1f %5.1f %6.1f %-20s", $name, $hopform[$item['h_form']], $alpha, $ibu, $amount, $moment);
-	echo PHP_EOL;
+	$memo .= $rows.$datas.$name.$datae.$datas.$hopform[$item['h_form']].$datae.$datas.sprintf("%.1f", $alpha).'%'.$datae.$datas;
+	$memo .= sprintf("%.1f", $ibu).$datae.$datas.sprintf("%.1f", $amount).$datae.$datas.$moment.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Specerij, kruid, brouwzout etc Type grondstof  Gebruik tijdens          Hoeveel" . PHP_EOL;
-echo "------------------------------ --------------- -------------------- -----------" . PHP_EOL;
+$memo .= '[u][b]Diversen[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Specerij, kruid, brouwzout'.$heade.$heads.'Type grondstof'.$heade.$heads.'Gebruik tijdens'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_miscs'], true);
 foreach($arr as $item) {
-	$amount  = floatval($item['m_amount']) * 1000;
-	$aiw     = $item['m_amount_is_weight'];
-	$use_use = $item['m_use_use'];
-	$time    = floatval($item['m_time']);
-
-	if ($use_use == 2)      // Boil
-        	$gebruik = sprintf("%s %d min",$miscuse[$use_use],$time);
+	if ($item['m_use_use'] == 2)      // Boil
+        	$gebruik = sprintf("%s %d min",$miscuse[$item['m_use_use']],floatval($item['m_time']));
         else
-        	$gebruik = $miscuse[$use_use];
-	$hoeveel = sprintf("%.2f %s",$amount,$aiw ? "gr":"ml");
+        	$gebruik = $miscuse[$item['m_use_use']];
+	$hoeveel = sprintf("%.2f %s",floatval($item['m_amount']) * 1000,$item['m_amount_is_weight'] ? "gr":"ml");
 
-	echo sprintf("%s %-15s %-20s %11s", formatstr($item['m_name'], 30), $misctype[$item['m_type']], $gebruik, $hoeveel) . PHP_EOL;
+	$memo .= $rows.$datas.$item['m_name'].$datae.$datas.$misctype[$item['m_type']].$datae.$datas;
+	$memo .= $gebruik.$datae.$datas.$hoeveel.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Gistlab en code      Omschrijving                   Gebruik      Vorm            Hoeveel" . PHP_EOL;
-echo "-------------------- ------------------------------ ------------ ------------ ----------" . PHP_EOL;
+$memo .= '[u][b]Gist[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Gistlab en code'.$heade.$heads.'Omschrijving'.$heade.$heads.'Gebruik'.$heade.$heads.'Vorm'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_yeasts'], true);
 foreach($arr as $item) {
-	$name    = formatstr($item['y_name'], 30);
-	$product = formatstr($item['y_laboratory']." ".$item['y_product_id'], 20);
+	$product = $item['y_laboratory']." ".$item['y_product_id'];
 
 	if ($item['y_form'] == 0)       // Liquid
                 $amount = sprintf("%.0f",floatval($item['y_amount']))." pak";
@@ -173,8 +146,10 @@
         else
                 $amount = sprintf("%.0f",floatval($item['y_amount'])*1000)." ml";
 
-	echo sprintf("%s %s %-12s %-12s %10s", $product, $name, $yeastuse[$item['y_use']], $yeastform[$item['y_form']], $amount) . PHP_EOL;
+	$memo .= $rows.$datas.$product.$datae.$datas.$item['y_name'].$datae.$datas.$yeastuse[$item['y_use']].$datae.$datas;
+	$memo .= $yeastform[$item['y_form']].$datae.$datas.$amount.$datae.$rowe.PHP_EOL;
 }
+$memo .= $tabue.PHP_EOL;
 if ($row['starter_enable'] && $row['prop1_volume']) {
 	$sv = 0;
 	for ($i = 1; $i < 5; $i++) {
@@ -183,44 +158,70 @@
 			$sv = floatval($row[$pv]);
 		}
 	}
-	echo PHP_EOL . "Maak een giststarter van " . sprintf("%.1f", $sv) . " liter." . PHP_EOL;
+	$memo .= "Maak een giststarter van ".sprintf("%.1f", $sv)." liter.".PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= PHP_EOL;
+
 
 if ($row['w1_name'])
 	$mashwater += floatval($row['w1_amount']);
 if ($row['w2_name'])
 	$mashwater += floatval($row['w2_amount']);
 
-echo "Maisch stap          stap type              stap temp    rusten  opwarmen" . PHP_EOL;
-echo "-------------------- ---------------------- --------- --------- ---------" . PHP_EOL;
+$memo .= '[u][b]Maischschema[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Maisch stap'.$heade.$heads.'Stap type'.$heade.$heads.'Temperatuur'.$heade.$heads.'Rust tijd'.$heade.$heads.'Opwarmen tijd'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_mashs'], true);
 foreach($arr as $item) {
 	
 	if ($item['step_type'] == 1) {
-		$stype = formatstr($mashtype[$item['step_type']], 22);
+		$stype = $mashtype[$item['step_type']];
 	} else {
-		$stype = formatstr($mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter', 22);
+		$stype = $mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter';
 	}
-	echo sprintf("%s %s %s %s %s", 
-		formatstr($item['step_name'], 20), $stype, sprintf("%6.1f &deg;C", $item['step_temp']),
-		sprintf("%4.0f min.", $item['step_time']), sprintf("%4.0f min.", $item['ramp_time'])) . PHP_EOL;
+	$memo .= $rows.$datas.$item['step_name'].$datae.$datas.$stype.$datae.$datas.sprintf("%.1f °C", $item['step_temp']);
+	$memo .= $datae.$datas.sprintf("%.0f min.", $item['step_time']).$datae.$datas.sprintf("%.0f min.", $item['ramp_time']);
+	$memo .= $datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
+
+$memo .= '[u][b]Brouwwater[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+
 if ($row['w1_name'] && $row['w2_name']) {
-	itemline("Maischwater 1", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
-	itemline("Maischwater 2", sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name']);
+	$memo .= $rows.$datas.'Maischwater 1'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
+	$memo .= $rows.$datas.'Maischwater 2'.$datae.$datas.sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name'].$datae.$rowe.PHP_EOL;
 } else {
-	itemline("Maischwater", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
+	$memo .= $rows.$datas.'Maischwater'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
 }
-itemline("Maischwater aanzuren tot pH", $row['mash_ph'].' pH');
-itemline("Spoelwater geschat", sprintf("%.1f", $row['brew_sparge_est'])." liter");
-itemline("Spoelwater temperatuur", $row['sparge_temp'].' &deg;C');
-itemline("Spoelwater aanzuren tot pH", sprintf("%.1f",$row['sparge_ph']).' pH');
-echo PHP_EOL . PHP_EOL;
+$memo .= $rows.$datas.'Maischwater aanzuren tot pH'.$datae.$datas.$row['mash_ph'].' pH'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater geschat'.$datae.$datas.sprintf("%.1f",$row['brew_sparge_est'])." liter".$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater temperatuur'.$datae.$datas.$row['sparge_temp'].' °C'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater aanzuren tot pH'.$datae.$datas.sprintf("%.1f",$row['sparge_ph']).' pH'.$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
 
 
+page_header('Product naar forum', 'prod_forum');
 ?>
-  </pre>
- </body>
-</html>
+   <script>
+    // json_encode() seems to do the right thing.
+    var forumstr = <?= json_encode($memo) ?>;
+   </script>
+   <div id="MainPanel">
+    <div class="section">
+     <div style="overflow: hidden; margin: 25px;"><br>
+      <p>Het product met alle gegevens staan gereed.</p>
+      <p>Zodra je de "Klembord" toets gebruikt zullen deze gegevens naar het klembord gekopieerd<br>
+      worden. In het scherm van het forum kun je deze gegevens vervolgens "plakken".</p>
+      <p>Na het drukken van de toets wordt dit scherm gesloten.</p>
+      <p><input type="button" value="Klembord" id="copytoClipboard" /></p>
+     </div>
+    </div>
+   </div>
+
+<?php
+page_footer();
+?>
--- a/www/prod_print.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_print.php	Fri May 01 16:37:31 2020 +0200
@@ -39,6 +39,9 @@
 $bottle_sugar_amount = 0;
 $keg_sugar_amount = 0;
 
+$divide_parts = $row['divide_parts'];
+$divide_part = $row['divide_part'];
+$divide_factor = floatval($row['divide_factor']);
 
 class PDF_MySQL_Table extends FPDF
 {
@@ -67,6 +70,10 @@
 
 	function TableGlobal($row) {
 		global $recipetype;
+                global $divide_parts;
+                global $divide_part;
+		global $divide_factor;
+		global $splitat;
 		/* 2 Columns */
 		$vul = $this->w - $this->rMargin - $this->lMargin - 160;
 		$cMargin=$this->cMargin;
@@ -82,11 +89,14 @@
 		$this->SetFillColor(210,245,255);
 
 		$this->SetX($this->TableX);
-		$this->Cell(35,5,'Type',0,0,'L',true);
+		$this->Cell(35,5,'Brouw type',0,0,'L',true);
 		$this->Cell(45,5,$recipetype[$row['type']],0,0,'L',true);
 		$this->Cell($vul,5,'',0,0,'L',false);
 		$this->Cell(35,5,'Batch grootte',0,0,'L',true);
-		$this->Cell(45,5,$row['batch_size'].' liter',0,0,'L',true);
+		if ($divide_parts == 0)
+			$this->Cell(45,5,$row['batch_size'].' liter',0,0,'L',true);
+		else
+			$this->Cell(45,5,$row['batch_size'].' van '.sprintf("%.2f", ($row['batch_size'] * (1 / $divide_factor))).' liter',0,0,'L',true);
 		$this->Ln();
 
 		$this->SetX($this->TableX);
@@ -99,12 +109,20 @@
 
 		$this->SetX($this->TableX);
 		$this->Cell(35,5,'Bierstijl',0,0,'L',true);
-		$this->Cell(45,5,$row['st_name'],0,0,'L',true);
+		$st_name = iconv('UTF-8','windows-1252',$row['st_name']);
+		$this->Cell(45,5,$st_name,0,0,'L',true);
 		$this->Cell($vul,5,'',0,0,'L',false);
 		$this->Cell(35,5,'Installatie',0,0,'L',true);
 		$this->Cell(45,5,$row['eq_name'],0,0,'L',true);
 		$this->Ln();
 
+		if ($divide_parts) {
+                	$this->SetX($this->TableX);
+                	$this->Cell(35,5,'Batch splits moment',0,0,'L',true);
+                	$this->Cell(45,5,$splitat[$row['divide_type']],0,0,'L',true);
+                	$this->Ln();
+		}
+
 		$this->cMargin=$cMargin;
 	}
 
@@ -155,7 +173,7 @@
 			$color    = floatval($item['f_color']);
 			$percent  = floatval($item['f_percentage']);
 
-			if ($item['f_type'] == 1)			// Sugar
+			if ($item['f_type'] == 1)		// Sugar
 				$pSugar += $percent;
 			if ($item['f_graintype'] == 2)		// Crystal
 				$pCara += $percent;
@@ -260,7 +278,8 @@
 			} else if ($item['h_useat'] == 5) {	// Dryhop
 				$moment = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen';
 			}
-			$ibu = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $mass, $time, $alpha, $row['ibu_method']);
+			$ibu = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $mass, $time, $alpha,
+				$row['ibu_method'], $row['brew_whirlpool9'], $row['brew_whirlpool7'], $row['brew_whirlpool6']);
 			$total_ibus += $ibu;
 
 			if ($amount > 1)
@@ -350,7 +369,7 @@
 			$this->Cell($vul,5,$st." staps giststarter",0,0,'L',true);
 			$this->Cell(40,5,'',0,0,'R',true);
 			$this->Cell(30,5,"Vooraf",0,0,'L',true);
-			$this->Cell(20,5,sprintf("%.2f",$sv)." L",0,0,'R',true);
+			$this->Cell(20,5,sprintf("%.3f",$sv)." L",0,0,'R',true);
 			$this->Cell(20,5,'',0,0,'R',true);
 			$this->Ln();
 		}
@@ -877,7 +896,7 @@
                 $this->Cell(45,5,'Lageren einde',0,0,'L',true);
                 $this->Cell(45,5,$row['package_date'],0,0,'L',true);
 		$this->Cell($vul,5,'',0,0,'L',false);
-		$svg = 100 * (floatval($row['brew_fermenter_sg']) - floatval($row['fg'])) / (floatval($row['brew_fermenter_sg']) - 1);
+		$svg = calc_svg(floatval($row['brew_fermenter_sg']), floatval($row['fg']));
 		$this->Cell(45,5,'Schijnbare vergistingsgraad',0,0,'L',true);
                 $this->Cell(45,5,sprintf("%.1f",$svg).'%',0,0,'L',true);
                 $this->Ln();
@@ -1094,6 +1113,8 @@
 		global $row;
 		global $prdate;
 		global $stage;
+		global $divide_parts;
+		global $divide_part;
 		$this->Image('images/logo.png',10,10,30);
 		// Title
 		$this->SetFont('Helvetica','B',18);
@@ -1106,11 +1127,18 @@
 		$this->Cell(0,5,$prdate,0,1,'L');
 		$this->SetX(45);
 		$this->Cell(17,5,'Stijl:',0,0,'L');
-		$this->Cell(0,5,$row['st_name'],0,1,'L');
+		$st_name = iconv('UTF-8','windows-1252',$row['st_name']);
+		$this->Cell(0,5,$st_name,0,1,'L');
 		$this->SetX(45);
 		$this->Cell(17,5,'Fase:',0,0,'L');
 		$this->Cell(0,5,$stage[$row['stage']],0,1,'L');
-		$this->Ln(6);
+		$this->SetX(45);
+                $this->Cell(17,5,'Batch:',0,0,'L');
+		if ($divide_parts == 0)
+			$this->Cell(0,5,"Niet gespitst",0,1,'L');
+		else
+			$this->Cell(0,5,"Split batch ".($divide_part + 1)." van ".($divide_parts + 1),0,1,'L');
+		$this->Ln(2);
 		// Ensure table header is printed
 		parent::Header();
 	}
--- a/www/prod_r_yeast.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/prod_r_yeast.php	Fri May 01 16:37:31 2020 +0200
@@ -101,7 +101,7 @@
 
 			$og = floatval($row['brew_fermenter_sg']);
 			$fg = floatval($row['fg']);
-			$svg = 100 * ($og - $fg) / ($og - 1);
+			$svg = calc_svg($og, $fg);
 
 			$name = iconv('UTF-8','windows-1252',$row['name']);
 			$this->SetX($this->TableX);
--- a/www/profile_setup.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/profile_setup.php	Fri May 01 16:37:31 2020 +0200
@@ -42,7 +42,9 @@
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Hop plug factor:</td>
-       <td colspan="5" style="padding: 3px;"><div id="factor_plug"></div></td>
+       <td colspan="3" style="padding: 3px;"><div id="factor_plug"></div></td>
+       <td style="vertical-align: top; float: right; padding: 3px;">Mijn gist laboratorium:</td>
+       <td style="padding: 3px;"><div style="float: left;" id="my_yeastlab"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Wet hop factor:</td>
--- a/www/profile_water.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/profile_water.php	Fri May 01 16:37:31 2020 +0200
@@ -26,28 +26,37 @@
        <td colspan="4">&nbsp;</td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Calcium (Ca) mg/l:</td>
+       <td style="vertical-align: top; float: right;">Calcium (Ca) mg/L:</td>
        <td><div id="calcium"></div></td>
-       <td style="vertical-align: top; float: right;">Chloride (Cl) mg/l:</td>
+       <td style="vertical-align: top; float: right;">Sulfaat (CaSO4) mg/L:</td>
+       <td><div id="sulfate"></div></td>
+      </tr>
+      <tr>
+       <td style="vertical-align: top; float: right;">Magnesium (Mg) mg/L:</td>
+       <td><div id="magnesium"></div></td>
+       <td style="vertical-align: top; float: right;">Chloride (Cl) mg/L:</td>
        <td><div id="chloride"></div></td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Magnesium (Mg) mg/l:</td>
-       <td><div id="magnesium"></div></td>
-       <td style="vertical-align: top; float: right;">Sulfaat (CaSO4) mg/l:</td>
-       <td><div id="sulfate"></div></td>
+       <td style="vertical-align: top; float: right;">Natrium (Na) mg/L:</td>
+       <td><div id="sodium"></div></td>
+       <td style="vertical-align: top; float: right;">Bicarbonaat (HCO3) mg/L:</td> <!-- Input for total_alkalinity -->
+       <td><div id="bicarbonate"></div></td>
       </tr>
       <tr>
-       <td style="vertical-align: top; float: right;">Natrium (Na) mg/l:</td>
-       <td><div id="sodium"></div></td>
-       <td style="vertical-align: top; float: right;">Bicarbonaat (HCO3) mg/l:</td> <!-- Input for total_alkalinity -->
-       <td><div id="bicarbonate"></div></td>
+       <td></td>
+       <td></td>
+       <td style="vertical-align: top; float: right;">Totale alkaliteit (CaCO3) mg/L:</td>
+       <td><div id="total_alkalinity"></div></td>
+      </tr>
+      <tr>
+       <td colspan="4">&nbsp;</td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Zuurgraad (pH):</td>
        <td><div id="ph"></div></td>
-       <td style="vertical-align: top; float: right;">Totale alkaliteit (CaCO3) mg/l:</td>
-       <td><div id="total_alkalinity"></div></td>
+       <td style="vertical-align: top; float: right;">Ionen balans meq/L:</td>
+       <td><div style="float: left;" id="balance"></div><div style="float: left; margin-left: 10px;" id="wr_balance"></div></td>
       </tr>
       <tr>
        <td style="padding-top: 110px;" align="right"><input type="button" id="Delete" value="Verwijder" /></td>
--- a/www/rec_beerxml.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/rec_beerxml.php	Fri May 01 16:37:31 2020 +0200
@@ -1,6 +1,4 @@
 <?php
-//require_once('config.php');
-//require_once('includes/formulas.php');
 require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
 require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');
 
@@ -36,6 +34,8 @@
 $misctype = array( 'Spice', 'Herb', 'Flavor', 'Fining', 'Water agent', 'Yeast nutrient', 'Other' );
 $miscuse = array( 'Starter', 'Mash', 'Boil', 'Primary', 'Secondary', 'Bottling' );
 $mashsteptype = array( 'Infusion', 'Temperature', 'Decoction' );
+$colormethod = array( 'Morey', 'Mosher', 'Daniels', 'Halberstadt', 'Naudts' );
+$ibumethod = array( 'Tinseth', 'Rager', 'Daniels', 'Garetz', 'Mosher', 'Noonan' );
 
 
 /*
@@ -87,6 +87,42 @@
 xmlwriter_text($xw, sprintf("%.1f",floatval($row['efficiency'])));
 xmlwriter_end_element($xw);
 
+if (floatval($row['est_og']) > 0) {
+	xmlwriter_start_element($xw, 'EST_OG');
+	xmlwriter_text($xw, sprintf("%.3f",floatval($row['est_og'])));
+	xmlwriter_end_element($xw);
+}
+
+if (floatval($row['est_fg']) > 0) {
+        xmlwriter_start_element($xw, 'EST_FG');
+        xmlwriter_text($xw, sprintf("%.3f",floatval($row['est_fg'])));
+        xmlwriter_end_element($xw);
+}
+
+if (floatval($row['est_abv']) > 0) {
+        xmlwriter_start_element($xw, 'EST_ABV');
+        xmlwriter_text($xw, sprintf("%.1f",floatval($row['est_abv'])));
+        xmlwriter_end_element($xw);
+}
+
+if (floatval($row['est_color']) > 0) {
+        xmlwriter_start_element($xw, 'EST_COLOR');
+        xmlwriter_text($xw, sprintf("%.6f", ebc_to_srm(floatval($row['est_color']))));
+        xmlwriter_end_element($xw);
+	xmlwriter_start_element($xw, 'COLOR_METHOD');
+	xmlwriter_text($xw, $colormethod[$row['color_method']]);
+	xmlwriter_end_element($xw);
+}
+
+if (floatval($row['est_ibu']) > 0) {
+        xmlwriter_start_element($xw, 'EST_IBU');
+        xmlwriter_text($xw, sprintf("%.1f",floatval($row['est_ibu'])));
+        xmlwriter_end_element($xw);
+	xmlwriter_start_element($xw, 'IBU_METHOD');
+	xmlwriter_text($xw, $ibumethod[$row['ibu_method']]);
+	xmlwriter_end_element($xw);
+}
+
 
 // Style
 xmlwriter_start_element($xw, 'STYLE');
@@ -128,10 +164,10 @@
 xmlwriter_end_element($xw);
 
 xmlwriter_start_element($xw, 'FG_MIN');
-xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_og_min'])));
+xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_fg_min'])));
 xmlwriter_end_element($xw);
 
-xmlwriter_start_element($xw, 'OG_MAX');
+xmlwriter_start_element($xw, 'FG_MAX');
 xmlwriter_text($xw, sprintf("%.3f",floatval($row['st_fg_max'])));
 xmlwriter_end_element($xw);
 
@@ -253,6 +289,7 @@
 xmlwriter_start_element($xw, 'FERMENTABLES');
 $arr = json_decode($row['json_fermentables'], true);
 foreach($arr as $item) { //foreach element in $arr
+    if ($item['f_added'] <= 3) {
 	xmlwriter_start_element($xw, 'FERMENTABLE');
 
 	xmlwriter_start_element($xw, 'VERSION');
@@ -330,6 +367,7 @@
 	xmlwriter_end_element($xw);
 
 	xmlwriter_end_element($xw);	// FERMENTABLE
+    }
 }
 xmlwriter_end_element($xw);	// FERMENTABLES
 
@@ -451,6 +489,10 @@
 xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_calcium'])));
 xmlwriter_end_element($xw);
 
+xmlwriter_start_element($xw, 'MAGNESIUM');
+xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_magnesium'])));
+xmlwriter_end_element($xw);
+
 xmlwriter_start_element($xw, 'BICARBONATE');
 xmlwriter_text($xw, sprintf("%.2f",floatval($row['w1_total_alkalinity']) * 1.22));
 xmlwriter_end_element($xw);
@@ -496,6 +538,10 @@
 	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_calcium'])));
 	xmlwriter_end_element($xw);
 
+	xmlwriter_start_element($xw, 'MAGNESIUM');
+	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_magnesium'])));
+	xmlwriter_end_element($xw);
+
 	xmlwriter_start_element($xw, 'BICARBONATE');
 	xmlwriter_text($xw, sprintf("%.2f",floatval($row['w2_total_alkalinity']) * 1.22));
 	xmlwriter_end_element($xw);
--- a/www/rec_edit.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/rec_edit.php	Fri May 01 16:37:31 2020 +0200
@@ -199,10 +199,10 @@
           <tr>
            <td style="vertical-align: top; float: right; padding: 3px;">Bitterheidsindex:</td>
            <td style="padding: 3px;"><div style="float: left;" id="tgt_bu"></div><div style="float: left; margin-left: 10px;" id="wr_bu"></div></td>
-           <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal Cl/SO4:</td>
-           <td style="padding: 3px;"><div id="tgt_cl_so4"></div></td>
-           <td style="vertical-align: top; float: right; padding: 3px;">Huidig Cl/SO4:</td>
-           <td style="padding: 3px;"><div style="float: left;" id="got_cl_so4"></div><div style="float: left; margin-left: 10px;" id="wr_cl_so4"></div></td>
+           <td style="vertical-align: top; float: right; padding: 3px;">Richtgetal SO4:Cl:</td>
+           <td style="padding: 3px;"><div style="float: left;" id="tgt_so4_cl"></div><div style="float: left; margin-left: 10px;" id="wrt_so4_cl"></div></td>
+           <td style="vertical-align: top; float: right; padding: 3px;">Huidig SO4:Cl:</td>
+           <td style="padding: 3px;"><div style="float: left;" id="got_so4_cl"></div><div style="float: left; margin-left: 10px;" id="wr_so4_cl"></div></td>
           </tr>
          </table>
         </td>
@@ -296,8 +296,8 @@
         <tr>
          <td style="vertical-align: top; float: right; padding: 3px;">Calciumchloride (CaCl2) gr:</td>
 	 <td style="padding: 3px;"><div id="wa_cacl2"></div></td>
-         <td style="vertical-align: top; float: right; padding: 3px;">Maish pH:</td>
-         <td style="padding: 3px;"><div id="mash_ph"></div></td>
+         <td style="vertical-align: top; float: right; padding: 3px;"><div class='c_mashph'>Maish pH:</div></td>
+         <td style="padding: 3px;"><div id="mash_ph" class='c_mashph'></div></td>
          <td style="vertical-align: top; float: right; padding: 3px;">Spoelwater liters:</td>
          <td style="padding: 3px;"><div id="sparge_volume"></div></td>
         </tr>
--- a/www/rec_forum.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/rec_forum.php	Fri May 01 16:37:31 2020 +0200
@@ -22,89 +22,51 @@
 date_default_timezone_set('Europe/Amsterdam');
 $prdate = date(DATE_RFC2822);
 
-?>
-<!DOCTYPE html>
-<html lang=nl-NL>
- <head>
-  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
-  <title>BMS v<?php echo $my_version;?> - Export recipe</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" />
- </head>
- <body>
-  <pre>
-<?php
-
-
-function itemline($item, $content) {
-
-	echo $item . " ";
-	for ($i = strlen($item); $i < 40; $i++)
-		echo ".";	
-	echo ": " . $content . PHP_EOL;
-}
-
-
-function formatstr($strin, $len) {
-
-	$strout = null;
-	$cnt = 0;
-
-        for ($i = 0; $i < strlen($strin); $i++) {
-                $ord = ord($strin[$i]);
-		if ($ord != 195)
-			$cnt++;
+/*
+ * Generate the output in a string.
+ */
+$tabus = '[tabular]';
+$tabue = '[/tabular]';
+$heads = '[head]';
+$heade = '[/head]';
+$rows  = '[row]';
+$rowe  = '[/row]';
+$datas = '[data]';
+$datae = '[/data]';
 
-                switch ($strin[$i]) {
-                        case '<':
-                                        $strout .= '&lt;';
-                                        break;
-                        case '>':
-                                        $strout .= '&gt;';
-                                        break;
-                        case '&':
-                                        $strout .= '&amp;';
-                                        break;
-                        case '"':
-                                        $strout .= '&quot;';
-                                        break;
-                        default:
-                                        $strout .= $strin[$i];
-        	}
-
-		if ($cnt >= $len)
-			break;
-        }
-
-	for ($i = $cnt; $i < $len; $i++)
-		$strout .= " ";
-        return $strout;
-}
-
-
-echo "BMS v" . $my_version . " - Datum export: " . $prdate . PHP_EOL;
-echo "----------------------------------------------------------" . PHP_EOL;
-itemline("Bier naam", $row['name']);
-itemline("Bier stijl", $row['st_name']);
-itemline("Recept type", $recipetype[$row['type']]);
-itemline("Batch grootte", $row['batch_size'].' liter');
-itemline("Kooktijd", $row['boil_time'].' minuten');
-itemline("Brouwzaal rendement", $row['efficiency'].' %');
-itemline("Geschatte begin densiteit", sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'&deg;P');
-itemline("Geschatte eind densiteit", sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'&deg;P');
-itemline("Geschat alcohol", sprintf("%.1f",$row['est_abv']).'% vol');
-itemline("Kleur (" . $colormethod[$row['color_method']] . ")", $row['est_color'] . ' EBC');
-itemline("Bitterheid (" . $ibumethod[$row['ibu_method']] . ")", $row['est_ibu'] . ' IBU');
-echo PHP_EOL . PHP_EOL;
+$memo  = "[u][b]BMS v".$my_version." - Datum export: ".$prdate.'[/b][/u]'.PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= PHP_EOL;
+$memo .= '[u][b]Basis[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+$memo .= $rows.$datas.'Bier naam'.$datae.$datas.$row['name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bier stijl'.$datae.$datas.$row['st_name'].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Recept type'.$datae.$datas.$recipetype[$row['type']].$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Batch grootte'.$datae.$datas.$row['batch_size'].' liter'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kooktijd'.$datae.$datas.$row['boil_time'].' minuten'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Brouwzaal rendement'.$datae.$datas.$row['efficiency'].' %'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte begin densiteit'.$datae.$datas.sprintf("%.3f",$row['est_og']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_og'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschatte eind densiteit'.$datae.$datas.sprintf("%.3f",$row['est_fg']).' SG/ '.sprintf("%.1f", sg_to_plato($row['est_fg'])).'°P'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Geschat alcohol'.$datae.$datas.sprintf("%.1f",$row['est_abv']).'% vol'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Kleur ('.$colormethod[$row['color_method']].')'.$datae.$datas.$row['est_color'].' EBC'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Bitterheid ('.$ibumethod[$row['ibu_method']].')'.$datae.$datas.$row['est_ibu'].' IBU'.$datae.$rowe.PHP_EOL;
+if ($row['divide_parts'])
+    $memo .= $rows.$datas.'Split batch (' .$splitat[$row['divide_type']].')'.$datae.$datas.($row['divide_part'] + 1)." van ".($row['divide_parts'] + 1).$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
 $sugarsm = 0;
 $grainabsorbtion = 0;
 $mashwater = 0;
 
+$memo .= '[u][b]Vergistbare ingrediënten[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Mout, granen en suikers'.$heade.$heads.'EBC'. $heade.$heads.'Gewicht kg'.$heade.$heads.'%'.$heade.$heads.'Gebruik tijdens'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_fermentables'], true);
-echo "Mout, granen en suikers                  EBC Gewicht kg     % Gebruik tijdens" . PHP_EOL;
-echo "---------------------------------------- --- ---------- ----- ----------------" . PHP_EOL;
 foreach($arr as $item) {
-	$name = formatstr($item['f_name'] . " (" . $item['f_supplier'] . ")", 40);
+	$name = $item['f_name']." (".$item['f_supplier'].")";
 	$amount   = floatval($item['f_amount']);
 	$d = $amount * (floatval($item['f_yield']) / 100) * (1 - floatval($item['f_moisture']) / 100);
         if ($item['f_added']  == 0) {
@@ -112,22 +74,30 @@
                 $sugarsm += $d;
 		$grainabsorbtion += $item['f_amount'];
         }
-	echo sprintf("%s %3.0f %10.3f %5.1f ", $name, floatval($item['f_color']), $amount, floatval($item['f_percentage']));
-	echo $added[$item['f_added']] . PHP_EOL;
+	$pct = '';
+        if ($item['f_added']  < 4)
+                $pct = sprintf("%.1f", floatval($item['f_percentage']));
+
+	$memo .= $rows.$datas.$name.$datae.$datas.sprintf("%.0f", floatval($item['f_color'])).$datae.$datas;
+        $memo .= sprintf("%.3f", $amount).$datae.$datas.$pct.$datae.$datas;
+        $memo .= $added[$item['f_added']].$datae.$rowe .PHP_EOL;
 }
 $preboil_sg = estimate_sg($sugarsm, floatval($row['boil_size']));
-echo PHP_EOL . PHP_EOL;
-
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Hop                                      Vorm       &alpha; %   IBU   Gram Toevoegen moment" . PHP_EOL;
-echo "---------------------------------------- -------- ----- ----- ------ --------------------" . PHP_EOL;
+$memo .= '[u][b]Hop[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Hop'.$heade.$heads.'Vorm'.$heade.$heads.'Alpha'.$heade.$heads.'IBU'.$heade.$heads.'Gram'.$heade.$heads.'Toevoegen moment'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_hops'], true);
 foreach($arr as $item) {
-	$name   = formatstr($item['h_name'] . " (" . $item['h_origin'] . ")", 40);
+	$name   = $item['h_name']." (".$item['h_origin'].")";
 	$amount = floatval($item['h_amount']) * 1000;
 	$time   = floatval($item['h_time']);
         $alpha  = floatval($item['h_alpha']);
-	$ibu    = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $amount, $time, $alpha, $row['ibu_method']);
+	$ibu    = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $amount, $time, $alpha,
+		$row['ibu_method'], $row['brew_whirlpool9'], $row['brew_whirlpool7'], $row['brew_whirlpool6']);
 	$moment = $hopuse[$item['h_useat']];
         if (($item['h_useat'] == 2) || ($item['h_useat'] == 4)) {    // Boil or Whirlpool
         	$moment = $hopuse[$item['h_useat']].' '.$time." minuten";
@@ -135,17 +105,18 @@
 		$moment = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen';
         }
 
-	echo sprintf("%s %-8s %5.1f %5.1f %6.1f %-20s", $name, $hopform[$item['h_form']], $alpha, $ibu, $amount, $moment);
-	echo PHP_EOL;
+	$memo .= $rows.$datas.$name.$datae.$datas.$hopform[$item['h_form']].$datae.$datas.sprintf("%.1f", $alpha).'%'.$datae.$datas;
+        $memo .= sprintf("%.1f", $ibu).$datae.$datas.sprintf("%.1f", $amount).$datae.$datas.$moment.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Specerij, kruid, brouwzout etc Type grondstof  Gebruik tijdens          Hoeveel" . PHP_EOL;
-echo "------------------------------ --------------- -------------------- -----------" . PHP_EOL;
+$memo .= '[u][b]Diversen[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Specerij, kruid, brouwzout'.$heade.$heads.'Type grondstof'.$heade.$heads.'Gebruik tijdens'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_miscs'], true);
 foreach($arr as $item) {
-	$amount  = floatval($item['m_amount']) * 1000;
-	$aiw     = $item['m_amount_is_weight'];
 	$use_use = $item['m_use_use'];
 	$time    = floatval($item['m_time']);
 
@@ -153,18 +124,21 @@
         	$gebruik = sprintf("%s %d min",$miscuse[$use_use],$time);
         else
         	$gebruik = $miscuse[$use_use];
-	$hoeveel = sprintf("%.2f %s",$amount,$aiw ? "gr":"ml");
+	$hoeveel = sprintf("%.2f %s",floatval($item['m_amount']) * 1000,$item['m_amount_is_weight'] ? "gr":"ml");
 
-	echo sprintf("%s %-15s %-20s %11s", formatstr($item['m_name'], 30), $misctype[$item['m_type']], $gebruik, $hoeveel) . PHP_EOL;
+	$memo .= $rows.$datas.$item['m_name'].$datae.$datas.$misctype[$item['m_type']].$datae.$datas;
+        $memo .= $gebruik.$datae.$datas.$hoeveel.$datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
 
-echo "Gistlab en code      Omschrijving                   Gebruik      Vorm            Hoeveel" . PHP_EOL;
-echo "-------------------- ------------------------------ ------------ ------------ ----------" . PHP_EOL;
+$memo .= '[u][b]Gist[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Gistlab en code'.$heade.$heads.'Omschrijving'.$heade.$heads.'Gebruik'.$heade.$heads.'Vorm'.$heade.$heads.'Hoeveel'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_yeasts'], true);
 foreach($arr as $item) {
-	$name    = formatstr($item['y_name'], 30);
-	$product = formatstr($item['y_laboratory']." ".$item['y_product_id'], 20);
+	$product = $item['y_laboratory']." ".$item['y_product_id'];
 
 	if ($item['y_form'] == 0)       // Liquid
                 $amount = sprintf("%.0f",floatval($item['y_amount']))." pak";
@@ -173,8 +147,10 @@
         else
                 $amount = sprintf("%.0f",floatval($item['y_amount'])*1000)." ml";
 
-	echo sprintf("%s %s %-12s %-12s %10s", $product, $name, $yeastuse[$item['y_use']], $yeastform[$item['y_form']], $amount) . PHP_EOL;
+	$memo .= $rows.$datas.$product.$datae.$datas.$item['y_name'].$datae.$datas.$yeastuse[$item['y_use']].$datae.$datas;
+        $memo .= $yeastform[$item['y_form']].$datae.$datas.$amount.$datae.$rowe.PHP_EOL;
 }
+$memo .= $tabue.PHP_EOL;
 if ($row['starter_enable'] && $row['prop1_volume']) {
 	$sv = 0;
 	for ($i = 1; $i < 5; $i++) {
@@ -183,45 +159,69 @@
 			$sv = floatval($row[$pv]);
 		}
 	}
-	echo PHP_EOL . "Maak een giststarter van " . sprintf("%.1f", $sv) . " liter." . PHP_EOL;
+	$memo .= "Maak een giststarter van ".sprintf("%.1f", $sv)." liter.".PHP_EOL;
 }
-echo PHP_EOL . PHP_EOL;
+$memo .= PHP_EOL;
 
 if ($row['w1_name'])
 	$mashwater += floatval($row['w1_amount']);
 if ($row['w2_name'])
 	$mashwater += floatval($row['w2_amount']);
 
-echo "Maisch stap          stap type              stap temp    rusten  opwarmen" . PHP_EOL;
-echo "-------------------- ---------------------- --------- --------- ---------" . PHP_EOL;
+$memo .= '[u][b]Maischschema[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Maisch stap'.$heade.$heads.'Stap type'.$heade.$heads.'Temperatuur'.$heade.$heads.'Rust tijd'.$heade.$heads.'Opwarmen tijd'.$heade.PHP_EOL;
+
 $arr = json_decode($row['json_mashs'], true);
 foreach($arr as $item) {
 	
 	if ($item['step_type'] == 1) {
-		$stype = formatstr($mashtype[$item['step_type']], 22);
+		$stype = $mashtype[$item['step_type']];
 	} else {
-		$stype = formatstr($mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter', 22);
+		$stype = $mashtype[$item['step_type']].' '.sprintf("%.1f", $item['step_infuse_amount']).' liter';
 	}
-	echo sprintf("%s %s %s %s %s", 
-		formatstr($item['step_name'], 20), $stype, sprintf("%6.1f &deg;C", $item['step_temp']),
-		sprintf("%4.0f min.", $item['step_time']), sprintf("%4.0f min.", $item['ramp_time'])) . PHP_EOL;
+	$memo .= $rows.$datas.$item['step_name'].$datae.$datas.$stype.$datae.$datas.sprintf("%.1f °C", $item['step_temp']);
+        $memo .= $datae.$datas.sprintf("%.0f min.", $item['step_time']).$datae.$datas.sprintf("%.0f min.", $item['ramp_time']);
+        $memo .= $datae.$rowe.PHP_EOL;
 }
-echo PHP_EOL;
+$memo .= $tabue.PHP_EOL;
+$memo .= PHP_EOL;
+
+$memo .= '[u][b]Brouwwater[/b][/u]'.PHP_EOL;
+$memo .= $tabus.PHP_EOL;
+$memo .= $heads.'Omschrijving'.$heade.$heads.'Waarde'.$heade.PHP_EOL;
+
 if ($row['w1_name'] && $row['w2_name']) {
-	itemline("Maischwater 1", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
-	itemline("Maischwater 2", sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name']);
+        $memo .= $rows.$datas.'Maischwater 1'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
+        $memo .= $rows.$datas.'Maischwater 2'.$datae.$datas.sprintf("%.1f",floatval($row['w2_amount'])).' liter water '.$row['w2_name'].$datae.$rowe.PHP_EOL;
 } else {
-	itemline("Maischwater", sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name']);
+        $memo .= $rows.$datas.'Maischwater'.$datae.$datas.sprintf("%.1f",floatval($row['w1_amount'])).' liter water '.$row['w1_name'].$datae.$rowe.PHP_EOL;
 }
-itemline("Maischwater aanzuren tot pH", $row['mash_ph'].' pH');
+$memo .= $rows.$datas.'Maischwater aanzuren tot pH'.$datae.$datas.$row['mash_ph'].' pH'.$datae.$rowe.PHP_EOL;
 $spoelw = ($row['boil_size'] - $mashwater + $grainabsorbtion + $row['eq_lauter_deadspace']) * 1.03;     // A small heat correction
-itemline("Spoelwater geschat", sprintf("%.1f", $spoelw)." liter");
-itemline("Spoelwater temperatuur", $row['sparge_temp'].' &deg;C');
-itemline("Spoelwater aanzuren tot pH", sprintf("%.1f",$row['sparge_ph']).' pH');
-echo PHP_EOL . PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater geschat'.$datae.$datas.sprintf("%.1f",$spoelw)." liter".$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater temperatuur'.$datae.$datas.$row['sparge_temp'].' °C'.$datae.$rowe.PHP_EOL;
+$memo .= $rows.$datas.'Spoelwater aanzuren tot pH'.$datae.$datas.sprintf("%.1f",$row['sparge_ph']).' pH'.$datae.$rowe.PHP_EOL;
+$memo .= $tabue.PHP_EOL;
 
-
+page_header('Recept naar forum', 'rec_forum');
 ?>
-  </pre>
- </body>
-</html>
+   <script>
+    // json_encode() seems to do the right thing.
+    var forumstr = <?= json_encode($memo) ?>;
+   </script>
+   <div id="MainPanel">
+    <div class="section">
+     <div style="overflow: hidden; margin: 25px;"><br>
+      <p>Het recept met alle gegevens staan gereed.</p>
+      <p>Zodra je de "Klembord" toets gebruikt zullen deze gegevens naar het klembord gekopieerd<br>
+      worden. In het scherm van het forum kun je deze gegevens vervolgens "plakken".</p>
+      <p>Na het drukken van de toets wordt dit scherm gesloten.</p>
+      <p><input type="button" value="Klembord" id="copytoClipboard" /></p>
+     </div>
+    </div>
+   </div>
+
+<?php
+page_footer();
+?>
--- a/www/rec_print.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/rec_print.php	Fri May 01 16:37:31 2020 +0200
@@ -230,7 +230,8 @@
 			} else if ($item['h_useat'] == 5) {	// Dryhop
 				$moment  = $hopuse[$item['h_useat']].' '.sprintf("%.0f", $time / 1440).' dagen';
 			}
-			$ibu = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $mass, $time, $alpha, $row['ibu_method']);
+			$ibu = calc_IBU($item['h_useat'], $item['h_form'], $preboil_sg, floatval($row['batch_size']), $mass, $time, $alpha,
+				$row['ibu_method'], $row['brew_whirlpool9'], $row['brew_whirlpool7'], $row['brew_whirlpool6']);
 			$total_ibus += $ibu;
 
 			if ($amount > 1)
@@ -611,7 +612,8 @@
 		$this->Cell(0,5,$prdate,0,1,'L');
 		$this->SetX(45);
 		$this->Cell(17,5,'Stijl:',0,0,'L');
-		$this->Cell(0,5,$row['st_name'],0,1,'L');
+		$st_name = iconv('UTF-8','windows-1252',$row['st_name']);
+		$this->Cell(0,5,$st_name,0,1,'L');
 		$this->Ln(7);
 		// Ensure table header is printed
 		parent::Header();
--- a/www/rec_toproduct.php	Fri Oct 18 13:20:35 2019 +0200
+++ b/www/rec_toproduct.php	Fri May 01 16:37:31 2020 +0200
@@ -33,7 +33,7 @@
 $sql .= "', birth='" . date("Y-m-d");
 $sql .= "', stage='1";
 $sql .= "', notes='" . mysqli_real_escape_string($link, $row['notes']);
-$sql .= "', log_brew='0', log_fermentation='0', inventory_reduced='0', locked='0";
+$sql .= "', log_brew='0', log_fermentation='0', log_ispindel='0', log_co2pressure='0', inventory_reduced='0', locked='0";
 // Equipment
 $sql .= "', eq_name='Kies zelf een installatie!";
 $sql .= "', eq_boil_size='" . $row['boil_size'];
@@ -46,8 +46,8 @@
 $sql .= "', eq_kettle_height='20', eq_mash_volume='18', eq_mash_max='6', eq_efficiency='75";
 // brewdate
 $sql .= "', brew_date_start=NULL, brew_mash_ph='0.0', brew_mash_sg='1.000";
-$sql .= "', brew_sparge_ph='0.0";
-$sql .= "', brew_preboil_volume='0', brew_preboil_sg='0', brew_preboil_ph='0.0";
+$sql .= "', brew_mash_efficiency='0.0', brew_sparge_ph='0.0', brew_sparge_temperature='85.0";
+$sql .= "', brew_preboil_volume='0', brew_preboil_sg='0', brew_preboil_ph='0.0', brew_preboil_efficiency='0";
 $sql .= "', brew_aboil_volume='0', brew_aboil_sg='0', brew_aboil_ph='0.0', brew_aboil_efficiency='0";
 $sql .= "', brew_cooling_method='0', brew_cooling_time='0', brew_cooling_to='20";
 $sql .= "', brew_whirlpool9='0', brew_whirlpool7='0', brew_whirlpool6='0', brew_whirlpool2='0";
@@ -97,6 +97,7 @@
 $sql .= "', boil_time='" . $row['boil_time'];
 $sql .= "', efficiency='" . $row['efficiency'];
 $sql .= "', est_og='0.000";
+$sql .= "', est_og3='0.000";
 $sql .= "', est_fg='0.000";
 $sql .= "', est_abv='0.0";
 $sql .= "', est_carb='0";
@@ -134,12 +135,28 @@
 $sql .= "', w2_total_alkalinity='" . $row['w2_total_alkalinity'];
 $sql .= "', w2_ph='" . $row['w2_ph'];
 $sql .= "', w2_cost='" . $row['w2_cost'];
+$sql .= "', wg_amount='" . $row['wg_amount'];
+$sql .= "', wg_calcium='" . $row['wg_calcium'];
+$sql .= "', wg_sulfate='" . $row['wg_sulfate'];
+$sql .= "', wg_chloride='" . $row['wg_chloride'];
+$sql .= "', wg_sodium='" . $row['wg_sodium'];
+$sql .= "', wg_magnesium='" . $row['wg_magnesium'];
+$sql .= "', wg_total_alkalinity='" . $row['wg_total_alkalinity'];
+$sql .= "', wg_ph='" . $row['wg_ph'];
+$sql .= "', wb_calcium='" . $row['wb_calcium'];
+$sql .= "', wb_sulfate='" . $row['wb_sulfate'];
+$sql .= "', wb_chloride='" . $row['wb_chloride'];
+$sql .= "', wb_sodium='" . $row['wb_sodium'];
+$sql .= "', wb_magnesium='" . $row['wb_magnesium'];
+$sql .= "', wb_total_alkalinity='" . $row['wb_total_alkalinity'];
+$sql .= "', wb_ph='" . $row['wb_ph'];
 $sql .= "', wa_acid_name='" . $row['wa_acid_name'];
 $sql .= "', wa_acid_perc='" . $row['wa_acid_perc'];
 $sql .= "', wa_base_name='" . $row['wa_base_name'];
 $sql .= "', starter_enable='0', starter_type='0', starter_sg='1.037', starter_viability='97";
 $sql .= "', prop1_type='0', prop1_volume='0', prop2_type='0', prop2_volume='0";
 $sql .= "', prop3_type='0', prop3_volume='0', prop4_type='0', prop4_volume='0";
+$sql .= "', divide_type='0', divide_parts='0', divide_part='0', divide_size='0', divide_factor='1.0";
 $sql .= "', json_fermentables='" . str_replace($rescapers,$rreplacements,$row['json_fermentables']);
 $sql .= "', json_hops='" . str_replace($rescapers,$rreplacements,$row['json_hops']);
 $sql .= "', json_miscs='" . str_replace($rescapers,$rreplacements,$row['json_miscs']);

mercurial